Test
37ef33084e
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
Test
8eec34fbfd
feat(workflows): wire TaskUnit/Orchestrator activities, add k8s deploy manifests
...
Implements real activity-calling logic in OrchestratorWorkflow and
TaskUnitWorkflow (previously stubs), adds GitDiffActivity, and expands
PlanningActivity's I/O to carry repo path and prior task results.
Adds k8s/ deployment manifests (worker Deployment, orchestrator Job,
Kustomize base) for the poimen-workflows Temporal worker, using a
dedicated Kubernetes namespace `poimen` and Temporal namespace
`poimen-harness` rather than sharing the Temporal server's own
`temporal`/`production` namespaces.
2026-08-21 21:57:01 -07:00