﻿2026-06-04T17:22:59.0187830Z Current runner version: '2.334.0'
2026-06-04T17:22:59.0197065Z Runner name: 'gravity'
2026-06-04T17:22:59.0198122Z Runner group name: 'Default'
2026-06-04T17:22:59.0199582Z Machine name: 'gravity-linux'
2026-06-04T17:22:59.0203622Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T17:22:59.0207739Z Contents: read
2026-06-04T17:22:59.0208567Z Metadata: read
2026-06-04T17:22:59.0209629Z Packages: read
2026-06-04T17:22:59.0210389Z ##[endgroup]
2026-06-04T17:22:59.0213927Z Secret source: Actions
2026-06-04T17:22:59.0215015Z Prepare workflow directory
2026-06-04T17:22:59.0978015Z Prepare all required actions
2026-06-04T17:22:59.1038422Z Getting action download info
2026-06-04T17:22:59.7831489Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T17:23:00.6823152Z Complete job name: traceability
2026-06-04T17:23:00.8197739Z ##[group]Run actions/checkout@v5
2026-06-04T17:23:00.8199478Z with:
2026-06-04T17:23:00.8200213Z   repository: SaberMage/spt-core
2026-06-04T17:23:00.8207311Z   token: ***
2026-06-04T17:23:00.8208000Z   ssh-strict: true
2026-06-04T17:23:00.8208693Z   ssh-user: git
2026-06-04T17:23:00.8209433Z   persist-credentials: true
2026-06-04T17:23:00.8210197Z   clean: true
2026-06-04T17:23:00.8210885Z   sparse-checkout-cone-mode: true
2026-06-04T17:23:00.8211695Z   fetch-depth: 1
2026-06-04T17:23:00.8212370Z   fetch-tags: false
2026-06-04T17:23:00.8213073Z   show-progress: true
2026-06-04T17:23:00.8213780Z   lfs: false
2026-06-04T17:23:00.8214458Z   submodules: false
2026-06-04T17:23:00.8215178Z   set-safe-directory: true
2026-06-04T17:23:00.8216776Z ##[endgroup]
2026-06-04T17:23:00.9763854Z Syncing repository: SaberMage/spt-core
2026-06-04T17:23:00.9768736Z ##[group]Getting Git version info
2026-06-04T17:23:00.9770554Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T17:23:00.9772581Z [command]/usr/bin/git version
2026-06-04T17:23:00.9773630Z git version 2.34.1
2026-06-04T17:23:00.9794387Z ##[endgroup]
2026-06-04T17:23:00.9812796Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/a091a330-c32b-46ae-aad8-e3c8c27bc2d3/.gitconfig'
2026-06-04T17:23:00.9836734Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/a091a330-c32b-46ae-aad8-e3c8c27bc2d3' before making global git config changes
2026-06-04T17:23:00.9840082Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T17:23:00.9843547Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T17:23:00.9896823Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T17:23:00.9927547Z https://github.com/SaberMage/spt-core
2026-06-04T17:23:00.9945735Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T17:23:00.9952459Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T17:23:00.9981428Z refs/heads/dev-freeform
2026-06-04T17:23:00.9994364Z [command]/usr/bin/git checkout --detach
2026-06-04T17:23:01.0060611Z HEAD is now at 984852e feat(daemon,cli,api): M5-D3d gates + discovery + context injection
2026-06-04T17:23:01.0124583Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T17:23:01.0165740Z Deleted branch dev-freeform (was 984852e).
2026-06-04T17:23:01.0212654Z ##[endgroup]
2026-06-04T17:23:01.0216843Z [command]/usr/bin/git submodule status
2026-06-04T17:23:01.0466722Z ##[group]Cleaning the repository
2026-06-04T17:23:01.0470787Z [command]/usr/bin/git clean -ffdx
2026-06-04T17:23:01.8104147Z Removing target/
2026-06-04T17:23:01.8119885Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T17:23:01.8194754Z HEAD is now at 984852e feat(daemon,cli,api): M5-D3d gates + discovery + context injection
2026-06-04T17:23:01.8201785Z ##[endgroup]
2026-06-04T17:23:01.8204430Z ##[group]Disabling automatic garbage collection
2026-06-04T17:23:01.8210324Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T17:23:01.8249123Z ##[endgroup]
2026-06-04T17:23:01.8251075Z ##[group]Setting up auth
2026-06-04T17:23:01.8259325Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T17:23:01.8301908Z [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-04T17:23:01.8550650Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T17:23:01.8590920Z [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-04T17:23:01.8830283Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T17:23:01.8872611Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T17:23:01.9113915Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T17:23:01.9174305Z ##[endgroup]
2026-06-04T17:23:01.9176506Z ##[group]Fetching the repository
2026-06-04T17:23:01.9188898Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +984852e6ea69313e87b7918296a2611737528c7d:refs/remotes/origin/dev-freeform
2026-06-04T17:23:02.6111173Z ##[endgroup]
2026-06-04T17:23:02.6114563Z ##[group]Determining the checkout info
2026-06-04T17:23:02.6117367Z ##[endgroup]
2026-06-04T17:23:02.6118998Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T17:23:02.6160641Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T17:23:02.6199069Z ##[group]Checking out the ref
2026-06-04T17:23:02.6203376Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T17:23:02.6457191Z Switched to a new branch 'dev-freeform'
2026-06-04T17:23:02.6460436Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T17:23:02.6466176Z ##[endgroup]
2026-06-04T17:23:02.6616355Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T17:23:02.6618820Z 984852e6ea69313e87b7918296a2611737528c7d
2026-06-04T17:23:02.6907958Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T17:23:02.6910427Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T17:23:02.6912624Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T17:23:02.6914545Z [36;1melse[0m
2026-06-04T17:23:02.6916215Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T17:23:02.6918591Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T17:23:02.6920687Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T17:23:02.6922193Z [36;1mfi[0m
2026-06-04T17:23:02.6949122Z shell: /usr/bin/bash -e {0}
2026-06-04T17:23:02.6950669Z env:
2026-06-04T17:23:02.6953645Z   GH_TOKEN: ***
2026-06-04T17:23:02.6954872Z ##[endgroup]
2026-06-04T17:23:02.7179262Z ##[group]Run ./traceable-reqs check --json
2026-06-04T17:23:02.7181420Z [36;1m./traceable-reqs check --json[0m
2026-06-04T17:23:02.7203756Z shell: /usr/bin/bash -e {0}
2026-06-04T17:23:02.7205083Z ##[endgroup]
2026-06-04T17:23:02.7425496Z {
2026-06-04T17:23:02.7426721Z   "schemaVersion": 1,
2026-06-04T17:23:02.7428027Z   "summary": {
2026-06-04T17:23:02.7429360Z     "requirementCount": 134,
2026-06-04T17:23:02.7430829Z     "completeCount": 134,
2026-06-04T17:23:02.7432254Z     "incompleteCount": 0,
2026-06-04T17:23:02.7433730Z     "findingCount": 0
2026-06-04T17:23:02.7434966Z   },
2026-06-04T17:23:02.7436044Z   "requirements": [
2026-06-04T17:23:02.7452261Z     {
2026-06-04T17:23:02.7453520Z       "id": "REQ-API-1",
2026-06-04T17:23:02.7455433Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T17:23:02.7457681Z       "requiredStages": [
2026-06-04T17:23:02.7459067Z         "impl",
2026-06-04T17:23:02.7461179Z         "unit",
2026-06-04T17:23:02.7462464Z         "int"
2026-06-04T17:23:02.7463673Z       ],
2026-06-04T17:23:02.7464805Z       "stages": {
2026-06-04T17:23:02.7466062Z         "doc": {
2026-06-04T17:23:02.7467407Z           "complete": false,
2026-06-04T17:23:02.7468965Z           "evidence": []
2026-06-04T17:23:02.7470557Z         },
2026-06-04T17:23:02.7471785Z         "impl": {
2026-06-04T17:23:02.7473145Z           "complete": true,
2026-06-04T17:23:02.7474554Z           "evidence": [
2026-06-04T17:23:02.7476000Z             {
2026-06-04T17:23:02.7477231Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:02.7478848Z               "line": 15
2026-06-04T17:23:02.7480442Z             }
2026-06-04T17:23:02.7481519Z           ]
2026-06-04T17:23:02.7482546Z         },
2026-06-04T17:23:02.7483559Z         "int": {
2026-06-04T17:23:02.7484692Z           "complete": true,
2026-06-04T17:23:02.7485978Z           "evidence": [
2026-06-04T17:23:02.7487157Z             {
2026-06-04T17:23:02.7488466Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:02.7490253Z               "line": 13
2026-06-04T17:23:02.7491480Z             }
2026-06-04T17:23:02.7492530Z           ]
2026-06-04T17:23:02.7493544Z         },
2026-06-04T17:23:02.7502609Z         "unit": {
2026-06-04T17:23:02.7503771Z           "complete": true,
2026-06-04T17:23:02.7505035Z           "evidence": [
2026-06-04T17:23:02.7506198Z             {
2026-06-04T17:23:02.7507370Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:02.7508975Z               "line": 391
2026-06-04T17:23:02.7510223Z             },
2026-06-04T17:23:02.7511264Z             {
2026-06-04T17:23:02.7512440Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:02.7514045Z               "line": 397
2026-06-04T17:23:02.7515251Z             },
2026-06-04T17:23:02.7516287Z             {
2026-06-04T17:23:02.7517453Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:02.7519058Z               "line": 417
2026-06-04T17:23:02.7520656Z             }
2026-06-04T17:23:02.7521683Z           ]
2026-06-04T17:23:02.7522678Z         }
2026-06-04T17:23:02.7523660Z       }
2026-06-04T17:23:02.7524631Z     },
2026-06-04T17:23:02.7525597Z     {
2026-06-04T17:23:02.7526604Z       "id": "REQ-API-2",
2026-06-04T17:23:02.7528602Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T17:23:02.7531062Z       "requiredStages": [
2026-06-04T17:23:02.7532291Z         "impl",
2026-06-04T17:23:02.7533341Z         "unit",
2026-06-04T17:23:02.7534402Z         "int"
2026-06-04T17:23:02.7535430Z       ],
2026-06-04T17:23:02.7536419Z       "stages": {
2026-06-04T17:23:02.7537509Z         "doc": {
2026-06-04T17:23:02.7538622Z           "complete": false,
2026-06-04T17:23:02.7539990Z           "evidence": []
2026-06-04T17:23:02.7541187Z         },
2026-06-04T17:23:02.7542190Z         "impl": {
2026-06-04T17:23:02.7543308Z           "complete": true,
2026-06-04T17:23:02.7544574Z           "evidence": [
2026-06-04T17:23:02.7546223Z             {
2026-06-04T17:23:02.7547517Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T17:23:02.7549220Z               "line": 15
2026-06-04T17:23:02.7550722Z             },
2026-06-04T17:23:02.7551782Z             {
2026-06-04T17:23:02.7553000Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:02.7554628Z               "line": 20
2026-06-04T17:23:02.7555811Z             },
2026-06-04T17:23:02.7556842Z             {
2026-06-04T17:23:02.7558069Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:02.7560069Z               "line": 125
2026-06-04T17:23:02.7561280Z             },
2026-06-04T17:23:02.7562338Z             {
2026-06-04T17:23:02.7563578Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7565231Z               "line": 21
2026-06-04T17:23:02.7566421Z             },
2026-06-04T17:23:02.7567464Z             {
2026-06-04T17:23:02.7568718Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7571031Z               "line": 38
2026-06-04T17:23:02.7572215Z             },
2026-06-04T17:23:02.7573258Z             {
2026-06-04T17:23:02.7574521Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7576182Z               "line": 172
2026-06-04T17:23:02.7577385Z             },
2026-06-04T17:23:02.7578429Z             {
2026-06-04T17:23:02.7579911Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7581707Z               "line": 211
2026-06-04T17:23:02.7582900Z             },
2026-06-04T17:23:02.7583955Z             {
2026-06-04T17:23:02.7585227Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7586890Z               "line": 241
2026-06-04T17:23:02.7588082Z             },
2026-06-04T17:23:02.7589121Z             {
2026-06-04T17:23:02.7590708Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.7592330Z               "line": 17
2026-06-04T17:23:02.7593512Z             },
2026-06-04T17:23:02.7594587Z             {
2026-06-04T17:23:02.7595799Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.7597414Z               "line": 30
2026-06-04T17:23:02.7598599Z             },
2026-06-04T17:23:02.7599881Z             {
2026-06-04T17:23:02.7601229Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.7602858Z               "line": 63
2026-06-04T17:23:02.7604044Z             },
2026-06-04T17:23:02.7605085Z             {
2026-06-04T17:23:02.7606288Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.7607908Z               "line": 76
2026-06-04T17:23:02.7609095Z             }
2026-06-04T17:23:02.7610475Z           ]
2026-06-04T17:23:02.7611471Z         },
2026-06-04T17:23:02.7612466Z         "int": {
2026-06-04T17:23:02.7613577Z           "complete": true,
2026-06-04T17:23:02.7614839Z           "evidence": [
2026-06-04T17:23:02.7615999Z             {
2026-06-04T17:23:02.7617245Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:02.7618971Z               "line": 14
2026-06-04T17:23:02.7620547Z             },
2026-06-04T17:23:02.7621608Z             {
2026-06-04T17:23:02.7622864Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:02.7624529Z               "line": 151
2026-06-04T17:23:02.7625726Z             }
2026-06-04T17:23:02.7626757Z           ]
2026-06-04T17:23:02.7627753Z         },
2026-06-04T17:23:02.7628754Z         "unit": {
2026-06-04T17:23:02.7630228Z           "complete": true,
2026-06-04T17:23:02.7631517Z           "evidence": [
2026-06-04T17:23:02.7632702Z             {
2026-06-04T17:23:02.7633945Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T17:23:02.7635605Z               "line": 42
2026-06-04T17:23:02.7636779Z             },
2026-06-04T17:23:02.7637813Z             {
2026-06-04T17:23:02.7639048Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:02.7640770Z               "line": 228
2026-06-04T17:23:02.7641993Z             },
2026-06-04T17:23:02.7643259Z             {
2026-06-04T17:23:02.7644525Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7646197Z               "line": 356
2026-06-04T17:23:02.7647402Z             },
2026-06-04T17:23:02.7648447Z             {
2026-06-04T17:23:02.7649761Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7651418Z               "line": 367
2026-06-04T17:23:02.7652623Z             },
2026-06-04T17:23:02.7653661Z             {
2026-06-04T17:23:02.7654913Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7656579Z               "line": 473
2026-06-04T17:23:02.7657767Z             },
2026-06-04T17:23:02.7658807Z             {
2026-06-04T17:23:02.7660086Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7661758Z               "line": 485
2026-06-04T17:23:02.7662945Z             },
2026-06-04T17:23:02.7664029Z             {
2026-06-04T17:23:02.7665235Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.7667060Z               "line": 137
2026-06-04T17:23:02.7668268Z             },
2026-06-04T17:23:02.7669361Z             {
2026-06-04T17:23:02.7670584Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.7672205Z               "line": 172
2026-06-04T17:23:02.7673402Z             }
2026-06-04T17:23:02.7674433Z           ]
2026-06-04T17:23:02.7675416Z         }
2026-06-04T17:23:02.7676398Z       }
2026-06-04T17:23:02.7677360Z     },
2026-06-04T17:23:02.7678325Z     {
2026-06-04T17:23:02.7679371Z       "id": "REQ-API-3",
2026-06-04T17:23:02.7680934Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T17:23:02.7682767Z       "requiredStages": [
2026-06-04T17:23:02.7684065Z         "impl",
2026-06-04T17:23:02.7685101Z         "unit",
2026-06-04T17:23:02.7686128Z         "int"
2026-06-04T17:23:02.7687135Z       ],
2026-06-04T17:23:02.7688095Z       "stages": {
2026-06-04T17:23:02.7689197Z         "doc": {
2026-06-04T17:23:02.7690334Z           "complete": false,
2026-06-04T17:23:02.7691613Z           "evidence": []
2026-06-04T17:23:02.7692780Z         },
2026-06-04T17:23:02.7693755Z         "impl": {
2026-06-04T17:23:02.7694862Z           "complete": true,
2026-06-04T17:23:02.7696094Z           "evidence": [
2026-06-04T17:23:02.7697239Z             {
2026-06-04T17:23:02.7698439Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:02.7700067Z               "line": 27
2026-06-04T17:23:02.7701251Z             },
2026-06-04T17:23:02.7702273Z             {
2026-06-04T17:23:02.7703496Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7705133Z               "line": 293
2026-06-04T17:23:02.7706305Z             }
2026-06-04T17:23:02.7707300Z           ]
2026-06-04T17:23:02.7708271Z         },
2026-06-04T17:23:02.7709288Z         "int": {
2026-06-04T17:23:02.7710377Z           "complete": true,
2026-06-04T17:23:02.7711638Z           "evidence": [
2026-06-04T17:23:02.7712781Z             {
2026-06-04T17:23:02.7714038Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:02.7715683Z               "line": 203
2026-06-04T17:23:02.7716850Z             }
2026-06-04T17:23:02.7717833Z           ]
2026-06-04T17:23:02.7718802Z         },
2026-06-04T17:23:02.7739768Z         "unit": {
2026-06-04T17:23:02.7740964Z           "complete": true,
2026-06-04T17:23:02.7742203Z           "evidence": [
2026-06-04T17:23:02.7743316Z             {
2026-06-04T17:23:02.7744492Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:02.7746085Z               "line": 230
2026-06-04T17:23:02.7747247Z             },
2026-06-04T17:23:02.7748250Z             {
2026-06-04T17:23:02.7749497Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.7751118Z               "line": 514
2026-06-04T17:23:02.7752270Z             }
2026-06-04T17:23:02.7753264Z           ]
2026-06-04T17:23:02.7754218Z         }
2026-06-04T17:23:02.7755162Z       }
2026-06-04T17:23:02.7756171Z     },
2026-06-04T17:23:02.7757107Z     {
2026-06-04T17:23:02.7758445Z       "id": "REQ-ARCH-1",
2026-06-04T17:23:02.7759905Z       "title": "Many small acyclically-layered crates",
2026-06-04T17:23:02.7761575Z       "requiredStages": [
2026-06-04T17:23:02.7762770Z         "impl"
2026-06-04T17:23:02.7763777Z       ],
2026-06-04T17:23:02.7764736Z       "stages": {
2026-06-04T17:23:02.7765769Z         "doc": {
2026-06-04T17:23:02.7766853Z           "complete": false,
2026-06-04T17:23:02.7768103Z           "evidence": []
2026-06-04T17:23:02.7769288Z         },
2026-06-04T17:23:02.7770258Z         "impl": {
2026-06-04T17:23:02.7771337Z           "complete": true,
2026-06-04T17:23:02.7772561Z           "evidence": [
2026-06-04T17:23:02.7773683Z             {
2026-06-04T17:23:02.7774822Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T17:23:02.7776371Z               "line": 16
2026-06-04T17:23:02.7777522Z             },
2026-06-04T17:23:02.7778520Z             {
2026-06-04T17:23:02.7779763Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T17:23:02.7781593Z               "line": 12
2026-06-04T17:23:02.7782722Z             },
2026-06-04T17:23:02.7783730Z             {
2026-06-04T17:23:02.7784885Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T17:23:02.7786447Z               "line": 12
2026-06-04T17:23:02.7787606Z             }
2026-06-04T17:23:02.7788597Z           ]
2026-06-04T17:23:02.7789605Z         },
2026-06-04T17:23:02.7790571Z         "int": {
2026-06-04T17:23:02.7791635Z           "complete": false,
2026-06-04T17:23:02.7792886Z           "evidence": []
2026-06-04T17:23:02.7794035Z         },
2026-06-04T17:23:02.7795000Z         "unit": {
2026-06-04T17:23:02.7796085Z           "complete": false,
2026-06-04T17:23:02.7797353Z           "evidence": []
2026-06-04T17:23:02.7798509Z         }
2026-06-04T17:23:02.7799501Z       }
2026-06-04T17:23:02.7800449Z     },
2026-06-04T17:23:02.7801401Z     {
2026-06-04T17:23:02.7802379Z       "id": "REQ-ARCH-2",
2026-06-04T17:23:02.7804051Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T17:23:02.7806011Z       "requiredStages": [
2026-06-04T17:23:02.7807212Z         "impl"
2026-06-04T17:23:02.7808244Z       ],
2026-06-04T17:23:02.7809246Z       "stages": {
2026-06-04T17:23:02.7810301Z         "doc": {
2026-06-04T17:23:02.7811394Z           "complete": false,
2026-06-04T17:23:02.7812671Z           "evidence": []
2026-06-04T17:23:02.7813832Z         },
2026-06-04T17:23:02.7814815Z         "impl": {
2026-06-04T17:23:02.7815903Z           "complete": true,
2026-06-04T17:23:02.7817136Z           "evidence": [
2026-06-04T17:23:02.7818278Z             {
2026-06-04T17:23:02.7819497Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T17:23:02.7821108Z               "line": 18
2026-06-04T17:23:02.7822251Z             }
2026-06-04T17:23:02.7823262Z           ]
2026-06-04T17:23:02.7824235Z         },
2026-06-04T17:23:02.7825204Z         "int": {
2026-06-04T17:23:02.7826294Z           "complete": false,
2026-06-04T17:23:02.7827616Z           "evidence": []
2026-06-04T17:23:02.7828769Z         },
2026-06-04T17:23:02.7829776Z         "unit": {
2026-06-04T17:23:02.7830868Z           "complete": false,
2026-06-04T17:23:02.7832135Z           "evidence": []
2026-06-04T17:23:02.7833290Z         }
2026-06-04T17:23:02.7834237Z       }
2026-06-04T17:23:02.7835183Z     },
2026-06-04T17:23:02.7836125Z     {
2026-06-04T17:23:02.7837109Z       "id": "REQ-ARCH-3",
2026-06-04T17:23:02.7839012Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T17:23:02.7841353Z       "requiredStages": [
2026-06-04T17:23:02.7842546Z         "impl",
2026-06-04T17:23:02.7843590Z         "unit"
2026-06-04T17:23:02.7844603Z       ],
2026-06-04T17:23:02.7845568Z       "stages": {
2026-06-04T17:23:02.7846618Z         "doc": {
2026-06-04T17:23:02.7847702Z           "complete": false,
2026-06-04T17:23:02.7848982Z           "evidence": []
2026-06-04T17:23:02.7850176Z         },
2026-06-04T17:23:02.7851188Z         "impl": {
2026-06-04T17:23:02.7852481Z           "complete": true,
2026-06-04T17:23:02.7853746Z           "evidence": [
2026-06-04T17:23:02.7854871Z             {
2026-06-04T17:23:02.7856089Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:23:02.7857710Z               "line": 34
2026-06-04T17:23:02.7858868Z             },
2026-06-04T17:23:02.7860630Z             {
2026-06-04T17:23:02.7861859Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:23:02.7863483Z               "line": 41
2026-06-04T17:23:02.7864637Z             }
2026-06-04T17:23:02.7865636Z           ]
2026-06-04T17:23:02.7866606Z         },
2026-06-04T17:23:02.7867573Z         "int": {
2026-06-04T17:23:02.7868662Z           "complete": false,
2026-06-04T17:23:02.7869999Z           "evidence": []
2026-06-04T17:23:02.7871168Z         },
2026-06-04T17:23:02.7872143Z         "unit": {
2026-06-04T17:23:02.7873239Z           "complete": true,
2026-06-04T17:23:02.7874472Z           "evidence": [
2026-06-04T17:23:02.7875796Z             {
2026-06-04T17:23:02.7877027Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:23:02.7878655Z               "line": 51
2026-06-04T17:23:02.7879866Z             },
2026-06-04T17:23:02.7880881Z             {
2026-06-04T17:23:02.7882107Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:23:02.7883726Z               "line": 65
2026-06-04T17:23:02.7884873Z             },
2026-06-04T17:23:02.7885888Z             {
2026-06-04T17:23:02.7887107Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:23:02.7888711Z               "line": 74
2026-06-04T17:23:02.7889903Z             }
2026-06-04T17:23:02.7890919Z           ]
2026-06-04T17:23:02.7891907Z         }
2026-06-04T17:23:02.7892881Z       }
2026-06-04T17:23:02.7893821Z     },
2026-06-04T17:23:02.7894773Z     {
2026-06-04T17:23:02.7895755Z       "id": "REQ-ARCH-4",
2026-06-04T17:23:02.7897460Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T17:23:02.7899625Z       "requiredStages": [
2026-06-04T17:23:02.7900849Z         "impl",
2026-06-04T17:23:02.7901879Z         "unit"
2026-06-04T17:23:02.7902897Z       ],
2026-06-04T17:23:02.7903870Z       "stages": {
2026-06-04T17:23:02.7904935Z         "doc": {
2026-06-04T17:23:02.7906032Z           "complete": false,
2026-06-04T17:23:02.7907305Z           "evidence": []
2026-06-04T17:23:02.7908467Z         },
2026-06-04T17:23:02.7909499Z         "impl": {
2026-06-04T17:23:02.7910604Z           "complete": true,
2026-06-04T17:23:02.7911830Z           "evidence": [
2026-06-04T17:23:02.7912952Z             {
2026-06-04T17:23:02.7914139Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7915724Z               "line": 77
2026-06-04T17:23:02.7916861Z             },
2026-06-04T17:23:02.7917880Z             {
2026-06-04T17:23:02.7919067Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7920686Z               "line": 91
2026-06-04T17:23:02.7921857Z             },
2026-06-04T17:23:02.7922901Z             {
2026-06-04T17:23:02.7924090Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7925668Z               "line": 111
2026-06-04T17:23:02.7926851Z             },
2026-06-04T17:23:02.7927863Z             {
2026-06-04T17:23:02.7929057Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7931038Z               "line": 126
2026-06-04T17:23:02.7932207Z             },
2026-06-04T17:23:02.7933211Z             {
2026-06-04T17:23:02.7934410Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7935991Z               "line": 176
2026-06-04T17:23:02.7937154Z             }
2026-06-04T17:23:02.7938152Z           ]
2026-06-04T17:23:02.7939126Z         },
2026-06-04T17:23:02.7940481Z         "int": {
2026-06-04T17:23:02.7941571Z           "complete": false,
2026-06-04T17:23:02.7942845Z           "evidence": []
2026-06-04T17:23:02.7944010Z         },
2026-06-04T17:23:02.7944987Z         "unit": {
2026-06-04T17:23:02.7946860Z           "complete": true,
2026-06-04T17:23:02.7948386Z           "evidence": [
2026-06-04T17:23:02.7949998Z             {
2026-06-04T17:23:02.7951293Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7953340Z               "line": 240
2026-06-04T17:23:02.7954827Z             },
2026-06-04T17:23:02.7955945Z             {
2026-06-04T17:23:02.7957241Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7959045Z               "line": 250
2026-06-04T17:23:02.7961352Z             },
2026-06-04T17:23:02.7962549Z             {
2026-06-04T17:23:02.7963785Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7966428Z               "line": 261
2026-06-04T17:23:02.7967737Z             },
2026-06-04T17:23:02.7968782Z             {
2026-06-04T17:23:02.7970463Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7972595Z               "line": 272
2026-06-04T17:23:02.7973922Z             },
2026-06-04T17:23:02.7975339Z             {
2026-06-04T17:23:02.7976577Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7978659Z               "line": 284
2026-06-04T17:23:02.7981921Z             },
2026-06-04T17:23:02.7982993Z             {
2026-06-04T17:23:02.7984177Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7985740Z               "line": 297
2026-06-04T17:23:02.7986900Z             },
2026-06-04T17:23:02.7987905Z             {
2026-06-04T17:23:02.7989090Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7990735Z               "line": 308
2026-06-04T17:23:02.7991898Z             },
2026-06-04T17:23:02.7992908Z             {
2026-06-04T17:23:02.7994102Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.7995687Z               "line": 322
2026-06-04T17:23:02.7996846Z             },
2026-06-04T17:23:02.7997862Z             {
2026-06-04T17:23:02.7999033Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:02.8000676Z               "line": 350
2026-06-04T17:23:02.8001852Z             }
2026-06-04T17:23:02.8002855Z           ]
2026-06-04T17:23:02.8003832Z         }
2026-06-04T17:23:02.8004793Z       }
2026-06-04T17:23:02.8005732Z     },
2026-06-04T17:23:02.8006672Z     {
2026-06-04T17:23:02.8007670Z       "id": "REQ-CONSENT-1",
2026-06-04T17:23:02.8014352Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-04T17:23:02.8021769Z       "requiredStages": [
2026-06-04T17:23:02.8022972Z         "impl",
2026-06-04T17:23:02.8024020Z         "unit"
2026-06-04T17:23:02.8025032Z       ],
2026-06-04T17:23:02.8025993Z       "stages": {
2026-06-04T17:23:02.8027044Z         "doc": {
2026-06-04T17:23:02.8028135Z           "complete": false,
2026-06-04T17:23:02.8029473Z           "evidence": []
2026-06-04T17:23:02.8030631Z         },
2026-06-04T17:23:02.8031616Z         "impl": {
2026-06-04T17:23:02.8032741Z           "complete": true,
2026-06-04T17:23:02.8033974Z           "evidence": [
2026-06-04T17:23:02.8035106Z             {
2026-06-04T17:23:02.8036325Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8037918Z               "line": 27
2026-06-04T17:23:02.8039071Z             },
2026-06-04T17:23:02.8040129Z             {
2026-06-04T17:23:02.8041343Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8042951Z               "line": 75
2026-06-04T17:23:02.8053411Z             },
2026-06-04T17:23:02.8054491Z             {
2026-06-04T17:23:02.8055711Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8057304Z               "line": 98
2026-06-04T17:23:02.8058466Z             },
2026-06-04T17:23:02.8059541Z             {
2026-06-04T17:23:02.8061198Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8062805Z               "line": 82
2026-06-04T17:23:02.8063960Z             },
2026-06-04T17:23:02.8064971Z             {
2026-06-04T17:23:02.8066160Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8067743Z               "line": 109
2026-06-04T17:23:02.8068922Z             },
2026-06-04T17:23:02.8069986Z             {
2026-06-04T17:23:02.8071172Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8072749Z               "line": 127
2026-06-04T17:23:02.8073896Z             },
2026-06-04T17:23:02.8074895Z             {
2026-06-04T17:23:02.8076068Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8077640Z               "line": 142
2026-06-04T17:23:02.8078807Z             },
2026-06-04T17:23:02.8079874Z             {
2026-06-04T17:23:02.8080989Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8082477Z               "line": 2175
2026-06-04T17:23:02.8083995Z             }
2026-06-04T17:23:02.8085010Z           ]
2026-06-04T17:23:02.8085978Z         },
2026-06-04T17:23:02.8086947Z         "int": {
2026-06-04T17:23:02.8088029Z           "complete": false,
2026-06-04T17:23:02.8089333Z           "evidence": []
2026-06-04T17:23:02.8090493Z         },
2026-06-04T17:23:02.8091462Z         "unit": {
2026-06-04T17:23:02.8092538Z           "complete": true,
2026-06-04T17:23:02.8093742Z           "evidence": [
2026-06-04T17:23:02.8094859Z             {
2026-06-04T17:23:02.8096060Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8097649Z               "line": 302
2026-06-04T17:23:02.8098808Z             },
2026-06-04T17:23:02.8099860Z             {
2026-06-04T17:23:02.8101065Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8102665Z               "line": 327
2026-06-04T17:23:02.8103803Z             },
2026-06-04T17:23:02.8104807Z             {
2026-06-04T17:23:02.8106001Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8107619Z               "line": 338
2026-06-04T17:23:02.8108781Z             },
2026-06-04T17:23:02.8109858Z             {
2026-06-04T17:23:02.8111082Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8112664Z               "line": 165
2026-06-04T17:23:02.8113814Z             },
2026-06-04T17:23:02.8114818Z             {
2026-06-04T17:23:02.8115994Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8117563Z               "line": 184
2026-06-04T17:23:02.8118717Z             },
2026-06-04T17:23:02.8119774Z             {
2026-06-04T17:23:02.8120946Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:23:02.8122524Z               "line": 204
2026-06-04T17:23:02.8123677Z             },
2026-06-04T17:23:02.8124681Z             {
2026-06-04T17:23:02.8125800Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8127297Z               "line": 2463
2026-06-04T17:23:02.8128468Z             }
2026-06-04T17:23:02.8129526Z           ]
2026-06-04T17:23:02.8130518Z         }
2026-06-04T17:23:02.8131471Z       }
2026-06-04T17:23:02.8132401Z     },
2026-06-04T17:23:02.8133333Z     {
2026-06-04T17:23:02.8134328Z       "id": "REQ-CONSENT-2",
2026-06-04T17:23:02.8140410Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-04T17:23:02.8147174Z       "requiredStages": [
2026-06-04T17:23:02.8148363Z         "impl",
2026-06-04T17:23:02.8149419Z         "unit"
2026-06-04T17:23:02.8150430Z       ],
2026-06-04T17:23:02.8151381Z       "stages": {
2026-06-04T17:23:02.8152420Z         "doc": {
2026-06-04T17:23:02.8153492Z           "complete": false,
2026-06-04T17:23:02.8154719Z           "evidence": []
2026-06-04T17:23:02.8155843Z         },
2026-06-04T17:23:02.8157036Z         "impl": {
2026-06-04T17:23:02.8158127Z           "complete": true,
2026-06-04T17:23:02.8159391Z           "evidence": [
2026-06-04T17:23:02.8160498Z             {
2026-06-04T17:23:02.8189015Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8191109Z               "line": 140
2026-06-04T17:23:02.8192253Z             },
2026-06-04T17:23:02.8193260Z             {
2026-06-04T17:23:02.8194450Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8196045Z               "line": 158
2026-06-04T17:23:02.8197191Z             },
2026-06-04T17:23:02.8198192Z             {
2026-06-04T17:23:02.8199424Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8201361Z               "line": 192
2026-06-04T17:23:02.8202511Z             },
2026-06-04T17:23:02.8203512Z             {
2026-06-04T17:23:02.8204701Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8206289Z               "line": 234
2026-06-04T17:23:02.8207964Z             },
2026-06-04T17:23:02.8208966Z             {
2026-06-04T17:23:02.8210578Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8212161Z               "line": 246
2026-06-04T17:23:02.8213298Z             },
2026-06-04T17:23:02.8214289Z             {
2026-06-04T17:23:02.8215471Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8217053Z               "line": 277
2026-06-04T17:23:02.8218208Z             },
2026-06-04T17:23:02.8219235Z             {
2026-06-04T17:23:02.8220680Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8222165Z               "line": 2068
2026-06-04T17:23:02.8223320Z             },
2026-06-04T17:23:02.8224315Z             {
2026-06-04T17:23:02.8225409Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8226879Z               "line": 2108
2026-06-04T17:23:02.8228035Z             }
2026-06-04T17:23:02.8229025Z           ]
2026-06-04T17:23:02.8230594Z         },
2026-06-04T17:23:02.8231587Z         "int": {
2026-06-04T17:23:02.8232660Z           "complete": false,
2026-06-04T17:23:02.8233892Z           "evidence": []
2026-06-04T17:23:02.8235021Z         },
2026-06-04T17:23:02.8235967Z         "unit": {
2026-06-04T17:23:02.8237031Z           "complete": true,
2026-06-04T17:23:02.8238252Z           "evidence": [
2026-06-04T17:23:02.8239567Z             {
2026-06-04T17:23:02.8240928Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8242509Z               "line": 366
2026-06-04T17:23:02.8243646Z             },
2026-06-04T17:23:02.8244637Z             {
2026-06-04T17:23:02.8245812Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8247379Z               "line": 380
2026-06-04T17:23:02.8248530Z             },
2026-06-04T17:23:02.8249748Z             {
2026-06-04T17:23:02.8251085Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8252641Z               "line": 416
2026-06-04T17:23:02.8253790Z             },
2026-06-04T17:23:02.8254801Z             {
2026-06-04T17:23:02.8255988Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:23:02.8257561Z               "line": 448
2026-06-04T17:23:02.8258694Z             },
2026-06-04T17:23:02.8260024Z             {
2026-06-04T17:23:02.8261128Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8262599Z               "line": 2940
2026-06-04T17:23:02.8263747Z             },
2026-06-04T17:23:02.8264735Z             {
2026-06-04T17:23:02.8265832Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8267299Z               "line": 3000
2026-06-04T17:23:02.8268442Z             }
2026-06-04T17:23:02.8269621Z           ]
2026-06-04T17:23:02.8270730Z         }
2026-06-04T17:23:02.8271665Z       }
2026-06-04T17:23:02.8272593Z     },
2026-06-04T17:23:02.8273524Z     {
2026-06-04T17:23:02.8274500Z       "id": "REQ-DAEMON-1",
2026-06-04T17:23:02.8276155Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T17:23:02.8278336Z       "requiredStages": [
2026-06-04T17:23:02.8279589Z         "impl",
2026-06-04T17:23:02.8280621Z         "unit",
2026-06-04T17:23:02.8281628Z         "int"
2026-06-04T17:23:02.8282609Z       ],
2026-06-04T17:23:02.8283553Z       "stages": {
2026-06-04T17:23:02.8284580Z         "doc": {
2026-06-04T17:23:02.8285632Z           "complete": false,
2026-06-04T17:23:02.8286856Z           "evidence": []
2026-06-04T17:23:02.8287986Z         },
2026-06-04T17:23:02.8293466Z         "impl": {
2026-06-04T17:23:02.8294666Z           "complete": true,
2026-06-04T17:23:02.8295872Z           "evidence": [
2026-06-04T17:23:02.8296979Z             {
2026-06-04T17:23:02.8298161Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:02.8299820Z               "line": 12
2026-06-04T17:23:02.8300946Z             },
2026-06-04T17:23:02.8301943Z             {
2026-06-04T17:23:02.8303160Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8305047Z               "line": 16
2026-06-04T17:23:02.8306179Z             },
2026-06-04T17:23:02.8307171Z             {
2026-06-04T17:23:02.8308323Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T17:23:02.8309928Z               "line": 15
2026-06-04T17:23:02.8311054Z             },
2026-06-04T17:23:02.8312045Z             {
2026-06-04T17:23:02.8313161Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T17:23:02.8314680Z               "line": 13
2026-06-04T17:23:02.8315805Z             }
2026-06-04T17:23:02.8316777Z           ]
2026-06-04T17:23:02.8317717Z         },
2026-06-04T17:23:02.8318672Z         "int": {
2026-06-04T17:23:02.8319766Z           "complete": true,
2026-06-04T17:23:02.8320960Z           "evidence": [
2026-06-04T17:23:02.8322053Z             {
2026-06-04T17:23:02.8323288Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:23:02.8324932Z               "line": 32
2026-06-04T17:23:02.8326050Z             }
2026-06-04T17:23:02.8327022Z           ]
2026-06-04T17:23:02.8327994Z         },
2026-06-04T17:23:02.8328987Z         "unit": {
2026-06-04T17:23:02.8330095Z           "complete": true,
2026-06-04T17:23:02.8331295Z           "evidence": [
2026-06-04T17:23:02.8332398Z             {
2026-06-04T17:23:02.8333583Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:02.8335140Z               "line": 254
2026-06-04T17:23:02.8336263Z             },
2026-06-04T17:23:02.8337245Z             {
2026-06-04T17:23:02.8338415Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:02.8340008Z               "line": 262
2026-06-04T17:23:02.8341146Z             },
2026-06-04T17:23:02.8342138Z             {
2026-06-04T17:23:02.8343311Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:02.8344875Z               "line": 275
2026-06-04T17:23:02.8346010Z             },
2026-06-04T17:23:02.8347004Z             {
2026-06-04T17:23:02.8348175Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:02.8349799Z               "line": 283
2026-06-04T17:23:02.8350940Z             },
2026-06-04T17:23:02.8351921Z             {
2026-06-04T17:23:02.8353123Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8354720Z               "line": 528
2026-06-04T17:23:02.8355844Z             },
2026-06-04T17:23:02.8356827Z             {
2026-06-04T17:23:02.8358018Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8359642Z               "line": 587
2026-06-04T17:23:02.8360771Z             },
2026-06-04T17:23:02.8361766Z             {
2026-06-04T17:23:02.8362919Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T17:23:02.8364480Z               "line": 100
2026-06-04T17:23:02.8365623Z             },
2026-06-04T17:23:02.8366614Z             {
2026-06-04T17:23:02.8367781Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T17:23:02.8369356Z               "line": 125
2026-06-04T17:23:02.8370495Z             }
2026-06-04T17:23:02.8371485Z           ]
2026-06-04T17:23:02.8372615Z         }
2026-06-04T17:23:02.8373566Z       }
2026-06-04T17:23:02.8374495Z     },
2026-06-04T17:23:02.8375408Z     {
2026-06-04T17:23:02.8376374Z       "id": "REQ-DAEMON-2",
2026-06-04T17:23:02.8377861Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T17:23:02.8379629Z       "requiredStages": [
2026-06-04T17:23:02.8380799Z         "impl",
2026-06-04T17:23:02.8381801Z         "unit",
2026-06-04T17:23:02.8382809Z         "int"
2026-06-04T17:23:02.8383782Z       ],
2026-06-04T17:23:02.8384739Z       "stages": {
2026-06-04T17:23:02.8385759Z         "doc": {
2026-06-04T17:23:02.8386808Z           "complete": false,
2026-06-04T17:23:02.8388031Z           "evidence": []
2026-06-04T17:23:02.8389199Z         },
2026-06-04T17:23:02.8393551Z         "impl": {
2026-06-04T17:23:02.8394651Z           "complete": true,
2026-06-04T17:23:02.8395850Z           "evidence": [
2026-06-04T17:23:02.8396962Z             {
2026-06-04T17:23:02.8398146Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:02.8400067Z               "line": 23
2026-06-04T17:23:02.8401185Z             },
2026-06-04T17:23:02.8402175Z             {
2026-06-04T17:23:02.8403328Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:02.8404984Z               "line": 489
2026-06-04T17:23:02.8406127Z             },
2026-06-04T17:23:02.8407116Z             {
2026-06-04T17:23:02.8408281Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:02.8409886Z               "line": 612
2026-06-04T17:23:02.8411006Z             },
2026-06-04T17:23:02.8411984Z             {
2026-06-04T17:23:02.8413165Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:02.8414727Z               "line": 32
2026-06-04T17:23:02.8415852Z             },
2026-06-04T17:23:02.8416846Z             {
2026-06-04T17:23:02.8418047Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:02.8419657Z               "line": 191
2026-06-04T17:23:02.8420826Z             },
2026-06-04T17:23:02.8421835Z             {
2026-06-04T17:23:02.8423014Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:02.8424574Z               "line": 510
2026-06-04T17:23:02.8425706Z             },
2026-06-04T17:23:02.8426696Z             {
2026-06-04T17:23:02.8427891Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:02.8429493Z               "line": 679
2026-06-04T17:23:02.8430640Z             },
2026-06-04T17:23:02.8431638Z             {
2026-06-04T17:23:02.8432798Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:23:02.8434355Z               "line": 11
2026-06-04T17:23:02.8435472Z             },
2026-06-04T17:23:02.8436467Z             {
2026-06-04T17:23:02.8437829Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T17:23:02.8440129Z               "line": 53
2026-06-04T17:23:02.8441341Z             },
2026-06-04T17:23:02.8442383Z             {
2026-06-04T17:23:02.8443630Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.8445373Z               "line": 13
2026-06-04T17:23:02.8446587Z             },
2026-06-04T17:23:02.8447640Z             {
2026-06-04T17:23:02.8448918Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8451052Z               "line": 27
2026-06-04T17:23:02.8452287Z             },
2026-06-04T17:23:02.8453617Z             {
2026-06-04T17:23:02.8455023Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8456781Z               "line": 94
2026-06-04T17:23:02.8458460Z             },
2026-06-04T17:23:02.8459694Z             {
2026-06-04T17:23:02.8460869Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8462439Z               "line": 393
2026-06-04T17:23:02.8463582Z             },
2026-06-04T17:23:02.8464571Z             {
2026-06-04T17:23:02.8465739Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8467313Z               "line": 460
2026-06-04T17:23:02.8468474Z             },
2026-06-04T17:23:02.8469801Z             {
2026-06-04T17:23:02.8471018Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8472587Z               "line": 494
2026-06-04T17:23:02.8473735Z             },
2026-06-04T17:23:02.8474721Z             {
2026-06-04T17:23:02.8475917Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8477546Z               "line": 536
2026-06-04T17:23:02.8478678Z             },
2026-06-04T17:23:02.8479710Z             {
2026-06-04T17:23:02.8480898Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8482479Z               "line": 581
2026-06-04T17:23:02.8483620Z             },
2026-06-04T17:23:02.8484598Z             {
2026-06-04T17:23:02.8485797Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:23:02.8487381Z               "line": 10
2026-06-04T17:23:02.8488501Z             }
2026-06-04T17:23:02.8489513Z           ]
2026-06-04T17:23:02.8490460Z         },
2026-06-04T17:23:02.8491615Z         "int": {
2026-06-04T17:23:02.8497579Z           "complete": true,
2026-06-04T17:23:02.8498951Z           "evidence": [
2026-06-04T17:23:02.8500154Z             {
2026-06-04T17:23:02.8501366Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T17:23:02.8502959Z               "line": 17
2026-06-04T17:23:02.8504084Z             },
2026-06-04T17:23:02.8505078Z             {
2026-06-04T17:23:02.8506313Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:23:02.8507939Z               "line": 33
2026-06-04T17:23:02.8509066Z             },
2026-06-04T17:23:02.8510082Z             {
2026-06-04T17:23:02.8511272Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T17:23:02.8512867Z               "line": 19
2026-06-04T17:23:02.8513981Z             },
2026-06-04T17:23:02.8514977Z             {
2026-06-04T17:23:02.8516188Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:23:02.8517813Z               "line": 70
2026-06-04T17:23:02.8518994Z             },
2026-06-04T17:23:02.8520016Z             {
2026-06-04T17:23:02.8521234Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:23:02.8522857Z               "line": 90
2026-06-04T17:23:02.8523967Z             },
2026-06-04T17:23:02.8524948Z             {
2026-06-04T17:23:02.8526158Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:23:02.8527773Z               "line": 160
2026-06-04T17:23:02.8528911Z             },
2026-06-04T17:23:02.8529932Z             {
2026-06-04T17:23:02.8531162Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:23:02.8532782Z               "line": 196
2026-06-04T17:23:02.8533913Z             },
2026-06-04T17:23:02.8534894Z             {
2026-06-04T17:23:02.8536110Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T17:23:02.8537733Z               "line": 121
2026-06-04T17:23:02.8538855Z             }
2026-06-04T17:23:02.8539872Z           ]
2026-06-04T17:23:02.8540829Z         },
2026-06-04T17:23:02.8541793Z         "unit": {
2026-06-04T17:23:02.8542848Z           "complete": true,
2026-06-04T17:23:02.8544041Z           "evidence": [
2026-06-04T17:23:02.8545129Z             {
2026-06-04T17:23:02.8546287Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:23:02.8547823Z               "line": 62
2026-06-04T17:23:02.8548936Z             },
2026-06-04T17:23:02.8550037Z             {
2026-06-04T17:23:02.8551199Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:23:02.8552736Z               "line": 76
2026-06-04T17:23:02.8553849Z             },
2026-06-04T17:23:02.8554829Z             {
2026-06-04T17:23:02.8555987Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:23:02.8557521Z               "line": 88
2026-06-04T17:23:02.8558637Z             },
2026-06-04T17:23:02.8559672Z             {
2026-06-04T17:23:02.8560837Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:23:02.8562409Z               "line": 264
2026-06-04T17:23:02.8563821Z             },
2026-06-04T17:23:02.8564847Z             {
2026-06-04T17:23:02.8565986Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.8567520Z               "line": 506
2026-06-04T17:23:02.8568651Z             },
2026-06-04T17:23:02.8569686Z             {
2026-06-04T17:23:02.8570829Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.8572346Z               "line": 514
2026-06-04T17:23:02.8573465Z             },
2026-06-04T17:23:02.8574448Z             {
2026-06-04T17:23:02.8575578Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.8577094Z               "line": 531
2026-06-04T17:23:02.8578220Z             },
2026-06-04T17:23:02.8579255Z             {
2026-06-04T17:23:02.8580386Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.8581900Z               "line": 576
2026-06-04T17:23:02.8583018Z             },
2026-06-04T17:23:02.8584005Z             {
2026-06-04T17:23:02.8585407Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8586968Z               "line": 648
2026-06-04T17:23:02.8588095Z             },
2026-06-04T17:23:02.8589083Z             {
2026-06-04T17:23:02.8590316Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.8591879Z               "line": 660
2026-06-04T17:23:02.8593001Z             },
2026-06-04T17:23:02.8593978Z             {
2026-06-04T17:23:02.8595159Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:23:02.8596747Z               "line": 112
2026-06-04T17:23:02.8601612Z             }
2026-06-04T17:23:02.8602628Z           ]
2026-06-04T17:23:02.8603584Z         }
2026-06-04T17:23:02.8604513Z       }
2026-06-04T17:23:02.8605421Z     },
2026-06-04T17:23:02.8606346Z     {
2026-06-04T17:23:02.8607318Z       "id": "REQ-DAEMON-3",
2026-06-04T17:23:02.8608887Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T17:23:02.8610789Z       "requiredStages": [
2026-06-04T17:23:02.8612063Z         "impl",
2026-06-04T17:23:02.8613085Z         "unit",
2026-06-04T17:23:02.8614085Z         "int"
2026-06-04T17:23:02.8615058Z       ],
2026-06-04T17:23:02.8615993Z       "stages": {
2026-06-04T17:23:02.8617009Z         "doc": {
2026-06-04T17:23:02.8618059Z           "complete": false,
2026-06-04T17:23:02.8619324Z           "evidence": []
2026-06-04T17:23:02.8620447Z         },
2026-06-04T17:23:02.8621387Z         "impl": {
2026-06-04T17:23:02.8622452Z           "complete": true,
2026-06-04T17:23:02.8623655Z           "evidence": [
2026-06-04T17:23:02.8624753Z             {
2026-06-04T17:23:02.8625908Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T17:23:02.8627460Z               "line": 14
2026-06-04T17:23:02.8628574Z             },
2026-06-04T17:23:02.8629591Z             {
2026-06-04T17:23:02.8630782Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T17:23:02.8632345Z               "line": 11
2026-06-04T17:23:02.8633479Z             },
2026-06-04T17:23:02.8634481Z             {
2026-06-04T17:23:02.8635585Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:02.8637071Z               "line": 236
2026-06-04T17:23:02.8638189Z             },
2026-06-04T17:23:02.8639204Z             {
2026-06-04T17:23:02.8640297Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.8641746Z               "line": 812
2026-06-04T17:23:02.8642872Z             }
2026-06-04T17:23:02.8643843Z           ]
2026-06-04T17:23:02.8644786Z         },
2026-06-04T17:23:02.8645730Z         "int": {
2026-06-04T17:23:02.8646784Z           "complete": true,
2026-06-04T17:23:02.8647964Z           "evidence": [
2026-06-04T17:23:02.8649050Z             {
2026-06-04T17:23:02.8650252Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:02.8651794Z               "line": 43
2026-06-04T17:23:02.8652914Z             },
2026-06-04T17:23:02.8653895Z             {
2026-06-04T17:23:02.8655059Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:02.8656883Z               "line": 320
2026-06-04T17:23:02.8658050Z             }
2026-06-04T17:23:02.8659020Z           ]
2026-06-04T17:23:02.8660003Z         },
2026-06-04T17:23:02.8660950Z         "unit": {
2026-06-04T17:23:02.8662007Z           "complete": true,
2026-06-04T17:23:02.8663199Z           "evidence": [
2026-06-04T17:23:02.8664277Z             {
2026-06-04T17:23:02.8665436Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T17:23:02.8666983Z               "line": 242
2026-06-04T17:23:02.8668100Z             }
2026-06-04T17:23:02.8669059Z           ]
2026-06-04T17:23:02.8670041Z         }
2026-06-04T17:23:02.8670969Z       }
2026-06-04T17:23:02.8671891Z     },
2026-06-04T17:23:02.8672810Z     {
2026-06-04T17:23:02.8673776Z       "id": "REQ-DAEMON-4",
2026-06-04T17:23:02.8675140Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T17:23:02.8676717Z       "requiredStages": [
2026-06-04T17:23:02.8677874Z         "impl",
2026-06-04T17:23:02.8679056Z         "unit",
2026-06-04T17:23:02.8680104Z         "int"
2026-06-04T17:23:02.8681070Z       ],
2026-06-04T17:23:02.8682012Z       "stages": {
2026-06-04T17:23:02.8683103Z         "doc": {
2026-06-04T17:23:02.8684204Z           "complete": false,
2026-06-04T17:23:02.8685422Z           "evidence": []
2026-06-04T17:23:02.8686550Z         },
2026-06-04T17:23:02.8687500Z         "impl": {
2026-06-04T17:23:02.8688731Z           "complete": true,
2026-06-04T17:23:02.8690546Z           "evidence": [
2026-06-04T17:23:02.8691871Z             {
2026-06-04T17:23:02.8693188Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8694841Z               "line": 339
2026-06-04T17:23:02.8700355Z             },
2026-06-04T17:23:02.8701426Z             {
2026-06-04T17:23:02.8703014Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8704679Z               "line": 401
2026-06-04T17:23:02.8705845Z             },
2026-06-04T17:23:02.8706942Z             {
2026-06-04T17:23:02.8708193Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8710029Z               "line": 423
2026-06-04T17:23:02.8711147Z             }
2026-06-04T17:23:02.8712109Z           ]
2026-06-04T17:23:02.8713045Z         },
2026-06-04T17:23:02.8713981Z         "int": {
2026-06-04T17:23:02.8715031Z           "complete": true,
2026-06-04T17:23:02.8716216Z           "evidence": [
2026-06-04T17:23:02.8717301Z             {
2026-06-04T17:23:02.8718532Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:23:02.8720514Z               "line": 34
2026-06-04T17:23:02.8721801Z             }
2026-06-04T17:23:02.8723010Z           ]
2026-06-04T17:23:02.8724119Z         },
2026-06-04T17:23:02.8725114Z         "unit": {
2026-06-04T17:23:02.8726201Z           "complete": true,
2026-06-04T17:23:02.8727430Z           "evidence": [
2026-06-04T17:23:02.8728574Z             {
2026-06-04T17:23:02.8729983Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:02.8731551Z               "line": 353
2026-06-04T17:23:02.8732670Z             },
2026-06-04T17:23:02.8733653Z             {
2026-06-04T17:23:02.8734838Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8736416Z               "line": 717
2026-06-04T17:23:02.8737528Z             },
2026-06-04T17:23:02.8738524Z             {
2026-06-04T17:23:02.8739771Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8741357Z               "line": 768
2026-06-04T17:23:02.8742710Z             },
2026-06-04T17:23:02.8743734Z             {
2026-06-04T17:23:02.8744936Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8746512Z               "line": 792
2026-06-04T17:23:02.8747640Z             },
2026-06-04T17:23:02.8748626Z             {
2026-06-04T17:23:02.8749879Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.8751461Z               "line": 822
2026-06-04T17:23:02.8752577Z             }
2026-06-04T17:23:02.8753968Z           ]
2026-06-04T17:23:02.8754978Z         }
2026-06-04T17:23:02.8755907Z       }
2026-06-04T17:23:02.8756820Z     },
2026-06-04T17:23:02.8757736Z     {
2026-06-04T17:23:02.8758691Z       "id": "REQ-DOCS-1",
2026-06-04T17:23:02.8760565Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T17:23:02.8763482Z       "requiredStages": [],
2026-06-04T17:23:02.8764689Z       "stages": {
2026-06-04T17:23:02.8765715Z         "doc": {
2026-06-04T17:23:02.8766767Z           "complete": false,
2026-06-04T17:23:02.8767980Z           "evidence": []
2026-06-04T17:23:02.8769104Z         },
2026-06-04T17:23:02.8770123Z         "impl": {
2026-06-04T17:23:02.8771191Z           "complete": false,
2026-06-04T17:23:02.8772412Z           "evidence": []
2026-06-04T17:23:02.8773521Z         },
2026-06-04T17:23:02.8774462Z         "int": {
2026-06-04T17:23:02.8775502Z           "complete": false,
2026-06-04T17:23:02.8776724Z           "evidence": []
2026-06-04T17:23:02.8778161Z         },
2026-06-04T17:23:02.8779127Z         "unit": {
2026-06-04T17:23:02.8780239Z           "complete": false,
2026-06-04T17:23:02.8781489Z           "evidence": []
2026-06-04T17:23:02.8782610Z         }
2026-06-04T17:23:02.8783533Z       }
2026-06-04T17:23:02.8784444Z     },
2026-06-04T17:23:02.8785373Z     {
2026-06-04T17:23:02.8786332Z       "id": "REQ-DOCS-2",
2026-06-04T17:23:02.8787901Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T17:23:02.8789821Z       "requiredStages": [],
2026-06-04T17:23:02.8791027Z       "stages": {
2026-06-04T17:23:02.8792046Z         "doc": {
2026-06-04T17:23:02.8793110Z           "complete": false,
2026-06-04T17:23:02.8794326Z           "evidence": []
2026-06-04T17:23:02.8795445Z         },
2026-06-04T17:23:02.8796390Z         "impl": {
2026-06-04T17:23:02.8797441Z           "complete": false,
2026-06-04T17:23:02.8798645Z           "evidence": []
2026-06-04T17:23:02.8804676Z         },
2026-06-04T17:23:02.8805720Z         "int": {
2026-06-04T17:23:02.8806792Z           "complete": false,
2026-06-04T17:23:02.8808012Z           "evidence": []
2026-06-04T17:23:02.8809118Z         },
2026-06-04T17:23:02.8810219Z         "unit": {
2026-06-04T17:23:02.8811289Z           "complete": false,
2026-06-04T17:23:02.8812503Z           "evidence": []
2026-06-04T17:23:02.8813609Z         }
2026-06-04T17:23:02.8814522Z       }
2026-06-04T17:23:02.8815431Z     },
2026-06-04T17:23:02.8816338Z     {
2026-06-04T17:23:02.8817283Z       "id": "REQ-DOCS-3",
2026-06-04T17:23:02.8819367Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T17:23:02.8821120Z       "requiredStages": [],
2026-06-04T17:23:02.8822302Z       "stages": {
2026-06-04T17:23:02.8823333Z         "doc": {
2026-06-04T17:23:02.8824379Z           "complete": false,
2026-06-04T17:23:02.8825604Z           "evidence": []
2026-06-04T17:23:02.8826703Z         },
2026-06-04T17:23:02.8827640Z         "impl": {
2026-06-04T17:23:02.8828686Z           "complete": false,
2026-06-04T17:23:02.8829992Z           "evidence": []
2026-06-04T17:23:02.8831116Z         },
2026-06-04T17:23:02.8832035Z         "int": {
2026-06-04T17:23:02.8833081Z           "complete": false,
2026-06-04T17:23:02.8834295Z           "evidence": []
2026-06-04T17:23:02.8835408Z         },
2026-06-04T17:23:02.8836344Z         "unit": {
2026-06-04T17:23:02.8837400Z           "complete": false,
2026-06-04T17:23:02.8838601Z           "evidence": []
2026-06-04T17:23:02.8839762Z         }
2026-06-04T17:23:02.8840678Z       }
2026-06-04T17:23:02.8841576Z     },
2026-06-04T17:23:02.8842492Z     {
2026-06-04T17:23:02.8843442Z       "id": "REQ-DOCS-4",
2026-06-04T17:23:02.8845210Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T17:23:02.8847310Z       "requiredStages": [],
2026-06-04T17:23:02.8848482Z       "stages": {
2026-06-04T17:23:02.8849559Z         "doc": {
2026-06-04T17:23:02.8850609Z           "complete": false,
2026-06-04T17:23:02.8851810Z           "evidence": []
2026-06-04T17:23:02.8853234Z         },
2026-06-04T17:23:02.8854222Z         "impl": {
2026-06-04T17:23:02.8855287Z           "complete": false,
2026-06-04T17:23:02.8856504Z           "evidence": []
2026-06-04T17:23:02.8857611Z         },
2026-06-04T17:23:02.8858538Z         "int": {
2026-06-04T17:23:02.8859684Z           "complete": false,
2026-06-04T17:23:02.8860903Z           "evidence": []
2026-06-04T17:23:02.8862003Z         },
2026-06-04T17:23:02.8862932Z         "unit": {
2026-06-04T17:23:02.8863966Z           "complete": false,
2026-06-04T17:23:02.8865168Z           "evidence": []
2026-06-04T17:23:02.8866281Z         }
2026-06-04T17:23:02.8867204Z       }
2026-06-04T17:23:02.8868107Z     },
2026-06-04T17:23:02.8869000Z     {
2026-06-04T17:23:02.8869998Z       "id": "REQ-DOCS-5",
2026-06-04T17:23:02.8871796Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T17:23:02.8873906Z       "requiredStages": [],
2026-06-04T17:23:02.8875081Z       "stages": {
2026-06-04T17:23:02.8876319Z         "doc": {
2026-06-04T17:23:02.8877359Z           "complete": false,
2026-06-04T17:23:02.8878560Z           "evidence": []
2026-06-04T17:23:02.8879730Z         },
2026-06-04T17:23:02.8880666Z         "impl": {
2026-06-04T17:23:02.8881718Z           "complete": false,
2026-06-04T17:23:02.8882928Z           "evidence": []
2026-06-04T17:23:02.8884031Z         },
2026-06-04T17:23:02.8884979Z         "int": {
2026-06-04T17:23:02.8886012Z           "complete": false,
2026-06-04T17:23:02.8887215Z           "evidence": []
2026-06-04T17:23:02.8888321Z         },
2026-06-04T17:23:02.8889291Z         "unit": {
2026-06-04T17:23:02.8890343Z           "complete": false,
2026-06-04T17:23:02.8891548Z           "evidence": []
2026-06-04T17:23:02.8892660Z         }
2026-06-04T17:23:02.8893570Z       }
2026-06-04T17:23:02.8894476Z     },
2026-06-04T17:23:02.8895379Z     {
2026-06-04T17:23:02.8900075Z       "id": "REQ-EP-1",
2026-06-04T17:23:02.8901549Z       "title": "Day-one endpoint types; open type system",
2026-06-04T17:23:02.8903233Z       "requiredStages": [
2026-06-04T17:23:02.8904386Z         "impl",
2026-06-04T17:23:02.8905367Z         "unit"
2026-06-04T17:23:02.8906339Z       ],
2026-06-04T17:23:02.8907256Z       "stages": {
2026-06-04T17:23:02.8908273Z         "doc": {
2026-06-04T17:23:02.8909368Z           "complete": false,
2026-06-04T17:23:02.8910573Z           "evidence": []
2026-06-04T17:23:02.8911672Z         },
2026-06-04T17:23:02.8912592Z         "impl": {
2026-06-04T17:23:02.8913623Z           "complete": true,
2026-06-04T17:23:02.8914782Z           "evidence": [
2026-06-04T17:23:02.8915855Z             {
2026-06-04T17:23:02.8917026Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8918575Z               "line": 77
2026-06-04T17:23:02.8919692Z             },
2026-06-04T17:23:02.8920658Z             {
2026-06-04T17:23:02.8921830Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8923371Z               "line": 94
2026-06-04T17:23:02.8924489Z             }
2026-06-04T17:23:02.8925445Z           ]
2026-06-04T17:23:02.8926357Z         },
2026-06-04T17:23:02.8927288Z         "int": {
2026-06-04T17:23:02.8928317Z           "complete": false,
2026-06-04T17:23:02.8929560Z           "evidence": []
2026-06-04T17:23:02.8930668Z         },
2026-06-04T17:23:02.8931591Z         "unit": {
2026-06-04T17:23:02.8932633Z           "complete": true,
2026-06-04T17:23:02.8933810Z           "evidence": [
2026-06-04T17:23:02.8934878Z             {
2026-06-04T17:23:02.8936046Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8937617Z               "line": 161
2026-06-04T17:23:02.8938730Z             },
2026-06-04T17:23:02.8939735Z             {
2026-06-04T17:23:02.8940899Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8942447Z               "line": 178
2026-06-04T17:23:02.8943551Z             }
2026-06-04T17:23:02.8944500Z           ]
2026-06-04T17:23:02.8945433Z         }
2026-06-04T17:23:02.8946370Z       }
2026-06-04T17:23:02.8947519Z     },
2026-06-04T17:23:02.8948461Z     {
2026-06-04T17:23:02.8949434Z       "id": "REQ-EP-2",
2026-06-04T17:23:02.8950973Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T17:23:02.8952866Z       "requiredStages": [
2026-06-04T17:23:02.8954003Z         "impl",
2026-06-04T17:23:02.8954985Z         "unit"
2026-06-04T17:23:02.8955938Z       ],
2026-06-04T17:23:02.8956873Z       "stages": {
2026-06-04T17:23:02.8957874Z         "doc": {
2026-06-04T17:23:02.8958912Z           "complete": false,
2026-06-04T17:23:02.8960154Z           "evidence": []
2026-06-04T17:23:02.8961254Z         },
2026-06-04T17:23:02.8962244Z         "impl": {
2026-06-04T17:23:02.8963290Z           "complete": true,
2026-06-04T17:23:02.8964464Z           "evidence": [
2026-06-04T17:23:02.8965544Z             {
2026-06-04T17:23:02.8966708Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8968250Z               "line": 114
2026-06-04T17:23:02.8969576Z             },
2026-06-04T17:23:02.8970550Z             {
2026-06-04T17:23:02.8971718Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8973273Z               "line": 131
2026-06-04T17:23:02.8974377Z             },
2026-06-04T17:23:02.8975338Z             {
2026-06-04T17:23:02.8976511Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8978056Z               "line": 138
2026-06-04T17:23:02.8979153Z             }
2026-06-04T17:23:02.8980151Z           ]
2026-06-04T17:23:02.8981074Z         },
2026-06-04T17:23:02.8981996Z         "int": {
2026-06-04T17:23:02.8983023Z           "complete": false,
2026-06-04T17:23:02.8984223Z           "evidence": []
2026-06-04T17:23:02.8985329Z         },
2026-06-04T17:23:02.8986250Z         "unit": {
2026-06-04T17:23:02.8987286Z           "complete": true,
2026-06-04T17:23:02.8988453Z           "evidence": [
2026-06-04T17:23:02.8989561Z             {
2026-06-04T17:23:02.8990734Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.8992294Z               "line": 193
2026-06-04T17:23:02.8996906Z             },
2026-06-04T17:23:02.8997908Z             {
2026-06-04T17:23:02.8999092Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.9000739Z               "line": 211
2026-06-04T17:23:02.9001842Z             },
2026-06-04T17:23:02.9002806Z             {
2026-06-04T17:23:02.9003974Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:23:02.9005523Z               "line": 224
2026-06-04T17:23:02.9006621Z             }
2026-06-04T17:23:02.9007567Z           ]
2026-06-04T17:23:02.9008500Z         }
2026-06-04T17:23:02.9009438Z       }
2026-06-04T17:23:02.9010330Z     },
2026-06-04T17:23:02.9011222Z     {
2026-06-04T17:23:02.9012137Z       "id": "REQ-EP-3",
2026-06-04T17:23:02.9013797Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T17:23:02.9015823Z       "requiredStages": [
2026-06-04T17:23:02.9016989Z         "impl",
2026-06-04T17:23:02.9017969Z         "unit"
2026-06-04T17:23:02.9018940Z       ],
2026-06-04T17:23:02.9019893Z       "stages": {
2026-06-04T17:23:02.9020897Z         "doc": {
2026-06-04T17:23:02.9021917Z           "complete": false,
2026-06-04T17:23:02.9023104Z           "evidence": []
2026-06-04T17:23:02.9024197Z         },
2026-06-04T17:23:02.9025109Z         "impl": {
2026-06-04T17:23:02.9026142Z           "complete": true,
2026-06-04T17:23:02.9027303Z           "evidence": [
2026-06-04T17:23:02.9028376Z             {
2026-06-04T17:23:02.9029578Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9031122Z               "line": 31
2026-06-04T17:23:02.9032200Z             },
2026-06-04T17:23:02.9033148Z             {
2026-06-04T17:23:02.9034287Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9035812Z               "line": 49
2026-06-04T17:23:02.9036886Z             }
2026-06-04T17:23:02.9037826Z           ]
2026-06-04T17:23:02.9038754Z         },
2026-06-04T17:23:02.9039957Z         "int": {
2026-06-04T17:23:02.9041021Z           "complete": false,
2026-06-04T17:23:02.9042208Z           "evidence": []
2026-06-04T17:23:02.9043297Z         },
2026-06-04T17:23:02.9044210Z         "unit": {
2026-06-04T17:23:02.9045236Z           "complete": true,
2026-06-04T17:23:02.9046394Z           "evidence": [
2026-06-04T17:23:02.9047465Z             {
2026-06-04T17:23:02.9048608Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9050182Z               "line": 156
2026-06-04T17:23:02.9051271Z             },
2026-06-04T17:23:02.9052211Z             {
2026-06-04T17:23:02.9053356Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9054875Z               "line": 164
2026-06-04T17:23:02.9055962Z             },
2026-06-04T17:23:02.9056918Z             {
2026-06-04T17:23:02.9058058Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9059621Z               "line": 177
2026-06-04T17:23:02.9060873Z             },
2026-06-04T17:23:02.9061836Z             {
2026-06-04T17:23:02.9062983Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9064501Z               "line": 197
2026-06-04T17:23:02.9065582Z             },
2026-06-04T17:23:02.9066535Z             {
2026-06-04T17:23:02.9067676Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9069230Z               "line": 213
2026-06-04T17:23:02.9070324Z             },
2026-06-04T17:23:02.9071271Z             {
2026-06-04T17:23:02.9072417Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:23:02.9073944Z               "line": 227
2026-06-04T17:23:02.9075029Z             }
2026-06-04T17:23:02.9075969Z           ]
2026-06-04T17:23:02.9076891Z         }
2026-06-04T17:23:02.9077783Z       }
2026-06-04T17:23:02.9078662Z     },
2026-06-04T17:23:02.9079582Z     {
2026-06-04T17:23:02.9080509Z       "id": "REQ-EP-4",
2026-06-04T17:23:02.9081927Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T17:23:02.9083664Z       "requiredStages": [
2026-06-04T17:23:02.9084793Z         "impl",
2026-06-04T17:23:02.9085775Z         "unit"
2026-06-04T17:23:02.9086720Z       ],
2026-06-04T17:23:02.9087622Z       "stages": {
2026-06-04T17:23:02.9091841Z         "doc": {
2026-06-04T17:23:02.9092997Z           "complete": false,
2026-06-04T17:23:02.9094203Z           "evidence": []
2026-06-04T17:23:02.9095304Z         },
2026-06-04T17:23:02.9096230Z         "impl": {
2026-06-04T17:23:02.9097252Z           "complete": true,
2026-06-04T17:23:02.9098417Z           "evidence": [
2026-06-04T17:23:02.9099550Z             {
2026-06-04T17:23:02.9100683Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:02.9102178Z               "line": 419
2026-06-04T17:23:02.9103277Z             },
2026-06-04T17:23:02.9104225Z             {
2026-06-04T17:23:02.9105339Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:02.9106834Z               "line": 631
2026-06-04T17:23:02.9107981Z             },
2026-06-04T17:23:02.9108922Z             {
2026-06-04T17:23:02.9110109Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:02.9111657Z               "line": 696
2026-06-04T17:23:02.9112792Z             },
2026-06-04T17:23:02.9113797Z             {
2026-06-04T17:23:02.9114909Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.9116381Z               "line": 83
2026-06-04T17:23:02.9117453Z             },
2026-06-04T17:23:02.9118410Z             {
2026-06-04T17:23:02.9119602Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.9121106Z               "line": 407
2026-06-04T17:23:02.9122206Z             },
2026-06-04T17:23:02.9123163Z             {
2026-06-04T17:23:02.9124262Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.9125742Z               "line": 478
2026-06-04T17:23:02.9126829Z             },
2026-06-04T17:23:02.9127784Z             {
2026-06-04T17:23:02.9129240Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.9130826Z               "line": 181
2026-06-04T17:23:02.9131925Z             },
2026-06-04T17:23:02.9132875Z             {
2026-06-04T17:23:02.9134023Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.9135556Z               "line": 306
2026-06-04T17:23:02.9136641Z             },
2026-06-04T17:23:02.9137613Z             {
2026-06-04T17:23:02.9138757Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:23:02.9140340Z               "line": 613
2026-06-04T17:23:02.9141431Z             }
2026-06-04T17:23:02.9142368Z           ]
2026-06-04T17:23:02.9143272Z         },
2026-06-04T17:23:02.9144185Z         "int": {
2026-06-04T17:23:02.9145200Z           "complete": false,
2026-06-04T17:23:02.9146379Z           "evidence": []
2026-06-04T17:23:02.9147481Z         },
2026-06-04T17:23:02.9148399Z         "unit": {
2026-06-04T17:23:02.9149453Z           "complete": true,
2026-06-04T17:23:02.9150847Z           "evidence": [
2026-06-04T17:23:02.9151928Z             {
2026-06-04T17:23:02.9153029Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:23:02.9154506Z               "line": 551
2026-06-04T17:23:02.9155594Z             },
2026-06-04T17:23:02.9156553Z             {
2026-06-04T17:23:02.9157744Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T17:23:02.9159338Z               "line": 75
2026-06-04T17:23:02.9160419Z             },
2026-06-04T17:23:02.9161373Z             {
2026-06-04T17:23:02.9162549Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T17:23:02.9164103Z               "line": 131
2026-06-04T17:23:02.9165196Z             }
2026-06-04T17:23:02.9166146Z           ]
2026-06-04T17:23:02.9167079Z         }
2026-06-04T17:23:02.9167979Z       }
2026-06-04T17:23:02.9168863Z     },
2026-06-04T17:23:02.9169810Z     {
2026-06-04T17:23:02.9170738Z       "id": "REQ-EP-5",
2026-06-04T17:23:02.9175343Z       "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-04T17:23:02.9180767Z       "requiredStages": [
2026-06-04T17:23:02.9181924Z         "impl",
2026-06-04T17:23:02.9182895Z         "unit"
2026-06-04T17:23:02.9183845Z       ],
2026-06-04T17:23:02.9184760Z       "stages": {
2026-06-04T17:23:02.9185747Z         "doc": {
2026-06-04T17:23:02.9186760Z           "complete": false,
2026-06-04T17:23:02.9187946Z           "evidence": []
2026-06-04T17:23:02.9189033Z         },
2026-06-04T17:23:02.9189992Z         "impl": {
2026-06-04T17:23:02.9191024Z           "complete": true,
2026-06-04T17:23:02.9195490Z           "evidence": [
2026-06-04T17:23:02.9196671Z             {
2026-06-04T17:23:02.9197861Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-04T17:23:02.9199508Z               "line": 18
2026-06-04T17:23:02.9200607Z             },
2026-06-04T17:23:02.9201611Z             {
2026-06-04T17:23:02.9202777Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-04T17:23:02.9204336Z               "line": 58
2026-06-04T17:23:02.9205418Z             },
2026-06-04T17:23:02.9206368Z             {
2026-06-04T17:23:02.9207526Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-04T17:23:02.9209068Z               "line": 101
2026-06-04T17:23:02.9210218Z             },
2026-06-04T17:23:02.9211281Z             {
2026-06-04T17:23:02.9213130Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9214956Z               "line": 22
2026-06-04T17:23:02.9216069Z             },
2026-06-04T17:23:02.9217030Z             {
2026-06-04T17:23:02.9218179Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9220032Z               "line": 129
2026-06-04T17:23:02.9221160Z             },
2026-06-04T17:23:02.9222116Z             {
2026-06-04T17:23:02.9223266Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9225150Z               "line": 156
2026-06-04T17:23:02.9226850Z             },
2026-06-04T17:23:02.9228002Z             {
2026-06-04T17:23:02.9229205Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9230759Z               "line": 178
2026-06-04T17:23:02.9231849Z             },
2026-06-04T17:23:02.9232813Z             {
2026-06-04T17:23:02.9233969Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9235513Z               "line": 203
2026-06-04T17:23:02.9236623Z             },
2026-06-04T17:23:02.9237574Z             {
2026-06-04T17:23:02.9238723Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9240289Z               "line": 226
2026-06-04T17:23:02.9241377Z             },
2026-06-04T17:23:02.9242334Z             {
2026-06-04T17:23:02.9243482Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9245019Z               "line": 246
2026-06-04T17:23:02.9246359Z             },
2026-06-04T17:23:02.9247334Z             {
2026-06-04T17:23:02.9248482Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.9250029Z               "line": 81
2026-06-04T17:23:02.9251115Z             },
2026-06-04T17:23:02.9252079Z             {
2026-06-04T17:23:02.9253130Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9254537Z               "line": 1634
2026-06-04T17:23:02.9255645Z             },
2026-06-04T17:23:02.9256605Z             {
2026-06-04T17:23:02.9257662Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9259078Z               "line": 1751
2026-06-04T17:23:02.9260228Z             },
2026-06-04T17:23:02.9261194Z             {
2026-06-04T17:23:02.9262257Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9263671Z               "line": 1881
2026-06-04T17:23:02.9264787Z             },
2026-06-04T17:23:02.9265743Z             {
2026-06-04T17:23:02.9266809Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9268245Z               "line": 2107
2026-06-04T17:23:02.9269406Z             }
2026-06-04T17:23:02.9270350Z           ]
2026-06-04T17:23:02.9271263Z         },
2026-06-04T17:23:02.9272176Z         "int": {
2026-06-04T17:23:02.9273193Z           "complete": false,
2026-06-04T17:23:02.9274386Z           "evidence": []
2026-06-04T17:23:02.9274790Z         },
2026-06-04T17:23:02.9275199Z         "unit": {
2026-06-04T17:23:02.9275629Z           "complete": true,
2026-06-04T17:23:02.9276058Z           "evidence": [
2026-06-04T17:23:02.9276449Z             {
2026-06-04T17:23:02.9277079Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-04T17:23:02.9277500Z               "line": 149
2026-06-04T17:23:02.9277899Z             },
2026-06-04T17:23:02.9278298Z             {
2026-06-04T17:23:02.9278912Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-04T17:23:02.9279384Z               "line": 206
2026-06-04T17:23:02.9279775Z             },
2026-06-04T17:23:02.9280198Z             {
2026-06-04T17:23:02.9280820Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9281254Z               "line": 262
2026-06-04T17:23:02.9281656Z             },
2026-06-04T17:23:02.9282053Z             {
2026-06-04T17:23:02.9282660Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:02.9283086Z               "line": 285
2026-06-04T17:23:02.9283495Z             },
2026-06-04T17:23:02.9283886Z             {
2026-06-04T17:23:02.9284488Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.9284920Z               "line": 405
2026-06-04T17:23:02.9285316Z             },
2026-06-04T17:23:02.9285722Z             {
2026-06-04T17:23:02.9286234Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9286665Z               "line": 2523
2026-06-04T17:23:02.9287071Z             },
2026-06-04T17:23:02.9287464Z             {
2026-06-04T17:23:02.9287981Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9288419Z               "line": 2581
2026-06-04T17:23:02.9289009Z             },
2026-06-04T17:23:02.9293669Z             {
2026-06-04T17:23:02.9294339Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9294790Z               "line": 2880
2026-06-04T17:23:02.9295185Z             },
2026-06-04T17:23:02.9295595Z             {
2026-06-04T17:23:02.9296115Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9296550Z               "line": 2935
2026-06-04T17:23:02.9296952Z             }
2026-06-04T17:23:02.9297364Z           ]
2026-06-04T17:23:02.9297769Z         }
2026-06-04T17:23:02.9298171Z       }
2026-06-04T17:23:02.9298577Z     },
2026-06-04T17:23:02.9298973Z     {
2026-06-04T17:23:02.9299544Z       "id": "REQ-FRONT-1",
2026-06-04T17:23:02.9300487Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T17:23:02.9300960Z       "requiredStages": [],
2026-06-04T17:23:02.9301380Z       "stages": {
2026-06-04T17:23:02.9301779Z         "doc": {
2026-06-04T17:23:02.9302541Z           "complete": false,
2026-06-04T17:23:02.9302975Z           "evidence": []
2026-06-04T17:23:02.9303382Z         },
2026-06-04T17:23:02.9303789Z         "impl": {
2026-06-04T17:23:02.9304242Z           "complete": false,
2026-06-04T17:23:02.9304682Z           "evidence": []
2026-06-04T17:23:02.9305080Z         },
2026-06-04T17:23:02.9305491Z         "int": {
2026-06-04T17:23:02.9305936Z           "complete": false,
2026-06-04T17:23:02.9306368Z           "evidence": []
2026-06-04T17:23:02.9306759Z         },
2026-06-04T17:23:02.9307174Z         "unit": {
2026-06-04T17:23:02.9307622Z           "complete": false,
2026-06-04T17:23:02.9308054Z           "evidence": []
2026-06-04T17:23:02.9308459Z         }
2026-06-04T17:23:02.9308852Z       }
2026-06-04T17:23:02.9309299Z     },
2026-06-04T17:23:02.9309687Z     {
2026-06-04T17:23:02.9310300Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T17:23:02.9311205Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T17:23:02.9311694Z       "requiredStages": [
2026-06-04T17:23:02.9312109Z         "impl",
2026-06-04T17:23:02.9312506Z         "unit"
2026-06-04T17:23:02.9312909Z       ],
2026-06-04T17:23:02.9313314Z       "stages": {
2026-06-04T17:23:02.9313723Z         "doc": {
2026-06-04T17:23:02.9314168Z           "complete": false,
2026-06-04T17:23:02.9314599Z           "evidence": []
2026-06-04T17:23:02.9315010Z         },
2026-06-04T17:23:02.9315413Z         "impl": {
2026-06-04T17:23:02.9315857Z           "complete": true,
2026-06-04T17:23:02.9316277Z           "evidence": [
2026-06-04T17:23:02.9316683Z             {
2026-06-04T17:23:02.9317285Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.9317719Z               "line": 131
2026-06-04T17:23:02.9318133Z             },
2026-06-04T17:23:02.9318525Z             {
2026-06-04T17:23:02.9319090Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.9319544Z               "line": 18
2026-06-04T17:23:02.9319963Z             },
2026-06-04T17:23:02.9320375Z             {
2026-06-04T17:23:02.9320931Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.9321386Z               "line": 94
2026-06-04T17:23:02.9321984Z             }
2026-06-04T17:23:02.9322774Z           ]
2026-06-04T17:23:02.9323352Z         },
2026-06-04T17:23:02.9323772Z         "int": {
2026-06-04T17:23:02.9324233Z           "complete": false,
2026-06-04T17:23:02.9324675Z           "evidence": []
2026-06-04T17:23:02.9325084Z         },
2026-06-04T17:23:02.9325489Z         "unit": {
2026-06-04T17:23:02.9325935Z           "complete": true,
2026-06-04T17:23:02.9326353Z           "evidence": [
2026-06-04T17:23:02.9326755Z             {
2026-06-04T17:23:02.9327363Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:02.9327787Z               "line": 461
2026-06-04T17:23:02.9328194Z             },
2026-06-04T17:23:02.9328596Z             {
2026-06-04T17:23:02.9329214Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.9329866Z               "line": 152
2026-06-04T17:23:02.9330311Z             },
2026-06-04T17:23:02.9330727Z             {
2026-06-04T17:23:02.9331283Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.9331719Z               "line": 188
2026-06-04T17:23:02.9332119Z             }
2026-06-04T17:23:02.9332528Z           ]
2026-06-04T17:23:02.9332921Z         }
2026-06-04T17:23:02.9333326Z       }
2026-06-04T17:23:02.9333728Z     },
2026-06-04T17:23:02.9334124Z     {
2026-06-04T17:23:02.9334729Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T17:23:02.9338097Z       "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-04T17:23:02.9338564Z       "requiredStages": [
2026-06-04T17:23:02.9338966Z         "impl",
2026-06-04T17:23:02.9339420Z         "unit"
2026-06-04T17:23:02.9339983Z       ],
2026-06-04T17:23:02.9340412Z       "stages": {
2026-06-04T17:23:02.9340824Z         "doc": {
2026-06-04T17:23:02.9341264Z           "complete": false,
2026-06-04T17:23:02.9341701Z           "evidence": []
2026-06-04T17:23:02.9342099Z         },
2026-06-04T17:23:02.9342509Z         "impl": {
2026-06-04T17:23:02.9342956Z           "complete": true,
2026-06-04T17:23:02.9343373Z           "evidence": [
2026-06-04T17:23:02.9343775Z             {
2026-06-04T17:23:02.9344393Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:23:02.9344824Z               "line": 22
2026-06-04T17:23:02.9345222Z             },
2026-06-04T17:23:02.9345626Z             {
2026-06-04T17:23:02.9346200Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:02.9346624Z               "line": 417
2026-06-04T17:23:02.9347024Z             },
2026-06-04T17:23:02.9347421Z             {
2026-06-04T17:23:02.9348021Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:23:02.9348454Z               "line": 17
2026-06-04T17:23:02.9348869Z             },
2026-06-04T17:23:02.9349321Z             {
2026-06-04T17:23:02.9349918Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:23:02.9350350Z               "line": 125
2026-06-04T17:23:02.9350750Z             },
2026-06-04T17:23:02.9351153Z             {
2026-06-04T17:23:02.9351800Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:02.9352223Z               "line": 169
2026-06-04T17:23:02.9352629Z             },
2026-06-04T17:23:02.9353027Z             {
2026-06-04T17:23:02.9353672Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:02.9354090Z               "line": 197
2026-06-04T17:23:02.9354491Z             },
2026-06-04T17:23:02.9354895Z             {
2026-06-04T17:23:02.9355533Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:02.9355971Z               "line": 223
2026-06-04T17:23:02.9356367Z             },
2026-06-04T17:23:02.9356787Z             {
2026-06-04T17:23:02.9357409Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:02.9357841Z               "line": 122
2026-06-04T17:23:02.9358248Z             },
2026-06-04T17:23:02.9358655Z             {
2026-06-04T17:23:02.9359316Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:02.9359754Z               "line": 222
2026-06-04T17:23:02.9360163Z             }
2026-06-04T17:23:02.9360562Z           ]
2026-06-04T17:23:02.9360969Z         },
2026-06-04T17:23:02.9361377Z         "int": {
2026-06-04T17:23:02.9361818Z           "complete": false,
2026-06-04T17:23:02.9362252Z           "evidence": []
2026-06-04T17:23:02.9362648Z         },
2026-06-04T17:23:02.9363060Z         "unit": {
2026-06-04T17:23:02.9363495Z           "complete": true,
2026-06-04T17:23:02.9363925Z           "evidence": [
2026-06-04T17:23:02.9364331Z             {
2026-06-04T17:23:02.9364944Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:23:02.9365384Z               "line": 53
2026-06-04T17:23:02.9365988Z             },
2026-06-04T17:23:02.9366410Z             {
2026-06-04T17:23:02.9367017Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:23:02.9367447Z               "line": 60
2026-06-04T17:23:02.9367856Z             },
2026-06-04T17:23:02.9368249Z             {
2026-06-04T17:23:02.9368864Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:23:02.9369337Z               "line": 72
2026-06-04T17:23:02.9369753Z             },
2026-06-04T17:23:02.9370153Z             {
2026-06-04T17:23:02.9370756Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:23:02.9371184Z               "line": 298
2026-06-04T17:23:02.9374882Z             },
2026-06-04T17:23:02.9375393Z             {
2026-06-04T17:23:02.9376015Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:23:02.9376451Z               "line": 247
2026-06-04T17:23:02.9376855Z             },
2026-06-04T17:23:02.9377263Z             {
2026-06-04T17:23:02.9378174Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:23:02.9378613Z               "line": 282
2026-06-04T17:23:02.9379026Z             },
2026-06-04T17:23:02.9379510Z             {
2026-06-04T17:23:02.9380121Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:23:02.9380549Z               "line": 313
2026-06-04T17:23:02.9380962Z             },
2026-06-04T17:23:02.9381365Z             {
2026-06-04T17:23:02.9382010Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:02.9382445Z               "line": 604
2026-06-04T17:23:02.9382844Z             },
2026-06-04T17:23:02.9383248Z             {
2026-06-04T17:23:02.9383863Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:02.9384286Z               "line": 383
2026-06-04T17:23:02.9384693Z             },
2026-06-04T17:23:02.9385087Z             {
2026-06-04T17:23:02.9385693Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:02.9386149Z               "line": 420
2026-06-04T17:23:02.9386622Z             }
2026-06-04T17:23:02.9387368Z           ]
2026-06-04T17:23:02.9387965Z         }
2026-06-04T17:23:02.9388456Z       }
2026-06-04T17:23:02.9388935Z     },
2026-06-04T17:23:02.9389547Z     {
2026-06-04T17:23:02.9390271Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T17:23:02.9391644Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T17:23:02.9392201Z       "requiredStages": [
2026-06-04T17:23:02.9392684Z         "impl",
2026-06-04T17:23:02.9393165Z         "unit"
2026-06-04T17:23:02.9393616Z       ],
2026-06-04T17:23:02.9394094Z       "stages": {
2026-06-04T17:23:02.9394563Z         "doc": {
2026-06-04T17:23:02.9395042Z           "complete": false,
2026-06-04T17:23:02.9395517Z           "evidence": []
2026-06-04T17:23:02.9395944Z         },
2026-06-04T17:23:02.9396379Z         "impl": {
2026-06-04T17:23:02.9396852Z           "complete": true,
2026-06-04T17:23:02.9397791Z           "evidence": [
2026-06-04T17:23:02.9398263Z             {
2026-06-04T17:23:02.9398915Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:23:02.9399488Z               "line": 164
2026-06-04T17:23:02.9400105Z             }
2026-06-04T17:23:02.9400602Z           ]
2026-06-04T17:23:02.9401118Z         },
2026-06-04T17:23:02.9401608Z         "int": {
2026-06-04T17:23:02.9402154Z           "complete": true,
2026-06-04T17:23:02.9402635Z           "evidence": [
2026-06-04T17:23:02.9403116Z             {
2026-06-04T17:23:02.9403753Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T17:23:02.9404248Z               "line": 44
2026-06-04T17:23:02.9404715Z             },
2026-06-04T17:23:02.9405207Z             {
2026-06-04T17:23:02.9405828Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T17:23:02.9406327Z               "line": 66
2026-06-04T17:23:02.9406790Z             }
2026-06-04T17:23:02.9407265Z           ]
2026-06-04T17:23:02.9407712Z         },
2026-06-04T17:23:02.9408218Z         "unit": {
2026-06-04T17:23:02.9409143Z           "complete": true,
2026-06-04T17:23:02.9409787Z           "evidence": [
2026-06-04T17:23:02.9410225Z             {
2026-06-04T17:23:02.9410867Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:23:02.9411367Z               "line": 181
2026-06-04T17:23:02.9411835Z             },
2026-06-04T17:23:02.9412314Z             {
2026-06-04T17:23:02.9413008Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:23:02.9413538Z               "line": 233
2026-06-04T17:23:02.9414016Z             },
2026-06-04T17:23:02.9414491Z             {
2026-06-04T17:23:02.9415191Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:23:02.9415728Z               "line": 261
2026-06-04T17:23:02.9416282Z             }
2026-06-04T17:23:02.9416792Z           ]
2026-06-04T17:23:02.9417281Z         }
2026-06-04T17:23:02.9417815Z       }
2026-06-04T17:23:02.9418320Z     },
2026-06-04T17:23:02.9418782Z     {
2026-06-04T17:23:02.9419975Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T17:23:02.9422804Z       "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-04T17:23:02.9423309Z       "requiredStages": [
2026-06-04T17:23:02.9423722Z         "impl",
2026-06-04T17:23:02.9424138Z         "unit",
2026-06-04T17:23:02.9424537Z         "int"
2026-06-04T17:23:02.9424943Z       ],
2026-06-04T17:23:02.9425353Z       "stages": {
2026-06-04T17:23:02.9425767Z         "doc": {
2026-06-04T17:23:02.9426221Z           "complete": false,
2026-06-04T17:23:02.9426652Z           "evidence": []
2026-06-04T17:23:02.9427059Z         },
2026-06-04T17:23:02.9427466Z         "impl": {
2026-06-04T17:23:02.9427919Z           "complete": true,
2026-06-04T17:23:02.9428347Z           "evidence": [
2026-06-04T17:23:02.9428754Z             {
2026-06-04T17:23:02.9429427Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.9429889Z               "line": 150
2026-06-04T17:23:02.9430298Z             },
2026-06-04T17:23:02.9430698Z             {
2026-06-04T17:23:02.9431315Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.9431745Z               "line": 169
2026-06-04T17:23:02.9432158Z             },
2026-06-04T17:23:02.9432565Z             {
2026-06-04T17:23:02.9433128Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:02.9433558Z               "line": 79
2026-06-04T17:23:02.9433955Z             },
2026-06-04T17:23:02.9434357Z             {
2026-06-04T17:23:02.9434894Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:02.9435325Z               "line": 51
2026-06-04T17:23:02.9435727Z             },
2026-06-04T17:23:02.9436117Z             {
2026-06-04T17:23:02.9436677Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9437097Z               "line": 154
2026-06-04T17:23:02.9437505Z             },
2026-06-04T17:23:02.9437910Z             {
2026-06-04T17:23:02.9438519Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9439068Z               "line": 27
2026-06-04T17:23:02.9439512Z             },
2026-06-04T17:23:02.9439920Z             {
2026-06-04T17:23:02.9440517Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9440946Z               "line": 79
2026-06-04T17:23:02.9441339Z             },
2026-06-04T17:23:02.9441748Z             {
2026-06-04T17:23:02.9442350Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9442776Z               "line": 102
2026-06-04T17:23:02.9443183Z             },
2026-06-04T17:23:02.9443583Z             {
2026-06-04T17:23:02.9444185Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:02.9444615Z               "line": 108
2026-06-04T17:23:02.9445006Z             }
2026-06-04T17:23:02.9445409Z           ]
2026-06-04T17:23:02.9445801Z         },
2026-06-04T17:23:02.9446212Z         "int": {
2026-06-04T17:23:02.9446881Z           "complete": true,
2026-06-04T17:23:02.9447334Z           "evidence": [
2026-06-04T17:23:02.9447728Z             {
2026-06-04T17:23:02.9454293Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:23:02.9454825Z               "line": 35
2026-06-04T17:23:02.9455235Z             }
2026-06-04T17:23:02.9455629Z           ]
2026-06-04T17:23:02.9456033Z         },
2026-06-04T17:23:02.9456443Z         "unit": {
2026-06-04T17:23:02.9456895Z           "complete": true,
2026-06-04T17:23:02.9457320Z           "evidence": [
2026-06-04T17:23:02.9457715Z             {
2026-06-04T17:23:02.9458347Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.9458772Z               "line": 544
2026-06-04T17:23:02.9459279Z             },
2026-06-04T17:23:02.9460006Z             {
2026-06-04T17:23:02.9460786Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9461268Z               "line": 330
2026-06-04T17:23:02.9462158Z             },
2026-06-04T17:23:02.9462576Z             {
2026-06-04T17:23:02.9463174Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9463607Z               "line": 124
2026-06-04T17:23:02.9463993Z             },
2026-06-04T17:23:02.9464388Z             {
2026-06-04T17:23:02.9464993Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9465413Z               "line": 136
2026-06-04T17:23:02.9465813Z             },
2026-06-04T17:23:02.9466199Z             {
2026-06-04T17:23:02.9466800Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9467213Z               "line": 146
2026-06-04T17:23:02.9467614Z             },
2026-06-04T17:23:02.9468034Z             {
2026-06-04T17:23:02.9469098Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9469634Z               "line": 159
2026-06-04T17:23:02.9470254Z             },
2026-06-04T17:23:02.9470653Z             {
2026-06-04T17:23:02.9471267Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:23:02.9471716Z               "line": 171
2026-06-04T17:23:02.9472121Z             },
2026-06-04T17:23:02.9472515Z             {
2026-06-04T17:23:02.9473121Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:02.9473551Z               "line": 207
2026-06-04T17:23:02.9473956Z             }
2026-06-04T17:23:02.9474358Z           ]
2026-06-04T17:23:02.9474745Z         }
2026-06-04T17:23:02.9475143Z       }
2026-06-04T17:23:02.9475526Z     },
2026-06-04T17:23:02.9475917Z     {
2026-06-04T17:23:02.9476508Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T17:23:02.9481012Z       "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-04T17:23:02.9481513Z       "requiredStages": [],
2026-06-04T17:23:02.9481918Z       "stages": {
2026-06-04T17:23:02.9482353Z         "doc": {
2026-06-04T17:23:02.9482797Z           "complete": false,
2026-06-04T17:23:02.9483230Z           "evidence": []
2026-06-04T17:23:02.9483619Z         },
2026-06-04T17:23:02.9484031Z         "impl": {
2026-06-04T17:23:02.9484486Z           "complete": false,
2026-06-04T17:23:02.9484905Z           "evidence": []
2026-06-04T17:23:02.9485459Z         },
2026-06-04T17:23:02.9485892Z         "int": {
2026-06-04T17:23:02.9486387Z           "complete": false,
2026-06-04T17:23:02.9486834Z           "evidence": []
2026-06-04T17:23:02.9487252Z         },
2026-06-04T17:23:02.9487678Z         "unit": {
2026-06-04T17:23:02.9488131Z           "complete": false,
2026-06-04T17:23:02.9488575Z           "evidence": []
2026-06-04T17:23:02.9488979Z         }
2026-06-04T17:23:02.9489577Z       }
2026-06-04T17:23:02.9489970Z     },
2026-06-04T17:23:02.9490372Z     {
2026-06-04T17:23:02.9490880Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T17:23:02.9492050Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T17:23:02.9492551Z       "requiredStages": [
2026-06-04T17:23:02.9492952Z         "impl",
2026-06-04T17:23:02.9493354Z         "unit"
2026-06-04T17:23:02.9493743Z       ],
2026-06-04T17:23:02.9494164Z       "stages": {
2026-06-04T17:23:02.9494582Z         "doc": {
2026-06-04T17:23:02.9495019Z           "complete": false,
2026-06-04T17:23:02.9495466Z           "evidence": []
2026-06-04T17:23:02.9495869Z         },
2026-06-04T17:23:02.9496287Z         "impl": {
2026-06-04T17:23:02.9496716Z           "complete": true,
2026-06-04T17:23:02.9497143Z           "evidence": [
2026-06-04T17:23:02.9497547Z             {
2026-06-04T17:23:02.9498115Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9498540Z               "line": 40
2026-06-04T17:23:02.9498926Z             },
2026-06-04T17:23:02.9499384Z             {
2026-06-04T17:23:02.9500278Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9500852Z               "line": 98
2026-06-04T17:23:02.9501258Z             },
2026-06-04T17:23:02.9501647Z             {
2026-06-04T17:23:02.9502229Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9502653Z               "line": 209
2026-06-04T17:23:02.9503057Z             },
2026-06-04T17:23:02.9503443Z             {
2026-06-04T17:23:02.9504026Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9504450Z               "line": 291
2026-06-04T17:23:02.9504842Z             }
2026-06-04T17:23:02.9505241Z           ]
2026-06-04T17:23:02.9505633Z         },
2026-06-04T17:23:02.9506048Z         "int": {
2026-06-04T17:23:02.9506481Z           "complete": false,
2026-06-04T17:23:02.9506913Z           "evidence": []
2026-06-04T17:23:02.9507314Z         },
2026-06-04T17:23:02.9507711Z         "unit": {
2026-06-04T17:23:02.9508158Z           "complete": true,
2026-06-04T17:23:02.9508574Z           "evidence": [
2026-06-04T17:23:02.9508973Z             {
2026-06-04T17:23:02.9509611Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9510052Z               "line": 326
2026-06-04T17:23:02.9510460Z             },
2026-06-04T17:23:02.9510852Z             {
2026-06-04T17:23:02.9511425Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9511849Z               "line": 372
2026-06-04T17:23:02.9512256Z             },
2026-06-04T17:23:02.9512650Z             {
2026-06-04T17:23:02.9513231Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9513669Z               "line": 413
2026-06-04T17:23:02.9514066Z             },
2026-06-04T17:23:02.9514467Z             {
2026-06-04T17:23:02.9515024Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9515458Z               "line": 432
2026-06-04T17:23:02.9515875Z             }
2026-06-04T17:23:02.9516271Z           ]
2026-06-04T17:23:02.9516678Z         }
2026-06-04T17:23:02.9517075Z       }
2026-06-04T17:23:02.9517482Z     },
2026-06-04T17:23:02.9517875Z     {
2026-06-04T17:23:02.9518492Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T17:23:02.9519133Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T17:23:02.9519636Z       "requiredStages": [
2026-06-04T17:23:02.9520067Z         "impl",
2026-06-04T17:23:02.9520466Z         "unit"
2026-06-04T17:23:02.9520869Z       ],
2026-06-04T17:23:02.9521279Z       "stages": {
2026-06-04T17:23:02.9521688Z         "doc": {
2026-06-04T17:23:02.9522135Z           "complete": false,
2026-06-04T17:23:02.9522572Z           "evidence": []
2026-06-04T17:23:02.9522981Z         },
2026-06-04T17:23:02.9523384Z         "impl": {
2026-06-04T17:23:02.9523832Z           "complete": true,
2026-06-04T17:23:02.9524256Z           "evidence": [
2026-06-04T17:23:02.9524664Z             {
2026-06-04T17:23:02.9525228Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9525670Z               "line": 111
2026-06-04T17:23:02.9526079Z             },
2026-06-04T17:23:02.9526485Z             {
2026-06-04T17:23:02.9527301Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9527757Z               "line": 202
2026-06-04T17:23:02.9528168Z             }
2026-06-04T17:23:02.9528586Z           ]
2026-06-04T17:23:02.9528979Z         },
2026-06-04T17:23:02.9529444Z         "int": {
2026-06-04T17:23:02.9529904Z           "complete": false,
2026-06-04T17:23:02.9530344Z           "evidence": []
2026-06-04T17:23:02.9530738Z         },
2026-06-04T17:23:02.9531155Z         "unit": {
2026-06-04T17:23:02.9531601Z           "complete": true,
2026-06-04T17:23:02.9532049Z           "evidence": [
2026-06-04T17:23:02.9532461Z             {
2026-06-04T17:23:02.9533036Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9533477Z               "line": 347
2026-06-04T17:23:02.9539077Z             },
2026-06-04T17:23:02.9539728Z             {
2026-06-04T17:23:02.9540331Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:02.9540766Z               "line": 391
2026-06-04T17:23:02.9541462Z             }
2026-06-04T17:23:02.9541873Z           ]
2026-06-04T17:23:02.9542283Z         }
2026-06-04T17:23:02.9542676Z       }
2026-06-04T17:23:02.9543085Z     },
2026-06-04T17:23:02.9543484Z     {
2026-06-04T17:23:02.9544094Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T17:23:02.9545265Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T17:23:02.9545722Z       "requiredStages": [
2026-06-04T17:23:02.9546142Z         "impl",
2026-06-04T17:23:02.9546541Z         "unit"
2026-06-04T17:23:02.9546938Z       ],
2026-06-04T17:23:02.9547356Z       "stages": {
2026-06-04T17:23:02.9547755Z         "doc": {
2026-06-04T17:23:02.9548217Z           "complete": false,
2026-06-04T17:23:02.9548644Z           "evidence": []
2026-06-04T17:23:02.9549048Z         },
2026-06-04T17:23:02.9549498Z         "impl": {
2026-06-04T17:23:02.9549945Z           "complete": true,
2026-06-04T17:23:02.9550379Z           "evidence": [
2026-06-04T17:23:02.9550797Z             {
2026-06-04T17:23:02.9551394Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9551815Z               "line": 26
2026-06-04T17:23:02.9552222Z             },
2026-06-04T17:23:02.9552617Z             {
2026-06-04T17:23:02.9553198Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9553632Z               "line": 126
2026-06-04T17:23:02.9554034Z             },
2026-06-04T17:23:02.9554441Z             {
2026-06-04T17:23:02.9555069Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:23:02.9555494Z               "line": 26
2026-06-04T17:23:02.9555887Z             },
2026-06-04T17:23:02.9556295Z             {
2026-06-04T17:23:02.9556932Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:23:02.9557357Z               "line": 233
2026-06-04T17:23:02.9557764Z             }
2026-06-04T17:23:02.9558155Z           ]
2026-06-04T17:23:02.9558560Z         },
2026-06-04T17:23:02.9558965Z         "int": {
2026-06-04T17:23:02.9559485Z           "complete": false,
2026-06-04T17:23:02.9559928Z           "evidence": []
2026-06-04T17:23:02.9560327Z         },
2026-06-04T17:23:02.9560744Z         "unit": {
2026-06-04T17:23:02.9561185Z           "complete": true,
2026-06-04T17:23:02.9561647Z           "evidence": [
2026-06-04T17:23:02.9562051Z             {
2026-06-04T17:23:02.9562637Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9563072Z               "line": 152
2026-06-04T17:23:02.9563471Z             },
2026-06-04T17:23:02.9563871Z             {
2026-06-04T17:23:02.9564444Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9564874Z               "line": 161
2026-06-04T17:23:02.9565264Z             },
2026-06-04T17:23:02.9565671Z             {
2026-06-04T17:23:02.9566253Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9566678Z               "line": 170
2026-06-04T17:23:02.9567083Z             },
2026-06-04T17:23:02.9567489Z             {
2026-06-04T17:23:02.9568238Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9568690Z               "line": 179
2026-06-04T17:23:02.9569102Z             },
2026-06-04T17:23:02.9569555Z             {
2026-06-04T17:23:02.9570130Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9570567Z               "line": 188
2026-06-04T17:23:02.9570962Z             },
2026-06-04T17:23:02.9571367Z             {
2026-06-04T17:23:02.9571939Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9572384Z               "line": 199
2026-06-04T17:23:02.9572791Z             },
2026-06-04T17:23:02.9573189Z             {
2026-06-04T17:23:02.9573769Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:23:02.9574201Z               "line": 225
2026-06-04T17:23:02.9574608Z             },
2026-06-04T17:23:02.9575000Z             {
2026-06-04T17:23:02.9575573Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:02.9576157Z               "line": 245
2026-06-04T17:23:02.9576570Z             },
2026-06-04T17:23:02.9576980Z             {
2026-06-04T17:23:02.9577559Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:02.9577995Z               "line": 212
2026-06-04T17:23:02.9578391Z             },
2026-06-04T17:23:02.9578798Z             {
2026-06-04T17:23:02.9579493Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:23:02.9579920Z               "line": 256
2026-06-04T17:23:02.9580328Z             },
2026-06-04T17:23:02.9580722Z             {
2026-06-04T17:23:02.9581352Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:23:02.9581785Z               "line": 281
2026-06-04T17:23:02.9582180Z             },
2026-06-04T17:23:02.9582583Z             {
2026-06-04T17:23:02.9583211Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:23:02.9583646Z               "line": 293
2026-06-04T17:23:02.9584047Z             },
2026-06-04T17:23:02.9584463Z             {
2026-06-04T17:23:02.9585108Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:23:02.9585537Z               "line": 303
2026-06-04T17:23:02.9585942Z             },
2026-06-04T17:23:02.9586337Z             {
2026-06-04T17:23:02.9586951Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:02.9587383Z               "line": 502
2026-06-04T17:23:02.9587790Z             }
2026-06-04T17:23:02.9588198Z           ]
2026-06-04T17:23:02.9588588Z         }
2026-06-04T17:23:02.9588994Z       }
2026-06-04T17:23:02.9589424Z     },
2026-06-04T17:23:02.9589826Z     {
2026-06-04T17:23:02.9590408Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T17:23:02.9591165Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T17:23:02.9591616Z       "requiredStages": [
2026-06-04T17:23:02.9592016Z         "impl",
2026-06-04T17:23:02.9592423Z         "unit"
2026-06-04T17:23:02.9592816Z       ],
2026-06-04T17:23:02.9593238Z       "stages": {
2026-06-04T17:23:02.9593668Z         "doc": {
2026-06-04T17:23:02.9594128Z           "complete": false,
2026-06-04T17:23:02.9594566Z           "evidence": []
2026-06-04T17:23:02.9594962Z         },
2026-06-04T17:23:02.9595380Z         "impl": {
2026-06-04T17:23:02.9595817Z           "complete": true,
2026-06-04T17:23:02.9596244Z           "evidence": [
2026-06-04T17:23:02.9596636Z             {
2026-06-04T17:23:02.9597191Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:02.9597623Z               "line": 25
2026-06-04T17:23:02.9598022Z             },
2026-06-04T17:23:02.9598429Z             {
2026-06-04T17:23:02.9598985Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:02.9599458Z               "line": 26
2026-06-04T17:23:02.9599858Z             },
2026-06-04T17:23:02.9600265Z             {
2026-06-04T17:23:02.9600839Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:02.9601259Z               "line": 153
2026-06-04T17:23:02.9601665Z             }
2026-06-04T17:23:02.9602236Z           ]
2026-06-04T17:23:02.9602652Z         },
2026-06-04T17:23:02.9603052Z         "int": {
2026-06-04T17:23:02.9603508Z           "complete": false,
2026-06-04T17:23:02.9603950Z           "evidence": []
2026-06-04T17:23:02.9604346Z         },
2026-06-04T17:23:02.9604760Z         "unit": {
2026-06-04T17:23:02.9605197Z           "complete": true,
2026-06-04T17:23:02.9605632Z           "evidence": [
2026-06-04T17:23:02.9606029Z             {
2026-06-04T17:23:02.9606589Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:02.9607016Z               "line": 180
2026-06-04T17:23:02.9607412Z             },
2026-06-04T17:23:02.9607815Z             {
2026-06-04T17:23:02.9608368Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:02.9608803Z               "line": 205
2026-06-04T17:23:02.9609244Z             },
2026-06-04T17:23:02.9609652Z             {
2026-06-04T17:23:02.9610221Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:02.9610814Z               "line": 180
2026-06-04T17:23:02.9611223Z             }
2026-06-04T17:23:02.9611621Z           ]
2026-06-04T17:23:02.9612025Z         }
2026-06-04T17:23:02.9612418Z       }
2026-06-04T17:23:02.9612818Z     },
2026-06-04T17:23:02.9613215Z     {
2026-06-04T17:23:02.9617989Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T17:23:02.9618965Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T17:23:02.9619504Z       "requiredStages": [
2026-06-04T17:23:02.9619937Z         "impl",
2026-06-04T17:23:02.9620340Z         "unit"
2026-06-04T17:23:02.9620745Z       ],
2026-06-04T17:23:02.9621165Z       "stages": {
2026-06-04T17:23:02.9621566Z         "doc": {
2026-06-04T17:23:02.9622015Z           "complete": false,
2026-06-04T17:23:02.9622448Z           "evidence": []
2026-06-04T17:23:02.9622855Z         },
2026-06-04T17:23:02.9623261Z         "impl": {
2026-06-04T17:23:02.9623713Z           "complete": true,
2026-06-04T17:23:02.9624139Z           "evidence": [
2026-06-04T17:23:02.9624583Z             {
2026-06-04T17:23:02.9625180Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9625596Z               "line": 48
2026-06-04T17:23:02.9626002Z             },
2026-06-04T17:23:02.9626399Z             {
2026-06-04T17:23:02.9626981Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9627411Z               "line": 55
2026-06-04T17:23:02.9627807Z             },
2026-06-04T17:23:02.9628209Z             {
2026-06-04T17:23:02.9628778Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9629243Z               "line": 74
2026-06-04T17:23:02.9629646Z             },
2026-06-04T17:23:02.9630055Z             {
2026-06-04T17:23:02.9630632Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9631051Z               "line": 91
2026-06-04T17:23:02.9631458Z             }
2026-06-04T17:23:02.9631859Z           ]
2026-06-04T17:23:02.9632259Z         },
2026-06-04T17:23:02.9632675Z         "int": {
2026-06-04T17:23:02.9633138Z           "complete": false,
2026-06-04T17:23:02.9633573Z           "evidence": []
2026-06-04T17:23:02.9633967Z         },
2026-06-04T17:23:02.9634383Z         "unit": {
2026-06-04T17:23:02.9634820Z           "complete": true,
2026-06-04T17:23:02.9635252Z           "evidence": [
2026-06-04T17:23:02.9635646Z             {
2026-06-04T17:23:02.9636230Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9636660Z               "line": 149
2026-06-04T17:23:02.9637058Z             },
2026-06-04T17:23:02.9637470Z             {
2026-06-04T17:23:02.9638037Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9638468Z               "line": 163
2026-06-04T17:23:02.9638864Z             },
2026-06-04T17:23:02.9639305Z             {
2026-06-04T17:23:02.9639889Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9640311Z               "line": 173
2026-06-04T17:23:02.9640720Z             },
2026-06-04T17:23:02.9641301Z             {
2026-06-04T17:23:02.9642550Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9643087Z               "line": 191
2026-06-04T17:23:02.9643557Z             },
2026-06-04T17:23:02.9644063Z             {
2026-06-04T17:23:02.9644684Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:02.9645150Z               "line": 204
2026-06-04T17:23:02.9645579Z             }
2026-06-04T17:23:02.9645985Z           ]
2026-06-04T17:23:02.9646404Z         }
2026-06-04T17:23:02.9646816Z       }
2026-06-04T17:23:02.9647232Z     },
2026-06-04T17:23:02.9647637Z     {
2026-06-04T17:23:02.9648293Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T17:23:02.9649556Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T17:23:02.9650021Z       "requiredStages": [
2026-06-04T17:23:02.9650435Z         "impl",
2026-06-04T17:23:02.9650835Z         "unit"
2026-06-04T17:23:02.9651237Z       ],
2026-06-04T17:23:02.9651848Z       "stages": {
2026-06-04T17:23:02.9652270Z         "doc": {
2026-06-04T17:23:02.9652730Z           "complete": false,
2026-06-04T17:23:02.9653155Z           "evidence": []
2026-06-04T17:23:02.9653561Z         },
2026-06-04T17:23:02.9653969Z         "impl": {
2026-06-04T17:23:02.9654419Z           "complete": true,
2026-06-04T17:23:02.9654841Z           "evidence": [
2026-06-04T17:23:02.9655244Z             {
2026-06-04T17:23:02.9655872Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.9656292Z               "line": 341
2026-06-04T17:23:02.9656696Z             },
2026-06-04T17:23:02.9657089Z             {
2026-06-04T17:23:02.9657670Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:02.9658094Z               "line": 26
2026-06-04T17:23:02.9658503Z             }
2026-06-04T17:23:02.9658914Z           ]
2026-06-04T17:23:02.9659535Z         },
2026-06-04T17:23:02.9660100Z         "int": {
2026-06-04T17:23:02.9660551Z           "complete": false,
2026-06-04T17:23:02.9661010Z           "evidence": []
2026-06-04T17:23:02.9661407Z         },
2026-06-04T17:23:02.9661829Z         "unit": {
2026-06-04T17:23:02.9662281Z           "complete": true,
2026-06-04T17:23:02.9662712Z           "evidence": [
2026-06-04T17:23:02.9663289Z             {
2026-06-04T17:23:02.9664201Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:02.9664656Z               "line": 139
2026-06-04T17:23:02.9665067Z             },
2026-06-04T17:23:02.9665482Z             {
2026-06-04T17:23:02.9666084Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:02.9666519Z               "line": 182
2026-06-04T17:23:02.9666937Z             }
2026-06-04T17:23:02.9667350Z           ]
2026-06-04T17:23:02.9667769Z         }
2026-06-04T17:23:02.9668179Z       }
2026-06-04T17:23:02.9668594Z     },
2026-06-04T17:23:02.9669008Z     {
2026-06-04T17:23:02.9669823Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T17:23:02.9670631Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T17:23:02.9671111Z       "requiredStages": [
2026-06-04T17:23:02.9671526Z         "impl",
2026-06-04T17:23:02.9671929Z         "unit"
2026-06-04T17:23:02.9672334Z       ],
2026-06-04T17:23:02.9672754Z       "stages": {
2026-06-04T17:23:02.9673154Z         "doc": {
2026-06-04T17:23:02.9673611Z           "complete": false,
2026-06-04T17:23:02.9674033Z           "evidence": []
2026-06-04T17:23:02.9674432Z         },
2026-06-04T17:23:02.9674834Z         "impl": {
2026-06-04T17:23:02.9675286Z           "complete": true,
2026-06-04T17:23:02.9675716Z           "evidence": [
2026-06-04T17:23:02.9676108Z             {
2026-06-04T17:23:02.9676724Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9677147Z               "line": 36
2026-06-04T17:23:02.9677561Z             },
2026-06-04T17:23:02.9677950Z             {
2026-06-04T17:23:02.9678570Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9679000Z               "line": 68
2026-06-04T17:23:02.9679620Z             }
2026-06-04T17:23:02.9680041Z           ]
2026-06-04T17:23:02.9680434Z         },
2026-06-04T17:23:02.9680851Z         "int": {
2026-06-04T17:23:02.9681292Z           "complete": false,
2026-06-04T17:23:02.9681724Z           "evidence": []
2026-06-04T17:23:02.9682131Z         },
2026-06-04T17:23:02.9682537Z         "unit": {
2026-06-04T17:23:02.9682984Z           "complete": true,
2026-06-04T17:23:02.9683413Z           "evidence": [
2026-06-04T17:23:02.9683823Z             {
2026-06-04T17:23:02.9684433Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9684871Z               "line": 143
2026-06-04T17:23:02.9685273Z             },
2026-06-04T17:23:02.9685670Z             {
2026-06-04T17:23:02.9686289Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9686716Z               "line": 160
2026-06-04T17:23:02.9687121Z             },
2026-06-04T17:23:02.9687516Z             {
2026-06-04T17:23:02.9688135Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9688713Z               "line": 168
2026-06-04T17:23:02.9689112Z             }
2026-06-04T17:23:02.9689561Z           ]
2026-06-04T17:23:02.9689956Z         }
2026-06-04T17:23:02.9690355Z       }
2026-06-04T17:23:02.9690746Z     },
2026-06-04T17:23:02.9691152Z     {
2026-06-04T17:23:02.9691749Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T17:23:02.9692661Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T17:23:02.9693120Z       "requiredStages": [
2026-06-04T17:23:02.9693525Z         "impl",
2026-06-04T17:23:02.9693935Z         "unit"
2026-06-04T17:23:02.9698903Z       ],
2026-06-04T17:23:02.9699537Z       "stages": {
2026-06-04T17:23:02.9699971Z         "doc": {
2026-06-04T17:23:02.9700422Z           "complete": false,
2026-06-04T17:23:02.9700859Z           "evidence": []
2026-06-04T17:23:02.9701254Z         },
2026-06-04T17:23:02.9701677Z         "impl": {
2026-06-04T17:23:02.9702164Z           "complete": true,
2026-06-04T17:23:02.9702614Z           "evidence": [
2026-06-04T17:23:02.9703030Z             {
2026-06-04T17:23:02.9703652Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9704085Z               "line": 107
2026-06-04T17:23:02.9704476Z             }
2026-06-04T17:23:02.9704874Z           ]
2026-06-04T17:23:02.9705262Z         },
2026-06-04T17:23:02.9705664Z         "int": {
2026-06-04T17:23:02.9706112Z           "complete": false,
2026-06-04T17:23:02.9706536Z           "evidence": []
2026-06-04T17:23:02.9706940Z         },
2026-06-04T17:23:02.9707333Z         "unit": {
2026-06-04T17:23:02.9707774Z           "complete": true,
2026-06-04T17:23:02.9708195Z           "evidence": [
2026-06-04T17:23:02.9708604Z             {
2026-06-04T17:23:02.9709261Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9709689Z               "line": 184
2026-06-04T17:23:02.9710091Z             },
2026-06-04T17:23:02.9710482Z             {
2026-06-04T17:23:02.9711113Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9711545Z               "line": 193
2026-06-04T17:23:02.9711957Z             },
2026-06-04T17:23:02.9712368Z             {
2026-06-04T17:23:02.9712974Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9713408Z               "line": 201
2026-06-04T17:23:02.9713801Z             },
2026-06-04T17:23:02.9714205Z             {
2026-06-04T17:23:02.9714805Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9715240Z               "line": 210
2026-06-04T17:23:02.9715642Z             },
2026-06-04T17:23:02.9716037Z             {
2026-06-04T17:23:02.9716651Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:23:02.9717070Z               "line": 219
2026-06-04T17:23:02.9717477Z             }
2026-06-04T17:23:02.9717871Z           ]
2026-06-04T17:23:02.9718279Z         }
2026-06-04T17:23:02.9718679Z       }
2026-06-04T17:23:02.9719070Z     },
2026-06-04T17:23:02.9719516Z     {
2026-06-04T17:23:02.9720316Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T17:23:02.9721191Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T17:23:02.9721641Z       "requiredStages": [
2026-06-04T17:23:02.9722052Z         "impl",
2026-06-04T17:23:02.9722462Z         "unit"
2026-06-04T17:23:02.9722857Z       ],
2026-06-04T17:23:02.9723274Z       "stages": {
2026-06-04T17:23:02.9723680Z         "doc": {
2026-06-04T17:23:02.9724134Z           "complete": false,
2026-06-04T17:23:02.9724563Z           "evidence": []
2026-06-04T17:23:02.9724962Z         },
2026-06-04T17:23:02.9725381Z         "impl": {
2026-06-04T17:23:02.9725826Z           "complete": true,
2026-06-04T17:23:02.9726253Z           "evidence": [
2026-06-04T17:23:02.9726651Z             {
2026-06-04T17:23:02.9727210Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:02.9727628Z               "line": 14
2026-06-04T17:23:02.9728042Z             },
2026-06-04T17:23:02.9728610Z             {
2026-06-04T17:23:02.9729208Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:02.9729646Z               "line": 62
2026-06-04T17:23:02.9730046Z             }
2026-06-04T17:23:02.9730455Z           ]
2026-06-04T17:23:02.9730854Z         },
2026-06-04T17:23:02.9731265Z         "int": {
2026-06-04T17:23:02.9731721Z           "complete": false,
2026-06-04T17:23:02.9732149Z           "evidence": []
2026-06-04T17:23:02.9732562Z         },
2026-06-04T17:23:02.9732972Z         "unit": {
2026-06-04T17:23:02.9733423Z           "complete": true,
2026-06-04T17:23:02.9733840Z           "evidence": [
2026-06-04T17:23:02.9734246Z             {
2026-06-04T17:23:02.9734789Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:02.9735212Z               "line": 160
2026-06-04T17:23:02.9735621Z             },
2026-06-04T17:23:02.9736009Z             {
2026-06-04T17:23:02.9736549Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:02.9736971Z               "line": 197
2026-06-04T17:23:02.9737399Z             },
2026-06-04T17:23:02.9737808Z             {
2026-06-04T17:23:02.9738338Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:02.9738768Z               "line": 213
2026-06-04T17:23:02.9739203Z             }
2026-06-04T17:23:02.9739609Z           ]
2026-06-04T17:23:02.9740008Z         }
2026-06-04T17:23:02.9740413Z       }
2026-06-04T17:23:02.9740816Z     },
2026-06-04T17:23:02.9741202Z     {
2026-06-04T17:23:02.9741785Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T17:23:02.9742929Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T17:23:02.9743384Z       "requiredStages": [
2026-06-04T17:23:02.9743786Z         "impl",
2026-06-04T17:23:02.9744195Z         "unit"
2026-06-04T17:23:02.9744593Z       ],
2026-06-04T17:23:02.9745003Z       "stages": {
2026-06-04T17:23:02.9745414Z         "doc": {
2026-06-04T17:23:02.9745850Z           "complete": false,
2026-06-04T17:23:02.9746305Z           "evidence": []
2026-06-04T17:23:02.9746715Z         },
2026-06-04T17:23:02.9747128Z         "impl": {
2026-06-04T17:23:02.9747573Z           "complete": true,
2026-06-04T17:23:02.9747993Z           "evidence": [
2026-06-04T17:23:02.9748397Z             {
2026-06-04T17:23:02.9748963Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9749434Z               "line": 76
2026-06-04T17:23:02.9749833Z             },
2026-06-04T17:23:02.9750241Z             {
2026-06-04T17:23:02.9750814Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9751241Z               "line": 163
2026-06-04T17:23:02.9751646Z             },
2026-06-04T17:23:02.9752041Z             {
2026-06-04T17:23:02.9752613Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9753043Z               "line": 229
2026-06-04T17:23:02.9753452Z             },
2026-06-04T17:23:02.9753860Z             {
2026-06-04T17:23:02.9754427Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9755021Z               "line": 265
2026-06-04T17:23:02.9755434Z             }
2026-06-04T17:23:02.9755845Z           ]
2026-06-04T17:23:02.9756243Z         },
2026-06-04T17:23:02.9756650Z         "int": {
2026-06-04T17:23:02.9757106Z           "complete": false,
2026-06-04T17:23:02.9757537Z           "evidence": []
2026-06-04T17:23:02.9757943Z         },
2026-06-04T17:23:02.9758344Z         "unit": {
2026-06-04T17:23:02.9758796Z           "complete": true,
2026-06-04T17:23:02.9759250Z           "evidence": [
2026-06-04T17:23:02.9759658Z             {
2026-06-04T17:23:02.9760235Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9760661Z               "line": 310
2026-06-04T17:23:02.9761065Z             },
2026-06-04T17:23:02.9761453Z             {
2026-06-04T17:23:02.9762029Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9762462Z               "line": 318
2026-06-04T17:23:02.9762866Z             },
2026-06-04T17:23:02.9763406Z             {
2026-06-04T17:23:02.9763988Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9764422Z               "line": 341
2026-06-04T17:23:02.9764820Z             },
2026-06-04T17:23:02.9765224Z             {
2026-06-04T17:23:02.9765799Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9766226Z               "line": 378
2026-06-04T17:23:02.9766634Z             },
2026-06-04T17:23:02.9767025Z             {
2026-06-04T17:23:02.9767761Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9768279Z               "line": 389
2026-06-04T17:23:02.9769232Z             },
2026-06-04T17:23:02.9770000Z             {
2026-06-04T17:23:02.9770628Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9771095Z               "line": 401
2026-06-04T17:23:02.9771497Z             },
2026-06-04T17:23:02.9771907Z             {
2026-06-04T17:23:02.9772476Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:23:02.9772928Z               "line": 413
2026-06-04T17:23:02.9773348Z             }
2026-06-04T17:23:02.9778024Z           ]
2026-06-04T17:23:02.9778555Z         }
2026-06-04T17:23:02.9778966Z       }
2026-06-04T17:23:02.9779487Z     },
2026-06-04T17:23:02.9779889Z     {
2026-06-04T17:23:02.9780414Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T17:23:02.9781167Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T17:23:02.9781627Z       "requiredStages": [
2026-06-04T17:23:02.9782039Z         "impl",
2026-06-04T17:23:02.9782435Z         "int"
2026-06-04T17:23:02.9782841Z       ],
2026-06-04T17:23:02.9783251Z       "stages": {
2026-06-04T17:23:02.9783666Z         "doc": {
2026-06-04T17:23:02.9784115Z           "complete": false,
2026-06-04T17:23:02.9784538Z           "evidence": []
2026-06-04T17:23:02.9784940Z         },
2026-06-04T17:23:02.9785340Z         "impl": {
2026-06-04T17:23:02.9785797Z           "complete": true,
2026-06-04T17:23:02.9786217Z           "evidence": [
2026-06-04T17:23:02.9786665Z             {
2026-06-04T17:23:02.9787265Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:02.9787687Z               "line": 22
2026-06-04T17:23:02.9788090Z             }
2026-06-04T17:23:02.9788493Z           ]
2026-06-04T17:23:02.9788894Z         },
2026-06-04T17:23:02.9789338Z         "int": {
2026-06-04T17:23:02.9789783Z           "complete": true,
2026-06-04T17:23:02.9790215Z           "evidence": [
2026-06-04T17:23:02.9790610Z             {
2026-06-04T17:23:02.9791237Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T17:23:02.9791660Z               "line": 18
2026-06-04T17:23:02.9792067Z             }
2026-06-04T17:23:02.9792460Z           ]
2026-06-04T17:23:02.9792871Z         },
2026-06-04T17:23:02.9793284Z         "unit": {
2026-06-04T17:23:02.9793731Z           "complete": false,
2026-06-04T17:23:02.9794168Z           "evidence": []
2026-06-04T17:23:02.9794574Z         }
2026-06-04T17:23:02.9794981Z       }
2026-06-04T17:23:02.9795391Z     },
2026-06-04T17:23:02.9795795Z     {
2026-06-04T17:23:02.9796637Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T17:23:02.9797668Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T17:23:02.9798138Z       "requiredStages": [
2026-06-04T17:23:02.9798544Z         "impl",
2026-06-04T17:23:02.9798950Z         "unit"
2026-06-04T17:23:02.9799386Z       ],
2026-06-04T17:23:02.9799803Z       "stages": {
2026-06-04T17:23:02.9800210Z         "doc": {
2026-06-04T17:23:02.9800653Z           "complete": false,
2026-06-04T17:23:02.9801092Z           "evidence": []
2026-06-04T17:23:02.9801489Z         },
2026-06-04T17:23:02.9801907Z         "impl": {
2026-06-04T17:23:02.9802345Z           "complete": true,
2026-06-04T17:23:02.9802779Z           "evidence": [
2026-06-04T17:23:02.9803186Z             {
2026-06-04T17:23:02.9803798Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.9804229Z               "line": 340
2026-06-04T17:23:02.9804857Z             },
2026-06-04T17:23:02.9805282Z             {
2026-06-04T17:23:02.9805865Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:02.9806298Z               "line": 27
2026-06-04T17:23:02.9806711Z             }
2026-06-04T17:23:02.9807107Z           ]
2026-06-04T17:23:02.9807512Z         },
2026-06-04T17:23:02.9807920Z         "int": {
2026-06-04T17:23:02.9808369Z           "complete": false,
2026-06-04T17:23:02.9808797Z           "evidence": []
2026-06-04T17:23:02.9809245Z         },
2026-06-04T17:23:02.9809663Z         "unit": {
2026-06-04T17:23:02.9810107Z           "complete": true,
2026-06-04T17:23:02.9810540Z           "evidence": [
2026-06-04T17:23:02.9810939Z             {
2026-06-04T17:23:02.9811564Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:02.9811989Z               "line": 745
2026-06-04T17:23:02.9812408Z             },
2026-06-04T17:23:02.9812825Z             {
2026-06-04T17:23:02.9813399Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:02.9813866Z               "line": 164
2026-06-04T17:23:02.9814271Z             }
2026-06-04T17:23:02.9814681Z           ]
2026-06-04T17:23:02.9815078Z         }
2026-06-04T17:23:02.9815483Z       }
2026-06-04T17:23:02.9815887Z     },
2026-06-04T17:23:02.9816281Z     {
2026-06-04T17:23:02.9816867Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T17:23:02.9817698Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T17:23:02.9818155Z       "requiredStages": [
2026-06-04T17:23:02.9818556Z         "impl",
2026-06-04T17:23:02.9818967Z         "unit"
2026-06-04T17:23:02.9819414Z       ],
2026-06-04T17:23:02.9819834Z       "stages": {
2026-06-04T17:23:02.9820243Z         "doc": {
2026-06-04T17:23:02.9820682Z           "complete": false,
2026-06-04T17:23:02.9821116Z           "evidence": []
2026-06-04T17:23:02.9821511Z         },
2026-06-04T17:23:02.9821929Z         "impl": {
2026-06-04T17:23:02.9822373Z           "complete": true,
2026-06-04T17:23:02.9822810Z           "evidence": [
2026-06-04T17:23:02.9823235Z             {
2026-06-04T17:23:02.9823802Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9824239Z               "line": 20
2026-06-04T17:23:02.9824642Z             },
2026-06-04T17:23:02.9825046Z             {
2026-06-04T17:23:02.9825633Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9826052Z               "line": 94
2026-06-04T17:23:02.9826462Z             },
2026-06-04T17:23:02.9826856Z             {
2026-06-04T17:23:02.9827478Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:23:02.9827895Z               "line": 70
2026-06-04T17:23:02.9828306Z             },
2026-06-04T17:23:02.9828710Z             {
2026-06-04T17:23:02.9829371Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:23:02.9829803Z               "line": 82
2026-06-04T17:23:02.9830202Z             }
2026-06-04T17:23:02.9830600Z           ]
2026-06-04T17:23:02.9830997Z         },
2026-06-04T17:23:02.9831581Z         "int": {
2026-06-04T17:23:02.9832045Z           "complete": false,
2026-06-04T17:23:02.9832477Z           "evidence": []
2026-06-04T17:23:02.9832883Z         },
2026-06-04T17:23:02.9833285Z         "unit": {
2026-06-04T17:23:02.9833729Z           "complete": true,
2026-06-04T17:23:02.9834149Z           "evidence": [
2026-06-04T17:23:02.9834555Z             {
2026-06-04T17:23:02.9835139Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9835568Z               "line": 139
2026-06-04T17:23:02.9835980Z             },
2026-06-04T17:23:02.9836378Z             {
2026-06-04T17:23:02.9836966Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9837399Z               "line": 162
2026-06-04T17:23:02.9837811Z             },
2026-06-04T17:23:02.9838214Z             {
2026-06-04T17:23:02.9838787Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9839266Z               "line": 173
2026-06-04T17:23:02.9839819Z             },
2026-06-04T17:23:02.9840239Z             {
2026-06-04T17:23:02.9840815Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9841247Z               "line": 189
2026-06-04T17:23:02.9841662Z             },
2026-06-04T17:23:02.9842052Z             {
2026-06-04T17:23:02.9842632Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:23:02.9843055Z               "line": 200
2026-06-04T17:23:02.9843460Z             },
2026-06-04T17:23:02.9843849Z             {
2026-06-04T17:23:02.9844470Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:23:02.9844902Z               "line": 139
2026-06-04T17:23:02.9845298Z             }
2026-06-04T17:23:02.9845699Z           ]
2026-06-04T17:23:02.9846090Z         }
2026-06-04T17:23:02.9846501Z       }
2026-06-04T17:23:02.9846892Z     },
2026-06-04T17:23:02.9847291Z     {
2026-06-04T17:23:02.9847767Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T17:23:02.9849128Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T17:23:02.9849640Z       "requiredStages": [
2026-06-04T17:23:02.9850043Z         "impl",
2026-06-04T17:23:02.9850449Z         "unit"
2026-06-04T17:23:02.9850840Z       ],
2026-06-04T17:23:02.9851263Z       "stages": {
2026-06-04T17:23:02.9851667Z         "doc": {
2026-06-04T17:23:02.9852108Z           "complete": true,
2026-06-04T17:23:02.9856473Z           "evidence": [
2026-06-04T17:23:02.9856974Z             {
2026-06-04T17:23:02.9857534Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:23:02.9857961Z               "line": 131
2026-06-04T17:23:02.9858371Z             }
2026-06-04T17:23:02.9858777Z           ]
2026-06-04T17:23:02.9859252Z         },
2026-06-04T17:23:02.9859671Z         "impl": {
2026-06-04T17:23:02.9860117Z           "complete": true,
2026-06-04T17:23:02.9860555Z           "evidence": [
2026-06-04T17:23:02.9860953Z             {
2026-06-04T17:23:02.9861521Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:02.9862002Z               "line": 65
2026-06-04T17:23:02.9862400Z             },
2026-06-04T17:23:02.9862804Z             {
2026-06-04T17:23:02.9863342Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9863766Z               "line": 17
2026-06-04T17:23:02.9864163Z             },
2026-06-04T17:23:02.9864563Z             {
2026-06-04T17:23:02.9865142Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:02.9865565Z               "line": 212
2026-06-04T17:23:02.9865979Z             },
2026-06-04T17:23:02.9866375Z             {
2026-06-04T17:23:02.9866954Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:02.9867387Z               "line": 312
2026-06-04T17:23:02.9867787Z             },
2026-06-04T17:23:02.9868194Z             {
2026-06-04T17:23:02.9868747Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:23:02.9869208Z               "line": 32
2026-06-04T17:23:02.9869607Z             },
2026-06-04T17:23:02.9870026Z             {
2026-06-04T17:23:02.9870767Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9871216Z               "line": 1719
2026-06-04T17:23:02.9871622Z             },
2026-06-04T17:23:02.9872019Z             {
2026-06-04T17:23:02.9872534Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:02.9872969Z               "line": 1926
2026-06-04T17:23:02.9873378Z             }
2026-06-04T17:23:02.9873781Z           ]
2026-06-04T17:23:02.9874177Z         },
2026-06-04T17:23:02.9874587Z         "int": {
2026-06-04T17:23:02.9875034Z           "complete": false,
2026-06-04T17:23:02.9875469Z           "evidence": []
2026-06-04T17:23:02.9875867Z         },
2026-06-04T17:23:02.9876280Z         "unit": {
2026-06-04T17:23:02.9876727Z           "complete": true,
2026-06-04T17:23:02.9877148Z           "evidence": [
2026-06-04T17:23:02.9877549Z             {
2026-06-04T17:23:02.9878093Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9878515Z               "line": 94
2026-06-04T17:23:02.9879074Z             },
2026-06-04T17:23:02.9879522Z             {
2026-06-04T17:23:02.9880078Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9880504Z               "line": 111
2026-06-04T17:23:02.9880908Z             },
2026-06-04T17:23:02.9881302Z             {
2026-06-04T17:23:02.9881855Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9882278Z               "line": 124
2026-06-04T17:23:02.9882687Z             },
2026-06-04T17:23:02.9883093Z             {
2026-06-04T17:23:02.9883634Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9884067Z               "line": 134
2026-06-04T17:23:02.9884464Z             },
2026-06-04T17:23:02.9884871Z             {
2026-06-04T17:23:02.9885412Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9885844Z               "line": 142
2026-06-04T17:23:02.9886246Z             },
2026-06-04T17:23:02.9886641Z             {
2026-06-04T17:23:02.9887187Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:23:02.9887635Z               "line": 154
2026-06-04T17:23:02.9888047Z             },
2026-06-04T17:23:02.9888440Z             {
2026-06-04T17:23:02.9889094Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:02.9889561Z               "line": 636
2026-06-04T17:23:02.9889963Z             }
2026-06-04T17:23:02.9890370Z           ]
2026-06-04T17:23:02.9890767Z         }
2026-06-04T17:23:02.9891169Z       }
2026-06-04T17:23:02.9891560Z     },
2026-06-04T17:23:02.9891959Z     {
2026-06-04T17:23:02.9892472Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T17:23:02.9893126Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T17:23:02.9893581Z       "requiredStages": [
2026-06-04T17:23:02.9893985Z         "impl",
2026-06-04T17:23:02.9894394Z         "unit"
2026-06-04T17:23:02.9894787Z       ],
2026-06-04T17:23:02.9895205Z       "stages": {
2026-06-04T17:23:02.9895613Z         "doc": {
2026-06-04T17:23:02.9896068Z           "complete": false,
2026-06-04T17:23:02.9896515Z           "evidence": []
2026-06-04T17:23:02.9896910Z         },
2026-06-04T17:23:02.9897328Z         "impl": {
2026-06-04T17:23:02.9897765Z           "complete": true,
2026-06-04T17:23:02.9898195Z           "evidence": [
2026-06-04T17:23:02.9898594Z             {
2026-06-04T17:23:02.9899190Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:02.9899626Z               "line": 128
2026-06-04T17:23:02.9900021Z             }
2026-06-04T17:23:02.9900423Z           ]
2026-06-04T17:23:02.9900817Z         },
2026-06-04T17:23:02.9901221Z         "int": {
2026-06-04T17:23:02.9901694Z           "complete": false,
2026-06-04T17:23:02.9902152Z           "evidence": []
2026-06-04T17:23:02.9902554Z         },
2026-06-04T17:23:02.9902957Z         "unit": {
2026-06-04T17:23:02.9903402Z           "complete": true,
2026-06-04T17:23:02.9903829Z           "evidence": [
2026-06-04T17:23:02.9904233Z             {
2026-06-04T17:23:02.9904979Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:02.9905436Z               "line": 205
2026-06-04T17:23:02.9905846Z             }
2026-06-04T17:23:02.9906245Z           ]
2026-06-04T17:23:02.9906654Z         }
2026-06-04T17:23:02.9907046Z       }
2026-06-04T17:23:02.9907443Z     },
2026-06-04T17:23:02.9907838Z     {
2026-06-04T17:23:02.9908382Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T17:23:02.9909145Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T17:23:02.9909642Z       "requiredStages": [
2026-06-04T17:23:02.9910062Z         "impl",
2026-06-04T17:23:02.9910456Z         "unit"
2026-06-04T17:23:02.9910856Z       ],
2026-06-04T17:23:02.9911273Z       "stages": {
2026-06-04T17:23:02.9911674Z         "doc": {
2026-06-04T17:23:02.9912124Z           "complete": false,
2026-06-04T17:23:02.9912552Z           "evidence": []
2026-06-04T17:23:02.9912956Z         },
2026-06-04T17:23:02.9913359Z         "impl": {
2026-06-04T17:23:02.9913801Z           "complete": true,
2026-06-04T17:23:02.9914394Z           "evidence": [
2026-06-04T17:23:02.9914799Z             {
2026-06-04T17:23:02.9915364Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9915787Z               "line": 231
2026-06-04T17:23:02.9916186Z             },
2026-06-04T17:23:02.9916567Z             {
2026-06-04T17:23:02.9917117Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9917549Z               "line": 242
2026-06-04T17:23:02.9917940Z             },
2026-06-04T17:23:02.9918335Z             {
2026-06-04T17:23:02.9918880Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9919342Z               "line": 260
2026-06-04T17:23:02.9919751Z             }
2026-06-04T17:23:02.9920157Z           ]
2026-06-04T17:23:02.9920555Z         },
2026-06-04T17:23:02.9920954Z         "int": {
2026-06-04T17:23:02.9921401Z           "complete": false,
2026-06-04T17:23:02.9921825Z           "evidence": []
2026-06-04T17:23:02.9922224Z         },
2026-06-04T17:23:02.9922639Z         "unit": {
2026-06-04T17:23:02.9923088Z           "complete": true,
2026-06-04T17:23:02.9923523Z           "evidence": [
2026-06-04T17:23:02.9923918Z             {
2026-06-04T17:23:02.9924486Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9924908Z               "line": 284
2026-06-04T17:23:02.9925308Z             },
2026-06-04T17:23:02.9925704Z             {
2026-06-04T17:23:02.9926272Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9926699Z               "line": 302
2026-06-04T17:23:02.9927093Z             },
2026-06-04T17:23:02.9927494Z             {
2026-06-04T17:23:02.9928045Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9928468Z               "line": 467
2026-06-04T17:23:02.9928866Z             },
2026-06-04T17:23:02.9933193Z             {
2026-06-04T17:23:02.9933843Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9934280Z               "line": 478
2026-06-04T17:23:02.9934725Z             },
2026-06-04T17:23:02.9935137Z             {
2026-06-04T17:23:02.9935701Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:02.9936135Z               "line": 491
2026-06-04T17:23:02.9936542Z             }
2026-06-04T17:23:02.9936951Z           ]
2026-06-04T17:23:02.9937345Z         }
2026-06-04T17:23:02.9937753Z       }
2026-06-04T17:23:02.9938145Z     },
2026-06-04T17:23:02.9938544Z     {
2026-06-04T17:23:02.9939054Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T17:23:02.9940326Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T17:23:02.9940794Z       "requiredStages": [
2026-06-04T17:23:02.9941197Z         "impl",
2026-06-04T17:23:02.9941604Z         "unit"
2026-06-04T17:23:02.9942000Z       ],
2026-06-04T17:23:02.9942408Z       "stages": {
2026-06-04T17:23:02.9942809Z         "doc": {
2026-06-04T17:23:02.9943261Z           "complete": false,
2026-06-04T17:23:02.9943695Z           "evidence": []
2026-06-04T17:23:02.9944110Z         },
2026-06-04T17:23:02.9944797Z         "impl": {
2026-06-04T17:23:02.9945263Z           "complete": true,
2026-06-04T17:23:02.9945700Z           "evidence": [
2026-06-04T17:23:02.9946096Z             {
2026-06-04T17:23:02.9946639Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9947065Z               "line": 14
2026-06-04T17:23:02.9947466Z             },
2026-06-04T17:23:02.9947878Z             {
2026-06-04T17:23:02.9948411Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:02.9948836Z               "line": 360
2026-06-04T17:23:02.9949273Z             }
2026-06-04T17:23:02.9949684Z           ]
2026-06-04T17:23:02.9950084Z         },
2026-06-04T17:23:02.9950483Z         "int": {
2026-06-04T17:23:02.9950933Z           "complete": false,
2026-06-04T17:23:02.9951351Z           "evidence": []
2026-06-04T17:23:02.9951750Z         },
2026-06-04T17:23:02.9952152Z         "unit": {
2026-06-04T17:23:02.9952606Z           "complete": true,
2026-06-04T17:23:02.9953210Z           "evidence": [
2026-06-04T17:23:02.9953607Z             {
2026-06-04T17:23:02.9954152Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9954572Z               "line": 130
2026-06-04T17:23:02.9954978Z             },
2026-06-04T17:23:02.9955370Z             {
2026-06-04T17:23:02.9955919Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9956347Z               "line": 138
2026-06-04T17:23:02.9956741Z             },
2026-06-04T17:23:02.9957144Z             {
2026-06-04T17:23:02.9957678Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9958107Z               "line": 146
2026-06-04T17:23:02.9958501Z             },
2026-06-04T17:23:02.9958901Z             {
2026-06-04T17:23:02.9959495Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9959921Z               "line": 154
2026-06-04T17:23:02.9960329Z             },
2026-06-04T17:23:02.9960726Z             {
2026-06-04T17:23:02.9961271Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9961727Z               "line": 162
2026-06-04T17:23:02.9962127Z             },
2026-06-04T17:23:02.9962528Z             {
2026-06-04T17:23:02.9963060Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:23:02.9963483Z               "line": 170
2026-06-04T17:23:02.9963880Z             }
2026-06-04T17:23:02.9964283Z           ]
2026-06-04T17:23:02.9964676Z         }
2026-06-04T17:23:02.9965082Z       }
2026-06-04T17:23:02.9965482Z     },
2026-06-04T17:23:02.9965877Z     {
2026-06-04T17:23:02.9966414Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T17:23:02.9971471Z       "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-04T17:23:02.9971953Z       "requiredStages": [
2026-06-04T17:23:02.9972387Z         "impl",
2026-06-04T17:23:02.9972806Z         "unit"
2026-06-04T17:23:02.9973208Z       ],
2026-06-04T17:23:02.9973611Z       "stages": {
2026-06-04T17:23:02.9974016Z         "doc": {
2026-06-04T17:23:02.9974454Z           "complete": false,
2026-06-04T17:23:02.9974889Z           "evidence": []
2026-06-04T17:23:02.9975291Z         },
2026-06-04T17:23:02.9975693Z         "impl": {
2026-06-04T17:23:02.9976132Z           "complete": true,
2026-06-04T17:23:02.9976552Z           "evidence": [
2026-06-04T17:23:02.9976949Z             {
2026-06-04T17:23:02.9977660Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9978084Z               "line": 34
2026-06-04T17:23:02.9978495Z             }
2026-06-04T17:23:02.9978890Z           ]
2026-06-04T17:23:02.9979336Z         },
2026-06-04T17:23:02.9979737Z         "int": {
2026-06-04T17:23:02.9980183Z           "complete": false,
2026-06-04T17:23:02.9980607Z           "evidence": []
2026-06-04T17:23:02.9981007Z         },
2026-06-04T17:23:02.9981434Z         "unit": {
2026-06-04T17:23:02.9982032Z           "complete": true,
2026-06-04T17:23:02.9982495Z           "evidence": [
2026-06-04T17:23:02.9982885Z             {
2026-06-04T17:23:02.9983605Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9984030Z               "line": 188
2026-06-04T17:23:02.9984432Z             },
2026-06-04T17:23:02.9984833Z             {
2026-06-04T17:23:02.9985535Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9985968Z               "line": 200
2026-06-04T17:23:02.9986364Z             },
2026-06-04T17:23:02.9986761Z             {
2026-06-04T17:23:02.9987467Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9987897Z               "line": 211
2026-06-04T17:23:02.9988299Z             },
2026-06-04T17:23:02.9988691Z             {
2026-06-04T17:23:02.9989523Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9990115Z               "line": 245
2026-06-04T17:23:02.9990527Z             },
2026-06-04T17:23:02.9990930Z             {
2026-06-04T17:23:02.9991648Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9992078Z               "line": 267
2026-06-04T17:23:02.9992480Z             },
2026-06-04T17:23:02.9992886Z             {
2026-06-04T17:23:02.9993599Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9994031Z               "line": 288
2026-06-04T17:23:02.9994437Z             },
2026-06-04T17:23:02.9994827Z             {
2026-06-04T17:23:02.9995540Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:23:02.9995959Z               "line": 304
2026-06-04T17:23:02.9996367Z             }
2026-06-04T17:23:02.9996760Z           ]
2026-06-04T17:23:02.9997156Z         }
2026-06-04T17:23:02.9997554Z       }
2026-06-04T17:23:02.9997945Z     },
2026-06-04T17:23:02.9998342Z     {
2026-06-04T17:23:02.9998888Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T17:23:03.0002103Z       "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-04T17:23:03.0002560Z       "requiredStages": [
2026-06-04T17:23:03.0002976Z         "impl",
2026-06-04T17:23:03.0003381Z         "unit"
2026-06-04T17:23:03.0003774Z       ],
2026-06-04T17:23:03.0004193Z       "stages": {
2026-06-04T17:23:03.0004598Z         "doc": {
2026-06-04T17:23:03.0005048Z           "complete": false,
2026-06-04T17:23:03.0005475Z           "evidence": []
2026-06-04T17:23:03.0005880Z         },
2026-06-04T17:23:03.0006295Z         "impl": {
2026-06-04T17:23:03.0006727Z           "complete": true,
2026-06-04T17:23:03.0007152Z           "evidence": [
2026-06-04T17:23:03.0007552Z             {
2026-06-04T17:23:03.0008130Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0008573Z               "line": 29
2026-06-04T17:23:03.0008987Z             },
2026-06-04T17:23:03.0009444Z             {
2026-06-04T17:23:03.0010018Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0010445Z               "line": 154
2026-06-04T17:23:03.0010838Z             },
2026-06-04T17:23:03.0011242Z             {
2026-06-04T17:23:03.0011819Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0012247Z               "line": 173
2026-06-04T17:23:03.0012659Z             },
2026-06-04T17:23:03.0013052Z             {
2026-06-04T17:23:03.0013623Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0014051Z               "line": 200
2026-06-04T17:23:03.0018319Z             }
2026-06-04T17:23:03.0018786Z           ]
2026-06-04T17:23:03.0019294Z         },
2026-06-04T17:23:03.0019713Z         "int": {
2026-06-04T17:23:03.0020161Z           "complete": false,
2026-06-04T17:23:03.0020588Z           "evidence": []
2026-06-04T17:23:03.0021020Z         },
2026-06-04T17:23:03.0021663Z         "unit": {
2026-06-04T17:23:03.0022122Z           "complete": true,
2026-06-04T17:23:03.0022551Z           "evidence": [
2026-06-04T17:23:03.0022955Z             {
2026-06-04T17:23:03.0023537Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0023963Z               "line": 276
2026-06-04T17:23:03.0024361Z             },
2026-06-04T17:23:03.0024762Z             {
2026-06-04T17:23:03.0025341Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0025770Z               "line": 291
2026-06-04T17:23:03.0026172Z             },
2026-06-04T17:23:03.0026567Z             {
2026-06-04T17:23:03.0027144Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0027567Z               "line": 310
2026-06-04T17:23:03.0027972Z             },
2026-06-04T17:23:03.0028372Z             {
2026-06-04T17:23:03.0028941Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0029421Z               "line": 326
2026-06-04T17:23:03.0030002Z             },
2026-06-04T17:23:03.0030406Z             {
2026-06-04T17:23:03.0030975Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0031409Z               "line": 376
2026-06-04T17:23:03.0031813Z             },
2026-06-04T17:23:03.0032208Z             {
2026-06-04T17:23:03.0032773Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0033196Z               "line": 390
2026-06-04T17:23:03.0033596Z             },
2026-06-04T17:23:03.0033990Z             {
2026-06-04T17:23:03.0034570Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0035002Z               "line": 401
2026-06-04T17:23:03.0035403Z             },
2026-06-04T17:23:03.0035807Z             {
2026-06-04T17:23:03.0036372Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.0036799Z               "line": 412
2026-06-04T17:23:03.0037191Z             }
2026-06-04T17:23:03.0037598Z           ]
2026-06-04T17:23:03.0038014Z         }
2026-06-04T17:23:03.0038414Z       }
2026-06-04T17:23:03.0038816Z     },
2026-06-04T17:23:03.0039251Z     {
2026-06-04T17:23:03.0039839Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T17:23:03.0043475Z       "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-04T17:23:03.0043944Z       "requiredStages": [
2026-06-04T17:23:03.0044358Z         "impl",
2026-06-04T17:23:03.0044754Z         "unit"
2026-06-04T17:23:03.0045158Z       ],
2026-06-04T17:23:03.0045560Z       "stages": {
2026-06-04T17:23:03.0045969Z         "doc": {
2026-06-04T17:23:03.0046407Z           "complete": false,
2026-06-04T17:23:03.0046837Z           "evidence": []
2026-06-04T17:23:03.0047241Z         },
2026-06-04T17:23:03.0047650Z         "impl": {
2026-06-04T17:23:03.0048096Z           "complete": true,
2026-06-04T17:23:03.0048518Z           "evidence": [
2026-06-04T17:23:03.0048957Z             {
2026-06-04T17:23:03.0049676Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0050102Z               "line": 27
2026-06-04T17:23:03.0050511Z             },
2026-06-04T17:23:03.0050907Z             {
2026-06-04T17:23:03.0051576Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0052001Z               "line": 110
2026-06-04T17:23:03.0052405Z             },
2026-06-04T17:23:03.0052812Z             {
2026-06-04T17:23:03.0053477Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0053909Z               "line": 153
2026-06-04T17:23:03.0054313Z             },
2026-06-04T17:23:03.0054715Z             {
2026-06-04T17:23:03.0055381Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0055819Z               "line": 182
2026-06-04T17:23:03.0056267Z             },
2026-06-04T17:23:03.0056665Z             {
2026-06-04T17:23:03.0057601Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0058039Z               "line": 31
2026-06-04T17:23:03.0058445Z             },
2026-06-04T17:23:03.0058839Z             {
2026-06-04T17:23:03.0059627Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0060068Z               "line": 113
2026-06-04T17:23:03.0060470Z             },
2026-06-04T17:23:03.0060872Z             {
2026-06-04T17:23:03.0061602Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0062040Z               "line": 138
2026-06-04T17:23:03.0062430Z             }
2026-06-04T17:23:03.0062834Z           ]
2026-06-04T17:23:03.0063238Z         },
2026-06-04T17:23:03.0063632Z         "int": {
2026-06-04T17:23:03.0064080Z           "complete": false,
2026-06-04T17:23:03.0064512Z           "evidence": []
2026-06-04T17:23:03.0064914Z         },
2026-06-04T17:23:03.0065316Z         "unit": {
2026-06-04T17:23:03.0065761Z           "complete": true,
2026-06-04T17:23:03.0066365Z           "evidence": [
2026-06-04T17:23:03.0066766Z             {
2026-06-04T17:23:03.0067442Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0067859Z               "line": 261
2026-06-04T17:23:03.0068266Z             },
2026-06-04T17:23:03.0068664Z             {
2026-06-04T17:23:03.0069377Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0069809Z               "line": 276
2026-06-04T17:23:03.0070207Z             },
2026-06-04T17:23:03.0070610Z             {
2026-06-04T17:23:03.0071277Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0071711Z               "line": 293
2026-06-04T17:23:03.0072109Z             },
2026-06-04T17:23:03.0072514Z             {
2026-06-04T17:23:03.0073201Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0073702Z               "line": 310
2026-06-04T17:23:03.0074128Z             },
2026-06-04T17:23:03.0074547Z             {
2026-06-04T17:23:03.0075231Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0075662Z               "line": 327
2026-06-04T17:23:03.0076060Z             },
2026-06-04T17:23:03.0076461Z             {
2026-06-04T17:23:03.0077118Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.0077548Z               "line": 366
2026-06-04T17:23:03.0077947Z             },
2026-06-04T17:23:03.0078351Z             {
2026-06-04T17:23:03.0079093Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0079581Z               "line": 179
2026-06-04T17:23:03.0079995Z             },
2026-06-04T17:23:03.0080388Z             {
2026-06-04T17:23:03.0081136Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0081564Z               "line": 194
2026-06-04T17:23:03.0081970Z             },
2026-06-04T17:23:03.0082371Z             {
2026-06-04T17:23:03.0083113Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0083564Z               "line": 204
2026-06-04T17:23:03.0083962Z             },
2026-06-04T17:23:03.0084363Z             {
2026-06-04T17:23:03.0085102Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0085541Z               "line": 259
2026-06-04T17:23:03.0085946Z             },
2026-06-04T17:23:03.0086341Z             {
2026-06-04T17:23:03.0087076Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0087502Z               "line": 269
2026-06-04T17:23:03.0087908Z             },
2026-06-04T17:23:03.0088306Z             {
2026-06-04T17:23:03.0089038Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.0089524Z               "line": 283
2026-06-04T17:23:03.0089922Z             }
2026-06-04T17:23:03.0090320Z           ]
2026-06-04T17:23:03.0090710Z         }
2026-06-04T17:23:03.0091108Z       }
2026-06-04T17:23:03.0091512Z     },
2026-06-04T17:23:03.0091918Z     {
2026-06-04T17:23:03.0092682Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T17:23:03.0093734Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T17:23:03.0094201Z       "requiredStages": [],
2026-06-04T17:23:03.0094612Z       "stages": {
2026-06-04T17:23:03.0095023Z         "doc": {
2026-06-04T17:23:03.0095471Z           "complete": false,
2026-06-04T17:23:03.0095902Z           "evidence": []
2026-06-04T17:23:03.0096312Z         },
2026-06-04T17:23:03.0096716Z         "impl": {
2026-06-04T17:23:03.0097164Z           "complete": false,
2026-06-04T17:23:03.0097594Z           "evidence": []
2026-06-04T17:23:03.0102094Z         },
2026-06-04T17:23:03.0102579Z         "int": {
2026-06-04T17:23:03.0103042Z           "complete": false,
2026-06-04T17:23:03.0103466Z           "evidence": []
2026-06-04T17:23:03.0103858Z         },
2026-06-04T17:23:03.0104265Z         "unit": {
2026-06-04T17:23:03.0104704Z           "complete": false,
2026-06-04T17:23:03.0105444Z           "evidence": []
2026-06-04T17:23:03.0105837Z         }
2026-06-04T17:23:03.0106244Z       }
2026-06-04T17:23:03.0106643Z     },
2026-06-04T17:23:03.0107029Z     {
2026-06-04T17:23:03.0107639Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T17:23:03.0119870Z       "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-04T17:23:03.0120399Z       "requiredStages": [
2026-06-04T17:23:03.0120810Z         "impl",
2026-06-04T17:23:03.0121205Z         "unit"
2026-06-04T17:23:03.0121608Z       ],
2026-06-04T17:23:03.0122008Z       "stages": {
2026-06-04T17:23:03.0122410Z         "doc": {
2026-06-04T17:23:03.0122843Z           "complete": false,
2026-06-04T17:23:03.0123269Z           "evidence": []
2026-06-04T17:23:03.0123669Z         },
2026-06-04T17:23:03.0124124Z         "impl": {
2026-06-04T17:23:03.0124578Z           "complete": true,
2026-06-04T17:23:03.0124989Z           "evidence": [
2026-06-04T17:23:03.0125391Z             {
2026-06-04T17:23:03.0125983Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0126407Z               "line": 26
2026-06-04T17:23:03.0126802Z             },
2026-06-04T17:23:03.0127189Z             {
2026-06-04T17:23:03.0127790Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0128199Z               "line": 93
2026-06-04T17:23:03.0128594Z             },
2026-06-04T17:23:03.0128993Z             {
2026-06-04T17:23:03.0129639Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0130076Z               "line": 158
2026-06-04T17:23:03.0130461Z             },
2026-06-04T17:23:03.0130856Z             {
2026-06-04T17:23:03.0131430Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0131848Z               "line": 19
2026-06-04T17:23:03.0132265Z             },
2026-06-04T17:23:03.0132662Z             {
2026-06-04T17:23:03.0133257Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0133663Z               "line": 50
2026-06-04T17:23:03.0134059Z             },
2026-06-04T17:23:03.0134449Z             {
2026-06-04T17:23:03.0134997Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:23:03.0135425Z               "line": 18
2026-06-04T17:23:03.0135813Z             },
2026-06-04T17:23:03.0136207Z             {
2026-06-04T17:23:03.0136741Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:23:03.0137164Z               "line": 65
2026-06-04T17:23:03.0137551Z             },
2026-06-04T17:23:03.0137951Z             {
2026-06-04T17:23:03.0138519Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:03.0138924Z               "line": 65
2026-06-04T17:23:03.0139370Z             }
2026-06-04T17:23:03.0139768Z           ]
2026-06-04T17:23:03.0140163Z         },
2026-06-04T17:23:03.0140572Z         "int": {
2026-06-04T17:23:03.0141363Z           "complete": false,
2026-06-04T17:23:03.0141820Z           "evidence": []
2026-06-04T17:23:03.0142211Z         },
2026-06-04T17:23:03.0142618Z         "unit": {
2026-06-04T17:23:03.0143046Z           "complete": true,
2026-06-04T17:23:03.0143474Z           "evidence": [
2026-06-04T17:23:03.0143859Z             {
2026-06-04T17:23:03.0144463Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0144888Z               "line": 276
2026-06-04T17:23:03.0145281Z             },
2026-06-04T17:23:03.0145673Z             {
2026-06-04T17:23:03.0146270Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0146701Z               "line": 295
2026-06-04T17:23:03.0147101Z             },
2026-06-04T17:23:03.0147502Z             {
2026-06-04T17:23:03.0148103Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0148519Z               "line": 323
2026-06-04T17:23:03.0148932Z             },
2026-06-04T17:23:03.0149561Z             {
2026-06-04T17:23:03.0150181Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0150601Z               "line": 372
2026-06-04T17:23:03.0151001Z             },
2026-06-04T17:23:03.0151403Z             {
2026-06-04T17:23:03.0152003Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0152431Z               "line": 383
2026-06-04T17:23:03.0152822Z             },
2026-06-04T17:23:03.0153220Z             {
2026-06-04T17:23:03.0153813Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0154242Z               "line": 414
2026-06-04T17:23:03.0154646Z             },
2026-06-04T17:23:03.0155036Z             {
2026-06-04T17:23:03.0155637Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.0156059Z               "line": 425
2026-06-04T17:23:03.0156458Z             },
2026-06-04T17:23:03.0156849Z             {
2026-06-04T17:23:03.0157437Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0157887Z               "line": 77
2026-06-04T17:23:03.0158287Z             },
2026-06-04T17:23:03.0158685Z             {
2026-06-04T17:23:03.0159652Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0160264Z               "line": 95
2026-06-04T17:23:03.0160667Z             },
2026-06-04T17:23:03.0161056Z             {
2026-06-04T17:23:03.0161645Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0162063Z               "line": 106
2026-06-04T17:23:03.0162470Z             },
2026-06-04T17:23:03.0162862Z             {
2026-06-04T17:23:03.0163450Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0163881Z               "line": 117
2026-06-04T17:23:03.0164269Z             },
2026-06-04T17:23:03.0164672Z             {
2026-06-04T17:23:03.0165248Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0165679Z               "line": 124
2026-06-04T17:23:03.0166094Z             },
2026-06-04T17:23:03.0166510Z             {
2026-06-04T17:23:03.0167098Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:23:03.0167515Z               "line": 137
2026-06-04T17:23:03.0167918Z             },
2026-06-04T17:23:03.0168306Z             {
2026-06-04T17:23:03.0168843Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:23:03.0169323Z               "line": 106
2026-06-04T17:23:03.0169733Z             },
2026-06-04T17:23:03.0170138Z             {
2026-06-04T17:23:03.0170672Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:23:03.0171103Z               "line": 118
2026-06-04T17:23:03.0171496Z             },
2026-06-04T17:23:03.0171900Z             {
2026-06-04T17:23:03.0172459Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:23:03.0172880Z               "line": 331
2026-06-04T17:23:03.0173284Z             }
2026-06-04T17:23:03.0173672Z           ]
2026-06-04T17:23:03.0174074Z         }
2026-06-04T17:23:03.0174481Z       }
2026-06-04T17:23:03.0175036Z     },
2026-06-04T17:23:03.0175438Z     {
2026-06-04T17:23:03.0175991Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T17:23:03.0177374Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T17:23:03.0177817Z       "requiredStages": [
2026-06-04T17:23:03.0178226Z         "impl",
2026-06-04T17:23:03.0178622Z         "unit"
2026-06-04T17:23:03.0179023Z       ],
2026-06-04T17:23:03.0179475Z       "stages": {
2026-06-04T17:23:03.0179885Z         "doc": {
2026-06-04T17:23:03.0180323Z           "complete": true,
2026-06-04T17:23:03.0180739Z           "evidence": [
2026-06-04T17:23:03.0181138Z             {
2026-06-04T17:23:03.0181647Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:23:03.0182072Z               "line": 137
2026-06-04T17:23:03.0182465Z             }
2026-06-04T17:23:03.0182864Z           ]
2026-06-04T17:23:03.0183264Z         },
2026-06-04T17:23:03.0183660Z         "impl": {
2026-06-04T17:23:03.0184284Z           "complete": true,
2026-06-04T17:23:03.0184702Z           "evidence": [
2026-06-04T17:23:03.0185109Z             {
2026-06-04T17:23:03.0185649Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T17:23:03.0186079Z               "line": 29
2026-06-04T17:23:03.0186487Z             },
2026-06-04T17:23:03.0186883Z             {
2026-06-04T17:23:03.0187452Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.0187877Z               "line": 101
2026-06-04T17:23:03.0194128Z             },
2026-06-04T17:23:03.0194688Z             {
2026-06-04T17:23:03.0195366Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0195818Z               "line": 30
2026-06-04T17:23:03.0196231Z             },
2026-06-04T17:23:03.0196664Z             {
2026-06-04T17:23:03.0197289Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.0197751Z               "line": 48
2026-06-04T17:23:03.0198161Z             }
2026-06-04T17:23:03.0198640Z           ]
2026-06-04T17:23:03.0199076Z         },
2026-06-04T17:23:03.0199720Z         "int": {
2026-06-04T17:23:03.0200183Z           "complete": false,
2026-06-04T17:23:03.0200607Z           "evidence": []
2026-06-04T17:23:03.0201009Z         },
2026-06-04T17:23:03.0201409Z         "unit": {
2026-06-04T17:23:03.0201855Z           "complete": true,
2026-06-04T17:23:03.0202287Z           "evidence": [
2026-06-04T17:23:03.0202676Z             {
2026-06-04T17:23:03.0203282Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0203704Z               "line": 152
2026-06-04T17:23:03.0204105Z             }
2026-06-04T17:23:03.0204504Z           ]
2026-06-04T17:23:03.0204904Z         }
2026-06-04T17:23:03.0205307Z       }
2026-06-04T17:23:03.0205691Z     },
2026-06-04T17:23:03.0206093Z     {
2026-06-04T17:23:03.0206624Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T17:23:03.0208681Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T17:23:03.0209253Z       "requiredStages": [
2026-06-04T17:23:03.0209670Z         "doc",
2026-06-04T17:23:03.0210084Z         "impl",
2026-06-04T17:23:03.0210492Z         "unit"
2026-06-04T17:23:03.0210897Z       ],
2026-06-04T17:23:03.0211307Z       "stages": {
2026-06-04T17:23:03.0211719Z         "doc": {
2026-06-04T17:23:03.0212153Z           "complete": true,
2026-06-04T17:23:03.0212580Z           "evidence": [
2026-06-04T17:23:03.0212984Z             {
2026-06-04T17:23:03.0213502Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:23:03.0213933Z               "line": 149
2026-06-04T17:23:03.0214326Z             }
2026-06-04T17:23:03.0214731Z           ]
2026-06-04T17:23:03.0215119Z         },
2026-06-04T17:23:03.0215534Z         "impl": {
2026-06-04T17:23:03.0215978Z           "complete": true,
2026-06-04T17:23:03.0216395Z           "evidence": [
2026-06-04T17:23:03.0216800Z             {
2026-06-04T17:23:03.0217392Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0218149Z               "line": 22
2026-06-04T17:23:03.0218571Z             }
2026-06-04T17:23:03.0218981Z           ]
2026-06-04T17:23:03.0219425Z         },
2026-06-04T17:23:03.0219829Z         "int": {
2026-06-04T17:23:03.0220285Z           "complete": false,
2026-06-04T17:23:03.0220712Z           "evidence": []
2026-06-04T17:23:03.0221115Z         },
2026-06-04T17:23:03.0221514Z         "unit": {
2026-06-04T17:23:03.0221957Z           "complete": true,
2026-06-04T17:23:03.0222389Z           "evidence": [
2026-06-04T17:23:03.0222783Z             {
2026-06-04T17:23:03.0223389Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0223808Z               "line": 257
2026-06-04T17:23:03.0224217Z             }
2026-06-04T17:23:03.0224614Z           ]
2026-06-04T17:23:03.0225015Z         }
2026-06-04T17:23:03.0225419Z       }
2026-06-04T17:23:03.0225812Z     },
2026-06-04T17:23:03.0226209Z     {
2026-06-04T17:23:03.0226768Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T17:23:03.0229221Z       "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-04T17:23:03.0229696Z       "requiredStages": [
2026-06-04T17:23:03.0230102Z         "impl",
2026-06-04T17:23:03.0230513Z         "unit"
2026-06-04T17:23:03.0230919Z       ],
2026-06-04T17:23:03.0231343Z       "stages": {
2026-06-04T17:23:03.0231748Z         "doc": {
2026-06-04T17:23:03.0232193Z           "complete": true,
2026-06-04T17:23:03.0232622Z           "evidence": [
2026-06-04T17:23:03.0233014Z             {
2026-06-04T17:23:03.0233537Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:23:03.0233963Z               "line": 143
2026-06-04T17:23:03.0234371Z             }
2026-06-04T17:23:03.0234764Z           ]
2026-06-04T17:23:03.0235164Z         },
2026-06-04T17:23:03.0235578Z         "impl": {
2026-06-04T17:23:03.0236014Z           "complete": true,
2026-06-04T17:23:03.0236464Z           "evidence": [
2026-06-04T17:23:03.0236873Z             {
2026-06-04T17:23:03.0237481Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.0237908Z               "line": 134
2026-06-04T17:23:03.0238315Z             },
2026-06-04T17:23:03.0238720Z             {
2026-06-04T17:23:03.0239324Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:23:03.0239758Z               "line": 15
2026-06-04T17:23:03.0240158Z             }
2026-06-04T17:23:03.0240561Z           ]
2026-06-04T17:23:03.0240954Z         },
2026-06-04T17:23:03.0241364Z         "int": {
2026-06-04T17:23:03.0241816Z           "complete": false,
2026-06-04T17:23:03.0242241Z           "evidence": []
2026-06-04T17:23:03.0242641Z         },
2026-06-04T17:23:03.0243042Z         "unit": {
2026-06-04T17:23:03.0243485Z           "complete": true,
2026-06-04T17:23:03.0243903Z           "evidence": [
2026-06-04T17:23:03.0244307Z             {
2026-06-04T17:23:03.0244957Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T17:23:03.0245404Z               "line": 87
2026-06-04T17:23:03.0245816Z             },
2026-06-04T17:23:03.0246212Z             {
2026-06-04T17:23:03.0246818Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.0247236Z               "line": 570
2026-06-04T17:23:03.0247640Z             },
2026-06-04T17:23:03.0248039Z             {
2026-06-04T17:23:03.0248633Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.0249061Z               "line": 589
2026-06-04T17:23:03.0249497Z             },
2026-06-04T17:23:03.0249903Z             {
2026-06-04T17:23:03.0250520Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.0250958Z               "line": 148
2026-06-04T17:23:03.0251363Z             },
2026-06-04T17:23:03.0251759Z             {
2026-06-04T17:23:03.0252332Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:23:03.0252750Z               "line": 74
2026-06-04T17:23:03.0253171Z             },
2026-06-04T17:23:03.0254119Z             {
2026-06-04T17:23:03.0254933Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:23:03.0255584Z               "line": 88
2026-06-04T17:23:03.0255993Z             },
2026-06-04T17:23:03.0256401Z             {
2026-06-04T17:23:03.0256963Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:23:03.0257399Z               "line": 104
2026-06-04T17:23:03.0257801Z             }
2026-06-04T17:23:03.0258211Z           ]
2026-06-04T17:23:03.0258616Z         }
2026-06-04T17:23:03.0259014Z       }
2026-06-04T17:23:03.0259472Z     },
2026-06-04T17:23:03.0259869Z     {
2026-06-04T17:23:03.0260446Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T17:23:03.0261454Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T17:23:03.0261921Z       "requiredStages": [
2026-06-04T17:23:03.0262336Z         "impl",
2026-06-04T17:23:03.0262737Z         "unit"
2026-06-04T17:23:03.0263305Z       ],
2026-06-04T17:23:03.0263726Z       "stages": {
2026-06-04T17:23:03.0264141Z         "doc": {
2026-06-04T17:23:03.0264581Z           "complete": false,
2026-06-04T17:23:03.0265020Z           "evidence": []
2026-06-04T17:23:03.0265418Z         },
2026-06-04T17:23:03.0265819Z         "impl": {
2026-06-04T17:23:03.0266267Z           "complete": true,
2026-06-04T17:23:03.0266687Z           "evidence": [
2026-06-04T17:23:03.0267094Z             {
2026-06-04T17:23:03.0267658Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:23:03.0268077Z               "line": 15
2026-06-04T17:23:03.0268485Z             },
2026-06-04T17:23:03.0268876Z             {
2026-06-04T17:23:03.0269529Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0269944Z               "line": 55
2026-06-04T17:23:03.0270349Z             },
2026-06-04T17:23:03.0270745Z             {
2026-06-04T17:23:03.0271347Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0276823Z               "line": 62
2026-06-04T17:23:03.0277363Z             },
2026-06-04T17:23:03.0277787Z             {
2026-06-04T17:23:03.0278400Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0278844Z               "line": 107
2026-06-04T17:23:03.0279354Z             },
2026-06-04T17:23:03.0279773Z             {
2026-06-04T17:23:03.0280383Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0280812Z               "line": 128
2026-06-04T17:23:03.0281220Z             }
2026-06-04T17:23:03.0281615Z           ]
2026-06-04T17:23:03.0282026Z         },
2026-06-04T17:23:03.0282423Z         "int": {
2026-06-04T17:23:03.0282873Z           "complete": false,
2026-06-04T17:23:03.0283313Z           "evidence": []
2026-06-04T17:23:03.0283710Z         },
2026-06-04T17:23:03.0284120Z         "unit": {
2026-06-04T17:23:03.0284556Z           "complete": true,
2026-06-04T17:23:03.0284991Z           "evidence": [
2026-06-04T17:23:03.0285383Z             {
2026-06-04T17:23:03.0285990Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:23:03.0286424Z               "line": 113
2026-06-04T17:23:03.0286823Z             },
2026-06-04T17:23:03.0287232Z             {
2026-06-04T17:23:03.0287786Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:23:03.0288216Z               "line": 119
2026-06-04T17:23:03.0288625Z             },
2026-06-04T17:23:03.0289013Z             {
2026-06-04T17:23:03.0289612Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:23:03.0290045Z               "line": 130
2026-06-04T17:23:03.0290451Z             },
2026-06-04T17:23:03.0290844Z             {
2026-06-04T17:23:03.0291452Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0291881Z               "line": 183
2026-06-04T17:23:03.0292279Z             },
2026-06-04T17:23:03.0292683Z             {
2026-06-04T17:23:03.0293273Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0293707Z               "line": 193
2026-06-04T17:23:03.0294366Z             },
2026-06-04T17:23:03.0294801Z             {
2026-06-04T17:23:03.0295410Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0295831Z               "line": 237
2026-06-04T17:23:03.0296244Z             },
2026-06-04T17:23:03.0296638Z             {
2026-06-04T17:23:03.0297243Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0297660Z               "line": 249
2026-06-04T17:23:03.0298069Z             },
2026-06-04T17:23:03.0298473Z             {
2026-06-04T17:23:03.0299066Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.0299553Z               "line": 275
2026-06-04T17:23:03.0299948Z             }
2026-06-04T17:23:03.0300352Z           ]
2026-06-04T17:23:03.0300740Z         }
2026-06-04T17:23:03.0301145Z       }
2026-06-04T17:23:03.0301555Z     },
2026-06-04T17:23:03.0301965Z     {
2026-06-04T17:23:03.0303003Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T17:23:03.0304860Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T17:23:03.0305426Z       "requiredStages": [
2026-06-04T17:23:03.0305899Z         "impl",
2026-06-04T17:23:03.0306389Z         "unit",
2026-06-04T17:23:03.0306859Z         "int"
2026-06-04T17:23:03.0307319Z       ],
2026-06-04T17:23:03.0307801Z       "stages": {
2026-06-04T17:23:03.0308257Z         "doc": {
2026-06-04T17:23:03.0308780Z           "complete": false,
2026-06-04T17:23:03.0309362Z           "evidence": []
2026-06-04T17:23:03.0309974Z         },
2026-06-04T17:23:03.0310440Z         "impl": {
2026-06-04T17:23:03.0310932Z           "complete": true,
2026-06-04T17:23:03.0311410Z           "evidence": [
2026-06-04T17:23:03.0311828Z             {
2026-06-04T17:23:03.0312426Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:03.0312900Z               "line": 246
2026-06-04T17:23:03.0313332Z             },
2026-06-04T17:23:03.0313759Z             {
2026-06-04T17:23:03.0314432Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:03.0314896Z               "line": 506
2026-06-04T17:23:03.0315481Z             },
2026-06-04T17:23:03.0315961Z             {
2026-06-04T17:23:03.0316645Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:03.0317133Z               "line": 529
2026-06-04T17:23:03.0317616Z             },
2026-06-04T17:23:03.0318091Z             {
2026-06-04T17:23:03.0318731Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:03.0319288Z               "line": 553
2026-06-04T17:23:03.0319863Z             },
2026-06-04T17:23:03.0320286Z             {
2026-06-04T17:23:03.0320948Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:03.0321557Z               "line": 463
2026-06-04T17:23:03.0321995Z             },
2026-06-04T17:23:03.0322410Z             {
2026-06-04T17:23:03.0323061Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:03.0323827Z               "line": 544
2026-06-04T17:23:03.0324380Z             },
2026-06-04T17:23:03.0324864Z             {
2026-06-04T17:23:03.0325552Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:03.0326051Z               "line": 588
2026-06-04T17:23:03.0326515Z             },
2026-06-04T17:23:03.0326981Z             {
2026-06-04T17:23:03.0327636Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:23:03.0328101Z               "line": 631
2026-06-04T17:23:03.0328533Z             },
2026-06-04T17:23:03.0328943Z             {
2026-06-04T17:23:03.0329631Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:23:03.0330065Z               "line": 46
2026-06-04T17:23:03.0330485Z             },
2026-06-04T17:23:03.0330895Z             {
2026-06-04T17:23:03.0331507Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:23:03.0331958Z               "line": 160
2026-06-04T17:23:03.0332374Z             },
2026-06-04T17:23:03.0332789Z             {
2026-06-04T17:23:03.0333697Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T17:23:03.0334197Z               "line": 71
2026-06-04T17:23:03.0334613Z             },
2026-06-04T17:23:03.0335037Z             {
2026-06-04T17:23:03.0335637Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.0336073Z               "line": 128
2026-06-04T17:23:03.0336494Z             },
2026-06-04T17:23:03.0336902Z             {
2026-06-04T17:23:03.0337493Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.0337931Z               "line": 174
2026-06-04T17:23:03.0338359Z             }
2026-06-04T17:23:03.0338784Z           ]
2026-06-04T17:23:03.0339244Z         },
2026-06-04T17:23:03.0339801Z         "int": {
2026-06-04T17:23:03.0340239Z           "complete": true,
2026-06-04T17:23:03.0340675Z           "evidence": [
2026-06-04T17:23:03.0341072Z             {
2026-06-04T17:23:03.0341738Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T17:23:03.0342167Z               "line": 27
2026-06-04T17:23:03.0342743Z             },
2026-06-04T17:23:03.0343157Z             {
2026-06-04T17:23:03.0343797Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:23:03.0344231Z               "line": 125
2026-06-04T17:23:03.0344633Z             },
2026-06-04T17:23:03.0345042Z             {
2026-06-04T17:23:03.0345689Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T17:23:03.0346107Z               "line": 189
2026-06-04T17:23:03.0346515Z             }
2026-06-04T17:23:03.0346912Z           ]
2026-06-04T17:23:03.0347838Z         },
2026-06-04T17:23:03.0348441Z         "unit": {
2026-06-04T17:23:03.0348899Z           "complete": true,
2026-06-04T17:23:03.0349362Z           "evidence": [
2026-06-04T17:23:03.0349752Z             {
2026-06-04T17:23:03.0350351Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:23:03.0350768Z               "line": 282
2026-06-04T17:23:03.0351171Z             },
2026-06-04T17:23:03.0351591Z             {
2026-06-04T17:23:03.0352202Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:23:03.0352638Z               "line": 300
2026-06-04T17:23:03.0353037Z             },
2026-06-04T17:23:03.0353450Z             {
2026-06-04T17:23:03.0354038Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:23:03.0354472Z               "line": 318
2026-06-04T17:23:03.0354889Z             },
2026-06-04T17:23:03.0355293Z             {
2026-06-04T17:23:03.0361811Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:23:03.0362391Z               "line": 221
2026-06-04T17:23:03.0362807Z             },
2026-06-04T17:23:03.0363207Z             {
2026-06-04T17:23:03.0363828Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T17:23:03.0364266Z               "line": 204
2026-06-04T17:23:03.0364659Z             },
2026-06-04T17:23:03.0365063Z             {
2026-06-04T17:23:03.0365642Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T17:23:03.0366123Z               "line": 182
2026-06-04T17:23:03.0366528Z             },
2026-06-04T17:23:03.0366933Z             {
2026-06-04T17:23:03.0367499Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.0367921Z               "line": 441
2026-06-04T17:23:03.0368324Z             },
2026-06-04T17:23:03.0368717Z             {
2026-06-04T17:23:03.0369336Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.0369758Z               "line": 465
2026-06-04T17:23:03.0370165Z             }
2026-06-04T17:23:03.0370566Z           ]
2026-06-04T17:23:03.0370953Z         }
2026-06-04T17:23:03.0371352Z       }
2026-06-04T17:23:03.0371742Z     },
2026-06-04T17:23:03.0372137Z     {
2026-06-04T17:23:03.0372693Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T17:23:03.0373672Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T17:23:03.0374130Z       "requiredStages": [
2026-06-04T17:23:03.0374534Z         "impl",
2026-06-04T17:23:03.0374964Z         "unit"
2026-06-04T17:23:03.0375621Z       ],
2026-06-04T17:23:03.0376065Z       "stages": {
2026-06-04T17:23:03.0376468Z         "doc": {
2026-06-04T17:23:03.0376917Z           "complete": false,
2026-06-04T17:23:03.0377349Z           "evidence": []
2026-06-04T17:23:03.0377738Z         },
2026-06-04T17:23:03.0378151Z         "impl": {
2026-06-04T17:23:03.0378586Z           "complete": true,
2026-06-04T17:23:03.0379015Z           "evidence": [
2026-06-04T17:23:03.0379447Z             {
2026-06-04T17:23:03.0380126Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.0380561Z               "line": 56
2026-06-04T17:23:03.0380957Z             },
2026-06-04T17:23:03.0381360Z             {
2026-06-04T17:23:03.0381994Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.0382425Z               "line": 63
2026-06-04T17:23:03.0382823Z             },
2026-06-04T17:23:03.0383232Z             {
2026-06-04T17:23:03.0383805Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0384400Z               "line": 33
2026-06-04T17:23:03.0384809Z             },
2026-06-04T17:23:03.0385203Z             {
2026-06-04T17:23:03.0385782Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0386197Z               "line": 61
2026-06-04T17:23:03.0386612Z             },
2026-06-04T17:23:03.0387019Z             {
2026-06-04T17:23:03.0387576Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0388004Z               "line": 70
2026-06-04T17:23:03.0388398Z             },
2026-06-04T17:23:03.0388802Z             {
2026-06-04T17:23:03.0389401Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0389826Z               "line": 79
2026-06-04T17:23:03.0390232Z             },
2026-06-04T17:23:03.0390633Z             {
2026-06-04T17:23:03.0391202Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0391616Z               "line": 88
2026-06-04T17:23:03.0392043Z             },
2026-06-04T17:23:03.0392447Z             {
2026-06-04T17:23:03.0393014Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0393444Z               "line": 97
2026-06-04T17:23:03.0393839Z             },
2026-06-04T17:23:03.0394237Z             {
2026-06-04T17:23:03.0394796Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0395234Z               "line": 105
2026-06-04T17:23:03.0395626Z             },
2026-06-04T17:23:03.0396033Z             {
2026-06-04T17:23:03.0396610Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0397039Z               "line": 114
2026-06-04T17:23:03.0397445Z             },
2026-06-04T17:23:03.0397840Z             {
2026-06-04T17:23:03.0398411Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0398845Z               "line": 123
2026-06-04T17:23:03.0399277Z             },
2026-06-04T17:23:03.0399684Z             {
2026-06-04T17:23:03.0400238Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0400697Z               "line": 130
2026-06-04T17:23:03.0401098Z             },
2026-06-04T17:23:03.0401505Z             {
2026-06-04T17:23:03.0402081Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0402505Z               "line": 137
2026-06-04T17:23:03.0402941Z             },
2026-06-04T17:23:03.0403338Z             {
2026-06-04T17:23:03.0403908Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0404330Z               "line": 145
2026-06-04T17:23:03.0404734Z             },
2026-06-04T17:23:03.0405137Z             {
2026-06-04T17:23:03.0405697Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0406129Z               "line": 154
2026-06-04T17:23:03.0406527Z             },
2026-06-04T17:23:03.0406933Z             {
2026-06-04T17:23:03.0407489Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0407919Z               "line": 163
2026-06-04T17:23:03.0408326Z             },
2026-06-04T17:23:03.0408740Z             {
2026-06-04T17:23:03.0409579Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0410031Z               "line": 172
2026-06-04T17:23:03.0410435Z             },
2026-06-04T17:23:03.0410833Z             {
2026-06-04T17:23:03.0411405Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0411837Z               "line": 184
2026-06-04T17:23:03.0412236Z             },
2026-06-04T17:23:03.0412641Z             {
2026-06-04T17:23:03.0413197Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0413632Z               "line": 191
2026-06-04T17:23:03.0414028Z             },
2026-06-04T17:23:03.0414432Z             {
2026-06-04T17:23:03.0414999Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0415420Z               "line": 200
2026-06-04T17:23:03.0415827Z             },
2026-06-04T17:23:03.0416220Z             {
2026-06-04T17:23:03.0416786Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0417378Z               "line": 207
2026-06-04T17:23:03.0417790Z             },
2026-06-04T17:23:03.0418194Z             {
2026-06-04T17:23:03.0418746Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0419223Z               "line": 274
2026-06-04T17:23:03.0419615Z             },
2026-06-04T17:23:03.0420020Z             {
2026-06-04T17:23:03.0420580Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0421018Z               "line": 286
2026-06-04T17:23:03.0421416Z             },
2026-06-04T17:23:03.0421811Z             {
2026-06-04T17:23:03.0422382Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0422804Z               "line": 373
2026-06-04T17:23:03.0423212Z             }
2026-06-04T17:23:03.0423618Z           ]
2026-06-04T17:23:03.0424015Z         },
2026-06-04T17:23:03.0424427Z         "int": {
2026-06-04T17:23:03.0424871Z           "complete": false,
2026-06-04T17:23:03.0425300Z           "evidence": []
2026-06-04T17:23:03.0425710Z         },
2026-06-04T17:23:03.0426131Z         "unit": {
2026-06-04T17:23:03.0426569Z           "complete": true,
2026-06-04T17:23:03.0427004Z           "evidence": [
2026-06-04T17:23:03.0427408Z             {
2026-06-04T17:23:03.0427964Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0428395Z               "line": 443
2026-06-04T17:23:03.0428800Z             },
2026-06-04T17:23:03.0429238Z             {
2026-06-04T17:23:03.0429817Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0430237Z               "line": 469
2026-06-04T17:23:03.0430640Z             },
2026-06-04T17:23:03.0431039Z             {
2026-06-04T17:23:03.0431603Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0432025Z               "line": 482
2026-06-04T17:23:03.0432426Z             },
2026-06-04T17:23:03.0432823Z             {
2026-06-04T17:23:03.0433376Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.0433822Z               "line": 547
2026-06-04T17:23:03.0434226Z             }
2026-06-04T17:23:03.0434630Z           ]
2026-06-04T17:23:03.0435014Z         }
2026-06-04T17:23:03.0435412Z       }
2026-06-04T17:23:03.0440371Z     },
2026-06-04T17:23:03.0440906Z     {
2026-06-04T17:23:03.0441439Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T17:23:03.0442457Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T17:23:03.0442915Z       "requiredStages": [
2026-06-04T17:23:03.0443316Z         "impl",
2026-06-04T17:23:03.0443732Z         "unit"
2026-06-04T17:23:03.0444170Z       ],
2026-06-04T17:23:03.0444902Z       "stages": {
2026-06-04T17:23:03.0445526Z         "doc": {
2026-06-04T17:23:03.0446017Z           "complete": false,
2026-06-04T17:23:03.0446539Z           "evidence": []
2026-06-04T17:23:03.0446996Z         },
2026-06-04T17:23:03.0447484Z         "impl": {
2026-06-04T17:23:03.0448016Z           "complete": true,
2026-06-04T17:23:03.0448492Z           "evidence": [
2026-06-04T17:23:03.0449448Z             {
2026-06-04T17:23:03.0450184Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.0450717Z               "line": 132
2026-06-04T17:23:03.0451232Z             },
2026-06-04T17:23:03.0451696Z             {
2026-06-04T17:23:03.0452448Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.0452967Z               "line": 130
2026-06-04T17:23:03.0453388Z             }
2026-06-04T17:23:03.0453824Z           ]
2026-06-04T17:23:03.0454278Z         },
2026-06-04T17:23:03.0454725Z         "int": {
2026-06-04T17:23:03.0455249Z           "complete": false,
2026-06-04T17:23:03.0456048Z           "evidence": []
2026-06-04T17:23:03.0456520Z         },
2026-06-04T17:23:03.0456950Z         "unit": {
2026-06-04T17:23:03.0457421Z           "complete": true,
2026-06-04T17:23:03.0457866Z           "evidence": [
2026-06-04T17:23:03.0458275Z             {
2026-06-04T17:23:03.0458858Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.0460161Z               "line": 250
2026-06-04T17:23:03.0460598Z             },
2026-06-04T17:23:03.0460995Z             {
2026-06-04T17:23:03.0461602Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.0462031Z               "line": 443
2026-06-04T17:23:03.0462418Z             },
2026-06-04T17:23:03.0462810Z             {
2026-06-04T17:23:03.0463393Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.0463829Z               "line": 453
2026-06-04T17:23:03.0464215Z             }
2026-06-04T17:23:03.0464610Z           ]
2026-06-04T17:23:03.0465002Z         }
2026-06-04T17:23:03.0465392Z       }
2026-06-04T17:23:03.0465920Z     },
2026-06-04T17:23:03.0466324Z     {
2026-06-04T17:23:03.0466851Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T17:23:03.0467516Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T17:23:03.0467982Z       "requiredStages": [],
2026-06-04T17:23:03.0468390Z       "stages": {
2026-06-04T17:23:03.0468797Z         "doc": {
2026-06-04T17:23:03.0469428Z           "complete": false,
2026-06-04T17:23:03.0469994Z           "evidence": []
2026-06-04T17:23:03.0470392Z         },
2026-06-04T17:23:03.0470788Z         "impl": {
2026-06-04T17:23:03.0471235Z           "complete": false,
2026-06-04T17:23:03.0471823Z           "evidence": []
2026-06-04T17:23:03.0472257Z         },
2026-06-04T17:23:03.0472746Z         "int": {
2026-06-04T17:23:03.0473246Z           "complete": false,
2026-06-04T17:23:03.0473709Z           "evidence": []
2026-06-04T17:23:03.0474110Z         },
2026-06-04T17:23:03.0474534Z         "unit": {
2026-06-04T17:23:03.0474989Z           "complete": false,
2026-06-04T17:23:03.0475422Z           "evidence": []
2026-06-04T17:23:03.0475831Z         }
2026-06-04T17:23:03.0476228Z       }
2026-06-04T17:23:03.0476633Z     },
2026-06-04T17:23:03.0477032Z     {
2026-06-04T17:23:03.0477640Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T17:23:03.0478721Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T17:23:03.0479258Z       "requiredStages": [
2026-06-04T17:23:03.0479967Z         "impl",
2026-06-04T17:23:03.0480363Z         "unit"
2026-06-04T17:23:03.0480761Z       ],
2026-06-04T17:23:03.0481170Z       "stages": {
2026-06-04T17:23:03.0481572Z         "doc": {
2026-06-04T17:23:03.0482015Z           "complete": false,
2026-06-04T17:23:03.0482432Z           "evidence": []
2026-06-04T17:23:03.0482834Z         },
2026-06-04T17:23:03.0483234Z         "impl": {
2026-06-04T17:23:03.0483673Z           "complete": true,
2026-06-04T17:23:03.0484089Z           "evidence": [
2026-06-04T17:23:03.0484492Z             {
2026-06-04T17:23:03.0485106Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.0485528Z               "line": 424
2026-06-04T17:23:03.0485932Z             },
2026-06-04T17:23:03.0486326Z             {
2026-06-04T17:23:03.0486916Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:03.0487836Z               "line": 28
2026-06-04T17:23:03.0489647Z             }
2026-06-04T17:23:03.0490852Z           ]
2026-06-04T17:23:03.0491952Z         },
2026-06-04T17:23:03.0492989Z         "int": {
2026-06-04T17:23:03.0494342Z           "complete": false,
2026-06-04T17:23:03.0495857Z           "evidence": []
2026-06-04T17:23:03.0497157Z         },
2026-06-04T17:23:03.0498087Z         "unit": {
2026-06-04T17:23:03.0499386Z           "complete": true,
2026-06-04T17:23:03.0500986Z           "evidence": [
2026-06-04T17:23:03.0502096Z             {
2026-06-04T17:23:03.0503290Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:03.0504967Z               "line": 200
2026-06-04T17:23:03.0506097Z             }
2026-06-04T17:23:03.0507129Z           ]
2026-06-04T17:23:03.0508170Z         }
2026-06-04T17:23:03.0509117Z       }
2026-06-04T17:23:03.0510272Z     },
2026-06-04T17:23:03.0511363Z     {
2026-06-04T17:23:03.0512503Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T17:23:03.0514441Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T17:23:03.0516699Z       "requiredStages": [],
2026-06-04T17:23:03.0517967Z       "stages": {
2026-06-04T17:23:03.0519034Z         "doc": {
2026-06-04T17:23:03.0520299Z           "complete": false,
2026-06-04T17:23:03.0527592Z           "evidence": []
2026-06-04T17:23:03.0529306Z         },
2026-06-04T17:23:03.0530438Z         "impl": {
2026-06-04T17:23:03.0531469Z           "complete": false,
2026-06-04T17:23:03.0532673Z           "evidence": []
2026-06-04T17:23:03.0533754Z         },
2026-06-04T17:23:03.0534757Z         "int": {
2026-06-04T17:23:03.0535778Z           "complete": false,
2026-06-04T17:23:03.0536956Z           "evidence": []
2026-06-04T17:23:03.0538035Z         },
2026-06-04T17:23:03.0538956Z         "unit": {
2026-06-04T17:23:03.0540768Z           "complete": false,
2026-06-04T17:23:03.0542138Z           "evidence": []
2026-06-04T17:23:03.0543235Z         }
2026-06-04T17:23:03.0544143Z       }
2026-06-04T17:23:03.0545020Z     },
2026-06-04T17:23:03.0545980Z     {
2026-06-04T17:23:03.0547019Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T17:23:03.0548763Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T17:23:03.0550839Z       "requiredStages": [
2026-06-04T17:23:03.0551957Z         "impl",
2026-06-04T17:23:03.0552934Z         "unit"
2026-06-04T17:23:03.0553881Z       ],
2026-06-04T17:23:03.0554779Z       "stages": {
2026-06-04T17:23:03.0555758Z         "doc": {
2026-06-04T17:23:03.0556766Z           "complete": false,
2026-06-04T17:23:03.0557938Z           "evidence": []
2026-06-04T17:23:03.0559023Z         },
2026-06-04T17:23:03.0560340Z         "impl": {
2026-06-04T17:23:03.0561364Z           "complete": true,
2026-06-04T17:23:03.0562522Z           "evidence": [
2026-06-04T17:23:03.0563583Z             {
2026-06-04T17:23:03.0564669Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:23:03.0566111Z               "line": 19
2026-06-04T17:23:03.0567178Z             },
2026-06-04T17:23:03.0568133Z             {
2026-06-04T17:23:03.0569516Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.0571240Z               "line": 325
2026-06-04T17:23:03.0572329Z             },
2026-06-04T17:23:03.0573286Z             {
2026-06-04T17:23:03.0574425Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.0575935Z               "line": 361
2026-06-04T17:23:03.0577017Z             },
2026-06-04T17:23:03.0577974Z             {
2026-06-04T17:23:03.0579086Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:23:03.0581094Z               "line": 15
2026-06-04T17:23:03.0582165Z             },
2026-06-04T17:23:03.0583124Z             {
2026-06-04T17:23:03.0584231Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:23:03.0585705Z               "line": 48
2026-06-04T17:23:03.0586787Z             },
2026-06-04T17:23:03.0587741Z             {
2026-06-04T17:23:03.0588857Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:23:03.0590399Z               "line": 106
2026-06-04T17:23:03.0591914Z             }
2026-06-04T17:23:03.0592926Z           ]
2026-06-04T17:23:03.0593840Z         },
2026-06-04T17:23:03.0594748Z         "int": {
2026-06-04T17:23:03.0595779Z           "complete": false,
2026-06-04T17:23:03.0596957Z           "evidence": []
2026-06-04T17:23:03.0598041Z         },
2026-06-04T17:23:03.0598965Z         "unit": {
2026-06-04T17:23:03.0600038Z           "complete": true,
2026-06-04T17:23:03.0601195Z           "evidence": [
2026-06-04T17:23:03.0602255Z             {
2026-06-04T17:23:03.0603398Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.0604923Z               "line": 453
2026-06-04T17:23:03.0606018Z             },
2026-06-04T17:23:03.0606974Z             {
2026-06-04T17:23:03.0608080Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:23:03.0609618Z               "line": 149
2026-06-04T17:23:03.0610709Z             },
2026-06-04T17:23:03.0611677Z             {
2026-06-04T17:23:03.0613069Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:23:03.0614553Z               "line": 156
2026-06-04T17:23:03.0615644Z             }
2026-06-04T17:23:03.0616591Z           ]
2026-06-04T17:23:03.0617542Z         }
2026-06-04T17:23:03.0618442Z       }
2026-06-04T17:23:03.0619366Z     },
2026-06-04T17:23:03.0620259Z     {
2026-06-04T17:23:03.0621338Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T17:23:03.0628597Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T17:23:03.0630507Z       "requiredStages": [
2026-06-04T17:23:03.0631641Z         "impl",
2026-06-04T17:23:03.0632613Z         "unit"
2026-06-04T17:23:03.0633569Z       ],
2026-06-04T17:23:03.0634478Z       "stages": {
2026-06-04T17:23:03.0635459Z         "doc": {
2026-06-04T17:23:03.0636477Z           "complete": false,
2026-06-04T17:23:03.0637662Z           "evidence": []
2026-06-04T17:23:03.0638740Z         },
2026-06-04T17:23:03.0639696Z         "impl": {
2026-06-04T17:23:03.0640768Z           "complete": true,
2026-06-04T17:23:03.0641918Z           "evidence": [
2026-06-04T17:23:03.0642969Z             {
2026-06-04T17:23:03.0644090Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:03.0645571Z               "line": 35
2026-06-04T17:23:03.0646650Z             }
2026-06-04T17:23:03.0647586Z           ]
2026-06-04T17:23:03.0648489Z         },
2026-06-04T17:23:03.0649440Z         "int": {
2026-06-04T17:23:03.0650452Z           "complete": false,
2026-06-04T17:23:03.0651628Z           "evidence": []
2026-06-04T17:23:03.0652697Z         },
2026-06-04T17:23:03.0653609Z         "unit": {
2026-06-04T17:23:03.0654618Z           "complete": true,
2026-06-04T17:23:03.0655780Z           "evidence": [
2026-06-04T17:23:03.0656828Z             {
2026-06-04T17:23:03.0657924Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:23:03.0659446Z               "line": 217
2026-06-04T17:23:03.0660537Z             }
2026-06-04T17:23:03.0661484Z           ]
2026-06-04T17:23:03.0662423Z         }
2026-06-04T17:23:03.0663331Z       }
2026-06-04T17:23:03.0664219Z     },
2026-06-04T17:23:03.0665127Z     {
2026-06-04T17:23:03.0666137Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T17:23:03.0668512Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T17:23:03.0671059Z       "requiredStages": [
2026-06-04T17:23:03.0672210Z         "impl",
2026-06-04T17:23:03.0673196Z         "unit"
2026-06-04T17:23:03.0674153Z       ],
2026-06-04T17:23:03.0675061Z       "stages": {
2026-06-04T17:23:03.0676063Z         "doc": {
2026-06-04T17:23:03.0677086Z           "complete": false,
2026-06-04T17:23:03.0678438Z           "evidence": []
2026-06-04T17:23:03.0679622Z         },
2026-06-04T17:23:03.0680585Z         "impl": {
2026-06-04T17:23:03.0681655Z           "complete": true,
2026-06-04T17:23:03.0682898Z           "evidence": [
2026-06-04T17:23:03.0684104Z             {
2026-06-04T17:23:03.0685731Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.0687472Z               "line": 256
2026-06-04T17:23:03.0688645Z             },
2026-06-04T17:23:03.0689720Z             {
2026-06-04T17:23:03.0690923Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.0692529Z               "line": 221
2026-06-04T17:23:03.0693810Z             },
2026-06-04T17:23:03.0694774Z             {
2026-06-04T17:23:03.0695910Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.0697425Z               "line": 150
2026-06-04T17:23:03.0698513Z             }
2026-06-04T17:23:03.0699664Z           ]
2026-06-04T17:23:03.0700741Z         },
2026-06-04T17:23:03.0701663Z         "int": {
2026-06-04T17:23:03.0702688Z           "complete": false,
2026-06-04T17:23:03.0703868Z           "evidence": []
2026-06-04T17:23:03.0704968Z         },
2026-06-04T17:23:03.0705890Z         "unit": {
2026-06-04T17:23:03.0706918Z           "complete": true,
2026-06-04T17:23:03.0708116Z           "evidence": [
2026-06-04T17:23:03.0709623Z             {
2026-06-04T17:23:03.0711236Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.0712975Z               "line": 477
2026-06-04T17:23:03.0714079Z             },
2026-06-04T17:23:03.0715040Z             {
2026-06-04T17:23:03.0716188Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.0717708Z               "line": 488
2026-06-04T17:23:03.0718805Z             },
2026-06-04T17:23:03.0719806Z             {
2026-06-04T17:23:03.0720941Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.0722441Z               "line": 504
2026-06-04T17:23:03.0723539Z             },
2026-06-04T17:23:03.0730113Z             {
2026-06-04T17:23:03.0731301Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.0732837Z               "line": 518
2026-06-04T17:23:03.0733935Z             },
2026-06-04T17:23:03.0734883Z             {
2026-06-04T17:23:03.0736053Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:23:03.0737666Z               "line": 268
2026-06-04T17:23:03.0739212Z             }
2026-06-04T17:23:03.0740175Z           ]
2026-06-04T17:23:03.0741083Z         }
2026-06-04T17:23:03.0741984Z       }
2026-06-04T17:23:03.0742869Z     },
2026-06-04T17:23:03.0743748Z     {
2026-06-04T17:23:03.0744745Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T17:23:03.0750238Z       "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-04T17:23:03.0755685Z       "requiredStages": [
2026-06-04T17:23:03.0756796Z         "doc",
2026-06-04T17:23:03.0757763Z         "impl",
2026-06-04T17:23:03.0758750Z         "unit"
2026-06-04T17:23:03.0759748Z       ],
2026-06-04T17:23:03.0760664Z       "stages": {
2026-06-04T17:23:03.0761650Z         "doc": {
2026-06-04T17:23:03.0762699Z           "complete": true,
2026-06-04T17:23:03.0763857Z           "evidence": [
2026-06-04T17:23:03.0764907Z             {
2026-06-04T17:23:03.0765981Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:23:03.0767405Z               "line": 259
2026-06-04T17:23:03.0768489Z             }
2026-06-04T17:23:03.0769467Z           ]
2026-06-04T17:23:03.0770378Z         },
2026-06-04T17:23:03.0771308Z         "impl": {
2026-06-04T17:23:03.0772338Z           "complete": true,
2026-06-04T17:23:03.0773483Z           "evidence": [
2026-06-04T17:23:03.0774543Z             {
2026-06-04T17:23:03.0775661Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.0777172Z               "line": 85
2026-06-04T17:23:03.0778248Z             },
2026-06-04T17:23:03.0779245Z             {
2026-06-04T17:23:03.0780375Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:23:03.0781856Z               "line": 99
2026-06-04T17:23:03.0782925Z             },
2026-06-04T17:23:03.0783885Z             {
2026-06-04T17:23:03.0785323Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.0786867Z               "line": 53
2026-06-04T17:23:03.0787954Z             },
2026-06-04T17:23:03.0788900Z             {
2026-06-04T17:23:03.0790088Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.0791612Z               "line": 89
2026-06-04T17:23:03.0792683Z             },
2026-06-04T17:23:03.0793629Z             {
2026-06-04T17:23:03.0794780Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.0796298Z               "line": 29
2026-06-04T17:23:03.0797374Z             },
2026-06-04T17:23:03.0798318Z             {
2026-06-04T17:23:03.0799717Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.0801541Z               "line": 75
2026-06-04T17:23:03.0802701Z             },
2026-06-04T17:23:03.0803694Z             {
2026-06-04T17:23:03.0804908Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.0806744Z               "line": 121
2026-06-04T17:23:03.0807872Z             },
2026-06-04T17:23:03.0808832Z             {
2026-06-04T17:23:03.0810399Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.0811888Z               "line": 40
2026-06-04T17:23:03.0812954Z             },
2026-06-04T17:23:03.0813905Z             {
2026-06-04T17:23:03.0815003Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.0816687Z               "line": 161
2026-06-04T17:23:03.0817809Z             },
2026-06-04T17:23:03.0818804Z             {
2026-06-04T17:23:03.0820148Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T17:23:03.0821602Z               "line": 70
2026-06-04T17:23:03.0822686Z             },
2026-06-04T17:23:03.0823641Z             {
2026-06-04T17:23:03.0824733Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.0826212Z               "line": 210
2026-06-04T17:23:03.0827283Z             },
2026-06-04T17:23:03.0828254Z             {
2026-06-04T17:23:03.0829607Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:23:03.0831258Z               "line": 37
2026-06-04T17:23:03.0832343Z             },
2026-06-04T17:23:03.0838764Z             {
2026-06-04T17:23:03.0840508Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:23:03.0842027Z               "line": 38
2026-06-04T17:23:03.0843107Z             },
2026-06-04T17:23:03.0844079Z             {
2026-06-04T17:23:03.0845215Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:23:03.0846711Z               "line": 36
2026-06-04T17:23:03.0847783Z             },
2026-06-04T17:23:03.0848725Z             {
2026-06-04T17:23:03.0850212Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:23:03.0851700Z               "line": 40
2026-06-04T17:23:03.0852784Z             }
2026-06-04T17:23:03.0853729Z           ]
2026-06-04T17:23:03.0854644Z         },
2026-06-04T17:23:03.0855552Z         "int": {
2026-06-04T17:23:03.0856619Z           "complete": false,
2026-06-04T17:23:03.0857796Z           "evidence": []
2026-06-04T17:23:03.0858887Z         },
2026-06-04T17:23:03.0859854Z         "unit": {
2026-06-04T17:23:03.0860882Z           "complete": true,
2026-06-04T17:23:03.0862043Z           "evidence": [
2026-06-04T17:23:03.0863090Z             {
2026-06-04T17:23:03.0864253Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.0865785Z               "line": 179
2026-06-04T17:23:03.0866872Z             },
2026-06-04T17:23:03.0867820Z             {
2026-06-04T17:23:03.0868988Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T17:23:03.0870591Z               "line": 117
2026-06-04T17:23:03.0871672Z             },
2026-06-04T17:23:03.0872615Z             {
2026-06-04T17:23:03.0873796Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:23:03.0875355Z               "line": 344
2026-06-04T17:23:03.0876437Z             },
2026-06-04T17:23:03.0877400Z             {
2026-06-04T17:23:03.0878788Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:23:03.0880712Z               "line": 204
2026-06-04T17:23:03.0881803Z             },
2026-06-04T17:23:03.0882753Z             {
2026-06-04T17:23:03.0883900Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T17:23:03.0885420Z               "line": 147
2026-06-04T17:23:03.0886497Z             },
2026-06-04T17:23:03.0887440Z             {
2026-06-04T17:23:03.0888568Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:23:03.0890461Z               "line": 106
2026-06-04T17:23:03.0891539Z             },
2026-06-04T17:23:03.0892482Z             {
2026-06-04T17:23:03.0893586Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:23:03.0895060Z               "line": 142
2026-06-04T17:23:03.0896141Z             },
2026-06-04T17:23:03.0897081Z             {
2026-06-04T17:23:03.0898192Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:23:03.0900123Z               "line": 139
2026-06-04T17:23:03.0901241Z             },
2026-06-04T17:23:03.0902220Z             {
2026-06-04T17:23:03.0903415Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:23:03.0905250Z               "line": 126
2026-06-04T17:23:03.0906342Z             },
2026-06-04T17:23:03.0907293Z             {
2026-06-04T17:23:03.0908393Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:23:03.0909931Z               "line": 135
2026-06-04T17:23:03.0911019Z             }
2026-06-04T17:23:03.0911954Z           ]
2026-06-04T17:23:03.0912857Z         }
2026-06-04T17:23:03.0913763Z       }
2026-06-04T17:23:03.0914639Z     },
2026-06-04T17:23:03.0915516Z     {
2026-06-04T17:23:03.0916556Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T17:23:03.0918362Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T17:23:03.0920206Z       "requiredStages": [
2026-06-04T17:23:03.0921319Z         "impl",
2026-06-04T17:23:03.0922308Z         "unit"
2026-06-04T17:23:03.0923251Z       ],
2026-06-04T17:23:03.0924171Z       "stages": {
2026-06-04T17:23:03.0925156Z         "doc": {
2026-06-04T17:23:03.0926169Z           "complete": false,
2026-06-04T17:23:03.0927347Z           "evidence": []
2026-06-04T17:23:03.0928424Z         },
2026-06-04T17:23:03.0929378Z         "impl": {
2026-06-04T17:23:03.0930389Z           "complete": true,
2026-06-04T17:23:03.0931538Z           "evidence": [
2026-06-04T17:23:03.0932581Z             {
2026-06-04T17:23:03.0933683Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.0942208Z               "line": 95
2026-06-04T17:23:03.0943497Z             },
2026-06-04T17:23:03.0944443Z             {
2026-06-04T17:23:03.0945571Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.0947039Z               "line": 99
2026-06-04T17:23:03.0948111Z             }
2026-06-04T17:23:03.0949034Z           ]
2026-06-04T17:23:03.0950054Z         },
2026-06-04T17:23:03.0951006Z         "int": {
2026-06-04T17:23:03.0952035Z           "complete": false,
2026-06-04T17:23:03.0953214Z           "evidence": []
2026-06-04T17:23:03.0954289Z         },
2026-06-04T17:23:03.0955190Z         "unit": {
2026-06-04T17:23:03.0956207Z           "complete": true,
2026-06-04T17:23:03.0957344Z           "evidence": [
2026-06-04T17:23:03.0958392Z             {
2026-06-04T17:23:03.0959547Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.0961016Z               "line": 250
2026-06-04T17:23:03.0962094Z             },
2026-06-04T17:23:03.0963035Z             {
2026-06-04T17:23:03.0964119Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:23:03.0965571Z               "line": 139
2026-06-04T17:23:03.0966650Z             },
2026-06-04T17:23:03.0967586Z             {
2026-06-04T17:23:03.0968695Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.0970206Z               "line": 432
2026-06-04T17:23:03.0971289Z             },
2026-06-04T17:23:03.0972236Z             {
2026-06-04T17:23:03.0973591Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.0975095Z               "line": 462
2026-06-04T17:23:03.0976173Z             }
2026-06-04T17:23:03.0977107Z           ]
2026-06-04T17:23:03.0978006Z         }
2026-06-04T17:23:03.0978904Z       }
2026-06-04T17:23:03.0979834Z     },
2026-06-04T17:23:03.0980724Z     {
2026-06-04T17:23:03.0981699Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T17:23:03.0983517Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T17:23:03.0985473Z       "requiredStages": [
2026-06-04T17:23:03.0986588Z         "impl",
2026-06-04T17:23:03.0987544Z         "unit"
2026-06-04T17:23:03.0988504Z       ],
2026-06-04T17:23:03.0989446Z       "stages": {
2026-06-04T17:23:03.0990431Z         "doc": {
2026-06-04T17:23:03.0991430Z           "complete": false,
2026-06-04T17:23:03.0992601Z           "evidence": []
2026-06-04T17:23:03.0993672Z         },
2026-06-04T17:23:03.0994748Z         "impl": {
2026-06-04T17:23:03.0995779Z           "complete": true,
2026-06-04T17:23:03.0996926Z           "evidence": [
2026-06-04T17:23:03.0997978Z             {
2026-06-04T17:23:03.0999082Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.1000633Z               "line": 230
2026-06-04T17:23:03.1001705Z             },
2026-06-04T17:23:03.1002644Z             {
2026-06-04T17:23:03.1003732Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.1005207Z               "line": 275
2026-06-04T17:23:03.1006284Z             },
2026-06-04T17:23:03.1007234Z             {
2026-06-04T17:23:03.1008322Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.1009838Z               "line": 287
2026-06-04T17:23:03.1010918Z             }
2026-06-04T17:23:03.1011848Z           ]
2026-06-04T17:23:03.1012748Z         },
2026-06-04T17:23:03.1013650Z         "int": {
2026-06-04T17:23:03.1014660Z           "complete": false,
2026-06-04T17:23:03.1015841Z           "evidence": []
2026-06-04T17:23:03.1016929Z         },
2026-06-04T17:23:03.1017836Z         "unit": {
2026-06-04T17:23:03.1018845Z           "complete": true,
2026-06-04T17:23:03.1020028Z           "evidence": [
2026-06-04T17:23:03.1021075Z             {
2026-06-04T17:23:03.1022183Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.1023646Z               "line": 423
2026-06-04T17:23:03.1024721Z             },
2026-06-04T17:23:03.1025669Z             {
2026-06-04T17:23:03.1026763Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.1028225Z               "line": 452
2026-06-04T17:23:03.1029341Z             }
2026-06-04T17:23:03.1030282Z           ]
2026-06-04T17:23:03.1031181Z         }
2026-06-04T17:23:03.1032066Z       }
2026-06-04T17:23:03.1038214Z     },
2026-06-04T17:23:03.1039277Z     {
2026-06-04T17:23:03.1040241Z       "id": "REQ-INFRA-1",
2026-06-04T17:23:03.1041889Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T17:23:03.1043881Z       "requiredStages": [],
2026-06-04T17:23:03.1045026Z       "stages": {
2026-06-04T17:23:03.1046005Z         "doc": {
2026-06-04T17:23:03.1047019Z           "complete": false,
2026-06-04T17:23:03.1048186Z           "evidence": []
2026-06-04T17:23:03.1049295Z         },
2026-06-04T17:23:03.1050208Z         "impl": {
2026-06-04T17:23:03.1051225Z           "complete": false,
2026-06-04T17:23:03.1052381Z           "evidence": []
2026-06-04T17:23:03.1053454Z         },
2026-06-04T17:23:03.1054361Z         "int": {
2026-06-04T17:23:03.1055360Z           "complete": false,
2026-06-04T17:23:03.1056528Z           "evidence": []
2026-06-04T17:23:03.1057599Z         },
2026-06-04T17:23:03.1058510Z         "unit": {
2026-06-04T17:23:03.1059568Z           "complete": false,
2026-06-04T17:23:03.1060735Z           "evidence": []
2026-06-04T17:23:03.1061810Z         }
2026-06-04T17:23:03.1062697Z       }
2026-06-04T17:23:03.1063564Z     },
2026-06-04T17:23:03.1064437Z     {
2026-06-04T17:23:03.1065615Z       "id": "REQ-INST-1",
2026-06-04T17:23:03.1067150Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T17:23:03.1068939Z       "requiredStages": [],
2026-06-04T17:23:03.1070154Z       "stages": {
2026-06-04T17:23:03.1071143Z         "doc": {
2026-06-04T17:23:03.1072162Z           "complete": false,
2026-06-04T17:23:03.1073344Z           "evidence": []
2026-06-04T17:23:03.1074425Z         },
2026-06-04T17:23:03.1075344Z         "impl": {
2026-06-04T17:23:03.1076376Z           "complete": false,
2026-06-04T17:23:03.1077560Z           "evidence": []
2026-06-04T17:23:03.1078650Z         },
2026-06-04T17:23:03.1079625Z         "int": {
2026-06-04T17:23:03.1080663Z           "complete": false,
2026-06-04T17:23:03.1081838Z           "evidence": []
2026-06-04T17:23:03.1082910Z         },
2026-06-04T17:23:03.1083821Z         "unit": {
2026-06-04T17:23:03.1084845Z           "complete": false,
2026-06-04T17:23:03.1086019Z           "evidence": []
2026-06-04T17:23:03.1087286Z         }
2026-06-04T17:23:03.1088214Z       }
2026-06-04T17:23:03.1089109Z     },
2026-06-04T17:23:03.1090069Z     {
2026-06-04T17:23:03.1091004Z       "id": "REQ-INST-10",
2026-06-04T17:23:03.1092802Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T17:23:03.1094969Z       "requiredStages": [
2026-06-04T17:23:03.1096090Z         "impl",
2026-06-04T17:23:03.1097058Z         "unit"
2026-06-04T17:23:03.1098020Z       ],
2026-06-04T17:23:03.1098932Z       "stages": {
2026-06-04T17:23:03.1099963Z         "doc": {
2026-06-04T17:23:03.1100981Z           "complete": false,
2026-06-04T17:23:03.1102162Z           "evidence": []
2026-06-04T17:23:03.1103246Z         },
2026-06-04T17:23:03.1104154Z         "impl": {
2026-06-04T17:23:03.1105176Z           "complete": true,
2026-06-04T17:23:03.1106325Z           "evidence": [
2026-06-04T17:23:03.1107386Z             {
2026-06-04T17:23:03.1108536Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1110126Z               "line": 413
2026-06-04T17:23:03.1111222Z             },
2026-06-04T17:23:03.1112209Z             {
2026-06-04T17:23:03.1112815Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1113226Z               "line": 468
2026-06-04T17:23:03.1113624Z             },
2026-06-04T17:23:03.1114009Z             {
2026-06-04T17:23:03.1114569Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:23:03.1114974Z               "line": 13
2026-06-04T17:23:03.1115371Z             },
2026-06-04T17:23:03.1115760Z             {
2026-06-04T17:23:03.1116304Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:23:03.1116717Z               "line": 67
2026-06-04T17:23:03.1117114Z             },
2026-06-04T17:23:03.1117518Z             {
2026-06-04T17:23:03.1118064Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:23:03.1118525Z               "line": 18
2026-06-04T17:23:03.1118929Z             }
2026-06-04T17:23:03.1119378Z           ]
2026-06-04T17:23:03.1119803Z         },
2026-06-04T17:23:03.1120203Z         "int": {
2026-06-04T17:23:03.1120650Z           "complete": false,
2026-06-04T17:23:03.1121071Z           "evidence": []
2026-06-04T17:23:03.1121474Z         },
2026-06-04T17:23:03.1121883Z         "unit": {
2026-06-04T17:23:03.1122317Z           "complete": true,
2026-06-04T17:23:03.1122744Z           "evidence": [
2026-06-04T17:23:03.1123139Z             {
2026-06-04T17:23:03.1123746Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1124171Z               "line": 612
2026-06-04T17:23:03.1124576Z             },
2026-06-04T17:23:03.1124975Z             {
2026-06-04T17:23:03.1125564Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1130858Z               "line": 709
2026-06-04T17:23:03.1131348Z             },
2026-06-04T17:23:03.1131755Z             {
2026-06-04T17:23:03.1132367Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1132837Z               "line": 717
2026-06-04T17:23:03.1133485Z             },
2026-06-04T17:23:03.1133920Z             {
2026-06-04T17:23:03.1134543Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1134975Z               "line": 730
2026-06-04T17:23:03.1135379Z             },
2026-06-04T17:23:03.1135766Z             {
2026-06-04T17:23:03.1136370Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1136795Z               "line": 743
2026-06-04T17:23:03.1137190Z             },
2026-06-04T17:23:03.1137592Z             {
2026-06-04T17:23:03.1138190Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1138621Z               "line": 759
2026-06-04T17:23:03.1139015Z             },
2026-06-04T17:23:03.1139473Z             {
2026-06-04T17:23:03.1140080Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1140499Z               "line": 988
2026-06-04T17:23:03.1140897Z             },
2026-06-04T17:23:03.1141439Z             {
2026-06-04T17:23:03.1142018Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:23:03.1142448Z               "line": 121
2026-06-04T17:23:03.1142844Z             },
2026-06-04T17:23:03.1143247Z             {
2026-06-04T17:23:03.1143801Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:23:03.1144231Z               "line": 142
2026-06-04T17:23:03.1144628Z             },
2026-06-04T17:23:03.1145028Z             {
2026-06-04T17:23:03.1145586Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:23:03.1146010Z               "line": 150
2026-06-04T17:23:03.1146410Z             },
2026-06-04T17:23:03.1146799Z             {
2026-06-04T17:23:03.1147362Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:23:03.1147779Z               "line": 158
2026-06-04T17:23:03.1148181Z             }
2026-06-04T17:23:03.1148578Z           ]
2026-06-04T17:23:03.1148969Z         }
2026-06-04T17:23:03.1149414Z       }
2026-06-04T17:23:03.1149816Z     },
2026-06-04T17:23:03.1150221Z     {
2026-06-04T17:23:03.1150657Z       "id": "REQ-INST-11",
2026-06-04T17:23:03.1151828Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T17:23:03.1152277Z       "requiredStages": [
2026-06-04T17:23:03.1152681Z         "impl",
2026-06-04T17:23:03.1153083Z         "unit"
2026-06-04T17:23:03.1153473Z       ],
2026-06-04T17:23:03.1153888Z       "stages": {
2026-06-04T17:23:03.1154287Z         "doc": {
2026-06-04T17:23:03.1154732Z           "complete": false,
2026-06-04T17:23:03.1155162Z           "evidence": []
2026-06-04T17:23:03.1155552Z         },
2026-06-04T17:23:03.1155967Z         "impl": {
2026-06-04T17:23:03.1156396Z           "complete": true,
2026-06-04T17:23:03.1156821Z           "evidence": [
2026-06-04T17:23:03.1157215Z             {
2026-06-04T17:23:03.1157833Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1158265Z               "line": 315
2026-06-04T17:23:03.1158674Z             },
2026-06-04T17:23:03.1159083Z             {
2026-06-04T17:23:03.1159748Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.1160171Z               "line": 243
2026-06-04T17:23:03.1160564Z             },
2026-06-04T17:23:03.1160962Z             {
2026-06-04T17:23:03.1161532Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:23:03.1161953Z               "line": 59
2026-06-04T17:23:03.1162353Z             },
2026-06-04T17:23:03.1162743Z             {
2026-06-04T17:23:03.1163248Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1163673Z               "line": 1374
2026-06-04T17:23:03.1164076Z             },
2026-06-04T17:23:03.1164477Z             {
2026-06-04T17:23:03.1164974Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1165406Z               "line": 2256
2026-06-04T17:23:03.1165801Z             }
2026-06-04T17:23:03.1166201Z           ]
2026-06-04T17:23:03.1166592Z         },
2026-06-04T17:23:03.1167011Z         "int": {
2026-06-04T17:23:03.1167614Z           "complete": false,
2026-06-04T17:23:03.1168054Z           "evidence": []
2026-06-04T17:23:03.1168457Z         },
2026-06-04T17:23:03.1168859Z         "unit": {
2026-06-04T17:23:03.1169356Z           "complete": true,
2026-06-04T17:23:03.1169783Z           "evidence": [
2026-06-04T17:23:03.1170184Z             {
2026-06-04T17:23:03.1170789Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1171213Z               "line": 852
2026-06-04T17:23:03.1171613Z             },
2026-06-04T17:23:03.1172005Z             {
2026-06-04T17:23:03.1172608Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1173024Z               "line": 875
2026-06-04T17:23:03.1173422Z             },
2026-06-04T17:23:03.1173820Z             {
2026-06-04T17:23:03.1174434Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.1174858Z               "line": 462
2026-06-04T17:23:03.1175254Z             },
2026-06-04T17:23:03.1175847Z             {
2026-06-04T17:23:03.1176426Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:23:03.1176864Z               "line": 156
2026-06-04T17:23:03.1177268Z             },
2026-06-04T17:23:03.1177664Z             {
2026-06-04T17:23:03.1178231Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:23:03.1178648Z               "line": 177
2026-06-04T17:23:03.1179053Z             },
2026-06-04T17:23:03.1179487Z             {
2026-06-04T17:23:03.1180051Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:23:03.1180478Z               "line": 209
2026-06-04T17:23:03.1180873Z             },
2026-06-04T17:23:03.1181272Z             {
2026-06-04T17:23:03.1181769Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1182197Z               "line": 2349
2026-06-04T17:23:03.1182601Z             }
2026-06-04T17:23:03.1182998Z           ]
2026-06-04T17:23:03.1183398Z         }
2026-06-04T17:23:03.1183788Z       }
2026-06-04T17:23:03.1184202Z     },
2026-06-04T17:23:03.1184600Z     {
2026-06-04T17:23:03.1185042Z       "id": "REQ-INST-12",
2026-06-04T17:23:03.1186617Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T17:23:03.1187073Z       "requiredStages": [
2026-06-04T17:23:03.1187483Z         "impl",
2026-06-04T17:23:03.1187878Z         "unit"
2026-06-04T17:23:03.1188284Z       ],
2026-06-04T17:23:03.1188686Z       "stages": {
2026-06-04T17:23:03.1189091Z         "doc": {
2026-06-04T17:23:03.1189587Z           "complete": false,
2026-06-04T17:23:03.1190009Z           "evidence": []
2026-06-04T17:23:03.1190408Z         },
2026-06-04T17:23:03.1190807Z         "impl": {
2026-06-04T17:23:03.1191251Z           "complete": true,
2026-06-04T17:23:03.1191664Z           "evidence": [
2026-06-04T17:23:03.1192066Z             {
2026-06-04T17:23:03.1192674Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1193096Z               "line": 367
2026-06-04T17:23:03.1193530Z             },
2026-06-04T17:23:03.1193925Z             {
2026-06-04T17:23:03.1194524Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1194938Z               "line": 424
2026-06-04T17:23:03.1195342Z             },
2026-06-04T17:23:03.1195741Z             {
2026-06-04T17:23:03.1196330Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1196758Z               "line": 482
2026-06-04T17:23:03.1197148Z             },
2026-06-04T17:23:03.1197547Z             {
2026-06-04T17:23:03.1198104Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.1198533Z               "line": 87
2026-06-04T17:23:03.1198935Z             },
2026-06-04T17:23:03.1199387Z             {
2026-06-04T17:23:03.1199988Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.1200414Z               "line": 216
2026-06-04T17:23:03.1200816Z             },
2026-06-04T17:23:03.1201206Z             {
2026-06-04T17:23:03.1201982Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1202434Z               "line": 132
2026-06-04T17:23:03.1202823Z             }
2026-06-04T17:23:03.1203222Z           ]
2026-06-04T17:23:03.1203619Z         },
2026-06-04T17:23:03.1204021Z         "int": {
2026-06-04T17:23:03.1204454Z           "complete": false,
2026-06-04T17:23:03.1204889Z           "evidence": []
2026-06-04T17:23:03.1209792Z         },
2026-06-04T17:23:03.1210302Z         "unit": {
2026-06-04T17:23:03.1210758Z           "complete": true,
2026-06-04T17:23:03.1211184Z           "evidence": [
2026-06-04T17:23:03.1211593Z             {
2026-06-04T17:23:03.1212200Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1212638Z               "line": 910
2026-06-04T17:23:03.1213047Z             },
2026-06-04T17:23:03.1213437Z             {
2026-06-04T17:23:03.1214043Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1214468Z               "line": 927
2026-06-04T17:23:03.1215155Z             },
2026-06-04T17:23:03.1215552Z             {
2026-06-04T17:23:03.1216164Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1216594Z               "line": 958
2026-06-04T17:23:03.1216995Z             },
2026-06-04T17:23:03.1217393Z             {
2026-06-04T17:23:03.1217960Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.1218390Z               "line": 350
2026-06-04T17:23:03.1218786Z             },
2026-06-04T17:23:03.1219233Z             {
2026-06-04T17:23:03.1219846Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1220263Z               "line": 169
2026-06-04T17:23:03.1220664Z             },
2026-06-04T17:23:03.1221053Z             {
2026-06-04T17:23:03.1221660Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1222081Z               "line": 181
2026-06-04T17:23:03.1222495Z             },
2026-06-04T17:23:03.1222893Z             {
2026-06-04T17:23:03.1223515Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1223943Z               "line": 198
2026-06-04T17:23:03.1224325Z             }
2026-06-04T17:23:03.1224724Z           ]
2026-06-04T17:23:03.1225114Z         }
2026-06-04T17:23:03.1225516Z       }
2026-06-04T17:23:03.1225915Z     },
2026-06-04T17:23:03.1226303Z     {
2026-06-04T17:23:03.1226743Z       "id": "REQ-INST-13",
2026-06-04T17:23:03.1227672Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T17:23:03.1228133Z       "requiredStages": [
2026-06-04T17:23:03.1228533Z         "impl",
2026-06-04T17:23:03.1228935Z         "unit"
2026-06-04T17:23:03.1229371Z       ],
2026-06-04T17:23:03.1229790Z       "stages": {
2026-06-04T17:23:03.1230205Z         "doc": {
2026-06-04T17:23:03.1230646Z           "complete": false,
2026-06-04T17:23:03.1231078Z           "evidence": []
2026-06-04T17:23:03.1231467Z         },
2026-06-04T17:23:03.1231876Z         "impl": {
2026-06-04T17:23:03.1232339Z           "complete": true,
2026-06-04T17:23:03.1232776Z           "evidence": [
2026-06-04T17:23:03.1233181Z             {
2026-06-04T17:23:03.1233736Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1234155Z               "line": 94
2026-06-04T17:23:03.1234549Z             },
2026-06-04T17:23:03.1234950Z             {
2026-06-04T17:23:03.1235565Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1235985Z               "line": 155
2026-06-04T17:23:03.1236414Z             }
2026-06-04T17:23:03.1236861Z           ]
2026-06-04T17:23:03.1237605Z         },
2026-06-04T17:23:03.1238236Z         "int": {
2026-06-04T17:23:03.1238807Z           "complete": false,
2026-06-04T17:23:03.1239532Z           "evidence": []
2026-06-04T17:23:03.1239954Z         },
2026-06-04T17:23:03.1240367Z         "unit": {
2026-06-04T17:23:03.1240803Z           "complete": true,
2026-06-04T17:23:03.1241230Z           "evidence": [
2026-06-04T17:23:03.1241621Z             {
2026-06-04T17:23:03.1242504Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1242961Z               "line": 221
2026-06-04T17:23:03.1243361Z             },
2026-06-04T17:23:03.1243771Z             {
2026-06-04T17:23:03.1244383Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:23:03.1244813Z               "line": 233
2026-06-04T17:23:03.1245220Z             }
2026-06-04T17:23:03.1245614Z           ]
2026-06-04T17:23:03.1246009Z         }
2026-06-04T17:23:03.1246401Z       }
2026-06-04T17:23:03.1246799Z     },
2026-06-04T17:23:03.1247187Z     {
2026-06-04T17:23:03.1247635Z       "id": "REQ-INST-14",
2026-06-04T17:23:03.1249792Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T17:23:03.1250248Z       "requiredStages": [
2026-06-04T17:23:03.1250656Z         "doc",
2026-06-04T17:23:03.1251052Z         "impl",
2026-06-04T17:23:03.1251457Z         "unit"
2026-06-04T17:23:03.1251997Z       ],
2026-06-04T17:23:03.1252430Z       "stages": {
2026-06-04T17:23:03.1252840Z         "doc": {
2026-06-04T17:23:03.1253280Z           "complete": true,
2026-06-04T17:23:03.1253707Z           "evidence": [
2026-06-04T17:23:03.1254100Z             {
2026-06-04T17:23:03.1254578Z               "path": "docs/STORAGE.md",
2026-06-04T17:23:03.1254995Z               "line": 49
2026-06-04T17:23:03.1255399Z             }
2026-06-04T17:23:03.1255802Z           ]
2026-06-04T17:23:03.1256191Z         },
2026-06-04T17:23:03.1256609Z         "impl": {
2026-06-04T17:23:03.1257047Z           "complete": true,
2026-06-04T17:23:03.1257478Z           "evidence": [
2026-06-04T17:23:03.1257874Z             {
2026-06-04T17:23:03.1258533Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1258963Z               "line": 242
2026-06-04T17:23:03.1259429Z             },
2026-06-04T17:23:03.1259831Z             {
2026-06-04T17:23:03.1260438Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1260891Z               "line": 182
2026-06-04T17:23:03.1261285Z             },
2026-06-04T17:23:03.1261687Z             {
2026-06-04T17:23:03.1262245Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.1262665Z               "line": 202
2026-06-04T17:23:03.1263069Z             },
2026-06-04T17:23:03.1263461Z             {
2026-06-04T17:23:03.1263983Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1264400Z               "line": 685
2026-06-04T17:23:03.1264802Z             }
2026-06-04T17:23:03.1265205Z           ]
2026-06-04T17:23:03.1265599Z         },
2026-06-04T17:23:03.1266006Z         "int": {
2026-06-04T17:23:03.1266441Z           "complete": false,
2026-06-04T17:23:03.1266868Z           "evidence": []
2026-06-04T17:23:03.1267259Z         },
2026-06-04T17:23:03.1267671Z         "unit": {
2026-06-04T17:23:03.1268113Z           "complete": true,
2026-06-04T17:23:03.1268529Z           "evidence": [
2026-06-04T17:23:03.1268946Z             {
2026-06-04T17:23:03.1269648Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1270090Z               "line": 391
2026-06-04T17:23:03.1270485Z             },
2026-06-04T17:23:03.1270891Z             {
2026-06-04T17:23:03.1271503Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1271921Z               "line": 621
2026-06-04T17:23:03.1272326Z             },
2026-06-04T17:23:03.1272717Z             {
2026-06-04T17:23:03.1273327Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1273757Z               "line": 662
2026-06-04T17:23:03.1274158Z             },
2026-06-04T17:23:03.1274565Z             {
2026-06-04T17:23:03.1275112Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.1275536Z               "line": 411
2026-06-04T17:23:03.1275934Z             },
2026-06-04T17:23:03.1276337Z             {
2026-06-04T17:23:03.1276845Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1277439Z               "line": 2365
2026-06-04T17:23:03.1277858Z             }
2026-06-04T17:23:03.1278248Z           ]
2026-06-04T17:23:03.1278650Z         }
2026-06-04T17:23:03.1279043Z       }
2026-06-04T17:23:03.1279486Z     },
2026-06-04T17:23:03.1279870Z     {
2026-06-04T17:23:03.1280319Z       "id": "REQ-INST-15",
2026-06-04T17:23:03.1284512Z       "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-04T17:23:03.1284970Z       "requiredStages": [
2026-06-04T17:23:03.1285384Z         "doc",
2026-06-04T17:23:03.1285789Z         "impl",
2026-06-04T17:23:03.1286206Z         "unit"
2026-06-04T17:23:03.1286614Z       ],
2026-06-04T17:23:03.1287027Z       "stages": {
2026-06-04T17:23:03.1287438Z         "doc": {
2026-06-04T17:23:03.1287880Z           "complete": true,
2026-06-04T17:23:03.1288485Z           "evidence": [
2026-06-04T17:23:03.1294940Z             {
2026-06-04T17:23:03.1296641Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-04T17:23:03.1297075Z               "line": 3
2026-06-04T17:23:03.1297476Z             }
2026-06-04T17:23:03.1297878Z           ]
2026-06-04T17:23:03.1298275Z         },
2026-06-04T17:23:03.1298688Z         "impl": {
2026-06-04T17:23:03.1299121Z           "complete": true,
2026-06-04T17:23:03.1299645Z           "evidence": [
2026-06-04T17:23:03.1300052Z             {
2026-06-04T17:23:03.1300686Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1301114Z               "line": 206
2026-06-04T17:23:03.1301509Z             },
2026-06-04T17:23:03.1301910Z             {
2026-06-04T17:23:03.1302447Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1302874Z               "line": 60
2026-06-04T17:23:03.1303276Z             },
2026-06-04T17:23:03.1303728Z             {
2026-06-04T17:23:03.1304374Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.1304799Z               "line": 317
2026-06-04T17:23:03.1305205Z             },
2026-06-04T17:23:03.1305600Z             {
2026-06-04T17:23:03.1306545Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.1307173Z               "line": 367
2026-06-04T17:23:03.1307599Z             },
2026-06-04T17:23:03.1308155Z             {
2026-06-04T17:23:03.1308717Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1309148Z               "line": 19
2026-06-04T17:23:03.1309595Z             },
2026-06-04T17:23:03.1310003Z             {
2026-06-04T17:23:03.1310569Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1310988Z               "line": 67
2026-06-04T17:23:03.1311392Z             },
2026-06-04T17:23:03.1311786Z             {
2026-06-04T17:23:03.1312341Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1312789Z               "line": 91
2026-06-04T17:23:03.1313196Z             },
2026-06-04T17:23:03.1313600Z             {
2026-06-04T17:23:03.1314139Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1314568Z               "line": 116
2026-06-04T17:23:03.1314961Z             },
2026-06-04T17:23:03.1315364Z             {
2026-06-04T17:23:03.1315901Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1316332Z               "line": 167
2026-06-04T17:23:03.1316737Z             },
2026-06-04T17:23:03.1317128Z             {
2026-06-04T17:23:03.1317692Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.1318114Z               "line": 141
2026-06-04T17:23:03.1318520Z             },
2026-06-04T17:23:03.1318917Z             {
2026-06-04T17:23:03.1319477Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1319915Z               "line": 577
2026-06-04T17:23:03.1320306Z             }
2026-06-04T17:23:03.1320704Z           ]
2026-06-04T17:23:03.1321108Z         },
2026-06-04T17:23:03.1322060Z         "int": {
2026-06-04T17:23:03.1322590Z           "complete": false,
2026-06-04T17:23:03.1323081Z           "evidence": []
2026-06-04T17:23:03.1323516Z         },
2026-06-04T17:23:03.1323936Z         "unit": {
2026-06-04T17:23:03.1324397Z           "complete": true,
2026-06-04T17:23:03.1324836Z           "evidence": [
2026-06-04T17:23:03.1325253Z             {
2026-06-04T17:23:03.1325915Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.1326368Z               "line": 506
2026-06-04T17:23:03.1326783Z             },
2026-06-04T17:23:03.1327190Z             {
2026-06-04T17:23:03.1327853Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.1328286Z               "line": 562
2026-06-04T17:23:03.1328708Z             },
2026-06-04T17:23:03.1329126Z             {
2026-06-04T17:23:03.1329921Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1330369Z               "line": 206
2026-06-04T17:23:03.1330955Z             },
2026-06-04T17:23:03.1331364Z             {
2026-06-04T17:23:03.1331908Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1332339Z               "line": 239
2026-06-04T17:23:03.1332747Z             },
2026-06-04T17:23:03.1333142Z             {
2026-06-04T17:23:03.1333692Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1334113Z               "line": 252
2026-06-04T17:23:03.1334516Z             },
2026-06-04T17:23:03.1334905Z             {
2026-06-04T17:23:03.1335465Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:23:03.1335896Z               "line": 316
2026-06-04T17:23:03.1336287Z             },
2026-06-04T17:23:03.1336693Z             {
2026-06-04T17:23:03.1337248Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.1337677Z               "line": 477
2026-06-04T17:23:03.1338079Z             },
2026-06-04T17:23:03.1338649Z             {
2026-06-04T17:23:03.1339290Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1339764Z               "line": 2352
2026-06-04T17:23:03.1340314Z             },
2026-06-04T17:23:03.1340709Z             {
2026-06-04T17:23:03.1341225Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1341647Z               "line": 3133
2026-06-04T17:23:03.1342045Z             }
2026-06-04T17:23:03.1342447Z           ]
2026-06-04T17:23:03.1342843Z         }
2026-06-04T17:23:03.1343249Z       }
2026-06-04T17:23:03.1343649Z     },
2026-06-04T17:23:03.1344511Z     {
2026-06-04T17:23:03.1344984Z       "id": "REQ-INST-2",
2026-06-04T17:23:03.1345715Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T17:23:03.1346332Z       "requiredStages": [
2026-06-04T17:23:03.1346822Z         "impl",
2026-06-04T17:23:03.1347307Z         "unit"
2026-06-04T17:23:03.1347768Z       ],
2026-06-04T17:23:03.1348270Z       "stages": {
2026-06-04T17:23:03.1348738Z         "doc": {
2026-06-04T17:23:03.1349331Z           "complete": false,
2026-06-04T17:23:03.1349869Z           "evidence": []
2026-06-04T17:23:03.1350300Z         },
2026-06-04T17:23:03.1350759Z         "impl": {
2026-06-04T17:23:03.1351252Z           "complete": true,
2026-06-04T17:23:03.1351760Z           "evidence": [
2026-06-04T17:23:03.1352246Z             {
2026-06-04T17:23:03.1352965Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1353418Z               "line": 86
2026-06-04T17:23:03.1353833Z             },
2026-06-04T17:23:03.1354255Z             {
2026-06-04T17:23:03.1354844Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:03.1355289Z               "line": 28
2026-06-04T17:23:03.1355703Z             },
2026-06-04T17:23:03.1356119Z             {
2026-06-04T17:23:03.1356713Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:03.1357147Z               "line": 74
2026-06-04T17:23:03.1357570Z             },
2026-06-04T17:23:03.1357979Z             {
2026-06-04T17:23:03.1358868Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:03.1359551Z               "line": 96
2026-06-04T17:23:03.1359974Z             },
2026-06-04T17:23:03.1360909Z             {
2026-06-04T17:23:03.1361664Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:23:03.1362109Z               "line": 81
2026-06-04T17:23:03.1362514Z             },
2026-06-04T17:23:03.1362915Z             {
2026-06-04T17:23:03.1363489Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:23:03.1363929Z               "line": 118
2026-06-04T17:23:03.1364332Z             }
2026-06-04T17:23:03.1364724Z           ]
2026-06-04T17:23:03.1365130Z         },
2026-06-04T17:23:03.1365537Z         "int": {
2026-06-04T17:23:03.1365995Z           "complete": false,
2026-06-04T17:23:03.1366415Z           "evidence": []
2026-06-04T17:23:03.1366823Z         },
2026-06-04T17:23:03.1367237Z         "unit": {
2026-06-04T17:23:03.1367677Z           "complete": true,
2026-06-04T17:23:03.1368102Z           "evidence": [
2026-06-04T17:23:03.1368747Z             {
2026-06-04T17:23:03.1369521Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:23:03.1370093Z               "line": 203
2026-06-04T17:23:03.1370494Z             },
2026-06-04T17:23:03.1370898Z             {
2026-06-04T17:23:03.1371453Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:23:03.1371886Z               "line": 232
2026-06-04T17:23:03.1372280Z             }
2026-06-04T17:23:03.1372686Z           ]
2026-06-04T17:23:03.1373076Z         }
2026-06-04T17:23:03.1373476Z       }
2026-06-04T17:23:03.1380451Z     },
2026-06-04T17:23:03.1380995Z     {
2026-06-04T17:23:03.1381480Z       "id": "REQ-INST-3",
2026-06-04T17:23:03.1382226Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T17:23:03.1382686Z       "requiredStages": [
2026-06-04T17:23:03.1383082Z         "doc",
2026-06-04T17:23:03.1383487Z         "impl",
2026-06-04T17:23:03.1383891Z         "unit"
2026-06-04T17:23:03.1384280Z       ],
2026-06-04T17:23:03.1384758Z       "stages": {
2026-06-04T17:23:03.1385156Z         "doc": {
2026-06-04T17:23:03.1385596Z           "complete": true,
2026-06-04T17:23:03.1386007Z           "evidence": [
2026-06-04T17:23:03.1386405Z             {
2026-06-04T17:23:03.1386946Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-04T17:23:03.1387353Z               "line": 3
2026-06-04T17:23:03.1387752Z             }
2026-06-04T17:23:03.1388136Z           ]
2026-06-04T17:23:03.1388535Z         },
2026-06-04T17:23:03.1388931Z         "impl": {
2026-06-04T17:23:03.1389424Z           "complete": true,
2026-06-04T17:23:03.1389860Z           "evidence": [
2026-06-04T17:23:03.1390254Z             {
2026-06-04T17:23:03.1390842Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:23:03.1391260Z               "line": 70
2026-06-04T17:23:03.1391661Z             },
2026-06-04T17:23:03.1392051Z             {
2026-06-04T17:23:03.1392659Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.1393108Z               "line": 385
2026-06-04T17:23:03.1393501Z             },
2026-06-04T17:23:03.1393902Z             {
2026-06-04T17:23:03.1394498Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1394926Z               "line": 197
2026-06-04T17:23:03.1395320Z             },
2026-06-04T17:23:03.1395723Z             {
2026-06-04T17:23:03.1396328Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1396752Z               "line": 272
2026-06-04T17:23:03.1397151Z             },
2026-06-04T17:23:03.1397535Z             {
2026-06-04T17:23:03.1398136Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1398549Z               "line": 293
2026-06-04T17:23:03.1398951Z             },
2026-06-04T17:23:03.1399384Z             {
2026-06-04T17:23:03.1399987Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:23:03.1400412Z               "line": 234
2026-06-04T17:23:03.1400798Z             },
2026-06-04T17:23:03.1401216Z             {
2026-06-04T17:23:03.1402122Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1402565Z               "line": 147
2026-06-04T17:23:03.1402966Z             },
2026-06-04T17:23:03.1403361Z             {
2026-06-04T17:23:03.1404004Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1404428Z               "line": 228
2026-06-04T17:23:03.1404836Z             },
2026-06-04T17:23:03.1405234Z             {
2026-06-04T17:23:03.1405819Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1406241Z               "line": 44
2026-06-04T17:23:03.1406630Z             },
2026-06-04T17:23:03.1407027Z             {
2026-06-04T17:23:03.1407603Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1408027Z               "line": 113
2026-06-04T17:23:03.1408428Z             },
2026-06-04T17:23:03.1408818Z             {
2026-06-04T17:23:03.1409457Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1410056Z               "line": 151
2026-06-04T17:23:03.1410463Z             },
2026-06-04T17:23:03.1410855Z             {
2026-06-04T17:23:03.1411448Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1411876Z               "line": 167
2026-06-04T17:23:03.1412267Z             },
2026-06-04T17:23:03.1412683Z             {
2026-06-04T17:23:03.1413271Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1413701Z               "line": 177
2026-06-04T17:23:03.1414099Z             },
2026-06-04T17:23:03.1414501Z             {
2026-06-04T17:23:03.1415096Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1415514Z               "line": 209
2026-06-04T17:23:03.1415918Z             },
2026-06-04T17:23:03.1416307Z             {
2026-06-04T17:23:03.1416902Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1417322Z               "line": 282
2026-06-04T17:23:03.1417742Z             },
2026-06-04T17:23:03.1418159Z             {
2026-06-04T17:23:03.1418743Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1419227Z               "line": 306
2026-06-04T17:23:03.1419634Z             },
2026-06-04T17:23:03.1420039Z             {
2026-06-04T17:23:03.1420620Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1421054Z               "line": 346
2026-06-04T17:23:03.1421464Z             },
2026-06-04T17:23:03.1421858Z             {
2026-06-04T17:23:03.1422456Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1422876Z               "line": 361
2026-06-04T17:23:03.1423288Z             },
2026-06-04T17:23:03.1423691Z             {
2026-06-04T17:23:03.1424276Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-04T17:23:03.1424706Z               "line": 37
2026-06-04T17:23:03.1425098Z             },
2026-06-04T17:23:03.1425502Z             {
2026-06-04T17:23:03.1426096Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1426552Z               "line": 62
2026-06-04T17:23:03.1426962Z             },
2026-06-04T17:23:03.1427357Z             {
2026-06-04T17:23:03.1427910Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.1428334Z               "line": 184
2026-06-04T17:23:03.1428742Z             },
2026-06-04T17:23:03.1429136Z             {
2026-06-04T17:23:03.1429696Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1430131Z               "line": 782
2026-06-04T17:23:03.1430526Z             }
2026-06-04T17:23:03.1430931Z           ]
2026-06-04T17:23:03.1431323Z         },
2026-06-04T17:23:03.1431723Z         "int": {
2026-06-04T17:23:03.1432158Z           "complete": false,
2026-06-04T17:23:03.1432595Z           "evidence": []
2026-06-04T17:23:03.1432996Z         },
2026-06-04T17:23:03.1433397Z         "unit": {
2026-06-04T17:23:03.1433842Z           "complete": true,
2026-06-04T17:23:03.1434250Z           "evidence": [
2026-06-04T17:23:03.1434676Z             {
2026-06-04T17:23:03.1435457Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:03.1435908Z               "line": 305
2026-06-04T17:23:03.1436317Z             },
2026-06-04T17:23:03.1436705Z             {
2026-06-04T17:23:03.1437322Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1437740Z               "line": 610
2026-06-04T17:23:03.1438149Z             },
2026-06-04T17:23:03.1438548Z             {
2026-06-04T17:23:03.1439830Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1440308Z               "line": 661
2026-06-04T17:23:03.1440714Z             },
2026-06-04T17:23:03.1441117Z             {
2026-06-04T17:23:03.1441757Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1442191Z               "line": 441
2026-06-04T17:23:03.1442591Z             },
2026-06-04T17:23:03.1443000Z             {
2026-06-04T17:23:03.1443648Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1444264Z               "line": 488
2026-06-04T17:23:03.1444676Z             },
2026-06-04T17:23:03.1445072Z             {
2026-06-04T17:23:03.1445677Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1446099Z               "line": 372
2026-06-04T17:23:03.1446510Z             },
2026-06-04T17:23:03.1446921Z             {
2026-06-04T17:23:03.1447509Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1447938Z               "line": 401
2026-06-04T17:23:03.1448333Z             },
2026-06-04T17:23:03.1448738Z             {
2026-06-04T17:23:03.1449389Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1449827Z               "line": 434
2026-06-04T17:23:03.1450234Z             },
2026-06-04T17:23:03.1450636Z             {
2026-06-04T17:23:03.1451230Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1451648Z               "line": 542
2026-06-04T17:23:03.1452064Z             },
2026-06-04T17:23:03.1452482Z             {
2026-06-04T17:23:03.1453071Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1453508Z               "line": 621
2026-06-04T17:23:03.1453906Z             },
2026-06-04T17:23:03.1454311Z             {
2026-06-04T17:23:03.1454926Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1455367Z               "line": 635
2026-06-04T17:23:03.1460817Z             },
2026-06-04T17:23:03.1461332Z             {
2026-06-04T17:23:03.1461968Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1462391Z               "line": 690
2026-06-04T17:23:03.1462794Z             },
2026-06-04T17:23:03.1463194Z             {
2026-06-04T17:23:03.1463760Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.1464197Z               "line": 371
2026-06-04T17:23:03.1464600Z             },
2026-06-04T17:23:03.1465008Z             {
2026-06-04T17:23:03.1465514Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1466001Z               "line": 2379
2026-06-04T17:23:03.1466400Z             }
2026-06-04T17:23:03.1466807Z           ]
2026-06-04T17:23:03.1467209Z         }
2026-06-04T17:23:03.1467603Z       }
2026-06-04T17:23:03.1468004Z     },
2026-06-04T17:23:03.1468390Z     {
2026-06-04T17:23:03.1468832Z       "id": "REQ-INST-4",
2026-06-04T17:23:03.1469773Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T17:23:03.1470232Z       "requiredStages": [
2026-06-04T17:23:03.1470647Z         "impl",
2026-06-04T17:23:03.1471044Z         "unit"
2026-06-04T17:23:03.1471448Z       ],
2026-06-04T17:23:03.1471852Z       "stages": {
2026-06-04T17:23:03.1472260Z         "doc": {
2026-06-04T17:23:03.1472699Z           "complete": false,
2026-06-04T17:23:03.1473133Z           "evidence": []
2026-06-04T17:23:03.1473536Z         },
2026-06-04T17:23:03.1473937Z         "impl": {
2026-06-04T17:23:03.1474389Z           "complete": true,
2026-06-04T17:23:03.1474826Z           "evidence": [
2026-06-04T17:23:03.1475509Z             {
2026-06-04T17:23:03.1476154Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1476589Z               "line": 273
2026-06-04T17:23:03.1476995Z             },
2026-06-04T17:23:03.1477387Z             {
2026-06-04T17:23:03.1477982Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1478407Z               "line": 201
2026-06-04T17:23:03.1478811Z             },
2026-06-04T17:23:03.1479256Z             {
2026-06-04T17:23:03.1480217Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1480663Z               "line": 233
2026-06-04T17:23:03.1481054Z             },
2026-06-04T17:23:03.1481454Z             {
2026-06-04T17:23:03.1482044Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1482476Z               "line": 269
2026-06-04T17:23:03.1482875Z             }
2026-06-04T17:23:03.1483280Z           ]
2026-06-04T17:23:03.1483692Z         },
2026-06-04T17:23:03.1484267Z         "int": {
2026-06-04T17:23:03.1484723Z           "complete": false,
2026-06-04T17:23:03.1485149Z           "evidence": []
2026-06-04T17:23:03.1485557Z         },
2026-06-04T17:23:03.1485958Z         "unit": {
2026-06-04T17:23:03.1486404Z           "complete": true,
2026-06-04T17:23:03.1486831Z           "evidence": [
2026-06-04T17:23:03.1487226Z             {
2026-06-04T17:23:03.1487839Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.1488254Z               "line": 656
2026-06-04T17:23:03.1488653Z             },
2026-06-04T17:23:03.1489046Z             {
2026-06-04T17:23:03.1489712Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1490146Z               "line": 452
2026-06-04T17:23:03.1490542Z             },
2026-06-04T17:23:03.1490949Z             {
2026-06-04T17:23:03.1491529Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1491955Z               "line": 517
2026-06-04T17:23:03.1492360Z             },
2026-06-04T17:23:03.1492778Z             {
2026-06-04T17:23:03.1493381Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:23:03.1493802Z               "line": 584
2026-06-04T17:23:03.1494205Z             }
2026-06-04T17:23:03.1494597Z           ]
2026-06-04T17:23:03.1495001Z         }
2026-06-04T17:23:03.1495390Z       }
2026-06-04T17:23:03.1495786Z     },
2026-06-04T17:23:03.1496184Z     {
2026-06-04T17:23:03.1496612Z       "id": "REQ-INST-5",
2026-06-04T17:23:03.1497530Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T17:23:03.1497972Z       "requiredStages": [
2026-06-04T17:23:03.1498385Z         "impl",
2026-06-04T17:23:03.1498783Z         "unit",
2026-06-04T17:23:03.1499226Z         "int"
2026-06-04T17:23:03.1499635Z       ],
2026-06-04T17:23:03.1500045Z       "stages": {
2026-06-04T17:23:03.1500449Z         "doc": {
2026-06-04T17:23:03.1500885Z           "complete": false,
2026-06-04T17:23:03.1501322Z           "evidence": []
2026-06-04T17:23:03.1501741Z         },
2026-06-04T17:23:03.1502160Z         "impl": {
2026-06-04T17:23:03.1502605Z           "complete": true,
2026-06-04T17:23:03.1503028Z           "evidence": [
2026-06-04T17:23:03.1503434Z             {
2026-06-04T17:23:03.1504034Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:23:03.1504463Z               "line": 39
2026-06-04T17:23:03.1504857Z             },
2026-06-04T17:23:03.1505256Z             {
2026-06-04T17:23:03.1505824Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1506242Z               "line": 68
2026-06-04T17:23:03.1506641Z             },
2026-06-04T17:23:03.1507029Z             {
2026-06-04T17:23:03.1507587Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1508000Z               "line": 93
2026-06-04T17:23:03.1508403Z             },
2026-06-04T17:23:03.1508804Z             {
2026-06-04T17:23:03.1509391Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1510010Z               "line": 160
2026-06-04T17:23:03.1510427Z             },
2026-06-04T17:23:03.1510831Z             {
2026-06-04T17:23:03.1511401Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1511820Z               "line": 271
2026-06-04T17:23:03.1512225Z             }
2026-06-04T17:23:03.1512619Z           ]
2026-06-04T17:23:03.1513022Z         },
2026-06-04T17:23:03.1513419Z         "int": {
2026-06-04T17:23:03.1513863Z           "complete": true,
2026-06-04T17:23:03.1514286Z           "evidence": [
2026-06-04T17:23:03.1514686Z             {
2026-06-04T17:23:03.1515314Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.1515735Z               "line": 142
2026-06-04T17:23:03.1516145Z             },
2026-06-04T17:23:03.1516539Z             {
2026-06-04T17:23:03.1517176Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T17:23:03.1517613Z               "line": 102
2026-06-04T17:23:03.1518009Z             },
2026-06-04T17:23:03.1518567Z             {
2026-06-04T17:23:03.1519231Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1519674Z               "line": 517
2026-06-04T17:23:03.1520071Z             },
2026-06-04T17:23:03.1520474Z             {
2026-06-04T17:23:03.1521091Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1521517Z               "line": 723
2026-06-04T17:23:03.1521923Z             }
2026-06-04T17:23:03.1522318Z           ]
2026-06-04T17:23:03.1522723Z         },
2026-06-04T17:23:03.1523124Z         "unit": {
2026-06-04T17:23:03.1523571Z           "complete": true,
2026-06-04T17:23:03.1524003Z           "evidence": [
2026-06-04T17:23:03.1524400Z             {
2026-06-04T17:23:03.1524966Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1525382Z               "line": 461
2026-06-04T17:23:03.1525790Z             },
2026-06-04T17:23:03.1526181Z             {
2026-06-04T17:23:03.1526745Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.1527206Z               "line": 495
2026-06-04T17:23:03.1527608Z             },
2026-06-04T17:23:03.1528017Z             {
2026-06-04T17:23:03.1528596Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:23:03.1529024Z               "line": 199
2026-06-04T17:23:03.1529458Z             }
2026-06-04T17:23:03.1529867Z           ]
2026-06-04T17:23:03.1530265Z         }
2026-06-04T17:23:03.1530662Z       }
2026-06-04T17:23:03.1531060Z     },
2026-06-04T17:23:03.1531449Z     {
2026-06-04T17:23:03.1531894Z       "id": "REQ-INST-6",
2026-06-04T17:23:03.1532855Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T17:23:03.1533317Z       "requiredStages": [],
2026-06-04T17:23:03.1533743Z       "stages": {
2026-06-04T17:23:03.1534142Z         "doc": {
2026-06-04T17:23:03.1534593Z           "complete": false,
2026-06-04T17:23:03.1535017Z           "evidence": []
2026-06-04T17:23:03.1540128Z         },
2026-06-04T17:23:03.1540677Z         "impl": {
2026-06-04T17:23:03.1541145Z           "complete": false,
2026-06-04T17:23:03.1541585Z           "evidence": []
2026-06-04T17:23:03.1541985Z         },
2026-06-04T17:23:03.1542389Z         "int": {
2026-06-04T17:23:03.1542823Z           "complete": false,
2026-06-04T17:23:03.1543257Z           "evidence": []
2026-06-04T17:23:03.1543647Z         },
2026-06-04T17:23:03.1544057Z         "unit": {
2026-06-04T17:23:03.1544496Z           "complete": false,
2026-06-04T17:23:03.1544916Z           "evidence": []
2026-06-04T17:23:03.1545316Z         }
2026-06-04T17:23:03.1545703Z       }
2026-06-04T17:23:03.1546097Z     },
2026-06-04T17:23:03.1546480Z     {
2026-06-04T17:23:03.1546913Z       "id": "REQ-INST-7",
2026-06-04T17:23:03.1547619Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T17:23:03.1548057Z       "requiredStages": [
2026-06-04T17:23:03.1548464Z         "impl",
2026-06-04T17:23:03.1548856Z         "unit",
2026-06-04T17:23:03.1549312Z         "int"
2026-06-04T17:23:03.1549716Z       ],
2026-06-04T17:23:03.1550368Z       "stages": {
2026-06-04T17:23:03.1550803Z         "doc": {
2026-06-04T17:23:03.1551243Z           "complete": false,
2026-06-04T17:23:03.1551672Z           "evidence": []
2026-06-04T17:23:03.1552063Z         },
2026-06-04T17:23:03.1552477Z         "impl": {
2026-06-04T17:23:03.1552906Z           "complete": true,
2026-06-04T17:23:03.1553331Z           "evidence": [
2026-06-04T17:23:03.1553734Z             {
2026-06-04T17:23:03.1554337Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.1554767Z               "line": 361
2026-06-04T17:23:03.1555166Z             },
2026-06-04T17:23:03.1555563Z             {
2026-06-04T17:23:03.1556160Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:23:03.1556578Z               "line": 40
2026-06-04T17:23:03.1556981Z             },
2026-06-04T17:23:03.1557374Z             {
2026-06-04T17:23:03.1558022Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1558604Z               "line": 27
2026-06-04T17:23:03.1559007Z             },
2026-06-04T17:23:03.1561180Z             {
2026-06-04T17:23:03.1561889Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1562323Z               "line": 120
2026-06-04T17:23:03.1562721Z             },
2026-06-04T17:23:03.1563121Z             {
2026-06-04T17:23:03.1563761Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1564187Z               "line": 197
2026-06-04T17:23:03.1564580Z             },
2026-06-04T17:23:03.1564985Z             {
2026-06-04T17:23:03.1565576Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T17:23:03.1565987Z               "line": 56
2026-06-04T17:23:03.1566385Z             },
2026-06-04T17:23:03.1566769Z             {
2026-06-04T17:23:03.1567377Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1567784Z               "line": 41
2026-06-04T17:23:03.1568189Z             },
2026-06-04T17:23:03.1568608Z             {
2026-06-04T17:23:03.1569283Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.1569717Z               "line": 27
2026-06-04T17:23:03.1570110Z             },
2026-06-04T17:23:03.1570515Z             {
2026-06-04T17:23:03.1571131Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.1571560Z               "line": 59
2026-06-04T17:23:03.1571960Z             },
2026-06-04T17:23:03.1572349Z             {
2026-06-04T17:23:03.1572973Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.1573391Z               "line": 68
2026-06-04T17:23:03.1573796Z             },
2026-06-04T17:23:03.1574185Z             {
2026-06-04T17:23:03.1574786Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:23:03.1575211Z               "line": 129
2026-06-04T17:23:03.1575600Z             }
2026-06-04T17:23:03.1575997Z           ]
2026-06-04T17:23:03.1576390Z         },
2026-06-04T17:23:03.1576809Z         "int": {
2026-06-04T17:23:03.1577253Z           "complete": true,
2026-06-04T17:23:03.1577684Z           "evidence": [
2026-06-04T17:23:03.1578086Z             {
2026-06-04T17:23:03.1578694Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T17:23:03.1579115Z               "line": 102
2026-06-04T17:23:03.1579561Z             },
2026-06-04T17:23:03.1579967Z             {
2026-06-04T17:23:03.1580581Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1581009Z               "line": 481
2026-06-04T17:23:03.1581427Z             },
2026-06-04T17:23:03.1581820Z             {
2026-06-04T17:23:03.1582427Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1582843Z               "line": 639
2026-06-04T17:23:03.1583241Z             }
2026-06-04T17:23:03.1583639Z           ]
2026-06-04T17:23:03.1584028Z         },
2026-06-04T17:23:03.1584432Z         "unit": {
2026-06-04T17:23:03.1584864Z           "complete": true,
2026-06-04T17:23:03.1585302Z           "evidence": [
2026-06-04T17:23:03.1585872Z             {
2026-06-04T17:23:03.1586549Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1586978Z               "line": 368
2026-06-04T17:23:03.1587376Z             },
2026-06-04T17:23:03.1587772Z             {
2026-06-04T17:23:03.1588407Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:23:03.1588830Z               "line": 534
2026-06-04T17:23:03.1589260Z             },
2026-06-04T17:23:03.1589657Z             {
2026-06-04T17:23:03.1590287Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T17:23:03.1590701Z               "line": 83
2026-06-04T17:23:03.1591105Z             },
2026-06-04T17:23:03.1591491Z             {
2026-06-04T17:23:03.1592087Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1592498Z               "line": 537
2026-06-04T17:23:03.1592900Z             },
2026-06-04T17:23:03.1593302Z             {
2026-06-04T17:23:03.1594103Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1594538Z               "line": 548
2026-06-04T17:23:03.1594929Z             },
2026-06-04T17:23:03.1595326Z             {
2026-06-04T17:23:03.1595928Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1596358Z               "line": 557
2026-06-04T17:23:03.1596759Z             },
2026-06-04T17:23:03.1597147Z             {
2026-06-04T17:23:03.1597761Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.1598175Z               "line": 90
2026-06-04T17:23:03.1598573Z             },
2026-06-04T17:23:03.1598964Z             {
2026-06-04T17:23:03.1599625Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.1600058Z               "line": 105
2026-06-04T17:23:03.1600455Z             },
2026-06-04T17:23:03.1600855Z             {
2026-06-04T17:23:03.1601460Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:23:03.1601901Z               "line": 131
2026-06-04T17:23:03.1602305Z             }
2026-06-04T17:23:03.1602713Z           ]
2026-06-04T17:23:03.1603112Z         }
2026-06-04T17:23:03.1603505Z       }
2026-06-04T17:23:03.1603904Z     },
2026-06-04T17:23:03.1604292Z     {
2026-06-04T17:23:03.1604730Z       "id": "REQ-INST-8",
2026-06-04T17:23:03.1605474Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T17:23:03.1605930Z       "requiredStages": [
2026-06-04T17:23:03.1606338Z         "impl",
2026-06-04T17:23:03.1606730Z         "unit",
2026-06-04T17:23:03.1607129Z         "int"
2026-06-04T17:23:03.1607520Z       ],
2026-06-04T17:23:03.1607931Z       "stages": {
2026-06-04T17:23:03.1608325Z         "doc": {
2026-06-04T17:23:03.1608763Z           "complete": false,
2026-06-04T17:23:03.1609232Z           "evidence": []
2026-06-04T17:23:03.1609624Z         },
2026-06-04T17:23:03.1610035Z         "impl": {
2026-06-04T17:23:03.1610467Z           "complete": true,
2026-06-04T17:23:03.1610906Z           "evidence": [
2026-06-04T17:23:03.1611297Z             {
2026-06-04T17:23:03.1611892Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:23:03.1612313Z               "line": 98
2026-06-04T17:23:03.1612708Z             },
2026-06-04T17:23:03.1613103Z             {
2026-06-04T17:23:03.1613675Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:23:03.1614102Z               "line": 202
2026-06-04T17:23:03.1614486Z             },
2026-06-04T17:23:03.1614890Z             {
2026-06-04T17:23:03.1620418Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:23:03.1620949Z               "line": 220
2026-06-04T17:23:03.1621349Z             },
2026-06-04T17:23:03.1621733Z             {
2026-06-04T17:23:03.1622323Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T17:23:03.1622739Z               "line": 35
2026-06-04T17:23:03.1623124Z             }
2026-06-04T17:23:03.1623520Z           ]
2026-06-04T17:23:03.1623907Z         },
2026-06-04T17:23:03.1624353Z         "int": {
2026-06-04T17:23:03.1625026Z           "complete": true,
2026-06-04T17:23:03.1625474Z           "evidence": [
2026-06-04T17:23:03.1625859Z             {
2026-06-04T17:23:03.1626486Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.1626905Z               "line": 375
2026-06-04T17:23:03.1627288Z             },
2026-06-04T17:23:03.1627679Z             {
2026-06-04T17:23:03.1628277Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1628699Z               "line": 688
2026-06-04T17:23:03.1629093Z             }
2026-06-04T17:23:03.1629550Z           ]
2026-06-04T17:23:03.1629944Z         },
2026-06-04T17:23:03.1630333Z         "unit": {
2026-06-04T17:23:03.1630764Z           "complete": true,
2026-06-04T17:23:03.1631172Z           "evidence": [
2026-06-04T17:23:03.1631567Z             {
2026-06-04T17:23:03.1632169Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:23:03.1632608Z               "line": 172
2026-06-04T17:23:03.1633530Z             },
2026-06-04T17:23:03.1634122Z             {
2026-06-04T17:23:03.1634832Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:23:03.1635442Z               "line": 226
2026-06-04T17:23:03.1635852Z             },
2026-06-04T17:23:03.1636245Z             {
2026-06-04T17:23:03.1636833Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T17:23:03.1637250Z               "line": 70
2026-06-04T17:23:03.1637633Z             },
2026-06-04T17:23:03.1638022Z             {
2026-06-04T17:23:03.1638588Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T17:23:03.1639010Z               "line": 101
2026-06-04T17:23:03.1639470Z             }
2026-06-04T17:23:03.1639856Z           ]
2026-06-04T17:23:03.1640245Z         }
2026-06-04T17:23:03.1640629Z       }
2026-06-04T17:23:03.1641025Z     },
2026-06-04T17:23:03.1641405Z     {
2026-06-04T17:23:03.1641839Z       "id": "REQ-INST-9",
2026-06-04T17:23:03.1642821Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T17:23:03.1643272Z       "requiredStages": [
2026-06-04T17:23:03.1643676Z         "impl",
2026-06-04T17:23:03.1644066Z         "unit"
2026-06-04T17:23:03.1644463Z       ],
2026-06-04T17:23:03.1644856Z       "stages": {
2026-06-04T17:23:03.1645256Z         "doc": {
2026-06-04T17:23:03.1645697Z           "complete": false,
2026-06-04T17:23:03.1646111Z           "evidence": []
2026-06-04T17:23:03.1646502Z         },
2026-06-04T17:23:03.1646898Z         "impl": {
2026-06-04T17:23:03.1647332Z           "complete": true,
2026-06-04T17:23:03.1647742Z           "evidence": [
2026-06-04T17:23:03.1648140Z             {
2026-06-04T17:23:03.1648741Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1649150Z               "line": 253
2026-06-04T17:23:03.1649591Z             }
2026-06-04T17:23:03.1649979Z           ]
2026-06-04T17:23:03.1650366Z         },
2026-06-04T17:23:03.1650755Z         "int": {
2026-06-04T17:23:03.1651209Z           "complete": false,
2026-06-04T17:23:03.1651648Z           "evidence": []
2026-06-04T17:23:03.1652035Z         },
2026-06-04T17:23:03.1652444Z         "unit": {
2026-06-04T17:23:03.1652872Z           "complete": true,
2026-06-04T17:23:03.1653299Z           "evidence": [
2026-06-04T17:23:03.1653684Z             {
2026-06-04T17:23:03.1654284Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1654708Z               "line": 776
2026-06-04T17:23:03.1655098Z             },
2026-06-04T17:23:03.1655494Z             {
2026-06-04T17:23:03.1656085Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1656508Z               "line": 785
2026-06-04T17:23:03.1656897Z             },
2026-06-04T17:23:03.1657290Z             {
2026-06-04T17:23:03.1657883Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1658296Z               "line": 799
2026-06-04T17:23:03.1658691Z             },
2026-06-04T17:23:03.1659073Z             {
2026-06-04T17:23:03.1659932Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1660368Z               "line": 809
2026-06-04T17:23:03.1660764Z             },
2026-06-04T17:23:03.1661158Z             {
2026-06-04T17:23:03.1661746Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:23:03.1662169Z               "line": 828
2026-06-04T17:23:03.1662561Z             }
2026-06-04T17:23:03.1662950Z           ]
2026-06-04T17:23:03.1663330Z         }
2026-06-04T17:23:03.1663724Z       }
2026-06-04T17:23:03.1664113Z     },
2026-06-04T17:23:03.1664491Z     {
2026-06-04T17:23:03.1664941Z       "id": "REQ-INSTALL-1",
2026-06-04T17:23:03.1665932Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T17:23:03.1666383Z       "requiredStages": [],
2026-06-04T17:23:03.1666775Z       "stages": {
2026-06-04T17:23:03.1667182Z         "doc": {
2026-06-04T17:23:03.1667624Z           "complete": false,
2026-06-04T17:23:03.1668188Z           "evidence": []
2026-06-04T17:23:03.1668600Z         },
2026-06-04T17:23:03.1668998Z         "impl": {
2026-06-04T17:23:03.1669487Z           "complete": false,
2026-06-04T17:23:03.1669905Z           "evidence": []
2026-06-04T17:23:03.1670304Z         },
2026-06-04T17:23:03.1670703Z         "int": {
2026-06-04T17:23:03.1671131Z           "complete": false,
2026-06-04T17:23:03.1671553Z           "evidence": []
2026-06-04T17:23:03.1671938Z         },
2026-06-04T17:23:03.1672337Z         "unit": {
2026-06-04T17:23:03.1672758Z           "complete": false,
2026-06-04T17:23:03.1673184Z           "evidence": []
2026-06-04T17:23:03.1673576Z         }
2026-06-04T17:23:03.1673956Z       }
2026-06-04T17:23:03.1674346Z     },
2026-06-04T17:23:03.1674728Z     {
2026-06-04T17:23:03.1675170Z       "id": "REQ-INSTALL-2",
2026-06-04T17:23:03.1675837Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T17:23:03.1676287Z       "requiredStages": [],
2026-06-04T17:23:03.1676691Z       "stages": {
2026-06-04T17:23:03.1677101Z         "doc": {
2026-06-04T17:23:03.1677547Z           "complete": false,
2026-06-04T17:23:03.1677965Z           "evidence": []
2026-06-04T17:23:03.1678360Z         },
2026-06-04T17:23:03.1678761Z         "impl": {
2026-06-04T17:23:03.1679238Z           "complete": false,
2026-06-04T17:23:03.1679664Z           "evidence": []
2026-06-04T17:23:03.1680048Z         },
2026-06-04T17:23:03.1680451Z         "int": {
2026-06-04T17:23:03.1680875Z           "complete": false,
2026-06-04T17:23:03.1681302Z           "evidence": []
2026-06-04T17:23:03.1681689Z         },
2026-06-04T17:23:03.1682092Z         "unit": {
2026-06-04T17:23:03.1682530Z           "complete": false,
2026-06-04T17:23:03.1682944Z           "evidence": []
2026-06-04T17:23:03.1683336Z         }
2026-06-04T17:23:03.1683723Z       }
2026-06-04T17:23:03.1684113Z     },
2026-06-04T17:23:03.1684492Z     {
2026-06-04T17:23:03.1684933Z       "id": "REQ-INSTALL-3",
2026-06-04T17:23:03.1685646Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T17:23:03.1686114Z       "requiredStages": [],
2026-06-04T17:23:03.1686525Z       "stages": {
2026-06-04T17:23:03.1686915Z         "doc": {
2026-06-04T17:23:03.1687349Z           "complete": false,
2026-06-04T17:23:03.1687762Z           "evidence": []
2026-06-04T17:23:03.1688158Z         },
2026-06-04T17:23:03.1688561Z         "impl": {
2026-06-04T17:23:03.1688989Z           "complete": false,
2026-06-04T17:23:03.1689453Z           "evidence": []
2026-06-04T17:23:03.1689840Z         },
2026-06-04T17:23:03.1690235Z         "int": {
2026-06-04T17:23:03.1690663Z           "complete": false,
2026-06-04T17:23:03.1691084Z           "evidence": []
2026-06-04T17:23:03.1691476Z         },
2026-06-04T17:23:03.1691867Z         "unit": {
2026-06-04T17:23:03.1692308Z           "complete": false,
2026-06-04T17:23:03.1697818Z           "evidence": []
2026-06-04T17:23:03.1698330Z         }
2026-06-04T17:23:03.1698723Z       }
2026-06-04T17:23:03.1699114Z     },
2026-06-04T17:23:03.1699592Z     {
2026-06-04T17:23:03.1700346Z       "id": "REQ-INSTALL-4",
2026-06-04T17:23:03.1704173Z       "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-04T17:23:03.1704640Z       "requiredStages": [
2026-06-04T17:23:03.1705051Z         "impl",
2026-06-04T17:23:03.1705452Z         "unit"
2026-06-04T17:23:03.1705848Z       ],
2026-06-04T17:23:03.1706259Z       "stages": {
2026-06-04T17:23:03.1706650Z         "doc": {
2026-06-04T17:23:03.1707087Z           "complete": false,
2026-06-04T17:23:03.1707504Z           "evidence": []
2026-06-04T17:23:03.1707902Z         },
2026-06-04T17:23:03.1708294Z         "impl": {
2026-06-04T17:23:03.1708733Z           "complete": true,
2026-06-04T17:23:03.1709152Z           "evidence": [
2026-06-04T17:23:03.1709587Z             {
2026-06-04T17:23:03.1710247Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.1710847Z               "line": 149
2026-06-04T17:23:03.1711248Z             },
2026-06-04T17:23:03.1711637Z             {
2026-06-04T17:23:03.1712246Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1712665Z               "line": 29
2026-06-04T17:23:03.1713053Z             },
2026-06-04T17:23:03.1713447Z             {
2026-06-04T17:23:03.1714043Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1714462Z               "line": 117
2026-06-04T17:23:03.1714850Z             },
2026-06-04T17:23:03.1715241Z             {
2026-06-04T17:23:03.1715848Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1716265Z               "line": 161
2026-06-04T17:23:03.1716666Z             },
2026-06-04T17:23:03.1717053Z             {
2026-06-04T17:23:03.1717652Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1718068Z               "line": 191
2026-06-04T17:23:03.1718469Z             },
2026-06-04T17:23:03.1718875Z             {
2026-06-04T17:23:03.1719513Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1719930Z               "line": 223
2026-06-04T17:23:03.1720311Z             },
2026-06-04T17:23:03.1720697Z             {
2026-06-04T17:23:03.1721203Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1721614Z               "line": 1474
2026-06-04T17:23:03.1722010Z             }
2026-06-04T17:23:03.1722393Z           ]
2026-06-04T17:23:03.1722786Z         },
2026-06-04T17:23:03.1723176Z         "int": {
2026-06-04T17:23:03.1723615Z           "complete": false,
2026-06-04T17:23:03.1724035Z           "evidence": []
2026-06-04T17:23:03.1724413Z         },
2026-06-04T17:23:03.1724814Z         "unit": {
2026-06-04T17:23:03.1725239Z           "complete": true,
2026-06-04T17:23:03.1725654Z           "evidence": [
2026-06-04T17:23:03.1726035Z             {
2026-06-04T17:23:03.1726687Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.1727139Z               "line": 311
2026-06-04T17:23:03.1727526Z             },
2026-06-04T17:23:03.1727922Z             {
2026-06-04T17:23:03.1728520Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1728946Z               "line": 269
2026-06-04T17:23:03.1729373Z             },
2026-06-04T17:23:03.1729764Z             {
2026-06-04T17:23:03.1730363Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1730773Z               "line": 304
2026-06-04T17:23:03.1731165Z             },
2026-06-04T17:23:03.1731550Z             {
2026-06-04T17:23:03.1732161Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:23:03.1732574Z               "line": 321
2026-06-04T17:23:03.1732971Z             },
2026-06-04T17:23:03.1733375Z             {
2026-06-04T17:23:03.1733875Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1734296Z               "line": 2498
2026-06-04T17:23:03.1734677Z             }
2026-06-04T17:23:03.1735243Z           ]
2026-06-04T17:23:03.1735651Z         }
2026-06-04T17:23:03.1736046Z       }
2026-06-04T17:23:03.1736436Z     },
2026-06-04T17:23:03.1736816Z     {
2026-06-04T17:23:03.1737267Z       "id": "REQ-MANIFEST-1",
2026-06-04T17:23:03.1738240Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T17:23:03.1738695Z       "requiredStages": [
2026-06-04T17:23:03.1739087Z         "doc",
2026-06-04T17:23:03.1739532Z         "impl",
2026-06-04T17:23:03.1739933Z         "unit"
2026-06-04T17:23:03.1740322Z       ],
2026-06-04T17:23:03.1740730Z       "stages": {
2026-06-04T17:23:03.1741116Z         "doc": {
2026-06-04T17:23:03.1741558Z           "complete": true,
2026-06-04T17:23:03.1741970Z           "evidence": [
2026-06-04T17:23:03.1742364Z             {
2026-06-04T17:23:03.1742845Z               "path": "docs/MANIFEST.md",
2026-06-04T17:23:03.1743251Z               "line": 19
2026-06-04T17:23:03.1743651Z             }
2026-06-04T17:23:03.1744267Z           ]
2026-06-04T17:23:03.1744668Z         },
2026-06-04T17:23:03.1745072Z         "impl": {
2026-06-04T17:23:03.1745513Z           "complete": true,
2026-06-04T17:23:03.1745940Z           "evidence": [
2026-06-04T17:23:03.1746324Z             {
2026-06-04T17:23:03.1746939Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1747349Z               "line": 18
2026-06-04T17:23:03.1747746Z             }
2026-06-04T17:23:03.1748133Z           ]
2026-06-04T17:23:03.1748526Z         },
2026-06-04T17:23:03.1748926Z         "int": {
2026-06-04T17:23:03.1749401Z           "complete": false,
2026-06-04T17:23:03.1749835Z           "evidence": []
2026-06-04T17:23:03.1750220Z         },
2026-06-04T17:23:03.1750625Z         "unit": {
2026-06-04T17:23:03.1751059Z           "complete": true,
2026-06-04T17:23:03.1751479Z           "evidence": [
2026-06-04T17:23:03.1751875Z             {
2026-06-04T17:23:03.1752468Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1752924Z               "line": 706
2026-06-04T17:23:03.1753315Z             },
2026-06-04T17:23:03.1753717Z             {
2026-06-04T17:23:03.1754310Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1754739Z               "line": 802
2026-06-04T17:23:03.1755137Z             },
2026-06-04T17:23:03.1755521Z             {
2026-06-04T17:23:03.1756123Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1756537Z               "line": 814
2026-06-04T17:23:03.1757295Z             },
2026-06-04T17:23:03.1757713Z             {
2026-06-04T17:23:03.1758325Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1758752Z               "line": 822
2026-06-04T17:23:03.1759135Z             },
2026-06-04T17:23:03.1759565Z             {
2026-06-04T17:23:03.1760159Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1760581Z               "line": 839
2026-06-04T17:23:03.1760973Z             },
2026-06-04T17:23:03.1761383Z             {
2026-06-04T17:23:03.1762001Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1762421Z               "line": 853
2026-06-04T17:23:03.1762817Z             },
2026-06-04T17:23:03.1763201Z             {
2026-06-04T17:23:03.1763807Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1764215Z               "line": 868
2026-06-04T17:23:03.1764612Z             },
2026-06-04T17:23:03.1764999Z             {
2026-06-04T17:23:03.1765602Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1766023Z               "line": 883
2026-06-04T17:23:03.1766408Z             },
2026-06-04T17:23:03.1766807Z             {
2026-06-04T17:23:03.1767405Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1767827Z               "line": 898
2026-06-04T17:23:03.1768220Z             },
2026-06-04T17:23:03.1768599Z             {
2026-06-04T17:23:03.1769248Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.1769847Z               "line": 909
2026-06-04T17:23:03.1770272Z             }
2026-06-04T17:23:03.1770668Z           ]
2026-06-04T17:23:03.1771058Z         }
2026-06-04T17:23:03.1771451Z       }
2026-06-04T17:23:03.1771828Z     },
2026-06-04T17:23:03.1772221Z     {
2026-06-04T17:23:03.1772655Z       "id": "REQ-MIGRATE-1",
2026-06-04T17:23:03.1773532Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T17:23:03.1773988Z       "requiredStages": [],
2026-06-04T17:23:03.1779057Z       "stages": {
2026-06-04T17:23:03.1780024Z         "doc": {
2026-06-04T17:23:03.1780662Z           "complete": false,
2026-06-04T17:23:03.1781289Z           "evidence": []
2026-06-04T17:23:03.1781690Z         },
2026-06-04T17:23:03.1782113Z         "impl": {
2026-06-04T17:23:03.1782568Z           "complete": false,
2026-06-04T17:23:03.1782984Z           "evidence": []
2026-06-04T17:23:03.1783382Z         },
2026-06-04T17:23:03.1783783Z         "int": {
2026-06-04T17:23:03.1784546Z           "complete": false,
2026-06-04T17:23:03.1784970Z           "evidence": []
2026-06-04T17:23:03.1785366Z         },
2026-06-04T17:23:03.1785764Z         "unit": {
2026-06-04T17:23:03.1786211Z           "complete": false,
2026-06-04T17:23:03.1786642Z           "evidence": []
2026-06-04T17:23:03.1787028Z         }
2026-06-04T17:23:03.1787422Z       }
2026-06-04T17:23:03.1787802Z     },
2026-06-04T17:23:03.1788194Z     {
2026-06-04T17:23:03.1788644Z       "id": "REQ-MSG-1",
2026-06-04T17:23:03.1791584Z       "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-04T17:23:03.1792042Z       "requiredStages": [
2026-06-04T17:23:03.1792437Z         "impl",
2026-06-04T17:23:03.1792835Z         "unit",
2026-06-04T17:23:03.1793227Z         "int"
2026-06-04T17:23:03.1793620Z       ],
2026-06-04T17:23:03.1794027Z       "stages": {
2026-06-04T17:23:03.1794416Z         "doc": {
2026-06-04T17:23:03.1794878Z           "complete": false,
2026-06-04T17:23:03.1795297Z           "evidence": []
2026-06-04T17:23:03.1795686Z         },
2026-06-04T17:23:03.1796087Z         "impl": {
2026-06-04T17:23:03.1796526Z           "complete": true,
2026-06-04T17:23:03.1796948Z           "evidence": [
2026-06-04T17:23:03.1797335Z             {
2026-06-04T17:23:03.1797903Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1798312Z               "line": 28
2026-06-04T17:23:03.1798704Z             },
2026-06-04T17:23:03.1799094Z             {
2026-06-04T17:23:03.1799709Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1800125Z               "line": 94
2026-06-04T17:23:03.1800513Z             },
2026-06-04T17:23:03.1800903Z             {
2026-06-04T17:23:03.1801456Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1801881Z               "line": 127
2026-06-04T17:23:03.1802268Z             },
2026-06-04T17:23:03.1802681Z             {
2026-06-04T17:23:03.1803253Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1803672Z               "line": 149
2026-06-04T17:23:03.1804067Z             },
2026-06-04T17:23:03.1804449Z             {
2026-06-04T17:23:03.1805016Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1805429Z               "line": 174
2026-06-04T17:23:03.1805829Z             },
2026-06-04T17:23:03.1806228Z             {
2026-06-04T17:23:03.1806788Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:23:03.1807200Z               "line": 18
2026-06-04T17:23:03.1807590Z             },
2026-06-04T17:23:03.1807981Z             {
2026-06-04T17:23:03.1808501Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:03.1808921Z               "line": 13
2026-06-04T17:23:03.1809358Z             },
2026-06-04T17:23:03.1809744Z             {
2026-06-04T17:23:03.1810281Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:03.1810705Z               "line": 61
2026-06-04T17:23:03.1811255Z             },
2026-06-04T17:23:03.1811666Z             {
2026-06-04T17:23:03.1812204Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:23:03.1812624Z               "line": 10
2026-06-04T17:23:03.1813011Z             }
2026-06-04T17:23:03.1813419Z           ]
2026-06-04T17:23:03.1813811Z         },
2026-06-04T17:23:03.1814216Z         "int": {
2026-06-04T17:23:03.1814648Z           "complete": true,
2026-06-04T17:23:03.1815075Z           "evidence": [
2026-06-04T17:23:03.1815471Z             {
2026-06-04T17:23:03.1816151Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:23:03.1816558Z               "line": 9
2026-06-04T17:23:03.1816947Z             },
2026-06-04T17:23:03.1817347Z             {
2026-06-04T17:23:03.1818020Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:23:03.1818440Z               "line": 66
2026-06-04T17:23:03.1818836Z             },
2026-06-04T17:23:03.1819411Z             {
2026-06-04T17:23:03.1820109Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:23:03.1820529Z               "line": 116
2026-06-04T17:23:03.1820927Z             }
2026-06-04T17:23:03.1821317Z           ]
2026-06-04T17:23:03.1821720Z         },
2026-06-04T17:23:03.1822130Z         "unit": {
2026-06-04T17:23:03.1822560Z           "complete": true,
2026-06-04T17:23:03.1822985Z           "evidence": [
2026-06-04T17:23:03.1823385Z             {
2026-06-04T17:23:03.1823946Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1824367Z               "line": 203
2026-06-04T17:23:03.1824766Z             },
2026-06-04T17:23:03.1825162Z             {
2026-06-04T17:23:03.1825713Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1826142Z               "line": 232
2026-06-04T17:23:03.1826533Z             },
2026-06-04T17:23:03.1826933Z             {
2026-06-04T17:23:03.1827493Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1827927Z               "line": 277
2026-06-04T17:23:03.1828331Z             },
2026-06-04T17:23:03.1828718Z             {
2026-06-04T17:23:03.1829323Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1829745Z               "line": 300
2026-06-04T17:23:03.1830150Z             },
2026-06-04T17:23:03.1830547Z             {
2026-06-04T17:23:03.1831099Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:23:03.1831518Z               "line": 322
2026-06-04T17:23:03.1831903Z             },
2026-06-04T17:23:03.1832298Z             {
2026-06-04T17:23:03.1832862Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:23:03.1833285Z               "line": 203
2026-06-04T17:23:03.1833680Z             },
2026-06-04T17:23:03.1834066Z             {
2026-06-04T17:23:03.1834637Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:23:03.1835049Z               "line": 233
2026-06-04T17:23:03.1835448Z             },
2026-06-04T17:23:03.1835849Z             {
2026-06-04T17:23:03.1836426Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:23:03.1836851Z               "line": 247
2026-06-04T17:23:03.1837243Z             },
2026-06-04T17:23:03.1837643Z             {
2026-06-04T17:23:03.1838207Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:23:03.1838630Z               "line": 259
2026-06-04T17:23:03.1839017Z             },
2026-06-04T17:23:03.1839447Z             {
2026-06-04T17:23:03.1839987Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:03.1840398Z               "line": 158
2026-06-04T17:23:03.1840797Z             },
2026-06-04T17:23:03.1841188Z             {
2026-06-04T17:23:03.1841726Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:23:03.1842140Z               "line": 235
2026-06-04T17:23:03.1842542Z             },
2026-06-04T17:23:03.1842940Z             {
2026-06-04T17:23:03.1843468Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:23:03.1843900Z               "line": 68
2026-06-04T17:23:03.1844447Z             },
2026-06-04T17:23:03.1844858Z             {
2026-06-04T17:23:03.1845385Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:23:03.1845806Z               "line": 74
2026-06-04T17:23:03.1846201Z             },
2026-06-04T17:23:03.1846590Z             {
2026-06-04T17:23:03.1847126Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:23:03.1847539Z               "line": 80
2026-06-04T17:23:03.1847937Z             },
2026-06-04T17:23:03.1848327Z             {
2026-06-04T17:23:03.1848849Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:23:03.1849308Z               "line": 99
2026-06-04T17:23:03.1849698Z             }
2026-06-04T17:23:03.1850095Z           ]
2026-06-04T17:23:03.1850482Z         }
2026-06-04T17:23:03.1850876Z       }
2026-06-04T17:23:03.1851262Z     },
2026-06-04T17:23:03.1851647Z     {
2026-06-04T17:23:03.1852077Z       "id": "REQ-MSG-2",
2026-06-04T17:23:03.1853675Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T17:23:03.1854128Z       "requiredStages": [
2026-06-04T17:23:03.1854527Z         "impl",
2026-06-04T17:23:03.1859598Z         "unit"
2026-06-04T17:23:03.1860077Z       ],
2026-06-04T17:23:03.1860504Z       "stages": {
2026-06-04T17:23:03.1860913Z         "doc": {
2026-06-04T17:23:03.1861350Z           "complete": false,
2026-06-04T17:23:03.1861775Z           "evidence": []
2026-06-04T17:23:03.1862165Z         },
2026-06-04T17:23:03.1862573Z         "impl": {
2026-06-04T17:23:03.1863008Z           "complete": true,
2026-06-04T17:23:03.1863427Z           "evidence": [
2026-06-04T17:23:03.1863822Z             {
2026-06-04T17:23:03.1864326Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1864741Z               "line": 11
2026-06-04T17:23:03.1865130Z             },
2026-06-04T17:23:03.1865524Z             {
2026-06-04T17:23:03.1866028Z               "path": "crates/spt/src/main.rs",
2026-06-04T17:23:03.1866502Z               "line": 8
2026-06-04T17:23:03.1866900Z             }
2026-06-04T17:23:03.1867288Z           ]
2026-06-04T17:23:03.1867683Z         },
2026-06-04T17:23:03.1868069Z         "int": {
2026-06-04T17:23:03.1868507Z           "complete": false,
2026-06-04T17:23:03.1868917Z           "evidence": []
2026-06-04T17:23:03.1869356Z         },
2026-06-04T17:23:03.1869763Z         "unit": {
2026-06-04T17:23:03.1870191Z           "complete": true,
2026-06-04T17:23:03.1870615Z           "evidence": [
2026-06-04T17:23:03.1870998Z             {
2026-06-04T17:23:03.1871503Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1871919Z               "line": 2336
2026-06-04T17:23:03.1872312Z             },
2026-06-04T17:23:03.1872699Z             {
2026-06-04T17:23:03.1873197Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1873621Z               "line": 3105
2026-06-04T17:23:03.1874008Z             },
2026-06-04T17:23:03.1874400Z             {
2026-06-04T17:23:03.1874925Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1875353Z               "line": 3114
2026-06-04T17:23:03.1875748Z             },
2026-06-04T17:23:03.1876131Z             {
2026-06-04T17:23:03.1876633Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1877045Z               "line": 3126
2026-06-04T17:23:03.1877436Z             }
2026-06-04T17:23:03.1877821Z           ]
2026-06-04T17:23:03.1878216Z         }
2026-06-04T17:23:03.1878610Z       }
2026-06-04T17:23:03.1878989Z     },
2026-06-04T17:23:03.1879418Z     {
2026-06-04T17:23:03.1879840Z       "id": "REQ-MSG-3",
2026-06-04T17:23:03.1881968Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T17:23:03.1882419Z       "requiredStages": [
2026-06-04T17:23:03.1882814Z         "impl",
2026-06-04T17:23:03.1883212Z         "unit",
2026-06-04T17:23:03.1883596Z         "int"
2026-06-04T17:23:03.1884002Z       ],
2026-06-04T17:23:03.1884700Z       "stages": {
2026-06-04T17:23:03.1885135Z         "doc": {
2026-06-04T17:23:03.1885565Z           "complete": false,
2026-06-04T17:23:03.1885992Z           "evidence": []
2026-06-04T17:23:03.1886386Z         },
2026-06-04T17:23:03.1886776Z         "impl": {
2026-06-04T17:23:03.1887206Z           "complete": true,
2026-06-04T17:23:03.1887619Z           "evidence": [
2026-06-04T17:23:03.1888010Z             {
2026-06-04T17:23:03.1888582Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:23:03.1888989Z               "line": 19
2026-06-04T17:23:03.1889427Z             },
2026-06-04T17:23:03.1889813Z             {
2026-06-04T17:23:03.1890351Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1890753Z               "line": 21
2026-06-04T17:23:03.1891151Z             },
2026-06-04T17:23:03.1891551Z             {
2026-06-04T17:23:03.1892076Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1892645Z               "line": 48
2026-06-04T17:23:03.1893043Z             },
2026-06-04T17:23:03.1893440Z             {
2026-06-04T17:23:03.1893972Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1894386Z               "line": 131
2026-06-04T17:23:03.1894783Z             }
2026-06-04T17:23:03.1895163Z           ]
2026-06-04T17:23:03.1895557Z         },
2026-06-04T17:23:03.1895955Z         "int": {
2026-06-04T17:23:03.1896385Z           "complete": true,
2026-06-04T17:23:03.1896796Z           "evidence": [
2026-06-04T17:23:03.1897190Z             {
2026-06-04T17:23:03.1897860Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:23:03.1898268Z               "line": 10
2026-06-04T17:23:03.1898659Z             },
2026-06-04T17:23:03.1899043Z             {
2026-06-04T17:23:03.1899771Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:23:03.1900179Z               "line": 66
2026-06-04T17:23:03.1900571Z             }
2026-06-04T17:23:03.1900983Z           ]
2026-06-04T17:23:03.1901379Z         },
2026-06-04T17:23:03.1901783Z         "unit": {
2026-06-04T17:23:03.1902212Z           "complete": true,
2026-06-04T17:23:03.1902632Z           "evidence": [
2026-06-04T17:23:03.1903011Z             {
2026-06-04T17:23:03.1903546Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1903966Z               "line": 185
2026-06-04T17:23:03.1904352Z             },
2026-06-04T17:23:03.1904746Z             {
2026-06-04T17:23:03.1905272Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1905704Z               "line": 204
2026-06-04T17:23:03.1906113Z             },
2026-06-04T17:23:03.1906514Z             {
2026-06-04T17:23:03.1907050Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:23:03.1907458Z               "line": 223
2026-06-04T17:23:03.1907849Z             }
2026-06-04T17:23:03.1908236Z           ]
2026-06-04T17:23:03.1908629Z         }
2026-06-04T17:23:03.1909013Z       }
2026-06-04T17:23:03.1909459Z     },
2026-06-04T17:23:03.1909859Z     {
2026-06-04T17:23:03.1910279Z       "id": "REQ-NET-1",
2026-06-04T17:23:03.1911214Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T17:23:03.1911653Z       "requiredStages": [
2026-06-04T17:23:03.1912052Z         "impl",
2026-06-04T17:23:03.1912439Z         "unit",
2026-06-04T17:23:03.1912834Z         "int"
2026-06-04T17:23:03.1913225Z       ],
2026-06-04T17:23:03.1913624Z       "stages": {
2026-06-04T17:23:03.1914020Z         "doc": {
2026-06-04T17:23:03.1914451Z           "complete": false,
2026-06-04T17:23:03.1914874Z           "evidence": []
2026-06-04T17:23:03.1915262Z         },
2026-06-04T17:23:03.1915666Z         "impl": {
2026-06-04T17:23:03.1916096Z           "complete": true,
2026-06-04T17:23:03.1916503Z           "evidence": [
2026-06-04T17:23:03.1916902Z             {
2026-06-04T17:23:03.1917498Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.1917918Z               "line": 52
2026-06-04T17:23:03.1918472Z             },
2026-06-04T17:23:03.1918889Z             {
2026-06-04T17:23:03.1919541Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.1919956Z               "line": 448
2026-06-04T17:23:03.1920354Z             },
2026-06-04T17:23:03.1920739Z             {
2026-06-04T17:23:03.1921288Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T17:23:03.1921692Z               "line": 69
2026-06-04T17:23:03.1922085Z             },
2026-06-04T17:23:03.1922475Z             {
2026-06-04T17:23:03.1923065Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1923481Z               "line": 65
2026-06-04T17:23:03.1923866Z             },
2026-06-04T17:23:03.1924257Z             {
2026-06-04T17:23:03.1924843Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1925265Z               "line": 127
2026-06-04T17:23:03.1925657Z             },
2026-06-04T17:23:03.1926048Z             {
2026-06-04T17:23:03.1926800Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1927214Z               "line": 143
2026-06-04T17:23:03.1927606Z             },
2026-06-04T17:23:03.1927988Z             {
2026-06-04T17:23:03.1928588Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1929016Z               "line": 158
2026-06-04T17:23:03.1929444Z             },
2026-06-04T17:23:03.1929836Z             {
2026-06-04T17:23:03.1930421Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1930841Z               "line": 220
2026-06-04T17:23:03.1931225Z             },
2026-06-04T17:23:03.1931617Z             {
2026-06-04T17:23:03.1936611Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1937130Z               "line": 255
2026-06-04T17:23:03.1937535Z             },
2026-06-04T17:23:03.1937924Z             {
2026-06-04T17:23:03.1938533Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1938994Z               "line": 261
2026-06-04T17:23:03.1939484Z             },
2026-06-04T17:23:03.1939891Z             {
2026-06-04T17:23:03.1940490Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1940910Z               "line": 267
2026-06-04T17:23:03.1941300Z             },
2026-06-04T17:23:03.1941686Z             {
2026-06-04T17:23:03.1942280Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1942691Z               "line": 283
2026-06-04T17:23:03.1943083Z             },
2026-06-04T17:23:03.1943466Z             {
2026-06-04T17:23:03.1944067Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1944482Z               "line": 303
2026-06-04T17:23:03.1944881Z             },
2026-06-04T17:23:03.1945280Z             {
2026-06-04T17:23:03.1945850Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:23:03.1946266Z               "line": 35
2026-06-04T17:23:03.1946653Z             },
2026-06-04T17:23:03.1947039Z             {
2026-06-04T17:23:03.1947638Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:23:03.1948081Z               "line": 82
2026-06-04T17:23:03.1948478Z             },
2026-06-04T17:23:03.1948863Z             {
2026-06-04T17:23:03.1949460Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.1949873Z               "line": 129
2026-06-04T17:23:03.1950263Z             },
2026-06-04T17:23:03.1950645Z             {
2026-06-04T17:23:03.1951148Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.1951572Z               "line": 1050
2026-06-04T17:23:03.1951957Z             },
2026-06-04T17:23:03.1952349Z             {
2026-06-04T17:23:03.1952867Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:23:03.1953279Z               "line": 17
2026-06-04T17:23:03.1953655Z             }
2026-06-04T17:23:03.1954051Z           ]
2026-06-04T17:23:03.1954444Z         },
2026-06-04T17:23:03.1954833Z         "int": {
2026-06-04T17:23:03.1955263Z           "complete": true,
2026-06-04T17:23:03.1955921Z           "evidence": [
2026-06-04T17:23:03.1956339Z             {
2026-06-04T17:23:03.1956948Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.1957372Z               "line": 314
2026-06-04T17:23:03.1957771Z             },
2026-06-04T17:23:03.1958153Z             {
2026-06-04T17:23:03.1958753Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1959208Z               "line": 488
2026-06-04T17:23:03.1959605Z             },
2026-06-04T17:23:03.1959988Z             {
2026-06-04T17:23:03.1960582Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.1961001Z               "line": 645
2026-06-04T17:23:03.1961389Z             }
2026-06-04T17:23:03.1961790Z           ]
2026-06-04T17:23:03.1962176Z         },
2026-06-04T17:23:03.1962571Z         "unit": {
2026-06-04T17:23:03.1962995Z           "complete": true,
2026-06-04T17:23:03.1963415Z           "evidence": [
2026-06-04T17:23:03.1963967Z             {
2026-06-04T17:23:03.1964574Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.1964995Z               "line": 500
2026-06-04T17:23:03.1965380Z             },
2026-06-04T17:23:03.1965778Z             {
2026-06-04T17:23:03.1966360Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.1966788Z               "line": 529
2026-06-04T17:23:03.1967184Z             },
2026-06-04T17:23:03.1967567Z             {
2026-06-04T17:23:03.1968190Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.1968607Z               "line": 517
2026-06-04T17:23:03.1969000Z             },
2026-06-04T17:23:03.1969416Z             {
2026-06-04T17:23:03.1970013Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T17:23:03.1970437Z               "line": 142
2026-06-04T17:23:03.1970834Z             },
2026-06-04T17:23:03.1971226Z             {
2026-06-04T17:23:03.1971814Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1972259Z               "line": 357
2026-06-04T17:23:03.1972656Z             },
2026-06-04T17:23:03.1973045Z             {
2026-06-04T17:23:03.1973642Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1974056Z               "line": 371
2026-06-04T17:23:03.1974451Z             },
2026-06-04T17:23:03.1974835Z             {
2026-06-04T17:23:03.1975431Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1975852Z               "line": 390
2026-06-04T17:23:03.1976243Z             },
2026-06-04T17:23:03.1976630Z             {
2026-06-04T17:23:03.1977211Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:23:03.1977631Z               "line": 106
2026-06-04T17:23:03.1978017Z             },
2026-06-04T17:23:03.1978410Z             {
2026-06-04T17:23:03.1978990Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:23:03.1979441Z               "line": 148
2026-06-04T17:23:03.1979836Z             },
2026-06-04T17:23:03.1980243Z             {
2026-06-04T17:23:03.1980803Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:23:03.1981218Z               "line": 445
2026-06-04T17:23:03.1981615Z             },
2026-06-04T17:23:03.1982011Z             {
2026-06-04T17:23:03.1982525Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:23:03.1982938Z               "line": 218
2026-06-04T17:23:03.1983326Z             },
2026-06-04T17:23:03.1983722Z             {
2026-06-04T17:23:03.1984234Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:23:03.1984648Z               "line": 306
2026-06-04T17:23:03.1985049Z             }
2026-06-04T17:23:03.1985437Z           ]
2026-06-04T17:23:03.1985867Z         }
2026-06-04T17:23:03.1986273Z       }
2026-06-04T17:23:03.1986661Z     },
2026-06-04T17:23:03.1987044Z     {
2026-06-04T17:23:03.1987473Z       "id": "REQ-NET-2",
2026-06-04T17:23:03.1988394Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T17:23:03.1989009Z       "requiredStages": [
2026-06-04T17:23:03.1989490Z         "impl"
2026-06-04T17:23:03.1989890Z       ],
2026-06-04T17:23:03.1990303Z       "stages": {
2026-06-04T17:23:03.1990698Z         "doc": {
2026-06-04T17:23:03.1991140Z           "complete": false,
2026-06-04T17:23:03.1991569Z           "evidence": []
2026-06-04T17:23:03.1991955Z         },
2026-06-04T17:23:03.1992357Z         "impl": {
2026-06-04T17:23:03.1992788Z           "complete": true,
2026-06-04T17:23:03.1993205Z           "evidence": [
2026-06-04T17:23:03.1993592Z             {
2026-06-04T17:23:03.1994193Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:03.1994608Z               "line": 49
2026-06-04T17:23:03.1994995Z             },
2026-06-04T17:23:03.1995552Z             {
2026-06-04T17:23:03.1996175Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1996651Z               "line": 39
2026-06-04T17:23:03.1997127Z             },
2026-06-04T17:23:03.1997882Z             {
2026-06-04T17:23:03.1998517Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.1998932Z               "line": 49
2026-06-04T17:23:03.1999391Z             },
2026-06-04T17:23:03.1999779Z             {
2026-06-04T17:23:03.2000379Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.2000791Z               "line": 127
2026-06-04T17:23:03.2001187Z             },
2026-06-04T17:23:03.2001581Z             {
2026-06-04T17:23:03.2002168Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.2002587Z               "line": 143
2026-06-04T17:23:03.2002973Z             },
2026-06-04T17:23:03.2003373Z             {
2026-06-04T17:23:03.2003978Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:23:03.2004393Z               "line": 158
2026-06-04T17:23:03.2004784Z             }
2026-06-04T17:23:03.2005172Z           ]
2026-06-04T17:23:03.2005559Z         },
2026-06-04T17:23:03.2005948Z         "int": {
2026-06-04T17:23:03.2006412Z           "complete": false,
2026-06-04T17:23:03.2006833Z           "evidence": []
2026-06-04T17:23:03.2007224Z         },
2026-06-04T17:23:03.2007625Z         "unit": {
2026-06-04T17:23:03.2008052Z           "complete": true,
2026-06-04T17:23:03.2008468Z           "evidence": [
2026-06-04T17:23:03.2008855Z             {
2026-06-04T17:23:03.2009483Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:03.2009900Z               "line": 334
2026-06-04T17:23:03.2015059Z             }
2026-06-04T17:23:03.2015470Z           ]
2026-06-04T17:23:03.2015857Z         }
2026-06-04T17:23:03.2016252Z       }
2026-06-04T17:23:03.2016633Z     },
2026-06-04T17:23:03.2017020Z     {
2026-06-04T17:23:03.2017451Z       "id": "REQ-NET-3",
2026-06-04T17:23:03.2018330Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T17:23:03.2018787Z       "requiredStages": [
2026-06-04T17:23:03.2019291Z         "impl",
2026-06-04T17:23:03.2019699Z         "unit"
2026-06-04T17:23:03.2020127Z       ],
2026-06-04T17:23:03.2020543Z       "stages": {
2026-06-04T17:23:03.2020936Z         "doc": {
2026-06-04T17:23:03.2021382Z           "complete": false,
2026-06-04T17:23:03.2021804Z           "evidence": []
2026-06-04T17:23:03.2022188Z         },
2026-06-04T17:23:03.2022591Z         "impl": {
2026-06-04T17:23:03.2023012Z           "complete": true,
2026-06-04T17:23:03.2023426Z           "evidence": [
2026-06-04T17:23:03.2023811Z             {
2026-06-04T17:23:03.2024380Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.2024799Z               "line": 39
2026-06-04T17:23:03.2025187Z             },
2026-06-04T17:23:03.2025579Z             {
2026-06-04T17:23:03.2026126Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.2026548Z               "line": 159
2026-06-04T17:23:03.2026934Z             },
2026-06-04T17:23:03.2027329Z             {
2026-06-04T17:23:03.2027889Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:23:03.2028607Z               "line": 290
2026-06-04T17:23:03.2029036Z             },
2026-06-04T17:23:03.2029477Z             {
2026-06-04T17:23:03.2030056Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:23:03.2030478Z               "line": 36
2026-06-04T17:23:03.2030868Z             },
2026-06-04T17:23:03.2031265Z             {
2026-06-04T17:23:03.2031877Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2032300Z               "line": 135
2026-06-04T17:23:03.2032685Z             },
2026-06-04T17:23:03.2033085Z             {
2026-06-04T17:23:03.2033704Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2034116Z               "line": 172
2026-06-04T17:23:03.2034510Z             },
2026-06-04T17:23:03.2034893Z             {
2026-06-04T17:23:03.2035518Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2035933Z               "line": 184
2026-06-04T17:23:03.2036328Z             },
2026-06-04T17:23:03.2036893Z             {
2026-06-04T17:23:03.2037526Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2037952Z               "line": 222
2026-06-04T17:23:03.2038340Z             },
2026-06-04T17:23:03.2038733Z             {
2026-06-04T17:23:03.2039376Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2039806Z               "line": 237
2026-06-04T17:23:03.2040205Z             },
2026-06-04T17:23:03.2040596Z             {
2026-06-04T17:23:03.2041219Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2041636Z               "line": 273
2026-06-04T17:23:03.2042031Z             },
2026-06-04T17:23:03.2042418Z             {
2026-06-04T17:23:03.2043038Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2043457Z               "line": 314
2026-06-04T17:23:03.2043847Z             },
2026-06-04T17:23:03.2044241Z             {
2026-06-04T17:23:03.2044852Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.2045300Z               "line": 327
2026-06-04T17:23:03.2045689Z             },
2026-06-04T17:23:03.2046086Z             {
2026-06-04T17:23:03.2046689Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:03.2047102Z               "line": 29
2026-06-04T17:23:03.2047503Z             },
2026-06-04T17:23:03.2047888Z             {
2026-06-04T17:23:03.2048490Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:03.2048897Z               "line": 70
2026-06-04T17:23:03.2049334Z             },
2026-06-04T17:23:03.2049729Z             {
2026-06-04T17:23:03.2050319Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:03.2050744Z               "line": 121
2026-06-04T17:23:03.2051126Z             }
2026-06-04T17:23:03.2051519Z           ]
2026-06-04T17:23:03.2051900Z         },
2026-06-04T17:23:03.2052303Z         "int": {
2026-06-04T17:23:03.2052742Z           "complete": false,
2026-06-04T17:23:03.2053170Z           "evidence": []
2026-06-04T17:23:03.2053569Z         },
2026-06-04T17:23:03.2054066Z         "unit": {
2026-06-04T17:23:03.2054502Z           "complete": true,
2026-06-04T17:23:03.2054909Z           "evidence": [
2026-06-04T17:23:03.2055307Z             {
2026-06-04T17:23:03.2055898Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:23:03.2056325Z               "line": 203
2026-06-04T17:23:03.2056727Z             },
2026-06-04T17:23:03.2057115Z             {
2026-06-04T17:23:03.2057702Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:23:03.2058125Z               "line": 303
2026-06-04T17:23:03.2058515Z             },
2026-06-04T17:23:03.2058908Z             {
2026-06-04T17:23:03.2059516Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:23:03.2059952Z               "line": 399
2026-06-04T17:23:03.2060336Z             },
2026-06-04T17:23:03.2060729Z             {
2026-06-04T17:23:03.2061295Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:23:03.2061863Z               "line": 93
2026-06-04T17:23:03.2062275Z             },
2026-06-04T17:23:03.2062660Z             {
2026-06-04T17:23:03.2063219Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:23:03.2063635Z               "line": 131
2026-06-04T17:23:03.2064032Z             },
2026-06-04T17:23:03.2064424Z             {
2026-06-04T17:23:03.2065020Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:03.2065438Z               "line": 308
2026-06-04T17:23:03.2065827Z             },
2026-06-04T17:23:03.2066219Z             {
2026-06-04T17:23:03.2066809Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:03.2067235Z               "line": 345
2026-06-04T17:23:03.2067631Z             },
2026-06-04T17:23:03.2068015Z             {
2026-06-04T17:23:03.2068620Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:23:03.2069030Z               "line": 469
2026-06-04T17:23:03.2069475Z             }
2026-06-04T17:23:03.2070027Z           ]
2026-06-04T17:23:03.2070432Z         }
2026-06-04T17:23:03.2070825Z       }
2026-06-04T17:23:03.2071212Z     },
2026-06-04T17:23:03.2071602Z     {
2026-06-04T17:23:03.2072061Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T17:23:03.2073322Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T17:23:03.2073768Z       "requiredStages": [
2026-06-04T17:23:03.2074177Z         "impl",
2026-06-04T17:23:03.2074572Z         "unit"
2026-06-04T17:23:03.2074952Z       ],
2026-06-04T17:23:03.2075360Z       "stages": {
2026-06-04T17:23:03.2075749Z         "doc": {
2026-06-04T17:23:03.2076186Z           "complete": false,
2026-06-04T17:23:03.2076601Z           "evidence": []
2026-06-04T17:23:03.2076996Z         },
2026-06-04T17:23:03.2077402Z         "impl": {
2026-06-04T17:23:03.2077829Z           "complete": true,
2026-06-04T17:23:03.2078245Z           "evidence": [
2026-06-04T17:23:03.2078625Z             {
2026-06-04T17:23:03.2079935Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2080428Z               "line": 60
2026-06-04T17:23:03.2080830Z             },
2026-06-04T17:23:03.2081233Z             {
2026-06-04T17:23:03.2082015Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2082550Z               "line": 68
2026-06-04T17:23:03.2083004Z             },
2026-06-04T17:23:03.2083418Z             {
2026-06-04T17:23:03.2084025Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2084448Z               "line": 86
2026-06-04T17:23:03.2084846Z             },
2026-06-04T17:23:03.2085241Z             {
2026-06-04T17:23:03.2085830Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2086250Z               "line": 120
2026-06-04T17:23:03.2086654Z             },
2026-06-04T17:23:03.2087043Z             {
2026-06-04T17:23:03.2087640Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2088066Z               "line": 127
2026-06-04T17:23:03.2088490Z             },
2026-06-04T17:23:03.2088890Z             {
2026-06-04T17:23:03.2089561Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2095082Z               "line": 143
2026-06-04T17:23:03.2095583Z             },
2026-06-04T17:23:03.2096004Z             {
2026-06-04T17:23:03.2096607Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:23:03.2097029Z               "line": 16
2026-06-04T17:23:03.2097441Z             }
2026-06-04T17:23:03.2097839Z           ]
2026-06-04T17:23:03.2098244Z         },
2026-06-04T17:23:03.2098650Z         "int": {
2026-06-04T17:23:03.2099099Z           "complete": false,
2026-06-04T17:23:03.2099645Z           "evidence": []
2026-06-04T17:23:03.2100041Z         },
2026-06-04T17:23:03.2100455Z         "unit": {
2026-06-04T17:23:03.2100895Z           "complete": true,
2026-06-04T17:23:03.2101320Z           "evidence": [
2026-06-04T17:23:03.2101713Z             {
2026-06-04T17:23:03.2102682Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2103173Z               "line": 199
2026-06-04T17:23:03.2103578Z             },
2026-06-04T17:23:03.2103983Z             {
2026-06-04T17:23:03.2104579Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2105009Z               "line": 218
2026-06-04T17:23:03.2105411Z             },
2026-06-04T17:23:03.2105804Z             {
2026-06-04T17:23:03.2106411Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2106830Z               "line": 232
2026-06-04T17:23:03.2107231Z             },
2026-06-04T17:23:03.2107625Z             {
2026-06-04T17:23:03.2108223Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:23:03.2108657Z               "line": 248
2026-06-04T17:23:03.2109052Z             },
2026-06-04T17:23:03.2109667Z             {
2026-06-04T17:23:03.2110413Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:23:03.2110850Z               "line": 125
2026-06-04T17:23:03.2111415Z             },
2026-06-04T17:23:03.2111838Z             {
2026-06-04T17:23:03.2112428Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:23:03.2112864Z               "line": 141
2026-06-04T17:23:03.2113268Z             },
2026-06-04T17:23:03.2113662Z             {
2026-06-04T17:23:03.2114241Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:23:03.2114662Z               "line": 153
2026-06-04T17:23:03.2115060Z             }
2026-06-04T17:23:03.2115457Z           ]
2026-06-04T17:23:03.2115853Z         }
2026-06-04T17:23:03.2116258Z       }
2026-06-04T17:23:03.2116652Z     },
2026-06-04T17:23:03.2117051Z     {
2026-06-04T17:23:03.2117489Z       "id": "REQ-NOTIF-1",
2026-06-04T17:23:03.2119603Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T17:23:03.2120065Z       "requiredStages": [
2026-06-04T17:23:03.2120480Z         "impl",
2026-06-04T17:23:03.2120940Z         "unit",
2026-06-04T17:23:03.2121352Z         "int"
2026-06-04T17:23:03.2121759Z       ],
2026-06-04T17:23:03.2122172Z       "stages": {
2026-06-04T17:23:03.2122579Z         "doc": {
2026-06-04T17:23:03.2123026Z           "complete": false,
2026-06-04T17:23:03.2123453Z           "evidence": []
2026-06-04T17:23:03.2123856Z         },
2026-06-04T17:23:03.2124264Z         "impl": {
2026-06-04T17:23:03.2124706Z           "complete": true,
2026-06-04T17:23:03.2125121Z           "evidence": [
2026-06-04T17:23:03.2125521Z             {
2026-06-04T17:23:03.2126137Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:23:03.2126553Z               "line": 412
2026-06-04T17:23:03.2126953Z             },
2026-06-04T17:23:03.2127351Z             {
2026-06-04T17:23:03.2127930Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2128352Z               "line": 30
2026-06-04T17:23:03.2128762Z             },
2026-06-04T17:23:03.2129212Z             {
2026-06-04T17:23:03.2129816Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2130246Z               "line": 62
2026-06-04T17:23:03.2130639Z             },
2026-06-04T17:23:03.2131040Z             {
2026-06-04T17:23:03.2131609Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2132035Z               "line": 83
2026-06-04T17:23:03.2132440Z             },
2026-06-04T17:23:03.2132838Z             {
2026-06-04T17:23:03.2133411Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2133826Z               "line": 97
2026-06-04T17:23:03.2134227Z             },
2026-06-04T17:23:03.2134619Z             {
2026-06-04T17:23:03.2135192Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2135619Z               "line": 126
2026-06-04T17:23:03.2136012Z             },
2026-06-04T17:23:03.2136419Z             {
2026-06-04T17:23:03.2136980Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2137413Z               "line": 159
2026-06-04T17:23:03.2137983Z             },
2026-06-04T17:23:03.2138411Z             {
2026-06-04T17:23:03.2138991Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2139457Z               "line": 179
2026-06-04T17:23:03.2139866Z             },
2026-06-04T17:23:03.2140257Z             {
2026-06-04T17:23:03.2140832Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2141264Z               "line": 239
2026-06-04T17:23:03.2141666Z             },
2026-06-04T17:23:03.2142071Z             {
2026-06-04T17:23:03.2142633Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2143060Z               "line": 287
2026-06-04T17:23:03.2143459Z             },
2026-06-04T17:23:03.2143863Z             {
2026-06-04T17:23:03.2144477Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2144894Z               "line": 24
2026-06-04T17:23:03.2145291Z             },
2026-06-04T17:23:03.2145686Z             {
2026-06-04T17:23:03.2146517Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2146933Z               "line": 34
2026-06-04T17:23:03.2147338Z             },
2026-06-04T17:23:03.2147739Z             {
2026-06-04T17:23:03.2148342Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2148762Z               "line": 55
2026-06-04T17:23:03.2149207Z             },
2026-06-04T17:23:03.2149615Z             {
2026-06-04T17:23:03.2150215Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2150638Z               "line": 76
2026-06-04T17:23:03.2151047Z             },
2026-06-04T17:23:03.2151441Z             {
2026-06-04T17:23:03.2152051Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2152465Z               "line": 88
2026-06-04T17:23:03.2152868Z             },
2026-06-04T17:23:03.2153258Z             {
2026-06-04T17:23:03.2153874Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:23:03.2154302Z               "line": 41
2026-06-04T17:23:03.2154725Z             },
2026-06-04T17:23:03.2155126Z             {
2026-06-04T17:23:03.2155726Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.2156161Z               "line": 94
2026-06-04T17:23:03.2156556Z             },
2026-06-04T17:23:03.2156956Z             {
2026-06-04T17:23:03.2157546Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:23:03.2157958Z               "line": 20
2026-06-04T17:23:03.2158356Z             },
2026-06-04T17:23:03.2158746Z             {
2026-06-04T17:23:03.2159367Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:23:03.2159785Z               "line": 30
2026-06-04T17:23:03.2160201Z             },
2026-06-04T17:23:03.2160603Z             {
2026-06-04T17:23:03.2161178Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:23:03.2161601Z               "line": 50
2026-06-04T17:23:03.2161998Z             },
2026-06-04T17:23:03.2162407Z             {
2026-06-04T17:23:03.2162983Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2163410Z               "line": 28
2026-06-04T17:23:03.2163812Z             },
2026-06-04T17:23:03.2164203Z             {
2026-06-04T17:23:03.2164765Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2165187Z               "line": 126
2026-06-04T17:23:03.2165582Z             },
2026-06-04T17:23:03.2165982Z             {
2026-06-04T17:23:03.2166543Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2166971Z               "line": 161
2026-06-04T17:23:03.2167364Z             },
2026-06-04T17:23:03.2167761Z             {
2026-06-04T17:23:03.2168317Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2168736Z               "line": 197
2026-06-04T17:23:03.2169140Z             },
2026-06-04T17:23:03.2169598Z             {
2026-06-04T17:23:03.2170165Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2170590Z               "line": 208
2026-06-04T17:23:03.2176437Z             },
2026-06-04T17:23:03.2177055Z             {
2026-06-04T17:23:03.2177768Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2178298Z               "line": 231
2026-06-04T17:23:03.2178793Z             },
2026-06-04T17:23:03.2179426Z             {
2026-06-04T17:23:03.2180093Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2180601Z               "line": 251
2026-06-04T17:23:03.2181019Z             },
2026-06-04T17:23:03.2181453Z             {
2026-06-04T17:23:03.2182106Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2182571Z               "line": 63
2026-06-04T17:23:03.2183019Z             }
2026-06-04T17:23:03.2183841Z           ]
2026-06-04T17:23:03.2184343Z         },
2026-06-04T17:23:03.2184803Z         "int": {
2026-06-04T17:23:03.2185288Z           "complete": true,
2026-06-04T17:23:03.2185742Z           "evidence": [
2026-06-04T17:23:03.2186154Z             {
2026-06-04T17:23:03.2187241Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.2187704Z               "line": 265
2026-06-04T17:23:03.2188141Z             },
2026-06-04T17:23:03.2188558Z             {
2026-06-04T17:23:03.2189329Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T17:23:03.2189980Z               "line": 102
2026-06-04T17:23:03.2190399Z             },
2026-06-04T17:23:03.2190900Z             {
2026-06-04T17:23:03.2191498Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2191937Z               "line": 497
2026-06-04T17:23:03.2192352Z             },
2026-06-04T17:23:03.2192786Z             {
2026-06-04T17:23:03.2193450Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2193893Z               "line": 745
2026-06-04T17:23:03.2194307Z             }
2026-06-04T17:23:03.2194696Z           ]
2026-06-04T17:23:03.2195104Z         },
2026-06-04T17:23:03.2195518Z         "unit": {
2026-06-04T17:23:03.2195994Z           "complete": true,
2026-06-04T17:23:03.2196458Z           "evidence": [
2026-06-04T17:23:03.2197046Z             {
2026-06-04T17:23:03.2197743Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2198286Z               "line": 362
2026-06-04T17:23:03.2198770Z             },
2026-06-04T17:23:03.2199252Z             {
2026-06-04T17:23:03.2200008Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2200452Z               "line": 400
2026-06-04T17:23:03.2200859Z             },
2026-06-04T17:23:03.2201270Z             {
2026-06-04T17:23:03.2201847Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2202284Z               "line": 427
2026-06-04T17:23:03.2202690Z             },
2026-06-04T17:23:03.2203105Z             {
2026-06-04T17:23:03.2203684Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2204115Z               "line": 448
2026-06-04T17:23:03.2204532Z             },
2026-06-04T17:23:03.2204957Z             {
2026-06-04T17:23:03.2205553Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2206429Z               "line": 501
2026-06-04T17:23:03.2206906Z             },
2026-06-04T17:23:03.2207359Z             {
2026-06-04T17:23:03.2207961Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2208409Z               "line": 540
2026-06-04T17:23:03.2208831Z             },
2026-06-04T17:23:03.2209306Z             {
2026-06-04T17:23:03.2210030Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2210450Z               "line": 632
2026-06-04T17:23:03.2210861Z             },
2026-06-04T17:23:03.2211263Z             {
2026-06-04T17:23:03.2211887Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2212335Z               "line": 133
2026-06-04T17:23:03.2212761Z             },
2026-06-04T17:23:03.2213206Z             {
2026-06-04T17:23:03.2213842Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2214623Z               "line": 208
2026-06-04T17:23:03.2215064Z             },
2026-06-04T17:23:03.2215479Z             {
2026-06-04T17:23:03.2216088Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:23:03.2216522Z               "line": 227
2026-06-04T17:23:03.2216926Z             },
2026-06-04T17:23:03.2217322Z             {
2026-06-04T17:23:03.2217933Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.2218362Z               "line": 328
2026-06-04T17:23:03.2218768Z             },
2026-06-04T17:23:03.2219222Z             {
2026-06-04T17:23:03.2220163Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:23:03.2220600Z               "line": 357
2026-06-04T17:23:03.2221006Z             },
2026-06-04T17:23:03.2221407Z             {
2026-06-04T17:23:03.2222028Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T17:23:03.2222460Z               "line": 112
2026-06-04T17:23:03.2222855Z             },
2026-06-04T17:23:03.2223429Z             {
2026-06-04T17:23:03.2224028Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:23:03.2224450Z               "line": 72
2026-06-04T17:23:03.2224854Z             },
2026-06-04T17:23:03.2225247Z             {
2026-06-04T17:23:03.2225834Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:23:03.2226254Z               "line": 94
2026-06-04T17:23:03.2226662Z             },
2026-06-04T17:23:03.2227065Z             {
2026-06-04T17:23:03.2227620Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2228055Z               "line": 365
2026-06-04T17:23:03.2228450Z             },
2026-06-04T17:23:03.2228857Z             {
2026-06-04T17:23:03.2229636Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2230242Z               "line": 396
2026-06-04T17:23:03.2230648Z             },
2026-06-04T17:23:03.2231041Z             {
2026-06-04T17:23:03.2231602Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2232037Z               "line": 410
2026-06-04T17:23:03.2232447Z             },
2026-06-04T17:23:03.2232853Z             {
2026-06-04T17:23:03.2233403Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2233832Z               "line": 441
2026-06-04T17:23:03.2234225Z             },
2026-06-04T17:23:03.2234628Z             {
2026-06-04T17:23:03.2235189Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2235624Z               "line": 458
2026-06-04T17:23:03.2236033Z             },
2026-06-04T17:23:03.2236427Z             {
2026-06-04T17:23:03.2236984Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2237405Z               "line": 483
2026-06-04T17:23:03.2237814Z             },
2026-06-04T17:23:03.2238211Z             {
2026-06-04T17:23:03.2238773Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:23:03.2239260Z               "line": 507
2026-06-04T17:23:03.2239657Z             },
2026-06-04T17:23:03.2240081Z             {
2026-06-04T17:23:03.2240677Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2241117Z               "line": 373
2026-06-04T17:23:03.2241510Z             }
2026-06-04T17:23:03.2241919Z           ]
2026-06-04T17:23:03.2242328Z         }
2026-06-04T17:23:03.2242727Z       }
2026-06-04T17:23:03.2243126Z     },
2026-06-04T17:23:03.2243518Z     {
2026-06-04T17:23:03.2243967Z       "id": "REQ-NOTIF-2",
2026-06-04T17:23:03.2245396Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T17:23:03.2245859Z       "requiredStages": [
2026-06-04T17:23:03.2246264Z         "doc",
2026-06-04T17:23:03.2246665Z         "impl",
2026-06-04T17:23:03.2247077Z         "unit"
2026-06-04T17:23:03.2247469Z       ],
2026-06-04T17:23:03.2247883Z       "stages": {
2026-06-04T17:23:03.2248284Z         "doc": {
2026-06-04T17:23:03.2248726Z           "complete": true,
2026-06-04T17:23:03.2249196Z           "evidence": [
2026-06-04T17:23:03.2249610Z             {
2026-06-04T17:23:03.2250375Z               "path": "docs/MANIFEST.md",
2026-06-04T17:23:03.2250815Z               "line": 62
2026-06-04T17:23:03.2251229Z             }
2026-06-04T17:23:03.2251625Z           ]
2026-06-04T17:23:03.2252029Z         },
2026-06-04T17:23:03.2252456Z         "impl": {
2026-06-04T17:23:03.2252893Z           "complete": true,
2026-06-04T17:23:03.2253326Z           "evidence": [
2026-06-04T17:23:03.2253722Z             {
2026-06-04T17:23:03.2254307Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2254728Z               "line": 208
2026-06-04T17:23:03.2255137Z             },
2026-06-04T17:23:03.2261982Z             {
2026-06-04T17:23:03.2262721Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2263158Z               "line": 222
2026-06-04T17:23:03.2263559Z             },
2026-06-04T17:23:03.2263953Z             {
2026-06-04T17:23:03.2264554Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.2265297Z               "line": 125
2026-06-04T17:23:03.2265699Z             },
2026-06-04T17:23:03.2266085Z             {
2026-06-04T17:23:03.2266674Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2267086Z               "line": 72
2026-06-04T17:23:03.2267477Z             },
2026-06-04T17:23:03.2267860Z             {
2026-06-04T17:23:03.2268372Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2268801Z               "line": 833
2026-06-04T17:23:03.2269244Z             },
2026-06-04T17:23:03.2269643Z             {
2026-06-04T17:23:03.2270145Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2270562Z               "line": 865
2026-06-04T17:23:03.2270950Z             },
2026-06-04T17:23:03.2271340Z             {
2026-06-04T17:23:03.2271849Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2272261Z               "line": 931
2026-06-04T17:23:03.2272660Z             },
2026-06-04T17:23:03.2273043Z             {
2026-06-04T17:23:03.2273579Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2273994Z               "line": 967
2026-06-04T17:23:03.2274394Z             }
2026-06-04T17:23:03.2274792Z           ]
2026-06-04T17:23:03.2275172Z         },
2026-06-04T17:23:03.2275577Z         "int": {
2026-06-04T17:23:03.2276007Z           "complete": false,
2026-06-04T17:23:03.2276438Z           "evidence": []
2026-06-04T17:23:03.2276823Z         },
2026-06-04T17:23:03.2277226Z         "unit": {
2026-06-04T17:23:03.2277663Z           "complete": true,
2026-06-04T17:23:03.2278071Z           "evidence": [
2026-06-04T17:23:03.2278467Z             {
2026-06-04T17:23:03.2279024Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.2279482Z               "line": 590
2026-06-04T17:23:03.2279867Z             },
2026-06-04T17:23:03.2280263Z             {
2026-06-04T17:23:03.2280768Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2281183Z               "line": 2392
2026-06-04T17:23:03.2281592Z             },
2026-06-04T17:23:03.2281985Z             {
2026-06-04T17:23:03.2282491Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2282899Z               "line": 2414
2026-06-04T17:23:03.2283296Z             }
2026-06-04T17:23:03.2283686Z           ]
2026-06-04T17:23:03.2284075Z         }
2026-06-04T17:23:03.2284472Z       }
2026-06-04T17:23:03.2284851Z     },
2026-06-04T17:23:03.2285237Z     {
2026-06-04T17:23:03.2285659Z       "id": "REQ-PAIR-1",
2026-06-04T17:23:03.2286178Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T17:23:03.2286622Z       "requiredStages": [
2026-06-04T17:23:03.2287017Z         "impl",
2026-06-04T17:23:03.2287417Z         "unit",
2026-06-04T17:23:03.2287801Z         "int"
2026-06-04T17:23:03.2288199Z       ],
2026-06-04T17:23:03.2288598Z       "stages": {
2026-06-04T17:23:03.2288995Z         "doc": {
2026-06-04T17:23:03.2289478Z           "complete": false,
2026-06-04T17:23:03.2289898Z           "evidence": []
2026-06-04T17:23:03.2290304Z         },
2026-06-04T17:23:03.2290866Z         "impl": {
2026-06-04T17:23:03.2291324Z           "complete": true,
2026-06-04T17:23:03.2291733Z           "evidence": [
2026-06-04T17:23:03.2292127Z             {
2026-06-04T17:23:03.2292786Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2293192Z               "line": 27
2026-06-04T17:23:03.2293582Z             },
2026-06-04T17:23:03.2293968Z             {
2026-06-04T17:23:03.2294618Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2295022Z               "line": 88
2026-06-04T17:23:03.2295420Z             },
2026-06-04T17:23:03.2295814Z             {
2026-06-04T17:23:03.2296441Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2296866Z               "line": 110
2026-06-04T17:23:03.2297260Z             },
2026-06-04T17:23:03.2297659Z             {
2026-06-04T17:23:03.2298294Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2298934Z               "line": 153
2026-06-04T17:23:03.2299382Z             },
2026-06-04T17:23:03.2299767Z             {
2026-06-04T17:23:03.2300406Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2300820Z               "line": 182
2026-06-04T17:23:03.2301217Z             },
2026-06-04T17:23:03.2301612Z             {
2026-06-04T17:23:03.2302237Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2302654Z               "line": 29
2026-06-04T17:23:03.2303038Z             },
2026-06-04T17:23:03.2303434Z             {
2026-06-04T17:23:03.2304134Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:23:03.2304557Z               "line": 31
2026-06-04T17:23:03.2304947Z             },
2026-06-04T17:23:03.2305337Z             {
2026-06-04T17:23:03.2305975Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2306387Z               "line": 40
2026-06-04T17:23:03.2306798Z             },
2026-06-04T17:23:03.2307189Z             {
2026-06-04T17:23:03.2307820Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2308241Z               "line": 131
2026-06-04T17:23:03.2308626Z             },
2026-06-04T17:23:03.2309019Z             {
2026-06-04T17:23:03.2309684Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2310105Z               "line": 306
2026-06-04T17:23:03.2310488Z             }
2026-06-04T17:23:03.2310881Z           ]
2026-06-04T17:23:03.2311271Z         },
2026-06-04T17:23:03.2311660Z         "int": {
2026-06-04T17:23:03.2312100Z           "complete": true,
2026-06-04T17:23:03.2312504Z           "evidence": [
2026-06-04T17:23:03.2312905Z             {
2026-06-04T17:23:03.2313499Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2313922Z               "line": 433
2026-06-04T17:23:03.2314316Z             },
2026-06-04T17:23:03.2314695Z             {
2026-06-04T17:23:03.2315321Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2315734Z               "line": 549
2026-06-04T17:23:03.2316124Z             }
2026-06-04T17:23:03.2316512Z           ]
2026-06-04T17:23:03.2316907Z         },
2026-06-04T17:23:03.2317312Z         "unit": {
2026-06-04T17:23:03.2317737Z           "complete": true,
2026-06-04T17:23:03.2318155Z           "evidence": [
2026-06-04T17:23:03.2318536Z             {
2026-06-04T17:23:03.2319229Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2319642Z               "line": 236
2026-06-04T17:23:03.2320038Z             },
2026-06-04T17:23:03.2320429Z             {
2026-06-04T17:23:03.2321064Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:23:03.2321480Z               "line": 349
2026-06-04T17:23:03.2321862Z             },
2026-06-04T17:23:03.2322258Z             {
2026-06-04T17:23:03.2322886Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2323325Z               "line": 194
2026-06-04T17:23:03.2323878Z             },
2026-06-04T17:23:03.2324282Z             {
2026-06-04T17:23:03.2324914Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2325327Z               "line": 216
2026-06-04T17:23:03.2325725Z             },
2026-06-04T17:23:03.2326119Z             {
2026-06-04T17:23:03.2326748Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2327165Z               "line": 230
2026-06-04T17:23:03.2327555Z             },
2026-06-04T17:23:03.2327950Z             {
2026-06-04T17:23:03.2328574Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2328992Z               "line": 242
2026-06-04T17:23:03.2329431Z             },
2026-06-04T17:23:03.2329812Z             {
2026-06-04T17:23:03.2330445Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2330850Z               "line": 256
2026-06-04T17:23:03.2331248Z             },
2026-06-04T17:23:03.2331788Z             {
2026-06-04T17:23:03.2332436Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2332858Z               "line": 270
2026-06-04T17:23:03.2333244Z             },
2026-06-04T17:23:03.2333638Z             {
2026-06-04T17:23:03.2334259Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2334678Z               "line": 277
2026-06-04T17:23:03.2339894Z             },
2026-06-04T17:23:03.2340380Z             {
2026-06-04T17:23:03.2341045Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:23:03.2341463Z               "line": 295
2026-06-04T17:23:03.2341866Z             },
2026-06-04T17:23:03.2342253Z             {
2026-06-04T17:23:03.2342893Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2343306Z               "line": 696
2026-06-04T17:23:03.2343705Z             },
2026-06-04T17:23:03.2344096Z             {
2026-06-04T17:23:03.2344754Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2345190Z               "line": 757
2026-06-04T17:23:03.2345574Z             },
2026-06-04T17:23:03.2345966Z             {
2026-06-04T17:23:03.2346588Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2347009Z               "line": 814
2026-06-04T17:23:03.2347401Z             },
2026-06-04T17:23:03.2347787Z             {
2026-06-04T17:23:03.2348414Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2348832Z               "line": 868
2026-06-04T17:23:03.2349273Z             },
2026-06-04T17:23:03.2349665Z             {
2026-06-04T17:23:03.2350289Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2350707Z               "line": 920
2026-06-04T17:23:03.2351091Z             },
2026-06-04T17:23:03.2351486Z             {
2026-06-04T17:23:03.2352105Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2352534Z               "line": 1084
2026-06-04T17:23:03.2352948Z             }
2026-06-04T17:23:03.2353338Z           ]
2026-06-04T17:23:03.2353736Z         }
2026-06-04T17:23:03.2354121Z       }
2026-06-04T17:23:03.2354518Z     },
2026-06-04T17:23:03.2354903Z     {
2026-06-04T17:23:03.2355338Z       "id": "REQ-PAIR-2",
2026-06-04T17:23:03.2356022Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T17:23:03.2356456Z       "requiredStages": [
2026-06-04T17:23:03.2356854Z         "impl",
2026-06-04T17:23:03.2357245Z         "unit"
2026-06-04T17:23:03.2357638Z       ],
2026-06-04T17:23:03.2358034Z       "stages": {
2026-06-04T17:23:03.2358427Z         "doc": {
2026-06-04T17:23:03.2358863Z           "complete": false,
2026-06-04T17:23:03.2359312Z           "evidence": []
2026-06-04T17:23:03.2359706Z         },
2026-06-04T17:23:03.2360108Z         "impl": {
2026-06-04T17:23:03.2360541Z           "complete": true,
2026-06-04T17:23:03.2360950Z           "evidence": [
2026-06-04T17:23:03.2361344Z             {
2026-06-04T17:23:03.2362155Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2362594Z               "line": 42
2026-06-04T17:23:03.2363012Z             },
2026-06-04T17:23:03.2363398Z             {
2026-06-04T17:23:03.2363947Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2364360Z               "line": 151
2026-06-04T17:23:03.2364758Z             },
2026-06-04T17:23:03.2365152Z             {
2026-06-04T17:23:03.2365698Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2366113Z               "line": 171
2026-06-04T17:23:03.2366499Z             },
2026-06-04T17:23:03.2366891Z             {
2026-06-04T17:23:03.2367429Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2367848Z               "line": 209
2026-06-04T17:23:03.2368241Z             },
2026-06-04T17:23:03.2368627Z             {
2026-06-04T17:23:03.2369227Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2369636Z               "line": 232
2026-06-04T17:23:03.2370187Z             }
2026-06-04T17:23:03.2370574Z           ]
2026-06-04T17:23:03.2370973Z         },
2026-06-04T17:23:03.2371373Z         "int": {
2026-06-04T17:23:03.2371808Z           "complete": false,
2026-06-04T17:23:03.2372227Z           "evidence": []
2026-06-04T17:23:03.2372611Z         },
2026-06-04T17:23:03.2373022Z         "unit": {
2026-06-04T17:23:03.2373443Z           "complete": true,
2026-06-04T17:23:03.2373866Z           "evidence": [
2026-06-04T17:23:03.2374257Z             {
2026-06-04T17:23:03.2374797Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2375221Z               "line": 253
2026-06-04T17:23:03.2375604Z             },
2026-06-04T17:23:03.2375999Z             {
2026-06-04T17:23:03.2376542Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2376957Z               "line": 272
2026-06-04T17:23:03.2377347Z             },
2026-06-04T17:23:03.2377734Z             {
2026-06-04T17:23:03.2378296Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2378715Z               "line": 284
2026-06-04T17:23:03.2379110Z             },
2026-06-04T17:23:03.2379532Z             {
2026-06-04T17:23:03.2380089Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2380513Z               "line": 303
2026-06-04T17:23:03.2380894Z             },
2026-06-04T17:23:03.2381280Z             {
2026-06-04T17:23:03.2381826Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2382243Z               "line": 319
2026-06-04T17:23:03.2382629Z             },
2026-06-04T17:23:03.2383020Z             {
2026-06-04T17:23:03.2383572Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2383986Z               "line": 331
2026-06-04T17:23:03.2384380Z             },
2026-06-04T17:23:03.2384761Z             {
2026-06-04T17:23:03.2385310Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2385715Z               "line": 343
2026-06-04T17:23:03.2386126Z             },
2026-06-04T17:23:03.2386530Z             {
2026-06-04T17:23:03.2387079Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2387497Z               "line": 356
2026-06-04T17:23:03.2387882Z             },
2026-06-04T17:23:03.2388273Z             {
2026-06-04T17:23:03.2388818Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:23:03.2389286Z               "line": 370
2026-06-04T17:23:03.2389684Z             }
2026-06-04T17:23:03.2390062Z           ]
2026-06-04T17:23:03.2390455Z         }
2026-06-04T17:23:03.2390847Z       }
2026-06-04T17:23:03.2391235Z     },
2026-06-04T17:23:03.2391612Z     {
2026-06-04T17:23:03.2392053Z       "id": "REQ-PAIR-3",
2026-06-04T17:23:03.2392778Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T17:23:03.2393216Z       "requiredStages": [
2026-06-04T17:23:03.2393613Z         "impl",
2026-06-04T17:23:03.2394002Z         "unit"
2026-06-04T17:23:03.2394396Z       ],
2026-06-04T17:23:03.2394807Z       "stages": {
2026-06-04T17:23:03.2395353Z         "doc": {
2026-06-04T17:23:03.2395809Z           "complete": false,
2026-06-04T17:23:03.2396223Z           "evidence": []
2026-06-04T17:23:03.2396619Z         },
2026-06-04T17:23:03.2397013Z         "impl": {
2026-06-04T17:23:03.2397440Z           "complete": true,
2026-06-04T17:23:03.2397845Z           "evidence": [
2026-06-04T17:23:03.2398242Z             {
2026-06-04T17:23:03.2398748Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2399196Z               "line": 1243
2026-06-04T17:23:03.2399593Z             },
2026-06-04T17:23:03.2399977Z             {
2026-06-04T17:23:03.2400474Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2400884Z               "line": 1279
2026-06-04T17:23:03.2401279Z             },
2026-06-04T17:23:03.2401672Z             {
2026-06-04T17:23:03.2402163Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2402586Z               "line": 1339
2026-06-04T17:23:03.2403120Z             }
2026-06-04T17:23:03.2403520Z           ]
2026-06-04T17:23:03.2403913Z         },
2026-06-04T17:23:03.2404313Z         "int": {
2026-06-04T17:23:03.2404756Z           "complete": false,
2026-06-04T17:23:03.2405169Z           "evidence": []
2026-06-04T17:23:03.2405559Z         },
2026-06-04T17:23:03.2405946Z         "unit": {
2026-06-04T17:23:03.2406382Z           "complete": true,
2026-06-04T17:23:03.2406793Z           "evidence": [
2026-06-04T17:23:03.2407204Z             {
2026-06-04T17:23:03.2407725Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2408137Z               "line": 3215
2026-06-04T17:23:03.2408528Z             },
2026-06-04T17:23:03.2408911Z             {
2026-06-04T17:23:03.2409458Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2409870Z               "line": 3232
2026-06-04T17:23:03.2410263Z             },
2026-06-04T17:23:03.2410658Z             {
2026-06-04T17:23:03.2415579Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2416135Z               "line": 3246
2026-06-04T17:23:03.2416545Z             },
2026-06-04T17:23:03.2416941Z             {
2026-06-04T17:23:03.2417447Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2417871Z               "line": 3262
2026-06-04T17:23:03.2418268Z             },
2026-06-04T17:23:03.2418657Z             {
2026-06-04T17:23:03.2419243Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2419663Z               "line": 3283
2026-06-04T17:23:03.2420064Z             },
2026-06-04T17:23:03.2420456Z             {
2026-06-04T17:23:03.2420951Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2421371Z               "line": 3299
2026-06-04T17:23:03.2421754Z             },
2026-06-04T17:23:03.2422145Z             {
2026-06-04T17:23:03.2422630Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2423050Z               "line": 3312
2026-06-04T17:23:03.2423441Z             },
2026-06-04T17:23:03.2423820Z             {
2026-06-04T17:23:03.2424341Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2424751Z               "line": 3321
2026-06-04T17:23:03.2425140Z             }
2026-06-04T17:23:03.2425523Z           ]
2026-06-04T17:23:03.2425911Z         }
2026-06-04T17:23:03.2426305Z       }
2026-06-04T17:23:03.2426684Z     },
2026-06-04T17:23:03.2427071Z     {
2026-06-04T17:23:03.2427496Z       "id": "REQ-PAIR-4",
2026-06-04T17:23:03.2428028Z       "title": "Subnet naming on first pairing",
2026-06-04T17:23:03.2428453Z       "requiredStages": [
2026-06-04T17:23:03.2428852Z         "impl",
2026-06-04T17:23:03.2429291Z         "unit"
2026-06-04T17:23:03.2429683Z       ],
2026-06-04T17:23:03.2430090Z       "stages": {
2026-06-04T17:23:03.2430484Z         "doc": {
2026-06-04T17:23:03.2430914Z           "complete": false,
2026-06-04T17:23:03.2431325Z           "evidence": []
2026-06-04T17:23:03.2431714Z         },
2026-06-04T17:23:03.2432112Z         "impl": {
2026-06-04T17:23:03.2432548Z           "complete": true,
2026-06-04T17:23:03.2432980Z           "evidence": [
2026-06-04T17:23:03.2433634Z             {
2026-06-04T17:23:03.2434231Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:23:03.2434642Z               "line": 154
2026-06-04T17:23:03.2435039Z             }
2026-06-04T17:23:03.2435430Z           ]
2026-06-04T17:23:03.2435830Z         },
2026-06-04T17:23:03.2436227Z         "int": {
2026-06-04T17:23:03.2436652Z           "complete": false,
2026-06-04T17:23:03.2437067Z           "evidence": []
2026-06-04T17:23:03.2437451Z         },
2026-06-04T17:23:03.2437848Z         "unit": {
2026-06-04T17:23:03.2438270Z           "complete": true,
2026-06-04T17:23:03.2438717Z           "evidence": [
2026-06-04T17:23:03.2439110Z             {
2026-06-04T17:23:03.2439789Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2440213Z               "line": 972
2026-06-04T17:23:03.2440600Z             }
2026-06-04T17:23:03.2440993Z           ]
2026-06-04T17:23:03.2441375Z         }
2026-06-04T17:23:03.2441926Z       }
2026-06-04T17:23:03.2442326Z     },
2026-06-04T17:23:03.2442706Z     {
2026-06-04T17:23:03.2443150Z       "id": "REQ-PAIR-5",
2026-06-04T17:23:03.2444794Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T17:23:03.2445248Z       "requiredStages": [
2026-06-04T17:23:03.2445653Z         "impl",
2026-06-04T17:23:03.2446042Z         "unit",
2026-06-04T17:23:03.2446445Z         "int"
2026-06-04T17:23:03.2446828Z       ],
2026-06-04T17:23:03.2447237Z       "stages": {
2026-06-04T17:23:03.2447636Z         "doc": {
2026-06-04T17:23:03.2448073Z           "complete": false,
2026-06-04T17:23:03.2448489Z           "evidence": []
2026-06-04T17:23:03.2448887Z         },
2026-06-04T17:23:03.2449329Z         "impl": {
2026-06-04T17:23:03.2449762Z           "complete": true,
2026-06-04T17:23:03.2450176Z           "evidence": [
2026-06-04T17:23:03.2450557Z             {
2026-06-04T17:23:03.2451263Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2451705Z               "line": 33
2026-06-04T17:23:03.2452096Z             },
2026-06-04T17:23:03.2452487Z             {
2026-06-04T17:23:03.2453189Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2453604Z               "line": 45
2026-06-04T17:23:03.2453987Z             },
2026-06-04T17:23:03.2454378Z             {
2026-06-04T17:23:03.2455082Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2455490Z               "line": 59
2026-06-04T17:23:03.2455891Z             },
2026-06-04T17:23:03.2456277Z             {
2026-06-04T17:23:03.2456908Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2457317Z               "line": 306
2026-06-04T17:23:03.2457711Z             }
2026-06-04T17:23:03.2458102Z           ]
2026-06-04T17:23:03.2458479Z         },
2026-06-04T17:23:03.2458877Z         "int": {
2026-06-04T17:23:03.2459332Z           "complete": true,
2026-06-04T17:23:03.2459776Z           "evidence": [
2026-06-04T17:23:03.2460162Z             {
2026-06-04T17:23:03.2460757Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2461168Z               "line": 549
2026-06-04T17:23:03.2461554Z             }
2026-06-04T17:23:03.2461943Z           ]
2026-06-04T17:23:03.2462321Z         },
2026-06-04T17:23:03.2462716Z         "unit": {
2026-06-04T17:23:03.2463145Z           "complete": true,
2026-06-04T17:23:03.2463568Z           "evidence": [
2026-06-04T17:23:03.2463959Z             {
2026-06-04T17:23:03.2464662Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2465078Z               "line": 72
2026-06-04T17:23:03.2465468Z             },
2026-06-04T17:23:03.2465857Z             {
2026-06-04T17:23:03.2466549Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2466964Z               "line": 82
2026-06-04T17:23:03.2467355Z             },
2026-06-04T17:23:03.2467748Z             {
2026-06-04T17:23:03.2468606Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2469029Z               "line": 92
2026-06-04T17:23:03.2469473Z             },
2026-06-04T17:23:03.2469858Z             {
2026-06-04T17:23:03.2470573Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2470992Z               "line": 102
2026-06-04T17:23:03.2471380Z             },
2026-06-04T17:23:03.2471768Z             {
2026-06-04T17:23:03.2472474Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:23:03.2472898Z               "line": 117
2026-06-04T17:23:03.2473283Z             },
2026-06-04T17:23:03.2473680Z             {
2026-06-04T17:23:03.2474318Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2474730Z               "line": 750
2026-06-04T17:23:03.2475127Z             },
2026-06-04T17:23:03.2475511Z             {
2026-06-04T17:23:03.2476150Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2476717Z               "line": 806
2026-06-04T17:23:03.2477103Z             },
2026-06-04T17:23:03.2477493Z             {
2026-06-04T17:23:03.2478118Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:23:03.2478542Z               "line": 1026
2026-06-04T17:23:03.2478928Z             }
2026-06-04T17:23:03.2479359Z           ]
2026-06-04T17:23:03.2479759Z         }
2026-06-04T17:23:03.2480143Z       }
2026-06-04T17:23:03.2480527Z     },
2026-06-04T17:23:03.2480954Z     {
2026-06-04T17:23:03.2481463Z       "id": "REQ-PAIR-6",
2026-06-04T17:23:03.2482874Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T17:23:03.2483319Z       "requiredStages": [
2026-06-04T17:23:03.2483718Z         "impl",
2026-06-04T17:23:03.2484112Z         "unit"
2026-06-04T17:23:03.2484507Z       ],
2026-06-04T17:23:03.2484905Z       "stages": {
2026-06-04T17:23:03.2485331Z         "doc": {
2026-06-04T17:23:03.2485775Z           "complete": false,
2026-06-04T17:23:03.2486206Z           "evidence": []
2026-06-04T17:23:03.2486596Z         },
2026-06-04T17:23:03.2486988Z         "impl": {
2026-06-04T17:23:03.2487418Z           "complete": true,
2026-06-04T17:23:03.2487824Z           "evidence": [
2026-06-04T17:23:03.2488231Z             {
2026-06-04T17:23:03.2488732Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2493732Z               "line": 1279
2026-06-04T17:23:03.2494225Z             },
2026-06-04T17:23:03.2494620Z             {
2026-06-04T17:23:03.2495146Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2495568Z               "line": 1339
2026-06-04T17:23:03.2495969Z             },
2026-06-04T17:23:03.2496353Z             {
2026-06-04T17:23:03.2496899Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:23:03.2497314Z               "line": 18
2026-06-04T17:23:03.2497704Z             },
2026-06-04T17:23:03.2498128Z             {
2026-06-04T17:23:03.2498670Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:23:03.2499085Z               "line": 49
2026-06-04T17:23:03.2499562Z             },
2026-06-04T17:23:03.2499961Z             {
2026-06-04T17:23:03.2500500Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:23:03.2500903Z               "line": 70
2026-06-04T17:23:03.2501303Z             }
2026-06-04T17:23:03.2501685Z           ]
2026-06-04T17:23:03.2502082Z         },
2026-06-04T17:23:03.2502471Z         "int": {
2026-06-04T17:23:03.2502914Z           "complete": false,
2026-06-04T17:23:03.2503342Z           "evidence": []
2026-06-04T17:23:03.2503803Z         },
2026-06-04T17:23:03.2504208Z         "unit": {
2026-06-04T17:23:03.2504635Z           "complete": true,
2026-06-04T17:23:03.2505059Z           "evidence": [
2026-06-04T17:23:03.2505444Z             {
2026-06-04T17:23:03.2505946Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2506366Z               "line": 3334
2026-06-04T17:23:03.2507008Z             },
2026-06-04T17:23:03.2507437Z             {
2026-06-04T17:23:03.2507938Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2508364Z               "line": 3351
2026-06-04T17:23:03.2508753Z             },
2026-06-04T17:23:03.2509147Z             {
2026-06-04T17:23:03.2509732Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:23:03.2510138Z               "line": 132
2026-06-04T17:23:03.2510528Z             },
2026-06-04T17:23:03.2510913Z             {
2026-06-04T17:23:03.2511452Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:23:03.2511861Z               "line": 141
2026-06-04T17:23:03.2512251Z             }
2026-06-04T17:23:03.2512640Z           ]
2026-06-04T17:23:03.2513024Z         }
2026-06-04T17:23:03.2513414Z       }
2026-06-04T17:23:03.2513799Z     },
2026-06-04T17:23:03.2514188Z     {
2026-06-04T17:23:03.2514619Z       "id": "REQ-PAIR-7",
2026-06-04T17:23:03.2515443Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T17:23:03.2516057Z       "requiredStages": [],
2026-06-04T17:23:03.2516460Z       "stages": {
2026-06-04T17:23:03.2516858Z         "doc": {
2026-06-04T17:23:03.2517283Z           "complete": false,
2026-06-04T17:23:03.2517708Z           "evidence": []
2026-06-04T17:23:03.2518094Z         },
2026-06-04T17:23:03.2518500Z         "impl": {
2026-06-04T17:23:03.2518937Z           "complete": false,
2026-06-04T17:23:03.2519392Z           "evidence": []
2026-06-04T17:23:03.2519790Z         },
2026-06-04T17:23:03.2520179Z         "int": {
2026-06-04T17:23:03.2520619Z           "complete": false,
2026-06-04T17:23:03.2521032Z           "evidence": []
2026-06-04T17:23:03.2521430Z         },
2026-06-04T17:23:03.2521833Z         "unit": {
2026-06-04T17:23:03.2522255Z           "complete": false,
2026-06-04T17:23:03.2522678Z           "evidence": []
2026-06-04T17:23:03.2523062Z         }
2026-06-04T17:23:03.2523455Z       }
2026-06-04T17:23:03.2523838Z     },
2026-06-04T17:23:03.2524237Z     {
2026-06-04T17:23:03.2524690Z       "id": "REQ-PRES-1",
2026-06-04T17:23:03.2532361Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-04T17:23:03.2532836Z       "requiredStages": [],
2026-06-04T17:23:03.2533236Z       "stages": {
2026-06-04T17:23:03.2533643Z         "doc": {
2026-06-04T17:23:03.2534085Z           "complete": false,
2026-06-04T17:23:03.2534500Z           "evidence": []
2026-06-04T17:23:03.2534891Z         },
2026-06-04T17:23:03.2535290Z         "impl": {
2026-06-04T17:23:03.2535727Z           "complete": false,
2026-06-04T17:23:03.2536139Z           "evidence": []
2026-06-04T17:23:03.2536567Z         },
2026-06-04T17:23:03.2536988Z         "int": {
2026-06-04T17:23:03.2537416Z           "complete": false,
2026-06-04T17:23:03.2537836Z           "evidence": []
2026-06-04T17:23:03.2538223Z         },
2026-06-04T17:23:03.2538629Z         "unit": {
2026-06-04T17:23:03.2539057Z           "complete": false,
2026-06-04T17:23:03.2539519Z           "evidence": []
2026-06-04T17:23:03.2539912Z         }
2026-06-04T17:23:03.2540299Z       }
2026-06-04T17:23:03.2540693Z     },
2026-06-04T17:23:03.2541070Z     {
2026-06-04T17:23:03.2541506Z       "id": "REQ-REACH-1",
2026-06-04T17:23:03.2542243Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T17:23:03.2542685Z       "requiredStages": [
2026-06-04T17:23:03.2543084Z         "impl",
2026-06-04T17:23:03.2543473Z         "unit",
2026-06-04T17:23:03.2543874Z         "int"
2026-06-04T17:23:03.2544255Z       ],
2026-06-04T17:23:03.2544658Z       "stages": {
2026-06-04T17:23:03.2545048Z         "doc": {
2026-06-04T17:23:03.2545503Z           "complete": false,
2026-06-04T17:23:03.2546100Z           "evidence": []
2026-06-04T17:23:03.2546504Z         },
2026-06-04T17:23:03.2546912Z         "impl": {
2026-06-04T17:23:03.2547342Z           "complete": true,
2026-06-04T17:23:03.2547768Z           "evidence": [
2026-06-04T17:23:03.2548155Z             {
2026-06-04T17:23:03.2548736Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:23:03.2549194Z               "line": 133
2026-06-04T17:23:03.2549589Z             },
2026-06-04T17:23:03.2549984Z             {
2026-06-04T17:23:03.2550531Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.2550950Z               "line": 76
2026-06-04T17:23:03.2551337Z             },
2026-06-04T17:23:03.2551728Z             {
2026-06-04T17:23:03.2552285Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.2552701Z               "line": 209
2026-06-04T17:23:03.2553100Z             },
2026-06-04T17:23:03.2553483Z             {
2026-06-04T17:23:03.2554222Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.2554635Z               "line": 386
2026-06-04T17:23:03.2555042Z             },
2026-06-04T17:23:03.2555434Z             {
2026-06-04T17:23:03.2555982Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.2556401Z               "line": 484
2026-06-04T17:23:03.2556791Z             },
2026-06-04T17:23:03.2557194Z             {
2026-06-04T17:23:03.2557738Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:23:03.2558151Z               "line": 39
2026-06-04T17:23:03.2558545Z             },
2026-06-04T17:23:03.2558929Z             {
2026-06-04T17:23:03.2559682Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.2560309Z               "line": 217
2026-06-04T17:23:03.2560718Z             },
2026-06-04T17:23:03.2561106Z             {
2026-06-04T17:23:03.2561655Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:23:03.2562071Z               "line": 82
2026-06-04T17:23:03.2562474Z             },
2026-06-04T17:23:03.2562878Z             {
2026-06-04T17:23:03.2563416Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:23:03.2563828Z               "line": 92
2026-06-04T17:23:03.2564215Z             },
2026-06-04T17:23:03.2564606Z             {
2026-06-04T17:23:03.2565191Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2565600Z               "line": 189
2026-06-04T17:23:03.2566027Z             }
2026-06-04T17:23:03.2566636Z           ]
2026-06-04T17:23:03.2567226Z         },
2026-06-04T17:23:03.2567848Z         "int": {
2026-06-04T17:23:03.2568394Z           "complete": true,
2026-06-04T17:23:03.2568890Z           "evidence": [
2026-06-04T17:23:03.2569571Z             {
2026-06-04T17:23:03.2570459Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.2570955Z               "line": 375
2026-06-04T17:23:03.2571546Z             },
2026-06-04T17:23:03.2571983Z             {
2026-06-04T17:23:03.2572723Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.2573198Z               "line": 478
2026-06-04T17:23:03.2573623Z             },
2026-06-04T17:23:03.2588313Z             {
2026-06-04T17:23:03.2589093Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2589748Z               "line": 661
2026-06-04T17:23:03.2590339Z             },
2026-06-04T17:23:03.2590746Z             {
2026-06-04T17:23:03.2591378Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.2591822Z               "line": 755
2026-06-04T17:23:03.2592271Z             }
2026-06-04T17:23:03.2592689Z           ]
2026-06-04T17:23:03.2593098Z         },
2026-06-04T17:23:03.2593520Z         "unit": {
2026-06-04T17:23:03.2593968Z           "complete": true,
2026-06-04T17:23:03.2594388Z           "evidence": [
2026-06-04T17:23:03.2594787Z             {
2026-06-04T17:23:03.2595390Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.2595847Z               "line": 585
2026-06-04T17:23:03.2596610Z             },
2026-06-04T17:23:03.2597066Z             {
2026-06-04T17:23:03.2597660Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:23:03.2598101Z               "line": 606
2026-06-04T17:23:03.2598497Z             },
2026-06-04T17:23:03.2598931Z             {
2026-06-04T17:23:03.2599781Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:23:03.2600373Z               "line": 337
2026-06-04T17:23:03.2600801Z             },
2026-06-04T17:23:03.2601221Z             {
2026-06-04T17:23:03.2601852Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T17:23:03.2602305Z               "line": 92
2026-06-04T17:23:03.2602731Z             },
2026-06-04T17:23:03.2603338Z             {
2026-06-04T17:23:03.2604024Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T17:23:03.2604535Z               "line": 176
2026-06-04T17:23:03.2604990Z             },
2026-06-04T17:23:03.2605453Z             {
2026-06-04T17:23:03.2606400Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:23:03.2606831Z               "line": 92
2026-06-04T17:23:03.2607240Z             },
2026-06-04T17:23:03.2607646Z             {
2026-06-04T17:23:03.2608220Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:23:03.2609016Z               "line": 123
2026-06-04T17:23:03.2609658Z             },
2026-06-04T17:23:03.2610063Z             {
2026-06-04T17:23:03.2610615Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.2611038Z               "line": 436
2026-06-04T17:23:03.2611421Z             },
2026-06-04T17:23:03.2611814Z             {
2026-06-04T17:23:03.2612359Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:23:03.2612783Z               "line": 112
2026-06-04T17:23:03.2613184Z             },
2026-06-04T17:23:03.2613573Z             {
2026-06-04T17:23:03.2614123Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:23:03.2614532Z               "line": 136
2026-06-04T17:23:03.2614958Z             },
2026-06-04T17:23:03.2615346Z             {
2026-06-04T17:23:03.2615933Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2616363Z               "line": 494
2026-06-04T17:23:03.2616757Z             }
2026-06-04T17:23:03.2617153Z           ]
2026-06-04T17:23:03.2617541Z         }
2026-06-04T17:23:03.2617941Z       }
2026-06-04T17:23:03.2618327Z     },
2026-06-04T17:23:03.2618720Z     {
2026-06-04T17:23:03.2619204Z       "id": "REQ-REACH-2",
2026-06-04T17:23:03.2620273Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T17:23:03.2620736Z       "requiredStages": [],
2026-06-04T17:23:03.2621142Z       "stages": {
2026-06-04T17:23:03.2621563Z         "doc": {
2026-06-04T17:23:03.2622031Z           "complete": false,
2026-06-04T17:23:03.2622463Z           "evidence": []
2026-06-04T17:23:03.2622863Z         },
2026-06-04T17:23:03.2623262Z         "impl": {
2026-06-04T17:23:03.2623701Z           "complete": false,
2026-06-04T17:23:03.2624143Z           "evidence": []
2026-06-04T17:23:03.2624540Z         },
2026-06-04T17:23:03.2624938Z         "int": {
2026-06-04T17:23:03.2625379Z           "complete": false,
2026-06-04T17:23:03.2625813Z           "evidence": []
2026-06-04T17:23:03.2626192Z         },
2026-06-04T17:23:03.2626591Z         "unit": {
2026-06-04T17:23:03.2627024Z           "complete": false,
2026-06-04T17:23:03.2627452Z           "evidence": []
2026-06-04T17:23:03.2627839Z         }
2026-06-04T17:23:03.2628236Z       }
2026-06-04T17:23:03.2628629Z     },
2026-06-04T17:23:03.2629008Z     {
2026-06-04T17:23:03.2629750Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T17:23:03.2630850Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T17:23:03.2631302Z       "requiredStages": [
2026-06-04T17:23:03.2631698Z         "impl",
2026-06-04T17:23:03.2632100Z         "unit"
2026-06-04T17:23:03.2632503Z       ],
2026-06-04T17:23:03.2632910Z       "stages": {
2026-06-04T17:23:03.2633331Z         "doc": {
2026-06-04T17:23:03.2633966Z           "complete": false,
2026-06-04T17:23:03.2634414Z           "evidence": []
2026-06-04T17:23:03.2634808Z         },
2026-06-04T17:23:03.2635215Z         "impl": {
2026-06-04T17:23:03.2635650Z           "complete": true,
2026-06-04T17:23:03.2636061Z           "evidence": [
2026-06-04T17:23:03.2636461Z             {
2026-06-04T17:23:03.2637024Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2637444Z               "line": 18
2026-06-04T17:23:03.2637834Z             },
2026-06-04T17:23:03.2638230Z             {
2026-06-04T17:23:03.2638797Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2639261Z               "line": 35
2026-06-04T17:23:03.2640002Z             },
2026-06-04T17:23:03.2640399Z             {
2026-06-04T17:23:03.2640969Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2641378Z               "line": 65
2026-06-04T17:23:03.2641776Z             }
2026-06-04T17:23:03.2642338Z           ]
2026-06-04T17:23:03.2642731Z         },
2026-06-04T17:23:03.2643135Z         "int": {
2026-06-04T17:23:03.2643568Z           "complete": false,
2026-06-04T17:23:03.2643995Z           "evidence": []
2026-06-04T17:23:03.2644382Z         },
2026-06-04T17:23:03.2644787Z         "unit": {
2026-06-04T17:23:03.2645220Z           "complete": true,
2026-06-04T17:23:03.2645634Z           "evidence": [
2026-06-04T17:23:03.2646028Z             {
2026-06-04T17:23:03.2646586Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2647011Z               "line": 194
2026-06-04T17:23:03.2647402Z             },
2026-06-04T17:23:03.2647802Z             {
2026-06-04T17:23:03.2648368Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2648783Z               "line": 208
2026-06-04T17:23:03.2649225Z             },
2026-06-04T17:23:03.2649807Z             {
2026-06-04T17:23:03.2650543Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2650980Z               "line": 217
2026-06-04T17:23:03.2651379Z             }
2026-06-04T17:23:03.2651771Z           ]
2026-06-04T17:23:03.2652155Z         }
2026-06-04T17:23:03.2652548Z       }
2026-06-04T17:23:03.2652933Z     },
2026-06-04T17:23:03.2653327Z     {
2026-06-04T17:23:03.2653799Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T17:23:03.2654538Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T17:23:03.2654993Z       "requiredStages": [
2026-06-04T17:23:03.2655389Z         "impl",
2026-06-04T17:23:03.2655785Z         "unit"
2026-06-04T17:23:03.2656166Z       ],
2026-06-04T17:23:03.2656574Z       "stages": {
2026-06-04T17:23:03.2656967Z         "doc": {
2026-06-04T17:23:03.2657406Z           "complete": false,
2026-06-04T17:23:03.2657829Z           "evidence": []
2026-06-04T17:23:03.2658234Z         },
2026-06-04T17:23:03.2658632Z         "impl": {
2026-06-04T17:23:03.2659073Z           "complete": true,
2026-06-04T17:23:03.2659711Z           "evidence": [
2026-06-04T17:23:03.2660363Z             {
2026-06-04T17:23:03.2660965Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2661382Z               "line": 322
2026-06-04T17:23:03.2668295Z             }
2026-06-04T17:23:03.2668804Z           ]
2026-06-04T17:23:03.2669341Z         },
2026-06-04T17:23:03.2670114Z         "int": {
2026-06-04T17:23:03.2670579Z           "complete": false,
2026-06-04T17:23:03.2670999Z           "evidence": []
2026-06-04T17:23:03.2671400Z         },
2026-06-04T17:23:03.2671816Z         "unit": {
2026-06-04T17:23:03.2672253Z           "complete": true,
2026-06-04T17:23:03.2672677Z           "evidence": [
2026-06-04T17:23:03.2673066Z             {
2026-06-04T17:23:03.2673660Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2674082Z               "line": 527
2026-06-04T17:23:03.2674483Z             }
2026-06-04T17:23:03.2674882Z           ]
2026-06-04T17:23:03.2675268Z         }
2026-06-04T17:23:03.2675665Z       }
2026-06-04T17:23:03.2676095Z     },
2026-06-04T17:23:03.2676744Z     {
2026-06-04T17:23:03.2677223Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T17:23:03.2678159Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T17:23:03.2678611Z       "requiredStages": [
2026-06-04T17:23:03.2679008Z         "impl",
2026-06-04T17:23:03.2679642Z         "unit",
2026-06-04T17:23:03.2680208Z         "int"
2026-06-04T17:23:03.2680612Z       ],
2026-06-04T17:23:03.2681014Z       "stages": {
2026-06-04T17:23:03.2681420Z         "doc": {
2026-06-04T17:23:03.2681862Z           "complete": false,
2026-06-04T17:23:03.2682282Z           "evidence": []
2026-06-04T17:23:03.2682682Z         },
2026-06-04T17:23:03.2683076Z         "impl": {
2026-06-04T17:23:03.2683517Z           "complete": true,
2026-06-04T17:23:03.2683931Z           "evidence": [
2026-06-04T17:23:03.2684327Z             {
2026-06-04T17:23:03.2684874Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:03.2685283Z               "line": 24
2026-06-04T17:23:03.2685854Z             },
2026-06-04T17:23:03.2686248Z             {
2026-06-04T17:23:03.2686821Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2687228Z               "line": 22
2026-06-04T17:23:03.2687627Z             }
2026-06-04T17:23:03.2688021Z           ]
2026-06-04T17:23:03.2688404Z         },
2026-06-04T17:23:03.2688813Z         "int": {
2026-06-04T17:23:03.2689297Z           "complete": true,
2026-06-04T17:23:03.2690066Z           "evidence": [
2026-06-04T17:23:03.2690462Z             {
2026-06-04T17:23:03.2691058Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:03.2691480Z               "line": 202
2026-06-04T17:23:03.2691871Z             }
2026-06-04T17:23:03.2692268Z           ]
2026-06-04T17:23:03.2692655Z         },
2026-06-04T17:23:03.2693062Z         "unit": {
2026-06-04T17:23:03.2693495Z           "complete": true,
2026-06-04T17:23:03.2693917Z           "evidence": [
2026-06-04T17:23:03.2694312Z             {
2026-06-04T17:23:03.2694875Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:03.2695299Z               "line": 163
2026-06-04T17:23:03.2695692Z             },
2026-06-04T17:23:03.2696088Z             {
2026-06-04T17:23:03.2696614Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:03.2697042Z               "line": 186
2026-06-04T17:23:03.2697445Z             },
2026-06-04T17:23:03.2697830Z             {
2026-06-04T17:23:03.2698369Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:23:03.2698782Z               "line": 195
2026-06-04T17:23:03.2699224Z             },
2026-06-04T17:23:03.2699801Z             {
2026-06-04T17:23:03.2700558Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2700982Z               "line": 195
2026-06-04T17:23:03.2701371Z             },
2026-06-04T17:23:03.2701768Z             {
2026-06-04T17:23:03.2702329Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2702755Z               "line": 209
2026-06-04T17:23:03.2703184Z             },
2026-06-04T17:23:03.2703575Z             {
2026-06-04T17:23:03.2704142Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2704551Z               "line": 228
2026-06-04T17:23:03.2704955Z             },
2026-06-04T17:23:03.2705338Z             {
2026-06-04T17:23:03.2705902Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2706326Z               "line": 248
2026-06-04T17:23:03.2706711Z             },
2026-06-04T17:23:03.2707114Z             {
2026-06-04T17:23:03.2707661Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2708081Z               "line": 264
2026-06-04T17:23:03.2708472Z             },
2026-06-04T17:23:03.2708876Z             {
2026-06-04T17:23:03.2709472Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:23:03.2709894Z               "line": 279
2026-06-04T17:23:03.2710292Z             }
2026-06-04T17:23:03.2710680Z           ]
2026-06-04T17:23:03.2711092Z         }
2026-06-04T17:23:03.2711632Z       }
2026-06-04T17:23:03.2712044Z     },
2026-06-04T17:23:03.2712433Z     {
2026-06-04T17:23:03.2712879Z       "id": "REQ-SEAM-INJECT",
2026-06-04T17:23:03.2713698Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T17:23:03.2714137Z       "requiredStages": [
2026-06-04T17:23:03.2714543Z         "impl",
2026-06-04T17:23:03.2714941Z         "unit"
2026-06-04T17:23:03.2715335Z       ],
2026-06-04T17:23:03.2715744Z       "stages": {
2026-06-04T17:23:03.2716138Z         "doc": {
2026-06-04T17:23:03.2716582Z           "complete": false,
2026-06-04T17:23:03.2717003Z           "evidence": []
2026-06-04T17:23:03.2717409Z         },
2026-06-04T17:23:03.2717805Z         "impl": {
2026-06-04T17:23:03.2718248Z           "complete": true,
2026-06-04T17:23:03.2718678Z           "evidence": [
2026-06-04T17:23:03.2719071Z             {
2026-06-04T17:23:03.2719988Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2720605Z               "line": 19
2026-06-04T17:23:03.2721028Z             },
2026-06-04T17:23:03.2721421Z             {
2026-06-04T17:23:03.2721994Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2722420Z               "line": 104
2026-06-04T17:23:03.2722812Z             }
2026-06-04T17:23:03.2723207Z           ]
2026-06-04T17:23:03.2723596Z         },
2026-06-04T17:23:03.2724000Z         "int": {
2026-06-04T17:23:03.2724430Z           "complete": false,
2026-06-04T17:23:03.2724859Z           "evidence": []
2026-06-04T17:23:03.2725258Z         },
2026-06-04T17:23:03.2725650Z         "unit": {
2026-06-04T17:23:03.2726086Z           "complete": true,
2026-06-04T17:23:03.2726504Z           "evidence": [
2026-06-04T17:23:03.2726902Z             {
2026-06-04T17:23:03.2727458Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2727885Z               "line": 246
2026-06-04T17:23:03.2728291Z             },
2026-06-04T17:23:03.2728675Z             {
2026-06-04T17:23:03.2729303Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2729728Z               "line": 260
2026-06-04T17:23:03.2730124Z             }
2026-06-04T17:23:03.2730513Z           ]
2026-06-04T17:23:03.2730914Z         }
2026-06-04T17:23:03.2731310Z       }
2026-06-04T17:23:03.2731687Z     },
2026-06-04T17:23:03.2732076Z     {
2026-06-04T17:23:03.2732545Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T17:23:03.2733213Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T17:23:03.2733652Z       "requiredStages": [
2026-06-04T17:23:03.2734060Z         "impl",
2026-06-04T17:23:03.2734468Z         "unit"
2026-06-04T17:23:03.2734854Z       ],
2026-06-04T17:23:03.2735264Z       "stages": {
2026-06-04T17:23:03.2735656Z         "doc": {
2026-06-04T17:23:03.2736092Z           "complete": false,
2026-06-04T17:23:03.2736507Z           "evidence": []
2026-06-04T17:23:03.2736903Z         },
2026-06-04T17:23:03.2737313Z         "impl": {
2026-06-04T17:23:03.2737742Z           "complete": true,
2026-06-04T17:23:03.2738192Z           "evidence": [
2026-06-04T17:23:03.2738586Z             {
2026-06-04T17:23:03.2739152Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.2739609Z               "line": 18
2026-06-04T17:23:03.2740012Z             },
2026-06-04T17:23:03.2740412Z             {
2026-06-04T17:23:03.2740963Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.2741385Z               "line": 304
2026-06-04T17:23:03.2746503Z             }
2026-06-04T17:23:03.2747005Z           ]
2026-06-04T17:23:03.2747397Z         },
2026-06-04T17:23:03.2747812Z         "int": {
2026-06-04T17:23:03.2748262Z           "complete": false,
2026-06-04T17:23:03.2748681Z           "evidence": []
2026-06-04T17:23:03.2749081Z         },
2026-06-04T17:23:03.2749573Z         "unit": {
2026-06-04T17:23:03.2750017Z           "complete": true,
2026-06-04T17:23:03.2750425Z           "evidence": [
2026-06-04T17:23:03.2750821Z             {
2026-06-04T17:23:03.2751639Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.2752098Z               "line": 526
2026-06-04T17:23:03.2752504Z             },
2026-06-04T17:23:03.2752892Z             {
2026-06-04T17:23:03.2753454Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.2753867Z               "line": 536
2026-06-04T17:23:03.2754259Z             }
2026-06-04T17:23:03.2754653Z           ]
2026-06-04T17:23:03.2755039Z         }
2026-06-04T17:23:03.2755431Z       }
2026-06-04T17:23:03.2755813Z     },
2026-06-04T17:23:03.2756203Z     {
2026-06-04T17:23:03.2756657Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T17:23:03.2757367Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T17:23:03.2757807Z       "requiredStages": [
2026-06-04T17:23:03.2758198Z         "impl",
2026-06-04T17:23:03.2758603Z         "unit",
2026-06-04T17:23:03.2758991Z         "int"
2026-06-04T17:23:03.2759420Z       ],
2026-06-04T17:23:03.2759821Z       "stages": {
2026-06-04T17:23:03.2760223Z         "doc": {
2026-06-04T17:23:03.2760840Z           "complete": false,
2026-06-04T17:23:03.2761259Z           "evidence": []
2026-06-04T17:23:03.2761659Z         },
2026-06-04T17:23:03.2762053Z         "impl": {
2026-06-04T17:23:03.2762489Z           "complete": true,
2026-06-04T17:23:03.2762898Z           "evidence": [
2026-06-04T17:23:03.2763292Z             {
2026-06-04T17:23:03.2763856Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:23:03.2764263Z               "line": 19
2026-06-04T17:23:03.2764661Z             },
2026-06-04T17:23:03.2765050Z             {
2026-06-04T17:23:03.2765586Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T17:23:03.2765990Z               "line": 12
2026-06-04T17:23:03.2766384Z             },
2026-06-04T17:23:03.2766778Z             {
2026-06-04T17:23:03.2767322Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.2767747Z               "line": 204
2026-06-04T17:23:03.2768133Z             }
2026-06-04T17:23:03.2768523Z           ]
2026-06-04T17:23:03.2768936Z         },
2026-06-04T17:23:03.2769378Z         "int": {
2026-06-04T17:23:03.2769816Z           "complete": true,
2026-06-04T17:23:03.2770235Z           "evidence": [
2026-06-04T17:23:03.2770627Z             {
2026-06-04T17:23:03.2771198Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:03.2771618Z               "line": 201
2026-06-04T17:23:03.2772005Z             }
2026-06-04T17:23:03.2772405Z           ]
2026-06-04T17:23:03.2772804Z         },
2026-06-04T17:23:03.2773198Z         "unit": {
2026-06-04T17:23:03.2773634Z           "complete": true,
2026-06-04T17:23:03.2774046Z           "evidence": [
2026-06-04T17:23:03.2774439Z             {
2026-06-04T17:23:03.2774990Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:23:03.2775413Z               "line": 161
2026-06-04T17:23:03.2775807Z             },
2026-06-04T17:23:03.2776189Z             {
2026-06-04T17:23:03.2776743Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:23:03.2777182Z               "line": 168
2026-06-04T17:23:03.2777580Z             },
2026-06-04T17:23:03.2777965Z             {
2026-06-04T17:23:03.2778520Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:23:03.2778945Z               "line": 191
2026-06-04T17:23:03.2779369Z             },
2026-06-04T17:23:03.2779770Z             {
2026-06-04T17:23:03.2780310Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T17:23:03.2780726Z               "line": 106
2026-06-04T17:23:03.2781111Z             },
2026-06-04T17:23:03.2781513Z             {
2026-06-04T17:23:03.2782060Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T17:23:03.2782472Z               "line": 123
2026-06-04T17:23:03.2782865Z             },
2026-06-04T17:23:03.2783251Z             {
2026-06-04T17:23:03.2783799Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T17:23:03.2784208Z               "line": 137
2026-06-04T17:23:03.2784602Z             }
2026-06-04T17:23:03.2785012Z           ]
2026-06-04T17:23:03.2785542Z         }
2026-06-04T17:23:03.2785951Z       }
2026-06-04T17:23:03.2786333Z     },
2026-06-04T17:23:03.2786725Z     {
2026-06-04T17:23:03.2787167Z       "id": "REQ-SEAM-RESUME",
2026-06-04T17:23:03.2788109Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T17:23:03.2788554Z       "requiredStages": [
2026-06-04T17:23:03.2788944Z         "impl",
2026-06-04T17:23:03.2789383Z         "unit"
2026-06-04T17:23:03.2789770Z       ],
2026-06-04T17:23:03.2790177Z       "stages": {
2026-06-04T17:23:03.2790567Z         "doc": {
2026-06-04T17:23:03.2791008Z           "complete": false,
2026-06-04T17:23:03.2791432Z           "evidence": []
2026-06-04T17:23:03.2791816Z         },
2026-06-04T17:23:03.2792214Z         "impl": {
2026-06-04T17:23:03.2792639Z           "complete": true,
2026-06-04T17:23:03.2793056Z           "evidence": [
2026-06-04T17:23:03.2793439Z             {
2026-06-04T17:23:03.2794003Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:23:03.2794582Z               "line": 19
2026-06-04T17:23:03.2794967Z             }
2026-06-04T17:23:03.2795365Z           ]
2026-06-04T17:23:03.2795753Z         },
2026-06-04T17:23:03.2796154Z         "int": {
2026-06-04T17:23:03.2796586Z           "complete": false,
2026-06-04T17:23:03.2797013Z           "evidence": []
2026-06-04T17:23:03.2797404Z         },
2026-06-04T17:23:03.2797798Z         "unit": {
2026-06-04T17:23:03.2798230Z           "complete": true,
2026-06-04T17:23:03.2798638Z           "evidence": [
2026-06-04T17:23:03.2799034Z             {
2026-06-04T17:23:03.2799622Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:23:03.2800047Z               "line": 168
2026-06-04T17:23:03.2800446Z             },
2026-06-04T17:23:03.2800834Z             {
2026-06-04T17:23:03.2801392Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:23:03.2801803Z               "line": 187
2026-06-04T17:23:03.2802199Z             },
2026-06-04T17:23:03.2802602Z             {
2026-06-04T17:23:03.2803171Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:23:03.2803589Z               "line": 205
2026-06-04T17:23:03.2803976Z             }
2026-06-04T17:23:03.2804372Z           ]
2026-06-04T17:23:03.2804756Z         }
2026-06-04T17:23:03.2805148Z       }
2026-06-04T17:23:03.2805530Z     },
2026-06-04T17:23:03.2805918Z     {
2026-06-04T17:23:03.2806367Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T17:23:03.2806826Z       "title": "spawn-session seam",
2026-06-04T17:23:03.2807267Z       "requiredStages": [
2026-06-04T17:23:03.2807661Z         "impl",
2026-06-04T17:23:03.2808057Z         "unit"
2026-06-04T17:23:03.2808435Z       ],
2026-06-04T17:23:03.2808839Z       "stages": {
2026-06-04T17:23:03.2809272Z         "doc": {
2026-06-04T17:23:03.2809702Z           "complete": false,
2026-06-04T17:23:03.2810125Z           "evidence": []
2026-06-04T17:23:03.2810513Z         },
2026-06-04T17:23:03.2810914Z         "impl": {
2026-06-04T17:23:03.2811335Z           "complete": true,
2026-06-04T17:23:03.2811780Z           "evidence": [
2026-06-04T17:23:03.2812174Z             {
2026-06-04T17:23:03.2812769Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2813184Z               "line": 20
2026-06-04T17:23:03.2813570Z             }
2026-06-04T17:23:03.2813968Z           ]
2026-06-04T17:23:03.2814354Z         },
2026-06-04T17:23:03.2814757Z         "int": {
2026-06-04T17:23:03.2815199Z           "complete": false,
2026-06-04T17:23:03.2815610Z           "evidence": []
2026-06-04T17:23:03.2815998Z         },
2026-06-04T17:23:03.2816394Z         "unit": {
2026-06-04T17:23:03.2821379Z           "complete": true,
2026-06-04T17:23:03.2821905Z           "evidence": [
2026-06-04T17:23:03.2822307Z             {
2026-06-04T17:23:03.2822919Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2823339Z               "line": 397
2026-06-04T17:23:03.2823733Z             },
2026-06-04T17:23:03.2824130Z             {
2026-06-04T17:23:03.2825001Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2825439Z               "line": 404
2026-06-04T17:23:03.2825836Z             },
2026-06-04T17:23:03.2826229Z             {
2026-06-04T17:23:03.2826808Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2827228Z               "line": 414
2026-06-04T17:23:03.2827615Z             },
2026-06-04T17:23:03.2828008Z             {
2026-06-04T17:23:03.2828588Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2829010Z               "line": 420
2026-06-04T17:23:03.2829465Z             },
2026-06-04T17:23:03.2829855Z             {
2026-06-04T17:23:03.2830446Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2830859Z               "line": 440
2026-06-04T17:23:03.2831252Z             },
2026-06-04T17:23:03.2831634Z             {
2026-06-04T17:23:03.2832228Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:23:03.2832808Z               "line": 473
2026-06-04T17:23:03.2833212Z             }
2026-06-04T17:23:03.2833603Z           ]
2026-06-04T17:23:03.2833992Z         }
2026-06-04T17:23:03.2834381Z       }
2026-06-04T17:23:03.2834762Z     },
2026-06-04T17:23:03.2835147Z     {
2026-06-04T17:23:03.2835603Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T17:23:03.2836416Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T17:23:03.2836863Z       "requiredStages": [
2026-06-04T17:23:03.2837255Z         "impl",
2026-06-04T17:23:03.2837654Z         "unit"
2026-06-04T17:23:03.2838043Z       ],
2026-06-04T17:23:03.2838447Z       "stages": {
2026-06-04T17:23:03.2838846Z         "doc": {
2026-06-04T17:23:03.2839309Z           "complete": false,
2026-06-04T17:23:03.2839735Z           "evidence": []
2026-06-04T17:23:03.2840137Z         },
2026-06-04T17:23:03.2840605Z         "impl": {
2026-06-04T17:23:03.2841074Z           "complete": true,
2026-06-04T17:23:03.2841491Z           "evidence": [
2026-06-04T17:23:03.2841903Z             {
2026-06-04T17:23:03.2842570Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.2842993Z               "line": 28
2026-06-04T17:23:03.2843373Z             },
2026-06-04T17:23:03.2843770Z             {
2026-06-04T17:23:03.2844408Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.2844825Z               "line": 83
2026-06-04T17:23:03.2845217Z             }
2026-06-04T17:23:03.2845601Z           ]
2026-06-04T17:23:03.2845994Z         },
2026-06-04T17:23:03.2846383Z         "int": {
2026-06-04T17:23:03.2846815Z           "complete": false,
2026-06-04T17:23:03.2847230Z           "evidence": []
2026-06-04T17:23:03.2847625Z         },
2026-06-04T17:23:03.2848028Z         "unit": {
2026-06-04T17:23:03.2848457Z           "complete": true,
2026-06-04T17:23:03.2848876Z           "evidence": [
2026-06-04T17:23:03.2849311Z             {
2026-06-04T17:23:03.2850282Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.2850727Z               "line": 270
2026-06-04T17:23:03.2851127Z             },
2026-06-04T17:23:03.2851520Z             {
2026-06-04T17:23:03.2852168Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.2852584Z               "line": 281
2026-06-04T17:23:03.2852969Z             }
2026-06-04T17:23:03.2853369Z           ]
2026-06-04T17:23:03.2853755Z         }
2026-06-04T17:23:03.2854147Z       }
2026-06-04T17:23:03.2854535Z     },
2026-06-04T17:23:03.2854916Z     {
2026-06-04T17:23:03.2855340Z       "id": "REQ-SEC-1",
2026-06-04T17:23:03.2857496Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T17:23:03.2857939Z       "requiredStages": [
2026-06-04T17:23:03.2858339Z         "impl",
2026-06-04T17:23:03.2858723Z         "unit"
2026-06-04T17:23:03.2859116Z       ],
2026-06-04T17:23:03.2859565Z       "stages": {
2026-06-04T17:23:03.2859975Z         "doc": {
2026-06-04T17:23:03.2860605Z           "complete": false,
2026-06-04T17:23:03.2861068Z           "evidence": []
2026-06-04T17:23:03.2861463Z         },
2026-06-04T17:23:03.2861860Z         "impl": {
2026-06-04T17:23:03.2862294Z           "complete": true,
2026-06-04T17:23:03.2862706Z           "evidence": [
2026-06-04T17:23:03.2863103Z             {
2026-06-04T17:23:03.2863681Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.2864098Z               "line": 84
2026-06-04T17:23:03.2864495Z             },
2026-06-04T17:23:03.2864876Z             {
2026-06-04T17:23:03.2865453Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.2865866Z               "line": 114
2026-06-04T17:23:03.2866259Z             },
2026-06-04T17:23:03.2866640Z             {
2026-06-04T17:23:03.2867215Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.2867644Z               "line": 128
2026-06-04T17:23:03.2868034Z             },
2026-06-04T17:23:03.2868614Z             {
2026-06-04T17:23:03.2869231Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2869665Z               "line": 108
2026-06-04T17:23:03.2870053Z             },
2026-06-04T17:23:03.2870447Z             {
2026-06-04T17:23:03.2871004Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2871414Z               "line": 129
2026-06-04T17:23:03.2871809Z             },
2026-06-04T17:23:03.2872194Z             {
2026-06-04T17:23:03.2872753Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2873169Z               "line": 142
2026-06-04T17:23:03.2873559Z             },
2026-06-04T17:23:03.2873951Z             {
2026-06-04T17:23:03.2874506Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2874923Z               "line": 208
2026-06-04T17:23:03.2875310Z             },
2026-06-04T17:23:03.2875706Z             {
2026-06-04T17:23:03.2876266Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2876704Z               "line": 234
2026-06-04T17:23:03.2877110Z             },
2026-06-04T17:23:03.2877499Z             {
2026-06-04T17:23:03.2878005Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2878418Z               "line": 1378
2026-06-04T17:23:03.2878819Z             }
2026-06-04T17:23:03.2879242Z           ]
2026-06-04T17:23:03.2879648Z         },
2026-06-04T17:23:03.2880063Z         "int": {
2026-06-04T17:23:03.2880495Z           "complete": false,
2026-06-04T17:23:03.2880926Z           "evidence": []
2026-06-04T17:23:03.2881313Z         },
2026-06-04T17:23:03.2881719Z         "unit": {
2026-06-04T17:23:03.2882143Z           "complete": true,
2026-06-04T17:23:03.2882566Z           "evidence": [
2026-06-04T17:23:03.2882963Z             {
2026-06-04T17:23:03.2883536Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.2883958Z               "line": 140
2026-06-04T17:23:03.2884347Z             },
2026-06-04T17:23:03.2884744Z             {
2026-06-04T17:23:03.2885336Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.2885755Z               "line": 186
2026-06-04T17:23:03.2886158Z             },
2026-06-04T17:23:03.2886544Z             {
2026-06-04T17:23:03.2887120Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:23:03.2887530Z               "line": 218
2026-06-04T17:23:03.2887927Z             },
2026-06-04T17:23:03.2888311Z             {
2026-06-04T17:23:03.2888897Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T17:23:03.2889356Z               "line": 128
2026-06-04T17:23:03.2890073Z             },
2026-06-04T17:23:03.2890473Z             {
2026-06-04T17:23:03.2891042Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2891661Z               "line": 248
2026-06-04T17:23:03.2892134Z             },
2026-06-04T17:23:03.2892635Z             {
2026-06-04T17:23:03.2893330Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2893844Z               "line": 275
2026-06-04T17:23:03.2894544Z             },
2026-06-04T17:23:03.2894992Z             {
2026-06-04T17:23:03.2895583Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2896021Z               "line": 299
2026-06-04T17:23:03.2896428Z             },
2026-06-04T17:23:03.2902484Z             {
2026-06-04T17:23:03.2903198Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2903638Z               "line": 310
2026-06-04T17:23:03.2904044Z             },
2026-06-04T17:23:03.2904444Z             {
2026-06-04T17:23:03.2905020Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2905448Z               "line": 334
2026-06-04T17:23:03.2905854Z             },
2026-06-04T17:23:03.2906243Z             {
2026-06-04T17:23:03.2906811Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:23:03.2907231Z               "line": 350
2026-06-04T17:23:03.2907630Z             },
2026-06-04T17:23:03.2908037Z             {
2026-06-04T17:23:03.2908865Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2909365Z               "line": 2436
2026-06-04T17:23:03.2909760Z             }
2026-06-04T17:23:03.2910157Z           ]
2026-06-04T17:23:03.2910542Z         }
2026-06-04T17:23:03.2910944Z       }
2026-06-04T17:23:03.2911334Z     },
2026-06-04T17:23:03.2911717Z     {
2026-06-04T17:23:03.2912155Z       "id": "REQ-SHELL-1",
2026-06-04T17:23:03.2917526Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-04T17:23:03.2917984Z       "requiredStages": [
2026-06-04T17:23:03.2918394Z         "impl",
2026-06-04T17:23:03.2918792Z         "unit"
2026-06-04T17:23:03.2919215Z       ],
2026-06-04T17:23:03.2919629Z       "stages": {
2026-06-04T17:23:03.2920055Z         "doc": {
2026-06-04T17:23:03.2920501Z           "complete": false,
2026-06-04T17:23:03.2920924Z           "evidence": []
2026-06-04T17:23:03.2921327Z         },
2026-06-04T17:23:03.2921726Z         "impl": {
2026-06-04T17:23:03.2922175Z           "complete": true,
2026-06-04T17:23:03.2922600Z           "evidence": [
2026-06-04T17:23:03.2923000Z             {
2026-06-04T17:23:03.2923608Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2924032Z               "line": 27
2026-06-04T17:23:03.2924434Z             },
2026-06-04T17:23:03.2924823Z             {
2026-06-04T17:23:03.2925431Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2925839Z               "line": 52
2026-06-04T17:23:03.2926237Z             },
2026-06-04T17:23:03.2926628Z             {
2026-06-04T17:23:03.2927229Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2927653Z               "line": 118
2026-06-04T17:23:03.2928040Z             },
2026-06-04T17:23:03.2928467Z             {
2026-06-04T17:23:03.2929065Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2929533Z               "line": 150
2026-06-04T17:23:03.2929926Z             },
2026-06-04T17:23:03.2930325Z             {
2026-06-04T17:23:03.2930944Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2931356Z               "line": 22
2026-06-04T17:23:03.2931757Z             },
2026-06-04T17:23:03.2932148Z             {
2026-06-04T17:23:03.2932758Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2933167Z               "line": 64
2026-06-04T17:23:03.2933565Z             },
2026-06-04T17:23:03.2933965Z             {
2026-06-04T17:23:03.2934572Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2934994Z               "line": 75
2026-06-04T17:23:03.2935381Z             },
2026-06-04T17:23:03.2935777Z             {
2026-06-04T17:23:03.2936381Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2936986Z               "line": 139
2026-06-04T17:23:03.2937400Z             },
2026-06-04T17:23:03.2937789Z             {
2026-06-04T17:23:03.2938406Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2938822Z               "line": 188
2026-06-04T17:23:03.2939276Z             },
2026-06-04T17:23:03.2939682Z             {
2026-06-04T17:23:03.2940307Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2940739Z               "line": 225
2026-06-04T17:23:03.2941130Z             },
2026-06-04T17:23:03.2941536Z             {
2026-06-04T17:23:03.2942145Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2942574Z               "line": 246
2026-06-04T17:23:03.2942979Z             },
2026-06-04T17:23:03.2943374Z             {
2026-06-04T17:23:03.2943990Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2944415Z               "line": 259
2026-06-04T17:23:03.2944968Z             },
2026-06-04T17:23:03.2945384Z             {
2026-06-04T17:23:03.2945971Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.2946403Z               "line": 185
2026-06-04T17:23:03.2946801Z             },
2026-06-04T17:23:03.2947208Z             {
2026-06-04T17:23:03.2947768Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.2948191Z               "line": 201
2026-06-04T17:23:03.2948623Z             },
2026-06-04T17:23:03.2949025Z             {
2026-06-04T17:23:03.2949674Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:03.2950094Z               "line": 41
2026-06-04T17:23:03.2950496Z             },
2026-06-04T17:23:03.2950886Z             {
2026-06-04T17:23:03.2951496Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:03.2951912Z               "line": 204
2026-06-04T17:23:03.2952324Z             },
2026-06-04T17:23:03.2952726Z             {
2026-06-04T17:23:03.2953309Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:23:03.2953759Z               "line": 142
2026-06-04T17:23:03.2954164Z             },
2026-06-04T17:23:03.2954563Z             {
2026-06-04T17:23:03.2955098Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:03.2955535Z               "line": 272
2026-06-04T17:23:03.2955939Z             },
2026-06-04T17:23:03.2956333Z             {
2026-06-04T17:23:03.2956869Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:23:03.2957292Z               "line": 303
2026-06-04T17:23:03.2957702Z             },
2026-06-04T17:23:03.2958096Z             {
2026-06-04T17:23:03.2958692Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.2959124Z               "line": 240
2026-06-04T17:23:03.2959564Z             },
2026-06-04T17:23:03.2959968Z             {
2026-06-04T17:23:03.2960474Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2960905Z               "line": 1858
2026-06-04T17:23:03.2961318Z             },
2026-06-04T17:23:03.2961731Z             {
2026-06-04T17:23:03.2962254Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2962679Z               "line": 1947
2026-06-04T17:23:03.2963082Z             },
2026-06-04T17:23:03.2963474Z             {
2026-06-04T17:23:03.2963996Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2964425Z               "line": 1979
2026-06-04T17:23:03.2964831Z             }
2026-06-04T17:23:03.2965236Z           ]
2026-06-04T17:23:03.2965629Z         },
2026-06-04T17:23:03.2966040Z         "int": {
2026-06-04T17:23:03.2966471Z           "complete": true,
2026-06-04T17:23:03.2966900Z           "evidence": [
2026-06-04T17:23:03.2967292Z             {
2026-06-04T17:23:03.2967935Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-04T17:23:03.2968356Z               "line": 8
2026-06-04T17:23:03.2968750Z             },
2026-06-04T17:23:03.2969152Z             {
2026-06-04T17:23:03.2969836Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-04T17:23:03.2970439Z               "line": 46
2026-06-04T17:23:03.2970842Z             }
2026-06-04T17:23:03.2971247Z           ]
2026-06-04T17:23:03.2971650Z         },
2026-06-04T17:23:03.2972056Z         "unit": {
2026-06-04T17:23:03.2972508Z           "complete": true,
2026-06-04T17:23:03.2972934Z           "evidence": [
2026-06-04T17:23:03.2973341Z             {
2026-06-04T17:23:03.2973950Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2974384Z               "line": 217
2026-06-04T17:23:03.2974787Z             },
2026-06-04T17:23:03.2975175Z             {
2026-06-04T17:23:03.2975796Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2976218Z               "line": 244
2026-06-04T17:23:03.2976628Z             },
2026-06-04T17:23:03.2977026Z             {
2026-06-04T17:23:03.2977635Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:23:03.2978056Z               "line": 268
2026-06-04T17:23:03.2978594Z             },
2026-06-04T17:23:03.2979007Z             {
2026-06-04T17:23:03.2979671Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2980101Z               "line": 320
2026-06-04T17:23:03.2980508Z             },
2026-06-04T17:23:03.2980895Z             {
2026-06-04T17:23:03.2986170Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2986719Z               "line": 384
2026-06-04T17:23:03.2987123Z             },
2026-06-04T17:23:03.2987518Z             {
2026-06-04T17:23:03.2988140Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:23:03.2988565Z               "line": 402
2026-06-04T17:23:03.2988961Z             },
2026-06-04T17:23:03.2989454Z             {
2026-06-04T17:23:03.2990019Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.2990447Z               "line": 524
2026-06-04T17:23:03.2990841Z             },
2026-06-04T17:23:03.2991243Z             {
2026-06-04T17:23:03.2991902Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:23:03.2992315Z               "line": 343
2026-06-04T17:23:03.2992720Z             },
2026-06-04T17:23:03.2993112Z             {
2026-06-04T17:23:03.2993620Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2994042Z               "line": 2651
2026-06-04T17:23:03.2994447Z             },
2026-06-04T17:23:03.2994847Z             {
2026-06-04T17:23:03.2995346Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2995768Z               "line": 2704
2026-06-04T17:23:03.2996161Z             },
2026-06-04T17:23:03.2996559Z             {
2026-06-04T17:23:03.2997056Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.2997485Z               "line": 3017
2026-06-04T17:23:03.2997882Z             }
2026-06-04T17:23:03.2998276Z           ]
2026-06-04T17:23:03.2998678Z         }
2026-06-04T17:23:03.2999067Z       }
2026-06-04T17:23:03.2999493Z     },
2026-06-04T17:23:03.2999880Z     {
2026-06-04T17:23:03.3000340Z       "id": "REQ-SHELL-2",
2026-06-04T17:23:03.3008730Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-04T17:23:03.3009239Z       "requiredStages": [],
2026-06-04T17:23:03.3009664Z       "stages": {
2026-06-04T17:23:03.3010078Z         "doc": {
2026-06-04T17:23:03.3010523Z           "complete": false,
2026-06-04T17:23:03.3010957Z           "evidence": []
2026-06-04T17:23:03.3011351Z         },
2026-06-04T17:23:03.3011780Z         "impl": {
2026-06-04T17:23:03.3012553Z           "complete": false,
2026-06-04T17:23:03.3013201Z           "evidence": []
2026-06-04T17:23:03.3014622Z         },
2026-06-04T17:23:03.3016019Z         "int": {
2026-06-04T17:23:03.3017104Z           "complete": false,
2026-06-04T17:23:03.3018397Z           "evidence": []
2026-06-04T17:23:03.3019895Z         },
2026-06-04T17:23:03.3021065Z         "unit": {
2026-06-04T17:23:03.3022249Z           "complete": false,
2026-06-04T17:23:03.3023522Z           "evidence": []
2026-06-04T17:23:03.3025425Z         }
2026-06-04T17:23:03.3026387Z       }
2026-06-04T17:23:03.3027324Z     },
2026-06-04T17:23:03.3028594Z     {
2026-06-04T17:23:03.3029853Z       "id": "REQ-START-1",
2026-06-04T17:23:03.3031761Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T17:23:03.3033987Z       "requiredStages": [
2026-06-04T17:23:03.3035173Z         "impl",
2026-06-04T17:23:03.3036334Z         "unit"
2026-06-04T17:23:03.3037425Z       ],
2026-06-04T17:23:03.3038452Z       "stages": {
2026-06-04T17:23:03.3039761Z         "doc": {
2026-06-04T17:23:03.3040805Z           "complete": false,
2026-06-04T17:23:03.3042480Z           "evidence": []
2026-06-04T17:23:03.3043572Z         },
2026-06-04T17:23:03.3044502Z         "impl": {
2026-06-04T17:23:03.3045524Z           "complete": true,
2026-06-04T17:23:03.3046674Z           "evidence": [
2026-06-04T17:23:03.3047734Z             {
2026-06-04T17:23:03.3048941Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T17:23:03.3050454Z               "line": 16
2026-06-04T17:23:03.3051526Z             }
2026-06-04T17:23:03.3052800Z           ]
2026-06-04T17:23:03.3053716Z         },
2026-06-04T17:23:03.3054628Z         "int": {
2026-06-04T17:23:03.3055648Z           "complete": false,
2026-06-04T17:23:03.3056828Z           "evidence": []
2026-06-04T17:23:03.3057918Z         },
2026-06-04T17:23:03.3058852Z         "unit": {
2026-06-04T17:23:03.3060214Z           "complete": true,
2026-06-04T17:23:03.3061361Z           "evidence": [
2026-06-04T17:23:03.3062433Z             {
2026-06-04T17:23:03.3063530Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T17:23:03.3065004Z               "line": 43
2026-06-04T17:23:03.3066086Z             },
2026-06-04T17:23:03.3067040Z             {
2026-06-04T17:23:03.3068147Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T17:23:03.3069661Z               "line": 59
2026-06-04T17:23:03.3070737Z             }
2026-06-04T17:23:03.3071672Z           ]
2026-06-04T17:23:03.3072576Z         }
2026-06-04T17:23:03.3073469Z       }
2026-06-04T17:23:03.3074351Z     },
2026-06-04T17:23:03.3075242Z     {
2026-06-04T17:23:03.3083000Z       "id": "REQ-START-2",
2026-06-04T17:23:03.3084688Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T17:23:03.3086378Z       "requiredStages": [
2026-06-04T17:23:03.3087521Z         "impl",
2026-06-04T17:23:03.3088507Z         "unit",
2026-06-04T17:23:03.3089765Z         "int"
2026-06-04T17:23:03.3090873Z       ],
2026-06-04T17:23:03.3091788Z       "stages": {
2026-06-04T17:23:03.3092790Z         "doc": {
2026-06-04T17:23:03.3093874Z           "complete": false,
2026-06-04T17:23:03.3095074Z           "evidence": []
2026-06-04T17:23:03.3096167Z         },
2026-06-04T17:23:03.3097091Z         "impl": {
2026-06-04T17:23:03.3098116Z           "complete": true,
2026-06-04T17:23:03.3099326Z           "evidence": [
2026-06-04T17:23:03.3100741Z             {
2026-06-04T17:23:03.3101842Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3103322Z               "line": 16
2026-06-04T17:23:03.3104393Z             },
2026-06-04T17:23:03.3105354Z             {
2026-06-04T17:23:03.3106454Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3107921Z               "line": 97
2026-06-04T17:23:03.3108989Z             },
2026-06-04T17:23:03.3110201Z             {
2026-06-04T17:23:03.3111458Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3112941Z               "line": 203
2026-06-04T17:23:03.3114139Z             }
2026-06-04T17:23:03.3115145Z           ]
2026-06-04T17:23:03.3116147Z         },
2026-06-04T17:23:03.3117561Z         "int": {
2026-06-04T17:23:03.3118740Z           "complete": true,
2026-06-04T17:23:03.3120287Z           "evidence": [
2026-06-04T17:23:03.3121555Z             {
2026-06-04T17:23:03.3122893Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:03.3124692Z               "line": 150
2026-06-04T17:23:03.3125911Z             }
2026-06-04T17:23:03.3126964Z           ]
2026-06-04T17:23:03.3127975Z         },
2026-06-04T17:23:03.3128992Z         "unit": {
2026-06-04T17:23:03.3130397Z           "complete": true,
2026-06-04T17:23:03.3133489Z           "evidence": [
2026-06-04T17:23:03.3134811Z             {
2026-06-04T17:23:03.3136073Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3137695Z               "line": 411
2026-06-04T17:23:03.3138837Z             },
2026-06-04T17:23:03.3140433Z             {
2026-06-04T17:23:03.3141641Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3143188Z               "line": 444
2026-06-04T17:23:03.3144811Z             }
2026-06-04T17:23:03.3145798Z           ]
2026-06-04T17:23:03.3146761Z         }
2026-06-04T17:23:03.3147710Z       }
2026-06-04T17:23:03.3148635Z     },
2026-06-04T17:23:03.3149946Z     {
2026-06-04T17:23:03.3150946Z       "id": "REQ-START-3",
2026-06-04T17:23:03.3152637Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T17:23:03.3155019Z       "requiredStages": [
2026-06-04T17:23:03.3156238Z         "impl",
2026-06-04T17:23:03.3157272Z         "unit",
2026-06-04T17:23:03.3158294Z         "int"
2026-06-04T17:23:03.3159472Z       ],
2026-06-04T17:23:03.3160584Z       "stages": {
2026-06-04T17:23:03.3161591Z         "doc": {
2026-06-04T17:23:03.3162628Z           "complete": false,
2026-06-04T17:23:03.3163871Z           "evidence": []
2026-06-04T17:23:03.3165015Z         },
2026-06-04T17:23:03.3166062Z         "impl": {
2026-06-04T17:23:03.3167151Z           "complete": true,
2026-06-04T17:23:03.3168381Z           "evidence": [
2026-06-04T17:23:03.3169824Z             {
2026-06-04T17:23:03.3171307Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:23:03.3172894Z               "line": 23
2026-06-04T17:23:03.3174032Z             },
2026-06-04T17:23:03.3175025Z             {
2026-06-04T17:23:03.3176190Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:23:03.3177730Z               "line": 167
2026-06-04T17:23:03.3178865Z             },
2026-06-04T17:23:03.3180252Z             {
2026-06-04T17:23:03.3181443Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:23:03.3183018Z               "line": 180
2026-06-04T17:23:03.3184150Z             },
2026-06-04T17:23:03.3185126Z             {
2026-06-04T17:23:03.3192984Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3194678Z               "line": 17
2026-06-04T17:23:03.3195771Z             },
2026-06-04T17:23:03.3196759Z             {
2026-06-04T17:23:03.3197882Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3199667Z               "line": 43
2026-06-04T17:23:03.3200910Z             },
2026-06-04T17:23:03.3201872Z             {
2026-06-04T17:23:03.3203010Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3204497Z               "line": 98
2026-06-04T17:23:03.3205583Z             }
2026-06-04T17:23:03.3206564Z           ]
2026-06-04T17:23:03.3207520Z         },
2026-06-04T17:23:03.3208501Z         "int": {
2026-06-04T17:23:03.3209822Z           "complete": true,
2026-06-04T17:23:03.3211187Z           "evidence": [
2026-06-04T17:23:03.3212277Z             {
2026-06-04T17:23:03.3213454Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:23:03.3215108Z               "line": 321
2026-06-04T17:23:03.3216257Z             }
2026-06-04T17:23:03.3217306Z           ]
2026-06-04T17:23:03.3218265Z         },
2026-06-04T17:23:03.3219293Z         "unit": {
2026-06-04T17:23:03.3220405Z           "complete": true,
2026-06-04T17:23:03.3221656Z           "evidence": [
2026-06-04T17:23:03.3223331Z             {
2026-06-04T17:23:03.3224604Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:23:03.3226179Z               "line": 245
2026-06-04T17:23:03.3227326Z             },
2026-06-04T17:23:03.3228301Z             {
2026-06-04T17:23:03.3229537Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:23:03.3231115Z               "line": 263
2026-06-04T17:23:03.3232229Z             },
2026-06-04T17:23:03.3233210Z             {
2026-06-04T17:23:03.3234382Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:23:03.3235924Z               "line": 273
2026-06-04T17:23:03.3237056Z             },
2026-06-04T17:23:03.3238094Z             {
2026-06-04T17:23:03.3239325Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3240863Z               "line": 412
2026-06-04T17:23:03.3241980Z             },
2026-06-04T17:23:03.3242955Z             {
2026-06-04T17:23:03.3244131Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3245993Z               "line": 445
2026-06-04T17:23:03.3247107Z             },
2026-06-04T17:23:03.3248102Z             {
2026-06-04T17:23:03.3249451Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:23:03.3251182Z               "line": 453
2026-06-04T17:23:03.3252310Z             }
2026-06-04T17:23:03.3253290Z           ]
2026-06-04T17:23:03.3254269Z         }
2026-06-04T17:23:03.3255269Z       }
2026-06-04T17:23:03.3256231Z     },
2026-06-04T17:23:03.3257187Z     {
2026-06-04T17:23:03.3258166Z       "id": "REQ-START-4",
2026-06-04T17:23:03.3259894Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T17:23:03.3261781Z       "requiredStages": [
2026-06-04T17:23:03.3262954Z         "impl",
2026-06-04T17:23:03.3263999Z         "unit"
2026-06-04T17:23:03.3265006Z       ],
2026-06-04T17:23:03.3265957Z       "stages": {
2026-06-04T17:23:03.3266986Z         "doc": {
2026-06-04T17:23:03.3268081Z           "complete": false,
2026-06-04T17:23:03.3269603Z           "evidence": []
2026-06-04T17:23:03.3270860Z         },
2026-06-04T17:23:03.3271883Z         "impl": {
2026-06-04T17:23:03.3272989Z           "complete": true,
2026-06-04T17:23:03.3274218Z           "evidence": [
2026-06-04T17:23:03.3275349Z             {
2026-06-04T17:23:03.3276561Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.3278136Z               "line": 309
2026-06-04T17:23:03.3279408Z             }
2026-06-04T17:23:03.3280423Z           ]
2026-06-04T17:23:03.3281406Z         },
2026-06-04T17:23:03.3282446Z         "int": {
2026-06-04T17:23:03.3283583Z           "complete": false,
2026-06-04T17:23:03.3284832Z           "evidence": []
2026-06-04T17:23:03.3286005Z         },
2026-06-04T17:23:03.3286996Z         "unit": {
2026-06-04T17:23:03.3288138Z           "complete": true,
2026-06-04T17:23:03.3289471Z           "evidence": [
2026-06-04T17:23:03.3290637Z             {
2026-06-04T17:23:03.3298897Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:23:03.3300967Z               "line": 540
2026-06-04T17:23:03.3302113Z             }
2026-06-04T17:23:03.3303079Z           ]
2026-06-04T17:23:03.3304004Z         }
2026-06-04T17:23:03.3304919Z       }
2026-06-04T17:23:03.3305851Z     },
2026-06-04T17:23:03.3306793Z     {
2026-06-04T17:23:03.3307745Z       "id": "REQ-STORE-1",
2026-06-04T17:23:03.3314017Z       "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-04T17:23:03.3321390Z       "requiredStages": [
2026-06-04T17:23:03.3322538Z         "impl",
2026-06-04T17:23:03.3323530Z         "unit"
2026-06-04T17:23:03.3324526Z       ],
2026-06-04T17:23:03.3325445Z       "stages": {
2026-06-04T17:23:03.3326427Z         "doc": {
2026-06-04T17:23:03.3328060Z           "complete": false,
2026-06-04T17:23:03.3329529Z           "evidence": []
2026-06-04T17:23:03.3330799Z         },
2026-06-04T17:23:03.3331764Z         "impl": {
2026-06-04T17:23:03.3332816Z           "complete": true,
2026-06-04T17:23:03.3333989Z           "evidence": [
2026-06-04T17:23:03.3335097Z             {
2026-06-04T17:23:03.3336329Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3337913Z               "line": 23
2026-06-04T17:23:03.3339016Z             },
2026-06-04T17:23:03.3340408Z             {
2026-06-04T17:23:03.3341622Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3343245Z               "line": 46
2026-06-04T17:23:03.3344376Z             },
2026-06-04T17:23:03.3345383Z             {
2026-06-04T17:23:03.3346589Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3348155Z               "line": 88
2026-06-04T17:23:03.3349468Z             },
2026-06-04T17:23:03.3350614Z             {
2026-06-04T17:23:03.3352261Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3353921Z               "line": 109
2026-06-04T17:23:03.3355100Z             },
2026-06-04T17:23:03.3356100Z             {
2026-06-04T17:23:03.3357322Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3358945Z               "line": 152
2026-06-04T17:23:03.3360562Z             },
2026-06-04T17:23:03.3361659Z             {
2026-06-04T17:23:03.3362942Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3364660Z               "line": 165
2026-06-04T17:23:03.3365823Z             },
2026-06-04T17:23:03.3366856Z             {
2026-06-04T17:23:03.3368105Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3370043Z               "line": 353
2026-06-04T17:23:03.3371204Z             },
2026-06-04T17:23:03.3372178Z             {
2026-06-04T17:23:03.3373391Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3375119Z               "line": 25
2026-06-04T17:23:03.3376239Z             },
2026-06-04T17:23:03.3377220Z             {
2026-06-04T17:23:03.3378430Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3380472Z               "line": 92
2026-06-04T17:23:03.3381624Z             },
2026-06-04T17:23:03.3382605Z             {
2026-06-04T17:23:03.3383820Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3385467Z               "line": 117
2026-06-04T17:23:03.3386622Z             },
2026-06-04T17:23:03.3387625Z             {
2026-06-04T17:23:03.3388865Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3390873Z               "line": 131
2026-06-04T17:23:03.3392010Z             },
2026-06-04T17:23:03.3392983Z             {
2026-06-04T17:23:03.3394172Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3395771Z               "line": 145
2026-06-04T17:23:03.3396901Z             },
2026-06-04T17:23:03.3397923Z             {
2026-06-04T17:23:03.3399151Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3401095Z               "line": 154
2026-06-04T17:23:03.3402347Z             },
2026-06-04T17:23:03.3403582Z             {
2026-06-04T17:23:03.3404975Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:23:03.3406624Z               "line": 16
2026-06-04T17:23:03.3407801Z             },
2026-06-04T17:23:03.3408858Z             {
2026-06-04T17:23:03.3410375Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:23:03.3412185Z               "line": 63
2026-06-04T17:23:03.3413544Z             }
2026-06-04T17:23:03.3422050Z           ]
2026-06-04T17:23:03.3423029Z         },
2026-06-04T17:23:03.3423950Z         "int": {
2026-06-04T17:23:03.3424987Z           "complete": false,
2026-06-04T17:23:03.3426207Z           "evidence": []
2026-06-04T17:23:03.3427306Z         },
2026-06-04T17:23:03.3428238Z         "unit": {
2026-06-04T17:23:03.3430101Z           "complete": true,
2026-06-04T17:23:03.3431388Z           "evidence": [
2026-06-04T17:23:03.3432544Z             {
2026-06-04T17:23:03.3433749Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3435375Z               "line": 391
2026-06-04T17:23:03.3436502Z             },
2026-06-04T17:23:03.3437517Z             {
2026-06-04T17:23:03.3438745Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3440487Z               "line": 401
2026-06-04T17:23:03.3441674Z             },
2026-06-04T17:23:03.3442680Z             {
2026-06-04T17:23:03.3443892Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3445538Z               "line": 421
2026-06-04T17:23:03.3446661Z             },
2026-06-04T17:23:03.3447687Z             {
2026-06-04T17:23:03.3448924Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3450805Z               "line": 437
2026-06-04T17:23:03.3451960Z             },
2026-06-04T17:23:03.3453431Z             {
2026-06-04T17:23:03.3454643Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:23:03.3456208Z               "line": 458
2026-06-04T17:23:03.3457337Z             },
2026-06-04T17:23:03.3458295Z             {
2026-06-04T17:23:03.3459745Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3461516Z               "line": 418
2026-06-04T17:23:03.3462620Z             },
2026-06-04T17:23:03.3463571Z             {
2026-06-04T17:23:03.3464764Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:23:03.3466359Z               "line": 448
2026-06-04T17:23:03.3467458Z             },
2026-06-04T17:23:03.3468478Z             {
2026-06-04T17:23:03.3470011Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:23:03.3471561Z               "line": 116
2026-06-04T17:23:03.3472667Z             },
2026-06-04T17:23:03.3473648Z             {
2026-06-04T17:23:03.3474798Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:23:03.3476352Z               "line": 124
2026-06-04T17:23:03.3477454Z             }
2026-06-04T17:23:03.3478402Z           ]
2026-06-04T17:23:03.3479553Z         }
2026-06-04T17:23:03.3480696Z       }
2026-06-04T17:23:03.3481647Z     },
2026-06-04T17:23:03.3482849Z     {
2026-06-04T17:23:03.3484024Z       "id": "REQ-TERM-1",
2026-06-04T17:23:03.3485635Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T17:23:03.3487569Z       "requiredStages": [
2026-06-04T17:23:03.3488699Z         "impl",
2026-06-04T17:23:03.3490076Z         "unit"
2026-06-04T17:23:03.3491054Z       ],
2026-06-04T17:23:03.3491982Z       "stages": {
2026-06-04T17:23:03.3493017Z         "doc": {
2026-06-04T17:23:03.3494110Z           "complete": false,
2026-06-04T17:23:03.3495348Z           "evidence": []
2026-06-04T17:23:03.3496482Z         },
2026-06-04T17:23:03.3497461Z         "impl": {
2026-06-04T17:23:03.3498530Z           "complete": true,
2026-06-04T17:23:03.3500213Z           "evidence": [
2026-06-04T17:23:03.3501334Z             {
2026-06-04T17:23:03.3502502Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T17:23:03.3503983Z               "line": 61
2026-06-04T17:23:03.3505081Z             },
2026-06-04T17:23:03.3506058Z             {
2026-06-04T17:23:03.3507176Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T17:23:03.3508659Z               "line": 169
2026-06-04T17:23:03.3509855Z             },
2026-06-04T17:23:03.3510840Z             {
2026-06-04T17:23:03.3512014Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T17:23:03.3513537Z               "line": 95
2026-06-04T17:23:03.3514669Z             }
2026-06-04T17:23:03.3515627Z           ]
2026-06-04T17:23:03.3516549Z         },
2026-06-04T17:23:03.3517543Z         "int": {
2026-06-04T17:23:03.3518597Z           "complete": false,
2026-06-04T17:23:03.3519867Z           "evidence": []
2026-06-04T17:23:03.3520982Z         },
2026-06-04T17:23:03.3529017Z         "unit": {
2026-06-04T17:23:03.3531024Z           "complete": true,
2026-06-04T17:23:03.3532253Z           "evidence": [
2026-06-04T17:23:03.3533329Z             {
2026-06-04T17:23:03.3534497Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T17:23:03.3536018Z               "line": 28
2026-06-04T17:23:03.3537104Z             },
2026-06-04T17:23:03.3538120Z             {
2026-06-04T17:23:03.3539550Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T17:23:03.3541342Z               "line": 60
2026-06-04T17:23:03.3542447Z             }
2026-06-04T17:23:03.3543417Z           ]
2026-06-04T17:23:03.3544353Z         }
2026-06-04T17:23:03.3545279Z       }
2026-06-04T17:23:03.3546165Z     },
2026-06-04T17:23:03.3547085Z     {
2026-06-04T17:23:03.3548050Z       "id": "REQ-TERM-2",
2026-06-04T17:23:03.3549805Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T17:23:03.3551836Z       "requiredStages": [
2026-06-04T17:23:03.3552985Z         "impl",
2026-06-04T17:23:03.3554371Z         "unit"
2026-06-04T17:23:03.3555396Z       ],
2026-06-04T17:23:03.3556378Z       "stages": {
2026-06-04T17:23:03.3557403Z         "doc": {
2026-06-04T17:23:03.3558461Z           "complete": false,
2026-06-04T17:23:03.3559786Z           "evidence": []
2026-06-04T17:23:03.3560912Z         },
2026-06-04T17:23:03.3561875Z         "impl": {
2026-06-04T17:23:03.3562959Z           "complete": true,
2026-06-04T17:23:03.3564142Z           "evidence": [
2026-06-04T17:23:03.3565268Z             {
2026-06-04T17:23:03.3566432Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T17:23:03.3567981Z               "line": 112
2026-06-04T17:23:03.3569096Z             },
2026-06-04T17:23:03.3570129Z             {
2026-06-04T17:23:03.3571296Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T17:23:03.3572900Z               "line": 122
2026-06-04T17:23:03.3574003Z             }
2026-06-04T17:23:03.3574961Z           ]
2026-06-04T17:23:03.3575907Z         },
2026-06-04T17:23:03.3576948Z         "int": {
2026-06-04T17:23:03.3578056Z           "complete": false,
2026-06-04T17:23:03.3579500Z           "evidence": []
2026-06-04T17:23:03.3580895Z         },
2026-06-04T17:23:03.3581854Z         "unit": {
2026-06-04T17:23:03.3582934Z           "complete": true,
2026-06-04T17:23:03.3584116Z           "evidence": [
2026-06-04T17:23:03.3585209Z             {
2026-06-04T17:23:03.3586413Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T17:23:03.3587963Z               "line": 46
2026-06-04T17:23:03.3589074Z             },
2026-06-04T17:23:03.3590151Z             {
2026-06-04T17:23:03.3591310Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T17:23:03.3592898Z               "line": 71
2026-06-04T17:23:03.3594009Z             }
2026-06-04T17:23:03.3594967Z           ]
2026-06-04T17:23:03.3595932Z         }
2026-06-04T17:23:03.3596854Z       }
2026-06-04T17:23:03.3597770Z     },
2026-06-04T17:23:03.3598763Z     {
2026-06-04T17:23:03.3599870Z       "id": "REQ-TERM-3",
2026-06-04T17:23:03.3601349Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T17:23:03.3603051Z       "requiredStages": [
2026-06-04T17:23:03.3604236Z         "impl",
2026-06-04T17:23:03.3605281Z         "unit"
2026-06-04T17:23:03.3606283Z       ],
2026-06-04T17:23:03.3607218Z       "stages": {
2026-06-04T17:23:03.3608284Z         "doc": {
2026-06-04T17:23:03.3609584Z           "complete": false,
2026-06-04T17:23:03.3611012Z           "evidence": []
2026-06-04T17:23:03.3612166Z         },
2026-06-04T17:23:03.3613172Z         "impl": {
2026-06-04T17:23:03.3614244Z           "complete": true,
2026-06-04T17:23:03.3615443Z           "evidence": [
2026-06-04T17:23:03.3616531Z             {
2026-06-04T17:23:03.3617920Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T17:23:03.3619792Z               "line": 71
2026-06-04T17:23:03.3621105Z             }
2026-06-04T17:23:03.3622234Z           ]
2026-06-04T17:23:03.3623316Z         },
2026-06-04T17:23:03.3624449Z         "int": {
2026-06-04T17:23:03.3639808Z           "complete": false,
2026-06-04T17:23:03.3641306Z           "evidence": []
2026-06-04T17:23:03.3642515Z         },
2026-06-04T17:23:03.3643560Z         "unit": {
2026-06-04T17:23:03.3644725Z           "complete": true,
2026-06-04T17:23:03.3646025Z           "evidence": [
2026-06-04T17:23:03.3647220Z             {
2026-06-04T17:23:03.3648516Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T17:23:03.3650322Z               "line": 37
2026-06-04T17:23:03.3651509Z             },
2026-06-04T17:23:03.3652560Z             {
2026-06-04T17:23:03.3653778Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T17:23:03.3655432Z               "line": 67
2026-06-04T17:23:03.3656665Z             }
2026-06-04T17:23:03.3657788Z           ]
2026-06-04T17:23:03.3658910Z         }
2026-06-04T17:23:03.3660084Z       }
2026-06-04T17:23:03.3661166Z     },
2026-06-04T17:23:03.3662234Z     {
2026-06-04T17:23:03.3663306Z       "id": "REQ-TERM-4",
2026-06-04T17:23:03.3667083Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T17:23:03.3670719Z       "requiredStages": [
2026-06-04T17:23:03.3671895Z         "impl",
2026-06-04T17:23:03.3672898Z         "unit",
2026-06-04T17:23:03.3673885Z         "int"
2026-06-04T17:23:03.3674855Z       ],
2026-06-04T17:23:03.3675795Z       "stages": {
2026-06-04T17:23:03.3676818Z         "doc": {
2026-06-04T17:23:03.3677866Z           "complete": true,
2026-06-04T17:23:03.3679026Z           "evidence": [
2026-06-04T17:23:03.3680518Z             {
2026-06-04T17:23:03.3681551Z               "path": "docs/MANIFEST.md",
2026-06-04T17:23:03.3682899Z               "line": 115
2026-06-04T17:23:03.3683996Z             }
2026-06-04T17:23:03.3684947Z           ]
2026-06-04T17:23:03.3685906Z         },
2026-06-04T17:23:03.3686882Z         "impl": {
2026-06-04T17:23:03.3687938Z           "complete": true,
2026-06-04T17:23:03.3689251Z           "evidence": [
2026-06-04T17:23:03.3690600Z             {
2026-06-04T17:23:03.3691244Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:23:03.3691713Z               "line": 463
2026-06-04T17:23:03.3692148Z             },
2026-06-04T17:23:03.3692565Z             {
2026-06-04T17:23:03.3693227Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3693686Z               "line": 41
2026-06-04T17:23:03.3694124Z             },
2026-06-04T17:23:03.3694551Z             {
2026-06-04T17:23:03.3695183Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3695683Z               "line": 91
2026-06-04T17:23:03.3696116Z             },
2026-06-04T17:23:03.3696543Z             {
2026-06-04T17:23:03.3697165Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3697635Z               "line": 152
2026-06-04T17:23:03.3698084Z             },
2026-06-04T17:23:03.3698499Z             {
2026-06-04T17:23:03.3699242Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3699851Z               "line": 212
2026-06-04T17:23:03.3700278Z             },
2026-06-04T17:23:03.3700680Z             {
2026-06-04T17:23:03.3701326Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3701769Z               "line": 20
2026-06-04T17:23:03.3702177Z             },
2026-06-04T17:23:03.3702599Z             {
2026-06-04T17:23:03.3703239Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3703686Z               "line": 212
2026-06-04T17:23:03.3704096Z             },
2026-06-04T17:23:03.3704512Z             {
2026-06-04T17:23:03.3705173Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3705633Z               "line": 226
2026-06-04T17:23:03.3706049Z             },
2026-06-04T17:23:03.3706464Z             {
2026-06-04T17:23:03.3707138Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.3707606Z               "line": 585
2026-06-04T17:23:03.3708392Z             },
2026-06-04T17:23:03.3708870Z             {
2026-06-04T17:23:03.3709846Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3710312Z               "line": 157
2026-06-04T17:23:03.3710720Z             },
2026-06-04T17:23:03.3711151Z             {
2026-06-04T17:23:03.3711758Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3712195Z               "line": 199
2026-06-04T17:23:03.3712620Z             },
2026-06-04T17:23:03.3713035Z             {
2026-06-04T17:23:03.3713616Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3714053Z               "line": 226
2026-06-04T17:23:03.3714466Z             },
2026-06-04T17:23:03.3714872Z             {
2026-06-04T17:23:03.3715407Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.3715850Z               "line": 508
2026-06-04T17:23:03.3716249Z             }
2026-06-04T17:23:03.3716656Z           ]
2026-06-04T17:23:03.3717314Z         },
2026-06-04T17:23:03.3717756Z         "int": {
2026-06-04T17:23:03.3718219Z           "complete": true,
2026-06-04T17:23:03.3718658Z           "evidence": [
2026-06-04T17:23:03.3719081Z             {
2026-06-04T17:23:03.3720264Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T17:23:03.3720761Z               "line": 18
2026-06-04T17:23:03.3721186Z             }
2026-06-04T17:23:03.3721624Z           ]
2026-06-04T17:23:03.3722051Z         },
2026-06-04T17:23:03.3722485Z         "unit": {
2026-06-04T17:23:03.3722965Z           "complete": true,
2026-06-04T17:23:03.3723411Z           "evidence": [
2026-06-04T17:23:03.3723842Z             {
2026-06-04T17:23:03.3724464Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3724912Z               "line": 250
2026-06-04T17:23:03.3725330Z             },
2026-06-04T17:23:03.3725765Z             {
2026-06-04T17:23:03.3726401Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3735192Z               "line": 263
2026-06-04T17:23:03.3735864Z             },
2026-06-04T17:23:03.3736289Z             {
2026-06-04T17:23:03.3736957Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3737411Z               "line": 275
2026-06-04T17:23:03.3737821Z             },
2026-06-04T17:23:03.3738241Z             {
2026-06-04T17:23:03.3738876Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3739407Z               "line": 290
2026-06-04T17:23:03.3739835Z             },
2026-06-04T17:23:03.3740262Z             {
2026-06-04T17:23:03.3740893Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3741345Z               "line": 305
2026-06-04T17:23:03.3741770Z             },
2026-06-04T17:23:03.3742191Z             {
2026-06-04T17:23:03.3742827Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3743277Z               "line": 327
2026-06-04T17:23:03.3743706Z             },
2026-06-04T17:23:03.3744141Z             {
2026-06-04T17:23:03.3744835Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3745311Z               "line": 337
2026-06-04T17:23:03.3745731Z             },
2026-06-04T17:23:03.3746152Z             {
2026-06-04T17:23:03.3746785Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:23:03.3747263Z               "line": 364
2026-06-04T17:23:03.3747712Z             },
2026-06-04T17:23:03.3748129Z             {
2026-06-04T17:23:03.3748801Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3749343Z               "line": 338
2026-06-04T17:23:03.3749953Z             },
2026-06-04T17:23:03.3750453Z             {
2026-06-04T17:23:03.3751112Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3751563Z               "line": 350
2026-06-04T17:23:03.3751966Z             },
2026-06-04T17:23:03.3752388Z             {
2026-06-04T17:23:03.3753081Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3753586Z               "line": 367
2026-06-04T17:23:03.3754491Z             },
2026-06-04T17:23:03.3754990Z             {
2026-06-04T17:23:03.3755802Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:23:03.3756322Z               "line": 378
2026-06-04T17:23:03.3756820Z             },
2026-06-04T17:23:03.3757304Z             {
2026-06-04T17:23:03.3758063Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.3758606Z               "line": 770
2026-06-04T17:23:03.3759040Z             },
2026-06-04T17:23:03.3759709Z             {
2026-06-04T17:23:03.3760346Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.3760784Z               "line": 777
2026-06-04T17:23:03.3761183Z             },
2026-06-04T17:23:03.3761593Z             {
2026-06-04T17:23:03.3762233Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.3762670Z               "line": 792
2026-06-04T17:23:03.3763093Z             },
2026-06-04T17:23:03.3763799Z             {
2026-06-04T17:23:03.3764416Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3764852Z               "line": 381
2026-06-04T17:23:03.3765267Z             },
2026-06-04T17:23:03.3765688Z             {
2026-06-04T17:23:03.3766275Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3766716Z               "line": 402
2026-06-04T17:23:03.3767114Z             },
2026-06-04T17:23:03.3767532Z             {
2026-06-04T17:23:03.3768115Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3768570Z               "line": 415
2026-06-04T17:23:03.3768985Z             },
2026-06-04T17:23:03.3769633Z             {
2026-06-04T17:23:03.3770427Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3770890Z               "line": 434
2026-06-04T17:23:03.3771321Z             },
2026-06-04T17:23:03.3771763Z             {
2026-06-04T17:23:03.3772396Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:23:03.3772894Z               "line": 461
2026-06-04T17:23:03.3773339Z             },
2026-06-04T17:23:03.3773766Z             {
2026-06-04T17:23:03.3774405Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T17:23:03.3774873Z               "line": 32
2026-06-04T17:23:03.3775341Z             },
2026-06-04T17:23:03.3775777Z             {
2026-06-04T17:23:03.3776343Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:23:03.3776798Z               "line": 3092
2026-06-04T17:23:03.3777222Z             }
2026-06-04T17:23:03.3777621Z           ]
2026-06-04T17:23:03.3778036Z         }
2026-06-04T17:23:03.3778443Z       }
2026-06-04T17:23:03.3778858Z     },
2026-06-04T17:23:03.3779483Z     {
2026-06-04T17:23:03.3779960Z       "id": "REQ-UPD-1",
2026-06-04T17:23:03.3780597Z       "title": "Peer-propagated update over P2P",
2026-06-04T17:23:03.3781088Z       "requiredStages": [
2026-06-04T17:23:03.3781555Z         "impl",
2026-06-04T17:23:03.3782002Z         "unit",
2026-06-04T17:23:03.3782454Z         "int"
2026-06-04T17:23:03.3782882Z       ],
2026-06-04T17:23:03.3783315Z       "stages": {
2026-06-04T17:23:03.3783750Z         "doc": {
2026-06-04T17:23:03.3784232Z           "complete": false,
2026-06-04T17:23:03.3784694Z           "evidence": []
2026-06-04T17:23:03.3785137Z         },
2026-06-04T17:23:03.3785610Z         "impl": {
2026-06-04T17:23:03.3786107Z           "complete": true,
2026-06-04T17:23:03.3786567Z           "evidence": [
2026-06-04T17:23:03.3786998Z             {
2026-06-04T17:23:03.3787684Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.3788149Z               "line": 28
2026-06-04T17:23:03.3788582Z             },
2026-06-04T17:23:03.3789015Z             {
2026-06-04T17:23:03.3789935Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.3790385Z               "line": 74
2026-06-04T17:23:03.3790815Z             },
2026-06-04T17:23:03.3791226Z             {
2026-06-04T17:23:03.3791869Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.3792629Z               "line": 209
2026-06-04T17:23:03.3793113Z             },
2026-06-04T17:23:03.3793544Z             {
2026-06-04T17:23:03.3794202Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:23:03.3794686Z               "line": 22
2026-06-04T17:23:03.3795103Z             },
2026-06-04T17:23:03.3795520Z             {
2026-06-04T17:23:03.3796172Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:23:03.3796614Z               "line": 67
2026-06-04T17:23:03.3797038Z             },
2026-06-04T17:23:03.3797448Z             {
2026-06-04T17:23:03.3798118Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:23:03.3798565Z               "line": 80
2026-06-04T17:23:03.3798994Z             },
2026-06-04T17:23:03.3799547Z             {
2026-06-04T17:23:03.3800248Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:23:03.3800705Z               "line": 101
2026-06-04T17:23:03.3801366Z             },
2026-06-04T17:23:03.3801806Z             {
2026-06-04T17:23:03.3802456Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:23:03.3802914Z               "line": 37
2026-06-04T17:23:03.3803335Z             }
2026-06-04T17:23:03.3803747Z           ]
2026-06-04T17:23:03.3804164Z         },
2026-06-04T17:23:03.3804597Z         "int": {
2026-06-04T17:23:03.3805074Z           "complete": true,
2026-06-04T17:23:03.3805511Z           "evidence": [
2026-06-04T17:23:03.3805933Z             {
2026-06-04T17:23:03.3806614Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:23:03.3807050Z               "line": 190
2026-06-04T17:23:03.3807461Z             },
2026-06-04T17:23:03.3807872Z             {
2026-06-04T17:23:03.3808523Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:23:03.3808963Z               "line": 732
2026-06-04T17:23:03.3809458Z             }
2026-06-04T17:23:03.3809878Z           ]
2026-06-04T17:23:03.3810271Z         },
2026-06-04T17:23:03.3810715Z         "unit": {
2026-06-04T17:23:03.3811184Z           "complete": true,
2026-06-04T17:23:03.3811638Z           "evidence": [
2026-06-04T17:23:03.3812050Z             {
2026-06-04T17:23:03.3812695Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:23:03.3813185Z               "line": 120
2026-06-04T17:23:03.3813614Z             },
2026-06-04T17:23:03.3814050Z             {
2026-06-04T17:23:03.3814907Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:23:03.3815467Z               "line": 137
2026-06-04T17:23:03.3815960Z             },
2026-06-04T17:23:03.3816458Z             {
2026-06-04T17:23:03.3817285Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:23:03.3817789Z               "line": 201
2026-06-04T17:23:03.3818243Z             },
2026-06-04T17:23:03.3818671Z             {
2026-06-04T17:23:03.3819546Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:23:03.3820001Z               "line": 92
2026-06-04T17:23:03.3820459Z             },
2026-06-04T17:23:03.3820884Z             {
2026-06-04T17:23:03.3821514Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:23:03.3821974Z               "line": 128
2026-06-04T17:23:03.3822392Z             }
2026-06-04T17:23:03.3822810Z           ]
2026-06-04T17:23:03.3823217Z         }
2026-06-04T17:23:03.3823633Z       }
2026-06-04T17:23:03.3824045Z     },
2026-06-04T17:23:03.3824438Z     {
2026-06-04T17:23:03.3824908Z       "id": "REQ-UPD-2",
2026-06-04T17:23:03.3825674Z       "title": "All binaries signature-verified before handoff",
2026-06-04T17:23:03.3826149Z       "requiredStages": [
2026-06-04T17:23:03.3826574Z         "impl",
2026-06-04T17:23:03.3826992Z         "unit"
2026-06-04T17:23:03.3827411Z       ],
2026-06-04T17:23:03.3827835Z       "stages": {
2026-06-04T17:23:03.3828416Z         "doc": {
2026-06-04T17:23:03.3828934Z           "complete": false,
2026-06-04T17:23:03.3829531Z           "evidence": []
2026-06-04T17:23:03.3830023Z         },
2026-06-04T17:23:03.3836529Z         "impl": {
2026-06-04T17:23:03.3837156Z           "complete": true,
2026-06-04T17:23:03.3837611Z           "evidence": [
2026-06-04T17:23:03.3838024Z             {
2026-06-04T17:23:03.3838732Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.3839311Z               "line": 210
2026-06-04T17:23:03.3839886Z             },
2026-06-04T17:23:03.3840294Z             {
2026-06-04T17:23:03.3840933Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:23:03.3841379Z               "line": 294
2026-06-04T17:23:03.3841784Z             },
2026-06-04T17:23:03.3842193Z             {
2026-06-04T17:23:03.3842824Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3843252Z               "line": 29
2026-06-04T17:23:03.3843700Z             },
2026-06-04T17:23:03.3844120Z             {
2026-06-04T17:23:03.3844774Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3845504Z               "line": 126
2026-06-04T17:23:03.3845943Z             },
2026-06-04T17:23:03.3846367Z             {
2026-06-04T17:23:03.3847006Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3847467Z               "line": 138
2026-06-04T17:23:03.3847881Z             },
2026-06-04T17:23:03.3848299Z             {
2026-06-04T17:23:03.3848991Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3849705Z               "line": 220
2026-06-04T17:23:03.3850297Z             },
2026-06-04T17:23:03.3850704Z             {
2026-06-04T17:23:03.3851361Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3851799Z               "line": 301
2026-06-04T17:23:03.3852233Z             },
2026-06-04T17:23:03.3852649Z             {
2026-06-04T17:23:03.3853292Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3853751Z               "line": 149
2026-06-04T17:23:03.3854162Z             }
2026-06-04T17:23:03.3854601Z           ]
2026-06-04T17:23:03.3855023Z         },
2026-06-04T17:23:03.3855452Z         "int": {
2026-06-04T17:23:03.3855930Z           "complete": false,
2026-06-04T17:23:03.3856403Z           "evidence": []
2026-06-04T17:23:03.3856823Z         },
2026-06-04T17:23:03.3857243Z         "unit": {
2026-06-04T17:23:03.3857719Z           "complete": true,
2026-06-04T17:23:03.3858168Z           "evidence": [
2026-06-04T17:23:03.3858594Z             {
2026-06-04T17:23:03.3859291Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3859947Z               "line": 386
2026-06-04T17:23:03.3860409Z             },
2026-06-04T17:23:03.3860829Z             {
2026-06-04T17:23:03.3861486Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3861947Z               "line": 431
2026-06-04T17:23:03.3862379Z             },
2026-06-04T17:23:03.3862808Z             {
2026-06-04T17:23:03.3863463Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3863940Z               "line": 445
2026-06-04T17:23:03.3864400Z             },
2026-06-04T17:23:03.3864841Z             {
2026-06-04T17:23:03.3865491Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3865974Z               "line": 456
2026-06-04T17:23:03.3866413Z             },
2026-06-04T17:23:03.3866841Z             {
2026-06-04T17:23:03.3867497Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3867956Z               "line": 532
2026-06-04T17:23:03.3868409Z             },
2026-06-04T17:23:03.3868824Z             {
2026-06-04T17:23:03.3869674Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3870135Z               "line": 334
2026-06-04T17:23:03.3870547Z             },
2026-06-04T17:23:03.3870967Z             {
2026-06-04T17:23:03.3871573Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3872026Z               "line": 347
2026-06-04T17:23:03.3872445Z             },
2026-06-04T17:23:03.3872864Z             {
2026-06-04T17:23:03.3873846Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:23:03.3874339Z               "line": 242
2026-06-04T17:23:03.3874762Z             }
2026-06-04T17:23:03.3875167Z           ]
2026-06-04T17:23:03.3875589Z         }
2026-06-04T17:23:03.3876004Z       }
2026-06-04T17:23:03.3876425Z     },
2026-06-04T17:23:03.3876844Z     {
2026-06-04T17:23:03.3877309Z       "id": "REQ-UPD-3",
2026-06-04T17:23:03.3878311Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T17:23:03.3878806Z       "requiredStages": [
2026-06-04T17:23:03.3879477Z         "impl",
2026-06-04T17:23:03.3880096Z         "unit",
2026-06-04T17:23:03.3880532Z         "int"
2026-06-04T17:23:03.3880968Z       ],
2026-06-04T17:23:03.3881402Z       "stages": {
2026-06-04T17:23:03.3881825Z         "doc": {
2026-06-04T17:23:03.3882285Z           "complete": false,
2026-06-04T17:23:03.3882735Z           "evidence": []
2026-06-04T17:23:03.3883143Z         },
2026-06-04T17:23:03.3883848Z         "impl": {
2026-06-04T17:23:03.3884333Z           "complete": true,
2026-06-04T17:23:03.3884786Z           "evidence": [
2026-06-04T17:23:03.3885215Z             {
2026-06-04T17:23:03.3885840Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3886292Z               "line": 26
2026-06-04T17:23:03.3886713Z             },
2026-06-04T17:23:03.3887137Z             {
2026-06-04T17:23:03.3887771Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3888225Z               "line": 111
2026-06-04T17:23:03.3888651Z             },
2026-06-04T17:23:03.3889063Z             {
2026-06-04T17:23:03.3890170Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3890634Z               "line": 221
2026-06-04T17:23:03.3891074Z             }
2026-06-04T17:23:03.3891502Z           ]
2026-06-04T17:23:03.3891911Z         },
2026-06-04T17:23:03.3892330Z         "int": {
2026-06-04T17:23:03.3892790Z           "complete": true,
2026-06-04T17:23:03.3893269Z           "evidence": [
2026-06-04T17:23:03.3893684Z             {
2026-06-04T17:23:03.3894367Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T17:23:03.3894806Z               "line": 23
2026-06-04T17:23:03.3895210Z             }
2026-06-04T17:23:03.3895619Z           ]
2026-06-04T17:23:03.3896015Z         },
2026-06-04T17:23:03.3896447Z         "unit": {
2026-06-04T17:23:03.3896925Z           "complete": true,
2026-06-04T17:23:03.3897370Z           "evidence": [
2026-06-04T17:23:03.3897800Z             {
2026-06-04T17:23:03.3898401Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3898853Z               "line": 246
2026-06-04T17:23:03.3899531Z             },
2026-06-04T17:23:03.3900055Z             {
2026-06-04T17:23:03.3900712Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3901184Z               "line": 270
2026-06-04T17:23:03.3901612Z             },
2026-06-04T17:23:03.3902032Z             {
2026-06-04T17:23:03.3902718Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3903168Z               "line": 281
2026-06-04T17:23:03.3903600Z             },
2026-06-04T17:23:03.3904021Z             {
2026-06-04T17:23:03.3904657Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:23:03.3905133Z               "line": 294
2026-06-04T17:23:03.3905550Z             }
2026-06-04T17:23:03.3905994Z           ]
2026-06-04T17:23:03.3906432Z         }
2026-06-04T17:23:03.3906902Z       }
2026-06-04T17:23:03.3907312Z     },
2026-06-04T17:23:03.3907724Z     {
2026-06-04T17:23:03.3908209Z       "id": "REQ-UPD-4",
2026-06-04T17:23:03.3909283Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T17:23:03.3909815Z       "requiredStages": [
2026-06-04T17:23:03.3910386Z         "impl",
2026-06-04T17:23:03.3910801Z         "unit"
2026-06-04T17:23:03.3911202Z       ],
2026-06-04T17:23:03.3911636Z       "stages": {
2026-06-04T17:23:03.3912061Z         "doc": {
2026-06-04T17:23:03.3912970Z           "complete": false,
2026-06-04T17:23:03.3913522Z           "evidence": []
2026-06-04T17:23:03.3913936Z         },
2026-06-04T17:23:03.3914369Z         "impl": {
2026-06-04T17:23:03.3914832Z           "complete": true,
2026-06-04T17:23:03.3915284Z           "evidence": [
2026-06-04T17:23:03.3915701Z             {
2026-06-04T17:23:03.3916327Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:23:03.3916820Z               "line": 23
2026-06-04T17:23:03.3917248Z             },
2026-06-04T17:23:03.3917692Z             {
2026-06-04T17:23:03.3923711Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:23:03.3924318Z               "line": 56
2026-06-04T17:23:03.3924749Z             },
2026-06-04T17:23:03.3925147Z             {
2026-06-04T17:23:03.3925795Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:23:03.3926235Z               "line": 77
2026-06-04T17:23:03.3926654Z             },
2026-06-04T17:23:03.3927088Z             {
2026-06-04T17:23:03.3928178Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:23:03.3928631Z               "line": 179
2026-06-04T17:23:03.3929052Z             },
2026-06-04T17:23:03.3929730Z             {
2026-06-04T17:23:03.3930578Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:23:03.3931030Z               "line": 98
2026-06-04T17:23:03.3931445Z             },
2026-06-04T17:23:03.3931859Z             {
2026-06-04T17:23:03.3932451Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.3932892Z               "line": 167
2026-06-04T17:23:03.3933310Z             }
2026-06-04T17:23:03.3933712Z           ]
2026-06-04T17:23:03.3934142Z         },
2026-06-04T17:23:03.3934575Z         "int": {
2026-06-04T17:23:03.3935032Z           "complete": false,
2026-06-04T17:23:03.3935485Z           "evidence": []
2026-06-04T17:23:03.3935885Z         },
2026-06-04T17:23:03.3936306Z         "unit": {
2026-06-04T17:23:03.3936758Z           "complete": true,
2026-06-04T17:23:03.3937250Z           "evidence": [
2026-06-04T17:23:03.3937680Z             {
2026-06-04T17:23:03.3938333Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:23:03.3938836Z               "line": 322
2026-06-04T17:23:03.3939343Z             },
2026-06-04T17:23:03.3939768Z             {
2026-06-04T17:23:03.3940388Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:23:03.3940822Z               "line": 102
2026-06-04T17:23:03.3941230Z             },
2026-06-04T17:23:03.3941638Z             {
2026-06-04T17:23:03.3942271Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:23:03.3942707Z               "line": 117
2026-06-04T17:23:03.3943120Z             },
2026-06-04T17:23:03.3943517Z             {
2026-06-04T17:23:03.3944154Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:23:03.3944601Z               "line": 136
2026-06-04T17:23:03.3945003Z             },
2026-06-04T17:23:03.3945413Z             {
2026-06-04T17:23:03.3946056Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:23:03.3946540Z               "line": 352
2026-06-04T17:23:03.3946975Z             },
2026-06-04T17:23:03.3947410Z             {
2026-06-04T17:23:03.3948008Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:23:03.3948443Z               "line": 495
2026-06-04T17:23:03.3948851Z             }
2026-06-04T17:23:03.3949294Z           ]
2026-06-04T17:23:03.3949714Z         }
2026-06-04T17:23:03.3950136Z       }
2026-06-04T17:23:03.3950550Z     },
2026-06-04T17:23:03.3950963Z     {
2026-06-04T17:23:03.3951420Z       "id": "REQ-UPD-5",
2026-06-04T17:23:03.3952187Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T17:23:03.3952662Z       "requiredStages": [
2026-06-04T17:23:03.3953084Z         "impl",
2026-06-04T17:23:03.3953485Z         "unit"
2026-06-04T17:23:03.3953908Z       ],
2026-06-04T17:23:03.3954352Z       "stages": {
2026-06-04T17:23:03.3954771Z         "doc": {
2026-06-04T17:23:03.3955257Z           "complete": false,
2026-06-04T17:23:03.3955991Z           "evidence": []
2026-06-04T17:23:03.3956467Z         },
2026-06-04T17:23:03.3956902Z         "impl": {
2026-06-04T17:23:03.3957388Z           "complete": true,
2026-06-04T17:23:03.3957849Z           "evidence": [
2026-06-04T17:23:03.3958251Z             {
2026-06-04T17:23:03.3958953Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3959611Z               "line": 27
2026-06-04T17:23:03.3960209Z             },
2026-06-04T17:23:03.3960613Z             {
2026-06-04T17:23:03.3961330Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3961777Z               "line": 82
2026-06-04T17:23:03.3962186Z             },
2026-06-04T17:23:03.3962611Z             {
2026-06-04T17:23:03.3963287Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3963739Z               "line": 134
2026-06-04T17:23:03.3964144Z             },
2026-06-04T17:23:03.3964562Z             {
2026-06-04T17:23:03.3965481Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3965919Z               "line": 260
2026-06-04T17:23:03.3966331Z             },
2026-06-04T17:23:03.3966746Z             {
2026-06-04T17:23:03.3967389Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:23:03.3967819Z               "line": 288
2026-06-04T17:23:03.3968228Z             }
2026-06-04T17:23:03.3968641Z           ]
2026-06-04T17:23:03.3969043Z         },
2026-06-04T17:23:03.3969536Z         "int": {
2026-06-04T17:23:03.3970001Z           "complete": false,
2026-06-04T17:23:03.3970497Z           "evidence": []
2026-06-04T17:23:03.3970907Z         },
2026-06-04T17:23:03.3971334Z         "unit": {
2026-06-04T17:23:03.3971800Z           "complete": true,
2026-06-04T17:23:03.3972241Z           "evidence": [
2026-06-04T17:23:03.3972667Z             {
2026-06-04T17:23:03.3973378Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3973858Z               "line": 216
2026-06-04T17:23:03.3974278Z             },
2026-06-04T17:23:03.3974696Z             {
2026-06-04T17:23:03.3975398Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3975843Z               "line": 230
2026-06-04T17:23:03.3976269Z             },
2026-06-04T17:23:03.3976672Z             {
2026-06-04T17:23:03.3977388Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3977850Z               "line": 244
2026-06-04T17:23:03.3978263Z             },
2026-06-04T17:23:03.3978683Z             {
2026-06-04T17:23:03.3979560Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3980043Z               "line": 258
2026-06-04T17:23:03.3980456Z             },
2026-06-04T17:23:03.3980886Z             {
2026-06-04T17:23:03.3981599Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:23:03.3982040Z               "line": 292
2026-06-04T17:23:03.3982462Z             },
2026-06-04T17:23:03.3982886Z             {
2026-06-04T17:23:03.3983539Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:23:03.3983990Z               "line": 740
2026-06-04T17:23:03.3984409Z             }
2026-06-04T17:23:03.3984815Z           ]
2026-06-04T17:23:03.3985220Z         }
2026-06-04T17:23:03.3985634Z       }
2026-06-04T17:23:03.3986043Z     }
2026-06-04T17:23:03.3986441Z   ],
2026-06-04T17:23:03.3986875Z   "findings": []
2026-06-04T17:23:03.3987288Z }
2026-06-04T17:23:03.4084269Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T17:23:03.4084899Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T17:23:03.4106410Z shell: /usr/bin/bash -e {0}
2026-06-04T17:23:03.4106854Z ##[endgroup]
2026-06-04T17:23:03.4356629Z Requirement quality findings (23); 134 requirements queued for agent review:
2026-06-04T17:23:03.4358924Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4360554Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-04T17:23:03.4362269Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-04T17:23:03.4364205Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T17:23:03.4366216Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T17:23:03.4368655Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4371135Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4372892Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T17:23:03.4374663Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T17:23:03.4377515Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4380188Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4382680Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T17:23:03.4384351Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T17:23:03.4385643Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T17:23:03.4387022Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T17:23:03.4388998Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4391403Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4393320Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4394629Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-04T17:23:03.4396050Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T17:23:03.4397318Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-04T17:23:03.4398619Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-04T17:23:03.4400316Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T17:23:03.4400337Z 
2026-06-04T17:23:03.4400845Z # Requirement quality review
2026-06-04T17:23:03.4400864Z 
2026-06-04T17:23:03.4401967Z You are reviewing 134 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T17:23:03.4403073Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T17:23:03.4404152Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T17:23:03.4405341Z this command's output. Your task is the rubric items below.
2026-06-04T17:23:03.4405378Z 
2026-06-04T17:23:03.4405870Z ## Rubric
2026-06-04T17:23:03.4405892Z 
2026-06-04T17:23:03.4407258Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T17:23:03.4408396Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T17:23:03.4409631Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T17:23:03.4410406Z - **active-voice** — clear subject and active verb.
2026-06-04T17:23:03.4410456Z 
2026-06-04T17:23:03.4411613Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T17:23:03.4412082Z clear concerns.
2026-06-04T17:23:03.4412098Z 
2026-06-04T17:23:03.4412563Z ## Requirements
2026-06-04T17:23:03.4412584Z 
2026-06-04T17:23:03.4413033Z ### REQ-ARCH-1
2026-06-04T17:23:03.4413676Z - Title: Many small acyclically-layered crates
2026-06-04T17:23:03.4414153Z - Required stages: impl
2026-06-04T17:23:03.4414196Z 
2026-06-04T17:23:03.4414669Z ### REQ-ARCH-2
2026-06-04T17:23:03.4415556Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T17:23:03.4416049Z - Required stages: impl
2026-06-04T17:23:03.4416065Z 
2026-06-04T17:23:03.4416514Z ### REQ-ARCH-3
2026-06-04T17:23:03.4417582Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T17:23:03.4418116Z - Required stages: impl, unit
2026-06-04T17:23:03.4418136Z 
2026-06-04T17:23:03.4418603Z ### REQ-ARCH-4
2026-06-04T17:23:03.4420058Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T17:23:03.4420706Z - Required stages: impl, unit
2026-06-04T17:23:03.4420726Z 
2026-06-04T17:23:03.4421155Z ### REQ-DAEMON-1
2026-06-04T17:23:03.4421997Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T17:23:03.4422521Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4422559Z 
2026-06-04T17:23:03.4423000Z ### REQ-DAEMON-2
2026-06-04T17:23:03.4423693Z - Title: Broker/brain split for seamless self-update
2026-06-04T17:23:03.4424205Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4424226Z 
2026-06-04T17:23:03.4424674Z ### REQ-DAEMON-3
2026-06-04T17:23:03.4425423Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T17:23:03.4425937Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4425955Z 
2026-06-04T17:23:03.4426397Z ### REQ-DAEMON-4
2026-06-04T17:23:03.4426986Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T17:23:03.4427507Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4427537Z 
2026-06-04T17:23:03.4427956Z ### REQ-STORE-1
2026-06-04T17:23:03.4433955Z - 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-04T17:23:03.4434579Z - Required stages: impl, unit
2026-06-04T17:23:03.4434598Z 
2026-06-04T17:23:03.4435078Z ### REQ-MANIFEST-1
2026-06-04T17:23:03.4444322Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T17:23:03.4444990Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4445011Z 
2026-06-04T17:23:03.4445481Z ### REQ-SEAM-SPAWN
2026-06-04T17:23:03.4445961Z - Title: spawn-session seam
2026-06-04T17:23:03.4446449Z - Required stages: impl, unit
2026-06-04T17:23:03.4446469Z 
2026-06-04T17:23:03.4446929Z ### REQ-SEAM-POSTSPAWN
2026-06-04T17:23:03.4447645Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T17:23:03.4448123Z - Required stages: impl, unit
2026-06-04T17:23:03.4448141Z 
2026-06-04T17:23:03.4448600Z ### REQ-SEAM-PSYCHE
2026-06-04T17:23:03.4449363Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T17:23:03.4449884Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4449901Z 
2026-06-04T17:23:03.4450398Z ### REQ-SEAM-HISTORY
2026-06-04T17:23:03.4451857Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T17:23:03.4452440Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4452458Z 
2026-06-04T17:23:03.4452929Z ### REQ-SEAM-ACTIVITY
2026-06-04T17:23:03.4453851Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T17:23:03.4454353Z - Required stages: impl, unit
2026-06-04T17:23:03.4454373Z 
2026-06-04T17:23:03.4454823Z ### REQ-SEAM-INJECT
2026-06-04T17:23:03.4455636Z - Title: inject-input methods configurable per activity-state
2026-06-04T17:23:03.4456158Z - Required stages: impl, unit
2026-06-04T17:23:03.4456177Z 
2026-06-04T17:23:03.4456623Z ### REQ-SEAM-RESUME
2026-06-04T17:23:03.4457561Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T17:23:03.4458055Z - Required stages: impl, unit
2026-06-04T17:23:03.4458072Z 
2026-06-04T17:23:03.4458553Z ### REQ-SEAM-CAPABILITY
2026-06-04T17:23:03.4459359Z - Title: Hostable endpoint-types capability declaration
2026-06-04T17:23:03.4459877Z - Required stages: impl, unit
2026-06-04T17:23:03.4459895Z 
2026-06-04T17:23:03.4460357Z ### REQ-SEAM-UPDATE
2026-06-04T17:23:03.4461179Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T17:23:03.4461690Z - Required stages: impl, unit
2026-06-04T17:23:03.4461708Z 
2026-06-04T17:23:03.4462149Z ### REQ-API-1
2026-06-04T17:23:03.4462996Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T17:23:03.4463522Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4463541Z 
2026-06-04T17:23:03.4464260Z ### REQ-API-2
2026-06-04T17:23:03.4465376Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T17:23:03.4465910Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4465940Z 
2026-06-04T17:23:03.4466368Z ### REQ-API-3
2026-06-04T17:23:03.4467055Z - Title: commune/signoff are file-drops, not commands
2026-06-04T17:23:03.4467577Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4467598Z 
2026-06-04T17:23:03.4468043Z ### REQ-START-1
2026-06-04T17:23:03.4469071Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T17:23:03.4469822Z - Required stages: impl, unit
2026-06-04T17:23:03.4469842Z 
2026-06-04T17:23:03.4470289Z ### REQ-START-2
2026-06-04T17:23:03.4470961Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T17:23:03.4471479Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4471497Z 
2026-06-04T17:23:03.4471918Z ### REQ-START-3
2026-06-04T17:23:03.4472786Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T17:23:03.4473326Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4473344Z 
2026-06-04T17:23:03.4473768Z ### REQ-START-4
2026-06-04T17:23:03.4474426Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T17:23:03.4474921Z - Required stages: impl, unit
2026-06-04T17:23:03.4474938Z 
2026-06-04T17:23:03.4475353Z ### REQ-EP-1
2026-06-04T17:23:03.4475974Z - Title: Day-one endpoint types; open type system
2026-06-04T17:23:03.4476468Z - Required stages: impl, unit
2026-06-04T17:23:03.4476488Z 
2026-06-04T17:23:03.4476913Z ### REQ-EP-2
2026-06-04T17:23:03.4477717Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T17:23:03.4478206Z - Required stages: impl, unit
2026-06-04T17:23:03.4478224Z 
2026-06-04T17:23:03.4478643Z ### REQ-EP-3
2026-06-04T17:23:03.4479818Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T17:23:03.4480364Z - Required stages: impl, unit
2026-06-04T17:23:03.4480382Z 
2026-06-04T17:23:03.4480804Z ### REQ-EP-4
2026-06-04T17:23:03.4481548Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T17:23:03.4482033Z - Required stages: impl, unit
2026-06-04T17:23:03.4482051Z 
2026-06-04T17:23:03.4482483Z ### REQ-EP-5
2026-06-04T17:23:03.4486761Z - 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-04T17:23:03.4487314Z - Required stages: impl, unit
2026-06-04T17:23:03.4487331Z 
2026-06-04T17:23:03.4487771Z ### REQ-INST-1
2026-06-04T17:23:03.4488562Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T17:23:03.4489010Z - Required stages: 
2026-06-04T17:23:03.4489025Z 
2026-06-04T17:23:03.4489524Z ### REQ-INST-2
2026-06-04T17:23:03.4490092Z - Title: Per-node files, synced Psyche mind
2026-06-04T17:23:03.4490607Z - Required stages: impl, unit
2026-06-04T17:23:03.4490623Z 
2026-06-04T17:23:03.4491075Z ### REQ-INST-3
2026-06-04T17:23:03.4491821Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T17:23:03.4492344Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4492362Z 
2026-06-04T17:23:03.4492790Z ### REQ-INST-4
2026-06-04T17:23:03.4493684Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T17:23:03.4494180Z - Required stages: impl, unit
2026-06-04T17:23:03.4494197Z 
2026-06-04T17:23:03.4494642Z ### REQ-INST-5
2026-06-04T17:23:03.4495531Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T17:23:03.4496039Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4496056Z 
2026-06-04T17:23:03.4496516Z ### REQ-INST-6
2026-06-04T17:23:03.4497458Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T17:23:03.4497927Z - Required stages: 
2026-06-04T17:23:03.4497942Z 
2026-06-04T17:23:03.4498388Z ### REQ-INST-7
2026-06-04T17:23:03.4499045Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T17:23:03.4500241Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4500262Z 
2026-06-04T17:23:03.4500679Z ### REQ-INST-8
2026-06-04T17:23:03.4501414Z - Title: Remote-control mode distinct from local operation
2026-06-04T17:23:03.4501925Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4501946Z 
2026-06-04T17:23:03.4502376Z ### REQ-INST-9
2026-06-04T17:23:03.4503316Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T17:23:03.4503826Z - Required stages: impl, unit
2026-06-04T17:23:03.4503841Z 
2026-06-04T17:23:03.4504282Z ### REQ-INST-10
2026-06-04T17:23:03.4505343Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T17:23:03.4505844Z - Required stages: impl, unit
2026-06-04T17:23:03.4505859Z 
2026-06-04T17:23:03.4506296Z ### REQ-INST-11
2026-06-04T17:23:03.4507365Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T17:23:03.4507877Z - Required stages: impl, unit
2026-06-04T17:23:03.4507912Z 
2026-06-04T17:23:03.4508356Z ### REQ-INST-12
2026-06-04T17:23:03.4510362Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T17:23:03.4510939Z - Required stages: impl, unit
2026-06-04T17:23:03.4510967Z 
2026-06-04T17:23:03.4511414Z ### REQ-INST-13
2026-06-04T17:23:03.4512327Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T17:23:03.4512840Z - Required stages: impl, unit
2026-06-04T17:23:03.4512858Z 
2026-06-04T17:23:03.4513313Z ### REQ-INST-14
2026-06-04T17:23:03.4515345Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T17:23:03.4515854Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4515873Z 
2026-06-04T17:23:03.4516301Z ### REQ-INST-15
2026-06-04T17:23:03.4520758Z - 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-04T17:23:03.4521324Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4521339Z 
2026-06-04T17:23:03.4521763Z ### REQ-REACH-1
2026-06-04T17:23:03.4522450Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T17:23:03.4522984Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4523272Z 
2026-06-04T17:23:03.4523754Z ### REQ-REACH-2
2026-06-04T17:23:03.4524504Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T17:23:03.4524960Z - Required stages: 
2026-06-04T17:23:03.4524977Z 
2026-06-04T17:23:03.4525394Z ### REQ-MSG-1
2026-06-04T17:23:03.4527917Z - 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-04T17:23:03.4528440Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4528475Z 
2026-06-04T17:23:03.4528896Z ### REQ-MSG-2
2026-06-04T17:23:03.4530700Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T17:23:03.4531339Z - Required stages: impl, unit
2026-06-04T17:23:03.4531357Z 
2026-06-04T17:23:03.4531784Z ### REQ-MSG-3
2026-06-04T17:23:03.4533904Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T17:23:03.4534410Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4534429Z 
2026-06-04T17:23:03.4534901Z ### REQ-NODE-IDENTITY
2026-06-04T17:23:03.4536073Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T17:23:03.4536579Z - Required stages: impl, unit
2026-06-04T17:23:03.4536596Z 
2026-06-04T17:23:03.4537024Z ### REQ-NET-1
2026-06-04T17:23:03.4537929Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T17:23:03.4538438Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4538748Z 
2026-06-04T17:23:03.4539275Z ### REQ-NET-2
2026-06-04T17:23:03.4540494Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T17:23:03.4540947Z - Required stages: impl
2026-06-04T17:23:03.4540981Z 
2026-06-04T17:23:03.4541393Z ### REQ-NET-3
2026-06-04T17:23:03.4542227Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T17:23:03.4542724Z - Required stages: impl, unit
2026-06-04T17:23:03.4542753Z 
2026-06-04T17:23:03.4543203Z ### REQ-PAIR-1
2026-06-04T17:23:03.4543711Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T17:23:03.4544238Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4544255Z 
2026-06-04T17:23:03.4544749Z ### REQ-PAIR-2
2026-06-04T17:23:03.4545441Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T17:23:03.4545932Z - Required stages: impl, unit
2026-06-04T17:23:03.4545949Z 
2026-06-04T17:23:03.4546379Z ### REQ-PAIR-3
2026-06-04T17:23:03.4547080Z - Title: Fetch current pairing code from any paired node
2026-06-04T17:23:03.4547611Z - Required stages: impl, unit
2026-06-04T17:23:03.4547628Z 
2026-06-04T17:23:03.4548078Z ### REQ-PAIR-4
2026-06-04T17:23:03.4548605Z - Title: Subnet naming on first pairing
2026-06-04T17:23:03.4549092Z - Required stages: impl, unit
2026-06-04T17:23:03.4549111Z 
2026-06-04T17:23:03.4549925Z ### REQ-PAIR-5
2026-06-04T17:23:03.4551569Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T17:23:03.4552079Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4552096Z 
2026-06-04T17:23:03.4552530Z ### REQ-PAIR-6
2026-06-04T17:23:03.4553912Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T17:23:03.4554443Z - Required stages: impl, unit
2026-06-04T17:23:03.4554463Z 
2026-06-04T17:23:03.4554907Z ### REQ-PAIR-7
2026-06-04T17:23:03.4555676Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T17:23:03.4556157Z - Required stages: 
2026-06-04T17:23:03.4556175Z 
2026-06-04T17:23:03.4556593Z ### REQ-SEC-1
2026-06-04T17:23:03.4558769Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T17:23:03.4559540Z - Required stages: impl, unit
2026-06-04T17:23:03.4559566Z 
2026-06-04T17:23:03.4560225Z ### REQ-NOTIF-1
2026-06-04T17:23:03.4562647Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T17:23:03.4563267Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4563293Z 
2026-06-04T17:23:03.4563796Z ### REQ-NOTIF-2
2026-06-04T17:23:03.4565410Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T17:23:03.4566031Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4566052Z 
2026-06-04T17:23:03.4566579Z ### REQ-UPD-1
2026-06-04T17:23:03.4567194Z - Title: Peer-propagated update over P2P
2026-06-04T17:23:03.4567830Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4567856Z 
2026-06-04T17:23:03.4568345Z ### REQ-UPD-2
2026-06-04T17:23:03.4569651Z - Title: All binaries signature-verified before handoff
2026-06-04T17:23:03.4570244Z - Required stages: impl, unit
2026-06-04T17:23:03.4570262Z 
2026-06-04T17:23:03.4570732Z ### REQ-UPD-3
2026-06-04T17:23:03.4571661Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T17:23:03.4572262Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4572279Z 
2026-06-04T17:23:03.4572728Z ### REQ-UPD-4
2026-06-04T17:23:03.4573732Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T17:23:03.4574276Z - Required stages: impl, unit
2026-06-04T17:23:03.4574301Z 
2026-06-04T17:23:03.4574742Z ### REQ-UPD-5
2026-06-04T17:23:03.4575485Z - Title: spt-core ripple-updates registered adapters
2026-06-04T17:23:03.4576027Z - Required stages: impl, unit
2026-06-04T17:23:03.4576047Z 
2026-06-04T17:23:03.4576988Z ### REQ-TERM-1
2026-06-04T17:23:03.4577945Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T17:23:03.4578519Z - Required stages: impl, unit
2026-06-04T17:23:03.4578541Z 
2026-06-04T17:23:03.4579031Z ### REQ-TERM-2
2026-06-04T17:23:03.4580239Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T17:23:03.4580816Z - Required stages: impl, unit
2026-06-04T17:23:03.4580835Z 
2026-06-04T17:23:03.4581320Z ### REQ-TERM-3
2026-06-04T17:23:03.4582008Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T17:23:03.4582504Z - Required stages: impl, unit
2026-06-04T17:23:03.4582521Z 
2026-06-04T17:23:03.4583220Z ### REQ-TERM-4
2026-06-04T17:23:03.4585311Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T17:23:03.4585855Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4585873Z 
2026-06-04T17:23:03.4586523Z ### REQ-FRONT-1
2026-06-04T17:23:03.4587501Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T17:23:03.4587987Z - Required stages: 
2026-06-04T17:23:03.4588008Z 
2026-06-04T17:23:03.4588491Z ### REQ-INSTALL-1
2026-06-04T17:23:03.4589758Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T17:23:03.4590226Z - Required stages: 
2026-06-04T17:23:03.4590247Z 
2026-06-04T17:23:03.4590704Z ### REQ-INSTALL-2
2026-06-04T17:23:03.4591380Z - Title: Marketplace-repackaging-friendly install
2026-06-04T17:23:03.4591848Z - Required stages: 
2026-06-04T17:23:03.4591867Z 
2026-06-04T17:23:03.4592312Z ### REQ-INSTALL-3
2026-06-04T17:23:03.4592973Z - Title: Idempotent + interactive-optional first run
2026-06-04T17:23:03.4593420Z - Required stages: 
2026-06-04T17:23:03.4593438Z 
2026-06-04T17:23:03.4593864Z ### REQ-INSTALL-4
2026-06-04T17:23:03.4597553Z - 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-04T17:23:03.4598096Z - Required stages: impl, unit
2026-06-04T17:23:03.4598118Z 
2026-06-04T17:23:03.4598551Z ### REQ-MIGRATE-1
2026-06-04T17:23:03.4599629Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T17:23:03.4600262Z - Required stages: 
2026-06-04T17:23:03.4600278Z 
2026-06-04T17:23:03.4600727Z ### REQ-INFRA-1
2026-06-04T17:23:03.4601966Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T17:23:03.4602480Z - Required stages: 
2026-06-04T17:23:03.4602500Z 
2026-06-04T17:23:03.4602928Z ### REQ-DOCS-1
2026-06-04T17:23:03.4603927Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T17:23:03.4604391Z - Required stages: 
2026-06-04T17:23:03.4604407Z 
2026-06-04T17:23:03.4604827Z ### REQ-DOCS-2
2026-06-04T17:23:03.4605629Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T17:23:03.4606130Z - Required stages: 
2026-06-04T17:23:03.4606146Z 
2026-06-04T17:23:03.4606564Z ### REQ-DOCS-3
2026-06-04T17:23:03.4607541Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T17:23:03.4607981Z - Required stages: 
2026-06-04T17:23:03.4607998Z 
2026-06-04T17:23:03.4608425Z ### REQ-DOCS-4
2026-06-04T17:23:03.4609661Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T17:23:03.4610268Z - Required stages: 
2026-06-04T17:23:03.4610305Z 
2026-06-04T17:23:03.4610739Z ### REQ-DOCS-5
2026-06-04T17:23:03.4611705Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T17:23:03.4612155Z - Required stages: 
2026-06-04T17:23:03.4612176Z 
2026-06-04T17:23:03.4612691Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T17:23:03.4613615Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T17:23:03.4614105Z - Required stages: impl, unit
2026-06-04T17:23:03.4614126Z 
2026-06-04T17:23:03.4614631Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T17:23:03.4615683Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T17:23:03.4616169Z - Required stages: impl, unit
2026-06-04T17:23:03.4616187Z 
2026-06-04T17:23:03.4616673Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T17:23:03.4617309Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T17:23:03.4617765Z - Required stages: 
2026-06-04T17:23:03.4617783Z 
2026-06-04T17:23:03.4618277Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T17:23:03.4619241Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T17:23:03.4619969Z - Required stages: impl, unit
2026-06-04T17:23:03.4619991Z 
2026-06-04T17:23:03.4627059Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T17:23:03.4628215Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T17:23:03.4628721Z - Required stages: impl, unit
2026-06-04T17:23:03.4628741Z 
2026-06-04T17:23:03.4629384Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T17:23:03.4630514Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T17:23:03.4631012Z - Required stages: 
2026-06-04T17:23:03.4631030Z 
2026-06-04T17:23:03.4631535Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T17:23:03.4632155Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T17:23:03.4632603Z - Required stages: 
2026-06-04T17:23:03.4632619Z 
2026-06-04T17:23:03.4633147Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T17:23:03.4633961Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T17:23:03.4634450Z - Required stages: impl, unit
2026-06-04T17:23:03.4634467Z 
2026-06-04T17:23:03.4634936Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T17:23:03.4635646Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T17:23:03.4636113Z - Required stages: impl, int
2026-06-04T17:23:03.4636140Z 
2026-06-04T17:23:03.4636639Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T17:23:03.4637458Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T17:23:03.4651989Z - Required stages: impl, unit
2026-06-04T17:23:03.4652083Z 
2026-06-04T17:23:03.4652637Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T17:23:03.4653469Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T17:23:03.4653959Z - Required stages: impl, unit
2026-06-04T17:23:03.4653975Z 
2026-06-04T17:23:03.4654510Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T17:23:03.4655447Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T17:23:03.4656458Z - Required stages: impl, unit
2026-06-04T17:23:03.4656482Z 
2026-06-04T17:23:03.4657060Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T17:23:03.4657836Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T17:23:03.4658330Z - Required stages: impl, unit
2026-06-04T17:23:03.4658349Z 
2026-06-04T17:23:03.4658867Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T17:23:03.4660147Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T17:23:03.4660643Z - Required stages: impl, unit
2026-06-04T17:23:03.4660677Z 
2026-06-04T17:23:03.4661223Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T17:23:03.4662334Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T17:23:03.4662827Z - Required stages: impl, unit
2026-06-04T17:23:03.4662842Z 
2026-06-04T17:23:03.4663318Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T17:23:03.4664610Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T17:23:03.4665133Z - Required stages: impl, unit
2026-06-04T17:23:03.4665150Z 
2026-06-04T17:23:03.4665691Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T17:23:03.4666651Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T17:23:03.4667144Z - Required stages: impl, unit
2026-06-04T17:23:03.4667162Z 
2026-06-04T17:23:03.4667674Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T17:23:03.4669016Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T17:23:03.4670247Z - Required stages: impl, unit
2026-06-04T17:23:03.4670262Z 
2026-06-04T17:23:03.4670784Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T17:23:03.4672831Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T17:23:03.4673334Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4673349Z 
2026-06-04T17:23:03.4673876Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T17:23:03.4676068Z - 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-04T17:23:03.4676552Z - Required stages: impl, unit
2026-06-04T17:23:03.4676569Z 
2026-06-04T17:23:03.4677102Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T17:23:03.4677687Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T17:23:03.4678164Z - Required stages: impl, unit
2026-06-04T17:23:03.4678183Z 
2026-06-04T17:23:03.4678678Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T17:23:03.4679464Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T17:23:03.4680115Z - Required stages: impl, unit
2026-06-04T17:23:03.4680132Z 
2026-06-04T17:23:03.4680653Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T17:23:03.4681466Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T17:23:03.4681992Z - Required stages: impl, unit
2026-06-04T17:23:03.4682007Z 
2026-06-04T17:23:03.4682484Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T17:23:03.4683344Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T17:23:03.4683853Z - Required stages: impl, unit
2026-06-04T17:23:03.4683868Z 
2026-06-04T17:23:03.4684402Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T17:23:03.4685151Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T17:23:03.4685639Z - Required stages: impl, unit
2026-06-04T17:23:03.4685658Z 
2026-06-04T17:23:03.4686194Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T17:23:03.4687020Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T17:23:03.4687598Z - Required stages: impl, unit
2026-06-04T17:23:03.4687615Z 
2026-06-04T17:23:03.4688183Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T17:23:03.4689210Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T17:23:03.4689752Z - Required stages: impl, unit
2026-06-04T17:23:03.4689768Z 
2026-06-04T17:23:03.4690305Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T17:23:03.4691622Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T17:23:03.4692160Z - Required stages: impl, unit
2026-06-04T17:23:03.4692199Z 
2026-06-04T17:23:03.4692719Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T17:23:03.4693603Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T17:23:03.4694116Z - Required stages: impl, unit
2026-06-04T17:23:03.4694135Z 
2026-06-04T17:23:03.4694716Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T17:23:03.4695452Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T17:23:03.4695977Z - Required stages: impl, unit
2026-06-04T17:23:03.4695994Z 
2026-06-04T17:23:03.4696576Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T17:23:03.4697756Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T17:23:03.4698300Z - Required stages: impl, unit
2026-06-04T17:23:03.4698320Z 
2026-06-04T17:23:03.4698899Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T17:23:03.4702500Z - 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-04T17:23:03.4703057Z - Required stages: impl, unit
2026-06-04T17:23:03.4703076Z 
2026-06-04T17:23:03.4703562Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T17:23:03.4704710Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T17:23:03.4705234Z - Required stages: impl, unit
2026-06-04T17:23:03.4705250Z 
2026-06-04T17:23:03.4705744Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T17:23:03.4707142Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T17:23:03.4707639Z - Required stages: impl, unit
2026-06-04T17:23:03.4707656Z 
2026-06-04T17:23:03.4708184Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T17:23:03.4710001Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T17:23:03.4710545Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4710560Z 
2026-06-04T17:23:03.4711073Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T17:23:03.4712463Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T17:23:03.4712974Z - Required stages: impl, unit
2026-06-04T17:23:03.4712996Z 
2026-06-04T17:23:03.4713549Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T17:23:03.4715969Z - 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-04T17:23:03.4716503Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4716516Z 
2026-06-04T17:23:03.4717048Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T17:23:03.4721905Z - 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-04T17:23:03.4722462Z - Required stages: impl, unit
2026-06-04T17:23:03.4722479Z 
2026-06-04T17:23:03.4723027Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T17:23:03.4726866Z - 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-04T17:23:03.4727324Z - Required stages: 
2026-06-04T17:23:03.4727339Z 
2026-06-04T17:23:03.4727848Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T17:23:03.4731450Z - 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-04T17:23:03.4731944Z - Required stages: impl, unit
2026-06-04T17:23:03.4731960Z 
2026-06-04T17:23:03.4732475Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T17:23:03.4735912Z - 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-04T17:23:03.4736434Z - Required stages: impl, unit
2026-06-04T17:23:03.4736450Z 
2026-06-04T17:23:03.4736966Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T17:23:03.4742053Z - 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-04T17:23:03.4742604Z - Required stages: impl, unit
2026-06-04T17:23:03.4742619Z 
2026-06-04T17:23:03.4743120Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T17:23:03.4747431Z - 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-04T17:23:03.4747961Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4747978Z 
2026-06-04T17:23:03.4748419Z ### REQ-CONSENT-1
2026-06-04T17:23:03.4754260Z - Title: Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)
2026-06-04T17:23:03.4755079Z - Required stages: impl, unit
2026-06-04T17:23:03.4755094Z 
2026-06-04T17:23:03.4755534Z ### REQ-CONSENT-2
2026-06-04T17:23:03.4760886Z - Title: Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)
2026-06-04T17:23:03.4761399Z - Required stages: impl, unit
2026-06-04T17:23:03.4761419Z 
2026-06-04T17:23:03.4761839Z ### REQ-PRES-1
2026-06-04T17:23:03.4769584Z - Title: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)
2026-06-04T17:23:03.4770101Z - Required stages: 
2026-06-04T17:23:03.4770116Z 
2026-06-04T17:23:03.4770551Z ### REQ-SHELL-1
2026-06-04T17:23:03.4776059Z - Title: Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)
2026-06-04T17:23:03.4776569Z - Required stages: impl, unit
2026-06-04T17:23:03.4776584Z 
2026-06-04T17:23:03.4777019Z ### REQ-SHELL-2
2026-06-04T17:23:03.4785414Z - Title: Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)
2026-06-04T17:23:03.4785935Z - Required stages: 
2026-06-04T17:23:03.4785950Z 
2026-06-04T17:23:03.4786381Z ## How to report back
2026-06-04T17:23:03.4786394Z 
2026-06-04T17:23:03.4787246Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T17:23:03.4787574Z 
2026-06-04T17:23:03.4788001Z     {
2026-06-04T17:23:03.4788487Z       "code": "requirement_quality",
2026-06-04T17:23:03.4788977Z       "requirementId": "REQ-...",
2026-06-04T17:23:03.4790203Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T17:23:03.4790701Z       "message": "<short reason>",
2026-06-04T17:23:03.4791263Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T17:23:03.4791669Z     }
2026-06-04T17:23:03.4791686Z 
2026-06-04T17:23:03.4792657Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T17:23:03.4793403Z deterministic findings above don't need to be repeated.
2026-06-04T17:23:03.5072426Z Post job cleanup.
2026-06-04T17:23:03.6354683Z [command]/usr/bin/git version
2026-06-04T17:23:03.6411862Z git version 2.34.1
2026-06-04T17:23:03.6460002Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/b9a82bc9-3a36-45b7-b09b-42ec7cfd0d75/.gitconfig'
2026-06-04T17:23:03.6483263Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/b9a82bc9-3a36-45b7-b09b-42ec7cfd0d75' before making global git config changes
2026-06-04T17:23:03.6487868Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T17:23:03.6491533Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T17:23:03.6540320Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T17:23:03.6586251Z [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-04T17:23:03.6832957Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T17:23:03.6864170Z http.https://github.com/.extraheader
2026-06-04T17:23:03.6882094Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T17:23:03.6943533Z [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-04T17:23:03.7221977Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T17:23:03.7268990Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T17:23:03.7752984Z Cleaning up orphan processes
