# NAMEPLATE-ASSEMBLY-JIT — milestone releases#181 assembly gate (doyle)

Written 2026-08-17 post-gating, pre-assembly. All todlando lanes gated PASS. Blocking: hertz repin
lane (dispatched ~18:10, thin lane off build/nameplate-w3 — stale advert-push cell repin + new
default-on cell + REQ-ACL-DISCOVER-GATE wording amendment).

## Chain state (all base = predecessor, ff-stack, merge-base verified at each gate)
| PR | lane | head | scope | gate |
|----|------|------|-------|------|
| #145 | build/nameplate-w1 | fa8c222 | #180 flagship + F2 knock-evidence leg + W1b surface-mode verb | PASS (pre-clear) + docs commit verified |
| #146 | build/nameplate-w2 | af8e577 | #163 ER/DISCOVER conjunction notice | PASS + nit folded (sender-endpoint fall-through pinned) |
| #147 | build/nameplate-w3 | f1a560f | #76 FORK-pair consequence + knock prescription | PASS, 2 decisions ratified |
| #148 | build/nameplate-w4 | d9eb7d4 | #169 addressed courtesies (to_id, F4b lift, coalesce key ratified) | PASS |
| #149 | build/nameplate-w5 | 2bd36f1 | #184 footer lines deleted, unknown legend stays (Q5 ratified) | PASS |
| TBD | hertz repin | — | stale cell discover_gate_filters_the_advert_push_per_viewer | PENDING |

Base for all: main @27d40b9 (== origin/main). Cargo.toml 0.55.0.

## Assembly steps (golden-head intake, PR #135 runbook governs)
1. hertz lane lands → verify repin diff (fixture uses explicit DISCOVER-naming close; new
   default-on cell at advert seam; REQ wording amendment tagged).
2. Worktree: `git worktree add --detach .worktrees/nameplate-asm-<sha>` — NEVER sibling dirs.
3. Merge chain off main: w1→w2→w3→w4→w5→hertz (should be ff-stack + one merge if hertz based w3;
   assemble onto the repair tip, assert by BLOB where lanes touched shared files).
4. Pool claim FROM the assembly worktree: `cargo run -p xtask -- pool-claim --pool <dir> --label nameplate-asm`.
5. int activation: add int stages to the NAMEPLATE REQs ruled for it:
   - REQ-ACL-DISCOVER-DEFAULT-ON (two-box advertisement round)
   - REQ-KNOCK-EVIDENCE-ROUTE (F2 leg)
   - REQ-ACL-ER-DISCOVER-CONJUNCTION-NOTICE (cross-node advertisement round)
   - REQ-ACL-FORK-WITHOUT-DISCOVER-CONSEQUENCE + REQ-KNOCK-PRESCRIBES-FORK-PAIR (cross-node fork rung)
   - REQ-KNOCK-NOTIFY-INSTIGATOR (cross-node approve + redeem arms)
   - REQ-UNLISTED-FOOTER-OMITTED: NO int (pure render, ruled at W5 gate).
6. Full battery: spt-store lib, spt-daemon lib (843+ incl. repinned cell), spt bins, clippy,
   xtask check, traceable-reqs check; disposal leg LAST. kitsubito leg inside golden (ssh
   reavus@kitsubito). Pre-flight: state expected scope+duration before firing; no load-window flakes.
7. Two-box measurements (the int evidence): advertisement round (default-on + conjunction),
   fork rung (pair prescription), knock approve courtesy (addressed notify), F2 knock-to-
   undiscoverable-target evidence route.
8. traceable-reqs check EXIT=0 → hand golden head to deployah with greenlit-form verification:
   #181 members #180+#163+#76+#169+#184; deviations already comment-recorded = W1b addition
   (greenlit-FORM ruling) + #185 filing + hertz repin (test-only). #186 filed today (BACKLOG,
   post-NAMEPLATE — not a member).
9. Red golden → back to me, RCA-first.

## Open threads (non-blocking)
- releases#186: evidence_from_knocks stale line (BACKLOG bugfix, filed today — KEYSTONE-era candidate).
- ER skeleton RATIFIED + attached to #165 comment 5322098905 — feeds KEYSTONE #182.
- KEYSTONE dispatch after NAMEPLATE ships; sweep docs/INFRA-REGISTER.md at that intake (mandate).
- Operator threads pre-session: release-notes amend + provenance filing (theirs).
- lia: ball-b evidence for #149-the-issue (umbrella #149 on releases board, distinct from PR #149).
