Task · SKT-0168.03

Drive Glue, MWAA, Lambda, SQS and Redshift coherently from declared pipeline runs, with stall and run-failure modes

Description

Owner chose new constructs over the app DSL because pipelines are batch: discrete scheduled runs with terminal states and durations, and staleness that accumulates while a stage is stalled. Engineering choice: this is a shared mechanic library (like internal/cw) that the AWS data-service constructs consume for a blueprint-declared pipeline identity and stage list, not a construct emitting new names; every emitted name stays a sourced CloudWatch or log name. Run outcomes drive real signals (Glue numFailedTasks/elapsedTime, AmazonMWAA DAGDurationSuccess/Failed and TaskInstanceFailures, SQS ApproximateAgeOfOldestMessage, Lambda IteratorAge). Add failure modes targeting a declared stage (stage_stall, run_failure) whose effect shows downstream. Add sourced CloudWatch Logs lines to Loki for /aws-glue/jobs/, /aws/lambda/ (REPORT line) and Airflow task logs, with no payloads or record IDs. Constructs stay isolated; the new library needs an archtest allowlist entry (single-owner file).

Acceptance Criteria

Definition of Done

Implementation Notes

2026-10-23: parked; the demo no longer needs scheduled pipeline runs. The sourced Lambda REPORT log line is still wanted and may be done under SKT-0168.02’s log-format capture.

Mechanic/identity slice landed 93a7f34 with shared deterministic windows, Glue/MWAA consumers, public scoped incident/isolation proof and blueprint-wide unique pipeline names. Exact composed remote gate, generation and CodeRabbit passed. AC3 logs and additional service adapters remain unimplemented pending sourced capture contracts; not Done and not full demo parity.

Dependency hold at loop53 closeout preparation: deterministic shared mechanic, scoped incidents and Glue/MWAA outcome consumers landed and offline-proved, but sourced service adapters/log fields remain incomplete while the required live six-family capture is owner-blocked on its full-gate route. Resume after approved capture evidence and exact service/log contracts, not by inventing names or treating generic timeline support as adapter coverage.

Loop54 closeout: remains Parked. New sourced CW metrics do not establish cross-service run causality, raw-log-to-collector/Loki wire or missing adapter acceptance. Resume only with required sourced wire evidence and separately bounded integration; no existing assertions/bounds changed.

Closeout: no new causal adapter or log-wire evidence admitted. Independent service observations still do not establish cross-service run causality. Resume on sourced wire/adapter contracts; existing deterministic mechanic is unchanged.

Terminal dependency hold unchanged: sourced raw-log/collector/Loki indexed-label evidence and causal adapter acceptance remain incomplete. Independent service observations and successful mechanics do not establish a cross-service causal join.

loop57 closeout: parked/open, see codex/closeout-2026-10-24-loop57.md.

View the source file on GitHub