- Add internal/board package with validation and state tracking - Implement BoardValidator for comprehensive board file validation - Detect missing headers, malformed tables, invalid task IDs - Validate status fields ([x] or [ ]) - Parse task information from valid boards - Implement StateTracker for actual task state management - Track task progression (pending → in_progress → completed/failed) - Support task metrics attachment and analytics - Implement divergence detection: compare board vs actual states - Implement auto-healing: fix state mismatches between board and reality - RepairBoard() fixes structural corruption issues - HealDivergence() updates board to match actual states - Support both JSON persistence and in-memory operation Validation Features: - Detailed error reporting with line numbers and context - Warning system for suspicious but valid boards - Task ID format validation (T#.# pattern) - Status value normalization ([X] → [x]) - Table structure verification State Management: - Persistent JSON storage of task states - Completion/failure timestamps - Custom metrics per task - Thread-safe RWMutex synchronization - Stats and filtering operations Healing Features: - Non-destructive repairs (report changes) - Board integrity preservation - Divergence detection with timestamps - Batch update capability - Change tracking for audit trail Test Coverage: - 13 validator tests (structure, validation, repair, parsing) - 16 state tracker tests (tracking, persistence, analytics) - 29 total board tests, all passing - Edge cases: empty boards, invalid formats, multiple tasks - Multi-state transitions and metrics Key Design: - Separation of concerns: Validator (format) vs Tracker (state) - JSON persistence (human-readable, debuggable) - Thread-safe concurrent state updates - Detailed error messages with context - Non-breaking repairs (safe by default) Closes T1.4
1.8 KiB
1.8 KiB
Task Board — Milestone T1: Production Hardening
Submilestone: T1 (Error recovery, observability, metrics, reliability)
| ID | Scope | Status | Branch | Verification |
|---|---|---|---|---|
| T1.1 | Workflow error recovery: retry policies, deadletter handling, graceful shutdown | [x] | task/T1.1 |
Simulate orchestrator crash mid-cycle, resume without data loss |
| T1.2 | Structured logging + metrics export (Prometheus/OpenTelemetry integration) | [x] | task/T1.2 |
Metrics visible in homelab Grafana, logs queryable in Loki |
| T1.3 | Activity timeout tuning automation: learn from historical failures, recommend overrides | [x] | task/T1.3 |
Planner reads lessons file, suggests update-tuning signal based on patterns |
| T1.4 | Board state validation: detect corruption, auto-heal from board divergence | [x] | task/T1.4 |
Corrupt board file recovered without manual intervention |
| T1.5 | Workflow pause/resume with state snapshot: serialize mid-cycle state to persistent store | [ ] | task/T1.5 |
Pause signal, restart pod, resume signal → workflow continues from exact point |
| T1.6 | Comprehensive integration tests: multi-pod concurrency, network flakiness simulation | [ ] | task/T1.6 |
Concurrent orchestrator instances on shared repo pass e2e without conflicts |
| T1.7 | Audit logging: all planner decisions, judge verdicts, implementer changes logged immutably | [ ] | task/T1.7 |
Audit log persists across workflow restarts, queryable by task/timestamp |
| T1.8 | Health checks: Temporal connectivity, git repo accessibility, LLM API availability | [x] | task/T1.8 |
Periodic health probes, liveness/readiness endpoints for K8s |
Submission Criteria
All T1.1–T1.8 marked [x] → submilestone complete → squash-merge task/T1.* to main.