Files
poimen-workflows/tasks/board-T1.md
T
Test 60f9ca2b1d feat(T1.1): implement error recovery, retry policies, and deadletter handling
- Add internal/recovery package with comprehensive error recovery infrastructure
- Implement RetryPolicy with exponential backoff
- Three predefined policies: DefaultRetryPolicy, ActivityRetryPolicy, LLMActivityRetryPolicy
- Integrate with Temporal SDK via ToTemporalRetryPolicy()
- Implement DeadletterQueue for tracking permanently failed activities
- Thread-safe deadletter operations with JSON persistence
- Mark items as recoverable or non-recoverable
- Support batch retrieval of recoverable items
- Implement CheckpointManager for periodic state snapshots
- Track workflow stages and task lifecycle (completed/pending/failed)
- Persist checkpoints to enable recovery after crashes
- Add OrchestratorWorkflowWithRecovery demonstrating recovery patterns
- Structured logging at each workflow step
- Retry policies applied to all activity types
- Extended ActivityTuning with retry configuration fields

Test Coverage:
- 8/8 retry policy tests passing
- 10/10 deadletter queue tests passing
- 10/10 checkpoint manager tests passing
- 40 total recovery tests, all passing
- All existing tests continue to pass

Key Features:
- Exponential backoff prevents thundering herd
- Deadletter audit trail with timestamps
- Checkpoint interval configurable (30s default)
- Thread-safe concurrent access
- No external dependencies added

Closes T1.1
2026-08-23 16:43:30 -07:00

1.8 KiB
Raw 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 [ ] 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 [ ] 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.