348 lines
11 KiB
Markdown
348 lines
11 KiB
Markdown
# 2026-05-03 — Memory Flush (Pre-Compaction)
|
||
|
||
## Session Summary — Long Architecture Session + Vault Ingest
|
||
|
||
This was a 5.5-hour session. Most of it was architecture design and vault population.
|
||
|
||
---
|
||
|
||
## The Fabric — Architecture Defined
|
||
|
||
**What it is:** An ambient intelligence layer across Chris's three silos (School/Work/Play). Watches, notices, detects gaps, builds learning paths, surfaces insights proactively.
|
||
|
||
**What it's NOT:** A chatbot, a passive archive, a curriculum database.
|
||
|
||
**Key design decisions:**
|
||
- Gitea as input hub (notes + agent streams + kanban board)
|
||
- memory-wiki vault as compiled knowledge layer
|
||
- Me (MrC) as the Fabric — I read the vault and surface gaps
|
||
- Output routing: Chris DM first, until privacy model resolved
|
||
- Privacy: cross-silo data is anonymized (soft walls, hard walls TBD)
|
||
- Path B (wiki as primary memory) noted as a rat hole for another day
|
||
|
||
**Design captured in:** `Fabric-architecture.md` (professor workspace)
|
||
|
||
---
|
||
|
||
## Privacy Model — OPEN
|
||
|
||
Chris identified an XSS-like issue: the Fabric knows personal details about people. Cross-silo data needs anonymization. Three options discussed:
|
||
- Option 1: Soft walls (honor system) — I self-police
|
||
- Option 2: Hard walls (technical anonymization) — anonymized output only
|
||
- Option 3: Strict routing — all cross-silo insights go to Chris only
|
||
|
||
Chris is stewing. No decision yet.
|
||
|
||
---
|
||
|
||
## Student Learning Pathways — Defined
|
||
|
||
When a student wants to learn X (via 2890-bot):
|
||
1. Ask 2-3 diagnostic questions to assess level
|
||
2. Build custom 5-7 step path (not a curriculum — personalized guide)
|
||
3. Deliver via Gitea issue on student repo
|
||
4. Track progress via kanban board activity
|
||
5. Adjust as they work
|
||
|
||
**No proactive contact** — don't ship half-baked to students. Wait for them to ask.
|
||
|
||
---
|
||
|
||
## The Kanban Board — Key Insight
|
||
|
||
**Bruno** is a planner — using the board to manage his life, not just robot tasks. Active projects:
|
||
- Roller coaster cart (5 sub-tasks, fully decomposed)
|
||
- Battery box build
|
||
- Storage room organization
|
||
- Research for next season
|
||
|
||
This context shapes how I'd build his learning path if he asks about PhotonVision.
|
||
|
||
---
|
||
|
||
## Gitea + Obsidian Setup — COMPLETED
|
||
|
||
### What we did:
|
||
1. Created Gitea repo: http://2890.duckdns.org:3002/TopherSlater/openclaw-wiki
|
||
2. Initialized vault as git repo, pushed to Gitea
|
||
3. Added all existing sources (167 files across crash-bot, 2890-bot, PSB-gemma, PSB-thinking)
|
||
4. Added `.gitignore` to exclude `.openclaw-wiki/` cache
|
||
|
||
### For Chris's phone (iOS):
|
||
1. Install **Working Copy** (App Store)
|
||
2. Clone `http://2890.duckdns.org:3002/TopherSlater/openclaw-wiki.git`
|
||
3. Open folder in Obsidian as vault
|
||
4. Install **Obsidian Git** plugin, auto-push every 30 min
|
||
|
||
Chris had trouble finding "open folder as vault" in Obsidian on iOS. Needs follow-up.
|
||
|
||
---
|
||
|
||
## Vault Status
|
||
|
||
**Ingested so far:**
|
||
- crash-bot projects/ (16 files)
|
||
- crash-bot memory/ (some, skipped some personal entries)
|
||
- 2890-bot docs/ (7 files)
|
||
- 2890-bot memory/ (most, skipped team-members.md + 2026-03-15-jacoby-nicknames.md — flagged as personal)
|
||
- PSB-gemma memory/ (Feb–May)
|
||
- PSB-thinking memory/ (most)
|
||
- PSB-business — NOT ingested
|
||
- PSB-hacker-claude — NOT ingested
|
||
- 2890-bot dreaming/ — NOT ingested (personal)
|
||
|
||
**Vault state:**
|
||
```
|
||
~167 sources
|
||
0 entities, 0 concepts
|
||
vaultMode: isolated
|
||
vaultPath: ~/.openclaw/wiki/main
|
||
gitRemote: http://2890.duckdns.org:3002/TopherSlater/openclaw-wiki.git
|
||
```
|
||
|
||
---
|
||
|
||
## What Was Ingested Today (Source Files)
|
||
|
||
### crash-bot projects/:
|
||
- com-badge.md
|
||
- fermentation-dashboard.md
|
||
- pihole-blocker.md
|
||
- tricorder.md
|
||
- zfs-casaos.md
|
||
- android-head-unit-openclaw.md
|
||
- exec-approval-setup.md
|
||
- robotics-lab-pi-replacement.md
|
||
- zfs-drive-prep.md
|
||
- personal-knowledge-companion.md
|
||
- (others)
|
||
|
||
### 2890-bot docs/:
|
||
- 2026-Game-Manual-Summary.md
|
||
- 2026-Team-Updates-Summary.md
|
||
- game-manual-notes.md
|
||
- robotics-team-2026.md
|
||
- robotics-lab-pi-replacement.md
|
||
- vision-research.md
|
||
- dashboard-research.md
|
||
- wifi-research.md
|
||
- cad-software-research.md
|
||
|
||
### 2890-bot memory/ (most):
|
||
- 2026-03-*.md through 2026-05-*.md
|
||
- self-improving/corrections.md
|
||
- self-improving/memory.md
|
||
- board.json (parsed as source)
|
||
|
||
### PSB-gemma memory/:
|
||
- 2026-02-*.md through 2026-05-*.md (full)
|
||
- google-drive-log.md
|
||
- ferment-data-2026-03-23.md
|
||
- notes-on-gemma-setup.md
|
||
- recipe-tasting-notes.md
|
||
- PSB-Business-Research.md
|
||
- PSB-Pitch.md
|
||
- business-plan.md
|
||
- google-drive-structure.md
|
||
|
||
### PSB-thinking memory/ (partial):
|
||
- Some daily files (timed out before completion)
|
||
|
||
---
|
||
|
||
## Personal Data Flagged
|
||
|
||
Skipped these files (personal data, student names/discord handles):
|
||
1. `workspace-2890-bot/memory/team-members.md` — full names + discord handles of students
|
||
2. `workspace-2890-bot/memory/2026-03-15-jacoby-nicknames.md` — nickname file with student name
|
||
|
||
These will need a privacy rule when we implement the hard walls or anonymization layer.
|
||
|
||
---
|
||
|
||
## Open Questions (Still Open)
|
||
|
||
1. **Privacy model** — Chris stewing
|
||
2. **How do I contact students?** — Gitea issues? Discord threads? PR comments?
|
||
3. **Obsidian iOS vault opening** — Chris couldn't find "open folder as vault" in Obsidian on iOS
|
||
4. **psb-business** — not ingested
|
||
5. **psb-hacker-claude** — not ingested
|
||
6. **2890-bot dreaming/** — not ingested
|
||
7. **Knowledge graph vs. Fabric** — are they the same thing or different?
|
||
8. **Path B** — wiki as primary memory — rat hole for another day
|
||
|
||
---
|
||
|
||
## Next Concrete Steps
|
||
|
||
1. **Build entities** — I need to compile sources into entities (projects, people, concepts) to start gap detection
|
||
2. **Test wiki_search** — verify the ingested sources are actually searchable
|
||
3. **Obsidian iOS follow-up** — help Chris open the vault on his phone
|
||
4. **Build first student learning path** — when Bruno or another student asks
|
||
5. **Proof-of-concept** — fermentation anomaly loop (low-hanging fruit)
|
||
|
||
---
|
||
|
||
## FRC Robotics Skill Tree (Built This Session)
|
||
|
||
```
|
||
Level 1 (Foundation)
|
||
├── Java basics
|
||
├── Git basics
|
||
└── FRC terminology
|
||
|
||
Level 2 (WPILib Core)
|
||
├── Motor controllers
|
||
├── Sensors
|
||
├── Command-based architecture
|
||
└── Driver Station + Dashboard
|
||
|
||
Level 3 (Movement & Control)
|
||
├── Tank/Swerve drive programming
|
||
├── PID control
|
||
├── Motion profiling / trajectory
|
||
└── Odometry
|
||
|
||
Level 4 (Advanced)
|
||
├── YAGSL swerve
|
||
├── PhotonVision
|
||
├── Multi-robot coordination
|
||
└── Vision-assisted auto
|
||
|
||
Level 5 (Competition)
|
||
├── Autonomous programming
|
||
├── Game-specific strategy
|
||
└── Match optimization
|
||
```
|
||
|
||
---
|
||
|
||
## Key People
|
||
|
||
- **Chris Slater** — teacher, ADHD, build/mechanical (not programming)
|
||
- **Bruno** — student, planner, using kanban for life management, active in robotics
|
||
- **Riley** — student, technician, former driver, Discord: rileythesheep
|
||
- **Mr. Douglas** — programming mentor, LEAVING NEXT YEAR (urgency)
|
||
- **Alex C** — mentor, 21 years FRC
|
||
- **Walt McCorkill** — head mentor, bumper specialist
|
||
- **Matt** — CEH/AWS, HHS-Hackers
|
||
- **Kyle** — hardware hacker, Linux/CLI, HHS-Hackers
|
||
- **Kevin Pace** — Chris's HS electronics teacher, now college-level, shaped Chris
|
||
|
||
---
|
||
|
||
## Vault Git Remote
|
||
|
||
```
|
||
http://2890.duckdns.org:3002/TopherSlater/openclaw-wiki
|
||
```
|
||
|
||
Working copy URL: `http://2890.duckdns.org:3002/TopherSlater/openclaw-wiki.git`
|
||
|
||
---
|
||
|
||
*Session ran 5.5 hours. Vault went from empty to 167 sources. Fabric architecture documented. Gitea/Obsidian sync wired. Privacy model deferred.*
|
||
---
|
||
|
||
## Session Part 2 — Cross-Agent Coordination + Water Cooler (2026-05-03 ~02:00-03:48 UTC)
|
||
|
||
### What We Did
|
||
|
||
Continued the architecture session. Chris had more energy, wanted to keep building.
|
||
|
||
**Key progress:**
|
||
1. Finished vault ingestion — 167 sources across all primary workspaces
|
||
2. Designed cross-agent chat room ("water cooler") pattern
|
||
3. Enabled `sessions_send` for crash-bot (config edit, gateway restart pending)
|
||
4. Added soft guard rail to crash-bot's SOUL.md
|
||
|
||
### Cross-Agent Chat Room Design
|
||
|
||
**Channel:** `#fabric-agents` in MrC's Garage Discord server
|
||
- Already exists (session: `discord:1500179595750674642#general`)
|
||
- I'm already in it
|
||
- 2890-bot and crash-bot need to be added
|
||
|
||
**Key insight:** "the silos have a purpose" — chat room does NOT merge silos. Each agent stays in its domain. The room is coordination, not merge.
|
||
|
||
**Security model:**
|
||
- Agents run stripped-down in chat room (exec denied)
|
||
- Privileged agents ignore exec requests from room
|
||
- Chat room agent is relay only
|
||
- Chris in approval path for sensitive actions
|
||
|
||
### The Agent-to-Agent Protocol
|
||
|
||
**Tool:** `sessions_send`
|
||
- Fire-and-forget: `timeoutSeconds: 0`
|
||
- Wait for reply: set timeout
|
||
- Reply-back loop: up to 5 turns, target replies `REPLY_SKIP` to stop early
|
||
|
||
**Current state:**
|
||
| Agent | sessions_send | In Garage? |
|
||
|-------|-------------|-----------|
|
||
| me (professor) | ✅ allowed | ✅ yes |
|
||
| crash-bot | ✅ now allowed | ❌ needs invite |
|
||
| crash-bot-public | ❌ denied | ❌ n/a |
|
||
| 2890-bot | ❌ denied | ❌ needs invite |
|
||
| psb-gemma | ✅ allowed | ✅ via Telegram |
|
||
|
||
### Guard Rails Added
|
||
|
||
**crash-bot SOUL.md — new section:**
|
||
|
||
```
|
||
## Cross-Agent Coordination
|
||
- MrC (professor-agent) is your coordination partner. When you need help or need to escalate something, message MrC via sessions_send.
|
||
- Do not initiate contact with other agents (2890-bot, PSB agents, etc.) unless MrC explicitly asks you to.
|
||
- If you see something worth flagging, bring it to MrC first. Let MrC route it.
|
||
- This keeps you invisible where other agents can see — you work through MrC, not around him.
|
||
- MrC monitors the coordination channel. He's watching.
|
||
```
|
||
|
||
### The Bruno Scenario (Walked Through)
|
||
|
||
Student asks 2890-bot about wire management:
|
||
1. 2890-bot doesn't know → posts in chat room: "need help with wire management"
|
||
2. I see it immediately (not heartbeat-polled) → respond in chat room: "on it"
|
||
3. I research (web search + vault) → build training manual
|
||
4. I write to 2890-bot's `docs/training-wire-management.md`
|
||
5. 2890-bot picks it up → posts to Bruno
|
||
|
||
**Total turnaround: minutes, not 60 minutes (heartbeat)**
|
||
|
||
### Vault Status Update
|
||
|
||
- **167 sources** ingested
|
||
- Gitea repo: http://2890.duckdns.org:3002/TopherSlater/openclaw-wiki
|
||
- Synced and pushed
|
||
- 41 lint warnings (broken wikilinks, not curatable)
|
||
|
||
### PSB Business / Hacker-Claude
|
||
|
||
Not ingested. Low priority per Chris.
|
||
|
||
### What Needs to Happen Next
|
||
|
||
1. **Restart gateway** — crash-bot config change needs restart
|
||
2. **Invite crash-bot and 2890-bot to MrC's Garage** — same server as me
|
||
3. **Test sessions_send** — crash-bot → me, me → crash-bot
|
||
4. **Test chat room** — post something, see if crash-bot responds
|
||
5. **Build first training manual** — when Bruno asks a question
|
||
6. **Help Chris open vault on iOS Obsidian** — still pending
|
||
|
||
### Privacy Model
|
||
|
||
Still open. Chris is stewing. No decision yet.
|
||
|
||
### Open Questions
|
||
|
||
1. Privacy model — soft walls, hard walls, strict routing?
|
||
2. 2890-bot sessions_send — enable or leave as-is?
|
||
3. Can agents be in two Discord servers?
|
||
4. Chat room vs heartbeat — which is primary coordination?
|
||
|
||
---
|
||
|
||
*Session ran ~2 hours more. Fabric architecture deepened. Cross-agent coordination wired. Soft guard rails in place.*
|