feat(cdk): add CloudWatch alarms for FanOut + ApprovalMetricsPublisher DLQs#208
feat(cdk): add CloudWatch alarms for FanOut + ApprovalMetricsPublisher DLQs#208nizar-lahlali wants to merge 6 commits into
Conversation
…r DLQs (#117) Adds ApproximateNumberOfMessagesVisible >= 1 alarms (5-min window, Maximum statistic) on both DLQs so poison-pill records don't silently accumulate. Each alarm includes a runbook pointer in alarmDescription and is exposed as a public property for future SNS topic wiring.
Review summary 🧾Thanks for picking up #117 — silent DLQ accumulation is exactly the kind of invisible failure ABCA should surface, and the alarm configuration itself is clean and idiomatic (correct metric, Verdict: Request changes — the code is sound, but the change needs to be reconciled with the design decision it reverses and the operator copy finished. Blocking 🚧
Non-blocking / nits 💡
Tests 🧪Coverage of the scalar alarm config is solid. Two cheap additions worth making while you're here — they guard the most plausible failure given the two constructs are near-identical copies:
Review agents run
Really nice, focused change overall — once the doc reconciliation and runbook text are sorted it'll be in good shape. 🙏 |
…r DLQs (#117) Ship DLQ-depth CloudWatch alarms (ApproximateNumberOfMessagesVisible >= 1, 5-min Maximum, treatMissingData NOT_BREACHING) for both stream consumers so poison-pill records no longer accumulate silently during the 14-day retention window. Alarms transition to ALARM state in the CloudWatch console without a notification action — SNS wiring is a bounded follow-up once an operational channel is provisioned. Also: - Update §11.5 in CEDAR_HITL_GATES.md to reflect the shipped decision - Narrow public type to cloudwatch.IAlarm (consumers only need addAlarmAction) - Add JSDoc matching the errorAlarm precedent in task-orchestrator.ts - Replace Runbook TODO with actionable diagnostic text and link to #117 - Reference issue #117 in code comments and test titles instead of §11.5
f39e73c to
1f0aa58
Compare
Summary
ApproximateNumberOfMessagesVisible >= 1CloudWatch alarms on bothFanOutDlqandApprovalMetricsPublisherDlq(5-min window, Maximum statistic)public readonly dlqAlarmfor future SNS topic wiringCloses #117
Test plan
tsc --noEmitcompiles cleanlyfanout-consumer.test.tspasses (8 tests including new alarm test)approval-metrics-publisher-consumer.test.tspasses (8 tests including new alarm test)