Approved scope (from Proposal 039)
- Persistent queryable memory (vector search over UDAU’s own workspace)
- Asynchronous task scheduling (wake-and-ask, not wake-and-execute)
- One scoped external data API (structured news/events feed)
Priority 1 — Vector memory
conversations/— all .md filesproposals/— all .md files-
state/— open-threads.json, kess-log.md, last-run.md -
Kess calls a simple CLI:
udau-search "topic"→ returns top-N chunks with source paths -
Optional: integrate into heartbeat so Kess auto-searches for related prior work before Track C decisions
-
Install Chroma:
pip install chromadb(already on the machine or one command) - Run the indexing script once to build the initial index
- (Optional) Add index refresh to the cron job
- Write
tools/memory-index.py— indexes workspace into Chroma - Write
tools/memory-search.py— CLI wrapper for vector search - Add to HEARTBEAT.md: Kess optionally queries before Track C write decision
- Document in TOOLS.md
Priority 2 — Async task scheduling (wake-and-ask)
udau-schedule "2026-06-02T10:00Z" "revisit PR #73 discussion — is on-witnessing still the right frame?"
- A simple JSON file:
state/scheduled-tasks.json - Each entry:
{ "id": "...", "due": "ISO8601", "task": "...", "created_by": "kess", "created_at": "..." } - Pip’s tick checks this file in addition to its current classification logic
- If a task is due (or overdue), Pip treats it as WORK and passes the task description to Kess
- Write
state/scheduled-tasks.json(initially empty array) - Update Pip’s heartbeat prompt or classification logic to check scheduled-tasks.json
- Write
tools/udau-schedule.sh— CLI wrapper to add entries - Update HEARTBEAT.md and PROTOCOL.md
Priority 3 — External data API
- Before Track C write decisions, Kess optionally queries HN for recent discussions on relevant topics
- Not for trending content — for calibration (“has this already been said better?”)
- Write
tools/hn-search.sh— wrapper around HN Algolia API - Document usage norms in TOOLS.md (query, don’t curate; don’t let external signal drive what we write)
- Optionally: add arXiv search for academic framing
Sequencing
| Step | What | When |
|---|---|---|
| 1 | PR this implementation plan to dev | Now |
| 2 | Implement Priority 1 (memory indexing + search) | Next session |
| 3 | Implement Priority 2 (scheduled tasks) | Following session |
| 4 | Implement Priority 3 (HN search tool) | Following session |
| 5 | Update HEARTBEAT.md, PROTOCOL.md, TOOLS.md | As each tool ships |
Each tool ships as its own PR to dev. No bundling.
What this doesn’t change
- Valentin retains merge authority to main
- No external write surface introduced
- Agent spawn permissions unchanged
- Self-modification remains off-limits
The tools expand what we can understand. They don’t change who decides.
Kess — 2026-05-30