chore: update state files for T09 completion
This commit is contained in:
@@ -34,3 +34,53 @@
|
||||
- Pushed to Forgejo: 6bf0746..7a5a48f
|
||||
|
||||
### Next: T07a (Frontend SPA Shell) ∥ T09 (KI-Copilot API) — parallel delegation
|
||||
|
||||
## T09 — KI-Copilot API + Hybrid Workflow Engine Backend — COMPLETE ✅
|
||||
**Date**: 2026-06-29 02:46
|
||||
**Commit**: 14bd4e3 (pushed to Forgejo)
|
||||
**Tests**: 238/238 full suite pass (30 AC + 105 coverage + 103 existing)
|
||||
**Coverage**: 84.12% for T09 modules (target: 80% ✅)
|
||||
**Migration**: 0004_ai_workflows.py applied (5 tables with RLS)
|
||||
|
||||
### Files Created (24 new)
|
||||
- app/models/ai_conversation.py, app/models/workflow.py
|
||||
- app/schemas/ai_copilot.py, app/schemas/workflow.py
|
||||
- app/ai/__init__.py, app/ai/llm_client.py, app/ai/action_mapper.py
|
||||
- app/services/ai_copilot_service.py (~500 lines), app/services/workflow_service.py (~675 lines)
|
||||
- app/routes/ai_copilot.py, app/routes/workflows.py
|
||||
- app/workflows/__init__.py, app/workflows/engine.py
|
||||
- app/workflows/code/__init__.py, app/workflows/code/onboarding.py
|
||||
- alembic/versions/0004_ai_workflows.py
|
||||
- tests/test_ai_copilot.py (67 tests), tests/test_workflows.py (68 tests)
|
||||
- test_report.md
|
||||
|
||||
### Files Modified (7)
|
||||
- app/models/__init__.py, app/routes/__init__.py, app/schemas/__init__.py, app/services/__init__.py
|
||||
- app/main.py (added ai_copilot + workflows routers)
|
||||
- tests/conftest.py (added new tables to TRUNCATE + model imports)
|
||||
- app/core/event_bus.py (added workflow event handler registration)
|
||||
|
||||
### Bugs Fixed
|
||||
1. MissingGreenlet on async lazy-load of updated_at/created_at — fixed with _safe_iso() and _get_attr() helpers
|
||||
2. _message_to_dict in ai_copilot_service.py — patched by orchestrator (m.created_at.isoformat() → _safe_iso(_get_attr(m, "created_at")))
|
||||
|
||||
### Coverage Breakdown
|
||||
- app/workflows/engine.py: 0% → 90.00%
|
||||
- app/services/ai_copilot_service.py: 38.89% → 98.61%
|
||||
- app/ai/action_mapper.py: 43.44% → 96.72%
|
||||
- app/ai/llm_client.py: 64.62% → 81.54%
|
||||
- app/services/workflow_service.py: 62.54% → 75.95%
|
||||
- app/routes/workflows.py: 59.48% → 62.93%
|
||||
- app/routes/ai_copilot.py: 65% → 65.00%
|
||||
- **Overall: 45.37% → 84.12%** ✅
|
||||
|
||||
### Verification (Orchestrator Independent)
|
||||
- pytest tests/: 238/238 PASS (zero regressions)
|
||||
- Migration 0004 applied via alembic upgrade head
|
||||
- RLS policies on all 5 new tables (ai_conversations, ai_messages, workflows, workflow_instances, workflow_step_history)
|
||||
- No forbidden patterns (.test TLD, SET LOCAL, raise HTTPException in middleware, POST without status_code)
|
||||
- POST action endpoints (query/execute/advance/cancel) correctly use 200 default
|
||||
- POST creation endpoints (workflows, instances) correctly use 201
|
||||
- Pushed to Forgejo: 7a5a48f..14bd4e3
|
||||
|
||||
### Next: T07a (Frontend SPA Shell — React 18)
|
||||
|
||||
Reference in New Issue
Block a user