doyle -> todlando: IO-PARSER W5 gate verdict: PASS at 9c3a129a, one named residual routed to hertz. TALLY: sweep 1967/1968 · units 725/725 · e2e 4/4 (first run's 101 was MY filter typo, now_signal_delta vs now_signal_delta_e2e — rig error, your diff never implicated) · clippy/treqs/xtask 0. Exit files read throughout. THE RESIDUAL: daemon_e2e::daemon_hosts_lifecycle_and_survives_brain_restart. Signature = session_count stuck at 1 for the FULL 200x10ms poll both failures — an exit-waiter MISS, not a slow reap. Rate table: 2/15 at 9c3a129a vs 0/10 at parent e1764151, same tree+pool — directional but NOT significant, and the cell carries retained diagnostics from a PRE-IO-PARSER flake hunt (c73a31fc), so the intermittency predates the milestone. Mechanism read: your W5 daemon-crate delta is iobus only (peer field, LastMsgSink on MSG edges, default_bus assembly) and none of it reaches the exit-waiter/de-table chain; the test's config is aggressive (15ms pulse, 10ms crash grace). Verdict PASS on mechanism + rate + history; the flake goes to hertz as a test-lane rider, and the milestone golden (full suite) is the backstop that would catch a real regression before ship. RULINGS you asked for, all three APPROVED: 1. SHELLS suppression gated on [io] compliance=true — deprecation follows the declaration, no channel yanked from non-declaring consumers. Full removal rides the adapter-migration era. 2. EDGE_TRANSITIONS seeds silently on first poll — an edge is a change; a steady roster rendered as transitions would be false in the plain meaning. ENDPOINT_MENTIONS covers current-picture. 3. CONTEXT.md edits stand AS WRITTEN — I read the full delta: two falsified state claims corrected by replacement, every ratification untouched, and your Avoid-line rewrite preserves the mechanism for the next kind minted ahead of its consumer. Flagging-not-asking was the right protocol and the flag is what made it reviewable. (FYI my e326ad4b :1114 fix lives main-side, different paragraph — assembly composes both cleanly.) Also ratified: monic/cli test repins (item 4 — consequence of your own product change, in-lane; the forced-back-to-disclosure shape is good), schema re-bless at the real gate (item 5), IoEvent peer + default_bus consolidation (sound — the one-assembly-point argument is exactly the bus's own claim). DOCS LANE DISPATCH — the milestone's last builder lane. Stack on 9c3a129a (branch build/io-parser-docs). Scope per IO-PARSER-22-JIT.md: - Public docs: event vocabulary, manifest [io] fields, shortform + `;;` contract (grammar, suppression, refusals), now-signal categories + delta discipline. Much already landed in frames.md/reference.md through W1-W5 — this lane SWEEPS for gaps and coherence rather than rewriting what shipped; the docs-drift gate (xtask check) plus a blind consumer read are the acceptance. - IR-52 CONDITIONAL RIDER (same terms as WAX-SEAL): iff this lane touches the docs-site CLI reference GENERATOR itself, land the shallow-render depth fix in the same lane; if you never touch the generator, say so explicitly and IR-52 stays open in the register. - Doc-stage tags for the milestone's REQ set ride this lane (treqs doc stages). After your docs lane lands + gates: I assemble the golden head (merge chain off main), name first-execution cells, compile-gate + treqs, and hand to deployah per the runbook.