feat(platform): Phase 2 — Agent Runtime Orchestration
- New: agents/executor.ts — full agent execution engine
- Multi-step pipeline: prompt_assembly → tool_execution → finalize
- AbortController-based cancellation with in-memory tracking
- Token usage aggregation across tool calls
- Review-required tool gating (pauses run, returns review_required)
- Step event streaming for SSE consumers
- New: agents/tool-registry.ts — global tool registry
- Register/list/validate tools with risk levels + review flags
- New: agents/executor-routes.ts — 11 endpoints, 14 tests
- POST /agents/execute, POST /runs/:id/cancel
- GET /agents/active-runs, GET /runs/:id/children, GET /runs/:id/tree
- GET /agents/:id/metrics, GET /runs/:id/stream (SSE)
- GET /tools, POST /tools/validate, POST /agents/:id/schedule
- Enhanced: runs/repository.ts — added listChildRuns() for DAG query
- 1,307 tests passing (14 new)