- Add iteration tracking and stuck detection to orchestrator
- Add triggerAutoRecovery function for automatic pipeline respawn
- Store structured failure context (proposals, conflicts, reason)
- Force GAMMA agent on recovery attempts for conflict resolution
- Limit auto-recovery to 3 attempts to prevent infinite loops
- Add UI status badges for rebooting/aborted states
- Add failure-context API endpoint for orchestrator handoff
- Add test_auto_recovery.py with 6 passing tests
Exit codes: 0=success, 1=error, 2=consensus failure, 3=aborted
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements detection and recovery for when agents fail to reach consensus:
- Orchestrator exits with code 2 on consensus failure (distinct from error=1)
- Records failed run context (proposals, agent states, conflicts) to Dragonfly
- Provides fallback options: rerun same, rerun with GAMMA, escalate tier, accept partial
- Adds UI alert with action buttons for user-driven recovery
- Adds failure details modal and downloadable failure report
- Only marks pipeline complete when consensus achieved or user accepts fallback
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Vault token issuance per pipeline with 2-hour TTL
- Automatic token renewal loop every 30 minutes
- Error budget tracking with threshold-based revocation
- Observability-driven token revocation for policy violations
- Diagnostic pipeline spawning on error threshold breach
- Structured handoff reports for error recovery
- Agent lifecycle status API
- New API endpoints: /api/pipeline/token, /api/pipeline/errors,
/api/observability/handoff, /api/observability/diagnostic
Orchestrator now reports errors to parent pipeline's observability
system via PIPELINE_ID environment variable.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements full bug lifecycle management (open → in_progress → resolved):
Bug Watcher (testing/oversight/bug_watcher.py):
- Add BugStatus enum with open/in_progress/resolved states
- Add SQLite persistence with status tracking and indexes
- New methods: update_bug_status(), get_bug(), log_bug()
- Extended CLI: update, get, log commands with filters
API Endpoints (ui/server.ts):
- GET /api/bugs - List bugs with status/severity/phase filters
- GET /api/bugs/summary - Bug statistics by status and severity
- GET /api/bugs/:id - Single bug details
- POST /api/bugs - Log new bug
- PATCH /api/bugs/:id - Update bug status
UI Dashboard:
- New "Bugs" tab with summary cards (Total/Open/In Progress/Resolved)
- Filter dropdowns for status and severity
- Bug list with status badges and severity indicators
- Detail panel with action buttons for status transitions
- WebSocket broadcasts for real-time updates
CLI Wrapper (bin/bugs):
- bugs list [--status X] [--severity Y]
- bugs get <id>
- bugs log -m "message" [--severity high]
- bugs update <id> <status> [--notes "..."]
- bugs status
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>