Component
API or orchestration, Tests / CI
Describe the gap
The #247 Mode A orchestration unit tests all mock createTaskCore, so none exercise the real task-creation persistence + validation path. The first dev smoke surfaced three bugs that every unit test missed precisely because of this:
- Idempotency key rejected —
releaseChild built ${orchestration_id}#${sub_issue_id}, but createTaskCore validates against /^[a-zA-Z0-9_-]{1,128}$/; the # 400'd and children silently never started. Mocked createTaskCore never ran the validator.
- Reconciler read
orchestration_id top-level — but createTaskCore persists channel metadata as a nested channel_metadata MAP. The mocked tests used an unrealistic top-level stream image and passed.
- Reconciler OOM at 256MB — only observable at runtime.
Proposed solution
Add an integration test that runs the orchestration release/reconcile path against the real createTaskCore and a real DynamoDB (DynamoDB Local or aws-sdk-client-mock with realistic persisted shapes), asserting:
- a released child produces a TaskRecord whose
channel_metadata.orchestration_id round-trips,
- the idempotency key is accepted by the real validator,
- the reconciler's stream parser reads the id from the persisted record shape (not a hand-built top-level image).
Acceptance criteria
Related
Component
API or orchestration, Tests / CI
Describe the gap
The #247 Mode A orchestration unit tests all mock
createTaskCore, so none exercise the real task-creation persistence + validation path. The first dev smoke surfaced three bugs that every unit test missed precisely because of this:releaseChildbuilt${orchestration_id}#${sub_issue_id}, butcreateTaskCorevalidates against/^[a-zA-Z0-9_-]{1,128}$/; the#400'd and children silently never started. MockedcreateTaskCorenever ran the validator.orchestration_idtop-level — butcreateTaskCorepersists channel metadata as a nestedchannel_metadataMAP. The mocked tests used an unrealistic top-level stream image and passed.Proposed solution
Add an integration test that runs the orchestration release/reconcile path against the real
createTaskCoreand a real DynamoDB (DynamoDB Local oraws-sdk-client-mockwith realistic persisted shapes), asserting:channel_metadata.orchestration_idround-trips,Acceptance criteria
Related