﻿2026-06-04T17:03:11.0668959Z Current runner version: '2.334.0'
2026-06-04T17:03:11.0678548Z Runner name: 'gravity'
2026-06-04T17:03:11.0679961Z Runner group name: 'Default'
2026-06-04T17:03:11.0681458Z Machine name: 'gravity-linux'
2026-06-04T17:03:11.0685582Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T17:03:11.0690147Z Contents: read
2026-06-04T17:03:11.0691226Z Metadata: read
2026-06-04T17:03:11.0692072Z Packages: read
2026-06-04T17:03:11.0692874Z ##[endgroup]
2026-06-04T17:03:11.0696895Z Secret source: Actions
2026-06-04T17:03:11.0698177Z Prepare workflow directory
2026-06-04T17:03:11.1463944Z Prepare all required actions
2026-06-04T17:03:11.1525788Z Getting action download info
2026-06-04T17:03:11.8012128Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T17:03:12.9410304Z Complete job name: traceability
2026-06-04T17:03:13.1022794Z ##[group]Run actions/checkout@v5
2026-06-04T17:03:13.1025113Z with:
2026-06-04T17:03:13.1026359Z   repository: SaberMage/spt-core
2026-06-04T17:03:13.1046447Z   token: ***
2026-06-04T17:03:13.1047669Z   ssh-strict: true
2026-06-04T17:03:13.1048911Z   ssh-user: git
2026-06-04T17:03:13.1050619Z   persist-credentials: true
2026-06-04T17:03:13.1052026Z   clean: true
2026-06-04T17:03:13.1053303Z   sparse-checkout-cone-mode: true
2026-06-04T17:03:13.1054830Z   fetch-depth: 1
2026-06-04T17:03:13.1056060Z   fetch-tags: false
2026-06-04T17:03:13.1057332Z   show-progress: true
2026-06-04T17:03:13.1058637Z   lfs: false
2026-06-04T17:03:13.1060209Z   submodules: false
2026-06-04T17:03:13.1061509Z   set-safe-directory: true
2026-06-04T17:03:13.1063585Z ##[endgroup]
2026-06-04T17:03:13.2738932Z Syncing repository: SaberMage/spt-core
2026-06-04T17:03:13.2743941Z ##[group]Getting Git version info
2026-06-04T17:03:13.2746651Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T17:03:13.2750577Z [command]/usr/bin/git version
2026-06-04T17:03:13.2752850Z git version 2.34.1
2026-06-04T17:03:13.2778831Z ##[endgroup]
2026-06-04T17:03:13.2790340Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/7f6b2499-c69c-437c-bec4-da55425af006/.gitconfig'
2026-06-04T17:03:13.2814292Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/7f6b2499-c69c-437c-bec4-da55425af006' before making global git config changes
2026-06-04T17:03:13.2820207Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T17:03:13.2824588Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T17:03:13.2878762Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T17:03:13.2913826Z https://github.com/SaberMage/spt-core
2026-06-04T17:03:13.2935758Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T17:03:13.2942927Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T17:03:13.2977550Z refs/heads/dev-freeform
2026-06-04T17:03:13.2992835Z [command]/usr/bin/git checkout --detach
2026-06-04T17:03:13.3056192Z HEAD is now at 59a670e docs(plan): M5-D3d JIT plan — gates + discovery + context injection
2026-06-04T17:03:13.3122154Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T17:03:13.3162079Z Deleted branch dev-freeform (was 59a670e).
2026-06-04T17:03:13.3213937Z ##[endgroup]
2026-06-04T17:03:13.3215631Z [command]/usr/bin/git submodule status
2026-06-04T17:03:13.3452085Z ##[group]Cleaning the repository
2026-06-04T17:03:13.3455078Z [command]/usr/bin/git clean -ffdx
2026-06-04T17:03:14.0378860Z Removing target/
2026-06-04T17:03:14.0393236Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T17:03:14.0461218Z HEAD is now at 59a670e docs(plan): M5-D3d JIT plan — gates + discovery + context injection
2026-06-04T17:03:14.0467368Z ##[endgroup]
2026-06-04T17:03:14.0470535Z ##[group]Disabling automatic garbage collection
2026-06-04T17:03:14.0476811Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T17:03:14.0517518Z ##[endgroup]
2026-06-04T17:03:14.0519698Z ##[group]Setting up auth
2026-06-04T17:03:14.0526756Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T17:03:14.0569315Z [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:03:14.0811674Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T17:03:14.0851870Z [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:03:14.1089581Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T17:03:14.1131402Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T17:03:14.1373347Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T17:03:14.1433467Z ##[endgroup]
2026-06-04T17:03:14.1435696Z ##[group]Fetching the repository
2026-06-04T17:03:14.1447462Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +59a670e921d1f12844e9f1a9839da7d0b7bd67aa:refs/remotes/origin/dev-freeform
2026-06-04T17:03:14.7946523Z ##[endgroup]
2026-06-04T17:03:14.7948262Z ##[group]Determining the checkout info
2026-06-04T17:03:14.7950707Z ##[endgroup]
2026-06-04T17:03:14.7957356Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T17:03:14.8016757Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T17:03:14.8053972Z ##[group]Checking out the ref
2026-06-04T17:03:14.8059725Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T17:03:14.8116585Z Switched to a new branch 'dev-freeform'
2026-06-04T17:03:14.8117969Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T17:03:14.8124929Z ##[endgroup]
2026-06-04T17:03:14.8171329Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T17:03:14.8204893Z 59a670e921d1f12844e9f1a9839da7d0b7bd67aa
2026-06-04T17:03:14.8532289Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T17:03:14.8533213Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T17:03:14.8533905Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T17:03:14.8534506Z [36;1melse[0m
2026-06-04T17:03:14.8535030Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T17:03:14.8535769Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T17:03:14.8536382Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T17:03:14.8536852Z [36;1mfi[0m
2026-06-04T17:03:14.8562360Z shell: /usr/bin/bash -e {0}
2026-06-04T17:03:14.8562871Z env:
2026-06-04T17:03:14.8564086Z   GH_TOKEN: ***
2026-06-04T17:03:14.8564535Z ##[endgroup]
2026-06-04T17:03:14.8727841Z ##[group]Run ./traceable-reqs check --json
2026-06-04T17:03:14.8728529Z [36;1m./traceable-reqs check --json[0m
2026-06-04T17:03:14.8747540Z shell: /usr/bin/bash -e {0}
2026-06-04T17:03:14.8748038Z ##[endgroup]
2026-06-04T17:03:14.8953862Z {
2026-06-04T17:03:14.8954475Z   "schemaVersion": 1,
2026-06-04T17:03:14.8955021Z   "summary": {
2026-06-04T17:03:14.8955517Z     "requirementCount": 134,
2026-06-04T17:03:14.8956052Z     "completeCount": 134,
2026-06-04T17:03:14.8956571Z     "incompleteCount": 0,
2026-06-04T17:03:14.8957101Z     "findingCount": 0
2026-06-04T17:03:14.8957570Z   },
2026-06-04T17:03:14.8957990Z   "requirements": [
2026-06-04T17:03:14.8958449Z     {
2026-06-04T17:03:14.8958921Z       "id": "REQ-API-1",
2026-06-04T17:03:14.8959777Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T17:03:14.8960552Z       "requiredStages": [
2026-06-04T17:03:14.8961048Z         "impl",
2026-06-04T17:03:14.8962212Z         "unit",
2026-06-04T17:03:14.8962737Z         "int"
2026-06-04T17:03:14.8963194Z       ],
2026-06-04T17:03:14.8963616Z       "stages": {
2026-06-04T17:03:14.8964161Z         "doc": {
2026-06-04T17:03:14.8964619Z           "complete": false,
2026-06-04T17:03:14.8965127Z           "evidence": []
2026-06-04T17:03:14.8965620Z         },
2026-06-04T17:03:14.8966048Z         "impl": {
2026-06-04T17:03:14.8977952Z           "complete": true,
2026-06-04T17:03:14.8978514Z           "evidence": [
2026-06-04T17:03:14.8978983Z             {
2026-06-04T17:03:14.8979635Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:14.8980245Z               "line": 15
2026-06-04T17:03:14.8980729Z             }
2026-06-04T17:03:14.8981156Z           ]
2026-06-04T17:03:14.8981573Z         },
2026-06-04T17:03:14.8981999Z         "int": {
2026-06-04T17:03:14.8982464Z           "complete": true,
2026-06-04T17:03:14.8982957Z           "evidence": [
2026-06-04T17:03:14.8984674Z             {
2026-06-04T17:03:14.8985313Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:14.8985952Z               "line": 13
2026-06-04T17:03:14.8986420Z             }
2026-06-04T17:03:14.8986849Z           ]
2026-06-04T17:03:14.8987261Z         },
2026-06-04T17:03:14.8987672Z         "unit": {
2026-06-04T17:03:14.8988135Z           "complete": true,
2026-06-04T17:03:14.8988640Z           "evidence": [
2026-06-04T17:03:14.8989102Z             {
2026-06-04T17:03:14.8989689Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:14.8990314Z               "line": 391
2026-06-04T17:03:14.8990784Z             },
2026-06-04T17:03:14.8991214Z             {
2026-06-04T17:03:14.8991688Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:14.8992308Z               "line": 397
2026-06-04T17:03:14.8992768Z             },
2026-06-04T17:03:14.8993203Z             {
2026-06-04T17:03:14.8993683Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:14.8994273Z               "line": 417
2026-06-04T17:03:14.8994779Z             }
2026-06-04T17:03:14.8995200Z           ]
2026-06-04T17:03:14.8995618Z         }
2026-06-04T17:03:14.8996030Z       }
2026-06-04T17:03:14.8996428Z     },
2026-06-04T17:03:14.8996829Z     {
2026-06-04T17:03:14.8997239Z       "id": "REQ-API-2",
2026-06-04T17:03:14.8998015Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T17:03:14.8998848Z       "requiredStages": [
2026-06-04T17:03:14.8999691Z         "impl",
2026-06-04T17:03:14.9000130Z         "unit",
2026-06-04T17:03:14.9000583Z         "int"
2026-06-04T17:03:14.9001020Z       ],
2026-06-04T17:03:14.9001456Z       "stages": {
2026-06-04T17:03:14.9001913Z         "doc": {
2026-06-04T17:03:14.9002395Z           "complete": false,
2026-06-04T17:03:14.9002927Z           "evidence": []
2026-06-04T17:03:14.9003416Z         },
2026-06-04T17:03:14.9003869Z         "impl": {
2026-06-04T17:03:14.9004343Z           "complete": true,
2026-06-04T17:03:14.9004849Z           "evidence": [
2026-06-04T17:03:14.9005926Z             {
2026-06-04T17:03:14.9006582Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T17:03:14.9007237Z               "line": 15
2026-06-04T17:03:14.9007950Z             },
2026-06-04T17:03:14.9008410Z             {
2026-06-04T17:03:14.9008971Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:14.9009692Z               "line": 20
2026-06-04T17:03:14.9010158Z             },
2026-06-04T17:03:14.9010580Z             {
2026-06-04T17:03:14.9011106Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:14.9011749Z               "line": 125
2026-06-04T17:03:14.9012192Z             },
2026-06-04T17:03:14.9012598Z             {
2026-06-04T17:03:14.9013103Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9013704Z               "line": 21
2026-06-04T17:03:14.9014148Z             },
2026-06-04T17:03:14.9014554Z             {
2026-06-04T17:03:14.9015038Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9015895Z               "line": 38
2026-06-04T17:03:14.9016330Z             },
2026-06-04T17:03:14.9016737Z             {
2026-06-04T17:03:14.9017247Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9017819Z               "line": 160
2026-06-04T17:03:14.9018251Z             },
2026-06-04T17:03:14.9018652Z             {
2026-06-04T17:03:14.9019125Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9019790Z               "line": 199
2026-06-04T17:03:14.9020239Z             },
2026-06-04T17:03:14.9020632Z             {
2026-06-04T17:03:14.9021114Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9021702Z               "line": 229
2026-06-04T17:03:14.9022143Z             },
2026-06-04T17:03:14.9022541Z             {
2026-06-04T17:03:14.9023016Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9023575Z               "line": 17
2026-06-04T17:03:14.9024010Z             },
2026-06-04T17:03:14.9024434Z             {
2026-06-04T17:03:14.9024906Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9025477Z               "line": 30
2026-06-04T17:03:14.9025909Z             },
2026-06-04T17:03:14.9026307Z             {
2026-06-04T17:03:14.9026776Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9027331Z               "line": 63
2026-06-04T17:03:14.9027761Z             },
2026-06-04T17:03:14.9028150Z             {
2026-06-04T17:03:14.9028611Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9029221Z               "line": 76
2026-06-04T17:03:14.9029655Z             }
2026-06-04T17:03:14.9030047Z           ]
2026-06-04T17:03:14.9030430Z         },
2026-06-04T17:03:14.9030820Z         "int": {
2026-06-04T17:03:14.9031247Z           "complete": true,
2026-06-04T17:03:14.9031708Z           "evidence": [
2026-06-04T17:03:14.9032136Z             {
2026-06-04T17:03:14.9032615Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:14.9033248Z               "line": 14
2026-06-04T17:03:14.9033688Z             },
2026-06-04T17:03:14.9034080Z             {
2026-06-04T17:03:14.9034562Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:14.9035150Z               "line": 151
2026-06-04T17:03:14.9035579Z             }
2026-06-04T17:03:14.9035974Z           ]
2026-06-04T17:03:14.9036356Z         },
2026-06-04T17:03:14.9036746Z         "unit": {
2026-06-04T17:03:14.9037171Z           "complete": true,
2026-06-04T17:03:14.9037636Z           "evidence": [
2026-06-04T17:03:14.9038063Z             {
2026-06-04T17:03:14.9038544Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T17:03:14.9039124Z               "line": 42
2026-06-04T17:03:14.9039620Z             },
2026-06-04T17:03:14.9040021Z             {
2026-06-04T17:03:14.9040492Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:14.9041065Z               "line": 228
2026-06-04T17:03:14.9041522Z             },
2026-06-04T17:03:14.9042184Z             {
2026-06-04T17:03:14.9042706Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9043290Z               "line": 344
2026-06-04T17:03:14.9043725Z             },
2026-06-04T17:03:14.9044123Z             {
2026-06-04T17:03:14.9044614Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9045191Z               "line": 355
2026-06-04T17:03:14.9045645Z             },
2026-06-04T17:03:14.9069578Z             {
2026-06-04T17:03:14.9070753Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9071444Z               "line": 423
2026-06-04T17:03:14.9071957Z             },
2026-06-04T17:03:14.9072396Z             {
2026-06-04T17:03:14.9072893Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9073474Z               "line": 435
2026-06-04T17:03:14.9073912Z             },
2026-06-04T17:03:14.9074308Z             {
2026-06-04T17:03:14.9074778Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9075937Z               "line": 137
2026-06-04T17:03:14.9076390Z             },
2026-06-04T17:03:14.9076781Z             {
2026-06-04T17:03:14.9077252Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9077813Z               "line": 172
2026-06-04T17:03:14.9078246Z             }
2026-06-04T17:03:14.9078631Z           ]
2026-06-04T17:03:14.9079008Z         }
2026-06-04T17:03:14.9079463Z       }
2026-06-04T17:03:14.9079828Z     },
2026-06-04T17:03:14.9080241Z     {
2026-06-04T17:03:14.9080651Z       "id": "REQ-API-3",
2026-06-04T17:03:14.9081244Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T17:03:14.9081870Z       "requiredStages": [
2026-06-04T17:03:14.9082318Z         "impl",
2026-06-04T17:03:14.9082728Z         "unit",
2026-06-04T17:03:14.9083163Z         "int"
2026-06-04T17:03:14.9083553Z       ],
2026-06-04T17:03:14.9083934Z       "stages": {
2026-06-04T17:03:14.9084346Z         "doc": {
2026-06-04T17:03:14.9084797Z           "complete": false,
2026-06-04T17:03:14.9085289Z           "evidence": []
2026-06-04T17:03:14.9085722Z         },
2026-06-04T17:03:14.9086107Z         "impl": {
2026-06-04T17:03:14.9086543Z           "complete": true,
2026-06-04T17:03:14.9087006Z           "evidence": [
2026-06-04T17:03:14.9087429Z             {
2026-06-04T17:03:14.9087900Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:14.9088464Z               "line": 27
2026-06-04T17:03:14.9088891Z             },
2026-06-04T17:03:14.9089358Z             {
2026-06-04T17:03:14.9090018Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9090574Z               "line": 281
2026-06-04T17:03:14.9090998Z             }
2026-06-04T17:03:14.9091373Z           ]
2026-06-04T17:03:14.9091743Z         },
2026-06-04T17:03:14.9092109Z         "int": {
2026-06-04T17:03:14.9092535Z           "complete": true,
2026-06-04T17:03:14.9092995Z           "evidence": [
2026-06-04T17:03:14.9093412Z             {
2026-06-04T17:03:14.9093908Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:14.9094473Z               "line": 203
2026-06-04T17:03:14.9094894Z             }
2026-06-04T17:03:14.9095273Z           ]
2026-06-04T17:03:14.9095646Z         },
2026-06-04T17:03:14.9096015Z         "unit": {
2026-06-04T17:03:14.9096429Z           "complete": true,
2026-06-04T17:03:14.9096893Z           "evidence": [
2026-06-04T17:03:14.9097301Z             {
2026-06-04T17:03:14.9097752Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:14.9098298Z               "line": 230
2026-06-04T17:03:14.9098714Z             },
2026-06-04T17:03:14.9099095Z             {
2026-06-04T17:03:14.9099804Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9100386Z               "line": 464
2026-06-04T17:03:14.9100838Z             }
2026-06-04T17:03:14.9101231Z           ]
2026-06-04T17:03:14.9101611Z         }
2026-06-04T17:03:14.9102003Z       }
2026-06-04T17:03:14.9102400Z     },
2026-06-04T17:03:14.9102768Z     {
2026-06-04T17:03:14.9103444Z       "id": "REQ-ARCH-1",
2026-06-04T17:03:14.9104043Z       "title": "Many small acyclically-layered crates",
2026-06-04T17:03:14.9104644Z       "requiredStages": [
2026-06-04T17:03:14.9105111Z         "impl"
2026-06-04T17:03:14.9105503Z       ],
2026-06-04T17:03:14.9105891Z       "stages": {
2026-06-04T17:03:14.9106296Z         "doc": {
2026-06-04T17:03:14.9106721Z           "complete": false,
2026-06-04T17:03:14.9107190Z           "evidence": []
2026-06-04T17:03:14.9107623Z         },
2026-06-04T17:03:14.9108016Z         "impl": {
2026-06-04T17:03:14.9108457Z           "complete": true,
2026-06-04T17:03:14.9108942Z           "evidence": [
2026-06-04T17:03:14.9109426Z             {
2026-06-04T17:03:14.9110039Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T17:03:14.9110577Z               "line": 16
2026-06-04T17:03:14.9110995Z             },
2026-06-04T17:03:14.9111384Z             {
2026-06-04T17:03:14.9111842Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T17:03:14.9112546Z               "line": 12
2026-06-04T17:03:14.9112983Z             },
2026-06-04T17:03:14.9113367Z             {
2026-06-04T17:03:14.9113824Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T17:03:14.9114362Z               "line": 12
2026-06-04T17:03:14.9114778Z             }
2026-06-04T17:03:14.9115164Z           ]
2026-06-04T17:03:14.9115538Z         },
2026-06-04T17:03:14.9115909Z         "int": {
2026-06-04T17:03:14.9116332Z           "complete": false,
2026-06-04T17:03:14.9116804Z           "evidence": []
2026-06-04T17:03:14.9117218Z         },
2026-06-04T17:03:14.9117592Z         "unit": {
2026-06-04T17:03:14.9118011Z           "complete": false,
2026-06-04T17:03:14.9118462Z           "evidence": []
2026-06-04T17:03:14.9118894Z         }
2026-06-04T17:03:14.9119311Z       }
2026-06-04T17:03:14.9119872Z     },
2026-06-04T17:03:14.9120256Z     {
2026-06-04T17:03:14.9120798Z       "id": "REQ-ARCH-2",
2026-06-04T17:03:14.9121452Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T17:03:14.9122119Z       "requiredStages": [
2026-06-04T17:03:14.9122561Z         "impl"
2026-06-04T17:03:14.9122946Z       ],
2026-06-04T17:03:14.9123425Z       "stages": {
2026-06-04T17:03:14.9123826Z         "doc": {
2026-06-04T17:03:14.9124260Z           "complete": false,
2026-06-04T17:03:14.9124740Z           "evidence": []
2026-06-04T17:03:14.9125163Z         },
2026-06-04T17:03:14.9125543Z         "impl": {
2026-06-04T17:03:14.9125962Z           "complete": true,
2026-06-04T17:03:14.9126419Z           "evidence": [
2026-06-04T17:03:14.9126842Z             {
2026-06-04T17:03:14.9127313Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T17:03:14.9127866Z               "line": 18
2026-06-04T17:03:14.9128297Z             }
2026-06-04T17:03:14.9128695Z           ]
2026-06-04T17:03:14.9129065Z         },
2026-06-04T17:03:14.9129707Z         "int": {
2026-06-04T17:03:14.9130277Z           "complete": false,
2026-06-04T17:03:14.9130781Z           "evidence": []
2026-06-04T17:03:14.9131210Z         },
2026-06-04T17:03:14.9131590Z         "unit": {
2026-06-04T17:03:14.9132020Z           "complete": false,
2026-06-04T17:03:14.9132477Z           "evidence": []
2026-06-04T17:03:14.9132920Z         }
2026-06-04T17:03:14.9133298Z       }
2026-06-04T17:03:14.9133667Z     },
2026-06-04T17:03:14.9134034Z     {
2026-06-04T17:03:14.9134426Z       "id": "REQ-ARCH-3",
2026-06-04T17:03:14.9135131Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T17:03:14.9135896Z       "requiredStages": [
2026-06-04T17:03:14.9136348Z         "impl",
2026-06-04T17:03:14.9136761Z         "unit"
2026-06-04T17:03:14.9137145Z       ],
2026-06-04T17:03:14.9137534Z       "stages": {
2026-06-04T17:03:14.9137940Z         "doc": {
2026-06-04T17:03:14.9138361Z           "complete": false,
2026-06-04T17:03:14.9138828Z           "evidence": []
2026-06-04T17:03:14.9139302Z         },
2026-06-04T17:03:14.9140039Z         "impl": {
2026-06-04T17:03:14.9140665Z           "complete": true,
2026-06-04T17:03:14.9141169Z           "evidence": [
2026-06-04T17:03:14.9141589Z             {
2026-06-04T17:03:14.9142077Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:03:14.9142648Z               "line": 34
2026-06-04T17:03:14.9143072Z             },
2026-06-04T17:03:14.9143468Z             {
2026-06-04T17:03:14.9143956Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:03:14.9144522Z               "line": 41
2026-06-04T17:03:14.9144953Z             }
2026-06-04T17:03:14.9145331Z           ]
2026-06-04T17:03:14.9145707Z         },
2026-06-04T17:03:14.9146087Z         "int": {
2026-06-04T17:03:14.9146539Z           "complete": false,
2026-06-04T17:03:14.9147014Z           "evidence": []
2026-06-04T17:03:14.9147437Z         },
2026-06-04T17:03:14.9147812Z         "unit": {
2026-06-04T17:03:14.9148250Z           "complete": true,
2026-06-04T17:03:14.9148717Z           "evidence": [
2026-06-04T17:03:14.9149515Z             {
2026-06-04T17:03:14.9150172Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:03:14.9150747Z               "line": 51
2026-06-04T17:03:14.9151176Z             },
2026-06-04T17:03:14.9151567Z             {
2026-06-04T17:03:14.9152050Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:03:14.9152609Z               "line": 65
2026-06-04T17:03:14.9153044Z             },
2026-06-04T17:03:14.9153429Z             {
2026-06-04T17:03:14.9153910Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T17:03:14.9154474Z               "line": 74
2026-06-04T17:03:14.9154906Z             }
2026-06-04T17:03:14.9155296Z           ]
2026-06-04T17:03:14.9155669Z         }
2026-06-04T17:03:14.9156049Z       }
2026-06-04T17:03:14.9156417Z     },
2026-06-04T17:03:14.9156799Z     {
2026-06-04T17:03:14.9157194Z       "id": "REQ-ARCH-4",
2026-06-04T17:03:14.9157847Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T17:03:14.9158582Z       "requiredStages": [
2026-06-04T17:03:14.9159035Z         "impl",
2026-06-04T17:03:14.9159647Z         "unit"
2026-06-04T17:03:14.9160200Z       ],
2026-06-04T17:03:14.9160591Z       "stages": {
2026-06-04T17:03:14.9161005Z         "doc": {
2026-06-04T17:03:14.9161432Z           "complete": false,
2026-06-04T17:03:14.9161901Z           "evidence": []
2026-06-04T17:03:14.9162332Z         },
2026-06-04T17:03:14.9162712Z         "impl": {
2026-06-04T17:03:14.9163132Z           "complete": true,
2026-06-04T17:03:14.9163580Z           "evidence": [
2026-06-04T17:03:14.9163999Z             {
2026-06-04T17:03:14.9164468Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9165048Z               "line": 77
2026-06-04T17:03:14.9165478Z             },
2026-06-04T17:03:14.9165874Z             {
2026-06-04T17:03:14.9166339Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9166891Z               "line": 91
2026-06-04T17:03:14.9167332Z             },
2026-06-04T17:03:14.9167728Z             {
2026-06-04T17:03:14.9168196Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9168756Z               "line": 111
2026-06-04T17:03:14.9169237Z             },
2026-06-04T17:03:14.9169841Z             {
2026-06-04T17:03:14.9170470Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9171016Z               "line": 126
2026-06-04T17:03:14.9171446Z             },
2026-06-04T17:03:14.9171831Z             {
2026-06-04T17:03:14.9172295Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9172862Z               "line": 176
2026-06-04T17:03:14.9173292Z             }
2026-06-04T17:03:14.9173678Z           ]
2026-06-04T17:03:14.9174053Z         },
2026-06-04T17:03:14.9174427Z         "int": {
2026-06-04T17:03:14.9174842Z           "complete": false,
2026-06-04T17:03:14.9175297Z           "evidence": []
2026-06-04T17:03:14.9175722Z         },
2026-06-04T17:03:14.9176107Z         "unit": {
2026-06-04T17:03:14.9176734Z           "complete": true,
2026-06-04T17:03:14.9177213Z           "evidence": [
2026-06-04T17:03:14.9177628Z             {
2026-06-04T17:03:14.9178109Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9178662Z               "line": 240
2026-06-04T17:03:14.9179096Z             },
2026-06-04T17:03:14.9179738Z             {
2026-06-04T17:03:14.9180374Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9180930Z               "line": 250
2026-06-04T17:03:14.9181360Z             },
2026-06-04T17:03:14.9181750Z             {
2026-06-04T17:03:14.9182215Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9182760Z               "line": 261
2026-06-04T17:03:14.9183192Z             },
2026-06-04T17:03:14.9183576Z             {
2026-06-04T17:03:14.9184040Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9184584Z               "line": 272
2026-06-04T17:03:14.9195090Z             },
2026-06-04T17:03:14.9196020Z             {
2026-06-04T17:03:14.9196516Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9197078Z               "line": 284
2026-06-04T17:03:14.9197503Z             },
2026-06-04T17:03:14.9197889Z             {
2026-06-04T17:03:14.9198349Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9198899Z               "line": 297
2026-06-04T17:03:14.9199629Z             },
2026-06-04T17:03:14.9200186Z             {
2026-06-04T17:03:14.9200642Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9201187Z               "line": 308
2026-06-04T17:03:14.9201610Z             },
2026-06-04T17:03:14.9201990Z             {
2026-06-04T17:03:14.9202448Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9202997Z               "line": 322
2026-06-04T17:03:14.9203417Z             },
2026-06-04T17:03:14.9203815Z             {
2026-06-04T17:03:14.9204269Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:14.9204818Z               "line": 350
2026-06-04T17:03:14.9205251Z             }
2026-06-04T17:03:14.9205630Z           ]
2026-06-04T17:03:14.9205999Z         }
2026-06-04T17:03:14.9206363Z       }
2026-06-04T17:03:14.9206727Z     },
2026-06-04T17:03:14.9207088Z     {
2026-06-04T17:03:14.9207489Z       "id": "REQ-CONSENT-1",
2026-06-04T17:03:14.9210138Z       "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:03:14.9212344Z       "requiredStages": [
2026-06-04T17:03:14.9212785Z         "impl",
2026-06-04T17:03:14.9213174Z         "unit"
2026-06-04T17:03:14.9213610Z       ],
2026-06-04T17:03:14.9213987Z       "stages": {
2026-06-04T17:03:14.9214385Z         "doc": {
2026-06-04T17:03:14.9214799Z           "complete": false,
2026-06-04T17:03:14.9215282Z           "evidence": []
2026-06-04T17:03:14.9215702Z         },
2026-06-04T17:03:14.9216078Z         "impl": {
2026-06-04T17:03:14.9216492Z           "complete": true,
2026-06-04T17:03:14.9216943Z           "evidence": [
2026-06-04T17:03:14.9217371Z             {
2026-06-04T17:03:14.9217839Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9218386Z               "line": 27
2026-06-04T17:03:14.9218798Z             },
2026-06-04T17:03:14.9219220Z             {
2026-06-04T17:03:14.9219982Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9220533Z               "line": 75
2026-06-04T17:03:14.9220952Z             },
2026-06-04T17:03:14.9221346Z             {
2026-06-04T17:03:14.9221809Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9222355Z               "line": 98
2026-06-04T17:03:14.9222778Z             },
2026-06-04T17:03:14.9223170Z             {
2026-06-04T17:03:14.9223813Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9224386Z               "line": 82
2026-06-04T17:03:14.9224814Z             },
2026-06-04T17:03:14.9225215Z             {
2026-06-04T17:03:14.9225679Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9226222Z               "line": 109
2026-06-04T17:03:14.9226641Z             },
2026-06-04T17:03:14.9227022Z             {
2026-06-04T17:03:14.9227481Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9228029Z               "line": 127
2026-06-04T17:03:14.9228455Z             },
2026-06-04T17:03:14.9228836Z             {
2026-06-04T17:03:14.9229344Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9229899Z               "line": 142
2026-06-04T17:03:14.9230322Z             },
2026-06-04T17:03:14.9230712Z             {
2026-06-04T17:03:14.9231149Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9231680Z               "line": 1959
2026-06-04T17:03:14.9232315Z             }
2026-06-04T17:03:14.9232706Z           ]
2026-06-04T17:03:14.9233089Z         },
2026-06-04T17:03:14.9233469Z         "int": {
2026-06-04T17:03:14.9233887Z           "complete": false,
2026-06-04T17:03:14.9234342Z           "evidence": []
2026-06-04T17:03:14.9234767Z         },
2026-06-04T17:03:14.9235144Z         "unit": {
2026-06-04T17:03:14.9235556Z           "complete": true,
2026-06-04T17:03:14.9236011Z           "evidence": [
2026-06-04T17:03:14.9236435Z             {
2026-06-04T17:03:14.9243239Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9243830Z               "line": 302
2026-06-04T17:03:14.9244255Z             },
2026-06-04T17:03:14.9244643Z             {
2026-06-04T17:03:14.9245112Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9245668Z               "line": 327
2026-06-04T17:03:14.9246097Z             },
2026-06-04T17:03:14.9246474Z             {
2026-06-04T17:03:14.9246949Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9247565Z               "line": 338
2026-06-04T17:03:14.9247983Z             },
2026-06-04T17:03:14.9248364Z             {
2026-06-04T17:03:14.9248827Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9249648Z               "line": 165
2026-06-04T17:03:14.9250233Z             },
2026-06-04T17:03:14.9250618Z             {
2026-06-04T17:03:14.9251082Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9251635Z               "line": 184
2026-06-04T17:03:14.9252046Z             },
2026-06-04T17:03:14.9252425Z             {
2026-06-04T17:03:14.9252884Z               "path": "crates/spt-store/src/grants.rs",
2026-06-04T17:03:14.9253430Z               "line": 204
2026-06-04T17:03:14.9253845Z             },
2026-06-04T17:03:14.9254228Z             {
2026-06-04T17:03:14.9254660Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9255213Z               "line": 2256
2026-06-04T17:03:14.9255650Z             }
2026-06-04T17:03:14.9256037Z           ]
2026-06-04T17:03:14.9256411Z         }
2026-06-04T17:03:14.9256780Z       }
2026-06-04T17:03:14.9257138Z     },
2026-06-04T17:03:14.9257504Z     {
2026-06-04T17:03:14.9257895Z       "id": "REQ-CONSENT-2",
2026-06-04T17:03:14.9260039Z       "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:03:14.9262048Z       "requiredStages": [
2026-06-04T17:03:14.9262486Z         "impl",
2026-06-04T17:03:14.9262876Z         "unit"
2026-06-04T17:03:14.9263255Z       ],
2026-06-04T17:03:14.9263624Z       "stages": {
2026-06-04T17:03:14.9264022Z         "doc": {
2026-06-04T17:03:14.9264434Z           "complete": false,
2026-06-04T17:03:14.9264900Z           "evidence": []
2026-06-04T17:03:14.9265337Z         },
2026-06-04T17:03:14.9265992Z         "impl": {
2026-06-04T17:03:14.9266436Z           "complete": true,
2026-06-04T17:03:14.9266889Z           "evidence": [
2026-06-04T17:03:14.9267297Z             {
2026-06-04T17:03:14.9267761Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9268312Z               "line": 140
2026-06-04T17:03:14.9268742Z             },
2026-06-04T17:03:14.9269128Z             {
2026-06-04T17:03:14.9269656Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9270211Z               "line": 158
2026-06-04T17:03:14.9270630Z             },
2026-06-04T17:03:14.9271010Z             {
2026-06-04T17:03:14.9271476Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9272029Z               "line": 192
2026-06-04T17:03:14.9272461Z             },
2026-06-04T17:03:14.9272845Z             {
2026-06-04T17:03:14.9273309Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9273856Z               "line": 234
2026-06-04T17:03:14.9274445Z             },
2026-06-04T17:03:14.9274828Z             {
2026-06-04T17:03:14.9275294Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9275851Z               "line": 246
2026-06-04T17:03:14.9276286Z             },
2026-06-04T17:03:14.9276672Z             {
2026-06-04T17:03:14.9277140Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9277682Z               "line": 277
2026-06-04T17:03:14.9278102Z             }
2026-06-04T17:03:14.9278481Z           ]
2026-06-04T17:03:14.9278846Z         },
2026-06-04T17:03:14.9279263Z         "int": {
2026-06-04T17:03:14.9279687Z           "complete": false,
2026-06-04T17:03:14.9280158Z           "evidence": []
2026-06-04T17:03:14.9280576Z         },
2026-06-04T17:03:14.9280955Z         "unit": {
2026-06-04T17:03:14.9281370Z           "complete": true,
2026-06-04T17:03:14.9281816Z           "evidence": [
2026-06-04T17:03:14.9282227Z             {
2026-06-04T17:03:14.9282699Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9283258Z               "line": 366
2026-06-04T17:03:14.9289402Z             },
2026-06-04T17:03:14.9289864Z             {
2026-06-04T17:03:14.9290341Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9290947Z               "line": 380
2026-06-04T17:03:14.9291422Z             },
2026-06-04T17:03:14.9291832Z             {
2026-06-04T17:03:14.9292294Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9292844Z               "line": 416
2026-06-04T17:03:14.9293278Z             },
2026-06-04T17:03:14.9293670Z             {
2026-06-04T17:03:14.9294131Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-04T17:03:14.9294680Z               "line": 448
2026-06-04T17:03:14.9295101Z             }
2026-06-04T17:03:14.9295472Z           ]
2026-06-04T17:03:14.9295839Z         }
2026-06-04T17:03:14.9296206Z       }
2026-06-04T17:03:14.9296559Z     },
2026-06-04T17:03:14.9296913Z     {
2026-06-04T17:03:14.9297372Z       "id": "REQ-DAEMON-1",
2026-06-04T17:03:14.9298001Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T17:03:14.9298663Z       "requiredStages": [
2026-06-04T17:03:14.9299102Z         "impl",
2026-06-04T17:03:14.9299610Z         "unit",
2026-06-04T17:03:14.9300003Z         "int"
2026-06-04T17:03:14.9300386Z       ],
2026-06-04T17:03:14.9300762Z       "stages": {
2026-06-04T17:03:14.9301148Z         "doc": {
2026-06-04T17:03:14.9301577Z           "complete": false,
2026-06-04T17:03:14.9302032Z           "evidence": []
2026-06-04T17:03:14.9302453Z         },
2026-06-04T17:03:14.9302831Z         "impl": {
2026-06-04T17:03:14.9303251Z           "complete": true,
2026-06-04T17:03:14.9303707Z           "evidence": [
2026-06-04T17:03:14.9304121Z             {
2026-06-04T17:03:14.9304592Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:14.9305148Z               "line": 12
2026-06-04T17:03:14.9305565Z             },
2026-06-04T17:03:14.9305968Z             {
2026-06-04T17:03:14.9306723Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9307316Z               "line": 16
2026-06-04T17:03:14.9307740Z             },
2026-06-04T17:03:14.9308118Z             {
2026-06-04T17:03:14.9308583Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T17:03:14.9309132Z               "line": 15
2026-06-04T17:03:14.9309619Z             },
2026-06-04T17:03:14.9309997Z             {
2026-06-04T17:03:14.9310441Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T17:03:14.9310971Z               "line": 13
2026-06-04T17:03:14.9311390Z             }
2026-06-04T17:03:14.9311763Z           ]
2026-06-04T17:03:14.9312130Z         },
2026-06-04T17:03:14.9312501Z         "int": {
2026-06-04T17:03:14.9312923Z           "complete": true,
2026-06-04T17:03:14.9313374Z           "evidence": [
2026-06-04T17:03:14.9313786Z             {
2026-06-04T17:03:14.9314276Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:03:14.9315018Z               "line": 32
2026-06-04T17:03:14.9315439Z             }
2026-06-04T17:03:14.9315813Z           ]
2026-06-04T17:03:14.9316177Z         },
2026-06-04T17:03:14.9316548Z         "unit": {
2026-06-04T17:03:14.9316973Z           "complete": true,
2026-06-04T17:03:14.9317415Z           "evidence": [
2026-06-04T17:03:14.9317827Z             {
2026-06-04T17:03:14.9318306Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:14.9318857Z               "line": 254
2026-06-04T17:03:14.9319330Z             },
2026-06-04T17:03:14.9319713Z             {
2026-06-04T17:03:14.9320173Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:14.9320740Z               "line": 262
2026-06-04T17:03:14.9321148Z             },
2026-06-04T17:03:14.9321527Z             {
2026-06-04T17:03:14.9321988Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:14.9322547Z               "line": 275
2026-06-04T17:03:14.9322965Z             },
2026-06-04T17:03:14.9323370Z             {
2026-06-04T17:03:14.9323829Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:14.9324387Z               "line": 283
2026-06-04T17:03:14.9324806Z             },
2026-06-04T17:03:14.9325188Z             {
2026-06-04T17:03:14.9325662Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9331810Z               "line": 528
2026-06-04T17:03:14.9332371Z             },
2026-06-04T17:03:14.9332756Z             {
2026-06-04T17:03:14.9333240Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9333806Z               "line": 587
2026-06-04T17:03:14.9334242Z             },
2026-06-04T17:03:14.9334619Z             {
2026-06-04T17:03:14.9335075Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T17:03:14.9335619Z               "line": 100
2026-06-04T17:03:14.9336037Z             },
2026-06-04T17:03:14.9336410Z             {
2026-06-04T17:03:14.9336859Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T17:03:14.9337452Z               "line": 125
2026-06-04T17:03:14.9337873Z             }
2026-06-04T17:03:14.9338242Z           ]
2026-06-04T17:03:14.9338601Z         }
2026-06-04T17:03:14.9338960Z       }
2026-06-04T17:03:14.9339383Z     },
2026-06-04T17:03:14.9339735Z     {
2026-06-04T17:03:14.9340119Z       "id": "REQ-DAEMON-2",
2026-06-04T17:03:14.9340677Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T17:03:14.9341275Z       "requiredStages": [
2026-06-04T17:03:14.9341719Z         "impl",
2026-06-04T17:03:14.9342099Z         "unit",
2026-06-04T17:03:14.9342481Z         "int"
2026-06-04T17:03:14.9342851Z       ],
2026-06-04T17:03:14.9343219Z       "stages": {
2026-06-04T17:03:14.9343604Z         "doc": {
2026-06-04T17:03:14.9344007Z           "complete": false,
2026-06-04T17:03:14.9344463Z           "evidence": []
2026-06-04T17:03:14.9344873Z         },
2026-06-04T17:03:14.9345259Z         "impl": {
2026-06-04T17:03:14.9345662Z           "complete": true,
2026-06-04T17:03:14.9346359Z           "evidence": [
2026-06-04T17:03:14.9346786Z             {
2026-06-04T17:03:14.9347242Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:14.9347784Z               "line": 23
2026-06-04T17:03:14.9348200Z             },
2026-06-04T17:03:14.9348578Z             {
2026-06-04T17:03:14.9349044Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:14.9349640Z               "line": 489
2026-06-04T17:03:14.9350052Z             },
2026-06-04T17:03:14.9350431Z             {
2026-06-04T17:03:14.9350884Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:14.9351415Z               "line": 612
2026-06-04T17:03:14.9351829Z             },
2026-06-04T17:03:14.9352206Z             {
2026-06-04T17:03:14.9352665Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:14.9353212Z               "line": 32
2026-06-04T17:03:14.9353631Z             },
2026-06-04T17:03:14.9354004Z             {
2026-06-04T17:03:14.9354640Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:14.9355200Z               "line": 191
2026-06-04T17:03:14.9355625Z             },
2026-06-04T17:03:14.9355995Z             {
2026-06-04T17:03:14.9356450Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:14.9357004Z               "line": 510
2026-06-04T17:03:14.9357422Z             },
2026-06-04T17:03:14.9357795Z             {
2026-06-04T17:03:14.9358252Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:14.9358791Z               "line": 679
2026-06-04T17:03:14.9359242Z             },
2026-06-04T17:03:14.9359622Z             {
2026-06-04T17:03:14.9360079Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:03:14.9360630Z               "line": 11
2026-06-04T17:03:14.9361050Z             },
2026-06-04T17:03:14.9361427Z             {
2026-06-04T17:03:14.9361891Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T17:03:14.9362434Z               "line": 53
2026-06-04T17:03:14.9362873Z             },
2026-06-04T17:03:14.9363245Z             {
2026-06-04T17:03:14.9363685Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9364225Z               "line": 13
2026-06-04T17:03:14.9364646Z             },
2026-06-04T17:03:14.9365023Z             {
2026-06-04T17:03:14.9365479Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9366031Z               "line": 27
2026-06-04T17:03:14.9366436Z             },
2026-06-04T17:03:14.9366812Z             {
2026-06-04T17:03:14.9367271Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9367821Z               "line": 94
2026-06-04T17:03:14.9368247Z             },
2026-06-04T17:03:14.9373953Z             {
2026-06-04T17:03:14.9374542Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9375104Z               "line": 393
2026-06-04T17:03:14.9375526Z             },
2026-06-04T17:03:14.9375903Z             {
2026-06-04T17:03:14.9376416Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9376969Z               "line": 460
2026-06-04T17:03:14.9377389Z             },
2026-06-04T17:03:14.9377767Z             {
2026-06-04T17:03:14.9378229Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9378770Z               "line": 494
2026-06-04T17:03:14.9379260Z             },
2026-06-04T17:03:14.9379638Z             {
2026-06-04T17:03:14.9380090Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9380636Z               "line": 536
2026-06-04T17:03:14.9381103Z             },
2026-06-04T17:03:14.9381499Z             {
2026-06-04T17:03:14.9381953Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9382501Z               "line": 581
2026-06-04T17:03:14.9382916Z             },
2026-06-04T17:03:14.9383283Z             {
2026-06-04T17:03:14.9383751Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:03:14.9384331Z               "line": 10
2026-06-04T17:03:14.9384988Z             }
2026-06-04T17:03:14.9385400Z           ]
2026-06-04T17:03:14.9385764Z         },
2026-06-04T17:03:14.9386123Z         "int": {
2026-06-04T17:03:14.9386532Z           "complete": true,
2026-06-04T17:03:14.9386978Z           "evidence": [
2026-06-04T17:03:14.9387379Z             {
2026-06-04T17:03:14.9387840Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T17:03:14.9388392Z               "line": 17
2026-06-04T17:03:14.9388819Z             },
2026-06-04T17:03:14.9389246Z             {
2026-06-04T17:03:14.9389729Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:03:14.9390301Z               "line": 33
2026-06-04T17:03:14.9390710Z             },
2026-06-04T17:03:14.9391087Z             {
2026-06-04T17:03:14.9391553Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T17:03:14.9392111Z               "line": 19
2026-06-04T17:03:14.9392522Z             },
2026-06-04T17:03:14.9393136Z             {
2026-06-04T17:03:14.9393625Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:03:14.9394196Z               "line": 70
2026-06-04T17:03:14.9394613Z             },
2026-06-04T17:03:14.9394988Z             {
2026-06-04T17:03:14.9395462Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:03:14.9396026Z               "line": 90
2026-06-04T17:03:14.9396444Z             },
2026-06-04T17:03:14.9396820Z             {
2026-06-04T17:03:14.9397300Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:03:14.9397869Z               "line": 160
2026-06-04T17:03:14.9398291Z             },
2026-06-04T17:03:14.9398666Z             {
2026-06-04T17:03:14.9399144Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:03:14.9400465Z               "line": 196
2026-06-04T17:03:14.9400897Z             },
2026-06-04T17:03:14.9401288Z             {
2026-06-04T17:03:14.9401762Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T17:03:14.9402368Z               "line": 121
2026-06-04T17:03:14.9402781Z             }
2026-06-04T17:03:14.9403151Z           ]
2026-06-04T17:03:14.9403513Z         },
2026-06-04T17:03:14.9403878Z         "unit": {
2026-06-04T17:03:14.9404290Z           "complete": true,
2026-06-04T17:03:14.9404736Z           "evidence": [
2026-06-04T17:03:14.9405163Z             {
2026-06-04T17:03:14.9405626Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:03:14.9406167Z               "line": 62
2026-06-04T17:03:14.9406584Z             },
2026-06-04T17:03:14.9406953Z             {
2026-06-04T17:03:14.9407402Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:03:14.9407943Z               "line": 76
2026-06-04T17:03:14.9408365Z             },
2026-06-04T17:03:14.9408749Z             {
2026-06-04T17:03:14.9409250Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T17:03:14.9409805Z               "line": 88
2026-06-04T17:03:14.9410222Z             },
2026-06-04T17:03:14.9410620Z             {
2026-06-04T17:03:14.9411082Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:03:14.9411634Z               "line": 264
2026-06-04T17:03:14.9412053Z             },
2026-06-04T17:03:14.9418064Z             {
2026-06-04T17:03:14.9418585Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9419139Z               "line": 506
2026-06-04T17:03:14.9419670Z             },
2026-06-04T17:03:14.9420049Z             {
2026-06-04T17:03:14.9420505Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9421047Z               "line": 514
2026-06-04T17:03:14.9421462Z             },
2026-06-04T17:03:14.9421842Z             {
2026-06-04T17:03:14.9422304Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9422837Z               "line": 531
2026-06-04T17:03:14.9423253Z             },
2026-06-04T17:03:14.9423626Z             {
2026-06-04T17:03:14.9424071Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9424918Z               "line": 576
2026-06-04T17:03:14.9425375Z             },
2026-06-04T17:03:14.9425754Z             {
2026-06-04T17:03:14.9426220Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9426770Z               "line": 648
2026-06-04T17:03:14.9427190Z             },
2026-06-04T17:03:14.9427565Z             {
2026-06-04T17:03:14.9428030Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9428586Z               "line": 660
2026-06-04T17:03:14.9429002Z             },
2026-06-04T17:03:14.9429419Z             {
2026-06-04T17:03:14.9429896Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:03:14.9430467Z               "line": 112
2026-06-04T17:03:14.9430880Z             }
2026-06-04T17:03:14.9431256Z           ]
2026-06-04T17:03:14.9431612Z         }
2026-06-04T17:03:14.9431976Z       }
2026-06-04T17:03:14.9432329Z     },
2026-06-04T17:03:14.9432680Z     {
2026-06-04T17:03:14.9433062Z       "id": "REQ-DAEMON-3",
2026-06-04T17:03:14.9433843Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T17:03:14.9434485Z       "requiredStages": [
2026-06-04T17:03:14.9434916Z         "impl",
2026-06-04T17:03:14.9435304Z         "unit",
2026-06-04T17:03:14.9435691Z         "int"
2026-06-04T17:03:14.9436059Z       ],
2026-06-04T17:03:14.9436424Z       "stages": {
2026-06-04T17:03:14.9436815Z         "doc": {
2026-06-04T17:03:14.9437222Z           "complete": false,
2026-06-04T17:03:14.9437683Z           "evidence": []
2026-06-04T17:03:14.9438095Z         },
2026-06-04T17:03:14.9438461Z         "impl": {
2026-06-04T17:03:14.9438868Z           "complete": true,
2026-06-04T17:03:14.9439363Z           "evidence": [
2026-06-04T17:03:14.9439774Z             {
2026-06-04T17:03:14.9440241Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T17:03:14.9440790Z               "line": 14
2026-06-04T17:03:14.9441215Z             },
2026-06-04T17:03:14.9441598Z             {
2026-06-04T17:03:14.9442090Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T17:03:14.9442654Z               "line": 11
2026-06-04T17:03:14.9443077Z             },
2026-06-04T17:03:14.9443453Z             {
2026-06-04T17:03:14.9443887Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:14.9444408Z               "line": 236
2026-06-04T17:03:14.9444822Z             },
2026-06-04T17:03:14.9445202Z             {
2026-06-04T17:03:14.9445629Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9446148Z               "line": 812
2026-06-04T17:03:14.9446565Z             }
2026-06-04T17:03:14.9446941Z           ]
2026-06-04T17:03:14.9447308Z         },
2026-06-04T17:03:14.9447681Z         "int": {
2026-06-04T17:03:14.9448091Z           "complete": true,
2026-06-04T17:03:14.9448545Z           "evidence": [
2026-06-04T17:03:14.9448951Z             {
2026-06-04T17:03:14.9449462Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:14.9450015Z               "line": 43
2026-06-04T17:03:14.9450455Z             },
2026-06-04T17:03:14.9450840Z             {
2026-06-04T17:03:14.9451299Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:14.9451856Z               "line": 320
2026-06-04T17:03:14.9452266Z             }
2026-06-04T17:03:14.9452647Z           ]
2026-06-04T17:03:14.9453007Z         },
2026-06-04T17:03:14.9453379Z         "unit": {
2026-06-04T17:03:14.9453793Z           "complete": true,
2026-06-04T17:03:14.9454242Z           "evidence": [
2026-06-04T17:03:14.9460213Z             {
2026-06-04T17:03:14.9460735Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T17:03:14.9461309Z               "line": 242
2026-06-04T17:03:14.9461738Z             }
2026-06-04T17:03:14.9462114Z           ]
2026-06-04T17:03:14.9462481Z         }
2026-06-04T17:03:14.9462840Z       }
2026-06-04T17:03:14.9463196Z     },
2026-06-04T17:03:14.9463554Z     {
2026-06-04T17:03:14.9463933Z       "id": "REQ-DAEMON-4",
2026-06-04T17:03:14.9464738Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T17:03:14.9465331Z       "requiredStages": [
2026-06-04T17:03:14.9465761Z         "impl",
2026-06-04T17:03:14.9466140Z         "unit",
2026-06-04T17:03:14.9466521Z         "int"
2026-06-04T17:03:14.9466891Z       ],
2026-06-04T17:03:14.9467253Z       "stages": {
2026-06-04T17:03:14.9467637Z         "doc": {
2026-06-04T17:03:14.9468040Z           "complete": false,
2026-06-04T17:03:14.9468493Z           "evidence": []
2026-06-04T17:03:14.9468905Z         },
2026-06-04T17:03:14.9469347Z         "impl": {
2026-06-04T17:03:14.9469758Z           "complete": true,
2026-06-04T17:03:14.9470198Z           "evidence": [
2026-06-04T17:03:14.9470601Z             {
2026-06-04T17:03:14.9471063Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9471630Z               "line": 339
2026-06-04T17:03:14.9472041Z             },
2026-06-04T17:03:14.9472419Z             {
2026-06-04T17:03:14.9472897Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9473627Z               "line": 401
2026-06-04T17:03:14.9474048Z             },
2026-06-04T17:03:14.9474425Z             {
2026-06-04T17:03:14.9474892Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9475445Z               "line": 423
2026-06-04T17:03:14.9475855Z             }
2026-06-04T17:03:14.9476219Z           ]
2026-06-04T17:03:14.9476588Z         },
2026-06-04T17:03:14.9476963Z         "int": {
2026-06-04T17:03:14.9477370Z           "complete": true,
2026-06-04T17:03:14.9477812Z           "evidence": [
2026-06-04T17:03:14.9478232Z             {
2026-06-04T17:03:14.9478714Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:03:14.9479327Z               "line": 34
2026-06-04T17:03:14.9479745Z             }
2026-06-04T17:03:14.9480121Z           ]
2026-06-04T17:03:14.9480489Z         },
2026-06-04T17:03:14.9480856Z         "unit": {
2026-06-04T17:03:14.9481264Z           "complete": true,
2026-06-04T17:03:14.9481720Z           "evidence": [
2026-06-04T17:03:14.9482136Z             {
2026-06-04T17:03:14.9482605Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:14.9483216Z               "line": 353
2026-06-04T17:03:14.9483644Z             },
2026-06-04T17:03:14.9484019Z             {
2026-06-04T17:03:14.9484500Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9485070Z               "line": 717
2026-06-04T17:03:14.9485485Z             },
2026-06-04T17:03:14.9485858Z             {
2026-06-04T17:03:14.9486319Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9486871Z               "line": 768
2026-06-04T17:03:14.9487284Z             },
2026-06-04T17:03:14.9487677Z             {
2026-06-04T17:03:14.9488154Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9488711Z               "line": 792
2026-06-04T17:03:14.9489132Z             },
2026-06-04T17:03:14.9489558Z             {
2026-06-04T17:03:14.9490053Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9490609Z               "line": 822
2026-06-04T17:03:14.9491019Z             }
2026-06-04T17:03:14.9491391Z           ]
2026-06-04T17:03:14.9491769Z         }
2026-06-04T17:03:14.9492131Z       }
2026-06-04T17:03:14.9492477Z     },
2026-06-04T17:03:14.9492829Z     {
2026-06-04T17:03:14.9493237Z       "id": "REQ-DOCS-1",
2026-06-04T17:03:14.9493913Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T17:03:14.9494649Z       "requiredStages": [],
2026-06-04T17:03:14.9495091Z       "stages": {
2026-06-04T17:03:14.9495478Z         "doc": {
2026-06-04T17:03:14.9495898Z           "complete": false,
2026-06-04T17:03:14.9502057Z           "evidence": []
2026-06-04T17:03:14.9502520Z         },
2026-06-04T17:03:14.9502902Z         "impl": {
2026-06-04T17:03:14.9503315Z           "complete": false,
2026-06-04T17:03:14.9503774Z           "evidence": []
2026-06-04T17:03:14.9504191Z         },
2026-06-04T17:03:14.9504603Z         "int": {
2026-06-04T17:03:14.9505268Z           "complete": false,
2026-06-04T17:03:14.9505769Z           "evidence": []
2026-06-04T17:03:14.9506185Z         },
2026-06-04T17:03:14.9506560Z         "unit": {
2026-06-04T17:03:14.9506961Z           "complete": false,
2026-06-04T17:03:14.9507408Z           "evidence": []
2026-06-04T17:03:14.9507815Z         }
2026-06-04T17:03:14.9508171Z       }
2026-06-04T17:03:14.9508522Z     },
2026-06-04T17:03:14.9508871Z     {
2026-06-04T17:03:14.9509317Z       "id": "REQ-DOCS-2",
2026-06-04T17:03:14.9509924Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T17:03:14.9510583Z       "requiredStages": [],
2026-06-04T17:03:14.9511035Z       "stages": {
2026-06-04T17:03:14.9511421Z         "doc": {
2026-06-04T17:03:14.9511837Z           "complete": false,
2026-06-04T17:03:14.9512295Z           "evidence": []
2026-06-04T17:03:14.9512702Z         },
2026-06-04T17:03:14.9513072Z         "impl": {
2026-06-04T17:03:14.9513646Z           "complete": false,
2026-06-04T17:03:14.9514114Z           "evidence": []
2026-06-04T17:03:14.9514530Z         },
2026-06-04T17:03:14.9514897Z         "int": {
2026-06-04T17:03:14.9515301Z           "complete": false,
2026-06-04T17:03:14.9515750Z           "evidence": []
2026-06-04T17:03:14.9516166Z         },
2026-06-04T17:03:14.9516540Z         "unit": {
2026-06-04T17:03:14.9516951Z           "complete": false,
2026-06-04T17:03:14.9517133Z           "evidence": []
2026-06-04T17:03:14.9517302Z         }
2026-06-04T17:03:14.9517459Z       }
2026-06-04T17:03:14.9517627Z     },
2026-06-04T17:03:14.9517785Z     {
2026-06-04T17:03:14.9517978Z       "id": "REQ-DOCS-3",
2026-06-04T17:03:14.9518829Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T17:03:14.9519047Z       "requiredStages": [],
2026-06-04T17:03:14.9521132Z       "stages": {
2026-06-04T17:03:14.9521383Z         "doc": {
2026-06-04T17:03:14.9521586Z           "complete": false,
2026-06-04T17:03:14.9521802Z           "evidence": []
2026-06-04T17:03:14.9521991Z         },
2026-06-04T17:03:14.9522172Z         "impl": {
2026-06-04T17:03:14.9522364Z           "complete": false,
2026-06-04T17:03:14.9522554Z           "evidence": []
2026-06-04T17:03:14.9522722Z         },
2026-06-04T17:03:14.9522899Z         "int": {
2026-06-04T17:03:14.9523091Z           "complete": false,
2026-06-04T17:03:14.9523285Z           "evidence": []
2026-06-04T17:03:14.9523454Z         },
2026-06-04T17:03:14.9523625Z         "unit": {
2026-06-04T17:03:14.9523820Z           "complete": false,
2026-06-04T17:03:14.9524003Z           "evidence": []
2026-06-04T17:03:14.9524169Z         }
2026-06-04T17:03:14.9524334Z       }
2026-06-04T17:03:14.9524502Z     },
2026-06-04T17:03:14.9524672Z     {
2026-06-04T17:03:14.9524854Z       "id": "REQ-DOCS-4",
2026-06-04T17:03:14.9525289Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T17:03:14.9525485Z       "requiredStages": [],
2026-06-04T17:03:14.9525666Z       "stages": {
2026-06-04T17:03:14.9525855Z         "doc": {
2026-06-04T17:03:14.9526056Z           "complete": false,
2026-06-04T17:03:14.9526243Z           "evidence": []
2026-06-04T17:03:14.9526408Z         },
2026-06-04T17:03:14.9526587Z         "impl": {
2026-06-04T17:03:14.9526774Z           "complete": false,
2026-06-04T17:03:14.9526962Z           "evidence": []
2026-06-04T17:03:14.9527125Z         },
2026-06-04T17:03:14.9527302Z         "int": {
2026-06-04T17:03:14.9527501Z           "complete": false,
2026-06-04T17:03:14.9527683Z           "evidence": []
2026-06-04T17:03:14.9527851Z         },
2026-06-04T17:03:14.9528020Z         "unit": {
2026-06-04T17:03:14.9528218Z           "complete": false,
2026-06-04T17:03:14.9528398Z           "evidence": []
2026-06-04T17:03:14.9528566Z         }
2026-06-04T17:03:14.9528737Z       }
2026-06-04T17:03:14.9528894Z     },
2026-06-04T17:03:14.9529064Z     {
2026-06-04T17:03:14.9529310Z       "id": "REQ-DOCS-5",
2026-06-04T17:03:14.9530043Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T17:03:14.9530284Z       "requiredStages": [],
2026-06-04T17:03:14.9530468Z       "stages": {
2026-06-04T17:03:14.9530655Z         "doc": {
2026-06-04T17:03:14.9530846Z           "complete": false,
2026-06-04T17:03:14.9531036Z           "evidence": []
2026-06-04T17:03:14.9531194Z         },
2026-06-04T17:03:14.9531373Z         "impl": {
2026-06-04T17:03:14.9531563Z           "complete": false,
2026-06-04T17:03:14.9531755Z           "evidence": []
2026-06-04T17:03:14.9531926Z         },
2026-06-04T17:03:14.9532093Z         "int": {
2026-06-04T17:03:14.9532283Z           "complete": false,
2026-06-04T17:03:14.9532464Z           "evidence": []
2026-06-04T17:03:14.9532636Z         },
2026-06-04T17:03:14.9532800Z         "unit": {
2026-06-04T17:03:14.9532993Z           "complete": false,
2026-06-04T17:03:14.9533182Z           "evidence": []
2026-06-04T17:03:14.9533346Z         }
2026-06-04T17:03:14.9533514Z       }
2026-06-04T17:03:14.9533824Z     },
2026-06-04T17:03:14.9533996Z     {
2026-06-04T17:03:14.9534223Z       "id": "REQ-EP-1",
2026-06-04T17:03:14.9534519Z       "title": "Day-one endpoint types; open type system",
2026-06-04T17:03:14.9534722Z       "requiredStages": [
2026-06-04T17:03:14.9534896Z         "impl",
2026-06-04T17:03:14.9535074Z         "unit"
2026-06-04T17:03:14.9535232Z       ],
2026-06-04T17:03:14.9535410Z       "stages": {
2026-06-04T17:03:14.9535576Z         "doc": {
2026-06-04T17:03:14.9535779Z           "complete": false,
2026-06-04T17:03:14.9535976Z           "evidence": []
2026-06-04T17:03:14.9536138Z         },
2026-06-04T17:03:14.9536314Z         "impl": {
2026-06-04T17:03:14.9536506Z           "complete": true,
2026-06-04T17:03:14.9536695Z           "evidence": [
2026-06-04T17:03:14.9536858Z             {
2026-06-04T17:03:14.9537134Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9537325Z               "line": 77
2026-06-04T17:03:14.9537497Z             },
2026-06-04T17:03:14.9537690Z             {
2026-06-04T17:03:14.9543986Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9544284Z               "line": 94
2026-06-04T17:03:14.9544459Z             }
2026-06-04T17:03:14.9544644Z           ]
2026-06-04T17:03:14.9544817Z         },
2026-06-04T17:03:14.9544986Z         "int": {
2026-06-04T17:03:14.9545187Z           "complete": false,
2026-06-04T17:03:14.9545374Z           "evidence": []
2026-06-04T17:03:14.9545548Z         },
2026-06-04T17:03:14.9545722Z         "unit": {
2026-06-04T17:03:14.9545919Z           "complete": true,
2026-06-04T17:03:14.9546105Z           "evidence": [
2026-06-04T17:03:14.9546265Z             {
2026-06-04T17:03:14.9546547Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9546732Z               "line": 161
2026-06-04T17:03:14.9546903Z             },
2026-06-04T17:03:14.9547068Z             {
2026-06-04T17:03:14.9547332Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9547520Z               "line": 178
2026-06-04T17:03:14.9547704Z             }
2026-06-04T17:03:14.9547874Z           ]
2026-06-04T17:03:14.9548033Z         }
2026-06-04T17:03:14.9548197Z       }
2026-06-04T17:03:14.9548352Z     },
2026-06-04T17:03:14.9548521Z     {
2026-06-04T17:03:14.9548713Z       "id": "REQ-EP-2",
2026-06-04T17:03:14.9549066Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T17:03:14.9549363Z       "requiredStages": [
2026-06-04T17:03:14.9549541Z         "impl",
2026-06-04T17:03:14.9549742Z         "unit"
2026-06-04T17:03:14.9549932Z       ],
2026-06-04T17:03:14.9550113Z       "stages": {
2026-06-04T17:03:14.9550287Z         "doc": {
2026-06-04T17:03:14.9550480Z           "complete": false,
2026-06-04T17:03:14.9550665Z           "evidence": []
2026-06-04T17:03:14.9550825Z         },
2026-06-04T17:03:14.9551005Z         "impl": {
2026-06-04T17:03:14.9551189Z           "complete": true,
2026-06-04T17:03:14.9551372Z           "evidence": [
2026-06-04T17:03:14.9551568Z             {
2026-06-04T17:03:14.9552096Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9552319Z               "line": 114
2026-06-04T17:03:14.9552486Z             },
2026-06-04T17:03:14.9552655Z             {
2026-06-04T17:03:14.9552916Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9553111Z               "line": 131
2026-06-04T17:03:14.9553283Z             },
2026-06-04T17:03:14.9553449Z             {
2026-06-04T17:03:14.9553708Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9553884Z               "line": 138
2026-06-04T17:03:14.9554051Z             }
2026-06-04T17:03:14.9554213Z           ]
2026-06-04T17:03:14.9554383Z         },
2026-06-04T17:03:14.9554557Z         "int": {
2026-06-04T17:03:14.9554743Z           "complete": false,
2026-06-04T17:03:14.9554928Z           "evidence": []
2026-06-04T17:03:14.9555091Z         },
2026-06-04T17:03:14.9555268Z         "unit": {
2026-06-04T17:03:14.9555458Z           "complete": true,
2026-06-04T17:03:14.9555805Z           "evidence": [
2026-06-04T17:03:14.9555981Z             {
2026-06-04T17:03:14.9556239Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9556426Z               "line": 193
2026-06-04T17:03:14.9556591Z             },
2026-06-04T17:03:14.9556763Z             {
2026-06-04T17:03:14.9557017Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9557200Z               "line": 211
2026-06-04T17:03:14.9557371Z             },
2026-06-04T17:03:14.9557533Z             {
2026-06-04T17:03:14.9557794Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T17:03:14.9557972Z               "line": 224
2026-06-04T17:03:14.9558145Z             }
2026-06-04T17:03:14.9558316Z           ]
2026-06-04T17:03:14.9558487Z         }
2026-06-04T17:03:14.9558659Z       }
2026-06-04T17:03:14.9558822Z     },
2026-06-04T17:03:14.9558987Z     {
2026-06-04T17:03:14.9559223Z       "id": "REQ-EP-3",
2026-06-04T17:03:14.9559677Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T17:03:14.9559882Z       "requiredStages": [
2026-06-04T17:03:14.9560068Z         "impl",
2026-06-04T17:03:14.9560240Z         "unit"
2026-06-04T17:03:14.9560405Z       ],
2026-06-04T17:03:14.9560583Z       "stages": {
2026-06-04T17:03:14.9560750Z         "doc": {
2026-06-04T17:03:14.9560943Z           "complete": false,
2026-06-04T17:03:14.9561126Z           "evidence": []
2026-06-04T17:03:14.9561294Z         },
2026-06-04T17:03:14.9561470Z         "impl": {
2026-06-04T17:03:14.9561655Z           "complete": true,
2026-06-04T17:03:14.9561839Z           "evidence": [
2026-06-04T17:03:14.9562003Z             {
2026-06-04T17:03:14.9562269Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9562444Z               "line": 31
2026-06-04T17:03:14.9562618Z             },
2026-06-04T17:03:14.9562795Z             {
2026-06-04T17:03:14.9563046Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9563260Z               "line": 49
2026-06-04T17:03:14.9563425Z             }
2026-06-04T17:03:14.9563594Z           ]
2026-06-04T17:03:14.9563754Z         },
2026-06-04T17:03:14.9563930Z         "int": {
2026-06-04T17:03:14.9564128Z           "complete": false,
2026-06-04T17:03:14.9564306Z           "evidence": []
2026-06-04T17:03:14.9564474Z         },
2026-06-04T17:03:14.9564641Z         "unit": {
2026-06-04T17:03:14.9564839Z           "complete": true,
2026-06-04T17:03:14.9565020Z           "evidence": [
2026-06-04T17:03:14.9565196Z             {
2026-06-04T17:03:14.9565455Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9565639Z               "line": 156
2026-06-04T17:03:14.9565812Z             },
2026-06-04T17:03:14.9565978Z             {
2026-06-04T17:03:14.9566230Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9566409Z               "line": 164
2026-06-04T17:03:14.9566581Z             },
2026-06-04T17:03:14.9566750Z             {
2026-06-04T17:03:14.9567151Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9567362Z               "line": 177
2026-06-04T17:03:14.9567525Z             },
2026-06-04T17:03:14.9567703Z             {
2026-06-04T17:03:14.9567952Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9568143Z               "line": 197
2026-06-04T17:03:14.9568318Z             },
2026-06-04T17:03:14.9568487Z             {
2026-06-04T17:03:14.9568744Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9568922Z               "line": 213
2026-06-04T17:03:14.9569097Z             },
2026-06-04T17:03:14.9569303Z             {
2026-06-04T17:03:14.9569570Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T17:03:14.9569760Z               "line": 227
2026-06-04T17:03:14.9569925Z             }
2026-06-04T17:03:14.9570093Z           ]
2026-06-04T17:03:14.9570250Z         }
2026-06-04T17:03:14.9570425Z       }
2026-06-04T17:03:14.9570580Z     },
2026-06-04T17:03:14.9570881Z     {
2026-06-04T17:03:14.9571079Z       "id": "REQ-EP-4",
2026-06-04T17:03:14.9571401Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T17:03:14.9571596Z       "requiredStages": [
2026-06-04T17:03:14.9571766Z         "impl",
2026-06-04T17:03:14.9571939Z         "unit"
2026-06-04T17:03:14.9572104Z       ],
2026-06-04T17:03:14.9572283Z       "stages": {
2026-06-04T17:03:14.9572459Z         "doc": {
2026-06-04T17:03:14.9572644Z           "complete": false,
2026-06-04T17:03:14.9572830Z           "evidence": []
2026-06-04T17:03:14.9572993Z         },
2026-06-04T17:03:14.9573172Z         "impl": {
2026-06-04T17:03:14.9573356Z           "complete": true,
2026-06-04T17:03:14.9573542Z           "evidence": [
2026-06-04T17:03:14.9573716Z             {
2026-06-04T17:03:14.9573961Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:14.9574145Z               "line": 419
2026-06-04T17:03:14.9574309Z             },
2026-06-04T17:03:14.9574496Z             {
2026-06-04T17:03:14.9574755Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:14.9574948Z               "line": 631
2026-06-04T17:03:14.9575124Z             },
2026-06-04T17:03:14.9575284Z             {
2026-06-04T17:03:14.9575538Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:14.9575715Z               "line": 696
2026-06-04T17:03:14.9581425Z             },
2026-06-04T17:03:14.9581699Z             {
2026-06-04T17:03:14.9581973Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9582165Z               "line": 83
2026-06-04T17:03:14.9582336Z             },
2026-06-04T17:03:14.9582507Z             {
2026-06-04T17:03:14.9582750Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9582935Z               "line": 407
2026-06-04T17:03:14.9583103Z             },
2026-06-04T17:03:14.9583280Z             {
2026-06-04T17:03:14.9583533Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9583791Z               "line": 478
2026-06-04T17:03:14.9584013Z             },
2026-06-04T17:03:14.9584197Z             {
2026-06-04T17:03:14.9584470Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9584661Z               "line": 181
2026-06-04T17:03:14.9584827Z             },
2026-06-04T17:03:14.9585000Z             {
2026-06-04T17:03:14.9585249Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9585437Z               "line": 306
2026-06-04T17:03:14.9585602Z             },
2026-06-04T17:03:14.9585772Z             {
2026-06-04T17:03:14.9586027Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T17:03:14.9586211Z               "line": 613
2026-06-04T17:03:14.9586384Z             }
2026-06-04T17:03:14.9586544Z           ]
2026-06-04T17:03:14.9586712Z         },
2026-06-04T17:03:14.9586877Z         "int": {
2026-06-04T17:03:14.9587076Z           "complete": false,
2026-06-04T17:03:14.9587265Z           "evidence": []
2026-06-04T17:03:14.9587441Z         },
2026-06-04T17:03:14.9587868Z         "unit": {
2026-06-04T17:03:14.9588078Z           "complete": true,
2026-06-04T17:03:14.9588263Z           "evidence": [
2026-06-04T17:03:14.9588424Z             {
2026-06-04T17:03:14.9588671Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T17:03:14.9588857Z               "line": 551
2026-06-04T17:03:14.9589018Z             },
2026-06-04T17:03:14.9589245Z             {
2026-06-04T17:03:14.9589523Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T17:03:14.9589715Z               "line": 75
2026-06-04T17:03:14.9589882Z             },
2026-06-04T17:03:14.9590055Z             {
2026-06-04T17:03:14.9590329Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T17:03:14.9590507Z               "line": 131
2026-06-04T17:03:14.9590683Z             }
2026-06-04T17:03:14.9590843Z           ]
2026-06-04T17:03:14.9591013Z         }
2026-06-04T17:03:14.9591173Z       }
2026-06-04T17:03:14.9591335Z     },
2026-06-04T17:03:14.9591658Z     {
2026-06-04T17:03:14.9591852Z       "id": "REQ-EP-5",
2026-06-04T17:03:14.9593305Z       "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:03:14.9593496Z       "requiredStages": [
2026-06-04T17:03:14.9593680Z         "impl",
2026-06-04T17:03:14.9593846Z         "unit"
2026-06-04T17:03:14.9594015Z       ],
2026-06-04T17:03:14.9594196Z       "stages": {
2026-06-04T17:03:14.9594366Z         "doc": {
2026-06-04T17:03:14.9594565Z           "complete": false,
2026-06-04T17:03:14.9594750Z           "evidence": []
2026-06-04T17:03:14.9594921Z         },
2026-06-04T17:03:14.9595091Z         "impl": {
2026-06-04T17:03:14.9595284Z           "complete": true,
2026-06-04T17:03:14.9595469Z           "evidence": [
2026-06-04T17:03:14.9595628Z             {
2026-06-04T17:03:14.9595907Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9596100Z               "line": 22
2026-06-04T17:03:14.9596271Z             },
2026-06-04T17:03:14.9596437Z             {
2026-06-04T17:03:14.9596698Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9596886Z               "line": 129
2026-06-04T17:03:14.9597050Z             },
2026-06-04T17:03:14.9597218Z             {
2026-06-04T17:03:14.9597473Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9597661Z               "line": 156
2026-06-04T17:03:14.9597830Z             },
2026-06-04T17:03:14.9597990Z             {
2026-06-04T17:03:14.9598250Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9598430Z               "line": 178
2026-06-04T17:03:14.9598604Z             },
2026-06-04T17:03:14.9598765Z             {
2026-06-04T17:03:14.9599024Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9599254Z               "line": 203
2026-06-04T17:03:14.9599441Z             },
2026-06-04T17:03:14.9599615Z             {
2026-06-04T17:03:14.9599870Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9600057Z               "line": 226
2026-06-04T17:03:14.9600221Z             },
2026-06-04T17:03:14.9600391Z             {
2026-06-04T17:03:14.9600650Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9600830Z               "line": 246
2026-06-04T17:03:14.9601002Z             },
2026-06-04T17:03:14.9601162Z             {
2026-06-04T17:03:14.9601393Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9601572Z               "line": 1634
2026-06-04T17:03:14.9601745Z             }
2026-06-04T17:03:14.9601915Z           ]
2026-06-04T17:03:14.9602075Z         },
2026-06-04T17:03:14.9602251Z         "int": {
2026-06-04T17:03:14.9602441Z           "complete": false,
2026-06-04T17:03:14.9602630Z           "evidence": []
2026-06-04T17:03:14.9602793Z         },
2026-06-04T17:03:14.9602983Z         "unit": {
2026-06-04T17:03:14.9603365Z           "complete": true,
2026-06-04T17:03:14.9603566Z           "evidence": [
2026-06-04T17:03:14.9603738Z             {
2026-06-04T17:03:14.9603995Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9604184Z               "line": 262
2026-06-04T17:03:14.9604350Z             },
2026-06-04T17:03:14.9604518Z             {
2026-06-04T17:03:14.9604787Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:14.9604969Z               "line": 285
2026-06-04T17:03:14.9605135Z             },
2026-06-04T17:03:14.9605298Z             {
2026-06-04T17:03:14.9605521Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9605699Z               "line": 2316
2026-06-04T17:03:14.9605872Z             },
2026-06-04T17:03:14.9606041Z             {
2026-06-04T17:03:14.9606261Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9606451Z               "line": 2374
2026-06-04T17:03:14.9606614Z             }
2026-06-04T17:03:14.9606929Z           ]
2026-06-04T17:03:14.9607095Z         }
2026-06-04T17:03:14.9607266Z       }
2026-06-04T17:03:14.9607434Z     },
2026-06-04T17:03:14.9607591Z     {
2026-06-04T17:03:14.9607786Z       "id": "REQ-FRONT-1",
2026-06-04T17:03:14.9608156Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T17:03:14.9608365Z       "requiredStages": [],
2026-06-04T17:03:14.9608539Z       "stages": {
2026-06-04T17:03:14.9608714Z         "doc": {
2026-06-04T17:03:14.9608910Z           "complete": false,
2026-06-04T17:03:14.9609088Z           "evidence": []
2026-06-04T17:03:14.9609302Z         },
2026-06-04T17:03:14.9609472Z         "impl": {
2026-06-04T17:03:14.9609668Z           "complete": false,
2026-06-04T17:03:14.9609848Z           "evidence": []
2026-06-04T17:03:14.9610018Z         },
2026-06-04T17:03:14.9610190Z         "int": {
2026-06-04T17:03:14.9610375Z           "complete": false,
2026-06-04T17:03:14.9610564Z           "evidence": []
2026-06-04T17:03:14.9610746Z         },
2026-06-04T17:03:14.9610936Z         "unit": {
2026-06-04T17:03:14.9611122Z           "complete": false,
2026-06-04T17:03:14.9611309Z           "evidence": []
2026-06-04T17:03:14.9611478Z         }
2026-06-04T17:03:14.9611639Z       }
2026-06-04T17:03:14.9611809Z     },
2026-06-04T17:03:14.9611964Z     {
2026-06-04T17:03:14.9612232Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T17:03:14.9612599Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T17:03:14.9612804Z       "requiredStages": [
2026-06-04T17:03:14.9612980Z         "impl",
2026-06-04T17:03:14.9613145Z         "unit"
2026-06-04T17:03:14.9613314Z       ],
2026-06-04T17:03:14.9613490Z       "stages": {
2026-06-04T17:03:14.9613664Z         "doc": {
2026-06-04T17:03:14.9613853Z           "complete": false,
2026-06-04T17:03:14.9614046Z           "evidence": []
2026-06-04T17:03:14.9614214Z         },
2026-06-04T17:03:14.9614384Z         "impl": {
2026-06-04T17:03:14.9620130Z           "complete": true,
2026-06-04T17:03:14.9620465Z           "evidence": [
2026-06-04T17:03:14.9620650Z             {
2026-06-04T17:03:14.9620927Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9621129Z               "line": 119
2026-06-04T17:03:14.9621300Z             },
2026-06-04T17:03:14.9621466Z             {
2026-06-04T17:03:14.9621717Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9621895Z               "line": 18
2026-06-04T17:03:14.9622070Z             },
2026-06-04T17:03:14.9622234Z             {
2026-06-04T17:03:14.9622483Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9622668Z               "line": 94
2026-06-04T17:03:14.9622834Z             }
2026-06-04T17:03:14.9623004Z           ]
2026-06-04T17:03:14.9623160Z         },
2026-06-04T17:03:14.9623335Z         "int": {
2026-06-04T17:03:14.9623522Z           "complete": false,
2026-06-04T17:03:14.9623715Z           "evidence": []
2026-06-04T17:03:14.9623898Z         },
2026-06-04T17:03:14.9624304Z         "unit": {
2026-06-04T17:03:14.9624524Z           "complete": true,
2026-06-04T17:03:14.9624700Z           "evidence": [
2026-06-04T17:03:14.9624870Z             {
2026-06-04T17:03:14.9625124Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:14.9625315Z               "line": 411
2026-06-04T17:03:14.9625486Z             },
2026-06-04T17:03:14.9625650Z             {
2026-06-04T17:03:14.9625894Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9626074Z               "line": 152
2026-06-04T17:03:14.9626243Z             },
2026-06-04T17:03:14.9626405Z             {
2026-06-04T17:03:14.9626651Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9626837Z               "line": 188
2026-06-04T17:03:14.9627000Z             }
2026-06-04T17:03:14.9627167Z           ]
2026-06-04T17:03:14.9627327Z         }
2026-06-04T17:03:14.9627496Z       }
2026-06-04T17:03:14.9627653Z     },
2026-06-04T17:03:14.9627979Z     {
2026-06-04T17:03:14.9628265Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T17:03:14.9629540Z       "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:03:14.9629744Z       "requiredStages": [
2026-06-04T17:03:14.9629911Z         "impl",
2026-06-04T17:03:14.9630083Z         "unit"
2026-06-04T17:03:14.9630253Z       ],
2026-06-04T17:03:14.9630423Z       "stages": {
2026-06-04T17:03:14.9630599Z         "doc": {
2026-06-04T17:03:14.9630786Z           "complete": false,
2026-06-04T17:03:14.9630974Z           "evidence": []
2026-06-04T17:03:14.9631134Z         },
2026-06-04T17:03:14.9631309Z         "impl": {
2026-06-04T17:03:14.9631505Z           "complete": true,
2026-06-04T17:03:14.9631684Z           "evidence": [
2026-06-04T17:03:14.9631860Z             {
2026-06-04T17:03:14.9632122Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:03:14.9632328Z               "line": 22
2026-06-04T17:03:14.9632492Z             },
2026-06-04T17:03:14.9632664Z             {
2026-06-04T17:03:14.9632916Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:14.9633093Z               "line": 417
2026-06-04T17:03:14.9633265Z             },
2026-06-04T17:03:14.9633427Z             {
2026-06-04T17:03:14.9633686Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:03:14.9633863Z               "line": 17
2026-06-04T17:03:14.9634038Z             },
2026-06-04T17:03:14.9634206Z             {
2026-06-04T17:03:14.9634454Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:03:14.9634639Z               "line": 125
2026-06-04T17:03:14.9634798Z             },
2026-06-04T17:03:14.9634967Z             {
2026-06-04T17:03:14.9635236Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:14.9635423Z               "line": 169
2026-06-04T17:03:14.9635606Z             },
2026-06-04T17:03:14.9635777Z             {
2026-06-04T17:03:14.9636055Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:14.9636233Z               "line": 197
2026-06-04T17:03:14.9636403Z             },
2026-06-04T17:03:14.9636563Z             {
2026-06-04T17:03:14.9636840Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:14.9637029Z               "line": 223
2026-06-04T17:03:14.9637197Z             },
2026-06-04T17:03:14.9637364Z             {
2026-06-04T17:03:14.9637618Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:14.9637806Z               "line": 122
2026-06-04T17:03:14.9637968Z             },
2026-06-04T17:03:14.9638138Z             {
2026-06-04T17:03:14.9638403Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:14.9638580Z               "line": 222
2026-06-04T17:03:14.9638748Z             }
2026-06-04T17:03:14.9638910Z           ]
2026-06-04T17:03:14.9639077Z         },
2026-06-04T17:03:14.9639443Z         "int": {
2026-06-04T17:03:14.9639658Z           "complete": false,
2026-06-04T17:03:14.9639847Z           "evidence": []
2026-06-04T17:03:14.9640009Z         },
2026-06-04T17:03:14.9640183Z         "unit": {
2026-06-04T17:03:14.9640368Z           "complete": true,
2026-06-04T17:03:14.9640554Z           "evidence": [
2026-06-04T17:03:14.9640713Z             {
2026-06-04T17:03:14.9640987Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:03:14.9641180Z               "line": 53
2026-06-04T17:03:14.9641346Z             },
2026-06-04T17:03:14.9641513Z             {
2026-06-04T17:03:14.9641771Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:03:14.9641958Z               "line": 60
2026-06-04T17:03:14.9642123Z             },
2026-06-04T17:03:14.9642295Z             {
2026-06-04T17:03:14.9642565Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T17:03:14.9642747Z               "line": 72
2026-06-04T17:03:14.9643062Z             },
2026-06-04T17:03:14.9643239Z             {
2026-06-04T17:03:14.9643501Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:03:14.9643690Z               "line": 298
2026-06-04T17:03:14.9643855Z             },
2026-06-04T17:03:14.9644022Z             {
2026-06-04T17:03:14.9644269Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:03:14.9644451Z               "line": 247
2026-06-04T17:03:14.9644612Z             },
2026-06-04T17:03:14.9644782Z             {
2026-06-04T17:03:14.9645042Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:03:14.9645219Z               "line": 282
2026-06-04T17:03:14.9645391Z             },
2026-06-04T17:03:14.9645553Z             {
2026-06-04T17:03:14.9645814Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T17:03:14.9645998Z               "line": 313
2026-06-04T17:03:14.9646171Z             },
2026-06-04T17:03:14.9646341Z             {
2026-06-04T17:03:14.9646621Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:14.9646822Z               "line": 604
2026-06-04T17:03:14.9646992Z             },
2026-06-04T17:03:14.9647161Z             {
2026-06-04T17:03:14.9647421Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:14.9647606Z               "line": 383
2026-06-04T17:03:14.9647776Z             },
2026-06-04T17:03:14.9647936Z             {
2026-06-04T17:03:14.9648201Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:14.9648378Z               "line": 420
2026-06-04T17:03:14.9648551Z             }
2026-06-04T17:03:14.9648710Z           ]
2026-06-04T17:03:14.9648880Z         }
2026-06-04T17:03:14.9649052Z       }
2026-06-04T17:03:14.9649266Z     },
2026-06-04T17:03:14.9649431Z     {
2026-06-04T17:03:14.9649656Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T17:03:14.9650128Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T17:03:14.9650318Z       "requiredStages": [
2026-06-04T17:03:14.9650518Z         "impl",
2026-06-04T17:03:14.9650694Z         "unit"
2026-06-04T17:03:14.9650852Z       ],
2026-06-04T17:03:14.9651029Z       "stages": {
2026-06-04T17:03:14.9651198Z         "doc": {
2026-06-04T17:03:14.9651392Z           "complete": false,
2026-06-04T17:03:14.9651571Z           "evidence": []
2026-06-04T17:03:14.9651737Z         },
2026-06-04T17:03:14.9651922Z         "impl": {
2026-06-04T17:03:14.9652117Z           "complete": true,
2026-06-04T17:03:14.9652297Z           "evidence": [
2026-06-04T17:03:14.9652458Z             {
2026-06-04T17:03:14.9652711Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:03:14.9652886Z               "line": 164
2026-06-04T17:03:14.9653058Z             }
2026-06-04T17:03:14.9658509Z           ]
2026-06-04T17:03:14.9658775Z         },
2026-06-04T17:03:14.9658964Z         "int": {
2026-06-04T17:03:14.9659242Z           "complete": true,
2026-06-04T17:03:14.9659440Z           "evidence": [
2026-06-04T17:03:14.9659648Z             {
2026-06-04T17:03:14.9660138Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T17:03:14.9660345Z               "line": 44
2026-06-04T17:03:14.9660518Z             },
2026-06-04T17:03:14.9660690Z             {
2026-06-04T17:03:14.9660929Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T17:03:14.9661111Z               "line": 66
2026-06-04T17:03:14.9661270Z             }
2026-06-04T17:03:14.9661440Z           ]
2026-06-04T17:03:14.9661608Z         },
2026-06-04T17:03:14.9661773Z         "unit": {
2026-06-04T17:03:14.9661969Z           "complete": true,
2026-06-04T17:03:14.9662146Z           "evidence": [
2026-06-04T17:03:14.9662315Z             {
2026-06-04T17:03:14.9662555Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:03:14.9662742Z               "line": 181
2026-06-04T17:03:14.9662913Z             },
2026-06-04T17:03:14.9663071Z             {
2026-06-04T17:03:14.9663314Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:03:14.9663695Z               "line": 233
2026-06-04T17:03:14.9663876Z             },
2026-06-04T17:03:14.9664037Z             {
2026-06-04T17:03:14.9664285Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T17:03:14.9664474Z               "line": 261
2026-06-04T17:03:14.9664636Z             }
2026-06-04T17:03:14.9664805Z           ]
2026-06-04T17:03:14.9664967Z         }
2026-06-04T17:03:14.9665138Z       }
2026-06-04T17:03:14.9665296Z     },
2026-06-04T17:03:14.9665459Z     {
2026-06-04T17:03:14.9665715Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T17:03:14.9666644Z       "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:03:14.9666848Z       "requiredStages": [
2026-06-04T17:03:14.9667013Z         "impl",
2026-06-04T17:03:14.9667189Z         "unit",
2026-06-04T17:03:14.9667366Z         "int"
2026-06-04T17:03:14.9667526Z       ],
2026-06-04T17:03:14.9667716Z       "stages": {
2026-06-04T17:03:14.9667892Z         "doc": {
2026-06-04T17:03:14.9668092Z           "complete": false,
2026-06-04T17:03:14.9668272Z           "evidence": []
2026-06-04T17:03:14.9668440Z         },
2026-06-04T17:03:14.9668618Z         "impl": {
2026-06-04T17:03:14.9668813Z           "complete": true,
2026-06-04T17:03:14.9668994Z           "evidence": [
2026-06-04T17:03:14.9669153Z             {
2026-06-04T17:03:14.9669470Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9669650Z               "line": 150
2026-06-04T17:03:14.9669822Z             },
2026-06-04T17:03:14.9669991Z             {
2026-06-04T17:03:14.9670249Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9670431Z               "line": 169
2026-06-04T17:03:14.9670599Z             },
2026-06-04T17:03:14.9670773Z             {
2026-06-04T17:03:14.9671013Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:14.9671200Z               "line": 79
2026-06-04T17:03:14.9671395Z             },
2026-06-04T17:03:14.9671561Z             {
2026-06-04T17:03:14.9671796Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:14.9671970Z               "line": 51
2026-06-04T17:03:14.9672143Z             },
2026-06-04T17:03:14.9672305Z             {
2026-06-04T17:03:14.9672554Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9672741Z               "line": 154
2026-06-04T17:03:14.9672905Z             },
2026-06-04T17:03:14.9673072Z             {
2026-06-04T17:03:14.9673325Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9673509Z               "line": 27
2026-06-04T17:03:14.9673675Z             },
2026-06-04T17:03:14.9673847Z             {
2026-06-04T17:03:14.9674107Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9674283Z               "line": 79
2026-06-04T17:03:14.9674454Z             },
2026-06-04T17:03:14.9674614Z             {
2026-06-04T17:03:14.9675051Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9675240Z               "line": 102
2026-06-04T17:03:14.9675416Z             },
2026-06-04T17:03:14.9675587Z             {
2026-06-04T17:03:14.9675836Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:14.9676021Z               "line": 108
2026-06-04T17:03:14.9676183Z             }
2026-06-04T17:03:14.9676356Z           ]
2026-06-04T17:03:14.9676517Z         },
2026-06-04T17:03:14.9676690Z         "int": {
2026-06-04T17:03:14.9676882Z           "complete": true,
2026-06-04T17:03:14.9677061Z           "evidence": [
2026-06-04T17:03:14.9677233Z             {
2026-06-04T17:03:14.9677505Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T17:03:14.9677692Z               "line": 35
2026-06-04T17:03:14.9677853Z             }
2026-06-04T17:03:14.9678031Z           ]
2026-06-04T17:03:14.9678199Z         },
2026-06-04T17:03:14.9678375Z         "unit": {
2026-06-04T17:03:14.9678710Z           "complete": true,
2026-06-04T17:03:14.9678899Z           "evidence": [
2026-06-04T17:03:14.9679081Z             {
2026-06-04T17:03:14.9679381Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9679572Z               "line": 544
2026-06-04T17:03:14.9679744Z             },
2026-06-04T17:03:14.9679906Z             {
2026-06-04T17:03:14.9680157Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9680341Z               "line": 330
2026-06-04T17:03:14.9680517Z             },
2026-06-04T17:03:14.9680679Z             {
2026-06-04T17:03:14.9680936Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9681123Z               "line": 124
2026-06-04T17:03:14.9681286Z             },
2026-06-04T17:03:14.9681454Z             {
2026-06-04T17:03:14.9681704Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9681891Z               "line": 136
2026-06-04T17:03:14.9682052Z             },
2026-06-04T17:03:14.9682241Z             {
2026-06-04T17:03:14.9682506Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9682687Z               "line": 146
2026-06-04T17:03:14.9682858Z             },
2026-06-04T17:03:14.9683021Z             {
2026-06-04T17:03:14.9683278Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9683470Z               "line": 159
2026-06-04T17:03:14.9683636Z             },
2026-06-04T17:03:14.9683804Z             {
2026-06-04T17:03:14.9684056Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T17:03:14.9684243Z               "line": 171
2026-06-04T17:03:14.9684405Z             },
2026-06-04T17:03:14.9684578Z             {
2026-06-04T17:03:14.9684839Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:14.9685020Z               "line": 207
2026-06-04T17:03:14.9685191Z             }
2026-06-04T17:03:14.9685355Z           ]
2026-06-04T17:03:14.9685521Z         }
2026-06-04T17:03:14.9685679Z       }
2026-06-04T17:03:14.9685859Z     },
2026-06-04T17:03:14.9686043Z     {
2026-06-04T17:03:14.9686292Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T17:03:14.9687692Z       "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:03:14.9687889Z       "requiredStages": [],
2026-06-04T17:03:14.9688070Z       "stages": {
2026-06-04T17:03:14.9688238Z         "doc": {
2026-06-04T17:03:14.9688442Z           "complete": false,
2026-06-04T17:03:14.9688632Z           "evidence": []
2026-06-04T17:03:14.9688794Z         },
2026-06-04T17:03:14.9688966Z         "impl": {
2026-06-04T17:03:14.9689152Z           "complete": false,
2026-06-04T17:03:14.9689390Z           "evidence": []
2026-06-04T17:03:14.9689557Z         },
2026-06-04T17:03:14.9689732Z         "int": {
2026-06-04T17:03:14.9689925Z           "complete": false,
2026-06-04T17:03:14.9690265Z           "evidence": []
2026-06-04T17:03:14.9690458Z         },
2026-06-04T17:03:14.9690630Z         "unit": {
2026-06-04T17:03:14.9690822Z           "complete": false,
2026-06-04T17:03:14.9691003Z           "evidence": []
2026-06-04T17:03:14.9691178Z         }
2026-06-04T17:03:14.9691348Z       }
2026-06-04T17:03:14.9691505Z     },
2026-06-04T17:03:14.9691671Z     {
2026-06-04T17:03:14.9691894Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T17:03:14.9692294Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T17:03:14.9692487Z       "requiredStages": [
2026-06-04T17:03:14.9697925Z         "impl",
2026-06-04T17:03:14.9698145Z         "unit"
2026-06-04T17:03:14.9698308Z       ],
2026-06-04T17:03:14.9698492Z       "stages": {
2026-06-04T17:03:14.9698659Z         "doc": {
2026-06-04T17:03:14.9698855Z           "complete": false,
2026-06-04T17:03:14.9699035Z           "evidence": []
2026-06-04T17:03:14.9699301Z         },
2026-06-04T17:03:14.9699769Z         "impl": {
2026-06-04T17:03:14.9699980Z           "complete": true,
2026-06-04T17:03:14.9700170Z           "evidence": [
2026-06-04T17:03:14.9700335Z             {
2026-06-04T17:03:14.9700600Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9700778Z               "line": 40
2026-06-04T17:03:14.9700955Z             },
2026-06-04T17:03:14.9701125Z             {
2026-06-04T17:03:14.9701372Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9701555Z               "line": 98
2026-06-04T17:03:14.9701718Z             },
2026-06-04T17:03:14.9701888Z             {
2026-06-04T17:03:14.9702124Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9702312Z               "line": 209
2026-06-04T17:03:14.9702483Z             },
2026-06-04T17:03:14.9702643Z             {
2026-06-04T17:03:14.9702891Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9703070Z               "line": 291
2026-06-04T17:03:14.9703252Z             }
2026-06-04T17:03:14.9703424Z           ]
2026-06-04T17:03:14.9703593Z         },
2026-06-04T17:03:14.9703764Z         "int": {
2026-06-04T17:03:14.9703950Z           "complete": false,
2026-06-04T17:03:14.9704138Z           "evidence": []
2026-06-04T17:03:14.9704300Z         },
2026-06-04T17:03:14.9704508Z         "unit": {
2026-06-04T17:03:14.9704701Z           "complete": true,
2026-06-04T17:03:14.9704886Z           "evidence": [
2026-06-04T17:03:14.9705056Z             {
2026-06-04T17:03:14.9705295Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9705481Z               "line": 326
2026-06-04T17:03:14.9705646Z             },
2026-06-04T17:03:14.9705820Z             {
2026-06-04T17:03:14.9706064Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9706247Z               "line": 372
2026-06-04T17:03:14.9706415Z             },
2026-06-04T17:03:14.9706577Z             {
2026-06-04T17:03:14.9706826Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9707029Z               "line": 413
2026-06-04T17:03:14.9707200Z             },
2026-06-04T17:03:14.9707364Z             {
2026-06-04T17:03:14.9707613Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9707798Z               "line": 432
2026-06-04T17:03:14.9707960Z             }
2026-06-04T17:03:14.9708132Z           ]
2026-06-04T17:03:14.9708295Z         }
2026-06-04T17:03:14.9708463Z       }
2026-06-04T17:03:14.9708618Z     },
2026-06-04T17:03:14.9708783Z     {
2026-06-04T17:03:14.9709040Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T17:03:14.9709361Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T17:03:14.9709561Z       "requiredStages": [
2026-06-04T17:03:14.9709728Z         "impl",
2026-06-04T17:03:14.9709899Z         "unit"
2026-06-04T17:03:14.9710056Z       ],
2026-06-04T17:03:14.9710237Z       "stages": {
2026-06-04T17:03:14.9710410Z         "doc": {
2026-06-04T17:03:14.9710595Z           "complete": false,
2026-06-04T17:03:14.9710794Z           "evidence": []
2026-06-04T17:03:14.9711110Z         },
2026-06-04T17:03:14.9711309Z         "impl": {
2026-06-04T17:03:14.9711494Z           "complete": true,
2026-06-04T17:03:14.9711681Z           "evidence": [
2026-06-04T17:03:14.9711856Z             {
2026-06-04T17:03:14.9712095Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9712284Z               "line": 111
2026-06-04T17:03:14.9712444Z             },
2026-06-04T17:03:14.9712622Z             {
2026-06-04T17:03:14.9712872Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9713046Z               "line": 202
2026-06-04T17:03:14.9713216Z             }
2026-06-04T17:03:14.9713377Z           ]
2026-06-04T17:03:14.9713549Z         },
2026-06-04T17:03:14.9713715Z         "int": {
2026-06-04T17:03:14.9713913Z           "complete": false,
2026-06-04T17:03:14.9714091Z           "evidence": []
2026-06-04T17:03:14.9714260Z         },
2026-06-04T17:03:14.9714436Z         "unit": {
2026-06-04T17:03:14.9714797Z           "complete": true,
2026-06-04T17:03:14.9714985Z           "evidence": [
2026-06-04T17:03:14.9715149Z             {
2026-06-04T17:03:14.9715398Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9715588Z               "line": 347
2026-06-04T17:03:14.9715751Z             },
2026-06-04T17:03:14.9715921Z             {
2026-06-04T17:03:14.9716156Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:14.9716343Z               "line": 391
2026-06-04T17:03:14.9716505Z             }
2026-06-04T17:03:14.9716678Z           ]
2026-06-04T17:03:14.9716847Z         }
2026-06-04T17:03:14.9717006Z       }
2026-06-04T17:03:14.9717179Z     },
2026-06-04T17:03:14.9717336Z     {
2026-06-04T17:03:14.9717599Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T17:03:14.9718064Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T17:03:14.9718262Z       "requiredStages": [
2026-06-04T17:03:14.9718449Z         "impl",
2026-06-04T17:03:14.9718623Z         "unit"
2026-06-04T17:03:14.9718796Z       ],
2026-06-04T17:03:14.9718968Z       "stages": {
2026-06-04T17:03:14.9719140Z         "doc": {
2026-06-04T17:03:14.9719373Z           "complete": false,
2026-06-04T17:03:14.9719564Z           "evidence": []
2026-06-04T17:03:14.9719737Z         },
2026-06-04T17:03:14.9719906Z         "impl": {
2026-06-04T17:03:14.9720099Z           "complete": true,
2026-06-04T17:03:14.9720279Z           "evidence": [
2026-06-04T17:03:14.9720445Z             {
2026-06-04T17:03:14.9720688Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9720874Z               "line": 26
2026-06-04T17:03:14.9721047Z             },
2026-06-04T17:03:14.9721209Z             {
2026-06-04T17:03:14.9721462Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9721637Z               "line": 126
2026-06-04T17:03:14.9721808Z             },
2026-06-04T17:03:14.9721973Z             {
2026-06-04T17:03:14.9722274Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:03:14.9722462Z               "line": 26
2026-06-04T17:03:14.9722628Z             },
2026-06-04T17:03:14.9722800Z             {
2026-06-04T17:03:14.9723063Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:03:14.9723255Z               "line": 233
2026-06-04T17:03:14.9723421Z             }
2026-06-04T17:03:14.9723593Z           ]
2026-06-04T17:03:14.9723756Z         },
2026-06-04T17:03:14.9723919Z         "int": {
2026-06-04T17:03:14.9724110Z           "complete": false,
2026-06-04T17:03:14.9724294Z           "evidence": []
2026-06-04T17:03:14.9724455Z         },
2026-06-04T17:03:14.9724622Z         "unit": {
2026-06-04T17:03:14.9724812Z           "complete": true,
2026-06-04T17:03:14.9724998Z           "evidence": [
2026-06-04T17:03:14.9725165Z             {
2026-06-04T17:03:14.9725421Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9725596Z               "line": 152
2026-06-04T17:03:14.9725781Z             },
2026-06-04T17:03:14.9726102Z             {
2026-06-04T17:03:14.9726373Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9726561Z               "line": 161
2026-06-04T17:03:14.9726725Z             },
2026-06-04T17:03:14.9726895Z             {
2026-06-04T17:03:14.9727134Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9727319Z               "line": 170
2026-06-04T17:03:14.9727484Z             },
2026-06-04T17:03:14.9727653Z             {
2026-06-04T17:03:14.9727902Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9728079Z               "line": 179
2026-06-04T17:03:14.9728255Z             },
2026-06-04T17:03:14.9728413Z             {
2026-06-04T17:03:14.9728664Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9728842Z               "line": 188
2026-06-04T17:03:14.9729017Z             },
2026-06-04T17:03:14.9729234Z             {
2026-06-04T17:03:14.9729489Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9735077Z               "line": 199
2026-06-04T17:03:14.9735320Z             },
2026-06-04T17:03:14.9735505Z             {
2026-06-04T17:03:14.9735770Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T17:03:14.9735964Z               "line": 225
2026-06-04T17:03:14.9736137Z             },
2026-06-04T17:03:14.9736298Z             {
2026-06-04T17:03:14.9736548Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:14.9736730Z               "line": 245
2026-06-04T17:03:14.9736907Z             },
2026-06-04T17:03:14.9737065Z             {
2026-06-04T17:03:14.9737313Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:14.9737498Z               "line": 212
2026-06-04T17:03:14.9737661Z             },
2026-06-04T17:03:14.9737828Z             {
2026-06-04T17:03:14.9738099Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:03:14.9738286Z               "line": 256
2026-06-04T17:03:14.9738499Z             },
2026-06-04T17:03:14.9738679Z             {
2026-06-04T17:03:14.9738954Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:03:14.9739130Z               "line": 281
2026-06-04T17:03:14.9739391Z             },
2026-06-04T17:03:14.9739559Z             {
2026-06-04T17:03:14.9739826Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:03:14.9740011Z               "line": 293
2026-06-04T17:03:14.9740178Z             },
2026-06-04T17:03:14.9740350Z             {
2026-06-04T17:03:14.9740614Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T17:03:14.9740801Z               "line": 303
2026-06-04T17:03:14.9740963Z             },
2026-06-04T17:03:14.9741133Z             {
2026-06-04T17:03:14.9741395Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:14.9741572Z               "line": 502
2026-06-04T17:03:14.9741737Z             }
2026-06-04T17:03:14.9741897Z           ]
2026-06-04T17:03:14.9742078Z         }
2026-06-04T17:03:14.9742248Z       }
2026-06-04T17:03:14.9742417Z     },
2026-06-04T17:03:14.9742583Z     {
2026-06-04T17:03:14.9742839Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T17:03:14.9743157Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T17:03:14.9743351Z       "requiredStages": [
2026-06-04T17:03:14.9743532Z         "impl",
2026-06-04T17:03:14.9743698Z         "unit"
2026-06-04T17:03:14.9743868Z       ],
2026-06-04T17:03:14.9744045Z       "stages": {
2026-06-04T17:03:14.9744214Z         "doc": {
2026-06-04T17:03:14.9744407Z           "complete": false,
2026-06-04T17:03:14.9744584Z           "evidence": []
2026-06-04T17:03:14.9744748Z         },
2026-06-04T17:03:14.9744915Z         "impl": {
2026-06-04T17:03:14.9745114Z           "complete": true,
2026-06-04T17:03:14.9745299Z           "evidence": [
2026-06-04T17:03:14.9745460Z             {
2026-06-04T17:03:14.9745703Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:14.9745896Z               "line": 25
2026-06-04T17:03:14.9746339Z             },
2026-06-04T17:03:14.9746532Z             {
2026-06-04T17:03:14.9746792Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:14.9746980Z               "line": 26
2026-06-04T17:03:14.9747142Z             },
2026-06-04T17:03:14.9747312Z             {
2026-06-04T17:03:14.9747553Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:14.9747742Z               "line": 153
2026-06-04T17:03:14.9747903Z             }
2026-06-04T17:03:14.9748083Z           ]
2026-06-04T17:03:14.9748249Z         },
2026-06-04T17:03:14.9748416Z         "int": {
2026-06-04T17:03:14.9748607Z           "complete": false,
2026-06-04T17:03:14.9748785Z           "evidence": []
2026-06-04T17:03:14.9748954Z         },
2026-06-04T17:03:14.9749117Z         "unit": {
2026-06-04T17:03:14.9749358Z           "complete": true,
2026-06-04T17:03:14.9749548Z           "evidence": [
2026-06-04T17:03:14.9749708Z             {
2026-06-04T17:03:14.9750136Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:14.9750324Z               "line": 180
2026-06-04T17:03:14.9750495Z             },
2026-06-04T17:03:14.9750656Z             {
2026-06-04T17:03:14.9750905Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:14.9751094Z               "line": 205
2026-06-04T17:03:14.9751257Z             },
2026-06-04T17:03:14.9751427Z             {
2026-06-04T17:03:14.9751666Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:14.9751850Z               "line": 180
2026-06-04T17:03:14.9752010Z             }
2026-06-04T17:03:14.9752182Z           ]
2026-06-04T17:03:14.9752351Z         }
2026-06-04T17:03:14.9752507Z       }
2026-06-04T17:03:14.9752674Z     },
2026-06-04T17:03:14.9752830Z     {
2026-06-04T17:03:14.9753052Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T17:03:14.9753402Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T17:03:14.9753604Z       "requiredStages": [
2026-06-04T17:03:14.9753802Z         "impl",
2026-06-04T17:03:14.9753969Z         "unit"
2026-06-04T17:03:14.9754142Z       ],
2026-06-04T17:03:14.9754311Z       "stages": {
2026-06-04T17:03:14.9754484Z         "doc": {
2026-06-04T17:03:14.9754674Z           "complete": false,
2026-06-04T17:03:14.9754870Z           "evidence": []
2026-06-04T17:03:14.9755037Z         },
2026-06-04T17:03:14.9755207Z         "impl": {
2026-06-04T17:03:14.9755398Z           "complete": true,
2026-06-04T17:03:14.9755576Z           "evidence": [
2026-06-04T17:03:14.9755744Z             {
2026-06-04T17:03:14.9755990Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9756179Z               "line": 48
2026-06-04T17:03:14.9756352Z             },
2026-06-04T17:03:14.9756513Z             {
2026-06-04T17:03:14.9756762Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9756940Z               "line": 55
2026-06-04T17:03:14.9757108Z             },
2026-06-04T17:03:14.9757266Z             {
2026-06-04T17:03:14.9757537Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9757721Z               "line": 74
2026-06-04T17:03:14.9757882Z             },
2026-06-04T17:03:14.9758047Z             {
2026-06-04T17:03:14.9758287Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9758474Z               "line": 91
2026-06-04T17:03:14.9758635Z             }
2026-06-04T17:03:14.9758803Z           ]
2026-06-04T17:03:14.9758975Z         },
2026-06-04T17:03:14.9759141Z         "int": {
2026-06-04T17:03:14.9759394Z           "complete": false,
2026-06-04T17:03:14.9759578Z           "evidence": []
2026-06-04T17:03:14.9759751Z         },
2026-06-04T17:03:14.9759915Z         "unit": {
2026-06-04T17:03:14.9760110Z           "complete": true,
2026-06-04T17:03:14.9760298Z           "evidence": [
2026-06-04T17:03:14.9760466Z             {
2026-06-04T17:03:14.9760717Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9760899Z               "line": 149
2026-06-04T17:03:14.9761225Z             },
2026-06-04T17:03:14.9761403Z             {
2026-06-04T17:03:14.9761658Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9761842Z               "line": 163
2026-06-04T17:03:14.9762006Z             },
2026-06-04T17:03:14.9762175Z             {
2026-06-04T17:03:14.9762414Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9762623Z               "line": 173
2026-06-04T17:03:14.9762838Z             },
2026-06-04T17:03:14.9763043Z             {
2026-06-04T17:03:14.9763496Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9763843Z               "line": 191
2026-06-04T17:03:14.9764063Z             },
2026-06-04T17:03:14.9764413Z             {
2026-06-04T17:03:14.9764730Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:14.9764936Z               "line": 204
2026-06-04T17:03:14.9765143Z             }
2026-06-04T17:03:14.9765524Z           ]
2026-06-04T17:03:14.9765895Z         }
2026-06-04T17:03:14.9766093Z       }
2026-06-04T17:03:14.9766274Z     },
2026-06-04T17:03:14.9766455Z     {
2026-06-04T17:03:14.9766765Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T17:03:14.9767233Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T17:03:14.9767472Z       "requiredStages": [
2026-06-04T17:03:14.9767683Z         "impl",
2026-06-04T17:03:14.9775755Z         "unit"
2026-06-04T17:03:14.9776072Z       ],
2026-06-04T17:03:14.9776276Z       "stages": {
2026-06-04T17:03:14.9776468Z         "doc": {
2026-06-04T17:03:14.9776675Z           "complete": false,
2026-06-04T17:03:14.9776913Z           "evidence": []
2026-06-04T17:03:14.9777099Z         },
2026-06-04T17:03:14.9777280Z         "impl": {
2026-06-04T17:03:14.9777504Z           "complete": true,
2026-06-04T17:03:14.9777707Z           "evidence": [
2026-06-04T17:03:14.9777881Z             {
2026-06-04T17:03:14.9778186Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9778456Z               "line": 341
2026-06-04T17:03:14.9778658Z             },
2026-06-04T17:03:14.9778843Z             {
2026-06-04T17:03:14.9779124Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:14.9779567Z               "line": 26
2026-06-04T17:03:14.9779762Z             }
2026-06-04T17:03:14.9780094Z           ]
2026-06-04T17:03:14.9780275Z         },
2026-06-04T17:03:14.9780474Z         "int": {
2026-06-04T17:03:14.9780695Z           "complete": false,
2026-06-04T17:03:14.9780908Z           "evidence": []
2026-06-04T17:03:14.9781097Z         },
2026-06-04T17:03:14.9781276Z         "unit": {
2026-06-04T17:03:14.9781484Z           "complete": true,
2026-06-04T17:03:14.9781675Z           "evidence": [
2026-06-04T17:03:14.9781866Z             {
2026-06-04T17:03:14.9782144Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:14.9782360Z               "line": 139
2026-06-04T17:03:14.9782572Z             },
2026-06-04T17:03:14.9782762Z             {
2026-06-04T17:03:14.9783256Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:14.9783494Z               "line": 182
2026-06-04T17:03:14.9783727Z             }
2026-06-04T17:03:14.9783932Z           ]
2026-06-04T17:03:14.9784158Z         }
2026-06-04T17:03:14.9784367Z       }
2026-06-04T17:03:14.9784686Z     },
2026-06-04T17:03:14.9784893Z     {
2026-06-04T17:03:14.9785186Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T17:03:14.9785576Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T17:03:14.9785800Z       "requiredStages": [
2026-06-04T17:03:14.9785996Z         "impl",
2026-06-04T17:03:14.9786318Z         "unit"
2026-06-04T17:03:14.9786487Z       ],
2026-06-04T17:03:14.9786668Z       "stages": {
2026-06-04T17:03:14.9786840Z         "doc": {
2026-06-04T17:03:14.9787041Z           "complete": false,
2026-06-04T17:03:14.9787231Z           "evidence": []
2026-06-04T17:03:14.9787412Z         },
2026-06-04T17:03:14.9787593Z         "impl": {
2026-06-04T17:03:14.9788214Z           "complete": true,
2026-06-04T17:03:14.9788450Z           "evidence": [
2026-06-04T17:03:14.9788624Z             {
2026-06-04T17:03:14.9788901Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9789093Z               "line": 36
2026-06-04T17:03:14.9789493Z             },
2026-06-04T17:03:14.9789837Z             {
2026-06-04T17:03:14.9790101Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9790289Z               "line": 68
2026-06-04T17:03:14.9790455Z             }
2026-06-04T17:03:14.9790628Z           ]
2026-06-04T17:03:14.9790797Z         },
2026-06-04T17:03:14.9790981Z         "int": {
2026-06-04T17:03:14.9791178Z           "complete": false,
2026-06-04T17:03:14.9791362Z           "evidence": []
2026-06-04T17:03:14.9791538Z         },
2026-06-04T17:03:14.9791711Z         "unit": {
2026-06-04T17:03:14.9791910Z           "complete": true,
2026-06-04T17:03:14.9792089Z           "evidence": [
2026-06-04T17:03:14.9792450Z             {
2026-06-04T17:03:14.9792731Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9792916Z               "line": 143
2026-06-04T17:03:14.9793094Z             },
2026-06-04T17:03:14.9793259Z             {
2026-06-04T17:03:14.9793524Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9793718Z               "line": 160
2026-06-04T17:03:14.9793887Z             },
2026-06-04T17:03:14.9794071Z             {
2026-06-04T17:03:14.9794324Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9794516Z               "line": 168
2026-06-04T17:03:14.9794678Z             }
2026-06-04T17:03:14.9794855Z           ]
2026-06-04T17:03:14.9795029Z         }
2026-06-04T17:03:14.9795191Z       }
2026-06-04T17:03:14.9795362Z     },
2026-06-04T17:03:14.9795525Z     {
2026-06-04T17:03:14.9795817Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T17:03:14.9796190Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T17:03:14.9796418Z       "requiredStages": [
2026-06-04T17:03:14.9796607Z         "impl",
2026-06-04T17:03:14.9796777Z         "unit"
2026-06-04T17:03:14.9796953Z       ],
2026-06-04T17:03:14.9797123Z       "stages": {
2026-06-04T17:03:14.9797301Z         "doc": {
2026-06-04T17:03:14.9797491Z           "complete": false,
2026-06-04T17:03:14.9797683Z           "evidence": []
2026-06-04T17:03:14.9797864Z         },
2026-06-04T17:03:14.9798038Z         "impl": {
2026-06-04T17:03:14.9798236Z           "complete": true,
2026-06-04T17:03:14.9798416Z           "evidence": [
2026-06-04T17:03:14.9798597Z             {
2026-06-04T17:03:14.9798857Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9799049Z               "line": 107
2026-06-04T17:03:14.9799267Z             }
2026-06-04T17:03:14.9799435Z           ]
2026-06-04T17:03:14.9799615Z         },
2026-06-04T17:03:14.9799785Z         "int": {
2026-06-04T17:03:14.9799983Z           "complete": false,
2026-06-04T17:03:14.9800183Z           "evidence": []
2026-06-04T17:03:14.9800365Z         },
2026-06-04T17:03:14.9800539Z         "unit": {
2026-06-04T17:03:14.9800740Z           "complete": true,
2026-06-04T17:03:14.9800931Z           "evidence": [
2026-06-04T17:03:14.9801095Z             {
2026-06-04T17:03:14.9801354Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9801536Z               "line": 184
2026-06-04T17:03:14.9801714Z             },
2026-06-04T17:03:14.9801890Z             {
2026-06-04T17:03:14.9802146Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9802339Z               "line": 193
2026-06-04T17:03:14.9802519Z             },
2026-06-04T17:03:14.9802693Z             {
2026-06-04T17:03:14.9802948Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9803142Z               "line": 201
2026-06-04T17:03:14.9803321Z             },
2026-06-04T17:03:14.9803487Z             {
2026-06-04T17:03:14.9803748Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9804141Z               "line": 210
2026-06-04T17:03:14.9804339Z             },
2026-06-04T17:03:14.9804512Z             {
2026-06-04T17:03:14.9804779Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T17:03:14.9804973Z               "line": 219
2026-06-04T17:03:14.9805136Z             }
2026-06-04T17:03:14.9805308Z           ]
2026-06-04T17:03:14.9805472Z         }
2026-06-04T17:03:14.9805646Z       }
2026-06-04T17:03:14.9805812Z     },
2026-06-04T17:03:14.9805981Z     {
2026-06-04T17:03:14.9806228Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T17:03:14.9806570Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T17:03:14.9806768Z       "requiredStages": [
2026-06-04T17:03:14.9806939Z         "impl",
2026-06-04T17:03:14.9807125Z         "unit"
2026-06-04T17:03:14.9807284Z       ],
2026-06-04T17:03:14.9807470Z       "stages": {
2026-06-04T17:03:14.9807653Z         "doc": {
2026-06-04T17:03:14.9808021Z           "complete": false,
2026-06-04T17:03:14.9808228Z           "evidence": []
2026-06-04T17:03:14.9808391Z         },
2026-06-04T17:03:14.9808576Z         "impl": {
2026-06-04T17:03:14.9808769Z           "complete": true,
2026-06-04T17:03:14.9808963Z           "evidence": [
2026-06-04T17:03:14.9809139Z             {
2026-06-04T17:03:14.9809426Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:14.9809614Z               "line": 14
2026-06-04T17:03:14.9809780Z             },
2026-06-04T17:03:14.9809955Z             {
2026-06-04T17:03:14.9817553Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:14.9817823Z               "line": 62
2026-06-04T17:03:14.9818013Z             }
2026-06-04T17:03:14.9818186Z           ]
2026-06-04T17:03:14.9818347Z         },
2026-06-04T17:03:14.9818527Z         "int": {
2026-06-04T17:03:14.9818716Z           "complete": false,
2026-06-04T17:03:14.9818905Z           "evidence": []
2026-06-04T17:03:14.9819066Z         },
2026-06-04T17:03:14.9819401Z         "unit": {
2026-06-04T17:03:14.9819617Z           "complete": true,
2026-06-04T17:03:14.9819797Z           "evidence": [
2026-06-04T17:03:14.9819971Z             {
2026-06-04T17:03:14.9820210Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:14.9820402Z               "line": 160
2026-06-04T17:03:14.9820567Z             },
2026-06-04T17:03:14.9820738Z             {
2026-06-04T17:03:14.9820977Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:14.9821158Z               "line": 197
2026-06-04T17:03:14.9821330Z             },
2026-06-04T17:03:14.9821493Z             {
2026-06-04T17:03:14.9821728Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:14.9821909Z               "line": 213
2026-06-04T17:03:14.9822083Z             }
2026-06-04T17:03:14.9822257Z           ]
2026-06-04T17:03:14.9822418Z         }
2026-06-04T17:03:14.9822588Z       }
2026-06-04T17:03:14.9822746Z     },
2026-06-04T17:03:14.9822914Z     {
2026-06-04T17:03:14.9823154Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T17:03:14.9823654Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T17:03:14.9823860Z       "requiredStages": [
2026-06-04T17:03:14.9824030Z         "impl",
2026-06-04T17:03:14.9824208Z         "unit"
2026-06-04T17:03:14.9824369Z       ],
2026-06-04T17:03:14.9824554Z       "stages": {
2026-06-04T17:03:14.9824721Z         "doc": {
2026-06-04T17:03:14.9824922Z           "complete": false,
2026-06-04T17:03:14.9825113Z           "evidence": []
2026-06-04T17:03:14.9825277Z         },
2026-06-04T17:03:14.9825457Z         "impl": {
2026-06-04T17:03:14.9825642Z           "complete": true,
2026-06-04T17:03:14.9825829Z           "evidence": [
2026-06-04T17:03:14.9825996Z             {
2026-06-04T17:03:14.9826254Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9826447Z               "line": 76
2026-06-04T17:03:14.9826613Z             },
2026-06-04T17:03:14.9826785Z             {
2026-06-04T17:03:14.9827305Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9830944Z               "line": 163
2026-06-04T17:03:14.9831129Z             },
2026-06-04T17:03:14.9831296Z             {
2026-06-04T17:03:14.9831554Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9831733Z               "line": 229
2026-06-04T17:03:14.9831903Z             },
2026-06-04T17:03:14.9832068Z             {
2026-06-04T17:03:14.9832318Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9832507Z               "line": 265
2026-06-04T17:03:14.9832669Z             }
2026-06-04T17:03:14.9832847Z           ]
2026-06-04T17:03:14.9833011Z         },
2026-06-04T17:03:14.9833189Z         "int": {
2026-06-04T17:03:14.9833379Z           "complete": false,
2026-06-04T17:03:14.9833568Z           "evidence": []
2026-06-04T17:03:14.9833739Z         },
2026-06-04T17:03:14.9833905Z         "unit": {
2026-06-04T17:03:14.9834097Z           "complete": true,
2026-06-04T17:03:14.9834456Z           "evidence": [
2026-06-04T17:03:14.9834643Z             {
2026-06-04T17:03:14.9834889Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9835078Z               "line": 310
2026-06-04T17:03:14.9835252Z             },
2026-06-04T17:03:14.9835416Z             {
2026-06-04T17:03:14.9835666Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9835845Z               "line": 318
2026-06-04T17:03:14.9836020Z             },
2026-06-04T17:03:14.9836191Z             {
2026-06-04T17:03:14.9836450Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9836639Z               "line": 341
2026-06-04T17:03:14.9836804Z             },
2026-06-04T17:03:14.9836978Z             {
2026-06-04T17:03:14.9837217Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9837408Z               "line": 378
2026-06-04T17:03:14.9837573Z             },
2026-06-04T17:03:14.9837749Z             {
2026-06-04T17:03:14.9838002Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9838204Z               "line": 389
2026-06-04T17:03:14.9838380Z             },
2026-06-04T17:03:14.9838546Z             {
2026-06-04T17:03:14.9838798Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9838979Z               "line": 401
2026-06-04T17:03:14.9839205Z             },
2026-06-04T17:03:14.9839380Z             {
2026-06-04T17:03:14.9839618Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T17:03:14.9839805Z               "line": 413
2026-06-04T17:03:14.9839969Z             }
2026-06-04T17:03:14.9840140Z           ]
2026-06-04T17:03:14.9840302Z         }
2026-06-04T17:03:14.9840476Z       }
2026-06-04T17:03:14.9840652Z     },
2026-06-04T17:03:14.9840812Z     {
2026-06-04T17:03:14.9841036Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T17:03:14.9841340Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T17:03:14.9841540Z       "requiredStages": [
2026-06-04T17:03:14.9841723Z         "impl",
2026-06-04T17:03:14.9841910Z         "int"
2026-06-04T17:03:14.9842083Z       ],
2026-06-04T17:03:14.9842254Z       "stages": {
2026-06-04T17:03:14.9842431Z         "doc": {
2026-06-04T17:03:14.9842619Z           "complete": false,
2026-06-04T17:03:14.9842810Z           "evidence": []
2026-06-04T17:03:14.9842975Z         },
2026-06-04T17:03:14.9843158Z         "impl": {
2026-06-04T17:03:14.9843360Z           "complete": true,
2026-06-04T17:03:14.9843541Z           "evidence": [
2026-06-04T17:03:14.9843712Z             {
2026-06-04T17:03:14.9843957Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:14.9844145Z               "line": 22
2026-06-04T17:03:14.9844307Z             }
2026-06-04T17:03:14.9844478Z           ]
2026-06-04T17:03:14.9844649Z         },
2026-06-04T17:03:14.9844815Z         "int": {
2026-06-04T17:03:14.9845009Z           "complete": true,
2026-06-04T17:03:14.9845187Z           "evidence": [
2026-06-04T17:03:14.9845362Z             {
2026-06-04T17:03:14.9845769Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T17:03:14.9845972Z               "line": 18
2026-06-04T17:03:14.9846145Z             }
2026-06-04T17:03:14.9846306Z           ]
2026-06-04T17:03:14.9846484Z         },
2026-06-04T17:03:14.9846654Z         "unit": {
2026-06-04T17:03:14.9846851Z           "complete": false,
2026-06-04T17:03:14.9847034Z           "evidence": []
2026-06-04T17:03:14.9847205Z         }
2026-06-04T17:03:14.9847372Z       }
2026-06-04T17:03:14.9847537Z     },
2026-06-04T17:03:14.9847708Z     {
2026-06-04T17:03:14.9847946Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T17:03:14.9848360Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T17:03:14.9848556Z       "requiredStages": [
2026-06-04T17:03:14.9848737Z         "impl",
2026-06-04T17:03:14.9848916Z         "unit"
2026-06-04T17:03:14.9849075Z       ],
2026-06-04T17:03:14.9849303Z       "stages": {
2026-06-04T17:03:14.9849479Z         "doc": {
2026-06-04T17:03:14.9849831Z           "complete": false,
2026-06-04T17:03:14.9850016Z           "evidence": []
2026-06-04T17:03:14.9850186Z         },
2026-06-04T17:03:14.9850363Z         "impl": {
2026-06-04T17:03:14.9850549Z           "complete": true,
2026-06-04T17:03:14.9850734Z           "evidence": [
2026-06-04T17:03:14.9850897Z             {
2026-06-04T17:03:14.9857762Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9858027Z               "line": 340
2026-06-04T17:03:14.9858202Z             },
2026-06-04T17:03:14.9858369Z             {
2026-06-04T17:03:14.9858619Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:14.9858803Z               "line": 27
2026-06-04T17:03:14.9858964Z             }
2026-06-04T17:03:14.9859134Z           ]
2026-06-04T17:03:14.9859380Z         },
2026-06-04T17:03:14.9859564Z         "int": {
2026-06-04T17:03:14.9859767Z           "complete": false,
2026-06-04T17:03:14.9859950Z           "evidence": []
2026-06-04T17:03:14.9860159Z         },
2026-06-04T17:03:14.9860342Z         "unit": {
2026-06-04T17:03:14.9860542Z           "complete": true,
2026-06-04T17:03:14.9860724Z           "evidence": [
2026-06-04T17:03:14.9860901Z             {
2026-06-04T17:03:14.9861176Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:14.9861357Z               "line": 745
2026-06-04T17:03:14.9861533Z             },
2026-06-04T17:03:14.9861695Z             {
2026-06-04T17:03:14.9861949Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:14.9862129Z               "line": 164
2026-06-04T17:03:14.9862302Z             }
2026-06-04T17:03:14.9862474Z           ]
2026-06-04T17:03:14.9862638Z         }
2026-06-04T17:03:14.9862808Z       }
2026-06-04T17:03:14.9862965Z     },
2026-06-04T17:03:14.9863131Z     {
2026-06-04T17:03:14.9863389Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T17:03:14.9863745Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T17:03:14.9863960Z       "requiredStages": [
2026-06-04T17:03:14.9864229Z         "impl",
2026-06-04T17:03:14.9864411Z         "unit"
2026-06-04T17:03:14.9864574Z       ],
2026-06-04T17:03:14.9864757Z       "stages": {
2026-06-04T17:03:14.9864925Z         "doc": {
2026-06-04T17:03:14.9865125Z           "complete": false,
2026-06-04T17:03:14.9865315Z           "evidence": []
2026-06-04T17:03:14.9865478Z         },
2026-06-04T17:03:14.9865658Z         "impl": {
2026-06-04T17:03:14.9865851Z           "complete": true,
2026-06-04T17:03:14.9866036Z           "evidence": [
2026-06-04T17:03:14.9866196Z             {
2026-06-04T17:03:14.9866455Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9866648Z               "line": 20
2026-06-04T17:03:14.9866813Z             },
2026-06-04T17:03:14.9866982Z             {
2026-06-04T17:03:14.9867225Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9867412Z               "line": 94
2026-06-04T17:03:14.9867575Z             },
2026-06-04T17:03:14.9867759Z             {
2026-06-04T17:03:14.9868280Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:03:14.9868482Z               "line": 70
2026-06-04T17:03:14.9868657Z             },
2026-06-04T17:03:14.9868823Z             {
2026-06-04T17:03:14.9869099Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:03:14.9869324Z               "line": 82
2026-06-04T17:03:14.9869506Z             }
2026-06-04T17:03:14.9869684Z           ]
2026-06-04T17:03:14.9869852Z         },
2026-06-04T17:03:14.9870023Z         "int": {
2026-06-04T17:03:14.9870209Z           "complete": false,
2026-06-04T17:03:14.9870393Z           "evidence": []
2026-06-04T17:03:14.9870554Z         },
2026-06-04T17:03:14.9870725Z         "unit": {
2026-06-04T17:03:14.9870919Z           "complete": true,
2026-06-04T17:03:14.9871095Z           "evidence": [
2026-06-04T17:03:14.9871270Z             {
2026-06-04T17:03:14.9871513Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9871851Z               "line": 139
2026-06-04T17:03:14.9872032Z             },
2026-06-04T17:03:14.9872206Z             {
2026-06-04T17:03:14.9872458Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9872638Z               "line": 162
2026-06-04T17:03:14.9872809Z             },
2026-06-04T17:03:14.9872971Z             {
2026-06-04T17:03:14.9873219Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9873399Z               "line": 173
2026-06-04T17:03:14.9873573Z             },
2026-06-04T17:03:14.9873743Z             {
2026-06-04T17:03:14.9873983Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9874171Z               "line": 189
2026-06-04T17:03:14.9874332Z             },
2026-06-04T17:03:14.9874512Z             {
2026-06-04T17:03:14.9874752Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T17:03:14.9874943Z               "line": 200
2026-06-04T17:03:14.9875116Z             },
2026-06-04T17:03:14.9875281Z             {
2026-06-04T17:03:14.9875580Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T17:03:14.9875760Z               "line": 139
2026-06-04T17:03:14.9875938Z             }
2026-06-04T17:03:14.9876103Z           ]
2026-06-04T17:03:14.9876274Z         }
2026-06-04T17:03:14.9876448Z       }
2026-06-04T17:03:14.9876607Z     },
2026-06-04T17:03:14.9876776Z     {
2026-06-04T17:03:14.9876982Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T17:03:14.9877525Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T17:03:14.9877714Z       "requiredStages": [
2026-06-04T17:03:14.9877899Z         "impl",
2026-06-04T17:03:14.9878076Z         "unit"
2026-06-04T17:03:14.9878241Z       ],
2026-06-04T17:03:14.9878421Z       "stages": {
2026-06-04T17:03:14.9878588Z         "doc": {
2026-06-04T17:03:14.9878784Z           "complete": true,
2026-06-04T17:03:14.9878964Z           "evidence": [
2026-06-04T17:03:14.9879135Z             {
2026-06-04T17:03:14.9879438Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:03:14.9879619Z               "line": 131
2026-06-04T17:03:14.9879792Z             }
2026-06-04T17:03:14.9879955Z           ]
2026-06-04T17:03:14.9880128Z         },
2026-06-04T17:03:14.9880298Z         "impl": {
2026-06-04T17:03:14.9880494Z           "complete": true,
2026-06-04T17:03:14.9880682Z           "evidence": [
2026-06-04T17:03:14.9880847Z             {
2026-06-04T17:03:14.9881085Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:14.9881259Z               "line": 65
2026-06-04T17:03:14.9881465Z             },
2026-06-04T17:03:14.9881628Z             {
2026-06-04T17:03:14.9881873Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9882073Z               "line": 17
2026-06-04T17:03:14.9882253Z             },
2026-06-04T17:03:14.9882436Z             {
2026-06-04T17:03:14.9882680Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:14.9882870Z               "line": 212
2026-06-04T17:03:14.9883250Z             },
2026-06-04T17:03:14.9883447Z             {
2026-06-04T17:03:14.9883701Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:14.9883885Z               "line": 312
2026-06-04T17:03:14.9884062Z             },
2026-06-04T17:03:14.9884226Z             {
2026-06-04T17:03:14.9884474Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T17:03:14.9884650Z               "line": 32
2026-06-04T17:03:14.9884832Z             },
2026-06-04T17:03:14.9885003Z             {
2026-06-04T17:03:14.9885221Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9885412Z               "line": 1719
2026-06-04T17:03:14.9885582Z             },
2026-06-04T17:03:14.9885757Z             {
2026-06-04T17:03:14.9885981Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:14.9886158Z               "line": 1815
2026-06-04T17:03:14.9886332Z             }
2026-06-04T17:03:14.9886495Z           ]
2026-06-04T17:03:14.9886664Z         },
2026-06-04T17:03:14.9886973Z         "int": {
2026-06-04T17:03:14.9887189Z           "complete": false,
2026-06-04T17:03:14.9887374Z           "evidence": []
2026-06-04T17:03:14.9887552Z         },
2026-06-04T17:03:14.9887733Z         "unit": {
2026-06-04T17:03:14.9887920Z           "complete": true,
2026-06-04T17:03:14.9888108Z           "evidence": [
2026-06-04T17:03:14.9888272Z             {
2026-06-04T17:03:14.9888513Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9888694Z               "line": 94
2026-06-04T17:03:14.9888859Z             },
2026-06-04T17:03:14.9889030Z             {
2026-06-04T17:03:14.9889302Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9889500Z               "line": 111
2026-06-04T17:03:14.9889664Z             },
2026-06-04T17:03:14.9889844Z             {
2026-06-04T17:03:14.9890091Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9890270Z               "line": 124
2026-06-04T17:03:14.9890445Z             },
2026-06-04T17:03:14.9890622Z             {
2026-06-04T17:03:14.9890871Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9891048Z               "line": 134
2026-06-04T17:03:14.9891220Z             },
2026-06-04T17:03:14.9891393Z             {
2026-06-04T17:03:14.9891624Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9891820Z               "line": 142
2026-06-04T17:03:14.9891984Z             },
2026-06-04T17:03:14.9892164Z             {
2026-06-04T17:03:14.9892394Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T17:03:14.9892586Z               "line": 154
2026-06-04T17:03:14.9892763Z             },
2026-06-04T17:03:14.9892934Z             {
2026-06-04T17:03:14.9893223Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:14.9893406Z               "line": 636
2026-06-04T17:03:14.9893585Z             }
2026-06-04T17:03:14.9893750Z           ]
2026-06-04T17:03:14.9893930Z         }
2026-06-04T17:03:14.9894103Z       }
2026-06-04T17:03:14.9894279Z     },
2026-06-04T17:03:14.9894457Z     {
2026-06-04T17:03:14.9894684Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T17:03:14.9894975Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T17:03:14.9895168Z       "requiredStages": [
2026-06-04T17:03:14.9895352Z         "impl",
2026-06-04T17:03:14.9895534Z         "unit"
2026-06-04T17:03:14.9895696Z       ],
2026-06-04T17:03:14.9895876Z       "stages": {
2026-06-04T17:03:14.9896047Z         "doc": {
2026-06-04T17:03:14.9896247Z           "complete": false,
2026-06-04T17:03:14.9896430Z           "evidence": []
2026-06-04T17:03:14.9896607Z         },
2026-06-04T17:03:14.9896790Z         "impl": {
2026-06-04T17:03:14.9896977Z           "complete": true,
2026-06-04T17:03:14.9897167Z           "evidence": [
2026-06-04T17:03:14.9897335Z             {
2026-06-04T17:03:14.9897589Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:14.9897768Z               "line": 128
2026-06-04T17:03:14.9897946Z             }
2026-06-04T17:03:14.9898134Z           ]
2026-06-04T17:03:14.9898447Z         },
2026-06-04T17:03:14.9898642Z         "int": {
2026-06-04T17:03:14.9898835Z           "complete": false,
2026-06-04T17:03:14.9899034Z           "evidence": []
2026-06-04T17:03:14.9899241Z         },
2026-06-04T17:03:14.9899426Z         "unit": {
2026-06-04T17:03:14.9899625Z           "complete": true,
2026-06-04T17:03:14.9899805Z           "evidence": [
2026-06-04T17:03:14.9899981Z             {
2026-06-04T17:03:14.9900227Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:14.9900426Z               "line": 205
2026-06-04T17:03:14.9900593Z             }
2026-06-04T17:03:14.9900768Z           ]
2026-06-04T17:03:14.9900947Z         }
2026-06-04T17:03:14.9901110Z       }
2026-06-04T17:03:14.9901285Z     },
2026-06-04T17:03:14.9901448Z     {
2026-06-04T17:03:14.9901700Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T17:03:14.9902020Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T17:03:14.9902387Z       "requiredStages": [
2026-06-04T17:03:14.9902578Z         "impl",
2026-06-04T17:03:14.9902748Z         "unit"
2026-06-04T17:03:14.9902921Z       ],
2026-06-04T17:03:14.9903095Z       "stages": {
2026-06-04T17:03:14.9903279Z         "doc": {
2026-06-04T17:03:14.9903469Z           "complete": false,
2026-06-04T17:03:14.9903670Z           "evidence": []
2026-06-04T17:03:14.9903853Z         },
2026-06-04T17:03:14.9904029Z         "impl": {
2026-06-04T17:03:14.9904227Z           "complete": true,
2026-06-04T17:03:14.9904409Z           "evidence": [
2026-06-04T17:03:14.9904587Z             {
2026-06-04T17:03:14.9904829Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9905018Z               "line": 231
2026-06-04T17:03:14.9905196Z             },
2026-06-04T17:03:14.9905361Z             {
2026-06-04T17:03:14.9905614Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9905796Z               "line": 242
2026-06-04T17:03:14.9905973Z             },
2026-06-04T17:03:14.9906168Z             {
2026-06-04T17:03:14.9906421Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9912589Z               "line": 260
2026-06-04T17:03:14.9912861Z             }
2026-06-04T17:03:14.9913029Z           ]
2026-06-04T17:03:14.9913207Z         },
2026-06-04T17:03:14.9913398Z         "int": {
2026-06-04T17:03:14.9913596Z           "complete": false,
2026-06-04T17:03:14.9913787Z           "evidence": []
2026-06-04T17:03:14.9913952Z         },
2026-06-04T17:03:14.9914130Z         "unit": {
2026-06-04T17:03:14.9914316Z           "complete": true,
2026-06-04T17:03:14.9914507Z           "evidence": [
2026-06-04T17:03:14.9914682Z             {
2026-06-04T17:03:14.9914933Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9915132Z               "line": 284
2026-06-04T17:03:14.9915301Z             },
2026-06-04T17:03:14.9915475Z             {
2026-06-04T17:03:14.9915712Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9915962Z               "line": 302
2026-06-04T17:03:14.9916139Z             },
2026-06-04T17:03:14.9916302Z             {
2026-06-04T17:03:14.9916547Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9916726Z               "line": 467
2026-06-04T17:03:14.9916905Z             },
2026-06-04T17:03:14.9917067Z             {
2026-06-04T17:03:14.9917314Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9917505Z               "line": 478
2026-06-04T17:03:14.9917668Z             },
2026-06-04T17:03:14.9917845Z             {
2026-06-04T17:03:14.9918076Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:14.9918262Z               "line": 491
2026-06-04T17:03:14.9918426Z             }
2026-06-04T17:03:14.9918606Z           ]
2026-06-04T17:03:14.9918778Z         }
2026-06-04T17:03:14.9918938Z       }
2026-06-04T17:03:14.9919105Z     },
2026-06-04T17:03:14.9919389Z     {
2026-06-04T17:03:14.9919625Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T17:03:14.9920422Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T17:03:14.9920650Z       "requiredStages": [
2026-06-04T17:03:14.9920829Z         "impl",
2026-06-04T17:03:14.9920994Z         "unit"
2026-06-04T17:03:14.9921167Z       ],
2026-06-04T17:03:14.9921342Z       "stages": {
2026-06-04T17:03:14.9921515Z         "doc": {
2026-06-04T17:03:14.9921709Z           "complete": false,
2026-06-04T17:03:14.9921909Z           "evidence": []
2026-06-04T17:03:14.9922081Z         },
2026-06-04T17:03:14.9922252Z         "impl": {
2026-06-04T17:03:14.9922450Z           "complete": true,
2026-06-04T17:03:14.9922631Z           "evidence": [
2026-06-04T17:03:14.9922803Z             {
2026-06-04T17:03:14.9923033Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9923222Z               "line": 14
2026-06-04T17:03:14.9923403Z             },
2026-06-04T17:03:14.9923565Z             {
2026-06-04T17:03:14.9923806Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:14.9924134Z               "line": 360
2026-06-04T17:03:14.9924311Z             }
2026-06-04T17:03:14.9924474Z           ]
2026-06-04T17:03:14.9924647Z         },
2026-06-04T17:03:14.9924824Z         "int": {
2026-06-04T17:03:14.9925011Z           "complete": false,
2026-06-04T17:03:14.9925202Z           "evidence": []
2026-06-04T17:03:14.9925364Z         },
2026-06-04T17:03:14.9925542Z         "unit": {
2026-06-04T17:03:14.9925728Z           "complete": true,
2026-06-04T17:03:14.9925914Z           "evidence": [
2026-06-04T17:03:14.9926089Z             {
2026-06-04T17:03:14.9926319Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9926510Z               "line": 130
2026-06-04T17:03:14.9926676Z             },
2026-06-04T17:03:14.9926860Z             {
2026-06-04T17:03:14.9927088Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9927275Z               "line": 138
2026-06-04T17:03:14.9927446Z             },
2026-06-04T17:03:14.9927617Z             {
2026-06-04T17:03:14.9927860Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9928041Z               "line": 146
2026-06-04T17:03:14.9928219Z             },
2026-06-04T17:03:14.9928382Z             {
2026-06-04T17:03:14.9928620Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9928807Z               "line": 154
2026-06-04T17:03:14.9928970Z             },
2026-06-04T17:03:14.9929144Z             {
2026-06-04T17:03:14.9929427Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9929617Z               "line": 162
2026-06-04T17:03:14.9929789Z             },
2026-06-04T17:03:14.9929968Z             {
2026-06-04T17:03:14.9930207Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T17:03:14.9930389Z               "line": 170
2026-06-04T17:03:14.9930561Z             }
2026-06-04T17:03:14.9930724Z           ]
2026-06-04T17:03:14.9930897Z         }
2026-06-04T17:03:14.9931057Z       }
2026-06-04T17:03:14.9931241Z     },
2026-06-04T17:03:14.9931408Z     {
2026-06-04T17:03:14.9931645Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T17:03:14.9933755Z       "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:03:14.9933957Z       "requiredStages": [
2026-06-04T17:03:14.9934135Z         "impl",
2026-06-04T17:03:14.9934317Z         "unit"
2026-06-04T17:03:14.9934481Z       ],
2026-06-04T17:03:14.9934664Z       "stages": {
2026-06-04T17:03:14.9934831Z         "doc": {
2026-06-04T17:03:14.9935027Z           "complete": false,
2026-06-04T17:03:14.9935209Z           "evidence": []
2026-06-04T17:03:14.9935381Z         },
2026-06-04T17:03:14.9935563Z         "impl": {
2026-06-04T17:03:14.9935753Z           "complete": true,
2026-06-04T17:03:14.9935935Z           "evidence": [
2026-06-04T17:03:14.9936123Z             {
2026-06-04T17:03:14.9936594Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9936791Z               "line": 34
2026-06-04T17:03:14.9936970Z             }
2026-06-04T17:03:14.9937145Z           ]
2026-06-04T17:03:14.9937313Z         },
2026-06-04T17:03:14.9937490Z         "int": {
2026-06-04T17:03:14.9937678Z           "complete": false,
2026-06-04T17:03:14.9937869Z           "evidence": []
2026-06-04T17:03:14.9938031Z         },
2026-06-04T17:03:14.9938211Z         "unit": {
2026-06-04T17:03:14.9938410Z           "complete": true,
2026-06-04T17:03:14.9938591Z           "evidence": [
2026-06-04T17:03:14.9938764Z             {
2026-06-04T17:03:14.9939065Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9939302Z               "line": 188
2026-06-04T17:03:14.9939471Z             },
2026-06-04T17:03:14.9939647Z             {
2026-06-04T17:03:14.9939962Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9940331Z               "line": 200
2026-06-04T17:03:14.9940513Z             },
2026-06-04T17:03:14.9940686Z             {
2026-06-04T17:03:14.9940995Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9941176Z               "line": 211
2026-06-04T17:03:14.9941354Z             },
2026-06-04T17:03:14.9941527Z             {
2026-06-04T17:03:14.9941826Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9942016Z               "line": 245
2026-06-04T17:03:14.9942183Z             },
2026-06-04T17:03:14.9942356Z             {
2026-06-04T17:03:14.9942649Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9942844Z               "line": 267
2026-06-04T17:03:14.9943015Z             },
2026-06-04T17:03:14.9943182Z             {
2026-06-04T17:03:14.9943486Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9943666Z               "line": 288
2026-06-04T17:03:14.9943863Z             },
2026-06-04T17:03:14.9944042Z             {
2026-06-04T17:03:14.9944339Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T17:03:14.9944531Z               "line": 304
2026-06-04T17:03:14.9944699Z             }
2026-06-04T17:03:14.9944871Z           ]
2026-06-04T17:03:14.9945034Z         }
2026-06-04T17:03:14.9945206Z       }
2026-06-04T17:03:14.9945376Z     },
2026-06-04T17:03:14.9945531Z     {
2026-06-04T17:03:14.9945769Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T17:03:14.9946917Z       "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:03:14.9947119Z       "requiredStages": [
2026-06-04T17:03:14.9947287Z         "impl",
2026-06-04T17:03:14.9947464Z         "unit"
2026-06-04T17:03:14.9947633Z       ],
2026-06-04T17:03:14.9952625Z       "stages": {
2026-06-04T17:03:14.9952937Z         "doc": {
2026-06-04T17:03:14.9953135Z           "complete": false,
2026-06-04T17:03:14.9953329Z           "evidence": []
2026-06-04T17:03:14.9953491Z         },
2026-06-04T17:03:14.9953677Z         "impl": {
2026-06-04T17:03:14.9953871Z           "complete": true,
2026-06-04T17:03:14.9954047Z           "evidence": [
2026-06-04T17:03:14.9954221Z             {
2026-06-04T17:03:14.9954483Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9954676Z               "line": 29
2026-06-04T17:03:14.9954842Z             },
2026-06-04T17:03:14.9955018Z             {
2026-06-04T17:03:14.9955271Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9955453Z               "line": 154
2026-06-04T17:03:14.9955631Z             },
2026-06-04T17:03:14.9955792Z             {
2026-06-04T17:03:14.9956043Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9956224Z               "line": 173
2026-06-04T17:03:14.9956417Z             },
2026-06-04T17:03:14.9956829Z             {
2026-06-04T17:03:14.9957089Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9957274Z               "line": 200
2026-06-04T17:03:14.9957439Z             }
2026-06-04T17:03:14.9957608Z           ]
2026-06-04T17:03:14.9957768Z         },
2026-06-04T17:03:14.9957945Z         "int": {
2026-06-04T17:03:14.9958144Z           "complete": false,
2026-06-04T17:03:14.9958328Z           "evidence": []
2026-06-04T17:03:14.9958495Z         },
2026-06-04T17:03:14.9958662Z         "unit": {
2026-06-04T17:03:14.9958856Z           "complete": true,
2026-06-04T17:03:14.9959030Z           "evidence": [
2026-06-04T17:03:14.9959286Z             {
2026-06-04T17:03:14.9959541Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9959717Z               "line": 276
2026-06-04T17:03:14.9959889Z             },
2026-06-04T17:03:14.9960050Z             {
2026-06-04T17:03:14.9960297Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9960634Z               "line": 291
2026-06-04T17:03:14.9960812Z             },
2026-06-04T17:03:14.9960986Z             {
2026-06-04T17:03:14.9961228Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9961410Z               "line": 310
2026-06-04T17:03:14.9961579Z             },
2026-06-04T17:03:14.9961750Z             {
2026-06-04T17:03:14.9962010Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9962190Z               "line": 326
2026-06-04T17:03:14.9962360Z             },
2026-06-04T17:03:14.9962523Z             {
2026-06-04T17:03:14.9962772Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9962951Z               "line": 376
2026-06-04T17:03:14.9963128Z             },
2026-06-04T17:03:14.9963296Z             {
2026-06-04T17:03:14.9963532Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9963719Z               "line": 390
2026-06-04T17:03:14.9963880Z             },
2026-06-04T17:03:14.9964078Z             {
2026-06-04T17:03:14.9964324Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9964514Z               "line": 401
2026-06-04T17:03:14.9964687Z             },
2026-06-04T17:03:14.9964853Z             {
2026-06-04T17:03:14.9965101Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:14.9965279Z               "line": 412
2026-06-04T17:03:14.9965450Z             }
2026-06-04T17:03:14.9965610Z           ]
2026-06-04T17:03:14.9965779Z         }
2026-06-04T17:03:14.9965943Z       }
2026-06-04T17:03:14.9966101Z     },
2026-06-04T17:03:14.9966266Z     {
2026-06-04T17:03:14.9966512Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T17:03:14.9967979Z       "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:03:14.9968174Z       "requiredStages": [
2026-06-04T17:03:14.9968387Z         "impl",
2026-06-04T17:03:14.9968565Z         "unit"
2026-06-04T17:03:14.9968727Z       ],
2026-06-04T17:03:14.9968903Z       "stages": {
2026-06-04T17:03:14.9969066Z         "doc": {
2026-06-04T17:03:14.9969313Z           "complete": false,
2026-06-04T17:03:14.9969494Z           "evidence": []
2026-06-04T17:03:14.9969665Z         },
2026-06-04T17:03:14.9969842Z         "impl": {
2026-06-04T17:03:14.9970030Z           "complete": true,
2026-06-04T17:03:14.9970218Z           "evidence": [
2026-06-04T17:03:14.9970379Z             {
2026-06-04T17:03:14.9970669Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9970846Z               "line": 27
2026-06-04T17:03:14.9971023Z             },
2026-06-04T17:03:14.9971193Z             {
2026-06-04T17:03:14.9971477Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9971687Z               "line": 110
2026-06-04T17:03:14.9971862Z             },
2026-06-04T17:03:14.9972052Z             {
2026-06-04T17:03:14.9972497Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9972695Z               "line": 153
2026-06-04T17:03:14.9972869Z             },
2026-06-04T17:03:14.9973032Z             {
2026-06-04T17:03:14.9973319Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9973502Z               "line": 182
2026-06-04T17:03:14.9973674Z             },
2026-06-04T17:03:14.9973848Z             {
2026-06-04T17:03:14.9974150Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9974342Z               "line": 31
2026-06-04T17:03:14.9974506Z             },
2026-06-04T17:03:14.9974679Z             {
2026-06-04T17:03:14.9974980Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9975177Z               "line": 113
2026-06-04T17:03:14.9975351Z             },
2026-06-04T17:03:14.9975512Z             {
2026-06-04T17:03:14.9975833Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9976150Z               "line": 138
2026-06-04T17:03:14.9976327Z             }
2026-06-04T17:03:14.9976488Z           ]
2026-06-04T17:03:14.9976660Z         },
2026-06-04T17:03:14.9976843Z         "int": {
2026-06-04T17:03:14.9977034Z           "complete": false,
2026-06-04T17:03:14.9977222Z           "evidence": []
2026-06-04T17:03:14.9977383Z         },
2026-06-04T17:03:14.9977560Z         "unit": {
2026-06-04T17:03:14.9977744Z           "complete": true,
2026-06-04T17:03:14.9977935Z           "evidence": [
2026-06-04T17:03:14.9978109Z             {
2026-06-04T17:03:14.9978378Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9978570Z               "line": 261
2026-06-04T17:03:14.9978733Z             },
2026-06-04T17:03:14.9978906Z             {
2026-06-04T17:03:14.9979232Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9979429Z               "line": 276
2026-06-04T17:03:14.9979622Z             },
2026-06-04T17:03:14.9979794Z             {
2026-06-04T17:03:14.9980076Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9980258Z               "line": 293
2026-06-04T17:03:14.9980429Z             },
2026-06-04T17:03:14.9980593Z             {
2026-06-04T17:03:14.9980869Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9981060Z               "line": 310
2026-06-04T17:03:14.9981227Z             },
2026-06-04T17:03:14.9981397Z             {
2026-06-04T17:03:14.9981665Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9981850Z               "line": 327
2026-06-04T17:03:14.9982015Z             },
2026-06-04T17:03:14.9982188Z             {
2026-06-04T17:03:14.9982460Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:14.9982634Z               "line": 366
2026-06-04T17:03:14.9982806Z             },
2026-06-04T17:03:14.9982971Z             {
2026-06-04T17:03:14.9983306Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9983499Z               "line": 179
2026-06-04T17:03:14.9983665Z             },
2026-06-04T17:03:14.9983836Z             {
2026-06-04T17:03:14.9984133Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9984328Z               "line": 194
2026-06-04T17:03:14.9984490Z             },
2026-06-04T17:03:14.9984662Z             {
2026-06-04T17:03:14.9984964Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9985142Z               "line": 204
2026-06-04T17:03:14.9985312Z             },
2026-06-04T17:03:14.9985477Z             {
2026-06-04T17:03:14.9985779Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9985953Z               "line": 259
2026-06-04T17:03:14.9986126Z             },
2026-06-04T17:03:14.9986301Z             {
2026-06-04T17:03:14.9991337Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9991901Z               "line": 269
2026-06-04T17:03:14.9992102Z             },
2026-06-04T17:03:14.9992277Z             {
2026-06-04T17:03:14.9992591Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:14.9992787Z               "line": 283
2026-06-04T17:03:14.9992956Z             }
2026-06-04T17:03:14.9993120Z           ]
2026-06-04T17:03:14.9993293Z         }
2026-06-04T17:03:14.9993453Z       }
2026-06-04T17:03:14.9993623Z     },
2026-06-04T17:03:14.9993781Z     {
2026-06-04T17:03:14.9994022Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T17:03:14.9994438Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T17:03:14.9994637Z       "requiredStages": [],
2026-06-04T17:03:14.9994819Z       "stages": {
2026-06-04T17:03:14.9994991Z         "doc": {
2026-06-04T17:03:14.9995187Z           "complete": false,
2026-06-04T17:03:14.9995376Z           "evidence": []
2026-06-04T17:03:14.9995703Z         },
2026-06-04T17:03:14.9995900Z         "impl": {
2026-06-04T17:03:14.9996089Z           "complete": false,
2026-06-04T17:03:14.9996282Z           "evidence": []
2026-06-04T17:03:14.9996444Z         },
2026-06-04T17:03:14.9996622Z         "int": {
2026-06-04T17:03:14.9996806Z           "complete": false,
2026-06-04T17:03:14.9997001Z           "evidence": []
2026-06-04T17:03:14.9997178Z         },
2026-06-04T17:03:14.9997342Z         "unit": {
2026-06-04T17:03:14.9997534Z           "complete": false,
2026-06-04T17:03:14.9997717Z           "evidence": []
2026-06-04T17:03:14.9997887Z         }
2026-06-04T17:03:14.9998045Z       }
2026-06-04T17:03:14.9998211Z     },
2026-06-04T17:03:14.9998379Z     {
2026-06-04T17:03:14.9998646Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T17:03:15.0007064Z       "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:03:15.0007329Z       "requiredStages": [
2026-06-04T17:03:15.0007517Z         "impl",
2026-06-04T17:03:15.0007696Z         "unit"
2026-06-04T17:03:15.0007860Z       ],
2026-06-04T17:03:15.0008042Z       "stages": {
2026-06-04T17:03:15.0008215Z         "doc": {
2026-06-04T17:03:15.0008414Z           "complete": false,
2026-06-04T17:03:15.0008597Z           "evidence": []
2026-06-04T17:03:15.0008779Z         },
2026-06-04T17:03:15.0008957Z         "impl": {
2026-06-04T17:03:15.0009143Z           "complete": true,
2026-06-04T17:03:15.0009461Z           "evidence": [
2026-06-04T17:03:15.0009626Z             {
2026-06-04T17:03:15.0009901Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0010081Z               "line": 26
2026-06-04T17:03:15.0010259Z             },
2026-06-04T17:03:15.0010432Z             {
2026-06-04T17:03:15.0010689Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0010911Z               "line": 93
2026-06-04T17:03:15.0011076Z             },
2026-06-04T17:03:15.0011250Z             {
2026-06-04T17:03:15.0011502Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0011695Z               "line": 158
2026-06-04T17:03:15.0011868Z             },
2026-06-04T17:03:15.0012031Z             {
2026-06-04T17:03:15.0012290Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0012472Z               "line": 19
2026-06-04T17:03:15.0012649Z             },
2026-06-04T17:03:15.0012816Z             {
2026-06-04T17:03:15.0013067Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0013254Z               "line": 50
2026-06-04T17:03:15.0013418Z             },
2026-06-04T17:03:15.0013588Z             {
2026-06-04T17:03:15.0013818Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:03:15.0014002Z               "line": 18
2026-06-04T17:03:15.0014177Z             },
2026-06-04T17:03:15.0014351Z             {
2026-06-04T17:03:15.0014919Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:03:15.0015125Z               "line": 65
2026-06-04T17:03:15.0015298Z             },
2026-06-04T17:03:15.0015461Z             {
2026-06-04T17:03:15.0015714Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:15.0015904Z               "line": 65
2026-06-04T17:03:15.0016071Z             }
2026-06-04T17:03:15.0016240Z           ]
2026-06-04T17:03:15.0016406Z         },
2026-06-04T17:03:15.0016581Z         "int": {
2026-06-04T17:03:15.0016773Z           "complete": false,
2026-06-04T17:03:15.0016968Z           "evidence": []
2026-06-04T17:03:15.0017141Z         },
2026-06-04T17:03:15.0017311Z         "unit": {
2026-06-04T17:03:15.0017515Z           "complete": true,
2026-06-04T17:03:15.0017696Z           "evidence": [
2026-06-04T17:03:15.0017873Z             {
2026-06-04T17:03:15.0018127Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0018317Z               "line": 276
2026-06-04T17:03:15.0018694Z             },
2026-06-04T17:03:15.0018864Z             {
2026-06-04T17:03:15.0019132Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0019361Z               "line": 295
2026-06-04T17:03:15.0019538Z             },
2026-06-04T17:03:15.0019700Z             {
2026-06-04T17:03:15.0019962Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0020152Z               "line": 323
2026-06-04T17:03:15.0020317Z             },
2026-06-04T17:03:15.0020491Z             {
2026-06-04T17:03:15.0020747Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0020937Z               "line": 372
2026-06-04T17:03:15.0021105Z             },
2026-06-04T17:03:15.0021281Z             {
2026-06-04T17:03:15.0021544Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0021726Z               "line": 383
2026-06-04T17:03:15.0021901Z             },
2026-06-04T17:03:15.0022064Z             {
2026-06-04T17:03:15.0022351Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0022535Z               "line": 414
2026-06-04T17:03:15.0022718Z             },
2026-06-04T17:03:15.0022897Z             {
2026-06-04T17:03:15.0023152Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0023347Z               "line": 425
2026-06-04T17:03:15.0023513Z             },
2026-06-04T17:03:15.0023684Z             {
2026-06-04T17:03:15.0023932Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0024121Z               "line": 77
2026-06-04T17:03:15.0024296Z             },
2026-06-04T17:03:15.0024460Z             {
2026-06-04T17:03:15.0024719Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0024897Z               "line": 95
2026-06-04T17:03:15.0025069Z             },
2026-06-04T17:03:15.0025234Z             {
2026-06-04T17:03:15.0025491Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0025699Z               "line": 106
2026-06-04T17:03:15.0025874Z             },
2026-06-04T17:03:15.0026050Z             {
2026-06-04T17:03:15.0026297Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0026487Z               "line": 117
2026-06-04T17:03:15.0026663Z             },
2026-06-04T17:03:15.0026832Z             {
2026-06-04T17:03:15.0027092Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0027279Z               "line": 124
2026-06-04T17:03:15.0027453Z             },
2026-06-04T17:03:15.0027623Z             {
2026-06-04T17:03:15.0027877Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T17:03:15.0028067Z               "line": 137
2026-06-04T17:03:15.0028235Z             },
2026-06-04T17:03:15.0028406Z             {
2026-06-04T17:03:15.0028635Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:03:15.0028824Z               "line": 106
2026-06-04T17:03:15.0028989Z             },
2026-06-04T17:03:15.0029207Z             {
2026-06-04T17:03:15.0029611Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:03:15.0029809Z               "line": 118
2026-06-04T17:03:15.0029986Z             },
2026-06-04T17:03:15.0030148Z             {
2026-06-04T17:03:15.0030406Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T17:03:15.0030586Z               "line": 331
2026-06-04T17:03:15.0030759Z             }
2026-06-04T17:03:15.0030930Z           ]
2026-06-04T17:03:15.0031089Z         }
2026-06-04T17:03:15.0031264Z       }
2026-06-04T17:03:15.0031425Z     },
2026-06-04T17:03:15.0031592Z     {
2026-06-04T17:03:15.0031826Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T17:03:15.0032378Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T17:03:15.0032590Z       "requiredStages": [
2026-06-04T17:03:15.0038463Z         "impl",
2026-06-04T17:03:15.0038745Z         "unit"
2026-06-04T17:03:15.0038916Z       ],
2026-06-04T17:03:15.0039452Z       "stages": {
2026-06-04T17:03:15.0039643Z         "doc": {
2026-06-04T17:03:15.0039849Z           "complete": true,
2026-06-04T17:03:15.0040044Z           "evidence": [
2026-06-04T17:03:15.0040217Z             {
2026-06-04T17:03:15.0040464Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:03:15.0040650Z               "line": 137
2026-06-04T17:03:15.0040831Z             }
2026-06-04T17:03:15.0040996Z           ]
2026-06-04T17:03:15.0041168Z         },
2026-06-04T17:03:15.0041351Z         "impl": {
2026-06-04T17:03:15.0041543Z           "complete": true,
2026-06-04T17:03:15.0041734Z           "evidence": [
2026-06-04T17:03:15.0041899Z             {
2026-06-04T17:03:15.0042143Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T17:03:15.0042324Z               "line": 29
2026-06-04T17:03:15.0042502Z             },
2026-06-04T17:03:15.0042676Z             {
2026-06-04T17:03:15.0042920Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0043113Z               "line": 101
2026-06-04T17:03:15.0043309Z             },
2026-06-04T17:03:15.0043490Z             {
2026-06-04T17:03:15.0043745Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0043936Z               "line": 30
2026-06-04T17:03:15.0044114Z             },
2026-06-04T17:03:15.0044276Z             {
2026-06-04T17:03:15.0044525Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0044703Z               "line": 48
2026-06-04T17:03:15.0044879Z             }
2026-06-04T17:03:15.0045043Z           ]
2026-06-04T17:03:15.0045210Z         },
2026-06-04T17:03:15.0045391Z         "int": {
2026-06-04T17:03:15.0045585Z           "complete": false,
2026-06-04T17:03:15.0045773Z           "evidence": []
2026-06-04T17:03:15.0045935Z         },
2026-06-04T17:03:15.0046110Z         "unit": {
2026-06-04T17:03:15.0046295Z           "complete": true,
2026-06-04T17:03:15.0046487Z           "evidence": [
2026-06-04T17:03:15.0046659Z             {
2026-06-04T17:03:15.0046910Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0047117Z               "line": 152
2026-06-04T17:03:15.0047283Z             }
2026-06-04T17:03:15.0047457Z           ]
2026-06-04T17:03:15.0047620Z         }
2026-06-04T17:03:15.0047788Z       }
2026-06-04T17:03:15.0047955Z     },
2026-06-04T17:03:15.0048113Z     {
2026-06-04T17:03:15.0048359Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T17:03:15.0049416Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T17:03:15.0049636Z       "requiredStages": [
2026-06-04T17:03:15.0049807Z         "doc",
2026-06-04T17:03:15.0049986Z         "impl",
2026-06-04T17:03:15.0050158Z         "unit"
2026-06-04T17:03:15.0050316Z       ],
2026-06-04T17:03:15.0050502Z       "stages": {
2026-06-04T17:03:15.0050691Z         "doc": {
2026-06-04T17:03:15.0050905Z           "complete": true,
2026-06-04T17:03:15.0051110Z           "evidence": [
2026-06-04T17:03:15.0051311Z             {
2026-06-04T17:03:15.0051719Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:03:15.0051912Z               "line": 149
2026-06-04T17:03:15.0052091Z             }
2026-06-04T17:03:15.0052254Z           ]
2026-06-04T17:03:15.0052425Z         },
2026-06-04T17:03:15.0052594Z         "impl": {
2026-06-04T17:03:15.0052791Z           "complete": true,
2026-06-04T17:03:15.0052977Z           "evidence": [
2026-06-04T17:03:15.0053138Z             {
2026-06-04T17:03:15.0053401Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0053575Z               "line": 22
2026-06-04T17:03:15.0053748Z             }
2026-06-04T17:03:15.0053910Z           ]
2026-06-04T17:03:15.0054081Z         },
2026-06-04T17:03:15.0054256Z         "int": {
2026-06-04T17:03:15.0054444Z           "complete": false,
2026-06-04T17:03:15.0054634Z           "evidence": []
2026-06-04T17:03:15.0054800Z         },
2026-06-04T17:03:15.0054980Z         "unit": {
2026-06-04T17:03:15.0055166Z           "complete": true,
2026-06-04T17:03:15.0055500Z           "evidence": [
2026-06-04T17:03:15.0055678Z             {
2026-06-04T17:03:15.0055938Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0056125Z               "line": 257
2026-06-04T17:03:15.0056287Z             }
2026-06-04T17:03:15.0056464Z           ]
2026-06-04T17:03:15.0056630Z         }
2026-06-04T17:03:15.0056800Z       }
2026-06-04T17:03:15.0056971Z     },
2026-06-04T17:03:15.0057130Z     {
2026-06-04T17:03:15.0057385Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T17:03:15.0058325Z       "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:03:15.0058536Z       "requiredStages": [
2026-06-04T17:03:15.0058861Z         "impl",
2026-06-04T17:03:15.0059046Z         "unit"
2026-06-04T17:03:15.0059286Z       ],
2026-06-04T17:03:15.0059473Z       "stages": {
2026-06-04T17:03:15.0059657Z         "doc": {
2026-06-04T17:03:15.0059875Z           "complete": true,
2026-06-04T17:03:15.0060079Z           "evidence": [
2026-06-04T17:03:15.0060250Z             {
2026-06-04T17:03:15.0060497Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:03:15.0060697Z               "line": 143
2026-06-04T17:03:15.0060865Z             }
2026-06-04T17:03:15.0061045Z           ]
2026-06-04T17:03:15.0061212Z         },
2026-06-04T17:03:15.0061401Z         "impl": {
2026-06-04T17:03:15.0061602Z           "complete": true,
2026-06-04T17:03:15.0061830Z           "evidence": [
2026-06-04T17:03:15.0062047Z             {
2026-06-04T17:03:15.0062366Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0062602Z               "line": 134
2026-06-04T17:03:15.0062802Z             },
2026-06-04T17:03:15.0063007Z             {
2026-06-04T17:03:15.0063304Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:03:15.0063510Z               "line": 15
2026-06-04T17:03:15.0063713Z             }
2026-06-04T17:03:15.0063928Z           ]
2026-06-04T17:03:15.0064134Z         },
2026-06-04T17:03:15.0064336Z         "int": {
2026-06-04T17:03:15.0064578Z           "complete": false,
2026-06-04T17:03:15.0064814Z           "evidence": []
2026-06-04T17:03:15.0065016Z         },
2026-06-04T17:03:15.0065214Z         "unit": {
2026-06-04T17:03:15.0065437Z           "complete": true,
2026-06-04T17:03:15.0065636Z           "evidence": [
2026-06-04T17:03:15.0065807Z             {
2026-06-04T17:03:15.0066109Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T17:03:15.0066306Z               "line": 87
2026-06-04T17:03:15.0066481Z             },
2026-06-04T17:03:15.0066660Z             {
2026-06-04T17:03:15.0066929Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0067130Z               "line": 570
2026-06-04T17:03:15.0067303Z             },
2026-06-04T17:03:15.0067483Z             {
2026-06-04T17:03:15.0067762Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0068206Z               "line": 589
2026-06-04T17:03:15.0068414Z             },
2026-06-04T17:03:15.0068589Z             {
2026-06-04T17:03:15.0068875Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0069062Z               "line": 148
2026-06-04T17:03:15.0069297Z             },
2026-06-04T17:03:15.0069616Z             {
2026-06-04T17:03:15.0069859Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:03:15.0070046Z               "line": 74
2026-06-04T17:03:15.0070212Z             },
2026-06-04T17:03:15.0070386Z             {
2026-06-04T17:03:15.0070630Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:03:15.0070821Z               "line": 88
2026-06-04T17:03:15.0070994Z             },
2026-06-04T17:03:15.0071155Z             {
2026-06-04T17:03:15.0071408Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T17:03:15.0071586Z               "line": 104
2026-06-04T17:03:15.0071756Z             }
2026-06-04T17:03:15.0072068Z           ]
2026-06-04T17:03:15.0072252Z         }
2026-06-04T17:03:15.0072427Z       }
2026-06-04T17:03:15.0072590Z     },
2026-06-04T17:03:15.0072900Z     {
2026-06-04T17:03:15.0073170Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T17:03:15.0079672Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T17:03:15.0080018Z       "requiredStages": [
2026-06-04T17:03:15.0080219Z         "impl",
2026-06-04T17:03:15.0080404Z         "unit"
2026-06-04T17:03:15.0080574Z       ],
2026-06-04T17:03:15.0080766Z       "stages": {
2026-06-04T17:03:15.0080939Z         "doc": {
2026-06-04T17:03:15.0081147Z           "complete": false,
2026-06-04T17:03:15.0081338Z           "evidence": []
2026-06-04T17:03:15.0081517Z         },
2026-06-04T17:03:15.0081709Z         "impl": {
2026-06-04T17:03:15.0081901Z           "complete": true,
2026-06-04T17:03:15.0082094Z           "evidence": [
2026-06-04T17:03:15.0082265Z             {
2026-06-04T17:03:15.0082537Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:03:15.0082795Z               "line": 15
2026-06-04T17:03:15.0082978Z             },
2026-06-04T17:03:15.0083160Z             {
2026-06-04T17:03:15.0083430Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0083626Z               "line": 55
2026-06-04T17:03:15.0083890Z             },
2026-06-04T17:03:15.0084069Z             {
2026-06-04T17:03:15.0084333Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0084533Z               "line": 62
2026-06-04T17:03:15.0084726Z             },
2026-06-04T17:03:15.0084909Z             {
2026-06-04T17:03:15.0085349Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0085527Z               "line": 107
2026-06-04T17:03:15.0085697Z             },
2026-06-04T17:03:15.0085858Z             {
2026-06-04T17:03:15.0086117Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0086306Z               "line": 128
2026-06-04T17:03:15.0086481Z             }
2026-06-04T17:03:15.0086663Z           ]
2026-06-04T17:03:15.0086826Z         },
2026-06-04T17:03:15.0087003Z         "int": {
2026-06-04T17:03:15.0087188Z           "complete": false,
2026-06-04T17:03:15.0087377Z           "evidence": []
2026-06-04T17:03:15.0087550Z         },
2026-06-04T17:03:15.0087717Z         "unit": {
2026-06-04T17:03:15.0087912Z           "complete": true,
2026-06-04T17:03:15.0088088Z           "evidence": [
2026-06-04T17:03:15.0088261Z             {
2026-06-04T17:03:15.0088501Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:03:15.0088691Z               "line": 113
2026-06-04T17:03:15.0088867Z             },
2026-06-04T17:03:15.0089029Z             {
2026-06-04T17:03:15.0089321Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:03:15.0089504Z               "line": 119
2026-06-04T17:03:15.0089676Z             },
2026-06-04T17:03:15.0089839Z             {
2026-06-04T17:03:15.0090086Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:03:15.0090597Z               "line": 130
2026-06-04T17:03:15.0090779Z             },
2026-06-04T17:03:15.0090952Z             {
2026-06-04T17:03:15.0091209Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0091400Z               "line": 183
2026-06-04T17:03:15.0091579Z             },
2026-06-04T17:03:15.0091741Z             {
2026-06-04T17:03:15.0092000Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0092182Z               "line": 193
2026-06-04T17:03:15.0092357Z             },
2026-06-04T17:03:15.0092522Z             {
2026-06-04T17:03:15.0092787Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0092975Z               "line": 237
2026-06-04T17:03:15.0093139Z             },
2026-06-04T17:03:15.0093309Z             {
2026-06-04T17:03:15.0093561Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0093748Z               "line": 249
2026-06-04T17:03:15.0093914Z             },
2026-06-04T17:03:15.0094221Z             {
2026-06-04T17:03:15.0094495Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0094677Z               "line": 275
2026-06-04T17:03:15.0094850Z             }
2026-06-04T17:03:15.0095013Z           ]
2026-06-04T17:03:15.0095188Z         }
2026-06-04T17:03:15.0095348Z       }
2026-06-04T17:03:15.0095516Z     },
2026-06-04T17:03:15.0095682Z     {
2026-06-04T17:03:15.0095915Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T17:03:15.0096495Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T17:03:15.0096688Z       "requiredStages": [
2026-06-04T17:03:15.0096865Z         "impl",
2026-06-04T17:03:15.0097035Z         "unit",
2026-06-04T17:03:15.0097208Z         "int"
2026-06-04T17:03:15.0097377Z       ],
2026-06-04T17:03:15.0097548Z       "stages": {
2026-06-04T17:03:15.0097727Z         "doc": {
2026-06-04T17:03:15.0097914Z           "complete": false,
2026-06-04T17:03:15.0098119Z           "evidence": []
2026-06-04T17:03:15.0098292Z         },
2026-06-04T17:03:15.0098473Z         "impl": {
2026-06-04T17:03:15.0098670Z           "complete": true,
2026-06-04T17:03:15.0098849Z           "evidence": [
2026-06-04T17:03:15.0099027Z             {
2026-06-04T17:03:15.0099323Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:15.0099519Z               "line": 246
2026-06-04T17:03:15.0099682Z             },
2026-06-04T17:03:15.0099854Z             {
2026-06-04T17:03:15.0100107Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:15.0100284Z               "line": 506
2026-06-04T17:03:15.0100458Z             },
2026-06-04T17:03:15.0100623Z             {
2026-06-04T17:03:15.0100876Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:15.0101056Z               "line": 529
2026-06-04T17:03:15.0101229Z             },
2026-06-04T17:03:15.0101404Z             {
2026-06-04T17:03:15.0101649Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:15.0101864Z               "line": 553
2026-06-04T17:03:15.0102032Z             },
2026-06-04T17:03:15.0102204Z             {
2026-06-04T17:03:15.0102454Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:15.0102644Z               "line": 463
2026-06-04T17:03:15.0102819Z             },
2026-06-04T17:03:15.0102983Z             {
2026-06-04T17:03:15.0103243Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:15.0103420Z               "line": 544
2026-06-04T17:03:15.0103594Z             },
2026-06-04T17:03:15.0103759Z             {
2026-06-04T17:03:15.0104012Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:15.0104201Z               "line": 588
2026-06-04T17:03:15.0104364Z             },
2026-06-04T17:03:15.0104537Z             {
2026-06-04T17:03:15.0104783Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T17:03:15.0104971Z               "line": 631
2026-06-04T17:03:15.0105144Z             },
2026-06-04T17:03:15.0105459Z             {
2026-06-04T17:03:15.0105728Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:03:15.0105906Z               "line": 46
2026-06-04T17:03:15.0106083Z             },
2026-06-04T17:03:15.0106244Z             {
2026-06-04T17:03:15.0106504Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:03:15.0106692Z               "line": 160
2026-06-04T17:03:15.0106858Z             },
2026-06-04T17:03:15.0107028Z             {
2026-06-04T17:03:15.0107264Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T17:03:15.0107455Z               "line": 71
2026-06-04T17:03:15.0107617Z             },
2026-06-04T17:03:15.0107788Z             {
2026-06-04T17:03:15.0108036Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0108216Z               "line": 128
2026-06-04T17:03:15.0108391Z             },
2026-06-04T17:03:15.0108552Z             {
2026-06-04T17:03:15.0108799Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0109137Z               "line": 174
2026-06-04T17:03:15.0109374Z             }
2026-06-04T17:03:15.0109554Z           ]
2026-06-04T17:03:15.0109725Z         },
2026-06-04T17:03:15.0109905Z         "int": {
2026-06-04T17:03:15.0110092Z           "complete": true,
2026-06-04T17:03:15.0110279Z           "evidence": [
2026-06-04T17:03:15.0110442Z             {
2026-06-04T17:03:15.0110729Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T17:03:15.0110916Z               "line": 27
2026-06-04T17:03:15.0111076Z             },
2026-06-04T17:03:15.0111244Z             {
2026-06-04T17:03:15.0111506Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T17:03:15.0111693Z               "line": 125
2026-06-04T17:03:15.0111855Z             },
2026-06-04T17:03:15.0112025Z             {
2026-06-04T17:03:15.0112299Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T17:03:15.0112484Z               "line": 189
2026-06-04T17:03:15.0117433Z             }
2026-06-04T17:03:15.0117733Z           ]
2026-06-04T17:03:15.0117914Z         },
2026-06-04T17:03:15.0118090Z         "unit": {
2026-06-04T17:03:15.0118293Z           "complete": true,
2026-06-04T17:03:15.0118482Z           "evidence": [
2026-06-04T17:03:15.0118651Z             {
2026-06-04T17:03:15.0118919Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:03:15.0119097Z               "line": 282
2026-06-04T17:03:15.0119372Z             },
2026-06-04T17:03:15.0119539Z             {
2026-06-04T17:03:15.0119798Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:03:15.0119987Z               "line": 300
2026-06-04T17:03:15.0120149Z             },
2026-06-04T17:03:15.0120320Z             {
2026-06-04T17:03:15.0120570Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T17:03:15.0120758Z               "line": 318
2026-06-04T17:03:15.0120922Z             },
2026-06-04T17:03:15.0121093Z             {
2026-06-04T17:03:15.0121368Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:03:15.0121567Z               "line": 221
2026-06-04T17:03:15.0121742Z             },
2026-06-04T17:03:15.0121904Z             {
2026-06-04T17:03:15.0122167Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T17:03:15.0122349Z               "line": 204
2026-06-04T17:03:15.0122523Z             },
2026-06-04T17:03:15.0122692Z             {
2026-06-04T17:03:15.0122937Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T17:03:15.0123125Z               "line": 182
2026-06-04T17:03:15.0123287Z             },
2026-06-04T17:03:15.0123458Z             {
2026-06-04T17:03:15.0123704Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0123882Z               "line": 441
2026-06-04T17:03:15.0124052Z             },
2026-06-04T17:03:15.0124212Z             {
2026-06-04T17:03:15.0124458Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0124636Z               "line": 465
2026-06-04T17:03:15.0124824Z             }
2026-06-04T17:03:15.0125219Z           ]
2026-06-04T17:03:15.0125571Z         }
2026-06-04T17:03:15.0125755Z       }
2026-06-04T17:03:15.0126069Z     },
2026-06-04T17:03:15.0126408Z     {
2026-06-04T17:03:15.0126704Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T17:03:15.0127180Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T17:03:15.0127555Z       "requiredStages": [
2026-06-04T17:03:15.0127739Z         "impl",
2026-06-04T17:03:15.0127952Z         "unit"
2026-06-04T17:03:15.0128124Z       ],
2026-06-04T17:03:15.0128316Z       "stages": {
2026-06-04T17:03:15.0128490Z         "doc": {
2026-06-04T17:03:15.0128697Z           "complete": false,
2026-06-04T17:03:15.0128896Z           "evidence": []
2026-06-04T17:03:15.0129058Z         },
2026-06-04T17:03:15.0129287Z         "impl": {
2026-06-04T17:03:15.0129779Z           "complete": true,
2026-06-04T17:03:15.0129971Z           "evidence": [
2026-06-04T17:03:15.0130308Z             {
2026-06-04T17:03:15.0130608Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0130803Z               "line": 56
2026-06-04T17:03:15.0130970Z             },
2026-06-04T17:03:15.0131138Z             {
2026-06-04T17:03:15.0131405Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0131620Z               "line": 63
2026-06-04T17:03:15.0131783Z             },
2026-06-04T17:03:15.0131959Z             {
2026-06-04T17:03:15.0132217Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0132395Z               "line": 33
2026-06-04T17:03:15.0132568Z             },
2026-06-04T17:03:15.0132733Z             {
2026-06-04T17:03:15.0132983Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0133161Z               "line": 61
2026-06-04T17:03:15.0133333Z             },
2026-06-04T17:03:15.0133505Z             {
2026-06-04T17:03:15.0133749Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0133946Z               "line": 70
2026-06-04T17:03:15.0134128Z             },
2026-06-04T17:03:15.0134391Z             {
2026-06-04T17:03:15.0134633Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0134822Z               "line": 79
2026-06-04T17:03:15.0134995Z             },
2026-06-04T17:03:15.0135160Z             {
2026-06-04T17:03:15.0135407Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0135587Z               "line": 88
2026-06-04T17:03:15.0135759Z             },
2026-06-04T17:03:15.0135920Z             {
2026-06-04T17:03:15.0136173Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0136357Z               "line": 97
2026-06-04T17:03:15.0136524Z             },
2026-06-04T17:03:15.0136697Z             {
2026-06-04T17:03:15.0136936Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0137130Z               "line": 105
2026-06-04T17:03:15.0137305Z             },
2026-06-04T17:03:15.0137472Z             {
2026-06-04T17:03:15.0137746Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0137929Z               "line": 114
2026-06-04T17:03:15.0138100Z             },
2026-06-04T17:03:15.0138265Z             {
2026-06-04T17:03:15.0138514Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0138691Z               "line": 123
2026-06-04T17:03:15.0138867Z             },
2026-06-04T17:03:15.0139043Z             {
2026-06-04T17:03:15.0139337Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0139532Z               "line": 130
2026-06-04T17:03:15.0139698Z             },
2026-06-04T17:03:15.0139878Z             {
2026-06-04T17:03:15.0140121Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0140317Z               "line": 137
2026-06-04T17:03:15.0140490Z             },
2026-06-04T17:03:15.0140654Z             {
2026-06-04T17:03:15.0140903Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0141099Z               "line": 145
2026-06-04T17:03:15.0141444Z             },
2026-06-04T17:03:15.0141638Z             {
2026-06-04T17:03:15.0141880Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0142072Z               "line": 154
2026-06-04T17:03:15.0142235Z             },
2026-06-04T17:03:15.0142411Z             {
2026-06-04T17:03:15.0142649Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0142838Z               "line": 163
2026-06-04T17:03:15.0143013Z             },
2026-06-04T17:03:15.0143174Z             {
2026-06-04T17:03:15.0143421Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0143600Z               "line": 172
2026-06-04T17:03:15.0143771Z             },
2026-06-04T17:03:15.0143930Z             {
2026-06-04T17:03:15.0144184Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0144374Z               "line": 184
2026-06-04T17:03:15.0144535Z             },
2026-06-04T17:03:15.0144710Z             {
2026-06-04T17:03:15.0145106Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0145301Z               "line": 191
2026-06-04T17:03:15.0145467Z             },
2026-06-04T17:03:15.0145646Z             {
2026-06-04T17:03:15.0145896Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0146079Z               "line": 200
2026-06-04T17:03:15.0146253Z             },
2026-06-04T17:03:15.0146416Z             {
2026-06-04T17:03:15.0146663Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0146842Z               "line": 207
2026-06-04T17:03:15.0147017Z             },
2026-06-04T17:03:15.0147194Z             {
2026-06-04T17:03:15.0147434Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0147619Z               "line": 274
2026-06-04T17:03:15.0147783Z             },
2026-06-04T17:03:15.0147957Z             {
2026-06-04T17:03:15.0148197Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0148387Z               "line": 286
2026-06-04T17:03:15.0148590Z             },
2026-06-04T17:03:15.0148755Z             {
2026-06-04T17:03:15.0149001Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0149235Z               "line": 373
2026-06-04T17:03:15.0149417Z             }
2026-06-04T17:03:15.0149584Z           ]
2026-06-04T17:03:15.0149754Z         },
2026-06-04T17:03:15.0149930Z         "int": {
2026-06-04T17:03:15.0150119Z           "complete": false,
2026-06-04T17:03:15.0150306Z           "evidence": []
2026-06-04T17:03:15.0150465Z         },
2026-06-04T17:03:15.0150641Z         "unit": {
2026-06-04T17:03:15.0150828Z           "complete": true,
2026-06-04T17:03:15.0156144Z           "evidence": [
2026-06-04T17:03:15.0156421Z             {
2026-06-04T17:03:15.0156690Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0156882Z               "line": 443
2026-06-04T17:03:15.0157049Z             },
2026-06-04T17:03:15.0157228Z             {
2026-06-04T17:03:15.0157469Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0157719Z               "line": 469
2026-06-04T17:03:15.0157897Z             },
2026-06-04T17:03:15.0158063Z             {
2026-06-04T17:03:15.0158315Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0158494Z               "line": 482
2026-06-04T17:03:15.0158669Z             },
2026-06-04T17:03:15.0158847Z             {
2026-06-04T17:03:15.0159091Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0159374Z               "line": 547
2026-06-04T17:03:15.0159547Z             }
2026-06-04T17:03:15.0159718Z           ]
2026-06-04T17:03:15.0159878Z         }
2026-06-04T17:03:15.0160046Z       }
2026-06-04T17:03:15.0160218Z     },
2026-06-04T17:03:15.0160376Z     {
2026-06-04T17:03:15.0160599Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T17:03:15.0161012Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T17:03:15.0161210Z       "requiredStages": [
2026-06-04T17:03:15.0161398Z         "impl",
2026-06-04T17:03:15.0161872Z         "unit"
2026-06-04T17:03:15.0162066Z       ],
2026-06-04T17:03:15.0162240Z       "stages": {
2026-06-04T17:03:15.0162413Z         "doc": {
2026-06-04T17:03:15.0162600Z           "complete": false,
2026-06-04T17:03:15.0162793Z           "evidence": []
2026-06-04T17:03:15.0162959Z         },
2026-06-04T17:03:15.0163142Z         "impl": {
2026-06-04T17:03:15.0163339Z           "complete": true,
2026-06-04T17:03:15.0163517Z           "evidence": [
2026-06-04T17:03:15.0163690Z             {
2026-06-04T17:03:15.0163926Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0164113Z               "line": 132
2026-06-04T17:03:15.0164275Z             },
2026-06-04T17:03:15.0164446Z             {
2026-06-04T17:03:15.0164708Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.0164890Z               "line": 118
2026-06-04T17:03:15.0165059Z             }
2026-06-04T17:03:15.0165223Z           ]
2026-06-04T17:03:15.0165542Z         },
2026-06-04T17:03:15.0165723Z         "int": {
2026-06-04T17:03:15.0165920Z           "complete": false,
2026-06-04T17:03:15.0166112Z           "evidence": []
2026-06-04T17:03:15.0166274Z         },
2026-06-04T17:03:15.0166448Z         "unit": {
2026-06-04T17:03:15.0166633Z           "complete": true,
2026-06-04T17:03:15.0166822Z           "evidence": [
2026-06-04T17:03:15.0166983Z             {
2026-06-04T17:03:15.0167232Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0167423Z               "line": 250
2026-06-04T17:03:15.0167586Z             },
2026-06-04T17:03:15.0167763Z             {
2026-06-04T17:03:15.0168015Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.0168204Z               "line": 393
2026-06-04T17:03:15.0168369Z             },
2026-06-04T17:03:15.0168540Z             {
2026-06-04T17:03:15.0168793Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.0168969Z               "line": 403
2026-06-04T17:03:15.0169198Z             }
2026-06-04T17:03:15.0169554Z           ]
2026-06-04T17:03:15.0169751Z         }
2026-06-04T17:03:15.0170067Z       }
2026-06-04T17:03:15.0170242Z     },
2026-06-04T17:03:15.0170408Z     {
2026-06-04T17:03:15.0170631Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T17:03:15.0170924Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T17:03:15.0171115Z       "requiredStages": [],
2026-06-04T17:03:15.0171296Z       "stages": {
2026-06-04T17:03:15.0171468Z         "doc": {
2026-06-04T17:03:15.0171666Z           "complete": false,
2026-06-04T17:03:15.0171856Z           "evidence": []
2026-06-04T17:03:15.0172017Z         },
2026-06-04T17:03:15.0172202Z         "impl": {
2026-06-04T17:03:15.0172395Z           "complete": false,
2026-06-04T17:03:15.0172585Z           "evidence": []
2026-06-04T17:03:15.0172750Z         },
2026-06-04T17:03:15.0172928Z         "int": {
2026-06-04T17:03:15.0173123Z           "complete": false,
2026-06-04T17:03:15.0173322Z           "evidence": []
2026-06-04T17:03:15.0173500Z         },
2026-06-04T17:03:15.0173669Z         "unit": {
2026-06-04T17:03:15.0173863Z           "complete": false,
2026-06-04T17:03:15.0174042Z           "evidence": []
2026-06-04T17:03:15.0174218Z         }
2026-06-04T17:03:15.0174390Z       }
2026-06-04T17:03:15.0174548Z     },
2026-06-04T17:03:15.0174717Z     {
2026-06-04T17:03:15.0174965Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T17:03:15.0175320Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T17:03:15.0175509Z       "requiredStages": [
2026-06-04T17:03:15.0175684Z         "impl",
2026-06-04T17:03:15.0175859Z         "unit"
2026-06-04T17:03:15.0176030Z       ],
2026-06-04T17:03:15.0176208Z       "stages": {
2026-06-04T17:03:15.0176377Z         "doc": {
2026-06-04T17:03:15.0176572Z           "complete": false,
2026-06-04T17:03:15.0176754Z           "evidence": []
2026-06-04T17:03:15.0176929Z         },
2026-06-04T17:03:15.0177108Z         "impl": {
2026-06-04T17:03:15.0177457Z           "complete": true,
2026-06-04T17:03:15.0177660Z           "evidence": [
2026-06-04T17:03:15.0177825Z             {
2026-06-04T17:03:15.0178100Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0178283Z               "line": 424
2026-06-04T17:03:15.0178454Z             },
2026-06-04T17:03:15.0178627Z             {
2026-06-04T17:03:15.0178873Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:15.0179059Z               "line": 28
2026-06-04T17:03:15.0179282Z             }
2026-06-04T17:03:15.0179639Z           ]
2026-06-04T17:03:15.0179960Z         },
2026-06-04T17:03:15.0180143Z         "int": {
2026-06-04T17:03:15.0180338Z           "complete": false,
2026-06-04T17:03:15.0180517Z           "evidence": []
2026-06-04T17:03:15.0180690Z         },
2026-06-04T17:03:15.0180859Z         "unit": {
2026-06-04T17:03:15.0181052Z           "complete": true,
2026-06-04T17:03:15.0181227Z           "evidence": [
2026-06-04T17:03:15.0181546Z             {
2026-06-04T17:03:15.0181814Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:15.0181996Z               "line": 200
2026-06-04T17:03:15.0182168Z             }
2026-06-04T17:03:15.0182337Z           ]
2026-06-04T17:03:15.0182509Z         }
2026-06-04T17:03:15.0182671Z       }
2026-06-04T17:03:15.0182844Z     },
2026-06-04T17:03:15.0183001Z     {
2026-06-04T17:03:15.0183236Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T17:03:15.0183535Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T17:03:15.0183730Z       "requiredStages": [],
2026-06-04T17:03:15.0183914Z       "stages": {
2026-06-04T17:03:15.0184087Z         "doc": {
2026-06-04T17:03:15.0184287Z           "complete": false,
2026-06-04T17:03:15.0184472Z           "evidence": []
2026-06-04T17:03:15.0184641Z         },
2026-06-04T17:03:15.0184822Z         "impl": {
2026-06-04T17:03:15.0185010Z           "complete": false,
2026-06-04T17:03:15.0185198Z           "evidence": []
2026-06-04T17:03:15.0185371Z         },
2026-06-04T17:03:15.0185553Z         "int": {
2026-06-04T17:03:15.0185747Z           "complete": false,
2026-06-04T17:03:15.0185929Z           "evidence": []
2026-06-04T17:03:15.0186101Z         },
2026-06-04T17:03:15.0186274Z         "unit": {
2026-06-04T17:03:15.0186466Z           "complete": false,
2026-06-04T17:03:15.0186644Z           "evidence": []
2026-06-04T17:03:15.0186812Z         }
2026-06-04T17:03:15.0186971Z       }
2026-06-04T17:03:15.0187139Z     },
2026-06-04T17:03:15.0187307Z     {
2026-06-04T17:03:15.0187539Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T17:03:15.0187855Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T17:03:15.0188046Z       "requiredStages": [
2026-06-04T17:03:15.0188222Z         "impl",
2026-06-04T17:03:15.0188395Z         "unit"
2026-06-04T17:03:15.0188561Z       ],
2026-06-04T17:03:15.0193522Z       "stages": {
2026-06-04T17:03:15.0193832Z         "doc": {
2026-06-04T17:03:15.0194036Z           "complete": false,
2026-06-04T17:03:15.0194270Z           "evidence": []
2026-06-04T17:03:15.0194443Z         },
2026-06-04T17:03:15.0194614Z         "impl": {
2026-06-04T17:03:15.0194820Z           "complete": true,
2026-06-04T17:03:15.0195016Z           "evidence": [
2026-06-04T17:03:15.0195181Z             {
2026-06-04T17:03:15.0195437Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T17:03:15.0195621Z               "line": 19
2026-06-04T17:03:15.0195799Z             },
2026-06-04T17:03:15.0195961Z             {
2026-06-04T17:03:15.0196227Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.0196413Z               "line": 325
2026-06-04T17:03:15.0196579Z             },
2026-06-04T17:03:15.0196749Z             {
2026-06-04T17:03:15.0196996Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.0197181Z               "line": 361
2026-06-04T17:03:15.0197355Z             },
2026-06-04T17:03:15.0197518Z             {
2026-06-04T17:03:15.0198040Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:03:15.0198237Z               "line": 15
2026-06-04T17:03:15.0198416Z             },
2026-06-04T17:03:15.0198577Z             {
2026-06-04T17:03:15.0198832Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:03:15.0199021Z               "line": 48
2026-06-04T17:03:15.0199241Z             },
2026-06-04T17:03:15.0199576Z             {
2026-06-04T17:03:15.0199845Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:03:15.0200184Z               "line": 106
2026-06-04T17:03:15.0200350Z             }
2026-06-04T17:03:15.0200519Z           ]
2026-06-04T17:03:15.0200689Z         },
2026-06-04T17:03:15.0200854Z         "int": {
2026-06-04T17:03:15.0201049Z           "complete": false,
2026-06-04T17:03:15.0201230Z           "evidence": []
2026-06-04T17:03:15.0201398Z         },
2026-06-04T17:03:15.0201565Z         "unit": {
2026-06-04T17:03:15.0201755Z           "complete": true,
2026-06-04T17:03:15.0201939Z           "evidence": [
2026-06-04T17:03:15.0202271Z             {
2026-06-04T17:03:15.0202538Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.0202715Z               "line": 453
2026-06-04T17:03:15.0202890Z             },
2026-06-04T17:03:15.0203058Z             {
2026-06-04T17:03:15.0203489Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:03:15.0203706Z               "line": 149
2026-06-04T17:03:15.0203893Z             },
2026-06-04T17:03:15.0204073Z             {
2026-06-04T17:03:15.0204329Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T17:03:15.0204521Z               "line": 156
2026-06-04T17:03:15.0204688Z             }
2026-06-04T17:03:15.0204867Z           ]
2026-06-04T17:03:15.0205042Z         }
2026-06-04T17:03:15.0205207Z       }
2026-06-04T17:03:15.0205376Z     },
2026-06-04T17:03:15.0205542Z     {
2026-06-04T17:03:15.0205806Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T17:03:15.0206143Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T17:03:15.0206387Z       "requiredStages": [
2026-06-04T17:03:15.0206574Z         "impl",
2026-06-04T17:03:15.0206745Z         "unit"
2026-06-04T17:03:15.0206918Z       ],
2026-06-04T17:03:15.0207098Z       "stages": {
2026-06-04T17:03:15.0207278Z         "doc": {
2026-06-04T17:03:15.0207472Z           "complete": false,
2026-06-04T17:03:15.0207673Z           "evidence": []
2026-06-04T17:03:15.0207850Z         },
2026-06-04T17:03:15.0208022Z         "impl": {
2026-06-04T17:03:15.0208219Z           "complete": true,
2026-06-04T17:03:15.0208402Z           "evidence": [
2026-06-04T17:03:15.0208578Z             {
2026-06-04T17:03:15.0208826Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:15.0209018Z               "line": 35
2026-06-04T17:03:15.0209263Z             }
2026-06-04T17:03:15.0209437Z           ]
2026-06-04T17:03:15.0209748Z         },
2026-06-04T17:03:15.0209915Z         "int": {
2026-06-04T17:03:15.0210119Z           "complete": false,
2026-06-04T17:03:15.0210323Z           "evidence": []
2026-06-04T17:03:15.0210496Z         },
2026-06-04T17:03:15.0210675Z         "unit": {
2026-06-04T17:03:15.0210863Z           "complete": true,
2026-06-04T17:03:15.0211050Z           "evidence": [
2026-06-04T17:03:15.0211211Z             {
2026-06-04T17:03:15.0211462Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T17:03:15.0211638Z               "line": 217
2026-06-04T17:03:15.0211811Z             }
2026-06-04T17:03:15.0211982Z           ]
2026-06-04T17:03:15.0212147Z         }
2026-06-04T17:03:15.0212314Z       }
2026-06-04T17:03:15.0212480Z     },
2026-06-04T17:03:15.0212648Z     {
2026-06-04T17:03:15.0212871Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T17:03:15.0213433Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T17:03:15.0213632Z       "requiredStages": [
2026-06-04T17:03:15.0213802Z         "impl",
2026-06-04T17:03:15.0213978Z         "unit"
2026-06-04T17:03:15.0214149Z       ],
2026-06-04T17:03:15.0214491Z       "stages": {
2026-06-04T17:03:15.0214680Z         "doc": {
2026-06-04T17:03:15.0214880Z           "complete": false,
2026-06-04T17:03:15.0215074Z           "evidence": []
2026-06-04T17:03:15.0215241Z         },
2026-06-04T17:03:15.0215416Z         "impl": {
2026-06-04T17:03:15.0215606Z           "complete": true,
2026-06-04T17:03:15.0215793Z           "evidence": [
2026-06-04T17:03:15.0215956Z             {
2026-06-04T17:03:15.0216233Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.0216418Z               "line": 256
2026-06-04T17:03:15.0216583Z             },
2026-06-04T17:03:15.0216756Z             {
2026-06-04T17:03:15.0217010Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.0217201Z               "line": 221
2026-06-04T17:03:15.0217367Z             },
2026-06-04T17:03:15.0217540Z             {
2026-06-04T17:03:15.0217802Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.0218268Z               "line": 150
2026-06-04T17:03:15.0218439Z             }
2026-06-04T17:03:15.0218598Z           ]
2026-06-04T17:03:15.0218767Z         },
2026-06-04T17:03:15.0218933Z         "int": {
2026-06-04T17:03:15.0219130Z           "complete": false,
2026-06-04T17:03:15.0219514Z           "evidence": []
2026-06-04T17:03:15.0219824Z         },
2026-06-04T17:03:15.0220000Z         "unit": {
2026-06-04T17:03:15.0220184Z           "complete": true,
2026-06-04T17:03:15.0220370Z           "evidence": [
2026-06-04T17:03:15.0220539Z             {
2026-06-04T17:03:15.0220803Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.0220992Z               "line": 477
2026-06-04T17:03:15.0221156Z             },
2026-06-04T17:03:15.0221324Z             {
2026-06-04T17:03:15.0221581Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.0221773Z               "line": 488
2026-06-04T17:03:15.0221939Z             },
2026-06-04T17:03:15.0222123Z             {
2026-06-04T17:03:15.0222394Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.0222573Z               "line": 504
2026-06-04T17:03:15.0222742Z             },
2026-06-04T17:03:15.0222905Z             {
2026-06-04T17:03:15.0223169Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.0223347Z               "line": 518
2026-06-04T17:03:15.0223520Z             },
2026-06-04T17:03:15.0223690Z             {
2026-06-04T17:03:15.0223960Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:03:15.0224146Z               "line": 268
2026-06-04T17:03:15.0224317Z             }
2026-06-04T17:03:15.0224496Z           ]
2026-06-04T17:03:15.0224659Z         }
2026-06-04T17:03:15.0224829Z       }
2026-06-04T17:03:15.0224994Z     },
2026-06-04T17:03:15.0225151Z     {
2026-06-04T17:03:15.0225382Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T17:03:15.0227321Z       "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:03:15.0227543Z       "requiredStages": [
2026-06-04T17:03:15.0227726Z         "doc",
2026-06-04T17:03:15.0227892Z         "impl",
2026-06-04T17:03:15.0228064Z         "unit"
2026-06-04T17:03:15.0228222Z       ],
2026-06-04T17:03:15.0228401Z       "stages": {
2026-06-04T17:03:15.0228569Z         "doc": {
2026-06-04T17:03:15.0234023Z           "complete": true,
2026-06-04T17:03:15.0234277Z           "evidence": [
2026-06-04T17:03:15.0234446Z             {
2026-06-04T17:03:15.0234686Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T17:03:15.0234869Z               "line": 259
2026-06-04T17:03:15.0235044Z             }
2026-06-04T17:03:15.0235204Z           ]
2026-06-04T17:03:15.0235376Z         },
2026-06-04T17:03:15.0235560Z         "impl": {
2026-06-04T17:03:15.0235750Z           "complete": true,
2026-06-04T17:03:15.0236246Z           "evidence": [
2026-06-04T17:03:15.0236436Z             {
2026-06-04T17:03:15.0236710Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.0236893Z               "line": 85
2026-06-04T17:03:15.0237065Z             },
2026-06-04T17:03:15.0237239Z             {
2026-06-04T17:03:15.0237489Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:03:15.0237674Z               "line": 99
2026-06-04T17:03:15.0237839Z             },
2026-06-04T17:03:15.0238015Z             {
2026-06-04T17:03:15.0238270Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0238461Z               "line": 53
2026-06-04T17:03:15.0238637Z             },
2026-06-04T17:03:15.0238800Z             {
2026-06-04T17:03:15.0239068Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0239335Z               "line": 89
2026-06-04T17:03:15.0239521Z             },
2026-06-04T17:03:15.0239690Z             {
2026-06-04T17:03:15.0240135Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.0240326Z               "line": 29
2026-06-04T17:03:15.0240494Z             },
2026-06-04T17:03:15.0240666Z             {
2026-06-04T17:03:15.0240925Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.0241108Z               "line": 75
2026-06-04T17:03:15.0241273Z             },
2026-06-04T17:03:15.0241442Z             {
2026-06-04T17:03:15.0241724Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0241903Z               "line": 121
2026-06-04T17:03:15.0242074Z             },
2026-06-04T17:03:15.0242233Z             {
2026-06-04T17:03:15.0242488Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0242676Z               "line": 40
2026-06-04T17:03:15.0242837Z             },
2026-06-04T17:03:15.0243004Z             {
2026-06-04T17:03:15.0243248Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0243458Z               "line": 161
2026-06-04T17:03:15.0243635Z             },
2026-06-04T17:03:15.0243809Z             {
2026-06-04T17:03:15.0244057Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T17:03:15.0244232Z               "line": 70
2026-06-04T17:03:15.0244403Z             },
2026-06-04T17:03:15.0244564Z             {
2026-06-04T17:03:15.0244810Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.0244986Z               "line": 210
2026-06-04T17:03:15.0245160Z             },
2026-06-04T17:03:15.0245330Z             {
2026-06-04T17:03:15.0245575Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:03:15.0245771Z               "line": 37
2026-06-04T17:03:15.0245942Z             },
2026-06-04T17:03:15.0246126Z             {
2026-06-04T17:03:15.0246556Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:03:15.0246907Z               "line": 38
2026-06-04T17:03:15.0247268Z             },
2026-06-04T17:03:15.0247479Z             {
2026-06-04T17:03:15.0247831Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:03:15.0248254Z               "line": 36
2026-06-04T17:03:15.0248457Z             },
2026-06-04T17:03:15.0248669Z             {
2026-06-04T17:03:15.0248949Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:03:15.0249228Z               "line": 40
2026-06-04T17:03:15.0249582Z             }
2026-06-04T17:03:15.0249783Z           ]
2026-06-04T17:03:15.0250125Z         },
2026-06-04T17:03:15.0250311Z         "int": {
2026-06-04T17:03:15.0250538Z           "complete": false,
2026-06-04T17:03:15.0250751Z           "evidence": []
2026-06-04T17:03:15.0250924Z         },
2026-06-04T17:03:15.0251120Z         "unit": {
2026-06-04T17:03:15.0251323Z           "complete": true,
2026-06-04T17:03:15.0251528Z           "evidence": [
2026-06-04T17:03:15.0251706Z             {
2026-06-04T17:03:15.0251986Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0252191Z               "line": 179
2026-06-04T17:03:15.0252399Z             },
2026-06-04T17:03:15.0252795Z             {
2026-06-04T17:03:15.0253141Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T17:03:15.0253355Z               "line": 117
2026-06-04T17:03:15.0253558Z             },
2026-06-04T17:03:15.0253753Z             {
2026-06-04T17:03:15.0254028Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:03:15.0254233Z               "line": 344
2026-06-04T17:03:15.0254437Z             },
2026-06-04T17:03:15.0254605Z             {
2026-06-04T17:03:15.0254888Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:03:15.0255091Z               "line": 204
2026-06-04T17:03:15.0255283Z             },
2026-06-04T17:03:15.0255472Z             {
2026-06-04T17:03:15.0255782Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T17:03:15.0255997Z               "line": 147
2026-06-04T17:03:15.0256174Z             },
2026-06-04T17:03:15.0256360Z             {
2026-06-04T17:03:15.0256840Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:03:15.0257058Z               "line": 106
2026-06-04T17:03:15.0257259Z             },
2026-06-04T17:03:15.0257584Z             {
2026-06-04T17:03:15.0257890Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:03:15.0258100Z               "line": 142
2026-06-04T17:03:15.0258311Z             },
2026-06-04T17:03:15.0258536Z             {
2026-06-04T17:03:15.0259007Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:03:15.0259426Z               "line": 139
2026-06-04T17:03:15.0259651Z             },
2026-06-04T17:03:15.0259851Z             {
2026-06-04T17:03:15.0260146Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:03:15.0260511Z               "line": 126
2026-06-04T17:03:15.0260699Z             },
2026-06-04T17:03:15.0260905Z             {
2026-06-04T17:03:15.0261203Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:03:15.0261560Z               "line": 135
2026-06-04T17:03:15.0261947Z             }
2026-06-04T17:03:15.0262126Z           ]
2026-06-04T17:03:15.0262325Z         }
2026-06-04T17:03:15.0262502Z       }
2026-06-04T17:03:15.0262695Z     },
2026-06-04T17:03:15.0262873Z     {
2026-06-04T17:03:15.0263131Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T17:03:15.0263503Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T17:03:15.0263709Z       "requiredStages": [
2026-06-04T17:03:15.0263904Z         "impl",
2026-06-04T17:03:15.0264076Z         "unit"
2026-06-04T17:03:15.0264261Z       ],
2026-06-04T17:03:15.0264613Z       "stages": {
2026-06-04T17:03:15.0264801Z         "doc": {
2026-06-04T17:03:15.0265109Z           "complete": false,
2026-06-04T17:03:15.0265437Z           "evidence": []
2026-06-04T17:03:15.0265616Z         },
2026-06-04T17:03:15.0265786Z         "impl": {
2026-06-04T17:03:15.0265991Z           "complete": true,
2026-06-04T17:03:15.0266195Z           "evidence": [
2026-06-04T17:03:15.0266398Z             {
2026-06-04T17:03:15.0266696Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0267074Z               "line": 95
2026-06-04T17:03:15.0267273Z             },
2026-06-04T17:03:15.0267461Z             {
2026-06-04T17:03:15.0267778Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.0268003Z               "line": 99
2026-06-04T17:03:15.0268193Z             }
2026-06-04T17:03:15.0268392Z           ]
2026-06-04T17:03:15.0268589Z         },
2026-06-04T17:03:15.0268798Z         "int": {
2026-06-04T17:03:15.0269018Z           "complete": false,
2026-06-04T17:03:15.0269290Z           "evidence": []
2026-06-04T17:03:15.0269493Z         },
2026-06-04T17:03:15.0278976Z         "unit": {
2026-06-04T17:03:15.0279951Z           "complete": true,
2026-06-04T17:03:15.0280298Z           "evidence": [
2026-06-04T17:03:15.0280475Z             {
2026-06-04T17:03:15.0280731Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0280999Z               "line": 250
2026-06-04T17:03:15.0281558Z             },
2026-06-04T17:03:15.0281752Z             {
2026-06-04T17:03:15.0282005Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T17:03:15.0282186Z               "line": 139
2026-06-04T17:03:15.0282361Z             },
2026-06-04T17:03:15.0282529Z             {
2026-06-04T17:03:15.0282781Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.0282975Z               "line": 432
2026-06-04T17:03:15.0283140Z             },
2026-06-04T17:03:15.0283312Z             {
2026-06-04T17:03:15.0283553Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.0283742Z               "line": 462
2026-06-04T17:03:15.0283905Z             }
2026-06-04T17:03:15.0284078Z           ]
2026-06-04T17:03:15.0284251Z         }
2026-06-04T17:03:15.0284415Z       }
2026-06-04T17:03:15.0284585Z     },
2026-06-04T17:03:15.0284744Z     {
2026-06-04T17:03:15.0284970Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T17:03:15.0285511Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T17:03:15.0285718Z       "requiredStages": [
2026-06-04T17:03:15.0285902Z         "impl",
2026-06-04T17:03:15.0286070Z         "unit"
2026-06-04T17:03:15.0286242Z       ],
2026-06-04T17:03:15.0286416Z       "stages": {
2026-06-04T17:03:15.0286591Z         "doc": {
2026-06-04T17:03:15.0286779Z           "complete": false,
2026-06-04T17:03:15.0286972Z           "evidence": []
2026-06-04T17:03:15.0287147Z         },
2026-06-04T17:03:15.0287315Z         "impl": {
2026-06-04T17:03:15.0287509Z           "complete": true,
2026-06-04T17:03:15.0287687Z           "evidence": [
2026-06-04T17:03:15.0287863Z             {
2026-06-04T17:03:15.0288109Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0288303Z               "line": 230
2026-06-04T17:03:15.0288476Z             },
2026-06-04T17:03:15.0288647Z             {
2026-06-04T17:03:15.0288895Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0289096Z               "line": 275
2026-06-04T17:03:15.0289496Z             },
2026-06-04T17:03:15.0289678Z             {
2026-06-04T17:03:15.0290079Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0290274Z               "line": 287
2026-06-04T17:03:15.0290442Z             }
2026-06-04T17:03:15.0290618Z           ]
2026-06-04T17:03:15.0290781Z         },
2026-06-04T17:03:15.0290961Z         "int": {
2026-06-04T17:03:15.0291150Z           "complete": false,
2026-06-04T17:03:15.0291341Z           "evidence": []
2026-06-04T17:03:15.0291511Z         },
2026-06-04T17:03:15.0291678Z         "unit": {
2026-06-04T17:03:15.0291879Z           "complete": true,
2026-06-04T17:03:15.0292060Z           "evidence": [
2026-06-04T17:03:15.0292247Z             {
2026-06-04T17:03:15.0292505Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0292703Z               "line": 423
2026-06-04T17:03:15.0292878Z             },
2026-06-04T17:03:15.0293040Z             {
2026-06-04T17:03:15.0293317Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.0293500Z               "line": 452
2026-06-04T17:03:15.0293674Z             }
2026-06-04T17:03:15.0293839Z           ]
2026-06-04T17:03:15.0294011Z         }
2026-06-04T17:03:15.0294188Z       }
2026-06-04T17:03:15.0294349Z     },
2026-06-04T17:03:15.0294519Z     {
2026-06-04T17:03:15.0294708Z       "id": "REQ-INFRA-1",
2026-06-04T17:03:15.0295099Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T17:03:15.0295294Z       "requiredStages": [],
2026-06-04T17:03:15.0295477Z       "stages": {
2026-06-04T17:03:15.0295656Z         "doc": {
2026-06-04T17:03:15.0295845Z           "complete": false,
2026-06-04T17:03:15.0296041Z           "evidence": []
2026-06-04T17:03:15.0296205Z         },
2026-06-04T17:03:15.0296391Z         "impl": {
2026-06-04T17:03:15.0296582Z           "complete": false,
2026-06-04T17:03:15.0296773Z           "evidence": []
2026-06-04T17:03:15.0296959Z         },
2026-06-04T17:03:15.0297285Z         "int": {
2026-06-04T17:03:15.0297500Z           "complete": false,
2026-06-04T17:03:15.0297686Z           "evidence": []
2026-06-04T17:03:15.0297865Z         },
2026-06-04T17:03:15.0298040Z         "unit": {
2026-06-04T17:03:15.0298240Z           "complete": false,
2026-06-04T17:03:15.0298431Z           "evidence": []
2026-06-04T17:03:15.0298597Z         }
2026-06-04T17:03:15.0298769Z       }
2026-06-04T17:03:15.0298934Z     },
2026-06-04T17:03:15.0299107Z     {
2026-06-04T17:03:15.0299341Z       "id": "REQ-INST-1",
2026-06-04T17:03:15.0299689Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T17:03:15.0299894Z       "requiredStages": [],
2026-06-04T17:03:15.0300066Z       "stages": {
2026-06-04T17:03:15.0300243Z         "doc": {
2026-06-04T17:03:15.0300434Z           "complete": false,
2026-06-04T17:03:15.0300629Z           "evidence": []
2026-06-04T17:03:15.0300794Z         },
2026-06-04T17:03:15.0300971Z         "impl": {
2026-06-04T17:03:15.0301323Z           "complete": false,
2026-06-04T17:03:15.0301511Z           "evidence": []
2026-06-04T17:03:15.0301684Z         },
2026-06-04T17:03:15.0301854Z         "int": {
2026-06-04T17:03:15.0302053Z           "complete": false,
2026-06-04T17:03:15.0302234Z           "evidence": []
2026-06-04T17:03:15.0302407Z         },
2026-06-04T17:03:15.0302588Z         "unit": {
2026-06-04T17:03:15.0302777Z           "complete": false,
2026-06-04T17:03:15.0302969Z           "evidence": []
2026-06-04T17:03:15.0303129Z         }
2026-06-04T17:03:15.0303300Z       }
2026-06-04T17:03:15.0303460Z     },
2026-06-04T17:03:15.0303631Z     {
2026-06-04T17:03:15.0303827Z       "id": "REQ-INST-10",
2026-06-04T17:03:15.0304277Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T17:03:15.0304478Z       "requiredStages": [
2026-06-04T17:03:15.0304647Z         "impl",
2026-06-04T17:03:15.0304824Z         "unit"
2026-06-04T17:03:15.0304990Z       ],
2026-06-04T17:03:15.0305189Z       "stages": {
2026-06-04T17:03:15.0305377Z         "doc": {
2026-06-04T17:03:15.0305571Z           "complete": false,
2026-06-04T17:03:15.0305764Z           "evidence": []
2026-06-04T17:03:15.0305927Z         },
2026-06-04T17:03:15.0306110Z         "impl": {
2026-06-04T17:03:15.0306298Z           "complete": true,
2026-06-04T17:03:15.0306490Z           "evidence": [
2026-06-04T17:03:15.0306666Z             {
2026-06-04T17:03:15.0306933Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0307125Z               "line": 413
2026-06-04T17:03:15.0307292Z             },
2026-06-04T17:03:15.0307468Z             {
2026-06-04T17:03:15.0307727Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0307916Z               "line": 468
2026-06-04T17:03:15.0308095Z             },
2026-06-04T17:03:15.0308258Z             {
2026-06-04T17:03:15.0308504Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:03:15.0308682Z               "line": 13
2026-06-04T17:03:15.0308882Z             },
2026-06-04T17:03:15.0309047Z             {
2026-06-04T17:03:15.0309341Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:03:15.0309533Z               "line": 67
2026-06-04T17:03:15.0309704Z             },
2026-06-04T17:03:15.0309880Z             {
2026-06-04T17:03:15.0310110Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:03:15.0310301Z               "line": 18
2026-06-04T17:03:15.0310469Z             }
2026-06-04T17:03:15.0310645Z           ]
2026-06-04T17:03:15.0310815Z         },
2026-06-04T17:03:15.0310984Z         "int": {
2026-06-04T17:03:15.0311182Z           "complete": false,
2026-06-04T17:03:15.0311366Z           "evidence": []
2026-06-04T17:03:15.0311538Z         },
2026-06-04T17:03:15.0311705Z         "unit": {
2026-06-04T17:03:15.0311902Z           "complete": true,
2026-06-04T17:03:15.0312093Z           "evidence": [
2026-06-04T17:03:15.0312262Z             {
2026-06-04T17:03:15.0318936Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0319613Z               "line": 612
2026-06-04T17:03:15.0319833Z             },
2026-06-04T17:03:15.0320002Z             {
2026-06-04T17:03:15.0320284Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0320477Z               "line": 709
2026-06-04T17:03:15.0320649Z             },
2026-06-04T17:03:15.0320826Z             {
2026-06-04T17:03:15.0321083Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0321279Z               "line": 717
2026-06-04T17:03:15.0321449Z             },
2026-06-04T17:03:15.0321628Z             {
2026-06-04T17:03:15.0321893Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0322078Z               "line": 730
2026-06-04T17:03:15.0322253Z             },
2026-06-04T17:03:15.0322418Z             {
2026-06-04T17:03:15.0322683Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0322874Z               "line": 743
2026-06-04T17:03:15.0323173Z             },
2026-06-04T17:03:15.0323360Z             {
2026-06-04T17:03:15.0323622Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0323815Z               "line": 759
2026-06-04T17:03:15.0323981Z             },
2026-06-04T17:03:15.0324155Z             {
2026-06-04T17:03:15.0324424Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0324605Z               "line": 988
2026-06-04T17:03:15.0324781Z             },
2026-06-04T17:03:15.0324944Z             {
2026-06-04T17:03:15.0325189Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:03:15.0325367Z               "line": 121
2026-06-04T17:03:15.0325543Z             },
2026-06-04T17:03:15.0325723Z             {
2026-06-04T17:03:15.0325958Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:03:15.0326148Z               "line": 142
2026-06-04T17:03:15.0326313Z             },
2026-06-04T17:03:15.0326481Z             {
2026-06-04T17:03:15.0326740Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:03:15.0326933Z               "line": 150
2026-06-04T17:03:15.0327106Z             },
2026-06-04T17:03:15.0327273Z             {
2026-06-04T17:03:15.0327516Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T17:03:15.0327700Z               "line": 158
2026-06-04T17:03:15.0327875Z             }
2026-06-04T17:03:15.0328036Z           ]
2026-06-04T17:03:15.0328211Z         }
2026-06-04T17:03:15.0328387Z       }
2026-06-04T17:03:15.0328547Z     },
2026-06-04T17:03:15.0328717Z     {
2026-06-04T17:03:15.0328903Z       "id": "REQ-INST-11",
2026-06-04T17:03:15.0329661Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T17:03:15.0329873Z       "requiredStages": [
2026-06-04T17:03:15.0330222Z         "impl",
2026-06-04T17:03:15.0330403Z         "unit"
2026-06-04T17:03:15.0330565Z       ],
2026-06-04T17:03:15.0330744Z       "stages": {
2026-06-04T17:03:15.0330913Z         "doc": {
2026-06-04T17:03:15.0331141Z           "complete": false,
2026-06-04T17:03:15.0331325Z           "evidence": []
2026-06-04T17:03:15.0331498Z         },
2026-06-04T17:03:15.0331677Z         "impl": {
2026-06-04T17:03:15.0331864Z           "complete": true,
2026-06-04T17:03:15.0332051Z           "evidence": [
2026-06-04T17:03:15.0332213Z             {
2026-06-04T17:03:15.0332482Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0332663Z               "line": 315
2026-06-04T17:03:15.0332837Z             },
2026-06-04T17:03:15.0333006Z             {
2026-06-04T17:03:15.0333303Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0333495Z               "line": 243
2026-06-04T17:03:15.0333659Z             },
2026-06-04T17:03:15.0333836Z             {
2026-06-04T17:03:15.0334083Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:03:15.0334269Z               "line": 59
2026-06-04T17:03:15.0334440Z             },
2026-06-04T17:03:15.0334616Z             {
2026-06-04T17:03:15.0334993Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0335195Z               "line": 1374
2026-06-04T17:03:15.0335378Z             },
2026-06-04T17:03:15.0335544Z             {
2026-06-04T17:03:15.0335776Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0335968Z               "line": 2049
2026-06-04T17:03:15.0336136Z             }
2026-06-04T17:03:15.0336311Z           ]
2026-06-04T17:03:15.0336474Z         },
2026-06-04T17:03:15.0336654Z         "int": {
2026-06-04T17:03:15.0336846Z           "complete": false,
2026-06-04T17:03:15.0337039Z           "evidence": []
2026-06-04T17:03:15.0337214Z         },
2026-06-04T17:03:15.0337381Z         "unit": {
2026-06-04T17:03:15.0337584Z           "complete": true,
2026-06-04T17:03:15.0337762Z           "evidence": [
2026-06-04T17:03:15.0337939Z             {
2026-06-04T17:03:15.0338199Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0338395Z               "line": 852
2026-06-04T17:03:15.0338759Z             },
2026-06-04T17:03:15.0338931Z             {
2026-06-04T17:03:15.0339248Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0339434Z               "line": 875
2026-06-04T17:03:15.0339618Z             },
2026-06-04T17:03:15.0339793Z             {
2026-06-04T17:03:15.0340071Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0340266Z               "line": 462
2026-06-04T17:03:15.0340433Z             },
2026-06-04T17:03:15.0340607Z             {
2026-06-04T17:03:15.0340852Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:03:15.0341044Z               "line": 156
2026-06-04T17:03:15.0341216Z             },
2026-06-04T17:03:15.0341384Z             {
2026-06-04T17:03:15.0341638Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:03:15.0341817Z               "line": 177
2026-06-04T17:03:15.0341991Z             },
2026-06-04T17:03:15.0342157Z             {
2026-06-04T17:03:15.0342433Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T17:03:15.0342631Z               "line": 209
2026-06-04T17:03:15.0342801Z             },
2026-06-04T17:03:15.0342973Z             {
2026-06-04T17:03:15.0343192Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0343386Z               "line": 2142
2026-06-04T17:03:15.0343550Z             }
2026-06-04T17:03:15.0343733Z           ]
2026-06-04T17:03:15.0343908Z         }
2026-06-04T17:03:15.0344070Z       }
2026-06-04T17:03:15.0344240Z     },
2026-06-04T17:03:15.0344400Z     {
2026-06-04T17:03:15.0344598Z       "id": "REQ-INST-12",
2026-06-04T17:03:15.0345222Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T17:03:15.0345429Z       "requiredStages": [
2026-06-04T17:03:15.0345608Z         "impl",
2026-06-04T17:03:15.0345776Z         "unit"
2026-06-04T17:03:15.0345945Z       ],
2026-06-04T17:03:15.0346124Z       "stages": {
2026-06-04T17:03:15.0346318Z         "doc": {
2026-06-04T17:03:15.0346520Z           "complete": false,
2026-06-04T17:03:15.0346719Z           "evidence": []
2026-06-04T17:03:15.0346899Z         },
2026-06-04T17:03:15.0347076Z         "impl": {
2026-06-04T17:03:15.0347276Z           "complete": true,
2026-06-04T17:03:15.0347459Z           "evidence": [
2026-06-04T17:03:15.0347634Z             {
2026-06-04T17:03:15.0347897Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0348088Z               "line": 367
2026-06-04T17:03:15.0348266Z             },
2026-06-04T17:03:15.0348428Z             {
2026-06-04T17:03:15.0348693Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0348873Z               "line": 424
2026-06-04T17:03:15.0349051Z             },
2026-06-04T17:03:15.0349269Z             {
2026-06-04T17:03:15.0349545Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0349742Z               "line": 482
2026-06-04T17:03:15.0349906Z             },
2026-06-04T17:03:15.0350240Z             {
2026-06-04T17:03:15.0350504Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:15.0350698Z               "line": 87
2026-06-04T17:03:15.0350868Z             },
2026-06-04T17:03:15.0351043Z             {
2026-06-04T17:03:15.0351299Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:15.0351482Z               "line": 216
2026-06-04T17:03:15.0351658Z             },
2026-06-04T17:03:15.0351823Z             {
2026-06-04T17:03:15.0352091Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0352274Z               "line": 132
2026-06-04T17:03:15.0352457Z             }
2026-06-04T17:03:15.0358032Z           ]
2026-06-04T17:03:15.0358292Z         },
2026-06-04T17:03:15.0358487Z         "int": {
2026-06-04T17:03:15.0358683Z           "complete": false,
2026-06-04T17:03:15.0358880Z           "evidence": []
2026-06-04T17:03:15.0359047Z         },
2026-06-04T17:03:15.0359312Z         "unit": {
2026-06-04T17:03:15.0359809Z           "complete": true,
2026-06-04T17:03:15.0359996Z           "evidence": [
2026-06-04T17:03:15.0360174Z             {
2026-06-04T17:03:15.0360447Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0360637Z               "line": 910
2026-06-04T17:03:15.0360804Z             },
2026-06-04T17:03:15.0360983Z             {
2026-06-04T17:03:15.0361253Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0361434Z               "line": 927
2026-06-04T17:03:15.0361616Z             },
2026-06-04T17:03:15.0361782Z             {
2026-06-04T17:03:15.0362046Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0362229Z               "line": 958
2026-06-04T17:03:15.0362407Z             },
2026-06-04T17:03:15.0362584Z             {
2026-06-04T17:03:15.0362836Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:15.0363028Z               "line": 350
2026-06-04T17:03:15.0363195Z             },
2026-06-04T17:03:15.0363384Z             {
2026-06-04T17:03:15.0363649Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0363843Z               "line": 169
2026-06-04T17:03:15.0364018Z             },
2026-06-04T17:03:15.0364186Z             {
2026-06-04T17:03:15.0364451Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0364633Z               "line": 181
2026-06-04T17:03:15.0364809Z             },
2026-06-04T17:03:15.0364982Z             {
2026-06-04T17:03:15.0365237Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0365422Z               "line": 198
2026-06-04T17:03:15.0365586Z             }
2026-06-04T17:03:15.0365759Z           ]
2026-06-04T17:03:15.0365917Z         }
2026-06-04T17:03:15.0366089Z       }
2026-06-04T17:03:15.0366258Z     },
2026-06-04T17:03:15.0366424Z     {
2026-06-04T17:03:15.0366624Z       "id": "REQ-INST-13",
2026-06-04T17:03:15.0367015Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T17:03:15.0367243Z       "requiredStages": [
2026-06-04T17:03:15.0367424Z         "impl",
2026-06-04T17:03:15.0367605Z         "unit"
2026-06-04T17:03:15.0367782Z       ],
2026-06-04T17:03:15.0367954Z       "stages": {
2026-06-04T17:03:15.0368135Z         "doc": {
2026-06-04T17:03:15.0368326Z           "complete": false,
2026-06-04T17:03:15.0368519Z           "evidence": []
2026-06-04T17:03:15.0368686Z         },
2026-06-04T17:03:15.0368870Z         "impl": {
2026-06-04T17:03:15.0369069Z           "complete": true,
2026-06-04T17:03:15.0369296Z           "evidence": [
2026-06-04T17:03:15.0369478Z             {
2026-06-04T17:03:15.0369739Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0369930Z               "line": 94
2026-06-04T17:03:15.0370096Z             },
2026-06-04T17:03:15.0370281Z             {
2026-06-04T17:03:15.0370547Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0370730Z               "line": 155
2026-06-04T17:03:15.0370921Z             }
2026-06-04T17:03:15.0371220Z           ]
2026-06-04T17:03:15.0371405Z         },
2026-06-04T17:03:15.0371575Z         "int": {
2026-06-04T17:03:15.0371775Z           "complete": false,
2026-06-04T17:03:15.0371969Z           "evidence": []
2026-06-04T17:03:15.0372134Z         },
2026-06-04T17:03:15.0372317Z         "unit": {
2026-06-04T17:03:15.0372505Z           "complete": true,
2026-06-04T17:03:15.0372692Z           "evidence": [
2026-06-04T17:03:15.0372857Z             {
2026-06-04T17:03:15.0373130Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0373319Z               "line": 221
2026-06-04T17:03:15.0373485Z             },
2026-06-04T17:03:15.0373659Z             {
2026-06-04T17:03:15.0373921Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T17:03:15.0374110Z               "line": 233
2026-06-04T17:03:15.0374275Z             }
2026-06-04T17:03:15.0374447Z           ]
2026-06-04T17:03:15.0374617Z         }
2026-06-04T17:03:15.0374905Z       }
2026-06-04T17:03:15.0375090Z     },
2026-06-04T17:03:15.0375255Z     {
2026-06-04T17:03:15.0375451Z       "id": "REQ-INST-14",
2026-06-04T17:03:15.0376244Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T17:03:15.0376448Z       "requiredStages": [
2026-06-04T17:03:15.0376629Z         "doc",
2026-06-04T17:03:15.0376797Z         "impl",
2026-06-04T17:03:15.0376977Z         "unit"
2026-06-04T17:03:15.0377138Z       ],
2026-06-04T17:03:15.0377319Z       "stages": {
2026-06-04T17:03:15.0377484Z         "doc": {
2026-06-04T17:03:15.0377680Z           "complete": true,
2026-06-04T17:03:15.0377866Z           "evidence": [
2026-06-04T17:03:15.0378032Z             {
2026-06-04T17:03:15.0378245Z               "path": "docs/STORAGE.md",
2026-06-04T17:03:15.0378423Z               "line": 49
2026-06-04T17:03:15.0378630Z             }
2026-06-04T17:03:15.0378796Z           ]
2026-06-04T17:03:15.0378986Z         },
2026-06-04T17:03:15.0379231Z         "impl": {
2026-06-04T17:03:15.0379421Z           "complete": true,
2026-06-04T17:03:15.0379610Z           "evidence": [
2026-06-04T17:03:15.0379775Z             {
2026-06-04T17:03:15.0380059Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0380241Z               "line": 242
2026-06-04T17:03:15.0380417Z             },
2026-06-04T17:03:15.0380593Z             {
2026-06-04T17:03:15.0380851Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0381042Z               "line": 182
2026-06-04T17:03:15.0381210Z             },
2026-06-04T17:03:15.0381381Z             {
2026-06-04T17:03:15.0381617Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.0381805Z               "line": 202
2026-06-04T17:03:15.0381982Z             },
2026-06-04T17:03:15.0382145Z             {
2026-06-04T17:03:15.0382367Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0382543Z               "line": 685
2026-06-04T17:03:15.0382736Z             }
2026-06-04T17:03:15.0382900Z           ]
2026-06-04T17:03:15.0383074Z         },
2026-06-04T17:03:15.0383262Z         "int": {
2026-06-04T17:03:15.0383461Z           "complete": false,
2026-06-04T17:03:15.0383656Z           "evidence": []
2026-06-04T17:03:15.0383819Z         },
2026-06-04T17:03:15.0383999Z         "unit": {
2026-06-04T17:03:15.0384191Z           "complete": true,
2026-06-04T17:03:15.0384379Z           "evidence": [
2026-06-04T17:03:15.0384554Z             {
2026-06-04T17:03:15.0384828Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0385020Z               "line": 391
2026-06-04T17:03:15.0385189Z             },
2026-06-04T17:03:15.0385365Z             {
2026-06-04T17:03:15.0385619Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0385804Z               "line": 621
2026-06-04T17:03:15.0385981Z             },
2026-06-04T17:03:15.0386144Z             {
2026-06-04T17:03:15.0386562Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0386768Z               "line": 662
2026-06-04T17:03:15.0386939Z             },
2026-06-04T17:03:15.0387099Z             {
2026-06-04T17:03:15.0387351Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.0387539Z               "line": 411
2026-06-04T17:03:15.0387706Z             },
2026-06-04T17:03:15.0387883Z             {
2026-06-04T17:03:15.0388101Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0388294Z               "line": 2158
2026-06-04T17:03:15.0388456Z             }
2026-06-04T17:03:15.0388629Z           ]
2026-06-04T17:03:15.0388800Z         }
2026-06-04T17:03:15.0388964Z       }
2026-06-04T17:03:15.0389130Z     },
2026-06-04T17:03:15.0389334Z     {
2026-06-04T17:03:15.0389536Z       "id": "REQ-INST-15",
2026-06-04T17:03:15.0391090Z       "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:03:15.0391447Z       "requiredStages": [
2026-06-04T17:03:15.0391624Z         "doc",
2026-06-04T17:03:15.0391791Z         "impl",
2026-06-04T17:03:15.0391968Z         "unit"
2026-06-04T17:03:15.0392134Z       ],
2026-06-04T17:03:15.0397605Z       "stages": {
2026-06-04T17:03:15.0397844Z         "doc": {
2026-06-04T17:03:15.0398041Z           "complete": true,
2026-06-04T17:03:15.0398237Z           "evidence": [
2026-06-04T17:03:15.0398408Z             {
2026-06-04T17:03:15.0398799Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-04T17:03:15.0398977Z               "line": 3
2026-06-04T17:03:15.0399153Z             }
2026-06-04T17:03:15.0399421Z           ]
2026-06-04T17:03:15.0399590Z         },
2026-06-04T17:03:15.0399776Z         "impl": {
2026-06-04T17:03:15.0399970Z           "complete": true,
2026-06-04T17:03:15.0400206Z           "evidence": [
2026-06-04T17:03:15.0400385Z             {
2026-06-04T17:03:15.0400684Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0400879Z               "line": 206
2026-06-04T17:03:15.0401046Z             },
2026-06-04T17:03:15.0401218Z             {
2026-06-04T17:03:15.0401454Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0401640Z               "line": 60
2026-06-04T17:03:15.0401805Z             },
2026-06-04T17:03:15.0401977Z             {
2026-06-04T17:03:15.0402254Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0402435Z               "line": 317
2026-06-04T17:03:15.0402613Z             },
2026-06-04T17:03:15.0402776Z             {
2026-06-04T17:03:15.0403053Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0403229Z               "line": 367
2026-06-04T17:03:15.0403402Z             },
2026-06-04T17:03:15.0403574Z             {
2026-06-04T17:03:15.0403838Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0404032Z               "line": 19
2026-06-04T17:03:15.0404207Z             },
2026-06-04T17:03:15.0404379Z             {
2026-06-04T17:03:15.0404614Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0404804Z               "line": 67
2026-06-04T17:03:15.0404976Z             },
2026-06-04T17:03:15.0405142Z             {
2026-06-04T17:03:15.0405381Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0405559Z               "line": 91
2026-06-04T17:03:15.0405736Z             },
2026-06-04T17:03:15.0405910Z             {
2026-06-04T17:03:15.0406146Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0406341Z               "line": 116
2026-06-04T17:03:15.0406507Z             },
2026-06-04T17:03:15.0406682Z             {
2026-06-04T17:03:15.0406923Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0407110Z               "line": 167
2026-06-04T17:03:15.0407295Z             },
2026-06-04T17:03:15.0407746Z             {
2026-06-04T17:03:15.0408025Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.0408210Z               "line": 141
2026-06-04T17:03:15.0408387Z             },
2026-06-04T17:03:15.0408553Z             {
2026-06-04T17:03:15.0408784Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0408978Z               "line": 577
2026-06-04T17:03:15.0409144Z             }
2026-06-04T17:03:15.0409362Z           ]
2026-06-04T17:03:15.0409533Z         },
2026-06-04T17:03:15.0409717Z         "int": {
2026-06-04T17:03:15.0409906Z           "complete": false,
2026-06-04T17:03:15.0410103Z           "evidence": []
2026-06-04T17:03:15.0410280Z         },
2026-06-04T17:03:15.0410450Z         "unit": {
2026-06-04T17:03:15.0410647Z           "complete": true,
2026-06-04T17:03:15.0410826Z           "evidence": [
2026-06-04T17:03:15.0410997Z             {
2026-06-04T17:03:15.0411268Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0411600Z               "line": 506
2026-06-04T17:03:15.0411782Z             },
2026-06-04T17:03:15.0411950Z             {
2026-06-04T17:03:15.0412223Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.0412405Z               "line": 562
2026-06-04T17:03:15.0412578Z             },
2026-06-04T17:03:15.0412742Z             {
2026-06-04T17:03:15.0412991Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0413183Z               "line": 206
2026-06-04T17:03:15.0413350Z             },
2026-06-04T17:03:15.0413521Z             {
2026-06-04T17:03:15.0413757Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0413945Z               "line": 239
2026-06-04T17:03:15.0414107Z             },
2026-06-04T17:03:15.0414287Z             {
2026-06-04T17:03:15.0414532Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0414712Z               "line": 252
2026-06-04T17:03:15.0414887Z             },
2026-06-04T17:03:15.0415069Z             {
2026-06-04T17:03:15.0415315Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T17:03:15.0415494Z               "line": 316
2026-06-04T17:03:15.0415668Z             },
2026-06-04T17:03:15.0415844Z             {
2026-06-04T17:03:15.0416089Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.0416279Z               "line": 477
2026-06-04T17:03:15.0416439Z             },
2026-06-04T17:03:15.0416615Z             {
2026-06-04T17:03:15.0416834Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0417030Z               "line": 2145
2026-06-04T17:03:15.0417205Z             },
2026-06-04T17:03:15.0417369Z             {
2026-06-04T17:03:15.0417598Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0417780Z               "line": 2689
2026-06-04T17:03:15.0417959Z             }
2026-06-04T17:03:15.0418123Z           ]
2026-06-04T17:03:15.0418290Z         }
2026-06-04T17:03:15.0418464Z       }
2026-06-04T17:03:15.0418639Z     },
2026-06-04T17:03:15.0418815Z     {
2026-06-04T17:03:15.0419005Z       "id": "REQ-INST-2",
2026-06-04T17:03:15.0419316Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T17:03:15.0419508Z       "requiredStages": [
2026-06-04T17:03:15.0419687Z         "impl",
2026-06-04T17:03:15.0419860Z         "unit"
2026-06-04T17:03:15.0420025Z       ],
2026-06-04T17:03:15.0420205Z       "stages": {
2026-06-04T17:03:15.0420373Z         "doc": {
2026-06-04T17:03:15.0420576Z           "complete": false,
2026-06-04T17:03:15.0420761Z           "evidence": []
2026-06-04T17:03:15.0420936Z         },
2026-06-04T17:03:15.0421115Z         "impl": {
2026-06-04T17:03:15.0421304Z           "complete": true,
2026-06-04T17:03:15.0421490Z           "evidence": [
2026-06-04T17:03:15.0421653Z             {
2026-06-04T17:03:15.0421926Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0422107Z               "line": 86
2026-06-04T17:03:15.0422280Z             },
2026-06-04T17:03:15.0422467Z             {
2026-06-04T17:03:15.0422833Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:15.0423042Z               "line": 28
2026-06-04T17:03:15.0423212Z             },
2026-06-04T17:03:15.0423394Z             {
2026-06-04T17:03:15.0423634Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:15.0423823Z               "line": 74
2026-06-04T17:03:15.0423997Z             },
2026-06-04T17:03:15.0424163Z             {
2026-06-04T17:03:15.0424415Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:15.0424602Z               "line": 96
2026-06-04T17:03:15.0424785Z             },
2026-06-04T17:03:15.0424948Z             {
2026-06-04T17:03:15.0425200Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:03:15.0425384Z               "line": 81
2026-06-04T17:03:15.0425554Z             },
2026-06-04T17:03:15.0425724Z             {
2026-06-04T17:03:15.0425967Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T17:03:15.0426308Z               "line": 118
2026-06-04T17:03:15.0426482Z             }
2026-06-04T17:03:15.0426646Z           ]
2026-06-04T17:03:15.0426818Z         },
2026-06-04T17:03:15.0426989Z         "int": {
2026-06-04T17:03:15.0427183Z           "complete": false,
2026-06-04T17:03:15.0427362Z           "evidence": []
2026-06-04T17:03:15.0427534Z         },
2026-06-04T17:03:15.0427703Z         "unit": {
2026-06-04T17:03:15.0427904Z           "complete": true,
2026-06-04T17:03:15.0428090Z           "evidence": [
2026-06-04T17:03:15.0428254Z             {
2026-06-04T17:03:15.0428506Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T17:03:15.0428687Z               "line": 203
2026-06-04T17:03:15.0428863Z             },
2026-06-04T17:03:15.0429026Z             {
2026-06-04T17:03:15.0429321Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:03:15.0429528Z               "line": 232
2026-06-04T17:03:15.0429695Z             }
2026-06-04T17:03:15.0434988Z           ]
2026-06-04T17:03:15.0435262Z         }
2026-06-04T17:03:15.0435454Z       }
2026-06-04T17:03:15.0435625Z     },
2026-06-04T17:03:15.0435795Z     {
2026-06-04T17:03:15.0436001Z       "id": "REQ-INST-3",
2026-06-04T17:03:15.0436329Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T17:03:15.0436535Z       "requiredStages": [
2026-06-04T17:03:15.0436707Z         "doc",
2026-06-04T17:03:15.0436886Z         "impl",
2026-06-04T17:03:15.0437054Z         "unit"
2026-06-04T17:03:15.0437234Z       ],
2026-06-04T17:03:15.0437416Z       "stages": {
2026-06-04T17:03:15.0437585Z         "doc": {
2026-06-04T17:03:15.0437786Z           "complete": true,
2026-06-04T17:03:15.0437966Z           "evidence": [
2026-06-04T17:03:15.0438135Z             {
2026-06-04T17:03:15.0438367Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-04T17:03:15.0438555Z               "line": 3
2026-06-04T17:03:15.0438727Z             }
2026-06-04T17:03:15.0438892Z           ]
2026-06-04T17:03:15.0439065Z         },
2026-06-04T17:03:15.0439335Z         "impl": {
2026-06-04T17:03:15.0439544Z           "complete": true,
2026-06-04T17:03:15.0439723Z           "evidence": [
2026-06-04T17:03:15.0439898Z             {
2026-06-04T17:03:15.0440160Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:03:15.0440336Z               "line": 70
2026-06-04T17:03:15.0440512Z             },
2026-06-04T17:03:15.0440678Z             {
2026-06-04T17:03:15.0440942Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0441132Z               "line": 385
2026-06-04T17:03:15.0441298Z             },
2026-06-04T17:03:15.0441467Z             {
2026-06-04T17:03:15.0441724Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0441911Z               "line": 197
2026-06-04T17:03:15.0442071Z             },
2026-06-04T17:03:15.0442244Z             {
2026-06-04T17:03:15.0442508Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0442691Z               "line": 272
2026-06-04T17:03:15.0443100Z             },
2026-06-04T17:03:15.0443288Z             {
2026-06-04T17:03:15.0443563Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0443745Z               "line": 293
2026-06-04T17:03:15.0443923Z             },
2026-06-04T17:03:15.0444096Z             {
2026-06-04T17:03:15.0444355Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:03:15.0444542Z               "line": 234
2026-06-04T17:03:15.0444711Z             },
2026-06-04T17:03:15.0444882Z             {
2026-06-04T17:03:15.0445153Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0445346Z               "line": 147
2026-06-04T17:03:15.0445517Z             },
2026-06-04T17:03:15.0445680Z             {
2026-06-04T17:03:15.0445959Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0446137Z               "line": 228
2026-06-04T17:03:15.0446315Z             },
2026-06-04T17:03:15.0446477Z             {
2026-06-04T17:03:15.0446924Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0447119Z               "line": 44
2026-06-04T17:03:15.0447284Z             },
2026-06-04T17:03:15.0447454Z             {
2026-06-04T17:03:15.0447705Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0447899Z               "line": 113
2026-06-04T17:03:15.0448064Z             },
2026-06-04T17:03:15.0448231Z             {
2026-06-04T17:03:15.0448491Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0448669Z               "line": 151
2026-06-04T17:03:15.0448838Z             },
2026-06-04T17:03:15.0449002Z             {
2026-06-04T17:03:15.0449306Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0449491Z               "line": 167
2026-06-04T17:03:15.0449664Z             },
2026-06-04T17:03:15.0449834Z             {
2026-06-04T17:03:15.0450084Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0450292Z               "line": 177
2026-06-04T17:03:15.0450465Z             },
2026-06-04T17:03:15.0450639Z             {
2026-06-04T17:03:15.0450902Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0451083Z               "line": 209
2026-06-04T17:03:15.0451252Z             },
2026-06-04T17:03:15.0451416Z             {
2026-06-04T17:03:15.0451672Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0451854Z               "line": 282
2026-06-04T17:03:15.0452030Z             },
2026-06-04T17:03:15.0452201Z             {
2026-06-04T17:03:15.0452448Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0452645Z               "line": 306
2026-06-04T17:03:15.0452808Z             },
2026-06-04T17:03:15.0452979Z             {
2026-06-04T17:03:15.0453224Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0453414Z               "line": 346
2026-06-04T17:03:15.0453587Z             },
2026-06-04T17:03:15.0453751Z             {
2026-06-04T17:03:15.0454030Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0454209Z               "line": 361
2026-06-04T17:03:15.0454382Z             },
2026-06-04T17:03:15.0454549Z             {
2026-06-04T17:03:15.0454813Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-04T17:03:15.0455003Z               "line": 37
2026-06-04T17:03:15.0455167Z             },
2026-06-04T17:03:15.0455342Z             {
2026-06-04T17:03:15.0455597Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0455782Z               "line": 62
2026-06-04T17:03:15.0455950Z             },
2026-06-04T17:03:15.0456123Z             {
2026-06-04T17:03:15.0456370Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.0456551Z               "line": 184
2026-06-04T17:03:15.0456720Z             },
2026-06-04T17:03:15.0456885Z             {
2026-06-04T17:03:15.0457113Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0457306Z               "line": 782
2026-06-04T17:03:15.0457635Z             }
2026-06-04T17:03:15.0457825Z           ]
2026-06-04T17:03:15.0457992Z         },
2026-06-04T17:03:15.0458168Z         "int": {
2026-06-04T17:03:15.0458358Z           "complete": false,
2026-06-04T17:03:15.0458545Z           "evidence": []
2026-06-04T17:03:15.0458704Z         },
2026-06-04T17:03:15.0458881Z         "unit": {
2026-06-04T17:03:15.0459072Z           "complete": true,
2026-06-04T17:03:15.0459290Z           "evidence": [
2026-06-04T17:03:15.0459466Z             {
2026-06-04T17:03:15.0459721Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:15.0459908Z               "line": 305
2026-06-04T17:03:15.0460077Z             },
2026-06-04T17:03:15.0460249Z             {
2026-06-04T17:03:15.0460520Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0460700Z               "line": 610
2026-06-04T17:03:15.0460885Z             },
2026-06-04T17:03:15.0461054Z             {
2026-06-04T17:03:15.0461469Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0461653Z               "line": 661
2026-06-04T17:03:15.0461829Z             },
2026-06-04T17:03:15.0462004Z             {
2026-06-04T17:03:15.0462282Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0462474Z               "line": 441
2026-06-04T17:03:15.0462638Z             },
2026-06-04T17:03:15.0462809Z             {
2026-06-04T17:03:15.0463083Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0463262Z               "line": 488
2026-06-04T17:03:15.0463429Z             },
2026-06-04T17:03:15.0463591Z             {
2026-06-04T17:03:15.0463849Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0464024Z               "line": 372
2026-06-04T17:03:15.0464199Z             },
2026-06-04T17:03:15.0464370Z             {
2026-06-04T17:03:15.0464619Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0464821Z               "line": 401
2026-06-04T17:03:15.0465002Z             },
2026-06-04T17:03:15.0465172Z             {
2026-06-04T17:03:15.0465419Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0465609Z               "line": 434
2026-06-04T17:03:15.0465779Z             },
2026-06-04T17:03:15.0465940Z             {
2026-06-04T17:03:15.0466195Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0466376Z               "line": 542
2026-06-04T17:03:15.0466553Z             },
2026-06-04T17:03:15.0466719Z             {
2026-06-04T17:03:15.0466978Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0467170Z               "line": 621
2026-06-04T17:03:15.0467335Z             },
2026-06-04T17:03:15.0472658Z             {
2026-06-04T17:03:15.0473000Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0473195Z               "line": 635
2026-06-04T17:03:15.0473369Z             },
2026-06-04T17:03:15.0473547Z             {
2026-06-04T17:03:15.0473865Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0474047Z               "line": 690
2026-06-04T17:03:15.0474222Z             },
2026-06-04T17:03:15.0474389Z             {
2026-06-04T17:03:15.0474634Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.0474815Z               "line": 371
2026-06-04T17:03:15.0474993Z             },
2026-06-04T17:03:15.0475167Z             {
2026-06-04T17:03:15.0475390Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0475584Z               "line": 2172
2026-06-04T17:03:15.0475746Z             }
2026-06-04T17:03:15.0475913Z           ]
2026-06-04T17:03:15.0476070Z         }
2026-06-04T17:03:15.0476244Z       }
2026-06-04T17:03:15.0476408Z     },
2026-06-04T17:03:15.0476568Z     {
2026-06-04T17:03:15.0476763Z       "id": "REQ-INST-4",
2026-06-04T17:03:15.0477126Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T17:03:15.0477324Z       "requiredStages": [
2026-06-04T17:03:15.0477801Z         "impl",
2026-06-04T17:03:15.0478020Z         "unit"
2026-06-04T17:03:15.0478191Z       ],
2026-06-04T17:03:15.0478360Z       "stages": {
2026-06-04T17:03:15.0478533Z         "doc": {
2026-06-04T17:03:15.0478725Z           "complete": false,
2026-06-04T17:03:15.0478916Z           "evidence": []
2026-06-04T17:03:15.0479079Z         },
2026-06-04T17:03:15.0479327Z         "impl": {
2026-06-04T17:03:15.0479522Z           "complete": true,
2026-06-04T17:03:15.0479701Z           "evidence": [
2026-06-04T17:03:15.0479868Z             {
2026-06-04T17:03:15.0480127Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0480314Z               "line": 273
2026-06-04T17:03:15.0480476Z             },
2026-06-04T17:03:15.0480646Z             {
2026-06-04T17:03:15.0480900Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0481075Z               "line": 201
2026-06-04T17:03:15.0481245Z             },
2026-06-04T17:03:15.0481548Z             {
2026-06-04T17:03:15.0481826Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0482011Z               "line": 233
2026-06-04T17:03:15.0482191Z             },
2026-06-04T17:03:15.0482357Z             {
2026-06-04T17:03:15.0482606Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0482794Z               "line": 269
2026-06-04T17:03:15.0482960Z             }
2026-06-04T17:03:15.0483132Z           ]
2026-06-04T17:03:15.0483294Z         },
2026-06-04T17:03:15.0483468Z         "int": {
2026-06-04T17:03:15.0483666Z           "complete": false,
2026-06-04T17:03:15.0483847Z           "evidence": []
2026-06-04T17:03:15.0484021Z         },
2026-06-04T17:03:15.0484190Z         "unit": {
2026-06-04T17:03:15.0484389Z           "complete": true,
2026-06-04T17:03:15.0484573Z           "evidence": [
2026-06-04T17:03:15.0484752Z             {
2026-06-04T17:03:15.0485067Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.0485309Z               "line": 656
2026-06-04T17:03:15.0485690Z             },
2026-06-04T17:03:15.0486024Z             {
2026-06-04T17:03:15.0486335Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0486725Z               "line": 452
2026-06-04T17:03:15.0486945Z             },
2026-06-04T17:03:15.0487153Z             {
2026-06-04T17:03:15.0487470Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0487718Z               "line": 517
2026-06-04T17:03:15.0487900Z             },
2026-06-04T17:03:15.0488222Z             {
2026-06-04T17:03:15.0488487Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T17:03:15.0488673Z               "line": 584
2026-06-04T17:03:15.0488852Z             }
2026-06-04T17:03:15.0489014Z           ]
2026-06-04T17:03:15.0489239Z         }
2026-06-04T17:03:15.0489417Z       }
2026-06-04T17:03:15.0489591Z     },
2026-06-04T17:03:15.0489762Z     {
2026-06-04T17:03:15.0489957Z       "id": "REQ-INST-5",
2026-06-04T17:03:15.0490397Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T17:03:15.0490595Z       "requiredStages": [
2026-06-04T17:03:15.0490772Z         "impl",
2026-06-04T17:03:15.0490941Z         "unit",
2026-06-04T17:03:15.0491121Z         "int"
2026-06-04T17:03:15.0491292Z       ],
2026-06-04T17:03:15.0491463Z       "stages": {
2026-06-04T17:03:15.0491642Z         "doc": {
2026-06-04T17:03:15.0491830Z           "complete": false,
2026-06-04T17:03:15.0492022Z           "evidence": []
2026-06-04T17:03:15.0492187Z         },
2026-06-04T17:03:15.0492369Z         "impl": {
2026-06-04T17:03:15.0492570Z           "complete": true,
2026-06-04T17:03:15.0492755Z           "evidence": [
2026-06-04T17:03:15.0492932Z             {
2026-06-04T17:03:15.0493193Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:03:15.0493378Z               "line": 39
2026-06-04T17:03:15.0493547Z             },
2026-06-04T17:03:15.0493717Z             {
2026-06-04T17:03:15.0494185Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0494378Z               "line": 68
2026-06-04T17:03:15.0494557Z             },
2026-06-04T17:03:15.0494722Z             {
2026-06-04T17:03:15.0494976Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0495153Z               "line": 93
2026-06-04T17:03:15.0495327Z             },
2026-06-04T17:03:15.0495502Z             {
2026-06-04T17:03:15.0495744Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0495938Z               "line": 160
2026-06-04T17:03:15.0496103Z             },
2026-06-04T17:03:15.0496278Z             {
2026-06-04T17:03:15.0496515Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0496709Z               "line": 271
2026-06-04T17:03:15.0496878Z             }
2026-06-04T17:03:15.0497042Z           ]
2026-06-04T17:03:15.0497211Z         },
2026-06-04T17:03:15.0497380Z         "int": {
2026-06-04T17:03:15.0497578Z           "complete": true,
2026-06-04T17:03:15.0497912Z           "evidence": [
2026-06-04T17:03:15.0498090Z             {
2026-06-04T17:03:15.0498372Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.0498555Z               "line": 142
2026-06-04T17:03:15.0498730Z             },
2026-06-04T17:03:15.0498898Z             {
2026-06-04T17:03:15.0499215Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T17:03:15.0499402Z               "line": 102
2026-06-04T17:03:15.0499580Z             },
2026-06-04T17:03:15.0499759Z             {
2026-06-04T17:03:15.0500027Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0500217Z               "line": 517
2026-06-04T17:03:15.0500385Z             },
2026-06-04T17:03:15.0500559Z             {
2026-06-04T17:03:15.0500822Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0501016Z               "line": 723
2026-06-04T17:03:15.0501191Z             }
2026-06-04T17:03:15.0501354Z           ]
2026-06-04T17:03:15.0501537Z         },
2026-06-04T17:03:15.0501720Z         "unit": {
2026-06-04T17:03:15.0501922Z           "complete": true,
2026-06-04T17:03:15.0502099Z           "evidence": [
2026-06-04T17:03:15.0502271Z             {
2026-06-04T17:03:15.0502523Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0502702Z               "line": 461
2026-06-04T17:03:15.0502877Z             },
2026-06-04T17:03:15.0503040Z             {
2026-06-04T17:03:15.0503290Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0503472Z               "line": 495
2026-06-04T17:03:15.0503646Z             },
2026-06-04T17:03:15.0503814Z             {
2026-06-04T17:03:15.0504064Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:03:15.0504259Z               "line": 199
2026-06-04T17:03:15.0504424Z             }
2026-06-04T17:03:15.0504592Z           ]
2026-06-04T17:03:15.0504754Z         }
2026-06-04T17:03:15.0504928Z       }
2026-06-04T17:03:15.0505098Z     },
2026-06-04T17:03:15.0505273Z     {
2026-06-04T17:03:15.0505478Z       "id": "REQ-INST-6",
2026-06-04T17:03:15.0505870Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T17:03:15.0506078Z       "requiredStages": [],
2026-06-04T17:03:15.0513438Z       "stages": {
2026-06-04T17:03:15.0513847Z         "doc": {
2026-06-04T17:03:15.0514079Z           "complete": false,
2026-06-04T17:03:15.0514294Z           "evidence": []
2026-06-04T17:03:15.0514491Z         },
2026-06-04T17:03:15.0514673Z         "impl": {
2026-06-04T17:03:15.0514886Z           "complete": false,
2026-06-04T17:03:15.0515082Z           "evidence": []
2026-06-04T17:03:15.0515273Z         },
2026-06-04T17:03:15.0515467Z         "int": {
2026-06-04T17:03:15.0515673Z           "complete": false,
2026-06-04T17:03:15.0515883Z           "evidence": []
2026-06-04T17:03:15.0516068Z         },
2026-06-04T17:03:15.0516268Z         "unit": {
2026-06-04T17:03:15.0516483Z           "complete": false,
2026-06-04T17:03:15.0516811Z           "evidence": []
2026-06-04T17:03:15.0517389Z         }
2026-06-04T17:03:15.0517612Z       }
2026-06-04T17:03:15.0517805Z     },
2026-06-04T17:03:15.0517984Z     {
2026-06-04T17:03:15.0518218Z       "id": "REQ-INST-7",
2026-06-04T17:03:15.0518563Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T17:03:15.0518821Z       "requiredStages": [
2026-06-04T17:03:15.0519055Z         "impl",
2026-06-04T17:03:15.0519375Z         "unit",
2026-06-04T17:03:15.0519604Z         "int"
2026-06-04T17:03:15.0519781Z       ],
2026-06-04T17:03:15.0519974Z       "stages": {
2026-06-04T17:03:15.0520153Z         "doc": {
2026-06-04T17:03:15.0520366Z           "complete": false,
2026-06-04T17:03:15.0520574Z           "evidence": []
2026-06-04T17:03:15.0520753Z         },
2026-06-04T17:03:15.0520945Z         "impl": {
2026-06-04T17:03:15.0521146Z           "complete": true,
2026-06-04T17:03:15.0521363Z           "evidence": [
2026-06-04T17:03:15.0521558Z             {
2026-06-04T17:03:15.0522144Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0522352Z               "line": 361
2026-06-04T17:03:15.0522535Z             },
2026-06-04T17:03:15.0522724Z             {
2026-06-04T17:03:15.0522998Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:03:15.0523195Z               "line": 40
2026-06-04T17:03:15.0523371Z             },
2026-06-04T17:03:15.0523560Z             {
2026-06-04T17:03:15.0523866Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0524057Z               "line": 27
2026-06-04T17:03:15.0524248Z             },
2026-06-04T17:03:15.0524418Z             {
2026-06-04T17:03:15.0524725Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0525035Z               "line": 120
2026-06-04T17:03:15.0525223Z             },
2026-06-04T17:03:15.0525408Z             {
2026-06-04T17:03:15.0525687Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0525883Z               "line": 197
2026-06-04T17:03:15.0526082Z             },
2026-06-04T17:03:15.0526267Z             {
2026-06-04T17:03:15.0526540Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T17:03:15.0526723Z               "line": 56
2026-06-04T17:03:15.0526907Z             },
2026-06-04T17:03:15.0527075Z             {
2026-06-04T17:03:15.0527351Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0527541Z               "line": 41
2026-06-04T17:03:15.0527724Z             },
2026-06-04T17:03:15.0527911Z             {
2026-06-04T17:03:15.0528188Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0528383Z               "line": 27
2026-06-04T17:03:15.0528555Z             },
2026-06-04T17:03:15.0528731Z             {
2026-06-04T17:03:15.0528997Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0529265Z               "line": 59
2026-06-04T17:03:15.0529610Z             },
2026-06-04T17:03:15.0529778Z             {
2026-06-04T17:03:15.0530077Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0530259Z               "line": 68
2026-06-04T17:03:15.0530436Z             },
2026-06-04T17:03:15.0530604Z             {
2026-06-04T17:03:15.0530867Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T17:03:15.0531060Z               "line": 129
2026-06-04T17:03:15.0531224Z             }
2026-06-04T17:03:15.0531395Z           ]
2026-06-04T17:03:15.0531558Z         },
2026-06-04T17:03:15.0531737Z         "int": {
2026-06-04T17:03:15.0531926Z           "complete": true,
2026-06-04T17:03:15.0532121Z           "evidence": [
2026-06-04T17:03:15.0532300Z             {
2026-06-04T17:03:15.0532571Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T17:03:15.0532764Z               "line": 102
2026-06-04T17:03:15.0532927Z             },
2026-06-04T17:03:15.0533109Z             {
2026-06-04T17:03:15.0533367Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0533725Z               "line": 481
2026-06-04T17:03:15.0533924Z             },
2026-06-04T17:03:15.0534092Z             {
2026-06-04T17:03:15.0534361Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0534546Z               "line": 639
2026-06-04T17:03:15.0534722Z             }
2026-06-04T17:03:15.0534887Z           ]
2026-06-04T17:03:15.0535061Z         },
2026-06-04T17:03:15.0535244Z         "unit": {
2026-06-04T17:03:15.0535440Z           "complete": true,
2026-06-04T17:03:15.0535635Z           "evidence": [
2026-06-04T17:03:15.0535806Z             {
2026-06-04T17:03:15.0536087Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0536272Z               "line": 368
2026-06-04T17:03:15.0536469Z             },
2026-06-04T17:03:15.0536649Z             {
2026-06-04T17:03:15.0536920Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T17:03:15.0537114Z               "line": 534
2026-06-04T17:03:15.0537282Z             },
2026-06-04T17:03:15.0537655Z             {
2026-06-04T17:03:15.0537933Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T17:03:15.0538128Z               "line": 83
2026-06-04T17:03:15.0538309Z             },
2026-06-04T17:03:15.0538473Z             {
2026-06-04T17:03:15.0538738Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0538922Z               "line": 537
2026-06-04T17:03:15.0539101Z             },
2026-06-04T17:03:15.0539321Z             {
2026-06-04T17:03:15.0539768Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0540117Z               "line": 548
2026-06-04T17:03:15.0540285Z             },
2026-06-04T17:03:15.0540463Z             {
2026-06-04T17:03:15.0540719Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0540911Z               "line": 557
2026-06-04T17:03:15.0541094Z             },
2026-06-04T17:03:15.0541261Z             {
2026-06-04T17:03:15.0541537Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0541741Z               "line": 90
2026-06-04T17:03:15.0541927Z             },
2026-06-04T17:03:15.0542098Z             {
2026-06-04T17:03:15.0542370Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0542564Z               "line": 105
2026-06-04T17:03:15.0542740Z             },
2026-06-04T17:03:15.0542922Z             {
2026-06-04T17:03:15.0543193Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T17:03:15.0543392Z               "line": 131
2026-06-04T17:03:15.0543558Z             }
2026-06-04T17:03:15.0543735Z           ]
2026-06-04T17:03:15.0543917Z         }
2026-06-04T17:03:15.0544085Z       }
2026-06-04T17:03:15.0544256Z     },
2026-06-04T17:03:15.0544413Z     {
2026-06-04T17:03:15.0544604Z       "id": "REQ-INST-8",
2026-06-04T17:03:15.0544927Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T17:03:15.0545133Z       "requiredStages": [
2026-06-04T17:03:15.0545331Z         "impl",
2026-06-04T17:03:15.0545510Z         "unit",
2026-06-04T17:03:15.0545685Z         "int"
2026-06-04T17:03:15.0545857Z       ],
2026-06-04T17:03:15.0546040Z       "stages": {
2026-06-04T17:03:15.0546207Z         "doc": {
2026-06-04T17:03:15.0546409Z           "complete": false,
2026-06-04T17:03:15.0546604Z           "evidence": []
2026-06-04T17:03:15.0546769Z         },
2026-06-04T17:03:15.0546948Z         "impl": {
2026-06-04T17:03:15.0547139Z           "complete": true,
2026-06-04T17:03:15.0547330Z           "evidence": [
2026-06-04T17:03:15.0547493Z             {
2026-06-04T17:03:15.0547754Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:03:15.0547947Z               "line": 98
2026-06-04T17:03:15.0548120Z             },
2026-06-04T17:03:15.0555307Z             {
2026-06-04T17:03:15.0555731Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:03:15.0555933Z               "line": 202
2026-06-04T17:03:15.0556102Z             },
2026-06-04T17:03:15.0556324Z             {
2026-06-04T17:03:15.0556842Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:03:15.0557046Z               "line": 220
2026-06-04T17:03:15.0557225Z             },
2026-06-04T17:03:15.0557394Z             {
2026-06-04T17:03:15.0557658Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T17:03:15.0557838Z               "line": 35
2026-06-04T17:03:15.0558013Z             }
2026-06-04T17:03:15.0558185Z           ]
2026-06-04T17:03:15.0558347Z         },
2026-06-04T17:03:15.0558522Z         "int": {
2026-06-04T17:03:15.0558708Z           "complete": true,
2026-06-04T17:03:15.0558896Z           "evidence": [
2026-06-04T17:03:15.0559060Z             {
2026-06-04T17:03:15.0559413Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.0559815Z               "line": 375
2026-06-04T17:03:15.0559996Z             },
2026-06-04T17:03:15.0560329Z             {
2026-06-04T17:03:15.0560592Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0560935Z               "line": 688
2026-06-04T17:03:15.0561102Z             }
2026-06-04T17:03:15.0561274Z           ]
2026-06-04T17:03:15.0561445Z         },
2026-06-04T17:03:15.0561617Z         "unit": {
2026-06-04T17:03:15.0561814Z           "complete": true,
2026-06-04T17:03:15.0561994Z           "evidence": [
2026-06-04T17:03:15.0562169Z             {
2026-06-04T17:03:15.0562427Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:03:15.0562621Z               "line": 172
2026-06-04T17:03:15.0562796Z             },
2026-06-04T17:03:15.0562957Z             {
2026-06-04T17:03:15.0563216Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:03:15.0563393Z               "line": 226
2026-06-04T17:03:15.0563570Z             },
2026-06-04T17:03:15.0563736Z             {
2026-06-04T17:03:15.0563993Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T17:03:15.0564182Z               "line": 70
2026-06-04T17:03:15.0564348Z             },
2026-06-04T17:03:15.0564540Z             {
2026-06-04T17:03:15.0564793Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T17:03:15.0564986Z               "line": 101
2026-06-04T17:03:15.0565153Z             }
2026-06-04T17:03:15.0565325Z           ]
2026-06-04T17:03:15.0565500Z         }
2026-06-04T17:03:15.0565663Z       }
2026-06-04T17:03:15.0565834Z     },
2026-06-04T17:03:15.0565994Z     {
2026-06-04T17:03:15.0566191Z       "id": "REQ-INST-9",
2026-06-04T17:03:15.0566583Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T17:03:15.0566783Z       "requiredStages": [
2026-06-04T17:03:15.0566964Z         "impl",
2026-06-04T17:03:15.0567127Z         "unit"
2026-06-04T17:03:15.0567299Z       ],
2026-06-04T17:03:15.0567471Z       "stages": {
2026-06-04T17:03:15.0567648Z         "doc": {
2026-06-04T17:03:15.0567841Z           "complete": false,
2026-06-04T17:03:15.0568033Z           "evidence": []
2026-06-04T17:03:15.0568205Z         },
2026-06-04T17:03:15.0568388Z         "impl": {
2026-06-04T17:03:15.0568599Z           "complete": true,
2026-06-04T17:03:15.0568783Z           "evidence": [
2026-06-04T17:03:15.0568957Z             {
2026-06-04T17:03:15.0569265Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0569639Z               "line": 253
2026-06-04T17:03:15.0569819Z             }
2026-06-04T17:03:15.0570130Z           ]
2026-06-04T17:03:15.0570301Z         },
2026-06-04T17:03:15.0570467Z         "int": {
2026-06-04T17:03:15.0570665Z           "complete": false,
2026-06-04T17:03:15.0570848Z           "evidence": []
2026-06-04T17:03:15.0571018Z         },
2026-06-04T17:03:15.0571194Z         "unit": {
2026-06-04T17:03:15.0571380Z           "complete": true,
2026-06-04T17:03:15.0571573Z           "evidence": [
2026-06-04T17:03:15.0571736Z             {
2026-06-04T17:03:15.0572006Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0572189Z               "line": 776
2026-06-04T17:03:15.0572381Z             },
2026-06-04T17:03:15.0572693Z             {
2026-06-04T17:03:15.0572968Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0573161Z               "line": 785
2026-06-04T17:03:15.0573332Z             },
2026-06-04T17:03:15.0573509Z             {
2026-06-04T17:03:15.0573764Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0573961Z               "line": 799
2026-06-04T17:03:15.0574138Z             },
2026-06-04T17:03:15.0574301Z             {
2026-06-04T17:03:15.0574568Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0574746Z               "line": 809
2026-06-04T17:03:15.0574929Z             },
2026-06-04T17:03:15.0575093Z             {
2026-06-04T17:03:15.0575358Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T17:03:15.0575545Z               "line": 828
2026-06-04T17:03:15.0575709Z             }
2026-06-04T17:03:15.0575882Z           ]
2026-06-04T17:03:15.0576041Z         }
2026-06-04T17:03:15.0576332Z       }
2026-06-04T17:03:15.0576508Z     },
2026-06-04T17:03:15.0576686Z     {
2026-06-04T17:03:15.0576887Z       "id": "REQ-INSTALL-1",
2026-06-04T17:03:15.0577295Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T17:03:15.0577504Z       "requiredStages": [],
2026-06-04T17:03:15.0577678Z       "stages": {
2026-06-04T17:03:15.0577857Z         "doc": {
2026-06-04T17:03:15.0578055Z           "complete": false,
2026-06-04T17:03:15.0578238Z           "evidence": []
2026-06-04T17:03:15.0578412Z         },
2026-06-04T17:03:15.0578585Z         "impl": {
2026-06-04T17:03:15.0578782Z           "complete": false,
2026-06-04T17:03:15.0578967Z           "evidence": []
2026-06-04T17:03:15.0579138Z         },
2026-06-04T17:03:15.0579507Z         "int": {
2026-06-04T17:03:15.0579720Z           "complete": false,
2026-06-04T17:03:15.0580055Z           "evidence": []
2026-06-04T17:03:15.0580220Z         },
2026-06-04T17:03:15.0580399Z         "unit": {
2026-06-04T17:03:15.0580610Z           "complete": false,
2026-06-04T17:03:15.0580803Z           "evidence": []
2026-06-04T17:03:15.0580966Z         }
2026-06-04T17:03:15.0581141Z       }
2026-06-04T17:03:15.0581312Z     },
2026-06-04T17:03:15.0581469Z     {
2026-06-04T17:03:15.0581671Z       "id": "REQ-INSTALL-2",
2026-06-04T17:03:15.0581958Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T17:03:15.0582161Z       "requiredStages": [],
2026-06-04T17:03:15.0582336Z       "stages": {
2026-06-04T17:03:15.0582523Z         "doc": {
2026-06-04T17:03:15.0582717Z           "complete": false,
2026-06-04T17:03:15.0582907Z           "evidence": []
2026-06-04T17:03:15.0583081Z         },
2026-06-04T17:03:15.0583257Z         "impl": {
2026-06-04T17:03:15.0583452Z           "complete": false,
2026-06-04T17:03:15.0583636Z           "evidence": []
2026-06-04T17:03:15.0583808Z         },
2026-06-04T17:03:15.0583982Z         "int": {
2026-06-04T17:03:15.0584172Z           "complete": false,
2026-06-04T17:03:15.0584374Z           "evidence": []
2026-06-04T17:03:15.0584545Z         },
2026-06-04T17:03:15.0584728Z         "unit": {
2026-06-04T17:03:15.0584916Z           "complete": false,
2026-06-04T17:03:15.0585107Z           "evidence": []
2026-06-04T17:03:15.0585277Z         }
2026-06-04T17:03:15.0585443Z       }
2026-06-04T17:03:15.0585627Z     },
2026-06-04T17:03:15.0585804Z     {
2026-06-04T17:03:15.0586021Z       "id": "REQ-INSTALL-3",
2026-06-04T17:03:15.0586328Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T17:03:15.0586531Z       "requiredStages": [],
2026-06-04T17:03:15.0586710Z       "stages": {
2026-06-04T17:03:15.0586880Z         "doc": {
2026-06-04T17:03:15.0587070Z           "complete": false,
2026-06-04T17:03:15.0587252Z           "evidence": []
2026-06-04T17:03:15.0587424Z         },
2026-06-04T17:03:15.0587594Z         "impl": {
2026-06-04T17:03:15.0587787Z           "complete": false,
2026-06-04T17:03:15.0587974Z           "evidence": []
2026-06-04T17:03:15.0588156Z         },
2026-06-04T17:03:15.0588490Z         "int": {
2026-06-04T17:03:15.0588697Z           "complete": false,
2026-06-04T17:03:15.0594198Z           "evidence": []
2026-06-04T17:03:15.0594424Z         },
2026-06-04T17:03:15.0594613Z         "unit": {
2026-06-04T17:03:15.0594822Z           "complete": false,
2026-06-04T17:03:15.0595006Z           "evidence": []
2026-06-04T17:03:15.0595175Z         }
2026-06-04T17:03:15.0595335Z       }
2026-06-04T17:03:15.0595506Z     },
2026-06-04T17:03:15.0595668Z     {
2026-06-04T17:03:15.0595867Z       "id": "REQ-INSTALL-4",
2026-06-04T17:03:15.0597257Z       "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:03:15.0597454Z       "requiredStages": [
2026-06-04T17:03:15.0597630Z         "impl",
2026-06-04T17:03:15.0597804Z         "unit"
2026-06-04T17:03:15.0597979Z       ],
2026-06-04T17:03:15.0598438Z       "stages": {
2026-06-04T17:03:15.0598613Z         "doc": {
2026-06-04T17:03:15.0598814Z           "complete": false,
2026-06-04T17:03:15.0598996Z           "evidence": []
2026-06-04T17:03:15.0599238Z         },
2026-06-04T17:03:15.0599412Z         "impl": {
2026-06-04T17:03:15.0599612Z           "complete": true,
2026-06-04T17:03:15.0599800Z           "evidence": [
2026-06-04T17:03:15.0599965Z             {
2026-06-04T17:03:15.0600260Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.0600439Z               "line": 149
2026-06-04T17:03:15.0600611Z             },
2026-06-04T17:03:15.0600774Z             {
2026-06-04T17:03:15.0601043Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0601232Z               "line": 29
2026-06-04T17:03:15.0601396Z             },
2026-06-04T17:03:15.0601568Z             {
2026-06-04T17:03:15.0601827Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0602034Z               "line": 117
2026-06-04T17:03:15.0602208Z             },
2026-06-04T17:03:15.0602378Z             {
2026-06-04T17:03:15.0602644Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0602820Z               "line": 161
2026-06-04T17:03:15.0602995Z             },
2026-06-04T17:03:15.0603157Z             {
2026-06-04T17:03:15.0603503Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0603682Z               "line": 191
2026-06-04T17:03:15.0603857Z             },
2026-06-04T17:03:15.0604033Z             {
2026-06-04T17:03:15.0604290Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0604481Z               "line": 223
2026-06-04T17:03:15.0604649Z             },
2026-06-04T17:03:15.0604824Z             {
2026-06-04T17:03:15.0605044Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0605233Z               "line": 1474
2026-06-04T17:03:15.0605405Z             }
2026-06-04T17:03:15.0605570Z           ]
2026-06-04T17:03:15.0605764Z         },
2026-06-04T17:03:15.0605936Z         "int": {
2026-06-04T17:03:15.0606130Z           "complete": false,
2026-06-04T17:03:15.0606315Z           "evidence": []
2026-06-04T17:03:15.0606488Z         },
2026-06-04T17:03:15.0606668Z         "unit": {
2026-06-04T17:03:15.0606856Z           "complete": true,
2026-06-04T17:03:15.0607044Z           "evidence": [
2026-06-04T17:03:15.0607208Z             {
2026-06-04T17:03:15.0607499Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.0607680Z               "line": 311
2026-06-04T17:03:15.0607855Z             },
2026-06-04T17:03:15.0608026Z             {
2026-06-04T17:03:15.0608282Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0608468Z               "line": 269
2026-06-04T17:03:15.0608630Z             },
2026-06-04T17:03:15.0608803Z             {
2026-06-04T17:03:15.0609060Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0609310Z               "line": 304
2026-06-04T17:03:15.0609626Z             },
2026-06-04T17:03:15.0609804Z             {
2026-06-04T17:03:15.0610072Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-04T17:03:15.0610254Z               "line": 321
2026-06-04T17:03:15.0610430Z             },
2026-06-04T17:03:15.0610594Z             {
2026-06-04T17:03:15.0610826Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0611020Z               "line": 2291
2026-06-04T17:03:15.0611185Z             }
2026-06-04T17:03:15.0611363Z           ]
2026-06-04T17:03:15.0611529Z         }
2026-06-04T17:03:15.0611707Z       }
2026-06-04T17:03:15.0611865Z     },
2026-06-04T17:03:15.0612037Z     {
2026-06-04T17:03:15.0612245Z       "id": "REQ-MANIFEST-1",
2026-06-04T17:03:15.0612641Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T17:03:15.0612845Z       "requiredStages": [
2026-06-04T17:03:15.0613013Z         "doc",
2026-06-04T17:03:15.0613192Z         "impl",
2026-06-04T17:03:15.0613539Z         "unit"
2026-06-04T17:03:15.0613716Z       ],
2026-06-04T17:03:15.0613903Z       "stages": {
2026-06-04T17:03:15.0614071Z         "doc": {
2026-06-04T17:03:15.0614267Z           "complete": true,
2026-06-04T17:03:15.0614446Z           "evidence": [
2026-06-04T17:03:15.0614623Z             {
2026-06-04T17:03:15.0614831Z               "path": "docs/MANIFEST.md",
2026-06-04T17:03:15.0615017Z               "line": 19
2026-06-04T17:03:15.0615192Z             }
2026-06-04T17:03:15.0615357Z           ]
2026-06-04T17:03:15.0615530Z         },
2026-06-04T17:03:15.0615701Z         "impl": {
2026-06-04T17:03:15.0615895Z           "complete": true,
2026-06-04T17:03:15.0616081Z           "evidence": [
2026-06-04T17:03:15.0616257Z             {
2026-06-04T17:03:15.0616525Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0616705Z               "line": 18
2026-06-04T17:03:15.0616877Z             }
2026-06-04T17:03:15.0617043Z           ]
2026-06-04T17:03:15.0617234Z         },
2026-06-04T17:03:15.0617414Z         "int": {
2026-06-04T17:03:15.0617622Z           "complete": false,
2026-06-04T17:03:15.0617815Z           "evidence": []
2026-06-04T17:03:15.0617976Z         },
2026-06-04T17:03:15.0618159Z         "unit": {
2026-06-04T17:03:15.0618349Z           "complete": true,
2026-06-04T17:03:15.0618541Z           "evidence": [
2026-06-04T17:03:15.0618708Z             {
2026-06-04T17:03:15.0618972Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0619207Z               "line": 706
2026-06-04T17:03:15.0619374Z             },
2026-06-04T17:03:15.0619546Z             {
2026-06-04T17:03:15.0619801Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0619994Z               "line": 802
2026-06-04T17:03:15.0620161Z             },
2026-06-04T17:03:15.0620338Z             {
2026-06-04T17:03:15.0620635Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0620818Z               "line": 814
2026-06-04T17:03:15.0621021Z             },
2026-06-04T17:03:15.0621189Z             {
2026-06-04T17:03:15.0621459Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0621651Z               "line": 822
2026-06-04T17:03:15.0621815Z             },
2026-06-04T17:03:15.0621989Z             {
2026-06-04T17:03:15.0622252Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0622444Z               "line": 839
2026-06-04T17:03:15.0622611Z             },
2026-06-04T17:03:15.0622783Z             {
2026-06-04T17:03:15.0623051Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0623240Z               "line": 853
2026-06-04T17:03:15.0623412Z             },
2026-06-04T17:03:15.0623575Z             {
2026-06-04T17:03:15.0623840Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0624019Z               "line": 868
2026-06-04T17:03:15.0624194Z             },
2026-06-04T17:03:15.0624367Z             {
2026-06-04T17:03:15.0624786Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0624992Z               "line": 883
2026-06-04T17:03:15.0625159Z             },
2026-06-04T17:03:15.0625332Z             {
2026-06-04T17:03:15.0625591Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0625789Z               "line": 898
2026-06-04T17:03:15.0625962Z             },
2026-06-04T17:03:15.0626124Z             {
2026-06-04T17:03:15.0626389Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0626569Z               "line": 909
2026-06-04T17:03:15.0626748Z             }
2026-06-04T17:03:15.0626912Z           ]
2026-06-04T17:03:15.0627082Z         }
2026-06-04T17:03:15.0627264Z       }
2026-06-04T17:03:15.0627425Z     },
2026-06-04T17:03:15.0632692Z     {
2026-06-04T17:03:15.0632986Z       "id": "REQ-MIGRATE-1",
2026-06-04T17:03:15.0633367Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T17:03:15.0633574Z       "requiredStages": [],
2026-06-04T17:03:15.0634056Z       "stages": {
2026-06-04T17:03:15.0634239Z         "doc": {
2026-06-04T17:03:15.0634431Z           "complete": false,
2026-06-04T17:03:15.0634624Z           "evidence": []
2026-06-04T17:03:15.0634789Z         },
2026-06-04T17:03:15.0634973Z         "impl": {
2026-06-04T17:03:15.0635161Z           "complete": false,
2026-06-04T17:03:15.0635355Z           "evidence": []
2026-06-04T17:03:15.0635527Z         },
2026-06-04T17:03:15.0635700Z         "int": {
2026-06-04T17:03:15.0635899Z           "complete": false,
2026-06-04T17:03:15.0636080Z           "evidence": []
2026-06-04T17:03:15.0636250Z         },
2026-06-04T17:03:15.0636421Z         "unit": {
2026-06-04T17:03:15.0636621Z           "complete": false,
2026-06-04T17:03:15.0636811Z           "evidence": []
2026-06-04T17:03:15.0636971Z         }
2026-06-04T17:03:15.0637139Z       }
2026-06-04T17:03:15.0637297Z     },
2026-06-04T17:03:15.0637465Z     {
2026-06-04T17:03:15.0637646Z       "id": "REQ-MSG-1",
2026-06-04T17:03:15.0638626Z       "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:03:15.0638832Z       "requiredStages": [
2026-06-04T17:03:15.0639000Z         "impl",
2026-06-04T17:03:15.0639235Z         "unit",
2026-06-04T17:03:15.0639405Z         "int"
2026-06-04T17:03:15.0639576Z       ],
2026-06-04T17:03:15.0639747Z       "stages": {
2026-06-04T17:03:15.0639924Z         "doc": {
2026-06-04T17:03:15.0640119Z           "complete": false,
2026-06-04T17:03:15.0640300Z           "evidence": []
2026-06-04T17:03:15.0640468Z         },
2026-06-04T17:03:15.0640637Z         "impl": {
2026-06-04T17:03:15.0640831Z           "complete": true,
2026-06-04T17:03:15.0641011Z           "evidence": [
2026-06-04T17:03:15.0641186Z             {
2026-06-04T17:03:15.0641435Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0641613Z               "line": 28
2026-06-04T17:03:15.0641804Z             },
2026-06-04T17:03:15.0641980Z             {
2026-06-04T17:03:15.0642237Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0642415Z               "line": 94
2026-06-04T17:03:15.0642592Z             },
2026-06-04T17:03:15.0642764Z             {
2026-06-04T17:03:15.0643001Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0643188Z               "line": 127
2026-06-04T17:03:15.0643349Z             },
2026-06-04T17:03:15.0643524Z             {
2026-06-04T17:03:15.0643764Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0643954Z               "line": 149
2026-06-04T17:03:15.0644128Z             },
2026-06-04T17:03:15.0644290Z             {
2026-06-04T17:03:15.0644542Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0644726Z               "line": 174
2026-06-04T17:03:15.0644901Z             },
2026-06-04T17:03:15.0645063Z             {
2026-06-04T17:03:15.0645473Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:03:15.0645684Z               "line": 18
2026-06-04T17:03:15.0645851Z             },
2026-06-04T17:03:15.0646031Z             {
2026-06-04T17:03:15.0646257Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:15.0646444Z               "line": 13
2026-06-04T17:03:15.0646620Z             },
2026-06-04T17:03:15.0646784Z             {
2026-06-04T17:03:15.0647019Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:15.0647195Z               "line": 61
2026-06-04T17:03:15.0647372Z             },
2026-06-04T17:03:15.0647532Z             {
2026-06-04T17:03:15.0647767Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:03:15.0647954Z               "line": 10
2026-06-04T17:03:15.0648116Z             }
2026-06-04T17:03:15.0648291Z           ]
2026-06-04T17:03:15.0648454Z         },
2026-06-04T17:03:15.0648634Z         "int": {
2026-06-04T17:03:15.0648820Z           "complete": true,
2026-06-04T17:03:15.0649142Z           "evidence": [
2026-06-04T17:03:15.0649374Z             {
2026-06-04T17:03:15.0649674Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:03:15.0649861Z               "line": 9
2026-06-04T17:03:15.0650031Z             },
2026-06-04T17:03:15.0650203Z             {
2026-06-04T17:03:15.0650485Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:03:15.0650677Z               "line": 66
2026-06-04T17:03:15.0650854Z             },
2026-06-04T17:03:15.0651021Z             {
2026-06-04T17:03:15.0651313Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:03:15.0651495Z               "line": 116
2026-06-04T17:03:15.0651668Z             }
2026-06-04T17:03:15.0651832Z           ]
2026-06-04T17:03:15.0652002Z         },
2026-06-04T17:03:15.0652181Z         "unit": {
2026-06-04T17:03:15.0652369Z           "complete": true,
2026-06-04T17:03:15.0652555Z           "evidence": [
2026-06-04T17:03:15.0652719Z             {
2026-06-04T17:03:15.0652989Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0653174Z               "line": 203
2026-06-04T17:03:15.0653350Z             },
2026-06-04T17:03:15.0653526Z             {
2026-06-04T17:03:15.0653763Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0653951Z               "line": 232
2026-06-04T17:03:15.0654122Z             },
2026-06-04T17:03:15.0654298Z             {
2026-06-04T17:03:15.0654534Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0654733Z               "line": 277
2026-06-04T17:03:15.0654905Z             },
2026-06-04T17:03:15.0655065Z             {
2026-06-04T17:03:15.0655312Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0655492Z               "line": 300
2026-06-04T17:03:15.0655667Z             },
2026-06-04T17:03:15.0655834Z             {
2026-06-04T17:03:15.0656084Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T17:03:15.0656273Z               "line": 322
2026-06-04T17:03:15.0656461Z             },
2026-06-04T17:03:15.0656633Z             {
2026-06-04T17:03:15.0656878Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:03:15.0657066Z               "line": 203
2026-06-04T17:03:15.0657232Z             },
2026-06-04T17:03:15.0657404Z             {
2026-06-04T17:03:15.0657655Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:03:15.0657833Z               "line": 233
2026-06-04T17:03:15.0658006Z             },
2026-06-04T17:03:15.0658173Z             {
2026-06-04T17:03:15.0658426Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:03:15.0658605Z               "line": 247
2026-06-04T17:03:15.0658779Z             },
2026-06-04T17:03:15.0658955Z             {
2026-06-04T17:03:15.0659234Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:03:15.0659434Z               "line": 259
2026-06-04T17:03:15.0659600Z             },
2026-06-04T17:03:15.0659774Z             {
2026-06-04T17:03:15.0660177Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:15.0660374Z               "line": 158
2026-06-04T17:03:15.0660553Z             },
2026-06-04T17:03:15.0660721Z             {
2026-06-04T17:03:15.0660953Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T17:03:15.0661130Z               "line": 235
2026-06-04T17:03:15.0661308Z             },
2026-06-04T17:03:15.0661479Z             {
2026-06-04T17:03:15.0661704Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:03:15.0661892Z               "line": 68
2026-06-04T17:03:15.0662059Z             },
2026-06-04T17:03:15.0662228Z             {
2026-06-04T17:03:15.0662456Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:03:15.0662646Z               "line": 74
2026-06-04T17:03:15.0662821Z             },
2026-06-04T17:03:15.0662985Z             {
2026-06-04T17:03:15.0663219Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:03:15.0663396Z               "line": 80
2026-06-04T17:03:15.0663712Z             },
2026-06-04T17:03:15.0663889Z             {
2026-06-04T17:03:15.0664128Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T17:03:15.0664318Z               "line": 99
2026-06-04T17:03:15.0664482Z             }
2026-06-04T17:03:15.0664654Z           ]
2026-06-04T17:03:15.0664813Z         }
2026-06-04T17:03:15.0664979Z       }
2026-06-04T17:03:15.0665140Z     },
2026-06-04T17:03:15.0665313Z     {
2026-06-04T17:03:15.0670531Z       "id": "REQ-MSG-2",
2026-06-04T17:03:15.0671193Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T17:03:15.0671402Z       "requiredStages": [
2026-06-04T17:03:15.0671576Z         "impl",
2026-06-04T17:03:15.0671753Z         "unit"
2026-06-04T17:03:15.0671916Z       ],
2026-06-04T17:03:15.0672094Z       "stages": {
2026-06-04T17:03:15.0672274Z         "doc": {
2026-06-04T17:03:15.0672464Z           "complete": false,
2026-06-04T17:03:15.0672654Z           "evidence": []
2026-06-04T17:03:15.0672852Z         },
2026-06-04T17:03:15.0673046Z         "impl": {
2026-06-04T17:03:15.0673234Z           "complete": true,
2026-06-04T17:03:15.0673418Z           "evidence": [
2026-06-04T17:03:15.0673594Z             {
2026-06-04T17:03:15.0673816Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0673996Z               "line": 11
2026-06-04T17:03:15.0674159Z             },
2026-06-04T17:03:15.0674330Z             {
2026-06-04T17:03:15.0674548Z               "path": "crates/spt/src/main.rs",
2026-06-04T17:03:15.0674732Z               "line": 8
2026-06-04T17:03:15.0674906Z             }
2026-06-04T17:03:15.0675069Z           ]
2026-06-04T17:03:15.0675238Z         },
2026-06-04T17:03:15.0675400Z         "int": {
2026-06-04T17:03:15.0675592Z           "complete": false,
2026-06-04T17:03:15.0675771Z           "evidence": []
2026-06-04T17:03:15.0675945Z         },
2026-06-04T17:03:15.0676127Z         "unit": {
2026-06-04T17:03:15.0676331Z           "complete": true,
2026-06-04T17:03:15.0676566Z           "evidence": [
2026-06-04T17:03:15.0676748Z             {
2026-06-04T17:03:15.0676978Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0677160Z               "line": 2129
2026-06-04T17:03:15.0677333Z             },
2026-06-04T17:03:15.0677503Z             {
2026-06-04T17:03:15.0677865Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0678078Z               "line": 2661
2026-06-04T17:03:15.0678254Z             },
2026-06-04T17:03:15.0678433Z             {
2026-06-04T17:03:15.0678660Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0678861Z               "line": 2670
2026-06-04T17:03:15.0679040Z             },
2026-06-04T17:03:15.0679269Z             {
2026-06-04T17:03:15.0679529Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0679720Z               "line": 2682
2026-06-04T17:03:15.0679896Z             }
2026-06-04T17:03:15.0680066Z           ]
2026-06-04T17:03:15.0680243Z         }
2026-06-04T17:03:15.0680418Z       }
2026-06-04T17:03:15.0680604Z     },
2026-06-04T17:03:15.0681115Z     {
2026-06-04T17:03:15.0681345Z       "id": "REQ-MSG-3",
2026-06-04T17:03:15.0682202Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T17:03:15.0682406Z       "requiredStages": [
2026-06-04T17:03:15.0682589Z         "impl",
2026-06-04T17:03:15.0682772Z         "unit",
2026-06-04T17:03:15.0682945Z         "int"
2026-06-04T17:03:15.0683125Z       ],
2026-06-04T17:03:15.0683301Z       "stages": {
2026-06-04T17:03:15.0683482Z         "doc": {
2026-06-04T17:03:15.0683674Z           "complete": false,
2026-06-04T17:03:15.0683879Z           "evidence": []
2026-06-04T17:03:15.0684059Z         },
2026-06-04T17:03:15.0684234Z         "impl": {
2026-06-04T17:03:15.0684439Z           "complete": true,
2026-06-04T17:03:15.0684622Z           "evidence": [
2026-06-04T17:03:15.0684806Z             {
2026-06-04T17:03:15.0685062Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T17:03:15.0685410Z               "line": 19
2026-06-04T17:03:15.0685597Z             },
2026-06-04T17:03:15.0685768Z             {
2026-06-04T17:03:15.0686024Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0686207Z               "line": 21
2026-06-04T17:03:15.0686384Z             },
2026-06-04T17:03:15.0686553Z             {
2026-06-04T17:03:15.0686806Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0687003Z               "line": 48
2026-06-04T17:03:15.0687190Z             },
2026-06-04T17:03:15.0687397Z             {
2026-06-04T17:03:15.0687686Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0687925Z               "line": 131
2026-06-04T17:03:15.0688110Z             }
2026-06-04T17:03:15.0688310Z           ]
2026-06-04T17:03:15.0688504Z         },
2026-06-04T17:03:15.0688692Z         "int": {
2026-06-04T17:03:15.0688919Z           "complete": true,
2026-06-04T17:03:15.0689210Z           "evidence": [
2026-06-04T17:03:15.0689458Z             {
2026-06-04T17:03:15.0689787Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:03:15.0690003Z               "line": 10
2026-06-04T17:03:15.0690200Z             },
2026-06-04T17:03:15.0690384Z             {
2026-06-04T17:03:15.0690717Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T17:03:15.0690913Z               "line": 66
2026-06-04T17:03:15.0691092Z             }
2026-06-04T17:03:15.0691261Z           ]
2026-06-04T17:03:15.0691444Z         },
2026-06-04T17:03:15.0691630Z         "unit": {
2026-06-04T17:03:15.0691826Z           "complete": true,
2026-06-04T17:03:15.0692022Z           "evidence": [
2026-06-04T17:03:15.0692192Z             {
2026-06-04T17:03:15.0692451Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0692644Z               "line": 185
2026-06-04T17:03:15.0692829Z             },
2026-06-04T17:03:15.0693014Z             {
2026-06-04T17:03:15.0693290Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0693488Z               "line": 204
2026-06-04T17:03:15.0693663Z             },
2026-06-04T17:03:15.0693847Z             {
2026-06-04T17:03:15.0694089Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T17:03:15.0694293Z               "line": 223
2026-06-04T17:03:15.0694480Z             }
2026-06-04T17:03:15.0694653Z           ]
2026-06-04T17:03:15.0694836Z         }
2026-06-04T17:03:15.0695005Z       }
2026-06-04T17:03:15.0695183Z     },
2026-06-04T17:03:15.0695350Z     {
2026-06-04T17:03:15.0695547Z       "id": "REQ-NET-1",
2026-06-04T17:03:15.0695959Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T17:03:15.0696161Z       "requiredStages": [
2026-06-04T17:03:15.0696348Z         "impl",
2026-06-04T17:03:15.0696524Z         "unit",
2026-06-04T17:03:15.0696704Z         "int"
2026-06-04T17:03:15.0696885Z       ],
2026-06-04T17:03:15.0697086Z       "stages": {
2026-06-04T17:03:15.0697310Z         "doc": {
2026-06-04T17:03:15.0697718Z           "complete": false,
2026-06-04T17:03:15.0698105Z           "evidence": []
2026-06-04T17:03:15.0698275Z         },
2026-06-04T17:03:15.0698456Z         "impl": {
2026-06-04T17:03:15.0698646Z           "complete": true,
2026-06-04T17:03:15.0698836Z           "evidence": [
2026-06-04T17:03:15.0699014Z             {
2026-06-04T17:03:15.0699344Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0699544Z               "line": 52
2026-06-04T17:03:15.0699711Z             },
2026-06-04T17:03:15.0699884Z             {
2026-06-04T17:03:15.0700145Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0700342Z               "line": 448
2026-06-04T17:03:15.0700518Z             },
2026-06-04T17:03:15.0700681Z             {
2026-06-04T17:03:15.0700929Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T17:03:15.0701109Z               "line": 69
2026-06-04T17:03:15.0701286Z             },
2026-06-04T17:03:15.0701592Z             {
2026-06-04T17:03:15.0701881Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0702078Z               "line": 65
2026-06-04T17:03:15.0702246Z             },
2026-06-04T17:03:15.0702424Z             {
2026-06-04T17:03:15.0702680Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0702868Z               "line": 127
2026-06-04T17:03:15.0703044Z             },
2026-06-04T17:03:15.0703211Z             {
2026-06-04T17:03:15.0703476Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0703656Z               "line": 143
2026-06-04T17:03:15.0703839Z             },
2026-06-04T17:03:15.0704003Z             {
2026-06-04T17:03:15.0704270Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0704465Z               "line": 158
2026-06-04T17:03:15.0704633Z             },
2026-06-04T17:03:15.0704811Z             {
2026-06-04T17:03:15.0712254Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0712873Z               "line": 220
2026-06-04T17:03:15.0713202Z             },
2026-06-04T17:03:15.0713406Z             {
2026-06-04T17:03:15.0713725Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0713924Z               "line": 255
2026-06-04T17:03:15.0714121Z             },
2026-06-04T17:03:15.0714443Z             {
2026-06-04T17:03:15.0714886Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0715098Z               "line": 261
2026-06-04T17:03:15.0715312Z             },
2026-06-04T17:03:15.0715521Z             {
2026-06-04T17:03:15.0715814Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0716051Z               "line": 267
2026-06-04T17:03:15.0716254Z             },
2026-06-04T17:03:15.0716471Z             {
2026-06-04T17:03:15.0716784Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0717026Z               "line": 283
2026-06-04T17:03:15.0717279Z             },
2026-06-04T17:03:15.0717535Z             {
2026-06-04T17:03:15.0717850Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0718093Z               "line": 303
2026-06-04T17:03:15.0718303Z             },
2026-06-04T17:03:15.0718550Z             {
2026-06-04T17:03:15.0718923Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:03:15.0719261Z               "line": 35
2026-06-04T17:03:15.0719499Z             },
2026-06-04T17:03:15.0719712Z             {
2026-06-04T17:03:15.0720065Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:03:15.0720304Z               "line": 82
2026-06-04T17:03:15.0720524Z             },
2026-06-04T17:03:15.0720729Z             {
2026-06-04T17:03:15.0721010Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0721240Z               "line": 129
2026-06-04T17:03:15.0721442Z             },
2026-06-04T17:03:15.0721657Z             {
2026-06-04T17:03:15.0721909Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0722621Z               "line": 1050
2026-06-04T17:03:15.0722903Z             },
2026-06-04T17:03:15.0723099Z             {
2026-06-04T17:03:15.0723374Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:03:15.0723581Z               "line": 17
2026-06-04T17:03:15.0723781Z             }
2026-06-04T17:03:15.0723980Z           ]
2026-06-04T17:03:15.0724170Z         },
2026-06-04T17:03:15.0724381Z         "int": {
2026-06-04T17:03:15.0724602Z           "complete": true,
2026-06-04T17:03:15.0724926Z           "evidence": [
2026-06-04T17:03:15.0725118Z             {
2026-06-04T17:03:15.0725447Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.0725671Z               "line": 314
2026-06-04T17:03:15.0725861Z             },
2026-06-04T17:03:15.0726055Z             {
2026-06-04T17:03:15.0726346Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0726552Z               "line": 488
2026-06-04T17:03:15.0726986Z             },
2026-06-04T17:03:15.0727199Z             {
2026-06-04T17:03:15.0727492Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0727689Z               "line": 645
2026-06-04T17:03:15.0727874Z             }
2026-06-04T17:03:15.0728047Z           ]
2026-06-04T17:03:15.0728236Z         },
2026-06-04T17:03:15.0728416Z         "unit": {
2026-06-04T17:03:15.0728642Z           "complete": true,
2026-06-04T17:03:15.0728846Z           "evidence": [
2026-06-04T17:03:15.0729020Z             {
2026-06-04T17:03:15.0729377Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0729581Z               "line": 500
2026-06-04T17:03:15.0729766Z             },
2026-06-04T17:03:15.0729948Z             {
2026-06-04T17:03:15.0730237Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0730447Z               "line": 529
2026-06-04T17:03:15.0730622Z             },
2026-06-04T17:03:15.0730804Z             {
2026-06-04T17:03:15.0731117Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.0731326Z               "line": 517
2026-06-04T17:03:15.0731510Z             },
2026-06-04T17:03:15.0731697Z             {
2026-06-04T17:03:15.0731988Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T17:03:15.0732185Z               "line": 142
2026-06-04T17:03:15.0732375Z             },
2026-06-04T17:03:15.0732557Z             {
2026-06-04T17:03:15.0732864Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0733092Z               "line": 357
2026-06-04T17:03:15.0733303Z             },
2026-06-04T17:03:15.0733501Z             {
2026-06-04T17:03:15.0733792Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0734013Z               "line": 371
2026-06-04T17:03:15.0734206Z             },
2026-06-04T17:03:15.0734408Z             {
2026-06-04T17:03:15.0734713Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0734929Z               "line": 390
2026-06-04T17:03:15.0735187Z             },
2026-06-04T17:03:15.0735379Z             {
2026-06-04T17:03:15.0735675Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:03:15.0735881Z               "line": 106
2026-06-04T17:03:15.0736105Z             },
2026-06-04T17:03:15.0736326Z             {
2026-06-04T17:03:15.0736650Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T17:03:15.0736895Z               "line": 148
2026-06-04T17:03:15.0737102Z             },
2026-06-04T17:03:15.0737316Z             {
2026-06-04T17:03:15.0737621Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T17:03:15.0737865Z               "line": 445
2026-06-04T17:03:15.0738102Z             },
2026-06-04T17:03:15.0738337Z             {
2026-06-04T17:03:15.0738654Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:03:15.0738903Z               "line": 218
2026-06-04T17:03:15.0739149Z             },
2026-06-04T17:03:15.0739438Z             {
2026-06-04T17:03:15.0740044Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T17:03:15.0740326Z               "line": 306
2026-06-04T17:03:15.0740528Z             }
2026-06-04T17:03:15.0741003Z           ]
2026-06-04T17:03:15.0741186Z         }
2026-06-04T17:03:15.0741394Z       }
2026-06-04T17:03:15.0741596Z     },
2026-06-04T17:03:15.0741799Z     {
2026-06-04T17:03:15.0742026Z       "id": "REQ-NET-2",
2026-06-04T17:03:15.0742443Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T17:03:15.0742676Z       "requiredStages": [
2026-06-04T17:03:15.0742868Z         "impl"
2026-06-04T17:03:15.0743052Z       ],
2026-06-04T17:03:15.0743233Z       "stages": {
2026-06-04T17:03:15.0743417Z         "doc": {
2026-06-04T17:03:15.0743628Z           "complete": false,
2026-06-04T17:03:15.0743814Z           "evidence": []
2026-06-04T17:03:15.0744001Z         },
2026-06-04T17:03:15.0744183Z         "impl": {
2026-06-04T17:03:15.0744391Z           "complete": true,
2026-06-04T17:03:15.0744791Z           "evidence": [
2026-06-04T17:03:15.0744996Z             {
2026-06-04T17:03:15.0745273Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:15.0745459Z               "line": 49
2026-06-04T17:03:15.0745644Z             },
2026-06-04T17:03:15.0745821Z             {
2026-06-04T17:03:15.0746100Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0746288Z               "line": 39
2026-06-04T17:03:15.0746471Z             },
2026-06-04T17:03:15.0746652Z             {
2026-06-04T17:03:15.0746917Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0747115Z               "line": 49
2026-06-04T17:03:15.0747287Z             },
2026-06-04T17:03:15.0747479Z             {
2026-06-04T17:03:15.0756056Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0756390Z               "line": 127
2026-06-04T17:03:15.0756566Z             },
2026-06-04T17:03:15.0756743Z             {
2026-06-04T17:03:15.0757072Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0757266Z               "line": 143
2026-06-04T17:03:15.0757433Z             },
2026-06-04T17:03:15.0757611Z             {
2026-06-04T17:03:15.0757884Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T17:03:15.0758062Z               "line": 158
2026-06-04T17:03:15.0758237Z             }
2026-06-04T17:03:15.0758400Z           ]
2026-06-04T17:03:15.0758572Z         },
2026-06-04T17:03:15.0758743Z         "int": {
2026-06-04T17:03:15.0758942Z           "complete": false,
2026-06-04T17:03:15.0759134Z           "evidence": []
2026-06-04T17:03:15.0759664Z         },
2026-06-04T17:03:15.0759854Z         "unit": {
2026-06-04T17:03:15.0760043Z           "complete": true,
2026-06-04T17:03:15.0760235Z           "evidence": [
2026-06-04T17:03:15.0760400Z             {
2026-06-04T17:03:15.0760666Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:15.0760856Z               "line": 334
2026-06-04T17:03:15.0761037Z             }
2026-06-04T17:03:15.0761217Z           ]
2026-06-04T17:03:15.0761380Z         }
2026-06-04T17:03:15.0761556Z       }
2026-06-04T17:03:15.0761715Z     },
2026-06-04T17:03:15.0761888Z     {
2026-06-04T17:03:15.0762083Z       "id": "REQ-NET-3",
2026-06-04T17:03:15.0762462Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T17:03:15.0762667Z       "requiredStages": [
2026-06-04T17:03:15.0762839Z         "impl",
2026-06-04T17:03:15.0763020Z         "unit"
2026-06-04T17:03:15.0763184Z       ],
2026-06-04T17:03:15.0763371Z       "stages": {
2026-06-04T17:03:15.0763548Z         "doc": {
2026-06-04T17:03:15.0763733Z           "complete": false,
2026-06-04T17:03:15.0763927Z           "evidence": []
2026-06-04T17:03:15.0764093Z         },
2026-06-04T17:03:15.0764274Z         "impl": {
2026-06-04T17:03:15.0764463Z           "complete": true,
2026-06-04T17:03:15.0764655Z           "evidence": [
2026-06-04T17:03:15.0764828Z             {
2026-06-04T17:03:15.0765442Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0765662Z               "line": 39
2026-06-04T17:03:15.0765831Z             },
2026-06-04T17:03:15.0766009Z             {
2026-06-04T17:03:15.0766252Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0766447Z               "line": 159
2026-06-04T17:03:15.0766623Z             },
2026-06-04T17:03:15.0766792Z             {
2026-06-04T17:03:15.0767048Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T17:03:15.0767232Z               "line": 290
2026-06-04T17:03:15.0767407Z             },
2026-06-04T17:03:15.0767572Z             {
2026-06-04T17:03:15.0767831Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:03:15.0768019Z               "line": 36
2026-06-04T17:03:15.0768183Z             },
2026-06-04T17:03:15.0768357Z             {
2026-06-04T17:03:15.0768629Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0768823Z               "line": 135
2026-06-04T17:03:15.0769145Z             },
2026-06-04T17:03:15.0769384Z             {
2026-06-04T17:03:15.0769674Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0769857Z               "line": 172
2026-06-04T17:03:15.0770033Z             },
2026-06-04T17:03:15.0770197Z             {
2026-06-04T17:03:15.0770472Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0770654Z               "line": 184
2026-06-04T17:03:15.0770829Z             },
2026-06-04T17:03:15.0771002Z             {
2026-06-04T17:03:15.0771267Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0771458Z               "line": 222
2026-06-04T17:03:15.0771626Z             },
2026-06-04T17:03:15.0771800Z             {
2026-06-04T17:03:15.0772062Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0772258Z               "line": 237
2026-06-04T17:03:15.0772433Z             },
2026-06-04T17:03:15.0772599Z             {
2026-06-04T17:03:15.0772893Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0773081Z               "line": 273
2026-06-04T17:03:15.0773262Z             },
2026-06-04T17:03:15.0773430Z             {
2026-06-04T17:03:15.0773706Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0773897Z               "line": 314
2026-06-04T17:03:15.0774063Z             },
2026-06-04T17:03:15.0774235Z             {
2026-06-04T17:03:15.0774502Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.0774695Z               "line": 327
2026-06-04T17:03:15.0774870Z             },
2026-06-04T17:03:15.0775037Z             {
2026-06-04T17:03:15.0775301Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:15.0775480Z               "line": 29
2026-06-04T17:03:15.0775653Z             },
2026-06-04T17:03:15.0775827Z             {
2026-06-04T17:03:15.0776090Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:15.0776293Z               "line": 70
2026-06-04T17:03:15.0776468Z             },
2026-06-04T17:03:15.0776643Z             {
2026-06-04T17:03:15.0776900Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:15.0777095Z               "line": 121
2026-06-04T17:03:15.0777261Z             }
2026-06-04T17:03:15.0777434Z           ]
2026-06-04T17:03:15.0777606Z         },
2026-06-04T17:03:15.0777775Z         "int": {
2026-06-04T17:03:15.0777972Z           "complete": false,
2026-06-04T17:03:15.0778155Z           "evidence": []
2026-06-04T17:03:15.0778336Z         },
2026-06-04T17:03:15.0778506Z         "unit": {
2026-06-04T17:03:15.0778703Z           "complete": true,
2026-06-04T17:03:15.0778889Z           "evidence": [
2026-06-04T17:03:15.0779055Z             {
2026-06-04T17:03:15.0779364Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:03:15.0779549Z               "line": 203
2026-06-04T17:03:15.0779724Z             },
2026-06-04T17:03:15.0779884Z             {
2026-06-04T17:03:15.0780289Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:03:15.0780494Z               "line": 303
2026-06-04T17:03:15.0780662Z             },
2026-06-04T17:03:15.0780836Z             {
2026-06-04T17:03:15.0781085Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T17:03:15.0781280Z               "line": 399
2026-06-04T17:03:15.0781446Z             },
2026-06-04T17:03:15.0781622Z             {
2026-06-04T17:03:15.0781875Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:03:15.0782059Z               "line": 93
2026-06-04T17:03:15.0782240Z             },
2026-06-04T17:03:15.0782403Z             {
2026-06-04T17:03:15.0782657Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T17:03:15.0782842Z               "line": 131
2026-06-04T17:03:15.0783021Z             },
2026-06-04T17:03:15.0783196Z             {
2026-06-04T17:03:15.0783454Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:15.0783647Z               "line": 308
2026-06-04T17:03:15.0783958Z             },
2026-06-04T17:03:15.0784132Z             {
2026-06-04T17:03:15.0784383Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:15.0784573Z               "line": 345
2026-06-04T17:03:15.0784747Z             },
2026-06-04T17:03:15.0784914Z             {
2026-06-04T17:03:15.0785176Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T17:03:15.0785361Z               "line": 469
2026-06-04T17:03:15.0785539Z             }
2026-06-04T17:03:15.0785701Z           ]
2026-06-04T17:03:15.0785873Z         }
2026-06-04T17:03:15.0786041Z       }
2026-06-04T17:03:15.0786205Z     },
2026-06-04T17:03:15.0786373Z     {
2026-06-04T17:03:15.0786576Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T17:03:15.0787085Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T17:03:15.0787281Z       "requiredStages": [
2026-06-04T17:03:15.0787462Z         "impl",
2026-06-04T17:03:15.0787656Z         "unit"
2026-06-04T17:03:15.0787832Z       ],
2026-06-04T17:03:15.0788021Z       "stages": {
2026-06-04T17:03:15.0788188Z         "doc": {
2026-06-04T17:03:15.0788385Z           "complete": false,
2026-06-04T17:03:15.0788570Z           "evidence": []
2026-06-04T17:03:15.0788745Z         },
2026-06-04T17:03:15.0788924Z         "impl": {
2026-06-04T17:03:15.0789119Z           "complete": true,
2026-06-04T17:03:15.0795957Z           "evidence": [
2026-06-04T17:03:15.0796250Z             {
2026-06-04T17:03:15.0796554Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0796748Z               "line": 60
2026-06-04T17:03:15.0796934Z             },
2026-06-04T17:03:15.0797109Z             {
2026-06-04T17:03:15.0797380Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0797577Z               "line": 68
2026-06-04T17:03:15.0797746Z             },
2026-06-04T17:03:15.0797926Z             {
2026-06-04T17:03:15.0798202Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0798448Z               "line": 86
2026-06-04T17:03:15.0798630Z             },
2026-06-04T17:03:15.0798799Z             {
2026-06-04T17:03:15.0799069Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0799352Z               "line": 120
2026-06-04T17:03:15.0799538Z             },
2026-06-04T17:03:15.0799711Z             {
2026-06-04T17:03:15.0799963Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0800158Z               "line": 127
2026-06-04T17:03:15.0800326Z             },
2026-06-04T17:03:15.0800500Z             {
2026-06-04T17:03:15.0800752Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0800942Z               "line": 143
2026-06-04T17:03:15.0801121Z             },
2026-06-04T17:03:15.0801283Z             {
2026-06-04T17:03:15.0801538Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:03:15.0801720Z               "line": 16
2026-06-04T17:03:15.0801895Z             }
2026-06-04T17:03:15.0802072Z           ]
2026-06-04T17:03:15.0802487Z         },
2026-06-04T17:03:15.0802683Z         "int": {
2026-06-04T17:03:15.0802877Z           "complete": false,
2026-06-04T17:03:15.0803069Z           "evidence": []
2026-06-04T17:03:15.0803235Z         },
2026-06-04T17:03:15.0803415Z         "unit": {
2026-06-04T17:03:15.0803606Z           "complete": true,
2026-06-04T17:03:15.0803795Z           "evidence": [
2026-06-04T17:03:15.0803974Z             {
2026-06-04T17:03:15.0804230Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0804420Z               "line": 199
2026-06-04T17:03:15.0804587Z             },
2026-06-04T17:03:15.0804761Z             {
2026-06-04T17:03:15.0805018Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0805213Z               "line": 218
2026-06-04T17:03:15.0805392Z             },
2026-06-04T17:03:15.0805558Z             {
2026-06-04T17:03:15.0805822Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0806153Z               "line": 232
2026-06-04T17:03:15.0806337Z             },
2026-06-04T17:03:15.0806501Z             {
2026-06-04T17:03:15.0806771Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T17:03:15.0806962Z               "line": 248
2026-06-04T17:03:15.0807131Z             },
2026-06-04T17:03:15.0807304Z             {
2026-06-04T17:03:15.0807549Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:03:15.0807743Z               "line": 125
2026-06-04T17:03:15.0807911Z             },
2026-06-04T17:03:15.0808084Z             {
2026-06-04T17:03:15.0808346Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:03:15.0808536Z               "line": 141
2026-06-04T17:03:15.0808708Z             },
2026-06-04T17:03:15.0808872Z             {
2026-06-04T17:03:15.0809124Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T17:03:15.0809346Z               "line": 153
2026-06-04T17:03:15.0809531Z             }
2026-06-04T17:03:15.0809720Z           ]
2026-06-04T17:03:15.0809888Z         }
2026-06-04T17:03:15.0810060Z       }
2026-06-04T17:03:15.0810221Z     },
2026-06-04T17:03:15.0810392Z     {
2026-06-04T17:03:15.0810581Z       "id": "REQ-NOTIF-1",
2026-06-04T17:03:15.0811365Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T17:03:15.0811570Z       "requiredStages": [
2026-06-04T17:03:15.0811742Z         "impl",
2026-06-04T17:03:15.0811918Z         "unit",
2026-06-04T17:03:15.0812085Z         "int"
2026-06-04T17:03:15.0812258Z       ],
2026-06-04T17:03:15.0812431Z       "stages": {
2026-06-04T17:03:15.0812610Z         "doc": {
2026-06-04T17:03:15.0812808Z           "complete": false,
2026-06-04T17:03:15.0812992Z           "evidence": []
2026-06-04T17:03:15.0813161Z         },
2026-06-04T17:03:15.0813333Z         "impl": {
2026-06-04T17:03:15.0813531Z           "complete": true,
2026-06-04T17:03:15.0813711Z           "evidence": [
2026-06-04T17:03:15.0813904Z             {
2026-06-04T17:03:15.0814183Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T17:03:15.0814365Z               "line": 412
2026-06-04T17:03:15.0814541Z             },
2026-06-04T17:03:15.0814705Z             {
2026-06-04T17:03:15.0814957Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0815146Z               "line": 30
2026-06-04T17:03:15.0815315Z             },
2026-06-04T17:03:15.0815488Z             {
2026-06-04T17:03:15.0815736Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0815929Z               "line": 62
2026-06-04T17:03:15.0816096Z             },
2026-06-04T17:03:15.0816271Z             {
2026-06-04T17:03:15.0816524Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0816707Z               "line": 83
2026-06-04T17:03:15.0816882Z             },
2026-06-04T17:03:15.0817049Z             {
2026-06-04T17:03:15.0817302Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0817628Z               "line": 97
2026-06-04T17:03:15.0817821Z             },
2026-06-04T17:03:15.0817996Z             {
2026-06-04T17:03:15.0818243Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0818436Z               "line": 126
2026-06-04T17:03:15.0818603Z             },
2026-06-04T17:03:15.0818774Z             {
2026-06-04T17:03:15.0819014Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0819251Z               "line": 159
2026-06-04T17:03:15.0819428Z             },
2026-06-04T17:03:15.0819593Z             {
2026-06-04T17:03:15.0819846Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0820025Z               "line": 179
2026-06-04T17:03:15.0820202Z             },
2026-06-04T17:03:15.0820368Z             {
2026-06-04T17:03:15.0820625Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0820818Z               "line": 239
2026-06-04T17:03:15.0820983Z             },
2026-06-04T17:03:15.0821337Z             {
2026-06-04T17:03:15.0821593Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0821793Z               "line": 287
2026-06-04T17:03:15.0821964Z             },
2026-06-04T17:03:15.0822142Z             {
2026-06-04T17:03:15.0822413Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0822593Z               "line": 24
2026-06-04T17:03:15.0822769Z             },
2026-06-04T17:03:15.0822931Z             {
2026-06-04T17:03:15.0823202Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0823385Z               "line": 34
2026-06-04T17:03:15.0823560Z             },
2026-06-04T17:03:15.0823735Z             {
2026-06-04T17:03:15.0823995Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0824181Z               "line": 55
2026-06-04T17:03:15.0824345Z             },
2026-06-04T17:03:15.0824517Z             {
2026-06-04T17:03:15.0824772Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0824983Z               "line": 76
2026-06-04T17:03:15.0825168Z             },
2026-06-04T17:03:15.0825331Z             {
2026-06-04T17:03:15.0825595Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0825774Z               "line": 88
2026-06-04T17:03:15.0825947Z             },
2026-06-04T17:03:15.0826106Z             {
2026-06-04T17:03:15.0826378Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T17:03:15.0826568Z               "line": 41
2026-06-04T17:03:15.0826734Z             },
2026-06-04T17:03:15.0826905Z             {
2026-06-04T17:03:15.0827162Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0827352Z               "line": 94
2026-06-04T17:03:15.0827528Z             },
2026-06-04T17:03:15.0827693Z             {
2026-06-04T17:03:15.0827960Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:03:15.0828149Z               "line": 20
2026-06-04T17:03:15.0828485Z             },
2026-06-04T17:03:15.0828690Z             {
2026-06-04T17:03:15.0829299Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:03:15.0829516Z               "line": 30
2026-06-04T17:03:15.0836980Z             },
2026-06-04T17:03:15.0837487Z             {
2026-06-04T17:03:15.0838029Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:03:15.0838671Z               "line": 50
2026-06-04T17:03:15.0839139Z             },
2026-06-04T17:03:15.0839792Z             {
2026-06-04T17:03:15.0840286Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0840877Z               "line": 28
2026-06-04T17:03:15.0841364Z             },
2026-06-04T17:03:15.0841770Z             {
2026-06-04T17:03:15.0842245Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0842840Z               "line": 126
2026-06-04T17:03:15.0843307Z             },
2026-06-04T17:03:15.0843729Z             {
2026-06-04T17:03:15.0844234Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0845716Z               "line": 161
2026-06-04T17:03:15.0846298Z             },
2026-06-04T17:03:15.0846752Z             {
2026-06-04T17:03:15.0847265Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0847848Z               "line": 197
2026-06-04T17:03:15.0848299Z             },
2026-06-04T17:03:15.0848702Z             {
2026-06-04T17:03:15.0849256Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0850256Z               "line": 208
2026-06-04T17:03:15.0850791Z             },
2026-06-04T17:03:15.0851271Z             {
2026-06-04T17:03:15.0851838Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0852425Z               "line": 231
2026-06-04T17:03:15.0852864Z             },
2026-06-04T17:03:15.0853272Z             {
2026-06-04T17:03:15.0853758Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0854387Z               "line": 251
2026-06-04T17:03:15.0854856Z             },
2026-06-04T17:03:15.0855591Z             {
2026-06-04T17:03:15.0856112Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.0856713Z               "line": 63
2026-06-04T17:03:15.0857154Z             }
2026-06-04T17:03:15.0857549Z           ]
2026-06-04T17:03:15.0857954Z         },
2026-06-04T17:03:15.0858372Z         "int": {
2026-06-04T17:03:15.0858834Z           "complete": true,
2026-06-04T17:03:15.0859556Z           "evidence": [
2026-06-04T17:03:15.0860254Z             {
2026-06-04T17:03:15.0860857Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.0861511Z               "line": 265
2026-06-04T17:03:15.0861970Z             },
2026-06-04T17:03:15.0862369Z             {
2026-06-04T17:03:15.0862869Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T17:03:15.0863484Z               "line": 102
2026-06-04T17:03:15.0863986Z             },
2026-06-04T17:03:15.0864415Z             {
2026-06-04T17:03:15.0864922Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0865564Z               "line": 497
2026-06-04T17:03:15.0866012Z             },
2026-06-04T17:03:15.0866409Z             {
2026-06-04T17:03:15.0866906Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.0867535Z               "line": 745
2026-06-04T17:03:15.0867998Z             }
2026-06-04T17:03:15.0868452Z           ]
2026-06-04T17:03:15.0868878Z         },
2026-06-04T17:03:15.0869398Z         "unit": {
2026-06-04T17:03:15.0869868Z           "complete": true,
2026-06-04T17:03:15.0870481Z           "evidence": [
2026-06-04T17:03:15.0870906Z             {
2026-06-04T17:03:15.0871378Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0871927Z               "line": 362
2026-06-04T17:03:15.0872352Z             },
2026-06-04T17:03:15.0872729Z             {
2026-06-04T17:03:15.0873182Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0873725Z               "line": 400
2026-06-04T17:03:15.0874173Z             },
2026-06-04T17:03:15.0874572Z             {
2026-06-04T17:03:15.0875046Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0875599Z               "line": 427
2026-06-04T17:03:15.0884948Z             },
2026-06-04T17:03:15.0885402Z             {
2026-06-04T17:03:15.0885891Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0886468Z               "line": 448
2026-06-04T17:03:15.0886911Z             },
2026-06-04T17:03:15.0887313Z             {
2026-06-04T17:03:15.0887789Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0888362Z               "line": 501
2026-06-04T17:03:15.0888799Z             },
2026-06-04T17:03:15.0889263Z             {
2026-06-04T17:03:15.0889733Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0890298Z               "line": 540
2026-06-04T17:03:15.0890726Z             },
2026-06-04T17:03:15.0891129Z             {
2026-06-04T17:03:15.0891987Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0892601Z               "line": 632
2026-06-04T17:03:15.0893038Z             },
2026-06-04T17:03:15.0893435Z             {
2026-06-04T17:03:15.0893927Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0894511Z               "line": 133
2026-06-04T17:03:15.0894948Z             },
2026-06-04T17:03:15.0895351Z             {
2026-06-04T17:03:15.0895846Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0896429Z               "line": 208
2026-06-04T17:03:15.0896867Z             },
2026-06-04T17:03:15.0897258Z             {
2026-06-04T17:03:15.0897749Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T17:03:15.0898333Z               "line": 227
2026-06-04T17:03:15.0898766Z             },
2026-06-04T17:03:15.0899209Z             {
2026-06-04T17:03:15.0899701Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0900280Z               "line": 328
2026-06-04T17:03:15.0900888Z             },
2026-06-04T17:03:15.0901300Z             {
2026-06-04T17:03:15.0901789Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T17:03:15.0902368Z               "line": 357
2026-06-04T17:03:15.0902796Z             },
2026-06-04T17:03:15.0903201Z             {
2026-06-04T17:03:15.0903763Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T17:03:15.0904528Z               "line": 112
2026-06-04T17:03:15.0904957Z             },
2026-06-04T17:03:15.0905336Z             {
2026-06-04T17:03:15.0905803Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:03:15.0906362Z               "line": 72
2026-06-04T17:03:15.0906775Z             },
2026-06-04T17:03:15.0907153Z             {
2026-06-04T17:03:15.0907622Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T17:03:15.0908163Z               "line": 94
2026-06-04T17:03:15.0908577Z             },
2026-06-04T17:03:15.0908959Z             {
2026-06-04T17:03:15.0909501Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0910044Z               "line": 365
2026-06-04T17:03:15.0910467Z             },
2026-06-04T17:03:15.0910849Z             {
2026-06-04T17:03:15.0911316Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0911858Z               "line": 396
2026-06-04T17:03:15.0912275Z             },
2026-06-04T17:03:15.0912656Z             {
2026-06-04T17:03:15.0913108Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0913648Z               "line": 410
2026-06-04T17:03:15.0914067Z             },
2026-06-04T17:03:15.0914449Z             {
2026-06-04T17:03:15.0914914Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0915456Z               "line": 441
2026-06-04T17:03:15.0915878Z             },
2026-06-04T17:03:15.0916255Z             {
2026-06-04T17:03:15.0916712Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0917245Z               "line": 458
2026-06-04T17:03:15.0917679Z             },
2026-06-04T17:03:15.0918072Z             {
2026-06-04T17:03:15.0918528Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0919076Z               "line": 483
2026-06-04T17:03:15.0919557Z             },
2026-06-04T17:03:15.0919934Z             {
2026-06-04T17:03:15.0920393Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T17:03:15.0920932Z               "line": 507
2026-06-04T17:03:15.0921356Z             },
2026-06-04T17:03:15.0921740Z             {
2026-06-04T17:03:15.0922210Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.0922773Z               "line": 361
2026-06-04T17:03:15.0923193Z             }
2026-06-04T17:03:15.0923573Z           ]
2026-06-04T17:03:15.0952781Z         }
2026-06-04T17:03:15.0953258Z       }
2026-06-04T17:03:15.0953631Z     },
2026-06-04T17:03:15.0953982Z     {
2026-06-04T17:03:15.0954373Z       "id": "REQ-NOTIF-2",
2026-06-04T17:03:15.0955705Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T17:03:15.0956640Z       "requiredStages": [
2026-06-04T17:03:15.0957084Z         "doc",
2026-06-04T17:03:15.0957471Z         "impl",
2026-06-04T17:03:15.0957860Z         "unit"
2026-06-04T17:03:15.0958237Z       ],
2026-06-04T17:03:15.0958607Z       "stages": {
2026-06-04T17:03:15.0958997Z         "doc": {
2026-06-04T17:03:15.0959476Z           "complete": true,
2026-06-04T17:03:15.0959925Z           "evidence": [
2026-06-04T17:03:15.0960353Z             {
2026-06-04T17:03:15.0960781Z               "path": "docs/MANIFEST.md",
2026-06-04T17:03:15.0961291Z               "line": 62
2026-06-04T17:03:15.0961740Z             }
2026-06-04T17:03:15.0962114Z           ]
2026-06-04T17:03:15.0962480Z         },
2026-06-04T17:03:15.0962851Z         "impl": {
2026-06-04T17:03:15.0963267Z           "complete": true,
2026-06-04T17:03:15.0963722Z           "evidence": [
2026-06-04T17:03:15.0964129Z             {
2026-06-04T17:03:15.0964824Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0965387Z               "line": 208
2026-06-04T17:03:15.0965809Z             },
2026-06-04T17:03:15.0966197Z             {
2026-06-04T17:03:15.0966654Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0967199Z               "line": 222
2026-06-04T17:03:15.0967620Z             },
2026-06-04T17:03:15.0968015Z             {
2026-06-04T17:03:15.0968494Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.0969063Z               "line": 125
2026-06-04T17:03:15.0969527Z             },
2026-06-04T17:03:15.0969914Z             {
2026-06-04T17:03:15.0970377Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.0970921Z               "line": 72
2026-06-04T17:03:15.0971340Z             },
2026-06-04T17:03:15.0971724Z             {
2026-06-04T17:03:15.0972152Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0972671Z               "line": 833
2026-06-04T17:03:15.0973110Z             },
2026-06-04T17:03:15.0973499Z             {
2026-06-04T17:03:15.0973932Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0974451Z               "line": 865
2026-06-04T17:03:15.0974869Z             },
2026-06-04T17:03:15.0975262Z             {
2026-06-04T17:03:15.0975690Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0976201Z               "line": 931
2026-06-04T17:03:15.0976623Z             },
2026-06-04T17:03:15.0977008Z             {
2026-06-04T17:03:15.0977448Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0977967Z               "line": 967
2026-06-04T17:03:15.0978385Z             }
2026-06-04T17:03:15.0978766Z           ]
2026-06-04T17:03:15.0979152Z         },
2026-06-04T17:03:15.0979568Z         "int": {
2026-06-04T17:03:15.0979991Z           "complete": false,
2026-06-04T17:03:15.0980448Z           "evidence": []
2026-06-04T17:03:15.0980862Z         },
2026-06-04T17:03:15.0981235Z         "unit": {
2026-06-04T17:03:15.0981691Z           "complete": true,
2026-06-04T17:03:15.0982142Z           "evidence": [
2026-06-04T17:03:15.0982552Z             {
2026-06-04T17:03:15.0983021Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.0983578Z               "line": 590
2026-06-04T17:03:15.0984000Z             },
2026-06-04T17:03:15.0984382Z             {
2026-06-04T17:03:15.0984819Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0985335Z               "line": 2185
2026-06-04T17:03:15.0985758Z             },
2026-06-04T17:03:15.0986130Z             {
2026-06-04T17:03:15.0986577Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.0987096Z               "line": 2207
2026-06-04T17:03:15.0987512Z             }
2026-06-04T17:03:15.0987887Z           ]
2026-06-04T17:03:15.0988255Z         }
2026-06-04T17:03:15.0988611Z       }
2026-06-04T17:03:15.0988981Z     },
2026-06-04T17:03:15.0995220Z     {
2026-06-04T17:03:15.0995754Z       "id": "REQ-PAIR-1",
2026-06-04T17:03:15.0996598Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T17:03:15.0997168Z       "requiredStages": [
2026-06-04T17:03:15.0997600Z         "impl",
2026-06-04T17:03:15.0997987Z         "unit",
2026-06-04T17:03:15.0998364Z         "int"
2026-06-04T17:03:15.0998738Z       ],
2026-06-04T17:03:15.0999110Z       "stages": {
2026-06-04T17:03:15.0999605Z         "doc": {
2026-06-04T17:03:15.1000031Z           "complete": false,
2026-06-04T17:03:15.1000489Z           "evidence": []
2026-06-04T17:03:15.1000899Z         },
2026-06-04T17:03:15.1001270Z         "impl": {
2026-06-04T17:03:15.1001682Z           "complete": true,
2026-06-04T17:03:15.1002130Z           "evidence": [
2026-06-04T17:03:15.1002534Z             {
2026-06-04T17:03:15.1003021Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1003603Z               "line": 27
2026-06-04T17:03:15.1004028Z             },
2026-06-04T17:03:15.1004402Z             {
2026-06-04T17:03:15.1004889Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1005645Z               "line": 88
2026-06-04T17:03:15.1006060Z             },
2026-06-04T17:03:15.1006434Z             {
2026-06-04T17:03:15.1006923Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1007496Z               "line": 110
2026-06-04T17:03:15.1007926Z             },
2026-06-04T17:03:15.1008304Z             {
2026-06-04T17:03:15.1008791Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1009406Z               "line": 153
2026-06-04T17:03:15.1009826Z             },
2026-06-04T17:03:15.1010203Z             {
2026-06-04T17:03:15.1010690Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1011255Z               "line": 182
2026-06-04T17:03:15.1011676Z             },
2026-06-04T17:03:15.1012051Z             {
2026-06-04T17:03:15.1012533Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1013100Z               "line": 29
2026-06-04T17:03:15.1013539Z             },
2026-06-04T17:03:15.1013916Z             {
2026-06-04T17:03:15.1014429Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T17:03:15.1015034Z               "line": 31
2026-06-04T17:03:15.1015453Z             },
2026-06-04T17:03:15.1015829Z             {
2026-06-04T17:03:15.1016310Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1016881Z               "line": 40
2026-06-04T17:03:15.1017294Z             },
2026-06-04T17:03:15.1017670Z             {
2026-06-04T17:03:15.1018146Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1018716Z               "line": 131
2026-06-04T17:03:15.1019138Z             },
2026-06-04T17:03:15.1019572Z             {
2026-06-04T17:03:15.1020057Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1020634Z               "line": 306
2026-06-04T17:03:15.1021051Z             }
2026-06-04T17:03:15.1021437Z           ]
2026-06-04T17:03:15.1021811Z         },
2026-06-04T17:03:15.1022175Z         "int": {
2026-06-04T17:03:15.1022575Z           "complete": true,
2026-06-04T17:03:15.1023027Z           "evidence": [
2026-06-04T17:03:15.1023431Z             {
2026-06-04T17:03:15.1023900Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.1024467Z               "line": 433
2026-06-04T17:03:15.1024888Z             },
2026-06-04T17:03:15.1025267Z             {
2026-06-04T17:03:15.1025740Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.1026307Z               "line": 549
2026-06-04T17:03:15.1026729Z             }
2026-06-04T17:03:15.1027098Z           ]
2026-06-04T17:03:15.1027462Z         },
2026-06-04T17:03:15.1027832Z         "unit": {
2026-06-04T17:03:15.1028236Z           "complete": true,
2026-06-04T17:03:15.1028676Z           "evidence": [
2026-06-04T17:03:15.1029081Z             {
2026-06-04T17:03:15.1029611Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1030391Z               "line": 236
2026-06-04T17:03:15.1030853Z             },
2026-06-04T17:03:15.1031227Z             {
2026-06-04T17:03:15.1031707Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T17:03:15.1032279Z               "line": 349
2026-06-04T17:03:15.1032696Z             },
2026-06-04T17:03:15.1037295Z             {
2026-06-04T17:03:15.1037836Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1038411Z               "line": 194
2026-06-04T17:03:15.1038829Z             },
2026-06-04T17:03:15.1039420Z             {
2026-06-04T17:03:15.1040092Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1040663Z               "line": 216
2026-06-04T17:03:15.1041085Z             },
2026-06-04T17:03:15.1041459Z             {
2026-06-04T17:03:15.1041937Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1042507Z               "line": 230
2026-06-04T17:03:15.1043201Z             },
2026-06-04T17:03:15.1043597Z             {
2026-06-04T17:03:15.1044196Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1044764Z               "line": 242
2026-06-04T17:03:15.1045183Z             },
2026-06-04T17:03:15.1045562Z             {
2026-06-04T17:03:15.1046043Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1046604Z               "line": 256
2026-06-04T17:03:15.1047016Z             },
2026-06-04T17:03:15.1047399Z             {
2026-06-04T17:03:15.1047879Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1048460Z               "line": 270
2026-06-04T17:03:15.1048877Z             },
2026-06-04T17:03:15.1049302Z             {
2026-06-04T17:03:15.1049789Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1050361Z               "line": 277
2026-06-04T17:03:15.1050780Z             },
2026-06-04T17:03:15.1051160Z             {
2026-06-04T17:03:15.1051672Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T17:03:15.1052249Z               "line": 295
2026-06-04T17:03:15.1052671Z             },
2026-06-04T17:03:15.1053043Z             {
2026-06-04T17:03:15.1053517Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1054081Z               "line": 696
2026-06-04T17:03:15.1054500Z             },
2026-06-04T17:03:15.1054889Z             {
2026-06-04T17:03:15.1055368Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1055936Z               "line": 757
2026-06-04T17:03:15.1056362Z             },
2026-06-04T17:03:15.1056741Z             {
2026-06-04T17:03:15.1057225Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1057800Z               "line": 814
2026-06-04T17:03:15.1058215Z             },
2026-06-04T17:03:15.1058604Z             {
2026-06-04T17:03:15.1059082Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1059719Z               "line": 868
2026-06-04T17:03:15.1060144Z             },
2026-06-04T17:03:15.1060522Z             {
2026-06-04T17:03:15.1060999Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1061564Z               "line": 920
2026-06-04T17:03:15.1061988Z             },
2026-06-04T17:03:15.1062369Z             {
2026-06-04T17:03:15.1062862Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1063431Z               "line": 1084
2026-06-04T17:03:15.1063852Z             }
2026-06-04T17:03:15.1064225Z           ]
2026-06-04T17:03:15.1064593Z         }
2026-06-04T17:03:15.1064953Z       }
2026-06-04T17:03:15.1065305Z     },
2026-06-04T17:03:15.1065660Z     {
2026-06-04T17:03:15.1066055Z       "id": "REQ-PAIR-2",
2026-06-04T17:03:15.1066611Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T17:03:15.1067212Z       "requiredStages": [
2026-06-04T17:03:15.1067649Z         "impl",
2026-06-04T17:03:15.1068056Z         "unit"
2026-06-04T17:03:15.1068597Z       ],
2026-06-04T17:03:15.1068992Z       "stages": {
2026-06-04T17:03:15.1069439Z         "doc": {
2026-06-04T17:03:15.1069860Z           "complete": false,
2026-06-04T17:03:15.1070314Z           "evidence": []
2026-06-04T17:03:15.1070720Z         },
2026-06-04T17:03:15.1071085Z         "impl": {
2026-06-04T17:03:15.1071492Z           "complete": true,
2026-06-04T17:03:15.1071939Z           "evidence": [
2026-06-04T17:03:15.1072347Z             {
2026-06-04T17:03:15.1072803Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1073354Z               "line": 42
2026-06-04T17:03:15.1073773Z             },
2026-06-04T17:03:15.1074153Z             {
2026-06-04T17:03:15.1074607Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1075150Z               "line": 151
2026-06-04T17:03:15.1079822Z             },
2026-06-04T17:03:15.1080255Z             {
2026-06-04T17:03:15.1080713Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1081540Z               "line": 171
2026-06-04T17:03:15.1081963Z             },
2026-06-04T17:03:15.1082352Z             {
2026-06-04T17:03:15.1082810Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1083356Z               "line": 209
2026-06-04T17:03:15.1083778Z             },
2026-06-04T17:03:15.1084157Z             {
2026-06-04T17:03:15.1084607Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1085146Z               "line": 232
2026-06-04T17:03:15.1085560Z             }
2026-06-04T17:03:15.1085941Z           ]
2026-06-04T17:03:15.1086301Z         },
2026-06-04T17:03:15.1086710Z         "int": {
2026-06-04T17:03:15.1087164Z           "complete": false,
2026-06-04T17:03:15.1087620Z           "evidence": []
2026-06-04T17:03:15.1088040Z         },
2026-06-04T17:03:15.1088404Z         "unit": {
2026-06-04T17:03:15.1088815Z           "complete": true,
2026-06-04T17:03:15.1089300Z           "evidence": [
2026-06-04T17:03:15.1089731Z             {
2026-06-04T17:03:15.1090206Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1090750Z               "line": 253
2026-06-04T17:03:15.1091161Z             },
2026-06-04T17:03:15.1091539Z             {
2026-06-04T17:03:15.1091994Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1092528Z               "line": 272
2026-06-04T17:03:15.1092946Z             },
2026-06-04T17:03:15.1093335Z             {
2026-06-04T17:03:15.1093791Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1094329Z               "line": 284
2026-06-04T17:03:15.1094744Z             },
2026-06-04T17:03:15.1095118Z             {
2026-06-04T17:03:15.1095580Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1096116Z               "line": 303
2026-06-04T17:03:15.1096532Z             },
2026-06-04T17:03:15.1096914Z             {
2026-06-04T17:03:15.1097376Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1097949Z               "line": 319
2026-06-04T17:03:15.1098372Z             },
2026-06-04T17:03:15.1098747Z             {
2026-06-04T17:03:15.1099235Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1099775Z               "line": 331
2026-06-04T17:03:15.1100188Z             },
2026-06-04T17:03:15.1100568Z             {
2026-06-04T17:03:15.1101032Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1101562Z               "line": 343
2026-06-04T17:03:15.1101975Z             },
2026-06-04T17:03:15.1102347Z             {
2026-06-04T17:03:15.1102799Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1103338Z               "line": 356
2026-06-04T17:03:15.1103755Z             },
2026-06-04T17:03:15.1104133Z             {
2026-06-04T17:03:15.1104596Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T17:03:15.1105135Z               "line": 370
2026-06-04T17:03:15.1105550Z             }
2026-06-04T17:03:15.1105932Z           ]
2026-06-04T17:03:15.1106468Z         }
2026-06-04T17:03:15.1106851Z       }
2026-06-04T17:03:15.1107211Z     },
2026-06-04T17:03:15.1107568Z     {
2026-06-04T17:03:15.1107951Z       "id": "REQ-PAIR-3",
2026-06-04T17:03:15.1108532Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T17:03:15.1109150Z       "requiredStages": [
2026-06-04T17:03:15.1109637Z         "impl",
2026-06-04T17:03:15.1110026Z         "unit"
2026-06-04T17:03:15.1110406Z       ],
2026-06-04T17:03:15.1110773Z       "stages": {
2026-06-04T17:03:15.1111168Z         "doc": {
2026-06-04T17:03:15.1111653Z           "complete": false,
2026-06-04T17:03:15.1112186Z           "evidence": []
2026-06-04T17:03:15.1112615Z         },
2026-06-04T17:03:15.1112995Z         "impl": {
2026-06-04T17:03:15.1113411Z           "complete": true,
2026-06-04T17:03:15.1113858Z           "evidence": [
2026-06-04T17:03:15.1114267Z             {
2026-06-04T17:03:15.1114697Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1115468Z               "line": 1243
2026-06-04T17:03:15.1115896Z             },
2026-06-04T17:03:15.1121457Z             {
2026-06-04T17:03:15.1122133Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1122667Z               "line": 1279
2026-06-04T17:03:15.1123087Z             },
2026-06-04T17:03:15.1123462Z             {
2026-06-04T17:03:15.1123892Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1124414Z               "line": 1339
2026-06-04T17:03:15.1124839Z             }
2026-06-04T17:03:15.1125213Z           ]
2026-06-04T17:03:15.1125590Z         },
2026-06-04T17:03:15.1125956Z         "int": {
2026-06-04T17:03:15.1126365Z           "complete": false,
2026-06-04T17:03:15.1126815Z           "evidence": []
2026-06-04T17:03:15.1127231Z         },
2026-06-04T17:03:15.1127603Z         "unit": {
2026-06-04T17:03:15.1128015Z           "complete": true,
2026-06-04T17:03:15.1128708Z           "evidence": [
2026-06-04T17:03:15.1129244Z             {
2026-06-04T17:03:15.1129936Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1130121Z               "line": 2771
2026-06-04T17:03:15.1130292Z             },
2026-06-04T17:03:15.1130456Z             {
2026-06-04T17:03:15.1130680Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1130861Z               "line": 2788
2026-06-04T17:03:15.1131033Z             },
2026-06-04T17:03:15.1131203Z             {
2026-06-04T17:03:15.1131421Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1131613Z               "line": 2802
2026-06-04T17:03:15.1131776Z             },
2026-06-04T17:03:15.1131948Z             {
2026-06-04T17:03:15.1132164Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1132357Z               "line": 2818
2026-06-04T17:03:15.1132530Z             },
2026-06-04T17:03:15.1132692Z             {
2026-06-04T17:03:15.1132913Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1133095Z               "line": 2839
2026-06-04T17:03:15.1133278Z             },
2026-06-04T17:03:15.1133457Z             {
2026-06-04T17:03:15.1133676Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1133863Z               "line": 2855
2026-06-04T17:03:15.1134027Z             },
2026-06-04T17:03:15.1134198Z             {
2026-06-04T17:03:15.1134412Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1134602Z               "line": 2868
2026-06-04T17:03:15.1134772Z             },
2026-06-04T17:03:15.1134936Z             {
2026-06-04T17:03:15.1135161Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1135340Z               "line": 2877
2026-06-04T17:03:15.1135512Z             }
2026-06-04T17:03:15.1135675Z           ]
2026-06-04T17:03:15.1135847Z         }
2026-06-04T17:03:15.1136022Z       }
2026-06-04T17:03:15.1136181Z     },
2026-06-04T17:03:15.1136353Z     {
2026-06-04T17:03:15.1136541Z       "id": "REQ-PAIR-4",
2026-06-04T17:03:15.1136792Z       "title": "Subnet naming on first pairing",
2026-06-04T17:03:15.1136979Z       "requiredStages": [
2026-06-04T17:03:15.1137456Z         "impl",
2026-06-04T17:03:15.1137667Z         "unit"
2026-06-04T17:03:15.1137832Z       ],
2026-06-04T17:03:15.1138015Z       "stages": {
2026-06-04T17:03:15.1138185Z         "doc": {
2026-06-04T17:03:15.1138381Z           "complete": false,
2026-06-04T17:03:15.1138561Z           "evidence": []
2026-06-04T17:03:15.1138733Z         },
2026-06-04T17:03:15.1138906Z         "impl": {
2026-06-04T17:03:15.1139105Z           "complete": true,
2026-06-04T17:03:15.1139343Z           "evidence": [
2026-06-04T17:03:15.1139692Z             {
2026-06-04T17:03:15.1140101Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T17:03:15.1140283Z               "line": 154
2026-06-04T17:03:15.1140457Z             }
2026-06-04T17:03:15.1140619Z           ]
2026-06-04T17:03:15.1140795Z         },
2026-06-04T17:03:15.1140986Z         "int": {
2026-06-04T17:03:15.1141174Z           "complete": false,
2026-06-04T17:03:15.1141360Z           "evidence": []
2026-06-04T17:03:15.1141674Z         },
2026-06-04T17:03:15.1141872Z         "unit": {
2026-06-04T17:03:15.1142064Z           "complete": true,
2026-06-04T17:03:15.1142255Z           "evidence": [
2026-06-04T17:03:15.1142423Z             {
2026-06-04T17:03:15.1142698Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1142887Z               "line": 972
2026-06-04T17:03:15.1143052Z             }
2026-06-04T17:03:15.1143220Z           ]
2026-06-04T17:03:15.1143380Z         }
2026-06-04T17:03:15.1143547Z       }
2026-06-04T17:03:15.1143711Z     },
2026-06-04T17:03:15.1143868Z     {
2026-06-04T17:03:15.1144063Z       "id": "REQ-PAIR-5",
2026-06-04T17:03:15.1144718Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T17:03:15.1144926Z       "requiredStages": [
2026-06-04T17:03:15.1145109Z         "impl",
2026-06-04T17:03:15.1145279Z         "unit",
2026-06-04T17:03:15.1145458Z         "int"
2026-06-04T17:03:15.1145635Z       ],
2026-06-04T17:03:15.1145822Z       "stages": {
2026-06-04T17:03:15.1145989Z         "doc": {
2026-06-04T17:03:15.1146188Z           "complete": false,
2026-06-04T17:03:15.1146369Z           "evidence": []
2026-06-04T17:03:15.1146542Z         },
2026-06-04T17:03:15.1146719Z         "impl": {
2026-06-04T17:03:15.1146901Z           "complete": true,
2026-06-04T17:03:15.1147090Z           "evidence": [
2026-06-04T17:03:15.1147258Z             {
2026-06-04T17:03:15.1147573Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1147763Z               "line": 33
2026-06-04T17:03:15.1147927Z             },
2026-06-04T17:03:15.1148096Z             {
2026-06-04T17:03:15.1148398Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1148584Z               "line": 45
2026-06-04T17:03:15.1148749Z             },
2026-06-04T17:03:15.1148921Z             {
2026-06-04T17:03:15.1149267Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1149477Z               "line": 59
2026-06-04T17:03:15.1149652Z             },
2026-06-04T17:03:15.1149821Z             {
2026-06-04T17:03:15.1150103Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1150282Z               "line": 306
2026-06-04T17:03:15.1150450Z             }
2026-06-04T17:03:15.1150617Z           ]
2026-06-04T17:03:15.1150779Z         },
2026-06-04T17:03:15.1150952Z         "int": {
2026-06-04T17:03:15.1151134Z           "complete": true,
2026-06-04T17:03:15.1151320Z           "evidence": [
2026-06-04T17:03:15.1151483Z             {
2026-06-04T17:03:15.1151747Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.1151936Z               "line": 549
2026-06-04T17:03:15.1152101Z             }
2026-06-04T17:03:15.1152280Z           ]
2026-06-04T17:03:15.1152445Z         },
2026-06-04T17:03:15.1152616Z         "unit": {
2026-06-04T17:03:15.1152799Z           "complete": true,
2026-06-04T17:03:15.1153002Z           "evidence": [
2026-06-04T17:03:15.1153320Z             {
2026-06-04T17:03:15.1153643Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1153830Z               "line": 72
2026-06-04T17:03:15.1153993Z             },
2026-06-04T17:03:15.1154167Z             {
2026-06-04T17:03:15.1154473Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1154663Z               "line": 82
2026-06-04T17:03:15.1154838Z             },
2026-06-04T17:03:15.1155006Z             {
2026-06-04T17:03:15.1155317Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1160076Z               "line": 92
2026-06-04T17:03:15.1160479Z             },
2026-06-04T17:03:15.1160647Z             {
2026-06-04T17:03:15.1160980Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1161178Z               "line": 102
2026-06-04T17:03:15.1161345Z             },
2026-06-04T17:03:15.1161514Z             {
2026-06-04T17:03:15.1162089Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T17:03:15.1162288Z               "line": 117
2026-06-04T17:03:15.1162457Z             },
2026-06-04T17:03:15.1162634Z             {
2026-06-04T17:03:15.1162918Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1163101Z               "line": 750
2026-06-04T17:03:15.1163279Z             },
2026-06-04T17:03:15.1163444Z             {
2026-06-04T17:03:15.1163721Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1163910Z               "line": 806
2026-06-04T17:03:15.1164073Z             },
2026-06-04T17:03:15.1164247Z             {
2026-06-04T17:03:15.1164511Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T17:03:15.1164702Z               "line": 1026
2026-06-04T17:03:15.1164870Z             }
2026-06-04T17:03:15.1165039Z           ]
2026-06-04T17:03:15.1165210Z         }
2026-06-04T17:03:15.1165387Z       }
2026-06-04T17:03:15.1165558Z     },
2026-06-04T17:03:15.1165726Z     {
2026-06-04T17:03:15.1165921Z       "id": "REQ-PAIR-6",
2026-06-04T17:03:15.1166470Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T17:03:15.1166673Z       "requiredStages": [
2026-06-04T17:03:15.1166850Z         "impl",
2026-06-04T17:03:15.1167016Z         "unit"
2026-06-04T17:03:15.1167196Z       ],
2026-06-04T17:03:15.1167369Z       "stages": {
2026-06-04T17:03:15.1167539Z         "doc": {
2026-06-04T17:03:15.1167726Z           "complete": false,
2026-06-04T17:03:15.1167916Z           "evidence": []
2026-06-04T17:03:15.1168090Z         },
2026-06-04T17:03:15.1168259Z         "impl": {
2026-06-04T17:03:15.1168453Z           "complete": true,
2026-06-04T17:03:15.1168632Z           "evidence": [
2026-06-04T17:03:15.1168801Z             {
2026-06-04T17:03:15.1169022Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1169281Z               "line": 1279
2026-06-04T17:03:15.1169779Z             },
2026-06-04T17:03:15.1169955Z             {
2026-06-04T17:03:15.1170185Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1170367Z               "line": 1339
2026-06-04T17:03:15.1170538Z             },
2026-06-04T17:03:15.1170703Z             {
2026-06-04T17:03:15.1170956Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:03:15.1171148Z               "line": 18
2026-06-04T17:03:15.1171314Z             },
2026-06-04T17:03:15.1171487Z             {
2026-06-04T17:03:15.1171721Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:03:15.1171909Z               "line": 49
2026-06-04T17:03:15.1172077Z             },
2026-06-04T17:03:15.1172250Z             {
2026-06-04T17:03:15.1172495Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:03:15.1172676Z               "line": 70
2026-06-04T17:03:15.1172845Z             }
2026-06-04T17:03:15.1173009Z           ]
2026-06-04T17:03:15.1173182Z         },
2026-06-04T17:03:15.1173361Z         "int": {
2026-06-04T17:03:15.1173716Z           "complete": false,
2026-06-04T17:03:15.1173924Z           "evidence": []
2026-06-04T17:03:15.1174090Z         },
2026-06-04T17:03:15.1174268Z         "unit": {
2026-06-04T17:03:15.1174453Z           "complete": true,
2026-06-04T17:03:15.1174641Z           "evidence": [
2026-06-04T17:03:15.1174810Z             {
2026-06-04T17:03:15.1175043Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1175231Z               "line": 2890
2026-06-04T17:03:15.1175393Z             },
2026-06-04T17:03:15.1175563Z             {
2026-06-04T17:03:15.1175787Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1175978Z               "line": 2907
2026-06-04T17:03:15.1176145Z             },
2026-06-04T17:03:15.1176320Z             {
2026-06-04T17:03:15.1176570Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:03:15.1176749Z               "line": 132
2026-06-04T17:03:15.1176928Z             },
2026-06-04T17:03:15.1177245Z             {
2026-06-04T17:03:15.1177504Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T17:03:15.1177689Z               "line": 141
2026-06-04T17:03:15.1177868Z             }
2026-06-04T17:03:15.1178040Z           ]
2026-06-04T17:03:15.1178203Z         }
2026-06-04T17:03:15.1178375Z       }
2026-06-04T17:03:15.1178533Z     },
2026-06-04T17:03:15.1178703Z     {
2026-06-04T17:03:15.1178896Z       "id": "REQ-PAIR-7",
2026-06-04T17:03:15.1179285Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T17:03:15.1179487Z       "requiredStages": [],
2026-06-04T17:03:15.1179658Z       "stages": {
2026-06-04T17:03:15.1179836Z         "doc": {
2026-06-04T17:03:15.1180032Z           "complete": false,
2026-06-04T17:03:15.1180220Z           "evidence": []
2026-06-04T17:03:15.1180381Z         },
2026-06-04T17:03:15.1180568Z         "impl": {
2026-06-04T17:03:15.1180771Z           "complete": false,
2026-06-04T17:03:15.1180955Z           "evidence": []
2026-06-04T17:03:15.1181138Z         },
2026-06-04T17:03:15.1181315Z         "int": {
2026-06-04T17:03:15.1181511Z           "complete": false,
2026-06-04T17:03:15.1181696Z           "evidence": []
2026-06-04T17:03:15.1181869Z         },
2026-06-04T17:03:15.1182049Z         "unit": {
2026-06-04T17:03:15.1182237Z           "complete": false,
2026-06-04T17:03:15.1182430Z           "evidence": []
2026-06-04T17:03:15.1182597Z         }
2026-06-04T17:03:15.1182771Z       }
2026-06-04T17:03:15.1182936Z     },
2026-06-04T17:03:15.1183104Z     {
2026-06-04T17:03:15.1183303Z       "id": "REQ-PRES-1",
2026-06-04T17:03:15.1186433Z       "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:03:15.1186677Z       "requiredStages": [],
2026-06-04T17:03:15.1186854Z       "stages": {
2026-06-04T17:03:15.1187039Z         "doc": {
2026-06-04T17:03:15.1187236Z           "complete": false,
2026-06-04T17:03:15.1187418Z           "evidence": []
2026-06-04T17:03:15.1187588Z         },
2026-06-04T17:03:15.1187759Z         "impl": {
2026-06-04T17:03:15.1187957Z           "complete": false,
2026-06-04T17:03:15.1188141Z           "evidence": []
2026-06-04T17:03:15.1188314Z         },
2026-06-04T17:03:15.1188490Z         "int": {
2026-06-04T17:03:15.1188678Z           "complete": false,
2026-06-04T17:03:15.1188868Z           "evidence": []
2026-06-04T17:03:15.1189032Z         },
2026-06-04T17:03:15.1189257Z         "unit": {
2026-06-04T17:03:15.1189454Z           "complete": false,
2026-06-04T17:03:15.1189647Z           "evidence": []
2026-06-04T17:03:15.1189818Z         }
2026-06-04T17:03:15.1189981Z       }
2026-06-04T17:03:15.1190147Z     },
2026-06-04T17:03:15.1190325Z     {
2026-06-04T17:03:15.1190753Z       "id": "REQ-REACH-1",
2026-06-04T17:03:15.1191092Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T17:03:15.1191296Z       "requiredStages": [
2026-06-04T17:03:15.1191475Z         "impl",
2026-06-04T17:03:15.1191643Z         "unit",
2026-06-04T17:03:15.1191819Z         "int"
2026-06-04T17:03:15.1191982Z       ],
2026-06-04T17:03:15.1192161Z       "stages": {
2026-06-04T17:03:15.1192338Z         "doc": {
2026-06-04T17:03:15.1192536Z           "complete": false,
2026-06-04T17:03:15.1192730Z           "evidence": []
2026-06-04T17:03:15.1192890Z         },
2026-06-04T17:03:15.1193067Z         "impl": {
2026-06-04T17:03:15.1193250Z           "complete": true,
2026-06-04T17:03:15.1193437Z           "evidence": [
2026-06-04T17:03:15.1193604Z             {
2026-06-04T17:03:15.1193868Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T17:03:15.1194053Z               "line": 133
2026-06-04T17:03:15.1194218Z             },
2026-06-04T17:03:15.1194552Z             {
2026-06-04T17:03:15.1194802Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.1194988Z               "line": 76
2026-06-04T17:03:15.1195152Z             },
2026-06-04T17:03:15.1195331Z             {
2026-06-04T17:03:15.1195581Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.1199786Z               "line": 209
2026-06-04T17:03:15.1200028Z             },
2026-06-04T17:03:15.1200196Z             {
2026-06-04T17:03:15.1200464Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.1200645Z               "line": 386
2026-06-04T17:03:15.1200820Z             },
2026-06-04T17:03:15.1200992Z             {
2026-06-04T17:03:15.1201235Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.1201422Z               "line": 484
2026-06-04T17:03:15.1201582Z             },
2026-06-04T17:03:15.1201757Z             {
2026-06-04T17:03:15.1201999Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:03:15.1202234Z               "line": 39
2026-06-04T17:03:15.1202414Z             },
2026-06-04T17:03:15.1202578Z             {
2026-06-04T17:03:15.1202819Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.1203001Z               "line": 217
2026-06-04T17:03:15.1203176Z             },
2026-06-04T17:03:15.1203335Z             {
2026-06-04T17:03:15.1203577Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:03:15.1203763Z               "line": 82
2026-06-04T17:03:15.1203923Z             },
2026-06-04T17:03:15.1204090Z             {
2026-06-04T17:03:15.1204321Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:03:15.1204507Z               "line": 92
2026-06-04T17:03:15.1204669Z             },
2026-06-04T17:03:15.1204840Z             {
2026-06-04T17:03:15.1205095Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1205271Z               "line": 177
2026-06-04T17:03:15.1205443Z             }
2026-06-04T17:03:15.1205613Z           ]
2026-06-04T17:03:15.1205789Z         },
2026-06-04T17:03:15.1205962Z         "int": {
2026-06-04T17:03:15.1206155Z           "complete": true,
2026-06-04T17:03:15.1206340Z           "evidence": [
2026-06-04T17:03:15.1206500Z             {
2026-06-04T17:03:15.1206771Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.1206951Z               "line": 375
2026-06-04T17:03:15.1207122Z             },
2026-06-04T17:03:15.1207284Z             {
2026-06-04T17:03:15.1207556Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.1207743Z               "line": 478
2026-06-04T17:03:15.1207904Z             },
2026-06-04T17:03:15.1208076Z             {
2026-06-04T17:03:15.1208334Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.1208523Z               "line": 661
2026-06-04T17:03:15.1208702Z             },
2026-06-04T17:03:15.1208864Z             {
2026-06-04T17:03:15.1209124Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.1209640Z               "line": 755
2026-06-04T17:03:15.1209839Z             }
2026-06-04T17:03:15.1210010Z           ]
2026-06-04T17:03:15.1210186Z         },
2026-06-04T17:03:15.1210369Z         "unit": {
2026-06-04T17:03:15.1210554Z           "complete": true,
2026-06-04T17:03:15.1210739Z           "evidence": [
2026-06-04T17:03:15.1210904Z             {
2026-06-04T17:03:15.1211155Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.1211334Z               "line": 585
2026-06-04T17:03:15.1211513Z             },
2026-06-04T17:03:15.1211681Z             {
2026-06-04T17:03:15.1211926Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T17:03:15.1212109Z               "line": 606
2026-06-04T17:03:15.1212273Z             },
2026-06-04T17:03:15.1212444Z             {
2026-06-04T17:03:15.1212703Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T17:03:15.1212888Z               "line": 337
2026-06-04T17:03:15.1213212Z             },
2026-06-04T17:03:15.1213386Z             {
2026-06-04T17:03:15.1213648Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T17:03:15.1213828Z               "line": 92
2026-06-04T17:03:15.1214003Z             },
2026-06-04T17:03:15.1214168Z             {
2026-06-04T17:03:15.1214431Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T17:03:15.1214615Z               "line": 176
2026-06-04T17:03:15.1214780Z             },
2026-06-04T17:03:15.1214953Z             {
2026-06-04T17:03:15.1215195Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:03:15.1215385Z               "line": 92
2026-06-04T17:03:15.1215548Z             },
2026-06-04T17:03:15.1215713Z             {
2026-06-04T17:03:15.1215969Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T17:03:15.1216152Z               "line": 123
2026-06-04T17:03:15.1216328Z             },
2026-06-04T17:03:15.1216493Z             {
2026-06-04T17:03:15.1216738Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.1216942Z               "line": 436
2026-06-04T17:03:15.1217115Z             },
2026-06-04T17:03:15.1217284Z             {
2026-06-04T17:03:15.1217519Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:03:15.1217701Z               "line": 112
2026-06-04T17:03:15.1217866Z             },
2026-06-04T17:03:15.1218037Z             {
2026-06-04T17:03:15.1218272Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T17:03:15.1218454Z               "line": 136
2026-06-04T17:03:15.1218626Z             },
2026-06-04T17:03:15.1218782Z             {
2026-06-04T17:03:15.1219042Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1219264Z               "line": 444
2026-06-04T17:03:15.1219439Z             }
2026-06-04T17:03:15.1219598Z           ]
2026-06-04T17:03:15.1219769Z         }
2026-06-04T17:03:15.1219937Z       }
2026-06-04T17:03:15.1220096Z     },
2026-06-04T17:03:15.1220260Z     {
2026-06-04T17:03:15.1220457Z       "id": "REQ-REACH-2",
2026-06-04T17:03:15.1220804Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T17:03:15.1221006Z       "requiredStages": [],
2026-06-04T17:03:15.1221183Z       "stages": {
2026-06-04T17:03:15.1221359Z         "doc": {
2026-06-04T17:03:15.1221552Z           "complete": false,
2026-06-04T17:03:15.1221742Z           "evidence": []
2026-06-04T17:03:15.1221908Z         },
2026-06-04T17:03:15.1222086Z         "impl": {
2026-06-04T17:03:15.1222272Z           "complete": false,
2026-06-04T17:03:15.1222462Z           "evidence": []
2026-06-04T17:03:15.1222628Z         },
2026-06-04T17:03:15.1222792Z         "int": {
2026-06-04T17:03:15.1222983Z           "complete": false,
2026-06-04T17:03:15.1223164Z           "evidence": []
2026-06-04T17:03:15.1223333Z         },
2026-06-04T17:03:15.1223500Z         "unit": {
2026-06-04T17:03:15.1223690Z           "complete": false,
2026-06-04T17:03:15.1223878Z           "evidence": []
2026-06-04T17:03:15.1224038Z         }
2026-06-04T17:03:15.1224224Z       }
2026-06-04T17:03:15.1224546Z     },
2026-06-04T17:03:15.1224734Z     {
2026-06-04T17:03:15.1224968Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T17:03:15.1225367Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T17:03:15.1225569Z       "requiredStages": [
2026-06-04T17:03:15.1225739Z         "impl",
2026-06-04T17:03:15.1225913Z         "unit"
2026-06-04T17:03:15.1226071Z       ],
2026-06-04T17:03:15.1226252Z       "stages": {
2026-06-04T17:03:15.1226417Z         "doc": {
2026-06-04T17:03:15.1226615Z           "complete": false,
2026-06-04T17:03:15.1226800Z           "evidence": []
2026-06-04T17:03:15.1226957Z         },
2026-06-04T17:03:15.1227135Z         "impl": {
2026-06-04T17:03:15.1227319Z           "complete": true,
2026-06-04T17:03:15.1227503Z           "evidence": [
2026-06-04T17:03:15.1227663Z             {
2026-06-04T17:03:15.1227918Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1228099Z               "line": 18
2026-06-04T17:03:15.1228427Z             },
2026-06-04T17:03:15.1228602Z             {
2026-06-04T17:03:15.1228854Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1229042Z               "line": 35
2026-06-04T17:03:15.1229255Z             },
2026-06-04T17:03:15.1229426Z             {
2026-06-04T17:03:15.1229682Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1229861Z               "line": 65
2026-06-04T17:03:15.1230031Z             }
2026-06-04T17:03:15.1230193Z           ]
2026-06-04T17:03:15.1230361Z         },
2026-06-04T17:03:15.1230528Z         "int": {
2026-06-04T17:03:15.1230722Z           "complete": false,
2026-06-04T17:03:15.1230912Z           "evidence": []
2026-06-04T17:03:15.1231073Z         },
2026-06-04T17:03:15.1231251Z         "unit": {
2026-06-04T17:03:15.1231443Z           "complete": true,
2026-06-04T17:03:15.1235445Z           "evidence": [
2026-06-04T17:03:15.1235700Z             {
2026-06-04T17:03:15.1236027Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1236219Z               "line": 194
2026-06-04T17:03:15.1236384Z             },
2026-06-04T17:03:15.1236554Z             {
2026-06-04T17:03:15.1236803Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1236993Z               "line": 208
2026-06-04T17:03:15.1237160Z             },
2026-06-04T17:03:15.1237335Z             {
2026-06-04T17:03:15.1237597Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1237778Z               "line": 217
2026-06-04T17:03:15.1237957Z             }
2026-06-04T17:03:15.1238122Z           ]
2026-06-04T17:03:15.1238296Z         }
2026-06-04T17:03:15.1238457Z       }
2026-06-04T17:03:15.1238624Z     },
2026-06-04T17:03:15.1238788Z     {
2026-06-04T17:03:15.1238999Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T17:03:15.1239393Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T17:03:15.1239588Z       "requiredStages": [
2026-06-04T17:03:15.1239781Z         "impl",
2026-06-04T17:03:15.1239959Z         "unit"
2026-06-04T17:03:15.1240134Z       ],
2026-06-04T17:03:15.1240311Z       "stages": {
2026-06-04T17:03:15.1240475Z         "doc": {
2026-06-04T17:03:15.1240671Z           "complete": false,
2026-06-04T17:03:15.1240852Z           "evidence": []
2026-06-04T17:03:15.1241020Z         },
2026-06-04T17:03:15.1241188Z         "impl": {
2026-06-04T17:03:15.1241376Z           "complete": true,
2026-06-04T17:03:15.1241560Z           "evidence": [
2026-06-04T17:03:15.1241728Z             {
2026-06-04T17:03:15.1241987Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1242162Z               "line": 310
2026-06-04T17:03:15.1242330Z             }
2026-06-04T17:03:15.1242492Z           ]
2026-06-04T17:03:15.1242660Z         },
2026-06-04T17:03:15.1242833Z         "int": {
2026-06-04T17:03:15.1243017Z           "complete": false,
2026-06-04T17:03:15.1243206Z           "evidence": []
2026-06-04T17:03:15.1243368Z         },
2026-06-04T17:03:15.1243556Z         "unit": {
2026-06-04T17:03:15.1243967Z           "complete": true,
2026-06-04T17:03:15.1244181Z           "evidence": [
2026-06-04T17:03:15.1244359Z             {
2026-06-04T17:03:15.1244612Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1244798Z               "line": 477
2026-06-04T17:03:15.1244964Z             }
2026-06-04T17:03:15.1245131Z           ]
2026-06-04T17:03:15.1245289Z         }
2026-06-04T17:03:15.1245462Z       }
2026-06-04T17:03:15.1245629Z     },
2026-06-04T17:03:15.1245789Z     {
2026-06-04T17:03:15.1245994Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T17:03:15.1246373Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T17:03:15.1246571Z       "requiredStages": [
2026-06-04T17:03:15.1246741Z         "impl",
2026-06-04T17:03:15.1246913Z         "unit",
2026-06-04T17:03:15.1247087Z         "int"
2026-06-04T17:03:15.1247248Z       ],
2026-06-04T17:03:15.1247424Z       "stages": {
2026-06-04T17:03:15.1247739Z         "doc": {
2026-06-04T17:03:15.1247954Z           "complete": false,
2026-06-04T17:03:15.1248139Z           "evidence": []
2026-06-04T17:03:15.1248307Z         },
2026-06-04T17:03:15.1248484Z         "impl": {
2026-06-04T17:03:15.1248670Z           "complete": true,
2026-06-04T17:03:15.1248855Z           "evidence": [
2026-06-04T17:03:15.1249018Z             {
2026-06-04T17:03:15.1249313Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:15.1249497Z               "line": 24
2026-06-04T17:03:15.1249667Z             },
2026-06-04T17:03:15.1249835Z             {
2026-06-04T17:03:15.1250074Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1250258Z               "line": 22
2026-06-04T17:03:15.1250418Z             }
2026-06-04T17:03:15.1250591Z           ]
2026-06-04T17:03:15.1250757Z         },
2026-06-04T17:03:15.1250935Z         "int": {
2026-06-04T17:03:15.1251128Z           "complete": true,
2026-06-04T17:03:15.1251305Z           "evidence": [
2026-06-04T17:03:15.1251495Z             {
2026-06-04T17:03:15.1251757Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:15.1251946Z               "line": 202
2026-06-04T17:03:15.1252107Z             }
2026-06-04T17:03:15.1252276Z           ]
2026-06-04T17:03:15.1252442Z         },
2026-06-04T17:03:15.1252611Z         "unit": {
2026-06-04T17:03:15.1252807Z           "complete": true,
2026-06-04T17:03:15.1252983Z           "evidence": [
2026-06-04T17:03:15.1253160Z             {
2026-06-04T17:03:15.1253398Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:15.1253585Z               "line": 163
2026-06-04T17:03:15.1253752Z             },
2026-06-04T17:03:15.1253914Z             {
2026-06-04T17:03:15.1254149Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:15.1254328Z               "line": 186
2026-06-04T17:03:15.1254496Z             },
2026-06-04T17:03:15.1254659Z             {
2026-06-04T17:03:15.1254892Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T17:03:15.1255099Z               "line": 195
2026-06-04T17:03:15.1255265Z             },
2026-06-04T17:03:15.1255432Z             {
2026-06-04T17:03:15.1255673Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1255857Z               "line": 195
2026-06-04T17:03:15.1256023Z             },
2026-06-04T17:03:15.1256201Z             {
2026-06-04T17:03:15.1256447Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1256628Z               "line": 209
2026-06-04T17:03:15.1256803Z             },
2026-06-04T17:03:15.1256965Z             {
2026-06-04T17:03:15.1257217Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1257399Z               "line": 228
2026-06-04T17:03:15.1257564Z             },
2026-06-04T17:03:15.1257731Z             {
2026-06-04T17:03:15.1257973Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1258160Z               "line": 248
2026-06-04T17:03:15.1258324Z             },
2026-06-04T17:03:15.1258509Z             {
2026-06-04T17:03:15.1258936Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1259134Z               "line": 264
2026-06-04T17:03:15.1259351Z             },
2026-06-04T17:03:15.1259516Z             {
2026-06-04T17:03:15.1259770Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T17:03:15.1259952Z               "line": 279
2026-06-04T17:03:15.1260123Z             }
2026-06-04T17:03:15.1260296Z           ]
2026-06-04T17:03:15.1260458Z         }
2026-06-04T17:03:15.1260637Z       }
2026-06-04T17:03:15.1260794Z     },
2026-06-04T17:03:15.1260956Z     {
2026-06-04T17:03:15.1261150Z       "id": "REQ-SEAM-INJECT",
2026-06-04T17:03:15.1261497Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T17:03:15.1261697Z       "requiredStages": [
2026-06-04T17:03:15.1261868Z         "impl",
2026-06-04T17:03:15.1262042Z         "unit"
2026-06-04T17:03:15.1262204Z       ],
2026-06-04T17:03:15.1262379Z       "stages": {
2026-06-04T17:03:15.1262705Z         "doc": {
2026-06-04T17:03:15.1262909Z           "complete": false,
2026-06-04T17:03:15.1263099Z           "evidence": []
2026-06-04T17:03:15.1263260Z         },
2026-06-04T17:03:15.1263436Z         "impl": {
2026-06-04T17:03:15.1263618Z           "complete": true,
2026-06-04T17:03:15.1263804Z           "evidence": [
2026-06-04T17:03:15.1263963Z             {
2026-06-04T17:03:15.1264222Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1264411Z               "line": 19
2026-06-04T17:03:15.1264578Z             },
2026-06-04T17:03:15.1264747Z             {
2026-06-04T17:03:15.1264992Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1265181Z               "line": 104
2026-06-04T17:03:15.1265345Z             }
2026-06-04T17:03:15.1265520Z           ]
2026-06-04T17:03:15.1265690Z         },
2026-06-04T17:03:15.1265861Z         "int": {
2026-06-04T17:03:15.1266058Z           "complete": false,
2026-06-04T17:03:15.1266249Z           "evidence": []
2026-06-04T17:03:15.1266427Z         },
2026-06-04T17:03:15.1266601Z         "unit": {
2026-06-04T17:03:15.1266795Z           "complete": true,
2026-06-04T17:03:15.1266975Z           "evidence": [
2026-06-04T17:03:15.1271118Z             {
2026-06-04T17:03:15.1271392Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1271573Z               "line": 246
2026-06-04T17:03:15.1271747Z             },
2026-06-04T17:03:15.1271906Z             {
2026-06-04T17:03:15.1272154Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1272343Z               "line": 260
2026-06-04T17:03:15.1272508Z             }
2026-06-04T17:03:15.1272685Z           ]
2026-06-04T17:03:15.1272848Z         }
2026-06-04T17:03:15.1273016Z       }
2026-06-04T17:03:15.1273176Z     },
2026-06-04T17:03:15.1273348Z     {
2026-06-04T17:03:15.1273555Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T17:03:15.1273848Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T17:03:15.1274101Z       "requiredStages": [
2026-06-04T17:03:15.1274270Z         "impl",
2026-06-04T17:03:15.1274447Z         "unit"
2026-06-04T17:03:15.1274607Z       ],
2026-06-04T17:03:15.1274782Z       "stages": {
2026-06-04T17:03:15.1274955Z         "doc": {
2026-06-04T17:03:15.1275157Z           "complete": false,
2026-06-04T17:03:15.1275348Z           "evidence": []
2026-06-04T17:03:15.1275508Z         },
2026-06-04T17:03:15.1275681Z         "impl": {
2026-06-04T17:03:15.1275867Z           "complete": true,
2026-06-04T17:03:15.1276053Z           "evidence": [
2026-06-04T17:03:15.1276214Z             {
2026-06-04T17:03:15.1276471Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1276655Z               "line": 18
2026-06-04T17:03:15.1276815Z             },
2026-06-04T17:03:15.1276989Z             {
2026-06-04T17:03:15.1277235Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1277419Z               "line": 304
2026-06-04T17:03:15.1277583Z             }
2026-06-04T17:03:15.1277755Z           ]
2026-06-04T17:03:15.1278161Z         },
2026-06-04T17:03:15.1278355Z         "int": {
2026-06-04T17:03:15.1278548Z           "complete": false,
2026-06-04T17:03:15.1278730Z           "evidence": []
2026-06-04T17:03:15.1278903Z         },
2026-06-04T17:03:15.1279068Z         "unit": {
2026-06-04T17:03:15.1279317Z           "complete": true,
2026-06-04T17:03:15.1279509Z           "evidence": [
2026-06-04T17:03:15.1279673Z             {
2026-06-04T17:03:15.1279923Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1280101Z               "line": 526
2026-06-04T17:03:15.1280272Z             },
2026-06-04T17:03:15.1280442Z             {
2026-06-04T17:03:15.1280680Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1280869Z               "line": 536
2026-06-04T17:03:15.1281033Z             }
2026-06-04T17:03:15.1281201Z           ]
2026-06-04T17:03:15.1281365Z         }
2026-06-04T17:03:15.1281533Z       }
2026-06-04T17:03:15.1281870Z     },
2026-06-04T17:03:15.1282050Z     {
2026-06-04T17:03:15.1282261Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T17:03:15.1282558Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T17:03:15.1282755Z       "requiredStages": [
2026-06-04T17:03:15.1282955Z         "impl",
2026-06-04T17:03:15.1283132Z         "unit",
2026-06-04T17:03:15.1283302Z         "int"
2026-06-04T17:03:15.1283471Z       ],
2026-06-04T17:03:15.1283643Z       "stages": {
2026-06-04T17:03:15.1283808Z         "doc": {
2026-06-04T17:03:15.1284000Z           "complete": false,
2026-06-04T17:03:15.1284177Z           "evidence": []
2026-06-04T17:03:15.1284348Z         },
2026-06-04T17:03:15.1284518Z         "impl": {
2026-06-04T17:03:15.1284717Z           "complete": true,
2026-06-04T17:03:15.1284903Z           "evidence": [
2026-06-04T17:03:15.1285072Z             {
2026-06-04T17:03:15.1285323Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:03:15.1285498Z               "line": 19
2026-06-04T17:03:15.1285687Z             },
2026-06-04T17:03:15.1285857Z             {
2026-06-04T17:03:15.1286105Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T17:03:15.1286293Z               "line": 12
2026-06-04T17:03:15.1286458Z             },
2026-06-04T17:03:15.1286628Z             {
2026-06-04T17:03:15.1286870Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1287058Z               "line": 204
2026-06-04T17:03:15.1287239Z             }
2026-06-04T17:03:15.1287396Z           ]
2026-06-04T17:03:15.1287564Z         },
2026-06-04T17:03:15.1287727Z         "int": {
2026-06-04T17:03:15.1287922Z           "complete": true,
2026-06-04T17:03:15.1288100Z           "evidence": [
2026-06-04T17:03:15.1288269Z             {
2026-06-04T17:03:15.1288529Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:15.1288709Z               "line": 201
2026-06-04T17:03:15.1288879Z             }
2026-06-04T17:03:15.1289035Z           ]
2026-06-04T17:03:15.1289267Z         },
2026-06-04T17:03:15.1289463Z         "unit": {
2026-06-04T17:03:15.1289662Z           "complete": true,
2026-06-04T17:03:15.1289837Z           "evidence": [
2026-06-04T17:03:15.1290008Z             {
2026-06-04T17:03:15.1290256Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:03:15.1290434Z               "line": 161
2026-06-04T17:03:15.1290605Z             },
2026-06-04T17:03:15.1290766Z             {
2026-06-04T17:03:15.1291018Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:03:15.1291201Z               "line": 168
2026-06-04T17:03:15.1291365Z             },
2026-06-04T17:03:15.1291534Z             {
2026-06-04T17:03:15.1291770Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T17:03:15.1291953Z               "line": 191
2026-06-04T17:03:15.1292117Z             },
2026-06-04T17:03:15.1292289Z             {
2026-06-04T17:03:15.1292538Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T17:03:15.1292720Z               "line": 106
2026-06-04T17:03:15.1292907Z             },
2026-06-04T17:03:15.1293223Z             {
2026-06-04T17:03:15.1293534Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T17:03:15.1293763Z               "line": 123
2026-06-04T17:03:15.1293990Z             },
2026-06-04T17:03:15.1294193Z             {
2026-06-04T17:03:15.1294463Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T17:03:15.1294655Z               "line": 137
2026-06-04T17:03:15.1294821Z             }
2026-06-04T17:03:15.1294990Z           ]
2026-06-04T17:03:15.1295151Z         }
2026-06-04T17:03:15.1295326Z       }
2026-06-04T17:03:15.1295497Z     },
2026-06-04T17:03:15.1295660Z     {
2026-06-04T17:03:15.1295869Z       "id": "REQ-SEAM-RESUME",
2026-06-04T17:03:15.1296261Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T17:03:15.1296459Z       "requiredStages": [
2026-06-04T17:03:15.1296628Z         "impl",
2026-06-04T17:03:15.1296799Z         "unit"
2026-06-04T17:03:15.1296967Z       ],
2026-06-04T17:03:15.1297354Z       "stages": {
2026-06-04T17:03:15.1297531Z         "doc": {
2026-06-04T17:03:15.1297719Z           "complete": false,
2026-06-04T17:03:15.1297908Z           "evidence": []
2026-06-04T17:03:15.1298070Z         },
2026-06-04T17:03:15.1298248Z         "impl": {
2026-06-04T17:03:15.1298441Z           "complete": true,
2026-06-04T17:03:15.1298617Z           "evidence": [
2026-06-04T17:03:15.1298783Z             {
2026-06-04T17:03:15.1299020Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:03:15.1299255Z               "line": 19
2026-06-04T17:03:15.1299423Z             }
2026-06-04T17:03:15.1299598Z           ]
2026-06-04T17:03:15.1299768Z         },
2026-06-04T17:03:15.1299936Z         "int": {
2026-06-04T17:03:15.1300133Z           "complete": false,
2026-06-04T17:03:15.1300312Z           "evidence": []
2026-06-04T17:03:15.1300483Z         },
2026-06-04T17:03:15.1300652Z         "unit": {
2026-06-04T17:03:15.1300853Z           "complete": true,
2026-06-04T17:03:15.1301055Z           "evidence": [
2026-06-04T17:03:15.1301227Z             {
2026-06-04T17:03:15.1301478Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:03:15.1301661Z               "line": 168
2026-06-04T17:03:15.1301836Z             },
2026-06-04T17:03:15.1301999Z             {
2026-06-04T17:03:15.1302249Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:03:15.1302446Z               "line": 187
2026-06-04T17:03:15.1302610Z             },
2026-06-04T17:03:15.1307214Z             {
2026-06-04T17:03:15.1307569Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T17:03:15.1307771Z               "line": 205
2026-06-04T17:03:15.1307939Z             }
2026-06-04T17:03:15.1308120Z           ]
2026-06-04T17:03:15.1308290Z         }
2026-06-04T17:03:15.1308451Z       }
2026-06-04T17:03:15.1308622Z     },
2026-06-04T17:03:15.1308785Z     {
2026-06-04T17:03:15.1308993Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T17:03:15.1309339Z       "title": "spawn-session seam",
2026-06-04T17:03:15.1309607Z       "requiredStages": [
2026-06-04T17:03:15.1309823Z         "impl",
2026-06-04T17:03:15.1310008Z         "unit"
2026-06-04T17:03:15.1310183Z       ],
2026-06-04T17:03:15.1310354Z       "stages": {
2026-06-04T17:03:15.1310529Z         "doc": {
2026-06-04T17:03:15.1310718Z           "complete": false,
2026-06-04T17:03:15.1310913Z           "evidence": []
2026-06-04T17:03:15.1311084Z         },
2026-06-04T17:03:15.1311259Z         "impl": {
2026-06-04T17:03:15.1311456Z           "complete": true,
2026-06-04T17:03:15.1311635Z           "evidence": [
2026-06-04T17:03:15.1311812Z             {
2026-06-04T17:03:15.1312070Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1312258Z               "line": 20
2026-06-04T17:03:15.1312428Z             }
2026-06-04T17:03:15.1312588Z           ]
2026-06-04T17:03:15.1312755Z         },
2026-06-04T17:03:15.1312921Z         "int": {
2026-06-04T17:03:15.1313113Z           "complete": false,
2026-06-04T17:03:15.1313313Z           "evidence": []
2026-06-04T17:03:15.1313780Z         },
2026-06-04T17:03:15.1313990Z         "unit": {
2026-06-04T17:03:15.1314177Z           "complete": true,
2026-06-04T17:03:15.1314368Z           "evidence": [
2026-06-04T17:03:15.1314532Z             {
2026-06-04T17:03:15.1314795Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1314977Z               "line": 397
2026-06-04T17:03:15.1315149Z             },
2026-06-04T17:03:15.1315322Z             {
2026-06-04T17:03:15.1315577Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1315763Z               "line": 404
2026-06-04T17:03:15.1315927Z             },
2026-06-04T17:03:15.1316101Z             {
2026-06-04T17:03:15.1316355Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1316541Z               "line": 414
2026-06-04T17:03:15.1316712Z             },
2026-06-04T17:03:15.1316877Z             {
2026-06-04T17:03:15.1317140Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1317479Z               "line": 420
2026-06-04T17:03:15.1317657Z             },
2026-06-04T17:03:15.1317821Z             {
2026-06-04T17:03:15.1318090Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1318281Z               "line": 440
2026-06-04T17:03:15.1318450Z             },
2026-06-04T17:03:15.1318621Z             {
2026-06-04T17:03:15.1318873Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T17:03:15.1319064Z               "line": 473
2026-06-04T17:03:15.1319339Z             }
2026-06-04T17:03:15.1319518Z           ]
2026-06-04T17:03:15.1319688Z         }
2026-06-04T17:03:15.1319850Z       }
2026-06-04T17:03:15.1320023Z     },
2026-06-04T17:03:15.1320179Z     {
2026-06-04T17:03:15.1320389Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T17:03:15.1320738Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T17:03:15.1320935Z       "requiredStages": [
2026-06-04T17:03:15.1321116Z         "impl",
2026-06-04T17:03:15.1321310Z         "unit"
2026-06-04T17:03:15.1321484Z       ],
2026-06-04T17:03:15.1321657Z       "stages": {
2026-06-04T17:03:15.1321833Z         "doc": {
2026-06-04T17:03:15.1322018Z           "complete": false,
2026-06-04T17:03:15.1322205Z           "evidence": []
2026-06-04T17:03:15.1322377Z         },
2026-06-04T17:03:15.1322547Z         "impl": {
2026-06-04T17:03:15.1322741Z           "complete": true,
2026-06-04T17:03:15.1322921Z           "evidence": [
2026-06-04T17:03:15.1323093Z             {
2026-06-04T17:03:15.1323385Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1323577Z               "line": 28
2026-06-04T17:03:15.1323755Z             },
2026-06-04T17:03:15.1323926Z             {
2026-06-04T17:03:15.1324210Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1324390Z               "line": 83
2026-06-04T17:03:15.1324562Z             }
2026-06-04T17:03:15.1324724Z           ]
2026-06-04T17:03:15.1324910Z         },
2026-06-04T17:03:15.1325092Z         "int": {
2026-06-04T17:03:15.1325285Z           "complete": false,
2026-06-04T17:03:15.1325480Z           "evidence": []
2026-06-04T17:03:15.1325642Z         },
2026-06-04T17:03:15.1325815Z         "unit": {
2026-06-04T17:03:15.1325998Z           "complete": true,
2026-06-04T17:03:15.1326184Z           "evidence": [
2026-06-04T17:03:15.1326355Z             {
2026-06-04T17:03:15.1326641Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1326826Z               "line": 270
2026-06-04T17:03:15.1326989Z             },
2026-06-04T17:03:15.1327160Z             {
2026-06-04T17:03:15.1327442Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1327627Z               "line": 281
2026-06-04T17:03:15.1327795Z             }
2026-06-04T17:03:15.1327957Z           ]
2026-06-04T17:03:15.1328126Z         }
2026-06-04T17:03:15.1328288Z       }
2026-06-04T17:03:15.1328457Z     },
2026-06-04T17:03:15.1328630Z     {
2026-06-04T17:03:15.1328981Z       "id": "REQ-SEC-1",
2026-06-04T17:03:15.1329899Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T17:03:15.1330095Z       "requiredStages": [
2026-06-04T17:03:15.1330272Z         "impl",
2026-06-04T17:03:15.1330438Z         "unit"
2026-06-04T17:03:15.1330609Z       ],
2026-06-04T17:03:15.1330779Z       "stages": {
2026-06-04T17:03:15.1330958Z         "doc": {
2026-06-04T17:03:15.1331153Z           "complete": false,
2026-06-04T17:03:15.1331335Z           "evidence": []
2026-06-04T17:03:15.1331508Z         },
2026-06-04T17:03:15.1331680Z         "impl": {
2026-06-04T17:03:15.1331873Z           "complete": true,
2026-06-04T17:03:15.1332051Z           "evidence": [
2026-06-04T17:03:15.1332227Z             {
2026-06-04T17:03:15.1332497Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.1332678Z               "line": 84
2026-06-04T17:03:15.1333006Z             },
2026-06-04T17:03:15.1333187Z             {
2026-06-04T17:03:15.1333458Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.1333638Z               "line": 114
2026-06-04T17:03:15.1333817Z             },
2026-06-04T17:03:15.1333984Z             {
2026-06-04T17:03:15.1334234Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.1334420Z               "line": 128
2026-06-04T17:03:15.1334587Z             },
2026-06-04T17:03:15.1334757Z             {
2026-06-04T17:03:15.1335011Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1335186Z               "line": 108
2026-06-04T17:03:15.1335355Z             },
2026-06-04T17:03:15.1335516Z             {
2026-06-04T17:03:15.1335767Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1335941Z               "line": 129
2026-06-04T17:03:15.1336110Z             },
2026-06-04T17:03:15.1336278Z             {
2026-06-04T17:03:15.1336529Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1336731Z               "line": 142
2026-06-04T17:03:15.1336894Z             },
2026-06-04T17:03:15.1337067Z             {
2026-06-04T17:03:15.1337314Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1337500Z               "line": 208
2026-06-04T17:03:15.1337672Z             },
2026-06-04T17:03:15.1337838Z             {
2026-06-04T17:03:15.1338086Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1338260Z               "line": 234
2026-06-04T17:03:15.1338431Z             },
2026-06-04T17:03:15.1338600Z             {
2026-06-04T17:03:15.1338834Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1339024Z               "line": 1378
2026-06-04T17:03:15.1339238Z             }
2026-06-04T17:03:15.1339412Z           ]
2026-06-04T17:03:15.1339577Z         },
2026-06-04T17:03:15.1339750Z         "int": {
2026-06-04T17:03:15.1344134Z           "complete": false,
2026-06-04T17:03:15.1344465Z           "evidence": []
2026-06-04T17:03:15.1344655Z         },
2026-06-04T17:03:15.1344832Z         "unit": {
2026-06-04T17:03:15.1345028Z           "complete": true,
2026-06-04T17:03:15.1345207Z           "evidence": [
2026-06-04T17:03:15.1345377Z             {
2026-06-04T17:03:15.1345637Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.1345828Z               "line": 140
2026-06-04T17:03:15.1345999Z             },
2026-06-04T17:03:15.1346163Z             {
2026-06-04T17:03:15.1346423Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.1346606Z               "line": 186
2026-06-04T17:03:15.1346786Z             },
2026-06-04T17:03:15.1346954Z             {
2026-06-04T17:03:15.1347210Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T17:03:15.1347395Z               "line": 218
2026-06-04T17:03:15.1347557Z             },
2026-06-04T17:03:15.1347731Z             {
2026-06-04T17:03:15.1347987Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T17:03:15.1348430Z               "line": 128
2026-06-04T17:03:15.1348628Z             },
2026-06-04T17:03:15.1348806Z             {
2026-06-04T17:03:15.1349067Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1349336Z               "line": 248
2026-06-04T17:03:15.1349520Z             },
2026-06-04T17:03:15.1349711Z             {
2026-06-04T17:03:15.1349986Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1350167Z               "line": 275
2026-06-04T17:03:15.1350340Z             },
2026-06-04T17:03:15.1350508Z             {
2026-06-04T17:03:15.1350756Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1350945Z               "line": 299
2026-06-04T17:03:15.1351110Z             },
2026-06-04T17:03:15.1351280Z             {
2026-06-04T17:03:15.1351524Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1351714Z               "line": 310
2026-06-04T17:03:15.1351884Z             },
2026-06-04T17:03:15.1352233Z             {
2026-06-04T17:03:15.1352488Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1352670Z               "line": 334
2026-06-04T17:03:15.1352846Z             },
2026-06-04T17:03:15.1353006Z             {
2026-06-04T17:03:15.1353261Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T17:03:15.1353450Z               "line": 350
2026-06-04T17:03:15.1353619Z             },
2026-06-04T17:03:15.1353788Z             {
2026-06-04T17:03:15.1354010Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1354197Z               "line": 2229
2026-06-04T17:03:15.1354369Z             }
2026-06-04T17:03:15.1354532Z           ]
2026-06-04T17:03:15.1354699Z         }
2026-06-04T17:03:15.1354857Z       }
2026-06-04T17:03:15.1355021Z     },
2026-06-04T17:03:15.1355176Z     {
2026-06-04T17:03:15.1355379Z       "id": "REQ-SHELL-1",
2026-06-04T17:03:15.1357301Z       "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:03:15.1357508Z       "requiredStages": [
2026-06-04T17:03:15.1357683Z         "impl",
2026-06-04T17:03:15.1357848Z         "unit"
2026-06-04T17:03:15.1358012Z       ],
2026-06-04T17:03:15.1358181Z       "stages": {
2026-06-04T17:03:15.1358357Z         "doc": {
2026-06-04T17:03:15.1358553Z           "complete": false,
2026-06-04T17:03:15.1358737Z           "evidence": []
2026-06-04T17:03:15.1358904Z         },
2026-06-04T17:03:15.1359074Z         "impl": {
2026-06-04T17:03:15.1359381Z           "complete": true,
2026-06-04T17:03:15.1359574Z           "evidence": [
2026-06-04T17:03:15.1360049Z             {
2026-06-04T17:03:15.1360341Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1360545Z               "line": 27
2026-06-04T17:03:15.1360730Z             },
2026-06-04T17:03:15.1360899Z             {
2026-06-04T17:03:15.1361170Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1361361Z               "line": 52
2026-06-04T17:03:15.1361526Z             },
2026-06-04T17:03:15.1361700Z             {
2026-06-04T17:03:15.1361958Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1362165Z               "line": 118
2026-06-04T17:03:15.1362386Z             },
2026-06-04T17:03:15.1362596Z             {
2026-06-04T17:03:15.1363060Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1363281Z               "line": 150
2026-06-04T17:03:15.1363504Z             },
2026-06-04T17:03:15.1363721Z             {
2026-06-04T17:03:15.1364062Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1364307Z               "line": 22
2026-06-04T17:03:15.1364542Z             },
2026-06-04T17:03:15.1364750Z             {
2026-06-04T17:03:15.1365391Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1365715Z               "line": 64
2026-06-04T17:03:15.1365967Z             },
2026-06-04T17:03:15.1366216Z             {
2026-06-04T17:03:15.1366531Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1366758Z               "line": 75
2026-06-04T17:03:15.1366967Z             },
2026-06-04T17:03:15.1367167Z             {
2026-06-04T17:03:15.1367471Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1367689Z               "line": 139
2026-06-04T17:03:15.1367894Z             },
2026-06-04T17:03:15.1368081Z             {
2026-06-04T17:03:15.1368397Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1368611Z               "line": 188
2026-06-04T17:03:15.1368795Z             },
2026-06-04T17:03:15.1368998Z             {
2026-06-04T17:03:15.1369433Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1370246Z               "line": 225
2026-06-04T17:03:15.1370418Z             },
2026-06-04T17:03:15.1370609Z             {
2026-06-04T17:03:15.1370903Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1371107Z               "line": 246
2026-06-04T17:03:15.1371292Z             },
2026-06-04T17:03:15.1371469Z             {
2026-06-04T17:03:15.1371767Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1372114Z               "line": 259
2026-06-04T17:03:15.1372326Z             },
2026-06-04T17:03:15.1372553Z             {
2026-06-04T17:03:15.1372889Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.1373160Z               "line": 185
2026-06-04T17:03:15.1373375Z             },
2026-06-04T17:03:15.1373595Z             {
2026-06-04T17:03:15.1373883Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.1374101Z               "line": 201
2026-06-04T17:03:15.1374315Z             },
2026-06-04T17:03:15.1374535Z             {
2026-06-04T17:03:15.1374856Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:15.1375059Z               "line": 41
2026-06-04T17:03:15.1375249Z             },
2026-06-04T17:03:15.1375433Z             {
2026-06-04T17:03:15.1375707Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:15.1375911Z               "line": 204
2026-06-04T17:03:15.1376093Z             },
2026-06-04T17:03:15.1376276Z             {
2026-06-04T17:03:15.1376542Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T17:03:15.1376751Z               "line": 142
2026-06-04T17:03:15.1376946Z             },
2026-06-04T17:03:15.1377129Z             {
2026-06-04T17:03:15.1377382Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:15.1377571Z               "line": 272
2026-06-04T17:03:15.1377752Z             },
2026-06-04T17:03:15.1377921Z             {
2026-06-04T17:03:15.1378172Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T17:03:15.1378379Z               "line": 303
2026-06-04T17:03:15.1378566Z             },
2026-06-04T17:03:15.1378752Z             {
2026-06-04T17:03:15.1379025Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1379311Z               "line": 228
2026-06-04T17:03:15.1379635Z             },
2026-06-04T17:03:15.1379812Z             {
2026-06-04T17:03:15.1380047Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1380236Z               "line": 1754
2026-06-04T17:03:15.1380411Z             },
2026-06-04T17:03:15.1380577Z             {
2026-06-04T17:03:15.1380809Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1381002Z               "line": 1836
2026-06-04T17:03:15.1381179Z             },
2026-06-04T17:03:15.1381353Z             {
2026-06-04T17:03:15.1381573Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1381768Z               "line": 1868
2026-06-04T17:03:15.1381939Z             }
2026-06-04T17:03:15.1387577Z           ]
2026-06-04T17:03:15.1387915Z         },
2026-06-04T17:03:15.1388438Z         "int": {
2026-06-04T17:03:15.1388668Z           "complete": true,
2026-06-04T17:03:15.1388855Z           "evidence": [
2026-06-04T17:03:15.1389033Z             {
2026-06-04T17:03:15.1389390Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-04T17:03:15.1389590Z               "line": 8
2026-06-04T17:03:15.1389757Z             },
2026-06-04T17:03:15.1389934Z             {
2026-06-04T17:03:15.1390214Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-04T17:03:15.1390395Z               "line": 46
2026-06-04T17:03:15.1390573Z             }
2026-06-04T17:03:15.1390738Z           ]
2026-06-04T17:03:15.1390917Z         },
2026-06-04T17:03:15.1391085Z         "unit": {
2026-06-04T17:03:15.1391287Z           "complete": true,
2026-06-04T17:03:15.1391476Z           "evidence": [
2026-06-04T17:03:15.1391643Z             {
2026-06-04T17:03:15.1391918Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1392286Z               "line": 217
2026-06-04T17:03:15.1392467Z             },
2026-06-04T17:03:15.1392634Z             {
2026-06-04T17:03:15.1392907Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1393099Z               "line": 244
2026-06-04T17:03:15.1393269Z             },
2026-06-04T17:03:15.1393445Z             {
2026-06-04T17:03:15.1393710Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-04T17:03:15.1393903Z               "line": 268
2026-06-04T17:03:15.1394075Z             },
2026-06-04T17:03:15.1394259Z             {
2026-06-04T17:03:15.1394536Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1394718Z               "line": 320
2026-06-04T17:03:15.1394898Z             },
2026-06-04T17:03:15.1395061Z             {
2026-06-04T17:03:15.1395332Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1395523Z               "line": 384
2026-06-04T17:03:15.1395693Z             },
2026-06-04T17:03:15.1395883Z             {
2026-06-04T17:03:15.1396158Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-04T17:03:15.1396355Z               "line": 402
2026-06-04T17:03:15.1396523Z             },
2026-06-04T17:03:15.1396696Z             {
2026-06-04T17:03:15.1396959Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.1397146Z               "line": 524
2026-06-04T17:03:15.1397326Z             },
2026-06-04T17:03:15.1397489Z             {
2026-06-04T17:03:15.1397754Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-04T17:03:15.1397934Z               "line": 343
2026-06-04T17:03:15.1398111Z             },
2026-06-04T17:03:15.1398289Z             {
2026-06-04T17:03:15.1398514Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1398708Z               "line": 2444
2026-06-04T17:03:15.1398878Z             },
2026-06-04T17:03:15.1399057Z             {
2026-06-04T17:03:15.1399332Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1399571Z               "line": 2497
2026-06-04T17:03:15.1399750Z             }
2026-06-04T17:03:15.1399917Z           ]
2026-06-04T17:03:15.1400097Z         }
2026-06-04T17:03:15.1400264Z       }
2026-06-04T17:03:15.1400436Z     },
2026-06-04T17:03:15.1400597Z     {
2026-06-04T17:03:15.1400800Z       "id": "REQ-SHELL-2",
2026-06-04T17:03:15.1404116Z       "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:03:15.1404324Z       "requiredStages": [],
2026-06-04T17:03:15.1404517Z       "stages": {
2026-06-04T17:03:15.1404690Z         "doc": {
2026-06-04T17:03:15.1404912Z           "complete": false,
2026-06-04T17:03:15.1405268Z           "evidence": []
2026-06-04T17:03:15.1405453Z         },
2026-06-04T17:03:15.1405643Z         "impl": {
2026-06-04T17:03:15.1405833Z           "complete": false,
2026-06-04T17:03:15.1406029Z           "evidence": []
2026-06-04T17:03:15.1406193Z         },
2026-06-04T17:03:15.1406375Z         "int": {
2026-06-04T17:03:15.1406575Z           "complete": false,
2026-06-04T17:03:15.1406756Z           "evidence": []
2026-06-04T17:03:15.1406933Z         },
2026-06-04T17:03:15.1407110Z         "unit": {
2026-06-04T17:03:15.1407309Z           "complete": false,
2026-06-04T17:03:15.1407495Z           "evidence": []
2026-06-04T17:03:15.1407676Z         }
2026-06-04T17:03:15.1407851Z       }
2026-06-04T17:03:15.1408017Z     },
2026-06-04T17:03:15.1408194Z     {
2026-06-04T17:03:15.1408388Z       "id": "REQ-START-1",
2026-06-04T17:03:15.1408815Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T17:03:15.1409145Z       "requiredStages": [
2026-06-04T17:03:15.1409433Z         "impl",
2026-06-04T17:03:15.1409623Z         "unit"
2026-06-04T17:03:15.1409791Z       ],
2026-06-04T17:03:15.1409977Z       "stages": {
2026-06-04T17:03:15.1410145Z         "doc": {
2026-06-04T17:03:15.1410342Z           "complete": false,
2026-06-04T17:03:15.1410522Z           "evidence": []
2026-06-04T17:03:15.1410696Z         },
2026-06-04T17:03:15.1410879Z         "impl": {
2026-06-04T17:03:15.1411063Z           "complete": true,
2026-06-04T17:03:15.1411250Z           "evidence": [
2026-06-04T17:03:15.1411420Z             {
2026-06-04T17:03:15.1411677Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T17:03:15.1411856Z               "line": 16
2026-06-04T17:03:15.1412028Z             }
2026-06-04T17:03:15.1412202Z           ]
2026-06-04T17:03:15.1412362Z         },
2026-06-04T17:03:15.1412538Z         "int": {
2026-06-04T17:03:15.1412730Z           "complete": false,
2026-06-04T17:03:15.1412927Z           "evidence": []
2026-06-04T17:03:15.1413105Z         },
2026-06-04T17:03:15.1413296Z         "unit": {
2026-06-04T17:03:15.1413495Z           "complete": true,
2026-06-04T17:03:15.1413677Z           "evidence": [
2026-06-04T17:03:15.1413855Z             {
2026-06-04T17:03:15.1414096Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T17:03:15.1414291Z               "line": 43
2026-06-04T17:03:15.1414455Z             },
2026-06-04T17:03:15.1414629Z             {
2026-06-04T17:03:15.1414879Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T17:03:15.1415058Z               "line": 59
2026-06-04T17:03:15.1415236Z             }
2026-06-04T17:03:15.1415402Z           ]
2026-06-04T17:03:15.1415573Z         }
2026-06-04T17:03:15.1415733Z       }
2026-06-04T17:03:15.1415903Z     },
2026-06-04T17:03:15.1416078Z     {
2026-06-04T17:03:15.1416263Z       "id": "REQ-START-2",
2026-06-04T17:03:15.1416568Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T17:03:15.1416759Z       "requiredStages": [
2026-06-04T17:03:15.1416971Z         "impl",
2026-06-04T17:03:15.1417149Z         "unit",
2026-06-04T17:03:15.1417323Z         "int"
2026-06-04T17:03:15.1417496Z       ],
2026-06-04T17:03:15.1417670Z       "stages": {
2026-06-04T17:03:15.1417850Z         "doc": {
2026-06-04T17:03:15.1418043Z           "complete": false,
2026-06-04T17:03:15.1418236Z           "evidence": []
2026-06-04T17:03:15.1418402Z         },
2026-06-04T17:03:15.1418588Z         "impl": {
2026-06-04T17:03:15.1418789Z           "complete": true,
2026-06-04T17:03:15.1418968Z           "evidence": [
2026-06-04T17:03:15.1419140Z             {
2026-06-04T17:03:15.1419436Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1419626Z               "line": 16
2026-06-04T17:03:15.1419796Z             },
2026-06-04T17:03:15.1419973Z             {
2026-06-04T17:03:15.1420236Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1420415Z               "line": 97
2026-06-04T17:03:15.1420594Z             },
2026-06-04T17:03:15.1420923Z             {
2026-06-04T17:03:15.1421200Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1421380Z               "line": 203
2026-06-04T17:03:15.1421556Z             }
2026-06-04T17:03:15.1421728Z           ]
2026-06-04T17:03:15.1421890Z         },
2026-06-04T17:03:15.1422071Z         "int": {
2026-06-04T17:03:15.1422258Z           "complete": true,
2026-06-04T17:03:15.1422448Z           "evidence": [
2026-06-04T17:03:15.1422612Z             {
2026-06-04T17:03:15.1422879Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:15.1423073Z               "line": 150
2026-06-04T17:03:15.1423242Z             }
2026-06-04T17:03:15.1427811Z           ]
2026-06-04T17:03:15.1428076Z         },
2026-06-04T17:03:15.1428271Z         "unit": {
2026-06-04T17:03:15.1428467Z           "complete": true,
2026-06-04T17:03:15.1428656Z           "evidence": [
2026-06-04T17:03:15.1428828Z             {
2026-06-04T17:03:15.1429079Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1429640Z               "line": 411
2026-06-04T17:03:15.1429813Z             },
2026-06-04T17:03:15.1429987Z             {
2026-06-04T17:03:15.1430233Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1430428Z               "line": 444
2026-06-04T17:03:15.1430607Z             }
2026-06-04T17:03:15.1430773Z           ]
2026-06-04T17:03:15.1430951Z         }
2026-06-04T17:03:15.1431116Z       }
2026-06-04T17:03:15.1431282Z     },
2026-06-04T17:03:15.1431438Z     {
2026-06-04T17:03:15.1431636Z       "id": "REQ-START-3",
2026-06-04T17:03:15.1432022Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T17:03:15.1432218Z       "requiredStages": [
2026-06-04T17:03:15.1432399Z         "impl",
2026-06-04T17:03:15.1432565Z         "unit",
2026-06-04T17:03:15.1432739Z         "int"
2026-06-04T17:03:15.1432907Z       ],
2026-06-04T17:03:15.1433095Z       "stages": {
2026-06-04T17:03:15.1433273Z         "doc": {
2026-06-04T17:03:15.1433488Z           "complete": false,
2026-06-04T17:03:15.1433682Z           "evidence": []
2026-06-04T17:03:15.1433850Z         },
2026-06-04T17:03:15.1434032Z         "impl": {
2026-06-04T17:03:15.1434218Z           "complete": true,
2026-06-04T17:03:15.1434408Z           "evidence": [
2026-06-04T17:03:15.1434582Z             {
2026-06-04T17:03:15.1434837Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:03:15.1435021Z               "line": 23
2026-06-04T17:03:15.1435186Z             },
2026-06-04T17:03:15.1435360Z             {
2026-06-04T17:03:15.1435617Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:03:15.1435810Z               "line": 167
2026-06-04T17:03:15.1435985Z             },
2026-06-04T17:03:15.1436150Z             {
2026-06-04T17:03:15.1436408Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:03:15.1436593Z               "line": 180
2026-06-04T17:03:15.1436777Z             },
2026-06-04T17:03:15.1436953Z             {
2026-06-04T17:03:15.1437224Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1437411Z               "line": 17
2026-06-04T17:03:15.1437573Z             },
2026-06-04T17:03:15.1437743Z             {
2026-06-04T17:03:15.1437985Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1438180Z               "line": 43
2026-06-04T17:03:15.1438342Z             },
2026-06-04T17:03:15.1438521Z             {
2026-06-04T17:03:15.1438775Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1438951Z               "line": 98
2026-06-04T17:03:15.1439132Z             }
2026-06-04T17:03:15.1439341Z           ]
2026-06-04T17:03:15.1439513Z         },
2026-06-04T17:03:15.1439679Z         "int": {
2026-06-04T17:03:15.1439876Z           "complete": true,
2026-06-04T17:03:15.1440065Z           "evidence": [
2026-06-04T17:03:15.1440228Z             {
2026-06-04T17:03:15.1440490Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T17:03:15.1440868Z               "line": 321
2026-06-04T17:03:15.1441072Z             }
2026-06-04T17:03:15.1441237Z           ]
2026-06-04T17:03:15.1441411Z         },
2026-06-04T17:03:15.1441590Z         "unit": {
2026-06-04T17:03:15.1441782Z           "complete": true,
2026-06-04T17:03:15.1441976Z           "evidence": [
2026-06-04T17:03:15.1442143Z             {
2026-06-04T17:03:15.1442405Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:03:15.1442579Z               "line": 245
2026-06-04T17:03:15.1442757Z             },
2026-06-04T17:03:15.1442933Z             {
2026-06-04T17:03:15.1443185Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:03:15.1443374Z               "line": 263
2026-06-04T17:03:15.1443541Z             },
2026-06-04T17:03:15.1443714Z             {
2026-06-04T17:03:15.1443975Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T17:03:15.1444166Z               "line": 273
2026-06-04T17:03:15.1444339Z             },
2026-06-04T17:03:15.1444644Z             {
2026-06-04T17:03:15.1444910Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1445093Z               "line": 412
2026-06-04T17:03:15.1445269Z             },
2026-06-04T17:03:15.1445443Z             {
2026-06-04T17:03:15.1445684Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1445873Z               "line": 445
2026-06-04T17:03:15.1446035Z             },
2026-06-04T17:03:15.1446207Z             {
2026-06-04T17:03:15.1446449Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T17:03:15.1446635Z               "line": 453
2026-06-04T17:03:15.1446807Z             }
2026-06-04T17:03:15.1446968Z           ]
2026-06-04T17:03:15.1447141Z         }
2026-06-04T17:03:15.1447302Z       }
2026-06-04T17:03:15.1447467Z     },
2026-06-04T17:03:15.1447622Z     {
2026-06-04T17:03:15.1447820Z       "id": "REQ-START-4",
2026-06-04T17:03:15.1448156Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T17:03:15.1448388Z       "requiredStages": [
2026-06-04T17:03:15.1448748Z         "impl",
2026-06-04T17:03:15.1448939Z         "unit"
2026-06-04T17:03:15.1449134Z       ],
2026-06-04T17:03:15.1449390Z       "stages": {
2026-06-04T17:03:15.1449618Z         "doc": {
2026-06-04T17:03:15.1449871Z           "complete": false,
2026-06-04T17:03:15.1450113Z           "evidence": []
2026-06-04T17:03:15.1450328Z         },
2026-06-04T17:03:15.1450541Z         "impl": {
2026-06-04T17:03:15.1450888Z           "complete": true,
2026-06-04T17:03:15.1451066Z           "evidence": [
2026-06-04T17:03:15.1451244Z             {
2026-06-04T17:03:15.1451521Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1451701Z               "line": 297
2026-06-04T17:03:15.1451877Z             }
2026-06-04T17:03:15.1452045Z           ]
2026-06-04T17:03:15.1452219Z         },
2026-06-04T17:03:15.1452389Z         "int": {
2026-06-04T17:03:15.1452589Z           "complete": false,
2026-06-04T17:03:15.1452781Z           "evidence": []
2026-06-04T17:03:15.1452985Z         },
2026-06-04T17:03:15.1453164Z         "unit": {
2026-06-04T17:03:15.1453346Z           "complete": true,
2026-06-04T17:03:15.1453532Z           "evidence": [
2026-06-04T17:03:15.1453695Z             {
2026-06-04T17:03:15.1453961Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T17:03:15.1454158Z               "line": 490
2026-06-04T17:03:15.1454323Z             }
2026-06-04T17:03:15.1454498Z           ]
2026-06-04T17:03:15.1454663Z         }
2026-06-04T17:03:15.1454834Z       }
2026-06-04T17:03:15.1455001Z     },
2026-06-04T17:03:15.1455175Z     {
2026-06-04T17:03:15.1455366Z       "id": "REQ-STORE-1",
2026-06-04T17:03:15.1457248Z       "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:03:15.1457676Z       "requiredStages": [
2026-06-04T17:03:15.1457870Z         "impl",
2026-06-04T17:03:15.1458054Z         "unit"
2026-06-04T17:03:15.1458222Z       ],
2026-06-04T17:03:15.1458390Z       "stages": {
2026-06-04T17:03:15.1458570Z         "doc": {
2026-06-04T17:03:15.1458759Z           "complete": false,
2026-06-04T17:03:15.1458951Z           "evidence": []
2026-06-04T17:03:15.1459115Z         },
2026-06-04T17:03:15.1459352Z         "impl": {
2026-06-04T17:03:15.1459710Z           "complete": true,
2026-06-04T17:03:15.1460075Z           "evidence": [
2026-06-04T17:03:15.1460247Z             {
2026-06-04T17:03:15.1460523Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1460715Z               "line": 23
2026-06-04T17:03:15.1460883Z             },
2026-06-04T17:03:15.1461056Z             {
2026-06-04T17:03:15.1461337Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1461521Z               "line": 46
2026-06-04T17:03:15.1461847Z             },
2026-06-04T17:03:15.1462033Z             {
2026-06-04T17:03:15.1462326Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1462669Z               "line": 88
2026-06-04T17:03:15.1462873Z             },
2026-06-04T17:03:15.1467697Z             {
2026-06-04T17:03:15.1468104Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1468303Z               "line": 109
2026-06-04T17:03:15.1468472Z             },
2026-06-04T17:03:15.1468648Z             {
2026-06-04T17:03:15.1468914Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1469102Z               "line": 152
2026-06-04T17:03:15.1469376Z             },
2026-06-04T17:03:15.1469552Z             {
2026-06-04T17:03:15.1469822Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1470005Z               "line": 165
2026-06-04T17:03:15.1470180Z             },
2026-06-04T17:03:15.1470347Z             {
2026-06-04T17:03:15.1470686Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1470877Z               "line": 353
2026-06-04T17:03:15.1471040Z             },
2026-06-04T17:03:15.1471206Z             {
2026-06-04T17:03:15.1471472Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1471661Z               "line": 25
2026-06-04T17:03:15.1471840Z             },
2026-06-04T17:03:15.1472008Z             {
2026-06-04T17:03:15.1472282Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1472461Z               "line": 92
2026-06-04T17:03:15.1472637Z             },
2026-06-04T17:03:15.1472798Z             {
2026-06-04T17:03:15.1473077Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1473267Z               "line": 117
2026-06-04T17:03:15.1473434Z             },
2026-06-04T17:03:15.1473603Z             {
2026-06-04T17:03:15.1473872Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1474073Z               "line": 131
2026-06-04T17:03:15.1474249Z             },
2026-06-04T17:03:15.1474428Z             {
2026-06-04T17:03:15.1474698Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1474877Z               "line": 145
2026-06-04T17:03:15.1475052Z             },
2026-06-04T17:03:15.1475223Z             {
2026-06-04T17:03:15.1475497Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1475680Z               "line": 154
2026-06-04T17:03:15.1475854Z             },
2026-06-04T17:03:15.1476027Z             {
2026-06-04T17:03:15.1476279Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:03:15.1476464Z               "line": 16
2026-06-04T17:03:15.1476631Z             },
2026-06-04T17:03:15.1476809Z             {
2026-06-04T17:03:15.1477054Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:03:15.1477246Z               "line": 63
2026-06-04T17:03:15.1477419Z             }
2026-06-04T17:03:15.1477594Z           ]
2026-06-04T17:03:15.1478027Z         },
2026-06-04T17:03:15.1478214Z         "int": {
2026-06-04T17:03:15.1478417Z           "complete": false,
2026-06-04T17:03:15.1478601Z           "evidence": []
2026-06-04T17:03:15.1478775Z         },
2026-06-04T17:03:15.1478958Z         "unit": {
2026-06-04T17:03:15.1479147Z           "complete": true,
2026-06-04T17:03:15.1479400Z           "evidence": [
2026-06-04T17:03:15.1479566Z             {
2026-06-04T17:03:15.1479847Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1480031Z               "line": 391
2026-06-04T17:03:15.1480208Z             },
2026-06-04T17:03:15.1480381Z             {
2026-06-04T17:03:15.1480647Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1480841Z               "line": 401
2026-06-04T17:03:15.1481005Z             },
2026-06-04T17:03:15.1481177Z             {
2026-06-04T17:03:15.1481441Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1481792Z               "line": 421
2026-06-04T17:03:15.1481985Z             },
2026-06-04T17:03:15.1482150Z             {
2026-06-04T17:03:15.1482419Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1482599Z               "line": 437
2026-06-04T17:03:15.1482778Z             },
2026-06-04T17:03:15.1482940Z             {
2026-06-04T17:03:15.1483213Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T17:03:15.1483409Z               "line": 458
2026-06-04T17:03:15.1483574Z             },
2026-06-04T17:03:15.1483749Z             {
2026-06-04T17:03:15.1484019Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1484215Z               "line": 418
2026-06-04T17:03:15.1484387Z             },
2026-06-04T17:03:15.1484558Z             {
2026-06-04T17:03:15.1484831Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T17:03:15.1485010Z               "line": 448
2026-06-04T17:03:15.1485188Z             },
2026-06-04T17:03:15.1485364Z             {
2026-06-04T17:03:15.1485636Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:03:15.1485833Z               "line": 116
2026-06-04T17:03:15.1486003Z             },
2026-06-04T17:03:15.1486176Z             {
2026-06-04T17:03:15.1486426Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T17:03:15.1486615Z               "line": 124
2026-06-04T17:03:15.1486780Z             }
2026-06-04T17:03:15.1486949Z           ]
2026-06-04T17:03:15.1487122Z         }
2026-06-04T17:03:15.1487282Z       }
2026-06-04T17:03:15.1487451Z     },
2026-06-04T17:03:15.1487610Z     {
2026-06-04T17:03:15.1487806Z       "id": "REQ-TERM-1",
2026-06-04T17:03:15.1488170Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T17:03:15.1488371Z       "requiredStages": [
2026-06-04T17:03:15.1488548Z         "impl",
2026-06-04T17:03:15.1488715Z         "unit"
2026-06-04T17:03:15.1488884Z       ],
2026-06-04T17:03:15.1489060Z       "stages": {
2026-06-04T17:03:15.1489296Z         "doc": {
2026-06-04T17:03:15.1489500Z           "complete": false,
2026-06-04T17:03:15.1489696Z           "evidence": []
2026-06-04T17:03:15.1489867Z         },
2026-06-04T17:03:15.1490039Z         "impl": {
2026-06-04T17:03:15.1490235Z           "complete": true,
2026-06-04T17:03:15.1490416Z           "evidence": [
2026-06-04T17:03:15.1490593Z             {
2026-06-04T17:03:15.1490861Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T17:03:15.1491052Z               "line": 61
2026-06-04T17:03:15.1491228Z             },
2026-06-04T17:03:15.1491389Z             {
2026-06-04T17:03:15.1491626Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T17:03:15.1491807Z               "line": 169
2026-06-04T17:03:15.1491978Z             },
2026-06-04T17:03:15.1492143Z             {
2026-06-04T17:03:15.1492395Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T17:03:15.1492581Z               "line": 95
2026-06-04T17:03:15.1492740Z             }
2026-06-04T17:03:15.1492922Z           ]
2026-06-04T17:03:15.1493225Z         },
2026-06-04T17:03:15.1493419Z         "int": {
2026-06-04T17:03:15.1493612Z           "complete": false,
2026-06-04T17:03:15.1493805Z           "evidence": []
2026-06-04T17:03:15.1493986Z         },
2026-06-04T17:03:15.1494160Z         "unit": {
2026-06-04T17:03:15.1494363Z           "complete": true,
2026-06-04T17:03:15.1494543Z           "evidence": [
2026-06-04T17:03:15.1494717Z             {
2026-06-04T17:03:15.1494972Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T17:03:15.1495162Z               "line": 28
2026-06-04T17:03:15.1495337Z             },
2026-06-04T17:03:15.1495498Z             {
2026-06-04T17:03:15.1495759Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T17:03:15.1495940Z               "line": 60
2026-06-04T17:03:15.1496111Z             }
2026-06-04T17:03:15.1496271Z           ]
2026-06-04T17:03:15.1496442Z         }
2026-06-04T17:03:15.1496612Z       }
2026-06-04T17:03:15.1496917Z     },
2026-06-04T17:03:15.1497100Z     {
2026-06-04T17:03:15.1497294Z       "id": "REQ-TERM-2",
2026-06-04T17:03:15.1497693Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T17:03:15.1497887Z       "requiredStages": [
2026-06-04T17:03:15.1498064Z         "impl",
2026-06-04T17:03:15.1498236Z         "unit"
2026-06-04T17:03:15.1498395Z       ],
2026-06-04T17:03:15.1498580Z       "stages": {
2026-06-04T17:03:15.1498747Z         "doc": {
2026-06-04T17:03:15.1498942Z           "complete": false,
2026-06-04T17:03:15.1499124Z           "evidence": []
2026-06-04T17:03:15.1499350Z         },
2026-06-04T17:03:15.1499533Z         "impl": {
2026-06-04T17:03:15.1499720Z           "complete": true,
2026-06-04T17:03:15.1499910Z           "evidence": [
2026-06-04T17:03:15.1500074Z             {
2026-06-04T17:03:15.1500328Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T17:03:15.1500509Z               "line": 112
2026-06-04T17:03:15.1504869Z             },
2026-06-04T17:03:15.1505142Z             {
2026-06-04T17:03:15.1505425Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T17:03:15.1505623Z               "line": 122
2026-06-04T17:03:15.1505790Z             }
2026-06-04T17:03:15.1505958Z           ]
2026-06-04T17:03:15.1506117Z         },
2026-06-04T17:03:15.1506299Z         "int": {
2026-06-04T17:03:15.1506504Z           "complete": false,
2026-06-04T17:03:15.1506687Z           "evidence": []
2026-06-04T17:03:15.1506859Z         },
2026-06-04T17:03:15.1507034Z         "unit": {
2026-06-04T17:03:15.1507228Z           "complete": true,
2026-06-04T17:03:15.1507407Z           "evidence": [
2026-06-04T17:03:15.1507578Z             {
2026-06-04T17:03:15.1507840Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T17:03:15.1508014Z               "line": 46
2026-06-04T17:03:15.1508187Z             },
2026-06-04T17:03:15.1508349Z             {
2026-06-04T17:03:15.1508609Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T17:03:15.1508800Z               "line": 71
2026-06-04T17:03:15.1508982Z             }
2026-06-04T17:03:15.1509245Z           ]
2026-06-04T17:03:15.1509412Z         }
2026-06-04T17:03:15.1509582Z       }
2026-06-04T17:03:15.1509741Z     },
2026-06-04T17:03:15.1509904Z     {
2026-06-04T17:03:15.1510090Z       "id": "REQ-TERM-3",
2026-06-04T17:03:15.1510398Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T17:03:15.1510594Z       "requiredStages": [
2026-06-04T17:03:15.1510762Z         "impl",
2026-06-04T17:03:15.1510937Z         "unit"
2026-06-04T17:03:15.1511097Z       ],
2026-06-04T17:03:15.1511273Z       "stages": {
2026-06-04T17:03:15.1511445Z         "doc": {
2026-06-04T17:03:15.1511640Z           "complete": false,
2026-06-04T17:03:15.1511831Z           "evidence": []
2026-06-04T17:03:15.1511990Z         },
2026-06-04T17:03:15.1512167Z         "impl": {
2026-06-04T17:03:15.1512355Z           "complete": true,
2026-06-04T17:03:15.1512542Z           "evidence": [
2026-06-04T17:03:15.1512717Z             {
2026-06-04T17:03:15.1513223Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T17:03:15.1513429Z               "line": 71
2026-06-04T17:03:15.1513595Z             }
2026-06-04T17:03:15.1513767Z           ]
2026-06-04T17:03:15.1513928Z         },
2026-06-04T17:03:15.1514108Z         "int": {
2026-06-04T17:03:15.1514296Z           "complete": false,
2026-06-04T17:03:15.1514486Z           "evidence": []
2026-06-04T17:03:15.1514661Z         },
2026-06-04T17:03:15.1514830Z         "unit": {
2026-06-04T17:03:15.1515023Z           "complete": true,
2026-06-04T17:03:15.1515199Z           "evidence": [
2026-06-04T17:03:15.1515368Z             {
2026-06-04T17:03:15.1515620Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T17:03:15.1515808Z               "line": 37
2026-06-04T17:03:15.1515983Z             },
2026-06-04T17:03:15.1516148Z             {
2026-06-04T17:03:15.1516402Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T17:03:15.1516717Z               "line": 67
2026-06-04T17:03:15.1516900Z             }
2026-06-04T17:03:15.1517065Z           ]
2026-06-04T17:03:15.1517235Z         }
2026-06-04T17:03:15.1517413Z       }
2026-06-04T17:03:15.1517594Z     },
2026-06-04T17:03:15.1517785Z     {
2026-06-04T17:03:15.1518139Z       "id": "REQ-TERM-4",
2026-06-04T17:03:15.1519018Z       "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:03:15.1519337Z       "requiredStages": [
2026-06-04T17:03:15.1519573Z         "impl",
2026-06-04T17:03:15.1519771Z         "unit",
2026-06-04T17:03:15.1520085Z         "int"
2026-06-04T17:03:15.1520258Z       ],
2026-06-04T17:03:15.1520431Z       "stages": {
2026-06-04T17:03:15.1520608Z         "doc": {
2026-06-04T17:03:15.1520801Z           "complete": true,
2026-06-04T17:03:15.1520992Z           "evidence": [
2026-06-04T17:03:15.1521165Z             {
2026-06-04T17:03:15.1521387Z               "path": "docs/MANIFEST.md",
2026-06-04T17:03:15.1521614Z               "line": 115
2026-06-04T17:03:15.1521782Z             }
2026-06-04T17:03:15.1521954Z           ]
2026-06-04T17:03:15.1522119Z         },
2026-06-04T17:03:15.1522298Z         "impl": {
2026-06-04T17:03:15.1522498Z           "complete": true,
2026-06-04T17:03:15.1522680Z           "evidence": [
2026-06-04T17:03:15.1522853Z             {
2026-06-04T17:03:15.1523142Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T17:03:15.1523332Z               "line": 463
2026-06-04T17:03:15.1523498Z             },
2026-06-04T17:03:15.1523675Z             {
2026-06-04T17:03:15.1523937Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1524114Z               "line": 41
2026-06-04T17:03:15.1524286Z             },
2026-06-04T17:03:15.1524452Z             {
2026-06-04T17:03:15.1524717Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1524894Z               "line": 91
2026-06-04T17:03:15.1525067Z             },
2026-06-04T17:03:15.1525254Z             {
2026-06-04T17:03:15.1525680Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1526025Z               "line": 152
2026-06-04T17:03:15.1526352Z             },
2026-06-04T17:03:15.1526545Z             {
2026-06-04T17:03:15.1526830Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1527038Z               "line": 212
2026-06-04T17:03:15.1527226Z             },
2026-06-04T17:03:15.1527394Z             {
2026-06-04T17:03:15.1527674Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1527862Z               "line": 20
2026-06-04T17:03:15.1528047Z             },
2026-06-04T17:03:15.1528220Z             {
2026-06-04T17:03:15.1528504Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1528698Z               "line": 212
2026-06-04T17:03:15.1528872Z             },
2026-06-04T17:03:15.1529054Z             {
2026-06-04T17:03:15.1529387Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1529956Z               "line": 226
2026-06-04T17:03:15.1530152Z             },
2026-06-04T17:03:15.1530329Z             {
2026-06-04T17:03:15.1530599Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.1530779Z               "line": 585
2026-06-04T17:03:15.1530956Z             },
2026-06-04T17:03:15.1531125Z             {
2026-06-04T17:03:15.1531377Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1531557Z               "line": 157
2026-06-04T17:03:15.1531741Z             },
2026-06-04T17:03:15.1531913Z             {
2026-06-04T17:03:15.1532157Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1532356Z               "line": 199
2026-06-04T17:03:15.1532519Z             },
2026-06-04T17:03:15.1532692Z             {
2026-06-04T17:03:15.1532945Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1533133Z               "line": 226
2026-06-04T17:03:15.1533311Z             },
2026-06-04T17:03:15.1533640Z             {
2026-06-04T17:03:15.1533873Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1534050Z               "line": 508
2026-06-04T17:03:15.1534223Z             }
2026-06-04T17:03:15.1534395Z           ]
2026-06-04T17:03:15.1534558Z         },
2026-06-04T17:03:15.1534732Z         "int": {
2026-06-04T17:03:15.1534919Z           "complete": true,
2026-06-04T17:03:15.1535104Z           "evidence": [
2026-06-04T17:03:15.1535268Z             {
2026-06-04T17:03:15.1535539Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T17:03:15.1535727Z               "line": 18
2026-06-04T17:03:15.1535896Z             }
2026-06-04T17:03:15.1536063Z           ]
2026-06-04T17:03:15.1536221Z         },
2026-06-04T17:03:15.1536396Z         "unit": {
2026-06-04T17:03:15.1536586Z           "complete": true,
2026-06-04T17:03:15.1536778Z           "evidence": [
2026-06-04T17:03:15.1536949Z             {
2026-06-04T17:03:15.1537201Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1537423Z               "line": 250
2026-06-04T17:03:15.1537592Z             },
2026-06-04T17:03:15.1537762Z             {
2026-06-04T17:03:15.1538013Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1538208Z               "line": 263
2026-06-04T17:03:15.1538392Z             },
2026-06-04T17:03:15.1538554Z             {
2026-06-04T17:03:15.1543301Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1543593Z               "line": 275
2026-06-04T17:03:15.1543776Z             },
2026-06-04T17:03:15.1543942Z             {
2026-06-04T17:03:15.1544221Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1544417Z               "line": 290
2026-06-04T17:03:15.1544586Z             },
2026-06-04T17:03:15.1544758Z             {
2026-06-04T17:03:15.1545014Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1545204Z               "line": 305
2026-06-04T17:03:15.1545429Z             },
2026-06-04T17:03:15.1545624Z             {
2026-06-04T17:03:15.1545891Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1546081Z               "line": 327
2026-06-04T17:03:15.1546259Z             },
2026-06-04T17:03:15.1546423Z             {
2026-06-04T17:03:15.1546680Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1546862Z               "line": 337
2026-06-04T17:03:15.1547041Z             },
2026-06-04T17:03:15.1547215Z             {
2026-06-04T17:03:15.1547465Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T17:03:15.1547656Z               "line": 364
2026-06-04T17:03:15.1547819Z             },
2026-06-04T17:03:15.1547994Z             {
2026-06-04T17:03:15.1548255Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1548442Z               "line": 338
2026-06-04T17:03:15.1548618Z             },
2026-06-04T17:03:15.1548782Z             {
2026-06-04T17:03:15.1549367Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1549587Z               "line": 350
2026-06-04T17:03:15.1549762Z             },
2026-06-04T17:03:15.1549926Z             {
2026-06-04T17:03:15.1550198Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1550389Z               "line": 367
2026-06-04T17:03:15.1550553Z             },
2026-06-04T17:03:15.1550728Z             {
2026-06-04T17:03:15.1550988Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T17:03:15.1551179Z               "line": 378
2026-06-04T17:03:15.1551356Z             },
2026-06-04T17:03:15.1551522Z             {
2026-06-04T17:03:15.1551797Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.1551977Z               "line": 770
2026-06-04T17:03:15.1552148Z             },
2026-06-04T17:03:15.1552313Z             {
2026-06-04T17:03:15.1552578Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.1552767Z               "line": 777
2026-06-04T17:03:15.1553083Z             },
2026-06-04T17:03:15.1553269Z             {
2026-06-04T17:03:15.1553534Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.1553722Z               "line": 792
2026-06-04T17:03:15.1553884Z             },
2026-06-04T17:03:15.1554059Z             {
2026-06-04T17:03:15.1554312Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1554498Z               "line": 381
2026-06-04T17:03:15.1554673Z             },
2026-06-04T17:03:15.1554844Z             {
2026-06-04T17:03:15.1555105Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1555287Z               "line": 402
2026-06-04T17:03:15.1555461Z             },
2026-06-04T17:03:15.1555631Z             {
2026-06-04T17:03:15.1555877Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1556069Z               "line": 415
2026-06-04T17:03:15.1556233Z             },
2026-06-04T17:03:15.1556410Z             {
2026-06-04T17:03:15.1556675Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1556875Z               "line": 434
2026-06-04T17:03:15.1557050Z             },
2026-06-04T17:03:15.1557213Z             {
2026-06-04T17:03:15.1557463Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T17:03:15.1557652Z               "line": 461
2026-06-04T17:03:15.1557824Z             },
2026-06-04T17:03:15.1557990Z             {
2026-06-04T17:03:15.1558253Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T17:03:15.1558439Z               "line": 32
2026-06-04T17:03:15.1558602Z             },
2026-06-04T17:03:15.1558772Z             {
2026-06-04T17:03:15.1558993Z               "path": "crates/spt/src/cli.rs",
2026-06-04T17:03:15.1559251Z               "line": 2648
2026-06-04T17:03:15.1559422Z             }
2026-06-04T17:03:15.1559596Z           ]
2026-06-04T17:03:15.1559769Z         }
2026-06-04T17:03:15.1559928Z       }
2026-06-04T17:03:15.1560098Z     },
2026-06-04T17:03:15.1560260Z     {
2026-06-04T17:03:15.1560472Z       "id": "REQ-UPD-1",
2026-06-04T17:03:15.1560736Z       "title": "Peer-propagated update over P2P",
2026-06-04T17:03:15.1560943Z       "requiredStages": [
2026-06-04T17:03:15.1561121Z         "impl",
2026-06-04T17:03:15.1561292Z         "unit",
2026-06-04T17:03:15.1561465Z         "int"
2026-06-04T17:03:15.1561626Z       ],
2026-06-04T17:03:15.1561816Z       "stages": {
2026-06-04T17:03:15.1561986Z         "doc": {
2026-06-04T17:03:15.1562189Z           "complete": false,
2026-06-04T17:03:15.1562375Z           "evidence": []
2026-06-04T17:03:15.1562537Z         },
2026-06-04T17:03:15.1562718Z         "impl": {
2026-06-04T17:03:15.1562907Z           "complete": true,
2026-06-04T17:03:15.1563097Z           "evidence": [
2026-06-04T17:03:15.1563262Z             {
2026-06-04T17:03:15.1563542Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.1563731Z               "line": 28
2026-06-04T17:03:15.1563894Z             },
2026-06-04T17:03:15.1564065Z             {
2026-06-04T17:03:15.1564506Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.1564708Z               "line": 74
2026-06-04T17:03:15.1564876Z             },
2026-06-04T17:03:15.1565050Z             {
2026-06-04T17:03:15.1565319Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.1565501Z               "line": 209
2026-06-04T17:03:15.1565679Z             },
2026-06-04T17:03:15.1565843Z             {
2026-06-04T17:03:15.1566110Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:03:15.1566293Z               "line": 22
2026-06-04T17:03:15.1566471Z             },
2026-06-04T17:03:15.1566644Z             {
2026-06-04T17:03:15.1566903Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:03:15.1567091Z               "line": 67
2026-06-04T17:03:15.1567258Z             },
2026-06-04T17:03:15.1567432Z             {
2026-06-04T17:03:15.1567684Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:03:15.1568045Z               "line": 80
2026-06-04T17:03:15.1568233Z             },
2026-06-04T17:03:15.1568399Z             {
2026-06-04T17:03:15.1568665Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:03:15.1568845Z               "line": 101
2026-06-04T17:03:15.1569025Z             },
2026-06-04T17:03:15.1569233Z             {
2026-06-04T17:03:15.1569506Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:03:15.1569697Z               "line": 37
2026-06-04T17:03:15.1569862Z             }
2026-06-04T17:03:15.1570033Z           ]
2026-06-04T17:03:15.1570203Z         },
2026-06-04T17:03:15.1570379Z         "int": {
2026-06-04T17:03:15.1570570Z           "complete": true,
2026-06-04T17:03:15.1570766Z           "evidence": [
2026-06-04T17:03:15.1570942Z             {
2026-06-04T17:03:15.1571206Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T17:03:15.1571398Z               "line": 190
2026-06-04T17:03:15.1571569Z             },
2026-06-04T17:03:15.1571761Z             {
2026-06-04T17:03:15.1572038Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T17:03:15.1572222Z               "line": 732
2026-06-04T17:03:15.1572394Z             }
2026-06-04T17:03:15.1572558Z           ]
2026-06-04T17:03:15.1572732Z         },
2026-06-04T17:03:15.1572904Z         "unit": {
2026-06-04T17:03:15.1573105Z           "complete": true,
2026-06-04T17:03:15.1573294Z           "evidence": [
2026-06-04T17:03:15.1573461Z             {
2026-06-04T17:03:15.1573730Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:03:15.1573915Z               "line": 120
2026-06-04T17:03:15.1574092Z             },
2026-06-04T17:03:15.1574253Z             {
2026-06-04T17:03:15.1574518Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T17:03:15.1574714Z               "line": 137
2026-06-04T17:03:15.1574884Z             },
2026-06-04T17:03:15.1575057Z             {
2026-06-04T17:03:15.1575327Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:03:15.1575539Z               "line": 201
2026-06-04T17:03:15.1575710Z             },
2026-06-04T17:03:15.1575883Z             {
2026-06-04T17:03:15.1580311Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:03:15.1580569Z               "line": 92
2026-06-04T17:03:15.1580749Z             },
2026-06-04T17:03:15.1580917Z             {
2026-06-04T17:03:15.1581189Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T17:03:15.1581372Z               "line": 128
2026-06-04T17:03:15.1581544Z             }
2026-06-04T17:03:15.1581720Z           ]
2026-06-04T17:03:15.1581883Z         }
2026-06-04T17:03:15.1582051Z       }
2026-06-04T17:03:15.1582216Z     },
2026-06-04T17:03:15.1582386Z     {
2026-06-04T17:03:15.1582576Z       "id": "REQ-UPD-2",
2026-06-04T17:03:15.1582901Z       "title": "All binaries signature-verified before handoff",
2026-06-04T17:03:15.1583104Z       "requiredStages": [
2026-06-04T17:03:15.1583277Z         "impl",
2026-06-04T17:03:15.1583496Z         "unit"
2026-06-04T17:03:15.1583892Z       ],
2026-06-04T17:03:15.1584092Z       "stages": {
2026-06-04T17:03:15.1584263Z         "doc": {
2026-06-04T17:03:15.1584462Z           "complete": false,
2026-06-04T17:03:15.1584660Z           "evidence": []
2026-06-04T17:03:15.1584823Z         },
2026-06-04T17:03:15.1585001Z         "impl": {
2026-06-04T17:03:15.1585192Z           "complete": true,
2026-06-04T17:03:15.1585379Z           "evidence": [
2026-06-04T17:03:15.1585539Z             {
2026-06-04T17:03:15.1585815Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.1586001Z               "line": 210
2026-06-04T17:03:15.1586164Z             },
2026-06-04T17:03:15.1586337Z             {
2026-06-04T17:03:15.1586598Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T17:03:15.1586786Z               "line": 294
2026-06-04T17:03:15.1586951Z             },
2026-06-04T17:03:15.1587121Z             {
2026-06-04T17:03:15.1587386Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1587719Z               "line": 29
2026-06-04T17:03:15.1587919Z             },
2026-06-04T17:03:15.1588107Z             {
2026-06-04T17:03:15.1588405Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1588604Z               "line": 126
2026-06-04T17:03:15.1588778Z             },
2026-06-04T17:03:15.1588948Z             {
2026-06-04T17:03:15.1589248Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1589447Z               "line": 138
2026-06-04T17:03:15.1589614Z             },
2026-06-04T17:03:15.1589788Z             {
2026-06-04T17:03:15.1590044Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1590235Z               "line": 220
2026-06-04T17:03:15.1590414Z             },
2026-06-04T17:03:15.1590606Z             {
2026-06-04T17:03:15.1590900Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1591385Z               "line": 301
2026-06-04T17:03:15.1591600Z             },
2026-06-04T17:03:15.1591936Z             {
2026-06-04T17:03:15.1592261Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1592486Z               "line": 149
2026-06-04T17:03:15.1592697Z             }
2026-06-04T17:03:15.1592926Z           ]
2026-06-04T17:03:15.1593109Z         },
2026-06-04T17:03:15.1593317Z         "int": {
2026-06-04T17:03:15.1593558Z           "complete": false,
2026-06-04T17:03:15.1593799Z           "evidence": []
2026-06-04T17:03:15.1594015Z         },
2026-06-04T17:03:15.1594222Z         "unit": {
2026-06-04T17:03:15.1594456Z           "complete": true,
2026-06-04T17:03:15.1594818Z           "evidence": [
2026-06-04T17:03:15.1594993Z             {
2026-06-04T17:03:15.1595254Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1595451Z               "line": 386
2026-06-04T17:03:15.1595630Z             },
2026-06-04T17:03:15.1595794Z             {
2026-06-04T17:03:15.1596063Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1596289Z               "line": 431
2026-06-04T17:03:15.1596470Z             },
2026-06-04T17:03:15.1596645Z             {
2026-06-04T17:03:15.1596907Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1597101Z               "line": 445
2026-06-04T17:03:15.1597274Z             },
2026-06-04T17:03:15.1597450Z             {
2026-06-04T17:03:15.1597707Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1597905Z               "line": 456
2026-06-04T17:03:15.1598084Z             },
2026-06-04T17:03:15.1598252Z             {
2026-06-04T17:03:15.1598513Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1598696Z               "line": 532
2026-06-04T17:03:15.1598875Z             },
2026-06-04T17:03:15.1599044Z             {
2026-06-04T17:03:15.1599378Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1599575Z               "line": 334
2026-06-04T17:03:15.1599760Z             },
2026-06-04T17:03:15.1600137Z             {
2026-06-04T17:03:15.1600412Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1600603Z               "line": 347
2026-06-04T17:03:15.1600773Z             },
2026-06-04T17:03:15.1600953Z             {
2026-06-04T17:03:15.1601237Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T17:03:15.1601416Z               "line": 242
2026-06-04T17:03:15.1601589Z             }
2026-06-04T17:03:15.1601753Z           ]
2026-06-04T17:03:15.1601942Z         }
2026-06-04T17:03:15.1602262Z       }
2026-06-04T17:03:15.1602450Z     },
2026-06-04T17:03:15.1602770Z     {
2026-06-04T17:03:15.1602965Z       "id": "REQ-UPD-3",
2026-06-04T17:03:15.1603353Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T17:03:15.1603551Z       "requiredStages": [
2026-06-04T17:03:15.1603735Z         "impl",
2026-06-04T17:03:15.1603908Z         "unit",
2026-06-04T17:03:15.1604087Z         "int"
2026-06-04T17:03:15.1604415Z       ],
2026-06-04T17:03:15.1604612Z       "stages": {
2026-06-04T17:03:15.1604947Z         "doc": {
2026-06-04T17:03:15.1605160Z           "complete": false,
2026-06-04T17:03:15.1605378Z           "evidence": []
2026-06-04T17:03:15.1605550Z         },
2026-06-04T17:03:15.1605750Z         "impl": {
2026-06-04T17:03:15.1605978Z           "complete": true,
2026-06-04T17:03:15.1606208Z           "evidence": [
2026-06-04T17:03:15.1606411Z             {
2026-06-04T17:03:15.1606700Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1606919Z               "line": 26
2026-06-04T17:03:15.1607104Z             },
2026-06-04T17:03:15.1607307Z             {
2026-06-04T17:03:15.1607618Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1607809Z               "line": 111
2026-06-04T17:03:15.1607994Z             },
2026-06-04T17:03:15.1608164Z             {
2026-06-04T17:03:15.1608438Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1608667Z               "line": 221
2026-06-04T17:03:15.1608864Z             }
2026-06-04T17:03:15.1609044Z           ]
2026-06-04T17:03:15.1609296Z         },
2026-06-04T17:03:15.1609520Z         "int": {
2026-06-04T17:03:15.1610033Z           "complete": true,
2026-06-04T17:03:15.1610522Z           "evidence": [
2026-06-04T17:03:15.1610714Z             {
2026-06-04T17:03:15.1611036Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T17:03:15.1611244Z               "line": 23
2026-06-04T17:03:15.1611414Z             }
2026-06-04T17:03:15.1611610Z           ]
2026-06-04T17:03:15.1611791Z         },
2026-06-04T17:03:15.1611996Z         "unit": {
2026-06-04T17:03:15.1612213Z           "complete": true,
2026-06-04T17:03:15.1612426Z           "evidence": [
2026-06-04T17:03:15.1612616Z             {
2026-06-04T17:03:15.1612884Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1613090Z               "line": 246
2026-06-04T17:03:15.1613267Z             },
2026-06-04T17:03:15.1613479Z             {
2026-06-04T17:03:15.1613762Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1613972Z               "line": 270
2026-06-04T17:03:15.1614161Z             },
2026-06-04T17:03:15.1614332Z             {
2026-06-04T17:03:15.1614601Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1614793Z               "line": 281
2026-06-04T17:03:15.1614975Z             },
2026-06-04T17:03:15.1615148Z             {
2026-06-04T17:03:15.1615416Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T17:03:15.1615618Z               "line": 294
2026-06-04T17:03:15.1615801Z             }
2026-06-04T17:03:15.1615979Z           ]
2026-06-04T17:03:15.1621996Z         }
2026-06-04T17:03:15.1622314Z       }
2026-06-04T17:03:15.1622481Z     },
2026-06-04T17:03:15.1622657Z     {
2026-06-04T17:03:15.1622867Z       "id": "REQ-UPD-4",
2026-06-04T17:03:15.1623260Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T17:03:15.1623847Z       "requiredStages": [
2026-06-04T17:03:15.1624050Z         "impl",
2026-06-04T17:03:15.1624234Z         "unit"
2026-06-04T17:03:15.1624398Z       ],
2026-06-04T17:03:15.1624584Z       "stages": {
2026-06-04T17:03:15.1624764Z         "doc": {
2026-06-04T17:03:15.1624958Z           "complete": false,
2026-06-04T17:03:15.1625154Z           "evidence": []
2026-06-04T17:03:15.1625324Z         },
2026-06-04T17:03:15.1625506Z         "impl": {
2026-06-04T17:03:15.1625699Z           "complete": true,
2026-06-04T17:03:15.1625889Z           "evidence": [
2026-06-04T17:03:15.1626063Z             {
2026-06-04T17:03:15.1626324Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:03:15.1626515Z               "line": 23
2026-06-04T17:03:15.1626687Z             },
2026-06-04T17:03:15.1626864Z             {
2026-06-04T17:03:15.1627117Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:03:15.1627306Z               "line": 56
2026-06-04T17:03:15.1627647Z             },
2026-06-04T17:03:15.1627826Z             {
2026-06-04T17:03:15.1628089Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:03:15.1628270Z               "line": 77
2026-06-04T17:03:15.1628451Z             },
2026-06-04T17:03:15.1628620Z             {
2026-06-04T17:03:15.1628890Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T17:03:15.1629083Z               "line": 179
2026-06-04T17:03:15.1629458Z             },
2026-06-04T17:03:15.1629778Z             {
2026-06-04T17:03:15.1630021Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T17:03:15.1630213Z               "line": 98
2026-06-04T17:03:15.1630379Z             },
2026-06-04T17:03:15.1630556Z             {
2026-06-04T17:03:15.1630808Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.1630989Z               "line": 167
2026-06-04T17:03:15.1631165Z             }
2026-06-04T17:03:15.1631329Z           ]
2026-06-04T17:03:15.1631505Z         },
2026-06-04T17:03:15.1631692Z         "int": {
2026-06-04T17:03:15.1631904Z           "complete": false,
2026-06-04T17:03:15.1632100Z           "evidence": []
2026-06-04T17:03:15.1632268Z         },
2026-06-04T17:03:15.1632450Z         "unit": {
2026-06-04T17:03:15.1632635Z           "complete": true,
2026-06-04T17:03:15.1632824Z           "evidence": [
2026-06-04T17:03:15.1632989Z             {
2026-06-04T17:03:15.1633252Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T17:03:15.1633443Z               "line": 322
2026-06-04T17:03:15.1633609Z             },
2026-06-04T17:03:15.1633789Z             {
2026-06-04T17:03:15.1634045Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:03:15.1634239Z               "line": 102
2026-06-04T17:03:15.1634415Z             },
2026-06-04T17:03:15.1634585Z             {
2026-06-04T17:03:15.1634847Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:03:15.1635029Z               "line": 117
2026-06-04T17:03:15.1635206Z             },
2026-06-04T17:03:15.1635399Z             {
2026-06-04T17:03:15.1635668Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T17:03:15.1635863Z               "line": 136
2026-06-04T17:03:15.1636031Z             },
2026-06-04T17:03:15.1636205Z             {
2026-06-04T17:03:15.1636444Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T17:03:15.1636635Z               "line": 352
2026-06-04T17:03:15.1636800Z             },
2026-06-04T17:03:15.1636974Z             {
2026-06-04T17:03:15.1637230Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T17:03:15.1637411Z               "line": 495
2026-06-04T17:03:15.1637584Z             }
2026-06-04T17:03:15.1637749Z           ]
2026-06-04T17:03:15.1637926Z         }
2026-06-04T17:03:15.1638091Z       }
2026-06-04T17:03:15.1638266Z     },
2026-06-04T17:03:15.1638446Z     {
2026-06-04T17:03:15.1638631Z       "id": "REQ-UPD-5",
2026-06-04T17:03:15.1638950Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T17:03:15.1639362Z       "requiredStages": [
2026-06-04T17:03:15.1639564Z         "impl",
2026-06-04T17:03:15.1639733Z         "unit"
2026-06-04T17:03:15.1639908Z       ],
2026-06-04T17:03:15.1640089Z       "stages": {
2026-06-04T17:03:15.1640261Z         "doc": {
2026-06-04T17:03:15.1640466Z           "complete": false,
2026-06-04T17:03:15.1640648Z           "evidence": []
2026-06-04T17:03:15.1640823Z         },
2026-06-04T17:03:15.1640994Z         "impl": {
2026-06-04T17:03:15.1641193Z           "complete": true,
2026-06-04T17:03:15.1641395Z           "evidence": [
2026-06-04T17:03:15.1641586Z             {
2026-06-04T17:03:15.1642092Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1642436Z               "line": 27
2026-06-04T17:03:15.1642780Z             },
2026-06-04T17:03:15.1642965Z             {
2026-06-04T17:03:15.1643289Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1643510Z               "line": 82
2026-06-04T17:03:15.1643992Z             },
2026-06-04T17:03:15.1644224Z             {
2026-06-04T17:03:15.1644569Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1644805Z               "line": 134
2026-06-04T17:03:15.1644998Z             },
2026-06-04T17:03:15.1645207Z             {
2026-06-04T17:03:15.1645521Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1645732Z               "line": 260
2026-06-04T17:03:15.1645946Z             },
2026-06-04T17:03:15.1646142Z             {
2026-06-04T17:03:15.1646489Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T17:03:15.1646730Z               "line": 288
2026-06-04T17:03:15.1646946Z             }
2026-06-04T17:03:15.1647158Z           ]
2026-06-04T17:03:15.1647366Z         },
2026-06-04T17:03:15.1647586Z         "int": {
2026-06-04T17:03:15.1647814Z           "complete": false,
2026-06-04T17:03:15.1648038Z           "evidence": []
2026-06-04T17:03:15.1648233Z         },
2026-06-04T17:03:15.1648482Z         "unit": {
2026-06-04T17:03:15.1648730Z           "complete": true,
2026-06-04T17:03:15.1648938Z           "evidence": [
2026-06-04T17:03:15.1649141Z             {
2026-06-04T17:03:15.1649704Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1649921Z               "line": 216
2026-06-04T17:03:15.1650105Z             },
2026-06-04T17:03:15.1650303Z             {
2026-06-04T17:03:15.1650614Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1650824Z               "line": 230
2026-06-04T17:03:15.1651030Z             },
2026-06-04T17:03:15.1651216Z             {
2026-06-04T17:03:15.1651550Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1651831Z               "line": 244
2026-06-04T17:03:15.1652011Z             },
2026-06-04T17:03:15.1652199Z             {
2026-06-04T17:03:15.1652509Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1652702Z               "line": 258
2026-06-04T17:03:15.1652940Z             },
2026-06-04T17:03:15.1653124Z             {
2026-06-04T17:03:15.1653447Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T17:03:15.1653682Z               "line": 292
2026-06-04T17:03:15.1653866Z             },
2026-06-04T17:03:15.1654060Z             {
2026-06-04T17:03:15.1654352Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T17:03:15.1654564Z               "line": 740
2026-06-04T17:03:15.1654869Z             }
2026-06-04T17:03:15.1655059Z           ]
2026-06-04T17:03:15.1655231Z         }
2026-06-04T17:03:15.1655404Z       }
2026-06-04T17:03:15.1655579Z     }
2026-06-04T17:03:15.1655749Z   ],
2026-06-04T17:03:15.1655944Z   "findings": []
2026-06-04T17:03:15.1656108Z }
2026-06-04T17:03:15.1706994Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T17:03:15.1707280Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T17:03:15.1725476Z shell: /usr/bin/bash -e {0}
2026-06-04T17:03:15.1725658Z ##[endgroup]
2026-06-04T17:03:15.1944760Z Requirement quality findings (23); 134 requirements queued for agent review:
2026-06-04T17:03:15.1945862Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1946495Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-04T17:03:15.1947128Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-04T17:03:15.1947923Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T17:03:15.1948904Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T17:03:15.1950168Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1951187Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1952255Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T17:03:15.1952988Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T17:03:15.1953950Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1954901Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1955675Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T17:03:15.1956372Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T17:03:15.1956956Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T17:03:15.1957545Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T17:03:15.1958361Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1959235Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1960034Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:03:15.1960602Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-04T17:03:15.1961209Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T17:03:15.1961764Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-04T17:03:15.1962357Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-04T17:03:15.1962923Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T17:03:15.1962943Z 
2026-06-04T17:03:15.1963584Z # Requirement quality review
2026-06-04T17:03:15.1963601Z 
2026-06-04T17:03:15.1964053Z You are reviewing 134 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T17:03:15.1964501Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T17:03:15.1964929Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T17:03:15.1965534Z this command's output. Your task is the rubric items below.
2026-06-04T17:03:15.1965559Z 
2026-06-04T17:03:15.1965759Z ## Rubric
2026-06-04T17:03:15.1965775Z 
2026-06-04T17:03:15.1966385Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T17:03:15.1966906Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T17:03:15.1967356Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T17:03:15.1967698Z - **active-voice** — clear subject and active verb.
2026-06-04T17:03:15.1967714Z 
2026-06-04T17:03:15.1968207Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T17:03:15.1968413Z clear concerns.
2026-06-04T17:03:15.1968427Z 
2026-06-04T17:03:15.1968627Z ## Requirements
2026-06-04T17:03:15.1968642Z 
2026-06-04T17:03:15.1968827Z ### REQ-ARCH-1
2026-06-04T17:03:15.1969093Z - Title: Many small acyclically-layered crates
2026-06-04T17:03:15.1969353Z - Required stages: impl
2026-06-04T17:03:15.1969391Z 
2026-06-04T17:03:15.1981656Z ### REQ-ARCH-2
2026-06-04T17:03:15.1982176Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T17:03:15.1982383Z - Required stages: impl
2026-06-04T17:03:15.1982405Z 
2026-06-04T17:03:15.1983019Z ### REQ-ARCH-3
2026-06-04T17:03:15.1983448Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T17:03:15.1983660Z - Required stages: impl, unit
2026-06-04T17:03:15.1983676Z 
2026-06-04T17:03:15.1983867Z ### REQ-ARCH-4
2026-06-04T17:03:15.1984229Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T17:03:15.1984437Z - Required stages: impl, unit
2026-06-04T17:03:15.1984453Z 
2026-06-04T17:03:15.1984769Z ### REQ-DAEMON-1
2026-06-04T17:03:15.1985106Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T17:03:15.1985329Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1985345Z 
2026-06-04T17:03:15.1985535Z ### REQ-DAEMON-2
2026-06-04T17:03:15.1985830Z - Title: Broker/brain split for seamless self-update
2026-06-04T17:03:15.1986054Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1986069Z 
2026-06-04T17:03:15.1986247Z ### REQ-DAEMON-3
2026-06-04T17:03:15.1986570Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T17:03:15.1986806Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1986822Z 
2026-06-04T17:03:15.1987001Z ### REQ-DAEMON-4
2026-06-04T17:03:15.1987251Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T17:03:15.1987461Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1987475Z 
2026-06-04T17:03:15.1987661Z ### REQ-STORE-1
2026-06-04T17:03:15.1989732Z - 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:03:15.1989946Z - Required stages: impl, unit
2026-06-04T17:03:15.1989960Z 
2026-06-04T17:03:15.1990151Z ### REQ-MANIFEST-1
2026-06-04T17:03:15.1990512Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T17:03:15.1990729Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.1990754Z 
2026-06-04T17:03:15.1990942Z ### REQ-SEAM-SPAWN
2026-06-04T17:03:15.1991140Z - Title: spawn-session seam
2026-06-04T17:03:15.1991344Z - Required stages: impl, unit
2026-06-04T17:03:15.1991359Z 
2026-06-04T17:03:15.1991544Z ### REQ-SEAM-POSTSPAWN
2026-06-04T17:03:15.1991814Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T17:03:15.1992021Z - Required stages: impl, unit
2026-06-04T17:03:15.1992035Z 
2026-06-04T17:03:15.1992217Z ### REQ-SEAM-PSYCHE
2026-06-04T17:03:15.1992497Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T17:03:15.1992699Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1992714Z 
2026-06-04T17:03:15.1992900Z ### REQ-SEAM-HISTORY
2026-06-04T17:03:15.1993432Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T17:03:15.1993646Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1993662Z 
2026-06-04T17:03:15.1993858Z ### REQ-SEAM-ACTIVITY
2026-06-04T17:03:15.1994209Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T17:03:15.1994430Z - Required stages: impl, unit
2026-06-04T17:03:15.1994444Z 
2026-06-04T17:03:15.1994639Z ### REQ-SEAM-INJECT
2026-06-04T17:03:15.1994956Z - Title: inject-input methods configurable per activity-state
2026-06-04T17:03:15.1995161Z - Required stages: impl, unit
2026-06-04T17:03:15.1995175Z 
2026-06-04T17:03:15.1995356Z ### REQ-SEAM-RESUME
2026-06-04T17:03:15.1995720Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T17:03:15.1995917Z - Required stages: impl, unit
2026-06-04T17:03:15.1995940Z 
2026-06-04T17:03:15.1996128Z ### REQ-SEAM-CAPABILITY
2026-06-04T17:03:15.1996420Z - Title: Hostable endpoint-types capability declaration
2026-06-04T17:03:15.1996630Z - Required stages: impl, unit
2026-06-04T17:03:15.1996644Z 
2026-06-04T17:03:15.1996837Z ### REQ-SEAM-UPDATE
2026-06-04T17:03:15.1997154Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T17:03:15.1997360Z - Required stages: impl, unit
2026-06-04T17:03:15.1997513Z 
2026-06-04T17:03:15.1997697Z ### REQ-API-1
2026-06-04T17:03:15.1998024Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T17:03:15.1998239Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1998254Z 
2026-06-04T17:03:15.1998424Z ### REQ-API-2
2026-06-04T17:03:15.1998836Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T17:03:15.1999046Z - Required stages: impl, unit, int
2026-06-04T17:03:15.1999060Z 
2026-06-04T17:03:15.1999261Z ### REQ-API-3
2026-06-04T17:03:15.1999832Z - Title: commune/signoff are file-drops, not commands
2026-06-04T17:03:15.2000036Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2000050Z 
2026-06-04T17:03:15.2000231Z ### REQ-START-1
2026-06-04T17:03:15.2000631Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T17:03:15.2000831Z - Required stages: impl, unit
2026-06-04T17:03:15.2000845Z 
2026-06-04T17:03:15.2001023Z ### REQ-START-2
2026-06-04T17:03:15.2001305Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T17:03:15.2001524Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2001536Z 
2026-06-04T17:03:15.2001718Z ### REQ-START-3
2026-06-04T17:03:15.2002051Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T17:03:15.2002263Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2002277Z 
2026-06-04T17:03:15.2002446Z ### REQ-START-4
2026-06-04T17:03:15.2002718Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T17:03:15.2002914Z - Required stages: impl, unit
2026-06-04T17:03:15.2002936Z 
2026-06-04T17:03:15.2003104Z ### REQ-EP-1
2026-06-04T17:03:15.2003360Z - Title: Day-one endpoint types; open type system
2026-06-04T17:03:15.2003567Z - Required stages: impl, unit
2026-06-04T17:03:15.2003582Z 
2026-06-04T17:03:15.2003758Z ### REQ-EP-2
2026-06-04T17:03:15.2004076Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T17:03:15.2004281Z - Required stages: impl, unit
2026-06-04T17:03:15.2004305Z 
2026-06-04T17:03:15.2004477Z ### REQ-EP-3
2026-06-04T17:03:15.2004838Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T17:03:15.2005044Z - Required stages: impl, unit
2026-06-04T17:03:15.2005058Z 
2026-06-04T17:03:15.2005224Z ### REQ-EP-4
2026-06-04T17:03:15.2005514Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T17:03:15.2005718Z - Required stages: impl, unit
2026-06-04T17:03:15.2005731Z 
2026-06-04T17:03:15.2005902Z ### REQ-EP-5
2026-06-04T17:03:15.2007534Z - 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:03:15.2007754Z - Required stages: impl, unit
2026-06-04T17:03:15.2007770Z 
2026-06-04T17:03:15.2007949Z ### REQ-INST-1
2026-06-04T17:03:15.2008259Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T17:03:15.2008455Z - Required stages: 
2026-06-04T17:03:15.2008470Z 
2026-06-04T17:03:15.2008648Z ### REQ-INST-2
2026-06-04T17:03:15.2008873Z - Title: Per-node files, synced Psyche mind
2026-06-04T17:03:15.2009077Z - Required stages: impl, unit
2026-06-04T17:03:15.2009091Z 
2026-06-04T17:03:15.2009305Z ### REQ-INST-3
2026-06-04T17:03:15.2009769Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T17:03:15.2009995Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.2010009Z 
2026-06-04T17:03:15.2010182Z ### REQ-INST-4
2026-06-04T17:03:15.2010547Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T17:03:15.2010762Z - Required stages: impl, unit
2026-06-04T17:03:15.2010776Z 
2026-06-04T17:03:15.2010970Z ### REQ-INST-5
2026-06-04T17:03:15.2011332Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T17:03:15.2011544Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2011558Z 
2026-06-04T17:03:15.2011739Z ### REQ-INST-6
2026-06-04T17:03:15.2012268Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T17:03:15.2012464Z - Required stages: 
2026-06-04T17:03:15.2012478Z 
2026-06-04T17:03:15.2012664Z ### REQ-INST-7
2026-06-04T17:03:15.2012935Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T17:03:15.2013157Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2013171Z 
2026-06-04T17:03:15.2013347Z ### REQ-INST-8
2026-06-04T17:03:15.2013663Z - Title: Remote-control mode distinct from local operation
2026-06-04T17:03:15.2013879Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2013893Z 
2026-06-04T17:03:15.2014065Z ### REQ-INST-9
2026-06-04T17:03:15.2014446Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T17:03:15.2014669Z - Required stages: impl, unit
2026-06-04T17:03:15.2014683Z 
2026-06-04T17:03:15.2014866Z ### REQ-INST-10
2026-06-04T17:03:15.2015305Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T17:03:15.2015518Z - Required stages: impl, unit
2026-06-04T17:03:15.2015533Z 
2026-06-04T17:03:15.2015716Z ### REQ-INST-11
2026-06-04T17:03:15.2016148Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T17:03:15.2016362Z - Required stages: impl, unit
2026-06-04T17:03:15.2016378Z 
2026-06-04T17:03:15.2016565Z ### REQ-INST-12
2026-06-04T17:03:15.2017161Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T17:03:15.2017376Z - Required stages: impl, unit
2026-06-04T17:03:15.2017392Z 
2026-06-04T17:03:15.2017569Z ### REQ-INST-13
2026-06-04T17:03:15.2017962Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T17:03:15.2018210Z - Required stages: impl, unit
2026-06-04T17:03:15.2018225Z 
2026-06-04T17:03:15.2018416Z ### REQ-INST-14
2026-06-04T17:03:15.2019280Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T17:03:15.2019669Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.2019682Z 
2026-06-04T17:03:15.2019867Z ### REQ-INST-15
2026-06-04T17:03:15.2021365Z - 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:03:15.2021575Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.2021588Z 
2026-06-04T17:03:15.2021778Z ### REQ-REACH-1
2026-06-04T17:03:15.2022064Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T17:03:15.2022281Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2022494Z 
2026-06-04T17:03:15.2022693Z ### REQ-REACH-2
2026-06-04T17:03:15.2022993Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T17:03:15.2023186Z - Required stages: 
2026-06-04T17:03:15.2023198Z 
2026-06-04T17:03:15.2023378Z ### REQ-MSG-1
2026-06-04T17:03:15.2024297Z - 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:03:15.2024516Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2024530Z 
2026-06-04T17:03:15.2024699Z ### REQ-MSG-2
2026-06-04T17:03:15.2025237Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T17:03:15.2025441Z - Required stages: impl, unit
2026-06-04T17:03:15.2025453Z 
2026-06-04T17:03:15.2025630Z ### REQ-MSG-3
2026-06-04T17:03:15.2026421Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T17:03:15.2026628Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2026641Z 
2026-06-04T17:03:15.2026836Z ### REQ-NODE-IDENTITY
2026-06-04T17:03:15.2027283Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T17:03:15.2027629Z - Required stages: impl, unit
2026-06-04T17:03:15.2027647Z 
2026-06-04T17:03:15.2027821Z ### REQ-NET-1
2026-06-04T17:03:15.2028172Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T17:03:15.2028387Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2028402Z 
2026-06-04T17:03:15.2028568Z ### REQ-NET-2
2026-06-04T17:03:15.2028920Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T17:03:15.2029120Z - Required stages: impl
2026-06-04T17:03:15.2029133Z 
2026-06-04T17:03:15.2029353Z ### REQ-NET-3
2026-06-04T17:03:15.2029880Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T17:03:15.2030240Z - Required stages: impl, unit
2026-06-04T17:03:15.2030264Z 
2026-06-04T17:03:15.2030456Z ### REQ-PAIR-1
2026-06-04T17:03:15.2030681Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T17:03:15.2030885Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2030900Z 
2026-06-04T17:03:15.2031099Z ### REQ-PAIR-2
2026-06-04T17:03:15.2031369Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T17:03:15.2031581Z - Required stages: impl, unit
2026-06-04T17:03:15.2031594Z 
2026-06-04T17:03:15.2031778Z ### REQ-PAIR-3
2026-06-04T17:03:15.2032071Z - Title: Fetch current pairing code from any paired node
2026-06-04T17:03:15.2032277Z - Required stages: impl, unit
2026-06-04T17:03:15.2032290Z 
2026-06-04T17:03:15.2032464Z ### REQ-PAIR-4
2026-06-04T17:03:15.2032695Z - Title: Subnet naming on first pairing
2026-06-04T17:03:15.2032893Z - Required stages: impl, unit
2026-06-04T17:03:15.2032908Z 
2026-06-04T17:03:15.2033093Z ### REQ-PAIR-5
2026-06-04T17:03:15.2033721Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T17:03:15.2034055Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2034069Z 
2026-06-04T17:03:15.2034256Z ### REQ-PAIR-6
2026-06-04T17:03:15.2034775Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T17:03:15.2035009Z - Required stages: impl, unit
2026-06-04T17:03:15.2035022Z 
2026-06-04T17:03:15.2035213Z ### REQ-PAIR-7
2026-06-04T17:03:15.2035528Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T17:03:15.2035720Z - Required stages: 
2026-06-04T17:03:15.2035734Z 
2026-06-04T17:03:15.2035900Z ### REQ-SEC-1
2026-06-04T17:03:15.2036714Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T17:03:15.2036929Z - Required stages: impl, unit
2026-06-04T17:03:15.2036944Z 
2026-06-04T17:03:15.2037117Z ### REQ-NOTIF-1
2026-06-04T17:03:15.2038028Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T17:03:15.2038251Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2038266Z 
2026-06-04T17:03:15.2038452Z ### REQ-NOTIF-2
2026-06-04T17:03:15.2039015Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T17:03:15.2039264Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.2039279Z 
2026-06-04T17:03:15.2039625Z ### REQ-UPD-1
2026-06-04T17:03:15.2040041Z - Title: Peer-propagated update over P2P
2026-06-04T17:03:15.2040262Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2040276Z 
2026-06-04T17:03:15.2040458Z ### REQ-UPD-2
2026-06-04T17:03:15.2040738Z - Title: All binaries signature-verified before handoff
2026-06-04T17:03:15.2040950Z - Required stages: impl, unit
2026-06-04T17:03:15.2040962Z 
2026-06-04T17:03:15.2041131Z ### REQ-UPD-3
2026-06-04T17:03:15.2041489Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T17:03:15.2041721Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2041734Z 
2026-06-04T17:03:15.2041907Z ### REQ-UPD-4
2026-06-04T17:03:15.2042269Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T17:03:15.2042614Z - Required stages: impl, unit
2026-06-04T17:03:15.2042628Z 
2026-06-04T17:03:15.2042819Z ### REQ-UPD-5
2026-06-04T17:03:15.2043109Z - Title: spt-core ripple-updates registered adapters
2026-06-04T17:03:15.2043312Z - Required stages: impl, unit
2026-06-04T17:03:15.2043327Z 
2026-06-04T17:03:15.2043513Z ### REQ-TERM-1
2026-06-04T17:03:15.2043849Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T17:03:15.2044058Z - Required stages: impl, unit
2026-06-04T17:03:15.2044073Z 
2026-06-04T17:03:15.2044245Z ### REQ-TERM-2
2026-06-04T17:03:15.2044611Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T17:03:15.2044826Z - Required stages: impl, unit
2026-06-04T17:03:15.2044841Z 
2026-06-04T17:03:15.2045029Z ### REQ-TERM-3
2026-06-04T17:03:15.2045314Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T17:03:15.2045522Z - Required stages: impl, unit
2026-06-04T17:03:15.2045537Z 
2026-06-04T17:03:15.2045718Z ### REQ-TERM-4
2026-06-04T17:03:15.2046469Z - 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:03:15.2046687Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2046699Z 
2026-06-04T17:03:15.2046884Z ### REQ-FRONT-1
2026-06-04T17:03:15.2047226Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T17:03:15.2047420Z - Required stages: 
2026-06-04T17:03:15.2047433Z 
2026-06-04T17:03:15.2047621Z ### REQ-INSTALL-1
2026-06-04T17:03:15.2048002Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T17:03:15.2048202Z - Required stages: 
2026-06-04T17:03:15.2048216Z 
2026-06-04T17:03:15.2048402Z ### REQ-INSTALL-2
2026-06-04T17:03:15.2048692Z - Title: Marketplace-repackaging-friendly install
2026-06-04T17:03:15.2048892Z - Required stages: 
2026-06-04T17:03:15.2048905Z 
2026-06-04T17:03:15.2049083Z ### REQ-INSTALL-3
2026-06-04T17:03:15.2049603Z - Title: Idempotent + interactive-optional first run
2026-06-04T17:03:15.2049849Z - Required stages: 
2026-06-04T17:03:15.2049866Z 
2026-06-04T17:03:15.2050114Z ### REQ-INSTALL-4
2026-06-04T17:03:15.2051577Z - 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:03:15.2051834Z - Required stages: impl, unit
2026-06-04T17:03:15.2051847Z 
2026-06-04T17:03:15.2052044Z ### REQ-MIGRATE-1
2026-06-04T17:03:15.2052393Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T17:03:15.2052594Z - Required stages: 
2026-06-04T17:03:15.2052609Z 
2026-06-04T17:03:15.2052797Z ### REQ-INFRA-1
2026-06-04T17:03:15.2053394Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T17:03:15.2053624Z - Required stages: 
2026-06-04T17:03:15.2053637Z 
2026-06-04T17:03:15.2053819Z ### REQ-DOCS-1
2026-06-04T17:03:15.2054248Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T17:03:15.2054483Z - Required stages: 
2026-06-04T17:03:15.2054497Z 
2026-06-04T17:03:15.2054679Z ### REQ-DOCS-2
2026-06-04T17:03:15.2055015Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T17:03:15.2055201Z - Required stages: 
2026-06-04T17:03:15.2055214Z 
2026-06-04T17:03:15.2055406Z ### REQ-DOCS-3
2026-06-04T17:03:15.2056039Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T17:03:15.2056246Z - Required stages: 
2026-06-04T17:03:15.2056259Z 
2026-06-04T17:03:15.2056445Z ### REQ-DOCS-4
2026-06-04T17:03:15.2056838Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T17:03:15.2057040Z - Required stages: 
2026-06-04T17:03:15.2057076Z 
2026-06-04T17:03:15.2057258Z ### REQ-DOCS-5
2026-06-04T17:03:15.2057663Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T17:03:15.2057866Z - Required stages: 
2026-06-04T17:03:15.2058049Z 
2026-06-04T17:03:15.2058293Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T17:03:15.2058690Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T17:03:15.2058903Z - Required stages: impl, unit
2026-06-04T17:03:15.2058918Z 
2026-06-04T17:03:15.2059152Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T17:03:15.2059526Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T17:03:15.2059737Z - Required stages: impl, unit
2026-06-04T17:03:15.2059749Z 
2026-06-04T17:03:15.2059975Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T17:03:15.2060243Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T17:03:15.2060447Z - Required stages: 
2026-06-04T17:03:15.2060461Z 
2026-06-04T17:03:15.2060683Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T17:03:15.2061071Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T17:03:15.2061292Z - Required stages: impl, unit
2026-06-04T17:03:15.2061310Z 
2026-06-04T17:03:15.2061520Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T17:03:15.2061911Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T17:03:15.2062135Z - Required stages: impl, unit
2026-06-04T17:03:15.2062150Z 
2026-06-04T17:03:15.2062378Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T17:03:15.2062773Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T17:03:15.2062960Z - Required stages: 
2026-06-04T17:03:15.2062974Z 
2026-06-04T17:03:15.2063207Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T17:03:15.2063496Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T17:03:15.2063687Z - Required stages: 
2026-06-04T17:03:15.2063699Z 
2026-06-04T17:03:15.2063939Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T17:03:15.2064288Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T17:03:15.2064518Z - Required stages: impl, unit
2026-06-04T17:03:15.2064534Z 
2026-06-04T17:03:15.2064744Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T17:03:15.2065052Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T17:03:15.2065289Z - Required stages: impl, int
2026-06-04T17:03:15.2065303Z 
2026-06-04T17:03:15.2065528Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T17:03:15.2065862Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T17:03:15.2066073Z - Required stages: impl, unit
2026-06-04T17:03:15.2066086Z 
2026-06-04T17:03:15.2066334Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T17:03:15.2066682Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T17:03:15.2066893Z - Required stages: impl, unit
2026-06-04T17:03:15.2066906Z 
2026-06-04T17:03:15.2067137Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T17:03:15.2067515Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T17:03:15.2067893Z - Required stages: impl, unit
2026-06-04T17:03:15.2067913Z 
2026-06-04T17:03:15.2068169Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T17:03:15.2068479Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T17:03:15.2068722Z - Required stages: impl, unit
2026-06-04T17:03:15.2068735Z 
2026-06-04T17:03:15.2068970Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T17:03:15.2069398Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T17:03:15.2069644Z - Required stages: impl, unit
2026-06-04T17:03:15.2069658Z 
2026-06-04T17:03:15.2069884Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T17:03:15.2070338Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T17:03:15.2070547Z - Required stages: impl, unit
2026-06-04T17:03:15.2070560Z 
2026-06-04T17:03:15.2070771Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T17:03:15.2071292Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T17:03:15.2071515Z - Required stages: impl, unit
2026-06-04T17:03:15.2071532Z 
2026-06-04T17:03:15.2087442Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T17:03:15.2087865Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T17:03:15.2088637Z - Required stages: impl, unit
2026-06-04T17:03:15.2088653Z 
2026-06-04T17:03:15.2088878Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T17:03:15.2089637Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T17:03:15.2089866Z - Required stages: impl, unit
2026-06-04T17:03:15.2090019Z 
2026-06-04T17:03:15.2090242Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T17:03:15.2091117Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T17:03:15.2091333Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.2091346Z 
2026-06-04T17:03:15.2091567Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T17:03:15.2092465Z - 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:03:15.2092671Z - Required stages: impl, unit
2026-06-04T17:03:15.2092684Z 
2026-06-04T17:03:15.2092935Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T17:03:15.2099693Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T17:03:15.2099974Z - Required stages: impl, unit
2026-06-04T17:03:15.2099990Z 
2026-06-04T17:03:15.2100203Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T17:03:15.2100479Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T17:03:15.2100689Z - Required stages: impl, unit
2026-06-04T17:03:15.2100703Z 
2026-06-04T17:03:15.2100918Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T17:03:15.2101237Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T17:03:15.2101438Z - Required stages: impl, unit
2026-06-04T17:03:15.2101451Z 
2026-06-04T17:03:15.2101657Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T17:03:15.2102023Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T17:03:15.2102226Z - Required stages: impl, unit
2026-06-04T17:03:15.2102239Z 
2026-06-04T17:03:15.2102459Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T17:03:15.2102762Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T17:03:15.2102973Z - Required stages: impl, unit
2026-06-04T17:03:15.2102986Z 
2026-06-04T17:03:15.2103198Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T17:03:15.2103493Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T17:03:15.2103697Z - Required stages: impl, unit
2026-06-04T17:03:15.2103708Z 
2026-06-04T17:03:15.2103918Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T17:03:15.2104285Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T17:03:15.2104489Z - Required stages: impl, unit
2026-06-04T17:03:15.2104500Z 
2026-06-04T17:03:15.2104698Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T17:03:15.2105322Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T17:03:15.2105534Z - Required stages: impl, unit
2026-06-04T17:03:15.2105547Z 
2026-06-04T17:03:15.2105770Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T17:03:15.2106118Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T17:03:15.2106332Z - Required stages: impl, unit
2026-06-04T17:03:15.2106344Z 
2026-06-04T17:03:15.2106579Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T17:03:15.2106860Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T17:03:15.2107070Z - Required stages: impl, unit
2026-06-04T17:03:15.2107082Z 
2026-06-04T17:03:15.2107316Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T17:03:15.2107741Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T17:03:15.2107946Z - Required stages: impl, unit
2026-06-04T17:03:15.2107958Z 
2026-06-04T17:03:15.2108179Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T17:03:15.2109424Z - 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:03:15.2109790Z - Required stages: impl, unit
2026-06-04T17:03:15.2109947Z 
2026-06-04T17:03:15.2110318Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T17:03:15.2110753Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T17:03:15.2110950Z - Required stages: impl, unit
2026-06-04T17:03:15.2110962Z 
2026-06-04T17:03:15.2111173Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T17:03:15.2111601Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T17:03:15.2111802Z - Required stages: impl, unit
2026-06-04T17:03:15.2111814Z 
2026-06-04T17:03:15.2112036Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T17:03:15.2112557Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T17:03:15.2112787Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2112801Z 
2026-06-04T17:03:15.2113019Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T17:03:15.2113534Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T17:03:15.2113753Z - Required stages: impl, unit
2026-06-04T17:03:15.2113765Z 
2026-06-04T17:03:15.2113984Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T17:03:15.2114856Z - 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:03:15.2115069Z - Required stages: impl, unit, int
2026-06-04T17:03:15.2115081Z 
2026-06-04T17:03:15.2115301Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T17:03:15.2117086Z - 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:03:15.2117314Z - Required stages: impl, unit
2026-06-04T17:03:15.2117329Z 
2026-06-04T17:03:15.2117559Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T17:03:15.2118925Z - 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:03:15.2119123Z - Required stages: 
2026-06-04T17:03:15.2119136Z 
2026-06-04T17:03:15.2119414Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T17:03:15.2121081Z - 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:03:15.2121285Z - Required stages: impl, unit
2026-06-04T17:03:15.2121298Z 
2026-06-04T17:03:15.2121522Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T17:03:15.2122764Z - 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:03:15.2122989Z - Required stages: impl, unit
2026-06-04T17:03:15.2123014Z 
2026-06-04T17:03:15.2123236Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T17:03:15.2124985Z - 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:03:15.2125197Z - Required stages: impl, unit
2026-06-04T17:03:15.2125208Z 
2026-06-04T17:03:15.2125421Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T17:03:15.2127046Z - 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:03:15.2127269Z - Required stages: doc, impl, unit
2026-06-04T17:03:15.2127282Z 
2026-06-04T17:03:15.2127459Z ### REQ-CONSENT-1
2026-06-04T17:03:15.2129548Z - 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:03:15.2130074Z - Required stages: impl, unit
2026-06-04T17:03:15.2130089Z 
2026-06-04T17:03:15.2130263Z ### REQ-CONSENT-2
2026-06-04T17:03:15.2132016Z - 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:03:15.2132225Z - Required stages: impl, unit
2026-06-04T17:03:15.2132237Z 
2026-06-04T17:03:15.2132407Z ### REQ-PRES-1
2026-06-04T17:03:15.2135176Z - 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:03:15.2135385Z - Required stages: 
2026-06-04T17:03:15.2135397Z 
2026-06-04T17:03:15.2135567Z ### REQ-SHELL-1
2026-06-04T17:03:15.2137423Z - 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:03:15.2137635Z - Required stages: impl, unit
2026-06-04T17:03:15.2137647Z 
2026-06-04T17:03:15.2137816Z ### REQ-SHELL-2
2026-06-04T17:03:15.2141204Z - 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:03:15.2141406Z - Required stages: 
2026-06-04T17:03:15.2141419Z 
2026-06-04T17:03:15.2141606Z ## How to report back
2026-06-04T17:03:15.2141617Z 
2026-06-04T17:03:15.2141961Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T17:03:15.2142109Z 
2026-06-04T17:03:15.2142277Z     {
2026-06-04T17:03:15.2142496Z       "code": "requirement_quality",
2026-06-04T17:03:15.2142707Z       "requirementId": "REQ-...",
2026-06-04T17:03:15.2143047Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T17:03:15.2143267Z       "message": "<short reason>",
2026-06-04T17:03:15.2143504Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T17:03:15.2143676Z     }
2026-06-04T17:03:15.2143689Z 
2026-06-04T17:03:15.2144054Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T17:03:15.2144350Z deterministic findings above don't need to be repeated.
2026-06-04T17:03:15.2322148Z Post job cleanup.
2026-06-04T17:03:15.3622438Z [command]/usr/bin/git version
2026-06-04T17:03:15.3675956Z git version 2.34.1
2026-06-04T17:03:15.3724483Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/6fc3f40b-fd5e-4b96-a594-c8c3eb6c7b85/.gitconfig'
2026-06-04T17:03:15.3748768Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/6fc3f40b-fd5e-4b96-a594-c8c3eb6c7b85' before making global git config changes
2026-06-04T17:03:15.3750866Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T17:03:15.3756964Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T17:03:15.3805322Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T17:03:15.3849456Z [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:03:15.4116451Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T17:03:15.4152321Z http.https://github.com/.extraheader
2026-06-04T17:03:15.4171849Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T17:03:15.4223380Z [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:03:15.4506431Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T17:03:15.4555892Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T17:03:15.5017238Z Cleaning up orphan processes
