Description
signals/cw.md models Glue (v: assumed, cantfind SK-34), MWAA (both namespaces) and Firehose, but not AWS/Lambda, AWS/DynamoDB, AWS/SQS, AWS/Redshift or AWS/Logs. Capture each from a real resource in the AWS capture lab (one-hour lab; provisioned single-node Redshift costs about USD 0.25-0.55/h, use provisioned not Serverless because the needed dimensions are ClusterIdentifier/NodeID, and skip the final snapshot on destroy), then add sourced families and constructs. Follow the construct-boundary rule: independently declarable services with distinct identity are separate constructs sharing internal/cw. Re-verify Glue from the same capture to close SK-34. Bases of interest: Lambda Invocations/Errors/Duration/Throttles/ConcurrentExecutions/IteratorAge/AsyncEventAge/DeadLetterErrors; DynamoDB ThrottledRequests/Read+WriteThrottleEvents/Consumed+Provisioned capacity/SystemErrors/SuccessfulRequestLatency; SQS ApproximateNumberOfMessagesVisible/ApproximateAgeOfOldestMessage/NumberOfMessages{Sent,Received,Deleted}/NumberOfEmptyReceives; Redshift HealthStatus/CPUUtilization/PercentageDiskSpaceUsed/WLMQueueLength/WLMQueueWaitTime/QueryDuration/DatabaseConnections; Logs DeliveryErrors/DeliveryThrottling/ForwardedLogEvents. Emit only what the capture shows.
Acceptance Criteria
- #1 Each family has a signals/cw.md section with capture provenance, observed label keys and absent-dimension behaviour
- #2 Constructs emit the captured names through cw.EmitStats; just dump inventory matches signals/
- #3 SK-34 resolved or updated with the Glue capture result
- #4 Capture resources torn down; no snapshot or log group left billing
Definition of Done
- #1 just check (fmt-check, lint, gen-check, env-check, docs-check, test, race, hygiene, ui-check, compose-check, helm-test, lab-check, signal-fidelity)
- #2 just gen (only if a blueprint field, construct/workload config struct, or a skill under plugins/synthkit/skills/ changed)
- #3 just dump — inventory diffed against signals/
Implementation Plan
Continue the inherited reviewed capture, fix safety blockers before apply, capture the approved six families, then source signals and implement Lambda, SQS and DynamoDB first.
Loop54: owner authorized durable private remote gate onboarding; prove gate, then root refreshes preflight and reads fresh saved plans before bounded capture. Source only observed service shapes, Lambda/SQS/DynamoDB first, preserve independent restore deadline and teardown proof.
Implementation Notes
loop52: also capture and source Glue, Lambda and Airflow (MWAA) CloudWatch Logs line formats and the CW-Logs-to-Loki stream-label shape, needed by SKT-0168.03 AC3 (blocked on it).
2026-10-23: Lambda, SQS and DynamoDB first; the demo needs them by 2026-10-26. Redshift and CloudWatch Logs delivery can follow in a later pass.
Owner-blocked in loop53: full private composed-gate route remains unresolved. Charter requires remote gates; private declared mutex is local. Resume only when owner authorizes direct bounded gaterun – just check for this capture or a reviewed private LOOP remote mutex addition. Reviewed IaC/safety fixes and offline mocked bounds are retained, but no capture stack push, live plan/apply, resource creation or billing occurred. Live six-family evidence and dependent constructs remain incomplete; do not substitute offline vendor docs for required capture.
Loop54 retained real metric/log evidence despite two safety-related live failures. Shared stream and metadata job restored with actual baseline and fresh targeted no-change plan; all46 owned resources destroyed, empty isolated state, all23 physical checks passed including exact managed secret not found, no snapshots/backups/bucket/functions/queues/tables/schedules/owned roles. Six attributable Glue streams deleted with exact readback; three shared log groups retained at zero bytes and the AWS-created unbillable service-linked role retained for unknown other use. Exact delayed bill not claimed. No third live attempt or IAM repair under current grant. Automatic Redshift pause/backstop acceptance remains blocked pending new owner-approved proof; offline mocked bounds are not service acceptance. Retained backend responses carry possible-truncation warnings, so source work may use positive observed names/key profiles only, not exhaustive absence. Generic contract synthesis continues from retained evidence; consumers not yet landed.
Positive-only source contract landed123b467 after independent source review, corrected unused stable gap IDs, exact clean-tree remote just check and local privacy gate. Records141 observed bases/56 exact profiles/308 shapes, with truncation/nonuniversal attribution/unit/native limits; Glue gap updated PARTIAL, not falsely closed. Initial consumers are separate Lambda/SQS/DynamoDB subtasks, deliberately remote-write-only with unsupported native export refused. Pending ESM/source bindings and later Redshift/Logs runtime consumers remain withheld; constructs/full CLI inventory/composed validation not yet complete.
Landed0e25c2e adds ten bounded Redshift and two Logs intake bases, all-route ceiling over five captured kinds; exact clean-tree fullcheck and finalrace PASS, combined review plus delta closure and CodeRabbit PASS. Lambda/SQS/DynamoDB package bytes remain frozen at7573924. Retained positives now establish DestinationType=Lambda for four Logs delivery families in observed P21/P24, and QueryType=SELECT for two Redshift families in observed P13 only. This closes literal spelling gaps, not statistic/meaning/native/completeness gaps. SELECT numerical emission held; separate Logs independent period-observation followup admitted without causal or compression inference. No new capture.
Loop54 closeout: bounded five-kind consumers landed, 51 new RW bases/255 five-stat names; source contract has141 positive bases, not universal emitted/profile/native coverage. All bounded subtasks Done; AC2 remains honestly incomplete for residual unsupported bindings, SELECT statistic/population semantics, other selector/profile/native cases. Resume only with separately source-admitted scope and reviewed model, not another live capture or IAM repair under this run.
Closeout: no new source evidence admitted or capture resources created. Residual profile/native/statistic semantics remain incomplete; resume only on separately admitted evidence and bounded model, not positive metric names alone.
Terminal source hold: existing bounded consumers remain, but no new throttle/scheduler source or numerical semantics were admitted. Resume only with actual positive source evidence and separately reviewed bounded consumer scope.
loop57 closeout: parked/open, see codex/closeout-2026-10-24-loop57.md.