Files
Test b1e3136350 feat(T1.4): implement board state validation and auto-healing
- 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
2026-08-23 16:49:25 -07:00

1.8 KiB
Raw Permalink Blame History

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.1T1.8 marked [x] → submilestone complete → squash-merge task/T1.* to main.