1. REQ-HAZARD-DAEMON-STOP-BARRIER <-> REQ-START-4 A: B3: `spt daemon stop` then an immediate `spt daemon start` does NOT race — stop fully completes befo B: Adapter-injected env aliases (SPT/OWL/LIVE) 2. REQ-DOCS-NO-INTERNAL-CODES <-> REQ-PICKER-START-PROJECT-CHOICE A: Public CLI --help (the clap `///` doc-comments) and the generated `docs-site/src/cli/reference.md` M B: #5: after 'Start now' in the endpoint picker, swap the bottom Options panel to a 'Choose project' li 3. REQ-SHELL-3 <-> REQ-SHELL-4 A: Drive channel (owner->shell, REST-only, never-spooled, latest-wins): the owner->shell mirror of sens B: Shell tunnel (reliable-ordered opaque byte stream): an owner<->shell link may hold a long-lived, rel 4. REQ-EP-1 <-> REQ-EP-2 A: Day-one endpoint types; open type system B: Agent endpoints vs Shells distinction in the type model 5. REQ-HAZARD-REGISTRY-DIR-CREATE <-> REQ-SESSION-ADAPTER-RECORDED A: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CAN B: D-2 (REMOTE-TRUTH triage §D-2 + operator Q5 @c248afc): the session ledger records the adapter[:profi 6. REQ-DAEMON-5 <-> REQ-HAZARD-ADAPTER-PROFILE-STAMP-CLOBBER A: Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status B: A-4 (F029, operator regression): the picker/confirm views drop an endpoint's adapter `:profile` (sho 7. REQ-HAZARD-DAEMON-HOSTED-LIVENESS <-> REQ-HAZARD-DRIVEN-BY-SELFHEAL A: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + inf B: An spt-hosted endpoint's ONLINE+CONTROLLED state (`driven_by`) must CLEAR even when the detach IPC i 8. REQ-NOTIF-SEAM-DISMISS <-> REQ-UPDATE-APPLY-ALREADY-APPLIED A: Staleness is dismissed at the seam that knows, never evaluated at surface: a successful update apply B: `spt update apply` classifies an already-staged / already-applied state as a friendly exit-0 no-op i 9. REQ-DRIVEN-BY-OWN-NODE-NORMALIZE <-> REQ-SELF-DETECT-PARENT-PID A: RC-RENDER-TRUTH v0.38.1 fast-follow leg 1 — RESHAPED by operator/hertz correction + CONTEXT.md:382-3 B: E-1 (REMOTE-TRUTH triage §E-1 #7): self-detect leg (c) — the pid-ancestry fallback — ALSO candidates 10. REQ-RC-QUALIFIED-TARGET-CANONICAL <-> REQ-RC-SINGLE-PUMP-BRAIN A: RC-RENDER-TRUTH W1 (ADR-0042 decision 4, hertz elevated-endpoints RCA core leg 2, doyle seam-confirm B: RC-RENDER-TRUTH v0.38.1 fast-follow leg 2 (hertz v0.38.0 field repro 2, hertz RCA confirmed + doyle- 11. REQ-HAZARD-LIVEHOST-NONRESIDENT <-> REQ-SERVE-OWNERSHIP-GENERATION A: A daemon-hosted Psyche that spawns then EXITS IMMEDIATELY is a host failure, surfaced like a spawn f B: REDISPATCH-STALL W1 (ADR-0038 Amendment, fix 6): terminal-exclusion enforced PRE-SERVE + ownership/g 12. REQ-HAZARD-BOUNDARY-READY-STRAND <-> REQ-HAZARD-CORRUPT-PERCH-COHERENCE A: C-2 (F029, SEAM-2 pinned — B6's SECOND HALF, the live-wake blocker; perri wakep9 vs wakep4 gate-stat B: Corrupt (present-but-unparseable) info.json is NOT absent: liveness/status readers agree a destroyed 13. REQ-ACTIVITY-LIST-JSON <-> REQ-ENDPOINT-LIST-NODE-GROUPED A: `spt endpoint list --json` carries a per-endpoint `activity` (busy|idle) key, for consumers surveyin B: spt endpoint list is node-grouped over unique INSTANCES, not subnet-grouped over duplicated rows: on 14. REQ-HAZARD-CONTROLLER-RETAKE-FLOOR <-> REQ-HAZARD-CONTROLLER-WRITER-REORDER A: `become_controller` should STRUCTURALLY refuse a controller re-take whose `from_seq` falls below the B: Two `controller_writer` threads must never race ONE brain↔broker connection's socket. ROOT (doyle, i 15. REQ-ATTACH-RESIZE-REPAINT <-> REQ-ENDPOINT-LIST-PALETTE A: RESCOPED 2026-07-22 by ADR-0047 Amendment 2 (doyle-ratified): this REQ no longer asserts a defect. I B: Bugs #11 + #15 (display): spt endpoint list renders status as plain text while the picker turns the 16. REQ-HAZARD-GRACE-BEFORE-SIGNOFF <-> REQ-HAZARD-ECHO-BEFORE-SIGNOFF A: Grace-period wait completes before composing INIT_SIGNOFF (1.1) B: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3) 17. REQ-HAZARD-DROP-FILE-SINGLE-WRITER <-> REQ-HAZARD-DIRECT-WRITE-PRECEDENCE A: Drop files are daemon-owned single-writer (6.4) B: Direct-write precedence marker (with node id) guards stale overwrite (6.5) 18. REQ-MESH-5 <-> REQ-NET-1 A: Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migratio B: WAN messaging first-class, behind default-on net feature flag 19. REQ-MSG-2 <-> REQ-UPDATE-ONE-SHOT-FINISH A: spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes B: W3 (LIFECYCLE-TRUTH): update apply works daemonless and one command finishes the cycle. ROOT (operat 20. REQ-DISPATCH-HYGIENE-TELEMETRY <-> REQ-HAZARD-SHAREDSEND-NO-BLOCKING-WRITE-UNDER-LOCK A: REDISPATCH-STALL W1 (ADR-0038 Amendment, fixes 7+8+9): dispatcher hygiene + keyed observability — (a B: UPDATE-WEDGE round-4 (hertz RCA, root reproduced + source-pinned on Windows 2026-07-09): EVERY write 21. REQ-SCREENGRID-REPAINT-MODE-REPLAY <-> REQ-SCREENGRID-WIDTH A: RC-RENDER-TRUTH W3 (ADR-0043 decision 4, hertz stale-glyphs RCA leg 4 P1): ScreenGrid cold repaint r B: TEARDOWN-AUTHORITY W3 (hertz field RCA 2026-07-19, doyle-confirmed at source): ScreenGrid models eve 22. REQ-PAIR-2 <-> REQ-PAIR-4 A: Local trust store with TOFU + warn-on-change B: Subnet naming on first pairing 23. REQ-DAEMON-1 <-> REQ-PICKER-3 A: One per-machine spt-daemon owning all per-machine state B: A self-owned subnet row reconciles its status to the LIVE roster: a Subnet-category row whose endpoi 24. REQ-RUN-ID-REUSES-ADAPTER <-> REQ-RUN-PICKER-HOME A: D-1 (REMOTE-TRUTH triage §D-1): `spt endpoint run --id ` with NO --adapter, when names an E B: Home-subnet selection LAYER in the `spt endpoint run` ratatui Create-new picker (v0.14.1; the deferr 25. REQ-MANIFEST-8 <-> REQ-START-3 A: [adapter] host_binaries declares the harness executable basenames a kind="harness" adapter hosts age B: spt-hosted startup: spawn-session then api bind (no file) 26. REQ-HAZARD-SOFT-CLEANUP <-> REQ-HAZARD-EPHEMERAL-CLEANUP A: Soft-cleanup preserves state, removes only the ready marker (6.2) B: Ephemeral perch cleanup on every ring exit path (3.1) 27. REQ-BRAIN-RESUME-NO-CONTROL-STEAL <-> REQ-HOSTING-AUTHORITY-CONTROLLABLE A: UPDATE-WEDGE round 2 (v0.30.4, doyle-ruled 2026-07-09 — field incident on the counter-54 fetch--appl B: RC-RENDER-TRUTH v0.38.1 fast-follow leg 3 (hertz todlando immortal-hybrid trace, doyle fork ruling 2 28. REQ-RC-RESIZE-PRESENTATION-BARRIER <-> REQ-RC-VT-TEARDOWN A: During a resize transition, LIVE DELIVERY is barriered along with the grid parse: no attached sink ( B: RC-RENDER-TRUTH W3 (ADR-0043 decision 2, hertz stale-glyphs RCA leg 2 P0): rc display teardown is a 29. REQ-MESH-5 <-> REQ-RC-HARNESS-ONLY-REFUSAL A: Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migratio B: RC-RENDER-TRUTH W1 (ADR-0042 decision 3, hertz elevated-endpoints RCA core leg 1): direct `spt rc REQ-PICKER-WINDOW-TITLE A: `spt endpoint run` picker UX (v0.13.0 operator dogfooding): (1) SKIP the first screen — open directl B: B-5 (F029, operator): `spt endpoint run`'s interactive picker window/tab is untitled — hard to find 31. REQ-NET-FAMILY-GATE <-> REQ-START-1 A: spt-core binds only IP families that are actually REACHABLE (ADR-0030), so a half-broken family (e.g B: Adapters never resolve SPT_HOME; binary on PATH; api bridging only 32. REQ-HAZARD-LIVEHOST-NONRESIDENT <-> REQ-PSYCHE-LEGACY-RESIDENT-SWEEP A: A daemon-hosted Psyche that spawns then EXITS IMMEDIATELY is a host failure, surfaced like a spawn f B: W5 (F030; doyle+perri 2026-07-04): a dirty daemon upgrade from <=v0.24.0 strands a RESIDENT psyche w 33. REQ-HAZARD-HOSTED-LIVENESS-RECONCILE <-> REQ-HAZARD-LISTEN-ORPHAN A: B2 KEYSTONE: a daemon-hosted (spt-hosted) endpoint's info.json status is RECONCILED to real liveness B: W4 (LIFECYCLE-TRUTH, KNOWN-HAZARDS): `api listen --parent-pid N` watches parent liveness and exits l 34. REQ-HAZARD-ID-CHARSET <-> REQ-START-4 A: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6) B: Adapter-injected env aliases (SPT/OWL/LIVE) 35. REQ-HAZARD-ENVELOPE-DECODE-ORDER <-> REQ-RELAY-NO-BUSY-DELIVER A: Envelope decode order, ampersand decoded last (4.1) B: MSG-IDENTITY W4 (operator self-send probe 2026-07-09, companion leg): the relay/idle-inject carrier 36. REQ-INSTALL-7 <-> REQ-INSTALL-8 A: Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New- B: OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl 37. REQ-SESSIONS-LOG-ENDPOINT-ATTRIBUTION <-> REQ-WHOAMI-1 A: C2 (F028, infra; ROOT-CAUSED + severity-upgraded doyle RCA 2026-07-03): cross-endpoint perch contami B: The `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read 38. REQ-HAZARD-ROLLBACK-STATE-COMPAT <-> REQ-UPD-8 A: A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gat B: Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fet 39. REQ-EP-5 <-> REQ-SUBNET-2 A: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node perm B: Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder 40. REQ-ADAPTER-TRANSLATE-PROOF <-> REQ-RESUME-ADAPTER-FOLLOWS-SESSION A: `spt adapter translate-proof --event [--session ]` — the author-time EMIT-h B: D-2 (REMOTE-TRUTH triage §D-2 + operator Q5 @c248afc): a resume-from-history restores the RECORDED s