aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(orchestration): unified liveness decision model across compute backends
- Dominant language
- TypeScript
- Stars
- 143
- Forks
- 46
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 20
Description
**Context:** ROADMAP.md → Unified liveness decision model
**Related:** #164, #45 (closed ECS heartbeat bug)
---
## Component
API or orchestration
## Describe the feature
Normalize **task health evaluation** across compute backends (AgentCore, ECS) through a single typed decision path: heartbeat support, compute session status, DynamoDB state—with deterministic precedence and regression tests preventing cross-runtime false failures.
## Use case
#45 showed ECS tasks marked FAILED after success due to heartbeat mismatch. Adding backends multiplies liveness edge cases without a unified model.
## Proposed solution
1. `LivenessCapabilities` per `ComputeStrategy` (supports_heartbeat, session_status_api, etc.).
2. Pure function: `(snapshot, capabilities) → LivenessDecision`.
3. Orchestrator uses single path; unit tests per backend + matrix tests.
4. Document precedence in `docs/design/ORCHESTRATOR.md`.
## Other information
- Prerequisite for reliable **alternative compute** (#164).
- Design context: `docs/design/COMPUTE.md`, `docs/design/ORCHESTRATOR.md`.
- [ ] This might be a breaking change
Contributor guide
Research direction
Start with ROADMAP.md and the design context in docs/design/COMPUTE.md and docs/design/ORCHESTRATOR.md, then locate the orchestration and ComputeStrategy entry points. Review the closed ECS heartbeat issue #45 and related issues #164 and #491. Done means backend-specific regression and matrix tests cover deterministic liveness decisions without cross-runtime false failures, with precedence documented in docs/design/ORCHESTRATOR.md.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- backend, databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100