From 8e9aa819ebb85b04c5942a739c55ee646eb9b44a Mon Sep 17 00:00:00 2001 From: "hyrule-engineering-loop[bot]" Date: Sun, 21 Jun 2026 08:49:01 +0000 Subject: [PATCH] ISSUE_ENGINEERING_LOOP_19: Loop canary: document notification smoke path --- .../engineering-loop/notification-smoke-path.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 docs/engineering-loop/notification-smoke-path.md diff --git a/docs/engineering-loop/notification-smoke-path.md b/docs/engineering-loop/notification-smoke-path.md new file mode 100644 index 0000000..3b4f02b --- /dev/null +++ b/docs/engineering-loop/notification-smoke-path.md @@ -0,0 +1,17 @@ +# Engineering Loop notification smoke path + +Each completed daemon cycle reports its outcome through two channels: + +1. **Discord webhook** — a short summary showing the run result + (success, stuck, or over-budget), the change class, the risk tier, + and iteration/wall-clock stats. +2. **Icinga passive check** — the daemon submits `loop!engineering-loop` + with the corresponding state: + - `OK` when the cycle completed and produced a draft PR + - `WARNING` when the cycle is stuck or exhausted its retry budget + - `CRITICAL` when the cycle failed outright or breached a hard gate + +These are the Engineering Loop's own heartbeat/observability channels. +They do not replace the per-repo CI gates or the authoritative role +evaluators; they exist so the NOC can detect a silent or looping +daemon without reading pull-request bodies.