From 3c00de75d16f6f28c9d38db55b1c4fafb9740633 Mon Sep 17 00:00:00 2001 From: ansible Date: Tue, 7 Apr 2026 20:50:19 +0000 Subject: [PATCH] Update TODO with prioritized next items --- TODO.md | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/TODO.md b/TODO.md index c90f605..8cfb8e4 100644 --- a/TODO.md +++ b/TODO.md @@ -3,38 +3,38 @@ ## Done - [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] 5 agent templates (worker, coder, researcher, quick, creative) -- [x] 5 Ollama models (qwen2.5-coder, qwen2.5, llama3.1, gemma3, phi4-mini) -- [x] Agent tool access — shell commands + podman containers -- [x] Persistent workspace + memory system (MEMORY.md pattern) -- [x] Agent hot-reload — model/persona swap via SSH + SIGHUP -- [x] Non-root agents — unprivileged `agent` user -- [x] Agent-to-agent via IRC mentions (10s cooldown) -- [x] DM support — private messages, no mention needed -- [x] /invite support — agents auto-join invited channels -- [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) +- [x] 5 templates, 5+ models, hot-reload, non-root agents +- [x] Tools: run_command, web_search, fetch_url, save_memory +- [x] Discoverable skill system — SKILL.md + run.py, auto-loaded +- [x] Persistent workspace + memory (MEMORY.md pattern) +- [x] Overseer: !invoke, !destroy, !list, !model, !models, !templates, !persona, !status, !help +- [x] Health checks, crash recovery, graceful shutdown, systemd +- [x] Network policies, thread safety, trigger fix, race condition fix +- [x] Install/uninstall scripts, deployed on 2 machines +- [x] Refactor: firecracker-vm.ts shared helpers, skill extraction -- [ ] 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 -- [ ] Warm pool — pre-booted VMs for instant agent spawns -- [ ] Persistent agent memory improvements — richer memory structure, auto-save from conversations -- [ ] Thin provisioning — device-mapper snapshots instead of full rootfs copies +### Medium effort +- [ ] Skill registry git repo — shared skills on Gitea, `fireclaw skills pull` +- [ ] Session persistence — SQLite + FTS5 in workspace +- [ ] 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 -- [ ] 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. -- [ ] Cost tracking per agent interaction +- [ ] Agent-to-agent response quality — 7B models parrot, needs better prompting or larger models +- [ ] Cost tracking per interaction - [ ] Execution recording / audit trail -- [ ] Agent health checks — overseer pings agents, restarts dead ones -- [ ] Thread safety in agent.py — lock around IRC socket writes -- [ ] Update regression tests for new channel layout +- [ ] Update regression tests for skill system + channel layout