Pinky III: the rumble monitor — the fired-vs-running join (v1.64.0) #94

Closed
ClaudiuSchuster wants to merge 0 commits from oss-oo/pinky-iii-rumble into main
Owner

Pinky III (v1.64.0): the RUMBLE MONITOR — the fired-vs-running join

The owner ruling after the dead-fleet illusion: dispatch acceptance ≠ running. The MasterBrain fired wake steers, every ok: true read as success, while the whole fleet sat silently dead on pinned-provider refusals. Nothing rumbled, everyone believed.

What ships

  • I1 — the expectation ledger: every fire the observatory makes records an expectation in its own durable store (fired-expectations.json, env ZDO_EXPECTATIONS_FILE, capped 200 like the house stores): steer API, fastlane deliveries, genesis spawns (manual/pump/schedule), the interrupt breadcrumb, and the nudge bells. No fire path bypasses the ledger (suite-pinned).
  • I2 — the watcher join: one tick per ZDO_RUMBLE_SCAN_S (5 s) checks each open episode for life (a genuinely running turn · transcript churn at/after the fire · a dispatcher PROVEN by /proc cmdline truth — anti-PID-reuse) and for honest terminals (the CCC receipt, a completed result, failed-WITH-REASON, dead-lettered, a reconciler-closed ledger row). A queued fire is an honest hold (the queue machinery owns it).
  • I3 — loud silence: past window+grace (ZDO_RUMBLE_WINDOW_S 30 s + ZDO_RUMBLE_GRACE_S 15 s = 45 s total, arithmetic test-pinned) with no life and no terminal: ⚠ fired but silent · 47s on the row, the panel badge, and the collapsed header's slim line (S-40 one-surface-per-mode). Age ticks from the fire. One gated nudge bell (three-state notification controls; muted never rings; once per episode; a nudge never nudges) rides the canonical queue channel to the silent target's fleet master.
  • I4 — honest clearing: life or honest terminal resolves an episode forever; a delivered-and-processed fire never warns; an honestly-failed fire shows its failure (✖ with the dispatcher's own error words) for 10 min; everything expires (ZDO_RUMBLE_EXPIRE_MS 6 h) — no state that cannot go away. Spawns adopt their session id from the result JSON, so dead-on-arrival spawns warn exactly like vanished steers.

Folds carried (required)

  • BBB validation (HIGH): the CCC fixture timebomb is dead — the orphan-liveness fixtures hard-pinned the live forensic send-ms and the v1.60.1 24 h ceiling dead-lettered them ~4 h post-merge (4 failures fresh on bf1d0a7). All anchors are now wall-clock-relative at import (only the pure fingerprint mirror keeps the literal tuple). Test-tree audit: the other epoch literals are identifiers/harness-relative (no age math).
  • Suite-health: tests/test_interrupt.py restored its patch list FIFO, leaking a start_steer fake into every later test module (invisible until this round's steer-API leg called the real one) — restore is now reversed.

Gates

  • G1: live rig (hermetic server, fake dispatcher, compressed window): dead lane warns at ≥ window+grace with the age ticking; healthy lane never warns in 12 s; nudge queued once. Timing math + env seam unit-pinned.
  • G2: every fire path's record asserted (steer-api, fastlane, genesis, genesis-schedule, interrupt-breadcrumb, nudge).
  • G3: turn/churn/dispatcher-proof each clear; pre-fire churn does not; a PID-reused lock never fakes alive.
  • G4: row + badge + slim surfaces (node harness over the quick-stats module), nudge gate/dedup/no-recursion, expiry and decay — no unmissable state that can't go away.
  • G5: full suite 900 tests OK on the tagged tree; Super-Linter station recipe green (BASH, BASH_EXEC, MARKDOWN, PYTHON_PYLINT, PYTHON_RUFF, YAML); spot legs (CCC receipt-honesty, FFF unread+launcher, GGG reconciler, BBB fast lane) unregressed green; version guard green on the v1.64.0 tag.
## Pinky III (v1.64.0): the RUMBLE MONITOR — the fired-vs-running join The owner ruling after the dead-fleet illusion: **dispatch acceptance ≠ running**. The MasterBrain fired wake steers, every `ok: true` read as success, while the whole fleet sat silently dead on pinned-provider refusals. Nothing rumbled, everyone believed. ### What ships - **I1 — the expectation ledger:** every fire the observatory makes records an expectation in its own durable store (`fired-expectations.json`, env `ZDO_EXPECTATIONS_FILE`, capped 200 like the house stores): steer API, fastlane deliveries, genesis spawns (manual/pump/schedule), the interrupt breadcrumb, and the nudge bells. No fire path bypasses the ledger (suite-pinned). - **I2 — the watcher join:** one tick per `ZDO_RUMBLE_SCAN_S` (5 s) checks each open episode for **life** (a genuinely running turn · transcript churn at/after the fire · a dispatcher PROVEN by /proc cmdline truth — anti-PID-reuse) and for **honest terminals** (the CCC receipt, a completed result, failed-WITH-REASON, dead-lettered, a reconciler-closed ledger row). A queued fire is an honest hold (the queue machinery owns it). - **I3 — loud silence:** past window+grace (`ZDO_RUMBLE_WINDOW_S` 30 s + `ZDO_RUMBLE_GRACE_S` 15 s = 45 s total, arithmetic test-pinned) with no life and no terminal: **⚠ fired but silent · 47s** on the row, the panel badge, and the collapsed header's slim line (S-40 one-surface-per-mode). Age ticks from the fire. One gated nudge bell (three-state notification controls; muted never rings; once per episode; a nudge never nudges) rides the canonical queue channel to the silent target's fleet master. - **I4 — honest clearing:** life or honest terminal resolves an episode forever; a delivered-and-processed fire never warns; an honestly-failed fire shows its failure (✖ with the dispatcher's own error words) for 10 min; everything expires (`ZDO_RUMBLE_EXPIRE_MS` 6 h) — no state that cannot go away. Spawns adopt their session id from the result JSON, so dead-on-arrival spawns warn exactly like vanished steers. ### Folds carried (required) - **BBB validation (HIGH):** the CCC fixture timebomb is dead — the orphan-liveness fixtures hard-pinned the live forensic send-ms and the v1.60.1 24 h ceiling dead-lettered them ~4 h post-merge (4 failures fresh on bf1d0a7). All anchors are now wall-clock-relative at import (only the pure fingerprint mirror keeps the literal tuple). Test-tree audit: the other epoch literals are identifiers/harness-relative (no age math). - **Suite-health:** `tests/test_interrupt.py` restored its patch list FIFO, leaking a `start_steer` fake into every later test module (invisible until this round's steer-API leg called the real one) — restore is now reversed. ### Gates - **G1:** live rig (hermetic server, fake dispatcher, compressed window): dead lane warns at ≥ window+grace with the age ticking; healthy lane never warns in 12 s; nudge queued once. Timing math + env seam unit-pinned. - **G2:** every fire path's record asserted (steer-api, fastlane, genesis, genesis-schedule, interrupt-breadcrumb, nudge). - **G3:** turn/churn/dispatcher-proof each clear; pre-fire churn does not; a PID-reused lock never fakes alive. - **G4:** row + badge + slim surfaces (node harness over the quick-stats module), nudge gate/dedup/no-recursion, expiry and decay — no unmissable state that can't go away. - **G5:** full suite **900 tests OK** on the tagged tree; Super-Linter station recipe green (BASH, BASH_EXEC, MARKDOWN, PYTHON_PYLINT, PYTHON_RUFF, YAML); spot legs (CCC receipt-honesty, FFF unread+launcher, GGG reconciler, BBB fast lane) unregressed green; version guard green on the v1.64.0 tag.
Pinky III: the rumble monitor — the fired-vs-running join (v1.64.0)
All checks were successful
Checks / Functional checks (pull_request) Successful in 35s
51780f8792
The owner ruling after the dead-fleet illusion: dispatch acceptance ≠
running. Every fire the observatory makes now records an expectation
(steer API, fastlane, genesis spawns, interrupt breadcrumbs, nudge
bells) and a watcher joins each open episode against reality — life
(turn-running / transcript churn / cmdline-proven dispatcher), honest
terminals (receipt, completed, failed-with-reason, ledger-closed), or
LOUD silence past window+grace (30s+15s default) on the row, the panel
badge and the slim line, with a gated once-per-episode nudge bell to
the fleet master. Episodes clear on life or honest terminal; failures
render their failure; everything expires.

Folds: BBB's de-timebomb (CCC fixtures now wall-clock-relative; the
24h orphan ceiling detonated them ~4h post-merge) and the test_interrupt
FIFO-restore leak (a start_steer fake leaked into every later module).
ClaudiuSchuster closed this pull request 2026-10-12 17:47:20 +00:00
All checks were successful
Checks / Functional checks (pull_request) Successful in 35s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OSS-Singularity/zcode-dispatch-observatory!94
No description provided.