2.3 KiB
2.3 KiB
Story 5.4: Run-Verlauf (History)
Status: done
Story
Als Nutzer, möchte ich vergangene Council-Runs einsehen, so dass ich Ergebnisse nachträglich nachschlagen kann.
Acceptance Criteria
GET /api/runs/→ paginierte Liste aller Runs (neueste zuerst)GET /api/runs/{run_id}→status,final_draft,critic_score,iteration_count,input_topic- Unbekannte
run_id→404 Not Found - Abgeschlossene Runs werden in PostgreSQL persistiert (
council_runs-Tabelle) ?skip=0&limit=20Query-Parameter für Paginierung
Tasks / Subtasks
- Task 1:
services/run_service.py(AC: 1–4)- Subtask 1.1:
create_run(),get_run(),list_runs(skip, limit) - Subtask 1.2:
update_run_completed(),update_run_failed()
- Subtask 1.1:
- Task 2:
api/run_history_routes.pyREST-Endpunkte (AC: 1–3, 5)- Subtask 2.1:
RunHistoryResponsePydantic-Modell - Subtask 2.2:
GET /runs/undGET /runs/{run_id}
- Subtask 2.1:
- Task 3: Run nach Abschluss in DB persistieren
- Subtask 3.1:
create_run()beim Start (inroutes.py) - Subtask 3.2:
update_run_completed()nach Graph-Abschluss
- Subtask 3.1:
- Task 4: Unit-Tests (AC: 1–5)
Dev Notes
run_history_routerunter/api-Prefix eingehangen- DB-Persistierung:
create_run()beiPOST /run→update_run_completed()nach Fertigstellung list_runs()nutztORDER BY created_at DESCfür neueste-zuerst Sortierung
Project Structure Notes
backend/services/run_service.pybackend/api/run_history_routes.pybackend/tests/test_run_service.py
References
- [Source: _bmad-output/planning-artifacts/architecture.md#Datenbankschema — council_runs]
- [Source: _bmad-output/planning-artifacts/prd.md#FR-02.7]
Dev Agent Record
Agent Model Used
Amelia (💻 BMAD Dev Agent)
Completion Notes List
run_history_routerist vonroutes.pygetrennt, da Council-Runs und Run-History konzeptionell verschiedene Ressourcen sind.- Tests nutzen
AsyncSessionmit In-Memory-SQLite (aiosqlite).
File List
backend/services/run_service.pybackend/api/run_history_routes.pybackend/tests/test_run_service.py