Task · SKT-0168.02

Live-capture and add CloudWatch families for Lambda, DynamoDB, SQS, provisioned Redshift and CloudWatch Logs delivery

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

Definition of Done

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.

View the source file on GitHub