feat(FEAT-006): add validation and loop state API endpoints

Implemented:
- POST /api/missions/features/:featureId/validate - triggers validation run
- GET /api/missions/features/:featureId/validation-loop - returns loop snapshot
- GET /api/missions/features/:featureId/validation-runs - returns run history with pagination
- GET /api/missions/validation-runs/:runId - returns run detail with assertion results
- POST /api/missions/recover - triggers recovery of active missions
- SSE events for milestone:validation:updated via assertion CRUD and link/unlink

All 4xx/5xx responses use consistent {"error": "message"} format.
Uses existing badRequest, notFound, internalError helpers.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
gsxdsm
2026-04-11 21:03:15 -07:00
parent bab269dada
commit c4e6c0fd37
6 changed files with 369 additions and 249 deletions

View File

@@ -791,6 +791,7 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
modelRegistry,
automationStore,
missionAutopilot,
missionExecutionLoop,
heartbeatMonitor,
pluginStore,
pluginLoader,