Update TODO with prioritized next items

This commit is contained in:
2026-04-07 20:50:19 +00:00
parent 9a06bbf5ea
commit 3c00de75d1

54
TODO.md
View File

@@ -3,38 +3,38 @@
## Done ## Done
- [x] Firecracker CLI runner with snapshots (~1.1s) - [x] Firecracker CLI runner with snapshots (~1.1s)
- [x] Alpine rootfs with ca-certificates, podman, python3
- [x] Global `fireclaw` command
- [x] Multi-agent system — overseer + agent VMs + IRC + Ollama - [x] Multi-agent system — overseer + agent VMs + IRC + Ollama
- [x] 5 agent templates (worker, coder, researcher, quick, creative) - [x] 5 templates, 5+ models, hot-reload, non-root agents
- [x] 5 Ollama models (qwen2.5-coder, qwen2.5, llama3.1, gemma3, phi4-mini) - [x] Tools: run_command, web_search, fetch_url, save_memory
- [x] Agent tool access — shell commands + podman containers - [x] Discoverable skill system — SKILL.md + run.py, auto-loaded
- [x] Persistent workspace + memory system (MEMORY.md pattern) - [x] Persistent workspace + memory (MEMORY.md pattern)
- [x] Agent hot-reload — model/persona swap via SSH + SIGHUP - [x] Overseer: !invoke, !destroy, !list, !model, !models, !templates, !persona, !status, !help
- [x] Non-root agents — unprivileged `agent` user - [x] Health checks, crash recovery, graceful shutdown, systemd
- [x] Agent-to-agent via IRC mentions (10s cooldown) - [x] Network policies, thread safety, trigger fix, race condition fix
- [x] DM support — private messages, no mention needed - [x] Install/uninstall scripts, deployed on 2 machines
- [x] /invite support — agents auto-join invited channels - [x] Refactor: firecracker-vm.ts shared helpers, skill extraction
- [x] Channel layout — #control (commands), #agents (common), DMs
- [x] Overseer resilience — crash recovery, agent adoption
- [x] Graceful shutdown — IRC QUIT before VM kill
- [x] Systemd service (KillMode=process)
- [x] Regression test suite (20 tests)
- [ ] Refactor duplicated code — waitForSocket, boot sequence, tap setup, rootfs mount/inject are copy-pasted across vm.ts, snapshot.ts, agent-manager.ts. Extract shared helpers. ## Next up (Phase 5 — by priority)
## Next up ### Quick wins
- [ ] Large output handling — save >2K results to file, preview + read_file
- [ ] Iteration budget — configurable max rounds per template, prevent runaway loops
- [ ] Network policies per agent — restrict internet access ### Medium effort
- [ ] Warm pool — pre-booted VMs for instant agent spawns - [ ] Skill registry git repo — shared skills on Gitea, `fireclaw skills pull`
- [ ] Persistent agent memory improvements — richer memory structure, auto-save from conversations - [ ] Session persistence — SQLite + FTS5 in workspace
- [ ] Thin provisioning — device-mapper snapshots instead of full rootfs copies - [ ] Context compression — summarize old turns when context gets long
- [ ] !logs — tail agent history from workspace
### Bigger items
- [ ] Skill learning — agents create new skills from experience
- [ ] Cron agents — scheduled agent spawns
- [ ] Dangerous command approval — pattern detection + allowlist
- [ ] Parallel tool execution — concurrent independent tool calls
## Polish ## Polish
- [ ] Agent-to-agent response quality — small models (7B) parrot messages instead of answering. Needs better prompting ("don't repeat the question, answer it") or larger models (14B+). Claude API would help here. - [ ] Agent-to-agent response quality — 7B models parrot, needs better prompting or larger models
- [ ] Cost tracking per agent interaction - [ ] Cost tracking per interaction
- [ ] Execution recording / audit trail - [ ] Execution recording / audit trail
- [ ] Agent health checks — overseer pings agents, restarts dead ones - [ ] Update regression tests for skill system + channel layout
- [ ] Thread safety in agent.py — lock around IRC socket writes
- [ ] Update regression tests for new channel layout