140 lines
5.9 KiB
Markdown
140 lines
5.9 KiB
Markdown
---
|
|
pageType: source
|
|
id: source.professor-rollup
|
|
title: professor-rollup
|
|
sourceType: local-file
|
|
sourcePath: /home/topher/.openclaw/workspace-crash-bot/projects/professor-rollup.md
|
|
ingestedAt: 2026-05-02T21:19:10.459Z
|
|
updatedAt: 2026-05-02T21:19:10.459Z
|
|
status: active
|
|
growth: seed
|
|
---
|
|
|
|
# professor-rollup
|
|
|
|
## Source
|
|
- Type: `local-file`
|
|
- Path: `/home/topher/.openclaw/workspace-crash-bot/projects/professor-rollup.md`
|
|
- Bytes: 5368
|
|
- Updated: 2026-05-02T21:19:10.459Z
|
|
|
|
## Content
|
|
```text
|
|
# Project Rollup: Personal Knowledge Companion
|
|
## Prepared for Professor Agent — 2026-05-02
|
|
|
|
---
|
|
|
|
## Where This Started
|
|
|
|
Topher's OpenClaw system went through a rough patch. A botched update took down the gateway for about 4 days. The 2890-Claw bot on the old Pi pulled most of the weight during the outage, and a full system restore from overnight backup got things running again. The gateway ended up bound to 0.0.0.0 which caused routing chaos during migration.
|
|
|
|
Once things were back, we started cleaning up.
|
|
|
|
---
|
|
|
|
## The Exec Approval Problem
|
|
|
|
Two agents are in play:
|
|
- **crash-bot** — Topher's DM agent. Has full exec, no restrictions. This is the control center.
|
|
- **crash-bot-public** — Server channel agent. Originally had zero exec. We needed to give it *some* capabilities (file reads, wiki writes, etc.) without opening a full shell to the whole server.
|
|
|
|
We designed a two-layer approval system:
|
|
|
|
**Layer 1 — openclaw.json (agent tool policy):**
|
|
- crash-bot-public: exec in allow list, but with `security: "allowlist", ask: "on-miss"`
|
|
- crash-bot (DM): `security: "full", ask: "off"`
|
|
|
|
**Layer 2 — ~/.openclaw/exec-approvals.json (host policy):**
|
|
- crash-bot-public: `security: "allowlist"` with an initially empty allowlist
|
|
- crash-bot: `security: "full", ask: "off"`
|
|
- Allowlisted commands: ls, cat, head, tail, pwd, echo, grep, jq, find, sort, uniq, wc, date, hostname, uptime, df, free
|
|
|
|
The limitation we hit: in allowlist mode, every top-level command segment must be explicitly allowlisted. So `cd ... && jq ...` gets denied because `cd` isn't in the list. Single allowlisted commands work fine.
|
|
|
|
---
|
|
|
|
## The Personal Knowledge Companion Vision
|
|
|
|
Topher has three intentionally siloed domains:
|
|
- 🏫 School — 2890 bot (robotics team)
|
|
- 🏭 Work — PSB bots (brewery ops)
|
|
- 🎮 Play — crash-bot / HHS-Hackers crew
|
|
|
|
The Personal Knowledge Companion is a knowledge layer that maps what Topher knows, what's being learned, and where the gaps are — then proactively surfaces those gaps.
|
|
|
|
The key insight: current agents are mostly command-and-reply. They don't do research, self-direct, or maintain persistent context. They feel like fancy autocomplete. The Professor changes that.
|
|
|
|
The Professor Agent (the teacher, not the librarian):
|
|
- Watches what you're working on
|
|
- Assesses where you are on any given topic
|
|
- Finds resources matched to your scale (home lab, not enterprise)
|
|
- Organizes learning paths proactively
|
|
- Delivers without being asked
|
|
|
|
The visual layer is a knowledge graph — relationships and connections, not just stored documents. Missing edges in the graph *are* the gaps.
|
|
|
|
---
|
|
|
|
## Claw Empire — The False Start
|
|
|
|
We looked at Claw Empire (GreenSheep01201/claw-empire) as a possible visual layer. It's a pixel-art office simulator where agents are employees in a virtual company. Git worktrees as agent meetings, deliverables as chat threads.
|
|
|
|
Topher had Thinking spin it up to see what it actually was. It wasn't what we wanted — it was more of a coding shop orchestration tool, over-engineered for a personal life context.
|
|
|
|
But: the *idea* of a playful visual layer that maps domains, agents, and knowledge flow — that's still interesting. Not Claw Empire specifically, but something that captures the same energy. A personal life dashboard that shows where knowledge is missing, what projects are active, and what the natural next steps are.
|
|
|
|
Finding the broken will come with time.
|
|
|
|
---
|
|
|
|
## Professor Agent — First Attempt
|
|
|
|
We did spin up a professor-agent during this session:
|
|
- Workspace at ~/.openclaw/workspace-professor/
|
|
- IDENTITY.md and SOUL.md written
|
|
- memory-wiki plugin enabled
|
|
|
|
The problem: we tried to route professor-agent DMs on the same Discord account as crash-bot (`accountId: crash`). The routing bindings overlapped — professor-agent was intercepting crash-bot's DMs before crash-bot could get them. We had to remove the binding to get crash-bot working again.
|
|
|
|
The fix: we'll need a separate Discord bot account for the Professor. Two bots on the same account will always have routing overlap.
|
|
|
|
---
|
|
|
|
## What We Learned
|
|
|
|
1. exec-approvals.json and openclaw.json are two independent policy layers — both must be configured correctly
|
|
2. Allowlist mode requires every command segment to be explicitly allowlisted — no compound commands
|
|
3. Approval requests route to Discord DMs with `/approve <id>` — works when the approver is configured correctly
|
|
4. Multiple Discord agents on the same account cause binding conflicts — needs separate bot tokens
|
|
5. The knowledge graph / gap detection vision is right — finding the broken is the hard part that comes next
|
|
|
|
---
|
|
|
|
## What's Next
|
|
|
|
1. Spin up a new Discord bot for the Professor (separate account)
|
|
2. Give Professor its own routing binding
|
|
3. Initialize the memory-wiki vault structure (entities/, concepts/, paths/, gaps/)
|
|
4. Teach the Professor about Topher's current projects and knowledge gaps
|
|
5. Start building the gap detection logic — what topics are stale, what's missing, what's the natural next step
|
|
|
|
---
|
|
|
|
## Key Files
|
|
- `memory/personal-knowledge-companion.md` — full concept
|
|
- `projects/exec-approval-setup.md` — implementation guide
|
|
- `projects/life-view-dashboard.md` — project index
|
|
- `agents/professor-agent/agent/IDENTITY.md` — Professor's identity
|
|
- `workspace-professor/SOUL.md` — Professor's soul
|
|
```
|
|
|
|
## Notes
|
|
<!-- openclaw:human:start -->
|
|
<!-- openclaw:human:end -->
|
|
|
|
## Related
|
|
<!-- openclaw:wiki:related:start -->
|
|
- No related pages yet.
|
|
<!-- openclaw:wiki:related:end -->
|