Files
gnoma/TODO.md
T
vikingowl 3a638cc9a4 docs(todo): add stream-error failover to backlog
Today an arm's stream error (auth, rate limit, subprocess exit) kills
the turn. Backlog item to retry on the next-best arm for the task type
and surface a one-line hint to the user.
2026-05-20 01:35:27 +02:00

3.0 KiB

Gnoma — TODO

Active plans, newest first:

Phases (2026-05-07 roadmap):

  1. M8 Cleanup (wiring gaps)
  2. PTY Interactive Shell (tea.ExecProcess)
  3. SLM Task Classifier (Ollama HTTP, opt-in) — complete
  4. Router Revisit — superseded by post-SLM plan
  5. USP Security Integration
  6. ELF Binary Support (deferred/opportunistic)
  7. Distribution (CI trigger for goreleaser)

Stable Backlog (not in active phases)

  • Thinking mode (disabled / budget / adaptive) — M12 in milestones
  • Structured output with JSON schema validation — M12
  • Native agy JSON output — update subprocess provider to use --output-format stream-json once supported by agy CLI, replacing the current prompt-augmentation fallback.
  • Stream-error failover — when an arm's Stream returns an error (auth failure, rate limit, subprocess exit, transport error), the router should transparently retry on the next-best arm matching the task type and surface a one-line hint to the user (e.g. ↻ vibe failed (Invalid API key), retried on anthropic/claude-opus-4-7). Today the error bubbles straight to the TUI and the turn dies. Needs: classify retryable vs. fatal errors, cap retries per turn, ensure no duplicate billing on streams that emitted partial usage.
  • SQLite session persistence + serve mode — M10
  • Task learning (pattern recognition, persistent tasks) — M11
  • Web UI (gnoma web) — M15
  • OAuth / keyring — M13
  • Observability (feature flags, cost dashboards) — M14
  • PE / Mach-O support — future, after ELF Phase 6

Architecture References

  • Milestones: docs/essentials/milestones.md
  • Decisions: docs/essentials/decisions/
  • ADR-013 (SLM routing, supersedes ADR-009): docs/essentials/decisions/002-slm-routing.md