| 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. |