﻿2026-06-04T06:03:46.9665778Z Current runner version: '2.334.0'
2026-06-04T06:03:46.9675334Z Runner name: 'gravity'
2026-06-04T06:03:46.9676469Z Runner group name: 'Default'
2026-06-04T06:03:46.9677880Z Machine name: 'gravity-linux'
2026-06-04T06:03:46.9682097Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T06:03:46.9686106Z Contents: read
2026-06-04T06:03:46.9686953Z Metadata: read
2026-06-04T06:03:46.9687745Z Packages: read
2026-06-04T06:03:46.9688652Z ##[endgroup]
2026-06-04T06:03:46.9692281Z Secret source: Actions
2026-06-04T06:03:46.9693513Z Prepare workflow directory
2026-06-04T06:03:47.0456475Z Prepare all required actions
2026-06-04T06:03:47.0517798Z Getting action download info
2026-06-04T06:03:47.7564179Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T06:03:48.8952785Z Complete job name: traceability
2026-06-04T06:03:49.0345539Z ##[group]Run actions/checkout@v5
2026-06-04T06:03:49.0347247Z with:
2026-06-04T06:03:49.0348091Z   repository: SaberMage/spt-core
2026-06-04T06:03:49.0356292Z   token: ***
2026-06-04T06:03:49.0357084Z   ssh-strict: true
2026-06-04T06:03:49.0357886Z   ssh-user: git
2026-06-04T06:03:49.0358686Z   persist-credentials: true
2026-06-04T06:03:49.0359712Z   clean: true
2026-06-04T06:03:49.0360524Z   sparse-checkout-cone-mode: true
2026-06-04T06:03:49.0361452Z   fetch-depth: 1
2026-06-04T06:03:49.0362227Z   fetch-tags: false
2026-06-04T06:03:49.0363022Z   show-progress: true
2026-06-04T06:03:49.0363830Z   lfs: false
2026-06-04T06:03:49.0364607Z   submodules: false
2026-06-04T06:03:49.0365485Z   set-safe-directory: true
2026-06-04T06:03:49.0367026Z ##[endgroup]
2026-06-04T06:03:49.1917270Z Syncing repository: SaberMage/spt-core
2026-06-04T06:03:49.1921369Z ##[group]Getting Git version info
2026-06-04T06:03:49.1923310Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T06:03:49.1925697Z [command]/usr/bin/git version
2026-06-04T06:03:49.1926834Z git version 2.34.1
2026-06-04T06:03:49.1930737Z ##[endgroup]
2026-06-04T06:03:49.1941095Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/6d6b96eb-3f35-4b01-a042-58c26ef787d7/.gitconfig'
2026-06-04T06:03:49.1952041Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/6d6b96eb-3f35-4b01-a042-58c26ef787d7' before making global git config changes
2026-06-04T06:03:49.1954859Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T06:03:49.1959534Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T06:03:49.2014760Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T06:03:49.2045323Z https://github.com/SaberMage/spt-core
2026-06-04T06:03:49.2070053Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T06:03:49.2077627Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T06:03:49.2108360Z refs/heads/dev-freeform
2026-06-04T06:03:49.2121847Z [command]/usr/bin/git checkout --detach
2026-06-04T06:03:49.2183108Z HEAD is now at f08aedc feat(store): M4-D6c-1 bundle sync core — BranchStore bundle plumbing + per-file vector merge driver (REQ-NET-3)
2026-06-04T06:03:49.2240146Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T06:03:49.2282188Z Deleted branch dev-freeform (was f08aedc).
2026-06-04T06:03:49.2330830Z ##[endgroup]
2026-06-04T06:03:49.2334518Z [command]/usr/bin/git submodule status
2026-06-04T06:03:49.2569998Z ##[group]Cleaning the repository
2026-06-04T06:03:49.2574873Z [command]/usr/bin/git clean -ffdx
2026-06-04T06:03:49.8608951Z Removing target/
2026-06-04T06:03:49.8615115Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T06:03:49.8677590Z HEAD is now at f08aedc feat(store): M4-D6c-1 bundle sync core — BranchStore bundle plumbing + per-file vector merge driver (REQ-NET-3)
2026-06-04T06:03:49.8684832Z ##[endgroup]
2026-06-04T06:03:49.8687120Z ##[group]Disabling automatic garbage collection
2026-06-04T06:03:49.8692507Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T06:03:49.8734278Z ##[endgroup]
2026-06-04T06:03:49.8736452Z ##[group]Setting up auth
2026-06-04T06:03:49.8744348Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T06:03:49.8787581Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-06-04T06:03:49.9026836Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T06:03:49.9067204Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-06-04T06:03:49.9336804Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T06:03:49.9378423Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T06:03:49.9623687Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T06:03:49.9684142Z ##[endgroup]
2026-06-04T06:03:49.9686724Z ##[group]Fetching the repository
2026-06-04T06:03:49.9698069Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +f08aedcb3cd2615712f3f30daf07a35ee9870aac:refs/remotes/origin/dev-freeform
2026-06-04T06:03:50.6497957Z ##[endgroup]
2026-06-04T06:03:50.6506996Z ##[group]Determining the checkout info
2026-06-04T06:03:50.6509857Z ##[endgroup]
2026-06-04T06:03:50.6511476Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T06:03:50.6555284Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T06:03:50.6592898Z ##[group]Checking out the ref
2026-06-04T06:03:50.6598326Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T06:03:50.6653334Z Switched to a new branch 'dev-freeform'
2026-06-04T06:03:50.6656273Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T06:03:50.6665615Z ##[endgroup]
2026-06-04T06:03:50.6709648Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T06:03:50.6746021Z f08aedcb3cd2615712f3f30daf07a35ee9870aac
2026-06-04T06:03:50.7202479Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T06:03:50.7204843Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T06:03:50.7207027Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T06:03:50.7208922Z [36;1melse[0m
2026-06-04T06:03:50.7210590Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T06:03:50.7212956Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T06:03:50.7214855Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T06:03:50.7216264Z [36;1mfi[0m
2026-06-04T06:03:50.7250179Z shell: /usr/bin/bash -e {0}
2026-06-04T06:03:50.7251607Z env:
2026-06-04T06:03:50.7254637Z   GH_TOKEN: ***
2026-06-04T06:03:50.7255758Z ##[endgroup]
2026-06-04T06:03:50.7564011Z ##[group]Run ./traceable-reqs check --json
2026-06-04T06:03:50.7565801Z [36;1m./traceable-reqs check --json[0m
2026-06-04T06:03:50.7590812Z shell: /usr/bin/bash -e {0}
2026-06-04T06:03:50.7592098Z ##[endgroup]
2026-06-04T06:03:50.7778109Z {
2026-06-04T06:03:50.7779403Z   "schemaVersion": 1,
2026-06-04T06:03:50.7780716Z   "summary": {
2026-06-04T06:03:50.7781959Z     "requirementCount": 129,
2026-06-04T06:03:50.7783446Z     "completeCount": 129,
2026-06-04T06:03:50.7784838Z     "incompleteCount": 0,
2026-06-04T06:03:50.7786201Z     "findingCount": 0
2026-06-04T06:03:50.7787431Z   },
2026-06-04T06:03:50.7788558Z   "requirements": [
2026-06-04T06:03:50.7789906Z     {
2026-06-04T06:03:50.7791082Z       "id": "REQ-API-1",
2026-06-04T06:03:50.7793065Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T06:03:50.7795926Z       "requiredStages": [
2026-06-04T06:03:50.7797261Z         "impl",
2026-06-04T06:03:50.7798412Z         "unit",
2026-06-04T06:03:50.7803292Z         "int"
2026-06-04T06:03:50.7804544Z       ],
2026-06-04T06:03:50.7805637Z       "stages": {
2026-06-04T06:03:50.7806798Z         "doc": {
2026-06-04T06:03:50.7807994Z           "complete": false,
2026-06-04T06:03:50.7809494Z           "evidence": []
2026-06-04T06:03:50.7810819Z         },
2026-06-04T06:03:50.7811944Z         "impl": {
2026-06-04T06:03:50.7813205Z           "complete": true,
2026-06-04T06:03:50.7814605Z           "evidence": [
2026-06-04T06:03:50.7816135Z             {
2026-06-04T06:03:50.7817456Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T06:03:50.7819220Z               "line": 15
2026-06-04T06:03:50.7820575Z             }
2026-06-04T06:03:50.7821686Z           ]
2026-06-04T06:03:50.7822750Z         },
2026-06-04T06:03:50.7823793Z         "int": {
2026-06-04T06:03:50.7824971Z           "complete": true,
2026-06-04T06:03:50.7826306Z           "evidence": [
2026-06-04T06:03:50.7827496Z             {
2026-06-04T06:03:50.7828822Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:50.7830891Z               "line": 13
2026-06-04T06:03:50.7832121Z             }
2026-06-04T06:03:50.7833188Z           ]
2026-06-04T06:03:50.7834215Z         },
2026-06-04T06:03:50.7835244Z         "unit": {
2026-06-04T06:03:50.7836400Z           "complete": true,
2026-06-04T06:03:50.7837689Z           "evidence": [
2026-06-04T06:03:50.7838878Z             {
2026-06-04T06:03:50.7840205Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T06:03:50.7841844Z               "line": 336
2026-06-04T06:03:50.7843062Z             },
2026-06-04T06:03:50.7844136Z             {
2026-06-04T06:03:50.7849516Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T06:03:50.7851201Z               "line": 342
2026-06-04T06:03:50.7852424Z             },
2026-06-04T06:03:50.7853493Z             {
2026-06-04T06:03:50.7881847Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T06:03:50.7883853Z               "line": 353
2026-06-04T06:03:50.7885110Z             }
2026-06-04T06:03:50.7886174Z           ]
2026-06-04T06:03:50.7887192Z         }
2026-06-04T06:03:50.7888192Z       }
2026-06-04T06:03:50.7889301Z     },
2026-06-04T06:03:50.7890309Z     {
2026-06-04T06:03:50.7891338Z       "id": "REQ-API-2",
2026-06-04T06:03:50.7893508Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T06:03:50.7895991Z       "requiredStages": [
2026-06-04T06:03:50.7897268Z         "impl",
2026-06-04T06:03:50.7898352Z         "unit",
2026-06-04T06:03:50.7899461Z         "int"
2026-06-04T06:03:50.7900517Z       ],
2026-06-04T06:03:50.7901538Z       "stages": {
2026-06-04T06:03:50.7902648Z         "doc": {
2026-06-04T06:03:50.7903792Z           "complete": false,
2026-06-04T06:03:50.7905130Z           "evidence": []
2026-06-04T06:03:50.7906370Z         },
2026-06-04T06:03:50.7907393Z         "impl": {
2026-06-04T06:03:50.7908561Z           "complete": true,
2026-06-04T06:03:50.7909904Z           "evidence": [
2026-06-04T06:03:50.7911678Z             {
2026-06-04T06:03:50.7913046Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T06:03:50.7914767Z               "line": 15
2026-06-04T06:03:50.7915975Z             },
2026-06-04T06:03:50.7917046Z             {
2026-06-04T06:03:50.7918324Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:50.7920270Z               "line": 20
2026-06-04T06:03:50.7921452Z             },
2026-06-04T06:03:50.7922485Z             {
2026-06-04T06:03:50.7923738Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:50.7925374Z               "line": 125
2026-06-04T06:03:50.7926565Z             },
2026-06-04T06:03:50.7927591Z             {
2026-06-04T06:03:50.7928850Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.7930851Z               "line": 21
2026-06-04T06:03:50.7932022Z             },
2026-06-04T06:03:50.7933278Z             {
2026-06-04T06:03:50.7934568Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.7936234Z               "line": 36
2026-06-04T06:03:50.7937415Z             },
2026-06-04T06:03:50.7938443Z             {
2026-06-04T06:03:50.7940095Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.7941760Z               "line": 101
2026-06-04T06:03:50.7942947Z             },
2026-06-04T06:03:50.7943974Z             {
2026-06-04T06:03:50.7945247Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.7946917Z               "line": 140
2026-06-04T06:03:50.7948110Z             },
2026-06-04T06:03:50.7949142Z             {
2026-06-04T06:03:50.7950803Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.7952461Z               "line": 164
2026-06-04T06:03:50.7953647Z             },
2026-06-04T06:03:50.7954671Z             {
2026-06-04T06:03:50.7955899Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.7957531Z               "line": 17
2026-06-04T06:03:50.7958707Z             },
2026-06-04T06:03:50.7960136Z             {
2026-06-04T06:03:50.7961373Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.7962985Z               "line": 30
2026-06-04T06:03:50.7964166Z             },
2026-06-04T06:03:50.7965184Z             {
2026-06-04T06:03:50.7966413Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.7968036Z               "line": 63
2026-06-04T06:03:50.7969255Z             },
2026-06-04T06:03:50.7970684Z             {
2026-06-04T06:03:50.7971914Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.7973533Z               "line": 76
2026-06-04T06:03:50.7974714Z             }
2026-06-04T06:03:50.7975745Z           ]
2026-06-04T06:03:50.7976741Z         },
2026-06-04T06:03:50.7977739Z         "int": {
2026-06-04T06:03:50.7978863Z           "complete": true,
2026-06-04T06:03:50.7980546Z           "evidence": [
2026-06-04T06:03:50.7981722Z             {
2026-06-04T06:03:50.7983015Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:50.7984700Z               "line": 14
2026-06-04T06:03:50.7985882Z             },
2026-06-04T06:03:50.7986919Z             {
2026-06-04T06:03:50.7988208Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:50.7990272Z               "line": 151
2026-06-04T06:03:50.7991476Z             }
2026-06-04T06:03:50.7992498Z           ]
2026-06-04T06:03:50.7993497Z         },
2026-06-04T06:03:50.7994500Z         "unit": {
2026-06-04T06:03:50.7995616Z           "complete": true,
2026-06-04T06:03:50.7996877Z           "evidence": [
2026-06-04T06:03:50.7998034Z             {
2026-06-04T06:03:50.7999514Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T06:03:50.8001356Z               "line": 42
2026-06-04T06:03:50.8002544Z             },
2026-06-04T06:03:50.8003586Z             {
2026-06-04T06:03:50.8004843Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:50.8006509Z               "line": 204
2026-06-04T06:03:50.8007716Z             },
2026-06-04T06:03:50.8009062Z             {
2026-06-04T06:03:50.8010776Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.8012470Z               "line": 237
2026-06-04T06:03:50.8013671Z             },
2026-06-04T06:03:50.8014699Z             {
2026-06-04T06:03:50.8015969Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.8017644Z               "line": 248
2026-06-04T06:03:50.8018833Z             },
2026-06-04T06:03:50.8020282Z             {
2026-06-04T06:03:50.8021554Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.8023369Z               "line": 284
2026-06-04T06:03:50.8024582Z             },
2026-06-04T06:03:50.8025613Z             {
2026-06-04T06:03:50.8026889Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.8028584Z               "line": 296
2026-06-04T06:03:50.8030123Z             },
2026-06-04T06:03:50.8031342Z             {
2026-06-04T06:03:50.8032591Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.8034241Z               "line": 137
2026-06-04T06:03:50.8035444Z             },
2026-06-04T06:03:50.8036484Z             {
2026-06-04T06:03:50.8037716Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.8039720Z               "line": 172
2026-06-04T06:03:50.8040924Z             }
2026-06-04T06:03:50.8041935Z           ]
2026-06-04T06:03:50.8042924Z         }
2026-06-04T06:03:50.8043893Z       }
2026-06-04T06:03:50.8044846Z     },
2026-06-04T06:03:50.8045809Z     {
2026-06-04T06:03:50.8046800Z       "id": "REQ-API-3",
2026-06-04T06:03:50.8048364Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T06:03:50.8050460Z       "requiredStages": [
2026-06-04T06:03:50.8051709Z         "impl",
2026-06-04T06:03:50.8052787Z         "unit",
2026-06-04T06:03:50.8053854Z         "int"
2026-06-04T06:03:50.8054892Z       ],
2026-06-04T06:03:50.8055944Z       "stages": {
2026-06-04T06:03:50.8057043Z         "doc": {
2026-06-04T06:03:50.8058180Z           "complete": false,
2026-06-04T06:03:50.8059687Z           "evidence": []
2026-06-04T06:03:50.8060906Z         },
2026-06-04T06:03:50.8061908Z         "impl": {
2026-06-04T06:03:50.8063017Z           "complete": true,
2026-06-04T06:03:50.8064269Z           "evidence": [
2026-06-04T06:03:50.8065395Z             {
2026-06-04T06:03:50.8066618Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:50.8068213Z               "line": 27
2026-06-04T06:03:50.8069397Z             },
2026-06-04T06:03:50.8070421Z             {
2026-06-04T06:03:50.8071680Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.8073312Z               "line": 174
2026-06-04T06:03:50.8074472Z             }
2026-06-04T06:03:50.8075466Z           ]
2026-06-04T06:03:50.8076438Z         },
2026-06-04T06:03:50.8077411Z         "int": {
2026-06-04T06:03:50.8078508Z           "complete": true,
2026-06-04T06:03:50.8079803Z           "evidence": [
2026-06-04T06:03:50.8080922Z             {
2026-06-04T06:03:50.8082194Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:50.8083837Z               "line": 203
2026-06-04T06:03:50.8084994Z             }
2026-06-04T06:03:50.8085979Z           ]
2026-06-04T06:03:50.8086964Z         },
2026-06-04T06:03:50.8088472Z         "unit": {
2026-06-04T06:03:50.8089787Z           "complete": true,
2026-06-04T06:03:50.8091222Z           "evidence": [
2026-06-04T06:03:50.8092390Z             {
2026-06-04T06:03:50.8093602Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:50.8095204Z               "line": 230
2026-06-04T06:03:50.8096373Z             },
2026-06-04T06:03:50.8097386Z             {
2026-06-04T06:03:50.8098631Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.8100311Z               "line": 325
2026-06-04T06:03:50.8101458Z             }
2026-06-04T06:03:50.8102471Z           ]
2026-06-04T06:03:50.8103474Z         }
2026-06-04T06:03:50.8104426Z       }
2026-06-04T06:03:50.8105354Z     },
2026-06-04T06:03:50.8106289Z     {
2026-06-04T06:03:50.8107485Z       "id": "REQ-ARCH-1",
2026-06-04T06:03:50.8108953Z       "title": "Many small acyclically-layered crates",
2026-06-04T06:03:50.8110686Z       "requiredStages": [
2026-06-04T06:03:50.8111887Z         "impl"
2026-06-04T06:03:50.8112904Z       ],
2026-06-04T06:03:50.8113869Z       "stages": {
2026-06-04T06:03:50.8114906Z         "doc": {
2026-06-04T06:03:50.8115989Z           "complete": false,
2026-06-04T06:03:50.8117235Z           "evidence": []
2026-06-04T06:03:50.8118385Z         },
2026-06-04T06:03:50.8119397Z         "impl": {
2026-06-04T06:03:50.8120484Z           "complete": true,
2026-06-04T06:03:50.8121731Z           "evidence": [
2026-06-04T06:03:50.8122846Z             {
2026-06-04T06:03:50.8124007Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T06:03:50.8125549Z               "line": 16
2026-06-04T06:03:50.8126693Z             },
2026-06-04T06:03:50.8127864Z             {
2026-06-04T06:03:50.8129055Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T06:03:50.8130685Z               "line": 12
2026-06-04T06:03:50.8131827Z             },
2026-06-04T06:03:50.8132854Z             {
2026-06-04T06:03:50.8134041Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T06:03:50.8135590Z               "line": 12
2026-06-04T06:03:50.8136729Z             }
2026-06-04T06:03:50.8137716Z           ]
2026-06-04T06:03:50.8138679Z         },
2026-06-04T06:03:50.8139695Z         "int": {
2026-06-04T06:03:50.8140783Z           "complete": false,
2026-06-04T06:03:50.8142054Z           "evidence": []
2026-06-04T06:03:50.8143202Z         },
2026-06-04T06:03:50.8144167Z         "unit": {
2026-06-04T06:03:50.8145260Z           "complete": false,
2026-06-04T06:03:50.8146510Z           "evidence": []
2026-06-04T06:03:50.8147656Z         }
2026-06-04T06:03:50.8148602Z       }
2026-06-04T06:03:50.8149576Z     },
2026-06-04T06:03:50.8150534Z     {
2026-06-04T06:03:50.8151534Z       "id": "REQ-ARCH-2",
2026-06-04T06:03:50.8153243Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T06:03:50.8155212Z       "requiredStages": [
2026-06-04T06:03:50.8156393Z         "impl"
2026-06-04T06:03:50.8157399Z       ],
2026-06-04T06:03:50.8158365Z       "stages": {
2026-06-04T06:03:50.8159460Z         "doc": {
2026-06-04T06:03:50.8160548Z           "complete": false,
2026-06-04T06:03:50.8161811Z           "evidence": []
2026-06-04T06:03:50.8162967Z         },
2026-06-04T06:03:50.8163938Z         "impl": {
2026-06-04T06:03:50.8165027Z           "complete": true,
2026-06-04T06:03:50.8166246Z           "evidence": [
2026-06-04T06:03:50.8167377Z             {
2026-06-04T06:03:50.8168572Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T06:03:50.8170201Z               "line": 18
2026-06-04T06:03:50.8171350Z             }
2026-06-04T06:03:50.8172349Z           ]
2026-06-04T06:03:50.8173313Z         },
2026-06-04T06:03:50.8174295Z         "int": {
2026-06-04T06:03:50.8175379Z           "complete": false,
2026-06-04T06:03:50.8176668Z           "evidence": []
2026-06-04T06:03:50.8177812Z         },
2026-06-04T06:03:50.8178785Z         "unit": {
2026-06-04T06:03:50.8179939Z           "complete": false,
2026-06-04T06:03:50.8181206Z           "evidence": []
2026-06-04T06:03:50.8182375Z         }
2026-06-04T06:03:50.8183316Z       }
2026-06-04T06:03:50.8184246Z     },
2026-06-04T06:03:50.8185177Z     {
2026-06-04T06:03:50.8186166Z       "id": "REQ-ARCH-3",
2026-06-04T06:03:50.8198185Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T06:03:50.8200904Z       "requiredStages": [
2026-06-04T06:03:50.8202104Z         "impl",
2026-06-04T06:03:50.8203129Z         "unit"
2026-06-04T06:03:50.8204147Z       ],
2026-06-04T06:03:50.8205099Z       "stages": {
2026-06-04T06:03:50.8206135Z         "doc": {
2026-06-04T06:03:50.8207223Z           "complete": false,
2026-06-04T06:03:50.8208535Z           "evidence": []
2026-06-04T06:03:50.8209728Z         },
2026-06-04T06:03:50.8210695Z         "impl": {
2026-06-04T06:03:50.8212078Z           "complete": true,
2026-06-04T06:03:50.8213324Z           "evidence": [
2026-06-04T06:03:50.8214456Z             {
2026-06-04T06:03:50.8215689Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T06:03:50.8217298Z               "line": 34
2026-06-04T06:03:50.8218434Z             },
2026-06-04T06:03:50.8219478Z             {
2026-06-04T06:03:50.8220722Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T06:03:50.8222336Z               "line": 41
2026-06-04T06:03:50.8223477Z             }
2026-06-04T06:03:50.8224472Z           ]
2026-06-04T06:03:50.8225425Z         },
2026-06-04T06:03:50.8226389Z         "int": {
2026-06-04T06:03:50.8227468Z           "complete": false,
2026-06-04T06:03:50.8228731Z           "evidence": []
2026-06-04T06:03:50.8229913Z         },
2026-06-04T06:03:50.8230941Z         "unit": {
2026-06-04T06:03:50.8232320Z           "complete": true,
2026-06-04T06:03:50.8233554Z           "evidence": [
2026-06-04T06:03:50.8234840Z             {
2026-06-04T06:03:50.8236280Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T06:03:50.8237890Z               "line": 51
2026-06-04T06:03:50.8239028Z             },
2026-06-04T06:03:50.8240412Z             {
2026-06-04T06:03:50.8241654Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T06:03:50.8243256Z               "line": 65
2026-06-04T06:03:50.8244392Z             },
2026-06-04T06:03:50.8245400Z             {
2026-06-04T06:03:50.8246627Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T06:03:50.8248243Z               "line": 74
2026-06-04T06:03:50.8249409Z             }
2026-06-04T06:03:50.8250399Z           ]
2026-06-04T06:03:50.8251360Z         }
2026-06-04T06:03:50.8252303Z       }
2026-06-04T06:03:50.8253230Z     },
2026-06-04T06:03:50.8254162Z     {
2026-06-04T06:03:50.8255160Z       "id": "REQ-ARCH-4",
2026-06-04T06:03:50.8256937Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T06:03:50.8258975Z       "requiredStages": [
2026-06-04T06:03:50.8260209Z         "impl",
2026-06-04T06:03:50.8261235Z         "unit"
2026-06-04T06:03:50.8262232Z       ],
2026-06-04T06:03:50.8263190Z       "stages": {
2026-06-04T06:03:50.8264221Z         "doc": {
2026-06-04T06:03:50.8265303Z           "complete": false,
2026-06-04T06:03:50.8266578Z           "evidence": []
2026-06-04T06:03:50.8267728Z         },
2026-06-04T06:03:50.8268696Z         "impl": {
2026-06-04T06:03:50.8269824Z           "complete": true,
2026-06-04T06:03:50.8271048Z           "evidence": [
2026-06-04T06:03:50.8272165Z             {
2026-06-04T06:03:50.8273368Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8274945Z               "line": 32
2026-06-04T06:03:50.8276087Z             },
2026-06-04T06:03:50.8277081Z             {
2026-06-04T06:03:50.8278282Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8279909Z               "line": 46
2026-06-04T06:03:50.8281047Z             },
2026-06-04T06:03:50.8282066Z             {
2026-06-04T06:03:50.8283309Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8284895Z               "line": 66
2026-06-04T06:03:50.8286044Z             },
2026-06-04T06:03:50.8287057Z             {
2026-06-04T06:03:50.8288261Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8289919Z               "line": 81
2026-06-04T06:03:50.8291064Z             },
2026-06-04T06:03:50.8292068Z             {
2026-06-04T06:03:50.8293267Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8294842Z               "line": 131
2026-06-04T06:03:50.8295985Z             }
2026-06-04T06:03:50.8296990Z           ]
2026-06-04T06:03:50.8303876Z         },
2026-06-04T06:03:50.8305043Z         "int": {
2026-06-04T06:03:50.8306153Z           "complete": false,
2026-06-04T06:03:50.8307421Z           "evidence": []
2026-06-04T06:03:50.8308591Z         },
2026-06-04T06:03:50.8309621Z         "unit": {
2026-06-04T06:03:50.8310956Z           "complete": true,
2026-06-04T06:03:50.8312190Z           "evidence": [
2026-06-04T06:03:50.8313319Z             {
2026-06-04T06:03:50.8314514Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8316090Z               "line": 195
2026-06-04T06:03:50.8317245Z             },
2026-06-04T06:03:50.8318250Z             {
2026-06-04T06:03:50.8319486Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8321071Z               "line": 205
2026-06-04T06:03:50.8322226Z             },
2026-06-04T06:03:50.8323241Z             {
2026-06-04T06:03:50.8324443Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8326017Z               "line": 216
2026-06-04T06:03:50.8327165Z             },
2026-06-04T06:03:50.8328164Z             {
2026-06-04T06:03:50.8329399Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8331130Z               "line": 227
2026-06-04T06:03:50.8332291Z             },
2026-06-04T06:03:50.8333300Z             {
2026-06-04T06:03:50.8334504Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8336076Z               "line": 239
2026-06-04T06:03:50.8337225Z             },
2026-06-04T06:03:50.8338234Z             {
2026-06-04T06:03:50.8339465Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8341027Z               "line": 252
2026-06-04T06:03:50.8342169Z             },
2026-06-04T06:03:50.8343165Z             {
2026-06-04T06:03:50.8344371Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8345933Z               "line": 263
2026-06-04T06:03:50.8347075Z             },
2026-06-04T06:03:50.8348061Z             {
2026-06-04T06:03:50.8349290Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8350852Z               "line": 277
2026-06-04T06:03:50.8352003Z             },
2026-06-04T06:03:50.8352998Z             {
2026-06-04T06:03:50.8354215Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T06:03:50.8355786Z               "line": 286
2026-06-04T06:03:50.8356943Z             }
2026-06-04T06:03:50.8357927Z           ]
2026-06-04T06:03:50.8358868Z         }
2026-06-04T06:03:50.8359840Z       }
2026-06-04T06:03:50.8360766Z     },
2026-06-04T06:03:50.8361744Z     {
2026-06-04T06:03:50.8362759Z       "id": "REQ-DAEMON-1",
2026-06-04T06:03:50.8364503Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T06:03:50.8366477Z       "requiredStages": [
2026-06-04T06:03:50.8367649Z         "impl",
2026-06-04T06:03:50.8368659Z         "unit",
2026-06-04T06:03:50.8369704Z         "int"
2026-06-04T06:03:50.8370676Z       ],
2026-06-04T06:03:50.8371623Z       "stages": {
2026-06-04T06:03:50.8372662Z         "doc": {
2026-06-04T06:03:50.8373737Z           "complete": false,
2026-06-04T06:03:50.8375006Z           "evidence": []
2026-06-04T06:03:50.8376145Z         },
2026-06-04T06:03:50.8377128Z         "impl": {
2026-06-04T06:03:50.8378204Z           "complete": true,
2026-06-04T06:03:50.8379472Z           "evidence": [
2026-06-04T06:03:50.8380598Z             {
2026-06-04T06:03:50.8381831Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:50.8383468Z               "line": 12
2026-06-04T06:03:50.8384620Z             },
2026-06-04T06:03:50.8385612Z             {
2026-06-04T06:03:50.8386872Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8388506Z               "line": 16
2026-06-04T06:03:50.8389671Z             },
2026-06-04T06:03:50.8390668Z             {
2026-06-04T06:03:50.8391859Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T06:03:50.8393422Z               "line": 15
2026-06-04T06:03:50.8394567Z             },
2026-06-04T06:03:50.8395563Z             {
2026-06-04T06:03:50.8396721Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T06:03:50.8398237Z               "line": 13
2026-06-04T06:03:50.8399402Z             }
2026-06-04T06:03:50.8400412Z           ]
2026-06-04T06:03:50.8401365Z         },
2026-06-04T06:03:50.8408479Z         "int": {
2026-06-04T06:03:50.8409991Z           "complete": true,
2026-06-04T06:03:50.8411277Z           "evidence": [
2026-06-04T06:03:50.8412412Z             {
2026-06-04T06:03:50.8413723Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T06:03:50.8415416Z               "line": 32
2026-06-04T06:03:50.8416561Z             }
2026-06-04T06:03:50.8417535Z           ]
2026-06-04T06:03:50.8418480Z         },
2026-06-04T06:03:50.8419466Z         "unit": {
2026-06-04T06:03:50.8420548Z           "complete": true,
2026-06-04T06:03:50.8421756Z           "evidence": [
2026-06-04T06:03:50.8422847Z             {
2026-06-04T06:03:50.8424064Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:50.8425640Z               "line": 173
2026-06-04T06:03:50.8426787Z             },
2026-06-04T06:03:50.8427769Z             {
2026-06-04T06:03:50.8428986Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:50.8430785Z               "line": 181
2026-06-04T06:03:50.8431944Z             },
2026-06-04T06:03:50.8432944Z             {
2026-06-04T06:03:50.8434153Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:50.8435742Z               "line": 194
2026-06-04T06:03:50.8436887Z             },
2026-06-04T06:03:50.8437881Z             {
2026-06-04T06:03:50.8439089Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:50.8440725Z               "line": 202
2026-06-04T06:03:50.8441881Z             },
2026-06-04T06:03:50.8442875Z             {
2026-06-04T06:03:50.8444116Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8445720Z               "line": 468
2026-06-04T06:03:50.8446857Z             },
2026-06-04T06:03:50.8447836Z             {
2026-06-04T06:03:50.8449072Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8450719Z               "line": 527
2026-06-04T06:03:50.8451886Z             },
2026-06-04T06:03:50.8452876Z             {
2026-06-04T06:03:50.8454080Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T06:03:50.8455654Z               "line": 100
2026-06-04T06:03:50.8456790Z             },
2026-06-04T06:03:50.8457783Z             {
2026-06-04T06:03:50.8458992Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T06:03:50.8460595Z               "line": 125
2026-06-04T06:03:50.8461736Z             }
2026-06-04T06:03:50.8462722Z           ]
2026-06-04T06:03:50.8463659Z         }
2026-06-04T06:03:50.8464586Z       }
2026-06-04T06:03:50.8465496Z     },
2026-06-04T06:03:50.8466411Z     {
2026-06-04T06:03:50.8467388Z       "id": "REQ-DAEMON-2",
2026-06-04T06:03:50.8468929Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T06:03:50.8470707Z       "requiredStages": [
2026-06-04T06:03:50.8471884Z         "impl",
2026-06-04T06:03:50.8472885Z         "unit",
2026-06-04T06:03:50.8473881Z         "int"
2026-06-04T06:03:50.8474867Z       ],
2026-06-04T06:03:50.8475810Z       "stages": {
2026-06-04T06:03:50.8476833Z         "doc": {
2026-06-04T06:03:50.8477907Z           "complete": false,
2026-06-04T06:03:50.8479188Z           "evidence": []
2026-06-04T06:03:50.8480335Z         },
2026-06-04T06:03:50.8481301Z         "impl": {
2026-06-04T06:03:50.8482364Z           "complete": true,
2026-06-04T06:03:50.8483576Z           "evidence": [
2026-06-04T06:03:50.8484662Z             {
2026-06-04T06:03:50.8485843Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:50.8487389Z               "line": 23
2026-06-04T06:03:50.8488506Z             },
2026-06-04T06:03:50.8489524Z             {
2026-06-04T06:03:50.8490715Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:50.8492280Z               "line": 474
2026-06-04T06:03:50.8493410Z             },
2026-06-04T06:03:50.8494390Z             {
2026-06-04T06:03:50.8495568Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:50.8497154Z               "line": 584
2026-06-04T06:03:50.8498274Z             },
2026-06-04T06:03:50.8499307Z             {
2026-06-04T06:03:50.8500690Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:50.8502294Z               "line": 32
2026-06-04T06:03:50.8503412Z             },
2026-06-04T06:03:50.8504393Z             {
2026-06-04T06:03:50.8511013Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:50.8512739Z               "line": 187
2026-06-04T06:03:50.8513884Z             },
2026-06-04T06:03:50.8514861Z             {
2026-06-04T06:03:50.8516062Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:50.8517641Z               "line": 485
2026-06-04T06:03:50.8518761Z             },
2026-06-04T06:03:50.8519796Z             {
2026-06-04T06:03:50.8521006Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:50.8522583Z               "line": 654
2026-06-04T06:03:50.8523716Z             },
2026-06-04T06:03:50.8525061Z             {
2026-06-04T06:03:50.8526248Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T06:03:50.8527813Z               "line": 11
2026-06-04T06:03:50.8528944Z             },
2026-06-04T06:03:50.8530019Z             {
2026-06-04T06:03:50.8531243Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T06:03:50.8532812Z               "line": 53
2026-06-04T06:03:50.8533920Z             },
2026-06-04T06:03:50.8534897Z             {
2026-06-04T06:03:50.8536061Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.8537589Z               "line": 13
2026-06-04T06:03:50.8538710Z             },
2026-06-04T06:03:50.8539742Z             {
2026-06-04T06:03:50.8540967Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8542557Z               "line": 27
2026-06-04T06:03:50.8543678Z             },
2026-06-04T06:03:50.8544675Z             {
2026-06-04T06:03:50.8545899Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8547492Z               "line": 94
2026-06-04T06:03:50.8548613Z             },
2026-06-04T06:03:50.8549640Z             {
2026-06-04T06:03:50.8550863Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8552453Z               "line": 383
2026-06-04T06:03:50.8553579Z             },
2026-06-04T06:03:50.8554554Z             {
2026-06-04T06:03:50.8555783Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8557368Z               "line": 450
2026-06-04T06:03:50.8558497Z             },
2026-06-04T06:03:50.8559534Z             {
2026-06-04T06:03:50.8560744Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8562367Z               "line": 484
2026-06-04T06:03:50.8563501Z             },
2026-06-04T06:03:50.8564491Z             {
2026-06-04T06:03:50.8565713Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8567315Z               "line": 526
2026-06-04T06:03:50.8568444Z             },
2026-06-04T06:03:50.8569485Z             {
2026-06-04T06:03:50.8570698Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8572300Z               "line": 570
2026-06-04T06:03:50.8573440Z             },
2026-06-04T06:03:50.8574424Z             {
2026-06-04T06:03:50.8575650Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T06:03:50.8577256Z               "line": 10
2026-06-04T06:03:50.8578362Z             }
2026-06-04T06:03:50.8579374Z           ]
2026-06-04T06:03:50.8580311Z         },
2026-06-04T06:03:50.8581247Z         "int": {
2026-06-04T06:03:50.8582293Z           "complete": true,
2026-06-04T06:03:50.8583488Z           "evidence": [
2026-06-04T06:03:50.8584574Z             {
2026-06-04T06:03:50.8585805Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T06:03:50.8587388Z               "line": 17
2026-06-04T06:03:50.8588499Z             },
2026-06-04T06:03:50.8589519Z             {
2026-06-04T06:03:50.8590796Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T06:03:50.8592459Z               "line": 33
2026-06-04T06:03:50.8593568Z             },
2026-06-04T06:03:50.8594762Z             {
2026-06-04T06:03:50.8596030Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T06:03:50.8597629Z               "line": 19
2026-06-04T06:03:50.8598748Z             },
2026-06-04T06:03:50.8599774Z             {
2026-06-04T06:03:50.8601035Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T06:03:50.8602664Z               "line": 70
2026-06-04T06:03:50.8603771Z             },
2026-06-04T06:03:50.8604755Z             {
2026-06-04T06:03:50.8606024Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T06:03:50.8607650Z               "line": 90
2026-06-04T06:03:50.8608756Z             },
2026-06-04T06:03:50.8609782Z             {
2026-06-04T06:03:50.8611043Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T06:03:50.8618124Z               "line": 160
2026-06-04T06:03:50.8619491Z             },
2026-06-04T06:03:50.8620745Z             {
2026-06-04T06:03:50.8622014Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T06:03:50.8623658Z               "line": 196
2026-06-04T06:03:50.8624780Z             },
2026-06-04T06:03:50.8625744Z             {
2026-06-04T06:03:50.8626996Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T06:03:50.8628619Z               "line": 121
2026-06-04T06:03:50.8629783Z             }
2026-06-04T06:03:50.8630750Z           ]
2026-06-04T06:03:50.8631672Z         },
2026-06-04T06:03:50.8632603Z         "unit": {
2026-06-04T06:03:50.8633658Z           "complete": true,
2026-06-04T06:03:50.8634852Z           "evidence": [
2026-06-04T06:03:50.8635956Z             {
2026-06-04T06:03:50.8637137Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T06:03:50.8638681Z               "line": 62
2026-06-04T06:03:50.8639828Z             },
2026-06-04T06:03:50.8640799Z             {
2026-06-04T06:03:50.8641981Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T06:03:50.8643530Z               "line": 76
2026-06-04T06:03:50.8644647Z             },
2026-06-04T06:03:50.8645611Z             {
2026-06-04T06:03:50.8646804Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T06:03:50.8648333Z               "line": 88
2026-06-04T06:03:50.8649471Z             },
2026-06-04T06:03:50.8650448Z             {
2026-06-04T06:03:50.8651646Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T06:03:50.8653203Z               "line": 264
2026-06-04T06:03:50.8654317Z             },
2026-06-04T06:03:50.8655288Z             {
2026-06-04T06:03:50.8656448Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.8657969Z               "line": 471
2026-06-04T06:03:50.8659079Z             },
2026-06-04T06:03:50.8660083Z             {
2026-06-04T06:03:50.8661240Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.8662762Z               "line": 479
2026-06-04T06:03:50.8663892Z             },
2026-06-04T06:03:50.8664866Z             {
2026-06-04T06:03:50.8666036Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.8667571Z               "line": 496
2026-06-04T06:03:50.8668697Z             },
2026-06-04T06:03:50.8669709Z             {
2026-06-04T06:03:50.8670914Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.8672435Z               "line": 541
2026-06-04T06:03:50.8673551Z             },
2026-06-04T06:03:50.8674522Z             {
2026-06-04T06:03:50.8675728Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8677314Z               "line": 637
2026-06-04T06:03:50.8678433Z             },
2026-06-04T06:03:50.8679440Z             {
2026-06-04T06:03:50.8680632Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.8682194Z               "line": 649
2026-06-04T06:03:50.8683316Z             },
2026-06-04T06:03:50.8684286Z             {
2026-06-04T06:03:50.8685518Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T06:03:50.8687149Z               "line": 112
2026-06-04T06:03:50.8688435Z             }
2026-06-04T06:03:50.8689461Z           ]
2026-06-04T06:03:50.8690398Z         }
2026-06-04T06:03:50.8691308Z       }
2026-06-04T06:03:50.8692199Z     },
2026-06-04T06:03:50.8693101Z     {
2026-06-04T06:03:50.8694054Z       "id": "REQ-DAEMON-3",
2026-06-04T06:03:50.8695670Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T06:03:50.8697531Z       "requiredStages": [
2026-06-04T06:03:50.8698684Z         "impl",
2026-06-04T06:03:50.8699713Z         "unit",
2026-06-04T06:03:50.8700700Z         "int"
2026-06-04T06:03:50.8701662Z       ],
2026-06-04T06:03:50.8702589Z       "stages": {
2026-06-04T06:03:50.8703586Z         "doc": {
2026-06-04T06:03:50.8704625Z           "complete": false,
2026-06-04T06:03:50.8705850Z           "evidence": []
2026-06-04T06:03:50.8706959Z         },
2026-06-04T06:03:50.8707892Z         "impl": {
2026-06-04T06:03:50.8709107Z           "complete": true,
2026-06-04T06:03:50.8710375Z           "evidence": [
2026-06-04T06:03:50.8711451Z             {
2026-06-04T06:03:50.8712671Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T06:03:50.8714230Z               "line": 14
2026-06-04T06:03:50.8720796Z             },
2026-06-04T06:03:50.8721845Z             {
2026-06-04T06:03:50.8723078Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T06:03:50.8724680Z               "line": 11
2026-06-04T06:03:50.8725793Z             },
2026-06-04T06:03:50.8726763Z             {
2026-06-04T06:03:50.8727897Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T06:03:50.8729472Z               "line": 209
2026-06-04T06:03:50.8730612Z             },
2026-06-04T06:03:50.8731609Z             {
2026-06-04T06:03:50.8732716Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:50.8734189Z               "line": 268
2026-06-04T06:03:50.8735307Z             }
2026-06-04T06:03:50.8736274Z           ]
2026-06-04T06:03:50.8737248Z         },
2026-06-04T06:03:50.8738182Z         "int": {
2026-06-04T06:03:50.8739286Z           "complete": true,
2026-06-04T06:03:50.8740485Z           "evidence": [
2026-06-04T06:03:50.8741571Z             {
2026-06-04T06:03:50.8742765Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:50.8744344Z               "line": 43
2026-06-04T06:03:50.8745452Z             },
2026-06-04T06:03:50.8746428Z             {
2026-06-04T06:03:50.8747627Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:50.8749248Z               "line": 320
2026-06-04T06:03:50.8750370Z             }
2026-06-04T06:03:50.8751339Z           ]
2026-06-04T06:03:50.8752264Z         },
2026-06-04T06:03:50.8753201Z         "unit": {
2026-06-04T06:03:50.8754253Z           "complete": true,
2026-06-04T06:03:50.8755436Z           "evidence": [
2026-06-04T06:03:50.8756512Z             {
2026-06-04T06:03:50.8757700Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T06:03:50.8759323Z               "line": 217
2026-06-04T06:03:50.8760445Z             }
2026-06-04T06:03:50.8761412Z           ]
2026-06-04T06:03:50.8762348Z         }
2026-06-04T06:03:50.8763264Z       }
2026-06-04T06:03:50.8764161Z     },
2026-06-04T06:03:50.8765068Z     {
2026-06-04T06:03:50.8766020Z       "id": "REQ-DAEMON-4",
2026-06-04T06:03:50.8767424Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T06:03:50.8769034Z       "requiredStages": [
2026-06-04T06:03:50.8770227Z         "impl",
2026-06-04T06:03:50.8771235Z         "unit",
2026-06-04T06:03:50.8772224Z         "int"
2026-06-04T06:03:50.8773174Z       ],
2026-06-04T06:03:50.8774088Z       "stages": {
2026-06-04T06:03:50.8775096Z         "doc": {
2026-06-04T06:03:50.8776150Z           "complete": false,
2026-06-04T06:03:50.8777364Z           "evidence": []
2026-06-04T06:03:50.8778473Z         },
2026-06-04T06:03:50.8779432Z         "impl": {
2026-06-04T06:03:50.8780484Z           "complete": true,
2026-06-04T06:03:50.8781685Z           "evidence": [
2026-06-04T06:03:50.8782755Z             {
2026-06-04T06:03:50.8784233Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8785857Z               "line": 279
2026-06-04T06:03:50.8786969Z             },
2026-06-04T06:03:50.8787940Z             {
2026-06-04T06:03:50.8789201Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8790806Z               "line": 341
2026-06-04T06:03:50.8791915Z             },
2026-06-04T06:03:50.8792885Z             {
2026-06-04T06:03:50.8794100Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8795684Z               "line": 363
2026-06-04T06:03:50.8796788Z             }
2026-06-04T06:03:50.8797743Z           ]
2026-06-04T06:03:50.8798667Z         },
2026-06-04T06:03:50.8799646Z         "int": {
2026-06-04T06:03:50.8800703Z           "complete": true,
2026-06-04T06:03:50.8801883Z           "evidence": [
2026-06-04T06:03:50.8802950Z             {
2026-06-04T06:03:50.8804361Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T06:03:50.8805985Z               "line": 34
2026-06-04T06:03:50.8807092Z             }
2026-06-04T06:03:50.8808042Z           ]
2026-06-04T06:03:50.8808970Z         },
2026-06-04T06:03:50.8809948Z         "unit": {
2026-06-04T06:03:50.8811002Z           "complete": true,
2026-06-04T06:03:50.8812193Z           "evidence": [
2026-06-04T06:03:50.8813283Z             {
2026-06-04T06:03:50.8819875Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:50.8821478Z               "line": 248
2026-06-04T06:03:50.8822595Z             },
2026-06-04T06:03:50.8823564Z             {
2026-06-04T06:03:50.8824789Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8826370Z               "line": 550
2026-06-04T06:03:50.8827490Z             },
2026-06-04T06:03:50.8828456Z             {
2026-06-04T06:03:50.8829692Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8831297Z               "line": 601
2026-06-04T06:03:50.8832457Z             },
2026-06-04T06:03:50.8833415Z             {
2026-06-04T06:03:50.8834636Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8836231Z               "line": 625
2026-06-04T06:03:50.8837349Z             },
2026-06-04T06:03:50.8838321Z             {
2026-06-04T06:03:50.8839574Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.8841169Z               "line": 655
2026-06-04T06:03:50.8842284Z             }
2026-06-04T06:03:50.8843247Z           ]
2026-06-04T06:03:50.8844168Z         }
2026-06-04T06:03:50.8845088Z       }
2026-06-04T06:03:50.8845991Z     },
2026-06-04T06:03:50.8846897Z     {
2026-06-04T06:03:50.8847868Z       "id": "REQ-DOCS-1",
2026-06-04T06:03:50.8849787Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T06:03:50.8851978Z       "requiredStages": [],
2026-06-04T06:03:50.8853159Z       "stages": {
2026-06-04T06:03:50.8854170Z         "doc": {
2026-06-04T06:03:50.8855233Z           "complete": false,
2026-06-04T06:03:50.8856454Z           "evidence": []
2026-06-04T06:03:50.8857573Z         },
2026-06-04T06:03:50.8858506Z         "impl": {
2026-06-04T06:03:50.8859589Z           "complete": false,
2026-06-04T06:03:50.8860807Z           "evidence": []
2026-06-04T06:03:50.8861909Z         },
2026-06-04T06:03:50.8862842Z         "int": {
2026-06-04T06:03:50.8863884Z           "complete": false,
2026-06-04T06:03:50.8865106Z           "evidence": []
2026-06-04T06:03:50.8866216Z         },
2026-06-04T06:03:50.8867142Z         "unit": {
2026-06-04T06:03:50.8868193Z           "complete": false,
2026-06-04T06:03:50.8869450Z           "evidence": []
2026-06-04T06:03:50.8870566Z         }
2026-06-04T06:03:50.8871479Z       }
2026-06-04T06:03:50.8872374Z     },
2026-06-04T06:03:50.8873270Z     {
2026-06-04T06:03:50.8874223Z       "id": "REQ-DOCS-2",
2026-06-04T06:03:50.8875834Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T06:03:50.8877748Z       "requiredStages": [],
2026-06-04T06:03:50.8878933Z       "stages": {
2026-06-04T06:03:50.8880260Z         "doc": {
2026-06-04T06:03:50.8881340Z           "complete": false,
2026-06-04T06:03:50.8882563Z           "evidence": []
2026-06-04T06:03:50.8883673Z         },
2026-06-04T06:03:50.8884612Z         "impl": {
2026-06-04T06:03:50.8885685Z           "complete": false,
2026-06-04T06:03:50.8886904Z           "evidence": []
2026-06-04T06:03:50.8888008Z         },
2026-06-04T06:03:50.8888938Z         "int": {
2026-06-04T06:03:50.8890027Z           "complete": false,
2026-06-04T06:03:50.8891243Z           "evidence": []
2026-06-04T06:03:50.8892348Z         },
2026-06-04T06:03:50.8893280Z         "unit": {
2026-06-04T06:03:50.8894340Z           "complete": false,
2026-06-04T06:03:50.8895561Z           "evidence": []
2026-06-04T06:03:50.8896660Z         }
2026-06-04T06:03:50.8897572Z       }
2026-06-04T06:03:50.8898471Z     },
2026-06-04T06:03:50.8899402Z     {
2026-06-04T06:03:50.8900515Z       "id": "REQ-DOCS-3",
2026-06-04T06:03:50.8902389Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T06:03:50.8904186Z       "requiredStages": [],
2026-06-04T06:03:50.8905386Z       "stages": {
2026-06-04T06:03:50.8906392Z         "doc": {
2026-06-04T06:03:50.8907437Z           "complete": false,
2026-06-04T06:03:50.8908664Z           "evidence": []
2026-06-04T06:03:50.8909824Z         },
2026-06-04T06:03:50.8910756Z         "impl": {
2026-06-04T06:03:50.8911816Z           "complete": false,
2026-06-04T06:03:50.8913026Z           "evidence": []
2026-06-04T06:03:50.8914131Z         },
2026-06-04T06:03:50.8920568Z         "int": {
2026-06-04T06:03:50.8921661Z           "complete": false,
2026-06-04T06:03:50.8922884Z           "evidence": []
2026-06-04T06:03:50.8923996Z         },
2026-06-04T06:03:50.8924921Z         "unit": {
2026-06-04T06:03:50.8925967Z           "complete": false,
2026-06-04T06:03:50.8927182Z           "evidence": []
2026-06-04T06:03:50.8928279Z         }
2026-06-04T06:03:50.8929299Z       }
2026-06-04T06:03:50.8930212Z     },
2026-06-04T06:03:50.8931110Z     {
2026-06-04T06:03:50.8932059Z       "id": "REQ-DOCS-4",
2026-06-04T06:03:50.8933925Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T06:03:50.8936070Z       "requiredStages": [],
2026-06-04T06:03:50.8937257Z       "stages": {
2026-06-04T06:03:50.8938256Z         "doc": {
2026-06-04T06:03:50.8939341Z           "complete": false,
2026-06-04T06:03:50.8940559Z           "evidence": []
2026-06-04T06:03:50.8941664Z         },
2026-06-04T06:03:50.8942600Z         "impl": {
2026-06-04T06:03:50.8943659Z           "complete": false,
2026-06-04T06:03:50.8944880Z           "evidence": []
2026-06-04T06:03:50.8945988Z         },
2026-06-04T06:03:50.8946916Z         "int": {
2026-06-04T06:03:50.8947955Z           "complete": false,
2026-06-04T06:03:50.8949192Z           "evidence": []
2026-06-04T06:03:50.8950313Z         },
2026-06-04T06:03:50.8951246Z         "unit": {
2026-06-04T06:03:50.8952311Z           "complete": false,
2026-06-04T06:03:50.8953526Z           "evidence": []
2026-06-04T06:03:50.8954649Z         }
2026-06-04T06:03:50.8955553Z       }
2026-06-04T06:03:50.8956439Z     },
2026-06-04T06:03:50.8957328Z     {
2026-06-04T06:03:50.8958271Z       "id": "REQ-DOCS-5",
2026-06-04T06:03:50.8960202Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T06:03:50.8962358Z       "requiredStages": [],
2026-06-04T06:03:50.8963535Z       "stages": {
2026-06-04T06:03:50.8964537Z         "doc": {
2026-06-04T06:03:50.8965596Z           "complete": false,
2026-06-04T06:03:50.8967511Z           "evidence": []
2026-06-04T06:03:50.8968799Z         },
2026-06-04T06:03:50.8970092Z         "impl": {
2026-06-04T06:03:50.8971272Z           "complete": false,
2026-06-04T06:03:50.8972580Z           "evidence": []
2026-06-04T06:03:50.8973742Z         },
2026-06-04T06:03:50.8974728Z         "int": {
2026-06-04T06:03:50.8975839Z           "complete": false,
2026-06-04T06:03:50.8977206Z           "evidence": []
2026-06-04T06:03:50.8978393Z         },
2026-06-04T06:03:50.8980173Z         "unit": {
2026-06-04T06:03:50.8981354Z           "complete": false,
2026-06-04T06:03:50.8982665Z           "evidence": []
2026-06-04T06:03:50.8983862Z         }
2026-06-04T06:03:50.8984847Z       }
2026-06-04T06:03:50.8986028Z     },
2026-06-04T06:03:50.8987121Z     {
2026-06-04T06:03:50.8988234Z       "id": "REQ-EP-1",
2026-06-04T06:03:50.8989961Z       "title": "Day-one endpoint types; open type system",
2026-06-04T06:03:50.8991647Z       "requiredStages": [
2026-06-04T06:03:50.8992798Z         "impl",
2026-06-04T06:03:50.8993794Z         "unit"
2026-06-04T06:03:50.8994771Z       ],
2026-06-04T06:03:50.8996123Z       "stages": {
2026-06-04T06:03:50.8997170Z         "doc": {
2026-06-04T06:03:50.8998226Z           "complete": false,
2026-06-04T06:03:50.8999488Z           "evidence": []
2026-06-04T06:03:50.9000597Z         },
2026-06-04T06:03:50.9001531Z         "impl": {
2026-06-04T06:03:50.9003127Z           "complete": true,
2026-06-04T06:03:50.9004328Z           "evidence": [
2026-06-04T06:03:50.9005421Z             {
2026-06-04T06:03:50.9006630Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9008205Z               "line": 77
2026-06-04T06:03:50.9009354Z             },
2026-06-04T06:03:50.9010342Z             {
2026-06-04T06:03:50.9011568Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9021152Z               "line": 94
2026-06-04T06:03:50.9022318Z             }
2026-06-04T06:03:50.9023281Z           ]
2026-06-04T06:03:50.9024261Z         },
2026-06-04T06:03:50.9025215Z         "int": {
2026-06-04T06:03:50.9026263Z           "complete": false,
2026-06-04T06:03:50.9027485Z           "evidence": []
2026-06-04T06:03:50.9028597Z         },
2026-06-04T06:03:50.9029586Z         "unit": {
2026-06-04T06:03:50.9030649Z           "complete": true,
2026-06-04T06:03:50.9031891Z           "evidence": [
2026-06-04T06:03:50.9033009Z             {
2026-06-04T06:03:50.9034214Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9035819Z               "line": 161
2026-06-04T06:03:50.9036939Z             },
2026-06-04T06:03:50.9037907Z             {
2026-06-04T06:03:50.9039112Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9040735Z               "line": 178
2026-06-04T06:03:50.9041852Z             }
2026-06-04T06:03:50.9042816Z           ]
2026-06-04T06:03:50.9043747Z         }
2026-06-04T06:03:50.9044674Z       }
2026-06-04T06:03:50.9045572Z     },
2026-06-04T06:03:50.9046471Z     {
2026-06-04T06:03:50.9047428Z       "id": "REQ-EP-2",
2026-06-04T06:03:50.9049028Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T06:03:50.9050982Z       "requiredStages": [
2026-06-04T06:03:50.9052135Z         "impl",
2026-06-04T06:03:50.9053135Z         "unit"
2026-06-04T06:03:50.9054102Z       ],
2026-06-04T06:03:50.9055043Z       "stages": {
2026-06-04T06:03:50.9056078Z         "doc": {
2026-06-04T06:03:50.9057144Z           "complete": false,
2026-06-04T06:03:50.9058378Z           "evidence": []
2026-06-04T06:03:50.9059523Z         },
2026-06-04T06:03:50.9060460Z         "impl": {
2026-06-04T06:03:50.9061518Z           "complete": true,
2026-06-04T06:03:50.9062721Z           "evidence": [
2026-06-04T06:03:50.9063847Z             {
2026-06-04T06:03:50.9065062Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9066645Z               "line": 114
2026-06-04T06:03:50.9067765Z             },
2026-06-04T06:03:50.9068741Z             {
2026-06-04T06:03:50.9069980Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9071561Z               "line": 131
2026-06-04T06:03:50.9072684Z             },
2026-06-04T06:03:50.9073670Z             {
2026-06-04T06:03:50.9074880Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9076446Z               "line": 138
2026-06-04T06:03:50.9077554Z             }
2026-06-04T06:03:50.9078533Z           ]
2026-06-04T06:03:50.9079490Z         },
2026-06-04T06:03:50.9080418Z         "int": {
2026-06-04T06:03:50.9081803Z           "complete": false,
2026-06-04T06:03:50.9083065Z           "evidence": []
2026-06-04T06:03:50.9084183Z         },
2026-06-04T06:03:50.9085123Z         "unit": {
2026-06-04T06:03:50.9086180Z           "complete": true,
2026-06-04T06:03:50.9087365Z           "evidence": [
2026-06-04T06:03:50.9088448Z             {
2026-06-04T06:03:50.9089700Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9091276Z               "line": 193
2026-06-04T06:03:50.9092402Z             },
2026-06-04T06:03:50.9093379Z             {
2026-06-04T06:03:50.9094598Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9096159Z               "line": 211
2026-06-04T06:03:50.9097276Z             },
2026-06-04T06:03:50.9098245Z             {
2026-06-04T06:03:50.9099476Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T06:03:50.9101217Z               "line": 224
2026-06-04T06:03:50.9102328Z             }
2026-06-04T06:03:50.9103295Z           ]
2026-06-04T06:03:50.9104236Z         }
2026-06-04T06:03:50.9105148Z       }
2026-06-04T06:03:50.9105544Z     },
2026-06-04T06:03:50.9105954Z     {
2026-06-04T06:03:50.9106398Z       "id": "REQ-EP-3",
2026-06-04T06:03:50.9107477Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T06:03:50.9107953Z       "requiredStages": [
2026-06-04T06:03:50.9108365Z         "impl",
2026-06-04T06:03:50.9108790Z         "unit"
2026-06-04T06:03:50.9109244Z       ],
2026-06-04T06:03:50.9109684Z       "stages": {
2026-06-04T06:03:50.9110096Z         "doc": {
2026-06-04T06:03:50.9110571Z           "complete": false,
2026-06-04T06:03:50.9111010Z           "evidence": []
2026-06-04T06:03:50.9111429Z         },
2026-06-04T06:03:50.9111854Z         "impl": {
2026-06-04T06:03:50.9118871Z           "complete": true,
2026-06-04T06:03:50.9119545Z           "evidence": [
2026-06-04T06:03:50.9120025Z             {
2026-06-04T06:03:50.9120718Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9121176Z               "line": 31
2026-06-04T06:03:50.9121612Z             },
2026-06-04T06:03:50.9122031Z             {
2026-06-04T06:03:50.9122680Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9123136Z               "line": 49
2026-06-04T06:03:50.9123588Z             }
2026-06-04T06:03:50.9124012Z           ]
2026-06-04T06:03:50.9124423Z         },
2026-06-04T06:03:50.9124856Z         "int": {
2026-06-04T06:03:50.9125334Z           "complete": false,
2026-06-04T06:03:50.9125785Z           "evidence": []
2026-06-04T06:03:50.9126209Z         },
2026-06-04T06:03:50.9126642Z         "unit": {
2026-06-04T06:03:50.9127123Z           "complete": true,
2026-06-04T06:03:50.9127564Z           "evidence": [
2026-06-04T06:03:50.9127988Z             {
2026-06-04T06:03:50.9129120Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9129680Z               "line": 156
2026-06-04T06:03:50.9130309Z             },
2026-06-04T06:03:50.9130764Z             {
2026-06-04T06:03:50.9131544Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9132029Z               "line": 164
2026-06-04T06:03:50.9132777Z             },
2026-06-04T06:03:50.9133202Z             {
2026-06-04T06:03:50.9133858Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9134311Z               "line": 177
2026-06-04T06:03:50.9134743Z             },
2026-06-04T06:03:50.9135156Z             {
2026-06-04T06:03:50.9135816Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9136279Z               "line": 197
2026-06-04T06:03:50.9136697Z             },
2026-06-04T06:03:50.9137121Z             {
2026-06-04T06:03:50.9137778Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9138240Z               "line": 213
2026-06-04T06:03:50.9138671Z             },
2026-06-04T06:03:50.9139101Z             {
2026-06-04T06:03:50.9140125Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T06:03:50.9140792Z               "line": 227
2026-06-04T06:03:50.9141239Z             }
2026-06-04T06:03:50.9141657Z           ]
2026-06-04T06:03:50.9142082Z         }
2026-06-04T06:03:50.9142499Z       }
2026-06-04T06:03:50.9142925Z     },
2026-06-04T06:03:50.9143349Z     {
2026-06-04T06:03:50.9143802Z       "id": "REQ-EP-4",
2026-06-04T06:03:50.9144625Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T06:03:50.9145101Z       "requiredStages": [
2026-06-04T06:03:50.9145537Z         "impl",
2026-06-04T06:03:50.9145965Z         "unit"
2026-06-04T06:03:50.9146395Z       ],
2026-06-04T06:03:50.9146841Z       "stages": {
2026-06-04T06:03:50.9147266Z         "doc": {
2026-06-04T06:03:50.9147745Z           "complete": false,
2026-06-04T06:03:50.9148197Z           "evidence": []
2026-06-04T06:03:50.9148621Z         },
2026-06-04T06:03:50.9149048Z         "impl": {
2026-06-04T06:03:50.9150054Z           "complete": true,
2026-06-04T06:03:50.9150521Z           "evidence": [
2026-06-04T06:03:50.9150953Z             {
2026-06-04T06:03:50.9151585Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:50.9152035Z               "line": 404
2026-06-04T06:03:50.9152467Z             },
2026-06-04T06:03:50.9152883Z             {
2026-06-04T06:03:50.9153512Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:50.9153971Z               "line": 603
2026-06-04T06:03:50.9154396Z             },
2026-06-04T06:03:50.9154822Z             {
2026-06-04T06:03:50.9155464Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:50.9155930Z               "line": 671
2026-06-04T06:03:50.9156362Z             },
2026-06-04T06:03:50.9156783Z             {
2026-06-04T06:03:50.9157401Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.9157848Z               "line": 83
2026-06-04T06:03:50.9158279Z             },
2026-06-04T06:03:50.9158713Z             {
2026-06-04T06:03:50.9159373Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.9160187Z               "line": 372
2026-06-04T06:03:50.9160606Z             },
2026-06-04T06:03:50.9161035Z             {
2026-06-04T06:03:50.9161636Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.9162098Z               "line": 443
2026-06-04T06:03:50.9162542Z             },
2026-06-04T06:03:50.9162990Z             {
2026-06-04T06:03:50.9163651Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.9164093Z               "line": 181
2026-06-04T06:03:50.9164516Z             },
2026-06-04T06:03:50.9164935Z             {
2026-06-04T06:03:50.9165597Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.9166044Z               "line": 300
2026-06-04T06:03:50.9166477Z             },
2026-06-04T06:03:50.9166902Z             {
2026-06-04T06:03:50.9167551Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T06:03:50.9168024Z               "line": 602
2026-06-04T06:03:50.9168440Z             }
2026-06-04T06:03:50.9168870Z           ]
2026-06-04T06:03:50.9169320Z         },
2026-06-04T06:03:50.9169757Z         "int": {
2026-06-04T06:03:50.9170236Z           "complete": false,
2026-06-04T06:03:50.9170693Z           "evidence": []
2026-06-04T06:03:50.9171118Z         },
2026-06-04T06:03:50.9171543Z         "unit": {
2026-06-04T06:03:50.9172018Z           "complete": true,
2026-06-04T06:03:50.9172465Z           "evidence": [
2026-06-04T06:03:50.9172893Z             {
2026-06-04T06:03:50.9173502Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T06:03:50.9173948Z               "line": 516
2026-06-04T06:03:50.9174373Z             },
2026-06-04T06:03:50.9174784Z             {
2026-06-04T06:03:50.9175483Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T06:03:50.9175938Z               "line": 75
2026-06-04T06:03:50.9176366Z             },
2026-06-04T06:03:50.9176811Z             {
2026-06-04T06:03:50.9177494Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T06:03:50.9178152Z               "line": 131
2026-06-04T06:03:50.9178585Z             }
2026-06-04T06:03:50.9179018Z           ]
2026-06-04T06:03:50.9179651Z         }
2026-06-04T06:03:50.9180231Z       }
2026-06-04T06:03:50.9180655Z     },
2026-06-04T06:03:50.9181059Z     {
2026-06-04T06:03:50.9181527Z       "id": "REQ-EP-5",
2026-06-04T06:03:50.9185997Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-04T06:03:50.9186495Z       "requiredStages": [],
2026-06-04T06:03:50.9186941Z       "stages": {
2026-06-04T06:03:50.9187369Z         "doc": {
2026-06-04T06:03:50.9187855Z           "complete": false,
2026-06-04T06:03:50.9188307Z           "evidence": []
2026-06-04T06:03:50.9188731Z         },
2026-06-04T06:03:50.9189371Z         "impl": {
2026-06-04T06:03:50.9189869Z           "complete": false,
2026-06-04T06:03:50.9190353Z           "evidence": []
2026-06-04T06:03:50.9190773Z         },
2026-06-04T06:03:50.9191207Z         "int": {
2026-06-04T06:03:50.9191682Z           "complete": false,
2026-06-04T06:03:50.9192145Z           "evidence": []
2026-06-04T06:03:50.9192559Z         },
2026-06-04T06:03:50.9193000Z         "unit": {
2026-06-04T06:03:50.9193487Z           "complete": false,
2026-06-04T06:03:50.9193941Z           "evidence": []
2026-06-04T06:03:50.9194366Z         }
2026-06-04T06:03:50.9194779Z       }
2026-06-04T06:03:50.9195198Z     },
2026-06-04T06:03:50.9195609Z     {
2026-06-04T06:03:50.9196085Z       "id": "REQ-FRONT-1",
2026-06-04T06:03:50.9197106Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T06:03:50.9197590Z       "requiredStages": [],
2026-06-04T06:03:50.9198030Z       "stages": {
2026-06-04T06:03:50.9198455Z         "doc": {
2026-06-04T06:03:50.9198951Z           "complete": false,
2026-06-04T06:03:50.9199450Z           "evidence": []
2026-06-04T06:03:50.9199893Z         },
2026-06-04T06:03:50.9200339Z         "impl": {
2026-06-04T06:03:50.9200806Z           "complete": false,
2026-06-04T06:03:50.9201272Z           "evidence": []
2026-06-04T06:03:50.9201683Z         },
2026-06-04T06:03:50.9202121Z         "int": {
2026-06-04T06:03:50.9202590Z           "complete": false,
2026-06-04T06:03:50.9209627Z           "evidence": []
2026-06-04T06:03:50.9210118Z         },
2026-06-04T06:03:50.9210571Z         "unit": {
2026-06-04T06:03:50.9211059Z           "complete": false,
2026-06-04T06:03:50.9211515Z           "evidence": []
2026-06-04T06:03:50.9211939Z         }
2026-06-04T06:03:50.9212354Z       }
2026-06-04T06:03:50.9212772Z     },
2026-06-04T06:03:50.9213177Z     {
2026-06-04T06:03:50.9213808Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T06:03:50.9214834Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T06:03:50.9215353Z       "requiredStages": [
2026-06-04T06:03:50.9215792Z         "impl",
2026-06-04T06:03:50.9216227Z         "unit"
2026-06-04T06:03:50.9216648Z       ],
2026-06-04T06:03:50.9217090Z       "stages": {
2026-06-04T06:03:50.9217525Z         "doc": {
2026-06-04T06:03:50.9218007Z           "complete": false,
2026-06-04T06:03:50.9218455Z           "evidence": []
2026-06-04T06:03:50.9218876Z         },
2026-06-04T06:03:50.9219334Z         "impl": {
2026-06-04T06:03:50.9219815Z           "complete": true,
2026-06-04T06:03:50.9220267Z           "evidence": [
2026-06-04T06:03:50.9220698Z             {
2026-06-04T06:03:50.9221362Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.9221806Z               "line": 60
2026-06-04T06:03:50.9222233Z             },
2026-06-04T06:03:50.9222649Z             {
2026-06-04T06:03:50.9223270Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.9223729Z               "line": 18
2026-06-04T06:03:50.9224164Z             },
2026-06-04T06:03:50.9224590Z             {
2026-06-04T06:03:50.9225462Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.9225932Z               "line": 94
2026-06-04T06:03:50.9226348Z             }
2026-06-04T06:03:50.9226774Z           ]
2026-06-04T06:03:50.9227199Z         },
2026-06-04T06:03:50.9227622Z         "int": {
2026-06-04T06:03:50.9228104Z           "complete": false,
2026-06-04T06:03:50.9228558Z           "evidence": []
2026-06-04T06:03:50.9228986Z         },
2026-06-04T06:03:50.9229449Z         "unit": {
2026-06-04T06:03:50.9229936Z           "complete": true,
2026-06-04T06:03:50.9230389Z           "evidence": [
2026-06-04T06:03:50.9230810Z             {
2026-06-04T06:03:50.9231471Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:50.9231918Z               "line": 272
2026-06-04T06:03:50.9232342Z             },
2026-06-04T06:03:50.9232762Z             {
2026-06-04T06:03:50.9233376Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.9233988Z               "line": 152
2026-06-04T06:03:50.9234408Z             },
2026-06-04T06:03:50.9234844Z             {
2026-06-04T06:03:50.9235447Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.9235909Z               "line": 188
2026-06-04T06:03:50.9236322Z             }
2026-06-04T06:03:50.9236746Z           ]
2026-06-04T06:03:50.9237171Z         }
2026-06-04T06:03:50.9237576Z       }
2026-06-04T06:03:50.9237995Z     },
2026-06-04T06:03:50.9238401Z     {
2026-06-04T06:03:50.9239048Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T06:03:50.9242979Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-04T06:03:50.9243469Z       "requiredStages": [
2026-06-04T06:03:50.9243902Z         "impl",
2026-06-04T06:03:50.9244326Z         "unit"
2026-06-04T06:03:50.9244758Z       ],
2026-06-04T06:03:50.9245188Z       "stages": {
2026-06-04T06:03:50.9245618Z         "doc": {
2026-06-04T06:03:50.9246102Z           "complete": false,
2026-06-04T06:03:50.9246567Z           "evidence": []
2026-06-04T06:03:50.9246991Z         },
2026-06-04T06:03:50.9247417Z         "impl": {
2026-06-04T06:03:50.9247888Z           "complete": true,
2026-06-04T06:03:50.9248341Z           "evidence": [
2026-06-04T06:03:50.9248767Z             {
2026-06-04T06:03:50.9249472Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T06:03:50.9249926Z               "line": 22
2026-06-04T06:03:50.9250354Z             },
2026-06-04T06:03:50.9250767Z             {
2026-06-04T06:03:50.9251425Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T06:03:50.9251874Z               "line": 17
2026-06-04T06:03:50.9252302Z             },
2026-06-04T06:03:50.9252717Z             {
2026-06-04T06:03:50.9253381Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T06:03:50.9253857Z               "line": 125
2026-06-04T06:03:50.9254276Z             },
2026-06-04T06:03:50.9254705Z             {
2026-06-04T06:03:50.9255409Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:50.9255870Z               "line": 169
2026-06-04T06:03:50.9256287Z             },
2026-06-04T06:03:50.9256719Z             {
2026-06-04T06:03:50.9257426Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:50.9257879Z               "line": 197
2026-06-04T06:03:50.9258304Z             },
2026-06-04T06:03:50.9258723Z             {
2026-06-04T06:03:50.9259472Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:50.9259933Z               "line": 223
2026-06-04T06:03:50.9260351Z             },
2026-06-04T06:03:50.9260772Z             {
2026-06-04T06:03:50.9261437Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:50.9261895Z               "line": 122
2026-06-04T06:03:50.9262313Z             },
2026-06-04T06:03:50.9262747Z             {
2026-06-04T06:03:50.9263415Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:50.9264014Z               "line": 222
2026-06-04T06:03:50.9264453Z             }
2026-06-04T06:03:50.9264869Z           ]
2026-06-04T06:03:50.9265293Z         },
2026-06-04T06:03:50.9265714Z         "int": {
2026-06-04T06:03:50.9266197Z           "complete": false,
2026-06-04T06:03:50.9266660Z           "evidence": []
2026-06-04T06:03:50.9267073Z         },
2026-06-04T06:03:50.9267511Z         "unit": {
2026-06-04T06:03:50.9267984Z           "complete": true,
2026-06-04T06:03:50.9268451Z           "evidence": [
2026-06-04T06:03:50.9268863Z             {
2026-06-04T06:03:50.9269587Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T06:03:50.9270038Z               "line": 53
2026-06-04T06:03:50.9270456Z             },
2026-06-04T06:03:50.9270883Z             {
2026-06-04T06:03:50.9271552Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T06:03:50.9272148Z               "line": 60
2026-06-04T06:03:50.9272567Z             },
2026-06-04T06:03:50.9272992Z             {
2026-06-04T06:03:50.9273676Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T06:03:50.9274120Z               "line": 72
2026-06-04T06:03:50.9274540Z             },
2026-06-04T06:03:50.9274951Z             {
2026-06-04T06:03:50.9275611Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T06:03:50.9276056Z               "line": 247
2026-06-04T06:03:50.9276481Z             },
2026-06-04T06:03:50.9276900Z             {
2026-06-04T06:03:50.9277544Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T06:03:50.9278005Z               "line": 282
2026-06-04T06:03:50.9278415Z             },
2026-06-04T06:03:50.9278840Z             {
2026-06-04T06:03:50.9279518Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T06:03:50.9279978Z               "line": 313
2026-06-04T06:03:50.9280408Z             },
2026-06-04T06:03:50.9280830Z             {
2026-06-04T06:03:50.9281536Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:50.9281995Z               "line": 400
2026-06-04T06:03:50.9282415Z             },
2026-06-04T06:03:50.9282825Z             {
2026-06-04T06:03:50.9283499Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:50.9283955Z               "line": 383
2026-06-04T06:03:50.9284374Z             },
2026-06-04T06:03:50.9284797Z             {
2026-06-04T06:03:50.9285453Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:50.9285907Z               "line": 420
2026-06-04T06:03:50.9286332Z             }
2026-06-04T06:03:50.9286751Z           ]
2026-06-04T06:03:50.9287171Z         }
2026-06-04T06:03:50.9287587Z       }
2026-06-04T06:03:50.9288001Z     },
2026-06-04T06:03:50.9288414Z     {
2026-06-04T06:03:50.9288950Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T06:03:50.9290278Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T06:03:50.9290785Z       "requiredStages": [
2026-06-04T06:03:50.9291224Z         "impl",
2026-06-04T06:03:50.9291656Z         "unit"
2026-06-04T06:03:50.9297773Z       ],
2026-06-04T06:03:50.9298276Z       "stages": {
2026-06-04T06:03:50.9298693Z         "doc": {
2026-06-04T06:03:50.9299152Z           "complete": false,
2026-06-04T06:03:50.9299687Z           "evidence": []
2026-06-04T06:03:50.9300097Z         },
2026-06-04T06:03:50.9300511Z         "impl": {
2026-06-04T06:03:50.9300968Z           "complete": true,
2026-06-04T06:03:50.9301401Z           "evidence": [
2026-06-04T06:03:50.9301810Z             {
2026-06-04T06:03:50.9302410Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T06:03:50.9302853Z               "line": 164
2026-06-04T06:03:50.9303257Z             }
2026-06-04T06:03:50.9303650Z           ]
2026-06-04T06:03:50.9304055Z         },
2026-06-04T06:03:50.9304463Z         "int": {
2026-06-04T06:03:50.9304920Z           "complete": true,
2026-06-04T06:03:50.9305386Z           "evidence": [
2026-06-04T06:03:50.9305795Z             {
2026-06-04T06:03:50.9306624Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T06:03:50.9307068Z               "line": 44
2026-06-04T06:03:50.9307478Z             },
2026-06-04T06:03:50.9307876Z             {
2026-06-04T06:03:50.9308468Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T06:03:50.9308904Z               "line": 66
2026-06-04T06:03:50.9309338Z             }
2026-06-04T06:03:50.9309750Z           ]
2026-06-04T06:03:50.9310147Z         },
2026-06-04T06:03:50.9310567Z         "unit": {
2026-06-04T06:03:50.9311015Z           "complete": true,
2026-06-04T06:03:50.9311457Z           "evidence": [
2026-06-04T06:03:50.9311856Z             {
2026-06-04T06:03:50.9312458Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T06:03:50.9312896Z               "line": 181
2026-06-04T06:03:50.9313300Z             },
2026-06-04T06:03:50.9313707Z             {
2026-06-04T06:03:50.9314483Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T06:03:50.9314926Z               "line": 233
2026-06-04T06:03:50.9315351Z             },
2026-06-04T06:03:50.9315747Z             {
2026-06-04T06:03:50.9316349Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T06:03:50.9316778Z               "line": 261
2026-06-04T06:03:50.9317186Z             }
2026-06-04T06:03:50.9317589Z           ]
2026-06-04T06:03:50.9317993Z         }
2026-06-04T06:03:50.9318389Z       }
2026-06-04T06:03:50.9318779Z     },
2026-06-04T06:03:50.9319213Z     {
2026-06-04T06:03:50.9319825Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T06:03:50.9322583Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-04T06:03:50.9323048Z       "requiredStages": [
2026-06-04T06:03:50.9323462Z         "impl",
2026-06-04T06:03:50.9323875Z         "unit",
2026-06-04T06:03:50.9324285Z         "int"
2026-06-04T06:03:50.9324688Z       ],
2026-06-04T06:03:50.9325101Z       "stages": {
2026-06-04T06:03:50.9325523Z         "doc": {
2026-06-04T06:03:50.9325984Z           "complete": false,
2026-06-04T06:03:50.9326433Z           "evidence": []
2026-06-04T06:03:50.9326848Z         },
2026-06-04T06:03:50.9327259Z         "impl": {
2026-06-04T06:03:50.9327715Z           "complete": true,
2026-06-04T06:03:50.9328142Z           "evidence": [
2026-06-04T06:03:50.9328553Z             {
2026-06-04T06:03:50.9329239Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.9329691Z               "line": 150
2026-06-04T06:03:50.9330107Z             },
2026-06-04T06:03:50.9330513Z             {
2026-06-04T06:03:50.9331161Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.9331591Z               "line": 169
2026-06-04T06:03:50.9332004Z             },
2026-06-04T06:03:50.9332403Z             {
2026-06-04T06:03:50.9332999Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:50.9333443Z               "line": 79
2026-06-04T06:03:50.9333841Z             },
2026-06-04T06:03:50.9334257Z             {
2026-06-04T06:03:50.9334820Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:50.9335252Z               "line": 51
2026-06-04T06:03:50.9335655Z             },
2026-06-04T06:03:50.9336058Z             {
2026-06-04T06:03:50.9336646Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9337083Z               "line": 101
2026-06-04T06:03:50.9337490Z             },
2026-06-04T06:03:50.9337884Z             {
2026-06-04T06:03:50.9338515Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9338945Z               "line": 27
2026-06-04T06:03:50.9339386Z             },
2026-06-04T06:03:50.9339800Z             {
2026-06-04T06:03:50.9340424Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9340860Z               "line": 79
2026-06-04T06:03:50.9341265Z             },
2026-06-04T06:03:50.9341688Z             {
2026-06-04T06:03:50.9342316Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9342904Z               "line": 102
2026-06-04T06:03:50.9343335Z             },
2026-06-04T06:03:50.9343739Z             {
2026-06-04T06:03:50.9344372Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:50.9344804Z               "line": 108
2026-06-04T06:03:50.9345215Z             }
2026-06-04T06:03:50.9345621Z           ]
2026-06-04T06:03:50.9346015Z         },
2026-06-04T06:03:50.9346426Z         "int": {
2026-06-04T06:03:50.9346874Z           "complete": true,
2026-06-04T06:03:50.9347305Z           "evidence": [
2026-06-04T06:03:50.9347702Z             {
2026-06-04T06:03:50.9348389Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T06:03:50.9348832Z               "line": 35
2026-06-04T06:03:50.9349264Z             }
2026-06-04T06:03:50.9349673Z           ]
2026-06-04T06:03:50.9350073Z         },
2026-06-04T06:03:50.9350652Z         "unit": {
2026-06-04T06:03:50.9351098Z           "complete": true,
2026-06-04T06:03:50.9351536Z           "evidence": [
2026-06-04T06:03:50.9351944Z             {
2026-06-04T06:03:50.9352600Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.9353043Z               "line": 484
2026-06-04T06:03:50.9353440Z             },
2026-06-04T06:03:50.9353848Z             {
2026-06-04T06:03:50.9354428Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9354865Z               "line": 236
2026-06-04T06:03:50.9355280Z             },
2026-06-04T06:03:50.9355682Z             {
2026-06-04T06:03:50.9356316Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9356751Z               "line": 124
2026-06-04T06:03:50.9357165Z             },
2026-06-04T06:03:50.9357563Z             {
2026-06-04T06:03:50.9358197Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9358635Z               "line": 136
2026-06-04T06:03:50.9359048Z             },
2026-06-04T06:03:50.9359499Z             {
2026-06-04T06:03:50.9360139Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9360582Z               "line": 146
2026-06-04T06:03:50.9360984Z             },
2026-06-04T06:03:50.9361394Z             {
2026-06-04T06:03:50.9362032Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9362459Z               "line": 159
2026-06-04T06:03:50.9362871Z             },
2026-06-04T06:03:50.9363268Z             {
2026-06-04T06:03:50.9363902Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T06:03:50.9364336Z               "line": 171
2026-06-04T06:03:50.9364741Z             },
2026-06-04T06:03:50.9365147Z             {
2026-06-04T06:03:50.9365777Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:50.9366217Z               "line": 207
2026-06-04T06:03:50.9366616Z             }
2026-06-04T06:03:50.9367026Z           ]
2026-06-04T06:03:50.9367425Z         }
2026-06-04T06:03:50.9367841Z       }
2026-06-04T06:03:50.9368240Z     },
2026-06-04T06:03:50.9368632Z     {
2026-06-04T06:03:50.9369303Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T06:03:50.9373664Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-04T06:03:50.9374149Z       "requiredStages": [],
2026-06-04T06:03:50.9374575Z       "stages": {
2026-06-04T06:03:50.9374981Z         "doc": {
2026-06-04T06:03:50.9375444Z           "complete": false,
2026-06-04T06:03:50.9375883Z           "evidence": []
2026-06-04T06:03:50.9376288Z         },
2026-06-04T06:03:50.9376700Z         "impl": {
2026-06-04T06:03:50.9377162Z           "complete": false,
2026-06-04T06:03:50.9377605Z           "evidence": []
2026-06-04T06:03:50.9378006Z         },
2026-06-04T06:03:50.9384026Z         "int": {
2026-06-04T06:03:50.9384608Z           "complete": false,
2026-06-04T06:03:50.9385056Z           "evidence": []
2026-06-04T06:03:50.9385688Z         },
2026-06-04T06:03:50.9386135Z         "unit": {
2026-06-04T06:03:50.9386601Z           "complete": false,
2026-06-04T06:03:50.9387049Z           "evidence": []
2026-06-04T06:03:50.9387451Z         }
2026-06-04T06:03:50.9387857Z       }
2026-06-04T06:03:50.9388259Z     },
2026-06-04T06:03:50.9388650Z     {
2026-06-04T06:03:50.9389251Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T06:03:50.9390314Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T06:03:50.9390772Z       "requiredStages": [
2026-06-04T06:03:50.9391194Z         "impl",
2026-06-04T06:03:50.9391600Z         "unit"
2026-06-04T06:03:50.9392002Z       ],
2026-06-04T06:03:50.9392416Z       "stages": {
2026-06-04T06:03:50.9392828Z         "doc": {
2026-06-04T06:03:50.9393286Z           "complete": false,
2026-06-04T06:03:50.9393720Z           "evidence": []
2026-06-04T06:03:50.9394276Z         },
2026-06-04T06:03:50.9394689Z         "impl": {
2026-06-04T06:03:50.9395157Z           "complete": true,
2026-06-04T06:03:50.9395588Z           "evidence": [
2026-06-04T06:03:50.9395999Z             {
2026-06-04T06:03:50.9396608Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9397035Z               "line": 40
2026-06-04T06:03:50.9397443Z             },
2026-06-04T06:03:50.9397841Z             {
2026-06-04T06:03:50.9398437Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9398863Z               "line": 98
2026-06-04T06:03:50.9399311Z             },
2026-06-04T06:03:50.9399721Z             {
2026-06-04T06:03:50.9400314Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9400754Z               "line": 209
2026-06-04T06:03:50.9401150Z             },
2026-06-04T06:03:50.9401549Z             {
2026-06-04T06:03:50.9402140Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9402588Z               "line": 291
2026-06-04T06:03:50.9402995Z             }
2026-06-04T06:03:50.9403388Z           ]
2026-06-04T06:03:50.9403804Z         },
2026-06-04T06:03:50.9404209Z         "int": {
2026-06-04T06:03:50.9404673Z           "complete": false,
2026-06-04T06:03:50.9405102Z           "evidence": []
2026-06-04T06:03:50.9405506Z         },
2026-06-04T06:03:50.9405919Z         "unit": {
2026-06-04T06:03:50.9406368Z           "complete": true,
2026-06-04T06:03:50.9406804Z           "evidence": [
2026-06-04T06:03:50.9407201Z             {
2026-06-04T06:03:50.9407800Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9408231Z               "line": 326
2026-06-04T06:03:50.9408635Z             },
2026-06-04T06:03:50.9409040Z             {
2026-06-04T06:03:50.9409667Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9410111Z               "line": 372
2026-06-04T06:03:50.9410513Z             },
2026-06-04T06:03:50.9410916Z             {
2026-06-04T06:03:50.9411519Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9411957Z               "line": 413
2026-06-04T06:03:50.9412363Z             },
2026-06-04T06:03:50.9412756Z             {
2026-06-04T06:03:50.9413356Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9413783Z               "line": 432
2026-06-04T06:03:50.9414184Z             }
2026-06-04T06:03:50.9414578Z           ]
2026-06-04T06:03:50.9414985Z         }
2026-06-04T06:03:50.9415386Z       }
2026-06-04T06:03:50.9415779Z     },
2026-06-04T06:03:50.9416178Z     {
2026-06-04T06:03:50.9416789Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T06:03:50.9417440Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T06:03:50.9417899Z       "requiredStages": [
2026-06-04T06:03:50.9418311Z         "impl",
2026-06-04T06:03:50.9418721Z         "unit"
2026-06-04T06:03:50.9419114Z       ],
2026-06-04T06:03:50.9419567Z       "stages": {
2026-06-04T06:03:50.9419974Z         "doc": {
2026-06-04T06:03:50.9420449Z           "complete": false,
2026-06-04T06:03:50.9420885Z           "evidence": []
2026-06-04T06:03:50.9421435Z         },
2026-06-04T06:03:50.9421864Z         "impl": {
2026-06-04T06:03:50.9422306Z           "complete": true,
2026-06-04T06:03:50.9422748Z           "evidence": [
2026-06-04T06:03:50.9423144Z             {
2026-06-04T06:03:50.9423747Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9424182Z               "line": 111
2026-06-04T06:03:50.9424588Z             },
2026-06-04T06:03:50.9424990Z             {
2026-06-04T06:03:50.9425576Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9426009Z               "line": 202
2026-06-04T06:03:50.9426406Z             }
2026-06-04T06:03:50.9426809Z           ]
2026-06-04T06:03:50.9427204Z         },
2026-06-04T06:03:50.9427614Z         "int": {
2026-06-04T06:03:50.9428068Z           "complete": false,
2026-06-04T06:03:50.9428496Z           "evidence": []
2026-06-04T06:03:50.9428898Z         },
2026-06-04T06:03:50.9429486Z         "unit": {
2026-06-04T06:03:50.9429946Z           "complete": true,
2026-06-04T06:03:50.9430377Z           "evidence": [
2026-06-04T06:03:50.9430783Z             {
2026-06-04T06:03:50.9431385Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9431816Z               "line": 347
2026-06-04T06:03:50.9432225Z             },
2026-06-04T06:03:50.9432616Z             {
2026-06-04T06:03:50.9433224Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:50.9433652Z               "line": 391
2026-06-04T06:03:50.9434062Z             }
2026-06-04T06:03:50.9434466Z           ]
2026-06-04T06:03:50.9434860Z         }
2026-06-04T06:03:50.9435258Z       }
2026-06-04T06:03:50.9435653Z     },
2026-06-04T06:03:50.9436049Z     {
2026-06-04T06:03:50.9436665Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T06:03:50.9437951Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T06:03:50.9438427Z       "requiredStages": [
2026-06-04T06:03:50.9438828Z         "impl",
2026-06-04T06:03:50.9439272Z         "unit"
2026-06-04T06:03:50.9439678Z       ],
2026-06-04T06:03:50.9440102Z       "stages": {
2026-06-04T06:03:50.9440510Z         "doc": {
2026-06-04T06:03:50.9440973Z           "complete": false,
2026-06-04T06:03:50.9441414Z           "evidence": []
2026-06-04T06:03:50.9441806Z         },
2026-06-04T06:03:50.9442225Z         "impl": {
2026-06-04T06:03:50.9442672Z           "complete": true,
2026-06-04T06:03:50.9443107Z           "evidence": [
2026-06-04T06:03:50.9443504Z             {
2026-06-04T06:03:50.9444118Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9444552Z               "line": 26
2026-06-04T06:03:50.9444954Z             },
2026-06-04T06:03:50.9445361Z             {
2026-06-04T06:03:50.9445956Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9446404Z               "line": 126
2026-06-04T06:03:50.9446803Z             },
2026-06-04T06:03:50.9447220Z             {
2026-06-04T06:03:50.9447890Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T06:03:50.9448320Z               "line": 26
2026-06-04T06:03:50.9448728Z             },
2026-06-04T06:03:50.9449124Z             {
2026-06-04T06:03:50.9449835Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T06:03:50.9450266Z               "line": 233
2026-06-04T06:03:50.9450671Z             }
2026-06-04T06:03:50.9451075Z           ]
2026-06-04T06:03:50.9451467Z         },
2026-06-04T06:03:50.9451882Z         "int": {
2026-06-04T06:03:50.9452362Z           "complete": false,
2026-06-04T06:03:50.9452805Z           "evidence": []
2026-06-04T06:03:50.9453201Z         },
2026-06-04T06:03:50.9453616Z         "unit": {
2026-06-04T06:03:50.9454069Z           "complete": true,
2026-06-04T06:03:50.9454493Z           "evidence": [
2026-06-04T06:03:50.9454902Z             {
2026-06-04T06:03:50.9455502Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9455959Z               "line": 152
2026-06-04T06:03:50.9456360Z             },
2026-06-04T06:03:50.9456779Z             {
2026-06-04T06:03:50.9457544Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9457998Z               "line": 161
2026-06-04T06:03:50.9458412Z             },
2026-06-04T06:03:50.9464389Z             {
2026-06-04T06:03:50.9465101Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9465539Z               "line": 170
2026-06-04T06:03:50.9465949Z             },
2026-06-04T06:03:50.9466350Z             {
2026-06-04T06:03:50.9466952Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9467387Z               "line": 179
2026-06-04T06:03:50.9467783Z             },
2026-06-04T06:03:50.9468192Z             {
2026-06-04T06:03:50.9468801Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9469321Z               "line": 188
2026-06-04T06:03:50.9469730Z             },
2026-06-04T06:03:50.9470441Z             {
2026-06-04T06:03:50.9471054Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9471505Z               "line": 199
2026-06-04T06:03:50.9471920Z             },
2026-06-04T06:03:50.9472327Z             {
2026-06-04T06:03:50.9472931Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T06:03:50.9473371Z               "line": 225
2026-06-04T06:03:50.9473769Z             },
2026-06-04T06:03:50.9474172Z             {
2026-06-04T06:03:50.9474764Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:50.9475202Z               "line": 245
2026-06-04T06:03:50.9475610Z             },
2026-06-04T06:03:50.9476006Z             {
2026-06-04T06:03:50.9476613Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:50.9477045Z               "line": 212
2026-06-04T06:03:50.9477457Z             },
2026-06-04T06:03:50.9477851Z             {
2026-06-04T06:03:50.9478524Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T06:03:50.9478977Z               "line": 256
2026-06-04T06:03:50.9479435Z             },
2026-06-04T06:03:50.9479875Z             {
2026-06-04T06:03:50.9480582Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T06:03:50.9481035Z               "line": 281
2026-06-04T06:03:50.9481433Z             },
2026-06-04T06:03:50.9481841Z             {
2026-06-04T06:03:50.9482512Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T06:03:50.9482943Z               "line": 293
2026-06-04T06:03:50.9483355Z             },
2026-06-04T06:03:50.9483761Z             {
2026-06-04T06:03:50.9484421Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T06:03:50.9484849Z               "line": 303
2026-06-04T06:03:50.9485261Z             },
2026-06-04T06:03:50.9485668Z             {
2026-06-04T06:03:50.9486301Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:50.9486737Z               "line": 502
2026-06-04T06:03:50.9487134Z             }
2026-06-04T06:03:50.9487555Z           ]
2026-06-04T06:03:50.9487952Z         }
2026-06-04T06:03:50.9488353Z       }
2026-06-04T06:03:50.9488764Z     },
2026-06-04T06:03:50.9489210Z     {
2026-06-04T06:03:50.9489834Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T06:03:50.9490611Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T06:03:50.9491083Z       "requiredStages": [
2026-06-04T06:03:50.9491488Z         "impl",
2026-06-04T06:03:50.9491898Z         "unit"
2026-06-04T06:03:50.9492304Z       ],
2026-06-04T06:03:50.9492719Z       "stages": {
2026-06-04T06:03:50.9493129Z         "doc": {
2026-06-04T06:03:50.9493582Z           "complete": false,
2026-06-04T06:03:50.9494023Z           "evidence": []
2026-06-04T06:03:50.9494428Z         },
2026-06-04T06:03:50.9494856Z         "impl": {
2026-06-04T06:03:50.9495311Z           "complete": true,
2026-06-04T06:03:50.9495743Z           "evidence": [
2026-06-04T06:03:50.9496149Z             {
2026-06-04T06:03:50.9496723Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:50.9497163Z               "line": 25
2026-06-04T06:03:50.9497719Z             },
2026-06-04T06:03:50.9498153Z             {
2026-06-04T06:03:50.9498766Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:50.9499269Z               "line": 26
2026-06-04T06:03:50.9499686Z             },
2026-06-04T06:03:50.9500083Z             {
2026-06-04T06:03:50.9500687Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:50.9501119Z               "line": 153
2026-06-04T06:03:50.9501530Z             }
2026-06-04T06:03:50.9501931Z           ]
2026-06-04T06:03:50.9502327Z         },
2026-06-04T06:03:50.9502739Z         "int": {
2026-06-04T06:03:50.9503191Z           "complete": false,
2026-06-04T06:03:50.9503638Z           "evidence": []
2026-06-04T06:03:50.9504037Z         },
2026-06-04T06:03:50.9504457Z         "unit": {
2026-06-04T06:03:50.9504913Z           "complete": true,
2026-06-04T06:03:50.9505342Z           "evidence": [
2026-06-04T06:03:50.9505914Z             {
2026-06-04T06:03:50.9506494Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:50.9506949Z               "line": 180
2026-06-04T06:03:50.9507356Z             },
2026-06-04T06:03:50.9507763Z             {
2026-06-04T06:03:50.9508344Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:50.9508781Z               "line": 205
2026-06-04T06:03:50.9509235Z             },
2026-06-04T06:03:50.9509629Z             {
2026-06-04T06:03:50.9510227Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:50.9510652Z               "line": 180
2026-06-04T06:03:50.9511059Z             }
2026-06-04T06:03:50.9511459Z           ]
2026-06-04T06:03:50.9511851Z         }
2026-06-04T06:03:50.9512255Z       }
2026-06-04T06:03:50.9512645Z     },
2026-06-04T06:03:50.9513049Z     {
2026-06-04T06:03:50.9513630Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T06:03:50.9514680Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T06:03:50.9515270Z       "requiredStages": [
2026-06-04T06:03:50.9515749Z         "impl",
2026-06-04T06:03:50.9516216Z         "unit"
2026-06-04T06:03:50.9516668Z       ],
2026-06-04T06:03:50.9517143Z       "stages": {
2026-06-04T06:03:50.9517596Z         "doc": {
2026-06-04T06:03:50.9518098Z           "complete": false,
2026-06-04T06:03:50.9518587Z           "evidence": []
2026-06-04T06:03:50.9519022Z         },
2026-06-04T06:03:50.9519750Z         "impl": {
2026-06-04T06:03:50.9520438Z           "complete": true,
2026-06-04T06:03:50.9520926Z           "evidence": [
2026-06-04T06:03:50.9521392Z             {
2026-06-04T06:03:50.9522097Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9522613Z               "line": 48
2026-06-04T06:03:50.9523070Z             },
2026-06-04T06:03:50.9523548Z             {
2026-06-04T06:03:50.9524228Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9524726Z               "line": 55
2026-06-04T06:03:50.9525208Z             },
2026-06-04T06:03:50.9525664Z             {
2026-06-04T06:03:50.9526329Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9526802Z               "line": 74
2026-06-04T06:03:50.9527252Z             },
2026-06-04T06:03:50.9527739Z             {
2026-06-04T06:03:50.9528437Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9528931Z               "line": 91
2026-06-04T06:03:50.9529539Z             }
2026-06-04T06:03:50.9530175Z           ]
2026-06-04T06:03:50.9530745Z         },
2026-06-04T06:03:50.9531187Z         "int": {
2026-06-04T06:03:50.9531697Z           "complete": false,
2026-06-04T06:03:50.9532171Z           "evidence": []
2026-06-04T06:03:50.9532610Z         },
2026-06-04T06:03:50.9533076Z         "unit": {
2026-06-04T06:03:50.9533576Z           "complete": true,
2026-06-04T06:03:50.9534057Z           "evidence": [
2026-06-04T06:03:50.9534516Z             {
2026-06-04T06:03:50.9535200Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9535717Z               "line": 149
2026-06-04T06:03:50.9536163Z             },
2026-06-04T06:03:50.9536906Z             {
2026-06-04T06:03:50.9537629Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9538091Z               "line": 163
2026-06-04T06:03:50.9538533Z             },
2026-06-04T06:03:50.9538956Z             {
2026-06-04T06:03:50.9539974Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9540466Z               "line": 173
2026-06-04T06:03:50.9540915Z             },
2026-06-04T06:03:50.9541367Z             {
2026-06-04T06:03:50.9542030Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9542538Z               "line": 191
2026-06-04T06:03:50.9542961Z             },
2026-06-04T06:03:50.9543407Z             {
2026-06-04T06:03:50.9544052Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:50.9552345Z               "line": 204
2026-06-04T06:03:50.9552921Z             }
2026-06-04T06:03:50.9553754Z           ]
2026-06-04T06:03:50.9554206Z         }
2026-06-04T06:03:50.9554648Z       }
2026-06-04T06:03:50.9555119Z     },
2026-06-04T06:03:50.9555565Z     {
2026-06-04T06:03:50.9556361Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T06:03:50.9557542Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T06:03:50.9558052Z       "requiredStages": [
2026-06-04T06:03:50.9558513Z         "impl",
2026-06-04T06:03:50.9558962Z         "unit"
2026-06-04T06:03:50.9559617Z       ],
2026-06-04T06:03:50.9560077Z       "stages": {
2026-06-04T06:03:50.9560515Z         "doc": {
2026-06-04T06:03:50.9561015Z           "complete": false,
2026-06-04T06:03:50.9561497Z           "evidence": []
2026-06-04T06:03:50.9561942Z         },
2026-06-04T06:03:50.9562390Z         "impl": {
2026-06-04T06:03:50.9562874Z           "complete": true,
2026-06-04T06:03:50.9563339Z           "evidence": [
2026-06-04T06:03:50.9563918Z             {
2026-06-04T06:03:50.9564687Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.9565339Z               "line": 281
2026-06-04T06:03:50.9565802Z             },
2026-06-04T06:03:50.9566235Z             {
2026-06-04T06:03:50.9566897Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:50.9567378Z               "line": 26
2026-06-04T06:03:50.9567844Z             }
2026-06-04T06:03:50.9568286Z           ]
2026-06-04T06:03:50.9568713Z         },
2026-06-04T06:03:50.9569215Z         "int": {
2026-06-04T06:03:50.9570013Z           "complete": false,
2026-06-04T06:03:50.9570505Z           "evidence": []
2026-06-04T06:03:50.9570956Z         },
2026-06-04T06:03:50.9571408Z         "unit": {
2026-06-04T06:03:50.9571934Z           "complete": true,
2026-06-04T06:03:50.9572415Z           "evidence": [
2026-06-04T06:03:50.9572881Z             {
2026-06-04T06:03:50.9573544Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:50.9574052Z               "line": 139
2026-06-04T06:03:50.9574529Z             },
2026-06-04T06:03:50.9574976Z             {
2026-06-04T06:03:50.9575656Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:50.9576154Z               "line": 182
2026-06-04T06:03:50.9576594Z             }
2026-06-04T06:03:50.9577020Z           ]
2026-06-04T06:03:50.9577448Z         }
2026-06-04T06:03:50.9577881Z       }
2026-06-04T06:03:50.9578304Z     },
2026-06-04T06:03:50.9578739Z     {
2026-06-04T06:03:50.9579628Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T06:03:50.9580679Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T06:03:50.9581157Z       "requiredStages": [
2026-06-04T06:03:50.9581604Z         "impl",
2026-06-04T06:03:50.9582049Z         "unit"
2026-06-04T06:03:50.9582476Z       ],
2026-06-04T06:03:50.9582933Z       "stages": {
2026-06-04T06:03:50.9583367Z         "doc": {
2026-06-04T06:03:50.9583859Z           "complete": false,
2026-06-04T06:03:50.9584317Z           "evidence": []
2026-06-04T06:03:50.9584771Z         },
2026-06-04T06:03:50.9585226Z         "impl": {
2026-06-04T06:03:50.9585716Z           "complete": true,
2026-06-04T06:03:50.9586493Z           "evidence": [
2026-06-04T06:03:50.9586975Z             {
2026-06-04T06:03:50.9587669Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9588130Z               "line": 36
2026-06-04T06:03:50.9588567Z             },
2026-06-04T06:03:50.9589001Z             {
2026-06-04T06:03:50.9590030Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9590488Z               "line": 68
2026-06-04T06:03:50.9590919Z             }
2026-06-04T06:03:50.9591361Z           ]
2026-06-04T06:03:50.9591788Z         },
2026-06-04T06:03:50.9592230Z         "int": {
2026-06-04T06:03:50.9592726Z           "complete": false,
2026-06-04T06:03:50.9593204Z           "evidence": []
2026-06-04T06:03:50.9593649Z         },
2026-06-04T06:03:50.9594093Z         "unit": {
2026-06-04T06:03:50.9594591Z           "complete": true,
2026-06-04T06:03:50.9595263Z           "evidence": [
2026-06-04T06:03:50.9595703Z             {
2026-06-04T06:03:50.9596408Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9596882Z               "line": 143
2026-06-04T06:03:50.9597315Z             },
2026-06-04T06:03:50.9597735Z             {
2026-06-04T06:03:50.9598411Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9598875Z               "line": 160
2026-06-04T06:03:50.9599652Z             },
2026-06-04T06:03:50.9600252Z             {
2026-06-04T06:03:50.9600932Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9601406Z               "line": 168
2026-06-04T06:03:50.9601829Z             }
2026-06-04T06:03:50.9602264Z           ]
2026-06-04T06:03:50.9602677Z         }
2026-06-04T06:03:50.9603101Z       }
2026-06-04T06:03:50.9603525Z     },
2026-06-04T06:03:50.9603933Z     {
2026-06-04T06:03:50.9604594Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T06:03:50.9605607Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T06:03:50.9606117Z       "requiredStages": [
2026-06-04T06:03:50.9606595Z         "impl",
2026-06-04T06:03:50.9607052Z         "unit"
2026-06-04T06:03:50.9607485Z       ],
2026-06-04T06:03:50.9607919Z       "stages": {
2026-06-04T06:03:50.9608359Z         "doc": {
2026-06-04T06:03:50.9608830Z           "complete": false,
2026-06-04T06:03:50.9609496Z           "evidence": []
2026-06-04T06:03:50.9609961Z         },
2026-06-04T06:03:50.9610564Z         "impl": {
2026-06-04T06:03:50.9611050Z           "complete": true,
2026-06-04T06:03:50.9611503Z           "evidence": [
2026-06-04T06:03:50.9611936Z             {
2026-06-04T06:03:50.9612597Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9613060Z               "line": 107
2026-06-04T06:03:50.9613483Z             }
2026-06-04T06:03:50.9613910Z           ]
2026-06-04T06:03:50.9614343Z         },
2026-06-04T06:03:50.9614776Z         "int": {
2026-06-04T06:03:50.9615284Z           "complete": false,
2026-06-04T06:03:50.9615741Z           "evidence": []
2026-06-04T06:03:50.9616177Z         },
2026-06-04T06:03:50.9616599Z         "unit": {
2026-06-04T06:03:50.9617076Z           "complete": true,
2026-06-04T06:03:50.9617530Z           "evidence": [
2026-06-04T06:03:50.9617946Z             {
2026-06-04T06:03:50.9618643Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9619119Z               "line": 184
2026-06-04T06:03:50.9619800Z             },
2026-06-04T06:03:50.9620396Z             {
2026-06-04T06:03:50.9621087Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9621578Z               "line": 193
2026-06-04T06:03:50.9622024Z             },
2026-06-04T06:03:50.9622464Z             {
2026-06-04T06:03:50.9623151Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9623631Z               "line": 201
2026-06-04T06:03:50.9624073Z             },
2026-06-04T06:03:50.9624519Z             {
2026-06-04T06:03:50.9625223Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9625954Z               "line": 210
2026-06-04T06:03:50.9626441Z             },
2026-06-04T06:03:50.9626884Z             {
2026-06-04T06:03:50.9627573Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T06:03:50.9628040Z               "line": 219
2026-06-04T06:03:50.9628490Z             }
2026-06-04T06:03:50.9628925Z           ]
2026-06-04T06:03:50.9629588Z         }
2026-06-04T06:03:50.9630195Z       }
2026-06-04T06:03:50.9630612Z     },
2026-06-04T06:03:50.9631047Z     {
2026-06-04T06:03:50.9631675Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T06:03:50.9632635Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T06:03:50.9633165Z       "requiredStages": [
2026-06-04T06:03:50.9633632Z         "impl",
2026-06-04T06:03:50.9634088Z         "unit"
2026-06-04T06:03:50.9634526Z       ],
2026-06-04T06:03:50.9634996Z       "stages": {
2026-06-04T06:03:50.9635711Z         "doc": {
2026-06-04T06:03:50.9636218Z           "complete": false,
2026-06-04T06:03:50.9636719Z           "evidence": []
2026-06-04T06:03:50.9637146Z         },
2026-06-04T06:03:50.9645773Z         "impl": {
2026-06-04T06:03:50.9646406Z           "complete": true,
2026-06-04T06:03:50.9646888Z           "evidence": [
2026-06-04T06:03:50.9647317Z             {
2026-06-04T06:03:50.9647933Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:50.9648398Z               "line": 14
2026-06-04T06:03:50.9648821Z             },
2026-06-04T06:03:50.9649325Z             {
2026-06-04T06:03:50.9650343Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:50.9650830Z               "line": 62
2026-06-04T06:03:50.9651264Z             }
2026-06-04T06:03:50.9651703Z           ]
2026-06-04T06:03:50.9652149Z         },
2026-06-04T06:03:50.9652594Z         "int": {
2026-06-04T06:03:50.9653100Z           "complete": false,
2026-06-04T06:03:50.9653578Z           "evidence": []
2026-06-04T06:03:50.9654065Z         },
2026-06-04T06:03:50.9654513Z         "unit": {
2026-06-04T06:03:50.9655022Z           "complete": true,
2026-06-04T06:03:50.9655496Z           "evidence": [
2026-06-04T06:03:50.9655936Z             {
2026-06-04T06:03:50.9656550Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:50.9657016Z               "line": 160
2026-06-04T06:03:50.9657459Z             },
2026-06-04T06:03:50.9657890Z             {
2026-06-04T06:03:50.9658498Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:50.9658980Z               "line": 197
2026-06-04T06:03:50.9659492Z             },
2026-06-04T06:03:50.9659951Z             {
2026-06-04T06:03:50.9660563Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:50.9661047Z               "line": 213
2026-06-04T06:03:50.9661476Z             }
2026-06-04T06:03:50.9661905Z           ]
2026-06-04T06:03:50.9662346Z         }
2026-06-04T06:03:50.9662774Z       }
2026-06-04T06:03:50.9663220Z     },
2026-06-04T06:03:50.9663662Z     {
2026-06-04T06:03:50.9664314Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T06:03:50.9665625Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T06:03:50.9666178Z       "requiredStages": [
2026-06-04T06:03:50.9666628Z         "impl",
2026-06-04T06:03:50.9667063Z         "unit"
2026-06-04T06:03:50.9667500Z       ],
2026-06-04T06:03:50.9667954Z       "stages": {
2026-06-04T06:03:50.9668409Z         "doc": {
2026-06-04T06:03:50.9668897Z           "complete": false,
2026-06-04T06:03:50.9669456Z           "evidence": []
2026-06-04T06:03:50.9669908Z         },
2026-06-04T06:03:50.9670365Z         "impl": {
2026-06-04T06:03:50.9670862Z           "complete": true,
2026-06-04T06:03:50.9671321Z           "evidence": [
2026-06-04T06:03:50.9671757Z             {
2026-06-04T06:03:50.9672406Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9672890Z               "line": 76
2026-06-04T06:03:50.9673330Z             },
2026-06-04T06:03:50.9673790Z             {
2026-06-04T06:03:50.9674456Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9675383Z               "line": 163
2026-06-04T06:03:50.9675888Z             },
2026-06-04T06:03:50.9676313Z             {
2026-06-04T06:03:50.9676965Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9677451Z               "line": 229
2026-06-04T06:03:50.9677877Z             },
2026-06-04T06:03:50.9678307Z             {
2026-06-04T06:03:50.9678938Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9679463Z               "line": 265
2026-06-04T06:03:50.9679893Z             }
2026-06-04T06:03:50.9680307Z           ]
2026-06-04T06:03:50.9680740Z         },
2026-06-04T06:03:50.9681162Z         "int": {
2026-06-04T06:03:50.9681640Z           "complete": false,
2026-06-04T06:03:50.9682092Z           "evidence": []
2026-06-04T06:03:50.9682508Z         },
2026-06-04T06:03:50.9682942Z         "unit": {
2026-06-04T06:03:50.9683688Z           "complete": true,
2026-06-04T06:03:50.9684151Z           "evidence": [
2026-06-04T06:03:50.9684581Z             {
2026-06-04T06:03:50.9685228Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9685680Z               "line": 310
2026-06-04T06:03:50.9686095Z             },
2026-06-04T06:03:50.9686500Z             {
2026-06-04T06:03:50.9687119Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9687569Z               "line": 318
2026-06-04T06:03:50.9687984Z             },
2026-06-04T06:03:50.9688398Z             {
2026-06-04T06:03:50.9689003Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9689692Z               "line": 341
2026-06-04T06:03:50.9690304Z             },
2026-06-04T06:03:50.9690727Z             {
2026-06-04T06:03:50.9691348Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9691799Z               "line": 378
2026-06-04T06:03:50.9692227Z             },
2026-06-04T06:03:50.9692658Z             {
2026-06-04T06:03:50.9693268Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9693737Z               "line": 389
2026-06-04T06:03:50.9694153Z             },
2026-06-04T06:03:50.9694573Z             {
2026-06-04T06:03:50.9695192Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9695650Z               "line": 401
2026-06-04T06:03:50.9696055Z             },
2026-06-04T06:03:50.9696465Z             {
2026-06-04T06:03:50.9697075Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T06:03:50.9697517Z               "line": 413
2026-06-04T06:03:50.9697939Z             }
2026-06-04T06:03:50.9698342Z           ]
2026-06-04T06:03:50.9698758Z         }
2026-06-04T06:03:50.9699222Z       }
2026-06-04T06:03:50.9699819Z     },
2026-06-04T06:03:50.9700522Z     {
2026-06-04T06:03:50.9701074Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T06:03:50.9701877Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T06:03:50.9702372Z       "requiredStages": [
2026-06-04T06:03:50.9702815Z         "impl",
2026-06-04T06:03:50.9703243Z         "int"
2026-06-04T06:03:50.9703668Z       ],
2026-06-04T06:03:50.9704134Z       "stages": {
2026-06-04T06:03:50.9704570Z         "doc": {
2026-06-04T06:03:50.9705082Z           "complete": false,
2026-06-04T06:03:50.9705576Z           "evidence": []
2026-06-04T06:03:50.9706015Z         },
2026-06-04T06:03:50.9706440Z         "impl": {
2026-06-04T06:03:50.9706946Z           "complete": true,
2026-06-04T06:03:50.9707407Z           "evidence": [
2026-06-04T06:03:50.9707826Z             {
2026-06-04T06:03:50.9708472Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:50.9708915Z               "line": 22
2026-06-04T06:03:50.9709554Z             }
2026-06-04T06:03:50.9710121Z           ]
2026-06-04T06:03:50.9710545Z         },
2026-06-04T06:03:50.9710974Z         "int": {
2026-06-04T06:03:50.9711451Z           "complete": true,
2026-06-04T06:03:50.9711915Z           "evidence": [
2026-06-04T06:03:50.9712342Z             {
2026-06-04T06:03:50.9713022Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T06:03:50.9713749Z               "line": 18
2026-06-04T06:03:50.9714225Z             }
2026-06-04T06:03:50.9714669Z           ]
2026-06-04T06:03:50.9715091Z         },
2026-06-04T06:03:50.9715542Z         "unit": {
2026-06-04T06:03:50.9716038Z           "complete": false,
2026-06-04T06:03:50.9716522Z           "evidence": []
2026-06-04T06:03:50.9716933Z         }
2026-06-04T06:03:50.9717355Z       }
2026-06-04T06:03:50.9717770Z     },
2026-06-04T06:03:50.9718174Z     {
2026-06-04T06:03:50.9718827Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T06:03:50.9720347Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T06:03:50.9720864Z       "requiredStages": [
2026-06-04T06:03:50.9721300Z         "impl",
2026-06-04T06:03:50.9721732Z         "unit"
2026-06-04T06:03:50.9722167Z       ],
2026-06-04T06:03:50.9722642Z       "stages": {
2026-06-04T06:03:50.9723373Z         "doc": {
2026-06-04T06:03:50.9723862Z           "complete": false,
2026-06-04T06:03:50.9724356Z           "evidence": []
2026-06-04T06:03:50.9724773Z         },
2026-06-04T06:03:50.9725208Z         "impl": {
2026-06-04T06:03:50.9725685Z           "complete": true,
2026-06-04T06:03:50.9726157Z           "evidence": [
2026-06-04T06:03:50.9726598Z             {
2026-06-04T06:03:50.9727275Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.9727732Z               "line": 280
2026-06-04T06:03:50.9728142Z             },
2026-06-04T06:03:50.9736827Z             {
2026-06-04T06:03:50.9737588Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:50.9738032Z               "line": 27
2026-06-04T06:03:50.9738448Z             }
2026-06-04T06:03:50.9738853Z           ]
2026-06-04T06:03:50.9739358Z         },
2026-06-04T06:03:50.9739779Z         "int": {
2026-06-04T06:03:50.9740263Z           "complete": false,
2026-06-04T06:03:50.9740745Z           "evidence": []
2026-06-04T06:03:50.9741144Z         },
2026-06-04T06:03:50.9741564Z         "unit": {
2026-06-04T06:03:50.9742025Z           "complete": true,
2026-06-04T06:03:50.9742468Z           "evidence": [
2026-06-04T06:03:50.9742866Z             {
2026-06-04T06:03:50.9743530Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:50.9743981Z               "line": 578
2026-06-04T06:03:50.9744383Z             },
2026-06-04T06:03:50.9744790Z             {
2026-06-04T06:03:50.9745394Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:50.9745836Z               "line": 164
2026-06-04T06:03:50.9746240Z             }
2026-06-04T06:03:50.9746648Z           ]
2026-06-04T06:03:50.9747055Z         }
2026-06-04T06:03:50.9747450Z       }
2026-06-04T06:03:50.9747851Z     },
2026-06-04T06:03:50.9748244Z     {
2026-06-04T06:03:50.9748866Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T06:03:50.9749839Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T06:03:50.9750321Z       "requiredStages": [
2026-06-04T06:03:50.9750741Z         "impl",
2026-06-04T06:03:50.9751153Z         "unit"
2026-06-04T06:03:50.9751560Z       ],
2026-06-04T06:03:50.9751971Z       "stages": {
2026-06-04T06:03:50.9752384Z         "doc": {
2026-06-04T06:03:50.9752839Z           "complete": false,
2026-06-04T06:03:50.9753302Z           "evidence": []
2026-06-04T06:03:50.9753711Z         },
2026-06-04T06:03:50.9754128Z         "impl": {
2026-06-04T06:03:50.9754587Z           "complete": true,
2026-06-04T06:03:50.9755020Z           "evidence": [
2026-06-04T06:03:50.9755437Z             {
2026-06-04T06:03:50.9756056Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9756521Z               "line": 20
2026-06-04T06:03:50.9756949Z             },
2026-06-04T06:03:50.9757362Z             {
2026-06-04T06:03:50.9757985Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9758417Z               "line": 94
2026-06-04T06:03:50.9758853Z             },
2026-06-04T06:03:50.9759313Z             {
2026-06-04T06:03:50.9760355Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T06:03:50.9760840Z               "line": 70
2026-06-04T06:03:50.9761278Z             },
2026-06-04T06:03:50.9761711Z             {
2026-06-04T06:03:50.9762378Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T06:03:50.9762839Z               "line": 82
2026-06-04T06:03:50.9763249Z             }
2026-06-04T06:03:50.9763665Z           ]
2026-06-04T06:03:50.9764092Z         },
2026-06-04T06:03:50.9764513Z         "int": {
2026-06-04T06:03:50.9764991Z           "complete": false,
2026-06-04T06:03:50.9765433Z           "evidence": []
2026-06-04T06:03:50.9765848Z         },
2026-06-04T06:03:50.9766257Z         "unit": {
2026-06-04T06:03:50.9766730Z           "complete": true,
2026-06-04T06:03:50.9767193Z           "evidence": [
2026-06-04T06:03:50.9767604Z             {
2026-06-04T06:03:50.9768231Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9768888Z               "line": 139
2026-06-04T06:03:50.9769554Z             },
2026-06-04T06:03:50.9770130Z             {
2026-06-04T06:03:50.9770761Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9771221Z               "line": 162
2026-06-04T06:03:50.9771632Z             },
2026-06-04T06:03:50.9772062Z             {
2026-06-04T06:03:50.9772677Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9773133Z               "line": 173
2026-06-04T06:03:50.9773546Z             },
2026-06-04T06:03:50.9773971Z             {
2026-06-04T06:03:50.9774619Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9775075Z               "line": 189
2026-06-04T06:03:50.9775504Z             },
2026-06-04T06:03:50.9775915Z             {
2026-06-04T06:03:50.9776571Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T06:03:50.9777031Z               "line": 200
2026-06-04T06:03:50.9777477Z             },
2026-06-04T06:03:50.9777900Z             {
2026-06-04T06:03:50.9778581Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T06:03:50.9779038Z               "line": 139
2026-06-04T06:03:50.9779665Z             }
2026-06-04T06:03:50.9780241Z           ]
2026-06-04T06:03:50.9780648Z         }
2026-06-04T06:03:50.9781069Z       }
2026-06-04T06:03:50.9781489Z     },
2026-06-04T06:03:50.9781909Z     {
2026-06-04T06:03:50.9782438Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T06:03:50.9783942Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T06:03:50.9784432Z       "requiredStages": [
2026-06-04T06:03:50.9784862Z         "impl",
2026-06-04T06:03:50.9785291Z         "unit"
2026-06-04T06:03:50.9785700Z       ],
2026-06-04T06:03:50.9786121Z       "stages": {
2026-06-04T06:03:50.9786548Z         "doc": {
2026-06-04T06:03:50.9787002Z           "complete": true,
2026-06-04T06:03:50.9787449Z           "evidence": [
2026-06-04T06:03:50.9787881Z             {
2026-06-04T06:03:50.9788462Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T06:03:50.9788927Z               "line": 131
2026-06-04T06:03:50.9789552Z             }
2026-06-04T06:03:50.9790147Z           ]
2026-06-04T06:03:50.9790678Z         },
2026-06-04T06:03:50.9791140Z         "impl": {
2026-06-04T06:03:50.9791623Z           "complete": true,
2026-06-04T06:03:50.9792099Z           "evidence": [
2026-06-04T06:03:50.9792525Z             {
2026-06-04T06:03:50.9793278Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:50.9793771Z               "line": 50
2026-06-04T06:03:50.9794249Z             },
2026-06-04T06:03:50.9794743Z             {
2026-06-04T06:03:50.9796068Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9797733Z               "line": 17
2026-06-04T06:03:50.9798969Z             },
2026-06-04T06:03:50.9800161Z             {
2026-06-04T06:03:50.9801489Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:50.9803288Z               "line": 171
2026-06-04T06:03:50.9804622Z             },
2026-06-04T06:03:50.9806185Z             {
2026-06-04T06:03:50.9807936Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:50.9809834Z               "line": 259
2026-06-04T06:03:50.9811129Z             },
2026-06-04T06:03:50.9812309Z             {
2026-06-04T06:03:50.9813817Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T06:03:50.9815483Z               "line": 32
2026-06-04T06:03:50.9816700Z             }
2026-06-04T06:03:50.9817738Z           ]
2026-06-04T06:03:50.9829764Z         },
2026-06-04T06:03:50.9830935Z         "int": {
2026-06-04T06:03:50.9832161Z           "complete": false,
2026-06-04T06:03:50.9833549Z           "evidence": []
2026-06-04T06:03:50.9834787Z         },
2026-06-04T06:03:50.9835999Z         "unit": {
2026-06-04T06:03:50.9837282Z           "complete": true,
2026-06-04T06:03:50.9838680Z           "evidence": [
2026-06-04T06:03:50.9840208Z             {
2026-06-04T06:03:50.9847297Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9848993Z               "line": 94
2026-06-04T06:03:50.9850377Z             },
2026-06-04T06:03:50.9851490Z             {
2026-06-04T06:03:50.9852752Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9854503Z               "line": 111
2026-06-04T06:03:50.9855719Z             },
2026-06-04T06:03:50.9856789Z             {
2026-06-04T06:03:50.9858014Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9859738Z               "line": 124
2026-06-04T06:03:50.9860931Z             },
2026-06-04T06:03:50.9861993Z             {
2026-06-04T06:03:50.9863223Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9864900Z               "line": 134
2026-06-04T06:03:50.9867195Z             },
2026-06-04T06:03:50.9868438Z             {
2026-06-04T06:03:50.9870179Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9871967Z               "line": 142
2026-06-04T06:03:50.9873283Z             },
2026-06-04T06:03:50.9874343Z             {
2026-06-04T06:03:50.9875557Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T06:03:50.9877162Z               "line": 154
2026-06-04T06:03:50.9878351Z             },
2026-06-04T06:03:50.9879473Z             {
2026-06-04T06:03:50.9880800Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:50.9882514Z               "line": 432
2026-06-04T06:03:50.9883678Z             }
2026-06-04T06:03:50.9884686Z           ]
2026-06-04T06:03:50.9885663Z         }
2026-06-04T06:03:50.9886634Z       }
2026-06-04T06:03:50.9887598Z     },
2026-06-04T06:03:50.9888551Z     {
2026-06-04T06:03:50.9889820Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T06:03:50.9891524Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T06:03:50.9893291Z       "requiredStages": [
2026-06-04T06:03:50.9894465Z         "impl",
2026-06-04T06:03:50.9895474Z         "unit"
2026-06-04T06:03:50.9896517Z       ],
2026-06-04T06:03:50.9897481Z       "stages": {
2026-06-04T06:03:50.9898525Z         "doc": {
2026-06-04T06:03:50.9899885Z           "complete": false,
2026-06-04T06:03:50.9901201Z           "evidence": []
2026-06-04T06:03:50.9902375Z         },
2026-06-04T06:03:50.9903377Z         "impl": {
2026-06-04T06:03:50.9904495Z           "complete": true,
2026-06-04T06:03:50.9905745Z           "evidence": [
2026-06-04T06:03:50.9906873Z             {
2026-06-04T06:03:50.9908120Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:50.9909899Z               "line": 128
2026-06-04T06:03:50.9911031Z             }
2026-06-04T06:03:50.9912022Z           ]
2026-06-04T06:03:50.9912961Z         },
2026-06-04T06:03:50.9914011Z         "int": {
2026-06-04T06:03:50.9915094Z           "complete": false,
2026-06-04T06:03:50.9916325Z           "evidence": []
2026-06-04T06:03:50.9917465Z         },
2026-06-04T06:03:50.9918412Z         "unit": {
2026-06-04T06:03:50.9919702Z           "complete": true,
2026-06-04T06:03:50.9921104Z           "evidence": [
2026-06-04T06:03:50.9922211Z             {
2026-06-04T06:03:50.9923916Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:50.9925553Z               "line": 205
2026-06-04T06:03:50.9926682Z             }
2026-06-04T06:03:50.9927676Z           ]
2026-06-04T06:03:50.9928661Z         }
2026-06-04T06:03:50.9930080Z       }
2026-06-04T06:03:50.9931220Z     },
2026-06-04T06:03:50.9932161Z     {
2026-06-04T06:03:50.9933287Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T06:03:50.9935177Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T06:03:50.9937003Z       "requiredStages": [
2026-06-04T06:03:50.9947471Z         "impl",
2026-06-04T06:03:50.9948709Z         "unit"
2026-06-04T06:03:50.9950090Z       ],
2026-06-04T06:03:50.9951042Z       "stages": {
2026-06-04T06:03:50.9952080Z         "doc": {
2026-06-04T06:03:50.9953151Z           "complete": false,
2026-06-04T06:03:50.9954381Z           "evidence": []
2026-06-04T06:03:50.9956141Z         },
2026-06-04T06:03:50.9957129Z         "impl": {
2026-06-04T06:03:50.9958238Z           "complete": true,
2026-06-04T06:03:50.9959694Z           "evidence": [
2026-06-04T06:03:50.9960955Z             {
2026-06-04T06:03:50.9962136Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9963681Z               "line": 143
2026-06-04T06:03:50.9964869Z             },
2026-06-04T06:03:50.9965897Z             {
2026-06-04T06:03:50.9967083Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9968656Z               "line": 154
2026-06-04T06:03:50.9970202Z             },
2026-06-04T06:03:50.9971191Z             {
2026-06-04T06:03:50.9972327Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9973853Z               "line": 172
2026-06-04T06:03:50.9974983Z             }
2026-06-04T06:03:50.9975952Z           ]
2026-06-04T06:03:50.9976885Z         },
2026-06-04T06:03:50.9977809Z         "int": {
2026-06-04T06:03:50.9978894Z           "complete": false,
2026-06-04T06:03:50.9980532Z           "evidence": []
2026-06-04T06:03:50.9981659Z         },
2026-06-04T06:03:50.9982635Z         "unit": {
2026-06-04T06:03:50.9983707Z           "complete": true,
2026-06-04T06:03:50.9984887Z           "evidence": [
2026-06-04T06:03:50.9985958Z             {
2026-06-04T06:03:50.9987098Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9988609Z               "line": 196
2026-06-04T06:03:50.9990078Z             },
2026-06-04T06:03:50.9991059Z             {
2026-06-04T06:03:50.9992204Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9993729Z               "line": 214
2026-06-04T06:03:50.9994884Z             },
2026-06-04T06:03:50.9995857Z             {
2026-06-04T06:03:50.9997020Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:50.9998528Z               "line": 308
2026-06-04T06:03:50.9999987Z             },
2026-06-04T06:03:51.0000986Z             {
2026-06-04T06:03:51.0002159Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:51.0003674Z               "line": 319
2026-06-04T06:03:51.0004806Z             },
2026-06-04T06:03:51.0005787Z             {
2026-06-04T06:03:51.0006931Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:51.0008442Z               "line": 332
2026-06-04T06:03:51.0009786Z             }
2026-06-04T06:03:51.0010921Z           ]
2026-06-04T06:03:51.0011852Z         }
2026-06-04T06:03:51.0012776Z       }
2026-06-04T06:03:51.0013717Z     },
2026-06-04T06:03:51.0014622Z     {
2026-06-04T06:03:51.0015665Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T06:03:51.0017924Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T06:03:51.0020429Z       "requiredStages": [
2026-06-04T06:03:51.0021634Z         "impl",
2026-06-04T06:03:51.0022684Z         "unit"
2026-06-04T06:03:51.0023680Z       ],
2026-06-04T06:03:51.0024650Z       "stages": {
2026-06-04T06:03:51.0025819Z         "doc": {
2026-06-04T06:03:51.0026928Z           "complete": false,
2026-06-04T06:03:51.0028226Z           "evidence": []
2026-06-04T06:03:51.0029772Z         },
2026-06-04T06:03:51.0030930Z         "impl": {
2026-06-04T06:03:51.0031981Z           "complete": true,
2026-06-04T06:03:51.0033163Z           "evidence": [
2026-06-04T06:03:51.0034304Z             {
2026-06-04T06:03:51.0035430Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0036919Z               "line": 14
2026-06-04T06:03:51.0038024Z             },
2026-06-04T06:03:51.0038988Z             {
2026-06-04T06:03:51.0040465Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T06:03:51.0041993Z               "line": 305
2026-06-04T06:03:51.0043167Z             }
2026-06-04T06:03:51.0044191Z           ]
2026-06-04T06:03:51.0045192Z         },
2026-06-04T06:03:51.0046188Z         "int": {
2026-06-04T06:03:51.0056405Z           "complete": false,
2026-06-04T06:03:51.0057989Z           "evidence": []
2026-06-04T06:03:51.0059877Z         },
2026-06-04T06:03:51.0060975Z         "unit": {
2026-06-04T06:03:51.0062162Z           "complete": true,
2026-06-04T06:03:51.0063501Z           "evidence": [
2026-06-04T06:03:51.0064603Z             {
2026-06-04T06:03:51.0065994Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0067610Z               "line": 130
2026-06-04T06:03:51.0068798Z             },
2026-06-04T06:03:51.0070036Z             {
2026-06-04T06:03:51.0071208Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0072779Z               "line": 138
2026-06-04T06:03:51.0073969Z             },
2026-06-04T06:03:51.0074993Z             {
2026-06-04T06:03:51.0076151Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0077685Z               "line": 146
2026-06-04T06:03:51.0078864Z             },
2026-06-04T06:03:51.0080266Z             {
2026-06-04T06:03:51.0081441Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0082975Z               "line": 154
2026-06-04T06:03:51.0084152Z             },
2026-06-04T06:03:51.0085167Z             {
2026-06-04T06:03:51.0086329Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0087855Z               "line": 162
2026-06-04T06:03:51.0089007Z             },
2026-06-04T06:03:51.0090440Z             {
2026-06-04T06:03:51.0091616Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T06:03:51.0093164Z               "line": 170
2026-06-04T06:03:51.0094311Z             }
2026-06-04T06:03:51.0095295Z           ]
2026-06-04T06:03:51.0096234Z         }
2026-06-04T06:03:51.0097159Z       }
2026-06-04T06:03:51.0098062Z     },
2026-06-04T06:03:51.0098992Z     {
2026-06-04T06:03:51.0100127Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T06:03:51.0106754Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-04T06:03:51.0113423Z       "requiredStages": [
2026-06-04T06:03:51.0114634Z         "impl",
2026-06-04T06:03:51.0115658Z         "unit"
2026-06-04T06:03:51.0116655Z       ],
2026-06-04T06:03:51.0117657Z       "stages": {
2026-06-04T06:03:51.0118694Z         "doc": {
2026-06-04T06:03:51.0120150Z           "complete": false,
2026-06-04T06:03:51.0121364Z           "evidence": []
2026-06-04T06:03:51.0122494Z         },
2026-06-04T06:03:51.0123454Z         "impl": {
2026-06-04T06:03:51.0124520Z           "complete": true,
2026-06-04T06:03:51.0125719Z           "evidence": [
2026-06-04T06:03:51.0126816Z             {
2026-06-04T06:03:51.0128167Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0130307Z               "line": 34
2026-06-04T06:03:51.0131454Z             }
2026-06-04T06:03:51.0132466Z           ]
2026-06-04T06:03:51.0133444Z         },
2026-06-04T06:03:51.0134423Z         "int": {
2026-06-04T06:03:51.0135582Z           "complete": false,
2026-06-04T06:03:51.0136844Z           "evidence": []
2026-06-04T06:03:51.0137993Z         },
2026-06-04T06:03:51.0139617Z         "unit": {
2026-06-04T06:03:51.0140872Z           "complete": true,
2026-06-04T06:03:51.0142151Z           "evidence": [
2026-06-04T06:03:51.0143339Z             {
2026-06-04T06:03:51.0144790Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0146628Z               "line": 188
2026-06-04T06:03:51.0147819Z             },
2026-06-04T06:03:51.0148850Z             {
2026-06-04T06:03:51.0150435Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0152193Z               "line": 200
2026-06-04T06:03:51.0153344Z             },
2026-06-04T06:03:51.0154342Z             {
2026-06-04T06:03:51.0155738Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0157514Z               "line": 211
2026-06-04T06:03:51.0158677Z             },
2026-06-04T06:03:51.0160477Z             {
2026-06-04T06:03:51.0161838Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0163629Z               "line": 245
2026-06-04T06:03:51.0164787Z             },
2026-06-04T06:03:51.0165781Z             {
2026-06-04T06:03:51.0167139Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0168894Z               "line": 267
2026-06-04T06:03:51.0170475Z             },
2026-06-04T06:03:51.0180879Z             {
2026-06-04T06:03:51.0182325Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0184120Z               "line": 288
2026-06-04T06:03:51.0185292Z             },
2026-06-04T06:03:51.0186297Z             {
2026-06-04T06:03:51.0187712Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T06:03:51.0189687Z               "line": 304
2026-06-04T06:03:51.0190841Z             }
2026-06-04T06:03:51.0191819Z           ]
2026-06-04T06:03:51.0192772Z         }
2026-06-04T06:03:51.0193761Z       }
2026-06-04T06:03:51.0194690Z     },
2026-06-04T06:03:51.0195642Z     {
2026-06-04T06:03:51.0196759Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T06:03:51.0201869Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-04T06:03:51.0206526Z       "requiredStages": [
2026-06-04T06:03:51.0207677Z         "impl",
2026-06-04T06:03:51.0208672Z         "unit"
2026-06-04T06:03:51.0209707Z       ],
2026-06-04T06:03:51.0210642Z       "stages": {
2026-06-04T06:03:51.0211663Z         "doc": {
2026-06-04T06:03:51.0212740Z           "complete": false,
2026-06-04T06:03:51.0214039Z           "evidence": []
2026-06-04T06:03:51.0215149Z         },
2026-06-04T06:03:51.0216103Z         "impl": {
2026-06-04T06:03:51.0217171Z           "complete": true,
2026-06-04T06:03:51.0218381Z           "evidence": [
2026-06-04T06:03:51.0219757Z             {
2026-06-04T06:03:51.0221115Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0222681Z               "line": 29
2026-06-04T06:03:51.0223812Z             },
2026-06-04T06:03:51.0224813Z             {
2026-06-04T06:03:51.0225977Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0227514Z               "line": 154
2026-06-04T06:03:51.0228626Z             },
2026-06-04T06:03:51.0229664Z             {
2026-06-04T06:03:51.0230833Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0232368Z               "line": 173
2026-06-04T06:03:51.0233516Z             },
2026-06-04T06:03:51.0234520Z             {
2026-06-04T06:03:51.0235691Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0237254Z               "line": 200
2026-06-04T06:03:51.0238414Z             }
2026-06-04T06:03:51.0239675Z           ]
2026-06-04T06:03:51.0240905Z         },
2026-06-04T06:03:51.0241908Z         "int": {
2026-06-04T06:03:51.0243088Z           "complete": false,
2026-06-04T06:03:51.0244398Z           "evidence": []
2026-06-04T06:03:51.0246043Z         },
2026-06-04T06:03:51.0247061Z         "unit": {
2026-06-04T06:03:51.0248164Z           "complete": true,
2026-06-04T06:03:51.0249604Z           "evidence": [
2026-06-04T06:03:51.0250911Z             {
2026-06-04T06:03:51.0252112Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0253677Z               "line": 276
2026-06-04T06:03:51.0254860Z             },
2026-06-04T06:03:51.0255881Z             {
2026-06-04T06:03:51.0257111Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0258706Z               "line": 291
2026-06-04T06:03:51.0260256Z             },
2026-06-04T06:03:51.0261293Z             {
2026-06-04T06:03:51.0262535Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0264108Z               "line": 310
2026-06-04T06:03:51.0265272Z             },
2026-06-04T06:03:51.0266286Z             {
2026-06-04T06:03:51.0267848Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0269655Z               "line": 326
2026-06-04T06:03:51.0270973Z             },
2026-06-04T06:03:51.0271971Z             {
2026-06-04T06:03:51.0273158Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0274777Z               "line": 376
2026-06-04T06:03:51.0275925Z             },
2026-06-04T06:03:51.0276928Z             {
2026-06-04T06:03:51.0278127Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0279914Z               "line": 390
2026-06-04T06:03:51.0281272Z             },
2026-06-04T06:03:51.0282311Z             {
2026-06-04T06:03:51.0283536Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0285107Z               "line": 401
2026-06-04T06:03:51.0286349Z             },
2026-06-04T06:03:51.0287402Z             {
2026-06-04T06:03:51.0299998Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.0301947Z               "line": 412
2026-06-04T06:03:51.0303179Z             }
2026-06-04T06:03:51.0304199Z           ]
2026-06-04T06:03:51.0305194Z         }
2026-06-04T06:03:51.0306183Z       }
2026-06-04T06:03:51.0307143Z     },
2026-06-04T06:03:51.0308130Z     {
2026-06-04T06:03:51.0309408Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T06:03:51.0314813Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-04T06:03:51.0319809Z       "requiredStages": [
2026-06-04T06:03:51.0320975Z         "impl",
2026-06-04T06:03:51.0321968Z         "unit"
2026-06-04T06:03:51.0322948Z       ],
2026-06-04T06:03:51.0323899Z       "stages": {
2026-06-04T06:03:51.0324917Z         "doc": {
2026-06-04T06:03:51.0326010Z           "complete": false,
2026-06-04T06:03:51.0327254Z           "evidence": []
2026-06-04T06:03:51.0328376Z         },
2026-06-04T06:03:51.0329611Z         "impl": {
2026-06-04T06:03:51.0330850Z           "complete": true,
2026-06-04T06:03:51.0332121Z           "evidence": [
2026-06-04T06:03:51.0333249Z             {
2026-06-04T06:03:51.0334554Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0336282Z               "line": 27
2026-06-04T06:03:51.0337418Z             },
2026-06-04T06:03:51.0338417Z             {
2026-06-04T06:03:51.0340067Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0341729Z               "line": 110
2026-06-04T06:03:51.0342866Z             },
2026-06-04T06:03:51.0343874Z             {
2026-06-04T06:03:51.0345189Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0346859Z               "line": 153
2026-06-04T06:03:51.0348011Z             },
2026-06-04T06:03:51.0349024Z             {
2026-06-04T06:03:51.0350714Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0352433Z               "line": 182
2026-06-04T06:03:51.0353588Z             },
2026-06-04T06:03:51.0354575Z             {
2026-06-04T06:03:51.0356380Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0358241Z               "line": 31
2026-06-04T06:03:51.0359434Z             },
2026-06-04T06:03:51.0360521Z             {
2026-06-04T06:03:51.0361873Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0363639Z               "line": 113
2026-06-04T06:03:51.0364772Z             },
2026-06-04T06:03:51.0365816Z             {
2026-06-04T06:03:51.0367151Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0368925Z               "line": 138
2026-06-04T06:03:51.0370150Z             }
2026-06-04T06:03:51.0371180Z           ]
2026-06-04T06:03:51.0372171Z         },
2026-06-04T06:03:51.0373154Z         "int": {
2026-06-04T06:03:51.0374282Z           "complete": false,
2026-06-04T06:03:51.0375553Z           "evidence": []
2026-06-04T06:03:51.0377042Z         },
2026-06-04T06:03:51.0378029Z         "unit": {
2026-06-04T06:03:51.0379236Z           "complete": true,
2026-06-04T06:03:51.0380845Z           "evidence": [
2026-06-04T06:03:51.0381965Z             {
2026-06-04T06:03:51.0383270Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0384995Z               "line": 261
2026-06-04T06:03:51.0386159Z             },
2026-06-04T06:03:51.0387160Z             {
2026-06-04T06:03:51.0388446Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0390528Z               "line": 276
2026-06-04T06:03:51.0391679Z             },
2026-06-04T06:03:51.0392677Z             {
2026-06-04T06:03:51.0393988Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0395682Z               "line": 293
2026-06-04T06:03:51.0396861Z             },
2026-06-04T06:03:51.0397852Z             {
2026-06-04T06:03:51.0399303Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0401381Z               "line": 310
2026-06-04T06:03:51.0402529Z             },
2026-06-04T06:03:51.0403538Z             {
2026-06-04T06:03:51.0404819Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0406480Z               "line": 327
2026-06-04T06:03:51.0407602Z             },
2026-06-04T06:03:51.0408596Z             {
2026-06-04T06:03:51.0409915Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.0411595Z               "line": 366
2026-06-04T06:03:51.0423236Z             },
2026-06-04T06:03:51.0424549Z             {
2026-06-04T06:03:51.0426610Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0428652Z               "line": 179
2026-06-04T06:03:51.0430056Z             },
2026-06-04T06:03:51.0431327Z             {
2026-06-04T06:03:51.0432685Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0434483Z               "line": 194
2026-06-04T06:03:51.0435685Z             },
2026-06-04T06:03:51.0437379Z             {
2026-06-04T06:03:51.0438929Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0441002Z               "line": 204
2026-06-04T06:03:51.0442176Z             },
2026-06-04T06:03:51.0443185Z             {
2026-06-04T06:03:51.0445433Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0447435Z               "line": 259
2026-06-04T06:03:51.0448643Z             },
2026-06-04T06:03:51.0449901Z             {
2026-06-04T06:03:51.0451290Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0453292Z               "line": 269
2026-06-04T06:03:51.0454483Z             },
2026-06-04T06:03:51.0455503Z             {
2026-06-04T06:03:51.0456930Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.0458762Z               "line": 283
2026-06-04T06:03:51.0460182Z             }
2026-06-04T06:03:51.0461278Z           ]
2026-06-04T06:03:51.0462247Z         }
2026-06-04T06:03:51.0463227Z       }
2026-06-04T06:03:51.0464611Z     },
2026-06-04T06:03:51.0465606Z     {
2026-06-04T06:03:51.0466685Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T06:03:51.0468859Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T06:03:51.0471485Z       "requiredStages": [],
2026-06-04T06:03:51.0472697Z       "stages": {
2026-06-04T06:03:51.0473727Z         "doc": {
2026-06-04T06:03:51.0474893Z           "complete": false,
2026-06-04T06:03:51.0476147Z           "evidence": []
2026-06-04T06:03:51.0477299Z         },
2026-06-04T06:03:51.0478265Z         "impl": {
2026-06-04T06:03:51.0479592Z           "complete": false,
2026-06-04T06:03:51.0481042Z           "evidence": []
2026-06-04T06:03:51.0482196Z         },
2026-06-04T06:03:51.0483156Z         "int": {
2026-06-04T06:03:51.0484351Z           "complete": false,
2026-06-04T06:03:51.0485611Z           "evidence": []
2026-06-04T06:03:51.0487107Z         },
2026-06-04T06:03:51.0488074Z         "unit": {
2026-06-04T06:03:51.0489266Z           "complete": false,
2026-06-04T06:03:51.0490884Z           "evidence": []
2026-06-04T06:03:51.0492019Z         }
2026-06-04T06:03:51.0492976Z       }
2026-06-04T06:03:51.0494006Z     },
2026-06-04T06:03:51.0494953Z     {
2026-06-04T06:03:51.0496147Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T06:03:51.0508281Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-04T06:03:51.0514034Z       "requiredStages": [],
2026-06-04T06:03:51.0515212Z       "stages": {
2026-06-04T06:03:51.0516210Z         "doc": {
2026-06-04T06:03:51.0517242Z           "complete": false,
2026-06-04T06:03:51.0518435Z           "evidence": []
2026-06-04T06:03:51.0519874Z         },
2026-06-04T06:03:51.0520882Z         "impl": {
2026-06-04T06:03:51.0521909Z           "complete": true,
2026-06-04T06:03:51.0523092Z           "evidence": [
2026-06-04T06:03:51.0524152Z             {
2026-06-04T06:03:51.0525263Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T06:03:51.0526737Z               "line": 18
2026-06-04T06:03:51.0527831Z             },
2026-06-04T06:03:51.0528795Z             {
2026-06-04T06:03:51.0530234Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T06:03:51.0531699Z               "line": 65
2026-06-04T06:03:51.0532784Z             }
2026-06-04T06:03:51.0533724Z           ]
2026-06-04T06:03:51.0534637Z         },
2026-06-04T06:03:51.0535556Z         "int": {
2026-06-04T06:03:51.0536582Z           "complete": false,
2026-06-04T06:03:51.0537966Z           "evidence": []
2026-06-04T06:03:51.0539131Z         },
2026-06-04T06:03:51.0539618Z         "unit": {
2026-06-04T06:03:51.0540246Z           "complete": true,
2026-06-04T06:03:51.0540702Z           "evidence": [
2026-06-04T06:03:51.0541155Z             {
2026-06-04T06:03:51.0541743Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T06:03:51.0542200Z               "line": 106
2026-06-04T06:03:51.0542620Z             },
2026-06-04T06:03:51.0543021Z             {
2026-06-04T06:03:51.0543622Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T06:03:51.0544059Z               "line": 118
2026-06-04T06:03:51.0544476Z             }
2026-06-04T06:03:51.0544881Z           ]
2026-06-04T06:03:51.0545296Z         }
2026-06-04T06:03:51.0545707Z       }
2026-06-04T06:03:51.0546104Z     },
2026-06-04T06:03:51.0546514Z     {
2026-06-04T06:03:51.0547092Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T06:03:51.0548638Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T06:03:51.0549102Z       "requiredStages": [
2026-06-04T06:03:51.0549739Z         "impl",
2026-06-04T06:03:51.0558137Z         "unit"
2026-06-04T06:03:51.0558856Z       ],
2026-06-04T06:03:51.0559660Z       "stages": {
2026-06-04T06:03:51.0560102Z         "doc": {
2026-06-04T06:03:51.0560999Z           "complete": true,
2026-06-04T06:03:51.0561491Z           "evidence": [
2026-06-04T06:03:51.0562890Z             {
2026-06-04T06:03:51.0563550Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T06:03:51.0564103Z               "line": 137
2026-06-04T06:03:51.0564582Z             }
2026-06-04T06:03:51.0565083Z           ]
2026-06-04T06:03:51.0565574Z         },
2026-06-04T06:03:51.0566083Z         "impl": {
2026-06-04T06:03:51.0566602Z           "complete": true,
2026-06-04T06:03:51.0567117Z           "evidence": [
2026-06-04T06:03:51.0567594Z             {
2026-06-04T06:03:51.0568225Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T06:03:51.0568750Z               "line": 29
2026-06-04T06:03:51.0569280Z             },
2026-06-04T06:03:51.0569892Z             {
2026-06-04T06:03:51.0570598Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0571365Z               "line": 30
2026-06-04T06:03:51.0571824Z             },
2026-06-04T06:03:51.0572287Z             {
2026-06-04T06:03:51.0572956Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.0573474Z               "line": 48
2026-06-04T06:03:51.0573932Z             }
2026-06-04T06:03:51.0574388Z           ]
2026-06-04T06:03:51.0574865Z         },
2026-06-04T06:03:51.0575338Z         "int": {
2026-06-04T06:03:51.0575863Z           "complete": false,
2026-06-04T06:03:51.0576333Z           "evidence": []
2026-06-04T06:03:51.0576771Z         },
2026-06-04T06:03:51.0577217Z         "unit": {
2026-06-04T06:03:51.0577706Z           "complete": true,
2026-06-04T06:03:51.0578182Z           "evidence": [
2026-06-04T06:03:51.0578635Z             {
2026-06-04T06:03:51.0579391Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0579859Z               "line": 152
2026-06-04T06:03:51.0580296Z             }
2026-06-04T06:03:51.0580733Z           ]
2026-06-04T06:03:51.0581172Z         }
2026-06-04T06:03:51.0581605Z       }
2026-06-04T06:03:51.0582028Z     },
2026-06-04T06:03:51.0582478Z     {
2026-06-04T06:03:51.0583085Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T06:03:51.0585409Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T06:03:51.0585909Z       "requiredStages": [
2026-06-04T06:03:51.0586331Z         "doc",
2026-06-04T06:03:51.0586763Z         "impl",
2026-06-04T06:03:51.0587183Z         "unit"
2026-06-04T06:03:51.0587609Z       ],
2026-06-04T06:03:51.0588038Z       "stages": {
2026-06-04T06:03:51.0588471Z         "doc": {
2026-06-04T06:03:51.0588951Z           "complete": true,
2026-06-04T06:03:51.0589462Z           "evidence": [
2026-06-04T06:03:51.0590026Z             {
2026-06-04T06:03:51.0590570Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T06:03:51.0591010Z               "line": 149
2026-06-04T06:03:51.0591409Z             }
2026-06-04T06:03:51.0591850Z           ]
2026-06-04T06:03:51.0592258Z         },
2026-06-04T06:03:51.0592674Z         "impl": {
2026-06-04T06:03:51.0593158Z           "complete": true,
2026-06-04T06:03:51.0594478Z           "evidence": [
2026-06-04T06:03:51.0594968Z             {
2026-06-04T06:03:51.0595722Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0596240Z               "line": 22
2026-06-04T06:03:51.0596694Z             }
2026-06-04T06:03:51.0597357Z           ]
2026-06-04T06:03:51.0597797Z         },
2026-06-04T06:03:51.0598217Z         "int": {
2026-06-04T06:03:51.0598697Z           "complete": false,
2026-06-04T06:03:51.0599151Z           "evidence": []
2026-06-04T06:03:51.0599792Z         },
2026-06-04T06:03:51.0600214Z         "unit": {
2026-06-04T06:03:51.0600665Z           "complete": true,
2026-06-04T06:03:51.0601109Z           "evidence": [
2026-06-04T06:03:51.0601819Z             {
2026-06-04T06:03:51.0602463Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0602925Z               "line": 257
2026-06-04T06:03:51.0603342Z             }
2026-06-04T06:03:51.0604008Z           ]
2026-06-04T06:03:51.0604430Z         }
2026-06-04T06:03:51.0604838Z       }
2026-06-04T06:03:51.0605236Z     },
2026-06-04T06:03:51.0605637Z     {
2026-06-04T06:03:51.0606227Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T06:03:51.0608759Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-04T06:03:51.0609720Z       "requiredStages": [
2026-06-04T06:03:51.0610457Z         "impl",
2026-06-04T06:03:51.0611037Z         "unit"
2026-06-04T06:03:51.0611437Z       ],
2026-06-04T06:03:51.0611863Z       "stages": {
2026-06-04T06:03:51.0612282Z         "doc": {
2026-06-04T06:03:51.0612730Z           "complete": true,
2026-06-04T06:03:51.0613169Z           "evidence": [
2026-06-04T06:03:51.0613660Z             {
2026-06-04T06:03:51.0614218Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T06:03:51.0614870Z               "line": 143
2026-06-04T06:03:51.0615283Z             }
2026-06-04T06:03:51.0615722Z           ]
2026-06-04T06:03:51.0616122Z         },
2026-06-04T06:03:51.0616541Z         "impl": {
2026-06-04T06:03:51.0616990Z           "complete": true,
2026-06-04T06:03:51.0617429Z           "evidence": [
2026-06-04T06:03:51.0617828Z             {
2026-06-04T06:03:51.0618483Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.0618926Z               "line": 117
2026-06-04T06:03:51.0619379Z             },
2026-06-04T06:03:51.0620042Z             {
2026-06-04T06:03:51.0620786Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T06:03:51.0621222Z               "line": 15
2026-06-04T06:03:51.0621625Z             }
2026-06-04T06:03:51.0622036Z           ]
2026-06-04T06:03:51.0622446Z         },
2026-06-04T06:03:51.0622859Z         "int": {
2026-06-04T06:03:51.0623326Z           "complete": false,
2026-06-04T06:03:51.0623872Z           "evidence": []
2026-06-04T06:03:51.0624281Z         },
2026-06-04T06:03:51.0624689Z         "unit": {
2026-06-04T06:03:51.0625164Z           "complete": true,
2026-06-04T06:03:51.0625604Z           "evidence": [
2026-06-04T06:03:51.0626009Z             {
2026-06-04T06:03:51.0627198Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T06:03:51.0627666Z               "line": 87
2026-06-04T06:03:51.0628101Z             },
2026-06-04T06:03:51.0628517Z             {
2026-06-04T06:03:51.0629236Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.0629863Z               "line": 508
2026-06-04T06:03:51.0630263Z             },
2026-06-04T06:03:51.0630677Z             {
2026-06-04T06:03:51.0631314Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.0631757Z               "line": 527
2026-06-04T06:03:51.0632801Z             },
2026-06-04T06:03:51.0633429Z             {
2026-06-04T06:03:51.0634222Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.0634750Z               "line": 148
2026-06-04T06:03:51.0635196Z             },
2026-06-04T06:03:51.0635621Z             {
2026-06-04T06:03:51.0636371Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T06:03:51.0636797Z               "line": 74
2026-06-04T06:03:51.0637216Z             },
2026-06-04T06:03:51.0637633Z             {
2026-06-04T06:03:51.0638221Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T06:03:51.0638668Z               "line": 88
2026-06-04T06:03:51.0639074Z             },
2026-06-04T06:03:51.0639995Z             {
2026-06-04T06:03:51.0640751Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T06:03:51.0641194Z               "line": 104
2026-06-04T06:03:51.0641601Z             }
2026-06-04T06:03:51.0642004Z           ]
2026-06-04T06:03:51.0642407Z         }
2026-06-04T06:03:51.0643076Z       }
2026-06-04T06:03:51.0643816Z     },
2026-06-04T06:03:51.0644241Z     {
2026-06-04T06:03:51.0644899Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T06:03:51.0677656Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T06:03:51.0678382Z       "requiredStages": [
2026-06-04T06:03:51.0678847Z         "impl",
2026-06-04T06:03:51.0679398Z         "unit"
2026-06-04T06:03:51.0679837Z       ],
2026-06-04T06:03:51.0680286Z       "stages": {
2026-06-04T06:03:51.0680734Z         "doc": {
2026-06-04T06:03:51.0681236Z           "complete": false,
2026-06-04T06:03:51.0681701Z           "evidence": []
2026-06-04T06:03:51.0682132Z         },
2026-06-04T06:03:51.0682562Z         "impl": {
2026-06-04T06:03:51.0683037Z           "complete": true,
2026-06-04T06:03:51.0683550Z           "evidence": [
2026-06-04T06:03:51.0683981Z             {
2026-06-04T06:03:51.0684632Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T06:03:51.0685083Z               "line": 15
2026-06-04T06:03:51.0685517Z             },
2026-06-04T06:03:51.0685941Z             {
2026-06-04T06:03:51.0686866Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0687341Z               "line": 55
2026-06-04T06:03:51.0687792Z             },
2026-06-04T06:03:51.0688239Z             {
2026-06-04T06:03:51.0689045Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0689856Z               "line": 62
2026-06-04T06:03:51.0690432Z             },
2026-06-04T06:03:51.0690850Z             {
2026-06-04T06:03:51.0691487Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0691936Z               "line": 107
2026-06-04T06:03:51.0692359Z             },
2026-06-04T06:03:51.0692762Z             {
2026-06-04T06:03:51.0693406Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0693843Z               "line": 128
2026-06-04T06:03:51.0694264Z             }
2026-06-04T06:03:51.0694668Z           ]
2026-06-04T06:03:51.0695086Z         },
2026-06-04T06:03:51.0695510Z         "int": {
2026-06-04T06:03:51.0695969Z           "complete": false,
2026-06-04T06:03:51.0696438Z           "evidence": []
2026-06-04T06:03:51.0696842Z         },
2026-06-04T06:03:51.0697284Z         "unit": {
2026-06-04T06:03:51.0697745Z           "complete": true,
2026-06-04T06:03:51.0698196Z           "evidence": [
2026-06-04T06:03:51.0698617Z             {
2026-06-04T06:03:51.0699251Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T06:03:51.0699998Z               "line": 113
2026-06-04T06:03:51.0700409Z             },
2026-06-04T06:03:51.0700823Z             {
2026-06-04T06:03:51.0701425Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T06:03:51.0701874Z               "line": 119
2026-06-04T06:03:51.0702295Z             },
2026-06-04T06:03:51.0702709Z             {
2026-06-04T06:03:51.0703316Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T06:03:51.0703759Z               "line": 130
2026-06-04T06:03:51.0704179Z             },
2026-06-04T06:03:51.0704664Z             {
2026-06-04T06:03:51.0705328Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0705781Z               "line": 183
2026-06-04T06:03:51.0706202Z             },
2026-06-04T06:03:51.0706621Z             {
2026-06-04T06:03:51.0707264Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0707717Z               "line": 193
2026-06-04T06:03:51.0708123Z             },
2026-06-04T06:03:51.0708542Z             {
2026-06-04T06:03:51.0709212Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0709807Z               "line": 237
2026-06-04T06:03:51.0710237Z             },
2026-06-04T06:03:51.0710659Z             {
2026-06-04T06:03:51.0711321Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0711788Z               "line": 249
2026-06-04T06:03:51.0712214Z             },
2026-06-04T06:03:51.0712644Z             {
2026-06-04T06:03:51.0713305Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.0713766Z               "line": 275
2026-06-04T06:03:51.0714197Z             }
2026-06-04T06:03:51.0714624Z           ]
2026-06-04T06:03:51.0715051Z         }
2026-06-04T06:03:51.0715645Z       }
2026-06-04T06:03:51.0716083Z     },
2026-06-04T06:03:51.0716500Z     {
2026-06-04T06:03:51.0717104Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T06:03:51.0718767Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T06:03:51.0719302Z       "requiredStages": [
2026-06-04T06:03:51.0719880Z         "impl",
2026-06-04T06:03:51.0720296Z         "unit",
2026-06-04T06:03:51.0720719Z         "int"
2026-06-04T06:03:51.0721121Z       ],
2026-06-04T06:03:51.0721549Z       "stages": {
2026-06-04T06:03:51.0721964Z         "doc": {
2026-06-04T06:03:51.0722438Z           "complete": false,
2026-06-04T06:03:51.0722893Z           "evidence": []
2026-06-04T06:03:51.0723299Z         },
2026-06-04T06:03:51.0723726Z         "impl": {
2026-06-04T06:03:51.0724182Z           "complete": true,
2026-06-04T06:03:51.0724779Z           "evidence": [
2026-06-04T06:03:51.0725184Z             {
2026-06-04T06:03:51.0725815Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:51.0726264Z               "line": 236
2026-06-04T06:03:51.0726672Z             },
2026-06-04T06:03:51.0727087Z             {
2026-06-04T06:03:51.0727693Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:51.0728144Z               "line": 491
2026-06-04T06:03:51.0728555Z             },
2026-06-04T06:03:51.0728974Z             {
2026-06-04T06:03:51.0729771Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:51.0730223Z               "line": 514
2026-06-04T06:03:51.0730641Z             },
2026-06-04T06:03:51.0731047Z             {
2026-06-04T06:03:51.0731667Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:51.0732110Z               "line": 538
2026-06-04T06:03:51.0732531Z             },
2026-06-04T06:03:51.0732953Z             {
2026-06-04T06:03:51.0733588Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:51.0734038Z               "line": 438
2026-06-04T06:03:51.0734451Z             },
2026-06-04T06:03:51.0734868Z             {
2026-06-04T06:03:51.0735488Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:51.0735942Z               "line": 519
2026-06-04T06:03:51.0736370Z             },
2026-06-04T06:03:51.0736776Z             {
2026-06-04T06:03:51.0737408Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:51.0737846Z               "line": 563
2026-06-04T06:03:51.0738264Z             },
2026-06-04T06:03:51.0738670Z             {
2026-06-04T06:03:51.0739341Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T06:03:51.0739799Z               "line": 606
2026-06-04T06:03:51.0740210Z             },
2026-06-04T06:03:51.0740626Z             {
2026-06-04T06:03:51.0741258Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T06:03:51.0741706Z               "line": 46
2026-06-04T06:03:51.0742129Z             },
2026-06-04T06:03:51.0742542Z             {
2026-06-04T06:03:51.0743189Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T06:03:51.0743631Z               "line": 160
2026-06-04T06:03:51.0744052Z             },
2026-06-04T06:03:51.0744455Z             {
2026-06-04T06:03:51.0745046Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T06:03:51.0745478Z               "line": 71
2026-06-04T06:03:51.0745904Z             },
2026-06-04T06:03:51.0746320Z             {
2026-06-04T06:03:51.0746919Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.0747377Z               "line": 128
2026-06-04T06:03:51.0747797Z             },
2026-06-04T06:03:51.0748213Z             {
2026-06-04T06:03:51.0748809Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.0749295Z               "line": 174
2026-06-04T06:03:51.0749712Z             }
2026-06-04T06:03:51.0750116Z           ]
2026-06-04T06:03:51.0750535Z         },
2026-06-04T06:03:51.0750949Z         "int": {
2026-06-04T06:03:51.0751421Z           "complete": true,
2026-06-04T06:03:51.0752026Z           "evidence": [
2026-06-04T06:03:51.0752460Z             {
2026-06-04T06:03:51.0753167Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T06:03:51.0753599Z               "line": 27
2026-06-04T06:03:51.0754020Z             },
2026-06-04T06:03:51.0754424Z             {
2026-06-04T06:03:51.0755111Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T06:03:51.0755562Z               "line": 125
2026-06-04T06:03:51.0755979Z             },
2026-06-04T06:03:51.0756398Z             {
2026-06-04T06:03:51.0757079Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T06:03:51.0762552Z               "line": 189
2026-06-04T06:03:51.0763059Z             }
2026-06-04T06:03:51.0763481Z           ]
2026-06-04T06:03:51.0763899Z         },
2026-06-04T06:03:51.0764324Z         "unit": {
2026-06-04T06:03:51.0765047Z           "complete": true,
2026-06-04T06:03:51.0765492Z           "evidence": [
2026-06-04T06:03:51.0765911Z             {
2026-06-04T06:03:51.0766563Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T06:03:51.0767018Z               "line": 282
2026-06-04T06:03:51.0767436Z             },
2026-06-04T06:03:51.0767841Z             {
2026-06-04T06:03:51.0768478Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T06:03:51.0768917Z               "line": 300
2026-06-04T06:03:51.0769399Z             },
2026-06-04T06:03:51.0769803Z             {
2026-06-04T06:03:51.0770434Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T06:03:51.0770884Z               "line": 318
2026-06-04T06:03:51.0771290Z             },
2026-06-04T06:03:51.0771709Z             {
2026-06-04T06:03:51.0772349Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T06:03:51.0772794Z               "line": 221
2026-06-04T06:03:51.0773199Z             },
2026-06-04T06:03:51.0773617Z             {
2026-06-04T06:03:51.0774251Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T06:03:51.0774685Z               "line": 204
2026-06-04T06:03:51.0775093Z             },
2026-06-04T06:03:51.0775487Z             {
2026-06-04T06:03:51.0776104Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T06:03:51.0776534Z               "line": 180
2026-06-04T06:03:51.0776942Z             },
2026-06-04T06:03:51.0777342Z             {
2026-06-04T06:03:51.0777925Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.0778361Z               "line": 441
2026-06-04T06:03:51.0778756Z             },
2026-06-04T06:03:51.0779195Z             {
2026-06-04T06:03:51.0779781Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.0780222Z               "line": 465
2026-06-04T06:03:51.0780631Z             }
2026-06-04T06:03:51.0781024Z           ]
2026-06-04T06:03:51.0781426Z         }
2026-06-04T06:03:51.0781815Z       }
2026-06-04T06:03:51.0782220Z     },
2026-06-04T06:03:51.0782605Z     {
2026-06-04T06:03:51.0783191Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T06:03:51.0784257Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T06:03:51.0784709Z       "requiredStages": [
2026-06-04T06:03:51.0785116Z         "impl",
2026-06-04T06:03:51.0785512Z         "unit"
2026-06-04T06:03:51.0785913Z       ],
2026-06-04T06:03:51.0786322Z       "stages": {
2026-06-04T06:03:51.0786732Z         "doc": {
2026-06-04T06:03:51.0787187Z           "complete": false,
2026-06-04T06:03:51.0787619Z           "evidence": []
2026-06-04T06:03:51.0788016Z         },
2026-06-04T06:03:51.0788424Z         "impl": {
2026-06-04T06:03:51.0788879Z           "complete": true,
2026-06-04T06:03:51.0789347Z           "evidence": [
2026-06-04T06:03:51.0789756Z             {
2026-06-04T06:03:51.0790439Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.0790861Z               "line": 56
2026-06-04T06:03:51.0791271Z             },
2026-06-04T06:03:51.0791659Z             {
2026-06-04T06:03:51.0792480Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.0792916Z               "line": 63
2026-06-04T06:03:51.0793329Z             },
2026-06-04T06:03:51.0793736Z             {
2026-06-04T06:03:51.0794325Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0794758Z               "line": 33
2026-06-04T06:03:51.0795154Z             },
2026-06-04T06:03:51.0795551Z             {
2026-06-04T06:03:51.0796141Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0796567Z               "line": 61
2026-06-04T06:03:51.0796972Z             },
2026-06-04T06:03:51.0797364Z             {
2026-06-04T06:03:51.0797954Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0798374Z               "line": 70
2026-06-04T06:03:51.0798779Z             },
2026-06-04T06:03:51.0799225Z             {
2026-06-04T06:03:51.0799818Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0800434Z               "line": 79
2026-06-04T06:03:51.0800828Z             },
2026-06-04T06:03:51.0801239Z             {
2026-06-04T06:03:51.0801823Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0802259Z               "line": 88
2026-06-04T06:03:51.0802670Z             },
2026-06-04T06:03:51.0803399Z             {
2026-06-04T06:03:51.0804021Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0804455Z               "line": 97
2026-06-04T06:03:51.0804878Z             },
2026-06-04T06:03:51.0805283Z             {
2026-06-04T06:03:51.0805917Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0806367Z               "line": 105
2026-06-04T06:03:51.0806780Z             },
2026-06-04T06:03:51.0807200Z             {
2026-06-04T06:03:51.0807810Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0808280Z               "line": 114
2026-06-04T06:03:51.0808700Z             },
2026-06-04T06:03:51.0809148Z             {
2026-06-04T06:03:51.0810152Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0810602Z               "line": 121
2026-06-04T06:03:51.0811024Z             },
2026-06-04T06:03:51.0811430Z             {
2026-06-04T06:03:51.0812049Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0812484Z               "line": 128
2026-06-04T06:03:51.0812904Z             },
2026-06-04T06:03:51.0813316Z             {
2026-06-04T06:03:51.0813915Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0814351Z               "line": 136
2026-06-04T06:03:51.0814746Z             },
2026-06-04T06:03:51.0815152Z             {
2026-06-04T06:03:51.0815744Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0816186Z               "line": 145
2026-06-04T06:03:51.0816598Z             },
2026-06-04T06:03:51.0816993Z             {
2026-06-04T06:03:51.0817588Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0818021Z               "line": 212
2026-06-04T06:03:51.0818432Z             },
2026-06-04T06:03:51.0818836Z             {
2026-06-04T06:03:51.0819494Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0819941Z               "line": 224
2026-06-04T06:03:51.0820342Z             },
2026-06-04T06:03:51.0820741Z             {
2026-06-04T06:03:51.0821326Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0821762Z               "line": 311
2026-06-04T06:03:51.0822157Z             }
2026-06-04T06:03:51.0822558Z           ]
2026-06-04T06:03:51.0822962Z         },
2026-06-04T06:03:51.0823431Z         "int": {
2026-06-04T06:03:51.0823892Z           "complete": false,
2026-06-04T06:03:51.0824327Z           "evidence": []
2026-06-04T06:03:51.0824730Z         },
2026-06-04T06:03:51.0825133Z         "unit": {
2026-06-04T06:03:51.0825583Z           "complete": true,
2026-06-04T06:03:51.0826022Z           "evidence": [
2026-06-04T06:03:51.0826422Z             {
2026-06-04T06:03:51.0827020Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0827647Z               "line": 381
2026-06-04T06:03:51.0828081Z             },
2026-06-04T06:03:51.0828476Z             {
2026-06-04T06:03:51.0829074Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0829573Z               "line": 407
2026-06-04T06:03:51.0829972Z             },
2026-06-04T06:03:51.0830379Z             {
2026-06-04T06:03:51.0830970Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0831411Z               "line": 420
2026-06-04T06:03:51.0831819Z             },
2026-06-04T06:03:51.0832215Z             {
2026-06-04T06:03:51.0832807Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.0833235Z               "line": 462
2026-06-04T06:03:51.0833645Z             }
2026-06-04T06:03:51.0834042Z           ]
2026-06-04T06:03:51.0834442Z         }
2026-06-04T06:03:51.0834842Z       }
2026-06-04T06:03:51.0835362Z     },
2026-06-04T06:03:51.0835760Z     {
2026-06-04T06:03:51.0836277Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T06:03:51.0837386Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T06:03:51.0837842Z       "requiredStages": [
2026-06-04T06:03:51.0838254Z         "impl",
2026-06-04T06:03:51.0838659Z         "unit"
2026-06-04T06:03:51.0839053Z       ],
2026-06-04T06:03:51.0843486Z       "stages": {
2026-06-04T06:03:51.0844096Z         "doc": {
2026-06-04T06:03:51.0844564Z           "complete": false,
2026-06-04T06:03:51.0844998Z           "evidence": []
2026-06-04T06:03:51.0845404Z         },
2026-06-04T06:03:51.0845815Z         "impl": {
2026-06-04T06:03:51.0846270Z           "complete": true,
2026-06-04T06:03:51.0846703Z           "evidence": [
2026-06-04T06:03:51.0847104Z             {
2026-06-04T06:03:51.0847689Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.0848116Z               "line": 107
2026-06-04T06:03:51.0848521Z             },
2026-06-04T06:03:51.0848941Z             {
2026-06-04T06:03:51.0849652Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.0850083Z               "line": 59
2026-06-04T06:03:51.0850479Z             }
2026-06-04T06:03:51.0850884Z           ]
2026-06-04T06:03:51.0851278Z         },
2026-06-04T06:03:51.0851692Z         "int": {
2026-06-04T06:03:51.0852147Z           "complete": false,
2026-06-04T06:03:51.0852573Z           "evidence": []
2026-06-04T06:03:51.0852972Z         },
2026-06-04T06:03:51.0853381Z         "unit": {
2026-06-04T06:03:51.0853833Z           "complete": true,
2026-06-04T06:03:51.0854262Z           "evidence": [
2026-06-04T06:03:51.0854667Z             {
2026-06-04T06:03:51.0855240Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.0855669Z               "line": 225
2026-06-04T06:03:51.0856070Z             },
2026-06-04T06:03:51.0856460Z             {
2026-06-04T06:03:51.0857085Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.0857522Z               "line": 254
2026-06-04T06:03:51.0857926Z             },
2026-06-04T06:03:51.0858336Z             {
2026-06-04T06:03:51.0858944Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.0859424Z               "line": 264
2026-06-04T06:03:51.0859816Z             }
2026-06-04T06:03:51.0860218Z           ]
2026-06-04T06:03:51.0860609Z         }
2026-06-04T06:03:51.0861008Z       }
2026-06-04T06:03:51.0861400Z     },
2026-06-04T06:03:51.0861781Z     {
2026-06-04T06:03:51.0862319Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T06:03:51.0863020Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T06:03:51.0863482Z       "requiredStages": [],
2026-06-04T06:03:51.0863886Z       "stages": {
2026-06-04T06:03:51.0864292Z         "doc": {
2026-06-04T06:03:51.0864750Z           "complete": false,
2026-06-04T06:03:51.0865182Z           "evidence": []
2026-06-04T06:03:51.0865586Z         },
2026-06-04T06:03:51.0865990Z         "impl": {
2026-06-04T06:03:51.0866456Z           "complete": false,
2026-06-04T06:03:51.0866890Z           "evidence": []
2026-06-04T06:03:51.0867504Z         },
2026-06-04T06:03:51.0867934Z         "int": {
2026-06-04T06:03:51.0868377Z           "complete": false,
2026-06-04T06:03:51.0868817Z           "evidence": []
2026-06-04T06:03:51.0869254Z         },
2026-06-04T06:03:51.0869670Z         "unit": {
2026-06-04T06:03:51.0870115Z           "complete": false,
2026-06-04T06:03:51.0870553Z           "evidence": []
2026-06-04T06:03:51.0870952Z         }
2026-06-04T06:03:51.0871341Z       }
2026-06-04T06:03:51.0871743Z     },
2026-06-04T06:03:51.0872122Z     {
2026-06-04T06:03:51.0872750Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T06:03:51.0873647Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T06:03:51.0874113Z       "requiredStages": [
2026-06-04T06:03:51.0874521Z         "impl",
2026-06-04T06:03:51.0874926Z         "unit"
2026-06-04T06:03:51.0875321Z       ],
2026-06-04T06:03:51.0875866Z       "stages": {
2026-06-04T06:03:51.0876274Z         "doc": {
2026-06-04T06:03:51.0876733Z           "complete": false,
2026-06-04T06:03:51.0877171Z           "evidence": []
2026-06-04T06:03:51.0877560Z         },
2026-06-04T06:03:51.0877973Z         "impl": {
2026-06-04T06:03:51.0878419Z           "complete": true,
2026-06-04T06:03:51.0878846Z           "evidence": [
2026-06-04T06:03:51.0879307Z             {
2026-06-04T06:03:51.0879944Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:51.0880381Z               "line": 364
2026-06-04T06:03:51.0880788Z             },
2026-06-04T06:03:51.0881181Z             {
2026-06-04T06:03:51.0881786Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:51.0882220Z               "line": 28
2026-06-04T06:03:51.0882627Z             }
2026-06-04T06:03:51.0883018Z           ]
2026-06-04T06:03:51.0883420Z         },
2026-06-04T06:03:51.0883830Z         "int": {
2026-06-04T06:03:51.0884275Z           "complete": false,
2026-06-04T06:03:51.0884732Z           "evidence": []
2026-06-04T06:03:51.0885129Z         },
2026-06-04T06:03:51.0885550Z         "unit": {
2026-06-04T06:03:51.0885995Z           "complete": true,
2026-06-04T06:03:51.0886432Z           "evidence": [
2026-06-04T06:03:51.0886831Z             {
2026-06-04T06:03:51.0887429Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:51.0887858Z               "line": 200
2026-06-04T06:03:51.0888254Z             }
2026-06-04T06:03:51.0888654Z           ]
2026-06-04T06:03:51.0889041Z         }
2026-06-04T06:03:51.0889480Z       }
2026-06-04T06:03:51.0889869Z     },
2026-06-04T06:03:51.0890269Z     {
2026-06-04T06:03:51.0890808Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T06:03:51.0891516Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T06:03:51.0891977Z       "requiredStages": [],
2026-06-04T06:03:51.0892384Z       "stages": {
2026-06-04T06:03:51.0892792Z         "doc": {
2026-06-04T06:03:51.0893241Z           "complete": false,
2026-06-04T06:03:51.0893690Z           "evidence": []
2026-06-04T06:03:51.0894090Z         },
2026-06-04T06:03:51.0894502Z         "impl": {
2026-06-04T06:03:51.0894959Z           "complete": false,
2026-06-04T06:03:51.0895389Z           "evidence": []
2026-06-04T06:03:51.0895793Z         },
2026-06-04T06:03:51.0896188Z         "int": {
2026-06-04T06:03:51.0896641Z           "complete": false,
2026-06-04T06:03:51.0897081Z           "evidence": []
2026-06-04T06:03:51.0897470Z         },
2026-06-04T06:03:51.0897880Z         "unit": {
2026-06-04T06:03:51.0898324Z           "complete": false,
2026-06-04T06:03:51.0898759Z           "evidence": []
2026-06-04T06:03:51.0899146Z         }
2026-06-04T06:03:51.0899578Z       }
2026-06-04T06:03:51.0899975Z     },
2026-06-04T06:03:51.0900359Z     {
2026-06-04T06:03:51.0900929Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T06:03:51.0901719Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T06:03:51.0902180Z       "requiredStages": [
2026-06-04T06:03:51.0902590Z         "impl",
2026-06-04T06:03:51.0902999Z         "unit"
2026-06-04T06:03:51.0903625Z       ],
2026-06-04T06:03:51.0904084Z       "stages": {
2026-06-04T06:03:51.0904546Z         "doc": {
2026-06-04T06:03:51.0905028Z           "complete": false,
2026-06-04T06:03:51.0905501Z           "evidence": []
2026-06-04T06:03:51.0905904Z         },
2026-06-04T06:03:51.0906342Z         "impl": {
2026-06-04T06:03:51.0906801Z           "complete": true,
2026-06-04T06:03:51.0907228Z           "evidence": [
2026-06-04T06:03:51.0907635Z             {
2026-06-04T06:03:51.0908208Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T06:03:51.0908637Z               "line": 19
2026-06-04T06:03:51.0909035Z             },
2026-06-04T06:03:51.0909490Z             {
2026-06-04T06:03:51.0910134Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.0910560Z               "line": 325
2026-06-04T06:03:51.0910963Z             },
2026-06-04T06:03:51.0911512Z             {
2026-06-04T06:03:51.0912149Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.0912595Z               "line": 361
2026-06-04T06:03:51.0912993Z             },
2026-06-04T06:03:51.0913394Z             {
2026-06-04T06:03:51.0913985Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T06:03:51.0914416Z               "line": 15
2026-06-04T06:03:51.0914808Z             },
2026-06-04T06:03:51.0915211Z             {
2026-06-04T06:03:51.0915817Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T06:03:51.0916234Z               "line": 48
2026-06-04T06:03:51.0916639Z             },
2026-06-04T06:03:51.0917035Z             {
2026-06-04T06:03:51.0921085Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T06:03:51.0921586Z               "line": 106
2026-06-04T06:03:51.0922007Z             }
2026-06-04T06:03:51.0922425Z           ]
2026-06-04T06:03:51.0922837Z         },
2026-06-04T06:03:51.0923258Z         "int": {
2026-06-04T06:03:51.0923753Z           "complete": false,
2026-06-04T06:03:51.0924205Z           "evidence": []
2026-06-04T06:03:51.0924625Z         },
2026-06-04T06:03:51.0925053Z         "unit": {
2026-06-04T06:03:51.0925518Z           "complete": true,
2026-06-04T06:03:51.0925952Z           "evidence": [
2026-06-04T06:03:51.0926366Z             {
2026-06-04T06:03:51.0927006Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.0927454Z               "line": 453
2026-06-04T06:03:51.0927858Z             },
2026-06-04T06:03:51.0928277Z             {
2026-06-04T06:03:51.0928891Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T06:03:51.0929390Z               "line": 149
2026-06-04T06:03:51.0929809Z             },
2026-06-04T06:03:51.0930215Z             {
2026-06-04T06:03:51.0930836Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T06:03:51.0931272Z               "line": 156
2026-06-04T06:03:51.0931696Z             }
2026-06-04T06:03:51.0932110Z           ]
2026-06-04T06:03:51.0932527Z         }
2026-06-04T06:03:51.0932939Z       }
2026-06-04T06:03:51.0933336Z     },
2026-06-04T06:03:51.0933755Z     {
2026-06-04T06:03:51.0934309Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T06:03:51.0935160Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T06:03:51.0935641Z       "requiredStages": [
2026-06-04T06:03:51.0936060Z         "impl",
2026-06-04T06:03:51.0936487Z         "unit"
2026-06-04T06:03:51.0936891Z       ],
2026-06-04T06:03:51.0937325Z       "stages": {
2026-06-04T06:03:51.0937742Z         "doc": {
2026-06-04T06:03:51.0938211Z           "complete": false,
2026-06-04T06:03:51.0938659Z           "evidence": []
2026-06-04T06:03:51.0939058Z         },
2026-06-04T06:03:51.0939512Z         "impl": {
2026-06-04T06:03:51.0939967Z           "complete": true,
2026-06-04T06:03:51.0940415Z           "evidence": [
2026-06-04T06:03:51.0940816Z             {
2026-06-04T06:03:51.0941441Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:51.0941895Z               "line": 35
2026-06-04T06:03:51.0942293Z             }
2026-06-04T06:03:51.0942954Z           ]
2026-06-04T06:03:51.0943374Z         },
2026-06-04T06:03:51.0943796Z         "int": {
2026-06-04T06:03:51.0944260Z           "complete": false,
2026-06-04T06:03:51.0944713Z           "evidence": []
2026-06-04T06:03:51.0945122Z         },
2026-06-04T06:03:51.0945540Z         "unit": {
2026-06-04T06:03:51.0946002Z           "complete": true,
2026-06-04T06:03:51.0946438Z           "evidence": [
2026-06-04T06:03:51.0946860Z             {
2026-06-04T06:03:51.0947461Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T06:03:51.0947909Z               "line": 217
2026-06-04T06:03:51.0948324Z             }
2026-06-04T06:03:51.0948723Z           ]
2026-06-04T06:03:51.0949134Z         }
2026-06-04T06:03:51.0949579Z       }
2026-06-04T06:03:51.0949987Z     },
2026-06-04T06:03:51.0950385Z     {
2026-06-04T06:03:51.0950927Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T06:03:51.0952659Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T06:03:51.0953128Z       "requiredStages": [
2026-06-04T06:03:51.0953553Z         "impl",
2026-06-04T06:03:51.0953961Z         "unit"
2026-06-04T06:03:51.0954373Z       ],
2026-06-04T06:03:51.0954797Z       "stages": {
2026-06-04T06:03:51.0955217Z         "doc": {
2026-06-04T06:03:51.0955685Z           "complete": false,
2026-06-04T06:03:51.0956122Z           "evidence": []
2026-06-04T06:03:51.0956532Z         },
2026-06-04T06:03:51.0956943Z         "impl": {
2026-06-04T06:03:51.0957405Z           "complete": true,
2026-06-04T06:03:51.0957847Z           "evidence": [
2026-06-04T06:03:51.0958261Z             {
2026-06-04T06:03:51.0958899Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.0959377Z               "line": 159
2026-06-04T06:03:51.0959796Z             },
2026-06-04T06:03:51.0960210Z             {
2026-06-04T06:03:51.0960849Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.0961311Z               "line": 150
2026-06-04T06:03:51.0961742Z             }
2026-06-04T06:03:51.0962161Z           ]
2026-06-04T06:03:51.0962571Z         },
2026-06-04T06:03:51.0962995Z         "int": {
2026-06-04T06:03:51.0963450Z           "complete": false,
2026-06-04T06:03:51.0963895Z           "evidence": []
2026-06-04T06:03:51.0964298Z         },
2026-06-04T06:03:51.0964730Z         "unit": {
2026-06-04T06:03:51.0965194Z           "complete": true,
2026-06-04T06:03:51.0965629Z           "evidence": [
2026-06-04T06:03:51.0966035Z             {
2026-06-04T06:03:51.0966668Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.0967116Z               "line": 382
2026-06-04T06:03:51.0967522Z             },
2026-06-04T06:03:51.0967935Z             {
2026-06-04T06:03:51.0968575Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.0969016Z               "line": 393
2026-06-04T06:03:51.0969483Z             },
2026-06-04T06:03:51.0969889Z             {
2026-06-04T06:03:51.0970530Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.0970969Z               "line": 409
2026-06-04T06:03:51.0971385Z             },
2026-06-04T06:03:51.0971797Z             {
2026-06-04T06:03:51.0972419Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.0972861Z               "line": 423
2026-06-04T06:03:51.0973268Z             }
2026-06-04T06:03:51.0973687Z           ]
2026-06-04T06:03:51.0974087Z         }
2026-06-04T06:03:51.0974496Z       }
2026-06-04T06:03:51.0974899Z     },
2026-06-04T06:03:51.0975306Z     {
2026-06-04T06:03:51.0975861Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T06:03:51.0980834Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-04T06:03:51.0981332Z       "requiredStages": [
2026-06-04T06:03:51.0981738Z         "doc",
2026-06-04T06:03:51.0982339Z         "impl",
2026-06-04T06:03:51.0982761Z         "unit"
2026-06-04T06:03:51.0983154Z       ],
2026-06-04T06:03:51.0983576Z       "stages": {
2026-06-04T06:03:51.0983972Z         "doc": {
2026-06-04T06:03:51.0984431Z           "complete": true,
2026-06-04T06:03:51.0984864Z           "evidence": [
2026-06-04T06:03:51.0985265Z             {
2026-06-04T06:03:51.0985811Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T06:03:51.0986232Z               "line": 259
2026-06-04T06:03:51.0986635Z             }
2026-06-04T06:03:51.0987029Z           ]
2026-06-04T06:03:51.0987428Z         },
2026-06-04T06:03:51.0987841Z         "impl": {
2026-06-04T06:03:51.0988283Z           "complete": true,
2026-06-04T06:03:51.0988716Z           "evidence": [
2026-06-04T06:03:51.0989107Z             {
2026-06-04T06:03:51.0989765Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.0990315Z               "line": 85
2026-06-04T06:03:51.0990720Z             },
2026-06-04T06:03:51.0991124Z             {
2026-06-04T06:03:51.0991728Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T06:03:51.0992154Z               "line": 88
2026-06-04T06:03:51.0992542Z             },
2026-06-04T06:03:51.0992939Z             {
2026-06-04T06:03:51.0993510Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T06:03:51.0993936Z               "line": 70
2026-06-04T06:03:51.0994331Z             },
2026-06-04T06:03:51.0994721Z             {
2026-06-04T06:03:51.0995323Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.0995744Z               "line": 210
2026-06-04T06:03:51.0996143Z             },
2026-06-04T06:03:51.0996530Z             {
2026-06-04T06:03:51.0997149Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T06:03:51.0997576Z               "line": 36
2026-06-04T06:03:51.0997968Z             },
2026-06-04T06:03:51.0998376Z             {
2026-06-04T06:03:51.0998956Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T06:03:51.0999432Z               "line": 40
2026-06-04T06:03:51.0999827Z             }
2026-06-04T06:03:51.1000228Z           ]
2026-06-04T06:03:51.1003953Z         },
2026-06-04T06:03:51.1004426Z         "int": {
2026-06-04T06:03:51.1004957Z           "complete": false,
2026-06-04T06:03:51.1005403Z           "evidence": []
2026-06-04T06:03:51.1005819Z         },
2026-06-04T06:03:51.1006234Z         "unit": {
2026-06-04T06:03:51.1006697Z           "complete": true,
2026-06-04T06:03:51.1007144Z           "evidence": [
2026-06-04T06:03:51.1007546Z             {
2026-06-04T06:03:51.1008219Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T06:03:51.1008654Z               "line": 147
2026-06-04T06:03:51.1009066Z             },
2026-06-04T06:03:51.1009551Z             {
2026-06-04T06:03:51.1010184Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T06:03:51.1010652Z               "line": 126
2026-06-04T06:03:51.1011064Z             },
2026-06-04T06:03:51.1011476Z             {
2026-06-04T06:03:51.1012088Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T06:03:51.1012536Z               "line": 121
2026-06-04T06:03:51.1012937Z             }
2026-06-04T06:03:51.1013345Z           ]
2026-06-04T06:03:51.1013758Z         }
2026-06-04T06:03:51.1014157Z       }
2026-06-04T06:03:51.1014562Z     },
2026-06-04T06:03:51.1014961Z     {
2026-06-04T06:03:51.1015556Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T06:03:51.1016422Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T06:03:51.1016893Z       "requiredStages": [
2026-06-04T06:03:51.1017308Z         "impl",
2026-06-04T06:03:51.1017721Z         "unit"
2026-06-04T06:03:51.1018130Z       ],
2026-06-04T06:03:51.1018549Z       "stages": {
2026-06-04T06:03:51.1018965Z         "doc": {
2026-06-04T06:03:51.1019461Z           "complete": false,
2026-06-04T06:03:51.1019924Z           "evidence": []
2026-06-04T06:03:51.1020336Z         },
2026-06-04T06:03:51.1020751Z         "impl": {
2026-06-04T06:03:51.1021420Z           "complete": true,
2026-06-04T06:03:51.1021873Z           "evidence": [
2026-06-04T06:03:51.1022291Z             {
2026-06-04T06:03:51.1022889Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1023327Z               "line": 95
2026-06-04T06:03:51.1023742Z             },
2026-06-04T06:03:51.1024148Z             {
2026-06-04T06:03:51.1024752Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.1025179Z               "line": 96
2026-06-04T06:03:51.1025595Z             }
2026-06-04T06:03:51.1026013Z           ]
2026-06-04T06:03:51.1026484Z         },
2026-06-04T06:03:51.1026951Z         "int": {
2026-06-04T06:03:51.1027427Z           "complete": false,
2026-06-04T06:03:51.1027874Z           "evidence": []
2026-06-04T06:03:51.1028278Z         },
2026-06-04T06:03:51.1028698Z         "unit": {
2026-06-04T06:03:51.1029371Z           "complete": true,
2026-06-04T06:03:51.1029866Z           "evidence": [
2026-06-04T06:03:51.1030290Z             {
2026-06-04T06:03:51.1030902Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1031358Z               "line": 250
2026-06-04T06:03:51.1031761Z             },
2026-06-04T06:03:51.1032173Z             {
2026-06-04T06:03:51.1032764Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T06:03:51.1033208Z               "line": 139
2026-06-04T06:03:51.1033626Z             },
2026-06-04T06:03:51.1034034Z             {
2026-06-04T06:03:51.1034642Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.1035076Z               "line": 375
2026-06-04T06:03:51.1035489Z             },
2026-06-04T06:03:51.1035893Z             {
2026-06-04T06:03:51.1036502Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.1036950Z               "line": 405
2026-06-04T06:03:51.1037358Z             }
2026-06-04T06:03:51.1037770Z           ]
2026-06-04T06:03:51.1038180Z         }
2026-06-04T06:03:51.1038590Z       }
2026-06-04T06:03:51.1038986Z     },
2026-06-04T06:03:51.1039440Z     {
2026-06-04T06:03:51.1039970Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T06:03:51.1040994Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T06:03:51.1041470Z       "requiredStages": [
2026-06-04T06:03:51.1041882Z         "impl",
2026-06-04T06:03:51.1042300Z         "unit"
2026-06-04T06:03:51.1042703Z       ],
2026-06-04T06:03:51.1043146Z       "stages": {
2026-06-04T06:03:51.1043567Z         "doc": {
2026-06-04T06:03:51.1044032Z           "complete": false,
2026-06-04T06:03:51.1044481Z           "evidence": []
2026-06-04T06:03:51.1044887Z         },
2026-06-04T06:03:51.1045318Z         "impl": {
2026-06-04T06:03:51.1045772Z           "complete": true,
2026-06-04T06:03:51.1046222Z           "evidence": [
2026-06-04T06:03:51.1046638Z             {
2026-06-04T06:03:51.1047246Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.1047698Z               "line": 168
2026-06-04T06:03:51.1048102Z             },
2026-06-04T06:03:51.1048527Z             {
2026-06-04T06:03:51.1049127Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.1049613Z               "line": 213
2026-06-04T06:03:51.1050031Z             },
2026-06-04T06:03:51.1050436Z             {
2026-06-04T06:03:51.1051045Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.1051481Z               "line": 225
2026-06-04T06:03:51.1051894Z             }
2026-06-04T06:03:51.1052295Z           ]
2026-06-04T06:03:51.1052701Z         },
2026-06-04T06:03:51.1053119Z         "int": {
2026-06-04T06:03:51.1053579Z           "complete": false,
2026-06-04T06:03:51.1054020Z           "evidence": []
2026-06-04T06:03:51.1054421Z         },
2026-06-04T06:03:51.1054844Z         "unit": {
2026-06-04T06:03:51.1055297Z           "complete": true,
2026-06-04T06:03:51.1055740Z           "evidence": [
2026-06-04T06:03:51.1056164Z             {
2026-06-04T06:03:51.1056763Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.1057371Z               "line": 361
2026-06-04T06:03:51.1057796Z             },
2026-06-04T06:03:51.1058211Z             {
2026-06-04T06:03:51.1058817Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.1059398Z               "line": 390
2026-06-04T06:03:51.1059820Z             }
2026-06-04T06:03:51.1060228Z           ]
2026-06-04T06:03:51.1060640Z         }
2026-06-04T06:03:51.1061041Z       }
2026-06-04T06:03:51.1061448Z     },
2026-06-04T06:03:51.1061848Z     {
2026-06-04T06:03:51.1062317Z       "id": "REQ-INFRA-1",
2026-06-04T06:03:51.1063343Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T06:03:51.1063813Z       "requiredStages": [],
2026-06-04T06:03:51.1064244Z       "stages": {
2026-06-04T06:03:51.1064657Z         "doc": {
2026-06-04T06:03:51.1065124Z           "complete": false,
2026-06-04T06:03:51.1065716Z           "evidence": []
2026-06-04T06:03:51.1066134Z         },
2026-06-04T06:03:51.1066558Z         "impl": {
2026-06-04T06:03:51.1067024Z           "complete": false,
2026-06-04T06:03:51.1067474Z           "evidence": []
2026-06-04T06:03:51.1067912Z         },
2026-06-04T06:03:51.1068369Z         "int": {
2026-06-04T06:03:51.1068830Z           "complete": false,
2026-06-04T06:03:51.1069329Z           "evidence": []
2026-06-04T06:03:51.1069743Z         },
2026-06-04T06:03:51.1070161Z         "unit": {
2026-06-04T06:03:51.1070630Z           "complete": false,
2026-06-04T06:03:51.1071070Z           "evidence": []
2026-06-04T06:03:51.1071484Z         }
2026-06-04T06:03:51.1071890Z       }
2026-06-04T06:03:51.1072298Z     },
2026-06-04T06:03:51.1072705Z     {
2026-06-04T06:03:51.1073146Z       "id": "REQ-INST-1",
2026-06-04T06:03:51.1074021Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T06:03:51.1074495Z       "requiredStages": [],
2026-06-04T06:03:51.1074922Z       "stages": {
2026-06-04T06:03:51.1075343Z         "doc": {
2026-06-04T06:03:51.1075805Z           "complete": false,
2026-06-04T06:03:51.1076259Z           "evidence": []
2026-06-04T06:03:51.1076657Z         },
2026-06-04T06:03:51.1077081Z         "impl": {
2026-06-04T06:03:51.1077539Z           "complete": false,
2026-06-04T06:03:51.1077988Z           "evidence": []
2026-06-04T06:03:51.1078393Z         },
2026-06-04T06:03:51.1078813Z         "int": {
2026-06-04T06:03:51.1079318Z           "complete": false,
2026-06-04T06:03:51.1083100Z           "evidence": []
2026-06-04T06:03:51.1083586Z         },
2026-06-04T06:03:51.1084011Z         "unit": {
2026-06-04T06:03:51.1084487Z           "complete": false,
2026-06-04T06:03:51.1084934Z           "evidence": []
2026-06-04T06:03:51.1085347Z         }
2026-06-04T06:03:51.1085765Z       }
2026-06-04T06:03:51.1086172Z     },
2026-06-04T06:03:51.1086581Z     {
2026-06-04T06:03:51.1087040Z       "id": "REQ-INST-10",
2026-06-04T06:03:51.1088271Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T06:03:51.1088768Z       "requiredStages": [
2026-06-04T06:03:51.1089298Z         "impl",
2026-06-04T06:03:51.1089723Z         "unit"
2026-06-04T06:03:51.1090135Z       ],
2026-06-04T06:03:51.1090562Z       "stages": {
2026-06-04T06:03:51.1090974Z         "doc": {
2026-06-04T06:03:51.1091445Z           "complete": false,
2026-06-04T06:03:51.1091889Z           "evidence": []
2026-06-04T06:03:51.1092298Z         },
2026-06-04T06:03:51.1092716Z         "impl": {
2026-06-04T06:03:51.1093166Z           "complete": true,
2026-06-04T06:03:51.1093611Z           "evidence": [
2026-06-04T06:03:51.1094020Z             {
2026-06-04T06:03:51.1094734Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1095173Z               "line": 351
2026-06-04T06:03:51.1095594Z             },
2026-06-04T06:03:51.1096011Z             {
2026-06-04T06:03:51.1096655Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1097116Z               "line": 406
2026-06-04T06:03:51.1097524Z             },
2026-06-04T06:03:51.1097937Z             {
2026-06-04T06:03:51.1098803Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T06:03:51.1099316Z               "line": 13
2026-06-04T06:03:51.1099741Z             },
2026-06-04T06:03:51.1100149Z             {
2026-06-04T06:03:51.1100752Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T06:03:51.1101185Z               "line": 67
2026-06-04T06:03:51.1101602Z             }
2026-06-04T06:03:51.1102006Z           ]
2026-06-04T06:03:51.1102417Z         },
2026-06-04T06:03:51.1102839Z         "int": {
2026-06-04T06:03:51.1103298Z           "complete": false,
2026-06-04T06:03:51.1103752Z           "evidence": []
2026-06-04T06:03:51.1104155Z         },
2026-06-04T06:03:51.1104575Z         "unit": {
2026-06-04T06:03:51.1105030Z           "complete": true,
2026-06-04T06:03:51.1105479Z           "evidence": [
2026-06-04T06:03:51.1105903Z             {
2026-06-04T06:03:51.1106687Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1107135Z               "line": 550
2026-06-04T06:03:51.1107552Z             },
2026-06-04T06:03:51.1107961Z             {
2026-06-04T06:03:51.1108608Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1109051Z               "line": 559
2026-06-04T06:03:51.1109513Z             },
2026-06-04T06:03:51.1109917Z             {
2026-06-04T06:03:51.1110566Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1111005Z               "line": 567
2026-06-04T06:03:51.1111423Z             },
2026-06-04T06:03:51.1111838Z             {
2026-06-04T06:03:51.1112488Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1112936Z               "line": 580
2026-06-04T06:03:51.1113351Z             },
2026-06-04T06:03:51.1113764Z             {
2026-06-04T06:03:51.1114407Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1114854Z               "line": 593
2026-06-04T06:03:51.1115282Z             },
2026-06-04T06:03:51.1115690Z             {
2026-06-04T06:03:51.1116347Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1116779Z               "line": 609
2026-06-04T06:03:51.1117201Z             },
2026-06-04T06:03:51.1117603Z             {
2026-06-04T06:03:51.1118258Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1118702Z               "line": 838
2026-06-04T06:03:51.1119114Z             },
2026-06-04T06:03:51.1119561Z             {
2026-06-04T06:03:51.1120149Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T06:03:51.1120597Z               "line": 121
2026-06-04T06:03:51.1121004Z             },
2026-06-04T06:03:51.1121414Z             {
2026-06-04T06:03:51.1122012Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T06:03:51.1122453Z               "line": 142
2026-06-04T06:03:51.1122871Z             },
2026-06-04T06:03:51.1123282Z             {
2026-06-04T06:03:51.1123894Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T06:03:51.1124337Z               "line": 150
2026-06-04T06:03:51.1124761Z             },
2026-06-04T06:03:51.1125176Z             {
2026-06-04T06:03:51.1125768Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T06:03:51.1126213Z               "line": 158
2026-06-04T06:03:51.1126617Z             }
2026-06-04T06:03:51.1127035Z           ]
2026-06-04T06:03:51.1127433Z         }
2026-06-04T06:03:51.1127847Z       }
2026-06-04T06:03:51.1128257Z     },
2026-06-04T06:03:51.1128652Z     {
2026-06-04T06:03:51.1129112Z       "id": "REQ-INST-11",
2026-06-04T06:03:51.1130397Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T06:03:51.1130874Z       "requiredStages": [
2026-06-04T06:03:51.1131284Z         "impl",
2026-06-04T06:03:51.1131700Z         "unit"
2026-06-04T06:03:51.1132110Z       ],
2026-06-04T06:03:51.1132529Z       "stages": {
2026-06-04T06:03:51.1132959Z         "doc": {
2026-06-04T06:03:51.1133416Z           "complete": false,
2026-06-04T06:03:51.1133868Z           "evidence": []
2026-06-04T06:03:51.1134414Z         },
2026-06-04T06:03:51.1134857Z         "impl": {
2026-06-04T06:03:51.1135317Z           "complete": true,
2026-06-04T06:03:51.1135746Z           "evidence": [
2026-06-04T06:03:51.1136158Z             {
2026-06-04T06:03:51.1136802Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1137246Z               "line": 253
2026-06-04T06:03:51.1137651Z             },
2026-06-04T06:03:51.1138071Z             {
2026-06-04T06:03:51.1138757Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.1139247Z               "line": 243
2026-06-04T06:03:51.1139681Z             },
2026-06-04T06:03:51.1140104Z             {
2026-06-04T06:03:51.1140716Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T06:03:51.1141149Z               "line": 59
2026-06-04T06:03:51.1141568Z             },
2026-06-04T06:03:51.1142128Z             {
2026-06-04T06:03:51.1142663Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1143124Z               "line": 621
2026-06-04T06:03:51.1143547Z             },
2026-06-04T06:03:51.1143973Z             {
2026-06-04T06:03:51.1144514Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1144970Z               "line": 726
2026-06-04T06:03:51.1145390Z             }
2026-06-04T06:03:51.1145804Z           ]
2026-06-04T06:03:51.1146225Z         },
2026-06-04T06:03:51.1146635Z         "int": {
2026-06-04T06:03:51.1147111Z           "complete": false,
2026-06-04T06:03:51.1147552Z           "evidence": []
2026-06-04T06:03:51.1147966Z         },
2026-06-04T06:03:51.1148404Z         "unit": {
2026-06-04T06:03:51.1148852Z           "complete": true,
2026-06-04T06:03:51.1149347Z           "evidence": [
2026-06-04T06:03:51.1149758Z             {
2026-06-04T06:03:51.1150411Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1150864Z               "line": 702
2026-06-04T06:03:51.1151284Z             },
2026-06-04T06:03:51.1151701Z             {
2026-06-04T06:03:51.1152358Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1152806Z               "line": 725
2026-06-04T06:03:51.1153211Z             },
2026-06-04T06:03:51.1153623Z             {
2026-06-04T06:03:51.1154311Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.1154751Z               "line": 356
2026-06-04T06:03:51.1155168Z             },
2026-06-04T06:03:51.1155566Z             {
2026-06-04T06:03:51.1156173Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T06:03:51.1156610Z               "line": 156
2026-06-04T06:03:51.1157027Z             },
2026-06-04T06:03:51.1157440Z             {
2026-06-04T06:03:51.1158043Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T06:03:51.1158489Z               "line": 177
2026-06-04T06:03:51.1158895Z             },
2026-06-04T06:03:51.1159353Z             {
2026-06-04T06:03:51.1159964Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T06:03:51.1163672Z               "line": 209
2026-06-04T06:03:51.1164247Z             },
2026-06-04T06:03:51.1164656Z             {
2026-06-04T06:03:51.1165216Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1165659Z               "line": 819
2026-06-04T06:03:51.1166079Z             }
2026-06-04T06:03:51.1166484Z           ]
2026-06-04T06:03:51.1166903Z         }
2026-06-04T06:03:51.1167314Z       }
2026-06-04T06:03:51.1167712Z     },
2026-06-04T06:03:51.1168121Z     {
2026-06-04T06:03:51.1168568Z       "id": "REQ-INST-12",
2026-06-04T06:03:51.1170422Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T06:03:51.1170888Z       "requiredStages": [
2026-06-04T06:03:51.1171306Z         "impl",
2026-06-04T06:03:51.1171725Z         "unit"
2026-06-04T06:03:51.1172126Z       ],
2026-06-04T06:03:51.1172552Z       "stages": {
2026-06-04T06:03:51.1172974Z         "doc": {
2026-06-04T06:03:51.1173440Z           "complete": false,
2026-06-04T06:03:51.1174089Z           "evidence": []
2026-06-04T06:03:51.1174530Z         },
2026-06-04T06:03:51.1174967Z         "impl": {
2026-06-04T06:03:51.1175430Z           "complete": true,
2026-06-04T06:03:51.1175875Z           "evidence": [
2026-06-04T06:03:51.1176280Z             {
2026-06-04T06:03:51.1176940Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1177382Z               "line": 305
2026-06-04T06:03:51.1177795Z             },
2026-06-04T06:03:51.1178209Z             {
2026-06-04T06:03:51.1178849Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1179338Z               "line": 362
2026-06-04T06:03:51.1179744Z             },
2026-06-04T06:03:51.1180156Z             {
2026-06-04T06:03:51.1180800Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1181251Z               "line": 420
2026-06-04T06:03:51.1181809Z             },
2026-06-04T06:03:51.1182218Z             {
2026-06-04T06:03:51.1182852Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.1183286Z               "line": 87
2026-06-04T06:03:51.1183707Z             },
2026-06-04T06:03:51.1184111Z             {
2026-06-04T06:03:51.1184723Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.1185171Z               "line": 216
2026-06-04T06:03:51.1185577Z             },
2026-06-04T06:03:51.1185988Z             {
2026-06-04T06:03:51.1186633Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1187077Z               "line": 132
2026-06-04T06:03:51.1187486Z             }
2026-06-04T06:03:51.1187904Z           ]
2026-06-04T06:03:51.1188318Z         },
2026-06-04T06:03:51.1188735Z         "int": {
2026-06-04T06:03:51.1189245Z           "complete": false,
2026-06-04T06:03:51.1189691Z           "evidence": []
2026-06-04T06:03:51.1190102Z         },
2026-06-04T06:03:51.1190529Z         "unit": {
2026-06-04T06:03:51.1190993Z           "complete": true,
2026-06-04T06:03:51.1191442Z           "evidence": [
2026-06-04T06:03:51.1191854Z             {
2026-06-04T06:03:51.1192502Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1192938Z               "line": 760
2026-06-04T06:03:51.1193356Z             },
2026-06-04T06:03:51.1193765Z             {
2026-06-04T06:03:51.1194418Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1194869Z               "line": 777
2026-06-04T06:03:51.1195277Z             },
2026-06-04T06:03:51.1195691Z             {
2026-06-04T06:03:51.1196332Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1196777Z               "line": 808
2026-06-04T06:03:51.1197191Z             },
2026-06-04T06:03:51.1197591Z             {
2026-06-04T06:03:51.1198210Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.1198649Z               "line": 350
2026-06-04T06:03:51.1199076Z             },
2026-06-04T06:03:51.1199510Z             {
2026-06-04T06:03:51.1200187Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1200637Z               "line": 169
2026-06-04T06:03:51.1201047Z             },
2026-06-04T06:03:51.1201459Z             {
2026-06-04T06:03:51.1202105Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1202545Z               "line": 181
2026-06-04T06:03:51.1202957Z             },
2026-06-04T06:03:51.1203374Z             {
2026-06-04T06:03:51.1204028Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1204468Z               "line": 198
2026-06-04T06:03:51.1204885Z             }
2026-06-04T06:03:51.1205290Z           ]
2026-06-04T06:03:51.1205706Z         }
2026-06-04T06:03:51.1206111Z       }
2026-06-04T06:03:51.1206522Z     },
2026-06-04T06:03:51.1206929Z     {
2026-06-04T06:03:51.1207381Z       "id": "REQ-INST-13",
2026-06-04T06:03:51.1208407Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T06:03:51.1208883Z       "requiredStages": [
2026-06-04T06:03:51.1209484Z         "impl",
2026-06-04T06:03:51.1209920Z         "unit"
2026-06-04T06:03:51.1210331Z       ],
2026-06-04T06:03:51.1210757Z       "stages": {
2026-06-04T06:03:51.1211169Z         "doc": {
2026-06-04T06:03:51.1211634Z           "complete": false,
2026-06-04T06:03:51.1212074Z           "evidence": []
2026-06-04T06:03:51.1212485Z         },
2026-06-04T06:03:51.1212907Z         "impl": {
2026-06-04T06:03:51.1213374Z           "complete": true,
2026-06-04T06:03:51.1213822Z           "evidence": [
2026-06-04T06:03:51.1214234Z             {
2026-06-04T06:03:51.1214902Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1215346Z               "line": 155
2026-06-04T06:03:51.1215759Z             }
2026-06-04T06:03:51.1216165Z           ]
2026-06-04T06:03:51.1216573Z         },
2026-06-04T06:03:51.1216993Z         "int": {
2026-06-04T06:03:51.1217451Z           "complete": false,
2026-06-04T06:03:51.1218084Z           "evidence": []
2026-06-04T06:03:51.1218497Z         },
2026-06-04T06:03:51.1218944Z         "unit": {
2026-06-04T06:03:51.1219452Z           "complete": true,
2026-06-04T06:03:51.1219903Z           "evidence": [
2026-06-04T06:03:51.1220319Z             {
2026-06-04T06:03:51.1220978Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1221432Z               "line": 221
2026-06-04T06:03:51.1221846Z             },
2026-06-04T06:03:51.1222261Z             {
2026-06-04T06:03:51.1222919Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T06:03:51.1223373Z               "line": 233
2026-06-04T06:03:51.1223794Z             }
2026-06-04T06:03:51.1224198Z           ]
2026-06-04T06:03:51.1224612Z         }
2026-06-04T06:03:51.1225020Z       }
2026-06-04T06:03:51.1225424Z     },
2026-06-04T06:03:51.1225827Z     {
2026-06-04T06:03:51.1226292Z       "id": "REQ-INST-14",
2026-06-04T06:03:51.1228630Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T06:03:51.1229131Z       "requiredStages": [],
2026-06-04T06:03:51.1229602Z       "stages": {
2026-06-04T06:03:51.1230019Z         "doc": {
2026-06-04T06:03:51.1230491Z           "complete": false,
2026-06-04T06:03:51.1230940Z           "evidence": []
2026-06-04T06:03:51.1231354Z         },
2026-06-04T06:03:51.1231786Z         "impl": {
2026-06-04T06:03:51.1232252Z           "complete": false,
2026-06-04T06:03:51.1232704Z           "evidence": []
2026-06-04T06:03:51.1233112Z         },
2026-06-04T06:03:51.1233534Z         "int": {
2026-06-04T06:03:51.1233995Z           "complete": false,
2026-06-04T06:03:51.1234447Z           "evidence": []
2026-06-04T06:03:51.1234863Z         },
2026-06-04T06:03:51.1235275Z         "unit": {
2026-06-04T06:03:51.1235743Z           "complete": false,
2026-06-04T06:03:51.1236185Z           "evidence": []
2026-06-04T06:03:51.1236605Z         }
2026-06-04T06:03:51.1237019Z       }
2026-06-04T06:03:51.1237423Z     },
2026-06-04T06:03:51.1237830Z     {
2026-06-04T06:03:51.1238288Z       "id": "REQ-INST-15",
2026-06-04T06:03:51.1242986Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-04T06:03:51.1243454Z       "requiredStages": [],
2026-06-04T06:03:51.1243876Z       "stages": {
2026-06-04T06:03:51.1244287Z         "doc": {
2026-06-04T06:03:51.1244739Z           "complete": false,
2026-06-04T06:03:51.1245177Z           "evidence": []
2026-06-04T06:03:51.1245570Z         },
2026-06-04T06:03:51.1249231Z         "impl": {
2026-06-04T06:03:51.1249772Z           "complete": false,
2026-06-04T06:03:51.1250229Z           "evidence": []
2026-06-04T06:03:51.1250646Z         },
2026-06-04T06:03:51.1251068Z         "int": {
2026-06-04T06:03:51.1251555Z           "complete": false,
2026-06-04T06:03:51.1251999Z           "evidence": []
2026-06-04T06:03:51.1252624Z         },
2026-06-04T06:03:51.1253055Z         "unit": {
2026-06-04T06:03:51.1253508Z           "complete": false,
2026-06-04T06:03:51.1253940Z           "evidence": []
2026-06-04T06:03:51.1254338Z         }
2026-06-04T06:03:51.1254733Z       }
2026-06-04T06:03:51.1255118Z     },
2026-06-04T06:03:51.1255512Z     {
2026-06-04T06:03:51.1255946Z       "id": "REQ-INST-2",
2026-06-04T06:03:51.1256572Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T06:03:51.1257023Z       "requiredStages": [
2026-06-04T06:03:51.1257435Z         "impl",
2026-06-04T06:03:51.1257839Z         "unit"
2026-06-04T06:03:51.1258226Z       ],
2026-06-04T06:03:51.1258636Z       "stages": {
2026-06-04T06:03:51.1259036Z         "doc": {
2026-06-04T06:03:51.1259532Z           "complete": false,
2026-06-04T06:03:51.1259974Z           "evidence": []
2026-06-04T06:03:51.1260375Z         },
2026-06-04T06:03:51.1260956Z         "impl": {
2026-06-04T06:03:51.1261407Z           "complete": true,
2026-06-04T06:03:51.1261851Z           "evidence": [
2026-06-04T06:03:51.1262248Z             {
2026-06-04T06:03:51.1262895Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:51.1263315Z               "line": 86
2026-06-04T06:03:51.1263720Z             },
2026-06-04T06:03:51.1264120Z             {
2026-06-04T06:03:51.1264708Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:51.1265138Z               "line": 28
2026-06-04T06:03:51.1265533Z             },
2026-06-04T06:03:51.1265942Z             {
2026-06-04T06:03:51.1266527Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:51.1266953Z               "line": 74
2026-06-04T06:03:51.1267357Z             },
2026-06-04T06:03:51.1267748Z             {
2026-06-04T06:03:51.1268336Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:51.1268765Z               "line": 96
2026-06-04T06:03:51.1269212Z             },
2026-06-04T06:03:51.1269609Z             {
2026-06-04T06:03:51.1270206Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T06:03:51.1270634Z               "line": 81
2026-06-04T06:03:51.1271038Z             },
2026-06-04T06:03:51.1271440Z             {
2026-06-04T06:03:51.1272033Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T06:03:51.1272473Z               "line": 118
2026-06-04T06:03:51.1272878Z             }
2026-06-04T06:03:51.1273274Z           ]
2026-06-04T06:03:51.1273668Z         },
2026-06-04T06:03:51.1274068Z         "int": {
2026-06-04T06:03:51.1274521Z           "complete": false,
2026-06-04T06:03:51.1274960Z           "evidence": []
2026-06-04T06:03:51.1275357Z         },
2026-06-04T06:03:51.1275773Z         "unit": {
2026-06-04T06:03:51.1276218Z           "complete": true,
2026-06-04T06:03:51.1276642Z           "evidence": [
2026-06-04T06:03:51.1277041Z             {
2026-06-04T06:03:51.1277634Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T06:03:51.1278078Z               "line": 203
2026-06-04T06:03:51.1278490Z             },
2026-06-04T06:03:51.1278899Z             {
2026-06-04T06:03:51.1279516Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T06:03:51.1279958Z               "line": 232
2026-06-04T06:03:51.1280355Z             }
2026-06-04T06:03:51.1280754Z           ]
2026-06-04T06:03:51.1281182Z         }
2026-06-04T06:03:51.1281642Z       }
2026-06-04T06:03:51.1282039Z     },
2026-06-04T06:03:51.1282429Z     {
2026-06-04T06:03:51.1282886Z       "id": "REQ-INST-3",
2026-06-04T06:03:51.1283678Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T06:03:51.1284146Z       "requiredStages": [],
2026-06-04T06:03:51.1284554Z       "stages": {
2026-06-04T06:03:51.1284970Z         "doc": {
2026-06-04T06:03:51.1285433Z           "complete": false,
2026-06-04T06:03:51.1285865Z           "evidence": []
2026-06-04T06:03:51.1286267Z         },
2026-06-04T06:03:51.1286692Z         "impl": {
2026-06-04T06:03:51.1287152Z           "complete": false,
2026-06-04T06:03:51.1287585Z           "evidence": []
2026-06-04T06:03:51.1288156Z         },
2026-06-04T06:03:51.1288599Z         "int": {
2026-06-04T06:03:51.1289047Z           "complete": false,
2026-06-04T06:03:51.1289552Z           "evidence": []
2026-06-04T06:03:51.1289951Z         },
2026-06-04T06:03:51.1290362Z         "unit": {
2026-06-04T06:03:51.1290807Z           "complete": false,
2026-06-04T06:03:51.1291250Z           "evidence": []
2026-06-04T06:03:51.1291641Z         }
2026-06-04T06:03:51.1292041Z       }
2026-06-04T06:03:51.1292436Z     },
2026-06-04T06:03:51.1292821Z     {
2026-06-04T06:03:51.1293270Z       "id": "REQ-INST-4",
2026-06-04T06:03:51.1294225Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T06:03:51.1294691Z       "requiredStages": [],
2026-06-04T06:03:51.1295114Z       "stages": {
2026-06-04T06:03:51.1295513Z         "doc": {
2026-06-04T06:03:51.1295968Z           "complete": false,
2026-06-04T06:03:51.1296550Z           "evidence": []
2026-06-04T06:03:51.1296955Z         },
2026-06-04T06:03:51.1297374Z         "impl": {
2026-06-04T06:03:51.1297833Z           "complete": false,
2026-06-04T06:03:51.1298263Z           "evidence": []
2026-06-04T06:03:51.1298663Z         },
2026-06-04T06:03:51.1299069Z         "int": {
2026-06-04T06:03:51.1299560Z           "complete": false,
2026-06-04T06:03:51.1299999Z           "evidence": []
2026-06-04T06:03:51.1300392Z         },
2026-06-04T06:03:51.1300801Z         "unit": {
2026-06-04T06:03:51.1301249Z           "complete": false,
2026-06-04T06:03:51.1301686Z           "evidence": []
2026-06-04T06:03:51.1302090Z         }
2026-06-04T06:03:51.1302484Z       }
2026-06-04T06:03:51.1302879Z     },
2026-06-04T06:03:51.1303266Z     {
2026-06-04T06:03:51.1303785Z       "id": "REQ-INST-5",
2026-06-04T06:03:51.1304763Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T06:03:51.1305232Z       "requiredStages": [],
2026-06-04T06:03:51.1305662Z       "stages": {
2026-06-04T06:03:51.1306072Z         "doc": {
2026-06-04T06:03:51.1306536Z           "complete": false,
2026-06-04T06:03:51.1306969Z           "evidence": []
2026-06-04T06:03:51.1307375Z         },
2026-06-04T06:03:51.1307778Z         "impl": {
2026-06-04T06:03:51.1308240Z           "complete": false,
2026-06-04T06:03:51.1308682Z           "evidence": []
2026-06-04T06:03:51.1309083Z         },
2026-06-04T06:03:51.1309525Z         "int": {
2026-06-04T06:03:51.1309977Z           "complete": false,
2026-06-04T06:03:51.1310418Z           "evidence": []
2026-06-04T06:03:51.1310815Z         },
2026-06-04T06:03:51.1311224Z         "unit": {
2026-06-04T06:03:51.1311682Z           "complete": false,
2026-06-04T06:03:51.1312110Z           "evidence": []
2026-06-04T06:03:51.1312516Z         }
2026-06-04T06:03:51.1312906Z       }
2026-06-04T06:03:51.1313307Z     },
2026-06-04T06:03:51.1313695Z     {
2026-06-04T06:03:51.1314142Z       "id": "REQ-INST-6",
2026-06-04T06:03:51.1315198Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T06:03:51.1315666Z       "requiredStages": [],
2026-06-04T06:03:51.1316092Z       "stages": {
2026-06-04T06:03:51.1316494Z         "doc": {
2026-06-04T06:03:51.1316945Z           "complete": false,
2026-06-04T06:03:51.1317381Z           "evidence": []
2026-06-04T06:03:51.1317784Z         },
2026-06-04T06:03:51.1318195Z         "impl": {
2026-06-04T06:03:51.1318640Z           "complete": false,
2026-06-04T06:03:51.1319078Z           "evidence": []
2026-06-04T06:03:51.1319504Z         },
2026-06-04T06:03:51.1319910Z         "int": {
2026-06-04T06:03:51.1320354Z           "complete": false,
2026-06-04T06:03:51.1320794Z           "evidence": []
2026-06-04T06:03:51.1321879Z         },
2026-06-04T06:03:51.1322352Z         "unit": {
2026-06-04T06:03:51.1322814Z           "complete": false,
2026-06-04T06:03:51.1323249Z           "evidence": []
2026-06-04T06:03:51.1327132Z         }
2026-06-04T06:03:51.1327604Z       }
2026-06-04T06:03:51.1328000Z     },
2026-06-04T06:03:51.1328392Z     {
2026-06-04T06:03:51.1329112Z       "id": "REQ-INST-7",
2026-06-04T06:03:51.1330050Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T06:03:51.1330526Z       "requiredStages": [
2026-06-04T06:03:51.1330945Z         "impl",
2026-06-04T06:03:51.1331348Z         "unit"
2026-06-04T06:03:51.1331747Z       ],
2026-06-04T06:03:51.1332165Z       "stages": {
2026-06-04T06:03:51.1332561Z         "doc": {
2026-06-04T06:03:51.1333016Z           "complete": false,
2026-06-04T06:03:51.1333444Z           "evidence": []
2026-06-04T06:03:51.1333848Z         },
2026-06-04T06:03:51.1334251Z         "impl": {
2026-06-04T06:03:51.1334706Z           "complete": true,
2026-06-04T06:03:51.1335138Z           "evidence": [
2026-06-04T06:03:51.1335533Z             {
2026-06-04T06:03:51.1336151Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T06:03:51.1336573Z               "line": 56
2026-06-04T06:03:51.1337155Z             },
2026-06-04T06:03:51.1337548Z             {
2026-06-04T06:03:51.1338205Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1338637Z               "line": 41
2026-06-04T06:03:51.1339035Z             },
2026-06-04T06:03:51.1339478Z             {
2026-06-04T06:03:51.1340140Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.1340577Z               "line": 27
2026-06-04T06:03:51.1340977Z             },
2026-06-04T06:03:51.1341386Z             {
2026-06-04T06:03:51.1342044Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.1342470Z               "line": 59
2026-06-04T06:03:51.1342885Z             },
2026-06-04T06:03:51.1343285Z             {
2026-06-04T06:03:51.1343952Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.1344373Z               "line": 68
2026-06-04T06:03:51.1344783Z             },
2026-06-04T06:03:51.1345180Z             {
2026-06-04T06:03:51.1345794Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T06:03:51.1346237Z               "line": 129
2026-06-04T06:03:51.1346641Z             }
2026-06-04T06:03:51.1347046Z           ]
2026-06-04T06:03:51.1347438Z         },
2026-06-04T06:03:51.1347853Z         "int": {
2026-06-04T06:03:51.1348311Z           "complete": false,
2026-06-04T06:03:51.1348738Z           "evidence": []
2026-06-04T06:03:51.1349141Z         },
2026-06-04T06:03:51.1349579Z         "unit": {
2026-06-04T06:03:51.1350040Z           "complete": true,
2026-06-04T06:03:51.1350469Z           "evidence": [
2026-06-04T06:03:51.1350876Z             {
2026-06-04T06:03:51.1351553Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T06:03:51.1351973Z               "line": 83
2026-06-04T06:03:51.1352374Z             },
2026-06-04T06:03:51.1352768Z             {
2026-06-04T06:03:51.1353412Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1353843Z               "line": 475
2026-06-04T06:03:51.1354262Z             },
2026-06-04T06:03:51.1354663Z             {
2026-06-04T06:03:51.1355293Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1355729Z               "line": 486
2026-06-04T06:03:51.1356125Z             },
2026-06-04T06:03:51.1356528Z             {
2026-06-04T06:03:51.1357165Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1357594Z               "line": 495
2026-06-04T06:03:51.1357999Z             },
2026-06-04T06:03:51.1358397Z             {
2026-06-04T06:03:51.1359052Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.1359506Z               "line": 90
2026-06-04T06:03:51.1359915Z             },
2026-06-04T06:03:51.1360321Z             {
2026-06-04T06:03:51.1360963Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.1361393Z               "line": 105
2026-06-04T06:03:51.1361783Z             },
2026-06-04T06:03:51.1362185Z             {
2026-06-04T06:03:51.1362829Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T06:03:51.1363269Z               "line": 131
2026-06-04T06:03:51.1363871Z             }
2026-06-04T06:03:51.1364277Z           ]
2026-06-04T06:03:51.1364680Z         }
2026-06-04T06:03:51.1365070Z       }
2026-06-04T06:03:51.1365468Z     },
2026-06-04T06:03:51.1365858Z     {
2026-06-04T06:03:51.1366303Z       "id": "REQ-INST-8",
2026-06-04T06:03:51.1367135Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T06:03:51.1367590Z       "requiredStages": [
2026-06-04T06:03:51.1368009Z         "impl",
2026-06-04T06:03:51.1368420Z         "unit"
2026-06-04T06:03:51.1368823Z       ],
2026-06-04T06:03:51.1369274Z       "stages": {
2026-06-04T06:03:51.1369693Z         "doc": {
2026-06-04T06:03:51.1370160Z           "complete": false,
2026-06-04T06:03:51.1370589Z           "evidence": []
2026-06-04T06:03:51.1370990Z         },
2026-06-04T06:03:51.1371399Z         "impl": {
2026-06-04T06:03:51.1371852Z           "complete": true,
2026-06-04T06:03:51.1372457Z           "evidence": [
2026-06-04T06:03:51.1372858Z             {
2026-06-04T06:03:51.1373487Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T06:03:51.1373909Z               "line": 87
2026-06-04T06:03:51.1374315Z             },
2026-06-04T06:03:51.1374714Z             {
2026-06-04T06:03:51.1375331Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T06:03:51.1375757Z               "line": 184
2026-06-04T06:03:51.1376168Z             },
2026-06-04T06:03:51.1376569Z             {
2026-06-04T06:03:51.1377174Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T06:03:51.1377605Z               "line": 202
2026-06-04T06:03:51.1377998Z             },
2026-06-04T06:03:51.1378399Z             {
2026-06-04T06:03:51.1379011Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T06:03:51.1379505Z               "line": 35
2026-06-04T06:03:51.1379912Z             }
2026-06-04T06:03:51.1380864Z           ]
2026-06-04T06:03:51.1381524Z         },
2026-06-04T06:03:51.1382049Z         "int": {
2026-06-04T06:03:51.1382647Z           "complete": false,
2026-06-04T06:03:51.1383270Z           "evidence": []
2026-06-04T06:03:51.1383679Z         },
2026-06-04T06:03:51.1384327Z         "unit": {
2026-06-04T06:03:51.1384980Z           "complete": true,
2026-06-04T06:03:51.1385626Z           "evidence": [
2026-06-04T06:03:51.1386034Z             {
2026-06-04T06:03:51.1386691Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T06:03:51.1387122Z               "line": 172
2026-06-04T06:03:51.1387525Z             },
2026-06-04T06:03:51.1387925Z             {
2026-06-04T06:03:51.1388547Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T06:03:51.1388980Z               "line": 226
2026-06-04T06:03:51.1389442Z             },
2026-06-04T06:03:51.1389852Z             {
2026-06-04T06:03:51.1390474Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T06:03:51.1390913Z               "line": 70
2026-06-04T06:03:51.1391333Z             },
2026-06-04T06:03:51.1391728Z             {
2026-06-04T06:03:51.1392354Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T06:03:51.1392786Z               "line": 101
2026-06-04T06:03:51.1393192Z             }
2026-06-04T06:03:51.1393585Z           ]
2026-06-04T06:03:51.1393984Z         }
2026-06-04T06:03:51.1394394Z       }
2026-06-04T06:03:51.1394785Z     },
2026-06-04T06:03:51.1395181Z     {
2026-06-04T06:03:51.1395627Z       "id": "REQ-INST-9",
2026-06-04T06:03:51.1396677Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T06:03:51.1397135Z       "requiredStages": [
2026-06-04T06:03:51.1397545Z         "impl",
2026-06-04T06:03:51.1397953Z         "unit"
2026-06-04T06:03:51.1398340Z       ],
2026-06-04T06:03:51.1398757Z       "stages": {
2026-06-04T06:03:51.1399153Z         "doc": {
2026-06-04T06:03:51.1399659Z           "complete": false,
2026-06-04T06:03:51.1400091Z           "evidence": []
2026-06-04T06:03:51.1400508Z         },
2026-06-04T06:03:51.1400923Z         "impl": {
2026-06-04T06:03:51.1401367Z           "complete": true,
2026-06-04T06:03:51.1402060Z           "evidence": [
2026-06-04T06:03:51.1402493Z             {
2026-06-04T06:03:51.1403145Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1403573Z               "line": 191
2026-06-04T06:03:51.1403981Z             }
2026-06-04T06:03:51.1408561Z           ]
2026-06-04T06:03:51.1409045Z         },
2026-06-04T06:03:51.1409590Z         "int": {
2026-06-04T06:03:51.1410065Z           "complete": false,
2026-06-04T06:03:51.1410520Z           "evidence": []
2026-06-04T06:03:51.1410928Z         },
2026-06-04T06:03:51.1411356Z         "unit": {
2026-06-04T06:03:51.1411824Z           "complete": true,
2026-06-04T06:03:51.1412260Z           "evidence": [
2026-06-04T06:03:51.1412676Z             {
2026-06-04T06:03:51.1413325Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1413768Z               "line": 626
2026-06-04T06:03:51.1414538Z             },
2026-06-04T06:03:51.1414944Z             {
2026-06-04T06:03:51.1415600Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1416027Z               "line": 635
2026-06-04T06:03:51.1416432Z             },
2026-06-04T06:03:51.1416828Z             {
2026-06-04T06:03:51.1417466Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1417889Z               "line": 649
2026-06-04T06:03:51.1418288Z             },
2026-06-04T06:03:51.1418691Z             {
2026-06-04T06:03:51.1420048Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1420530Z               "line": 659
2026-06-04T06:03:51.1420926Z             },
2026-06-04T06:03:51.1421333Z             {
2026-06-04T06:03:51.1421961Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T06:03:51.1422403Z               "line": 678
2026-06-04T06:03:51.1422802Z             }
2026-06-04T06:03:51.1423248Z           ]
2026-06-04T06:03:51.1423664Z         }
2026-06-04T06:03:51.1424054Z       }
2026-06-04T06:03:51.1424448Z     },
2026-06-04T06:03:51.1424843Z     {
2026-06-04T06:03:51.1425309Z       "id": "REQ-INSTALL-1",
2026-06-04T06:03:51.1426398Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T06:03:51.1426857Z       "requiredStages": [],
2026-06-04T06:03:51.1427273Z       "stages": {
2026-06-04T06:03:51.1428118Z         "doc": {
2026-06-04T06:03:51.1428793Z           "complete": false,
2026-06-04T06:03:51.1429375Z           "evidence": []
2026-06-04T06:03:51.1429998Z         },
2026-06-04T06:03:51.1430413Z         "impl": {
2026-06-04T06:03:51.1430868Z           "complete": false,
2026-06-04T06:03:51.1431310Z           "evidence": []
2026-06-04T06:03:51.1431704Z         },
2026-06-04T06:03:51.1432117Z         "int": {
2026-06-04T06:03:51.1432568Z           "complete": false,
2026-06-04T06:03:51.1433016Z           "evidence": []
2026-06-04T06:03:51.1433420Z         },
2026-06-04T06:03:51.1433847Z         "unit": {
2026-06-04T06:03:51.1434300Z           "complete": false,
2026-06-04T06:03:51.1434847Z           "evidence": []
2026-06-04T06:03:51.1435249Z         }
2026-06-04T06:03:51.1435639Z       }
2026-06-04T06:03:51.1436043Z     },
2026-06-04T06:03:51.1436442Z     {
2026-06-04T06:03:51.1436898Z       "id": "REQ-INSTALL-2",
2026-06-04T06:03:51.1437636Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T06:03:51.1438091Z       "requiredStages": [],
2026-06-04T06:03:51.1438508Z       "stages": {
2026-06-04T06:03:51.1438911Z         "doc": {
2026-06-04T06:03:51.1439599Z           "complete": false,
2026-06-04T06:03:51.1440214Z           "evidence": []
2026-06-04T06:03:51.1440612Z         },
2026-06-04T06:03:51.1441034Z         "impl": {
2026-06-04T06:03:51.1441488Z           "complete": false,
2026-06-04T06:03:51.1441935Z           "evidence": []
2026-06-04T06:03:51.1442327Z         },
2026-06-04T06:03:51.1442742Z         "int": {
2026-06-04T06:03:51.1443200Z           "complete": false,
2026-06-04T06:03:51.1443644Z           "evidence": []
2026-06-04T06:03:51.1444045Z         },
2026-06-04T06:03:51.1444691Z         "unit": {
2026-06-04T06:03:51.1445172Z           "complete": false,
2026-06-04T06:03:51.1445895Z           "evidence": []
2026-06-04T06:03:51.1446488Z         }
2026-06-04T06:03:51.1446941Z       }
2026-06-04T06:03:51.1447500Z     },
2026-06-04T06:03:51.1447894Z     {
2026-06-04T06:03:51.1448351Z       "id": "REQ-INSTALL-3",
2026-06-04T06:03:51.1449569Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T06:03:51.1450216Z       "requiredStages": [],
2026-06-04T06:03:51.1450648Z       "stages": {
2026-06-04T06:03:51.1451067Z         "doc": {
2026-06-04T06:03:51.1451525Z           "complete": false,
2026-06-04T06:03:51.1451973Z           "evidence": []
2026-06-04T06:03:51.1452380Z         },
2026-06-04T06:03:51.1452803Z         "impl": {
2026-06-04T06:03:51.1453264Z           "complete": false,
2026-06-04T06:03:51.1453714Z           "evidence": []
2026-06-04T06:03:51.1454325Z         },
2026-06-04T06:03:51.1454735Z         "int": {
2026-06-04T06:03:51.1455208Z           "complete": false,
2026-06-04T06:03:51.1455652Z           "evidence": []
2026-06-04T06:03:51.1456059Z         },
2026-06-04T06:03:51.1456467Z         "unit": {
2026-06-04T06:03:51.1456939Z           "complete": false,
2026-06-04T06:03:51.1457390Z           "evidence": []
2026-06-04T06:03:51.1457790Z         }
2026-06-04T06:03:51.1458195Z       }
2026-06-04T06:03:51.1458588Z     },
2026-06-04T06:03:51.1458994Z     {
2026-06-04T06:03:51.1459699Z       "id": "REQ-INSTALL-4",
2026-06-04T06:03:51.1463981Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-04T06:03:51.1464464Z       "requiredStages": [],
2026-06-04T06:03:51.1464878Z       "stages": {
2026-06-04T06:03:51.1465302Z         "doc": {
2026-06-04T06:03:51.1465770Z           "complete": false,
2026-06-04T06:03:51.1466217Z           "evidence": []
2026-06-04T06:03:51.1466646Z         },
2026-06-04T06:03:51.1467068Z         "impl": {
2026-06-04T06:03:51.1467535Z           "complete": false,
2026-06-04T06:03:51.1467969Z           "evidence": []
2026-06-04T06:03:51.1468383Z         },
2026-06-04T06:03:51.1468792Z         "int": {
2026-06-04T06:03:51.1469300Z           "complete": false,
2026-06-04T06:03:51.1469742Z           "evidence": []
2026-06-04T06:03:51.1470151Z         },
2026-06-04T06:03:51.1470572Z         "unit": {
2026-06-04T06:03:51.1471022Z           "complete": false,
2026-06-04T06:03:51.1471471Z           "evidence": []
2026-06-04T06:03:51.1471868Z         }
2026-06-04T06:03:51.1472272Z       }
2026-06-04T06:03:51.1472663Z     },
2026-06-04T06:03:51.1473063Z     {
2026-06-04T06:03:51.1473531Z       "id": "REQ-MANIFEST-1",
2026-06-04T06:03:51.1474581Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T06:03:51.1475062Z       "requiredStages": [
2026-06-04T06:03:51.1475468Z         "doc",
2026-06-04T06:03:51.1475894Z         "impl",
2026-06-04T06:03:51.1476299Z         "unit"
2026-06-04T06:03:51.1476705Z       ],
2026-06-04T06:03:51.1477130Z       "stages": {
2026-06-04T06:03:51.1477537Z         "doc": {
2026-06-04T06:03:51.1477991Z           "complete": true,
2026-06-04T06:03:51.1478420Z           "evidence": [
2026-06-04T06:03:51.1478842Z             {
2026-06-04T06:03:51.1479373Z               "path": "docs/MANIFEST.md",
2026-06-04T06:03:51.1479810Z               "line": 19
2026-06-04T06:03:51.1480221Z             }
2026-06-04T06:03:51.1480619Z           ]
2026-06-04T06:03:51.1481029Z         },
2026-06-04T06:03:51.1481441Z         "impl": {
2026-06-04T06:03:51.1481902Z           "complete": true,
2026-06-04T06:03:51.1482335Z           "evidence": [
2026-06-04T06:03:51.1482747Z             {
2026-06-04T06:03:51.1483402Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1483842Z               "line": 18
2026-06-04T06:03:51.1484251Z             }
2026-06-04T06:03:51.1484655Z           ]
2026-06-04T06:03:51.1485214Z         },
2026-06-04T06:03:51.1485640Z         "int": {
2026-06-04T06:03:51.1486096Z           "complete": false,
2026-06-04T06:03:51.1486537Z           "evidence": []
2026-06-04T06:03:51.1486926Z         },
2026-06-04T06:03:51.1487343Z         "unit": {
2026-06-04T06:03:51.1487784Z           "complete": true,
2026-06-04T06:03:51.1488225Z           "evidence": [
2026-06-04T06:03:51.1488628Z             {
2026-06-04T06:03:51.1489320Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1489767Z               "line": 695
2026-06-04T06:03:51.1494164Z             },
2026-06-04T06:03:51.1494665Z             {
2026-06-04T06:03:51.1495340Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1495789Z               "line": 791
2026-06-04T06:03:51.1496191Z             },
2026-06-04T06:03:51.1496601Z             {
2026-06-04T06:03:51.1497520Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1497969Z               "line": 803
2026-06-04T06:03:51.1498384Z             },
2026-06-04T06:03:51.1498791Z             {
2026-06-04T06:03:51.1499567Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1500015Z               "line": 811
2026-06-04T06:03:51.1500415Z             },
2026-06-04T06:03:51.1500821Z             {
2026-06-04T06:03:51.1501460Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1501896Z               "line": 828
2026-06-04T06:03:51.1502300Z             },
2026-06-04T06:03:51.1502707Z             {
2026-06-04T06:03:51.1503352Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1503780Z               "line": 842
2026-06-04T06:03:51.1504189Z             },
2026-06-04T06:03:51.1504590Z             {
2026-06-04T06:03:51.1505234Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1505678Z               "line": 857
2026-06-04T06:03:51.1506087Z             },
2026-06-04T06:03:51.1506506Z             {
2026-06-04T06:03:51.1507234Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1507756Z               "line": 872
2026-06-04T06:03:51.1508212Z             },
2026-06-04T06:03:51.1508667Z             {
2026-06-04T06:03:51.1509572Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1510229Z               "line": 887
2026-06-04T06:03:51.1510670Z             },
2026-06-04T06:03:51.1511092Z             {
2026-06-04T06:03:51.1511789Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.1512263Z               "line": 898
2026-06-04T06:03:51.1512711Z             }
2026-06-04T06:03:51.1513119Z           ]
2026-06-04T06:03:51.1513549Z         }
2026-06-04T06:03:51.1513973Z       }
2026-06-04T06:03:51.1514376Z     },
2026-06-04T06:03:51.1514782Z     {
2026-06-04T06:03:51.1515267Z       "id": "REQ-MIGRATE-1",
2026-06-04T06:03:51.1516282Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T06:03:51.1516796Z       "requiredStages": [],
2026-06-04T06:03:51.1517265Z       "stages": {
2026-06-04T06:03:51.1517739Z         "doc": {
2026-06-04T06:03:51.1518213Z           "complete": false,
2026-06-04T06:03:51.1518700Z           "evidence": []
2026-06-04T06:03:51.1519129Z         },
2026-06-04T06:03:51.1519839Z         "impl": {
2026-06-04T06:03:51.1520499Z           "complete": false,
2026-06-04T06:03:51.1521079Z           "evidence": []
2026-06-04T06:03:51.1521509Z         },
2026-06-04T06:03:51.1521920Z         "int": {
2026-06-04T06:03:51.1522399Z           "complete": false,
2026-06-04T06:03:51.1522858Z           "evidence": []
2026-06-04T06:03:51.1523301Z         },
2026-06-04T06:03:51.1523746Z         "unit": {
2026-06-04T06:03:51.1524235Z           "complete": false,
2026-06-04T06:03:51.1524712Z           "evidence": []
2026-06-04T06:03:51.1525127Z         }
2026-06-04T06:03:51.1525561Z       }
2026-06-04T06:03:51.1525978Z     },
2026-06-04T06:03:51.1526391Z     {
2026-06-04T06:03:51.1527154Z       "id": "REQ-MSG-1",
2026-06-04T06:03:51.1530390Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-04T06:03:51.1530918Z       "requiredStages": [
2026-06-04T06:03:51.1531351Z         "impl",
2026-06-04T06:03:51.1531796Z         "unit",
2026-06-04T06:03:51.1532210Z         "int"
2026-06-04T06:03:51.1532643Z       ],
2026-06-04T06:03:51.1533088Z       "stages": {
2026-06-04T06:03:51.1533552Z         "doc": {
2026-06-04T06:03:51.1534053Z           "complete": false,
2026-06-04T06:03:51.1534512Z           "evidence": []
2026-06-04T06:03:51.1534934Z         },
2026-06-04T06:03:51.1535368Z         "impl": {
2026-06-04T06:03:51.1535862Z           "complete": true,
2026-06-04T06:03:51.1536317Z           "evidence": [
2026-06-04T06:03:51.1536760Z             {
2026-06-04T06:03:51.1537667Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1538172Z               "line": 28
2026-06-04T06:03:51.1538612Z             },
2026-06-04T06:03:51.1539043Z             {
2026-06-04T06:03:51.1541708Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1542188Z               "line": 94
2026-06-04T06:03:51.1542617Z             },
2026-06-04T06:03:51.1543035Z             {
2026-06-04T06:03:51.1543641Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1544089Z               "line": 127
2026-06-04T06:03:51.1544495Z             },
2026-06-04T06:03:51.1544903Z             {
2026-06-04T06:03:51.1545502Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1545969Z               "line": 149
2026-06-04T06:03:51.1546384Z             },
2026-06-04T06:03:51.1546790Z             {
2026-06-04T06:03:51.1547394Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1547834Z               "line": 174
2026-06-04T06:03:51.1548281Z             },
2026-06-04T06:03:51.1548686Z             {
2026-06-04T06:03:51.1549596Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T06:03:51.1550222Z               "line": 18
2026-06-04T06:03:51.1550636Z             },
2026-06-04T06:03:51.1551057Z             {
2026-06-04T06:03:51.1551627Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:51.1552077Z               "line": 13
2026-06-04T06:03:51.1552500Z             },
2026-06-04T06:03:51.1552901Z             {
2026-06-04T06:03:51.1553477Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:51.1553916Z               "line": 61
2026-06-04T06:03:51.1554339Z             },
2026-06-04T06:03:51.1554841Z             {
2026-06-04T06:03:51.1555434Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T06:03:51.1555934Z               "line": 10
2026-06-04T06:03:51.1556362Z             }
2026-06-04T06:03:51.1556792Z           ]
2026-06-04T06:03:51.1557227Z         },
2026-06-04T06:03:51.1557658Z         "int": {
2026-06-04T06:03:51.1558136Z           "complete": true,
2026-06-04T06:03:51.1558615Z           "evidence": [
2026-06-04T06:03:51.1559047Z             {
2026-06-04T06:03:51.1560087Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T06:03:51.1560576Z               "line": 9
2026-06-04T06:03:51.1561015Z             },
2026-06-04T06:03:51.1561462Z             {
2026-06-04T06:03:51.1562230Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T06:03:51.1562708Z               "line": 66
2026-06-04T06:03:51.1563157Z             },
2026-06-04T06:03:51.1563596Z             {
2026-06-04T06:03:51.1564384Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T06:03:51.1564841Z               "line": 116
2026-06-04T06:03:51.1565271Z             }
2026-06-04T06:03:51.1565694Z           ]
2026-06-04T06:03:51.1566136Z         },
2026-06-04T06:03:51.1566578Z         "unit": {
2026-06-04T06:03:51.1567072Z           "complete": true,
2026-06-04T06:03:51.1567532Z           "evidence": [
2026-06-04T06:03:51.1567949Z             {
2026-06-04T06:03:51.1569053Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1569787Z               "line": 203
2026-06-04T06:03:51.1570221Z             },
2026-06-04T06:03:51.1570644Z             {
2026-06-04T06:03:51.1571245Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1571697Z               "line": 232
2026-06-04T06:03:51.1572108Z             },
2026-06-04T06:03:51.1572526Z             {
2026-06-04T06:03:51.1573125Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1573584Z               "line": 277
2026-06-04T06:03:51.1574007Z             },
2026-06-04T06:03:51.1574417Z             {
2026-06-04T06:03:51.1575032Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1575472Z               "line": 300
2026-06-04T06:03:51.1575902Z             },
2026-06-04T06:03:51.1576554Z             {
2026-06-04T06:03:51.1577165Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T06:03:51.1577630Z               "line": 322
2026-06-04T06:03:51.1578068Z             },
2026-06-04T06:03:51.1578483Z             {
2026-06-04T06:03:51.1579103Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T06:03:51.1579936Z               "line": 203
2026-06-04T06:03:51.1580364Z             },
2026-06-04T06:03:51.1585722Z             {
2026-06-04T06:03:51.1586509Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T06:03:51.1586969Z               "line": 233
2026-06-04T06:03:51.1587403Z             },
2026-06-04T06:03:51.1587820Z             {
2026-06-04T06:03:51.1588458Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T06:03:51.1588902Z               "line": 247
2026-06-04T06:03:51.1589590Z             },
2026-06-04T06:03:51.1590186Z             {
2026-06-04T06:03:51.1590808Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T06:03:51.1591314Z               "line": 259
2026-06-04T06:03:51.1591733Z             },
2026-06-04T06:03:51.1592156Z             {
2026-06-04T06:03:51.1592775Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:51.1593226Z               "line": 158
2026-06-04T06:03:51.1593648Z             },
2026-06-04T06:03:51.1594067Z             {
2026-06-04T06:03:51.1594657Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T06:03:51.1595104Z               "line": 235
2026-06-04T06:03:51.1595528Z             },
2026-06-04T06:03:51.1595939Z             {
2026-06-04T06:03:51.1596510Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T06:03:51.1596960Z               "line": 68
2026-06-04T06:03:51.1597382Z             },
2026-06-04T06:03:51.1597800Z             {
2026-06-04T06:03:51.1598358Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T06:03:51.1598805Z               "line": 74
2026-06-04T06:03:51.1599462Z             },
2026-06-04T06:03:51.1600053Z             {
2026-06-04T06:03:51.1600678Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T06:03:51.1601124Z               "line": 80
2026-06-04T06:03:51.1601593Z             },
2026-06-04T06:03:51.1602019Z             {
2026-06-04T06:03:51.1602619Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T06:03:51.1603072Z               "line": 99
2026-06-04T06:03:51.1603504Z             }
2026-06-04T06:03:51.1603929Z           ]
2026-06-04T06:03:51.1604343Z         }
2026-06-04T06:03:51.1604853Z       }
2026-06-04T06:03:51.1605261Z     },
2026-06-04T06:03:51.1605686Z     {
2026-06-04T06:03:51.1606155Z       "id": "REQ-MSG-2",
2026-06-04T06:03:51.1607762Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T06:03:51.1608263Z       "requiredStages": [
2026-06-04T06:03:51.1608678Z         "impl",
2026-06-04T06:03:51.1609112Z         "unit"
2026-06-04T06:03:51.1609796Z       ],
2026-06-04T06:03:51.1610411Z       "stages": {
2026-06-04T06:03:51.1610876Z         "doc": {
2026-06-04T06:03:51.1611350Z           "complete": false,
2026-06-04T06:03:51.1612219Z           "evidence": []
2026-06-04T06:03:51.1612678Z         },
2026-06-04T06:03:51.1613118Z         "impl": {
2026-06-04T06:03:51.1613584Z           "complete": true,
2026-06-04T06:03:51.1614035Z           "evidence": [
2026-06-04T06:03:51.1614459Z             {
2026-06-04T06:03:51.1615114Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1615589Z               "line": 11
2026-06-04T06:03:51.1616052Z             },
2026-06-04T06:03:51.1616513Z             {
2026-06-04T06:03:51.1617090Z               "path": "crates/spt/src/main.rs",
2026-06-04T06:03:51.1617545Z               "line": 8
2026-06-04T06:03:51.1617966Z             }
2026-06-04T06:03:51.1618380Z           ]
2026-06-04T06:03:51.1618811Z         },
2026-06-04T06:03:51.1619321Z         "int": {
2026-06-04T06:03:51.1619825Z           "complete": false,
2026-06-04T06:03:51.1620278Z           "evidence": []
2026-06-04T06:03:51.1621023Z         },
2026-06-04T06:03:51.1621472Z         "unit": {
2026-06-04T06:03:51.1621947Z           "complete": true,
2026-06-04T06:03:51.1622430Z           "evidence": [
2026-06-04T06:03:51.1622847Z             {
2026-06-04T06:03:51.1623420Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1623872Z               "line": 806
2026-06-04T06:03:51.1624297Z             },
2026-06-04T06:03:51.1624726Z             {
2026-06-04T06:03:51.1625265Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1625733Z               "line": 870
2026-06-04T06:03:51.1626161Z             },
2026-06-04T06:03:51.1626585Z             {
2026-06-04T06:03:51.1627136Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1627602Z               "line": 879
2026-06-04T06:03:51.1628026Z             },
2026-06-04T06:03:51.1628445Z             {
2026-06-04T06:03:51.1629011Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1629552Z               "line": 891
2026-06-04T06:03:51.1630004Z             }
2026-06-04T06:03:51.1630412Z           ]
2026-06-04T06:03:51.1630844Z         }
2026-06-04T06:03:51.1631286Z       }
2026-06-04T06:03:51.1631707Z     },
2026-06-04T06:03:51.1632131Z     {
2026-06-04T06:03:51.1632612Z       "id": "REQ-MSG-3",
2026-06-04T06:03:51.1635044Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T06:03:51.1635529Z       "requiredStages": [
2026-06-04T06:03:51.1635969Z         "impl",
2026-06-04T06:03:51.1636388Z         "unit",
2026-06-04T06:03:51.1636802Z         "int"
2026-06-04T06:03:51.1637222Z       ],
2026-06-04T06:03:51.1637644Z       "stages": {
2026-06-04T06:03:51.1638069Z         "doc": {
2026-06-04T06:03:51.1638532Z           "complete": false,
2026-06-04T06:03:51.1638995Z           "evidence": []
2026-06-04T06:03:51.1639469Z         },
2026-06-04T06:03:51.1639907Z         "impl": {
2026-06-04T06:03:51.1640387Z           "complete": true,
2026-06-04T06:03:51.1640852Z           "evidence": [
2026-06-04T06:03:51.1641281Z             {
2026-06-04T06:03:51.1641915Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T06:03:51.1642369Z               "line": 19
2026-06-04T06:03:51.1642789Z             },
2026-06-04T06:03:51.1643198Z             {
2026-06-04T06:03:51.1643802Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.1644240Z               "line": 21
2026-06-04T06:03:51.1644659Z             },
2026-06-04T06:03:51.1645068Z             {
2026-06-04T06:03:51.1645682Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.1646158Z               "line": 48
2026-06-04T06:03:51.1646637Z             },
2026-06-04T06:03:51.1647078Z             {
2026-06-04T06:03:51.1647680Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.1648150Z               "line": 106
2026-06-04T06:03:51.1648570Z             }
2026-06-04T06:03:51.1649021Z           ]
2026-06-04T06:03:51.1649680Z         },
2026-06-04T06:03:51.1650333Z         "int": {
2026-06-04T06:03:51.1650825Z           "complete": true,
2026-06-04T06:03:51.1651566Z           "evidence": [
2026-06-04T06:03:51.1652044Z             {
2026-06-04T06:03:51.1652795Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T06:03:51.1653248Z               "line": 10
2026-06-04T06:03:51.1653667Z             },
2026-06-04T06:03:51.1654119Z             {
2026-06-04T06:03:51.1654890Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T06:03:51.1655334Z               "line": 66
2026-06-04T06:03:51.1655756Z             }
2026-06-04T06:03:51.1656167Z           ]
2026-06-04T06:03:51.1656582Z         },
2026-06-04T06:03:51.1657017Z         "unit": {
2026-06-04T06:03:51.1657475Z           "complete": true,
2026-06-04T06:03:51.1657933Z           "evidence": [
2026-06-04T06:03:51.1658355Z             {
2026-06-04T06:03:51.1658980Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.1659757Z               "line": 160
2026-06-04T06:03:51.1660200Z             },
2026-06-04T06:03:51.1660627Z             {
2026-06-04T06:03:51.1661241Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.1661709Z               "line": 179
2026-06-04T06:03:51.1662127Z             },
2026-06-04T06:03:51.1662555Z             {
2026-06-04T06:03:51.1663142Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T06:03:51.1663612Z               "line": 198
2026-06-04T06:03:51.1664034Z             }
2026-06-04T06:03:51.1664450Z           ]
2026-06-04T06:03:51.1664869Z         }
2026-06-04T06:03:51.1665272Z       }
2026-06-04T06:03:51.1665688Z     },
2026-06-04T06:03:51.1666091Z     {
2026-06-04T06:03:51.1666572Z       "id": "REQ-NET-1",
2026-06-04T06:03:51.1667646Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T06:03:51.1668134Z       "requiredStages": [
2026-06-04T06:03:51.1673854Z         "impl",
2026-06-04T06:03:51.1674536Z         "unit"
2026-06-04T06:03:51.1674995Z       ],
2026-06-04T06:03:51.1675425Z       "stages": {
2026-06-04T06:03:51.1675854Z         "doc": {
2026-06-04T06:03:51.1676360Z           "complete": false,
2026-06-04T06:03:51.1676808Z           "evidence": []
2026-06-04T06:03:51.1677226Z         },
2026-06-04T06:03:51.1677649Z         "impl": {
2026-06-04T06:03:51.1678130Z           "complete": true,
2026-06-04T06:03:51.1678578Z           "evidence": [
2026-06-04T06:03:51.1679003Z             {
2026-06-04T06:03:51.1680063Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T06:03:51.1680527Z               "line": 69
2026-06-04T06:03:51.1680971Z             },
2026-06-04T06:03:51.1681369Z             {
2026-06-04T06:03:51.1682046Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1682489Z               "line": 65
2026-06-04T06:03:51.1682914Z             },
2026-06-04T06:03:51.1683330Z             {
2026-06-04T06:03:51.1683979Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1684451Z               "line": 122
2026-06-04T06:03:51.1684856Z             },
2026-06-04T06:03:51.1685282Z             {
2026-06-04T06:03:51.1685946Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1686407Z               "line": 138
2026-06-04T06:03:51.1686819Z             },
2026-06-04T06:03:51.1687218Z             {
2026-06-04T06:03:51.1687880Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1688308Z               "line": 153
2026-06-04T06:03:51.1688723Z             },
2026-06-04T06:03:51.1689138Z             {
2026-06-04T06:03:51.1690198Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1690660Z               "line": 207
2026-06-04T06:03:51.1691066Z             },
2026-06-04T06:03:51.1691490Z             {
2026-06-04T06:03:51.1692154Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1692602Z               "line": 242
2026-06-04T06:03:51.1693028Z             },
2026-06-04T06:03:51.1693452Z             {
2026-06-04T06:03:51.1694127Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1695078Z               "line": 248
2026-06-04T06:03:51.1695577Z             },
2026-06-04T06:03:51.1696008Z             {
2026-06-04T06:03:51.1696701Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1697176Z               "line": 254
2026-06-04T06:03:51.1697594Z             },
2026-06-04T06:03:51.1698013Z             {
2026-06-04T06:03:51.1698663Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1699124Z               "line": 270
2026-06-04T06:03:51.1699611Z             },
2026-06-04T06:03:51.1700037Z             {
2026-06-04T06:03:51.1700701Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T06:03:51.1701152Z               "line": 35
2026-06-04T06:03:51.1701576Z             },
2026-06-04T06:03:51.1701991Z             {
2026-06-04T06:03:51.1702628Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T06:03:51.1703325Z               "line": 82
2026-06-04T06:03:51.1703758Z             },
2026-06-04T06:03:51.1704191Z             {
2026-06-04T06:03:51.1704796Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.1705233Z               "line": 129
2026-06-04T06:03:51.1705632Z             }
2026-06-04T06:03:51.1706041Z           ]
2026-06-04T06:03:51.1706439Z         },
2026-06-04T06:03:51.1706875Z         "int": {
2026-06-04T06:03:51.1707365Z           "complete": false,
2026-06-04T06:03:51.1707818Z           "evidence": []
2026-06-04T06:03:51.1708234Z         },
2026-06-04T06:03:51.1708647Z         "unit": {
2026-06-04T06:03:51.1709107Z           "complete": true,
2026-06-04T06:03:51.1709611Z           "evidence": [
2026-06-04T06:03:51.1710032Z             {
2026-06-04T06:03:51.1710685Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T06:03:51.1711122Z               "line": 142
2026-06-04T06:03:51.1711547Z             },
2026-06-04T06:03:51.1711971Z             {
2026-06-04T06:03:51.1712643Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1713094Z               "line": 331
2026-06-04T06:03:51.1713516Z             },
2026-06-04T06:03:51.1713938Z             {
2026-06-04T06:03:51.1714595Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1715074Z               "line": 345
2026-06-04T06:03:51.1715473Z             },
2026-06-04T06:03:51.1715892Z             {
2026-06-04T06:03:51.1716539Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1717004Z               "line": 364
2026-06-04T06:03:51.1717436Z             },
2026-06-04T06:03:51.1717863Z             {
2026-06-04T06:03:51.1718545Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T06:03:51.1719010Z               "line": 106
2026-06-04T06:03:51.1719507Z             },
2026-06-04T06:03:51.1719955Z             {
2026-06-04T06:03:51.1720597Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T06:03:51.1721074Z               "line": 148
2026-06-04T06:03:51.1721487Z             },
2026-06-04T06:03:51.1721914Z             {
2026-06-04T06:03:51.1722505Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T06:03:51.1722966Z               "line": 445
2026-06-04T06:03:51.1723394Z             }
2026-06-04T06:03:51.1723805Z           ]
2026-06-04T06:03:51.1724221Z         }
2026-06-04T06:03:51.1724631Z       }
2026-06-04T06:03:51.1725041Z     },
2026-06-04T06:03:51.1725445Z     {
2026-06-04T06:03:51.1725916Z       "id": "REQ-NET-2",
2026-06-04T06:03:51.1726936Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T06:03:51.1727409Z       "requiredStages": [
2026-06-04T06:03:51.1727849Z         "impl"
2026-06-04T06:03:51.1728271Z       ],
2026-06-04T06:03:51.1728723Z       "stages": {
2026-06-04T06:03:51.1729223Z         "doc": {
2026-06-04T06:03:51.1729991Z           "complete": false,
2026-06-04T06:03:51.1730632Z           "evidence": []
2026-06-04T06:03:51.1731067Z         },
2026-06-04T06:03:51.1731517Z         "impl": {
2026-06-04T06:03:51.1732288Z           "complete": true,
2026-06-04T06:03:51.1732798Z           "evidence": [
2026-06-04T06:03:51.1733216Z             {
2026-06-04T06:03:51.1733895Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:51.1734420Z               "line": 40
2026-06-04T06:03:51.1734843Z             },
2026-06-04T06:03:51.1735269Z             {
2026-06-04T06:03:51.1735925Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1736377Z               "line": 39
2026-06-04T06:03:51.1736799Z             },
2026-06-04T06:03:51.1737283Z             {
2026-06-04T06:03:51.1737989Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1738456Z               "line": 49
2026-06-04T06:03:51.1738900Z             },
2026-06-04T06:03:51.1739554Z             {
2026-06-04T06:03:51.1740387Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1741094Z               "line": 122
2026-06-04T06:03:51.1741526Z             },
2026-06-04T06:03:51.1741956Z             {
2026-06-04T06:03:51.1742605Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1743051Z               "line": 138
2026-06-04T06:03:51.1743461Z             },
2026-06-04T06:03:51.1743878Z             {
2026-06-04T06:03:51.1744583Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T06:03:51.1745038Z               "line": 153
2026-06-04T06:03:51.1745457Z             }
2026-06-04T06:03:51.1745871Z           ]
2026-06-04T06:03:51.1746291Z         },
2026-06-04T06:03:51.1746716Z         "int": {
2026-06-04T06:03:51.1747191Z           "complete": false,
2026-06-04T06:03:51.1747644Z           "evidence": []
2026-06-04T06:03:51.1748085Z         },
2026-06-04T06:03:51.1748546Z         "unit": {
2026-06-04T06:03:51.1749008Z           "complete": true,
2026-06-04T06:03:51.1749734Z           "evidence": [
2026-06-04T06:03:51.1750345Z             {
2026-06-04T06:03:51.1751016Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:51.1751498Z               "line": 229
2026-06-04T06:03:51.1751936Z             }
2026-06-04T06:03:51.1752372Z           ]
2026-06-04T06:03:51.1752784Z         }
2026-06-04T06:03:51.1753198Z       }
2026-06-04T06:03:51.1753598Z     },
2026-06-04T06:03:51.1754016Z     {
2026-06-04T06:03:51.1754482Z       "id": "REQ-NET-3",
2026-06-04T06:03:51.1755430Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T06:03:51.1761194Z       "requiredStages": [
2026-06-04T06:03:51.1761775Z         "impl",
2026-06-04T06:03:51.1762198Z         "unit"
2026-06-04T06:03:51.1762602Z       ],
2026-06-04T06:03:51.1763031Z       "stages": {
2026-06-04T06:03:51.1763439Z         "doc": {
2026-06-04T06:03:51.1763916Z           "complete": false,
2026-06-04T06:03:51.1764361Z           "evidence": []
2026-06-04T06:03:51.1764762Z         },
2026-06-04T06:03:51.1765188Z         "impl": {
2026-06-04T06:03:51.1765664Z           "complete": true,
2026-06-04T06:03:51.1766102Z           "evidence": [
2026-06-04T06:03:51.1766517Z             {
2026-06-04T06:03:51.1767220Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1767663Z               "line": 156
2026-06-04T06:03:51.1768073Z             },
2026-06-04T06:03:51.1768485Z             {
2026-06-04T06:03:51.1769150Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1769853Z               "line": 168
2026-06-04T06:03:51.1770410Z             },
2026-06-04T06:03:51.1770841Z             {
2026-06-04T06:03:51.1771530Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1771973Z               "line": 206
2026-06-04T06:03:51.1772389Z             },
2026-06-04T06:03:51.1772795Z             {
2026-06-04T06:03:51.1773491Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1773937Z               "line": 221
2026-06-04T06:03:51.1774362Z             },
2026-06-04T06:03:51.1774805Z             {
2026-06-04T06:03:51.1775888Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1776403Z               "line": 257
2026-06-04T06:03:51.1776831Z             },
2026-06-04T06:03:51.1777253Z             {
2026-06-04T06:03:51.1777934Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1778401Z               "line": 298
2026-06-04T06:03:51.1778828Z             },
2026-06-04T06:03:51.1779324Z             {
2026-06-04T06:03:51.1780032Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.1780505Z               "line": 311
2026-06-04T06:03:51.1780965Z             },
2026-06-04T06:03:51.1781394Z             {
2026-06-04T06:03:51.1782057Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:51.1782522Z               "line": 29
2026-06-04T06:03:51.1782947Z             },
2026-06-04T06:03:51.1783382Z             {
2026-06-04T06:03:51.1784052Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:51.1784792Z               "line": 70
2026-06-04T06:03:51.1785253Z             },
2026-06-04T06:03:51.1785689Z             {
2026-06-04T06:03:51.1786383Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:51.1786852Z               "line": 121
2026-06-04T06:03:51.1787280Z             }
2026-06-04T06:03:51.1787686Z           ]
2026-06-04T06:03:51.1788112Z         },
2026-06-04T06:03:51.1788546Z         "int": {
2026-06-04T06:03:51.1789014Z           "complete": false,
2026-06-04T06:03:51.1789565Z           "evidence": []
2026-06-04T06:03:51.1790041Z         },
2026-06-04T06:03:51.1790510Z         "unit": {
2026-06-04T06:03:51.1790978Z           "complete": true,
2026-06-04T06:03:51.1791445Z           "evidence": [
2026-06-04T06:03:51.1791884Z             {
2026-06-04T06:03:51.1792560Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:51.1793034Z               "line": 308
2026-06-04T06:03:51.1793452Z             },
2026-06-04T06:03:51.1793903Z             {
2026-06-04T06:03:51.1794578Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:51.1795052Z               "line": 345
2026-06-04T06:03:51.1795484Z             },
2026-06-04T06:03:51.1795893Z             {
2026-06-04T06:03:51.1796569Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T06:03:51.1797015Z               "line": 469
2026-06-04T06:03:51.1797438Z             }
2026-06-04T06:03:51.1797844Z           ]
2026-06-04T06:03:51.1798255Z         }
2026-06-04T06:03:51.1798676Z       }
2026-06-04T06:03:51.1799077Z     },
2026-06-04T06:03:51.1799556Z     {
2026-06-04T06:03:51.1800067Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T06:03:51.1801446Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T06:03:51.1801928Z       "requiredStages": [
2026-06-04T06:03:51.1802381Z         "impl",
2026-06-04T06:03:51.1802826Z         "unit"
2026-06-04T06:03:51.1803254Z       ],
2026-06-04T06:03:51.1803718Z       "stages": {
2026-06-04T06:03:51.1804145Z         "doc": {
2026-06-04T06:03:51.1804647Z           "complete": false,
2026-06-04T06:03:51.1805098Z           "evidence": []
2026-06-04T06:03:51.1805516Z         },
2026-06-04T06:03:51.1805957Z         "impl": {
2026-06-04T06:03:51.1806421Z           "complete": true,
2026-06-04T06:03:51.1806872Z           "evidence": [
2026-06-04T06:03:51.1807280Z             {
2026-06-04T06:03:51.1807941Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1808378Z               "line": 60
2026-06-04T06:03:51.1808824Z             },
2026-06-04T06:03:51.1809484Z             {
2026-06-04T06:03:51.1810358Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1810834Z               "line": 68
2026-06-04T06:03:51.1811254Z             },
2026-06-04T06:03:51.1811687Z             {
2026-06-04T06:03:51.1812343Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1812830Z               "line": 86
2026-06-04T06:03:51.1813287Z             },
2026-06-04T06:03:51.1813704Z             {
2026-06-04T06:03:51.1814678Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1815178Z               "line": 120
2026-06-04T06:03:51.1815622Z             },
2026-06-04T06:03:51.1816037Z             {
2026-06-04T06:03:51.1816700Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1817166Z               "line": 127
2026-06-04T06:03:51.1817589Z             },
2026-06-04T06:03:51.1818013Z             {
2026-06-04T06:03:51.1818654Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1819107Z               "line": 143
2026-06-04T06:03:51.1819613Z             },
2026-06-04T06:03:51.1820048Z             {
2026-06-04T06:03:51.1820689Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T06:03:51.1821140Z               "line": 16
2026-06-04T06:03:51.1821577Z             }
2026-06-04T06:03:51.1821996Z           ]
2026-06-04T06:03:51.1822745Z         },
2026-06-04T06:03:51.1823174Z         "int": {
2026-06-04T06:03:51.1823659Z           "complete": false,
2026-06-04T06:03:51.1824128Z           "evidence": []
2026-06-04T06:03:51.1824542Z         },
2026-06-04T06:03:51.1825026Z         "unit": {
2026-06-04T06:03:51.1825508Z           "complete": true,
2026-06-04T06:03:51.1825971Z           "evidence": [
2026-06-04T06:03:51.1826388Z             {
2026-06-04T06:03:51.1827055Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1827516Z               "line": 199
2026-06-04T06:03:51.1827938Z             },
2026-06-04T06:03:51.1828380Z             {
2026-06-04T06:03:51.1829046Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1829767Z               "line": 218
2026-06-04T06:03:51.1830348Z             },
2026-06-04T06:03:51.1830777Z             {
2026-06-04T06:03:51.1831429Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1831876Z               "line": 232
2026-06-04T06:03:51.1832327Z             },
2026-06-04T06:03:51.1832738Z             {
2026-06-04T06:03:51.1833395Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T06:03:51.1833861Z               "line": 248
2026-06-04T06:03:51.1834303Z             },
2026-06-04T06:03:51.1834739Z             {
2026-06-04T06:03:51.1835367Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T06:03:51.1835835Z               "line": 125
2026-06-04T06:03:51.1836255Z             },
2026-06-04T06:03:51.1836679Z             {
2026-06-04T06:03:51.1837312Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T06:03:51.1837775Z               "line": 141
2026-06-04T06:03:51.1838215Z             },
2026-06-04T06:03:51.1838650Z             {
2026-06-04T06:03:51.1839355Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T06:03:51.1839818Z               "line": 153
2026-06-04T06:03:51.1840248Z             }
2026-06-04T06:03:51.1840680Z           ]
2026-06-04T06:03:51.1841125Z         }
2026-06-04T06:03:51.1841557Z       }
2026-06-04T06:03:51.1841970Z     },
2026-06-04T06:03:51.1842396Z     {
2026-06-04T06:03:51.1842892Z       "id": "REQ-NOTIF-1",
2026-06-04T06:03:51.1850718Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T06:03:51.1851311Z       "requiredStages": [],
2026-06-04T06:03:51.1851748Z       "stages": {
2026-06-04T06:03:51.1852193Z         "doc": {
2026-06-04T06:03:51.1852671Z           "complete": false,
2026-06-04T06:03:51.1853148Z           "evidence": []
2026-06-04T06:03:51.1853572Z         },
2026-06-04T06:03:51.1854011Z         "impl": {
2026-06-04T06:03:51.1854503Z           "complete": false,
2026-06-04T06:03:51.1854972Z           "evidence": []
2026-06-04T06:03:51.1855407Z         },
2026-06-04T06:03:51.1855834Z         "int": {
2026-06-04T06:03:51.1856334Z           "complete": false,
2026-06-04T06:03:51.1856806Z           "evidence": []
2026-06-04T06:03:51.1857279Z         },
2026-06-04T06:03:51.1857732Z         "unit": {
2026-06-04T06:03:51.1858211Z           "complete": false,
2026-06-04T06:03:51.1859234Z           "evidence": []
2026-06-04T06:03:51.1859921Z         }
2026-06-04T06:03:51.1860636Z       }
2026-06-04T06:03:51.1861045Z     },
2026-06-04T06:03:51.1861482Z     {
2026-06-04T06:03:51.1861981Z       "id": "REQ-NOTIF-2",
2026-06-04T06:03:51.1863644Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T06:03:51.1864156Z       "requiredStages": [],
2026-06-04T06:03:51.1864596Z       "stages": {
2026-06-04T06:03:51.1865031Z         "doc": {
2026-06-04T06:03:51.1865512Z           "complete": false,
2026-06-04T06:03:51.1865999Z           "evidence": []
2026-06-04T06:03:51.1866441Z         },
2026-06-04T06:03:51.1866871Z         "impl": {
2026-06-04T06:03:51.1867358Z           "complete": false,
2026-06-04T06:03:51.1867813Z           "evidence": []
2026-06-04T06:03:51.1868259Z         },
2026-06-04T06:03:51.1868957Z         "int": {
2026-06-04T06:03:51.1869502Z           "complete": false,
2026-06-04T06:03:51.1869999Z           "evidence": []
2026-06-04T06:03:51.1870425Z         },
2026-06-04T06:03:51.1870853Z         "unit": {
2026-06-04T06:03:51.1871324Z           "complete": false,
2026-06-04T06:03:51.1871775Z           "evidence": []
2026-06-04T06:03:51.1872180Z         }
2026-06-04T06:03:51.1872595Z       }
2026-06-04T06:03:51.1873005Z     },
2026-06-04T06:03:51.1873402Z     {
2026-06-04T06:03:51.1873875Z       "id": "REQ-PAIR-1",
2026-06-04T06:03:51.1874427Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T06:03:51.1874920Z       "requiredStages": [
2026-06-04T06:03:51.1875344Z         "impl",
2026-06-04T06:03:51.1875772Z         "unit"
2026-06-04T06:03:51.1876187Z       ],
2026-06-04T06:03:51.1876623Z       "stages": {
2026-06-04T06:03:51.1877052Z         "doc": {
2026-06-04T06:03:51.1877531Z           "complete": false,
2026-06-04T06:03:51.1877989Z           "evidence": []
2026-06-04T06:03:51.1878422Z         },
2026-06-04T06:03:51.1878873Z         "impl": {
2026-06-04T06:03:51.1879445Z           "complete": true,
2026-06-04T06:03:51.1879916Z           "evidence": [
2026-06-04T06:03:51.1880350Z             {
2026-06-04T06:03:51.1881118Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1881602Z               "line": 27
2026-06-04T06:03:51.1882023Z             },
2026-06-04T06:03:51.1882452Z             {
2026-06-04T06:03:51.1883193Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1883645Z               "line": 88
2026-06-04T06:03:51.1884083Z             },
2026-06-04T06:03:51.1884496Z             {
2026-06-04T06:03:51.1885226Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1885678Z               "line": 110
2026-06-04T06:03:51.1886104Z             },
2026-06-04T06:03:51.1886532Z             {
2026-06-04T06:03:51.1887230Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1887703Z               "line": 153
2026-06-04T06:03:51.1888115Z             },
2026-06-04T06:03:51.1888543Z             {
2026-06-04T06:03:51.1889454Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1889959Z               "line": 182
2026-06-04T06:03:51.1890537Z             },
2026-06-04T06:03:51.1890942Z             {
2026-06-04T06:03:51.1891636Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1892070Z               "line": 29
2026-06-04T06:03:51.1892509Z             },
2026-06-04T06:03:51.1892928Z             {
2026-06-04T06:03:51.1893713Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T06:03:51.1894169Z               "line": 31
2026-06-04T06:03:51.1894583Z             },
2026-06-04T06:03:51.1894998Z             {
2026-06-04T06:03:51.1895685Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1896135Z               "line": 40
2026-06-04T06:03:51.1896573Z             },
2026-06-04T06:03:51.1896988Z             {
2026-06-04T06:03:51.1897991Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1898482Z               "line": 131
2026-06-04T06:03:51.1898905Z             },
2026-06-04T06:03:51.1899525Z             {
2026-06-04T06:03:51.1900431Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1900912Z               "line": 306
2026-06-04T06:03:51.1901328Z             }
2026-06-04T06:03:51.1901760Z           ]
2026-06-04T06:03:51.1902180Z         },
2026-06-04T06:03:51.1902621Z         "int": {
2026-06-04T06:03:51.1903082Z           "complete": false,
2026-06-04T06:03:51.1903555Z           "evidence": []
2026-06-04T06:03:51.1903981Z         },
2026-06-04T06:03:51.1904406Z         "unit": {
2026-06-04T06:03:51.1904886Z           "complete": true,
2026-06-04T06:03:51.1905346Z           "evidence": [
2026-06-04T06:03:51.1905768Z             {
2026-06-04T06:03:51.1906481Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1907233Z               "line": 236
2026-06-04T06:03:51.1907676Z             },
2026-06-04T06:03:51.1908091Z             {
2026-06-04T06:03:51.1908814Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T06:03:51.1909501Z               "line": 349
2026-06-04T06:03:51.1909984Z             },
2026-06-04T06:03:51.1910547Z             {
2026-06-04T06:03:51.1911368Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1911848Z               "line": 194
2026-06-04T06:03:51.1912268Z             },
2026-06-04T06:03:51.1912701Z             {
2026-06-04T06:03:51.1913401Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1913866Z               "line": 216
2026-06-04T06:03:51.1914300Z             },
2026-06-04T06:03:51.1914713Z             {
2026-06-04T06:03:51.1915412Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1915874Z               "line": 230
2026-06-04T06:03:51.1916291Z             },
2026-06-04T06:03:51.1916702Z             {
2026-06-04T06:03:51.1917421Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1917866Z               "line": 242
2026-06-04T06:03:51.1918282Z             },
2026-06-04T06:03:51.1918695Z             {
2026-06-04T06:03:51.1919644Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1920258Z               "line": 256
2026-06-04T06:03:51.1920664Z             },
2026-06-04T06:03:51.1921079Z             {
2026-06-04T06:03:51.1921794Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1922246Z               "line": 270
2026-06-04T06:03:51.1922675Z             },
2026-06-04T06:03:51.1923106Z             {
2026-06-04T06:03:51.1923867Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1924353Z               "line": 277
2026-06-04T06:03:51.1924789Z             },
2026-06-04T06:03:51.1925225Z             {
2026-06-04T06:03:51.1925942Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T06:03:51.1926411Z               "line": 295
2026-06-04T06:03:51.1926827Z             },
2026-06-04T06:03:51.1927249Z             {
2026-06-04T06:03:51.1927965Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1928453Z               "line": 696
2026-06-04T06:03:51.1928892Z             },
2026-06-04T06:03:51.1929387Z             {
2026-06-04T06:03:51.1930096Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1930554Z               "line": 757
2026-06-04T06:03:51.1930983Z             },
2026-06-04T06:03:51.1931398Z             {
2026-06-04T06:03:51.1932122Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1932603Z               "line": 814
2026-06-04T06:03:51.1933024Z             },
2026-06-04T06:03:51.1933525Z             {
2026-06-04T06:03:51.1934252Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1939812Z               "line": 868
2026-06-04T06:03:51.1940731Z             },
2026-06-04T06:03:51.1941215Z             {
2026-06-04T06:03:51.1941977Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1942430Z               "line": 920
2026-06-04T06:03:51.1942857Z             },
2026-06-04T06:03:51.1943266Z             {
2026-06-04T06:03:51.1944033Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.1944485Z               "line": 1084
2026-06-04T06:03:51.1944909Z             }
2026-06-04T06:03:51.1945320Z           ]
2026-06-04T06:03:51.1945722Z         }
2026-06-04T06:03:51.1946140Z       }
2026-06-04T06:03:51.1946546Z     },
2026-06-04T06:03:51.1946954Z     {
2026-06-04T06:03:51.1947411Z       "id": "REQ-PAIR-2",
2026-06-04T06:03:51.1948171Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T06:03:51.1948660Z       "requiredStages": [
2026-06-04T06:03:51.1949548Z         "impl",
2026-06-04T06:03:51.1950145Z         "unit"
2026-06-04T06:03:51.1950556Z       ],
2026-06-04T06:03:51.1951009Z       "stages": {
2026-06-04T06:03:51.1951426Z         "doc": {
2026-06-04T06:03:51.1951912Z           "complete": false,
2026-06-04T06:03:51.1952368Z           "evidence": []
2026-06-04T06:03:51.1952770Z         },
2026-06-04T06:03:51.1953198Z         "impl": {
2026-06-04T06:03:51.1953712Z           "complete": true,
2026-06-04T06:03:51.1954157Z           "evidence": [
2026-06-04T06:03:51.1954566Z             {
2026-06-04T06:03:51.1955186Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1955631Z               "line": 42
2026-06-04T06:03:51.1956054Z             },
2026-06-04T06:03:51.1956473Z             {
2026-06-04T06:03:51.1957074Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1957537Z               "line": 151
2026-06-04T06:03:51.1957963Z             },
2026-06-04T06:03:51.1958399Z             {
2026-06-04T06:03:51.1959034Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1959527Z               "line": 171
2026-06-04T06:03:51.1959980Z             },
2026-06-04T06:03:51.1960406Z             {
2026-06-04T06:03:51.1961029Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1961491Z               "line": 209
2026-06-04T06:03:51.1961922Z             },
2026-06-04T06:03:51.1962350Z             {
2026-06-04T06:03:51.1962966Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1963451Z               "line": 232
2026-06-04T06:03:51.1963870Z             }
2026-06-04T06:03:51.1964296Z           ]
2026-06-04T06:03:51.1964718Z         },
2026-06-04T06:03:51.1965154Z         "int": {
2026-06-04T06:03:51.1965654Z           "complete": false,
2026-06-04T06:03:51.1966112Z           "evidence": []
2026-06-04T06:03:51.1966547Z         },
2026-06-04T06:03:51.1966977Z         "unit": {
2026-06-04T06:03:51.1967473Z           "complete": true,
2026-06-04T06:03:51.1967931Z           "evidence": [
2026-06-04T06:03:51.1968381Z             {
2026-06-04T06:03:51.1969036Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1969545Z               "line": 253
2026-06-04T06:03:51.1969968Z             },
2026-06-04T06:03:51.1970378Z             {
2026-06-04T06:03:51.1970986Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1971433Z               "line": 272
2026-06-04T06:03:51.1971865Z             },
2026-06-04T06:03:51.1972280Z             {
2026-06-04T06:03:51.1972886Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1973368Z               "line": 284
2026-06-04T06:03:51.1973784Z             },
2026-06-04T06:03:51.1974220Z             {
2026-06-04T06:03:51.1974836Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1975317Z               "line": 303
2026-06-04T06:03:51.1975769Z             },
2026-06-04T06:03:51.1976179Z             {
2026-06-04T06:03:51.1976826Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1977318Z               "line": 319
2026-06-04T06:03:51.1977744Z             },
2026-06-04T06:03:51.1978465Z             {
2026-06-04T06:03:51.1979224Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1979689Z               "line": 331
2026-06-04T06:03:51.1980103Z             },
2026-06-04T06:03:51.1980532Z             {
2026-06-04T06:03:51.1981135Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1981584Z               "line": 343
2026-06-04T06:03:51.1982019Z             },
2026-06-04T06:03:51.1982442Z             {
2026-06-04T06:03:51.1983069Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1983513Z               "line": 356
2026-06-04T06:03:51.1983932Z             },
2026-06-04T06:03:51.1984331Z             {
2026-06-04T06:03:51.1984959Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T06:03:51.1985426Z               "line": 370
2026-06-04T06:03:51.1985842Z             }
2026-06-04T06:03:51.1986530Z           ]
2026-06-04T06:03:51.1986939Z         }
2026-06-04T06:03:51.1987372Z       }
2026-06-04T06:03:51.1987804Z     },
2026-06-04T06:03:51.1988213Z     {
2026-06-04T06:03:51.1988699Z       "id": "REQ-PAIR-3",
2026-06-04T06:03:51.1989768Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T06:03:51.1990480Z       "requiredStages": [
2026-06-04T06:03:51.1990920Z         "impl",
2026-06-04T06:03:51.1991370Z         "unit"
2026-06-04T06:03:51.1991794Z       ],
2026-06-04T06:03:51.1992250Z       "stages": {
2026-06-04T06:03:51.1992707Z         "doc": {
2026-06-04T06:03:51.1993197Z           "complete": false,
2026-06-04T06:03:51.1993663Z           "evidence": []
2026-06-04T06:03:51.1994076Z         },
2026-06-04T06:03:51.1994540Z         "impl": {
2026-06-04T06:03:51.1995005Z           "complete": true,
2026-06-04T06:03:51.1995473Z           "evidence": [
2026-06-04T06:03:51.1995900Z             {
2026-06-04T06:03:51.1996459Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1996947Z               "line": 499
2026-06-04T06:03:51.1997371Z             },
2026-06-04T06:03:51.1997820Z             {
2026-06-04T06:03:51.1998372Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.1998836Z               "line": 535
2026-06-04T06:03:51.1999467Z             },
2026-06-04T06:03:51.2000062Z             {
2026-06-04T06:03:51.2000630Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2001085Z               "line": 595
2026-06-04T06:03:51.2001514Z             }
2026-06-04T06:03:51.2001939Z           ]
2026-06-04T06:03:51.2002375Z         },
2026-06-04T06:03:51.2002815Z         "int": {
2026-06-04T06:03:51.2003296Z           "complete": false,
2026-06-04T06:03:51.2003870Z           "evidence": []
2026-06-04T06:03:51.2004280Z         },
2026-06-04T06:03:51.2004716Z         "unit": {
2026-06-04T06:03:51.2005173Z           "complete": true,
2026-06-04T06:03:51.2005641Z           "evidence": [
2026-06-04T06:03:51.2006067Z             {
2026-06-04T06:03:51.2006624Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2007093Z               "line": 907
2026-06-04T06:03:51.2007516Z             },
2026-06-04T06:03:51.2007945Z             {
2026-06-04T06:03:51.2008479Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2008967Z               "line": 924
2026-06-04T06:03:51.2009639Z             },
2026-06-04T06:03:51.2010216Z             {
2026-06-04T06:03:51.2010773Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2011225Z               "line": 938
2026-06-04T06:03:51.2011656Z             },
2026-06-04T06:03:51.2012072Z             {
2026-06-04T06:03:51.2012634Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2013095Z               "line": 954
2026-06-04T06:03:51.2013508Z             },
2026-06-04T06:03:51.2013927Z             {
2026-06-04T06:03:51.2014468Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2014920Z               "line": 975
2026-06-04T06:03:51.2015359Z             },
2026-06-04T06:03:51.2015799Z             {
2026-06-04T06:03:51.2016707Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2017208Z               "line": 991
2026-06-04T06:03:51.2017634Z             },
2026-06-04T06:03:51.2018046Z             {
2026-06-04T06:03:51.2018600Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2019058Z               "line": 1004
2026-06-04T06:03:51.2019729Z             },
2026-06-04T06:03:51.2025196Z             {
2026-06-04T06:03:51.2025917Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2026407Z               "line": 1013
2026-06-04T06:03:51.2026842Z             }
2026-06-04T06:03:51.2027305Z           ]
2026-06-04T06:03:51.2027777Z         }
2026-06-04T06:03:51.2028221Z       }
2026-06-04T06:03:51.2028656Z     },
2026-06-04T06:03:51.2029078Z     {
2026-06-04T06:03:51.2029706Z       "id": "REQ-PAIR-4",
2026-06-04T06:03:51.2030451Z       "title": "Subnet naming on first pairing",
2026-06-04T06:03:51.2031367Z       "requiredStages": [
2026-06-04T06:03:51.2031788Z         "impl",
2026-06-04T06:03:51.2032218Z         "unit"
2026-06-04T06:03:51.2032666Z       ],
2026-06-04T06:03:51.2033103Z       "stages": {
2026-06-04T06:03:51.2033528Z         "doc": {
2026-06-04T06:03:51.2033986Z           "complete": false,
2026-06-04T06:03:51.2034445Z           "evidence": []
2026-06-04T06:03:51.2034867Z         },
2026-06-04T06:03:51.2035306Z         "impl": {
2026-06-04T06:03:51.2035798Z           "complete": true,
2026-06-04T06:03:51.2036269Z           "evidence": [
2026-06-04T06:03:51.2036701Z             {
2026-06-04T06:03:51.2037330Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T06:03:51.2037805Z               "line": 154
2026-06-04T06:03:51.2038213Z             }
2026-06-04T06:03:51.2038649Z           ]
2026-06-04T06:03:51.2039071Z         },
2026-06-04T06:03:51.2039887Z         "int": {
2026-06-04T06:03:51.2040404Z           "complete": false,
2026-06-04T06:03:51.2040861Z           "evidence": []
2026-06-04T06:03:51.2041317Z         },
2026-06-04T06:03:51.2041746Z         "unit": {
2026-06-04T06:03:51.2042240Z           "complete": true,
2026-06-04T06:03:51.2042712Z           "evidence": [
2026-06-04T06:03:51.2043129Z             {
2026-06-04T06:03:51.2043859Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.2044355Z               "line": 972
2026-06-04T06:03:51.2044801Z             }
2026-06-04T06:03:51.2045219Z           ]
2026-06-04T06:03:51.2045646Z         }
2026-06-04T06:03:51.2046078Z       }
2026-06-04T06:03:51.2046487Z     },
2026-06-04T06:03:51.2046914Z     {
2026-06-04T06:03:51.2047373Z       "id": "REQ-PAIR-5",
2026-06-04T06:03:51.2049454Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T06:03:51.2050113Z       "requiredStages": [
2026-06-04T06:03:51.2050548Z         "impl",
2026-06-04T06:03:51.2050979Z         "unit"
2026-06-04T06:03:51.2051417Z       ],
2026-06-04T06:03:51.2051881Z       "stages": {
2026-06-04T06:03:51.2052306Z         "doc": {
2026-06-04T06:03:51.2052797Z           "complete": false,
2026-06-04T06:03:51.2053254Z           "evidence": []
2026-06-04T06:03:51.2053680Z         },
2026-06-04T06:03:51.2054135Z         "impl": {
2026-06-04T06:03:51.2054599Z           "complete": true,
2026-06-04T06:03:51.2055063Z           "evidence": [
2026-06-04T06:03:51.2055479Z             {
2026-06-04T06:03:51.2056280Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2056719Z               "line": 33
2026-06-04T06:03:51.2057136Z             },
2026-06-04T06:03:51.2057569Z             {
2026-06-04T06:03:51.2058366Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2058842Z               "line": 45
2026-06-04T06:03:51.2059467Z             },
2026-06-04T06:03:51.2059934Z             {
2026-06-04T06:03:51.2060776Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2061421Z               "line": 59
2026-06-04T06:03:51.2061858Z             },
2026-06-04T06:03:51.2062286Z             {
2026-06-04T06:03:51.2063297Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.2063803Z               "line": 306
2026-06-04T06:03:51.2064247Z             }
2026-06-04T06:03:51.2064674Z           ]
2026-06-04T06:03:51.2065100Z         },
2026-06-04T06:03:51.2065530Z         "int": {
2026-06-04T06:03:51.2066006Z           "complete": false,
2026-06-04T06:03:51.2066475Z           "evidence": []
2026-06-04T06:03:51.2066897Z         },
2026-06-04T06:03:51.2067347Z         "unit": {
2026-06-04T06:03:51.2067814Z           "complete": true,
2026-06-04T06:03:51.2068273Z           "evidence": [
2026-06-04T06:03:51.2068698Z             {
2026-06-04T06:03:51.2069722Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2070267Z               "line": 72
2026-06-04T06:03:51.2070714Z             },
2026-06-04T06:03:51.2071392Z             {
2026-06-04T06:03:51.2072225Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2072690Z               "line": 82
2026-06-04T06:03:51.2073138Z             },
2026-06-04T06:03:51.2073561Z             {
2026-06-04T06:03:51.2074385Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2074859Z               "line": 92
2026-06-04T06:03:51.2075306Z             },
2026-06-04T06:03:51.2075723Z             {
2026-06-04T06:03:51.2076547Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2077005Z               "line": 102
2026-06-04T06:03:51.2077427Z             },
2026-06-04T06:03:51.2077876Z             {
2026-06-04T06:03:51.2078687Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T06:03:51.2079386Z               "line": 117
2026-06-04T06:03:51.2079878Z             },
2026-06-04T06:03:51.2080301Z             {
2026-06-04T06:03:51.2081186Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.2081693Z               "line": 750
2026-06-04T06:03:51.2082130Z             },
2026-06-04T06:03:51.2082552Z             {
2026-06-04T06:03:51.2083344Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.2083840Z               "line": 806
2026-06-04T06:03:51.2084255Z             },
2026-06-04T06:03:51.2084678Z             {
2026-06-04T06:03:51.2085382Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T06:03:51.2085871Z               "line": 1026
2026-06-04T06:03:51.2086304Z             }
2026-06-04T06:03:51.2086732Z           ]
2026-06-04T06:03:51.2087172Z         }
2026-06-04T06:03:51.2087603Z       }
2026-06-04T06:03:51.2088027Z     },
2026-06-04T06:03:51.2088453Z     {
2026-06-04T06:03:51.2088946Z       "id": "REQ-PAIR-6",
2026-06-04T06:03:51.2090806Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T06:03:51.2091357Z       "requiredStages": [
2026-06-04T06:03:51.2091800Z         "impl",
2026-06-04T06:03:51.2092219Z         "unit"
2026-06-04T06:03:51.2092646Z       ],
2026-06-04T06:03:51.2093072Z       "stages": {
2026-06-04T06:03:51.2093500Z         "doc": {
2026-06-04T06:03:51.2093967Z           "complete": false,
2026-06-04T06:03:51.2094428Z           "evidence": []
2026-06-04T06:03:51.2094918Z         },
2026-06-04T06:03:51.2095342Z         "impl": {
2026-06-04T06:03:51.2095821Z           "complete": true,
2026-06-04T06:03:51.2096265Z           "evidence": [
2026-06-04T06:03:51.2096684Z             {
2026-06-04T06:03:51.2097256Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2097730Z               "line": 535
2026-06-04T06:03:51.2098160Z             },
2026-06-04T06:03:51.2098588Z             {
2026-06-04T06:03:51.2099219Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2099981Z               "line": 595
2026-06-04T06:03:51.2100407Z             },
2026-06-04T06:03:51.2100835Z             {
2026-06-04T06:03:51.2101447Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T06:03:51.2102223Z               "line": 18
2026-06-04T06:03:51.2102693Z             },
2026-06-04T06:03:51.2103115Z             {
2026-06-04T06:03:51.2103718Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T06:03:51.2104175Z               "line": 49
2026-06-04T06:03:51.2104709Z             },
2026-06-04T06:03:51.2105145Z             {
2026-06-04T06:03:51.2105760Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T06:03:51.2106246Z               "line": 70
2026-06-04T06:03:51.2106686Z             }
2026-06-04T06:03:51.2107094Z           ]
2026-06-04T06:03:51.2107515Z         },
2026-06-04T06:03:51.2107936Z         "int": {
2026-06-04T06:03:51.2108419Z           "complete": false,
2026-06-04T06:03:51.2108883Z           "evidence": []
2026-06-04T06:03:51.2109530Z         },
2026-06-04T06:03:51.2110162Z         "unit": {
2026-06-04T06:03:51.2115627Z           "complete": true,
2026-06-04T06:03:51.2116627Z           "evidence": [
2026-06-04T06:03:51.2117045Z             {
2026-06-04T06:03:51.2117634Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2118092Z               "line": 1026
2026-06-04T06:03:51.2118502Z             },
2026-06-04T06:03:51.2118926Z             {
2026-06-04T06:03:51.2119574Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2120035Z               "line": 1043
2026-06-04T06:03:51.2120444Z             },
2026-06-04T06:03:51.2120859Z             {
2026-06-04T06:03:51.2121459Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T06:03:51.2121903Z               "line": 132
2026-06-04T06:03:51.2122321Z             },
2026-06-04T06:03:51.2122731Z             {
2026-06-04T06:03:51.2123325Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T06:03:51.2123774Z               "line": 141
2026-06-04T06:03:51.2124203Z             }
2026-06-04T06:03:51.2124707Z           ]
2026-06-04T06:03:51.2125117Z         }
2026-06-04T06:03:51.2125563Z       }
2026-06-04T06:03:51.2125981Z     },
2026-06-04T06:03:51.2126399Z     {
2026-06-04T06:03:51.2126874Z       "id": "REQ-PAIR-7",
2026-06-04T06:03:51.2127805Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T06:03:51.2128316Z       "requiredStages": [],
2026-06-04T06:03:51.2128760Z       "stages": {
2026-06-04T06:03:51.2129277Z         "doc": {
2026-06-04T06:03:51.2129762Z           "complete": false,
2026-06-04T06:03:51.2130244Z           "evidence": []
2026-06-04T06:03:51.2130663Z         },
2026-06-04T06:03:51.2131116Z         "impl": {
2026-06-04T06:03:51.2131619Z           "complete": false,
2026-06-04T06:03:51.2132090Z           "evidence": []
2026-06-04T06:03:51.2132509Z         },
2026-06-04T06:03:51.2132921Z         "int": {
2026-06-04T06:03:51.2133393Z           "complete": false,
2026-06-04T06:03:51.2133853Z           "evidence": []
2026-06-04T06:03:51.2134279Z         },
2026-06-04T06:03:51.2134720Z         "unit": {
2026-06-04T06:03:51.2135213Z           "complete": false,
2026-06-04T06:03:51.2135691Z           "evidence": []
2026-06-04T06:03:51.2136126Z         }
2026-06-04T06:03:51.2136576Z       }
2026-06-04T06:03:51.2136977Z     },
2026-06-04T06:03:51.2137395Z     {
2026-06-04T06:03:51.2137872Z       "id": "REQ-REACH-1",
2026-06-04T06:03:51.2138692Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T06:03:51.2139247Z       "requiredStages": [
2026-06-04T06:03:51.2139680Z         "impl",
2026-06-04T06:03:51.2140124Z         "unit"
2026-06-04T06:03:51.2140537Z       ],
2026-06-04T06:03:51.2140992Z       "stages": {
2026-06-04T06:03:51.2141431Z         "doc": {
2026-06-04T06:03:51.2141915Z           "complete": false,
2026-06-04T06:03:51.2142381Z           "evidence": []
2026-06-04T06:03:51.2142800Z         },
2026-06-04T06:03:51.2143251Z         "impl": {
2026-06-04T06:03:51.2143714Z           "complete": true,
2026-06-04T06:03:51.2144273Z           "evidence": [
2026-06-04T06:03:51.2144698Z             {
2026-06-04T06:03:51.2145357Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T06:03:51.2145816Z               "line": 122
2026-06-04T06:03:51.2146591Z             },
2026-06-04T06:03:51.2147079Z             {
2026-06-04T06:03:51.2147676Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.2148129Z               "line": 76
2026-06-04T06:03:51.2148559Z             },
2026-06-04T06:03:51.2148974Z             {
2026-06-04T06:03:51.2149927Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.2150585Z               "line": 209
2026-06-04T06:03:51.2151026Z             },
2026-06-04T06:03:51.2151445Z             {
2026-06-04T06:03:51.2152075Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.2152545Z               "line": 383
2026-06-04T06:03:51.2152957Z             },
2026-06-04T06:03:51.2153373Z             {
2026-06-04T06:03:51.2153986Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.2154457Z               "line": 475
2026-06-04T06:03:51.2155168Z             },
2026-06-04T06:03:51.2155597Z             {
2026-06-04T06:03:51.2156243Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T06:03:51.2156697Z               "line": 39
2026-06-04T06:03:51.2157131Z             },
2026-06-04T06:03:51.2157542Z             {
2026-06-04T06:03:51.2158158Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:51.2158610Z               "line": 129
2026-06-04T06:03:51.2159052Z             },
2026-06-04T06:03:51.2159737Z             {
2026-06-04T06:03:51.2160529Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T06:03:51.2160997Z               "line": 82
2026-06-04T06:03:51.2161415Z             },
2026-06-04T06:03:51.2161840Z             {
2026-06-04T06:03:51.2162451Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T06:03:51.2162901Z               "line": 92
2026-06-04T06:03:51.2163324Z             },
2026-06-04T06:03:51.2163733Z             {
2026-06-04T06:03:51.2164402Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.2164852Z               "line": 118
2026-06-04T06:03:51.2165282Z             }
2026-06-04T06:03:51.2165706Z           ]
2026-06-04T06:03:51.2166110Z         },
2026-06-04T06:03:51.2166552Z         "int": {
2026-06-04T06:03:51.2167028Z           "complete": false,
2026-06-04T06:03:51.2167506Z           "evidence": []
2026-06-04T06:03:51.2167924Z         },
2026-06-04T06:03:51.2168380Z         "unit": {
2026-06-04T06:03:51.2168867Z           "complete": true,
2026-06-04T06:03:51.2169553Z           "evidence": [
2026-06-04T06:03:51.2170168Z             {
2026-06-04T06:03:51.2170832Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.2171319Z               "line": 573
2026-06-04T06:03:51.2171741Z             },
2026-06-04T06:03:51.2172173Z             {
2026-06-04T06:03:51.2172798Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T06:03:51.2173253Z               "line": 594
2026-06-04T06:03:51.2173708Z             },
2026-06-04T06:03:51.2174124Z             {
2026-06-04T06:03:51.2174800Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T06:03:51.2175259Z               "line": 337
2026-06-04T06:03:51.2175692Z             },
2026-06-04T06:03:51.2176115Z             {
2026-06-04T06:03:51.2176740Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T06:03:51.2177190Z               "line": 92
2026-06-04T06:03:51.2177611Z             },
2026-06-04T06:03:51.2178036Z             {
2026-06-04T06:03:51.2178669Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T06:03:51.2179139Z               "line": 174
2026-06-04T06:03:51.2179939Z             },
2026-06-04T06:03:51.2180358Z             {
2026-06-04T06:03:51.2180989Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T06:03:51.2181444Z               "line": 78
2026-06-04T06:03:51.2181870Z             },
2026-06-04T06:03:51.2182282Z             {
2026-06-04T06:03:51.2182907Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T06:03:51.2183388Z               "line": 109
2026-06-04T06:03:51.2184096Z             },
2026-06-04T06:03:51.2184567Z             {
2026-06-04T06:03:51.2185179Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:51.2185643Z               "line": 277
2026-06-04T06:03:51.2186077Z             },
2026-06-04T06:03:51.2186548Z             {
2026-06-04T06:03:51.2187187Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T06:03:51.2187648Z               "line": 112
2026-06-04T06:03:51.2188077Z             },
2026-06-04T06:03:51.2188494Z             {
2026-06-04T06:03:51.2189125Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T06:03:51.2189829Z               "line": 136
2026-06-04T06:03:51.2190414Z             },
2026-06-04T06:03:51.2190857Z             {
2026-06-04T06:03:51.2191510Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.2191991Z               "line": 305
2026-06-04T06:03:51.2192680Z             }
2026-06-04T06:03:51.2193103Z           ]
2026-06-04T06:03:51.2193517Z         }
2026-06-04T06:03:51.2193947Z       }
2026-06-04T06:03:51.2194376Z     },
2026-06-04T06:03:51.2194781Z     {
2026-06-04T06:03:51.2195259Z       "id": "REQ-REACH-2",
2026-06-04T06:03:51.2196118Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T06:03:51.2196621Z       "requiredStages": [],
2026-06-04T06:03:51.2197058Z       "stages": {
2026-06-04T06:03:51.2202752Z         "doc": {
2026-06-04T06:03:51.2203377Z           "complete": false,
2026-06-04T06:03:51.2203829Z           "evidence": []
2026-06-04T06:03:51.2204274Z         },
2026-06-04T06:03:51.2204705Z         "impl": {
2026-06-04T06:03:51.2205171Z           "complete": false,
2026-06-04T06:03:51.2205617Z           "evidence": []
2026-06-04T06:03:51.2206036Z         },
2026-06-04T06:03:51.2206460Z         "int": {
2026-06-04T06:03:51.2206920Z           "complete": false,
2026-06-04T06:03:51.2207384Z           "evidence": []
2026-06-04T06:03:51.2207820Z         },
2026-06-04T06:03:51.2208252Z         "unit": {
2026-06-04T06:03:51.2208734Z           "complete": false,
2026-06-04T06:03:51.2209450Z           "evidence": []
2026-06-04T06:03:51.2210061Z         }
2026-06-04T06:03:51.2210567Z       }
2026-06-04T06:03:51.2210996Z     },
2026-06-04T06:03:51.2211410Z     {
2026-06-04T06:03:51.2211959Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T06:03:51.2213018Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T06:03:51.2213514Z       "requiredStages": [
2026-06-04T06:03:51.2213955Z         "impl",
2026-06-04T06:03:51.2214383Z         "unit"
2026-06-04T06:03:51.2214816Z       ],
2026-06-04T06:03:51.2215260Z       "stages": {
2026-06-04T06:03:51.2215700Z         "doc": {
2026-06-04T06:03:51.2216183Z           "complete": false,
2026-06-04T06:03:51.2216661Z           "evidence": []
2026-06-04T06:03:51.2217082Z         },
2026-06-04T06:03:51.2217502Z         "impl": {
2026-06-04T06:03:51.2217975Z           "complete": true,
2026-06-04T06:03:51.2218441Z           "evidence": [
2026-06-04T06:03:51.2218863Z             {
2026-06-04T06:03:51.2219860Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2220340Z               "line": 18
2026-06-04T06:03:51.2220778Z             },
2026-06-04T06:03:51.2221217Z             {
2026-06-04T06:03:51.2221870Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2222320Z               "line": 35
2026-06-04T06:03:51.2222749Z             },
2026-06-04T06:03:51.2223164Z             {
2026-06-04T06:03:51.2223791Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2224247Z               "line": 65
2026-06-04T06:03:51.2224664Z             }
2026-06-04T06:03:51.2225090Z           ]
2026-06-04T06:03:51.2225500Z         },
2026-06-04T06:03:51.2225929Z         "int": {
2026-06-04T06:03:51.2226403Z           "complete": false,
2026-06-04T06:03:51.2226871Z           "evidence": []
2026-06-04T06:03:51.2227307Z         },
2026-06-04T06:03:51.2227794Z         "unit": {
2026-06-04T06:03:51.2228302Z           "complete": true,
2026-06-04T06:03:51.2229250Z           "evidence": [
2026-06-04T06:03:51.2229940Z             {
2026-06-04T06:03:51.2230618Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2231122Z               "line": 170
2026-06-04T06:03:51.2231583Z             },
2026-06-04T06:03:51.2232014Z             {
2026-06-04T06:03:51.2232668Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2233135Z               "line": 184
2026-06-04T06:03:51.2233579Z             },
2026-06-04T06:03:51.2234006Z             {
2026-06-04T06:03:51.2234651Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2235142Z               "line": 193
2026-06-04T06:03:51.2235577Z             }
2026-06-04T06:03:51.2236027Z           ]
2026-06-04T06:03:51.2236480Z         }
2026-06-04T06:03:51.2236944Z       }
2026-06-04T06:03:51.2237370Z     },
2026-06-04T06:03:51.2237807Z     {
2026-06-04T06:03:51.2238627Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T06:03:51.2239716Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T06:03:51.2240228Z       "requiredStages": [
2026-06-04T06:03:51.2240645Z         "impl",
2026-06-04T06:03:51.2241074Z         "unit"
2026-06-04T06:03:51.2241482Z       ],
2026-06-04T06:03:51.2241910Z       "stages": {
2026-06-04T06:03:51.2242340Z         "doc": {
2026-06-04T06:03:51.2242809Z           "complete": false,
2026-06-04T06:03:51.2243265Z           "evidence": []
2026-06-04T06:03:51.2243698Z         },
2026-06-04T06:03:51.2244243Z         "impl": {
2026-06-04T06:03:51.2244696Z           "complete": true,
2026-06-04T06:03:51.2245156Z           "evidence": [
2026-06-04T06:03:51.2245592Z             {
2026-06-04T06:03:51.2246239Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.2246706Z               "line": 203
2026-06-04T06:03:51.2247131Z             }
2026-06-04T06:03:51.2247578Z           ]
2026-06-04T06:03:51.2248032Z         },
2026-06-04T06:03:51.2248492Z         "int": {
2026-06-04T06:03:51.2248987Z           "complete": false,
2026-06-04T06:03:51.2249840Z           "evidence": []
2026-06-04T06:03:51.2250284Z         },
2026-06-04T06:03:51.2250703Z         "unit": {
2026-06-04T06:03:51.2251188Z           "complete": true,
2026-06-04T06:03:51.2251634Z           "evidence": [
2026-06-04T06:03:51.2252058Z             {
2026-06-04T06:03:51.2252710Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.2253160Z               "line": 338
2026-06-04T06:03:51.2253586Z             }
2026-06-04T06:03:51.2254008Z           ]
2026-06-04T06:03:51.2254437Z         }
2026-06-04T06:03:51.2254852Z       }
2026-06-04T06:03:51.2255277Z     },
2026-06-04T06:03:51.2255687Z     {
2026-06-04T06:03:51.2256167Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T06:03:51.2257237Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T06:03:51.2257714Z       "requiredStages": [
2026-06-04T06:03:51.2258168Z         "impl",
2026-06-04T06:03:51.2258586Z         "unit",
2026-06-04T06:03:51.2259001Z         "int"
2026-06-04T06:03:51.2259630Z       ],
2026-06-04T06:03:51.2260289Z       "stages": {
2026-06-04T06:03:51.2260725Z         "doc": {
2026-06-04T06:03:51.2261191Z           "complete": false,
2026-06-04T06:03:51.2261654Z           "evidence": []
2026-06-04T06:03:51.2262060Z         },
2026-06-04T06:03:51.2262493Z         "impl": {
2026-06-04T06:03:51.2262961Z           "complete": true,
2026-06-04T06:03:51.2263407Z           "evidence": [
2026-06-04T06:03:51.2263835Z             {
2026-06-04T06:03:51.2264423Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:51.2264871Z               "line": 24
2026-06-04T06:03:51.2265275Z             },
2026-06-04T06:03:51.2265695Z             {
2026-06-04T06:03:51.2266321Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2266771Z               "line": 22
2026-06-04T06:03:51.2267189Z             }
2026-06-04T06:03:51.2267612Z           ]
2026-06-04T06:03:51.2268031Z         },
2026-06-04T06:03:51.2268459Z         "int": {
2026-06-04T06:03:51.2269440Z           "complete": true,
2026-06-04T06:03:51.2270125Z           "evidence": [
2026-06-04T06:03:51.2270543Z             {
2026-06-04T06:03:51.2271207Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:51.2271677Z               "line": 202
2026-06-04T06:03:51.2272102Z             }
2026-06-04T06:03:51.2272524Z           ]
2026-06-04T06:03:51.2272961Z         },
2026-06-04T06:03:51.2273392Z         "unit": {
2026-06-04T06:03:51.2273858Z           "complete": true,
2026-06-04T06:03:51.2274356Z           "evidence": [
2026-06-04T06:03:51.2274794Z             {
2026-06-04T06:03:51.2275424Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:51.2275892Z               "line": 163
2026-06-04T06:03:51.2276341Z             },
2026-06-04T06:03:51.2276781Z             {
2026-06-04T06:03:51.2277375Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:51.2278093Z               "line": 186
2026-06-04T06:03:51.2278513Z             },
2026-06-04T06:03:51.2278961Z             {
2026-06-04T06:03:51.2279630Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T06:03:51.2280112Z               "line": 195
2026-06-04T06:03:51.2280543Z             },
2026-06-04T06:03:51.2280967Z             {
2026-06-04T06:03:51.2281596Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2282041Z               "line": 195
2026-06-04T06:03:51.2282477Z             },
2026-06-04T06:03:51.2282901Z             {
2026-06-04T06:03:51.2283548Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2288873Z               "line": 209
2026-06-04T06:03:51.2289529Z             },
2026-06-04T06:03:51.2289991Z             {
2026-06-04T06:03:51.2290781Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2291256Z               "line": 228
2026-06-04T06:03:51.2291671Z             },
2026-06-04T06:03:51.2292123Z             {
2026-06-04T06:03:51.2292747Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2293203Z               "line": 248
2026-06-04T06:03:51.2293629Z             },
2026-06-04T06:03:51.2294039Z             {
2026-06-04T06:03:51.2294670Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2295130Z               "line": 264
2026-06-04T06:03:51.2295560Z             },
2026-06-04T06:03:51.2295979Z             {
2026-06-04T06:03:51.2296581Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T06:03:51.2297033Z               "line": 279
2026-06-04T06:03:51.2297438Z             }
2026-06-04T06:03:51.2297856Z           ]
2026-06-04T06:03:51.2298275Z         }
2026-06-04T06:03:51.2298673Z       }
2026-06-04T06:03:51.2299088Z     },
2026-06-04T06:03:51.2299564Z     {
2026-06-04T06:03:51.2300080Z       "id": "REQ-SEAM-INJECT",
2026-06-04T06:03:51.2300978Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T06:03:51.2301476Z       "requiredStages": [
2026-06-04T06:03:51.2301897Z         "impl",
2026-06-04T06:03:51.2302320Z         "unit"
2026-06-04T06:03:51.2302732Z       ],
2026-06-04T06:03:51.2303148Z       "stages": {
2026-06-04T06:03:51.2303647Z         "doc": {
2026-06-04T06:03:51.2304112Z           "complete": false,
2026-06-04T06:03:51.2304575Z           "evidence": []
2026-06-04T06:03:51.2305025Z         },
2026-06-04T06:03:51.2305494Z         "impl": {
2026-06-04T06:03:51.2305961Z           "complete": true,
2026-06-04T06:03:51.2306404Z           "evidence": [
2026-06-04T06:03:51.2306821Z             {
2026-06-04T06:03:51.2307446Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2307900Z               "line": 19
2026-06-04T06:03:51.2308320Z             },
2026-06-04T06:03:51.2308733Z             {
2026-06-04T06:03:51.2309582Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2310245Z               "line": 104
2026-06-04T06:03:51.2310699Z             }
2026-06-04T06:03:51.2311113Z           ]
2026-06-04T06:03:51.2311534Z         },
2026-06-04T06:03:51.2312371Z         "int": {
2026-06-04T06:03:51.2312912Z           "complete": false,
2026-06-04T06:03:51.2313364Z           "evidence": []
2026-06-04T06:03:51.2313770Z         },
2026-06-04T06:03:51.2314204Z         "unit": {
2026-06-04T06:03:51.2314746Z           "complete": true,
2026-06-04T06:03:51.2315200Z           "evidence": [
2026-06-04T06:03:51.2315620Z             {
2026-06-04T06:03:51.2316267Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2316726Z               "line": 222
2026-06-04T06:03:51.2317136Z             },
2026-06-04T06:03:51.2317553Z             {
2026-06-04T06:03:51.2318165Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T06:03:51.2318618Z               "line": 236
2026-06-04T06:03:51.2319036Z             }
2026-06-04T06:03:51.2319700Z           ]
2026-06-04T06:03:51.2320285Z         }
2026-06-04T06:03:51.2320690Z       }
2026-06-04T06:03:51.2321373Z     },
2026-06-04T06:03:51.2321780Z     {
2026-06-04T06:03:51.2322303Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T06:03:51.2323044Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T06:03:51.2323544Z       "requiredStages": [
2026-06-04T06:03:51.2323977Z         "impl",
2026-06-04T06:03:51.2324394Z         "unit"
2026-06-04T06:03:51.2324809Z       ],
2026-06-04T06:03:51.2325241Z       "stages": {
2026-06-04T06:03:51.2325687Z         "doc": {
2026-06-04T06:03:51.2326164Z           "complete": false,
2026-06-04T06:03:51.2326645Z           "evidence": []
2026-06-04T06:03:51.2327080Z         },
2026-06-04T06:03:51.2327509Z         "impl": {
2026-06-04T06:03:51.2327985Z           "complete": true,
2026-06-04T06:03:51.2328425Z           "evidence": [
2026-06-04T06:03:51.2328845Z             {
2026-06-04T06:03:51.2329918Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2330389Z               "line": 18
2026-06-04T06:03:51.2330805Z             },
2026-06-04T06:03:51.2331234Z             {
2026-06-04T06:03:51.2331873Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2332338Z               "line": 257
2026-06-04T06:03:51.2332790Z             }
2026-06-04T06:03:51.2333235Z           ]
2026-06-04T06:03:51.2333646Z         },
2026-06-04T06:03:51.2334081Z         "int": {
2026-06-04T06:03:51.2334545Z           "complete": false,
2026-06-04T06:03:51.2335010Z           "evidence": []
2026-06-04T06:03:51.2335422Z         },
2026-06-04T06:03:51.2335870Z         "unit": {
2026-06-04T06:03:51.2336332Z           "complete": true,
2026-06-04T06:03:51.2336793Z           "evidence": [
2026-06-04T06:03:51.2337208Z             {
2026-06-04T06:03:51.2337821Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2338460Z               "line": 420
2026-06-04T06:03:51.2338949Z             },
2026-06-04T06:03:51.2339498Z             {
2026-06-04T06:03:51.2341022Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2342642Z               "line": 430
2026-06-04T06:03:51.2343762Z             }
2026-06-04T06:03:51.2344761Z           ]
2026-06-04T06:03:51.2345809Z         }
2026-06-04T06:03:51.2346975Z       }
2026-06-04T06:03:51.2348055Z     },
2026-06-04T06:03:51.2349075Z     {
2026-06-04T06:03:51.2350309Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T06:03:51.2352195Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T06:03:51.2354005Z       "requiredStages": [
2026-06-04T06:03:51.2355237Z         "impl",
2026-06-04T06:03:51.2356314Z         "unit",
2026-06-04T06:03:51.2357343Z         "int"
2026-06-04T06:03:51.2358332Z       ],
2026-06-04T06:03:51.2359426Z       "stages": {
2026-06-04T06:03:51.2360647Z         "doc": {
2026-06-04T06:03:51.2361687Z           "complete": false,
2026-06-04T06:03:51.2363243Z           "evidence": []
2026-06-04T06:03:51.2364481Z         },
2026-06-04T06:03:51.2365554Z         "impl": {
2026-06-04T06:03:51.2366713Z           "complete": true,
2026-06-04T06:03:51.2374756Z           "evidence": [
2026-06-04T06:03:51.2376103Z             {
2026-06-04T06:03:51.2377758Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T06:03:51.2379675Z               "line": 19
2026-06-04T06:03:51.2380972Z             },
2026-06-04T06:03:51.2381981Z             {
2026-06-04T06:03:51.2383147Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T06:03:51.2384690Z               "line": 12
2026-06-04T06:03:51.2385831Z             },
2026-06-04T06:03:51.2386845Z             {
2026-06-04T06:03:51.2388041Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2389884Z               "line": 164
2026-06-04T06:03:51.2391198Z             }
2026-06-04T06:03:51.2392218Z           ]
2026-06-04T06:03:51.2393295Z         },
2026-06-04T06:03:51.2394291Z         "int": {
2026-06-04T06:03:51.2395385Z           "complete": true,
2026-06-04T06:03:51.2396596Z           "evidence": [
2026-06-04T06:03:51.2397713Z             {
2026-06-04T06:03:51.2399550Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:51.2401323Z               "line": 201
2026-06-04T06:03:51.2402477Z             }
2026-06-04T06:03:51.2403464Z           ]
2026-06-04T06:03:51.2404398Z         },
2026-06-04T06:03:51.2405331Z         "unit": {
2026-06-04T06:03:51.2406390Z           "complete": true,
2026-06-04T06:03:51.2407573Z           "evidence": [
2026-06-04T06:03:51.2408664Z             {
2026-06-04T06:03:51.2410215Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T06:03:51.2411745Z               "line": 161
2026-06-04T06:03:51.2412872Z             },
2026-06-04T06:03:51.2413872Z             {
2026-06-04T06:03:51.2415152Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T06:03:51.2416704Z               "line": 168
2026-06-04T06:03:51.2417857Z             },
2026-06-04T06:03:51.2418834Z             {
2026-06-04T06:03:51.2420385Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T06:03:51.2421917Z               "line": 191
2026-06-04T06:03:51.2423067Z             },
2026-06-04T06:03:51.2424053Z             {
2026-06-04T06:03:51.2425219Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T06:03:51.2426740Z               "line": 106
2026-06-04T06:03:51.2427881Z             },
2026-06-04T06:03:51.2428898Z             {
2026-06-04T06:03:51.2430323Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T06:03:51.2431988Z               "line": 123
2026-06-04T06:03:51.2433169Z             },
2026-06-04T06:03:51.2434205Z             {
2026-06-04T06:03:51.2435391Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T06:03:51.2436943Z               "line": 137
2026-06-04T06:03:51.2438094Z             }
2026-06-04T06:03:51.2439211Z           ]
2026-06-04T06:03:51.2440384Z         }
2026-06-04T06:03:51.2441330Z       }
2026-06-04T06:03:51.2442264Z     },
2026-06-04T06:03:51.2443177Z     {
2026-06-04T06:03:51.2444166Z       "id": "REQ-SEAM-RESUME",
2026-06-04T06:03:51.2446036Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T06:03:51.2448141Z       "requiredStages": [
2026-06-04T06:03:51.2449586Z         "impl",
2026-06-04T06:03:51.2450812Z         "unit"
2026-06-04T06:03:51.2451813Z       ],
2026-06-04T06:03:51.2452770Z       "stages": {
2026-06-04T06:03:51.2453818Z         "doc": {
2026-06-04T06:03:51.2454910Z           "complete": false,
2026-06-04T06:03:51.2456153Z           "evidence": []
2026-06-04T06:03:51.2457275Z         },
2026-06-04T06:03:51.2458240Z         "impl": {
2026-06-04T06:03:51.2459524Z           "complete": true,
2026-06-04T06:03:51.2460867Z           "evidence": [
2026-06-04T06:03:51.2461950Z             {
2026-06-04T06:03:51.2463139Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T06:03:51.2464690Z               "line": 19
2026-06-04T06:03:51.2465824Z             }
2026-06-04T06:03:51.2466809Z           ]
2026-06-04T06:03:51.2467761Z         },
2026-06-04T06:03:51.2468718Z         "int": {
2026-06-04T06:03:51.2470234Z           "complete": false,
2026-06-04T06:03:51.2471534Z           "evidence": []
2026-06-04T06:03:51.2472654Z         },
2026-06-04T06:03:51.2474025Z         "unit": {
2026-06-04T06:03:51.2475173Z           "complete": true,
2026-06-04T06:03:51.2482548Z           "evidence": [
2026-06-04T06:03:51.2483862Z             {
2026-06-04T06:03:51.2485044Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T06:03:51.2486575Z               "line": 168
2026-06-04T06:03:51.2487717Z             },
2026-06-04T06:03:51.2488740Z             {
2026-06-04T06:03:51.2490286Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T06:03:51.2491969Z               "line": 187
2026-06-04T06:03:51.2493116Z             },
2026-06-04T06:03:51.2494125Z             {
2026-06-04T06:03:51.2495296Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T06:03:51.2496921Z               "line": 205
2026-06-04T06:03:51.2498113Z             }
2026-06-04T06:03:51.2499125Z           ]
2026-06-04T06:03:51.2500548Z         }
2026-06-04T06:03:51.2501971Z       }
2026-06-04T06:03:51.2502926Z     },
2026-06-04T06:03:51.2503956Z     {
2026-06-04T06:03:51.2505004Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T06:03:51.2506352Z       "title": "spawn-session seam",
2026-06-04T06:03:51.2507746Z       "requiredStages": [
2026-06-04T06:03:51.2508998Z         "impl",
2026-06-04T06:03:51.2510468Z         "unit"
2026-06-04T06:03:51.2511476Z       ],
2026-06-04T06:03:51.2512464Z       "stages": {
2026-06-04T06:03:51.2513522Z         "doc": {
2026-06-04T06:03:51.2514663Z           "complete": false,
2026-06-04T06:03:51.2515969Z           "evidence": []
2026-06-04T06:03:51.2517143Z         },
2026-06-04T06:03:51.2518156Z         "impl": {
2026-06-04T06:03:51.2519507Z           "complete": true,
2026-06-04T06:03:51.2520912Z           "evidence": [
2026-06-04T06:03:51.2522041Z             {
2026-06-04T06:03:51.2523316Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2524961Z               "line": 20
2026-06-04T06:03:51.2526148Z             }
2026-06-04T06:03:51.2527155Z           ]
2026-06-04T06:03:51.2528119Z         },
2026-06-04T06:03:51.2529100Z         "int": {
2026-06-04T06:03:51.2530570Z           "complete": false,
2026-06-04T06:03:51.2531808Z           "evidence": []
2026-06-04T06:03:51.2532953Z         },
2026-06-04T06:03:51.2533949Z         "unit": {
2026-06-04T06:03:51.2535054Z           "complete": true,
2026-06-04T06:03:51.2536238Z           "evidence": [
2026-06-04T06:03:51.2537327Z             {
2026-06-04T06:03:51.2538525Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2540470Z               "line": 397
2026-06-04T06:03:51.2541731Z             },
2026-06-04T06:03:51.2542700Z             {
2026-06-04T06:03:51.2543897Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2545479Z               "line": 404
2026-06-04T06:03:51.2546620Z             },
2026-06-04T06:03:51.2547610Z             {
2026-06-04T06:03:51.2548832Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2550830Z               "line": 414
2026-06-04T06:03:51.2551958Z             },
2026-06-04T06:03:51.2552973Z             {
2026-06-04T06:03:51.2554208Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2555816Z               "line": 420
2026-06-04T06:03:51.2556955Z             },
2026-06-04T06:03:51.2557968Z             {
2026-06-04T06:03:51.2559243Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2561049Z               "line": 440
2026-06-04T06:03:51.2562377Z             },
2026-06-04T06:03:51.2563364Z             {
2026-06-04T06:03:51.2564589Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T06:03:51.2566175Z               "line": 473
2026-06-04T06:03:51.2567318Z             }
2026-06-04T06:03:51.2568305Z           ]
2026-06-04T06:03:51.2569439Z         }
2026-06-04T06:03:51.2570557Z       }
2026-06-04T06:03:51.2571683Z     },
2026-06-04T06:03:51.2572789Z     {
2026-06-04T06:03:51.2573887Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T06:03:51.2576085Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T06:03:51.2578086Z       "requiredStages": [
2026-06-04T06:03:51.2579501Z         "impl",
2026-06-04T06:03:51.2580689Z         "unit"
2026-06-04T06:03:51.2581689Z       ],
2026-06-04T06:03:51.2582651Z       "stages": {
2026-06-04T06:03:51.2583683Z         "doc": {
2026-06-04T06:03:51.2590801Z           "complete": false,
2026-06-04T06:03:51.2592207Z           "evidence": []
2026-06-04T06:03:51.2593355Z         },
2026-06-04T06:03:51.2594348Z         "impl": {
2026-06-04T06:03:51.2595464Z           "complete": true,
2026-06-04T06:03:51.2596714Z           "evidence": [
2026-06-04T06:03:51.2597829Z             {
2026-06-04T06:03:51.2599132Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.2601202Z               "line": 28
2026-06-04T06:03:51.2602344Z             },
2026-06-04T06:03:51.2603366Z             {
2026-06-04T06:03:51.2605156Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.2606891Z               "line": 83
2026-06-04T06:03:51.2608099Z             }
2026-06-04T06:03:51.2609135Z           ]
2026-06-04T06:03:51.2610545Z         },
2026-06-04T06:03:51.2611528Z         "int": {
2026-06-04T06:03:51.2612631Z           "complete": false,
2026-06-04T06:03:51.2613967Z           "evidence": []
2026-06-04T06:03:51.2615165Z         },
2026-06-04T06:03:51.2616170Z         "unit": {
2026-06-04T06:03:51.2617288Z           "complete": true,
2026-06-04T06:03:51.2618556Z           "evidence": [
2026-06-04T06:03:51.2619912Z             {
2026-06-04T06:03:51.2621379Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.2623085Z               "line": 248
2026-06-04T06:03:51.2624251Z             },
2026-06-04T06:03:51.2625282Z             {
2026-06-04T06:03:51.2626632Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.2628357Z               "line": 259
2026-06-04T06:03:51.2629823Z             }
2026-06-04T06:03:51.2631028Z           ]
2026-06-04T06:03:51.2632035Z         }
2026-06-04T06:03:51.2633029Z       }
2026-06-04T06:03:51.2634016Z     },
2026-06-04T06:03:51.2634967Z     {
2026-06-04T06:03:51.2635958Z       "id": "REQ-SEC-1",
2026-06-04T06:03:51.2639536Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T06:03:51.2643336Z       "requiredStages": [
2026-06-04T06:03:51.2644526Z         "impl",
2026-06-04T06:03:51.2645556Z         "unit"
2026-06-04T06:03:51.2646600Z       ],
2026-06-04T06:03:51.2647591Z       "stages": {
2026-06-04T06:03:51.2648653Z         "doc": {
2026-06-04T06:03:51.2650121Z           "complete": false,
2026-06-04T06:03:51.2651397Z           "evidence": []
2026-06-04T06:03:51.2652556Z         },
2026-06-04T06:03:51.2653547Z         "impl": {
2026-06-04T06:03:51.2654649Z           "complete": true,
2026-06-04T06:03:51.2655910Z           "evidence": [
2026-06-04T06:03:51.2657026Z             {
2026-06-04T06:03:51.2658276Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.2660271Z               "line": 84
2026-06-04T06:03:51.2661433Z             },
2026-06-04T06:03:51.2662431Z             {
2026-06-04T06:03:51.2663625Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.2665387Z               "line": 114
2026-06-04T06:03:51.2666545Z             },
2026-06-04T06:03:51.2667552Z             {
2026-06-04T06:03:51.2668781Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.2670842Z               "line": 128
2026-06-04T06:03:51.2672022Z             },
2026-06-04T06:03:51.2673027Z             {
2026-06-04T06:03:51.2674233Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2675811Z               "line": 108
2026-06-04T06:03:51.2676950Z             },
2026-06-04T06:03:51.2677946Z             {
2026-06-04T06:03:51.2679252Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2681270Z               "line": 129
2026-06-04T06:03:51.2682812Z             },
2026-06-04T06:03:51.2683913Z             {
2026-06-04T06:03:51.2685229Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2686788Z               "line": 142
2026-06-04T06:03:51.2687914Z             },
2026-06-04T06:03:51.2688909Z             {
2026-06-04T06:03:51.2690473Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2692068Z               "line": 208
2026-06-04T06:03:51.2693239Z             },
2026-06-04T06:03:51.2694253Z             {
2026-06-04T06:03:51.2695439Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2697002Z               "line": 234
2026-06-04T06:03:51.2698130Z             },
2026-06-04T06:03:51.2705295Z             {
2026-06-04T06:03:51.2706477Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2707940Z               "line": 625
2026-06-04T06:03:51.2710040Z             }
2026-06-04T06:03:51.2711027Z           ]
2026-06-04T06:03:51.2712001Z         },
2026-06-04T06:03:51.2712986Z         "int": {
2026-06-04T06:03:51.2714062Z           "complete": false,
2026-06-04T06:03:51.2715292Z           "evidence": []
2026-06-04T06:03:51.2716449Z         },
2026-06-04T06:03:51.2717443Z         "unit": {
2026-06-04T06:03:51.2718549Z           "complete": true,
2026-06-04T06:03:51.2720233Z           "evidence": [
2026-06-04T06:03:51.2721360Z             {
2026-06-04T06:03:51.2722587Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.2724186Z               "line": 140
2026-06-04T06:03:51.2725330Z             },
2026-06-04T06:03:51.2726344Z             {
2026-06-04T06:03:51.2727542Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.2729140Z               "line": 186
2026-06-04T06:03:51.2730719Z             },
2026-06-04T06:03:51.2731789Z             {
2026-06-04T06:03:51.2733041Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T06:03:51.2734665Z               "line": 218
2026-06-04T06:03:51.2735811Z             },
2026-06-04T06:03:51.2736848Z             {
2026-06-04T06:03:51.2738085Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T06:03:51.2740041Z               "line": 128
2026-06-04T06:03:51.2741260Z             },
2026-06-04T06:03:51.2742311Z             {
2026-06-04T06:03:51.2743530Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2745163Z               "line": 248
2026-06-04T06:03:51.2746338Z             },
2026-06-04T06:03:51.2747376Z             {
2026-06-04T06:03:51.2748583Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2750568Z               "line": 275
2026-06-04T06:03:51.2751717Z             },
2026-06-04T06:03:51.2752728Z             {
2026-06-04T06:03:51.2753971Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2755594Z               "line": 299
2026-06-04T06:03:51.2756769Z             },
2026-06-04T06:03:51.2757814Z             {
2026-06-04T06:03:51.2759015Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2761014Z               "line": 310
2026-06-04T06:03:51.2762157Z             },
2026-06-04T06:03:51.2763182Z             {
2026-06-04T06:03:51.2764393Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2765969Z               "line": 334
2026-06-04T06:03:51.2767149Z             },
2026-06-04T06:03:51.2768175Z             {
2026-06-04T06:03:51.2769591Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T06:03:51.2771297Z               "line": 350
2026-06-04T06:03:51.2772438Z             },
2026-06-04T06:03:51.2773441Z             {
2026-06-04T06:03:51.2774634Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.2776096Z               "line": 830
2026-06-04T06:03:51.2777232Z             }
2026-06-04T06:03:51.2778211Z           ]
2026-06-04T06:03:51.2779154Z         }
2026-06-04T06:03:51.2780486Z       }
2026-06-04T06:03:51.2781458Z     },
2026-06-04T06:03:51.2782428Z     {
2026-06-04T06:03:51.2783503Z       "id": "REQ-START-1",
2026-06-04T06:03:51.2785953Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T06:03:51.2788184Z       "requiredStages": [
2026-06-04T06:03:51.2789619Z         "impl",
2026-06-04T06:03:51.2790844Z         "unit"
2026-06-04T06:03:51.2791870Z       ],
2026-06-04T06:03:51.2792872Z       "stages": {
2026-06-04T06:03:51.2793940Z         "doc": {
2026-06-04T06:03:51.2795055Z           "complete": false,
2026-06-04T06:03:51.2796317Z           "evidence": []
2026-06-04T06:03:51.2797455Z         },
2026-06-04T06:03:51.2798436Z         "impl": {
2026-06-04T06:03:51.2799762Z           "complete": true,
2026-06-04T06:03:51.2801172Z           "evidence": [
2026-06-04T06:03:51.2802291Z             {
2026-06-04T06:03:51.2803535Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T06:03:51.2805109Z               "line": 16
2026-06-04T06:03:51.2806682Z             }
2026-06-04T06:03:51.2807713Z           ]
2026-06-04T06:03:51.2814521Z         },
2026-06-04T06:03:51.2815764Z         "int": {
2026-06-04T06:03:51.2816859Z           "complete": false,
2026-06-04T06:03:51.2818090Z           "evidence": []
2026-06-04T06:03:51.2819474Z         },
2026-06-04T06:03:51.2820606Z         "unit": {
2026-06-04T06:03:51.2821667Z           "complete": true,
2026-06-04T06:03:51.2822875Z           "evidence": [
2026-06-04T06:03:51.2823971Z             {
2026-06-04T06:03:51.2825144Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T06:03:51.2826639Z               "line": 43
2026-06-04T06:03:51.2827799Z             },
2026-06-04T06:03:51.2828812Z             {
2026-06-04T06:03:51.2830371Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T06:03:51.2831885Z               "line": 59
2026-06-04T06:03:51.2832997Z             }
2026-06-04T06:03:51.2834018Z           ]
2026-06-04T06:03:51.2834972Z         }
2026-06-04T06:03:51.2835928Z       }
2026-06-04T06:03:51.2836907Z     },
2026-06-04T06:03:51.2837849Z     {
2026-06-04T06:03:51.2838838Z       "id": "REQ-START-2",
2026-06-04T06:03:51.2840799Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T06:03:51.2842555Z       "requiredStages": [
2026-06-04T06:03:51.2843716Z         "impl",
2026-06-04T06:03:51.2844716Z         "unit",
2026-06-04T06:03:51.2845724Z         "int"
2026-06-04T06:03:51.2846712Z       ],
2026-06-04T06:03:51.2847649Z       "stages": {
2026-06-04T06:03:51.2848674Z         "doc": {
2026-06-04T06:03:51.2850128Z           "complete": false,
2026-06-04T06:03:51.2851379Z           "evidence": []
2026-06-04T06:03:51.2852513Z         },
2026-06-04T06:03:51.2853491Z         "impl": {
2026-06-04T06:03:51.2854675Z           "complete": true,
2026-06-04T06:03:51.2855902Z           "evidence": [
2026-06-04T06:03:51.2857049Z             {
2026-06-04T06:03:51.2858309Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2860227Z               "line": 16
2026-06-04T06:03:51.2861379Z             },
2026-06-04T06:03:51.2862409Z             {
2026-06-04T06:03:51.2863589Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2865131Z               "line": 94
2026-06-04T06:03:51.2866246Z             },
2026-06-04T06:03:51.2867243Z             {
2026-06-04T06:03:51.2868406Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2870180Z               "line": 163
2026-06-04T06:03:51.2871350Z             }
2026-06-04T06:03:51.2872351Z           ]
2026-06-04T06:03:51.2873325Z         },
2026-06-04T06:03:51.2874329Z         "int": {
2026-06-04T06:03:51.2875422Z           "complete": true,
2026-06-04T06:03:51.2876674Z           "evidence": [
2026-06-04T06:03:51.2877832Z             {
2026-06-04T06:03:51.2879058Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:51.2880829Z               "line": 150
2026-06-04T06:03:51.2881962Z             }
2026-06-04T06:03:51.2882949Z           ]
2026-06-04T06:03:51.2883939Z         },
2026-06-04T06:03:51.2884971Z         "unit": {
2026-06-04T06:03:51.2886088Z           "complete": true,
2026-06-04T06:03:51.2887861Z           "evidence": [
2026-06-04T06:03:51.2889035Z             {
2026-06-04T06:03:51.2890288Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2891809Z               "line": 354
2026-06-04T06:03:51.2892944Z             },
2026-06-04T06:03:51.2893968Z             {
2026-06-04T06:03:51.2895146Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2896712Z               "line": 387
2026-06-04T06:03:51.2897875Z             }
2026-06-04T06:03:51.2898862Z           ]
2026-06-04T06:03:51.2899890Z         }
2026-06-04T06:03:51.2900804Z       }
2026-06-04T06:03:51.2901729Z     },
2026-06-04T06:03:51.2902647Z     {
2026-06-04T06:03:51.2903613Z       "id": "REQ-START-3",
2026-06-04T06:03:51.2905324Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T06:03:51.2907339Z       "requiredStages": [
2026-06-04T06:03:51.2908922Z         "impl",
2026-06-04T06:03:51.2910019Z         "unit",
2026-06-04T06:03:51.2911041Z         "int"
2026-06-04T06:03:51.2912021Z       ],
2026-06-04T06:03:51.2924667Z       "stages": {
2026-06-04T06:03:51.2926099Z         "doc": {
2026-06-04T06:03:51.2927239Z           "complete": false,
2026-06-04T06:03:51.2928570Z           "evidence": []
2026-06-04T06:03:51.2929954Z         },
2026-06-04T06:03:51.2931142Z         "impl": {
2026-06-04T06:03:51.2932332Z           "complete": true,
2026-06-04T06:03:51.2933637Z           "evidence": [
2026-06-04T06:03:51.2934905Z             {
2026-06-04T06:03:51.2936218Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T06:03:51.2937898Z               "line": 23
2026-06-04T06:03:51.2939108Z             },
2026-06-04T06:03:51.2940287Z             {
2026-06-04T06:03:51.2941621Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T06:03:51.2943331Z               "line": 167
2026-06-04T06:03:51.2944684Z             },
2026-06-04T06:03:51.2945857Z             {
2026-06-04T06:03:51.2951363Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T06:03:51.2953124Z               "line": 180
2026-06-04T06:03:51.2954344Z             },
2026-06-04T06:03:51.2955410Z             {
2026-06-04T06:03:51.2956676Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2958283Z               "line": 17
2026-06-04T06:03:51.2959624Z             },
2026-06-04T06:03:51.2960725Z             {
2026-06-04T06:03:51.2962030Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2963643Z               "line": 43
2026-06-04T06:03:51.2964902Z             },
2026-06-04T06:03:51.2965918Z             {
2026-06-04T06:03:51.2967125Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.2968684Z               "line": 95
2026-06-04T06:03:51.2969967Z             }
2026-06-04T06:03:51.2971152Z           ]
2026-06-04T06:03:51.2972164Z         },
2026-06-04T06:03:51.2973230Z         "int": {
2026-06-04T06:03:51.2974340Z           "complete": true,
2026-06-04T06:03:51.2975552Z           "evidence": [
2026-06-04T06:03:51.2976697Z             {
2026-06-04T06:03:51.2977933Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T06:03:51.2979885Z               "line": 321
2026-06-04T06:03:51.2981021Z             }
2026-06-04T06:03:51.2981993Z           ]
2026-06-04T06:03:51.2982936Z         },
2026-06-04T06:03:51.2983904Z         "unit": {
2026-06-04T06:03:51.2985010Z           "complete": true,
2026-06-04T06:03:51.2986247Z           "evidence": [
2026-06-04T06:03:51.2987353Z             {
2026-06-04T06:03:51.2988564Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T06:03:51.2990376Z               "line": 245
2026-06-04T06:03:51.2991559Z             },
2026-06-04T06:03:51.2992570Z             {
2026-06-04T06:03:51.2993898Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T06:03:51.2995512Z               "line": 263
2026-06-04T06:03:51.2996708Z             },
2026-06-04T06:03:51.2997746Z             {
2026-06-04T06:03:51.2999525Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T06:03:51.3001330Z               "line": 273
2026-06-04T06:03:51.3002458Z             },
2026-06-04T06:03:51.3003539Z             {
2026-06-04T06:03:51.3004737Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.3006289Z               "line": 355
2026-06-04T06:03:51.3007444Z             },
2026-06-04T06:03:51.3008464Z             {
2026-06-04T06:03:51.3009932Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.3011649Z               "line": 388
2026-06-04T06:03:51.3012754Z             },
2026-06-04T06:03:51.3013714Z             {
2026-06-04T06:03:51.3014952Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T06:03:51.3016509Z               "line": 396
2026-06-04T06:03:51.3017651Z             }
2026-06-04T06:03:51.3018061Z           ]
2026-06-04T06:03:51.3018476Z         }
2026-06-04T06:03:51.3019493Z       }
2026-06-04T06:03:51.3019939Z     },
2026-06-04T06:03:51.3020365Z     {
2026-06-04T06:03:51.3021011Z       "id": "REQ-START-4",
2026-06-04T06:03:51.3021816Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T06:03:51.3022316Z       "requiredStages": [
2026-06-04T06:03:51.3022772Z         "impl",
2026-06-04T06:03:51.3023222Z         "unit"
2026-06-04T06:03:51.3023662Z       ],
2026-06-04T06:03:51.3024109Z       "stages": {
2026-06-04T06:03:51.3024553Z         "doc": {
2026-06-04T06:03:51.3025051Z           "complete": false,
2026-06-04T06:03:51.3025521Z           "evidence": []
2026-06-04T06:03:51.3025966Z         },
2026-06-04T06:03:51.3026402Z         "impl": {
2026-06-04T06:03:51.3026902Z           "complete": true,
2026-06-04T06:03:51.3027371Z           "evidence": [
2026-06-04T06:03:51.3027840Z             {
2026-06-04T06:03:51.3028569Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.3029105Z               "line": 190
2026-06-04T06:03:51.3029677Z             }
2026-06-04T06:03:51.3030114Z           ]
2026-06-04T06:03:51.3038221Z         },
2026-06-04T06:03:51.3038851Z         "int": {
2026-06-04T06:03:51.3039452Z           "complete": false,
2026-06-04T06:03:51.3039918Z           "evidence": []
2026-06-04T06:03:51.3040349Z         },
2026-06-04T06:03:51.3040795Z         "unit": {
2026-06-04T06:03:51.3041272Z           "complete": true,
2026-06-04T06:03:51.3041738Z           "evidence": [
2026-06-04T06:03:51.3042172Z             {
2026-06-04T06:03:51.3042860Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T06:03:51.3043321Z               "line": 351
2026-06-04T06:03:51.3043760Z             }
2026-06-04T06:03:51.3044192Z           ]
2026-06-04T06:03:51.3044616Z         }
2026-06-04T06:03:51.3046391Z       }
2026-06-04T06:03:51.3046816Z     },
2026-06-04T06:03:51.3047259Z     {
2026-06-04T06:03:51.3047761Z       "id": "REQ-STORE-1",
2026-06-04T06:03:51.3053756Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-04T06:03:51.3054294Z       "requiredStages": [
2026-06-04T06:03:51.3054712Z         "impl",
2026-06-04T06:03:51.3055131Z         "unit"
2026-06-04T06:03:51.3055538Z       ],
2026-06-04T06:03:51.3055974Z       "stages": {
2026-06-04T06:03:51.3056400Z         "doc": {
2026-06-04T06:03:51.3056862Z           "complete": false,
2026-06-04T06:03:51.3057313Z           "evidence": []
2026-06-04T06:03:51.3057718Z         },
2026-06-04T06:03:51.3058146Z         "impl": {
2026-06-04T06:03:51.3058602Z           "complete": true,
2026-06-04T06:03:51.3059058Z           "evidence": [
2026-06-04T06:03:51.3059733Z             {
2026-06-04T06:03:51.3060447Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3060944Z               "line": 23
2026-06-04T06:03:51.3061377Z             },
2026-06-04T06:03:51.3061817Z             {
2026-06-04T06:03:51.3062952Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3063468Z               "line": 46
2026-06-04T06:03:51.3063901Z             },
2026-06-04T06:03:51.3064316Z             {
2026-06-04T06:03:51.3065017Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3065469Z               "line": 88
2026-06-04T06:03:51.3065911Z             },
2026-06-04T06:03:51.3066341Z             {
2026-06-04T06:03:51.3067033Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3067499Z               "line": 109
2026-06-04T06:03:51.3067925Z             },
2026-06-04T06:03:51.3068360Z             {
2026-06-04T06:03:51.3069049Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3069732Z               "line": 136
2026-06-04T06:03:51.3070166Z             },
2026-06-04T06:03:51.3070809Z             {
2026-06-04T06:03:51.3071496Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3071946Z               "line": 149
2026-06-04T06:03:51.3072542Z             },
2026-06-04T06:03:51.3073142Z             {
2026-06-04T06:03:51.3073853Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3074310Z               "line": 337
2026-06-04T06:03:51.3074721Z             },
2026-06-04T06:03:51.3075136Z             {
2026-06-04T06:03:51.3075818Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3076259Z               "line": 25
2026-06-04T06:03:51.3076667Z             },
2026-06-04T06:03:51.3077083Z             {
2026-06-04T06:03:51.3077769Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3078221Z               "line": 92
2026-06-04T06:03:51.3078657Z             },
2026-06-04T06:03:51.3079064Z             {
2026-06-04T06:03:51.3080136Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3080605Z               "line": 117
2026-06-04T06:03:51.3081039Z             },
2026-06-04T06:03:51.3081476Z             {
2026-06-04T06:03:51.3082155Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3082606Z               "line": 131
2026-06-04T06:03:51.3083008Z             },
2026-06-04T06:03:51.3083431Z             {
2026-06-04T06:03:51.3084121Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3084570Z               "line": 145
2026-06-04T06:03:51.3084982Z             },
2026-06-04T06:03:51.3085399Z             {
2026-06-04T06:03:51.3086113Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3086564Z               "line": 154
2026-06-04T06:03:51.3086984Z             },
2026-06-04T06:03:51.3087387Z             {
2026-06-04T06:03:51.3088053Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T06:03:51.3088513Z               "line": 16
2026-06-04T06:03:51.3088942Z             },
2026-06-04T06:03:51.3089630Z             {
2026-06-04T06:03:51.3090495Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T06:03:51.3090966Z               "line": 63
2026-06-04T06:03:51.3091397Z             }
2026-06-04T06:03:51.3091814Z           ]
2026-06-04T06:03:51.3092245Z         },
2026-06-04T06:03:51.3092670Z         "int": {
2026-06-04T06:03:51.3093156Z           "complete": false,
2026-06-04T06:03:51.3093600Z           "evidence": []
2026-06-04T06:03:51.3094023Z         },
2026-06-04T06:03:51.3094456Z         "unit": {
2026-06-04T06:03:51.3094931Z           "complete": true,
2026-06-04T06:03:51.3095381Z           "evidence": [
2026-06-04T06:03:51.3095790Z             {
2026-06-04T06:03:51.3096489Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3096943Z               "line": 375
2026-06-04T06:03:51.3097377Z             },
2026-06-04T06:03:51.3097809Z             {
2026-06-04T06:03:51.3098506Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3098984Z               "line": 385
2026-06-04T06:03:51.3099634Z             },
2026-06-04T06:03:51.3100638Z             {
2026-06-04T06:03:51.3101372Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3101865Z               "line": 405
2026-06-04T06:03:51.3102321Z             },
2026-06-04T06:03:51.3102745Z             {
2026-06-04T06:03:51.3103522Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3103978Z               "line": 421
2026-06-04T06:03:51.3104408Z             },
2026-06-04T06:03:51.3104827Z             {
2026-06-04T06:03:51.3105506Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T06:03:51.3105957Z               "line": 442
2026-06-04T06:03:51.3106370Z             },
2026-06-04T06:03:51.3106789Z             {
2026-06-04T06:03:51.3107457Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3107927Z               "line": 312
2026-06-04T06:03:51.3108558Z             },
2026-06-04T06:03:51.3108983Z             {
2026-06-04T06:03:51.3110039Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T06:03:51.3110493Z               "line": 342
2026-06-04T06:03:51.3110940Z             },
2026-06-04T06:03:51.3111362Z             {
2026-06-04T06:03:51.3112014Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T06:03:51.3112471Z               "line": 116
2026-06-04T06:03:51.3112891Z             },
2026-06-04T06:03:51.3113309Z             {
2026-06-04T06:03:51.3113957Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T06:03:51.3114407Z               "line": 124
2026-06-04T06:03:51.3114917Z             }
2026-06-04T06:03:51.3115341Z           ]
2026-06-04T06:03:51.3115748Z         }
2026-06-04T06:03:51.3116170Z       }
2026-06-04T06:03:51.3116577Z     },
2026-06-04T06:03:51.3116972Z     {
2026-06-04T06:03:51.3117453Z       "id": "REQ-TERM-1",
2026-06-04T06:03:51.3118468Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T06:03:51.3118992Z       "requiredStages": [
2026-06-04T06:03:51.3119610Z         "impl",
2026-06-04T06:03:51.3120193Z         "unit"
2026-06-04T06:03:51.3120619Z       ],
2026-06-04T06:03:51.3121054Z       "stages": {
2026-06-04T06:03:51.3121480Z         "doc": {
2026-06-04T06:03:51.3121938Z           "complete": false,
2026-06-04T06:03:51.3122393Z           "evidence": []
2026-06-04T06:03:51.3122796Z         },
2026-06-04T06:03:51.3123224Z         "impl": {
2026-06-04T06:03:51.3123688Z           "complete": true,
2026-06-04T06:03:51.3124128Z           "evidence": [
2026-06-04T06:03:51.3124603Z             {
2026-06-04T06:03:51.3125202Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T06:03:51.3125646Z               "line": 61
2026-06-04T06:03:51.3126053Z             },
2026-06-04T06:03:51.3126483Z             {
2026-06-04T06:03:51.3127083Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T06:03:51.3127537Z               "line": 169
2026-06-04T06:03:51.3133229Z             },
2026-06-04T06:03:51.3133739Z             {
2026-06-04T06:03:51.3134425Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T06:03:51.3134875Z               "line": 95
2026-06-04T06:03:51.3135303Z             }
2026-06-04T06:03:51.3135736Z           ]
2026-06-04T06:03:51.3136153Z         },
2026-06-04T06:03:51.3136592Z         "int": {
2026-06-04T06:03:51.3137071Z           "complete": false,
2026-06-04T06:03:51.3137541Z           "evidence": []
2026-06-04T06:03:51.3137953Z         },
2026-06-04T06:03:51.3138384Z         "unit": {
2026-06-04T06:03:51.3138860Z           "complete": true,
2026-06-04T06:03:51.3139388Z           "evidence": [
2026-06-04T06:03:51.3139833Z             {
2026-06-04T06:03:51.3140484Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T06:03:51.3140940Z               "line": 28
2026-06-04T06:03:51.3141356Z             },
2026-06-04T06:03:51.3141779Z             {
2026-06-04T06:03:51.3142429Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T06:03:51.3142891Z               "line": 60
2026-06-04T06:03:51.3143344Z             }
2026-06-04T06:03:51.3144137Z           ]
2026-06-04T06:03:51.3144604Z         }
2026-06-04T06:03:51.3145025Z       }
2026-06-04T06:03:51.3145451Z     },
2026-06-04T06:03:51.3145873Z     {
2026-06-04T06:03:51.3146349Z       "id": "REQ-TERM-2",
2026-06-04T06:03:51.3147426Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T06:03:51.3147910Z       "requiredStages": [
2026-06-04T06:03:51.3148348Z         "impl",
2026-06-04T06:03:51.3148789Z         "unit"
2026-06-04T06:03:51.3149292Z       ],
2026-06-04T06:03:51.3149747Z       "stages": {
2026-06-04T06:03:51.3150206Z         "doc": {
2026-06-04T06:03:51.3150716Z           "complete": false,
2026-06-04T06:03:51.3151198Z           "evidence": []
2026-06-04T06:03:51.3152691Z         },
2026-06-04T06:03:51.3153236Z         "impl": {
2026-06-04T06:03:51.3153854Z           "complete": true,
2026-06-04T06:03:51.3154779Z           "evidence": [
2026-06-04T06:03:51.3155232Z             {
2026-06-04T06:03:51.3155937Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T06:03:51.3156438Z               "line": 112
2026-06-04T06:03:51.3156907Z             },
2026-06-04T06:03:51.3157340Z             {
2026-06-04T06:03:51.3158007Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T06:03:51.3158492Z               "line": 122
2026-06-04T06:03:51.3158930Z             }
2026-06-04T06:03:51.3159572Z           ]
2026-06-04T06:03:51.3159995Z         },
2026-06-04T06:03:51.3160440Z         "int": {
2026-06-04T06:03:51.3160922Z           "complete": false,
2026-06-04T06:03:51.3161395Z           "evidence": []
2026-06-04T06:03:51.3161814Z         },
2026-06-04T06:03:51.3162235Z         "unit": {
2026-06-04T06:03:51.3162714Z           "complete": true,
2026-06-04T06:03:51.3163155Z           "evidence": [
2026-06-04T06:03:51.3163673Z             {
2026-06-04T06:03:51.3164313Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T06:03:51.3164792Z               "line": 46
2026-06-04T06:03:51.3165231Z             },
2026-06-04T06:03:51.3165660Z             {
2026-06-04T06:03:51.3166290Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T06:03:51.3166728Z               "line": 71
2026-06-04T06:03:51.3167149Z             }
2026-06-04T06:03:51.3167560Z           ]
2026-06-04T06:03:51.3167987Z         }
2026-06-04T06:03:51.3168416Z       }
2026-06-04T06:03:51.3168831Z     },
2026-06-04T06:03:51.3169493Z     {
2026-06-04T06:03:51.3170158Z       "id": "REQ-TERM-3",
2026-06-04T06:03:51.3170946Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T06:03:51.3171439Z       "requiredStages": [
2026-06-04T06:03:51.3172567Z         "impl",
2026-06-04T06:03:51.3173097Z         "unit"
2026-06-04T06:03:51.3173584Z       ],
2026-06-04T06:03:51.3174145Z       "stages": {
2026-06-04T06:03:51.3174656Z         "doc": {
2026-06-04T06:03:51.3175549Z           "complete": false,
2026-06-04T06:03:51.3176149Z           "evidence": []
2026-06-04T06:03:51.3176653Z         },
2026-06-04T06:03:51.3177165Z         "impl": {
2026-06-04T06:03:51.3177696Z           "complete": true,
2026-06-04T06:03:51.3178195Z           "evidence": [
2026-06-04T06:03:51.3178650Z             {
2026-06-04T06:03:51.3179622Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T06:03:51.3180117Z               "line": 71
2026-06-04T06:03:51.3180571Z             }
2026-06-04T06:03:51.3181009Z           ]
2026-06-04T06:03:51.3181443Z         },
2026-06-04T06:03:51.3181888Z         "int": {
2026-06-04T06:03:51.3182377Z           "complete": false,
2026-06-04T06:03:51.3182858Z           "evidence": []
2026-06-04T06:03:51.3183281Z         },
2026-06-04T06:03:51.3183751Z         "unit": {
2026-06-04T06:03:51.3184252Z           "complete": true,
2026-06-04T06:03:51.3184722Z           "evidence": [
2026-06-04T06:03:51.3185172Z             {
2026-06-04T06:03:51.3185838Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T06:03:51.3186341Z               "line": 37
2026-06-04T06:03:51.3186780Z             },
2026-06-04T06:03:51.3187637Z             {
2026-06-04T06:03:51.3188357Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T06:03:51.3188829Z               "line": 67
2026-06-04T06:03:51.3189531Z             }
2026-06-04T06:03:51.3190842Z           ]
2026-06-04T06:03:51.3191381Z         }
2026-06-04T06:03:51.3191890Z       }
2026-06-04T06:03:51.3192404Z     },
2026-06-04T06:03:51.3192874Z     {
2026-06-04T06:03:51.3193394Z       "id": "REQ-TERM-4",
2026-06-04T06:03:51.3196158Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T06:03:51.3196711Z       "requiredStages": [
2026-06-04T06:03:51.3197168Z         "impl",
2026-06-04T06:03:51.3197612Z         "unit",
2026-06-04T06:03:51.3198071Z         "int"
2026-06-04T06:03:51.3198514Z       ],
2026-06-04T06:03:51.3198969Z       "stages": {
2026-06-04T06:03:51.3200051Z         "doc": {
2026-06-04T06:03:51.3201064Z           "complete": true,
2026-06-04T06:03:51.3201631Z           "evidence": [
2026-06-04T06:03:51.3202119Z             {
2026-06-04T06:03:51.3202724Z               "path": "docs/MANIFEST.md",
2026-06-04T06:03:51.3203240Z               "line": 106
2026-06-04T06:03:51.3203680Z             }
2026-06-04T06:03:51.3204138Z           ]
2026-06-04T06:03:51.3204576Z         },
2026-06-04T06:03:51.3205373Z         "impl": {
2026-06-04T06:03:51.3205936Z           "complete": true,
2026-06-04T06:03:51.3206424Z           "evidence": [
2026-06-04T06:03:51.3206874Z             {
2026-06-04T06:03:51.3207524Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T06:03:51.3207995Z               "line": 448
2026-06-04T06:03:51.3208427Z             },
2026-06-04T06:03:51.3208865Z             {
2026-06-04T06:03:51.3209607Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3210093Z               "line": 41
2026-06-04T06:03:51.3210690Z             },
2026-06-04T06:03:51.3211121Z             {
2026-06-04T06:03:51.3211827Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3212306Z               "line": 91
2026-06-04T06:03:51.3212749Z             },
2026-06-04T06:03:51.3213180Z             {
2026-06-04T06:03:51.3213855Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3214333Z               "line": 152
2026-06-04T06:03:51.3214781Z             },
2026-06-04T06:03:51.3215213Z             {
2026-06-04T06:03:51.3215868Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3216346Z               "line": 212
2026-06-04T06:03:51.3216791Z             },
2026-06-04T06:03:51.3217234Z             {
2026-06-04T06:03:51.3217959Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3218424Z               "line": 20
2026-06-04T06:03:51.3218862Z             },
2026-06-04T06:03:51.3219363Z             {
2026-06-04T06:03:51.3220231Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3220711Z               "line": 212
2026-06-04T06:03:51.3221179Z             },
2026-06-04T06:03:51.3221627Z             {
2026-06-04T06:03:51.3222316Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3222793Z               "line": 226
2026-06-04T06:03:51.3227902Z             },
2026-06-04T06:03:51.3228467Z             {
2026-06-04T06:03:51.3229456Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.3230084Z               "line": 574
2026-06-04T06:03:51.3230520Z             },
2026-06-04T06:03:51.3230942Z             {
2026-06-04T06:03:51.3231568Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3232018Z               "line": 157
2026-06-04T06:03:51.3232449Z             },
2026-06-04T06:03:51.3232890Z             {
2026-06-04T06:03:51.3233500Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3233966Z               "line": 199
2026-06-04T06:03:51.3234415Z             },
2026-06-04T06:03:51.3234845Z             {
2026-06-04T06:03:51.3235871Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3236377Z               "line": 226
2026-06-04T06:03:51.3236814Z             },
2026-06-04T06:03:51.3237226Z             {
2026-06-04T06:03:51.3237789Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.3238234Z               "line": 211
2026-06-04T06:03:51.3238661Z             }
2026-06-04T06:03:51.3239074Z           ]
2026-06-04T06:03:51.3239892Z         },
2026-06-04T06:03:51.3240362Z         "int": {
2026-06-04T06:03:51.3240846Z           "complete": true,
2026-06-04T06:03:51.3241337Z           "evidence": [
2026-06-04T06:03:51.3241762Z             {
2026-06-04T06:03:51.3242442Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T06:03:51.3242909Z               "line": 18
2026-06-04T06:03:51.3243343Z             }
2026-06-04T06:03:51.3243775Z           ]
2026-06-04T06:03:51.3244525Z         },
2026-06-04T06:03:51.3244976Z         "unit": {
2026-06-04T06:03:51.3245449Z           "complete": true,
2026-06-04T06:03:51.3245936Z           "evidence": [
2026-06-04T06:03:51.3246376Z             {
2026-06-04T06:03:51.3247041Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3247518Z               "line": 250
2026-06-04T06:03:51.3247941Z             },
2026-06-04T06:03:51.3248378Z             {
2026-06-04T06:03:51.3249037Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3249764Z               "line": 263
2026-06-04T06:03:51.3250240Z             },
2026-06-04T06:03:51.3250696Z             {
2026-06-04T06:03:51.3251378Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3251864Z               "line": 275
2026-06-04T06:03:51.3252309Z             },
2026-06-04T06:03:51.3252747Z             {
2026-06-04T06:03:51.3253430Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3253907Z               "line": 290
2026-06-04T06:03:51.3254383Z             },
2026-06-04T06:03:51.3254826Z             {
2026-06-04T06:03:51.3255502Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3255986Z               "line": 305
2026-06-04T06:03:51.3256427Z             },
2026-06-04T06:03:51.3256876Z             {
2026-06-04T06:03:51.3257535Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3258019Z               "line": 327
2026-06-04T06:03:51.3258478Z             },
2026-06-04T06:03:51.3258925Z             {
2026-06-04T06:03:51.3259713Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3260214Z               "line": 337
2026-06-04T06:03:51.3260670Z             },
2026-06-04T06:03:51.3261122Z             {
2026-06-04T06:03:51.3261805Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T06:03:51.3262283Z               "line": 364
2026-06-04T06:03:51.3262716Z             },
2026-06-04T06:03:51.3263164Z             {
2026-06-04T06:03:51.3263866Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3264461Z               "line": 338
2026-06-04T06:03:51.3264920Z             },
2026-06-04T06:03:51.3265362Z             {
2026-06-04T06:03:51.3266054Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3266523Z               "line": 350
2026-06-04T06:03:51.3266958Z             },
2026-06-04T06:03:51.3267396Z             {
2026-06-04T06:03:51.3268102Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3268578Z               "line": 367
2026-06-04T06:03:51.3269023Z             },
2026-06-04T06:03:51.3269690Z             {
2026-06-04T06:03:51.3270411Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T06:03:51.3270903Z               "line": 378
2026-06-04T06:03:51.3271338Z             },
2026-06-04T06:03:51.3271772Z             {
2026-06-04T06:03:51.3272473Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.3272968Z               "line": 759
2026-06-04T06:03:51.3273407Z             },
2026-06-04T06:03:51.3273829Z             {
2026-06-04T06:03:51.3274821Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.3275345Z               "line": 766
2026-06-04T06:03:51.3275785Z             },
2026-06-04T06:03:51.3276231Z             {
2026-06-04T06:03:51.3276894Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.3277360Z               "line": 781
2026-06-04T06:03:51.3277789Z             },
2026-06-04T06:03:51.3278243Z             {
2026-06-04T06:03:51.3278925Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3279647Z               "line": 381
2026-06-04T06:03:51.3280370Z             },
2026-06-04T06:03:51.3280797Z             {
2026-06-04T06:03:51.3281450Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3281922Z               "line": 402
2026-06-04T06:03:51.3282361Z             },
2026-06-04T06:03:51.3283029Z             {
2026-06-04T06:03:51.3283664Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3284147Z               "line": 415
2026-06-04T06:03:51.3284580Z             },
2026-06-04T06:03:51.3285022Z             {
2026-06-04T06:03:51.3285636Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3286107Z               "line": 434
2026-06-04T06:03:51.3286555Z             },
2026-06-04T06:03:51.3286992Z             {
2026-06-04T06:03:51.3287638Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T06:03:51.3288110Z               "line": 461
2026-06-04T06:03:51.3288553Z             },
2026-06-04T06:03:51.3288977Z             {
2026-06-04T06:03:51.3290035Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T06:03:51.3290527Z               "line": 32
2026-06-04T06:03:51.3290975Z             },
2026-06-04T06:03:51.3291423Z             {
2026-06-04T06:03:51.3291986Z               "path": "crates/spt/src/cli.rs",
2026-06-04T06:03:51.3292490Z               "line": 857
2026-06-04T06:03:51.3292931Z             }
2026-06-04T06:03:51.3293370Z           ]
2026-06-04T06:03:51.3293812Z         }
2026-06-04T06:03:51.3294236Z       }
2026-06-04T06:03:51.3294657Z     },
2026-06-04T06:03:51.3295067Z     {
2026-06-04T06:03:51.3295547Z       "id": "REQ-UPD-1",
2026-06-04T06:03:51.3296179Z       "title": "Peer-propagated update over P2P",
2026-06-04T06:03:51.3296689Z       "requiredStages": [],
2026-06-04T06:03:51.3297147Z       "stages": {
2026-06-04T06:03:51.3297588Z         "doc": {
2026-06-04T06:03:51.3298094Z           "complete": false,
2026-06-04T06:03:51.3298562Z           "evidence": []
2026-06-04T06:03:51.3298998Z         },
2026-06-04T06:03:51.3299648Z         "impl": {
2026-06-04T06:03:51.3300177Z           "complete": false,
2026-06-04T06:03:51.3300681Z           "evidence": []
2026-06-04T06:03:51.3301132Z         },
2026-06-04T06:03:51.3301604Z         "int": {
2026-06-04T06:03:51.3302108Z           "complete": false,
2026-06-04T06:03:51.3302624Z           "evidence": []
2026-06-04T06:03:51.3303059Z         },
2026-06-04T06:03:51.3303523Z         "unit": {
2026-06-04T06:03:51.3304038Z           "complete": false,
2026-06-04T06:03:51.3304553Z           "evidence": []
2026-06-04T06:03:51.3305001Z         }
2026-06-04T06:03:51.3305433Z       }
2026-06-04T06:03:51.3305873Z     },
2026-06-04T06:03:51.3306303Z     {
2026-06-04T06:03:51.3306805Z       "id": "REQ-UPD-2",
2026-06-04T06:03:51.3307667Z       "title": "All binaries signature-verified before handoff",
2026-06-04T06:03:51.3308195Z       "requiredStages": [
2026-06-04T06:03:51.3308664Z         "impl",
2026-06-04T06:03:51.3309112Z         "unit"
2026-06-04T06:03:51.3309786Z       ],
2026-06-04T06:03:51.3310257Z       "stages": {
2026-06-04T06:03:51.3310700Z         "doc": {
2026-06-04T06:03:51.3311175Z           "complete": false,
2026-06-04T06:03:51.3311655Z           "evidence": []
2026-06-04T06:03:51.3312089Z         },
2026-06-04T06:03:51.3317275Z         "impl": {
2026-06-04T06:03:51.3317916Z           "complete": true,
2026-06-04T06:03:51.3318417Z           "evidence": [
2026-06-04T06:03:51.3318844Z             {
2026-06-04T06:03:51.3320044Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3320540Z               "line": 29
2026-06-04T06:03:51.3320974Z             },
2026-06-04T06:03:51.3321394Z             {
2026-06-04T06:03:51.3322059Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3322554Z               "line": 158
2026-06-04T06:03:51.3323005Z             },
2026-06-04T06:03:51.3323435Z             {
2026-06-04T06:03:51.3324112Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3324587Z               "line": 239
2026-06-04T06:03:51.3325012Z             },
2026-06-04T06:03:51.3325448Z             {
2026-06-04T06:03:51.3326102Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3326572Z               "line": 149
2026-06-04T06:03:51.3327015Z             }
2026-06-04T06:03:51.3327462Z           ]
2026-06-04T06:03:51.3328195Z         },
2026-06-04T06:03:51.3328649Z         "int": {
2026-06-04T06:03:51.3329250Z           "complete": false,
2026-06-04T06:03:51.3329911Z           "evidence": []
2026-06-04T06:03:51.3330508Z         },
2026-06-04T06:03:51.3330954Z         "unit": {
2026-06-04T06:03:51.3331443Z           "complete": true,
2026-06-04T06:03:51.3331906Z           "evidence": [
2026-06-04T06:03:51.3332331Z             {
2026-06-04T06:03:51.3333012Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3333482Z               "line": 336
2026-06-04T06:03:51.3333920Z             },
2026-06-04T06:03:51.3334371Z             {
2026-06-04T06:03:51.3335014Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3335489Z               "line": 350
2026-06-04T06:03:51.3335915Z             },
2026-06-04T06:03:51.3336356Z             {
2026-06-04T06:03:51.3337008Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3337492Z               "line": 361
2026-06-04T06:03:51.3337941Z             },
2026-06-04T06:03:51.3338371Z             {
2026-06-04T06:03:51.3339027Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3339723Z               "line": 437
2026-06-04T06:03:51.3340192Z             },
2026-06-04T06:03:51.3340629Z             {
2026-06-04T06:03:51.3341318Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3341812Z               "line": 326
2026-06-04T06:03:51.3342267Z             },
2026-06-04T06:03:51.3342731Z             {
2026-06-04T06:03:51.3343398Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3343893Z               "line": 339
2026-06-04T06:03:51.3344325Z             }
2026-06-04T06:03:51.3344788Z           ]
2026-06-04T06:03:51.3345231Z         }
2026-06-04T06:03:51.3345665Z       }
2026-06-04T06:03:51.3346115Z     },
2026-06-04T06:03:51.3346552Z     {
2026-06-04T06:03:51.3347058Z       "id": "REQ-UPD-3",
2026-06-04T06:03:51.3348092Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T06:03:51.3348639Z       "requiredStages": [
2026-06-04T06:03:51.3349123Z         "impl",
2026-06-04T06:03:51.3349720Z         "unit",
2026-06-04T06:03:51.3350234Z         "int"
2026-06-04T06:03:51.3350699Z       ],
2026-06-04T06:03:51.3351176Z       "stages": {
2026-06-04T06:03:51.3351628Z         "doc": {
2026-06-04T06:03:51.3352144Z           "complete": false,
2026-06-04T06:03:51.3352647Z           "evidence": []
2026-06-04T06:03:51.3353090Z         },
2026-06-04T06:03:51.3353566Z         "impl": {
2026-06-04T06:03:51.3354055Z           "complete": true,
2026-06-04T06:03:51.3354540Z           "evidence": [
2026-06-04T06:03:51.3354972Z             {
2026-06-04T06:03:51.3355661Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3356135Z               "line": 26
2026-06-04T06:03:51.3356586Z             },
2026-06-04T06:03:51.3357045Z             {
2026-06-04T06:03:51.3357716Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3359441Z               "line": 111
2026-06-04T06:03:51.3360013Z             },
2026-06-04T06:03:51.3360902Z             {
2026-06-04T06:03:51.3361653Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3362137Z               "line": 213
2026-06-04T06:03:51.3362591Z             }
2026-06-04T06:03:51.3363036Z           ]
2026-06-04T06:03:51.3363486Z         },
2026-06-04T06:03:51.3363925Z         "int": {
2026-06-04T06:03:51.3364427Z           "complete": true,
2026-06-04T06:03:51.3364919Z           "evidence": [
2026-06-04T06:03:51.3365362Z             {
2026-06-04T06:03:51.3366110Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T06:03:51.3366589Z               "line": 23
2026-06-04T06:03:51.3367040Z             }
2026-06-04T06:03:51.3367468Z           ]
2026-06-04T06:03:51.3367916Z         },
2026-06-04T06:03:51.3368378Z         "unit": {
2026-06-04T06:03:51.3368882Z           "complete": true,
2026-06-04T06:03:51.3369740Z           "evidence": [
2026-06-04T06:03:51.3370185Z             {
2026-06-04T06:03:51.3370893Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3371378Z               "line": 238
2026-06-04T06:03:51.3371843Z             },
2026-06-04T06:03:51.3372293Z             {
2026-06-04T06:03:51.3372947Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3373443Z               "line": 262
2026-06-04T06:03:51.3373884Z             },
2026-06-04T06:03:51.3374329Z             {
2026-06-04T06:03:51.3374986Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3375458Z               "line": 273
2026-06-04T06:03:51.3375909Z             },
2026-06-04T06:03:51.3376365Z             {
2026-06-04T06:03:51.3377044Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T06:03:51.3377524Z               "line": 286
2026-06-04T06:03:51.3377990Z             }
2026-06-04T06:03:51.3378454Z           ]
2026-06-04T06:03:51.3378939Z         }
2026-06-04T06:03:51.3379496Z       }
2026-06-04T06:03:51.3380087Z     },
2026-06-04T06:03:51.3380515Z     {
2026-06-04T06:03:51.3381009Z       "id": "REQ-UPD-4",
2026-06-04T06:03:51.3382072Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T06:03:51.3382582Z       "requiredStages": [
2026-06-04T06:03:51.3383045Z         "impl",
2026-06-04T06:03:51.3383510Z         "unit"
2026-06-04T06:03:51.3383957Z       ],
2026-06-04T06:03:51.3384543Z       "stages": {
2026-06-04T06:03:51.3384990Z         "doc": {
2026-06-04T06:03:51.3385492Z           "complete": false,
2026-06-04T06:03:51.3385968Z           "evidence": []
2026-06-04T06:03:51.3386410Z         },
2026-06-04T06:03:51.3386871Z         "impl": {
2026-06-04T06:03:51.3387353Z           "complete": true,
2026-06-04T06:03:51.3387829Z           "evidence": [
2026-06-04T06:03:51.3388258Z             {
2026-06-04T06:03:51.3388936Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T06:03:51.3389661Z               "line": 23
2026-06-04T06:03:51.3390130Z             },
2026-06-04T06:03:51.3390589Z             {
2026-06-04T06:03:51.3391279Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T06:03:51.3391774Z               "line": 60
2026-06-04T06:03:51.3392212Z             },
2026-06-04T06:03:51.3392658Z             {
2026-06-04T06:03:51.3393333Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T06:03:51.3393817Z               "line": 79
2026-06-04T06:03:51.3394274Z             },
2026-06-04T06:03:51.3394715Z             {
2026-06-04T06:03:51.3395441Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T06:03:51.3395923Z               "line": 179
2026-06-04T06:03:51.3396389Z             },
2026-06-04T06:03:51.3396842Z             {
2026-06-04T06:03:51.3397501Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:51.3397990Z               "line": 114
2026-06-04T06:03:51.3398435Z             }
2026-06-04T06:03:51.3398889Z           ]
2026-06-04T06:03:51.3399416Z         },
2026-06-04T06:03:51.3399893Z         "int": {
2026-06-04T06:03:51.3400736Z           "complete": false,
2026-06-04T06:03:51.3401330Z           "evidence": []
2026-06-04T06:03:51.3401799Z         },
2026-06-04T06:03:51.3402259Z         "unit": {
2026-06-04T06:03:51.3402783Z           "complete": true,
2026-06-04T06:03:51.3403284Z           "evidence": [
2026-06-04T06:03:51.3408503Z             {
2026-06-04T06:03:51.3409449Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T06:03:51.3410103Z               "line": 217
2026-06-04T06:03:51.3410535Z             },
2026-06-04T06:03:51.3410961Z             {
2026-06-04T06:03:51.3411639Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T06:03:51.3412097Z               "line": 118
2026-06-04T06:03:51.3412534Z             },
2026-06-04T06:03:51.3412958Z             {
2026-06-04T06:03:51.3413618Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T06:03:51.3414119Z               "line": 133
2026-06-04T06:03:51.3415062Z             },
2026-06-04T06:03:51.3415527Z             {
2026-06-04T06:03:51.3416209Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T06:03:51.3416694Z               "line": 152
2026-06-04T06:03:51.3417128Z             },
2026-06-04T06:03:51.3417538Z             {
2026-06-04T06:03:51.3418151Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T06:03:51.3418604Z               "line": 258
2026-06-04T06:03:51.3419042Z             },
2026-06-04T06:03:51.3419748Z             {
2026-06-04T06:03:51.3420570Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T06:03:51.3421061Z               "line": 433
2026-06-04T06:03:51.3421496Z             }
2026-06-04T06:03:51.3421931Z           ]
2026-06-04T06:03:51.3422347Z         }
2026-06-04T06:03:51.3422776Z       }
2026-06-04T06:03:51.3423193Z     },
2026-06-04T06:03:51.3423660Z     {
2026-06-04T06:03:51.3424148Z       "id": "REQ-UPD-5",
2026-06-04T06:03:51.3424936Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T06:03:51.3425460Z       "requiredStages": [
2026-06-04T06:03:51.3425930Z         "impl",
2026-06-04T06:03:51.3426386Z         "unit"
2026-06-04T06:03:51.3426817Z       ],
2026-06-04T06:03:51.3427281Z       "stages": {
2026-06-04T06:03:51.3427730Z         "doc": {
2026-06-04T06:03:51.3428225Z           "complete": false,
2026-06-04T06:03:51.3428701Z           "evidence": []
2026-06-04T06:03:51.3429126Z         },
2026-06-04T06:03:51.3429965Z         "impl": {
2026-06-04T06:03:51.3430441Z           "complete": true,
2026-06-04T06:03:51.3430906Z           "evidence": [
2026-06-04T06:03:51.3431344Z             {
2026-06-04T06:03:51.3432080Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3432544Z               "line": 27
2026-06-04T06:03:51.3432983Z             },
2026-06-04T06:03:51.3433413Z             {
2026-06-04T06:03:51.3434139Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3434630Z               "line": 82
2026-06-04T06:03:51.3435078Z             },
2026-06-04T06:03:51.3435506Z             {
2026-06-04T06:03:51.3436269Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3436736Z               "line": 134
2026-06-04T06:03:51.3437197Z             },
2026-06-04T06:03:51.3437631Z             {
2026-06-04T06:03:51.3438303Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3438796Z               "line": 198
2026-06-04T06:03:51.3439431Z             },
2026-06-04T06:03:51.3440065Z             {
2026-06-04T06:03:51.3440739Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T06:03:51.3441212Z               "line": 226
2026-06-04T06:03:51.3441635Z             }
2026-06-04T06:03:51.3442061Z           ]
2026-06-04T06:03:51.3442498Z         },
2026-06-04T06:03:51.3442923Z         "int": {
2026-06-04T06:03:51.3443411Z           "complete": false,
2026-06-04T06:03:51.3443870Z           "evidence": []
2026-06-04T06:03:51.3444318Z         },
2026-06-04T06:03:51.3444748Z         "unit": {
2026-06-04T06:03:51.3445231Z           "complete": true,
2026-06-04T06:03:51.3446025Z           "evidence": [
2026-06-04T06:03:51.3446506Z             {
2026-06-04T06:03:51.3447246Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3447695Z               "line": 194
2026-06-04T06:03:51.3448137Z             },
2026-06-04T06:03:51.3448562Z             {
2026-06-04T06:03:51.3449498Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3450183Z               "line": 208
2026-06-04T06:03:51.3450629Z             },
2026-06-04T06:03:51.3451059Z             {
2026-06-04T06:03:51.3451821Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3452307Z               "line": 222
2026-06-04T06:03:51.3452743Z             },
2026-06-04T06:03:51.3453184Z             {
2026-06-04T06:03:51.3453931Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3454654Z               "line": 236
2026-06-04T06:03:51.3455107Z             },
2026-06-04T06:03:51.3455551Z             {
2026-06-04T06:03:51.3456323Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T06:03:51.3456815Z               "line": 270
2026-06-04T06:03:51.3457278Z             },
2026-06-04T06:03:51.3457714Z             {
2026-06-04T06:03:51.3458391Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T06:03:51.3458865Z               "line": 729
2026-06-04T06:03:51.3459367Z             }
2026-06-04T06:03:51.3459831Z           ]
2026-06-04T06:03:51.3460265Z         }
2026-06-04T06:03:51.3460705Z       }
2026-06-04T06:03:51.3461141Z     }
2026-06-04T06:03:51.3461561Z   ],
2026-06-04T06:03:51.3462034Z   "findings": []
2026-06-04T06:03:51.3462458Z }
2026-06-04T06:03:51.3558315Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T06:03:51.3558974Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T06:03:51.3583587Z shell: /usr/bin/bash -e {0}
2026-06-04T06:03:51.3584067Z ##[endgroup]
2026-06-04T06:03:51.3787135Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T06:03:51.3789863Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3792731Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T06:03:51.3794931Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T06:03:51.3797578Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3800308Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3802052Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T06:03:51.3803889Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T06:03:51.3806393Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3808898Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3811154Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T06:03:51.3812845Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T06:03:51.3814224Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T06:03:51.3815648Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T06:03:51.3817770Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3820174Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3821638Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T06:03:51.3822973Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T06:03:51.3822994Z 
2026-06-04T06:03:51.3823492Z # Requirement quality review
2026-06-04T06:03:51.3823510Z 
2026-06-04T06:03:51.3824634Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T06:03:51.3825818Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T06:03:51.3826947Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T06:03:51.3828017Z this command's output. Your task is the rubric items below.
2026-06-04T06:03:51.3828037Z 
2026-06-04T06:03:51.3828454Z ## Rubric
2026-06-04T06:03:51.3828470Z 
2026-06-04T06:03:51.3830201Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T06:03:51.3831389Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T06:03:51.3832430Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T06:03:51.3833120Z - **active-voice** — clear subject and active verb.
2026-06-04T06:03:51.3833138Z 
2026-06-04T06:03:51.3834303Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T06:03:51.3834735Z clear concerns.
2026-06-04T06:03:51.3834765Z 
2026-06-04T06:03:51.3835471Z ## Requirements
2026-06-04T06:03:51.3835493Z 
2026-06-04T06:03:51.3835940Z ### REQ-ARCH-1
2026-06-04T06:03:51.3836539Z - Title: Many small acyclically-layered crates
2026-06-04T06:03:51.3837037Z - Required stages: impl
2026-06-04T06:03:51.3837054Z 
2026-06-04T06:03:51.3837467Z ### REQ-ARCH-2
2026-06-04T06:03:51.3838292Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T06:03:51.3838757Z - Required stages: impl
2026-06-04T06:03:51.3838775Z 
2026-06-04T06:03:51.3839241Z ### REQ-ARCH-3
2026-06-04T06:03:51.3840660Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T06:03:51.3841139Z - Required stages: impl, unit
2026-06-04T06:03:51.3841157Z 
2026-06-04T06:03:51.3841584Z ### REQ-ARCH-4
2026-06-04T06:03:51.3842460Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T06:03:51.3842939Z - Required stages: impl, unit
2026-06-04T06:03:51.3842955Z 
2026-06-04T06:03:51.3843382Z ### REQ-DAEMON-1
2026-06-04T06:03:51.3844227Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T06:03:51.3844735Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3844750Z 
2026-06-04T06:03:51.3845197Z ### REQ-DAEMON-2
2026-06-04T06:03:51.3845847Z - Title: Broker/brain split for seamless self-update
2026-06-04T06:03:51.3846353Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3846370Z 
2026-06-04T06:03:51.3846797Z ### REQ-DAEMON-3
2026-06-04T06:03:51.3847573Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T06:03:51.3848065Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3848092Z 
2026-06-04T06:03:51.3848508Z ### REQ-DAEMON-4
2026-06-04T06:03:51.3849084Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T06:03:51.3849906Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3849923Z 
2026-06-04T06:03:51.3850351Z ### REQ-STORE-1
2026-06-04T06:03:51.3855889Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-04T06:03:51.3856382Z - Required stages: impl, unit
2026-06-04T06:03:51.3856398Z 
2026-06-04T06:03:51.3856839Z ### REQ-MANIFEST-1
2026-06-04T06:03:51.3857802Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T06:03:51.3858312Z - Required stages: doc, impl, unit
2026-06-04T06:03:51.3858329Z 
2026-06-04T06:03:51.3858773Z ### REQ-SEAM-SPAWN
2026-06-04T06:03:51.3859267Z - Title: spawn-session seam
2026-06-04T06:03:51.3860104Z - Required stages: impl, unit
2026-06-04T06:03:51.3860121Z 
2026-06-04T06:03:51.3860565Z ### REQ-SEAM-POSTSPAWN
2026-06-04T06:03:51.3861211Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T06:03:51.3861689Z - Required stages: impl, unit
2026-06-04T06:03:51.3861720Z 
2026-06-04T06:03:51.3862163Z ### REQ-SEAM-PSYCHE
2026-06-04T06:03:51.3862845Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T06:03:51.3863342Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3863358Z 
2026-06-04T06:03:51.3863804Z ### REQ-SEAM-HISTORY
2026-06-04T06:03:51.3865000Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T06:03:51.3865514Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3865529Z 
2026-06-04T06:03:51.3865983Z ### REQ-SEAM-ACTIVITY
2026-06-04T06:03:51.3866912Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T06:03:51.3867400Z - Required stages: impl, unit
2026-06-04T06:03:51.3867416Z 
2026-06-04T06:03:51.3867846Z ### REQ-SEAM-INJECT
2026-06-04T06:03:51.3868667Z - Title: inject-input methods configurable per activity-state
2026-06-04T06:03:51.3869150Z - Required stages: impl, unit
2026-06-04T06:03:51.3869455Z 
2026-06-04T06:03:51.3870057Z ### REQ-SEAM-RESUME
2026-06-04T06:03:51.3871010Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T06:03:51.3871669Z - Required stages: impl, unit
2026-06-04T06:03:51.3871689Z 
2026-06-04T06:03:51.3872167Z ### REQ-SEAM-CAPABILITY
2026-06-04T06:03:51.3872886Z - Title: Hostable endpoint-types capability declaration
2026-06-04T06:03:51.3873420Z - Required stages: impl, unit
2026-06-04T06:03:51.3873436Z 
2026-06-04T06:03:51.3873885Z ### REQ-SEAM-UPDATE
2026-06-04T06:03:51.3874701Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T06:03:51.3875184Z - Required stages: impl, unit
2026-06-04T06:03:51.3875199Z 
2026-06-04T06:03:51.3875623Z ### REQ-API-1
2026-06-04T06:03:51.3876478Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T06:03:51.3876977Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3876992Z 
2026-06-04T06:03:51.3877403Z ### REQ-API-2
2026-06-04T06:03:51.3878510Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T06:03:51.3879014Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3879041Z 
2026-06-04T06:03:51.3879815Z ### REQ-API-3
2026-06-04T06:03:51.3887957Z - Title: commune/signoff are file-drops, not commands
2026-06-04T06:03:51.3888585Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3888639Z 
2026-06-04T06:03:51.3889071Z ### REQ-START-1
2026-06-04T06:03:51.3890502Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T06:03:51.3890987Z - Required stages: impl, unit
2026-06-04T06:03:51.3891005Z 
2026-06-04T06:03:51.3891430Z ### REQ-START-2
2026-06-04T06:03:51.3892098Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T06:03:51.3892610Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3892626Z 
2026-06-04T06:03:51.3893051Z ### REQ-START-3
2026-06-04T06:03:51.3893929Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T06:03:51.3894434Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3894452Z 
2026-06-04T06:03:51.3894868Z ### REQ-START-4
2026-06-04T06:03:51.3895544Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T06:03:51.3896014Z - Required stages: impl, unit
2026-06-04T06:03:51.3896043Z 
2026-06-04T06:03:51.3896449Z ### REQ-EP-1
2026-06-04T06:03:51.3897083Z - Title: Day-one endpoint types; open type system
2026-06-04T06:03:51.3897567Z - Required stages: impl, unit
2026-06-04T06:03:51.3897583Z 
2026-06-04T06:03:51.3897996Z ### REQ-EP-2
2026-06-04T06:03:51.3898837Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T06:03:51.3899367Z - Required stages: impl, unit
2026-06-04T06:03:51.3899384Z 
2026-06-04T06:03:51.3899795Z ### REQ-EP-3
2026-06-04T06:03:51.3900758Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T06:03:51.3901244Z - Required stages: impl, unit
2026-06-04T06:03:51.3901262Z 
2026-06-04T06:03:51.3901670Z ### REQ-EP-4
2026-06-04T06:03:51.3902391Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T06:03:51.3902879Z - Required stages: impl, unit
2026-06-04T06:03:51.3902895Z 
2026-06-04T06:03:51.3903309Z ### REQ-EP-5
2026-06-04T06:03:51.3907577Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-04T06:03:51.3908328Z - Required stages: 
2026-06-04T06:03:51.3908345Z 
2026-06-04T06:03:51.3908770Z ### REQ-INST-1
2026-06-04T06:03:51.3909769Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T06:03:51.3910372Z - Required stages: 
2026-06-04T06:03:51.3910389Z 
2026-06-04T06:03:51.3910811Z ### REQ-INST-2
2026-06-04T06:03:51.3911360Z - Title: Per-node files, synced Psyche mind
2026-06-04T06:03:51.3911846Z - Required stages: impl, unit
2026-06-04T06:03:51.3911865Z 
2026-06-04T06:03:51.3912281Z ### REQ-INST-3
2026-06-04T06:03:51.3913002Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T06:03:51.3913447Z - Required stages: 
2026-06-04T06:03:51.3913463Z 
2026-06-04T06:03:51.3914015Z ### REQ-INST-4
2026-06-04T06:03:51.3914927Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T06:03:51.3915361Z - Required stages: 
2026-06-04T06:03:51.3915389Z 
2026-06-04T06:03:51.3915808Z ### REQ-INST-5
2026-06-04T06:03:51.3916719Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T06:03:51.3917152Z - Required stages: 
2026-06-04T06:03:51.3917168Z 
2026-06-04T06:03:51.3917584Z ### REQ-INST-6
2026-06-04T06:03:51.3918538Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T06:03:51.3918972Z - Required stages: 
2026-06-04T06:03:51.3918987Z 
2026-06-04T06:03:51.3919625Z ### REQ-INST-7
2026-06-04T06:03:51.3920434Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T06:03:51.3920913Z - Required stages: impl, unit
2026-06-04T06:03:51.3920929Z 
2026-06-04T06:03:51.3921338Z ### REQ-INST-8
2026-06-04T06:03:51.3922091Z - Title: Remote-control mode distinct from local operation
2026-06-04T06:03:51.3922574Z - Required stages: impl, unit
2026-06-04T06:03:51.3922590Z 
2026-06-04T06:03:51.3922996Z ### REQ-INST-9
2026-06-04T06:03:51.3923962Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T06:03:51.3924439Z - Required stages: impl, unit
2026-06-04T06:03:51.3924456Z 
2026-06-04T06:03:51.3924873Z ### REQ-INST-10
2026-06-04T06:03:51.3926004Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T06:03:51.3926474Z - Required stages: impl, unit
2026-06-04T06:03:51.3926489Z 
2026-06-04T06:03:51.3926905Z ### REQ-INST-11
2026-06-04T06:03:51.3928036Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T06:03:51.3928830Z - Required stages: impl, unit
2026-06-04T06:03:51.3928847Z 
2026-06-04T06:03:51.3929630Z ### REQ-INST-12
2026-06-04T06:03:51.3931289Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T06:03:51.3931774Z - Required stages: impl, unit
2026-06-04T06:03:51.3931805Z 
2026-06-04T06:03:51.3932215Z ### REQ-INST-13
2026-06-04T06:03:51.3933161Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T06:03:51.3933656Z - Required stages: impl, unit
2026-06-04T06:03:51.3933672Z 
2026-06-04T06:03:51.3934082Z ### REQ-INST-14
2026-06-04T06:03:51.3936331Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T06:03:51.3936769Z - Required stages: 
2026-06-04T06:03:51.3936785Z 
2026-06-04T06:03:51.3937204Z ### REQ-INST-15
2026-06-04T06:03:51.3942212Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-04T06:03:51.3942650Z - Required stages: 
2026-06-04T06:03:51.3942665Z 
2026-06-04T06:03:51.3943083Z ### REQ-REACH-1
2026-06-04T06:03:51.3943797Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T06:03:51.3944280Z - Required stages: impl, unit
2026-06-04T06:03:51.3944321Z 
2026-06-04T06:03:51.3944935Z ### REQ-REACH-2
2026-06-04T06:03:51.3945697Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T06:03:51.3946140Z - Required stages: 
2026-06-04T06:03:51.3946157Z 
2026-06-04T06:03:51.3946565Z ### REQ-MSG-1
2026-06-04T06:03:51.3949329Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-04T06:03:51.3950181Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3950197Z 
2026-06-04T06:03:51.3950606Z ### REQ-MSG-2
2026-06-04T06:03:51.3952100Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T06:03:51.3952576Z - Required stages: impl, unit
2026-06-04T06:03:51.3952592Z 
2026-06-04T06:03:51.3953186Z ### REQ-MSG-3
2026-06-04T06:03:51.3955487Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T06:03:51.3955996Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3956012Z 
2026-06-04T06:03:51.3956464Z ### REQ-NODE-IDENTITY
2026-06-04T06:03:51.3957681Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T06:03:51.3958168Z - Required stages: impl, unit
2026-06-04T06:03:51.3958184Z 
2026-06-04T06:03:51.3958598Z ### REQ-NET-1
2026-06-04T06:03:51.3959770Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T06:03:51.3960427Z - Required stages: impl, unit
2026-06-04T06:03:51.3960442Z 
2026-06-04T06:03:51.3960847Z ### REQ-NET-2
2026-06-04T06:03:51.3961765Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T06:03:51.3962224Z - Required stages: impl
2026-06-04T06:03:51.3962241Z 
2026-06-04T06:03:51.3962653Z ### REQ-NET-3
2026-06-04T06:03:51.3963488Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T06:03:51.3963960Z - Required stages: impl, unit
2026-06-04T06:03:51.3963975Z 
2026-06-04T06:03:51.3964408Z ### REQ-PAIR-1
2026-06-04T06:03:51.3964915Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T06:03:51.3965389Z - Required stages: impl, unit
2026-06-04T06:03:51.3965404Z 
2026-06-04T06:03:51.3965830Z ### REQ-PAIR-2
2026-06-04T06:03:51.3966481Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T06:03:51.3966967Z - Required stages: impl, unit
2026-06-04T06:03:51.3966984Z 
2026-06-04T06:03:51.3967404Z ### REQ-PAIR-3
2026-06-04T06:03:51.3968116Z - Title: Fetch current pairing code from any paired node
2026-06-04T06:03:51.3968598Z - Required stages: impl, unit
2026-06-04T06:03:51.3968613Z 
2026-06-04T06:03:51.3969024Z ### REQ-PAIR-4
2026-06-04T06:03:51.3969587Z - Title: Subnet naming on first pairing
2026-06-04T06:03:51.3970056Z - Required stages: impl, unit
2026-06-04T06:03:51.3970086Z 
2026-06-04T06:03:51.3970524Z ### REQ-PAIR-5
2026-06-04T06:03:51.3972286Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T06:03:51.3972769Z - Required stages: impl, unit
2026-06-04T06:03:51.3972786Z 
2026-06-04T06:03:51.3973209Z ### REQ-PAIR-6
2026-06-04T06:03:51.3974664Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T06:03:51.3975148Z - Required stages: impl, unit
2026-06-04T06:03:51.3975164Z 
2026-06-04T06:03:51.3975590Z ### REQ-PAIR-7
2026-06-04T06:03:51.3976401Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T06:03:51.3976840Z - Required stages: 
2026-06-04T06:03:51.3976856Z 
2026-06-04T06:03:51.3977260Z ### REQ-SEC-1
2026-06-04T06:03:51.3979700Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T06:03:51.3980195Z - Required stages: impl, unit
2026-06-04T06:03:51.3980212Z 
2026-06-04T06:03:51.3980626Z ### REQ-NOTIF-1
2026-06-04T06:03:51.3982809Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T06:03:51.3983403Z - Required stages: 
2026-06-04T06:03:51.3983420Z 
2026-06-04T06:03:51.3983842Z ### REQ-NOTIF-2
2026-06-04T06:03:51.3985346Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T06:03:51.3985780Z - Required stages: 
2026-06-04T06:03:51.3985797Z 
2026-06-04T06:03:51.3986217Z ### REQ-UPD-1
2026-06-04T06:03:51.3986757Z - Title: Peer-propagated update over P2P
2026-06-04T06:03:51.3987197Z - Required stages: 
2026-06-04T06:03:51.3987212Z 
2026-06-04T06:03:51.3987632Z ### REQ-UPD-2
2026-06-04T06:03:51.3988331Z - Title: All binaries signature-verified before handoff
2026-06-04T06:03:51.3988817Z - Required stages: impl, unit
2026-06-04T06:03:51.3988834Z 
2026-06-04T06:03:51.3989398Z ### REQ-UPD-3
2026-06-04T06:03:51.3990308Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T06:03:51.3990813Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3990844Z 
2026-06-04T06:03:51.3991249Z ### REQ-UPD-4
2026-06-04T06:03:51.3992198Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T06:03:51.3992677Z - Required stages: impl, unit
2026-06-04T06:03:51.3992693Z 
2026-06-04T06:03:51.3993110Z ### REQ-UPD-5
2026-06-04T06:03:51.3993779Z - Title: spt-core ripple-updates registered adapters
2026-06-04T06:03:51.3994265Z - Required stages: impl, unit
2026-06-04T06:03:51.3994280Z 
2026-06-04T06:03:51.3994699Z ### REQ-TERM-1
2026-06-04T06:03:51.3995578Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T06:03:51.3996065Z - Required stages: impl, unit
2026-06-04T06:03:51.3996080Z 
2026-06-04T06:03:51.3996488Z ### REQ-TERM-2
2026-06-04T06:03:51.3997433Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T06:03:51.3997929Z - Required stages: impl, unit
2026-06-04T06:03:51.3997946Z 
2026-06-04T06:03:51.3998356Z ### REQ-TERM-3
2026-06-04T06:03:51.3999035Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T06:03:51.3999561Z - Required stages: impl, unit
2026-06-04T06:03:51.3999579Z 
2026-06-04T06:03:51.4000016Z ### REQ-TERM-4
2026-06-04T06:03:51.4002169Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T06:03:51.4002665Z - Required stages: impl, unit, int
2026-06-04T06:03:51.4002680Z 
2026-06-04T06:03:51.4003103Z ### REQ-FRONT-1
2026-06-04T06:03:51.4003996Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T06:03:51.4004444Z - Required stages: 
2026-06-04T06:03:51.4004458Z 
2026-06-04T06:03:51.4004889Z ### REQ-INSTALL-1
2026-06-04T06:03:51.4005902Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T06:03:51.4006360Z - Required stages: 
2026-06-04T06:03:51.4006375Z 
2026-06-04T06:03:51.4006796Z ### REQ-INSTALL-2
2026-06-04T06:03:51.4007473Z - Title: Marketplace-repackaging-friendly install
2026-06-04T06:03:51.4007920Z - Required stages: 
2026-06-04T06:03:51.4007947Z 
2026-06-04T06:03:51.4008370Z ### REQ-INSTALL-3
2026-06-04T06:03:51.4009049Z - Title: Idempotent + interactive-optional first run
2026-06-04T06:03:51.4009518Z - Required stages: 
2026-06-04T06:03:51.4009534Z 
2026-06-04T06:03:51.4009970Z ### REQ-INSTALL-4
2026-06-04T06:03:51.4014057Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-04T06:03:51.4014491Z - Required stages: 
2026-06-04T06:03:51.4014506Z 
2026-06-04T06:03:51.4014940Z ### REQ-MIGRATE-1
2026-06-04T06:03:51.4015806Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T06:03:51.4016263Z - Required stages: 
2026-06-04T06:03:51.4016280Z 
2026-06-04T06:03:51.4016705Z ### REQ-INFRA-1
2026-06-04T06:03:51.4017645Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T06:03:51.4018263Z - Required stages: 
2026-06-04T06:03:51.4018279Z 
2026-06-04T06:03:51.4018694Z ### REQ-DOCS-1
2026-06-04T06:03:51.4019798Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T06:03:51.4020235Z - Required stages: 
2026-06-04T06:03:51.4020262Z 
2026-06-04T06:03:51.4020676Z ### REQ-DOCS-2
2026-06-04T06:03:51.4021502Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T06:03:51.4021934Z - Required stages: 
2026-06-04T06:03:51.4021948Z 
2026-06-04T06:03:51.4022371Z ### REQ-DOCS-3
2026-06-04T06:03:51.4023431Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T06:03:51.4023883Z - Required stages: 
2026-06-04T06:03:51.4023900Z 
2026-06-04T06:03:51.4024327Z ### REQ-DOCS-4
2026-06-04T06:03:51.4025509Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T06:03:51.4025971Z - Required stages: 
2026-06-04T06:03:51.4025986Z 
2026-06-04T06:03:51.4026400Z ### REQ-DOCS-5
2026-06-04T06:03:51.4027436Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T06:03:51.4027911Z - Required stages: 
2026-06-04T06:03:51.4027927Z 
2026-06-04T06:03:51.4028448Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T06:03:51.4029496Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T06:03:51.4030009Z - Required stages: impl, unit
2026-06-04T06:03:51.4030032Z 
2026-06-04T06:03:51.4030568Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T06:03:51.4031326Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T06:03:51.4031807Z - Required stages: impl, unit
2026-06-04T06:03:51.4031821Z 
2026-06-04T06:03:51.4037297Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T06:03:51.4038052Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T06:03:51.4038528Z - Required stages: 
2026-06-04T06:03:51.4038549Z 
2026-06-04T06:03:51.4039046Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T06:03:51.4040130Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T06:03:51.4040641Z - Required stages: impl, unit
2026-06-04T06:03:51.4040659Z 
2026-06-04T06:03:51.4041137Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T06:03:51.4042092Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T06:03:51.4042572Z - Required stages: impl, unit
2026-06-04T06:03:51.4042590Z 
2026-06-04T06:03:51.4043119Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T06:03:51.4044122Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T06:03:51.4044557Z - Required stages: 
2026-06-04T06:03:51.4044572Z 
2026-06-04T06:03:51.4045076Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T06:03:51.4045720Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T06:03:51.4046167Z - Required stages: 
2026-06-04T06:03:51.4046183Z 
2026-06-04T06:03:51.4046721Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T06:03:51.4047553Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T06:03:51.4048048Z - Required stages: impl, unit
2026-06-04T06:03:51.4048076Z 
2026-06-04T06:03:51.4048559Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T06:03:51.4049340Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T06:03:51.4049820Z - Required stages: impl, int
2026-06-04T06:03:51.4049847Z 
2026-06-04T06:03:51.4050362Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T06:03:51.4051190Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T06:03:51.4051675Z - Required stages: impl, unit
2026-06-04T06:03:51.4051691Z 
2026-06-04T06:03:51.4052239Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T06:03:51.4053080Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T06:03:51.4053566Z - Required stages: impl, unit
2026-06-04T06:03:51.4053581Z 
2026-06-04T06:03:51.4054121Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T06:03:51.4055102Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T06:03:51.4055590Z - Required stages: impl, unit
2026-06-04T06:03:51.4055606Z 
2026-06-04T06:03:51.4056399Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T06:03:51.4057187Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T06:03:51.4057678Z - Required stages: impl, unit
2026-06-04T06:03:51.4057695Z 
2026-06-04T06:03:51.4058220Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T06:03:51.4059124Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T06:03:51.4059641Z - Required stages: impl, unit
2026-06-04T06:03:51.4059658Z 
2026-06-04T06:03:51.4060187Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T06:03:51.4061349Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T06:03:51.4061828Z - Required stages: impl, unit
2026-06-04T06:03:51.4061843Z 
2026-06-04T06:03:51.4062307Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T06:03:51.4063831Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T06:03:51.4064341Z - Required stages: impl, unit
2026-06-04T06:03:51.4064358Z 
2026-06-04T06:03:51.4064904Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T06:03:51.4065914Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T06:03:51.4066404Z - Required stages: impl, unit
2026-06-04T06:03:51.4066419Z 
2026-06-04T06:03:51.4066936Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T06:03:51.4068355Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T06:03:51.4068841Z - Required stages: impl, unit
2026-06-04T06:03:51.4068857Z 
2026-06-04T06:03:51.4069405Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T06:03:51.4071406Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T06:03:51.4071912Z - Required stages: doc, impl, unit
2026-06-04T06:03:51.4071946Z 
2026-06-04T06:03:51.4072479Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T06:03:51.4074814Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-04T06:03:51.4075324Z - Required stages: impl, unit
2026-06-04T06:03:51.4075343Z 
2026-06-04T06:03:51.4075912Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T06:03:51.4076507Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T06:03:51.4076990Z - Required stages: impl, unit
2026-06-04T06:03:51.4077008Z 
2026-06-04T06:03:51.4077508Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T06:03:51.4078138Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T06:03:51.4078620Z - Required stages: impl, unit
2026-06-04T06:03:51.4078635Z 
2026-06-04T06:03:51.4079152Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T06:03:51.4079991Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T06:03:51.4080482Z - Required stages: impl, unit
2026-06-04T06:03:51.4080527Z 
2026-06-04T06:03:51.4081007Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T06:03:51.4081859Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T06:03:51.4082376Z - Required stages: impl, unit
2026-06-04T06:03:51.4082391Z 
2026-06-04T06:03:51.4082920Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T06:03:51.4083649Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T06:03:51.4084127Z - Required stages: impl, unit
2026-06-04T06:03:51.4084144Z 
2026-06-04T06:03:51.4084640Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T06:03:51.4085402Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T06:03:51.4085888Z - Required stages: impl, unit
2026-06-04T06:03:51.4085903Z 
2026-06-04T06:03:51.4086425Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T06:03:51.4087390Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T06:03:51.4087880Z - Required stages: impl, unit
2026-06-04T06:03:51.4087895Z 
2026-06-04T06:03:51.4088379Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T06:03:51.4089436Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T06:03:51.4089927Z - Required stages: impl, unit
2026-06-04T06:03:51.4090132Z 
2026-06-04T06:03:51.4090659Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T06:03:51.4091546Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T06:03:51.4092023Z - Required stages: impl, unit
2026-06-04T06:03:51.4092038Z 
2026-06-04T06:03:51.4092599Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T06:03:51.4093339Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T06:03:51.4093812Z - Required stages: impl, unit
2026-06-04T06:03:51.4093830Z 
2026-06-04T06:03:51.4094394Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T06:03:51.4095567Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T06:03:51.4096054Z - Required stages: impl, unit
2026-06-04T06:03:51.4096071Z 
2026-06-04T06:03:51.4096761Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T06:03:51.4100437Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-04T06:03:51.4100946Z - Required stages: impl, unit
2026-06-04T06:03:51.4100963Z 
2026-06-04T06:03:51.4101439Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T06:03:51.4102610Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T06:03:51.4103093Z - Required stages: impl, unit
2026-06-04T06:03:51.4103108Z 
2026-06-04T06:03:51.4103590Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T06:03:51.4104749Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T06:03:51.4105344Z - Required stages: impl, unit
2026-06-04T06:03:51.4105360Z 
2026-06-04T06:03:51.4105882Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T06:03:51.4107402Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T06:03:51.4107897Z - Required stages: impl, unit, int
2026-06-04T06:03:51.4107915Z 
2026-06-04T06:03:51.4108420Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T06:03:51.4109937Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T06:03:51.4110435Z - Required stages: impl, unit
2026-06-04T06:03:51.4110450Z 
2026-06-04T06:03:51.4110999Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T06:03:51.4113602Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-04T06:03:51.4114108Z - Required stages: impl, unit, int
2026-06-04T06:03:51.4114122Z 
2026-06-04T06:03:51.4114655Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T06:03:51.4119383Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-04T06:03:51.4119834Z - Required stages: 
2026-06-04T06:03:51.4119851Z 
2026-06-04T06:03:51.4120415Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T06:03:51.4124667Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-04T06:03:51.4125116Z - Required stages: 
2026-06-04T06:03:51.4125132Z 
2026-06-04T06:03:51.4125662Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T06:03:51.4129440Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-04T06:03:51.4129920Z - Required stages: impl, unit
2026-06-04T06:03:51.4129937Z 
2026-06-04T06:03:51.4130495Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T06:03:51.4133931Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-04T06:03:51.4134565Z - Required stages: impl, unit
2026-06-04T06:03:51.4134581Z 
2026-06-04T06:03:51.4135094Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T06:03:51.4140298Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-04T06:03:51.4140789Z - Required stages: impl, unit
2026-06-04T06:03:51.4140805Z 
2026-06-04T06:03:51.4141308Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T06:03:51.4146074Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-04T06:03:51.4146597Z - Required stages: doc, impl, unit
2026-06-04T06:03:51.4146648Z 
2026-06-04T06:03:51.4147094Z ## How to report back
2026-06-04T06:03:51.4147110Z 
2026-06-04T06:03:51.4148001Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T06:03:51.4148018Z 
2026-06-04T06:03:51.4148421Z     {
2026-06-04T06:03:51.4148907Z       "code": "requirement_quality",
2026-06-04T06:03:51.4149440Z       "requirementId": "REQ-...",
2026-06-04T06:03:51.4150339Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T06:03:51.4150817Z       "message": "<short reason>",
2026-06-04T06:03:51.4151404Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T06:03:51.4151800Z     }
2026-06-04T06:03:51.4151815Z 
2026-06-04T06:03:51.4152869Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T06:03:51.4153619Z deterministic findings above don't need to be repeated.
2026-06-04T06:03:51.4442450Z Post job cleanup.
2026-06-04T06:03:51.5726902Z [command]/usr/bin/git version
2026-06-04T06:03:51.5786870Z git version 2.34.1
2026-06-04T06:03:51.5841601Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/7e50f479-004f-4dc9-808c-29017a0c2f8e/.gitconfig'
2026-06-04T06:03:51.5866315Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/7e50f479-004f-4dc9-808c-29017a0c2f8e' before making global git config changes
2026-06-04T06:03:51.5871228Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T06:03:51.5875088Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T06:03:51.5923885Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T06:03:51.5970792Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-06-04T06:03:51.6214157Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T06:03:51.6247794Z http.https://github.com/.extraheader
2026-06-04T06:03:51.6262197Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T06:03:51.6305881Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-06-04T06:03:51.6545024Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T06:03:51.6586358Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T06:03:51.7074690Z Cleaning up orphan processes
