| 1 |
done |
docs/plans/todo-1-project-foundation.md |
Establish uv/FastAPI project skeleton, DDD package layout, and core failing tests for parser, event agent, and runtime routing. |
uv run pytest fails only because implementation is missing, not because tests or imports are malformed. |
| 2 |
done |
docs/plans/todo-2-domain-runtime.md |
Implement domain models, OpenAI Chat Completions compatible stream parsing, EventAgent tools, and the direct async runtime loop. |
Core tests pass with mocked ChatAgent client. |
| 3 |
done |
docs/plans/todo-3-websocket-api.md |
Add FastAPI config, HTTP routes, WebSocket protocol, static debug page, and assistant transcript persistence for multi-turn LLM calls. |
WebSocket contract tests pass; app imports successfully. |
| 4 |
done |
docs/plans/todo-4-real-llm-smoke.md |
Document env-based real LLM run flow, add a lightweight manual smoke helper, and make sure settings names are clear. |
App starts with env-based config; docs show exact uv commands and required env vars. |
| 5 |
done |
docs/plans/todo-5-tool-call-history.md |
Harden Chat Completions history so assistant tool calls and tool replies are sent in provider-compatible order. |
Tests prove the next model call includes assistant tool_calls before tool replies. |
| 6 |
done |
docs/plans/todo-6-cleanup-closeout.md |
Clean temporary/generated files, update contributor docs, and run final verification. |
Git status contains only intended source/docs files; uv run pytest passes. |
| 7 |
done |
docs/plans/todo-7-provider-compatibility.md |
Fix review findings for real Chat Completions compatible providers: default model fallback, role-aware message serialization, and configurable usage streaming. |
Tests prove provider payload shape and full suite passes. |
| 8 |
done |
docs/plans/todo-8-tool-pre-message-guard.md |
Prevent manually configured pre-messages from producing invalid provider tool payloads without tool_call_id. |
Tests prove invalid tool pre-messages are rejected and UI no longer exposes tool role. |
| 9 |
done |
docs/plans/todo-9-explicit-runtime-queues.md |
Refactor runtime internals to explicit input, output, and event queues while preserving the WebSocket stream contract. |
Tests prove ChatAgent consumes input queue, EventAgent consumes event queue, and output queue drives streamed responses. |
| 10 |
done |
docs/plans/todo-10-tool-registry-management.md |
Replace the single hardcoded EventAgent tool checkbox with a backend tool registry and UI-managed loaded tools. |
Tests prove available tools are listed by API and selected tools control EventAgent behavior. |
| 11 |
pending |
docs/plans/todo-11-prompt-workspace.md |
Improve prompt/pre-message editing with browser-side persistence and reusable prompt sets. |
UI tests or focused JS tests prove prompts persist and can be restored. |
| 12 |
pending |
docs/plans/todo-12-round-stats.md |
Move round statistics to structured backend events for token counts, cached tokens, TTFT, elapsed time, and per-turn summaries. |
Tests prove backend emits deterministic stats events and UI renders them. |