REQ-ACTIVITY-LIST-JSON: `spt endpoint list --json` carries a per-endpoint `activity` (busy|idle) key, for consumers surveyin REQ-ADAPTER-ADD-SURFACE-ERRORS: Bug #1: adapter add runs the install-as-first-update via conduct (cli.rs:6963) which on a non-zero e REQ-ADAPTER-LIVE-UPDATE: An adapter update is live and daemon-coordinated (the adapter analog of brain self-update, ADR-0004) REQ-ADAPTER-MULTIPLATFORM-SPT: A `.spt` adapter archive may pack multiple platforms in one signed asset: shared `manifest.toml` + ` REQ-ADAPTER-TEMPLATE-KEY-VALIDATION: P-1 core half (WORKER-TRUTH triage): `adapter add`/`adapter update` validate every declared role tem REQ-ADAPTER-TRANSLATE-PROOF: `spt adapter translate-proof --event [--session ]` — the author-time EMIT-h REQ-ADAPTER-UPDATE-MESSAGE: An adapter manifest may declare `[update].message` — a plain (multi-line) human notice surfaced to s REQ-API-3: commune/signoff are file-drops, not commands REQ-ARCH-1: Many small acyclically-layered crates REQ-ARCH-2: Public SDK surface is spt-proto, spt-runtime, spt-msg REQ-ARCH-3: Wire-protocol version independent of crate semver, N-1 compat window REQ-ATTACH-RESIZE-REPAINT: RESCOPED 2026-07-22 by ADR-0047 Amendment 2 (doyle-ratified): this REQ no longer asserts a defect. I REQ-BRAIN-RESUME-NO-CONTROL-STEAL: UPDATE-WEDGE round 2 (v0.30.4, doyle-ruled 2026-07-09 — field incident on the counter-54 fetch--appl REQ-BRAIN-UPDATE-RESTART-CLEAN-CLOSE: SEED (DEFERRED, doyle 2026-07-09 — post-counter-54 root-hardening for UPDATE-WEDGE; mint now, impl a REQ-BROKER-ATTACH-JOURNAL-RESILIENT: A poisoned EffectJournal mutex or a sick NetHost runtime must NOT permanently brick all future attac REQ-CARRIER-CLAIM-EXCLUSIVE: MSG-IDENTITY W4 / F-033 + operator self-send probe 2026-07-09 (dup-delivery cluster, RCA-FIRST): a s REQ-CLI-4: User-facing CLI output is human-readable: DIRECT-USER commands (e.g. adapter update/list/use) render REQ-CLI-JSON: A global `--json` flag (clap global=true) honored by the READ/STATUS command set: endpoint list/whoa REQ-CLI-OUTPUT-MARKDOWN: Human-prose COMMAND OUTPUT (not just `--help`) renders the inline Markdown authored in its source st REQ-CLI-WIN-VT-ENABLE: A7 (F028, operator, Win10 conhost): ANSI emitted without VT enable → garbled console. Evidence (raw REQ-CONN-BLACKHOLE-LIFECYCLE-HARNESS: MSG-IDENTITY W6 / F-039 leg e (doyle W6 LOCK 2026-07-10, minted per amendment 3 — hertz's five invar REQ-CONN-POISON-ATTRIBUTION: MSG-IDENTITY W6 / F-039 legs b-d (doyle W6 LOCK 2026-07-10, minted per amendment 3): every broker-co REQ-CONTROLLER-LEASE-IDENTITY: RC-RENDER-TRUTH W2 (ADR-0044 decisions 1+2, hertz same-machine --take split-brain RCA P0-A/B, doyle REQ-CONTROLLER-LIVENESS-REAP: B-2 (REMOTE-TRUTH triage §B-2, REDUCED @bdc1242): a stale ONLINE+CONTROLLED stamp on a live-session REQ-DAEMON-1: One per-machine spt-daemon owning all per-machine state REQ-DAEMON-2: Broker/brain split for seamless self-update REQ-DAEMON-5: Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status REQ-DAEMON-RESTART-SELF-INTERRUPTION: SEED (inactive — operator-workflow trap, field-paid 2026-07-25): an spt-hosted context CANNOT restar REQ-DAEMON-SERVICE-INSTALL: F-038 RIDER (flynn nice-to-have, QUEUED not activated): a documented OS-service registration recipe REQ-DAEMON-STATUS-JSON-TRUTH: D2 (F028, perri F-d): `daemon status --json` truth drift. managed_by/managed_active read null in JSO REQ-DIGEST-CROSS-NODE-PULL: The digest SNAPSHOT PULL crosses nodes: `spt endpoint digest <[subnet:]id@node>` (including `--after REQ-DIGEST-CURSOR: `spt endpoint digest` gains incremental turn-end consumption (extends REQ-TERM-4/5): `--last ` = REQ-DIGEST-GENERATION-SUPERSEDE: W3 (LIFECYCLE-TRUTH, digest projection truth — flynn filing spt-mobile d0aa3f4): a one-shot `endpoin REQ-DIGEST-JSON-SELF-CONTAINED: TEARDOWN-AUTHORITY W4 (perri adapter-surface finding 2026-07-19, doyle-grounded and RE-SCOPED; title REQ-DIGEST-SEAL-ON-IDLE: A digest turn's records gain their stable `seq` at the endpoint's IDLE TRANSITION — the adapter-repo REQ-DISPATCH-FALLBACK-CIRCUIT: REDISPATCH-STALL W1 (ADR-0038 Amendment, fixes 1+5): the opener ring-peek fallback fires ONLY on the REQ-DISPATCH-HYGIENE-TELEMETRY: REDISPATCH-STALL W1 (ADR-0038 Amendment, fixes 7+8+9): dispatcher hygiene + keyed observability — (a REQ-DOCS-NO-INTERNAL-CODES: Public CLI --help (the clap `///` doc-comments) and the generated `docs-site/src/cli/reference.md` M REQ-DRIVEN-BY-OWN-NODE-NORMALIZE: RC-RENDER-TRUTH v0.38.1 fast-follow leg 1 — RESHAPED by operator/hertz correction + CONTEXT.md:382-3 REQ-ENDPOINT-AUTOSTART: MSG-IDENTITY W5 / F-038 (flynn operator-directed ask 2026-07-10, SPT-CORE-NEEDS #7 + deployah field- REQ-ENDPOINT-CYCLE-HONEST: REGISTRY-LIFECYCLE W3 (ADR-0041 decision 6, operator deployah stop/run wedge): cycle verbs share ONE REQ-ENDPOINT-LIST-NODE-GROUPED: spt endpoint list is node-grouped over unique INSTANCES, not subnet-grouped over duplicated rows: on REQ-ENDPOINT-LIST-PALETTE: Bugs #11 + #15 (display): spt endpoint list renders status as plain text while the picker turns the REQ-ENDPOINT-LIST-RENDER-POLISH: A6 (F028, operator, 4 asks): `spt endpoint list` render polish. (a) the 'Shared subnets' line is NOT REQ-ENDPOINT-MESSAGE-ONLY-DISPLAY: An online agent-family endpoint with NO session surface reads as message-reachable, not as a harness REQ-ENDPOINT-STOP-OFFLINE: H3: `spt endpoint stop ` marks the endpoint OFFLINE (alive=false), not merely de-readied. cmd_st REQ-ENDPOINT-STOP-RESOLVES: `spt endpoint stop ` REFUSES an id that nothing on the node knows, instead of stamping success o REQ-ENDPOINT-UNBOUND-ATTACH: An spt-hosted endpoint is ATTACHABLE between spawn and bind: gate the attach on the broker SESSION b REQ-EP-1: Day-one endpoint types; open type system REQ-EP-2: Agent endpoints vs Shells distinction in the type model REQ-EP-5: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node perm REQ-EP-6: Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcod REQ-EP-7: Durable live-role.md: a per-agent broad-purpose statement in tracked/agents// beside live-contex REQ-FRONT-1: Day-one launcher/manager frontend (list/launch/attach/init) REQ-GOSSIP-PROJECT-DERIVE-ONCE: REGISTRY-LIFECYCLE W4 fast-follow (hertz v0.37.0 field-verify CPU-gate FAIL RCA 2026-07-17, doyle se REQ-HAZARD-ADAPTER-PROFILE-STAMP-CLOBBER: A-4 (F029, operator regression): the picker/confirm views drop an endpoint's adapter `:profile` (sho REQ-HAZARD-ATTACH-WEDGE: A legitimately dead PTY child (real crash/kill) + an undrained operator pump must NOT wedge the brok REQ-HAZARD-BIND-CWD-UNSET: A bound endpoint's `info.cwd` is SET at bind so a freshly-created perch appears under its own projec REQ-HAZARD-BOUNDARY-READY-STRAND: C-2 (F029, SEAM-2 pinned — B6's SECOND HALF, the live-wake blocker; perri wakep9 vs wakep4 gate-stat REQ-HAZARD-BRAIN-RESTART-LIFECYCLE-REHYDRATE: B4 (deepest): a bare brain restart (broker survives) REHYDRATES the live-agent lifecycle so post-res REQ-HAZARD-BROKER-VIEWER-BRAIN-DECOUPLE: W2 (LIFECYCLE-TRUTH, KNOWN-HAZARDS, flagship — the update wedge): PTY viewer fan-out and control mut REQ-HAZARD-CASCADE-WIPE-GUARD: No hard-delete of a parent hosting non-empty children (6.3) REQ-HAZARD-CONPTY-DSR: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5) REQ-HAZARD-CONTROLLER-RETAKE-FLOOR: `become_controller` should STRUCTURALLY refuse a controller re-take whose `from_seq` falls below the REQ-HAZARD-CONTROLLER-WRITER-REORDER: Two `controller_writer` threads must never race ONE brain↔broker connection's socket. ROOT (doyle, i REQ-HAZARD-CORRUPT-PERCH-COHERENCE: Corrupt (present-but-unparseable) info.json is NOT absent: liveness/status readers agree a destroyed REQ-HAZARD-DAEMON-HOSTED-LIVENESS: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + inf REQ-HAZARD-DAEMON-STOP-BARRIER: B3: `spt daemon stop` then an immediate `spt daemon start` does NOT race — stop fully completes befo REQ-HAZARD-DAEMON-STOP-REAP: Breap: `spt daemon stop` REAPS the spt-hosted children it spawned — no orphaned psyche/harness proce REQ-HAZARD-DEFERRED-DRAIN: Deferred spool rows excluded from the event-stream drain (1.4) REQ-HAZARD-DEFERRED-SURVIVE-DRAIN: Deferred rows survive poll drain (4.4) REQ-HAZARD-DELIVERY-STARVATION: A message that has REACHED a node's spool (WAN-arrived or locally spooled-while-active) is NEVER dep REQ-HAZARD-DIRECT-WRITE-PRECEDENCE: Direct-write precedence marker (with node id) guards stale overwrite (6.5) REQ-HAZARD-DRIVEN-BY-SELFHEAL: An spt-hosted endpoint's ONLINE+CONTROLLED state (`driven_by`) must CLEAR even when the detach IPC i REQ-HAZARD-DROP-FILE-SINGLE-WRITER: Drop files are daemon-owned single-writer (6.4) REQ-HAZARD-EBUSY-RENAME: tmp-write + atomic-rename + retry on Windows EBUSY (5.2) REQ-HAZARD-ECHO-BEFORE-SIGNOFF: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3) REQ-HAZARD-ELEVATED-DAEMON-SPAWN: The daemon always runs unelevated in the invoking user's universe, regardless of which command spawn REQ-HAZARD-ENVELOPE-DECODE-ORDER: Envelope decode order, ampersand decoded last (4.1) REQ-HAZARD-ENVELOPE-PARSER-SAFE: Two-slice envelope parser is panic-free and tolerant (4.2) REQ-HAZARD-EPHEMERAL-CLEANUP: Ephemeral perch cleanup on every ring exit path (3.1) REQ-HAZARD-EPOCH-RESET: Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh REQ-HAZARD-GRACE-BEFORE-SIGNOFF: Grace-period wait completes before composing INIT_SIGNOFF (1.1) REQ-HAZARD-HANDOFF-ARGV-COMPAT: Broker/brain IPC + handoff argv version-tolerant (2.3) REQ-HAZARD-HOSTED-LIVENESS-RECONCILE: B2 KEYSTONE: a daemon-hosted (spt-hosted) endpoint's info.json status is RECONCILED to real liveness REQ-HAZARD-ID-CHARSET: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6) REQ-HAZARD-INBOX-NO-DOUBLE: No double-delivery via legacy inbox (4.5) REQ-HAZARD-LISTEN-ORPHAN: W4 (LIFECYCLE-TRUTH, KNOWN-HAZARDS): `api listen --parent-pid N` watches parent liveness and exits l REQ-HAZARD-LIVEHOST-NONRESIDENT: A daemon-hosted Psyche that spawns then EXITS IMMEDIATELY is a host failure, surfaced like a spawn f REQ-HAZARD-PSYCHE-RESIDENCY-EXPECTATION: W3 (F030 hazard; paid-for: hall-bf churn ordinal 6491+ + adapter v0.13.2 bad-ship brick 2026-07-04): REQ-HAZARD-RC-ATTACH-ONLINE-RACE: `spt endpoint run` in an ATTACH/VIEW terminal action attaches BEFORE the freshly-spawned endpoint is REQ-HAZARD-RC-ATTACH-TRUTH: RC-RENDER-TRUTH W1 (KNOWN-HAZARDS 7.46 — umbrella conformance seam for ADR-0042): an rc surface answ REQ-HAZARD-RC-EOF: A severed broker stream during a live rc session surfaces GRACEFULLY, never as a raw io error that c REQ-HAZARD-REDISPATCH-CONTROL-STEAL: REDISPATCH-TRUTH W1 (KNOWN-HAZARDS 7.41, hertz field RCA 2026-07-16 — 4/5 endpoints frozen per brain REQ-HAZARD-REGISTRY-DIR-CREATE: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CAN REQ-HAZARD-REGISTRY-GHOST-ROWS: Registry rows must decay (no immortal rows) via TWO triggers: (a) NODE-SILENCE — evict rows whose au REQ-HAZARD-REGISTRY-STALE-CLEAN: Stale registry entries degrade to fallback, never hard-fail (4.3) REQ-HAZARD-RESTART-IDEMPOTENT: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14) REQ-HAZARD-ROLLBACK-STATE-COMPAT: A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gat REQ-HAZARD-ROSTER-GHOST: A LOCAL subnet roster entry whose backing perch is erased does NOT keep advertising Active (no phant REQ-HAZARD-SELF-ELEVATE: Self-elevation (REQ-ELEVATE-1) re-runs the EXACT original invocation with the binary's ABSOLUTE exe REQ-HAZARD-SESSION-PIN-WEDGE: A perch PINNED to a DEAD session-id self-heals instead of wedging forever. authenticate() (spt/src/a REQ-HAZARD-SHAREDSEND-NO-BLOCKING-WRITE-UNDER-LOCK: UPDATE-WEDGE round-4 (hertz RCA, root reproduced + source-pinned on Windows 2026-07-09): EVERY write REQ-HAZARD-SINGLE-PATH-SOURCE: Single path/registry source of truth; no layout ambiguity (6.1) REQ-HAZARD-SOFT-CLEANUP: Soft-cleanup preserves state, removes only the ready marker (6.2) REQ-HAZARD-STALE-INDEX-LOCK: Sweep stale lockfiles on daemon boot (1.3) REQ-HAZARD-STALE-SIGNOFF-SENTINEL: Stale signoff sentinel does not kill a fresh start (3.2) REQ-HAZARD-STOP-RESPAWN-CONVOY: KNOWN-HAZARDS 7.52: an operator stop outranks every implicit ensure — no convenience path resurrects REQ-HAZARD-UNHOST-PSYCHE-REAP: On un-host, the detached `{id}-psyche` HARNESS PROCESS is reaped — not just its in-brain pulse-drive REQ-HAZARD-WAN-ORIGIN-AUTH: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-nod REQ-HAZARD-WMI-DAEMON-WINDOW: `spt daemon start` launches the daemon with NO visible console window. REGRESSION (v0.12.1 L1.5): th REQ-HOSTING-AUTHORITY-CONTROLLABLE: RC-RENDER-TRUTH v0.38.1 fast-follow leg 3 (hertz todlando immortal-hybrid trace, doyle fork ruling 2 REQ-INST-13: Subnet-exclusive sync + per-endpoint subnet-membership list REQ-INST-7: Subnet registry + bare-id resolution policy REQ-INSTALL-4: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) REQ-INSTALL-5: Non-interactive install path: the install path doubles as every adapter's pack-in on-demand install REQ-INSTALL-7: Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New- REQ-INSTALL-8: OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl REQ-INSTALL-BOOTSTRAP-VERB: THE-FORKENING W1 (ADR-0036 §3, bootstrap shape b operator-ruled): virgin-box install = `gh release d REQ-LIST-JSON-LIVENESS-PARITY: GATEWAY-LIVENESS (flynn field bug 2026-07-09, RCA reader-divergence root): `spt endpoint list` (huma REQ-LISTEN-PRESERVES-HOSTING-TOPOLOGY: `api listen` must not ASSERT hosting topology it does not know. (hertz v0.39.0 field RCA 2026-07-21, REQ-LISTEN-SEED-CONSUME-AFTER-BIND: F-034 leg b (perri/hertz field finding 2026-07-09, hertz's HEADLINE): `api listen` must NOT consume REQ-LIVENESS-ORACLE-SOUND: TEARDOWN-AUTHORITY W2 (todlando W1 gate-round-0 finding, doyle-scoped from the LANDED W1 code 2026-0 REQ-MANIFEST-2: Adapter profiles — sparse leaf-replace overlays (shipped + local), composite : add REQ-MANIFEST-8: [adapter] host_binaries declares the harness executable basenames a kind="harness" adapter hosts age REQ-MESH-4: Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke ...` (list, elevation-gat REQ-MESH-5: Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migratio REQ-MESH-6: Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNE REQ-MSG-2: spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes REQ-MSG-IDLE-EDGE-DRAIN: On an endpoint's ACTIVE→IDLE transition the daemon DRAINS its pending spool (deferred AND non-deferr REQ-NET-1: WAN messaging first-class, behind default-on net feature flag REQ-NET-FAMILY-GATE: spt-core binds only IP families that are actually REACHABLE (ADR-0030), so a half-broken family (e.g REQ-NOTIF-2: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters) REQ-NOTIF-SEAM-DISMISS: Staleness is dismissed at the seam that knows, never evaluated at surface: a successful update apply REQ-PAIR-2: Local trust store with TOFU + warn-on-change REQ-PAIR-4: Subnet naming on first pairing REQ-PAIR-6: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app) REQ-PEER-ROUTE-CHAIN: MESH-RECOVERY W1 (ADR-0039, RCA wave 1): dial-address resolution is the ROUTE CHAIN — exact peer-cac REQ-PEERADDR-INVARIANT: MESH-RECOVERY W1 (ADR-0039, RCA wave 2): the peer-addrs cache INVARIANT — outer peer key == address. REQ-PICKER-1: The picker renders a FOUR-state endpoint status (extending the W2 online/offline duality): the list- REQ-PICKER-3: A self-owned subnet row reconciles its status to the LIVE roster: a Subnet-category row whose endpoi REQ-PICKER-5: `spt endpoint list` (bare/subnet view) renders an ALIGNED table with canonical node labels: cmd_endp REQ-PICKER-BACK-NAV: C-4 (REMOTE-TRUTH triage §C-4 #9): Backspace is a back() ALIAS across the picker — one keypress back REQ-PICKER-CHANGE-ADAPTER-FLOW: B-2 (F029, operator; LARGEST item): `ConfirmOption::ChangeAdapter` wrongly routes into the CREATE fl REQ-PICKER-CONTROLLED-LOCAL: #3 local half: a LOCALLY-controlled endpoint renders CONTROLLED in its own node's picker. display_st REQ-PICKER-FORK-LABEL-CWD: B-3 (F029, operator): the confirm-panel `Fork endpoint` option label is static and says nothing abou REQ-PICKER-ONLINE-ACTION: The `spt endpoint run` picker shows the correct action for an ALREADY-ONLINE endpoint — Attach, NOT REQ-PICKER-START-PROJECT-CHOICE: #5: after 'Start now' in the endpoint picker, swap the bottom Options panel to a 'Choose project' li REQ-PICKER-UX-V013: `spt endpoint run` picker UX (v0.13.0 operator dogfooding): (1) SKIP the first screen — open directl REQ-PICKER-WINDOW-TITLE: B-5 (F029, operator): `spt endpoint run`'s interactive picker window/tab is untitled — hard to find REQ-PLATFORM-MUSL: MUSL-TIER W2 (register the musl platform, self-IDENTIFY): add x86_64-unknown-linux-musl to the W1 re REQ-PRES-1: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet REQ-PRESENCE-LIVENESS-TRUTH: A node's gossiped per-endpoint registry Status reflects real liveness, so a remote viewer never pain REQ-PROJECT-INDEX-READER-CUTOVER: PROJECT-INDEX W3 (ADR-0037): endpoint list, the picker, and endpoint-info consume the materialized i REQ-PROJECT-INDEX-WRITER: PROJECT-INDEX W2 (ADR-0037): the daemon is the SOLE single-flight project-index writer: load persist REQ-PSYCHE-LEGACY-RESIDENT-SWEEP: W5 (F030; doyle+perri 2026-07-04): a dirty daemon upgrade from <=v0.24.0 strands a RESIDENT psyche w REQ-PSYCHE-NESTED-RESOLUTION: W4 (F030, design §3; F-017 sibling, general not psyche-only): nested {parent}/{nested} ids resolve u REQ-PSYCHE-TURN-STREAM-EVIDENCE: A failed psyche turn preserves BOTH captured streams as evidence: TurnError::Failed carries the chil REQ-PUMP-PEER-ISOLATION: PUMP-TRUTH W2 (architectural, operator ruling 2026-07-08): one peer must NOT block or poison all oth REQ-PUMP-STAGE-TRUTH: MESH-RECOVERY W1 (ADR-0039, RCA wave 3 — the acceptance surface, same contract): peer-failure teleme REQ-RC-CROSS-NODE-ATTACH: Bug #4: spt rc to a remote endpoint fails with 'no live session' though endpoint list shows it Activ REQ-RC-HARNESS-ONLY-REFUSAL: RC-RENDER-TRUTH W1 (ADR-0042 decision 3, hertz elevated-endpoints RCA core leg 1): direct `spt rc ` with NO --adapter, when names an E REQ-RUN-PICKER: Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no --adapter/--id) ent REQ-RUN-PICKER-HOME: Home-subnet selection LAYER in the `spt endpoint run` ratatui Create-new picker (v0.14.1; the deferr REQ-SCREENGRID-REPAINT-MODE-REPLAY: RC-RENDER-TRUTH W3 (ADR-0043 decision 4, hertz stale-glyphs RCA leg 4 P1): ScreenGrid cold repaint r REQ-SCREENGRID-WIDTH: TEARDOWN-AUTHORITY W3 (hertz field RCA 2026-07-19, doyle-confirmed at source): ScreenGrid models eve REQ-SEAM-PSYCHE: spawn-psyche seam (fresh + resume templates) REQ-SEAM-UPDATE: Adapter-update avenue (file-pull / delegated command) REQ-SEAT-LIFETIME-BOUNDED: REGISTRY-LIFECYCLE W1 (ADR-0040 decision 5, hertz defect B leg 5 CROSS-FAMILY per the final attribut REQ-SELF-DETECT-PARENT-PID: E-1 (REMOTE-TRUTH triage §E-1 #7): self-detect leg (c) — the pid-ancestry fallback — ALSO candidates REQ-SELF-ID-TRUST-INJECTED-ENV: DEFERRED to a followup vX.X.n sprint (post-LIFECYCLE-TRUTH, operator-ruled 2026-07-07): self-identit REQ-SERVE-OWNERSHIP-GENERATION: REDISPATCH-STALL W1 (ADR-0038 Amendment, fix 6): terminal-exclusion enforced PRE-SERVE + ownership/g REQ-SESSION-ADAPTER-RECORDED: D-2 (REMOTE-TRUTH triage §D-2 + operator Q5 @c248afc): the session ledger records the adapter[:profi REQ-SESSIONS-LOG-ENDPOINT-ATTRIBUTION: C2 (F028, infra; ROOT-CAUSED + severity-upgraded doyle RCA 2026-07-03): cross-endpoint perch contami REQ-SHELL-3: Drive channel (owner->shell, REST-only, never-spooled, latest-wins): the owner->shell mirror of sens REQ-SHELL-4: Shell tunnel (reliable-ordered opaque byte stream): an owner<->shell link may hold a long-lived, rel REQ-SHELL-LIST-DERIVED-PROVENANCE: SEED (inactive — observability, perri-backed 2026-07-26): a status a reader can act on should be dis REQ-START-1: Adapters never resolve SPT_HOME; binary on PATH; api bridging only REQ-START-3: spt-hosted startup: spawn-session then api bind (no file) REQ-START-4: Adapter-injected env aliases (SPT/OWL/LIVE) REQ-STORE-1: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, REQ-STREAMLOG-SUBSCRIBER-DISCIPLINE: REDISPATCH-STALL W1 (ADR-0038 Amendment, fixes 2+3+4): StreamLog subscriber write discipline — (a) r REQ-SUBNET-1: spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-c REQ-SUBNET-2: Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder REQ-SUBNET-8: Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is stand REQ-TERM-1: Process-supervisor terminal wrapper hosting broker PTYs REQ-TERM-4: Live activity buffer (session digest): projection of normalized session logs, snapshot-pull (spt end REQ-TERM-6: Thread-spanning digest across session boundaries: a per-endpoint session ledger (`/sessions.l REQ-UPD-1: Peer-propagated update over P2P REQ-UPD-8: Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fet REQ-UPDATE-APPLY-ALREADY-APPLIED: `spt update apply` classifies an already-staged / already-applied state as a friendly exit-0 no-op i REQ-UPDATE-DEFAULT-COMPOSITE: THE-FORKENING W4 (operator-grilled 2026-07-14): plain `spt update` = `update fetch --apply` THEN `up REQ-UPDATE-FINISH-ENDPOINT-SURVIVAL: W3 (LIFECYCLE-TRUTH): daemon restart no longer massacres hosted endpoints — daemon start RE-RUNS pre REQ-UPDATE-ONE-SHOT-FINISH: W3 (LIFECYCLE-TRUTH): update apply works daemonless and one command finishes the cycle. ROOT (operat REQ-UPDATE-TRIAL-DRAIN-DRIVE: UPDATE-WEDGE (counter-54, doyle-ruled 2026-07-09 — regression of the v0.29.0 seamless brain-swap): a REQ-VIEWER-SKIP-TO-LIVE-ON-EVICT: A `rc --view` VIEWER that overflows its broker subscription queue and is EVICTED (OutputLog::append REQ-WHOAMI-1: The `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read REQ-WHOAMI-EXPLICIT-SID-REFUSAL: RULED DESIGN, delivery unowned (doyle 2026-07-26): when a caller hands identity resolution an EXPLIC