[
  {
    "pair_num": 1,
    "a": "REQ-ACL-ACCESS-REFRESH-VERB",
    "b": "REQ-ACL-NODE-VIEW",
    "score": 30,
    "a_title": "`spt api access-refresh` is MINTED THIS WAVE BUT REFUSES \u2014 the verb exists, pars",
    "b_title": "`spt daemon access` is the node-tier roster: the entities the node-scope rules n"
  },
  {
    "pair_num": 2,
    "a": "REQ-ACL-MODE-ADVISORY-GOSSIP",
    "b": "REQ-MESH-5",
    "score": 5,
    "a_title": "A subnet-mode change gossips ADVISORILY \u2014 it produces a notification and nothing",
    "b_title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorizati"
  },
  {
    "pair_num": 3,
    "a": "REQ-ACL-RC-VIEW-SPLIT",
    "b": "REQ-ACL-SUBJECT-CHAIN",
    "score": 30,
    "a_title": "Watching an endpoint's terminal and DRIVING it are separately grantable: attach ",
    "b_title": "One FIRST-MATCH-WINS subject chain decides every access question, with an implic"
  },
  {
    "pair_num": 4,
    "a": "REQ-ACTIVITY-LINK-PUSH",
    "b": "REQ-IDLE-PARKED-DELIVERY",
    "score": 5,
    "a_title": "An owned Shell observes its owner's busy/idle transitions as an activity frame o",
    "b_title": "W5 (LIFECYCLE-TRUTH): a message QUEUED to an ALREADY-idle spt-hosted endpoint is"
  },
  {
    "pair_num": 5,
    "a": "REQ-ADAPTER-FLOOR-ENFORCE",
    "b": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
    "score": 5,
    "a_title": "F-5 (REMOTE-TRUTH triage \u00a7F-5 + doyle rulings 2026-07-05): BOTH adapter acquisit",
    "b_title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents:"
  },
  {
    "pair_num": 6,
    "a": "REQ-ADAPTER-LIVE-UPDATE",
    "b": "REQ-ADAPTER-UPDATE-MESSAGE",
    "score": 30,
    "a_title": "An adapter update is live and daemon-coordinated (the adapter analog of brain se",
    "b_title": "An adapter manifest may declare `[update].message` \u2014 a plain (multi-line) human "
  },
  {
    "pair_num": 7,
    "a": "REQ-ADAPTER-MULTIPLATFORM-SPT",
    "b": "REQ-SEAM-UPDATE",
    "score": 20,
    "a_title": "A `.spt` adapter archive may pack multiple platforms in one signed asset: shared",
    "b_title": "Adapter-update avenue (file-pull / delegated command)"
  },
  {
    "pair_num": 8,
    "a": "REQ-ADAPTER-TEMPLATE-KEY-VALIDATION",
    "b": "REQ-SESSIONS-LOG-ENDPOINT-ATTRIBUTION",
    "score": 5,
    "a_title": "P-1 core half (WORKER-TRUTH triage): `adapter add`/`adapter update` validate eve",
    "b_title": "C2 (F028, infra; ROOT-CAUSED + severity-upgraded doyle RCA 2026-07-03): cross-en"
  },
  {
    "pair_num": 9,
    "a": "REQ-ADAPTER-UPDATE-INPLACE",
    "b": "REQ-INST-14",
    "score": 5,
    "a_title": "Bug #18: spt adapter update fails at re-register with os error 2 because it deri",
    "b_title": "Resource advertisement (subnet resource registry): free-text blurb, both-authore"
  },
  {
    "pair_num": 10,
    "a": "REQ-ADAPTER-UPDATE-INPLACE",
    "b": "REQ-UPDATE-RUNNING-IMAGE-SURFACE",
    "score": 5,
    "a_title": "Bug #18: spt adapter update fails at re-register with os error 2 because it deri",
    "b_title": "`spt` surfaces the RUNNING broker image version beside the on-disk version so an"
  },
  {
    "pair_num": 11,
    "a": "REQ-ADAPTER-UPDATE-MESSAGE",
    "b": "REQ-UPDATE-RUNNING-IMAGE-SURFACE",
    "score": 5,
    "a_title": "An adapter manifest may declare `[update].message` \u2014 a plain (multi-line) human ",
    "b_title": "`spt` surfaces the RUNNING broker image version beside the on-disk version so an"
  },
  {
    "pair_num": 12,
    "a": "REQ-API-2",
    "b": "REQ-START-3",
    "score": 5,
    "a_title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
    "b_title": "spt-hosted startup: spawn-session then api bind (no file)"
  },
  {
    "pair_num": 13,
    "a": "REQ-ATTACH-IDEMPOTENT-REPLAY",
    "b": "REQ-HAZARD-ATTACH-WEDGE",
    "score": 20,
    "a_title": "The equal-generation lease rung is idempotent for the same connection. (ADR-0047",
    "b_title": "A legitimately dead PTY child (real crash/kill) + an undrained operator pump mus"
  },
  {
    "pair_num": 14,
    "a": "REQ-BIND-HONEST-SELF-STAMP",
    "b": "REQ-CONN-POISON-ATTRIBUTION",
    "score": 5,
    "a_title": "C2-ROOT (F028, doyle RCA 2026-07-03): the identity-attribution ROOT behind REQ-S",
    "b_title": "MSG-IDENTITY W6 / F-039 legs b-d (doyle W6 LOCK 2026-07-10, minted per amendment"
  },
  {
    "pair_num": 15,
    "a": "REQ-BIND-PSYCHE-CUSTODY-SQUAT-GUARD",
    "b": "REQ-HAZARD-PSYCHE-RESIDENCY-EXPECTATION",
    "score": 5,
    "a_title": "MSG-IDENTITY W1 / F-036 leg c (perri field RCA, doyle ACCEPTED defense-in-depth)",
    "b_title": "W3 (F030 hazard; paid-for: hall-bf churn ordinal 6491+ + adapter v0.13.2 bad-shi"
  },
  {
    "pair_num": 16,
    "a": "REQ-BRAIN-HASH-ONCE",
    "b": "REQ-SUBNET-STATUS-MODES",
    "score": 5,
    "a_title": "REGISTRY-LIFECYCLE W1 (ADR-0040 rider; dropped THE-FORKENING W4 rider escalated ",
    "b_title": "`spt subnet status <name>` states the subnet's three mode facts (surface ruled 2"
  },
  {
    "pair_num": 17,
    "a": "REQ-BRAIN-RESUME-NO-CONTROL-STEAL",
    "b": "REQ-HAZARD-RC-ATTACH-TRUTH",
    "score": 20,
    "a_title": "UPDATE-WEDGE round 2 (v0.30.4, doyle-ruled 2026-07-09 \u2014 field incident on the co",
    "b_title": "RC-RENDER-TRUTH W1 (KNOWN-HAZARDS 7.46 \u2014 umbrella conformance seam for ADR-0042)"
  },
  {
    "pair_num": 18,
    "a": "REQ-BRAIN-UPDATE-RESTART-CLEAN-CLOSE",
    "b": "REQ-HAZARD-HOSTED-LIVENESS-RECONCILE",
    "score": 20,
    "a_title": "SEED (DEFERRED, doyle 2026-07-09 \u2014 post-counter-54 root-hardening for UPDATE-WED",
    "b_title": "B2 KEYSTONE: a daemon-hosted (spt-hosted) endpoint's info.json status is RECONCI"
  },
  {
    "pair_num": 19,
    "a": "REQ-BROKER-ATTACH-JOURNAL-RESILIENT",
    "b": "REQ-UPDATE-RESTART-SAFE-SWAP",
    "score": 20,
    "a_title": "A poisoned EffectJournal mutex or a sick NetHost runtime must NOT permanently br",
    "b_title": "THE-FORKENING W4 (operator-grilled 2026-07-14; RETIRES findings-backlog seed #12"
  },
  {
    "pair_num": 20,
    "a": "REQ-CI-FREE-SPACE-PREFLIGHT",
    "b": "REQ-INFRA-1",
    "score": 5,
    "a_title": "Every CI job on a shared self-hosted runner FAILS LOUD AND FIRST on insufficient",
    "b_title": "GitHub issue tracking for v1; tangled.org as migration target"
  },
  {
    "pair_num": 21,
    "a": "REQ-CLI-1",
    "b": "REQ-ENDPOINT-LIST-NODE-IDENT",
    "score": 5,
    "a_title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/dige",
    "b_title": "Bug #5: spt endpoint list local section header is the hardcoded literal LOCAL (t"
  },
  {
    "pair_num": 22,
    "a": "REQ-CLI-4",
    "b": "REQ-ENDPOINT-LIST-MERGE-LOCAL",
    "score": 5,
    "a_title": "User-facing CLI output is human-readable: DIRECT-USER commands (e.g. adapter upd",
    "b_title": "`spt endpoint list` always merges this node's LOCAL (unadvertised) perches into "
  },
  {
    "pair_num": 23,
    "a": "REQ-CLI-HELP-MARKDOWN",
    "b": "REQ-CLI-JSON",
    "score": 15,
    "a_title": "`spt --help` (and every subcommand --help) renders the inline Markdown authored ",
    "b_title": "A global `--json` flag (clap global=true) honored by the READ/STATUS command set"
  },
  {
    "pair_num": 24,
    "a": "REQ-CLI-WIN-VT-ENABLE",
    "b": "REQ-RESIDENT-SERVICE",
    "score": 5,
    "a_title": "A7 (F028, operator, Win10 conhost): ANSI emitted without VT enable \u2192 garbled con",
    "b_title": "ResidentService substrate (ADR-0049, design ratified 2026-07-26): a daemon-super"
  },
  {
    "pair_num": 25,
    "a": "REQ-CONN-POISON-DIAL-SCOPE",
    "b": "REQ-HAZARD-SEEDMAP-CONNECT-UNBOUNDED",
    "score": 20,
    "a_title": "MSG-IDENTITY W6 / F-039 (deployah field-acceptance follow-up 2026-07-10, RCA-FIR",
    "b_title": "SEED (doyle-filed, 2026-07-05, from the REQ-HAZARD-DAEMON-STOP-BARRIER B2 fix): "
  },
  {
    "pair_num": 26,
    "a": "REQ-CONTROL-STAMP-CONVERGENCE",
    "b": "REQ-HAZARD-REDISPATCH-CONTROL-STEAL",
    "score": 5,
    "a_title": "REGISTRY-LIFECYCLE W2 (ADR-0041 decision 4, emphasys C3 P1): control-stamp write",
    "b_title": "REDISPATCH-TRUTH W1 (KNOWN-HAZARDS 7.41, hertz field RCA 2026-07-16 \u2014 4/5 endpoi"
  },
  {
    "pair_num": 27,
    "a": "REQ-CRC-SWAP-OLD-DISPLACE",
    "b": "REQ-HAZARD-SHAREDSEND-NO-BLOCKING-WRITE-UNDER-LOCK",
    "score": 5,
    "a_title": "C1 (F028, infra; memory crc-swap-old-litter-brick, RCA'd ENLYZEAM + confirmed sy",
    "b_title": "UPDATE-WEDGE round-4 (hertz RCA, root reproduced + source-pinned on Windows 2026"
  },
  {
    "pair_num": 28,
    "a": "REQ-DAEMON-4",
    "b": "REQ-ENSURE-DAEMON-STOP-INHIBIT",
    "score": 5,
    "a_title": "Honor every KNOWN-HAZARDS invariant",
    "b_title": "An operator stop outranks every implicit daemon ensure. (ADR-0047 decision 2, AM"
  },
  {
    "pair_num": 29,
    "a": "REQ-DAEMON-5",
    "b": "REQ-WAKE-RESUME-LEG",
    "score": 20,
    "a_title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon sta",
    "b_title": "A-2 (REMOTE-TRUTH triage \u00a7A-2 + ADR-0033): the daemon reconcile gains a WAKE-RES"
  },
  {
    "pair_num": 30,
    "a": "REQ-DAEMON-7",
    "b": "REQ-ENSURE-DAEMON-STOP-INHIBIT",
    "score": 5,
    "a_title": "`daemon run` is foreground-consistent on every platform: the invoking process IS",
    "b_title": "An operator stop outranks every implicit daemon ensure. (ADR-0047 decision 2, AM"
  },
  {
    "pair_num": 31,
    "a": "REQ-DAEMON-9",
    "b": "REQ-UPDATE-RUNNING-IMAGE-SURFACE",
    "score": 20,
    "a_title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start f",
    "b_title": "`spt` surfaces the RUNNING broker image version beside the on-disk version so an"
  },
  {
    "pair_num": 32,
    "a": "REQ-DAEMON-REFRESH",
    "b": "REQ-HAZARD-INJECT-CONTROL-COEXIST",
    "score": 20,
    "a_title": "THE-FORKENING W4 (operator add 2026-07-14): `spt daemon refresh` \u2014 restart the d",
    "b_title": "SPINE INVARIANT (v0.13.0 keystone): the broker must accept INJECTED keystrokes i"
  },
  {
    "pair_num": 33,
    "a": "REQ-DAEMON-SERVICE-INSTALL",
    "b": "REQ-INST-3",
    "score": 5,
    "a_title": "F-038 RIDER (flynn nice-to-have, QUEUED not activated): a documented OS-service ",
    "b_title": "Dormant (warm) / suspended (cold) resting states"
  },
  {
    "pair_num": 34,
    "a": "REQ-DIGEST-CURSOR",
    "b": "REQ-DIGEST-GENERATION-SUPERSEDE",
    "score": 15,
    "a_title": "`spt endpoint digest` gains incremental turn-end consumption (extends REQ-TERM-4",
    "b_title": "W3 (LIFECYCLE-TRUTH, digest projection truth \u2014 flynn filing spt-mobile d0aa3f4):"
  },
  {
    "pair_num": 35,
    "a": "REQ-DIGEST-GENERATION-SUPERSEDE",
    "b": "REQ-PSYCHE-STAMP-CLEAR-ANY-SUCCESS",
    "score": 5,
    "a_title": "W3 (LIFECYCLE-TRUTH, digest projection truth \u2014 flynn filing spt-mobile d0aa3f4):",
    "b_title": "W1 (LIFECYCLE-TRUTH): EVERY successful psyche operation clears psyche_host_error"
  },
  {
    "pair_num": 36,
    "a": "REQ-DOC-ECHO-COMMUNE-CONTRACT",
    "b": "REQ-RESUME-ADAPTER-FOLLOWS-SESSION",
    "score": 5,
    "a_title": "W6 (LIFECYCLE-TRUTH, docs \u2014 this gap cost a full outage night, priority slot): p",
    "b_title": "D-2 (REMOTE-TRUTH triage \u00a7D-2 + operator Q5 @c248afc): a resume-from-history res"
  },
  {
    "pair_num": 37,
    "a": "REQ-DOCS-RELEASE-ASSET",
    "b": "REQ-INSTALL-13",
    "score": 20,
    "a_title": "THE-FORKENING W2 (ADR-0036 \u00a74): every release ships a platform-independent docs ",
    "b_title": "Adapter add is non-destructive & idempotent-safe (F-018): `spt adapter add --git"
  },
  {
    "pair_num": 38,
    "a": "REQ-ECHO-DROP-DIR-RESOLVE",
    "b": "REQ-HAZARD-UNHOST-PSYCHE-REAP",
    "score": 5,
    "a_title": "W1 (LIFECYCLE-TRUTH): fire_echo resolves the manifest commune_dir through the SA",
    "b_title": "On un-host, the detached `{id}-psyche` HARNESS PROCESS is reaped \u2014 not just its "
  },
  {
    "pair_num": 39,
    "a": "REQ-ENDPOINT-AUTOSTART",
    "b": "REQ-ENDPOINT-ONLINE-TRUTH",
    "score": 15,
    "a_title": "MSG-IDENTITY W5 / F-038 (flynn operator-directed ask 2026-07-10, SPT-CORE-NEEDS ",
    "b_title": "REGISTRY-LIFECYCLE W2 (ADR-0041 decisions 1+2, emphasys C1 P0): ONLINE is earned"
  },
  {
    "pair_num": 40,
    "a": "REQ-ENDPOINT-CYCLE-HONEST",
    "b": "REQ-ENDPOINT-TEARDOWN-AUTHORITY",
    "score": 30,
    "a_title": "REGISTRY-LIFECYCLE W3 (ADR-0041 decision 6, operator deployah stop/run wedge): c",
    "b_title": "TEARDOWN-AUTHORITY W1 (ADR-0045; two hertz field RCAs 2026-07-19, doyle code-ver"
  },
  {
    "pair_num": 41,
    "a": "REQ-ENDPOINT-LIST-NODE-GROUPED",
    "b": "REQ-SHELL-PERCH-DIR",
    "score": 5,
    "a_title": "spt endpoint list is node-grouped over unique INSTANCES, not subnet-grouped over",
    "b_title": "A shell binary can mechanically resolve where its files land. (flynn spt-alchemy"
  },
  {
    "pair_num": 42,
    "a": "REQ-ENDPOINT-LIST-PALETTE",
    "b": "REQ-PICKER-3",
    "score": 5,
    "a_title": "Bugs #11 + #15 (display): spt endpoint list renders status as plain text while t",
    "b_title": "A self-owned subnet row reconciles its status to the LIVE roster: a Subnet-categ"
  },
  {
    "pair_num": 43,
    "a": "REQ-ENDPOINT-LIST-RENDER-POLISH",
    "b": "REQ-ENDPOINT-LIST-REST-FILTER",
    "score": 15,
    "a_title": "A6 (F028, operator, 4 asks): `spt endpoint list` render polish. (a) the 'Shared ",
    "b_title": "spt endpoint list hides SUSPENDED instances by default; a new --show-all flag re"
  },
  {
    "pair_num": 44,
    "a": "REQ-ENDPOINT-LIST-REST-FILTER",
    "b": "REQ-LIST-JSON-LIVENESS-PARITY",
    "score": 5,
    "a_title": "spt endpoint list hides SUSPENDED instances by default; a new --show-all flag re",
    "b_title": "GATEWAY-LIVENESS (flynn field bug 2026-07-09, RCA reader-divergence root): `spt "
  },
  {
    "pair_num": 45,
    "a": "REQ-ENDPOINT-ONLINE-TRUTH",
    "b": "REQ-ENDPOINT-STOP-OFFLINE",
    "score": 15,
    "a_title": "REGISTRY-LIFECYCLE W2 (ADR-0041 decisions 1+2, emphasys C1 P0): ONLINE is earned",
    "b_title": "H3: `spt endpoint stop <id>` marks the endpoint OFFLINE (alive=false), not merel"
  },
  {
    "pair_num": 46,
    "a": "REQ-ENDPOINT-STOP-OFFLINE",
    "b": "REQ-HAZARD-BOUNDARY-READY-STRAND",
    "score": 5,
    "a_title": "H3: `spt endpoint stop <id>` marks the endpoint OFFLINE (alive=false), not merel",
    "b_title": "C-2 (F029, SEAM-2 pinned \u2014 B6's SECOND HALF, the live-wake blocker; perri wakep9"
  },
  {
    "pair_num": 47,
    "a": "REQ-ENDPOINT-STOP-RESOLVES",
    "b": "REQ-LIVENESS-ORACLE-SOUND",
    "score": 5,
    "a_title": "`spt endpoint stop <id>` REFUSES an id that nothing on the node knows, instead o",
    "b_title": "TEARDOWN-AUTHORITY W2 (todlando W1 gate-round-0 finding, doyle-scoped from the L"
  },
  {
    "pair_num": 48,
    "a": "REQ-ENDPOINT-UNBOUND-ATTACH",
    "b": "REQ-RC-RECONNECT-TRUTH",
    "score": 5,
    "a_title": "An spt-hosted endpoint is ATTACHABLE between spawn and bind: gate the attach on ",
    "b_title": "W3 (LIFECYCLE-TRUTH): rc reconnect never auto-starts a daemon and never hangs fo"
  },
  {
    "pair_num": 49,
    "a": "REQ-EP-4",
    "b": "REQ-PSYCHE-LEGACY-RESIDENT-SWEEP",
    "score": 5,
    "a_title": "PresenceChannel broker endpoint (seam day-one)",
    "b_title": "W5 (F030; doyle+perri 2026-07-04): a dirty daemon upgrade from <=v0.24.0 strands"
  },
  {
    "pair_num": 50,
    "a": "REQ-ER-BRINGUP-ATTEMPT-BOUND",
    "b": "REQ-ER-CONTROLLER-BOUND-POSTURE",
    "score": 30,
    "a_title": "The engine-room bring-up gate is bounded by ONE shared failure ledger with expon",
    "b_title": "The engine room is empowered ONLY while a controller is attached, and losing tha"
  },
  {
    "pair_num": 51,
    "a": "REQ-ER-BRINGUP-TOTP-GATE",
    "b": "REQ-SUBNET-ADMIN-CODE-JOIN",
    "score": 5,
    "a_title": "Bringing the engine room online \u2014 and attaching a controller to it \u2014 requires a ",
    "b_title": "The join ceremony accepts EITHER subnet code: the SPAKE2 responder computes the "
  },
  {
    "pair_num": 52,
    "a": "REQ-ER-NOT-ADVERTISED",
    "b": "REQ-ER-RC-INTENT-LOCKS",
    "score": 30,
    "a_title": "The engine room is NOT registry-advertised by default, and is advertised only to",
    "b_title": "The engine room's attach surface is locked by INTENT: rc --view is denied even s"
  },
  {
    "pair_num": 53,
    "a": "REQ-GOSSIP-ADAPTER-PROJECTS",
    "b": "REQ-GOSSIP-CONTROLLED-ANY",
    "score": 15,
    "a_title": "#4: remote endpoint details (harness + project history) are gossiped, not faked.",
    "b_title": "Bug #3: a locally-controlled endpoint gossips controller_node = None so remote v"
  },
  {
    "pair_num": 54,
    "a": "REQ-HAZARD-ADAPTER-APPLY-SILENT-NOOP",
    "b": "REQ-HAZARD-COMMUNE-INGEST-BLACKHOLE",
    "score": 30,
    "a_title": "A DELEGATED live adapter apply MUST NEVER report success without performing the ",
    "b_title": "F-032 (perri field finding 2026-07-08, LEGACY-SPT-PARITY-GAP, data-loss): commun"
  },
  {
    "pair_num": 55,
    "a": "REQ-HAZARD-ADAPTER-PROFILE-STAMP-CLOBBER",
    "b": "REQ-UPDATE-ADAPTERS-VERB",
    "score": 5,
    "a_title": "A-4 (F029, operator regression): the picker/confirm views drop an endpoint's ada",
    "b_title": "THE-FORKENING W4 (operator-grilled 2026-07-14): `spt update adapters [<a>[,<b>.."
  },
  {
    "pair_num": 56,
    "a": "REQ-HAZARD-ATTACH-WEDGE",
    "b": "REQ-PRESENCE-LIVENESS-TRUTH",
    "score": 5,
    "a_title": "A legitimately dead PTY child (real crash/kill) + an undrained operator pump mus",
    "b_title": "A node's gossiped per-endpoint registry Status reflects real liveness, so a remo"
  },
  {
    "pair_num": 57,
    "a": "REQ-HAZARD-BIND-CWD-UNSET",
    "b": "REQ-STORE-CONTEXT-BRANCH-FILL",
    "score": 5,
    "a_title": "A bound endpoint's `info.cwd` is SET at bind so a freshly-created perch appears ",
    "b_title": "#1 SI-1 (RCA, operator-promoted 2026-07-03): the context store (tracked/.seed.gi"
  },
  {
    "pair_num": 58,
    "a": "REQ-HAZARD-BOUNDARY-READY-STRAND",
    "b": "REQ-HAZARD-SESSION-PIN-WEDGE",
    "score": 30,
    "a_title": "C-2 (F029, SEAM-2 pinned \u2014 B6's SECOND HALF, the live-wake blocker; perri wakep9",
    "b_title": "A perch PINNED to a DEAD session-id self-heals instead of wedging forever. authe"
  },
  {
    "pair_num": 59,
    "a": "REQ-HAZARD-BRAIN-RESTART-LIFECYCLE-REHYDRATE",
    "b": "REQ-HAZARD-HOSTED-LIVENESS-RECONCILE",
    "score": 15,
    "a_title": "B4 (deepest): a bare brain restart (broker survives) REHYDRATES the live-agent l",
    "b_title": "B2 KEYSTONE: a daemon-hosted (spt-hosted) endpoint's info.json status is RECONCI"
  },
  {
    "pair_num": 60,
    "a": "REQ-HAZARD-BRAIN-RESTART-LIFECYCLE-REHYDRATE",
    "b": "REQ-TRANSLATE-BINARY-LIVENESS-DECAY",
    "score": 5,
    "a_title": "B4 (deepest): a bare brain restart (broker survives) REHYDRATES the live-agent l",
    "b_title": "SUPERSEDED by REQ-TRANSLATE-COMMIT-MISS-TOLERANCE (F029 C-1). B6 (F028, perri F-"
  },
  {
    "pair_num": 61,
    "a": "REQ-HAZARD-BROKER-FLOOR-LOCK-POISON",
    "b": "REQ-HAZARD-INFO-RMW-LOST-UPDATE",
    "score": 30,
    "a_title": "B-1 (REMOTE-TRUTH triage \u00a7B-1, PIVOTED @e5eb99a): NO bare `.lock().unwrap()` on ",
    "b_title": "Concurrent info.json writers must serialize under the per-perch lock (5.16): an "
  },
  {
    "pair_num": 62,
    "a": "REQ-HAZARD-BROKER-SEED-WIRE-SKEW",
    "b": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
    "score": 15,
    "a_title": "A daemon-state wire-format change (e.g. the v0.9.0 adapter-agnostic Seed) does N",
    "b_title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents:"
  },
  {
    "pair_num": 63,
    "a": "REQ-HAZARD-CASCADE-WIPE-GUARD",
    "b": "REQ-TEARDOWN-UNCOOPERATIVE-HOST",
    "score": 5,
    "a_title": "No hard-delete of a parent hosting non-empty children (6.3)",
    "b_title": "TEARDOWN-AUTHORITY W1 (ADR-0045 decision 4): the teardown kill NEVER depends on "
  },
  {
    "pair_num": 64,
    "a": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
    "b": "REQ-MESH-6",
    "score": 5,
    "a_title": "A surfaced concurrent context pair is durably preserved (both versions, tracked ",
    "b_title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/ser"
  },
  {
    "pair_num": 65,
    "a": "REQ-HAZARD-CONTROL-STAMP-CONVERGENCE",
    "b": "REQ-PRESENCE-CONTROL-REAP-ON-EXIT",
    "score": 20,
    "a_title": "Control/viewer stamps must CONVERGE to broker session-table truth for every sess",
    "b_title": "B3 (F028, hall-b diagnosis + deferred #11 seed; BROADENED perri F-b CONFIRMED): "
  },
  {
    "pair_num": 66,
    "a": "REQ-HAZARD-CONTROLLER-GAP-RESUME",
    "b": "REQ-HAZARD-VIEWER-STARVE-UNDER-CONTROLLER-BACKPRESSURE",
    "score": 30,
    "a_title": "A serving CONTROLLER whose serve-brain hits a b4 drop-don't-block FORWARD output",
    "b_title": "A SLOW controller must not starve a concurrent `rc --view` VIEWER. W1 (REQ-HAZAR"
  },
  {
    "pair_num": 67,
    "a": "REQ-HAZARD-CONTROLLER-RETAKE-FLOOR",
    "b": "REQ-HAZARD-INJECT-CONTROL-COEXIST",
    "score": 30,
    "a_title": "`become_controller` should STRUCTURALLY refuse a controller re-take whose `from_",
    "b_title": "SPINE INVARIANT (v0.13.0 keystone): the broker must accept INJECTED keystrokes i"
  },
  {
    "pair_num": 68,
    "a": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
    "b": "REQ-HAZARD-DAEMON-STOP-REAP",
    "score": 15,
    "a_title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon ",
    "b_title": "Breap: `spt daemon stop` REAPS the spt-hosted children it spawned \u2014 no orphaned "
  },
  {
    "pair_num": 69,
    "a": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
    "b": "REQ-TRANSLATE-BINARY-LIVENESS-DECAY",
    "score": 5,
    "a_title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon ",
    "b_title": "SUPERSEDED by REQ-TRANSLATE-COMMIT-MISS-TOLERANCE (F029 C-1). B6 (F028, perri F-"
  },
  {
    "pair_num": 70,
    "a": "REQ-HAZARD-DAEMON-STOP-BARRIER",
    "b": "REQ-HAZARD-TRANSLATE-FAULT-PERMANENT-DEATH",
    "score": 15,
    "a_title": "B3: `spt daemon stop` then an immediate `spt daemon start` does NOT race \u2014 stop ",
    "b_title": "C-1 hazard (F029; paid-for: B6 + three-version checkpoint-wake breakage): a REAL"
  },
  {
    "pair_num": 71,
    "a": "REQ-HAZARD-DEFERRED-MANIFEST",
    "b": "REQ-INST-1",
    "score": 5,
    "a_title": "A pointer-mode (delegated / GhReleaseManaged) adapter whose binary/manifest is n",
    "b_title": "endpoint ID vs instance split (adapter-agnostic ID)"
  },
  {
    "pair_num": 72,
    "a": "REQ-HAZARD-DELIVERY-STARVATION",
    "b": "REQ-RELAY-NO-BUSY-DELIVER",
    "score": 20,
    "a_title": "A NON-DEFERRED message that has REACHED a node's spool (WAN-arrived or locally s",
    "b_title": "MSG-IDENTITY W4 (operator self-send probe 2026-07-09, companion leg): the relay/"
  },
  {
    "pair_num": 73,
    "a": "REQ-HAZARD-DRIVEN-BY-IDLE-REMOTE-EVICT",
    "b": "REQ-LIST-JSON-LIVENESS-PARITY",
    "score": 5,
    "a_title": "An spt-hosted endpoint driven by a REMOTE controller whose remote is gone but wh",
    "b_title": "GATEWAY-LIVENESS (flynn field bug 2026-07-09, RCA reader-divergence root): `spt "
  },
  {
    "pair_num": 74,
    "a": "REQ-HAZARD-EBUSY-RENAME",
    "b": "REQ-HAZARD-INFO-JSON-TORN-READ",
    "score": 15,
    "a_title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
    "b_title": "State-file reads tolerate concurrent writes (1.2)"
  },
  {
    "pair_num": 75,
    "a": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
    "b": "REQ-HAZARD-SUDO-SECURE-PATH",
    "score": 15,
    "a_title": "The daemon always runs unelevated in the invoking user's universe, regardless of",
    "b_title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-l"
  },
  {
    "pair_num": 76,
    "a": "REQ-HAZARD-ENDPOINT-RUN-ATTACH-OUTPUT",
    "b": "REQ-PSYCHE-ROLE-OPTIONAL-SKIP",
    "score": 5,
    "a_title": "A clean `spt rc` attach to a LIVE spt-hosted (`endpoint run`) harness must DELIV",
    "b_title": "W1 (LIFECYCLE-TRUTH): a manifest with NO [session.echo_commune] role SKIPS commu"
  },
  {
    "pair_num": 77,
    "a": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
    "b": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
    "score": 15,
    "a_title": "Envelope decode order, ampersand decoded last (4.1)",
    "b_title": "Two-slice envelope parser is panic-free and tolerant (4.2)"
  },
  {
    "pair_num": 78,
    "a": "REQ-HAZARD-HOSTED-LIVENESS-RECONCILE",
    "b": "REQ-PICKER-3",
    "score": 5,
    "a_title": "B2 KEYSTONE: a daemon-hosted (spt-hosted) endpoint's info.json status is RECONCI",
    "b_title": "A self-owned subnet row reconciles its status to the LIVE roster: a Subnet-categ"
  },
  {
    "pair_num": 79,
    "a": "REQ-HAZARD-INBOX-NO-DOUBLE",
    "b": "REQ-MSG-DELIVERY-AXES",
    "score": 5,
    "a_title": "No double-delivery via legacy inbox (4.5)",
    "b_title": "Activity-gated inbound delivery + per-message send control as THREE ORTHOGONAL A"
  },
  {
    "pair_num": 80,
    "a": "REQ-HAZARD-INJECT-CONTROL-COEXIST",
    "b": "REQ-HAZARD-PTY-INPUT-WRITER-WEDGE",
    "score": 30,
    "a_title": "SPINE INVARIANT (v0.13.0 keystone): the broker must accept INJECTED keystrokes i",
    "b_title": "Pasting into an `spt rc` session WEDGES the broker \u2014 after a paste the operator "
  },
  {
    "pair_num": 81,
    "a": "REQ-HAZARD-INPUT-ACK-BACKPRESSURE",
    "b": "REQ-HAZARD-VIEWER-RING-ROLL-SNAP",
    "score": 30,
    "a_title": "A FLOOD of operator input on one brain\u2194broker connection deadlocks the broker PE",
    "b_title": "A read-only rc --view VIEWER whose serving brain falls behind the live ring unde"
  },
  {
    "pair_num": 82,
    "a": "REQ-HAZARD-LIVEHOST-BOOT-LIVENESS-GATE",
    "b": "REQ-HAZARD-THRASH-GUARD-BLIND",
    "score": 15,
    "a_title": "B5: `spt daemon start` does NOT revive phantom Psyches for dead-but-online-latch",
    "b_title": "W3 (F030 hazard; paid-for: evidence #6, hall-bf ~12/min re-host NEVER tripped th"
  },
  {
    "pair_num": 83,
    "a": "REQ-HAZARD-LIVEHOST-NONRESIDENT",
    "b": "REQ-OPID-MINTER-NAMESPACE",
    "score": 5,
    "a_title": "A daemon-hosted Psyche that spawns then EXITS IMMEDIATELY is a host failure, sur",
    "b_title": "A-4a (REMOTE-TRUTH triage \u00a7A + ADR-0034 Decision 1 + Amendments 1 & 2): the brok"
  },
  {
    "pair_num": 84,
    "a": "REQ-HAZARD-PAIR-SEED-ROTATION",
    "b": "REQ-SUBNET-ADMIN-CODE-JOIN",
    "score": 5,
    "a_title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed can",
    "b_title": "The join ceremony accepts EITHER subnet code: the SPAKE2 responder computes the "
  },
  {
    "pair_num": 85,
    "a": "REQ-HAZARD-PSYCHE-RESIDENCY-EXPECTATION",
    "b": "REQ-PSYCHE-CRASHLOOP-BACKOFF-SHUTDOWN",
    "score": 5,
    "a_title": "W3 (F030 hazard; paid-for: hall-bf churn ordinal 6491+ + adapter v0.13.2 bad-shi",
    "b_title": "C3 (F028, perri F-h): psyche wrapper crash-loop has no backoff, and `endpoint sh"
  },
  {
    "pair_num": 86,
    "a": "REQ-HAZARD-RC-ATTACH-FAILFAST",
    "b": "REQ-HAZARD-REDISPATCH-CONTROL-STEAL",
    "score": 30,
    "a_title": "B1: `spt rc <id>` to a DEAD or non-streaming session fails fast with a clear mes",
    "b_title": "REDISPATCH-TRUTH W1 (KNOWN-HAZARDS 7.41, hertz field RCA 2026-07-16 \u2014 4/5 endpoi"
  },
  {
    "pair_num": 87,
    "a": "REQ-HAZARD-RC-INPUT-KEY-ENCODING",
    "b": "REQ-SUBNET-ADMIN-RESURFACE",
    "score": 5,
    "a_title": "An `spt rc` session forwards the Backspace key as the VT DEL byte (0x7f), so the",
    "b_title": "Rotation re-surfaces the NEW admin key exactly once, to the human who just prove"
  },
  {
    "pair_num": 88,
    "a": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
    "b": "REQ-HAZARD-TEARDOWN-DEADEND",
    "score": 15,
    "a_title": "Registry rows must decay (no immortal rows) via TWO triggers: (a) NODE-SILENCE \u2014",
    "b_title": "TEARDOWN-AUTHORITY W1 HAZARD (ADR-0045 decision 8; hertz RCA 2 \u2014 hit doyle's OWN"
  },
  {
    "pair_num": 89,
    "a": "REQ-HAZARD-RING-PERCH-ADOPTION",
    "b": "REQ-HAZARD-TEARDOWN-DEADEND",
    "score": 15,
    "a_title": "A ring NEVER adopts \u2014 and therefore never deletes \u2014 a perch directory it did not",
    "b_title": "TEARDOWN-AUTHORITY W1 HAZARD (ADR-0045 decision 8; hertz RCA 2 \u2014 hit doyle's OWN"
  },
  {
    "pair_num": 90,
    "a": "REQ-HAZARD-SESSION-PIN-WEDGE",
    "b": "REQ-HAZARD-VIEWER-RING-ROLL-SNAP",
    "score": 15,
    "a_title": "A perch PINNED to a DEAD session-id self-heals instead of wedging forever. authe",
    "b_title": "A read-only rc --view VIEWER whose serving brain falls behind the live ring unde"
  },
  {
    "pair_num": 91,
    "a": "REQ-HAZARD-SHAREDSEND-NO-BLOCKING-WRITE-UNDER-LOCK",
    "b": "REQ-MSG-INJECT-LEG-DROP-VISIBLE",
    "score": 20,
    "a_title": "UPDATE-WEDGE round-4 (hertz RCA, root reproduced + source-pinned on Windows 2026",
    "b_title": "SEED (inactive \u2014 observability): a silently-dropped delivery leg must be DISTING"
  },
  {
    "pair_num": 92,
    "a": "REQ-HAZARD-SINGLE-PATH-SOURCE",
    "b": "REQ-REGISTRY-REPLAY-BOUNDED",
    "score": 5,
    "a_title": "Single path/registry source of truth; no layout ambiguity (6.1)",
    "b_title": "REGISTRY-LIFECYCLE W1 (ADR-0040 decision 4, hertz defect B leg 4, defense-in-dep"
  },
  {
    "pair_num": 93,
    "a": "REQ-HAZARD-TEMPLATE-ARGV-FILL",
    "b": "REQ-HOST-RUN-1",
    "score": 5,
    "a_title": "Command-template substitution fills argv ELEMENTS, not a re-tokenized string: sp",
    "b_title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.sel"
  },
  {
    "pair_num": 94,
    "a": "REQ-HAZARD-UNHOST-PSYCHE-REAP",
    "b": "REQ-HAZARD-WORKER-PATH",
    "score": 15,
    "a_title": "On un-host, the detached `{id}-psyche` HARNESS PROCESS is reaped \u2014 not just its ",
    "b_title": "Single source of truth for Worker/Psyche perch location (1.5)"
  },
  {
    "pair_num": 95,
    "a": "REQ-HAZARD-VIEWER-CLOSE-DETACH",
    "b": "REQ-RC-RECONNECT",
    "score": 20,
    "a_title": "A VIEW is independent from the endpoint: closing the tab/window where `spt endpo",
    "b_title": "B-3 (REMOTE-TRUTH triage \u00a7B-3, the operator-asked UX): the rc attach viewport RE"
  },
  {
    "pair_num": 96,
    "a": "REQ-HAZARD-WMI-DAEMON-WINDOW",
    "b": "REQ-PICKER-ADAPTER-DESCRIPTION",
    "score": 5,
    "a_title": "`spt daemon start` launches the daemon with NO visible console window. REGRESSIO",
    "b_title": "The Create-new adapter-CHOICE screen of `spt endpoint run`'s picker shows a righ"
  },
  {
    "pair_num": 97,
    "a": "REQ-HOST-RUN-1",
    "b": "REQ-PSYCHE-EPHEMERAL-DRIVER",
    "score": 5,
    "a_title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.sel",
    "b_title": "W1 (F030, design \u00a73): each psyche-relevant event runs exactly ONE bounded per-ev"
  },
  {
    "pair_num": 98,
    "a": "REQ-IDLE-PARKED-DELIVERY",
    "b": "REQ-RUN-PICKER",
    "score": 5,
    "a_title": "W5 (LIFECYCLE-TRUTH): a message QUEUED to an ALREADY-idle spt-hosted endpoint is",
    "b_title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no"
  },
  {
    "pair_num": 99,
    "a": "REQ-INST-10",
    "b": "REQ-RUN-SHORTCUT",
    "score": 5,
    "a_title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
    "b_title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4)"
  },
  {
    "pair_num": 100,
    "a": "REQ-INST-13",
    "b": "REQ-INSTALL-13",
    "score": 5,
    "a_title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
    "b_title": "Adapter add is non-destructive & idempotent-safe (F-018): `spt adapter add --git"
  },
  {
    "pair_num": 101,
    "a": "REQ-INST-2",
    "b": "REQ-MIGRATE-1",
    "score": 5,
    "a_title": "Per-node files, synced Psyche mind",
    "b_title": "Auto-detect and migrate a legacy claude_skill_owl install"
  },
  {
    "pair_num": 102,
    "a": "REQ-INST-4",
    "b": "REQ-RUN-PICKER",
    "score": 5,
    "a_title": "active to dormant/suspended fires a transition echo commune",
    "b_title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no"
  },
  {
    "pair_num": 103,
    "a": "REQ-INST-7",
    "b": "REQ-RELEASE-MUSL-ARTIFACT",
    "score": 5,
    "a_title": "Subnet registry + bare-id resolution policy",
    "b_title": "MUSL-TIER W3 (CI build + signed release + update-set publish + self-update E2E):"
  },
  {
    "pair_num": 104,
    "a": "REQ-INSTALL-1",
    "b": "REQ-UPDATE-FETCH-APPLY-FLAG",
    "score": 5,
    "a_title": "Two install paths (harness-bootstrapped calls into standalone); OS-service regis",
    "b_title": "`spt update fetch --apply` is the one-shot get-to-latest: fetch, then INSTALL th"
  },
  {
    "pair_num": 105,
    "a": "REQ-INSTALL-13",
    "b": "REQ-UPDATE-FETCH-CURRENT-UX",
    "score": 5,
    "a_title": "Adapter add is non-destructive & idempotent-safe (F-018): `spt adapter add --git",
    "b_title": "`spt update fetch` reports an already-staged / already-applied latest as an ACTI"
  },
  {
    "pair_num": 106,
    "a": "REQ-INSTALL-6",
    "b": "REQ-UPDATE-FETCH-CURRENT-UX",
    "score": 5,
    "a_title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachabl",
    "b_title": "`spt update fetch` reports an already-staged / already-applied latest as an ACTI"
  },
  {
    "pair_num": 107,
    "a": "REQ-JOIN-DEFERRED-ELEVATION",
    "b": "REQ-SUBNET-4",
    "score": 5,
    "a_title": "W2 (JOIN-TRUTH, operator UX ruling verbatim): 'if --code was not supplied, don't",
    "b_title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-"
  },
  {
    "pair_num": 108,
    "a": "REQ-LISTEN-PRESERVES-HOSTING-TOPOLOGY",
    "b": "REQ-SOFT-END-PRESERVES-LIVE-LISTENER",
    "score": 20,
    "a_title": "`api listen` must not ASSERT hosting topology it does not know. (hertz v0.39.0 f",
    "b_title": "F-2 (REMOTE-TRUTH triage \u00a7F-2, field-repro'd hall-bf 2026-07-04): a /clear must "
  },
  {
    "pair_num": 109,
    "a": "REQ-LIVE-AGENT-NO-INJECT-DELIVERY",
    "b": "REQ-STREAM-OPENER-DURABLE",
    "score": 20,
    "a_title": "F-033 RE-SCOPED (doyle re-ruling 2026-07-10 after the #82 gate falsified the ori",
    "b_title": "REDISPATCH-TRUTH W1 (ADR-0038, hertz fix B): stream classification identity is R"
  },
  {
    "pair_num": 110,
    "a": "REQ-MANIFEST-4",
    "b": "REQ-MANIFEST-SUBST",
    "score": 15,
    "a_title": "Keyword hints \u2014 [[hints]] {keywords (literal/regex), text}; spt api hint --sessi",
    "b_title": "Manifest substitution primitives for resolve-not-execute (ADR-0029, supersedes a"
  },
  {
    "pair_num": 111,
    "a": "REQ-MANIFEST-SUBST",
    "b": "REQ-PROJECT-INDEX-STORE",
    "score": 5,
    "a_title": "Manifest substitution primitives for resolve-not-execute (ADR-0029, supersedes a",
    "b_title": "PROJECT-INDEX W1 (ADR-0037, RCA .claude/reports/2026-07-10-hertz-session/03): sp"
  },
  {
    "pair_num": 112,
    "a": "REQ-MSG-3",
    "b": "REQ-RC-DISPLAY-SOLE-WRITER",
    "score": 5,
    "a_title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) ",
    "b_title": "TEARDOWN-AUTHORITY W5 (hertz RCA 3 bug 1, 2026-07-19 \u2014 REPRODUCED on 0.38.1 CLI "
  },
  {
    "pair_num": 113,
    "a": "REQ-MSG-DELIVERY-AXES",
    "b": "REQ-SEND-SPT-HOSTED",
    "score": 20,
    "a_title": "Activity-gated inbound delivery + per-message send control as THREE ORTHOGONAL A",
    "b_title": "An inbound `spt send` is DELIVERED to an spt-hosted endpoint (brought up via `sp"
  },
  {
    "pair_num": 114,
    "a": "REQ-MSG-SENDER-STAMP",
    "b": "REQ-SEC-1",
    "score": 5,
    "a_title": "Daemon-stamped authenticated sender: a NEW additive `WanMessage.sender_proven` f",
    "b_title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbou"
  },
  {
    "pair_num": 115,
    "a": "REQ-NOTIF-COALESCE",
    "b": "REQ-NOTIF-UPDATE-ROW-VERSION-RETIRE",
    "score": 15,
    "a_title": "Coalesce-key supersession: producer-stamped key REQUIRED in namespaced form <own",
    "b_title": "An update-available notif row minted by a node running PRE-0.40.0 spt is retired"
  },
  {
    "pair_num": 116,
    "a": "REQ-ONEWAY-STREAM-TERMINAL",
    "b": "REQ-STREAMLOG-SUBSCRIBER-DISCIPLINE",
    "score": 5,
    "a_title": "REGISTRY-LIFECYCLE W1 (ADR-0040 decision 1, hertz defect B leg 1): a one-way fir",
    "b_title": "REDISPATCH-STALL W1 (ADR-0038 Amendment, fixes 2+3+4): StreamLog subscriber writ"
  },
  {
    "pair_num": 117,
    "a": "REQ-PEER-PUMP-CHURN-STALL",
    "b": "REQ-PUMP-PEER-ISOLATION",
    "score": 20,
    "a_title": "B5 (F028, perri F-a; DEFECT daemon, OBSERVED-ONCE, HIGH): the peer pump STALLS u",
    "b_title": "PUMP-TRUTH W2 (architectural, operator ruling 2026-07-08): one peer must NOT blo"
  },
  {
    "pair_num": 118,
    "a": "REQ-PICKER-1",
    "b": "REQ-WORKER-PICKER-EXCLUDED",
    "score": 5,
    "a_title": "The picker renders a FOUR-state endpoint status (extending the W2 online/offline",
    "b_title": "V-2 (WORKER-TRUTH triage, operator rider): non-drivable endpoint classes never r"
  },
  {
    "pair_num": 119,
    "a": "REQ-PICKER-3",
    "b": "REQ-PICKER-RESUME-CONTEXT-PANEL",
    "score": 15,
    "a_title": "A self-owned subnet row reconciles its status to the LIVE roster: a Subnet-categ",
    "b_title": "#6: the 'Resume from history' view keeps the endpoint's 'Confirm selection' top "
  },
  {
    "pair_num": 120,
    "a": "REQ-PICKER-5",
    "b": "REQ-PICKER-FORK-LABEL-CWD",
    "score": 15,
    "a_title": "`spt endpoint list` (bare/subnet view) renders an ALIGNED table with canonical n",
    "b_title": "B-3 (F029, operator): the confirm-panel `Fork endpoint` option label is static a"
  },
  {
    "pair_num": 121,
    "a": "REQ-PICKER-BACK-NAV",
    "b": "REQ-PICKER-HISTORY-FRESH",
    "score": 15,
    "a_title": "C-4 (REMOTE-TRUTH triage \u00a7C-4 #9): Backspace is a back() ALIAS across the picker",
    "b_title": "The `spt endpoint run` picker shows project history for FRESH endpoints (operato"
  },
  {
    "pair_num": 122,
    "a": "REQ-PICKER-CHANGE-ADAPTER-FLOW",
    "b": "REQ-SEAM-UPDATE",
    "score": 20,
    "a_title": "B-2 (F029, operator; LARGEST item): `ConfirmOption::ChangeAdapter` wrongly route",
    "b_title": "Adapter-update avenue (file-pull / delegated command)"
  },
  {
    "pair_num": 123,
    "a": "REQ-PICKER-CONTROL-LINE-STATUS-GATE",
    "b": "REQ-SUBNET-DISPLAY-PARITY",
    "score": 5,
    "a_title": "A2 (F028, operator #2): the picker confirm-panel 'controlled locally' line rende",
    "b_title": "The `spt endpoint run` picker renders endpoint state IDENTICALLY for local and r"
  },
  {
    "pair_num": 124,
    "a": "REQ-PICKER-HISTORY-FRESH",
    "b": "REQ-PICKER-ONLINE-ACTION",
    "score": 25,
    "a_title": "The `spt endpoint run` picker shows project history for FRESH endpoints (operato",
    "b_title": "The `spt endpoint run` picker shows the correct action for an ALREADY-ONLINE end"
  },
  {
    "pair_num": 125,
    "a": "REQ-PICKER-OFFLINE-NO-VIEW",
    "b": "REQ-PICKER-PROJECT-HISTORY-TRUTH",
    "score": 15,
    "a_title": "A3 (F028, operator #3): 'View now (read-only)' is offered for OFFLINE endpoints.",
    "b_title": "#1: picker project history is derived from sessions.log cwds (newest->oldest, de"
  },
  {
    "pair_num": 126,
    "a": "REQ-PICKER-PROJECT-HISTORY-TRUTH",
    "b": "REQ-PICKER-RESUME-CONTEXT-PANEL",
    "score": 15,
    "a_title": "#1: picker project history is derived from sessions.log cwds (newest->oldest, de",
    "b_title": "#6: the 'Resume from history' view keeps the endpoint's 'Confirm selection' top "
  },
  {
    "pair_num": 127,
    "a": "REQ-PICKER-RESUME-CONTEXT-PANEL",
    "b": "REQ-SESSION-RESUME-TEMPLATE",
    "score": 5,
    "a_title": "#6: the 'Resume from history' view keeps the endpoint's 'Confirm selection' top ",
    "b_title": "Resuming an endpoint session that HAS conversation history brings up a BLANK ses"
  },
  {
    "pair_num": 128,
    "a": "REQ-PRESENCE-CONTROL-REAP-ON-EXIT",
    "b": "REQ-SESSIONS-LOG-ENDPOINT-ATTRIBUTION",
    "score": 5,
    "a_title": "B3 (F028, hall-b diagnosis + deferred #11 seed; BROADENED perri F-b CONFIRMED): ",
    "b_title": "C2 (F028, infra; ROOT-CAUSED + severity-upgraded doyle RCA 2026-07-03): cross-en"
  },
  {
    "pair_num": 129,
    "a": "REQ-PSYCHE-CONTEXT-FILE-INDIRECTION",
    "b": "REQ-PSYCHE-STAMP-CLEAR-ANY-SUCCESS",
    "score": 15,
    "a_title": "W4 (F030; doyle Q2 ruling + perri file-always freeze, 2026-07-04): the composed ",
    "b_title": "W1 (LIFECYCLE-TRUTH): EVERY successful psyche operation clears psyche_host_error"
  },
  {
    "pair_num": 130,
    "a": "REQ-PSYCHE-LEGACY-RESIDENT-SWEEP",
    "b": "REQ-PUMP-PEER-ISOLATION",
    "score": 5,
    "a_title": "W5 (F030; doyle+perri 2026-07-04): a dirty daemon upgrade from <=v0.24.0 strands",
    "b_title": "PUMP-TRUTH W2 (architectural, operator ruling 2026-07-08): one peer must NOT blo"
  },
  {
    "pair_num": 131,
    "a": "REQ-PSYCHE-ROLE-OPTIONAL-SKIP",
    "b": "REQ-WORKER-SID-SYMMETRIC-AUTH",
    "score": 5,
    "a_title": "W1 (LIFECYCLE-TRUTH): a manifest with NO [session.echo_commune] role SKIPS commu",
    "b_title": "W-2 (WORKER-TRUTH triage, operator-ruled 2026-07-06): worker verbs go sid-symmet"
  },
  {
    "pair_num": 132,
    "a": "REQ-PUMP-DIAL-FASTFAIL",
    "b": "REQ-PUMP-STAGE-TRUTH",
    "score": 15,
    "a_title": "PUMP-TRUTH W1 (RE-SCOPED post round-2 empirical lock \u2014 the DIAL is EXONERATED, h",
    "b_title": "MESH-RECOVERY W1 (ADR-0039, RCA wave 3 \u2014 the acceptance surface, same contract):"
  },
  {
    "pair_num": 133,
    "a": "REQ-RC-DISPLAY-SOLE-WRITER",
    "b": "REQ-RUN-EMPTY-CREATE",
    "score": 5,
    "a_title": "TEARDOWN-AUTHORITY W5 (hertz RCA 3 bug 1, 2026-07-19 \u2014 REPRODUCED on 0.38.1 CLI ",
    "b_title": "`spt endpoint run` / bare `spt` routes a TOTALLY-EMPTY scope straight to the end"
  },
  {
    "pair_num": 134,
    "a": "REQ-RC-RECONNECT",
    "b": "REQ-RESUME-ROW-PER-PROJECT",
    "score": 5,
    "a_title": "B-3 (REMOTE-TRUTH triage \u00a7B-3, the operator-asked UX): the rc attach viewport RE",
    "b_title": "A5 (F028, operator #6): resume-from-history labels EVERY session with the endpoi"
  },
  {
    "pair_num": 135,
    "a": "REQ-REDISPATCH-FINISHED-RETIRE",
    "b": "REQ-STREAM-LEASE-CLASSES",
    "score": 20,
    "a_title": "REDISPATCH-TRUTH W1 (ADR-0038, hertz fix A): finished/terminal stream rows are R",
    "b_title": "REGISTRY-LIFECYCLE W2 (ADR-0040 decision 6 + ADR-0041, emphasys C2 P0): streams "
  },
  {
    "pair_num": 136,
    "a": "REQ-RELEASE-CHANNEL-PRIVATE",
    "b": "REQ-UPDATE-FINISH-COMMUNE-FLUSH",
    "score": 5,
    "a_title": "THE-FORKENING W2 (ADR-0036 \u00a72): the publish pipeline targets `BigscreenVR/spt-bs",
    "b_title": "DEFERRED (post-LIFECYCLE-TRUTH, operator-ruled 2026-07-07 \u2014 mint now, impl a FUT"
  },
  {
    "pair_num": 137,
    "a": "REQ-RESUME-ADAPTER-FOLLOWS-SESSION",
    "b": "REQ-UPDATE-APPLY-RESTART-NOTICE",
    "score": 5,
    "a_title": "D-2 (REMOTE-TRUTH triage \u00a7D-2 + operator Q5 @c248afc): a resume-from-history res",
    "b_title": "`spt update apply` prints a LOUD restart-required notice whenever the surviving "
  },
  {
    "pair_num": 138,
    "a": "REQ-RESUME-HARNESS-SESSION-ID",
    "b": "REQ-WHOAMI-IDENTITY-ONLY",
    "score": 5,
    "a_title": "B2 (F028, hall-b diagnosis, verified 0.22.0): respawn/`--resume` feeds the SPT s",
    "b_title": "PROJECT-INDEX W1 (F-040, perri filing claude-spt docs/SPT-CORE-FINDINGS.md @d775"
  },
  {
    "pair_num": 139,
    "a": "REQ-RUN-PICKER",
    "b": "REQ-RUN-SHORTCUT",
    "score": 30,
    "a_title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no",
    "b_title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4)"
  },
  {
    "pair_num": 140,
    "a": "REQ-SEAM-SPAWN",
    "b": "REQ-SELF-ID-TRUST-INJECTED-ENV",
    "score": 5,
    "a_title": "spawn-session seam",
    "b_title": "DEFERRED to a followup vX.X.n sprint (post-LIFECYCLE-TRUTH, operator-ruled 2026-"
  },
  {
    "pair_num": 141,
    "a": "REQ-SESSION-ADAPTER-RECORDED",
    "b": "REQ-START-2",
    "score": 5,
    "a_title": "D-2 (REMOTE-TRUTH triage \u00a7D-2 + operator Q5 @c248afc): the session ledger record",
    "b_title": "Harness-hosted startup: api seed then listen"
  },
  {
    "pair_num": 142,
    "a": "REQ-SOFT-END-PRESERVES-LIVE-LISTENER",
    "b": "REQ-WHOAMI-1",
    "score": 20,
    "a_title": "F-2 (REMOTE-TRUTH triage \u00a7F-2, field-repro'd hall-bf 2026-07-04): a /clear must ",
    "b_title": "The `endpoint list` SELF pin carries the Self endpoint's authored `endpoint desc"
  },
  {
    "pair_num": 143,
    "a": "REQ-SUBNET-ADMIN-CODE-JOIN",
    "b": "REQ-SUBNET-ADMIN-SEED-REPLICATION",
    "score": 15,
    "a_title": "The join ceremony accepts EITHER subnet code: the SPAKE2 responder computes the ",
    "b_title": "Every member node holds BOTH subnet seeds \u2014 the admin seed replicates at join ex"
  },
  {
    "pair_num": 144,
    "a": "REQ-TRANSLATE-BINARY-LIVENESS-DECAY",
    "b": "REQ-TRANSLATE-COMMIT-MISS-TOLERANCE",
    "score": 40,
    "a_title": "SUPERSEDED by REQ-TRANSLATE-COMMIT-MISS-TOLERANCE (F029 C-1). B6 (F028, perri F-",
    "b_title": "C-1 (F029, B6 ROOT \u2014 rescope of REQ-TRANSLATE-BINARY-LIVENESS-DECAY, now PINNED)"
  },
  {
    "pair_num": 145,
    "a": "REQ-UPD-4",
    "b": "REQ-UPDATE-ONE-SHOT-FINISH",
    "score": 5,
    "a_title": "Update gated on user confirmation by default; opt-in full-auto",
    "b_title": "W3 (LIFECYCLE-TRUTH): update apply works daemonless and one command finishes the"
  },
  {
    "pair_num": 146,
    "a": "REQ-UPD-9",
    "b": "REQ-UPDATE-ADAPTERS-VERB",
    "score": 20,
    "a_title": "`gh_release` adapter [update] avenue (optional signing): an adapter declares `[u",
    "b_title": "THE-FORKENING W4 (operator-grilled 2026-07-14): `spt update adapters [<a>[,<b>.."
  },
  {
    "pair_num": 147,
    "a": "REQ-UPDATE-FETCH-CURRENT-UX",
    "b": "REQ-UPDATE-RUNNING-IMAGE-SURFACE",
    "score": 15,
    "a_title": "`spt update fetch` reports an already-staged / already-applied latest as an ACTI",
    "b_title": "`spt` surfaces the RUNNING broker image version beside the on-disk version so an"
  }
]