﻿2026-06-04T12:53:10.8778674Z Current runner version: '2.334.0'
2026-06-04T12:53:10.8788188Z Runner name: 'gravity'
2026-06-04T12:53:10.8789355Z Runner group name: 'Default'
2026-06-04T12:53:10.8791014Z Machine name: 'gravity-linux'
2026-06-04T12:53:10.8795227Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T12:53:10.8799323Z Contents: read
2026-06-04T12:53:10.8800297Z Metadata: read
2026-06-04T12:53:10.8801120Z Packages: read
2026-06-04T12:53:10.8801876Z ##[endgroup]
2026-06-04T12:53:10.8805470Z Secret source: Actions
2026-06-04T12:53:10.8806559Z Prepare workflow directory
2026-06-04T12:53:10.9563354Z Prepare all required actions
2026-06-04T12:53:10.9624453Z Getting action download info
2026-06-04T12:53:11.9378479Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T12:53:12.8456070Z Complete job name: traceability
2026-06-04T12:53:12.9860484Z ##[group]Run actions/checkout@v5
2026-06-04T12:53:12.9862986Z with:
2026-06-04T12:53:12.9863950Z   repository: SaberMage/spt-core
2026-06-04T12:53:12.9872213Z   token: ***
2026-06-04T12:53:12.9873056Z   ssh-strict: true
2026-06-04T12:53:12.9873794Z   ssh-user: git
2026-06-04T12:53:12.9874523Z   persist-credentials: true
2026-06-04T12:53:12.9875350Z   clean: true
2026-06-04T12:53:12.9876093Z   sparse-checkout-cone-mode: true
2026-06-04T12:53:12.9876964Z   fetch-depth: 1
2026-06-04T12:53:12.9877720Z   fetch-tags: false
2026-06-04T12:53:12.9878441Z   show-progress: true
2026-06-04T12:53:12.9879246Z   lfs: false
2026-06-04T12:53:12.9880279Z   submodules: false
2026-06-04T12:53:12.9881191Z   set-safe-directory: true
2026-06-04T12:53:12.9883169Z ##[endgroup]
2026-06-04T12:53:13.1439967Z Syncing repository: SaberMage/spt-core
2026-06-04T12:53:13.1443892Z ##[group]Getting Git version info
2026-06-04T12:53:13.1445506Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T12:53:13.1447473Z [command]/usr/bin/git version
2026-06-04T12:53:13.1448399Z git version 2.34.1
2026-06-04T12:53:13.1451547Z ##[endgroup]
2026-06-04T12:53:13.1461005Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/0b044f34-541b-44ad-8e1f-64e068560a7e/.gitconfig'
2026-06-04T12:53:13.1471200Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/0b044f34-541b-44ad-8e1f-64e068560a7e' before making global git config changes
2026-06-04T12:53:13.1474324Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T12:53:13.1478560Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T12:53:13.1531883Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T12:53:13.1562938Z https://github.com/SaberMage/spt-core
2026-06-04T12:53:13.1580388Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T12:53:13.1586575Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T12:53:13.1616724Z refs/heads/dev-freeform
2026-06-04T12:53:13.1630305Z [command]/usr/bin/git checkout --detach
2026-06-04T12:53:13.1686500Z HEAD is now at 785002e feat(daemon,docs): M4-D9-3 dormancy budget measured + policy locked [budget]
2026-06-04T12:53:13.1747835Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T12:53:13.1787610Z Deleted branch dev-freeform (was 785002e).
2026-06-04T12:53:13.1838829Z ##[endgroup]
2026-06-04T12:53:13.1840592Z [command]/usr/bin/git submodule status
2026-06-04T12:53:13.2082017Z ##[group]Cleaning the repository
2026-06-04T12:53:13.2086269Z [command]/usr/bin/git clean -ffdx
2026-06-04T12:53:13.2124061Z Removing traceable-reqs
2026-06-04T12:53:13.2136545Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T12:53:13.2192599Z HEAD is now at 785002e feat(daemon,docs): M4-D9-3 dormancy budget measured + policy locked [budget]
2026-06-04T12:53:13.2300465Z ##[endgroup]
2026-06-04T12:53:13.2302222Z ##[group]Disabling automatic garbage collection
2026-06-04T12:53:13.2303610Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T12:53:13.2306274Z ##[endgroup]
2026-06-04T12:53:13.2308359Z ##[group]Setting up auth
2026-06-04T12:53:13.2309824Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T12:53:13.2313772Z [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-04T12:53:13.2547012Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T12:53:13.2586278Z [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-04T12:53:13.2827363Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T12:53:13.2868879Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T12:53:13.3111484Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T12:53:13.3173166Z ##[endgroup]
2026-06-04T12:53:13.3174534Z ##[group]Fetching the repository
2026-06-04T12:53:13.3186525Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +6f61a89677d039dc9816f2f736a05b3915f75e00:refs/remotes/origin/dev-freeform
2026-06-04T12:53:13.9687592Z From https://github.com/SaberMage/spt-core
2026-06-04T12:53:13.9692162Z  + 785002e...6f61a89 6f61a89677d039dc9816f2f736a05b3915f75e00 -> origin/dev-freeform  (forced update)
2026-06-04T12:53:13.9719778Z ##[endgroup]
2026-06-04T12:53:13.9722496Z ##[group]Determining the checkout info
2026-06-04T12:53:13.9725198Z ##[endgroup]
2026-06-04T12:53:13.9730326Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T12:53:13.9800297Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T12:53:13.9840856Z ##[group]Checking out the ref
2026-06-04T12:53:13.9847122Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T12:53:13.9911104Z Warning: you are leaving 1 commit behind, not connected to
2026-06-04T12:53:13.9913823Z any of your branches:
2026-06-04T12:53:13.9914944Z 
2026-06-04T12:53:13.9916592Z   785002e feat(daemon,docs): M4-D9-3 dormancy budget measured + policy locked [budget]
2026-06-04T12:53:13.9919115Z 
2026-06-04T12:53:13.9920667Z If you want to keep it by creating a new branch, this may be a good time
2026-06-04T12:53:13.9923690Z to do so with:
2026-06-04T12:53:13.9929635Z 
2026-06-04T12:53:13.9931051Z  git branch <new-branch-name> 785002e
2026-06-04T12:53:13.9932805Z 
2026-06-04T12:53:13.9934092Z Switched to a new branch 'dev-freeform'
2026-06-04T12:53:13.9937355Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T12:53:13.9944630Z ##[endgroup]
2026-06-04T12:53:13.9986048Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T12:53:14.0026545Z 6f61a89677d039dc9816f2f736a05b3915f75e00
2026-06-04T12:53:14.0425149Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T12:53:14.0427637Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T12:53:14.0430365Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T12:53:14.0432439Z [36;1melse[0m
2026-06-04T12:53:14.0434217Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T12:53:14.0436751Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T12:53:14.0438857Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T12:53:14.0440862Z [36;1mfi[0m
2026-06-04T12:53:14.0470298Z shell: /usr/bin/bash -e {0}
2026-06-04T12:53:14.0471856Z env:
2026-06-04T12:53:14.0474882Z   GH_TOKEN: ***
2026-06-04T12:53:14.0476205Z ##[endgroup]
2026-06-04T12:53:14.0691785Z ##[group]Run ./traceable-reqs check --json
2026-06-04T12:53:14.0693739Z [36;1m./traceable-reqs check --json[0m
2026-06-04T12:53:14.0718224Z shell: /usr/bin/bash -e {0}
2026-06-04T12:53:14.0719882Z ##[endgroup]
2026-06-04T12:53:14.0932222Z {
2026-06-04T12:53:14.0933576Z   "schemaVersion": 1,
2026-06-04T12:53:14.0953645Z   "summary": {
2026-06-04T12:53:14.0955067Z     "requirementCount": 129,
2026-06-04T12:53:14.0956701Z     "completeCount": 129,
2026-06-04T12:53:14.0958272Z     "incompleteCount": 0,
2026-06-04T12:53:14.0959829Z     "findingCount": 0
2026-06-04T12:53:14.0961144Z   },
2026-06-04T12:53:14.0962273Z   "requirements": [
2026-06-04T12:53:14.0963513Z     {
2026-06-04T12:53:14.0964703Z       "id": "REQ-API-1",
2026-06-04T12:53:14.0966624Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T12:53:14.0968824Z       "requiredStages": [
2026-06-04T12:53:14.0970296Z         "impl",
2026-06-04T12:53:14.0971597Z         "unit",
2026-06-04T12:53:14.0973041Z         "int"
2026-06-04T12:53:14.0974323Z       ],
2026-06-04T12:53:14.0975529Z       "stages": {
2026-06-04T12:53:14.0976766Z         "doc": {
2026-06-04T12:53:14.0978092Z           "complete": false,
2026-06-04T12:53:14.0979644Z           "evidence": []
2026-06-04T12:53:14.0981030Z         },
2026-06-04T12:53:14.0982223Z         "impl": {
2026-06-04T12:53:14.0983520Z           "complete": true,
2026-06-04T12:53:14.0984991Z           "evidence": [
2026-06-04T12:53:14.0986360Z             {
2026-06-04T12:53:14.0992114Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:53:14.0993951Z               "line": 15
2026-06-04T12:53:14.0995219Z             }
2026-06-04T12:53:14.0996333Z           ]
2026-06-04T12:53:14.0997410Z         },
2026-06-04T12:53:14.0998488Z         "int": {
2026-06-04T12:53:14.0999736Z           "complete": true,
2026-06-04T12:53:14.1001096Z           "evidence": [
2026-06-04T12:53:14.1002357Z             {
2026-06-04T12:53:14.1003772Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.1005547Z               "line": 13
2026-06-04T12:53:14.1006819Z             }
2026-06-04T12:53:14.1007934Z           ]
2026-06-04T12:53:14.1009026Z         },
2026-06-04T12:53:14.1011098Z         "unit": {
2026-06-04T12:53:14.1012409Z           "complete": true,
2026-06-04T12:53:14.1013872Z           "evidence": [
2026-06-04T12:53:14.1015243Z             {
2026-06-04T12:53:14.1016634Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:53:14.1018426Z               "line": 336
2026-06-04T12:53:14.1019878Z             },
2026-06-04T12:53:14.1021082Z             {
2026-06-04T12:53:14.1022439Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:53:14.1024304Z               "line": 342
2026-06-04T12:53:14.1025806Z             },
2026-06-04T12:53:14.1027106Z             {
2026-06-04T12:53:14.1028477Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:53:14.1030255Z               "line": 353
2026-06-04T12:53:14.1031562Z             }
2026-06-04T12:53:14.1032673Z           ]
2026-06-04T12:53:14.1033751Z         }
2026-06-04T12:53:14.1034820Z       }
2026-06-04T12:53:14.1035889Z     },
2026-06-04T12:53:14.1036963Z     {
2026-06-04T12:53:14.1038061Z       "id": "REQ-API-2",
2026-06-04T12:53:14.1040272Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T12:53:14.1042748Z       "requiredStages": [
2026-06-04T12:53:14.1044066Z         "impl",
2026-06-04T12:53:14.1045201Z         "unit",
2026-06-04T12:53:14.1071135Z         "int"
2026-06-04T12:53:14.1072330Z       ],
2026-06-04T12:53:14.1073388Z       "stages": {
2026-06-04T12:53:14.1074540Z         "doc": {
2026-06-04T12:53:14.1075736Z           "complete": false,
2026-06-04T12:53:14.1077134Z           "evidence": []
2026-06-04T12:53:14.1078403Z         },
2026-06-04T12:53:14.1079541Z         "impl": {
2026-06-04T12:53:14.1080744Z           "complete": true,
2026-06-04T12:53:14.1082091Z           "evidence": [
2026-06-04T12:53:14.1083997Z             {
2026-06-04T12:53:14.1085385Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T12:53:14.1087127Z               "line": 15
2026-06-04T12:53:14.1088640Z             },
2026-06-04T12:53:14.1089955Z             {
2026-06-04T12:53:14.1091238Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.1092918Z               "line": 20
2026-06-04T12:53:14.1094146Z             },
2026-06-04T12:53:14.1095216Z             {
2026-06-04T12:53:14.1096503Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.1098168Z               "line": 125
2026-06-04T12:53:14.1099728Z             },
2026-06-04T12:53:14.1100828Z             {
2026-06-04T12:53:14.1102132Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1103827Z               "line": 21
2026-06-04T12:53:14.1105046Z             },
2026-06-04T12:53:14.1106139Z             {
2026-06-04T12:53:14.1107451Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1109200Z               "line": 38
2026-06-04T12:53:14.1110672Z             },
2026-06-04T12:53:14.1111808Z             {
2026-06-04T12:53:14.1113176Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1114957Z               "line": 160
2026-06-04T12:53:14.1116232Z             },
2026-06-04T12:53:14.1117354Z             {
2026-06-04T12:53:14.1118703Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1120638Z               "line": 199
2026-06-04T12:53:14.1121865Z             },
2026-06-04T12:53:14.1122931Z             {
2026-06-04T12:53:14.1124227Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1126224Z               "line": 223
2026-06-04T12:53:14.1127631Z             },
2026-06-04T12:53:14.1128745Z             {
2026-06-04T12:53:14.1130255Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.1131910Z               "line": 17
2026-06-04T12:53:14.1133125Z             },
2026-06-04T12:53:14.1134212Z             {
2026-06-04T12:53:14.1135472Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.1137126Z               "line": 30
2026-06-04T12:53:14.1138351Z             },
2026-06-04T12:53:14.1139609Z             {
2026-06-04T12:53:14.1140920Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.1142617Z               "line": 63
2026-06-04T12:53:14.1143871Z             },
2026-06-04T12:53:14.1144996Z             {
2026-06-04T12:53:14.1146298Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.1148024Z               "line": 76
2026-06-04T12:53:14.1149312Z             }
2026-06-04T12:53:14.1150550Z           ]
2026-06-04T12:53:14.1151579Z         },
2026-06-04T12:53:14.1152616Z         "int": {
2026-06-04T12:53:14.1153759Z           "complete": true,
2026-06-04T12:53:14.1155057Z           "evidence": [
2026-06-04T12:53:14.1156237Z             {
2026-06-04T12:53:14.1157549Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.1159314Z               "line": 14
2026-06-04T12:53:14.1160889Z             },
2026-06-04T12:53:14.1161975Z             {
2026-06-04T12:53:14.1163285Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.1165013Z               "line": 151
2026-06-04T12:53:14.1166254Z             }
2026-06-04T12:53:14.1167333Z           ]
2026-06-04T12:53:14.1168383Z         },
2026-06-04T12:53:14.1169793Z         "unit": {
2026-06-04T12:53:14.1170954Z           "complete": true,
2026-06-04T12:53:14.1172283Z           "evidence": [
2026-06-04T12:53:14.1173483Z             {
2026-06-04T12:53:14.1174789Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T12:53:14.1176478Z               "line": 42
2026-06-04T12:53:14.1177718Z             },
2026-06-04T12:53:14.1178809Z             {
2026-06-04T12:53:14.1180520Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.1182201Z               "line": 204
2026-06-04T12:53:14.1183440Z             },
2026-06-04T12:53:14.1184857Z             {
2026-06-04T12:53:14.1186220Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1187930Z               "line": 296
2026-06-04T12:53:14.1189569Z             },
2026-06-04T12:53:14.1191115Z             {
2026-06-04T12:53:14.1192701Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1194440Z               "line": 307
2026-06-04T12:53:14.1195893Z             },
2026-06-04T12:53:14.1197035Z             {
2026-06-04T12:53:14.1198390Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1200337Z               "line": 375
2026-06-04T12:53:14.1201582Z             },
2026-06-04T12:53:14.1202660Z             {
2026-06-04T12:53:14.1203971Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1205712Z               "line": 387
2026-06-04T12:53:14.1206960Z             },
2026-06-04T12:53:14.1208057Z             {
2026-06-04T12:53:14.1209497Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.1211264Z               "line": 137
2026-06-04T12:53:14.1212547Z             },
2026-06-04T12:53:14.1213674Z             {
2026-06-04T12:53:14.1214982Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.1216715Z               "line": 172
2026-06-04T12:53:14.1218006Z             }
2026-06-04T12:53:14.1219122Z           ]
2026-06-04T12:53:14.1220318Z         }
2026-06-04T12:53:14.1221509Z       }
2026-06-04T12:53:14.1222544Z     },
2026-06-04T12:53:14.1223614Z     {
2026-06-04T12:53:14.1224684Z       "id": "REQ-API-3",
2026-06-04T12:53:14.1226330Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T12:53:14.1228199Z       "requiredStages": [
2026-06-04T12:53:14.1229526Z         "impl",
2026-06-04T12:53:14.1230646Z         "unit",
2026-06-04T12:53:14.1231748Z         "int"
2026-06-04T12:53:14.1232841Z       ],
2026-06-04T12:53:14.1233887Z       "stages": {
2026-06-04T12:53:14.1235018Z         "doc": {
2026-06-04T12:53:14.1236185Z           "complete": false,
2026-06-04T12:53:14.1237552Z           "evidence": []
2026-06-04T12:53:14.1238791Z         },
2026-06-04T12:53:14.1239911Z         "impl": {
2026-06-04T12:53:14.1241089Z           "complete": true,
2026-06-04T12:53:14.1242388Z           "evidence": [
2026-06-04T12:53:14.1243609Z             {
2026-06-04T12:53:14.1244885Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.1246557Z               "line": 27
2026-06-04T12:53:14.1247783Z             },
2026-06-04T12:53:14.1248869Z             {
2026-06-04T12:53:14.1250234Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1251928Z               "line": 233
2026-06-04T12:53:14.1253162Z             }
2026-06-04T12:53:14.1254241Z           ]
2026-06-04T12:53:14.1255276Z         },
2026-06-04T12:53:14.1256313Z         "int": {
2026-06-04T12:53:14.1257457Z           "complete": true,
2026-06-04T12:53:14.1258742Z           "evidence": [
2026-06-04T12:53:14.1259986Z             {
2026-06-04T12:53:14.1261284Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.1262951Z               "line": 203
2026-06-04T12:53:14.1264152Z             }
2026-06-04T12:53:14.1265234Z           ]
2026-06-04T12:53:14.1266255Z         },
2026-06-04T12:53:14.1267282Z         "unit": {
2026-06-04T12:53:14.1268429Z           "complete": true,
2026-06-04T12:53:14.1269799Z           "evidence": [
2026-06-04T12:53:14.1270984Z             {
2026-06-04T12:53:14.1272229Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.1273865Z               "line": 230
2026-06-04T12:53:14.1275086Z             },
2026-06-04T12:53:14.1276152Z             {
2026-06-04T12:53:14.1277420Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.1279075Z               "line": 416
2026-06-04T12:53:14.1280322Z             }
2026-06-04T12:53:14.1281363Z           ]
2026-06-04T12:53:14.1282384Z         }
2026-06-04T12:53:14.1283386Z       }
2026-06-04T12:53:14.1284364Z     },
2026-06-04T12:53:14.1285424Z     {
2026-06-04T12:53:14.1286761Z       "id": "REQ-ARCH-1",
2026-06-04T12:53:14.1288283Z       "title": "Many small acyclically-layered crates",
2026-06-04T12:53:14.1290258Z       "requiredStages": [
2026-06-04T12:53:14.1291501Z         "impl"
2026-06-04T12:53:14.1292571Z       ],
2026-06-04T12:53:14.1293588Z       "stages": {
2026-06-04T12:53:14.1294684Z         "doc": {
2026-06-04T12:53:14.1295827Z           "complete": false,
2026-06-04T12:53:14.1297139Z           "evidence": []
2026-06-04T12:53:14.1298329Z         },
2026-06-04T12:53:14.1299416Z         "impl": {
2026-06-04T12:53:14.1300561Z           "complete": true,
2026-06-04T12:53:14.1301850Z           "evidence": [
2026-06-04T12:53:14.1303017Z             {
2026-06-04T12:53:14.1304222Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T12:53:14.1305808Z               "line": 16
2026-06-04T12:53:14.1307017Z             },
2026-06-04T12:53:14.1308082Z             {
2026-06-04T12:53:14.1309327Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T12:53:14.1310946Z               "line": 12
2026-06-04T12:53:14.1312151Z             },
2026-06-04T12:53:14.1313201Z             {
2026-06-04T12:53:14.1314423Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T12:53:14.1316020Z               "line": 12
2026-06-04T12:53:14.1317223Z             }
2026-06-04T12:53:14.1318267Z           ]
2026-06-04T12:53:14.1319324Z         },
2026-06-04T12:53:14.1320340Z         "int": {
2026-06-04T12:53:14.1321469Z           "complete": false,
2026-06-04T12:53:14.1322779Z           "evidence": []
2026-06-04T12:53:14.1323988Z         },
2026-06-04T12:53:14.1325006Z         "unit": {
2026-06-04T12:53:14.1326180Z           "complete": false,
2026-06-04T12:53:14.1327504Z           "evidence": []
2026-06-04T12:53:14.1328700Z         }
2026-06-04T12:53:14.1329736Z       }
2026-06-04T12:53:14.1330733Z     },
2026-06-04T12:53:14.1331721Z     {
2026-06-04T12:53:14.1332743Z       "id": "REQ-ARCH-2",
2026-06-04T12:53:14.1334480Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T12:53:14.1336479Z       "requiredStages": [
2026-06-04T12:53:14.1337725Z         "impl"
2026-06-04T12:53:14.1338794Z       ],
2026-06-04T12:53:14.1339838Z       "stages": {
2026-06-04T12:53:14.1340929Z         "doc": {
2026-06-04T12:53:14.1342049Z           "complete": false,
2026-06-04T12:53:14.1343347Z           "evidence": []
2026-06-04T12:53:14.1344543Z         },
2026-06-04T12:53:14.1345571Z         "impl": {
2026-06-04T12:53:14.1346696Z           "complete": true,
2026-06-04T12:53:14.1347967Z           "evidence": [
2026-06-04T12:53:14.1349140Z             {
2026-06-04T12:53:14.1350423Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T12:53:14.1352047Z               "line": 18
2026-06-04T12:53:14.1353248Z             }
2026-06-04T12:53:14.1354296Z           ]
2026-06-04T12:53:14.1355318Z         },
2026-06-04T12:53:14.1356322Z         "int": {
2026-06-04T12:53:14.1357440Z           "complete": false,
2026-06-04T12:53:14.1358753Z           "evidence": []
2026-06-04T12:53:14.1359978Z         },
2026-06-04T12:53:14.1360986Z         "unit": {
2026-06-04T12:53:14.1362112Z           "complete": false,
2026-06-04T12:53:14.1363412Z           "evidence": []
2026-06-04T12:53:14.1364596Z         }
2026-06-04T12:53:14.1365587Z       }
2026-06-04T12:53:14.1366563Z     },
2026-06-04T12:53:14.1367549Z     {
2026-06-04T12:53:14.1368577Z       "id": "REQ-ARCH-3",
2026-06-04T12:53:14.1370622Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T12:53:14.1372905Z       "requiredStages": [
2026-06-04T12:53:14.1374150Z         "impl",
2026-06-04T12:53:14.1375235Z         "unit"
2026-06-04T12:53:14.1376284Z       ],
2026-06-04T12:53:14.1377292Z       "stages": {
2026-06-04T12:53:14.1378383Z         "doc": {
2026-06-04T12:53:14.1379581Z           "complete": false,
2026-06-04T12:53:14.1380882Z           "evidence": []
2026-06-04T12:53:14.1382077Z         },
2026-06-04T12:53:14.1383089Z         "impl": {
2026-06-04T12:53:14.1384440Z           "complete": true,
2026-06-04T12:53:14.1385732Z           "evidence": [
2026-06-04T12:53:14.1419248Z             {
2026-06-04T12:53:14.1421537Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:53:14.1423198Z               "line": 34
2026-06-04T12:53:14.1424378Z             },
2026-06-04T12:53:14.1425443Z             {
2026-06-04T12:53:14.1426717Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:53:14.1428340Z               "line": 41
2026-06-04T12:53:14.1429852Z             }
2026-06-04T12:53:14.1430889Z           ]
2026-06-04T12:53:14.1431893Z         },
2026-06-04T12:53:14.1432894Z         "int": {
2026-06-04T12:53:14.1434024Z           "complete": false,
2026-06-04T12:53:14.1435334Z           "evidence": []
2026-06-04T12:53:14.1436524Z         },
2026-06-04T12:53:14.1437522Z         "unit": {
2026-06-04T12:53:14.1438640Z           "complete": true,
2026-06-04T12:53:14.1440240Z           "evidence": [
2026-06-04T12:53:14.1441392Z             {
2026-06-04T12:53:14.1442672Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:53:14.1444302Z               "line": 51
2026-06-04T12:53:14.1445476Z             },
2026-06-04T12:53:14.1446529Z             {
2026-06-04T12:53:14.1447781Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:53:14.1449696Z               "line": 65
2026-06-04T12:53:14.1451057Z             },
2026-06-04T12:53:14.1452108Z             {
2026-06-04T12:53:14.1453375Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:53:14.1455020Z               "line": 74
2026-06-04T12:53:14.1456191Z             }
2026-06-04T12:53:14.1457229Z           ]
2026-06-04T12:53:14.1458226Z         }
2026-06-04T12:53:14.1459248Z       }
2026-06-04T12:53:14.1460573Z     },
2026-06-04T12:53:14.1461557Z     {
2026-06-04T12:53:14.1462582Z       "id": "REQ-ARCH-4",
2026-06-04T12:53:14.1464363Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T12:53:14.1466413Z       "requiredStages": [
2026-06-04T12:53:14.1467642Z         "impl",
2026-06-04T12:53:14.1468710Z         "unit"
2026-06-04T12:53:14.1470112Z       ],
2026-06-04T12:53:14.1471111Z       "stages": {
2026-06-04T12:53:14.1472202Z         "doc": {
2026-06-04T12:53:14.1473325Z           "complete": false,
2026-06-04T12:53:14.1474714Z           "evidence": []
2026-06-04T12:53:14.1475891Z         },
2026-06-04T12:53:14.1476888Z         "impl": {
2026-06-04T12:53:14.1478008Z           "complete": true,
2026-06-04T12:53:14.1479606Z           "evidence": [
2026-06-04T12:53:14.1480767Z             {
2026-06-04T12:53:14.1481999Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1483601Z               "line": 63
2026-06-04T12:53:14.1484776Z             },
2026-06-04T12:53:14.1485820Z             {
2026-06-04T12:53:14.1487049Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1488634Z               "line": 77
2026-06-04T12:53:14.1490484Z             },
2026-06-04T12:53:14.1491565Z             {
2026-06-04T12:53:14.1492805Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1494397Z               "line": 97
2026-06-04T12:53:14.1495595Z             },
2026-06-04T12:53:14.1496647Z             {
2026-06-04T12:53:14.1497879Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1499671Z               "line": 112
2026-06-04T12:53:14.1501018Z             },
2026-06-04T12:53:14.1502062Z             {
2026-06-04T12:53:14.1503292Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1504894Z               "line": 162
2026-06-04T12:53:14.1506087Z             }
2026-06-04T12:53:14.1507130Z           ]
2026-06-04T12:53:14.1508134Z         },
2026-06-04T12:53:14.1509128Z         "int": {
2026-06-04T12:53:14.1510297Z           "complete": false,
2026-06-04T12:53:14.1511607Z           "evidence": []
2026-06-04T12:53:14.1512795Z         },
2026-06-04T12:53:14.1513803Z         "unit": {
2026-06-04T12:53:14.1515182Z           "complete": true,
2026-06-04T12:53:14.1516484Z           "evidence": [
2026-06-04T12:53:14.1517643Z             {
2026-06-04T12:53:14.1518885Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1520785Z               "line": 226
2026-06-04T12:53:14.1522000Z             },
2026-06-04T12:53:14.1523054Z             {
2026-06-04T12:53:14.1531470Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1533134Z               "line": 236
2026-06-04T12:53:14.1534330Z             },
2026-06-04T12:53:14.1535384Z             {
2026-06-04T12:53:14.1536626Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1538227Z               "line": 247
2026-06-04T12:53:14.1539478Z             },
2026-06-04T12:53:14.1540536Z             {
2026-06-04T12:53:14.1541768Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1543358Z               "line": 258
2026-06-04T12:53:14.1544544Z             },
2026-06-04T12:53:14.1545584Z             {
2026-06-04T12:53:14.1546849Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1548440Z               "line": 270
2026-06-04T12:53:14.1549940Z             },
2026-06-04T12:53:14.1551009Z             {
2026-06-04T12:53:14.1552232Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1553834Z               "line": 283
2026-06-04T12:53:14.1555021Z             },
2026-06-04T12:53:14.1556068Z             {
2026-06-04T12:53:14.1557293Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1558886Z               "line": 294
2026-06-04T12:53:14.1560099Z             },
2026-06-04T12:53:14.1561144Z             {
2026-06-04T12:53:14.1562390Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1563995Z               "line": 308
2026-06-04T12:53:14.1565180Z             },
2026-06-04T12:53:14.1566227Z             {
2026-06-04T12:53:14.1567448Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.1569046Z               "line": 336
2026-06-04T12:53:14.1570277Z             }
2026-06-04T12:53:14.1571309Z           ]
2026-06-04T12:53:14.1572323Z         }
2026-06-04T12:53:14.1573315Z       }
2026-06-04T12:53:14.1574299Z     },
2026-06-04T12:53:14.1575277Z     {
2026-06-04T12:53:14.1576309Z       "id": "REQ-DAEMON-1",
2026-06-04T12:53:14.1578048Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T12:53:14.1580078Z       "requiredStages": [
2026-06-04T12:53:14.1581302Z         "impl",
2026-06-04T12:53:14.1582365Z         "unit",
2026-06-04T12:53:14.1583473Z         "int"
2026-06-04T12:53:14.1584510Z       ],
2026-06-04T12:53:14.1585501Z       "stages": {
2026-06-04T12:53:14.1586587Z         "doc": {
2026-06-04T12:53:14.1588611Z           "complete": false,
2026-06-04T12:53:14.1590197Z           "evidence": []
2026-06-04T12:53:14.1591690Z         },
2026-06-04T12:53:14.1592997Z         "impl": {
2026-06-04T12:53:14.1594293Z           "complete": true,
2026-06-04T12:53:14.1595692Z           "evidence": [
2026-06-04T12:53:14.1596975Z             {
2026-06-04T12:53:14.1598441Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.1600444Z               "line": 12
2026-06-04T12:53:14.1601650Z             },
2026-06-04T12:53:14.1602694Z             {
2026-06-04T12:53:14.1603991Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.1605635Z               "line": 16
2026-06-04T12:53:14.1606818Z             },
2026-06-04T12:53:14.1608045Z             {
2026-06-04T12:53:14.1609363Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T12:53:14.1611127Z               "line": 15
2026-06-04T12:53:14.1612298Z             },
2026-06-04T12:53:14.1613345Z             {
2026-06-04T12:53:14.1614526Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T12:53:14.1616078Z               "line": 13
2026-06-04T12:53:14.1617252Z             }
2026-06-04T12:53:14.1618275Z           ]
2026-06-04T12:53:14.1619480Z         },
2026-06-04T12:53:14.1620655Z         "int": {
2026-06-04T12:53:14.1622201Z           "complete": true,
2026-06-04T12:53:14.1623511Z           "evidence": [
2026-06-04T12:53:14.1624658Z             {
2026-06-04T12:53:14.1626146Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:53:14.1627839Z               "line": 32
2026-06-04T12:53:14.1629019Z             }
2026-06-04T12:53:14.1630103Z           ]
2026-06-04T12:53:14.1631108Z         },
2026-06-04T12:53:14.1632113Z         "unit": {
2026-06-04T12:53:14.1633219Z           "complete": true,
2026-06-04T12:53:14.1634459Z           "evidence": [
2026-06-04T12:53:14.1640993Z             {
2026-06-04T12:53:14.1642306Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.1643930Z               "line": 242
2026-06-04T12:53:14.1645107Z             },
2026-06-04T12:53:14.1646187Z             {
2026-06-04T12:53:14.1647447Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.1649059Z               "line": 250
2026-06-04T12:53:14.1650344Z             },
2026-06-04T12:53:14.1651400Z             {
2026-06-04T12:53:14.1652645Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.1654274Z               "line": 263
2026-06-04T12:53:14.1655464Z             },
2026-06-04T12:53:14.1656503Z             {
2026-06-04T12:53:14.1657755Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.1659378Z               "line": 271
2026-06-04T12:53:14.1660562Z             },
2026-06-04T12:53:14.1661597Z             {
2026-06-04T12:53:14.1662877Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.1664516Z               "line": 528
2026-06-04T12:53:14.1665721Z             },
2026-06-04T12:53:14.1666757Z             {
2026-06-04T12:53:14.1668026Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.1669714Z               "line": 587
2026-06-04T12:53:14.1670896Z             },
2026-06-04T12:53:14.1671944Z             {
2026-06-04T12:53:14.1673173Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T12:53:14.1674758Z               "line": 100
2026-06-04T12:53:14.1676043Z             },
2026-06-04T12:53:14.1677102Z             {
2026-06-04T12:53:14.1678325Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T12:53:14.1679969Z               "line": 125
2026-06-04T12:53:14.1681153Z             }
2026-06-04T12:53:14.1682179Z           ]
2026-06-04T12:53:14.1683168Z         }
2026-06-04T12:53:14.1684180Z       }
2026-06-04T12:53:14.1685152Z     },
2026-06-04T12:53:14.1686138Z     {
2026-06-04T12:53:14.1687152Z       "id": "REQ-DAEMON-2",
2026-06-04T12:53:14.1688708Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T12:53:14.1690514Z       "requiredStages": [
2026-06-04T12:53:14.1691718Z         "impl",
2026-06-04T12:53:14.1692776Z         "unit",
2026-06-04T12:53:14.1693936Z         "int"
2026-06-04T12:53:14.1694966Z       ],
2026-06-04T12:53:14.1695964Z       "stages": {
2026-06-04T12:53:14.1697057Z         "doc": {
2026-06-04T12:53:14.1698182Z           "complete": false,
2026-06-04T12:53:14.1699496Z           "evidence": []
2026-06-04T12:53:14.1700673Z         },
2026-06-04T12:53:14.1701709Z         "impl": {
2026-06-04T12:53:14.1702825Z           "complete": true,
2026-06-04T12:53:14.1704084Z           "evidence": [
2026-06-04T12:53:14.1705239Z             {
2026-06-04T12:53:14.1706473Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.1708071Z               "line": 23
2026-06-04T12:53:14.1709281Z             },
2026-06-04T12:53:14.1710329Z             {
2026-06-04T12:53:14.1711552Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.1713142Z               "line": 489
2026-06-04T12:53:14.1714318Z             },
2026-06-04T12:53:14.1715355Z             {
2026-06-04T12:53:14.1716569Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.1718160Z               "line": 612
2026-06-04T12:53:14.1719366Z             },
2026-06-04T12:53:14.1720408Z             {
2026-06-04T12:53:14.1722049Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.1723688Z               "line": 32
2026-06-04T12:53:14.1725130Z             },
2026-06-04T12:53:14.1726154Z             {
2026-06-04T12:53:14.1727388Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.1729002Z               "line": 191
2026-06-04T12:53:14.1730227Z             },
2026-06-04T12:53:14.1731261Z             {
2026-06-04T12:53:14.1732496Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.1734084Z               "line": 510
2026-06-04T12:53:14.1735249Z             },
2026-06-04T12:53:14.1736279Z             {
2026-06-04T12:53:14.1737512Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.1739101Z               "line": 679
2026-06-04T12:53:14.1740300Z             },
2026-06-04T12:53:14.1741326Z             {
2026-06-04T12:53:14.1742534Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:53:14.1748384Z               "line": 11
2026-06-04T12:53:14.1749680Z             },
2026-06-04T12:53:14.1750712Z             {
2026-06-04T12:53:14.1751953Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T12:53:14.1753568Z               "line": 53
2026-06-04T12:53:14.1754720Z             },
2026-06-04T12:53:14.1755803Z             {
2026-06-04T12:53:14.1756989Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.1758535Z               "line": 13
2026-06-04T12:53:14.1759727Z             },
2026-06-04T12:53:14.1760765Z             {
2026-06-04T12:53:14.1762007Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1763602Z               "line": 27
2026-06-04T12:53:14.1764780Z             },
2026-06-04T12:53:14.1765806Z             {
2026-06-04T12:53:14.1767044Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1768633Z               "line": 94
2026-06-04T12:53:14.1769821Z             },
2026-06-04T12:53:14.1770840Z             {
2026-06-04T12:53:14.1772088Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1773682Z               "line": 393
2026-06-04T12:53:14.1774869Z             },
2026-06-04T12:53:14.1775884Z             {
2026-06-04T12:53:14.1777115Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1778704Z               "line": 460
2026-06-04T12:53:14.1779902Z             },
2026-06-04T12:53:14.1780917Z             {
2026-06-04T12:53:14.1782153Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1783749Z               "line": 494
2026-06-04T12:53:14.1784917Z             },
2026-06-04T12:53:14.1785933Z             {
2026-06-04T12:53:14.1787197Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1788800Z               "line": 536
2026-06-04T12:53:14.1790011Z             },
2026-06-04T12:53:14.1791039Z             {
2026-06-04T12:53:14.1792276Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1793876Z               "line": 581
2026-06-04T12:53:14.1795036Z             },
2026-06-04T12:53:14.1796065Z             {
2026-06-04T12:53:14.1797319Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:53:14.1798941Z               "line": 10
2026-06-04T12:53:14.1800124Z             }
2026-06-04T12:53:14.1801131Z           ]
2026-06-04T12:53:14.1802106Z         },
2026-06-04T12:53:14.1803091Z         "int": {
2026-06-04T12:53:14.1804184Z           "complete": true,
2026-06-04T12:53:14.1805420Z           "evidence": [
2026-06-04T12:53:14.1806551Z             {
2026-06-04T12:53:14.1807794Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T12:53:14.1809424Z               "line": 17
2026-06-04T12:53:14.1810575Z             },
2026-06-04T12:53:14.1811593Z             {
2026-06-04T12:53:14.1812876Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:53:14.1814514Z               "line": 33
2026-06-04T12:53:14.1815662Z             },
2026-06-04T12:53:14.1816949Z             {
2026-06-04T12:53:14.1818231Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T12:53:14.1819859Z               "line": 19
2026-06-04T12:53:14.1821168Z             },
2026-06-04T12:53:14.1822184Z             {
2026-06-04T12:53:14.1823469Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:53:14.1825096Z               "line": 70
2026-06-04T12:53:14.1826239Z             },
2026-06-04T12:53:14.1827261Z             {
2026-06-04T12:53:14.1828560Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:53:14.1830244Z               "line": 90
2026-06-04T12:53:14.1831403Z             },
2026-06-04T12:53:14.1832423Z             {
2026-06-04T12:53:14.1833697Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:53:14.1835329Z               "line": 160
2026-06-04T12:53:14.1836476Z             },
2026-06-04T12:53:14.1837500Z             {
2026-06-04T12:53:14.1838803Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:53:14.1840939Z               "line": 196
2026-06-04T12:53:14.1842111Z             },
2026-06-04T12:53:14.1843124Z             {
2026-06-04T12:53:14.1844429Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T12:53:14.1846067Z               "line": 121
2026-06-04T12:53:14.1847227Z             }
2026-06-04T12:53:14.1848249Z           ]
2026-06-04T12:53:14.1849268Z         },
2026-06-04T12:53:14.1854311Z         "unit": {
2026-06-04T12:53:14.1855530Z           "complete": true,
2026-06-04T12:53:14.1856769Z           "evidence": [
2026-06-04T12:53:14.1857892Z             {
2026-06-04T12:53:14.1859094Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:53:14.1860750Z               "line": 62
2026-06-04T12:53:14.1861890Z             },
2026-06-04T12:53:14.1862919Z             {
2026-06-04T12:53:14.1864119Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:53:14.1865663Z               "line": 76
2026-06-04T12:53:14.1866830Z             },
2026-06-04T12:53:14.1867853Z             {
2026-06-04T12:53:14.1869056Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:53:14.1870661Z               "line": 88
2026-06-04T12:53:14.1871813Z             },
2026-06-04T12:53:14.1872839Z             {
2026-06-04T12:53:14.1874057Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:53:14.1875632Z               "line": 264
2026-06-04T12:53:14.1876786Z             },
2026-06-04T12:53:14.1877802Z             {
2026-06-04T12:53:14.1878991Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.1880568Z               "line": 506
2026-06-04T12:53:14.1881735Z             },
2026-06-04T12:53:14.1882750Z             {
2026-06-04T12:53:14.1883946Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.1885486Z               "line": 514
2026-06-04T12:53:14.1886642Z             },
2026-06-04T12:53:14.1887659Z             {
2026-06-04T12:53:14.1888858Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.1890427Z               "line": 531
2026-06-04T12:53:14.1891586Z             },
2026-06-04T12:53:14.1892603Z             {
2026-06-04T12:53:14.1893798Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.1895334Z               "line": 576
2026-06-04T12:53:14.1896481Z             },
2026-06-04T12:53:14.1897495Z             {
2026-06-04T12:53:14.1898724Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1900352Z               "line": 648
2026-06-04T12:53:14.1901500Z             },
2026-06-04T12:53:14.1902507Z             {
2026-06-04T12:53:14.1903736Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.1905320Z               "line": 660
2026-06-04T12:53:14.1906484Z             },
2026-06-04T12:53:14.1907498Z             {
2026-06-04T12:53:14.1908741Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:53:14.1910387Z               "line": 112
2026-06-04T12:53:14.1911794Z             }
2026-06-04T12:53:14.1912841Z           ]
2026-06-04T12:53:14.1913811Z         }
2026-06-04T12:53:14.1914782Z       }
2026-06-04T12:53:14.1915733Z     },
2026-06-04T12:53:14.1916842Z     {
2026-06-04T12:53:14.1917845Z       "id": "REQ-DAEMON-3",
2026-06-04T12:53:14.1919518Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T12:53:14.1921398Z       "requiredStages": [
2026-06-04T12:53:14.1922585Z         "impl",
2026-06-04T12:53:14.1923615Z         "unit",
2026-06-04T12:53:14.1924634Z         "int"
2026-06-04T12:53:14.1925631Z       ],
2026-06-04T12:53:14.1926596Z       "stages": {
2026-06-04T12:53:14.1927652Z         "doc": {
2026-06-04T12:53:14.1928750Z           "complete": false,
2026-06-04T12:53:14.1930052Z           "evidence": []
2026-06-04T12:53:14.1931190Z         },
2026-06-04T12:53:14.1932172Z         "impl": {
2026-06-04T12:53:14.1933259Z           "complete": true,
2026-06-04T12:53:14.1934485Z           "evidence": [
2026-06-04T12:53:14.1935608Z             {
2026-06-04T12:53:14.1936842Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T12:53:14.1938412Z               "line": 14
2026-06-04T12:53:14.1939604Z             },
2026-06-04T12:53:14.1940613Z             {
2026-06-04T12:53:14.1941844Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T12:53:14.1943433Z               "line": 11
2026-06-04T12:53:14.1944568Z             },
2026-06-04T12:53:14.1945594Z             {
2026-06-04T12:53:14.1946743Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:53:14.1948258Z               "line": 209
2026-06-04T12:53:14.1949445Z             },
2026-06-04T12:53:14.1950460Z             {
2026-06-04T12:53:14.1951581Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.1953059Z               "line": 362
2026-06-04T12:53:14.1958305Z             }
2026-06-04T12:53:14.1959610Z           ]
2026-06-04T12:53:14.1960612Z         },
2026-06-04T12:53:14.1961586Z         "int": {
2026-06-04T12:53:14.1962695Z           "complete": true,
2026-06-04T12:53:14.1963917Z           "evidence": [
2026-06-04T12:53:14.1965032Z             {
2026-06-04T12:53:14.1966246Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.1967807Z               "line": 43
2026-06-04T12:53:14.1968943Z             },
2026-06-04T12:53:14.1970026Z             {
2026-06-04T12:53:14.1971253Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.1972819Z               "line": 320
2026-06-04T12:53:14.1973963Z             }
2026-06-04T12:53:14.1974959Z           ]
2026-06-04T12:53:14.1975915Z         },
2026-06-04T12:53:14.1976879Z         "unit": {
2026-06-04T12:53:14.1977959Z           "complete": true,
2026-06-04T12:53:14.1979222Z           "evidence": [
2026-06-04T12:53:14.1980336Z             {
2026-06-04T12:53:14.1981547Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T12:53:14.1983107Z               "line": 242
2026-06-04T12:53:14.1984254Z             }
2026-06-04T12:53:14.1985237Z           ]
2026-06-04T12:53:14.1986212Z         }
2026-06-04T12:53:14.1987162Z       }
2026-06-04T12:53:14.1988102Z     },
2026-06-04T12:53:14.1989051Z     {
2026-06-04T12:53:14.1990091Z       "id": "REQ-DAEMON-4",
2026-06-04T12:53:14.1991497Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T12:53:14.1993093Z       "requiredStages": [
2026-06-04T12:53:14.1994265Z         "impl",
2026-06-04T12:53:14.1995302Z         "unit",
2026-06-04T12:53:14.1996321Z         "int"
2026-06-04T12:53:14.1997326Z       ],
2026-06-04T12:53:14.1998283Z       "stages": {
2026-06-04T12:53:14.1999379Z         "doc": {
2026-06-04T12:53:14.2000463Z           "complete": false,
2026-06-04T12:53:14.2001715Z           "evidence": []
2026-06-04T12:53:14.2002864Z         },
2026-06-04T12:53:14.2003828Z         "impl": {
2026-06-04T12:53:14.2004903Z           "complete": true,
2026-06-04T12:53:14.2006101Z           "evidence": [
2026-06-04T12:53:14.2007201Z             {
2026-06-04T12:53:14.2008725Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2010475Z               "line": 339
2026-06-04T12:53:14.2011620Z             },
2026-06-04T12:53:14.2012624Z             {
2026-06-04T12:53:14.2014030Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2015627Z               "line": 401
2026-06-04T12:53:14.2016767Z             },
2026-06-04T12:53:14.2017761Z             {
2026-06-04T12:53:14.2018989Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2020650Z               "line": 423
2026-06-04T12:53:14.2021800Z             }
2026-06-04T12:53:14.2022785Z           ]
2026-06-04T12:53:14.2023744Z         },
2026-06-04T12:53:14.2024709Z         "int": {
2026-06-04T12:53:14.2025776Z           "complete": true,
2026-06-04T12:53:14.2026980Z           "evidence": [
2026-06-04T12:53:14.2028091Z             {
2026-06-04T12:53:14.2029413Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:53:14.2031048Z               "line": 34
2026-06-04T12:53:14.2032187Z             }
2026-06-04T12:53:14.2033170Z           ]
2026-06-04T12:53:14.2034139Z         },
2026-06-04T12:53:14.2035106Z         "unit": {
2026-06-04T12:53:14.2036194Z           "complete": true,
2026-06-04T12:53:14.2037387Z           "evidence": [
2026-06-04T12:53:14.2038491Z             {
2026-06-04T12:53:14.2039739Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.2041294Z               "line": 340
2026-06-04T12:53:14.2042433Z             },
2026-06-04T12:53:14.2043435Z             {
2026-06-04T12:53:14.2044657Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2046246Z               "line": 717
2026-06-04T12:53:14.2047388Z             },
2026-06-04T12:53:14.2048391Z             {
2026-06-04T12:53:14.2049658Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2051536Z               "line": 768
2026-06-04T12:53:14.2052912Z             },
2026-06-04T12:53:14.2053925Z             {
2026-06-04T12:53:14.2059101Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2060855Z               "line": 792
2026-06-04T12:53:14.2062017Z             },
2026-06-04T12:53:14.2063037Z             {
2026-06-04T12:53:14.2064313Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2065917Z               "line": 822
2026-06-04T12:53:14.2067065Z             }
2026-06-04T12:53:14.2068071Z           ]
2026-06-04T12:53:14.2069027Z         }
2026-06-04T12:53:14.2070034Z       }
2026-06-04T12:53:14.2070964Z     },
2026-06-04T12:53:14.2071910Z     {
2026-06-04T12:53:14.2072941Z       "id": "REQ-DOCS-1",
2026-06-04T12:53:14.2074894Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T12:53:14.2077082Z       "requiredStages": [],
2026-06-04T12:53:14.2078289Z       "stages": {
2026-06-04T12:53:14.2079362Z         "doc": {
2026-06-04T12:53:14.2080443Z           "complete": false,
2026-06-04T12:53:14.2081690Z           "evidence": []
2026-06-04T12:53:14.2082842Z         },
2026-06-04T12:53:14.2083814Z         "impl": {
2026-06-04T12:53:14.2084897Z           "complete": false,
2026-06-04T12:53:14.2086163Z           "evidence": []
2026-06-04T12:53:14.2087308Z         },
2026-06-04T12:53:14.2088270Z         "int": {
2026-06-04T12:53:14.2089386Z           "complete": false,
2026-06-04T12:53:14.2090626Z           "evidence": []
2026-06-04T12:53:14.2091763Z         },
2026-06-04T12:53:14.2092740Z         "unit": {
2026-06-04T12:53:14.2093821Z           "complete": false,
2026-06-04T12:53:14.2095103Z           "evidence": []
2026-06-04T12:53:14.2096236Z         }
2026-06-04T12:53:14.2097187Z       }
2026-06-04T12:53:14.2098125Z     },
2026-06-04T12:53:14.2099074Z     {
2026-06-04T12:53:14.2100087Z       "id": "REQ-DOCS-2",
2026-06-04T12:53:14.2101712Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T12:53:14.2103599Z       "requiredStages": [],
2026-06-04T12:53:14.2104816Z       "stages": {
2026-06-04T12:53:14.2106149Z         "doc": {
2026-06-04T12:53:14.2107284Z           "complete": false,
2026-06-04T12:53:14.2108521Z           "evidence": []
2026-06-04T12:53:14.2109805Z         },
2026-06-04T12:53:14.2110947Z         "impl": {
2026-06-04T12:53:14.2112053Z           "complete": false,
2026-06-04T12:53:14.2113303Z           "evidence": []
2026-06-04T12:53:14.2114437Z         },
2026-06-04T12:53:14.2115409Z         "int": {
2026-06-04T12:53:14.2116509Z           "complete": false,
2026-06-04T12:53:14.2117749Z           "evidence": []
2026-06-04T12:53:14.2118881Z         },
2026-06-04T12:53:14.2119897Z         "unit": {
2026-06-04T12:53:14.2120996Z           "complete": false,
2026-06-04T12:53:14.2122236Z           "evidence": []
2026-06-04T12:53:14.2123371Z         }
2026-06-04T12:53:14.2124327Z       }
2026-06-04T12:53:14.2125259Z     },
2026-06-04T12:53:14.2126205Z     {
2026-06-04T12:53:14.2127184Z       "id": "REQ-DOCS-3",
2026-06-04T12:53:14.2129298Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T12:53:14.2131127Z       "requiredStages": [],
2026-06-04T12:53:14.2132355Z       "stages": {
2026-06-04T12:53:14.2133397Z         "doc": {
2026-06-04T12:53:14.2134503Z           "complete": false,
2026-06-04T12:53:14.2135754Z           "evidence": []
2026-06-04T12:53:14.2136908Z         },
2026-06-04T12:53:14.2137886Z         "impl": {
2026-06-04T12:53:14.2138979Z           "complete": false,
2026-06-04T12:53:14.2140263Z           "evidence": []
2026-06-04T12:53:14.2141403Z         },
2026-06-04T12:53:14.2142383Z         "int": {
2026-06-04T12:53:14.2143459Z           "complete": false,
2026-06-04T12:53:14.2144705Z           "evidence": []
2026-06-04T12:53:14.2145846Z         },
2026-06-04T12:53:14.2146828Z         "unit": {
2026-06-04T12:53:14.2147910Z           "complete": false,
2026-06-04T12:53:14.2149148Z           "evidence": []
2026-06-04T12:53:14.2150329Z         }
2026-06-04T12:53:14.2151288Z       }
2026-06-04T12:53:14.2152225Z     },
2026-06-04T12:53:14.2153170Z     {
2026-06-04T12:53:14.2154158Z       "id": "REQ-DOCS-4",
2026-06-04T12:53:14.2160253Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T12:53:14.2162440Z       "requiredStages": [],
2026-06-04T12:53:14.2163646Z       "stages": {
2026-06-04T12:53:14.2164692Z         "doc": {
2026-06-04T12:53:14.2165764Z           "complete": false,
2026-06-04T12:53:14.2166998Z           "evidence": []
2026-06-04T12:53:14.2168126Z         },
2026-06-04T12:53:14.2169102Z         "impl": {
2026-06-04T12:53:14.2170275Z           "complete": false,
2026-06-04T12:53:14.2171561Z           "evidence": []
2026-06-04T12:53:14.2172691Z         },
2026-06-04T12:53:14.2173662Z         "int": {
2026-06-04T12:53:14.2174738Z           "complete": false,
2026-06-04T12:53:14.2175972Z           "evidence": []
2026-06-04T12:53:14.2177104Z         },
2026-06-04T12:53:14.2178076Z         "unit": {
2026-06-04T12:53:14.2179152Z           "complete": false,
2026-06-04T12:53:14.2180425Z           "evidence": []
2026-06-04T12:53:14.2181585Z         }
2026-06-04T12:53:14.2182534Z       }
2026-06-04T12:53:14.2183466Z     },
2026-06-04T12:53:14.2184408Z     {
2026-06-04T12:53:14.2185385Z       "id": "REQ-DOCS-5",
2026-06-04T12:53:14.2187264Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T12:53:14.2189417Z       "requiredStages": [],
2026-06-04T12:53:14.2190619Z       "stages": {
2026-06-04T12:53:14.2191673Z         "doc": {
2026-06-04T12:53:14.2192747Z           "complete": false,
2026-06-04T12:53:14.2193986Z           "evidence": []
2026-06-04T12:53:14.2195116Z         },
2026-06-04T12:53:14.2196082Z         "impl": {
2026-06-04T12:53:14.2197147Z           "complete": false,
2026-06-04T12:53:14.2198381Z           "evidence": []
2026-06-04T12:53:14.2199549Z         },
2026-06-04T12:53:14.2200532Z         "int": {
2026-06-04T12:53:14.2201623Z           "complete": false,
2026-06-04T12:53:14.2202849Z           "evidence": []
2026-06-04T12:53:14.2203976Z         },
2026-06-04T12:53:14.2205230Z         "unit": {
2026-06-04T12:53:14.2206361Z           "complete": false,
2026-06-04T12:53:14.2207600Z           "evidence": []
2026-06-04T12:53:14.2209007Z         }
2026-06-04T12:53:14.2210494Z       }
2026-06-04T12:53:14.2211430Z     },
2026-06-04T12:53:14.2212376Z     {
2026-06-04T12:53:14.2213345Z       "id": "REQ-EP-1",
2026-06-04T12:53:14.2214744Z       "title": "Day-one endpoint types; open type system",
2026-06-04T12:53:14.2216391Z       "requiredStages": [
2026-06-04T12:53:14.2217566Z         "impl",
2026-06-04T12:53:14.2218592Z         "unit"
2026-06-04T12:53:14.2220008Z       ],
2026-06-04T12:53:14.2220976Z       "stages": {
2026-06-04T12:53:14.2222019Z         "doc": {
2026-06-04T12:53:14.2223110Z           "complete": false,
2026-06-04T12:53:14.2224351Z           "evidence": []
2026-06-04T12:53:14.2225495Z         },
2026-06-04T12:53:14.2226467Z         "impl": {
2026-06-04T12:53:14.2227558Z           "complete": true,
2026-06-04T12:53:14.2228766Z           "evidence": [
2026-06-04T12:53:14.2230246Z             {
2026-06-04T12:53:14.2231484Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2233069Z               "line": 77
2026-06-04T12:53:14.2234217Z             },
2026-06-04T12:53:14.2235281Z             {
2026-06-04T12:53:14.2236511Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2238080Z               "line": 94
2026-06-04T12:53:14.2239277Z             }
2026-06-04T12:53:14.2240606Z           ]
2026-06-04T12:53:14.2241567Z         },
2026-06-04T12:53:14.2242526Z         "int": {
2026-06-04T12:53:14.2243610Z           "complete": false,
2026-06-04T12:53:14.2244845Z           "evidence": []
2026-06-04T12:53:14.2245979Z         },
2026-06-04T12:53:14.2246950Z         "unit": {
2026-06-04T12:53:14.2248031Z           "complete": true,
2026-06-04T12:53:14.2249289Z           "evidence": [
2026-06-04T12:53:14.2250407Z             {
2026-06-04T12:53:14.2251621Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2253221Z               "line": 161
2026-06-04T12:53:14.2254371Z             },
2026-06-04T12:53:14.2255377Z             {
2026-06-04T12:53:14.2260628Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2262356Z               "line": 178
2026-06-04T12:53:14.2263507Z             }
2026-06-04T12:53:14.2264485Z           ]
2026-06-04T12:53:14.2265437Z         }
2026-06-04T12:53:14.2266373Z       }
2026-06-04T12:53:14.2267307Z     },
2026-06-04T12:53:14.2268250Z     {
2026-06-04T12:53:14.2269274Z       "id": "REQ-EP-2",
2026-06-04T12:53:14.2270863Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T12:53:14.2272738Z       "requiredStages": [
2026-06-04T12:53:14.2273918Z         "impl",
2026-06-04T12:53:14.2274947Z         "unit"
2026-06-04T12:53:14.2275954Z       ],
2026-06-04T12:53:14.2276912Z       "stages": {
2026-06-04T12:53:14.2277942Z         "doc": {
2026-06-04T12:53:14.2279009Z           "complete": false,
2026-06-04T12:53:14.2280297Z           "evidence": []
2026-06-04T12:53:14.2281440Z         },
2026-06-04T12:53:14.2282419Z         "impl": {
2026-06-04T12:53:14.2283526Z           "complete": true,
2026-06-04T12:53:14.2284736Z           "evidence": [
2026-06-04T12:53:14.2285848Z             {
2026-06-04T12:53:14.2287072Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2288863Z               "line": 114
2026-06-04T12:53:14.2290116Z             },
2026-06-04T12:53:14.2291159Z             {
2026-06-04T12:53:14.2292419Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2294279Z               "line": 131
2026-06-04T12:53:14.2295418Z             },
2026-06-04T12:53:14.2296417Z             {
2026-06-04T12:53:14.2297629Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2299243Z               "line": 138
2026-06-04T12:53:14.2300694Z             }
2026-06-04T12:53:14.2301690Z           ]
2026-06-04T12:53:14.2302655Z         },
2026-06-04T12:53:14.2303617Z         "int": {
2026-06-04T12:53:14.2305020Z           "complete": false,
2026-06-04T12:53:14.2306397Z           "evidence": []
2026-06-04T12:53:14.2307520Z         },
2026-06-04T12:53:14.2308721Z         "unit": {
2026-06-04T12:53:14.2309860Z           "complete": true,
2026-06-04T12:53:14.2311059Z           "evidence": [
2026-06-04T12:53:14.2312160Z             {
2026-06-04T12:53:14.2313379Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2314939Z               "line": 193
2026-06-04T12:53:14.2315372Z             },
2026-06-04T12:53:14.2315789Z             {
2026-06-04T12:53:14.2316442Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2316898Z               "line": 211
2026-06-04T12:53:14.2317328Z             },
2026-06-04T12:53:14.2317750Z             {
2026-06-04T12:53:14.2318398Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:53:14.2318861Z               "line": 224
2026-06-04T12:53:14.2319318Z             }
2026-06-04T12:53:14.2319768Z           ]
2026-06-04T12:53:14.2320192Z         }
2026-06-04T12:53:14.2320618Z       }
2026-06-04T12:53:14.2321041Z     },
2026-06-04T12:53:14.2321448Z     {
2026-06-04T12:53:14.2321923Z       "id": "REQ-EP-3",
2026-06-04T12:53:14.2322976Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T12:53:14.2323464Z       "requiredStages": [
2026-06-04T12:53:14.2323892Z         "impl",
2026-06-04T12:53:14.2324321Z         "unit"
2026-06-04T12:53:14.2324740Z       ],
2026-06-04T12:53:14.2325170Z       "stages": {
2026-06-04T12:53:14.2325599Z         "doc": {
2026-06-04T12:53:14.2326068Z           "complete": false,
2026-06-04T12:53:14.2326527Z           "evidence": []
2026-06-04T12:53:14.2326936Z         },
2026-06-04T12:53:14.2327376Z         "impl": {
2026-06-04T12:53:14.2327848Z           "complete": true,
2026-06-04T12:53:14.2328302Z           "evidence": [
2026-06-04T12:53:14.2328726Z             {
2026-06-04T12:53:14.2329429Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2329900Z               "line": 31
2026-06-04T12:53:14.2330318Z             },
2026-06-04T12:53:14.2330746Z             {
2026-06-04T12:53:14.2331405Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2331847Z               "line": 49
2026-06-04T12:53:14.2332270Z             }
2026-06-04T12:53:14.2332695Z           ]
2026-06-04T12:53:14.2333124Z         },
2026-06-04T12:53:14.2333545Z         "int": {
2026-06-04T12:53:14.2334022Z           "complete": false,
2026-06-04T12:53:14.2334486Z           "evidence": []
2026-06-04T12:53:14.2334898Z         },
2026-06-04T12:53:14.2335334Z         "unit": {
2026-06-04T12:53:14.2335800Z           "complete": true,
2026-06-04T12:53:14.2336251Z           "evidence": [
2026-06-04T12:53:14.2336670Z             {
2026-06-04T12:53:14.2337322Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2337777Z               "line": 156
2026-06-04T12:53:14.2338199Z             },
2026-06-04T12:53:14.2338633Z             {
2026-06-04T12:53:14.2339313Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2339778Z               "line": 164
2026-06-04T12:53:14.2340213Z             },
2026-06-04T12:53:14.2340652Z             {
2026-06-04T12:53:14.2341300Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2341753Z               "line": 177
2026-06-04T12:53:14.2342183Z             },
2026-06-04T12:53:14.2342596Z             {
2026-06-04T12:53:14.2343241Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2343686Z               "line": 197
2026-06-04T12:53:14.2344112Z             },
2026-06-04T12:53:14.2344543Z             {
2026-06-04T12:53:14.2345178Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2345631Z               "line": 213
2026-06-04T12:53:14.2346054Z             },
2026-06-04T12:53:14.2346480Z             {
2026-06-04T12:53:14.2347116Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:53:14.2347758Z               "line": 227
2026-06-04T12:53:14.2348210Z             }
2026-06-04T12:53:14.2348634Z           ]
2026-06-04T12:53:14.2349063Z         }
2026-06-04T12:53:14.2349660Z       }
2026-06-04T12:53:14.2353913Z     },
2026-06-04T12:53:14.2354387Z     {
2026-06-04T12:53:14.2354874Z       "id": "REQ-EP-4",
2026-06-04T12:53:14.2355794Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T12:53:14.2356265Z       "requiredStages": [
2026-06-04T12:53:14.2356700Z         "impl",
2026-06-04T12:53:14.2357122Z         "unit"
2026-06-04T12:53:14.2357546Z       ],
2026-06-04T12:53:14.2357975Z       "stages": {
2026-06-04T12:53:14.2358407Z         "doc": {
2026-06-04T12:53:14.2358883Z           "complete": false,
2026-06-04T12:53:14.2359434Z           "evidence": []
2026-06-04T12:53:14.2359861Z         },
2026-06-04T12:53:14.2360292Z         "impl": {
2026-06-04T12:53:14.2360773Z           "complete": true,
2026-06-04T12:53:14.2361220Z           "evidence": [
2026-06-04T12:53:14.2361678Z             {
2026-06-04T12:53:14.2362300Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.2362744Z               "line": 419
2026-06-04T12:53:14.2363177Z             },
2026-06-04T12:53:14.2363594Z             {
2026-06-04T12:53:14.2364220Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.2364668Z               "line": 631
2026-06-04T12:53:14.2365102Z             },
2026-06-04T12:53:14.2365526Z             {
2026-06-04T12:53:14.2366150Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.2366610Z               "line": 696
2026-06-04T12:53:14.2367032Z             },
2026-06-04T12:53:14.2367452Z             {
2026-06-04T12:53:14.2368054Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.2368501Z               "line": 83
2026-06-04T12:53:14.2368928Z             },
2026-06-04T12:53:14.2369393Z             {
2026-06-04T12:53:14.2369997Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.2370454Z               "line": 407
2026-06-04T12:53:14.2370881Z             },
2026-06-04T12:53:14.2371306Z             {
2026-06-04T12:53:14.2371895Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.2372362Z               "line": 478
2026-06-04T12:53:14.2372781Z             },
2026-06-04T12:53:14.2373202Z             {
2026-06-04T12:53:14.2373828Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.2374285Z               "line": 181
2026-06-04T12:53:14.2374711Z             },
2026-06-04T12:53:14.2375126Z             {
2026-06-04T12:53:14.2375772Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.2376221Z               "line": 306
2026-06-04T12:53:14.2376645Z             },
2026-06-04T12:53:14.2377057Z             {
2026-06-04T12:53:14.2377698Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:53:14.2378151Z               "line": 613
2026-06-04T12:53:14.2378570Z             }
2026-06-04T12:53:14.2378995Z           ]
2026-06-04T12:53:14.2379450Z         },
2026-06-04T12:53:14.2379887Z         "int": {
2026-06-04T12:53:14.2380359Z           "complete": false,
2026-06-04T12:53:14.2380828Z           "evidence": []
2026-06-04T12:53:14.2381253Z         },
2026-06-04T12:53:14.2381676Z         "unit": {
2026-06-04T12:53:14.2382144Z           "complete": true,
2026-06-04T12:53:14.2382589Z           "evidence": [
2026-06-04T12:53:14.2383013Z             {
2026-06-04T12:53:14.2383606Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:53:14.2384066Z               "line": 551
2026-06-04T12:53:14.2384499Z             },
2026-06-04T12:53:14.2384915Z             {
2026-06-04T12:53:14.2385598Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T12:53:14.2386043Z               "line": 75
2026-06-04T12:53:14.2386469Z             },
2026-06-04T12:53:14.2386884Z             {
2026-06-04T12:53:14.2387564Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T12:53:14.2388250Z               "line": 131
2026-06-04T12:53:14.2388694Z             }
2026-06-04T12:53:14.2389121Z           ]
2026-06-04T12:53:14.2389588Z         }
2026-06-04T12:53:14.2390159Z       }
2026-06-04T12:53:14.2390575Z     },
2026-06-04T12:53:14.2390991Z     {
2026-06-04T12:53:14.2391445Z       "id": "REQ-EP-5",
2026-06-04T12:53:14.2395741Z       "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-04T12:53:14.2396230Z       "requiredStages": [],
2026-06-04T12:53:14.2396668Z       "stages": {
2026-06-04T12:53:14.2397101Z         "doc": {
2026-06-04T12:53:14.2397583Z           "complete": false,
2026-06-04T12:53:14.2398026Z           "evidence": []
2026-06-04T12:53:14.2398449Z         },
2026-06-04T12:53:14.2398881Z         "impl": {
2026-06-04T12:53:14.2399398Z           "complete": false,
2026-06-04T12:53:14.2399872Z           "evidence": []
2026-06-04T12:53:14.2400312Z         },
2026-06-04T12:53:14.2400745Z         "int": {
2026-06-04T12:53:14.2401211Z           "complete": false,
2026-06-04T12:53:14.2401678Z           "evidence": []
2026-06-04T12:53:14.2402094Z         },
2026-06-04T12:53:14.2402524Z         "unit": {
2026-06-04T12:53:14.2402988Z           "complete": false,
2026-06-04T12:53:14.2403439Z           "evidence": []
2026-06-04T12:53:14.2403864Z         }
2026-06-04T12:53:14.2404278Z       }
2026-06-04T12:53:14.2404697Z     },
2026-06-04T12:53:14.2405105Z     {
2026-06-04T12:53:14.2405581Z       "id": "REQ-FRONT-1",
2026-06-04T12:53:14.2406564Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T12:53:14.2407053Z       "requiredStages": [],
2026-06-04T12:53:14.2407497Z       "stages": {
2026-06-04T12:53:14.2407922Z         "doc": {
2026-06-04T12:53:14.2408403Z           "complete": false,
2026-06-04T12:53:14.2408852Z           "evidence": []
2026-06-04T12:53:14.2409326Z         },
2026-06-04T12:53:14.2409756Z         "impl": {
2026-06-04T12:53:14.2410230Z           "complete": false,
2026-06-04T12:53:14.2410683Z           "evidence": []
2026-06-04T12:53:14.2411104Z         },
2026-06-04T12:53:14.2411530Z         "int": {
2026-06-04T12:53:14.2411999Z           "complete": false,
2026-06-04T12:53:14.2412458Z           "evidence": []
2026-06-04T12:53:14.2412875Z         },
2026-06-04T12:53:14.2413314Z         "unit": {
2026-06-04T12:53:14.2413785Z           "complete": false,
2026-06-04T12:53:14.2414241Z           "evidence": []
2026-06-04T12:53:14.2414662Z         }
2026-06-04T12:53:14.2415075Z       }
2026-06-04T12:53:14.2415496Z     },
2026-06-04T12:53:14.2415901Z     {
2026-06-04T12:53:14.2416521Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T12:53:14.2417506Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T12:53:14.2417991Z       "requiredStages": [
2026-06-04T12:53:14.2418428Z         "impl",
2026-06-04T12:53:14.2418864Z         "unit"
2026-06-04T12:53:14.2419335Z       ],
2026-06-04T12:53:14.2419771Z       "stages": {
2026-06-04T12:53:14.2420199Z         "doc": {
2026-06-04T12:53:14.2420674Z           "complete": false,
2026-06-04T12:53:14.2421128Z           "evidence": []
2026-06-04T12:53:14.2421547Z         },
2026-06-04T12:53:14.2421971Z         "impl": {
2026-06-04T12:53:14.2422442Z           "complete": true,
2026-06-04T12:53:14.2422893Z           "evidence": [
2026-06-04T12:53:14.2423316Z             {
2026-06-04T12:53:14.2423957Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.2424411Z               "line": 119
2026-06-04T12:53:14.2424838Z             },
2026-06-04T12:53:14.2425255Z             {
2026-06-04T12:53:14.2425859Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.2426299Z               "line": 18
2026-06-04T12:53:14.2426720Z             },
2026-06-04T12:53:14.2427144Z             {
2026-06-04T12:53:14.2427895Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.2428375Z               "line": 94
2026-06-04T12:53:14.2428795Z             }
2026-06-04T12:53:14.2429272Z           ]
2026-06-04T12:53:14.2429847Z         },
2026-06-04T12:53:14.2430290Z         "int": {
2026-06-04T12:53:14.2430755Z           "complete": false,
2026-06-04T12:53:14.2431214Z           "evidence": []
2026-06-04T12:53:14.2431633Z         },
2026-06-04T12:53:14.2432053Z         "unit": {
2026-06-04T12:53:14.2432518Z           "complete": true,
2026-06-04T12:53:14.2432959Z           "evidence": [
2026-06-04T12:53:14.2433387Z             {
2026-06-04T12:53:14.2434029Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.2434473Z               "line": 363
2026-06-04T12:53:14.2438264Z             },
2026-06-04T12:53:14.2438740Z             {
2026-06-04T12:53:14.2439451Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.2439909Z               "line": 152
2026-06-04T12:53:14.2440337Z             },
2026-06-04T12:53:14.2440785Z             {
2026-06-04T12:53:14.2441384Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.2441834Z               "line": 188
2026-06-04T12:53:14.2442258Z             }
2026-06-04T12:53:14.2442680Z           ]
2026-06-04T12:53:14.2443092Z         }
2026-06-04T12:53:14.2443515Z       }
2026-06-04T12:53:14.2443930Z     },
2026-06-04T12:53:14.2444343Z     {
2026-06-04T12:53:14.2444977Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T12:53:14.2448620Z       "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-04T12:53:14.2449109Z       "requiredStages": [
2026-06-04T12:53:14.2449578Z         "impl",
2026-06-04T12:53:14.2450006Z         "unit"
2026-06-04T12:53:14.2450430Z       ],
2026-06-04T12:53:14.2450863Z       "stages": {
2026-06-04T12:53:14.2451298Z         "doc": {
2026-06-04T12:53:14.2451774Z           "complete": false,
2026-06-04T12:53:14.2452230Z           "evidence": []
2026-06-04T12:53:14.2452647Z         },
2026-06-04T12:53:14.2453079Z         "impl": {
2026-06-04T12:53:14.2453565Z           "complete": true,
2026-06-04T12:53:14.2454011Z           "evidence": [
2026-06-04T12:53:14.2454426Z             {
2026-06-04T12:53:14.2455072Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:53:14.2455520Z               "line": 22
2026-06-04T12:53:14.2455939Z             },
2026-06-04T12:53:14.2456364Z             {
2026-06-04T12:53:14.2456968Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.2457408Z               "line": 417
2026-06-04T12:53:14.2457838Z             },
2026-06-04T12:53:14.2458255Z             {
2026-06-04T12:53:14.2458889Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:53:14.2459363Z               "line": 17
2026-06-04T12:53:14.2459790Z             },
2026-06-04T12:53:14.2460212Z             {
2026-06-04T12:53:14.2460852Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:53:14.2461313Z               "line": 125
2026-06-04T12:53:14.2461735Z             },
2026-06-04T12:53:14.2462169Z             {
2026-06-04T12:53:14.2462851Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.2463301Z               "line": 169
2026-06-04T12:53:14.2463723Z             },
2026-06-04T12:53:14.2464141Z             {
2026-06-04T12:53:14.2464824Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.2465270Z               "line": 197
2026-06-04T12:53:14.2465742Z             },
2026-06-04T12:53:14.2466162Z             {
2026-06-04T12:53:14.2466842Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.2467292Z               "line": 223
2026-06-04T12:53:14.2467713Z             },
2026-06-04T12:53:14.2468133Z             {
2026-06-04T12:53:14.2468777Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.2469517Z               "line": 122
2026-06-04T12:53:14.2469989Z             },
2026-06-04T12:53:14.2470409Z             {
2026-06-04T12:53:14.2471055Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.2471658Z               "line": 222
2026-06-04T12:53:14.2472088Z             }
2026-06-04T12:53:14.2472506Z           ]
2026-06-04T12:53:14.2472931Z         },
2026-06-04T12:53:14.2473359Z         "int": {
2026-06-04T12:53:14.2473826Z           "complete": false,
2026-06-04T12:53:14.2474284Z           "evidence": []
2026-06-04T12:53:14.2474695Z         },
2026-06-04T12:53:14.2475218Z         "unit": {
2026-06-04T12:53:14.2475680Z           "complete": true,
2026-06-04T12:53:14.2476130Z           "evidence": [
2026-06-04T12:53:14.2476547Z             {
2026-06-04T12:53:14.2477197Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:53:14.2477647Z               "line": 53
2026-06-04T12:53:14.2478062Z             },
2026-06-04T12:53:14.2478478Z             {
2026-06-04T12:53:14.2479136Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:53:14.2479779Z               "line": 60
2026-06-04T12:53:14.2480403Z             },
2026-06-04T12:53:14.2480834Z             {
2026-06-04T12:53:14.2481495Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:53:14.2481933Z               "line": 72
2026-06-04T12:53:14.2482360Z             },
2026-06-04T12:53:14.2482777Z             {
2026-06-04T12:53:14.2483418Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:53:14.2483869Z               "line": 298
2026-06-04T12:53:14.2484281Z             },
2026-06-04T12:53:14.2484709Z             {
2026-06-04T12:53:14.2485335Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:53:14.2485785Z               "line": 247
2026-06-04T12:53:14.2486204Z             },
2026-06-04T12:53:14.2486625Z             {
2026-06-04T12:53:14.2487260Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:53:14.2487718Z               "line": 282
2026-06-04T12:53:14.2488139Z             },
2026-06-04T12:53:14.2488555Z             {
2026-06-04T12:53:14.2489246Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:53:14.2489707Z               "line": 313
2026-06-04T12:53:14.2490133Z             },
2026-06-04T12:53:14.2490555Z             {
2026-06-04T12:53:14.2491238Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.2491693Z               "line": 400
2026-06-04T12:53:14.2492106Z             },
2026-06-04T12:53:14.2492532Z             {
2026-06-04T12:53:14.2493167Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.2493620Z               "line": 383
2026-06-04T12:53:14.2494042Z             },
2026-06-04T12:53:14.2494456Z             {
2026-06-04T12:53:14.2495109Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.2495548Z               "line": 420
2026-06-04T12:53:14.2495973Z             }
2026-06-04T12:53:14.2496399Z           ]
2026-06-04T12:53:14.2496811Z         }
2026-06-04T12:53:14.2497230Z       }
2026-06-04T12:53:14.2497636Z     },
2026-06-04T12:53:14.2498055Z     {
2026-06-04T12:53:14.2498574Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T12:53:14.2499885Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T12:53:14.2500372Z       "requiredStages": [
2026-06-04T12:53:14.2500799Z         "impl",
2026-06-04T12:53:14.2501221Z         "unit"
2026-06-04T12:53:14.2501630Z       ],
2026-06-04T12:53:14.2502064Z       "stages": {
2026-06-04T12:53:14.2502480Z         "doc": {
2026-06-04T12:53:14.2502953Z           "complete": false,
2026-06-04T12:53:14.2503407Z           "evidence": []
2026-06-04T12:53:14.2503822Z         },
2026-06-04T12:53:14.2504262Z         "impl": {
2026-06-04T12:53:14.2504721Z           "complete": true,
2026-06-04T12:53:14.2505178Z           "evidence": [
2026-06-04T12:53:14.2505592Z             {
2026-06-04T12:53:14.2506353Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:53:14.2506822Z               "line": 164
2026-06-04T12:53:14.2507236Z             }
2026-06-04T12:53:14.2507660Z           ]
2026-06-04T12:53:14.2508219Z         },
2026-06-04T12:53:14.2508655Z         "int": {
2026-06-04T12:53:14.2509114Z           "complete": true,
2026-06-04T12:53:14.2509615Z           "evidence": [
2026-06-04T12:53:14.2510042Z             {
2026-06-04T12:53:14.2510642Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T12:53:14.2511092Z               "line": 44
2026-06-04T12:53:14.2511508Z             },
2026-06-04T12:53:14.2511931Z             {
2026-06-04T12:53:14.2512513Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T12:53:14.2512968Z               "line": 66
2026-06-04T12:53:14.2513393Z             }
2026-06-04T12:53:14.2513806Z           ]
2026-06-04T12:53:14.2514227Z         },
2026-06-04T12:53:14.2514654Z         "unit": {
2026-06-04T12:53:14.2515124Z           "complete": true,
2026-06-04T12:53:14.2515574Z           "evidence": [
2026-06-04T12:53:14.2516000Z             {
2026-06-04T12:53:14.2516603Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:53:14.2517057Z               "line": 181
2026-06-04T12:53:14.2517478Z             },
2026-06-04T12:53:14.2517892Z             {
2026-06-04T12:53:14.2518494Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:53:14.2518932Z               "line": 233
2026-06-04T12:53:14.2519399Z             },
2026-06-04T12:53:14.2523017Z             {
2026-06-04T12:53:14.2523703Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:53:14.2524161Z               "line": 261
2026-06-04T12:53:14.2524580Z             }
2026-06-04T12:53:14.2524999Z           ]
2026-06-04T12:53:14.2525411Z         }
2026-06-04T12:53:14.2525831Z       }
2026-06-04T12:53:14.2526248Z     },
2026-06-04T12:53:14.2526651Z     {
2026-06-04T12:53:14.2527268Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T12:53:14.2530011Z       "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-04T12:53:14.2530525Z       "requiredStages": [
2026-06-04T12:53:14.2530948Z         "impl",
2026-06-04T12:53:14.2531377Z         "unit",
2026-06-04T12:53:14.2531802Z         "int"
2026-06-04T12:53:14.2532214Z       ],
2026-06-04T12:53:14.2532706Z       "stages": {
2026-06-04T12:53:14.2533179Z         "doc": {
2026-06-04T12:53:14.2533669Z           "complete": false,
2026-06-04T12:53:14.2534119Z           "evidence": []
2026-06-04T12:53:14.2534539Z         },
2026-06-04T12:53:14.2534979Z         "impl": {
2026-06-04T12:53:14.2535438Z           "complete": true,
2026-06-04T12:53:14.2535887Z           "evidence": [
2026-06-04T12:53:14.2536300Z             {
2026-06-04T12:53:14.2536958Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2537407Z               "line": 150
2026-06-04T12:53:14.2537834Z             },
2026-06-04T12:53:14.2538271Z             {
2026-06-04T12:53:14.2538916Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2539422Z               "line": 169
2026-06-04T12:53:14.2539860Z             },
2026-06-04T12:53:14.2540283Z             {
2026-06-04T12:53:14.2540885Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.2541326Z               "line": 79
2026-06-04T12:53:14.2541749Z             },
2026-06-04T12:53:14.2542161Z             {
2026-06-04T12:53:14.2542729Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.2543169Z               "line": 51
2026-06-04T12:53:14.2543598Z             },
2026-06-04T12:53:14.2544013Z             {
2026-06-04T12:53:14.2544729Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.2545190Z               "line": 126
2026-06-04T12:53:14.2545606Z             },
2026-06-04T12:53:14.2546054Z             {
2026-06-04T12:53:14.2546683Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2547391Z               "line": 27
2026-06-04T12:53:14.2547831Z             },
2026-06-04T12:53:14.2548256Z             {
2026-06-04T12:53:14.2549031Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2549524Z               "line": 79
2026-06-04T12:53:14.2549951Z             },
2026-06-04T12:53:14.2550360Z             {
2026-06-04T12:53:14.2551012Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2551465Z               "line": 102
2026-06-04T12:53:14.2551878Z             },
2026-06-04T12:53:14.2552295Z             {
2026-06-04T12:53:14.2552920Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.2553368Z               "line": 108
2026-06-04T12:53:14.2553781Z             }
2026-06-04T12:53:14.2554199Z           ]
2026-06-04T12:53:14.2554615Z         },
2026-06-04T12:53:14.2555032Z         "int": {
2026-06-04T12:53:14.2555599Z           "complete": true,
2026-06-04T12:53:14.2556040Z           "evidence": [
2026-06-04T12:53:14.2556471Z             {
2026-06-04T12:53:14.2557151Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:53:14.2557598Z               "line": 35
2026-06-04T12:53:14.2558027Z             }
2026-06-04T12:53:14.2558437Z           ]
2026-06-04T12:53:14.2558851Z         },
2026-06-04T12:53:14.2559314Z         "unit": {
2026-06-04T12:53:14.2559782Z           "complete": true,
2026-06-04T12:53:14.2560221Z           "evidence": [
2026-06-04T12:53:14.2560631Z             {
2026-06-04T12:53:14.2561286Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2561727Z               "line": 544
2026-06-04T12:53:14.2562149Z             },
2026-06-04T12:53:14.2562560Z             {
2026-06-04T12:53:14.2563147Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.2563585Z               "line": 286
2026-06-04T12:53:14.2564007Z             },
2026-06-04T12:53:14.2564428Z             {
2026-06-04T12:53:14.2565071Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2565521Z               "line": 124
2026-06-04T12:53:14.2565932Z             },
2026-06-04T12:53:14.2566346Z             {
2026-06-04T12:53:14.2566983Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2567434Z               "line": 136
2026-06-04T12:53:14.2567848Z             },
2026-06-04T12:53:14.2568253Z             {
2026-06-04T12:53:14.2568881Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2569354Z               "line": 146
2026-06-04T12:53:14.2569779Z             },
2026-06-04T12:53:14.2570192Z             {
2026-06-04T12:53:14.2570828Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2571274Z               "line": 159
2026-06-04T12:53:14.2571688Z             },
2026-06-04T12:53:14.2572105Z             {
2026-06-04T12:53:14.2572737Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:53:14.2573185Z               "line": 171
2026-06-04T12:53:14.2573602Z             },
2026-06-04T12:53:14.2574026Z             {
2026-06-04T12:53:14.2574664Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.2575119Z               "line": 207
2026-06-04T12:53:14.2575536Z             }
2026-06-04T12:53:14.2575944Z           ]
2026-06-04T12:53:14.2576359Z         }
2026-06-04T12:53:14.2576771Z       }
2026-06-04T12:53:14.2577178Z     },
2026-06-04T12:53:14.2577581Z     {
2026-06-04T12:53:14.2578207Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T12:53:14.2582461Z       "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-04T12:53:14.2582946Z       "requiredStages": [],
2026-06-04T12:53:14.2583380Z       "stages": {
2026-06-04T12:53:14.2583803Z         "doc": {
2026-06-04T12:53:14.2584260Z           "complete": false,
2026-06-04T12:53:14.2584869Z           "evidence": []
2026-06-04T12:53:14.2585301Z         },
2026-06-04T12:53:14.2585739Z         "impl": {
2026-06-04T12:53:14.2586203Z           "complete": false,
2026-06-04T12:53:14.2586789Z           "evidence": []
2026-06-04T12:53:14.2587204Z         },
2026-06-04T12:53:14.2587622Z         "int": {
2026-06-04T12:53:14.2588086Z           "complete": false,
2026-06-04T12:53:14.2588526Z           "evidence": []
2026-06-04T12:53:14.2588940Z         },
2026-06-04T12:53:14.2589402Z         "unit": {
2026-06-04T12:53:14.2589876Z           "complete": false,
2026-06-04T12:53:14.2590332Z           "evidence": []
2026-06-04T12:53:14.2590747Z         }
2026-06-04T12:53:14.2591162Z       }
2026-06-04T12:53:14.2591568Z     },
2026-06-04T12:53:14.2591969Z     {
2026-06-04T12:53:14.2592492Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T12:53:14.2593522Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T12:53:14.2593990Z       "requiredStages": [
2026-06-04T12:53:14.2594423Z         "impl",
2026-06-04T12:53:14.2594847Z         "unit"
2026-06-04T12:53:14.2595258Z       ],
2026-06-04T12:53:14.2595688Z       "stages": {
2026-06-04T12:53:14.2596135Z         "doc": {
2026-06-04T12:53:14.2596607Z           "complete": false,
2026-06-04T12:53:14.2597060Z           "evidence": []
2026-06-04T12:53:14.2597471Z         },
2026-06-04T12:53:14.2597896Z         "impl": {
2026-06-04T12:53:14.2598343Z           "complete": true,
2026-06-04T12:53:14.2598788Z           "evidence": [
2026-06-04T12:53:14.2599232Z             {
2026-06-04T12:53:14.2599838Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2600283Z               "line": 40
2026-06-04T12:53:14.2600694Z             },
2026-06-04T12:53:14.2601111Z             {
2026-06-04T12:53:14.2601700Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2602148Z               "line": 98
2026-06-04T12:53:14.2602556Z             },
2026-06-04T12:53:14.2602973Z             {
2026-06-04T12:53:14.2603584Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2604030Z               "line": 209
2026-06-04T12:53:14.2604450Z             },
2026-06-04T12:53:14.2604872Z             {
2026-06-04T12:53:14.2605473Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2609242Z               "line": 291
2026-06-04T12:53:14.2609753Z             }
2026-06-04T12:53:14.2610177Z           ]
2026-06-04T12:53:14.2610597Z         },
2026-06-04T12:53:14.2611030Z         "int": {
2026-06-04T12:53:14.2611501Z           "complete": false,
2026-06-04T12:53:14.2611961Z           "evidence": []
2026-06-04T12:53:14.2612372Z         },
2026-06-04T12:53:14.2612817Z         "unit": {
2026-06-04T12:53:14.2613316Z           "complete": true,
2026-06-04T12:53:14.2613755Z           "evidence": [
2026-06-04T12:53:14.2614177Z             {
2026-06-04T12:53:14.2614784Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2615246Z               "line": 326
2026-06-04T12:53:14.2615788Z             },
2026-06-04T12:53:14.2616206Z             {
2026-06-04T12:53:14.2616812Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2617265Z               "line": 372
2026-06-04T12:53:14.2617685Z             },
2026-06-04T12:53:14.2618096Z             {
2026-06-04T12:53:14.2618700Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2619142Z               "line": 413
2026-06-04T12:53:14.2619618Z             },
2026-06-04T12:53:14.2620043Z             {
2026-06-04T12:53:14.2620634Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2621088Z               "line": 432
2026-06-04T12:53:14.2621506Z             }
2026-06-04T12:53:14.2621927Z           ]
2026-06-04T12:53:14.2622334Z         }
2026-06-04T12:53:14.2622758Z       }
2026-06-04T12:53:14.2623172Z     },
2026-06-04T12:53:14.2623584Z     {
2026-06-04T12:53:14.2624198Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T12:53:14.2625208Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T12:53:14.2625719Z       "requiredStages": [
2026-06-04T12:53:14.2626154Z         "impl",
2026-06-04T12:53:14.2626745Z         "unit"
2026-06-04T12:53:14.2627257Z       ],
2026-06-04T12:53:14.2627752Z       "stages": {
2026-06-04T12:53:14.2628203Z         "doc": {
2026-06-04T12:53:14.2628667Z           "complete": false,
2026-06-04T12:53:14.2629121Z           "evidence": []
2026-06-04T12:53:14.2629895Z         },
2026-06-04T12:53:14.2630347Z         "impl": {
2026-06-04T12:53:14.2630820Z           "complete": true,
2026-06-04T12:53:14.2631269Z           "evidence": [
2026-06-04T12:53:14.2631691Z             {
2026-06-04T12:53:14.2632294Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2632744Z               "line": 111
2026-06-04T12:53:14.2633165Z             },
2026-06-04T12:53:14.2633588Z             {
2026-06-04T12:53:14.2634191Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2634643Z               "line": 202
2026-06-04T12:53:14.2635067Z             }
2026-06-04T12:53:14.2635486Z           ]
2026-06-04T12:53:14.2635907Z         },
2026-06-04T12:53:14.2636321Z         "int": {
2026-06-04T12:53:14.2636801Z           "complete": false,
2026-06-04T12:53:14.2637261Z           "evidence": []
2026-06-04T12:53:14.2637729Z         },
2026-06-04T12:53:14.2638224Z         "unit": {
2026-06-04T12:53:14.2638686Z           "complete": true,
2026-06-04T12:53:14.2639136Z           "evidence": [
2026-06-04T12:53:14.2639898Z             {
2026-06-04T12:53:14.2640519Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2640970Z               "line": 347
2026-06-04T12:53:14.2641389Z             },
2026-06-04T12:53:14.2641815Z             {
2026-06-04T12:53:14.2642416Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.2642867Z               "line": 391
2026-06-04T12:53:14.2643283Z             }
2026-06-04T12:53:14.2643709Z           ]
2026-06-04T12:53:14.2644120Z         }
2026-06-04T12:53:14.2644544Z       }
2026-06-04T12:53:14.2644962Z     },
2026-06-04T12:53:14.2645375Z     {
2026-06-04T12:53:14.2646002Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T12:53:14.2647272Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T12:53:14.2647754Z       "requiredStages": [
2026-06-04T12:53:14.2648184Z         "impl",
2026-06-04T12:53:14.2648605Z         "unit"
2026-06-04T12:53:14.2649029Z       ],
2026-06-04T12:53:14.2649677Z       "stages": {
2026-06-04T12:53:14.2650280Z         "doc": {
2026-06-04T12:53:14.2650741Z           "complete": false,
2026-06-04T12:53:14.2651196Z           "evidence": []
2026-06-04T12:53:14.2651613Z         },
2026-06-04T12:53:14.2652033Z         "impl": {
2026-06-04T12:53:14.2652499Z           "complete": true,
2026-06-04T12:53:14.2652937Z           "evidence": [
2026-06-04T12:53:14.2653356Z             {
2026-06-04T12:53:14.2653958Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2654421Z               "line": 26
2026-06-04T12:53:14.2654843Z             },
2026-06-04T12:53:14.2655252Z             {
2026-06-04T12:53:14.2655863Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2656319Z               "line": 126
2026-06-04T12:53:14.2656747Z             },
2026-06-04T12:53:14.2657159Z             {
2026-06-04T12:53:14.2657832Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:53:14.2658280Z               "line": 26
2026-06-04T12:53:14.2658690Z             },
2026-06-04T12:53:14.2659113Z             {
2026-06-04T12:53:14.2660160Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:53:14.2660616Z               "line": 233
2026-06-04T12:53:14.2661041Z             }
2026-06-04T12:53:14.2661453Z           ]
2026-06-04T12:53:14.2661872Z         },
2026-06-04T12:53:14.2662290Z         "int": {
2026-06-04T12:53:14.2662759Z           "complete": false,
2026-06-04T12:53:14.2663204Z           "evidence": []
2026-06-04T12:53:14.2663807Z         },
2026-06-04T12:53:14.2664250Z         "unit": {
2026-06-04T12:53:14.2664724Z           "complete": true,
2026-06-04T12:53:14.2665328Z           "evidence": [
2026-06-04T12:53:14.2665737Z             {
2026-06-04T12:53:14.2666443Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2666886Z               "line": 152
2026-06-04T12:53:14.2667313Z             },
2026-06-04T12:53:14.2667733Z             {
2026-06-04T12:53:14.2668347Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2668801Z               "line": 161
2026-06-04T12:53:14.2669265Z             },
2026-06-04T12:53:14.2670018Z             {
2026-06-04T12:53:14.2670628Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2671078Z               "line": 170
2026-06-04T12:53:14.2671500Z             },
2026-06-04T12:53:14.2671912Z             {
2026-06-04T12:53:14.2672521Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2672977Z               "line": 179
2026-06-04T12:53:14.2673405Z             },
2026-06-04T12:53:14.2673818Z             {
2026-06-04T12:53:14.2674426Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2674887Z               "line": 188
2026-06-04T12:53:14.2675303Z             },
2026-06-04T12:53:14.2675721Z             {
2026-06-04T12:53:14.2676317Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2676774Z               "line": 199
2026-06-04T12:53:14.2677187Z             },
2026-06-04T12:53:14.2677610Z             {
2026-06-04T12:53:14.2678218Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:53:14.2678659Z               "line": 225
2026-06-04T12:53:14.2679079Z             },
2026-06-04T12:53:14.2679535Z             {
2026-06-04T12:53:14.2680142Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.2680584Z               "line": 245
2026-06-04T12:53:14.2681006Z             },
2026-06-04T12:53:14.2681425Z             {
2026-06-04T12:53:14.2682033Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.2682484Z               "line": 212
2026-06-04T12:53:14.2682908Z             },
2026-06-04T12:53:14.2683326Z             {
2026-06-04T12:53:14.2683995Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:53:14.2684450Z               "line": 256
2026-06-04T12:53:14.2684873Z             },
2026-06-04T12:53:14.2685285Z             {
2026-06-04T12:53:14.2685954Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:53:14.2686393Z               "line": 281
2026-06-04T12:53:14.2686816Z             },
2026-06-04T12:53:14.2687225Z             {
2026-06-04T12:53:14.2687897Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:53:14.2688351Z               "line": 293
2026-06-04T12:53:14.2692419Z             },
2026-06-04T12:53:14.2692931Z             {
2026-06-04T12:53:14.2693622Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:53:14.2694104Z               "line": 303
2026-06-04T12:53:14.2694528Z             },
2026-06-04T12:53:14.2694947Z             {
2026-06-04T12:53:14.2695598Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.2696060Z               "line": 502
2026-06-04T12:53:14.2696479Z             }
2026-06-04T12:53:14.2696889Z           ]
2026-06-04T12:53:14.2697306Z         }
2026-06-04T12:53:14.2697715Z       }
2026-06-04T12:53:14.2698130Z     },
2026-06-04T12:53:14.2698543Z     {
2026-06-04T12:53:14.2699249Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T12:53:14.2700067Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T12:53:14.2700538Z       "requiredStages": [
2026-06-04T12:53:14.2700959Z         "impl",
2026-06-04T12:53:14.2701375Z         "unit"
2026-06-04T12:53:14.2701789Z       ],
2026-06-04T12:53:14.2702220Z       "stages": {
2026-06-04T12:53:14.2702637Z         "doc": {
2026-06-04T12:53:14.2703114Z           "complete": false,
2026-06-04T12:53:14.2703791Z           "evidence": []
2026-06-04T12:53:14.2704234Z         },
2026-06-04T12:53:14.2704664Z         "impl": {
2026-06-04T12:53:14.2705143Z           "complete": true,
2026-06-04T12:53:14.2705766Z           "evidence": [
2026-06-04T12:53:14.2706182Z             {
2026-06-04T12:53:14.2706767Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.2707207Z               "line": 25
2026-06-04T12:53:14.2707640Z             },
2026-06-04T12:53:14.2708054Z             {
2026-06-04T12:53:14.2708661Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.2709112Z               "line": 26
2026-06-04T12:53:14.2709593Z             },
2026-06-04T12:53:14.2710020Z             {
2026-06-04T12:53:14.2710612Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.2711064Z               "line": 153
2026-06-04T12:53:14.2711483Z             }
2026-06-04T12:53:14.2711891Z           ]
2026-06-04T12:53:14.2712312Z         },
2026-06-04T12:53:14.2712740Z         "int": {
2026-06-04T12:53:14.2713216Z           "complete": false,
2026-06-04T12:53:14.2713658Z           "evidence": []
2026-06-04T12:53:14.2714075Z         },
2026-06-04T12:53:14.2714504Z         "unit": {
2026-06-04T12:53:14.2715034Z           "complete": true,
2026-06-04T12:53:14.2715481Z           "evidence": [
2026-06-04T12:53:14.2715891Z             {
2026-06-04T12:53:14.2716469Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.2716904Z               "line": 180
2026-06-04T12:53:14.2717323Z             },
2026-06-04T12:53:14.2717735Z             {
2026-06-04T12:53:14.2718318Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.2718779Z               "line": 205
2026-06-04T12:53:14.2719229Z             },
2026-06-04T12:53:14.2719646Z             {
2026-06-04T12:53:14.2720239Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.2720689Z               "line": 180
2026-06-04T12:53:14.2721113Z             }
2026-06-04T12:53:14.2721531Z           ]
2026-06-04T12:53:14.2721952Z         }
2026-06-04T12:53:14.2722363Z       }
2026-06-04T12:53:14.2722778Z     },
2026-06-04T12:53:14.2723183Z     {
2026-06-04T12:53:14.2723727Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T12:53:14.2724652Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T12:53:14.2725121Z       "requiredStages": [
2026-06-04T12:53:14.2725549Z         "impl",
2026-06-04T12:53:14.2725967Z         "unit"
2026-06-04T12:53:14.2726384Z       ],
2026-06-04T12:53:14.2726805Z       "stages": {
2026-06-04T12:53:14.2727230Z         "doc": {
2026-06-04T12:53:14.2727685Z           "complete": false,
2026-06-04T12:53:14.2728137Z           "evidence": []
2026-06-04T12:53:14.2728558Z         },
2026-06-04T12:53:14.2728978Z         "impl": {
2026-06-04T12:53:14.2729479Z           "complete": true,
2026-06-04T12:53:14.2729924Z           "evidence": [
2026-06-04T12:53:14.2730342Z             {
2026-06-04T12:53:14.2730962Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2731398Z               "line": 48
2026-06-04T12:53:14.2731823Z             },
2026-06-04T12:53:14.2732236Z             {
2026-06-04T12:53:14.2732854Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2733291Z               "line": 55
2026-06-04T12:53:14.2733708Z             },
2026-06-04T12:53:14.2734206Z             {
2026-06-04T12:53:14.2734806Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2735249Z               "line": 74
2026-06-04T12:53:14.2735658Z             },
2026-06-04T12:53:14.2736073Z             {
2026-06-04T12:53:14.2736674Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2737116Z               "line": 91
2026-06-04T12:53:14.2737538Z             }
2026-06-04T12:53:14.2737946Z           ]
2026-06-04T12:53:14.2738362Z         },
2026-06-04T12:53:14.2738773Z         "int": {
2026-06-04T12:53:14.2739280Z           "complete": false,
2026-06-04T12:53:14.2739882Z           "evidence": []
2026-06-04T12:53:14.2740316Z         },
2026-06-04T12:53:14.2740755Z         "unit": {
2026-06-04T12:53:14.2741214Z           "complete": true,
2026-06-04T12:53:14.2741839Z           "evidence": [
2026-06-04T12:53:14.2742249Z             {
2026-06-04T12:53:14.2742868Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2743313Z               "line": 149
2026-06-04T12:53:14.2743739Z             },
2026-06-04T12:53:14.2744159Z             {
2026-06-04T12:53:14.2744754Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2745203Z               "line": 163
2026-06-04T12:53:14.2745625Z             },
2026-06-04T12:53:14.2746115Z             {
2026-06-04T12:53:14.2746711Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2747157Z               "line": 173
2026-06-04T12:53:14.2747578Z             },
2026-06-04T12:53:14.2747989Z             {
2026-06-04T12:53:14.2748600Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2749058Z               "line": 191
2026-06-04T12:53:14.2749531Z             },
2026-06-04T12:53:14.2749945Z             {
2026-06-04T12:53:14.2750552Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.2751019Z               "line": 204
2026-06-04T12:53:14.2751422Z             }
2026-06-04T12:53:14.2751837Z           ]
2026-06-04T12:53:14.2752243Z         }
2026-06-04T12:53:14.2752655Z       }
2026-06-04T12:53:14.2753061Z     },
2026-06-04T12:53:14.2753477Z     {
2026-06-04T12:53:14.2754100Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T12:53:14.2755149Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T12:53:14.2755622Z       "requiredStages": [
2026-06-04T12:53:14.2756041Z         "impl",
2026-06-04T12:53:14.2756469Z         "unit"
2026-06-04T12:53:14.2756874Z       ],
2026-06-04T12:53:14.2757301Z       "stages": {
2026-06-04T12:53:14.2757722Z         "doc": {
2026-06-04T12:53:14.2758180Z           "complete": false,
2026-06-04T12:53:14.2758645Z           "evidence": []
2026-06-04T12:53:14.2759057Z         },
2026-06-04T12:53:14.2759530Z         "impl": {
2026-06-04T12:53:14.2760004Z           "complete": true,
2026-06-04T12:53:14.2760458Z           "evidence": [
2026-06-04T12:53:14.2760880Z             {
2026-06-04T12:53:14.2761520Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2761967Z               "line": 341
2026-06-04T12:53:14.2762381Z             },
2026-06-04T12:53:14.2762801Z             {
2026-06-04T12:53:14.2763401Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.2763848Z               "line": 26
2026-06-04T12:53:14.2764270Z             }
2026-06-04T12:53:14.2764680Z           ]
2026-06-04T12:53:14.2765099Z         },
2026-06-04T12:53:14.2765514Z         "int": {
2026-06-04T12:53:14.2765981Z           "complete": false,
2026-06-04T12:53:14.2766425Z           "evidence": []
2026-06-04T12:53:14.2766844Z         },
2026-06-04T12:53:14.2767280Z         "unit": {
2026-06-04T12:53:14.2767742Z           "complete": true,
2026-06-04T12:53:14.2768194Z           "evidence": [
2026-06-04T12:53:14.2768637Z             {
2026-06-04T12:53:14.2772447Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.2772971Z               "line": 139
2026-06-04T12:53:14.2773399Z             },
2026-06-04T12:53:14.2773818Z             {
2026-06-04T12:53:14.2774440Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.2774892Z               "line": 182
2026-06-04T12:53:14.2775302Z             }
2026-06-04T12:53:14.2775726Z           ]
2026-06-04T12:53:14.2776137Z         }
2026-06-04T12:53:14.2776547Z       }
2026-06-04T12:53:14.2776959Z     },
2026-06-04T12:53:14.2777361Z     {
2026-06-04T12:53:14.2777980Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T12:53:14.2778823Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T12:53:14.2779398Z       "requiredStages": [
2026-06-04T12:53:14.2780060Z         "impl",
2026-06-04T12:53:14.2780513Z         "unit"
2026-06-04T12:53:14.2780934Z       ],
2026-06-04T12:53:14.2781356Z       "stages": {
2026-06-04T12:53:14.2781935Z         "doc": {
2026-06-04T12:53:14.2782398Z           "complete": false,
2026-06-04T12:53:14.2782851Z           "evidence": []
2026-06-04T12:53:14.2783266Z         },
2026-06-04T12:53:14.2783700Z         "impl": {
2026-06-04T12:53:14.2784171Z           "complete": true,
2026-06-04T12:53:14.2784615Z           "evidence": [
2026-06-04T12:53:14.2785042Z             {
2026-06-04T12:53:14.2785702Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2786155Z               "line": 36
2026-06-04T12:53:14.2786571Z             },
2026-06-04T12:53:14.2786992Z             {
2026-06-04T12:53:14.2787638Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2788078Z               "line": 68
2026-06-04T12:53:14.2788509Z             }
2026-06-04T12:53:14.2788972Z           ]
2026-06-04T12:53:14.2789496Z         },
2026-06-04T12:53:14.2789933Z         "int": {
2026-06-04T12:53:14.2790413Z           "complete": false,
2026-06-04T12:53:14.2790869Z           "evidence": []
2026-06-04T12:53:14.2791344Z         },
2026-06-04T12:53:14.2792155Z         "unit": {
2026-06-04T12:53:14.2792871Z           "complete": true,
2026-06-04T12:53:14.2793473Z           "evidence": [
2026-06-04T12:53:14.2794025Z             {
2026-06-04T12:53:14.2794899Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2795499Z               "line": 143
2026-06-04T12:53:14.2795992Z             },
2026-06-04T12:53:14.2796483Z             {
2026-06-04T12:53:14.2797195Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2797707Z               "line": 160
2026-06-04T12:53:14.2798170Z             },
2026-06-04T12:53:14.2798634Z             {
2026-06-04T12:53:14.2799389Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2800004Z               "line": 168
2026-06-04T12:53:14.2800462Z             }
2026-06-04T12:53:14.2800882Z           ]
2026-06-04T12:53:14.2801303Z         }
2026-06-04T12:53:14.2801718Z       }
2026-06-04T12:53:14.2802156Z     },
2026-06-04T12:53:14.2802584Z     {
2026-06-04T12:53:14.2803227Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T12:53:14.2804206Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T12:53:14.2804764Z       "requiredStages": [
2026-06-04T12:53:14.2805201Z         "impl",
2026-06-04T12:53:14.2805624Z         "unit"
2026-06-04T12:53:14.2806050Z       ],
2026-06-04T12:53:14.2806576Z       "stages": {
2026-06-04T12:53:14.2806993Z         "doc": {
2026-06-04T12:53:14.2807466Z           "complete": false,
2026-06-04T12:53:14.2807913Z           "evidence": []
2026-06-04T12:53:14.2808334Z         },
2026-06-04T12:53:14.2808758Z         "impl": {
2026-06-04T12:53:14.2809259Z           "complete": true,
2026-06-04T12:53:14.2809713Z           "evidence": [
2026-06-04T12:53:14.2810125Z             {
2026-06-04T12:53:14.2810795Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2811277Z               "line": 107
2026-06-04T12:53:14.2811921Z             }
2026-06-04T12:53:14.2812407Z           ]
2026-06-04T12:53:14.2812883Z         },
2026-06-04T12:53:14.2813488Z         "int": {
2026-06-04T12:53:14.2813960Z           "complete": false,
2026-06-04T12:53:14.2814419Z           "evidence": []
2026-06-04T12:53:14.2814834Z         },
2026-06-04T12:53:14.2815265Z         "unit": {
2026-06-04T12:53:14.2815723Z           "complete": true,
2026-06-04T12:53:14.2816173Z           "evidence": [
2026-06-04T12:53:14.2816594Z             {
2026-06-04T12:53:14.2817234Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2817687Z               "line": 184
2026-06-04T12:53:14.2818104Z             },
2026-06-04T12:53:14.2818522Z             {
2026-06-04T12:53:14.2819151Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2820295Z               "line": 193
2026-06-04T12:53:14.2820771Z             },
2026-06-04T12:53:14.2821188Z             {
2026-06-04T12:53:14.2821840Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2822442Z               "line": 201
2026-06-04T12:53:14.2822876Z             },
2026-06-04T12:53:14.2823290Z             {
2026-06-04T12:53:14.2823955Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2824412Z               "line": 210
2026-06-04T12:53:14.2824831Z             },
2026-06-04T12:53:14.2825257Z             {
2026-06-04T12:53:14.2825898Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:53:14.2826352Z               "line": 219
2026-06-04T12:53:14.2826780Z             }
2026-06-04T12:53:14.2827195Z           ]
2026-06-04T12:53:14.2827615Z         }
2026-06-04T12:53:14.2828026Z       }
2026-06-04T12:53:14.2828450Z     },
2026-06-04T12:53:14.2828856Z     {
2026-06-04T12:53:14.2829512Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T12:53:14.2830413Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T12:53:14.2830904Z       "requiredStages": [
2026-06-04T12:53:14.2831336Z         "impl",
2026-06-04T12:53:14.2831770Z         "unit"
2026-06-04T12:53:14.2832196Z       ],
2026-06-04T12:53:14.2832625Z       "stages": {
2026-06-04T12:53:14.2833059Z         "doc": {
2026-06-04T12:53:14.2833521Z           "complete": false,
2026-06-04T12:53:14.2833977Z           "evidence": []
2026-06-04T12:53:14.2834397Z         },
2026-06-04T12:53:14.2834826Z         "impl": {
2026-06-04T12:53:14.2835290Z           "complete": true,
2026-06-04T12:53:14.2835735Z           "evidence": [
2026-06-04T12:53:14.2836162Z             {
2026-06-04T12:53:14.2836733Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.2837193Z               "line": 14
2026-06-04T12:53:14.2837621Z             },
2026-06-04T12:53:14.2838039Z             {
2026-06-04T12:53:14.2838614Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.2839066Z               "line": 62
2026-06-04T12:53:14.2839546Z             }
2026-06-04T12:53:14.2839977Z           ]
2026-06-04T12:53:14.2840389Z         },
2026-06-04T12:53:14.2840837Z         "int": {
2026-06-04T12:53:14.2841303Z           "complete": false,
2026-06-04T12:53:14.2841763Z           "evidence": []
2026-06-04T12:53:14.2842178Z         },
2026-06-04T12:53:14.2842612Z         "unit": {
2026-06-04T12:53:14.2843067Z           "complete": true,
2026-06-04T12:53:14.2843525Z           "evidence": [
2026-06-04T12:53:14.2843952Z             {
2026-06-04T12:53:14.2844517Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.2844972Z               "line": 160
2026-06-04T12:53:14.2845393Z             },
2026-06-04T12:53:14.2845822Z             {
2026-06-04T12:53:14.2846389Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.2846848Z               "line": 197
2026-06-04T12:53:14.2847272Z             },
2026-06-04T12:53:14.2847687Z             {
2026-06-04T12:53:14.2848268Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.2848714Z               "line": 213
2026-06-04T12:53:14.2849138Z             }
2026-06-04T12:53:14.2849615Z           ]
2026-06-04T12:53:14.2850032Z         }
2026-06-04T12:53:14.2850457Z       }
2026-06-04T12:53:14.2850864Z     },
2026-06-04T12:53:14.2851287Z     {
2026-06-04T12:53:14.2851892Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T12:53:14.2853133Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T12:53:14.2858247Z       "requiredStages": [
2026-06-04T12:53:14.2858815Z         "impl",
2026-06-04T12:53:14.2859369Z         "unit"
2026-06-04T12:53:14.2859801Z       ],
2026-06-04T12:53:14.2860252Z       "stages": {
2026-06-04T12:53:14.2860681Z         "doc": {
2026-06-04T12:53:14.2861164Z           "complete": false,
2026-06-04T12:53:14.2861626Z           "evidence": []
2026-06-04T12:53:14.2862046Z         },
2026-06-04T12:53:14.2862491Z         "impl": {
2026-06-04T12:53:14.2863230Z           "complete": true,
2026-06-04T12:53:14.2863729Z           "evidence": [
2026-06-04T12:53:14.2864145Z             {
2026-06-04T12:53:14.2864923Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2865374Z               "line": 76
2026-06-04T12:53:14.2865794Z             },
2026-06-04T12:53:14.2866229Z             {
2026-06-04T12:53:14.2866828Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2867293Z               "line": 163
2026-06-04T12:53:14.2867716Z             },
2026-06-04T12:53:14.2868146Z             {
2026-06-04T12:53:14.2868758Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2869258Z               "line": 229
2026-06-04T12:53:14.2869696Z             },
2026-06-04T12:53:14.2870111Z             {
2026-06-04T12:53:14.2870740Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2871664Z               "line": 265
2026-06-04T12:53:14.2872158Z             }
2026-06-04T12:53:14.2873513Z           ]
2026-06-04T12:53:14.2874585Z         },
2026-06-04T12:53:14.2875639Z         "int": {
2026-06-04T12:53:14.2876840Z           "complete": false,
2026-06-04T12:53:14.2878213Z           "evidence": []
2026-06-04T12:53:14.2879726Z         },
2026-06-04T12:53:14.2881159Z         "unit": {
2026-06-04T12:53:14.2882549Z           "complete": true,
2026-06-04T12:53:14.2883855Z           "evidence": [
2026-06-04T12:53:14.2885195Z             {
2026-06-04T12:53:14.2886455Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2888225Z               "line": 310
2026-06-04T12:53:14.2889688Z             },
2026-06-04T12:53:14.2890727Z             {
2026-06-04T12:53:14.2892235Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2893884Z               "line": 318
2026-06-04T12:53:14.2895177Z             },
2026-06-04T12:53:14.2896337Z             {
2026-06-04T12:53:14.2897578Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2899284Z               "line": 341
2026-06-04T12:53:14.2900512Z             },
2026-06-04T12:53:14.2901753Z             {
2026-06-04T12:53:14.2903012Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2904771Z               "line": 378
2026-06-04T12:53:14.2906001Z             },
2026-06-04T12:53:14.2907050Z             {
2026-06-04T12:53:14.2908263Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2910329Z               "line": 389
2026-06-04T12:53:14.2911469Z             },
2026-06-04T12:53:14.2912469Z             {
2026-06-04T12:53:14.2913644Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2915147Z               "line": 401
2026-06-04T12:53:14.2916287Z             },
2026-06-04T12:53:14.2917294Z             {
2026-06-04T12:53:14.2918470Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:53:14.2920319Z               "line": 413
2026-06-04T12:53:14.2921454Z             }
2026-06-04T12:53:14.2922446Z           ]
2026-06-04T12:53:14.2923425Z         }
2026-06-04T12:53:14.2924371Z       }
2026-06-04T12:53:14.2925299Z     },
2026-06-04T12:53:14.2926243Z     {
2026-06-04T12:53:14.2927313Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T12:53:14.2929028Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T12:53:14.2930836Z       "requiredStages": [
2026-06-04T12:53:14.2932008Z         "impl",
2026-06-04T12:53:14.2933025Z         "int"
2026-06-04T12:53:14.2934019Z       ],
2026-06-04T12:53:14.2934974Z       "stages": {
2026-06-04T12:53:14.2936008Z         "doc": {
2026-06-04T12:53:14.2937087Z           "complete": false,
2026-06-04T12:53:14.2938316Z           "evidence": []
2026-06-04T12:53:14.2939485Z         },
2026-06-04T12:53:14.2940452Z         "impl": {
2026-06-04T12:53:14.2941536Z           "complete": true,
2026-06-04T12:53:14.2942730Z           "evidence": [
2026-06-04T12:53:14.2943831Z             {
2026-06-04T12:53:14.2945007Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.2946790Z               "line": 22
2026-06-04T12:53:14.2953831Z             }
2026-06-04T12:53:14.2955001Z           ]
2026-06-04T12:53:14.2955960Z         },
2026-06-04T12:53:14.2957272Z         "int": {
2026-06-04T12:53:14.2958336Z           "complete": true,
2026-06-04T12:53:14.2959616Z           "evidence": [
2026-06-04T12:53:14.2960727Z             {
2026-06-04T12:53:14.2961951Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T12:53:14.2963510Z               "line": 18
2026-06-04T12:53:14.2964623Z             }
2026-06-04T12:53:14.2965600Z           ]
2026-06-04T12:53:14.2966551Z         },
2026-06-04T12:53:14.2967519Z         "unit": {
2026-06-04T12:53:14.2968597Z           "complete": false,
2026-06-04T12:53:14.2969858Z           "evidence": []
2026-06-04T12:53:14.2970976Z         }
2026-06-04T12:53:14.2971926Z       }
2026-06-04T12:53:14.2972860Z     },
2026-06-04T12:53:14.2973792Z     {
2026-06-04T12:53:14.2974881Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T12:53:14.2976959Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T12:53:14.2978952Z       "requiredStages": [
2026-06-04T12:53:14.2980151Z         "impl",
2026-06-04T12:53:14.2981173Z         "unit"
2026-06-04T12:53:14.2982155Z       ],
2026-06-04T12:53:14.2983106Z       "stages": {
2026-06-04T12:53:14.2984136Z         "doc": {
2026-06-04T12:53:14.2985203Z           "complete": false,
2026-06-04T12:53:14.2986409Z           "evidence": []
2026-06-04T12:53:14.2987524Z         },
2026-06-04T12:53:14.2988482Z         "impl": {
2026-06-04T12:53:14.2989588Z           "complete": true,
2026-06-04T12:53:14.2990789Z           "evidence": [
2026-06-04T12:53:14.2991866Z             {
2026-06-04T12:53:14.2993082Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.2994641Z               "line": 340
2026-06-04T12:53:14.2995760Z             },
2026-06-04T12:53:14.2996738Z             {
2026-06-04T12:53:14.2997911Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.2999446Z               "line": 27
2026-06-04T12:53:14.3000570Z             }
2026-06-04T12:53:14.3001540Z           ]
2026-06-04T12:53:14.3002506Z         },
2026-06-04T12:53:14.3003443Z         "int": {
2026-06-04T12:53:14.3004496Z           "complete": false,
2026-06-04T12:53:14.3005700Z           "evidence": []
2026-06-04T12:53:14.3006821Z         },
2026-06-04T12:53:14.3007767Z         "unit": {
2026-06-04T12:53:14.3008818Z           "complete": true,
2026-06-04T12:53:14.3010037Z           "evidence": [
2026-06-04T12:53:14.3011117Z             {
2026-06-04T12:53:14.3012321Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.3013874Z               "line": 745
2026-06-04T12:53:14.3014992Z             },
2026-06-04T12:53:14.3015972Z             {
2026-06-04T12:53:14.3017141Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.3018643Z               "line": 164
2026-06-04T12:53:14.3019790Z             }
2026-06-04T12:53:14.3020794Z           ]
2026-06-04T12:53:14.3021746Z         }
2026-06-04T12:53:14.3022677Z       }
2026-06-04T12:53:14.3023593Z     },
2026-06-04T12:53:14.3024525Z     {
2026-06-04T12:53:14.3025691Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T12:53:14.3027560Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T12:53:14.3029443Z       "requiredStages": [
2026-06-04T12:53:14.3030600Z         "impl",
2026-06-04T12:53:14.3031594Z         "unit"
2026-06-04T12:53:14.3032572Z       ],
2026-06-04T12:53:14.3033520Z       "stages": {
2026-06-04T12:53:14.3034554Z         "doc": {
2026-06-04T12:53:14.3035627Z           "complete": false,
2026-06-04T12:53:14.3036840Z           "evidence": []
2026-06-04T12:53:14.3037951Z         },
2026-06-04T12:53:14.3038915Z         "impl": {
2026-06-04T12:53:14.3040039Z           "complete": true,
2026-06-04T12:53:14.3041220Z           "evidence": [
2026-06-04T12:53:14.3042303Z             {
2026-06-04T12:53:14.3043713Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3045234Z               "line": 20
2026-06-04T12:53:14.3046347Z             },
2026-06-04T12:53:14.3047483Z             {
2026-06-04T12:53:14.3052882Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3054483Z               "line": 94
2026-06-04T12:53:14.3055588Z             },
2026-06-04T12:53:14.3056572Z             {
2026-06-04T12:53:14.3057766Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:53:14.3059369Z               "line": 70
2026-06-04T12:53:14.3060472Z             },
2026-06-04T12:53:14.3061452Z             {
2026-06-04T12:53:14.3062648Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:53:14.3064189Z               "line": 82
2026-06-04T12:53:14.3065282Z             }
2026-06-04T12:53:14.3066261Z           ]
2026-06-04T12:53:14.3067208Z         },
2026-06-04T12:53:14.3068159Z         "int": {
2026-06-04T12:53:14.3069240Z           "complete": false,
2026-06-04T12:53:14.3070473Z           "evidence": []
2026-06-04T12:53:14.3071580Z         },
2026-06-04T12:53:14.3072534Z         "unit": {
2026-06-04T12:53:14.3073607Z           "complete": true,
2026-06-04T12:53:14.3074874Z           "evidence": [
2026-06-04T12:53:14.3075955Z             {
2026-06-04T12:53:14.3077138Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3078624Z               "line": 139
2026-06-04T12:53:14.3079778Z             },
2026-06-04T12:53:14.3080754Z             {
2026-06-04T12:53:14.3081914Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3083413Z               "line": 162
2026-06-04T12:53:14.3084531Z             },
2026-06-04T12:53:14.3085547Z             {
2026-06-04T12:53:14.3086709Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3088196Z               "line": 173
2026-06-04T12:53:14.3089330Z             },
2026-06-04T12:53:14.3090375Z             {
2026-06-04T12:53:14.3091581Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3093088Z               "line": 189
2026-06-04T12:53:14.3094279Z             },
2026-06-04T12:53:14.3095255Z             {
2026-06-04T12:53:14.3096424Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:53:14.3097935Z               "line": 200
2026-06-04T12:53:14.3099055Z             },
2026-06-04T12:53:14.3100091Z             {
2026-06-04T12:53:14.3101300Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:53:14.3102861Z               "line": 139
2026-06-04T12:53:14.3103978Z             }
2026-06-04T12:53:14.3104951Z           ]
2026-06-04T12:53:14.3105903Z         }
2026-06-04T12:53:14.3106838Z       }
2026-06-04T12:53:14.3107766Z     },
2026-06-04T12:53:14.3108693Z     {
2026-06-04T12:53:14.3109748Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T12:53:14.3112075Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T12:53:14.3114620Z       "requiredStages": [
2026-06-04T12:53:14.3115790Z         "impl",
2026-06-04T12:53:14.3116799Z         "unit"
2026-06-04T12:53:14.3117780Z       ],
2026-06-04T12:53:14.3118721Z       "stages": {
2026-06-04T12:53:14.3119798Z         "doc": {
2026-06-04T12:53:14.3120837Z           "complete": true,
2026-06-04T12:53:14.3122010Z           "evidence": [
2026-06-04T12:53:14.3123094Z             {
2026-06-04T12:53:14.3124231Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:53:14.3125659Z               "line": 131
2026-06-04T12:53:14.3126768Z             }
2026-06-04T12:53:14.3127738Z           ]
2026-06-04T12:53:14.3128682Z         },
2026-06-04T12:53:14.3129677Z         "impl": {
2026-06-04T12:53:14.3130736Z           "complete": true,
2026-06-04T12:53:14.3131920Z           "evidence": [
2026-06-04T12:53:14.3133000Z             {
2026-06-04T12:53:14.3134142Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.3135600Z               "line": 50
2026-06-04T12:53:14.3136705Z             },
2026-06-04T12:53:14.3137946Z             {
2026-06-04T12:53:14.3139104Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3140616Z               "line": 17
2026-06-04T12:53:14.3141871Z             },
2026-06-04T12:53:14.3142871Z             {
2026-06-04T12:53:14.3144044Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.3145537Z               "line": 171
2026-06-04T12:53:14.3146658Z             },
2026-06-04T12:53:14.3147643Z             {
2026-06-04T12:53:14.3148794Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.3154258Z               "line": 265
2026-06-04T12:53:14.3155432Z             },
2026-06-04T12:53:14.3156422Z             {
2026-06-04T12:53:14.3157566Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:53:14.3159042Z               "line": 32
2026-06-04T12:53:14.3160248Z             }
2026-06-04T12:53:14.3161240Z           ]
2026-06-04T12:53:14.3162195Z         },
2026-06-04T12:53:14.3163155Z         "int": {
2026-06-04T12:53:14.3164245Z           "complete": false,
2026-06-04T12:53:14.3165524Z           "evidence": []
2026-06-04T12:53:14.3166630Z         },
2026-06-04T12:53:14.3167600Z         "unit": {
2026-06-04T12:53:14.3168672Z           "complete": true,
2026-06-04T12:53:14.3169893Z           "evidence": [
2026-06-04T12:53:14.3170979Z             {
2026-06-04T12:53:14.3172099Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3173563Z               "line": 94
2026-06-04T12:53:14.3174665Z             },
2026-06-04T12:53:14.3175667Z             {
2026-06-04T12:53:14.3176796Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3178264Z               "line": 111
2026-06-04T12:53:14.3179412Z             },
2026-06-04T12:53:14.3180399Z             {
2026-06-04T12:53:14.3181517Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3182985Z               "line": 124
2026-06-04T12:53:14.3184100Z             },
2026-06-04T12:53:14.3185086Z             {
2026-06-04T12:53:14.3186213Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3187682Z               "line": 134
2026-06-04T12:53:14.3188790Z             },
2026-06-04T12:53:14.3189819Z             {
2026-06-04T12:53:14.3190950Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3192412Z               "line": 142
2026-06-04T12:53:14.3193523Z             },
2026-06-04T12:53:14.3194497Z             {
2026-06-04T12:53:14.3195621Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:53:14.3197080Z               "line": 154
2026-06-04T12:53:14.3198204Z             },
2026-06-04T12:53:14.3199212Z             {
2026-06-04T12:53:14.3200446Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.3202029Z               "line": 432
2026-06-04T12:53:14.3203146Z             }
2026-06-04T12:53:14.3204183Z           ]
2026-06-04T12:53:14.3205126Z         }
2026-06-04T12:53:14.3206062Z       }
2026-06-04T12:53:14.3206989Z     },
2026-06-04T12:53:14.3207910Z     {
2026-06-04T12:53:14.3208960Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T12:53:14.3210687Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T12:53:14.3212314Z       "requiredStages": [
2026-06-04T12:53:14.3213466Z         "impl",
2026-06-04T12:53:14.3214463Z         "unit"
2026-06-04T12:53:14.3215457Z       ],
2026-06-04T12:53:14.3216408Z       "stages": {
2026-06-04T12:53:14.3217443Z         "doc": {
2026-06-04T12:53:14.3218495Z           "complete": false,
2026-06-04T12:53:14.3219741Z           "evidence": []
2026-06-04T12:53:14.3220858Z         },
2026-06-04T12:53:14.3221817Z         "impl": {
2026-06-04T12:53:14.3222874Z           "complete": true,
2026-06-04T12:53:14.3224046Z           "evidence": [
2026-06-04T12:53:14.3225135Z             {
2026-06-04T12:53:14.3226300Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.3227796Z               "line": 128
2026-06-04T12:53:14.3228914Z             }
2026-06-04T12:53:14.3229930Z           ]
2026-06-04T12:53:14.3231123Z         },
2026-06-04T12:53:14.3232109Z         "int": {
2026-06-04T12:53:14.3233178Z           "complete": false,
2026-06-04T12:53:14.3234384Z           "evidence": []
2026-06-04T12:53:14.3235642Z         },
2026-06-04T12:53:14.3236604Z         "unit": {
2026-06-04T12:53:14.3237659Z           "complete": true,
2026-06-04T12:53:14.3238845Z           "evidence": [
2026-06-04T12:53:14.3240035Z             {
2026-06-04T12:53:14.3241216Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.3242713Z               "line": 205
2026-06-04T12:53:14.3243828Z             }
2026-06-04T12:53:14.3244807Z           ]
2026-06-04T12:53:14.3245758Z         }
2026-06-04T12:53:14.3250587Z       }
2026-06-04T12:53:14.3251638Z     },
2026-06-04T12:53:14.3252571Z     {
2026-06-04T12:53:14.3253665Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T12:53:14.3255463Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T12:53:14.3257184Z       "requiredStages": [
2026-06-04T12:53:14.3258343Z         "impl",
2026-06-04T12:53:14.3259402Z         "unit"
2026-06-04T12:53:14.3260399Z       ],
2026-06-04T12:53:14.3261347Z       "stages": {
2026-06-04T12:53:14.3262371Z         "doc": {
2026-06-04T12:53:14.3263420Z           "complete": false,
2026-06-04T12:53:14.3264621Z           "evidence": []
2026-06-04T12:53:14.3265726Z         },
2026-06-04T12:53:14.3266684Z         "impl": {
2026-06-04T12:53:14.3267729Z           "complete": true,
2026-06-04T12:53:14.3268901Z           "evidence": [
2026-06-04T12:53:14.3270020Z             {
2026-06-04T12:53:14.3271159Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3272635Z               "line": 190
2026-06-04T12:53:14.3273740Z             },
2026-06-04T12:53:14.3274715Z             {
2026-06-04T12:53:14.3275858Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3277312Z               "line": 201
2026-06-04T12:53:14.3278408Z             },
2026-06-04T12:53:14.3279423Z             {
2026-06-04T12:53:14.3280560Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3282024Z               "line": 219
2026-06-04T12:53:14.3283127Z             }
2026-06-04T12:53:14.3284100Z           ]
2026-06-04T12:53:14.3285036Z         },
2026-06-04T12:53:14.3285970Z         "int": {
2026-06-04T12:53:14.3287004Z           "complete": false,
2026-06-04T12:53:14.3288197Z           "evidence": []
2026-06-04T12:53:14.3289358Z         },
2026-06-04T12:53:14.3290362Z         "unit": {
2026-06-04T12:53:14.3291430Z           "complete": true,
2026-06-04T12:53:14.3292597Z           "evidence": [
2026-06-04T12:53:14.3293668Z             {
2026-06-04T12:53:14.3294793Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3296266Z               "line": 243
2026-06-04T12:53:14.3297374Z             },
2026-06-04T12:53:14.3298341Z             {
2026-06-04T12:53:14.3299517Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3300988Z               "line": 261
2026-06-04T12:53:14.3302107Z             },
2026-06-04T12:53:14.3303087Z             {
2026-06-04T12:53:14.3304226Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3305703Z               "line": 398
2026-06-04T12:53:14.3306815Z             },
2026-06-04T12:53:14.3307787Z             {
2026-06-04T12:53:14.3308921Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3310431Z               "line": 409
2026-06-04T12:53:14.3311537Z             },
2026-06-04T12:53:14.3312508Z             {
2026-06-04T12:53:14.3313647Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.3315115Z               "line": 422
2026-06-04T12:53:14.3316215Z             }
2026-06-04T12:53:14.3317178Z           ]
2026-06-04T12:53:14.3318127Z         }
2026-06-04T12:53:14.3319055Z       }
2026-06-04T12:53:14.3319997Z     },
2026-06-04T12:53:14.3320911Z     {
2026-06-04T12:53:14.3321935Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T12:53:14.3324376Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T12:53:14.3326583Z       "requiredStages": [
2026-06-04T12:53:14.3327725Z         "impl",
2026-06-04T12:53:14.3328887Z         "unit"
2026-06-04T12:53:14.3329919Z       ],
2026-06-04T12:53:14.3330863Z       "stages": {
2026-06-04T12:53:14.3331879Z         "doc": {
2026-06-04T12:53:14.3332922Z           "complete": false,
2026-06-04T12:53:14.3334128Z           "evidence": []
2026-06-04T12:53:14.3335233Z         },
2026-06-04T12:53:14.3336189Z         "impl": {
2026-06-04T12:53:14.3337242Z           "complete": true,
2026-06-04T12:53:14.3338409Z           "evidence": [
2026-06-04T12:53:14.3339529Z             {
2026-06-04T12:53:14.3340648Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3342090Z               "line": 14
2026-06-04T12:53:14.3343192Z             },
2026-06-04T12:53:14.3344184Z             {
2026-06-04T12:53:14.3349322Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:53:14.3350931Z               "line": 305
2026-06-04T12:53:14.3352042Z             }
2026-06-04T12:53:14.3353019Z           ]
2026-06-04T12:53:14.3353955Z         },
2026-06-04T12:53:14.3354906Z         "int": {
2026-06-04T12:53:14.3355949Z           "complete": false,
2026-06-04T12:53:14.3357156Z           "evidence": []
2026-06-04T12:53:14.3358257Z         },
2026-06-04T12:53:14.3359278Z         "unit": {
2026-06-04T12:53:14.3360416Z           "complete": true,
2026-06-04T12:53:14.3361676Z           "evidence": [
2026-06-04T12:53:14.3362771Z             {
2026-06-04T12:53:14.3363891Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3365347Z               "line": 130
2026-06-04T12:53:14.3366451Z             },
2026-06-04T12:53:14.3367425Z             {
2026-06-04T12:53:14.3368544Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3370089Z               "line": 138
2026-06-04T12:53:14.3371209Z             },
2026-06-04T12:53:14.3372191Z             {
2026-06-04T12:53:14.3373311Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3374766Z               "line": 146
2026-06-04T12:53:14.3375881Z             },
2026-06-04T12:53:14.3376864Z             {
2026-06-04T12:53:14.3377979Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3379519Z               "line": 154
2026-06-04T12:53:14.3380632Z             },
2026-06-04T12:53:14.3381602Z             {
2026-06-04T12:53:14.3382738Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3384176Z               "line": 162
2026-06-04T12:53:14.3385278Z             },
2026-06-04T12:53:14.3386265Z             {
2026-06-04T12:53:14.3387387Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:53:14.3388825Z               "line": 170
2026-06-04T12:53:14.3389983Z             }
2026-06-04T12:53:14.3390948Z           ]
2026-06-04T12:53:14.3391888Z         }
2026-06-04T12:53:14.3392809Z       }
2026-06-04T12:53:14.3393728Z     },
2026-06-04T12:53:14.3394652Z     {
2026-06-04T12:53:14.3395717Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T12:53:14.3402028Z       "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-04T12:53:14.3408068Z       "requiredStages": [
2026-06-04T12:53:14.3409466Z         "impl",
2026-06-04T12:53:14.3410661Z         "unit"
2026-06-04T12:53:14.3411651Z       ],
2026-06-04T12:53:14.3412597Z       "stages": {
2026-06-04T12:53:14.3413609Z         "doc": {
2026-06-04T12:53:14.3414678Z           "complete": false,
2026-06-04T12:53:14.3415937Z           "evidence": []
2026-06-04T12:53:14.3417057Z         },
2026-06-04T12:53:14.3418035Z         "impl": {
2026-06-04T12:53:14.3419095Z           "complete": true,
2026-06-04T12:53:14.3420656Z           "evidence": [
2026-06-04T12:53:14.3421740Z             {
2026-06-04T12:53:14.3423441Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3425157Z               "line": 34
2026-06-04T12:53:14.3426334Z             }
2026-06-04T12:53:14.3427511Z           ]
2026-06-04T12:53:14.3428521Z         },
2026-06-04T12:53:14.3429815Z         "int": {
2026-06-04T12:53:14.3430876Z           "complete": false,
2026-06-04T12:53:14.3432095Z           "evidence": []
2026-06-04T12:53:14.3433211Z         },
2026-06-04T12:53:14.3434170Z         "unit": {
2026-06-04T12:53:14.3435293Z           "complete": true,
2026-06-04T12:53:14.3436472Z           "evidence": [
2026-06-04T12:53:14.3437555Z             {
2026-06-04T12:53:14.3438902Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3440978Z               "line": 188
2026-06-04T12:53:14.3442093Z             },
2026-06-04T12:53:14.3443087Z             {
2026-06-04T12:53:14.3444403Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3446096Z               "line": 200
2026-06-04T12:53:14.3447226Z             },
2026-06-04T12:53:14.3448215Z             {
2026-06-04T12:53:14.3449575Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3451275Z               "line": 211
2026-06-04T12:53:14.3452398Z             },
2026-06-04T12:53:14.3453383Z             {
2026-06-04T12:53:14.3454698Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3461334Z               "line": 245
2026-06-04T12:53:14.3462505Z             },
2026-06-04T12:53:14.3463503Z             {
2026-06-04T12:53:14.3464813Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3466493Z               "line": 267
2026-06-04T12:53:14.3467605Z             },
2026-06-04T12:53:14.3468596Z             {
2026-06-04T12:53:14.3469977Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3471637Z               "line": 288
2026-06-04T12:53:14.3472769Z             },
2026-06-04T12:53:14.3473758Z             {
2026-06-04T12:53:14.3475062Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:53:14.3476850Z               "line": 304
2026-06-04T12:53:14.3477952Z             }
2026-06-04T12:53:14.3478923Z           ]
2026-06-04T12:53:14.3479921Z         }
2026-06-04T12:53:14.3480859Z       }
2026-06-04T12:53:14.3481771Z     },
2026-06-04T12:53:14.3482690Z     {
2026-06-04T12:53:14.3483759Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T12:53:14.3488013Z       "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-04T12:53:14.3492216Z       "requiredStages": [
2026-06-04T12:53:14.3493362Z         "impl",
2026-06-04T12:53:14.3494358Z         "unit"
2026-06-04T12:53:14.3495441Z       ],
2026-06-04T12:53:14.3496380Z       "stages": {
2026-06-04T12:53:14.3497403Z         "doc": {
2026-06-04T12:53:14.3498454Z           "complete": false,
2026-06-04T12:53:14.3499711Z           "evidence": []
2026-06-04T12:53:14.3500825Z         },
2026-06-04T12:53:14.3501780Z         "impl": {
2026-06-04T12:53:14.3502835Z           "complete": true,
2026-06-04T12:53:14.3504014Z           "evidence": [
2026-06-04T12:53:14.3504440Z             {
2026-06-04T12:53:14.3505042Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3505488Z               "line": 29
2026-06-04T12:53:14.3505903Z             },
2026-06-04T12:53:14.3506328Z             {
2026-06-04T12:53:14.3506926Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3507387Z               "line": 154
2026-06-04T12:53:14.3507809Z             },
2026-06-04T12:53:14.3508219Z             {
2026-06-04T12:53:14.3508827Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3509315Z               "line": 173
2026-06-04T12:53:14.3509744Z             },
2026-06-04T12:53:14.3510415Z             {
2026-06-04T12:53:14.3511046Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3511497Z               "line": 200
2026-06-04T12:53:14.3512061Z             }
2026-06-04T12:53:14.3512487Z           ]
2026-06-04T12:53:14.3512900Z         },
2026-06-04T12:53:14.3513325Z         "int": {
2026-06-04T12:53:14.3513793Z           "complete": false,
2026-06-04T12:53:14.3514253Z           "evidence": []
2026-06-04T12:53:14.3514677Z         },
2026-06-04T12:53:14.3515104Z         "unit": {
2026-06-04T12:53:14.3515568Z           "complete": true,
2026-06-04T12:53:14.3516003Z           "evidence": [
2026-06-04T12:53:14.3516427Z             {
2026-06-04T12:53:14.3517028Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3517484Z               "line": 276
2026-06-04T12:53:14.3517905Z             },
2026-06-04T12:53:14.3518315Z             {
2026-06-04T12:53:14.3518925Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3519432Z               "line": 291
2026-06-04T12:53:14.3519867Z             },
2026-06-04T12:53:14.3520278Z             {
2026-06-04T12:53:14.3520890Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3521354Z               "line": 310
2026-06-04T12:53:14.3521773Z             },
2026-06-04T12:53:14.3522197Z             {
2026-06-04T12:53:14.3522795Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3523256Z               "line": 326
2026-06-04T12:53:14.3523682Z             },
2026-06-04T12:53:14.3524103Z             {
2026-06-04T12:53:14.3524709Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3525152Z               "line": 376
2026-06-04T12:53:14.3525576Z             },
2026-06-04T12:53:14.3525987Z             {
2026-06-04T12:53:14.3526601Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3527052Z               "line": 390
2026-06-04T12:53:14.3527468Z             },
2026-06-04T12:53:14.3527891Z             {
2026-06-04T12:53:14.3528505Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3528966Z               "line": 401
2026-06-04T12:53:14.3529425Z             },
2026-06-04T12:53:14.3529872Z             {
2026-06-04T12:53:14.3530482Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.3530925Z               "line": 412
2026-06-04T12:53:14.3531352Z             }
2026-06-04T12:53:14.3531767Z           ]
2026-06-04T12:53:14.3532187Z         }
2026-06-04T12:53:14.3532604Z       }
2026-06-04T12:53:14.3533019Z     },
2026-06-04T12:53:14.3533436Z     {
2026-06-04T12:53:14.3534035Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T12:53:14.3537901Z       "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-04T12:53:14.3538380Z       "requiredStages": [
2026-06-04T12:53:14.3538818Z         "impl",
2026-06-04T12:53:14.3539318Z         "unit"
2026-06-04T12:53:14.3539762Z       ],
2026-06-04T12:53:14.3540228Z       "stages": {
2026-06-04T12:53:14.3540651Z         "doc": {
2026-06-04T12:53:14.3541153Z           "complete": false,
2026-06-04T12:53:14.3541600Z           "evidence": []
2026-06-04T12:53:14.3542021Z         },
2026-06-04T12:53:14.3542444Z         "impl": {
2026-06-04T12:53:14.3542911Z           "complete": true,
2026-06-04T12:53:14.3543366Z           "evidence": [
2026-06-04T12:53:14.3543789Z             {
2026-06-04T12:53:14.3544500Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3544946Z               "line": 27
2026-06-04T12:53:14.3545454Z             },
2026-06-04T12:53:14.3545869Z             {
2026-06-04T12:53:14.3546566Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3547017Z               "line": 110
2026-06-04T12:53:14.3547432Z             },
2026-06-04T12:53:14.3547859Z             {
2026-06-04T12:53:14.3548710Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3549231Z               "line": 153
2026-06-04T12:53:14.3549663Z             },
2026-06-04T12:53:14.3550217Z             {
2026-06-04T12:53:14.3550917Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3551365Z               "line": 182
2026-06-04T12:53:14.3551794Z             },
2026-06-04T12:53:14.3552210Z             {
2026-06-04T12:53:14.3552987Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3553434Z               "line": 31
2026-06-04T12:53:14.3553854Z             },
2026-06-04T12:53:14.3554279Z             {
2026-06-04T12:53:14.3559033Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3559671Z               "line": 113
2026-06-04T12:53:14.3560096Z             },
2026-06-04T12:53:14.3560518Z             {
2026-06-04T12:53:14.3561304Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3561773Z               "line": 138
2026-06-04T12:53:14.3562197Z             }
2026-06-04T12:53:14.3562610Z           ]
2026-06-04T12:53:14.3563026Z         },
2026-06-04T12:53:14.3563458Z         "int": {
2026-06-04T12:53:14.3563927Z           "complete": false,
2026-06-04T12:53:14.3564389Z           "evidence": []
2026-06-04T12:53:14.3564802Z         },
2026-06-04T12:53:14.3565229Z         "unit": {
2026-06-04T12:53:14.3565682Z           "complete": true,
2026-06-04T12:53:14.3566130Z           "evidence": [
2026-06-04T12:53:14.3566547Z             {
2026-06-04T12:53:14.3567243Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3567688Z               "line": 261
2026-06-04T12:53:14.3568105Z             },
2026-06-04T12:53:14.3568526Z             {
2026-06-04T12:53:14.3569252Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3569702Z               "line": 276
2026-06-04T12:53:14.3570122Z             },
2026-06-04T12:53:14.3570559Z             {
2026-06-04T12:53:14.3571258Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3571701Z               "line": 293
2026-06-04T12:53:14.3572129Z             },
2026-06-04T12:53:14.3572544Z             {
2026-06-04T12:53:14.3573238Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3573681Z               "line": 310
2026-06-04T12:53:14.3574103Z             },
2026-06-04T12:53:14.3574519Z             {
2026-06-04T12:53:14.3575197Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3575648Z               "line": 327
2026-06-04T12:53:14.3576059Z             },
2026-06-04T12:53:14.3576479Z             {
2026-06-04T12:53:14.3577162Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.3577613Z               "line": 366
2026-06-04T12:53:14.3578033Z             },
2026-06-04T12:53:14.3578445Z             {
2026-06-04T12:53:14.3579261Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3579710Z               "line": 179
2026-06-04T12:53:14.3580136Z             },
2026-06-04T12:53:14.3580564Z             {
2026-06-04T12:53:14.3581321Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3581765Z               "line": 194
2026-06-04T12:53:14.3582176Z             },
2026-06-04T12:53:14.3582592Z             {
2026-06-04T12:53:14.3583335Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3583776Z               "line": 204
2026-06-04T12:53:14.3584195Z             },
2026-06-04T12:53:14.3584600Z             {
2026-06-04T12:53:14.3585358Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3585796Z               "line": 259
2026-06-04T12:53:14.3586217Z             },
2026-06-04T12:53:14.3586627Z             {
2026-06-04T12:53:14.3587405Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3588127Z               "line": 269
2026-06-04T12:53:14.3588572Z             },
2026-06-04T12:53:14.3588994Z             {
2026-06-04T12:53:14.3589811Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.3590409Z               "line": 283
2026-06-04T12:53:14.3590822Z             }
2026-06-04T12:53:14.3591239Z           ]
2026-06-04T12:53:14.3591661Z         }
2026-06-04T12:53:14.3592070Z       }
2026-06-04T12:53:14.3592482Z     },
2026-06-04T12:53:14.3592888Z     {
2026-06-04T12:53:14.3593445Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T12:53:14.3594485Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T12:53:14.3594969Z       "requiredStages": [],
2026-06-04T12:53:14.3595398Z       "stages": {
2026-06-04T12:53:14.3595812Z         "doc": {
2026-06-04T12:53:14.3596277Z           "complete": false,
2026-06-04T12:53:14.3596720Z           "evidence": []
2026-06-04T12:53:14.3597139Z         },
2026-06-04T12:53:14.3597565Z         "impl": {
2026-06-04T12:53:14.3598036Z           "complete": false,
2026-06-04T12:53:14.3598483Z           "evidence": []
2026-06-04T12:53:14.3598888Z         },
2026-06-04T12:53:14.3599383Z         "int": {
2026-06-04T12:53:14.3599843Z           "complete": false,
2026-06-04T12:53:14.3600291Z           "evidence": []
2026-06-04T12:53:14.3600698Z         },
2026-06-04T12:53:14.3601127Z         "unit": {
2026-06-04T12:53:14.3601584Z           "complete": false,
2026-06-04T12:53:14.3602023Z           "evidence": []
2026-06-04T12:53:14.3602441Z         }
2026-06-04T12:53:14.3602848Z       }
2026-06-04T12:53:14.3603257Z     },
2026-06-04T12:53:14.3603656Z     {
2026-06-04T12:53:14.3604291Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T12:53:14.3615518Z       "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-04T12:53:14.3616096Z       "requiredStages": [
2026-06-04T12:53:14.3616638Z         "impl",
2026-06-04T12:53:14.3617058Z         "unit"
2026-06-04T12:53:14.3617515Z       ],
2026-06-04T12:53:14.3617954Z       "stages": {
2026-06-04T12:53:14.3618383Z         "doc": {
2026-06-04T12:53:14.3618852Z           "complete": false,
2026-06-04T12:53:14.3619361Z           "evidence": []
2026-06-04T12:53:14.3619786Z         },
2026-06-04T12:53:14.3620209Z         "impl": {
2026-06-04T12:53:14.3620676Z           "complete": true,
2026-06-04T12:53:14.3621123Z           "evidence": [
2026-06-04T12:53:14.3621535Z             {
2026-06-04T12:53:14.3622184Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3622618Z               "line": 26
2026-06-04T12:53:14.3623040Z             },
2026-06-04T12:53:14.3623452Z             {
2026-06-04T12:53:14.3624092Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3624536Z               "line": 93
2026-06-04T12:53:14.3624958Z             },
2026-06-04T12:53:14.3625379Z             {
2026-06-04T12:53:14.3626094Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3626559Z               "line": 158
2026-06-04T12:53:14.3626984Z             },
2026-06-04T12:53:14.3627396Z             {
2026-06-04T12:53:14.3628018Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3628454Z               "line": 19
2026-06-04T12:53:14.3628876Z             },
2026-06-04T12:53:14.3629330Z             {
2026-06-04T12:53:14.3629953Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3630402Z               "line": 50
2026-06-04T12:53:14.3630818Z             },
2026-06-04T12:53:14.3631245Z             {
2026-06-04T12:53:14.3631844Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:53:14.3632322Z               "line": 18
2026-06-04T12:53:14.3632732Z             },
2026-06-04T12:53:14.3633156Z             {
2026-06-04T12:53:14.3634060Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:53:14.3634521Z               "line": 65
2026-06-04T12:53:14.3634947Z             },
2026-06-04T12:53:14.3635504Z             {
2026-06-04T12:53:14.3636100Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.3636539Z               "line": 51
2026-06-04T12:53:14.3636958Z             }
2026-06-04T12:53:14.3637372Z           ]
2026-06-04T12:53:14.3637782Z         },
2026-06-04T12:53:14.3638215Z         "int": {
2026-06-04T12:53:14.3638706Z           "complete": false,
2026-06-04T12:53:14.3639237Z           "evidence": []
2026-06-04T12:53:14.3639654Z         },
2026-06-04T12:53:14.3640085Z         "unit": {
2026-06-04T12:53:14.3640554Z           "complete": true,
2026-06-04T12:53:14.3640993Z           "evidence": [
2026-06-04T12:53:14.3641417Z             {
2026-06-04T12:53:14.3642052Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3642500Z               "line": 276
2026-06-04T12:53:14.3642927Z             },
2026-06-04T12:53:14.3643348Z             {
2026-06-04T12:53:14.3643985Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3644440Z               "line": 295
2026-06-04T12:53:14.3644865Z             },
2026-06-04T12:53:14.3645275Z             {
2026-06-04T12:53:14.3645915Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3646352Z               "line": 323
2026-06-04T12:53:14.3646777Z             },
2026-06-04T12:53:14.3647197Z             {
2026-06-04T12:53:14.3647826Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3648283Z               "line": 372
2026-06-04T12:53:14.3653617Z             },
2026-06-04T12:53:14.3654143Z             {
2026-06-04T12:53:14.3654880Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3655337Z               "line": 383
2026-06-04T12:53:14.3655761Z             },
2026-06-04T12:53:14.3656176Z             {
2026-06-04T12:53:14.3656841Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3657289Z               "line": 414
2026-06-04T12:53:14.3657719Z             },
2026-06-04T12:53:14.3658130Z             {
2026-06-04T12:53:14.3658793Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.3659350Z               "line": 425
2026-06-04T12:53:14.3659771Z             },
2026-06-04T12:53:14.3660195Z             {
2026-06-04T12:53:14.3660809Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3661261Z               "line": 77
2026-06-04T12:53:14.3661684Z             },
2026-06-04T12:53:14.3662108Z             {
2026-06-04T12:53:14.3662739Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3663174Z               "line": 95
2026-06-04T12:53:14.3663604Z             },
2026-06-04T12:53:14.3664013Z             {
2026-06-04T12:53:14.3664642Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3665083Z               "line": 106
2026-06-04T12:53:14.3665623Z             },
2026-06-04T12:53:14.3666039Z             {
2026-06-04T12:53:14.3666655Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3667119Z               "line": 117
2026-06-04T12:53:14.3667528Z             },
2026-06-04T12:53:14.3667955Z             {
2026-06-04T12:53:14.3668588Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3669029Z               "line": 124
2026-06-04T12:53:14.3669500Z             },
2026-06-04T12:53:14.3669915Z             {
2026-06-04T12:53:14.3670541Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:53:14.3670977Z               "line": 137
2026-06-04T12:53:14.3671404Z             },
2026-06-04T12:53:14.3671826Z             {
2026-06-04T12:53:14.3672392Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:53:14.3672838Z               "line": 106
2026-06-04T12:53:14.3673250Z             },
2026-06-04T12:53:14.3673670Z             {
2026-06-04T12:53:14.3674539Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:53:14.3675013Z               "line": 118
2026-06-04T12:53:14.3675432Z             },
2026-06-04T12:53:14.3675843Z             {
2026-06-04T12:53:14.3676594Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:53:14.3677047Z               "line": 317
2026-06-04T12:53:14.3677468Z             }
2026-06-04T12:53:14.3677912Z           ]
2026-06-04T12:53:14.3678335Z         }
2026-06-04T12:53:14.3678760Z       }
2026-06-04T12:53:14.3679213Z     },
2026-06-04T12:53:14.3679642Z     {
2026-06-04T12:53:14.3680222Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T12:53:14.3681725Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T12:53:14.3682194Z       "requiredStages": [
2026-06-04T12:53:14.3682627Z         "impl",
2026-06-04T12:53:14.3683059Z         "unit"
2026-06-04T12:53:14.3683464Z       ],
2026-06-04T12:53:14.3683895Z       "stages": {
2026-06-04T12:53:14.3684330Z         "doc": {
2026-06-04T12:53:14.3684799Z           "complete": true,
2026-06-04T12:53:14.3685238Z           "evidence": [
2026-06-04T12:53:14.3685655Z             {
2026-06-04T12:53:14.3686216Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:53:14.3686655Z               "line": 137
2026-06-04T12:53:14.3687074Z             }
2026-06-04T12:53:14.3687490Z           ]
2026-06-04T12:53:14.3687912Z         },
2026-06-04T12:53:14.3688327Z         "impl": {
2026-06-04T12:53:14.3688796Z           "complete": true,
2026-06-04T12:53:14.3689288Z           "evidence": [
2026-06-04T12:53:14.3689702Z             {
2026-06-04T12:53:14.3690272Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T12:53:14.3690708Z               "line": 29
2026-06-04T12:53:14.3691129Z             },
2026-06-04T12:53:14.3691536Z             {
2026-06-04T12:53:14.3692133Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.3692590Z               "line": 101
2026-06-04T12:53:14.3693002Z             },
2026-06-04T12:53:14.3693436Z             {
2026-06-04T12:53:14.3694063Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3694507Z               "line": 30
2026-06-04T12:53:14.3694933Z             },
2026-06-04T12:53:14.3695350Z             {
2026-06-04T12:53:14.3695948Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.3696389Z               "line": 48
2026-06-04T12:53:14.3696805Z             }
2026-06-04T12:53:14.3697214Z           ]
2026-06-04T12:53:14.3697633Z         },
2026-06-04T12:53:14.3698045Z         "int": {
2026-06-04T12:53:14.3698514Z           "complete": false,
2026-06-04T12:53:14.3698965Z           "evidence": []
2026-06-04T12:53:14.3699416Z         },
2026-06-04T12:53:14.3699843Z         "unit": {
2026-06-04T12:53:14.3700297Z           "complete": true,
2026-06-04T12:53:14.3700747Z           "evidence": [
2026-06-04T12:53:14.3701160Z             {
2026-06-04T12:53:14.3701794Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3702257Z               "line": 152
2026-06-04T12:53:14.3702665Z             }
2026-06-04T12:53:14.3703086Z           ]
2026-06-04T12:53:14.3703497Z         }
2026-06-04T12:53:14.3703925Z       }
2026-06-04T12:53:14.3704326Z     },
2026-06-04T12:53:14.3704738Z     {
2026-06-04T12:53:14.3705314Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T12:53:14.3707419Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T12:53:14.3707900Z       "requiredStages": [
2026-06-04T12:53:14.3708316Z         "doc",
2026-06-04T12:53:14.3708744Z         "impl",
2026-06-04T12:53:14.3709192Z         "unit"
2026-06-04T12:53:14.3709615Z       ],
2026-06-04T12:53:14.3710047Z       "stages": {
2026-06-04T12:53:14.3710464Z         "doc": {
2026-06-04T12:53:14.3710929Z           "complete": true,
2026-06-04T12:53:14.3711366Z           "evidence": [
2026-06-04T12:53:14.3711791Z             {
2026-06-04T12:53:14.3712519Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:53:14.3712992Z               "line": 149
2026-06-04T12:53:14.3713417Z             }
2026-06-04T12:53:14.3713825Z           ]
2026-06-04T12:53:14.3714451Z         },
2026-06-04T12:53:14.3714875Z         "impl": {
2026-06-04T12:53:14.3715344Z           "complete": true,
2026-06-04T12:53:14.3715780Z           "evidence": [
2026-06-04T12:53:14.3716200Z             {
2026-06-04T12:53:14.3716841Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3717279Z               "line": 22
2026-06-04T12:53:14.3717708Z             }
2026-06-04T12:53:14.3718120Z           ]
2026-06-04T12:53:14.3718538Z         },
2026-06-04T12:53:14.3718950Z         "int": {
2026-06-04T12:53:14.3719470Z           "complete": false,
2026-06-04T12:53:14.3719932Z           "evidence": []
2026-06-04T12:53:14.3720344Z         },
2026-06-04T12:53:14.3720773Z         "unit": {
2026-06-04T12:53:14.3721225Z           "complete": true,
2026-06-04T12:53:14.3721684Z           "evidence": [
2026-06-04T12:53:14.3722092Z             {
2026-06-04T12:53:14.3722722Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3723184Z               "line": 257
2026-06-04T12:53:14.3723594Z             }
2026-06-04T12:53:14.3724014Z           ]
2026-06-04T12:53:14.3724420Z         }
2026-06-04T12:53:14.3724844Z       }
2026-06-04T12:53:14.3725251Z     },
2026-06-04T12:53:14.3725670Z     {
2026-06-04T12:53:14.3726266Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T12:53:14.3728615Z       "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-04T12:53:14.3729094Z       "requiredStages": [
2026-06-04T12:53:14.3729554Z         "impl",
2026-06-04T12:53:14.3729976Z         "unit"
2026-06-04T12:53:14.3730389Z       ],
2026-06-04T12:53:14.3730828Z       "stages": {
2026-06-04T12:53:14.3731252Z         "doc": {
2026-06-04T12:53:14.3731710Z           "complete": true,
2026-06-04T12:53:14.3732177Z           "evidence": [
2026-06-04T12:53:14.3732590Z             {
2026-06-04T12:53:14.3733142Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:53:14.3733609Z               "line": 143
2026-06-04T12:53:14.3737932Z             }
2026-06-04T12:53:14.3738441Z           ]
2026-06-04T12:53:14.3738852Z         },
2026-06-04T12:53:14.3739390Z         "impl": {
2026-06-04T12:53:14.3739859Z           "complete": true,
2026-06-04T12:53:14.3740305Z           "evidence": [
2026-06-04T12:53:14.3740720Z             {
2026-06-04T12:53:14.3741377Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.3741828Z               "line": 124
2026-06-04T12:53:14.3742238Z             },
2026-06-04T12:53:14.3742652Z             {
2026-06-04T12:53:14.3743240Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:53:14.3743689Z               "line": 15
2026-06-04T12:53:14.3744107Z             }
2026-06-04T12:53:14.3744519Z           ]
2026-06-04T12:53:14.3744962Z         },
2026-06-04T12:53:14.3745379Z         "int": {
2026-06-04T12:53:14.3745852Z           "complete": false,
2026-06-04T12:53:14.3746290Z           "evidence": []
2026-06-04T12:53:14.3746727Z         },
2026-06-04T12:53:14.3747147Z         "unit": {
2026-06-04T12:53:14.3747612Z           "complete": true,
2026-06-04T12:53:14.3748060Z           "evidence": [
2026-06-04T12:53:14.3748466Z             {
2026-06-04T12:53:14.3749134Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T12:53:14.3749610Z               "line": 87
2026-06-04T12:53:14.3750038Z             },
2026-06-04T12:53:14.3750453Z             {
2026-06-04T12:53:14.3751086Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.3751531Z               "line": 515
2026-06-04T12:53:14.3751943Z             },
2026-06-04T12:53:14.3752358Z             {
2026-06-04T12:53:14.3753002Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.3753457Z               "line": 534
2026-06-04T12:53:14.3754104Z             },
2026-06-04T12:53:14.3754534Z             {
2026-06-04T12:53:14.3755193Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.3755769Z               "line": 148
2026-06-04T12:53:14.3756199Z             },
2026-06-04T12:53:14.3756607Z             {
2026-06-04T12:53:14.3757202Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:53:14.3757652Z               "line": 74
2026-06-04T12:53:14.3758061Z             },
2026-06-04T12:53:14.3758476Z             {
2026-06-04T12:53:14.3759053Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:53:14.3759532Z               "line": 88
2026-06-04T12:53:14.3759947Z             },
2026-06-04T12:53:14.3760362Z             {
2026-06-04T12:53:14.3760958Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:53:14.3761392Z               "line": 104
2026-06-04T12:53:14.3761813Z             }
2026-06-04T12:53:14.3762223Z           ]
2026-06-04T12:53:14.3762639Z         }
2026-06-04T12:53:14.3763064Z       }
2026-06-04T12:53:14.3763474Z     },
2026-06-04T12:53:14.3763889Z     {
2026-06-04T12:53:14.3764475Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T12:53:14.3765534Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T12:53:14.3766005Z       "requiredStages": [
2026-06-04T12:53:14.3766426Z         "impl",
2026-06-04T12:53:14.3766839Z         "unit"
2026-06-04T12:53:14.3767264Z       ],
2026-06-04T12:53:14.3767699Z       "stages": {
2026-06-04T12:53:14.3768114Z         "doc": {
2026-06-04T12:53:14.3768587Z           "complete": false,
2026-06-04T12:53:14.3769032Z           "evidence": []
2026-06-04T12:53:14.3769492Z         },
2026-06-04T12:53:14.3769918Z         "impl": {
2026-06-04T12:53:14.3770380Z           "complete": true,
2026-06-04T12:53:14.3770825Z           "evidence": [
2026-06-04T12:53:14.3771235Z             {
2026-06-04T12:53:14.3771837Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:53:14.3772275Z               "line": 15
2026-06-04T12:53:14.3772697Z             },
2026-06-04T12:53:14.3773104Z             {
2026-06-04T12:53:14.3773735Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3774193Z               "line": 55
2026-06-04T12:53:14.3774601Z             },
2026-06-04T12:53:14.3775016Z             {
2026-06-04T12:53:14.3775635Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3776084Z               "line": 62
2026-06-04T12:53:14.3776494Z             },
2026-06-04T12:53:14.3776914Z             {
2026-06-04T12:53:14.3777548Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3777986Z               "line": 107
2026-06-04T12:53:14.3778405Z             },
2026-06-04T12:53:14.3778814Z             {
2026-06-04T12:53:14.3779482Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3779922Z               "line": 128
2026-06-04T12:53:14.3780344Z             }
2026-06-04T12:53:14.3780772Z           ]
2026-06-04T12:53:14.3781181Z         },
2026-06-04T12:53:14.3781608Z         "int": {
2026-06-04T12:53:14.3782070Z           "complete": false,
2026-06-04T12:53:14.3782530Z           "evidence": []
2026-06-04T12:53:14.3782936Z         },
2026-06-04T12:53:14.3783370Z         "unit": {
2026-06-04T12:53:14.3783833Z           "complete": true,
2026-06-04T12:53:14.3784269Z           "evidence": [
2026-06-04T12:53:14.3784682Z             {
2026-06-04T12:53:14.3785272Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:53:14.3785717Z               "line": 113
2026-06-04T12:53:14.3786126Z             },
2026-06-04T12:53:14.3786542Z             {
2026-06-04T12:53:14.3787131Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:53:14.3787571Z               "line": 119
2026-06-04T12:53:14.3787989Z             },
2026-06-04T12:53:14.3788402Z             {
2026-06-04T12:53:14.3788985Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:53:14.3789606Z               "line": 130
2026-06-04T12:53:14.3790051Z             },
2026-06-04T12:53:14.3790472Z             {
2026-06-04T12:53:14.3791113Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3791768Z               "line": 183
2026-06-04T12:53:14.3792195Z             },
2026-06-04T12:53:14.3792618Z             {
2026-06-04T12:53:14.3793259Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3793698Z               "line": 193
2026-06-04T12:53:14.3794123Z             },
2026-06-04T12:53:14.3794535Z             {
2026-06-04T12:53:14.3795164Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3795604Z               "line": 237
2026-06-04T12:53:14.3796031Z             },
2026-06-04T12:53:14.3796448Z             {
2026-06-04T12:53:14.3797065Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3797513Z               "line": 249
2026-06-04T12:53:14.3797931Z             },
2026-06-04T12:53:14.3798348Z             {
2026-06-04T12:53:14.3798976Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.3799485Z               "line": 275
2026-06-04T12:53:14.3799913Z             }
2026-06-04T12:53:14.3800333Z           ]
2026-06-04T12:53:14.3800746Z         }
2026-06-04T12:53:14.3801151Z       }
2026-06-04T12:53:14.3801562Z     },
2026-06-04T12:53:14.3801971Z     {
2026-06-04T12:53:14.3802528Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T12:53:14.3804065Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T12:53:14.3804531Z       "requiredStages": [
2026-06-04T12:53:14.3804961Z         "impl",
2026-06-04T12:53:14.3805376Z         "unit",
2026-06-04T12:53:14.3805869Z         "int"
2026-06-04T12:53:14.3806277Z       ],
2026-06-04T12:53:14.3806707Z       "stages": {
2026-06-04T12:53:14.3807126Z         "doc": {
2026-06-04T12:53:14.3807588Z           "complete": false,
2026-06-04T12:53:14.3808044Z           "evidence": []
2026-06-04T12:53:14.3808462Z         },
2026-06-04T12:53:14.3808889Z         "impl": {
2026-06-04T12:53:14.3809370Z           "complete": true,
2026-06-04T12:53:14.3809822Z           "evidence": [
2026-06-04T12:53:14.3810246Z             {
2026-06-04T12:53:14.3810849Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.3811295Z               "line": 246
2026-06-04T12:53:14.3811703Z             },
2026-06-04T12:53:14.3812124Z             {
2026-06-04T12:53:14.3812720Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.3813173Z               "line": 506
2026-06-04T12:53:14.3813591Z             },
2026-06-04T12:53:14.3813999Z             {
2026-06-04T12:53:14.3814613Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.3815049Z               "line": 529
2026-06-04T12:53:14.3819145Z             },
2026-06-04T12:53:14.3819724Z             {
2026-06-04T12:53:14.3820358Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.3820834Z               "line": 553
2026-06-04T12:53:14.3821251Z             },
2026-06-04T12:53:14.3821668Z             {
2026-06-04T12:53:14.3822280Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.3822734Z               "line": 463
2026-06-04T12:53:14.3823144Z             },
2026-06-04T12:53:14.3823557Z             {
2026-06-04T12:53:14.3824173Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.3824610Z               "line": 544
2026-06-04T12:53:14.3825031Z             },
2026-06-04T12:53:14.3825441Z             {
2026-06-04T12:53:14.3826135Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.3826944Z               "line": 588
2026-06-04T12:53:14.3827601Z             },
2026-06-04T12:53:14.3828121Z             {
2026-06-04T12:53:14.3828898Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:53:14.3829565Z               "line": 631
2026-06-04T12:53:14.3830166Z             },
2026-06-04T12:53:14.3830691Z             {
2026-06-04T12:53:14.3831885Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:53:14.3832377Z               "line": 46
2026-06-04T12:53:14.3832811Z             },
2026-06-04T12:53:14.3833404Z             {
2026-06-04T12:53:14.3834033Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:53:14.3834476Z               "line": 160
2026-06-04T12:53:14.3834905Z             },
2026-06-04T12:53:14.3835329Z             {
2026-06-04T12:53:14.3835924Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T12:53:14.3836369Z               "line": 71
2026-06-04T12:53:14.3836778Z             },
2026-06-04T12:53:14.3837198Z             {
2026-06-04T12:53:14.3837782Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.3838387Z               "line": 128
2026-06-04T12:53:14.3838975Z             },
2026-06-04T12:53:14.3839724Z             {
2026-06-04T12:53:14.3840336Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.3840793Z               "line": 174
2026-06-04T12:53:14.3841224Z             }
2026-06-04T12:53:14.3841642Z           ]
2026-06-04T12:53:14.3842062Z         },
2026-06-04T12:53:14.3842506Z         "int": {
2026-06-04T12:53:14.3843258Z           "complete": true,
2026-06-04T12:53:14.3843698Z           "evidence": [
2026-06-04T12:53:14.3844112Z             {
2026-06-04T12:53:14.3844794Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T12:53:14.3845232Z               "line": 27
2026-06-04T12:53:14.3845659Z             },
2026-06-04T12:53:14.3846077Z             {
2026-06-04T12:53:14.3846750Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:53:14.3847197Z               "line": 125
2026-06-04T12:53:14.3847614Z             },
2026-06-04T12:53:14.3848032Z             {
2026-06-04T12:53:14.3848694Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T12:53:14.3849142Z               "line": 189
2026-06-04T12:53:14.3849603Z             }
2026-06-04T12:53:14.3850029Z           ]
2026-06-04T12:53:14.3850446Z         },
2026-06-04T12:53:14.3850863Z         "unit": {
2026-06-04T12:53:14.3851332Z           "complete": true,
2026-06-04T12:53:14.3851784Z           "evidence": [
2026-06-04T12:53:14.3852204Z             {
2026-06-04T12:53:14.3852831Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:53:14.3853274Z               "line": 282
2026-06-04T12:53:14.3853697Z             },
2026-06-04T12:53:14.3854109Z             {
2026-06-04T12:53:14.3854732Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:53:14.3855177Z               "line": 300
2026-06-04T12:53:14.3855596Z             },
2026-06-04T12:53:14.3856013Z             {
2026-06-04T12:53:14.3856622Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:53:14.3857076Z               "line": 318
2026-06-04T12:53:14.3857489Z             },
2026-06-04T12:53:14.3857901Z             {
2026-06-04T12:53:14.3858529Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:53:14.3858991Z               "line": 221
2026-06-04T12:53:14.3859449Z             },
2026-06-04T12:53:14.3859864Z             {
2026-06-04T12:53:14.3860517Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T12:53:14.3860964Z               "line": 204
2026-06-04T12:53:14.3861391Z             },
2026-06-04T12:53:14.3861801Z             {
2026-06-04T12:53:14.3862412Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T12:53:14.3862858Z               "line": 182
2026-06-04T12:53:14.3863272Z             },
2026-06-04T12:53:14.3863691Z             {
2026-06-04T12:53:14.3864276Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.3864729Z               "line": 441
2026-06-04T12:53:14.3865149Z             },
2026-06-04T12:53:14.3865570Z             {
2026-06-04T12:53:14.3866157Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.3866599Z               "line": 465
2026-06-04T12:53:14.3867016Z             }
2026-06-04T12:53:14.3867611Z           ]
2026-06-04T12:53:14.3868054Z         }
2026-06-04T12:53:14.3868465Z       }
2026-06-04T12:53:14.3868881Z     },
2026-06-04T12:53:14.3869349Z     {
2026-06-04T12:53:14.3870148Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T12:53:14.3871181Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T12:53:14.3871650Z       "requiredStages": [
2026-06-04T12:53:14.3872081Z         "impl",
2026-06-04T12:53:14.3872507Z         "unit"
2026-06-04T12:53:14.3872922Z       ],
2026-06-04T12:53:14.3873352Z       "stages": {
2026-06-04T12:53:14.3873778Z         "doc": {
2026-06-04T12:53:14.3874242Z           "complete": false,
2026-06-04T12:53:14.3874690Z           "evidence": []
2026-06-04T12:53:14.3875135Z         },
2026-06-04T12:53:14.3875889Z         "impl": {
2026-06-04T12:53:14.3876553Z           "complete": true,
2026-06-04T12:53:14.3877084Z           "evidence": [
2026-06-04T12:53:14.3877980Z             {
2026-06-04T12:53:14.3878964Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.3879563Z               "line": 56
2026-06-04T12:53:14.3880142Z             },
2026-06-04T12:53:14.3880688Z             {
2026-06-04T12:53:14.3881465Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.3881964Z               "line": 63
2026-06-04T12:53:14.3882406Z             },
2026-06-04T12:53:14.3882855Z             {
2026-06-04T12:53:14.3883774Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3884300Z               "line": 33
2026-06-04T12:53:14.3884793Z             },
2026-06-04T12:53:14.3885259Z             {
2026-06-04T12:53:14.3885894Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3886357Z               "line": 61
2026-06-04T12:53:14.3886795Z             },
2026-06-04T12:53:14.3887223Z             {
2026-06-04T12:53:14.3887847Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3888314Z               "line": 70
2026-06-04T12:53:14.3888764Z             },
2026-06-04T12:53:14.3889265Z             {
2026-06-04T12:53:14.3889907Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3890410Z               "line": 79
2026-06-04T12:53:14.3890876Z             },
2026-06-04T12:53:14.3891346Z             {
2026-06-04T12:53:14.3891980Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3892436Z               "line": 88
2026-06-04T12:53:14.3892874Z             },
2026-06-04T12:53:14.3893307Z             {
2026-06-04T12:53:14.3893961Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3894461Z               "line": 97
2026-06-04T12:53:14.3894917Z             },
2026-06-04T12:53:14.3895363Z             {
2026-06-04T12:53:14.3895983Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3896452Z               "line": 105
2026-06-04T12:53:14.3896888Z             },
2026-06-04T12:53:14.3897351Z             {
2026-06-04T12:53:14.3897973Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3898452Z               "line": 114
2026-06-04T12:53:14.3898891Z             },
2026-06-04T12:53:14.3899364Z             {
2026-06-04T12:53:14.3900140Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3900590Z               "line": 123
2026-06-04T12:53:14.3901012Z             },
2026-06-04T12:53:14.3901430Z             {
2026-06-04T12:53:14.3902040Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3902534Z               "line": 130
2026-06-04T12:53:14.3902984Z             },
2026-06-04T12:53:14.3910263Z             {
2026-06-04T12:53:14.3911087Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3911572Z               "line": 137
2026-06-04T12:53:14.3912002Z             },
2026-06-04T12:53:14.3912457Z             {
2026-06-04T12:53:14.3913071Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3913527Z               "line": 145
2026-06-04T12:53:14.3914484Z             },
2026-06-04T12:53:14.3914956Z             {
2026-06-04T12:53:14.3915664Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3916290Z               "line": 154
2026-06-04T12:53:14.3916703Z             },
2026-06-04T12:53:14.3917148Z             {
2026-06-04T12:53:14.3917752Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3918214Z               "line": 221
2026-06-04T12:53:14.3918639Z             },
2026-06-04T12:53:14.3919077Z             {
2026-06-04T12:53:14.3920082Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3920537Z               "line": 233
2026-06-04T12:53:14.3920963Z             },
2026-06-04T12:53:14.3921376Z             {
2026-06-04T12:53:14.3921984Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3922432Z               "line": 320
2026-06-04T12:53:14.3922867Z             }
2026-06-04T12:53:14.3923298Z           ]
2026-06-04T12:53:14.3923716Z         },
2026-06-04T12:53:14.3924166Z         "int": {
2026-06-04T12:53:14.3924638Z           "complete": false,
2026-06-04T12:53:14.3925098Z           "evidence": []
2026-06-04T12:53:14.3925516Z         },
2026-06-04T12:53:14.3925973Z         "unit": {
2026-06-04T12:53:14.3926473Z           "complete": true,
2026-06-04T12:53:14.3926921Z           "evidence": [
2026-06-04T12:53:14.3927366Z             {
2026-06-04T12:53:14.3927966Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3928439Z               "line": 390
2026-06-04T12:53:14.3928878Z             },
2026-06-04T12:53:14.3929501Z             {
2026-06-04T12:53:14.3930301Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3930973Z               "line": 416
2026-06-04T12:53:14.3931514Z             },
2026-06-04T12:53:14.3932043Z             {
2026-06-04T12:53:14.3932765Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3933386Z               "line": 429
2026-06-04T12:53:14.3933825Z             },
2026-06-04T12:53:14.3934270Z             {
2026-06-04T12:53:14.3935028Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.3935544Z               "line": 471
2026-06-04T12:53:14.3935993Z             }
2026-06-04T12:53:14.3936432Z           ]
2026-06-04T12:53:14.3936872Z         }
2026-06-04T12:53:14.3937312Z       }
2026-06-04T12:53:14.3937753Z     },
2026-06-04T12:53:14.3938175Z     {
2026-06-04T12:53:14.3938735Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T12:53:14.3940037Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T12:53:14.3940549Z       "requiredStages": [
2026-06-04T12:53:14.3941008Z         "impl",
2026-06-04T12:53:14.3941468Z         "unit"
2026-06-04T12:53:14.3941914Z       ],
2026-06-04T12:53:14.3942353Z       "stages": {
2026-06-04T12:53:14.3942803Z         "doc": {
2026-06-04T12:53:14.3943273Z           "complete": false,
2026-06-04T12:53:14.3943731Z           "evidence": []
2026-06-04T12:53:14.3944146Z         },
2026-06-04T12:53:14.3944595Z         "impl": {
2026-06-04T12:53:14.3945071Z           "complete": true,
2026-06-04T12:53:14.3945513Z           "evidence": [
2026-06-04T12:53:14.3945970Z             {
2026-06-04T12:53:14.3946552Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.3947016Z               "line": 107
2026-06-04T12:53:14.3947461Z             },
2026-06-04T12:53:14.3947945Z             {
2026-06-04T12:53:14.3948623Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.3949099Z               "line": 118
2026-06-04T12:53:14.3949630Z             }
2026-06-04T12:53:14.3950094Z           ]
2026-06-04T12:53:14.3950736Z         },
2026-06-04T12:53:14.3951239Z         "int": {
2026-06-04T12:53:14.3951927Z           "complete": false,
2026-06-04T12:53:14.3952454Z           "evidence": []
2026-06-04T12:53:14.3952919Z         },
2026-06-04T12:53:14.3953398Z         "unit": {
2026-06-04T12:53:14.3953910Z           "complete": true,
2026-06-04T12:53:14.3954437Z           "evidence": [
2026-06-04T12:53:14.3955250Z             {
2026-06-04T12:53:14.3955942Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.3956451Z               "line": 225
2026-06-04T12:53:14.3957111Z             },
2026-06-04T12:53:14.3957559Z             {
2026-06-04T12:53:14.3958210Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.3958687Z               "line": 345
2026-06-04T12:53:14.3959118Z             },
2026-06-04T12:53:14.3959668Z             {
2026-06-04T12:53:14.3960335Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.3960821Z               "line": 355
2026-06-04T12:53:14.3961282Z             }
2026-06-04T12:53:14.3961715Z           ]
2026-06-04T12:53:14.3962151Z         }
2026-06-04T12:53:14.3962588Z       }
2026-06-04T12:53:14.3963030Z     },
2026-06-04T12:53:14.3963473Z     {
2026-06-04T12:53:14.3964037Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T12:53:14.3964883Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T12:53:14.3965394Z       "requiredStages": [],
2026-06-04T12:53:14.3965943Z       "stages": {
2026-06-04T12:53:14.3966383Z         "doc": {
2026-06-04T12:53:14.3966914Z           "complete": false,
2026-06-04T12:53:14.3967406Z           "evidence": []
2026-06-04T12:53:14.3967849Z         },
2026-06-04T12:53:14.3968314Z         "impl": {
2026-06-04T12:53:14.3968981Z           "complete": false,
2026-06-04T12:53:14.3969614Z           "evidence": []
2026-06-04T12:53:14.3970107Z         },
2026-06-04T12:53:14.3970609Z         "int": {
2026-06-04T12:53:14.3971197Z           "complete": false,
2026-06-04T12:53:14.3971707Z           "evidence": []
2026-06-04T12:53:14.3972181Z         },
2026-06-04T12:53:14.3972656Z         "unit": {
2026-06-04T12:53:14.3973176Z           "complete": false,
2026-06-04T12:53:14.3973679Z           "evidence": []
2026-06-04T12:53:14.3974148Z         }
2026-06-04T12:53:14.3974610Z       }
2026-06-04T12:53:14.3975064Z     },
2026-06-04T12:53:14.3975587Z     {
2026-06-04T12:53:14.3976294Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T12:53:14.3977300Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T12:53:14.3977845Z       "requiredStages": [
2026-06-04T12:53:14.3978354Z         "impl",
2026-06-04T12:53:14.3978858Z         "unit"
2026-06-04T12:53:14.3979408Z       ],
2026-06-04T12:53:14.3979939Z       "stages": {
2026-06-04T12:53:14.3980430Z         "doc": {
2026-06-04T12:53:14.3980967Z           "complete": false,
2026-06-04T12:53:14.3981470Z           "evidence": []
2026-06-04T12:53:14.3981945Z         },
2026-06-04T12:53:14.3982443Z         "impl": {
2026-06-04T12:53:14.3982967Z           "complete": true,
2026-06-04T12:53:14.3983779Z           "evidence": [
2026-06-04T12:53:14.3984290Z             {
2026-06-04T12:53:14.3985044Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.3985538Z               "line": 424
2026-06-04T12:53:14.3986017Z             },
2026-06-04T12:53:14.3986500Z             {
2026-06-04T12:53:14.3987196Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.3987713Z               "line": 28
2026-06-04T12:53:14.3988187Z             }
2026-06-04T12:53:14.3988660Z           ]
2026-06-04T12:53:14.3989112Z         },
2026-06-04T12:53:14.3989704Z         "int": {
2026-06-04T12:53:14.3990277Z           "complete": false,
2026-06-04T12:53:14.3990822Z           "evidence": []
2026-06-04T12:53:14.3991341Z         },
2026-06-04T12:53:14.3991833Z         "unit": {
2026-06-04T12:53:14.3992388Z           "complete": true,
2026-06-04T12:53:14.3992897Z           "evidence": [
2026-06-04T12:53:14.3993397Z             {
2026-06-04T12:53:14.3994100Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.3994607Z               "line": 200
2026-06-04T12:53:14.4002182Z             }
2026-06-04T12:53:14.4002802Z           ]
2026-06-04T12:53:14.4003270Z         }
2026-06-04T12:53:14.4003717Z       }
2026-06-04T12:53:14.4004169Z     },
2026-06-04T12:53:14.4005077Z     {
2026-06-04T12:53:14.4005713Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T12:53:14.4006499Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T12:53:14.4007243Z       "requiredStages": [],
2026-06-04T12:53:14.4007775Z       "stages": {
2026-06-04T12:53:14.4008294Z         "doc": {
2026-06-04T12:53:14.4008880Z           "complete": false,
2026-06-04T12:53:14.4009517Z           "evidence": []
2026-06-04T12:53:14.4010133Z         },
2026-06-04T12:53:14.4010592Z         "impl": {
2026-06-04T12:53:14.4011066Z           "complete": false,
2026-06-04T12:53:14.4011526Z           "evidence": []
2026-06-04T12:53:14.4011942Z         },
2026-06-04T12:53:14.4012523Z         "int": {
2026-06-04T12:53:14.4013044Z           "complete": false,
2026-06-04T12:53:14.4013522Z           "evidence": []
2026-06-04T12:53:14.4013967Z         },
2026-06-04T12:53:14.4014407Z         "unit": {
2026-06-04T12:53:14.4014890Z           "complete": false,
2026-06-04T12:53:14.4015349Z           "evidence": []
2026-06-04T12:53:14.4015805Z         }
2026-06-04T12:53:14.4016257Z       }
2026-06-04T12:53:14.4016679Z     },
2026-06-04T12:53:14.4017112Z     {
2026-06-04T12:53:14.4017715Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T12:53:14.4018540Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T12:53:14.4019020Z       "requiredStages": [
2026-06-04T12:53:14.4019693Z         "impl",
2026-06-04T12:53:14.4020127Z         "unit"
2026-06-04T12:53:14.4020540Z       ],
2026-06-04T12:53:14.4020976Z       "stages": {
2026-06-04T12:53:14.4021396Z         "doc": {
2026-06-04T12:53:14.4021865Z           "complete": false,
2026-06-04T12:53:14.4022304Z           "evidence": []
2026-06-04T12:53:14.4022732Z         },
2026-06-04T12:53:14.4023164Z         "impl": {
2026-06-04T12:53:14.4023620Z           "complete": true,
2026-06-04T12:53:14.4024074Z           "evidence": [
2026-06-04T12:53:14.4024484Z             {
2026-06-04T12:53:14.4025074Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:53:14.4025522Z               "line": 19
2026-06-04T12:53:14.4025954Z             },
2026-06-04T12:53:14.4026379Z             {
2026-06-04T12:53:14.4027045Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.4027502Z               "line": 325
2026-06-04T12:53:14.4027912Z             },
2026-06-04T12:53:14.4028335Z             {
2026-06-04T12:53:14.4028965Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.4029455Z               "line": 361
2026-06-04T12:53:14.4030252Z             },
2026-06-04T12:53:14.4030670Z             {
2026-06-04T12:53:14.4031277Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:53:14.4031717Z               "line": 15
2026-06-04T12:53:14.4032150Z             },
2026-06-04T12:53:14.4032565Z             {
2026-06-04T12:53:14.4033178Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:53:14.4033624Z               "line": 48
2026-06-04T12:53:14.4034038Z             },
2026-06-04T12:53:14.4034469Z             {
2026-06-04T12:53:14.4035065Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:53:14.4035525Z               "line": 106
2026-06-04T12:53:14.4035945Z             }
2026-06-04T12:53:14.4036367Z           ]
2026-06-04T12:53:14.4036784Z         },
2026-06-04T12:53:14.4037209Z         "int": {
2026-06-04T12:53:14.4037680Z           "complete": false,
2026-06-04T12:53:14.4038120Z           "evidence": []
2026-06-04T12:53:14.4038545Z         },
2026-06-04T12:53:14.4038964Z         "unit": {
2026-06-04T12:53:14.4039634Z           "complete": true,
2026-06-04T12:53:14.4040267Z           "evidence": [
2026-06-04T12:53:14.4040678Z             {
2026-06-04T12:53:14.4041323Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.4041766Z               "line": 453
2026-06-04T12:53:14.4042194Z             },
2026-06-04T12:53:14.4042606Z             {
2026-06-04T12:53:14.4043207Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:53:14.4043977Z               "line": 149
2026-06-04T12:53:14.4044433Z             },
2026-06-04T12:53:14.4044856Z             {
2026-06-04T12:53:14.4045452Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:53:14.4046070Z               "line": 156
2026-06-04T12:53:14.4046485Z             }
2026-06-04T12:53:14.4046907Z           ]
2026-06-04T12:53:14.4047324Z         }
2026-06-04T12:53:14.4047735Z       }
2026-06-04T12:53:14.4048153Z     },
2026-06-04T12:53:14.4048559Z     {
2026-06-04T12:53:14.4049144Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T12:53:14.4050381Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T12:53:14.4050869Z       "requiredStages": [
2026-06-04T12:53:14.4051318Z         "impl",
2026-06-04T12:53:14.4051737Z         "unit"
2026-06-04T12:53:14.4052165Z       ],
2026-06-04T12:53:14.4052598Z       "stages": {
2026-06-04T12:53:14.4053033Z         "doc": {
2026-06-04T12:53:14.4053493Z           "complete": false,
2026-06-04T12:53:14.4053961Z           "evidence": []
2026-06-04T12:53:14.4054387Z         },
2026-06-04T12:53:14.4054810Z         "impl": {
2026-06-04T12:53:14.4055275Z           "complete": true,
2026-06-04T12:53:14.4055725Z           "evidence": [
2026-06-04T12:53:14.4056148Z             {
2026-06-04T12:53:14.4056741Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.4057189Z               "line": 35
2026-06-04T12:53:14.4057605Z             }
2026-06-04T12:53:14.4058014Z           ]
2026-06-04T12:53:14.4058438Z         },
2026-06-04T12:53:14.4058854Z         "int": {
2026-06-04T12:53:14.4059367Z           "complete": false,
2026-06-04T12:53:14.4060175Z           "evidence": []
2026-06-04T12:53:14.4060608Z         },
2026-06-04T12:53:14.4061037Z         "unit": {
2026-06-04T12:53:14.4061490Z           "complete": true,
2026-06-04T12:53:14.4061941Z           "evidence": [
2026-06-04T12:53:14.4062348Z             {
2026-06-04T12:53:14.4062957Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:53:14.4063410Z               "line": 217
2026-06-04T12:53:14.4063886Z             }
2026-06-04T12:53:14.4064312Z           ]
2026-06-04T12:53:14.4064727Z         }
2026-06-04T12:53:14.4065156Z       }
2026-06-04T12:53:14.4065564Z     },
2026-06-04T12:53:14.4066046Z     {
2026-06-04T12:53:14.4066578Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T12:53:14.4068089Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T12:53:14.4068568Z       "requiredStages": [
2026-06-04T12:53:14.4068995Z         "impl",
2026-06-04T12:53:14.4069485Z         "unit"
2026-06-04T12:53:14.4069912Z       ],
2026-06-04T12:53:14.4070354Z       "stages": {
2026-06-04T12:53:14.4070770Z         "doc": {
2026-06-04T12:53:14.4071246Z           "complete": false,
2026-06-04T12:53:14.4071700Z           "evidence": []
2026-06-04T12:53:14.4072109Z         },
2026-06-04T12:53:14.4072541Z         "impl": {
2026-06-04T12:53:14.4073000Z           "complete": true,
2026-06-04T12:53:14.4073465Z           "evidence": [
2026-06-04T12:53:14.4073878Z             {
2026-06-04T12:53:14.4074536Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.4075082Z               "line": 256
2026-06-04T12:53:14.4075489Z             },
2026-06-04T12:53:14.4075909Z             {
2026-06-04T12:53:14.4076532Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.4076988Z               "line": 221
2026-06-04T12:53:14.4077403Z             },
2026-06-04T12:53:14.4077826Z             {
2026-06-04T12:53:14.4078453Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.4078896Z               "line": 150
2026-06-04T12:53:14.4079548Z             }
2026-06-04T12:53:14.4079974Z           ]
2026-06-04T12:53:14.4080398Z         },
2026-06-04T12:53:14.4080824Z         "int": {
2026-06-04T12:53:14.4081301Z           "complete": false,
2026-06-04T12:53:14.4081761Z           "evidence": []
2026-06-04T12:53:14.4082179Z         },
2026-06-04T12:53:14.4090605Z         "unit": {
2026-06-04T12:53:14.4091267Z           "complete": true,
2026-06-04T12:53:14.4091737Z           "evidence": [
2026-06-04T12:53:14.4092300Z             {
2026-06-04T12:53:14.4092960Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.4093413Z               "line": 477
2026-06-04T12:53:14.4093828Z             },
2026-06-04T12:53:14.4094251Z             {
2026-06-04T12:53:14.4094872Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.4095323Z               "line": 488
2026-06-04T12:53:14.4095737Z             },
2026-06-04T12:53:14.4096163Z             {
2026-06-04T12:53:14.4096799Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.4097244Z               "line": 504
2026-06-04T12:53:14.4097666Z             },
2026-06-04T12:53:14.4098074Z             {
2026-06-04T12:53:14.4098703Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.4099151Z               "line": 518
2026-06-04T12:53:14.4099677Z             },
2026-06-04T12:53:14.4100101Z             {
2026-06-04T12:53:14.4100777Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:53:14.4101233Z               "line": 268
2026-06-04T12:53:14.4101647Z             }
2026-06-04T12:53:14.4102062Z           ]
2026-06-04T12:53:14.4102481Z         }
2026-06-04T12:53:14.4102886Z       }
2026-06-04T12:53:14.4103361Z     },
2026-06-04T12:53:14.4103811Z     {
2026-06-04T12:53:14.4104343Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T12:53:14.4109059Z       "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-04T12:53:14.4109609Z       "requiredStages": [
2026-06-04T12:53:14.4110038Z         "doc",
2026-06-04T12:53:14.4110463Z         "impl",
2026-06-04T12:53:14.4110885Z         "unit"
2026-06-04T12:53:14.4111324Z       ],
2026-06-04T12:53:14.4111763Z       "stages": {
2026-06-04T12:53:14.4112175Z         "doc": {
2026-06-04T12:53:14.4112644Z           "complete": true,
2026-06-04T12:53:14.4113112Z           "evidence": [
2026-06-04T12:53:14.4113525Z             {
2026-06-04T12:53:14.4114074Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:53:14.4114514Z               "line": 259
2026-06-04T12:53:14.4114932Z             }
2026-06-04T12:53:14.4115341Z           ]
2026-06-04T12:53:14.4115761Z         },
2026-06-04T12:53:14.4116197Z         "impl": {
2026-06-04T12:53:14.4116656Z           "complete": true,
2026-06-04T12:53:14.4117108Z           "evidence": [
2026-06-04T12:53:14.4117518Z             {
2026-06-04T12:53:14.4118146Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.4118581Z               "line": 85
2026-06-04T12:53:14.4119006Z             },
2026-06-04T12:53:14.4119469Z             {
2026-06-04T12:53:14.4120098Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:53:14.4120543Z               "line": 99
2026-06-04T12:53:14.4120955Z             },
2026-06-04T12:53:14.4121376Z             {
2026-06-04T12:53:14.4122020Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.4122460Z               "line": 53
2026-06-04T12:53:14.4122885Z             },
2026-06-04T12:53:14.4123294Z             {
2026-06-04T12:53:14.4123941Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.4124372Z               "line": 89
2026-06-04T12:53:14.4124794Z             },
2026-06-04T12:53:14.4125202Z             {
2026-06-04T12:53:14.4125852Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.4126295Z               "line": 29
2026-06-04T12:53:14.4126702Z             },
2026-06-04T12:53:14.4127123Z             {
2026-06-04T12:53:14.4127755Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.4128198Z               "line": 75
2026-06-04T12:53:14.4128787Z             },
2026-06-04T12:53:14.4129262Z             {
2026-06-04T12:53:14.4129956Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4130532Z               "line": 121
2026-06-04T12:53:14.4130955Z             },
2026-06-04T12:53:14.4131362Z             {
2026-06-04T12:53:14.4131955Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4132403Z               "line": 40
2026-06-04T12:53:14.4132814Z             },
2026-06-04T12:53:14.4133234Z             {
2026-06-04T12:53:14.4133815Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4134265Z               "line": 161
2026-06-04T12:53:14.4134679Z             },
2026-06-04T12:53:14.4135108Z             {
2026-06-04T12:53:14.4135689Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T12:53:14.4136125Z               "line": 70
2026-06-04T12:53:14.4136544Z             },
2026-06-04T12:53:14.4136949Z             {
2026-06-04T12:53:14.4137555Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.4137995Z               "line": 210
2026-06-04T12:53:14.4138415Z             },
2026-06-04T12:53:14.4138829Z             {
2026-06-04T12:53:14.4139470Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:53:14.4139918Z               "line": 37
2026-06-04T12:53:14.4140326Z             },
2026-06-04T12:53:14.4140743Z             {
2026-06-04T12:53:14.4141359Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:53:14.4141807Z               "line": 38
2026-06-04T12:53:14.4142228Z             },
2026-06-04T12:53:14.4142638Z             {
2026-06-04T12:53:14.4143267Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:53:14.4143702Z               "line": 36
2026-06-04T12:53:14.4144118Z             },
2026-06-04T12:53:14.4144522Z             {
2026-06-04T12:53:14.4145118Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:53:14.4145563Z               "line": 40
2026-06-04T12:53:14.4145980Z             }
2026-06-04T12:53:14.4146396Z           ]
2026-06-04T12:53:14.4146803Z         },
2026-06-04T12:53:14.4147224Z         "int": {
2026-06-04T12:53:14.4147689Z           "complete": false,
2026-06-04T12:53:14.4148136Z           "evidence": []
2026-06-04T12:53:14.4148552Z         },
2026-06-04T12:53:14.4148966Z         "unit": {
2026-06-04T12:53:14.4149507Z           "complete": true,
2026-06-04T12:53:14.4149951Z           "evidence": [
2026-06-04T12:53:14.4150372Z             {
2026-06-04T12:53:14.4151012Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.4151466Z               "line": 179
2026-06-04T12:53:14.4151885Z             },
2026-06-04T12:53:14.4152298Z             {
2026-06-04T12:53:14.4152969Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T12:53:14.4153405Z               "line": 117
2026-06-04T12:53:14.4153828Z             },
2026-06-04T12:53:14.4154237Z             {
2026-06-04T12:53:14.4154931Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:53:14.4155383Z               "line": 344
2026-06-04T12:53:14.4155794Z             },
2026-06-04T12:53:14.4156215Z             {
2026-06-04T12:53:14.4156839Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:53:14.4157289Z               "line": 204
2026-06-04T12:53:14.4157709Z             },
2026-06-04T12:53:14.4158123Z             {
2026-06-04T12:53:14.4158765Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T12:53:14.4159240Z               "line": 147
2026-06-04T12:53:14.4159669Z             },
2026-06-04T12:53:14.4160078Z             {
2026-06-04T12:53:14.4160706Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:53:14.4161158Z               "line": 106
2026-06-04T12:53:14.4161573Z             },
2026-06-04T12:53:14.4161993Z             {
2026-06-04T12:53:14.4162574Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:53:14.4163020Z               "line": 142
2026-06-04T12:53:14.4163596Z             },
2026-06-04T12:53:14.4164028Z             {
2026-06-04T12:53:14.4164663Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:53:14.4165315Z               "line": 139
2026-06-04T12:53:14.4165742Z             },
2026-06-04T12:53:14.4166156Z             {
2026-06-04T12:53:14.4166779Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:53:14.4167212Z               "line": 126
2026-06-04T12:53:14.4167631Z             },
2026-06-04T12:53:14.4168052Z             {
2026-06-04T12:53:14.4168642Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:53:14.4169094Z               "line": 135
2026-06-04T12:53:14.4169552Z             }
2026-06-04T12:53:14.4169975Z           ]
2026-06-04T12:53:14.4170392Z         }
2026-06-04T12:53:14.4170817Z       }
2026-06-04T12:53:14.4171234Z     },
2026-06-04T12:53:14.4171641Z     {
2026-06-04T12:53:14.4176770Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T12:53:14.4177755Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T12:53:14.4178237Z       "requiredStages": [
2026-06-04T12:53:14.4178657Z         "impl",
2026-06-04T12:53:14.4179083Z         "unit"
2026-06-04T12:53:14.4179636Z       ],
2026-06-04T12:53:14.4180069Z       "stages": {
2026-06-04T12:53:14.4180493Z         "doc": {
2026-06-04T12:53:14.4180949Z           "complete": false,
2026-06-04T12:53:14.4181400Z           "evidence": []
2026-06-04T12:53:14.4181805Z         },
2026-06-04T12:53:14.4182237Z         "impl": {
2026-06-04T12:53:14.4182692Z           "complete": true,
2026-06-04T12:53:14.4183125Z           "evidence": [
2026-06-04T12:53:14.4183545Z             {
2026-06-04T12:53:14.4184137Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4184584Z               "line": 95
2026-06-04T12:53:14.4184994Z             },
2026-06-04T12:53:14.4185411Z             {
2026-06-04T12:53:14.4186009Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.4186440Z               "line": 96
2026-06-04T12:53:14.4186862Z             }
2026-06-04T12:53:14.4187273Z           ]
2026-06-04T12:53:14.4187698Z         },
2026-06-04T12:53:14.4188114Z         "int": {
2026-06-04T12:53:14.4188595Z           "complete": false,
2026-06-04T12:53:14.4189043Z           "evidence": []
2026-06-04T12:53:14.4189484Z         },
2026-06-04T12:53:14.4189915Z         "unit": {
2026-06-04T12:53:14.4190370Z           "complete": true,
2026-06-04T12:53:14.4190820Z           "evidence": [
2026-06-04T12:53:14.4191227Z             {
2026-06-04T12:53:14.4191826Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4192276Z               "line": 250
2026-06-04T12:53:14.4192691Z             },
2026-06-04T12:53:14.4193113Z             {
2026-06-04T12:53:14.4193690Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:53:14.4194138Z               "line": 139
2026-06-04T12:53:14.4194553Z             },
2026-06-04T12:53:14.4194979Z             {
2026-06-04T12:53:14.4195580Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.4196024Z               "line": 384
2026-06-04T12:53:14.4196443Z             },
2026-06-04T12:53:14.4196849Z             {
2026-06-04T12:53:14.4197444Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.4197880Z               "line": 414
2026-06-04T12:53:14.4198299Z             }
2026-06-04T12:53:14.4198718Z           ]
2026-06-04T12:53:14.4199122Z         }
2026-06-04T12:53:14.4199584Z       }
2026-06-04T12:53:14.4199985Z     },
2026-06-04T12:53:14.4200398Z     {
2026-06-04T12:53:14.4200908Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T12:53:14.4201894Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T12:53:14.4202374Z       "requiredStages": [
2026-06-04T12:53:14.4202788Z         "impl",
2026-06-04T12:53:14.4203212Z         "unit"
2026-06-04T12:53:14.4203617Z       ],
2026-06-04T12:53:14.4204045Z       "stages": {
2026-06-04T12:53:14.4204465Z         "doc": {
2026-06-04T12:53:14.4205179Z           "complete": false,
2026-06-04T12:53:14.4205655Z           "evidence": []
2026-06-04T12:53:14.4206066Z         },
2026-06-04T12:53:14.4206494Z         "impl": {
2026-06-04T12:53:14.4207121Z           "complete": true,
2026-06-04T12:53:14.4207567Z           "evidence": [
2026-06-04T12:53:14.4207979Z             {
2026-06-04T12:53:14.4208582Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.4209025Z               "line": 177
2026-06-04T12:53:14.4209475Z             },
2026-06-04T12:53:14.4209899Z             {
2026-06-04T12:53:14.4210484Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.4210940Z               "line": 222
2026-06-04T12:53:14.4211349Z             },
2026-06-04T12:53:14.4211763Z             {
2026-06-04T12:53:14.4212362Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.4212797Z               "line": 234
2026-06-04T12:53:14.4213213Z             }
2026-06-04T12:53:14.4213617Z           ]
2026-06-04T12:53:14.4214044Z         },
2026-06-04T12:53:14.4214460Z         "int": {
2026-06-04T12:53:14.4214959Z           "complete": false,
2026-06-04T12:53:14.4215411Z           "evidence": []
2026-06-04T12:53:14.4215834Z         },
2026-06-04T12:53:14.4216261Z         "unit": {
2026-06-04T12:53:14.4216712Z           "complete": true,
2026-06-04T12:53:14.4217156Z           "evidence": [
2026-06-04T12:53:14.4217563Z             {
2026-06-04T12:53:14.4218163Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.4218612Z               "line": 370
2026-06-04T12:53:14.4219022Z             },
2026-06-04T12:53:14.4219477Z             {
2026-06-04T12:53:14.4220069Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.4220520Z               "line": 399
2026-06-04T12:53:14.4220925Z             }
2026-06-04T12:53:14.4221344Z           ]
2026-06-04T12:53:14.4221757Z         }
2026-06-04T12:53:14.4222163Z       }
2026-06-04T12:53:14.4222570Z     },
2026-06-04T12:53:14.4222976Z     {
2026-06-04T12:53:14.4223454Z       "id": "REQ-INFRA-1",
2026-06-04T12:53:14.4224419Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T12:53:14.4224911Z       "requiredStages": [],
2026-06-04T12:53:14.4225460Z       "stages": {
2026-06-04T12:53:14.4225875Z         "doc": {
2026-06-04T12:53:14.4226338Z           "complete": false,
2026-06-04T12:53:14.4226776Z           "evidence": []
2026-06-04T12:53:14.4227189Z         },
2026-06-04T12:53:14.4227602Z         "impl": {
2026-06-04T12:53:14.4228067Z           "complete": false,
2026-06-04T12:53:14.4228515Z           "evidence": []
2026-06-04T12:53:14.4228924Z         },
2026-06-04T12:53:14.4229394Z         "int": {
2026-06-04T12:53:14.4229853Z           "complete": false,
2026-06-04T12:53:14.4230303Z           "evidence": []
2026-06-04T12:53:14.4230716Z         },
2026-06-04T12:53:14.4231144Z         "unit": {
2026-06-04T12:53:14.4231604Z           "complete": false,
2026-06-04T12:53:14.4232044Z           "evidence": []
2026-06-04T12:53:14.4232466Z         }
2026-06-04T12:53:14.4232873Z       }
2026-06-04T12:53:14.4233284Z     },
2026-06-04T12:53:14.4233687Z     {
2026-06-04T12:53:14.4234141Z       "id": "REQ-INST-1",
2026-06-04T12:53:14.4235001Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T12:53:14.4235473Z       "requiredStages": [],
2026-06-04T12:53:14.4235904Z       "stages": {
2026-06-04T12:53:14.4236321Z         "doc": {
2026-06-04T12:53:14.4236792Z           "complete": false,
2026-06-04T12:53:14.4237226Z           "evidence": []
2026-06-04T12:53:14.4237643Z         },
2026-06-04T12:53:14.4238071Z         "impl": {
2026-06-04T12:53:14.4238526Z           "complete": false,
2026-06-04T12:53:14.4238974Z           "evidence": []
2026-06-04T12:53:14.4239434Z         },
2026-06-04T12:53:14.4239865Z         "int": {
2026-06-04T12:53:14.4240329Z           "complete": false,
2026-06-04T12:53:14.4240791Z           "evidence": []
2026-06-04T12:53:14.4241201Z         },
2026-06-04T12:53:14.4241781Z         "unit": {
2026-06-04T12:53:14.4242264Z           "complete": false,
2026-06-04T12:53:14.4242705Z           "evidence": []
2026-06-04T12:53:14.4243124Z         }
2026-06-04T12:53:14.4243654Z       }
2026-06-04T12:53:14.4244072Z     },
2026-06-04T12:53:14.4244593Z     {
2026-06-04T12:53:14.4245053Z       "id": "REQ-INST-10",
2026-06-04T12:53:14.4246231Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T12:53:14.4246700Z       "requiredStages": [
2026-06-04T12:53:14.4247131Z         "impl",
2026-06-04T12:53:14.4247544Z         "unit"
2026-06-04T12:53:14.4247968Z       ],
2026-06-04T12:53:14.4248400Z       "stages": {
2026-06-04T12:53:14.4248814Z         "doc": {
2026-06-04T12:53:14.4249328Z           "complete": false,
2026-06-04T12:53:14.4249777Z           "evidence": []
2026-06-04T12:53:14.4250199Z         },
2026-06-04T12:53:14.4250620Z         "impl": {
2026-06-04T12:53:14.4251083Z           "complete": true,
2026-06-04T12:53:14.4251529Z           "evidence": [
2026-06-04T12:53:14.4251946Z             {
2026-06-04T12:53:14.4252595Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4253039Z               "line": 358
2026-06-04T12:53:14.4257497Z             },
2026-06-04T12:53:14.4257975Z             {
2026-06-04T12:53:14.4258637Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4259082Z               "line": 413
2026-06-04T12:53:14.4259579Z             },
2026-06-04T12:53:14.4259998Z             {
2026-06-04T12:53:14.4260584Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:53:14.4261030Z               "line": 13
2026-06-04T12:53:14.4261436Z             },
2026-06-04T12:53:14.4261855Z             {
2026-06-04T12:53:14.4262439Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:53:14.4262875Z               "line": 67
2026-06-04T12:53:14.4263293Z             },
2026-06-04T12:53:14.4263701Z             {
2026-06-04T12:53:14.4264285Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:53:14.4264827Z               "line": 18
2026-06-04T12:53:14.4265247Z             }
2026-06-04T12:53:14.4265670Z           ]
2026-06-04T12:53:14.4266085Z         },
2026-06-04T12:53:14.4266517Z         "int": {
2026-06-04T12:53:14.4266983Z           "complete": false,
2026-06-04T12:53:14.4267437Z           "evidence": []
2026-06-04T12:53:14.4267849Z         },
2026-06-04T12:53:14.4268275Z         "unit": {
2026-06-04T12:53:14.4268735Z           "complete": true,
2026-06-04T12:53:14.4269203Z           "evidence": [
2026-06-04T12:53:14.4269625Z             {
2026-06-04T12:53:14.4270261Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4270709Z               "line": 557
2026-06-04T12:53:14.4271120Z             },
2026-06-04T12:53:14.4271539Z             {
2026-06-04T12:53:14.4272187Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4272626Z               "line": 585
2026-06-04T12:53:14.4273046Z             },
2026-06-04T12:53:14.4273468Z             {
2026-06-04T12:53:14.4274105Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4274544Z               "line": 593
2026-06-04T12:53:14.4274976Z             },
2026-06-04T12:53:14.4275395Z             {
2026-06-04T12:53:14.4276022Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4276466Z               "line": 606
2026-06-04T12:53:14.4276874Z             },
2026-06-04T12:53:14.4277287Z             {
2026-06-04T12:53:14.4277923Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4278359Z               "line": 619
2026-06-04T12:53:14.4278776Z             },
2026-06-04T12:53:14.4279216Z             {
2026-06-04T12:53:14.4279860Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4280300Z               "line": 635
2026-06-04T12:53:14.4280719Z             },
2026-06-04T12:53:14.4281134Z             {
2026-06-04T12:53:14.4281966Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4282447Z               "line": 864
2026-06-04T12:53:14.4282865Z             },
2026-06-04T12:53:14.4283278Z             {
2026-06-04T12:53:14.4283985Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:53:14.4284428Z               "line": 121
2026-06-04T12:53:14.4284846Z             },
2026-06-04T12:53:14.4285255Z             {
2026-06-04T12:53:14.4285844Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:53:14.4286280Z               "line": 142
2026-06-04T12:53:14.4286696Z             },
2026-06-04T12:53:14.4287103Z             {
2026-06-04T12:53:14.4287691Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:53:14.4288140Z               "line": 150
2026-06-04T12:53:14.4288549Z             },
2026-06-04T12:53:14.4288962Z             {
2026-06-04T12:53:14.4289575Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:53:14.4290042Z               "line": 158
2026-06-04T12:53:14.4290453Z             }
2026-06-04T12:53:14.4290876Z           ]
2026-06-04T12:53:14.4291296Z         }
2026-06-04T12:53:14.4291695Z       }
2026-06-04T12:53:14.4292115Z     },
2026-06-04T12:53:14.4292566Z     {
2026-06-04T12:53:14.4293053Z       "id": "REQ-INST-11",
2026-06-04T12:53:14.4294249Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T12:53:14.4294727Z       "requiredStages": [
2026-06-04T12:53:14.4295157Z         "impl",
2026-06-04T12:53:14.4295571Z         "unit"
2026-06-04T12:53:14.4295981Z       ],
2026-06-04T12:53:14.4296403Z       "stages": {
2026-06-04T12:53:14.4296827Z         "doc": {
2026-06-04T12:53:14.4297286Z           "complete": false,
2026-06-04T12:53:14.4297740Z           "evidence": []
2026-06-04T12:53:14.4298156Z         },
2026-06-04T12:53:14.4298575Z         "impl": {
2026-06-04T12:53:14.4299039Z           "complete": true,
2026-06-04T12:53:14.4299512Z           "evidence": [
2026-06-04T12:53:14.4299933Z             {
2026-06-04T12:53:14.4300577Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4301034Z               "line": 260
2026-06-04T12:53:14.4301454Z             },
2026-06-04T12:53:14.4301880Z             {
2026-06-04T12:53:14.4302550Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.4302991Z               "line": 243
2026-06-04T12:53:14.4303408Z             },
2026-06-04T12:53:14.4303812Z             {
2026-06-04T12:53:14.4304422Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:53:14.4304865Z               "line": 59
2026-06-04T12:53:14.4305274Z             },
2026-06-04T12:53:14.4305693Z             {
2026-06-04T12:53:14.4306215Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4306662Z               "line": 915
2026-06-04T12:53:14.4307071Z             },
2026-06-04T12:53:14.4307487Z             {
2026-06-04T12:53:14.4308021Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4308459Z               "line": 1020
2026-06-04T12:53:14.4308881Z             }
2026-06-04T12:53:14.4309326Z           ]
2026-06-04T12:53:14.4309739Z         },
2026-06-04T12:53:14.4310163Z         "int": {
2026-06-04T12:53:14.4310635Z           "complete": false,
2026-06-04T12:53:14.4311093Z           "evidence": []
2026-06-04T12:53:14.4311507Z         },
2026-06-04T12:53:14.4311936Z         "unit": {
2026-06-04T12:53:14.4312386Z           "complete": true,
2026-06-04T12:53:14.4312830Z           "evidence": [
2026-06-04T12:53:14.4313238Z             {
2026-06-04T12:53:14.4313879Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4314323Z               "line": 728
2026-06-04T12:53:14.4314730Z             },
2026-06-04T12:53:14.4315148Z             {
2026-06-04T12:53:14.4315779Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4316230Z               "line": 751
2026-06-04T12:53:14.4316639Z             },
2026-06-04T12:53:14.4317059Z             {
2026-06-04T12:53:14.4317885Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.4318337Z               "line": 356
2026-06-04T12:53:14.4318751Z             },
2026-06-04T12:53:14.4319192Z             {
2026-06-04T12:53:14.4319947Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:53:14.4320407Z               "line": 156
2026-06-04T12:53:14.4320823Z             },
2026-06-04T12:53:14.4321237Z             {
2026-06-04T12:53:14.4321831Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:53:14.4322278Z               "line": 177
2026-06-04T12:53:14.4322686Z             },
2026-06-04T12:53:14.4323113Z             {
2026-06-04T12:53:14.4323712Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:53:14.4324149Z               "line": 209
2026-06-04T12:53:14.4324561Z             },
2026-06-04T12:53:14.4324974Z             {
2026-06-04T12:53:14.4325501Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4325940Z               "line": 1113
2026-06-04T12:53:14.4326357Z             }
2026-06-04T12:53:14.4326788Z           ]
2026-06-04T12:53:14.4327197Z         }
2026-06-04T12:53:14.4327609Z       }
2026-06-04T12:53:14.4328006Z     },
2026-06-04T12:53:14.4328428Z     {
2026-06-04T12:53:14.4328881Z       "id": "REQ-INST-12",
2026-06-04T12:53:14.4330625Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T12:53:14.4331118Z       "requiredStages": [
2026-06-04T12:53:14.4331537Z         "impl",
2026-06-04T12:53:14.4331964Z         "unit"
2026-06-04T12:53:14.4332370Z       ],
2026-06-04T12:53:14.4332804Z       "stages": {
2026-06-04T12:53:14.4333226Z         "doc": {
2026-06-04T12:53:14.4333693Z           "complete": false,
2026-06-04T12:53:14.4334153Z           "evidence": []
2026-06-04T12:53:14.4334575Z         },
2026-06-04T12:53:14.4338989Z         "impl": {
2026-06-04T12:53:14.4339628Z           "complete": true,
2026-06-04T12:53:14.4340085Z           "evidence": [
2026-06-04T12:53:14.4340496Z             {
2026-06-04T12:53:14.4341160Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4341620Z               "line": 312
2026-06-04T12:53:14.4342054Z             },
2026-06-04T12:53:14.4342471Z             {
2026-06-04T12:53:14.4343092Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4343543Z               "line": 369
2026-06-04T12:53:14.4343953Z             },
2026-06-04T12:53:14.4344369Z             {
2026-06-04T12:53:14.4345051Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4345493Z               "line": 427
2026-06-04T12:53:14.4345915Z             },
2026-06-04T12:53:14.4346326Z             {
2026-06-04T12:53:14.4346930Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.4347368Z               "line": 87
2026-06-04T12:53:14.4347801Z             },
2026-06-04T12:53:14.4348213Z             {
2026-06-04T12:53:14.4348803Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.4349302Z               "line": 216
2026-06-04T12:53:14.4349723Z             },
2026-06-04T12:53:14.4350145Z             {
2026-06-04T12:53:14.4350773Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4351231Z               "line": 132
2026-06-04T12:53:14.4351643Z             }
2026-06-04T12:53:14.4352050Z           ]
2026-06-04T12:53:14.4352468Z         },
2026-06-04T12:53:14.4352883Z         "int": {
2026-06-04T12:53:14.4353355Z           "complete": false,
2026-06-04T12:53:14.4353803Z           "evidence": []
2026-06-04T12:53:14.4354218Z         },
2026-06-04T12:53:14.4354645Z         "unit": {
2026-06-04T12:53:14.4355098Z           "complete": true,
2026-06-04T12:53:14.4355537Z           "evidence": [
2026-06-04T12:53:14.4355942Z             {
2026-06-04T12:53:14.4356582Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4357023Z               "line": 786
2026-06-04T12:53:14.4357447Z             },
2026-06-04T12:53:14.4357861Z             {
2026-06-04T12:53:14.4358739Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4359240Z               "line": 803
2026-06-04T12:53:14.4359651Z             },
2026-06-04T12:53:14.4360195Z             {
2026-06-04T12:53:14.4360828Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4361286Z               "line": 834
2026-06-04T12:53:14.4361706Z             },
2026-06-04T12:53:14.4362112Z             {
2026-06-04T12:53:14.4362712Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.4363154Z               "line": 350
2026-06-04T12:53:14.4363579Z             },
2026-06-04T12:53:14.4363989Z             {
2026-06-04T12:53:14.4364639Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4365093Z               "line": 169
2026-06-04T12:53:14.4365509Z             },
2026-06-04T12:53:14.4365925Z             {
2026-06-04T12:53:14.4366556Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4367012Z               "line": 181
2026-06-04T12:53:14.4367432Z             },
2026-06-04T12:53:14.4367842Z             {
2026-06-04T12:53:14.4368481Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4368934Z               "line": 198
2026-06-04T12:53:14.4369396Z             }
2026-06-04T12:53:14.4369814Z           ]
2026-06-04T12:53:14.4370232Z         }
2026-06-04T12:53:14.4370646Z       }
2026-06-04T12:53:14.4371050Z     },
2026-06-04T12:53:14.4371460Z     {
2026-06-04T12:53:14.4371917Z       "id": "REQ-INST-13",
2026-06-04T12:53:14.4372896Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T12:53:14.4373357Z       "requiredStages": [
2026-06-04T12:53:14.4373784Z         "impl",
2026-06-04T12:53:14.4374203Z         "unit"
2026-06-04T12:53:14.4374607Z       ],
2026-06-04T12:53:14.4375034Z       "stages": {
2026-06-04T12:53:14.4375551Z         "doc": {
2026-06-04T12:53:14.4376023Z           "complete": false,
2026-06-04T12:53:14.4376477Z           "evidence": []
2026-06-04T12:53:14.4376898Z         },
2026-06-04T12:53:14.4377324Z         "impl": {
2026-06-04T12:53:14.4377778Z           "complete": true,
2026-06-04T12:53:14.4378226Z           "evidence": [
2026-06-04T12:53:14.4378635Z             {
2026-06-04T12:53:14.4379255Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4379694Z               "line": 94
2026-06-04T12:53:14.4380117Z             },
2026-06-04T12:53:14.4380532Z             {
2026-06-04T12:53:14.4381177Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4381626Z               "line": 155
2026-06-04T12:53:14.4382037Z             }
2026-06-04T12:53:14.4382454Z           ]
2026-06-04T12:53:14.4382858Z         },
2026-06-04T12:53:14.4383284Z         "int": {
2026-06-04T12:53:14.4383768Z           "complete": false,
2026-06-04T12:53:14.4384209Z           "evidence": []
2026-06-04T12:53:14.4384626Z         },
2026-06-04T12:53:14.4385044Z         "unit": {
2026-06-04T12:53:14.4385513Z           "complete": true,
2026-06-04T12:53:14.4385950Z           "evidence": [
2026-06-04T12:53:14.4386367Z             {
2026-06-04T12:53:14.4387013Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4387462Z               "line": 221
2026-06-04T12:53:14.4387883Z             },
2026-06-04T12:53:14.4388294Z             {
2026-06-04T12:53:14.4388931Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:53:14.4389409Z               "line": 233
2026-06-04T12:53:14.4389827Z             }
2026-06-04T12:53:14.4390243Z           ]
2026-06-04T12:53:14.4390652Z         }
2026-06-04T12:53:14.4391069Z       }
2026-06-04T12:53:14.4391469Z     },
2026-06-04T12:53:14.4391880Z     {
2026-06-04T12:53:14.4392329Z       "id": "REQ-INST-14",
2026-06-04T12:53:14.4394539Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T12:53:14.4395031Z       "requiredStages": [],
2026-06-04T12:53:14.4395586Z       "stages": {
2026-06-04T12:53:14.4396027Z         "doc": {
2026-06-04T12:53:14.4396487Z           "complete": false,
2026-06-04T12:53:14.4397058Z           "evidence": []
2026-06-04T12:53:14.4397469Z         },
2026-06-04T12:53:14.4397895Z         "impl": {
2026-06-04T12:53:14.4398364Z           "complete": false,
2026-06-04T12:53:14.4398809Z           "evidence": []
2026-06-04T12:53:14.4399269Z         },
2026-06-04T12:53:14.4399681Z         "int": {
2026-06-04T12:53:14.4400144Z           "complete": false,
2026-06-04T12:53:14.4400587Z           "evidence": []
2026-06-04T12:53:14.4401002Z         },
2026-06-04T12:53:14.4401424Z         "unit": {
2026-06-04T12:53:14.4401880Z           "complete": false,
2026-06-04T12:53:14.4402323Z           "evidence": []
2026-06-04T12:53:14.4402729Z         }
2026-06-04T12:53:14.4403143Z       }
2026-06-04T12:53:14.4403547Z     },
2026-06-04T12:53:14.4403961Z     {
2026-06-04T12:53:14.4404418Z       "id": "REQ-INST-15",
2026-06-04T12:53:14.4408808Z       "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-04T12:53:14.4409344Z       "requiredStages": [],
2026-06-04T12:53:14.4409771Z       "stages": {
2026-06-04T12:53:14.4410190Z         "doc": {
2026-06-04T12:53:14.4410658Z           "complete": false,
2026-06-04T12:53:14.4411095Z           "evidence": []
2026-06-04T12:53:14.4411509Z         },
2026-06-04T12:53:14.4411920Z         "impl": {
2026-06-04T12:53:14.4412382Z           "complete": false,
2026-06-04T12:53:14.4412822Z           "evidence": []
2026-06-04T12:53:14.4413239Z         },
2026-06-04T12:53:14.4413649Z         "int": {
2026-06-04T12:53:14.4414108Z           "complete": false,
2026-06-04T12:53:14.4414556Z           "evidence": []
2026-06-04T12:53:14.4414960Z         },
2026-06-04T12:53:14.4415396Z         "unit": {
2026-06-04T12:53:14.4415901Z           "complete": false,
2026-06-04T12:53:14.4416345Z           "evidence": []
2026-06-04T12:53:14.4416753Z         }
2026-06-04T12:53:14.4417184Z       }
2026-06-04T12:53:14.4417601Z     },
2026-06-04T12:53:14.4418007Z     {
2026-06-04T12:53:14.4418469Z       "id": "REQ-INST-2",
2026-06-04T12:53:14.4419079Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T12:53:14.4419588Z       "requiredStages": [
2026-06-04T12:53:14.4423890Z         "impl",
2026-06-04T12:53:14.4424396Z         "unit"
2026-06-04T12:53:14.4424819Z       ],
2026-06-04T12:53:14.4425240Z       "stages": {
2026-06-04T12:53:14.4425658Z         "doc": {
2026-06-04T12:53:14.4426120Z           "complete": false,
2026-06-04T12:53:14.4426568Z           "evidence": []
2026-06-04T12:53:14.4426975Z         },
2026-06-04T12:53:14.4427401Z         "impl": {
2026-06-04T12:53:14.4427868Z           "complete": true,
2026-06-04T12:53:14.4428297Z           "evidence": [
2026-06-04T12:53:14.4428732Z             {
2026-06-04T12:53:14.4429455Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4429900Z               "line": 86
2026-06-04T12:53:14.4430323Z             },
2026-06-04T12:53:14.4430740Z             {
2026-06-04T12:53:14.4431325Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.4431754Z               "line": 28
2026-06-04T12:53:14.4432169Z             },
2026-06-04T12:53:14.4432577Z             {
2026-06-04T12:53:14.4433167Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.4433600Z               "line": 74
2026-06-04T12:53:14.4434028Z             },
2026-06-04T12:53:14.4434440Z             {
2026-06-04T12:53:14.4435015Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.4435448Z               "line": 96
2026-06-04T12:53:14.4435852Z             },
2026-06-04T12:53:14.4436259Z             {
2026-06-04T12:53:14.4436831Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:53:14.4437484Z               "line": 81
2026-06-04T12:53:14.4437924Z             },
2026-06-04T12:53:14.4438330Z             {
2026-06-04T12:53:14.4438928Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:53:14.4439543Z               "line": 118
2026-06-04T12:53:14.4439962Z             }
2026-06-04T12:53:14.4440379Z           ]
2026-06-04T12:53:14.4440784Z         },
2026-06-04T12:53:14.4441205Z         "int": {
2026-06-04T12:53:14.4441664Z           "complete": false,
2026-06-04T12:53:14.4442113Z           "evidence": []
2026-06-04T12:53:14.4442516Z         },
2026-06-04T12:53:14.4442939Z         "unit": {
2026-06-04T12:53:14.4443384Z           "complete": true,
2026-06-04T12:53:14.4443835Z           "evidence": [
2026-06-04T12:53:14.4444243Z             {
2026-06-04T12:53:14.4444821Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:53:14.4445260Z               "line": 203
2026-06-04T12:53:14.4445663Z             },
2026-06-04T12:53:14.4446074Z             {
2026-06-04T12:53:14.4446672Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:53:14.4447108Z               "line": 232
2026-06-04T12:53:14.4447518Z             }
2026-06-04T12:53:14.4447931Z           ]
2026-06-04T12:53:14.4448339Z         }
2026-06-04T12:53:14.4448741Z       }
2026-06-04T12:53:14.4449192Z     },
2026-06-04T12:53:14.4449594Z     {
2026-06-04T12:53:14.4450050Z       "id": "REQ-INST-3",
2026-06-04T12:53:14.4450820Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T12:53:14.4451279Z       "requiredStages": [
2026-06-04T12:53:14.4451699Z         "doc",
2026-06-04T12:53:14.4452119Z         "impl",
2026-06-04T12:53:14.4452538Z         "unit"
2026-06-04T12:53:14.4452941Z       ],
2026-06-04T12:53:14.4453362Z       "stages": {
2026-06-04T12:53:14.4453780Z         "doc": {
2026-06-04T12:53:14.4454226Z           "complete": true,
2026-06-04T12:53:14.4454668Z           "evidence": [
2026-06-04T12:53:14.4455072Z             {
2026-06-04T12:53:14.4455630Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-04T12:53:14.4456051Z               "line": 3
2026-06-04T12:53:14.4456465Z             }
2026-06-04T12:53:14.4456877Z           ]
2026-06-04T12:53:14.4457286Z         },
2026-06-04T12:53:14.4457710Z         "impl": {
2026-06-04T12:53:14.4458149Z           "complete": true,
2026-06-04T12:53:14.4458588Z           "evidence": [
2026-06-04T12:53:14.4458997Z             {
2026-06-04T12:53:14.4459634Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:53:14.4460067Z               "line": 70
2026-06-04T12:53:14.4460470Z             },
2026-06-04T12:53:14.4460878Z             {
2026-06-04T12:53:14.4461489Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.4461923Z               "line": 385
2026-06-04T12:53:14.4462336Z             },
2026-06-04T12:53:14.4462735Z             {
2026-06-04T12:53:14.4463368Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4463802Z               "line": 197
2026-06-04T12:53:14.4464224Z             },
2026-06-04T12:53:14.4464628Z             {
2026-06-04T12:53:14.4465257Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4465707Z               "line": 272
2026-06-04T12:53:14.4466111Z             },
2026-06-04T12:53:14.4466524Z             {
2026-06-04T12:53:14.4467143Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4467587Z               "line": 293
2026-06-04T12:53:14.4467991Z             },
2026-06-04T12:53:14.4468404Z             {
2026-06-04T12:53:14.4469038Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:53:14.4469506Z               "line": 234
2026-06-04T12:53:14.4469922Z             },
2026-06-04T12:53:14.4470324Z             {
2026-06-04T12:53:14.4470989Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4471421Z               "line": 147
2026-06-04T12:53:14.4471834Z             },
2026-06-04T12:53:14.4472246Z             {
2026-06-04T12:53:14.4473032Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4473491Z               "line": 214
2026-06-04T12:53:14.4473898Z             },
2026-06-04T12:53:14.4474434Z             {
2026-06-04T12:53:14.4475044Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4475482Z               "line": 44
2026-06-04T12:53:14.4475903Z             },
2026-06-04T12:53:14.4476306Z             {
2026-06-04T12:53:14.4476925Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4477360Z               "line": 113
2026-06-04T12:53:14.4477778Z             },
2026-06-04T12:53:14.4478181Z             {
2026-06-04T12:53:14.4478795Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4479273Z               "line": 151
2026-06-04T12:53:14.4479681Z             },
2026-06-04T12:53:14.4480087Z             {
2026-06-04T12:53:14.4480692Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4481147Z               "line": 167
2026-06-04T12:53:14.4481558Z             },
2026-06-04T12:53:14.4481970Z             {
2026-06-04T12:53:14.4482586Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4483032Z               "line": 177
2026-06-04T12:53:14.4483451Z             },
2026-06-04T12:53:14.4483855Z             {
2026-06-04T12:53:14.4484466Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4484902Z               "line": 209
2026-06-04T12:53:14.4485309Z             },
2026-06-04T12:53:14.4485726Z             {
2026-06-04T12:53:14.4486326Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4486766Z               "line": 282
2026-06-04T12:53:14.4487172Z             },
2026-06-04T12:53:14.4487580Z             {
2026-06-04T12:53:14.4488193Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4488627Z               "line": 306
2026-06-04T12:53:14.4489037Z             },
2026-06-04T12:53:14.4489469Z             {
2026-06-04T12:53:14.4490097Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4490532Z               "line": 346
2026-06-04T12:53:14.4490941Z             },
2026-06-04T12:53:14.4491365Z             {
2026-06-04T12:53:14.4491971Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4492415Z               "line": 361
2026-06-04T12:53:14.4492821Z             },
2026-06-04T12:53:14.4493233Z             {
2026-06-04T12:53:14.4493846Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-04T12:53:14.4494276Z               "line": 37
2026-06-04T12:53:14.4494686Z             },
2026-06-04T12:53:14.4495093Z             {
2026-06-04T12:53:14.4495722Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4496146Z               "line": 62
2026-06-04T12:53:14.4496560Z             },
2026-06-04T12:53:14.4496961Z             {
2026-06-04T12:53:14.4497536Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.4497988Z               "line": 156
2026-06-04T12:53:14.4498404Z             },
2026-06-04T12:53:14.4498822Z             {
2026-06-04T12:53:14.4503149Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4503693Z               "line": 332
2026-06-04T12:53:14.4504108Z             }
2026-06-04T12:53:14.4504523Z           ]
2026-06-04T12:53:14.4504934Z         },
2026-06-04T12:53:14.4505346Z         "int": {
2026-06-04T12:53:14.4505812Z           "complete": false,
2026-06-04T12:53:14.4506251Z           "evidence": []
2026-06-04T12:53:14.4506661Z         },
2026-06-04T12:53:14.4507076Z         "unit": {
2026-06-04T12:53:14.4507538Z           "complete": true,
2026-06-04T12:53:14.4507978Z           "evidence": [
2026-06-04T12:53:14.4508382Z             {
2026-06-04T12:53:14.4509005Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.4509520Z               "line": 292
2026-06-04T12:53:14.4509945Z             },
2026-06-04T12:53:14.4510350Z             {
2026-06-04T12:53:14.4511237Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4511710Z               "line": 610
2026-06-04T12:53:14.4512129Z             },
2026-06-04T12:53:14.4512667Z             {
2026-06-04T12:53:14.4513298Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4513745Z               "line": 661
2026-06-04T12:53:14.4514152Z             },
2026-06-04T12:53:14.4514562Z             {
2026-06-04T12:53:14.4515227Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4515666Z               "line": 365
2026-06-04T12:53:14.4516075Z             },
2026-06-04T12:53:14.4516476Z             {
2026-06-04T12:53:14.4517141Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4517583Z               "line": 412
2026-06-04T12:53:14.4517985Z             },
2026-06-04T12:53:14.4518397Z             {
2026-06-04T12:53:14.4519006Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4519493Z               "line": 372
2026-06-04T12:53:14.4519907Z             },
2026-06-04T12:53:14.4520317Z             {
2026-06-04T12:53:14.4520934Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4521382Z               "line": 401
2026-06-04T12:53:14.4521796Z             },
2026-06-04T12:53:14.4522198Z             {
2026-06-04T12:53:14.4522807Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4523245Z               "line": 434
2026-06-04T12:53:14.4523658Z             },
2026-06-04T12:53:14.4524067Z             {
2026-06-04T12:53:14.4524680Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4525121Z               "line": 542
2026-06-04T12:53:14.4525525Z             },
2026-06-04T12:53:14.4525938Z             {
2026-06-04T12:53:14.4526548Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4526988Z               "line": 621
2026-06-04T12:53:14.4527400Z             },
2026-06-04T12:53:14.4527804Z             {
2026-06-04T12:53:14.4528427Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4528862Z               "line": 635
2026-06-04T12:53:14.4529312Z             },
2026-06-04T12:53:14.4529729Z             {
2026-06-04T12:53:14.4530360Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4530806Z               "line": 566
2026-06-04T12:53:14.4531217Z             },
2026-06-04T12:53:14.4531630Z             {
2026-06-04T12:53:14.4532199Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.4532640Z               "line": 327
2026-06-04T12:53:14.4533043Z             },
2026-06-04T12:53:14.4533452Z             {
2026-06-04T12:53:14.4533982Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4534418Z               "line": 1116
2026-06-04T12:53:14.4534865Z             }
2026-06-04T12:53:14.4535265Z           ]
2026-06-04T12:53:14.4535672Z         }
2026-06-04T12:53:14.4536070Z       }
2026-06-04T12:53:14.4536469Z     },
2026-06-04T12:53:14.4536886Z     {
2026-06-04T12:53:14.4537330Z       "id": "REQ-INST-4",
2026-06-04T12:53:14.4538262Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T12:53:14.4538731Z       "requiredStages": [
2026-06-04T12:53:14.4539151Z         "impl",
2026-06-04T12:53:14.4539595Z         "unit"
2026-06-04T12:53:14.4540010Z       ],
2026-06-04T12:53:14.4540434Z       "stages": {
2026-06-04T12:53:14.4540844Z         "doc": {
2026-06-04T12:53:14.4541301Z           "complete": false,
2026-06-04T12:53:14.4541739Z           "evidence": []
2026-06-04T12:53:14.4542147Z         },
2026-06-04T12:53:14.4542563Z         "impl": {
2026-06-04T12:53:14.4543019Z           "complete": true,
2026-06-04T12:53:14.4543454Z           "evidence": [
2026-06-04T12:53:14.4543858Z             {
2026-06-04T12:53:14.4544490Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4544921Z               "line": 273
2026-06-04T12:53:14.4545332Z             },
2026-06-04T12:53:14.4545878Z             {
2026-06-04T12:53:14.4546515Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4546956Z               "line": 201
2026-06-04T12:53:14.4547494Z             },
2026-06-04T12:53:14.4547908Z             {
2026-06-04T12:53:14.4548524Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4548965Z               "line": 233
2026-06-04T12:53:14.4549418Z             },
2026-06-04T12:53:14.4549844Z             {
2026-06-04T12:53:14.4550468Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4550900Z               "line": 269
2026-06-04T12:53:14.4551311Z             }
2026-06-04T12:53:14.4551711Z           ]
2026-06-04T12:53:14.4552127Z         },
2026-06-04T12:53:14.4552534Z         "int": {
2026-06-04T12:53:14.4552991Z           "complete": false,
2026-06-04T12:53:14.4553433Z           "evidence": []
2026-06-04T12:53:14.4553838Z         },
2026-06-04T12:53:14.4554258Z         "unit": {
2026-06-04T12:53:14.4554713Z           "complete": true,
2026-06-04T12:53:14.4555152Z           "evidence": [
2026-06-04T12:53:14.4555555Z             {
2026-06-04T12:53:14.4556195Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.4556651Z               "line": 656
2026-06-04T12:53:14.4557061Z             },
2026-06-04T12:53:14.4557474Z             {
2026-06-04T12:53:14.4558083Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4558520Z               "line": 452
2026-06-04T12:53:14.4558931Z             },
2026-06-04T12:53:14.4559371Z             {
2026-06-04T12:53:14.4559996Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4560428Z               "line": 517
2026-06-04T12:53:14.4560846Z             },
2026-06-04T12:53:14.4561243Z             {
2026-06-04T12:53:14.4561859Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:53:14.4562296Z               "line": 584
2026-06-04T12:53:14.4562699Z             }
2026-06-04T12:53:14.4563110Z           ]
2026-06-04T12:53:14.4563523Z         }
2026-06-04T12:53:14.4563931Z       }
2026-06-04T12:53:14.4564323Z     },
2026-06-04T12:53:14.4564726Z     {
2026-06-04T12:53:14.4565184Z       "id": "REQ-INST-5",
2026-06-04T12:53:14.4566141Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T12:53:14.4566610Z       "requiredStages": [
2026-06-04T12:53:14.4567023Z         "impl",
2026-06-04T12:53:14.4567434Z         "unit"
2026-06-04T12:53:14.4567841Z       ],
2026-06-04T12:53:14.4568264Z       "stages": {
2026-06-04T12:53:14.4568684Z         "doc": {
2026-06-04T12:53:14.4569138Z           "complete": false,
2026-06-04T12:53:14.4569610Z           "evidence": []
2026-06-04T12:53:14.4570017Z         },
2026-06-04T12:53:14.4570431Z         "impl": {
2026-06-04T12:53:14.4570879Z           "complete": true,
2026-06-04T12:53:14.4571325Z           "evidence": [
2026-06-04T12:53:14.4571739Z             {
2026-06-04T12:53:14.4572369Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:53:14.4572812Z               "line": 39
2026-06-04T12:53:14.4573221Z             },
2026-06-04T12:53:14.4573627Z             {
2026-06-04T12:53:14.4574287Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4574733Z               "line": 68
2026-06-04T12:53:14.4575146Z             },
2026-06-04T12:53:14.4575555Z             {
2026-06-04T12:53:14.4576137Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4576563Z               "line": 93
2026-06-04T12:53:14.4576986Z             },
2026-06-04T12:53:14.4577391Z             {
2026-06-04T12:53:14.4577977Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4578422Z               "line": 160
2026-06-04T12:53:14.4582677Z             },
2026-06-04T12:53:14.4583176Z             {
2026-06-04T12:53:14.4583777Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4584225Z               "line": 271
2026-06-04T12:53:14.4584627Z             }
2026-06-04T12:53:14.4585296Z           ]
2026-06-04T12:53:14.4585748Z         },
2026-06-04T12:53:14.4586171Z         "int": {
2026-06-04T12:53:14.4586629Z           "complete": true,
2026-06-04T12:53:14.4587284Z           "evidence": [
2026-06-04T12:53:14.4587948Z             {
2026-06-04T12:53:14.4588769Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.4589450Z               "line": 142
2026-06-04T12:53:14.4589972Z             },
2026-06-04T12:53:14.4590855Z             {
2026-06-04T12:53:14.4592027Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T12:53:14.4592519Z               "line": 102
2026-06-04T12:53:14.4592970Z             }
2026-06-04T12:53:14.4593399Z           ]
2026-06-04T12:53:14.4593841Z         },
2026-06-04T12:53:14.4594283Z         "unit": {
2026-06-04T12:53:14.4594750Z           "complete": true,
2026-06-04T12:53:14.4595217Z           "evidence": [
2026-06-04T12:53:14.4595642Z             {
2026-06-04T12:53:14.4596287Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4596749Z               "line": 461
2026-06-04T12:53:14.4597187Z             },
2026-06-04T12:53:14.4597615Z             {
2026-06-04T12:53:14.4598277Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.4598754Z               "line": 495
2026-06-04T12:53:14.4599255Z             },
2026-06-04T12:53:14.4599843Z             {
2026-06-04T12:53:14.4600451Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:53:14.4600902Z               "line": 199
2026-06-04T12:53:14.4601317Z             }
2026-06-04T12:53:14.4601722Z           ]
2026-06-04T12:53:14.4602137Z         }
2026-06-04T12:53:14.4602542Z       }
2026-06-04T12:53:14.4602960Z     },
2026-06-04T12:53:14.4603365Z     {
2026-06-04T12:53:14.4603825Z       "id": "REQ-INST-6",
2026-06-04T12:53:14.4604835Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T12:53:14.4605310Z       "requiredStages": [],
2026-06-04T12:53:14.4605741Z       "stages": {
2026-06-04T12:53:14.4606173Z         "doc": {
2026-06-04T12:53:14.4606642Z           "complete": false,
2026-06-04T12:53:14.4607080Z           "evidence": []
2026-06-04T12:53:14.4607512Z         },
2026-06-04T12:53:14.4607943Z         "impl": {
2026-06-04T12:53:14.4608399Z           "complete": false,
2026-06-04T12:53:14.4608852Z           "evidence": []
2026-06-04T12:53:14.4609300Z         },
2026-06-04T12:53:14.4609915Z         "int": {
2026-06-04T12:53:14.4610389Z           "complete": false,
2026-06-04T12:53:14.4610853Z           "evidence": []
2026-06-04T12:53:14.4611285Z         },
2026-06-04T12:53:14.4611721Z         "unit": {
2026-06-04T12:53:14.4612196Z           "complete": false,
2026-06-04T12:53:14.4612653Z           "evidence": []
2026-06-04T12:53:14.4613083Z         }
2026-06-04T12:53:14.4613502Z       }
2026-06-04T12:53:14.4613932Z     },
2026-06-04T12:53:14.4614359Z     {
2026-06-04T12:53:14.4614824Z       "id": "REQ-INST-7",
2026-06-04T12:53:14.4615592Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T12:53:14.4616075Z       "requiredStages": [
2026-06-04T12:53:14.4616520Z         "impl",
2026-06-04T12:53:14.4617101Z         "unit"
2026-06-04T12:53:14.4617541Z       ],
2026-06-04T12:53:14.4617973Z       "stages": {
2026-06-04T12:53:14.4618389Z         "doc": {
2026-06-04T12:53:14.4618847Z           "complete": false,
2026-06-04T12:53:14.4619320Z           "evidence": []
2026-06-04T12:53:14.4619740Z         },
2026-06-04T12:53:14.4620161Z         "impl": {
2026-06-04T12:53:14.4620620Z           "complete": true,
2026-06-04T12:53:14.4621066Z           "evidence": [
2026-06-04T12:53:14.4621473Z             {
2026-06-04T12:53:14.4622113Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.4622560Z               "line": 361
2026-06-04T12:53:14.4623182Z             },
2026-06-04T12:53:14.4623771Z             {
2026-06-04T12:53:14.4624554Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:53:14.4625052Z               "line": 40
2026-06-04T12:53:14.4625851Z             },
2026-06-04T12:53:14.4626364Z             {
2026-06-04T12:53:14.4627170Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4627857Z               "line": 27
2026-06-04T12:53:14.4628321Z             },
2026-06-04T12:53:14.4628789Z             {
2026-06-04T12:53:14.4629572Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4630072Z               "line": 120
2026-06-04T12:53:14.4630510Z             },
2026-06-04T12:53:14.4631015Z             {
2026-06-04T12:53:14.4631758Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4632275Z               "line": 197
2026-06-04T12:53:14.4632760Z             },
2026-06-04T12:53:14.4633228Z             {
2026-06-04T12:53:14.4633938Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T12:53:14.4634423Z               "line": 56
2026-06-04T12:53:14.4634872Z             },
2026-06-04T12:53:14.4635325Z             {
2026-06-04T12:53:14.4636099Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4636581Z               "line": 41
2026-06-04T12:53:14.4637069Z             },
2026-06-04T12:53:14.4637522Z             {
2026-06-04T12:53:14.4638278Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.4638792Z               "line": 27
2026-06-04T12:53:14.4639329Z             },
2026-06-04T12:53:14.4639841Z             {
2026-06-04T12:53:14.4640720Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.4641223Z               "line": 59
2026-06-04T12:53:14.4641842Z             },
2026-06-04T12:53:14.4642381Z             {
2026-06-04T12:53:14.4643194Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.4643712Z               "line": 68
2026-06-04T12:53:14.4644294Z             },
2026-06-04T12:53:14.4644709Z             {
2026-06-04T12:53:14.4645344Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:53:14.4645809Z               "line": 129
2026-06-04T12:53:14.4646227Z             }
2026-06-04T12:53:14.4646718Z           ]
2026-06-04T12:53:14.4647439Z         },
2026-06-04T12:53:14.4647889Z         "int": {
2026-06-04T12:53:14.4648354Z           "complete": true,
2026-06-04T12:53:14.4648808Z           "evidence": [
2026-06-04T12:53:14.4649332Z             {
2026-06-04T12:53:14.4650021Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T12:53:14.4650472Z               "line": 102
2026-06-04T12:53:14.4650885Z             }
2026-06-04T12:53:14.4651307Z           ]
2026-06-04T12:53:14.4651716Z         },
2026-06-04T12:53:14.4652149Z         "unit": {
2026-06-04T12:53:14.4652608Z           "complete": true,
2026-06-04T12:53:14.4653057Z           "evidence": [
2026-06-04T12:53:14.4653485Z             {
2026-06-04T12:53:14.4654161Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4654614Z               "line": 342
2026-06-04T12:53:14.4655025Z             },
2026-06-04T12:53:14.4655455Z             {
2026-06-04T12:53:14.4656137Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:53:14.4656592Z               "line": 458
2026-06-04T12:53:14.4657027Z             },
2026-06-04T12:53:14.4657583Z             {
2026-06-04T12:53:14.4658286Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T12:53:14.4658741Z               "line": 83
2026-06-04T12:53:14.4659210Z             },
2026-06-04T12:53:14.4659799Z             {
2026-06-04T12:53:14.4660442Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4660901Z               "line": 482
2026-06-04T12:53:14.4661320Z             },
2026-06-04T12:53:14.4661747Z             {
2026-06-04T12:53:14.4662388Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4669148Z               "line": 493
2026-06-04T12:53:14.4669793Z             },
2026-06-04T12:53:14.4670222Z             {
2026-06-04T12:53:14.4671314Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4671817Z               "line": 502
2026-06-04T12:53:14.4672236Z             },
2026-06-04T12:53:14.4672656Z             {
2026-06-04T12:53:14.4673510Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.4673968Z               "line": 90
2026-06-04T12:53:14.4674393Z             },
2026-06-04T12:53:14.4674799Z             {
2026-06-04T12:53:14.4675458Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.4675902Z               "line": 105
2026-06-04T12:53:14.4676331Z             },
2026-06-04T12:53:14.4676735Z             {
2026-06-04T12:53:14.4677390Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:53:14.4677839Z               "line": 131
2026-06-04T12:53:14.4678258Z             }
2026-06-04T12:53:14.4678679Z           ]
2026-06-04T12:53:14.4679092Z         }
2026-06-04T12:53:14.4679559Z       }
2026-06-04T12:53:14.4679968Z     },
2026-06-04T12:53:14.4680379Z     {
2026-06-04T12:53:14.4680856Z       "id": "REQ-INST-8",
2026-06-04T12:53:14.4681658Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T12:53:14.4682146Z       "requiredStages": [
2026-06-04T12:53:14.4682569Z         "impl",
2026-06-04T12:53:14.4682997Z         "unit"
2026-06-04T12:53:14.4683411Z       ],
2026-06-04T12:53:14.4683844Z       "stages": {
2026-06-04T12:53:14.4684272Z         "doc": {
2026-06-04T12:53:14.4684725Z           "complete": false,
2026-06-04T12:53:14.4685175Z           "evidence": []
2026-06-04T12:53:14.4685588Z         },
2026-06-04T12:53:14.4686011Z         "impl": {
2026-06-04T12:53:14.4686464Z           "complete": true,
2026-06-04T12:53:14.4686912Z           "evidence": [
2026-06-04T12:53:14.4687334Z             {
2026-06-04T12:53:14.4687955Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:53:14.4688395Z               "line": 98
2026-06-04T12:53:14.4688802Z             },
2026-06-04T12:53:14.4689257Z             {
2026-06-04T12:53:14.4689879Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:53:14.4690335Z               "line": 202
2026-06-04T12:53:14.4690761Z             },
2026-06-04T12:53:14.4691176Z             {
2026-06-04T12:53:14.4691796Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:53:14.4692239Z               "line": 220
2026-06-04T12:53:14.4692663Z             },
2026-06-04T12:53:14.4693068Z             {
2026-06-04T12:53:14.4693700Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T12:53:14.4694277Z               "line": 35
2026-06-04T12:53:14.4694707Z             }
2026-06-04T12:53:14.4695606Z           ]
2026-06-04T12:53:14.4696069Z         },
2026-06-04T12:53:14.4696566Z         "int": {
2026-06-04T12:53:14.4697082Z           "complete": true,
2026-06-04T12:53:14.4697886Z           "evidence": [
2026-06-04T12:53:14.4698371Z             {
2026-06-04T12:53:14.4699122Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.4699865Z               "line": 375
2026-06-04T12:53:14.4700316Z             }
2026-06-04T12:53:14.4700751Z           ]
2026-06-04T12:53:14.4701163Z         },
2026-06-04T12:53:14.4701602Z         "unit": {
2026-06-04T12:53:14.4702084Z           "complete": true,
2026-06-04T12:53:14.4702527Z           "evidence": [
2026-06-04T12:53:14.4702953Z             {
2026-06-04T12:53:14.4703585Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:53:14.4704039Z               "line": 172
2026-06-04T12:53:14.4704468Z             },
2026-06-04T12:53:14.4704877Z             {
2026-06-04T12:53:14.4705509Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:53:14.4705953Z               "line": 226
2026-06-04T12:53:14.4706376Z             },
2026-06-04T12:53:14.4706788Z             {
2026-06-04T12:53:14.4707417Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T12:53:14.4707865Z               "line": 70
2026-06-04T12:53:14.4708276Z             },
2026-06-04T12:53:14.4708701Z             {
2026-06-04T12:53:14.4709563Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T12:53:14.4710054Z               "line": 101
2026-06-04T12:53:14.4710618Z             }
2026-06-04T12:53:14.4711039Z           ]
2026-06-04T12:53:14.4711462Z         }
2026-06-04T12:53:14.4711871Z       }
2026-06-04T12:53:14.4712290Z     },
2026-06-04T12:53:14.4712695Z     {
2026-06-04T12:53:14.4713160Z       "id": "REQ-INST-9",
2026-06-04T12:53:14.4714166Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T12:53:14.4714647Z       "requiredStages": [
2026-06-04T12:53:14.4715076Z         "impl",
2026-06-04T12:53:14.4715497Z         "unit"
2026-06-04T12:53:14.4715916Z       ],
2026-06-04T12:53:14.4716347Z       "stages": {
2026-06-04T12:53:14.4716774Z         "doc": {
2026-06-04T12:53:14.4717240Z           "complete": false,
2026-06-04T12:53:14.4717699Z           "evidence": []
2026-06-04T12:53:14.4718127Z         },
2026-06-04T12:53:14.4718559Z         "impl": {
2026-06-04T12:53:14.4719033Z           "complete": true,
2026-06-04T12:53:14.4719544Z           "evidence": [
2026-06-04T12:53:14.4719973Z             {
2026-06-04T12:53:14.4720622Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4721079Z               "line": 198
2026-06-04T12:53:14.4721502Z             }
2026-06-04T12:53:14.4721912Z           ]
2026-06-04T12:53:14.4722342Z         },
2026-06-04T12:53:14.4722761Z         "int": {
2026-06-04T12:53:14.4723240Z           "complete": false,
2026-06-04T12:53:14.4723685Z           "evidence": []
2026-06-04T12:53:14.4724121Z         },
2026-06-04T12:53:14.4724554Z         "unit": {
2026-06-04T12:53:14.4725010Z           "complete": true,
2026-06-04T12:53:14.4725459Z           "evidence": [
2026-06-04T12:53:14.4725873Z             {
2026-06-04T12:53:14.4726515Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4726994Z               "line": 652
2026-06-04T12:53:14.4727421Z             },
2026-06-04T12:53:14.4727851Z             {
2026-06-04T12:53:14.4728489Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4728944Z               "line": 661
2026-06-04T12:53:14.4729404Z             },
2026-06-04T12:53:14.4729827Z             {
2026-06-04T12:53:14.4730459Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4730910Z               "line": 675
2026-06-04T12:53:14.4731341Z             },
2026-06-04T12:53:14.4731748Z             {
2026-06-04T12:53:14.4732396Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4732838Z               "line": 685
2026-06-04T12:53:14.4733270Z             },
2026-06-04T12:53:14.4733677Z             {
2026-06-04T12:53:14.4734318Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:53:14.4734773Z               "line": 704
2026-06-04T12:53:14.4735181Z             }
2026-06-04T12:53:14.4735603Z           ]
2026-06-04T12:53:14.4736013Z         }
2026-06-04T12:53:14.4736434Z       }
2026-06-04T12:53:14.4736848Z     },
2026-06-04T12:53:14.4737271Z     {
2026-06-04T12:53:14.4737748Z       "id": "REQ-INSTALL-1",
2026-06-04T12:53:14.4738804Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T12:53:14.4739335Z       "requiredStages": [],
2026-06-04T12:53:14.4739768Z       "stages": {
2026-06-04T12:53:14.4740199Z         "doc": {
2026-06-04T12:53:14.4740662Z           "complete": false,
2026-06-04T12:53:14.4741115Z           "evidence": []
2026-06-04T12:53:14.4741531Z         },
2026-06-04T12:53:14.4741952Z         "impl": {
2026-06-04T12:53:14.4742419Z           "complete": false,
2026-06-04T12:53:14.4742864Z           "evidence": []
2026-06-04T12:53:14.4743287Z         },
2026-06-04T12:53:14.4743705Z         "int": {
2026-06-04T12:53:14.4744175Z           "complete": false,
2026-06-04T12:53:14.4744635Z           "evidence": []
2026-06-04T12:53:14.4745042Z         },
2026-06-04T12:53:14.4745474Z         "unit": {
2026-06-04T12:53:14.4746127Z           "complete": false,
2026-06-04T12:53:14.4746595Z           "evidence": []
2026-06-04T12:53:14.4752546Z         }
2026-06-04T12:53:14.4753091Z       }
2026-06-04T12:53:14.4753778Z     },
2026-06-04T12:53:14.4754190Z     {
2026-06-04T12:53:14.4754678Z       "id": "REQ-INSTALL-2",
2026-06-04T12:53:14.4755462Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T12:53:14.4755943Z       "requiredStages": [],
2026-06-04T12:53:14.4756370Z       "stages": {
2026-06-04T12:53:14.4756799Z         "doc": {
2026-06-04T12:53:14.4757269Z           "complete": false,
2026-06-04T12:53:14.4757717Z           "evidence": []
2026-06-04T12:53:14.4758140Z         },
2026-06-04T12:53:14.4758569Z         "impl": {
2026-06-04T12:53:14.4759045Z           "complete": false,
2026-06-04T12:53:14.4759560Z           "evidence": []
2026-06-04T12:53:14.4759989Z         },
2026-06-04T12:53:14.4760417Z         "int": {
2026-06-04T12:53:14.4760876Z           "complete": false,
2026-06-04T12:53:14.4761326Z           "evidence": []
2026-06-04T12:53:14.4761750Z         },
2026-06-04T12:53:14.4762185Z         "unit": {
2026-06-04T12:53:14.4762647Z           "complete": false,
2026-06-04T12:53:14.4763103Z           "evidence": []
2026-06-04T12:53:14.4763535Z         }
2026-06-04T12:53:14.4763948Z       }
2026-06-04T12:53:14.4764370Z     },
2026-06-04T12:53:14.4764778Z     {
2026-06-04T12:53:14.4765255Z       "id": "REQ-INSTALL-3",
2026-06-04T12:53:14.4766000Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T12:53:14.4766482Z       "requiredStages": [],
2026-06-04T12:53:14.4766915Z       "stages": {
2026-06-04T12:53:14.4767334Z         "doc": {
2026-06-04T12:53:14.4767800Z           "complete": false,
2026-06-04T12:53:14.4768241Z           "evidence": []
2026-06-04T12:53:14.4768674Z         },
2026-06-04T12:53:14.4769098Z         "impl": {
2026-06-04T12:53:14.4769610Z           "complete": false,
2026-06-04T12:53:14.4770065Z           "evidence": []
2026-06-04T12:53:14.4770471Z         },
2026-06-04T12:53:14.4770903Z         "int": {
2026-06-04T12:53:14.4771360Z           "complete": false,
2026-06-04T12:53:14.4771815Z           "evidence": []
2026-06-04T12:53:14.4772226Z         },
2026-06-04T12:53:14.4772667Z         "unit": {
2026-06-04T12:53:14.4773121Z           "complete": false,
2026-06-04T12:53:14.4773580Z           "evidence": []
2026-06-04T12:53:14.4774001Z         }
2026-06-04T12:53:14.4774405Z       }
2026-06-04T12:53:14.4774820Z     },
2026-06-04T12:53:14.4775225Z     {
2026-06-04T12:53:14.4775703Z       "id": "REQ-INSTALL-4",
2026-06-04T12:53:14.4779808Z       "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-04T12:53:14.4780292Z       "requiredStages": [],
2026-06-04T12:53:14.4780728Z       "stages": {
2026-06-04T12:53:14.4781146Z         "doc": {
2026-06-04T12:53:14.4781617Z           "complete": false,
2026-06-04T12:53:14.4782066Z           "evidence": []
2026-06-04T12:53:14.4782484Z         },
2026-06-04T12:53:14.4782919Z         "impl": {
2026-06-04T12:53:14.4783383Z           "complete": false,
2026-06-04T12:53:14.4783846Z           "evidence": []
2026-06-04T12:53:14.4784254Z         },
2026-06-04T12:53:14.4784687Z         "int": {
2026-06-04T12:53:14.4785143Z           "complete": false,
2026-06-04T12:53:14.4785593Z           "evidence": []
2026-06-04T12:53:14.4786010Z         },
2026-06-04T12:53:14.4786429Z         "unit": {
2026-06-04T12:53:14.4786923Z           "complete": false,
2026-06-04T12:53:14.4787559Z           "evidence": []
2026-06-04T12:53:14.4788043Z         }
2026-06-04T12:53:14.4788529Z       }
2026-06-04T12:53:14.4789132Z     },
2026-06-04T12:53:14.4789605Z     {
2026-06-04T12:53:14.4790089Z       "id": "REQ-MANIFEST-1",
2026-06-04T12:53:14.4791290Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T12:53:14.4791801Z       "requiredStages": [
2026-06-04T12:53:14.4792641Z         "doc",
2026-06-04T12:53:14.4793102Z         "impl",
2026-06-04T12:53:14.4793559Z         "unit"
2026-06-04T12:53:14.4793987Z       ],
2026-06-04T12:53:14.4794621Z       "stages": {
2026-06-04T12:53:14.4795054Z         "doc": {
2026-06-04T12:53:14.4795511Z           "complete": true,
2026-06-04T12:53:14.4796058Z           "evidence": [
2026-06-04T12:53:14.4796467Z             {
2026-06-04T12:53:14.4796980Z               "path": "docs/MANIFEST.md",
2026-06-04T12:53:14.4797428Z               "line": 19
2026-06-04T12:53:14.4797837Z             }
2026-06-04T12:53:14.4798260Z           ]
2026-06-04T12:53:14.4798668Z         },
2026-06-04T12:53:14.4799099Z         "impl": {
2026-06-04T12:53:14.4799599Z           "complete": true,
2026-06-04T12:53:14.4800048Z           "evidence": [
2026-06-04T12:53:14.4800470Z             {
2026-06-04T12:53:14.4801125Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4801569Z               "line": 18
2026-06-04T12:53:14.4801979Z             }
2026-06-04T12:53:14.4802412Z           ]
2026-06-04T12:53:14.4802823Z         },
2026-06-04T12:53:14.4803256Z         "int": {
2026-06-04T12:53:14.4803731Z           "complete": false,
2026-06-04T12:53:14.4804187Z           "evidence": []
2026-06-04T12:53:14.4804613Z         },
2026-06-04T12:53:14.4805074Z         "unit": {
2026-06-04T12:53:14.4805543Z           "complete": true,
2026-06-04T12:53:14.4805984Z           "evidence": [
2026-06-04T12:53:14.4806401Z             {
2026-06-04T12:53:14.4807052Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4807488Z               "line": 706
2026-06-04T12:53:14.4807917Z             },
2026-06-04T12:53:14.4808332Z             {
2026-06-04T12:53:14.4808986Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4809470Z               "line": 802
2026-06-04T12:53:14.4809898Z             },
2026-06-04T12:53:14.4810319Z             {
2026-06-04T12:53:14.4810970Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4811426Z               "line": 814
2026-06-04T12:53:14.4811839Z             },
2026-06-04T12:53:14.4812259Z             {
2026-06-04T12:53:14.4812904Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4813361Z               "line": 822
2026-06-04T12:53:14.4813790Z             },
2026-06-04T12:53:14.4814199Z             {
2026-06-04T12:53:14.4814845Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4815288Z               "line": 839
2026-06-04T12:53:14.4815718Z             },
2026-06-04T12:53:14.4816130Z             {
2026-06-04T12:53:14.4816771Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4817222Z               "line": 853
2026-06-04T12:53:14.4817640Z             },
2026-06-04T12:53:14.4818061Z             {
2026-06-04T12:53:14.4818698Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4819146Z               "line": 868
2026-06-04T12:53:14.4819611Z             },
2026-06-04T12:53:14.4820039Z             {
2026-06-04T12:53:14.4820688Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4821142Z               "line": 883
2026-06-04T12:53:14.4821564Z             },
2026-06-04T12:53:14.4821976Z             {
2026-06-04T12:53:14.4822614Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4823059Z               "line": 898
2026-06-04T12:53:14.4823471Z             },
2026-06-04T12:53:14.4823897Z             {
2026-06-04T12:53:14.4824533Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.4824986Z               "line": 909
2026-06-04T12:53:14.4825396Z             }
2026-06-04T12:53:14.4825823Z           ]
2026-06-04T12:53:14.4826243Z         }
2026-06-04T12:53:14.4826653Z       }
2026-06-04T12:53:14.4827069Z     },
2026-06-04T12:53:14.4827473Z     {
2026-06-04T12:53:14.4827954Z       "id": "REQ-MIGRATE-1",
2026-06-04T12:53:14.4829012Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T12:53:14.4829555Z       "requiredStages": [],
2026-06-04T12:53:14.4830000Z       "stages": {
2026-06-04T12:53:14.4830421Z         "doc": {
2026-06-04T12:53:14.4831035Z           "complete": false,
2026-06-04T12:53:14.4831486Z           "evidence": []
2026-06-04T12:53:14.4831901Z         },
2026-06-04T12:53:14.4832323Z         "impl": {
2026-06-04T12:53:14.4832794Z           "complete": false,
2026-06-04T12:53:14.4833250Z           "evidence": []
2026-06-04T12:53:14.4838661Z         },
2026-06-04T12:53:14.4839296Z         "int": {
2026-06-04T12:53:14.4839771Z           "complete": false,
2026-06-04T12:53:14.4840234Z           "evidence": []
2026-06-04T12:53:14.4840643Z         },
2026-06-04T12:53:14.4841073Z         "unit": {
2026-06-04T12:53:14.4841535Z           "complete": false,
2026-06-04T12:53:14.4841997Z           "evidence": []
2026-06-04T12:53:14.4842420Z         }
2026-06-04T12:53:14.4842829Z       }
2026-06-04T12:53:14.4843248Z     },
2026-06-04T12:53:14.4843681Z     {
2026-06-04T12:53:14.4844160Z       "id": "REQ-MSG-1",
2026-06-04T12:53:14.4846845Z       "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-04T12:53:14.4847345Z       "requiredStages": [
2026-06-04T12:53:14.4847780Z         "impl",
2026-06-04T12:53:14.4848193Z         "unit",
2026-06-04T12:53:14.4848622Z         "int"
2026-06-04T12:53:14.4849030Z       ],
2026-06-04T12:53:14.4849515Z       "stages": {
2026-06-04T12:53:14.4849946Z         "doc": {
2026-06-04T12:53:14.4850408Z           "complete": false,
2026-06-04T12:53:14.4850856Z           "evidence": []
2026-06-04T12:53:14.4851260Z         },
2026-06-04T12:53:14.4851696Z         "impl": {
2026-06-04T12:53:14.4852149Z           "complete": true,
2026-06-04T12:53:14.4852600Z           "evidence": [
2026-06-04T12:53:14.4853022Z             {
2026-06-04T12:53:14.4853610Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4854071Z               "line": 28
2026-06-04T12:53:14.4854482Z             },
2026-06-04T12:53:14.4854906Z             {
2026-06-04T12:53:14.4855500Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4855947Z               "line": 94
2026-06-04T12:53:14.4856373Z             },
2026-06-04T12:53:14.4856782Z             {
2026-06-04T12:53:14.4857380Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4857824Z               "line": 127
2026-06-04T12:53:14.4858246Z             },
2026-06-04T12:53:14.4858651Z             {
2026-06-04T12:53:14.4859278Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4859734Z               "line": 149
2026-06-04T12:53:14.4860147Z             },
2026-06-04T12:53:14.4860569Z             {
2026-06-04T12:53:14.4861156Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4861604Z               "line": 174
2026-06-04T12:53:14.4862013Z             },
2026-06-04T12:53:14.4862440Z             {
2026-06-04T12:53:14.4863053Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:53:14.4863485Z               "line": 18
2026-06-04T12:53:14.4863917Z             },
2026-06-04T12:53:14.4864321Z             {
2026-06-04T12:53:14.4864891Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.4865320Z               "line": 13
2026-06-04T12:53:14.4865741Z             },
2026-06-04T12:53:14.4866159Z             {
2026-06-04T12:53:14.4866714Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.4867158Z               "line": 61
2026-06-04T12:53:14.4867569Z             },
2026-06-04T12:53:14.4867987Z             {
2026-06-04T12:53:14.4868543Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:53:14.4868984Z               "line": 10
2026-06-04T12:53:14.4869448Z             }
2026-06-04T12:53:14.4869857Z           ]
2026-06-04T12:53:14.4873124Z         },
2026-06-04T12:53:14.4873561Z         "int": {
2026-06-04T12:53:14.4874306Z           "complete": true,
2026-06-04T12:53:14.4874788Z           "evidence": [
2026-06-04T12:53:14.4875214Z             {
2026-06-04T12:53:14.4875948Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:53:14.4876520Z               "line": 9
2026-06-04T12:53:14.4876939Z             },
2026-06-04T12:53:14.4877349Z             {
2026-06-04T12:53:14.4878072Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:53:14.4878518Z               "line": 66
2026-06-04T12:53:14.4878933Z             },
2026-06-04T12:53:14.4879398Z             {
2026-06-04T12:53:14.4880125Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:53:14.4880586Z               "line": 116
2026-06-04T12:53:14.4880994Z             }
2026-06-04T12:53:14.4881418Z           ]
2026-06-04T12:53:14.4882031Z         },
2026-06-04T12:53:14.4882772Z         "unit": {
2026-06-04T12:53:14.4883312Z           "complete": true,
2026-06-04T12:53:14.4884019Z           "evidence": [
2026-06-04T12:53:14.4884652Z             {
2026-06-04T12:53:14.4885707Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4886262Z               "line": 203
2026-06-04T12:53:14.4886926Z             },
2026-06-04T12:53:14.4887380Z             {
2026-06-04T12:53:14.4888045Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4888548Z               "line": 232
2026-06-04T12:53:14.4889021Z             },
2026-06-04T12:53:14.4889704Z             {
2026-06-04T12:53:14.4890534Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4891027Z               "line": 277
2026-06-04T12:53:14.4891468Z             },
2026-06-04T12:53:14.4891935Z             {
2026-06-04T12:53:14.4892577Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4893064Z               "line": 300
2026-06-04T12:53:14.4893516Z             },
2026-06-04T12:53:14.4893970Z             {
2026-06-04T12:53:14.4894752Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:53:14.4895221Z               "line": 322
2026-06-04T12:53:14.4895675Z             },
2026-06-04T12:53:14.4896117Z             {
2026-06-04T12:53:14.4896773Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:53:14.4897251Z               "line": 203
2026-06-04T12:53:14.4897700Z             },
2026-06-04T12:53:14.4898125Z             {
2026-06-04T12:53:14.4898741Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:53:14.4899310Z               "line": 233
2026-06-04T12:53:14.4900103Z             },
2026-06-04T12:53:14.4900570Z             {
2026-06-04T12:53:14.4901218Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:53:14.4901700Z               "line": 247
2026-06-04T12:53:14.4902138Z             },
2026-06-04T12:53:14.4902574Z             {
2026-06-04T12:53:14.4903209Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:53:14.4903687Z               "line": 259
2026-06-04T12:53:14.4904128Z             },
2026-06-04T12:53:14.4904576Z             {
2026-06-04T12:53:14.4905186Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.4905655Z               "line": 158
2026-06-04T12:53:14.4906107Z             },
2026-06-04T12:53:14.4906543Z             {
2026-06-04T12:53:14.4907121Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:53:14.4907601Z               "line": 235
2026-06-04T12:53:14.4908050Z             },
2026-06-04T12:53:14.4908482Z             {
2026-06-04T12:53:14.4909093Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:53:14.4910084Z               "line": 68
2026-06-04T12:53:14.4910614Z             },
2026-06-04T12:53:14.4911121Z             {
2026-06-04T12:53:14.4911794Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:53:14.4912292Z               "line": 74
2026-06-04T12:53:14.4912740Z             },
2026-06-04T12:53:14.4913214Z             {
2026-06-04T12:53:14.4913839Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:53:14.4914698Z               "line": 80
2026-06-04T12:53:14.4915232Z             },
2026-06-04T12:53:14.4915705Z             {
2026-06-04T12:53:14.4916332Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:53:14.4917031Z               "line": 99
2026-06-04T12:53:14.4917498Z             }
2026-06-04T12:53:14.4917953Z           ]
2026-06-04T12:53:14.4918418Z         }
2026-06-04T12:53:14.4918873Z       }
2026-06-04T12:53:14.4919548Z     },
2026-06-04T12:53:14.4919988Z     {
2026-06-04T12:53:14.4920473Z       "id": "REQ-MSG-2",
2026-06-04T12:53:14.4922062Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T12:53:14.4922560Z       "requiredStages": [
2026-06-04T12:53:14.4923014Z         "impl",
2026-06-04T12:53:14.4923440Z         "unit"
2026-06-04T12:53:14.4923898Z       ],
2026-06-04T12:53:14.4924375Z       "stages": {
2026-06-04T12:53:14.4933645Z         "doc": {
2026-06-04T12:53:14.4934174Z           "complete": false,
2026-06-04T12:53:14.4934702Z           "evidence": []
2026-06-04T12:53:14.4935163Z         },
2026-06-04T12:53:14.4935610Z         "impl": {
2026-06-04T12:53:14.4936120Z           "complete": true,
2026-06-04T12:53:14.4936584Z           "evidence": [
2026-06-04T12:53:14.4937037Z             {
2026-06-04T12:53:14.4937628Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4938103Z               "line": 11
2026-06-04T12:53:14.4938558Z             },
2026-06-04T12:53:14.4939006Z             {
2026-06-04T12:53:14.4939687Z               "path": "crates/spt/src/main.rs",
2026-06-04T12:53:14.4940159Z               "line": 8
2026-06-04T12:53:14.4940618Z             }
2026-06-04T12:53:14.4941066Z           ]
2026-06-04T12:53:14.4941507Z         },
2026-06-04T12:53:14.4941973Z         "int": {
2026-06-04T12:53:14.4942473Z           "complete": false,
2026-06-04T12:53:14.4942959Z           "evidence": []
2026-06-04T12:53:14.4943393Z         },
2026-06-04T12:53:14.4943865Z         "unit": {
2026-06-04T12:53:14.4944391Z           "complete": true,
2026-06-04T12:53:14.4944868Z           "evidence": [
2026-06-04T12:53:14.4945319Z             {
2026-06-04T12:53:14.4945900Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4946404Z               "line": 1100
2026-06-04T12:53:14.4946906Z             },
2026-06-04T12:53:14.4947371Z             {
2026-06-04T12:53:14.4947958Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4948433Z               "line": 1213
2026-06-04T12:53:14.4948881Z             },
2026-06-04T12:53:14.4949382Z             {
2026-06-04T12:53:14.4950124Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4950587Z               "line": 1222
2026-06-04T12:53:14.4951037Z             },
2026-06-04T12:53:14.4951478Z             {
2026-06-04T12:53:14.4952026Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.4952511Z               "line": 1234
2026-06-04T12:53:14.4952940Z             }
2026-06-04T12:53:14.4953381Z           ]
2026-06-04T12:53:14.4953819Z         }
2026-06-04T12:53:14.4954260Z       }
2026-06-04T12:53:14.4954693Z     },
2026-06-04T12:53:14.4955117Z     {
2026-06-04T12:53:14.4955640Z       "id": "REQ-MSG-3",
2026-06-04T12:53:14.4958012Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T12:53:14.4958522Z       "requiredStages": [
2026-06-04T12:53:14.4958968Z         "impl",
2026-06-04T12:53:14.4959665Z         "unit",
2026-06-04T12:53:14.4960286Z         "int"
2026-06-04T12:53:14.4960731Z       ],
2026-06-04T12:53:14.4961186Z       "stages": {
2026-06-04T12:53:14.4961611Z         "doc": {
2026-06-04T12:53:14.4962112Z           "complete": false,
2026-06-04T12:53:14.4962577Z           "evidence": []
2026-06-04T12:53:14.4963035Z         },
2026-06-04T12:53:14.4963491Z         "impl": {
2026-06-04T12:53:14.4963965Z           "complete": true,
2026-06-04T12:53:14.4964428Z           "evidence": [
2026-06-04T12:53:14.4965331Z             {
2026-06-04T12:53:14.4966081Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:53:14.4966543Z               "line": 19
2026-06-04T12:53:14.4967184Z             },
2026-06-04T12:53:14.4967629Z             {
2026-06-04T12:53:14.4968230Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.4968694Z               "line": 21
2026-06-04T12:53:14.4969117Z             },
2026-06-04T12:53:14.4969820Z             {
2026-06-04T12:53:14.4970572Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.4971032Z               "line": 48
2026-06-04T12:53:14.4971473Z             },
2026-06-04T12:53:14.4971924Z             {
2026-06-04T12:53:14.4972541Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.4973001Z               "line": 106
2026-06-04T12:53:14.4973446Z             }
2026-06-04T12:53:14.4973870Z           ]
2026-06-04T12:53:14.4974343Z         },
2026-06-04T12:53:14.4974805Z         "int": {
2026-06-04T12:53:14.4975308Z           "complete": true,
2026-06-04T12:53:14.4975784Z           "evidence": [
2026-06-04T12:53:14.4976223Z             {
2026-06-04T12:53:14.4976986Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:53:14.4977478Z               "line": 10
2026-06-04T12:53:14.4977906Z             },
2026-06-04T12:53:14.4978344Z             {
2026-06-04T12:53:14.4979084Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:53:14.4979791Z               "line": 66
2026-06-04T12:53:14.4980254Z             }
2026-06-04T12:53:14.4980737Z           ]
2026-06-04T12:53:14.4981191Z         },
2026-06-04T12:53:14.4981639Z         "unit": {
2026-06-04T12:53:14.4982142Z           "complete": true,
2026-06-04T12:53:14.4982613Z           "evidence": [
2026-06-04T12:53:14.4983071Z             {
2026-06-04T12:53:14.4983828Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.4984328Z               "line": 160
2026-06-04T12:53:14.4984887Z             },
2026-06-04T12:53:14.4985347Z             {
2026-06-04T12:53:14.4985985Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.4986476Z               "line": 179
2026-06-04T12:53:14.4986945Z             },
2026-06-04T12:53:14.4987390Z             {
2026-06-04T12:53:14.4988017Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:53:14.4988512Z               "line": 198
2026-06-04T12:53:14.4988958Z             }
2026-06-04T12:53:14.4989637Z           ]
2026-06-04T12:53:14.4990079Z         }
2026-06-04T12:53:14.4990529Z       }
2026-06-04T12:53:14.4990958Z     },
2026-06-04T12:53:14.4991405Z     {
2026-06-04T12:53:14.4991909Z       "id": "REQ-NET-1",
2026-06-04T12:53:14.4992975Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T12:53:14.4993491Z       "requiredStages": [
2026-06-04T12:53:14.4993942Z         "impl",
2026-06-04T12:53:14.4994395Z         "unit"
2026-06-04T12:53:14.4994823Z       ],
2026-06-04T12:53:14.4995277Z       "stages": {
2026-06-04T12:53:14.4995893Z         "doc": {
2026-06-04T12:53:14.4996430Z           "complete": false,
2026-06-04T12:53:14.4996914Z           "evidence": []
2026-06-04T12:53:14.4997359Z         },
2026-06-04T12:53:14.4997812Z         "impl": {
2026-06-04T12:53:14.4998297Z           "complete": true,
2026-06-04T12:53:14.4998771Z           "evidence": [
2026-06-04T12:53:14.4999443Z             {
2026-06-04T12:53:14.5000335Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.5000828Z               "line": 52
2026-06-04T12:53:14.5001268Z             },
2026-06-04T12:53:14.5001715Z             {
2026-06-04T12:53:14.5002383Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.5002860Z               "line": 448
2026-06-04T12:53:14.5003295Z             },
2026-06-04T12:53:14.5003722Z             {
2026-06-04T12:53:14.5004343Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T12:53:14.5004810Z               "line": 69
2026-06-04T12:53:14.5005597Z             },
2026-06-04T12:53:14.5006088Z             {
2026-06-04T12:53:14.5006780Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5007461Z               "line": 65
2026-06-04T12:53:14.5007905Z             },
2026-06-04T12:53:14.5008363Z             {
2026-06-04T12:53:14.5009039Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5009917Z               "line": 122
2026-06-04T12:53:14.5010372Z             },
2026-06-04T12:53:14.5010836Z             {
2026-06-04T12:53:14.5011536Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5012003Z               "line": 138
2026-06-04T12:53:14.5012451Z             },
2026-06-04T12:53:14.5012884Z             {
2026-06-04T12:53:14.5013563Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5014033Z               "line": 153
2026-06-04T12:53:14.5014510Z             },
2026-06-04T12:53:14.5014968Z             {
2026-06-04T12:53:14.5015668Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5016148Z               "line": 207
2026-06-04T12:53:14.5016582Z             },
2026-06-04T12:53:14.5017040Z             {
2026-06-04T12:53:14.5017699Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5018173Z               "line": 242
2026-06-04T12:53:14.5018644Z             },
2026-06-04T12:53:14.5019096Z             {
2026-06-04T12:53:14.5020140Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5020642Z               "line": 248
2026-06-04T12:53:14.5021103Z             },
2026-06-04T12:53:14.5021533Z             {
2026-06-04T12:53:14.5022212Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5022691Z               "line": 254
2026-06-04T12:53:14.5023136Z             },
2026-06-04T12:53:14.5023579Z             {
2026-06-04T12:53:14.5024258Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5024739Z               "line": 270
2026-06-04T12:53:14.5025209Z             },
2026-06-04T12:53:14.5025635Z             {
2026-06-04T12:53:14.5026299Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5026774Z               "line": 290
2026-06-04T12:53:14.5027221Z             },
2026-06-04T12:53:14.5027652Z             {
2026-06-04T12:53:14.5028317Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:53:14.5028796Z               "line": 35
2026-06-04T12:53:14.5029423Z             },
2026-06-04T12:53:14.5029901Z             {
2026-06-04T12:53:14.5030566Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:53:14.5031060Z               "line": 82
2026-06-04T12:53:14.5031512Z             },
2026-06-04T12:53:14.5031968Z             {
2026-06-04T12:53:14.5032608Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.5033083Z               "line": 129
2026-06-04T12:53:14.5033559Z             },
2026-06-04T12:53:14.5033999Z             {
2026-06-04T12:53:14.5034604Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5035144Z               "line": 600
2026-06-04T12:53:14.5035716Z             },
2026-06-04T12:53:14.5036222Z             {
2026-06-04T12:53:14.5036849Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:53:14.5037350Z               "line": 17
2026-06-04T12:53:14.5037808Z             }
2026-06-04T12:53:14.5038265Z           ]
2026-06-04T12:53:14.5038724Z         },
2026-06-04T12:53:14.5039287Z         "int": {
2026-06-04T12:53:14.5039987Z           "complete": true,
2026-06-04T12:53:14.5049850Z           "evidence": [
2026-06-04T12:53:14.5050516Z             {
2026-06-04T12:53:14.5051319Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.5051825Z               "line": 314
2026-06-04T12:53:14.5052307Z             }
2026-06-04T12:53:14.5052801Z           ]
2026-06-04T12:53:14.5053279Z         },
2026-06-04T12:53:14.5053912Z         "unit": {
2026-06-04T12:53:14.5054454Z           "complete": true,
2026-06-04T12:53:14.5055458Z           "evidence": [
2026-06-04T12:53:14.5056093Z             {
2026-06-04T12:53:14.5056867Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.5057639Z               "line": 500
2026-06-04T12:53:14.5058105Z             },
2026-06-04T12:53:14.5058567Z             {
2026-06-04T12:53:14.5059433Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.5059960Z               "line": 529
2026-06-04T12:53:14.5060461Z             },
2026-06-04T12:53:14.5060930Z             {
2026-06-04T12:53:14.5061708Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.5062239Z               "line": 517
2026-06-04T12:53:14.5062722Z             },
2026-06-04T12:53:14.5063209Z             {
2026-06-04T12:53:14.5063925Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T12:53:14.5064516Z               "line": 142
2026-06-04T12:53:14.5065059Z             },
2026-06-04T12:53:14.5065583Z             {
2026-06-04T12:53:14.5066411Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5066962Z               "line": 344
2026-06-04T12:53:14.5067463Z             },
2026-06-04T12:53:14.5067918Z             {
2026-06-04T12:53:14.5068644Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5069233Z               "line": 358
2026-06-04T12:53:14.5069845Z             },
2026-06-04T12:53:14.5070304Z             {
2026-06-04T12:53:14.5071002Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5071489Z               "line": 377
2026-06-04T12:53:14.5071934Z             },
2026-06-04T12:53:14.5072395Z             {
2026-06-04T12:53:14.5073073Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:53:14.5073535Z               "line": 106
2026-06-04T12:53:14.5073976Z             },
2026-06-04T12:53:14.5074413Z             {
2026-06-04T12:53:14.5075069Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:53:14.5075554Z               "line": 148
2026-06-04T12:53:14.5076113Z             },
2026-06-04T12:53:14.5076584Z             {
2026-06-04T12:53:14.5077232Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:53:14.5077890Z               "line": 445
2026-06-04T12:53:14.5078404Z             },
2026-06-04T12:53:14.5079046Z             {
2026-06-04T12:53:14.5080051Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:53:14.5080577Z               "line": 218
2026-06-04T12:53:14.5081043Z             },
2026-06-04T12:53:14.5081486Z             {
2026-06-04T12:53:14.5082084Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:53:14.5082557Z               "line": 306
2026-06-04T12:53:14.5083007Z             }
2026-06-04T12:53:14.5083440Z           ]
2026-06-04T12:53:14.5083882Z         }
2026-06-04T12:53:14.5084320Z       }
2026-06-04T12:53:14.5084745Z     },
2026-06-04T12:53:14.5085177Z     {
2026-06-04T12:53:14.5085641Z       "id": "REQ-NET-2",
2026-06-04T12:53:14.5086706Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T12:53:14.5087203Z       "requiredStages": [
2026-06-04T12:53:14.5087661Z         "impl"
2026-06-04T12:53:14.5088120Z       ],
2026-06-04T12:53:14.5088574Z       "stages": {
2026-06-04T12:53:14.5089060Z         "doc": {
2026-06-04T12:53:14.5090133Z           "complete": false,
2026-06-04T12:53:14.5090726Z           "evidence": []
2026-06-04T12:53:14.5091249Z         },
2026-06-04T12:53:14.5091836Z         "impl": {
2026-06-04T12:53:14.5092459Z           "complete": true,
2026-06-04T12:53:14.5093019Z           "evidence": [
2026-06-04T12:53:14.5093533Z             {
2026-06-04T12:53:14.5094282Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.5094819Z               "line": 49
2026-06-04T12:53:14.5095293Z             },
2026-06-04T12:53:14.5095768Z             {
2026-06-04T12:53:14.5096622Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5097121Z               "line": 39
2026-06-04T12:53:14.5097998Z             },
2026-06-04T12:53:14.5098570Z             {
2026-06-04T12:53:14.5099482Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5100337Z               "line": 49
2026-06-04T12:53:14.5100828Z             },
2026-06-04T12:53:14.5101321Z             {
2026-06-04T12:53:14.5102082Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5102635Z               "line": 122
2026-06-04T12:53:14.5103101Z             },
2026-06-04T12:53:14.5103561Z             {
2026-06-04T12:53:14.5104257Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5104731Z               "line": 138
2026-06-04T12:53:14.5105192Z             },
2026-06-04T12:53:14.5105719Z             {
2026-06-04T12:53:14.5106432Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:53:14.5106911Z               "line": 153
2026-06-04T12:53:14.5107361Z             }
2026-06-04T12:53:14.5107810Z           ]
2026-06-04T12:53:14.5108279Z         },
2026-06-04T12:53:14.5108743Z         "int": {
2026-06-04T12:53:14.5109319Z           "complete": false,
2026-06-04T12:53:14.5109825Z           "evidence": []
2026-06-04T12:53:14.5110302Z         },
2026-06-04T12:53:14.5110762Z         "unit": {
2026-06-04T12:53:14.5111255Z           "complete": true,
2026-06-04T12:53:14.5111708Z           "evidence": [
2026-06-04T12:53:14.5112146Z             {
2026-06-04T12:53:14.5112788Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.5113253Z               "line": 321
2026-06-04T12:53:14.5113681Z             }
2026-06-04T12:53:14.5114113Z           ]
2026-06-04T12:53:14.5114543Z         }
2026-06-04T12:53:14.5114969Z       }
2026-06-04T12:53:14.5115397Z     },
2026-06-04T12:53:14.5115816Z     {
2026-06-04T12:53:14.5116286Z       "id": "REQ-NET-3",
2026-06-04T12:53:14.5117237Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T12:53:14.5117742Z       "requiredStages": [
2026-06-04T12:53:14.5118200Z         "impl",
2026-06-04T12:53:14.5118640Z         "unit"
2026-06-04T12:53:14.5119076Z       ],
2026-06-04T12:53:14.5119568Z       "stages": {
2026-06-04T12:53:14.5120169Z         "doc": {
2026-06-04T12:53:14.5120638Z           "complete": false,
2026-06-04T12:53:14.5121090Z           "evidence": []
2026-06-04T12:53:14.5121513Z         },
2026-06-04T12:53:14.5121936Z         "impl": {
2026-06-04T12:53:14.5122399Z           "complete": true,
2026-06-04T12:53:14.5122843Z           "evidence": [
2026-06-04T12:53:14.5123264Z             {
2026-06-04T12:53:14.5123861Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.5124306Z               "line": 39
2026-06-04T12:53:14.5124731Z             },
2026-06-04T12:53:14.5125148Z             {
2026-06-04T12:53:14.5125743Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.5126183Z               "line": 159
2026-06-04T12:53:14.5126614Z             },
2026-06-04T12:53:14.5127019Z             {
2026-06-04T12:53:14.5127623Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:53:14.5128078Z               "line": 290
2026-06-04T12:53:14.5128489Z             },
2026-06-04T12:53:14.5128922Z             {
2026-06-04T12:53:14.5129876Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:53:14.5130338Z               "line": 36
2026-06-04T12:53:14.5130749Z             },
2026-06-04T12:53:14.5131171Z             {
2026-06-04T12:53:14.5131839Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5132289Z               "line": 135
2026-06-04T12:53:14.5132716Z             },
2026-06-04T12:53:14.5133122Z             {
2026-06-04T12:53:14.5141188Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5141782Z               "line": 172
2026-06-04T12:53:14.5142216Z             },
2026-06-04T12:53:14.5142643Z             {
2026-06-04T12:53:14.5143311Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5144246Z               "line": 184
2026-06-04T12:53:14.5144696Z             },
2026-06-04T12:53:14.5145121Z             {
2026-06-04T12:53:14.5145778Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5146403Z               "line": 222
2026-06-04T12:53:14.5146830Z             },
2026-06-04T12:53:14.5147247Z             {
2026-06-04T12:53:14.5147911Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5148357Z               "line": 237
2026-06-04T12:53:14.5148788Z             },
2026-06-04T12:53:14.5149258Z             {
2026-06-04T12:53:14.5150283Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5150738Z               "line": 273
2026-06-04T12:53:14.5151153Z             },
2026-06-04T12:53:14.5151572Z             {
2026-06-04T12:53:14.5152226Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5152684Z               "line": 314
2026-06-04T12:53:14.5153113Z             },
2026-06-04T12:53:14.5153541Z             {
2026-06-04T12:53:14.5154206Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.5154646Z               "line": 327
2026-06-04T12:53:14.5155147Z             },
2026-06-04T12:53:14.5155557Z             {
2026-06-04T12:53:14.5156200Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.5156646Z               "line": 29
2026-06-04T12:53:14.5157059Z             },
2026-06-04T12:53:14.5157474Z             {
2026-06-04T12:53:14.5158105Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.5158552Z               "line": 70
2026-06-04T12:53:14.5158964Z             },
2026-06-04T12:53:14.5159575Z             {
2026-06-04T12:53:14.5160393Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.5160833Z               "line": 121
2026-06-04T12:53:14.5161256Z             }
2026-06-04T12:53:14.5161664Z           ]
2026-06-04T12:53:14.5162080Z         },
2026-06-04T12:53:14.5162491Z         "int": {
2026-06-04T12:53:14.5162976Z           "complete": false,
2026-06-04T12:53:14.5163434Z           "evidence": []
2026-06-04T12:53:14.5163845Z         },
2026-06-04T12:53:14.5164310Z         "unit": {
2026-06-04T12:53:14.5164768Z           "complete": true,
2026-06-04T12:53:14.5165214Z           "evidence": [
2026-06-04T12:53:14.5165628Z             {
2026-06-04T12:53:14.5166245Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:53:14.5166697Z               "line": 203
2026-06-04T12:53:14.5167110Z             },
2026-06-04T12:53:14.5167530Z             {
2026-06-04T12:53:14.5168142Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:53:14.5168593Z               "line": 303
2026-06-04T12:53:14.5169008Z             },
2026-06-04T12:53:14.5169473Z             {
2026-06-04T12:53:14.5170100Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:53:14.5170537Z               "line": 399
2026-06-04T12:53:14.5170960Z             },
2026-06-04T12:53:14.5171371Z             {
2026-06-04T12:53:14.5171989Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:53:14.5172438Z               "line": 93
2026-06-04T12:53:14.5172866Z             },
2026-06-04T12:53:14.5173290Z             {
2026-06-04T12:53:14.5173879Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:53:14.5174328Z               "line": 131
2026-06-04T12:53:14.5174740Z             },
2026-06-04T12:53:14.5175157Z             {
2026-06-04T12:53:14.5175782Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.5176233Z               "line": 308
2026-06-04T12:53:14.5176652Z             },
2026-06-04T12:53:14.5177066Z             {
2026-06-04T12:53:14.5177713Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.5178155Z               "line": 345
2026-06-04T12:53:14.5178580Z             },
2026-06-04T12:53:14.5178990Z             {
2026-06-04T12:53:14.5179666Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:53:14.5180268Z               "line": 469
2026-06-04T12:53:14.5180692Z             }
2026-06-04T12:53:14.5181116Z           ]
2026-06-04T12:53:14.5181531Z         }
2026-06-04T12:53:14.5182078Z       }
2026-06-04T12:53:14.5182486Z     },
2026-06-04T12:53:14.5182910Z     {
2026-06-04T12:53:14.5183410Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T12:53:14.5184738Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T12:53:14.5185219Z       "requiredStages": [
2026-06-04T12:53:14.5185705Z         "impl",
2026-06-04T12:53:14.5186135Z         "unit"
2026-06-04T12:53:14.5186544Z       ],
2026-06-04T12:53:14.5186981Z       "stages": {
2026-06-04T12:53:14.5187402Z         "doc": {
2026-06-04T12:53:14.5187863Z           "complete": false,
2026-06-04T12:53:14.5188320Z           "evidence": []
2026-06-04T12:53:14.5188728Z         },
2026-06-04T12:53:14.5189203Z         "impl": {
2026-06-04T12:53:14.5189666Z           "complete": true,
2026-06-04T12:53:14.5190125Z           "evidence": [
2026-06-04T12:53:14.5190547Z             {
2026-06-04T12:53:14.5191188Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5191651Z               "line": 60
2026-06-04T12:53:14.5192062Z             },
2026-06-04T12:53:14.5192482Z             {
2026-06-04T12:53:14.5193112Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5193674Z               "line": 68
2026-06-04T12:53:14.5194093Z             },
2026-06-04T12:53:14.5194498Z             {
2026-06-04T12:53:14.5195126Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5195566Z               "line": 86
2026-06-04T12:53:14.5195987Z             },
2026-06-04T12:53:14.5196411Z             {
2026-06-04T12:53:14.5197035Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5197486Z               "line": 120
2026-06-04T12:53:14.5197903Z             },
2026-06-04T12:53:14.5198328Z             {
2026-06-04T12:53:14.5198957Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5199458Z               "line": 127
2026-06-04T12:53:14.5199885Z             },
2026-06-04T12:53:14.5200294Z             {
2026-06-04T12:53:14.5200947Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5201391Z               "line": 143
2026-06-04T12:53:14.5201814Z             },
2026-06-04T12:53:14.5202223Z             {
2026-06-04T12:53:14.5202846Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:53:14.5203295Z               "line": 16
2026-06-04T12:53:14.5203711Z             }
2026-06-04T12:53:14.5204136Z           ]
2026-06-04T12:53:14.5204545Z         },
2026-06-04T12:53:14.5204980Z         "int": {
2026-06-04T12:53:14.5205442Z           "complete": false,
2026-06-04T12:53:14.5205893Z           "evidence": []
2026-06-04T12:53:14.5206311Z         },
2026-06-04T12:53:14.5206730Z         "unit": {
2026-06-04T12:53:14.5207195Z           "complete": true,
2026-06-04T12:53:14.5207636Z           "evidence": [
2026-06-04T12:53:14.5208060Z             {
2026-06-04T12:53:14.5208685Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5209142Z               "line": 199
2026-06-04T12:53:14.5209620Z             },
2026-06-04T12:53:14.5210033Z             {
2026-06-04T12:53:14.5210668Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5211118Z               "line": 218
2026-06-04T12:53:14.5211543Z             },
2026-06-04T12:53:14.5211958Z             {
2026-06-04T12:53:14.5212592Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5213047Z               "line": 232
2026-06-04T12:53:14.5213464Z             },
2026-06-04T12:53:14.5213886Z             {
2026-06-04T12:53:14.5214502Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:53:14.5214955Z               "line": 248
2026-06-04T12:53:14.5215374Z             },
2026-06-04T12:53:14.5215797Z             {
2026-06-04T12:53:14.5216651Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:53:14.5217111Z               "line": 125
2026-06-04T12:53:14.5217550Z             },
2026-06-04T12:53:14.5217963Z             {
2026-06-04T12:53:14.5218712Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:53:14.5219153Z               "line": 141
2026-06-04T12:53:14.5219631Z             },
2026-06-04T12:53:14.5220057Z             {
2026-06-04T12:53:14.5220656Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:53:14.5226439Z               "line": 153
2026-06-04T12:53:14.5226992Z             }
2026-06-04T12:53:14.5227456Z           ]
2026-06-04T12:53:14.5227876Z         }
2026-06-04T12:53:14.5228299Z       }
2026-06-04T12:53:14.5228713Z     },
2026-06-04T12:53:14.5229123Z     {
2026-06-04T12:53:14.5229683Z       "id": "REQ-NOTIF-1",
2026-06-04T12:53:14.5231855Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T12:53:14.5232361Z       "requiredStages": [
2026-06-04T12:53:14.5232801Z         "impl",
2026-06-04T12:53:14.5233220Z         "unit"
2026-06-04T12:53:14.5233643Z       ],
2026-06-04T12:53:14.5234078Z       "stages": {
2026-06-04T12:53:14.5234507Z         "doc": {
2026-06-04T12:53:14.5234963Z           "complete": false,
2026-06-04T12:53:14.5235415Z           "evidence": []
2026-06-04T12:53:14.5235822Z         },
2026-06-04T12:53:14.5236256Z         "impl": {
2026-06-04T12:53:14.5236719Z           "complete": true,
2026-06-04T12:53:14.5237160Z           "evidence": [
2026-06-04T12:53:14.5237577Z             {
2026-06-04T12:53:14.5238210Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:53:14.5238675Z               "line": 412
2026-06-04T12:53:14.5239103Z             },
2026-06-04T12:53:14.5239577Z             {
2026-06-04T12:53:14.5240194Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5240634Z               "line": 30
2026-06-04T12:53:14.5241049Z             },
2026-06-04T12:53:14.5241481Z             {
2026-06-04T12:53:14.5242086Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5242530Z               "line": 62
2026-06-04T12:53:14.5242958Z             },
2026-06-04T12:53:14.5243377Z             {
2026-06-04T12:53:14.5243971Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5244415Z               "line": 83
2026-06-04T12:53:14.5244828Z             },
2026-06-04T12:53:14.5245247Z             {
2026-06-04T12:53:14.5245847Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5246289Z               "line": 97
2026-06-04T12:53:14.5246710Z             },
2026-06-04T12:53:14.5247120Z             {
2026-06-04T12:53:14.5247728Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5248168Z               "line": 126
2026-06-04T12:53:14.5248590Z             },
2026-06-04T12:53:14.5249008Z             {
2026-06-04T12:53:14.5249649Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5250114Z               "line": 159
2026-06-04T12:53:14.5250529Z             },
2026-06-04T12:53:14.5250946Z             {
2026-06-04T12:53:14.5251545Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5252011Z               "line": 179
2026-06-04T12:53:14.5252437Z             },
2026-06-04T12:53:14.5252845Z             {
2026-06-04T12:53:14.5253452Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5253891Z               "line": 239
2026-06-04T12:53:14.5254309Z             },
2026-06-04T12:53:14.5254715Z             {
2026-06-04T12:53:14.5255316Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5255762Z               "line": 287
2026-06-04T12:53:14.5256176Z             },
2026-06-04T12:53:14.5256590Z             {
2026-06-04T12:53:14.5257247Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5257904Z               "line": 24
2026-06-04T12:53:14.5258350Z             },
2026-06-04T12:53:14.5259223Z             {
2026-06-04T12:53:14.5260162Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5260603Z               "line": 34
2026-06-04T12:53:14.5261222Z             },
2026-06-04T12:53:14.5261636Z             {
2026-06-04T12:53:14.5262286Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5262720Z               "line": 55
2026-06-04T12:53:14.5263142Z             },
2026-06-04T12:53:14.5263562Z             {
2026-06-04T12:53:14.5264192Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5264639Z               "line": 76
2026-06-04T12:53:14.5265055Z             },
2026-06-04T12:53:14.5265514Z             {
2026-06-04T12:53:14.5266153Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5266604Z               "line": 88
2026-06-04T12:53:14.5267034Z             },
2026-06-04T12:53:14.5267444Z             {
2026-06-04T12:53:14.5268092Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:53:14.5268543Z               "line": 41
2026-06-04T12:53:14.5268969Z             },
2026-06-04T12:53:14.5269608Z             {
2026-06-04T12:53:14.5270406Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.5270848Z               "line": 94
2026-06-04T12:53:14.5271259Z             },
2026-06-04T12:53:14.5271679Z             {
2026-06-04T12:53:14.5272289Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:53:14.5272740Z               "line": 20
2026-06-04T12:53:14.5273164Z             },
2026-06-04T12:53:14.5273575Z             {
2026-06-04T12:53:14.5274193Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:53:14.5274628Z               "line": 30
2026-06-04T12:53:14.5275050Z             },
2026-06-04T12:53:14.5275458Z             {
2026-06-04T12:53:14.5276082Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:53:14.5276530Z               "line": 50
2026-06-04T12:53:14.5276945Z             },
2026-06-04T12:53:14.5277378Z             {
2026-06-04T12:53:14.5277966Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5278418Z               "line": 28
2026-06-04T12:53:14.5278844Z             },
2026-06-04T12:53:14.5279305Z             {
2026-06-04T12:53:14.5279910Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5280348Z               "line": 126
2026-06-04T12:53:14.5280777Z             },
2026-06-04T12:53:14.5281191Z             {
2026-06-04T12:53:14.5281782Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5282222Z               "line": 161
2026-06-04T12:53:14.5282645Z             },
2026-06-04T12:53:14.5283065Z             {
2026-06-04T12:53:14.5283647Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5284094Z               "line": 197
2026-06-04T12:53:14.5284517Z             },
2026-06-04T12:53:14.5285105Z             {
2026-06-04T12:53:14.5285760Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5286315Z               "line": 208
2026-06-04T12:53:14.5286905Z             },
2026-06-04T12:53:14.5287415Z             {
2026-06-04T12:53:14.5288121Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5288641Z               "line": 231
2026-06-04T12:53:14.5289119Z             },
2026-06-04T12:53:14.5289664Z             {
2026-06-04T12:53:14.5290363Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5290895Z               "line": 251
2026-06-04T12:53:14.5291410Z             },
2026-06-04T12:53:14.5291908Z             {
2026-06-04T12:53:14.5292598Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.5293094Z               "line": 63
2026-06-04T12:53:14.5293545Z             }
2026-06-04T12:53:14.5294022Z           ]
2026-06-04T12:53:14.5294487Z         },
2026-06-04T12:53:14.5294944Z         "int": {
2026-06-04T12:53:14.5295425Z           "complete": true,
2026-06-04T12:53:14.5295887Z           "evidence": [
2026-06-04T12:53:14.5296610Z             {
2026-06-04T12:53:14.5297319Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.5297792Z               "line": 265
2026-06-04T12:53:14.5298400Z             },
2026-06-04T12:53:14.5298839Z             {
2026-06-04T12:53:14.5299599Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T12:53:14.5300075Z               "line": 102
2026-06-04T12:53:14.5300512Z             }
2026-06-04T12:53:14.5300949Z           ]
2026-06-04T12:53:14.5301378Z         },
2026-06-04T12:53:14.5301828Z         "unit": {
2026-06-04T12:53:14.5302304Z           "complete": true,
2026-06-04T12:53:14.5302768Z           "evidence": [
2026-06-04T12:53:14.5303197Z             {
2026-06-04T12:53:14.5303835Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5304303Z               "line": 362
2026-06-04T12:53:14.5304731Z             },
2026-06-04T12:53:14.5305168Z             {
2026-06-04T12:53:14.5305792Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5306263Z               "line": 400
2026-06-04T12:53:14.5306693Z             },
2026-06-04T12:53:14.5307136Z             {
2026-06-04T12:53:14.5314115Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5314755Z               "line": 427
2026-06-04T12:53:14.5315212Z             },
2026-06-04T12:53:14.5315640Z             {
2026-06-04T12:53:14.5316276Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5316737Z               "line": 448
2026-06-04T12:53:14.5317183Z             },
2026-06-04T12:53:14.5317620Z             {
2026-06-04T12:53:14.5318234Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5318700Z               "line": 501
2026-06-04T12:53:14.5319123Z             },
2026-06-04T12:53:14.5319621Z             {
2026-06-04T12:53:14.5320234Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5320702Z               "line": 540
2026-06-04T12:53:14.5321139Z             },
2026-06-04T12:53:14.5321594Z             {
2026-06-04T12:53:14.5322216Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5322667Z               "line": 632
2026-06-04T12:53:14.5323109Z             },
2026-06-04T12:53:14.5323528Z             {
2026-06-04T12:53:14.5324198Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5324662Z               "line": 133
2026-06-04T12:53:14.5325087Z             },
2026-06-04T12:53:14.5325517Z             {
2026-06-04T12:53:14.5326169Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5326631Z               "line": 208
2026-06-04T12:53:14.5327057Z             },
2026-06-04T12:53:14.5327492Z             {
2026-06-04T12:53:14.5328159Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:53:14.5328621Z               "line": 227
2026-06-04T12:53:14.5329055Z             },
2026-06-04T12:53:14.5329519Z             {
2026-06-04T12:53:14.5330200Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.5330656Z               "line": 328
2026-06-04T12:53:14.5331092Z             },
2026-06-04T12:53:14.5331521Z             {
2026-06-04T12:53:14.5332181Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:53:14.5332648Z               "line": 357
2026-06-04T12:53:14.5333067Z             },
2026-06-04T12:53:14.5333501Z             {
2026-06-04T12:53:14.5334195Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T12:53:14.5334658Z               "line": 112
2026-06-04T12:53:14.5335085Z             },
2026-06-04T12:53:14.5335505Z             {
2026-06-04T12:53:14.5336142Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:53:14.5336591Z               "line": 72
2026-06-04T12:53:14.5337024Z             },
2026-06-04T12:53:14.5337456Z             {
2026-06-04T12:53:14.5338077Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:53:14.5338560Z               "line": 94
2026-06-04T12:53:14.5339325Z             },
2026-06-04T12:53:14.5339936Z             {
2026-06-04T12:53:14.5340536Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5341140Z               "line": 365
2026-06-04T12:53:14.5341567Z             },
2026-06-04T12:53:14.5341972Z             {
2026-06-04T12:53:14.5342561Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5343001Z               "line": 396
2026-06-04T12:53:14.5343424Z             },
2026-06-04T12:53:14.5343832Z             {
2026-06-04T12:53:14.5344422Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5344871Z               "line": 410
2026-06-04T12:53:14.5345284Z             },
2026-06-04T12:53:14.5345705Z             {
2026-06-04T12:53:14.5346285Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5346737Z               "line": 441
2026-06-04T12:53:14.5347147Z             },
2026-06-04T12:53:14.5347565Z             {
2026-06-04T12:53:14.5348164Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5348618Z               "line": 458
2026-06-04T12:53:14.5349039Z             },
2026-06-04T12:53:14.5349687Z             {
2026-06-04T12:53:14.5350445Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5350888Z               "line": 483
2026-06-04T12:53:14.5351308Z             },
2026-06-04T12:53:14.5351723Z             {
2026-06-04T12:53:14.5352309Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:53:14.5352756Z               "line": 507
2026-06-04T12:53:14.5353168Z             },
2026-06-04T12:53:14.5353588Z             {
2026-06-04T12:53:14.5354198Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.5354645Z               "line": 313
2026-06-04T12:53:14.5355118Z             }
2026-06-04T12:53:14.5355526Z           ]
2026-06-04T12:53:14.5355946Z         }
2026-06-04T12:53:14.5356353Z       }
2026-06-04T12:53:14.5356761Z     },
2026-06-04T12:53:14.5357161Z     {
2026-06-04T12:53:14.5357640Z       "id": "REQ-NOTIF-2",
2026-06-04T12:53:14.5359221Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T12:53:14.5360046Z       "requiredStages": [
2026-06-04T12:53:14.5360471Z         "doc",
2026-06-04T12:53:14.5360886Z         "impl",
2026-06-04T12:53:14.5361307Z         "unit"
2026-06-04T12:53:14.5361717Z       ],
2026-06-04T12:53:14.5362147Z       "stages": {
2026-06-04T12:53:14.5362569Z         "doc": {
2026-06-04T12:53:14.5363019Z           "complete": true,
2026-06-04T12:53:14.5363459Z           "evidence": [
2026-06-04T12:53:14.5363869Z             {
2026-06-04T12:53:14.5364376Z               "path": "docs/MANIFEST.md",
2026-06-04T12:53:14.5364815Z               "line": 62
2026-06-04T12:53:14.5365235Z             }
2026-06-04T12:53:14.5365654Z           ]
2026-06-04T12:53:14.5366061Z         },
2026-06-04T12:53:14.5366490Z         "impl": {
2026-06-04T12:53:14.5366942Z           "complete": true,
2026-06-04T12:53:14.5367398Z           "evidence": [
2026-06-04T12:53:14.5367813Z             {
2026-06-04T12:53:14.5368431Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5368896Z               "line": 208
2026-06-04T12:53:14.5369352Z             },
2026-06-04T12:53:14.5369983Z             {
2026-06-04T12:53:14.5370730Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5371183Z               "line": 222
2026-06-04T12:53:14.5371592Z             },
2026-06-04T12:53:14.5372012Z             {
2026-06-04T12:53:14.5372669Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.5373107Z               "line": 125
2026-06-04T12:53:14.5373528Z             },
2026-06-04T12:53:14.5373935Z             {
2026-06-04T12:53:14.5374571Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.5375014Z               "line": 72
2026-06-04T12:53:14.5375425Z             },
2026-06-04T12:53:14.5375851Z             {
2026-06-04T12:53:14.5376549Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5377018Z               "line": 383
2026-06-04T12:53:14.5377434Z             },
2026-06-04T12:53:14.5377855Z             {
2026-06-04T12:53:14.5378540Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5378986Z               "line": 415
2026-06-04T12:53:14.5379627Z             },
2026-06-04T12:53:14.5380187Z             {
2026-06-04T12:53:14.5380718Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5381161Z               "line": 481
2026-06-04T12:53:14.5381585Z             },
2026-06-04T12:53:14.5382012Z             {
2026-06-04T12:53:14.5382546Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5382998Z               "line": 517
2026-06-04T12:53:14.5383417Z             }
2026-06-04T12:53:14.5383836Z           ]
2026-06-04T12:53:14.5384248Z         },
2026-06-04T12:53:14.5384680Z         "int": {
2026-06-04T12:53:14.5385159Z           "complete": false,
2026-06-04T12:53:14.5385608Z           "evidence": []
2026-06-04T12:53:14.5386041Z         },
2026-06-04T12:53:14.5386466Z         "unit": {
2026-06-04T12:53:14.5386937Z           "complete": true,
2026-06-04T12:53:14.5387377Z           "evidence": [
2026-06-04T12:53:14.5387810Z             {
2026-06-04T12:53:14.5388424Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.5388864Z               "line": 590
2026-06-04T12:53:14.5389344Z             },
2026-06-04T12:53:14.5389958Z             {
2026-06-04T12:53:14.5390844Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5391346Z               "line": 1129
2026-06-04T12:53:14.5391845Z             },
2026-06-04T12:53:14.5392436Z             {
2026-06-04T12:53:14.5392985Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5393436Z               "line": 1151
2026-06-04T12:53:14.5393849Z             }
2026-06-04T12:53:14.5394276Z           ]
2026-06-04T12:53:14.5400520Z         }
2026-06-04T12:53:14.5401070Z       }
2026-06-04T12:53:14.5401502Z     },
2026-06-04T12:53:14.5401937Z     {
2026-06-04T12:53:14.5402430Z       "id": "REQ-PAIR-1",
2026-06-04T12:53:14.5402974Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T12:53:14.5403468Z       "requiredStages": [
2026-06-04T12:53:14.5403886Z         "impl",
2026-06-04T12:53:14.5404468Z         "unit"
2026-06-04T12:53:14.5405234Z       ],
2026-06-04T12:53:14.5406630Z       "stages": {
2026-06-04T12:53:14.5407713Z         "doc": {
2026-06-04T12:53:14.5408804Z           "complete": false,
2026-06-04T12:53:14.5410411Z           "evidence": []
2026-06-04T12:53:14.5411619Z         },
2026-06-04T12:53:14.5412836Z         "impl": {
2026-06-04T12:53:14.5414251Z           "complete": true,
2026-06-04T12:53:14.5415627Z           "evidence": [
2026-06-04T12:53:14.5416893Z             {
2026-06-04T12:53:14.5418377Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5420395Z               "line": 27
2026-06-04T12:53:14.5421864Z             },
2026-06-04T12:53:14.5423017Z             {
2026-06-04T12:53:14.5424700Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5426473Z               "line": 88
2026-06-04T12:53:14.5427693Z             },
2026-06-04T12:53:14.5428746Z             {
2026-06-04T12:53:14.5430527Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5432381Z               "line": 110
2026-06-04T12:53:14.5433678Z             },
2026-06-04T12:53:14.5434766Z             {
2026-06-04T12:53:14.5436103Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5437796Z               "line": 153
2026-06-04T12:53:14.5438941Z             },
2026-06-04T12:53:14.5440137Z             {
2026-06-04T12:53:14.5441391Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5442970Z               "line": 182
2026-06-04T12:53:14.5444073Z             },
2026-06-04T12:53:14.5445053Z             {
2026-06-04T12:53:14.5446286Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5448194Z               "line": 29
2026-06-04T12:53:14.5449398Z             },
2026-06-04T12:53:14.5450384Z             {
2026-06-04T12:53:14.5451698Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:53:14.5453617Z               "line": 31
2026-06-04T12:53:14.5454772Z             },
2026-06-04T12:53:14.5455751Z             {
2026-06-04T12:53:14.5456985Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5458554Z               "line": 40
2026-06-04T12:53:14.5459715Z             },
2026-06-04T12:53:14.5460694Z             {
2026-06-04T12:53:14.5461935Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5463513Z               "line": 131
2026-06-04T12:53:14.5464683Z             },
2026-06-04T12:53:14.5465669Z             {
2026-06-04T12:53:14.5466901Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5468499Z               "line": 306
2026-06-04T12:53:14.5469668Z             }
2026-06-04T12:53:14.5470635Z           ]
2026-06-04T12:53:14.5471579Z         },
2026-06-04T12:53:14.5472519Z         "int": {
2026-06-04T12:53:14.5473570Z           "complete": false,
2026-06-04T12:53:14.5474773Z           "evidence": []
2026-06-04T12:53:14.5475873Z         },
2026-06-04T12:53:14.5476858Z         "unit": {
2026-06-04T12:53:14.5477901Z           "complete": true,
2026-06-04T12:53:14.5479082Z           "evidence": [
2026-06-04T12:53:14.5480208Z             {
2026-06-04T12:53:14.5481445Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5483028Z               "line": 236
2026-06-04T12:53:14.5484138Z             },
2026-06-04T12:53:14.5485107Z             {
2026-06-04T12:53:14.5486350Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:53:14.5487944Z               "line": 349
2026-06-04T12:53:14.5489053Z             },
2026-06-04T12:53:14.5490069Z             {
2026-06-04T12:53:14.5491305Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5492884Z               "line": 194
2026-06-04T12:53:14.5501163Z             },
2026-06-04T12:53:14.5502368Z             {
2026-06-04T12:53:14.5503646Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5505242Z               "line": 216
2026-06-04T12:53:14.5506346Z             },
2026-06-04T12:53:14.5507325Z             {
2026-06-04T12:53:14.5508541Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5510200Z               "line": 230
2026-06-04T12:53:14.5511311Z             },
2026-06-04T12:53:14.5512304Z             {
2026-06-04T12:53:14.5513534Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5515116Z               "line": 242
2026-06-04T12:53:14.5516224Z             },
2026-06-04T12:53:14.5517203Z             {
2026-06-04T12:53:14.5518439Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5520047Z               "line": 256
2026-06-04T12:53:14.5521184Z             },
2026-06-04T12:53:14.5522160Z             {
2026-06-04T12:53:14.5523384Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5524958Z               "line": 270
2026-06-04T12:53:14.5526062Z             },
2026-06-04T12:53:14.5527033Z             {
2026-06-04T12:53:14.5528244Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5529851Z               "line": 277
2026-06-04T12:53:14.5530959Z             },
2026-06-04T12:53:14.5531948Z             {
2026-06-04T12:53:14.5533166Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:53:14.5534797Z               "line": 295
2026-06-04T12:53:14.5535898Z             },
2026-06-04T12:53:14.5536872Z             {
2026-06-04T12:53:14.5538091Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5539688Z               "line": 696
2026-06-04T12:53:14.5540786Z             },
2026-06-04T12:53:14.5541777Z             {
2026-06-04T12:53:14.5543363Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5544966Z               "line": 757
2026-06-04T12:53:14.5546332Z             },
2026-06-04T12:53:14.5547309Z             {
2026-06-04T12:53:14.5548530Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5550147Z               "line": 814
2026-06-04T12:53:14.5551244Z             },
2026-06-04T12:53:14.5552227Z             {
2026-06-04T12:53:14.5553447Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5554999Z               "line": 868
2026-06-04T12:53:14.5556103Z             },
2026-06-04T12:53:14.5557072Z             {
2026-06-04T12:53:14.5558290Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5559885Z               "line": 920
2026-06-04T12:53:14.5560990Z             },
2026-06-04T12:53:14.5561968Z             {
2026-06-04T12:53:14.5563205Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5564767Z               "line": 1084
2026-06-04T12:53:14.5565876Z             }
2026-06-04T12:53:14.5566838Z           ]
2026-06-04T12:53:14.5567792Z         }
2026-06-04T12:53:14.5568711Z       }
2026-06-04T12:53:14.5569652Z     },
2026-06-04T12:53:14.5570574Z     {
2026-06-04T12:53:14.5571547Z       "id": "REQ-PAIR-2",
2026-06-04T12:53:14.5572976Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T12:53:14.5574602Z       "requiredStages": [
2026-06-04T12:53:14.5575826Z         "impl",
2026-06-04T12:53:14.5576808Z         "unit"
2026-06-04T12:53:14.5577772Z       ],
2026-06-04T12:53:14.5578712Z       "stages": {
2026-06-04T12:53:14.5579758Z         "doc": {
2026-06-04T12:53:14.5580797Z           "complete": false,
2026-06-04T12:53:14.5581997Z           "evidence": []
2026-06-04T12:53:14.5583108Z         },
2026-06-04T12:53:14.5584058Z         "impl": {
2026-06-04T12:53:14.5585203Z           "complete": true,
2026-06-04T12:53:14.5586385Z           "evidence": [
2026-06-04T12:53:14.5587468Z             {
2026-06-04T12:53:14.5588606Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5590115Z               "line": 42
2026-06-04T12:53:14.5591223Z             },
2026-06-04T12:53:14.5592196Z             {
2026-06-04T12:53:14.5593323Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5594785Z               "line": 151
2026-06-04T12:53:14.5595888Z             },
2026-06-04T12:53:14.5596864Z             {
2026-06-04T12:53:14.5598112Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5605286Z               "line": 171
2026-06-04T12:53:14.5606448Z             },
2026-06-04T12:53:14.5607437Z             {
2026-06-04T12:53:14.5608572Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5610119Z               "line": 209
2026-06-04T12:53:14.5611219Z             },
2026-06-04T12:53:14.5612192Z             {
2026-06-04T12:53:14.5613358Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5614826Z               "line": 232
2026-06-04T12:53:14.5615924Z             }
2026-06-04T12:53:14.5616897Z           ]
2026-06-04T12:53:14.5617850Z         },
2026-06-04T12:53:14.5618804Z         "int": {
2026-06-04T12:53:14.5619884Z           "complete": false,
2026-06-04T12:53:14.5621073Z           "evidence": []
2026-06-04T12:53:14.5622158Z         },
2026-06-04T12:53:14.5623095Z         "unit": {
2026-06-04T12:53:14.5624128Z           "complete": true,
2026-06-04T12:53:14.5625281Z           "evidence": [
2026-06-04T12:53:14.5626366Z             {
2026-06-04T12:53:14.5627498Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5628949Z               "line": 253
2026-06-04T12:53:14.5630083Z             },
2026-06-04T12:53:14.5631059Z             {
2026-06-04T12:53:14.5632197Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5633655Z               "line": 272
2026-06-04T12:53:14.5634754Z             },
2026-06-04T12:53:14.5635994Z             {
2026-06-04T12:53:14.5637162Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5638614Z               "line": 284
2026-06-04T12:53:14.5639918Z             },
2026-06-04T12:53:14.5640939Z             {
2026-06-04T12:53:14.5642087Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5643533Z               "line": 303
2026-06-04T12:53:14.5644707Z             },
2026-06-04T12:53:14.5645687Z             {
2026-06-04T12:53:14.5646804Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5648248Z               "line": 319
2026-06-04T12:53:14.5649377Z             },
2026-06-04T12:53:14.5650345Z             {
2026-06-04T12:53:14.5651479Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5652926Z               "line": 331
2026-06-04T12:53:14.5654023Z             },
2026-06-04T12:53:14.5654993Z             {
2026-06-04T12:53:14.5656142Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5657600Z               "line": 343
2026-06-04T12:53:14.5658690Z             },
2026-06-04T12:53:14.5659693Z             {
2026-06-04T12:53:14.5660820Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5662278Z               "line": 356
2026-06-04T12:53:14.5663372Z             },
2026-06-04T12:53:14.5664338Z             {
2026-06-04T12:53:14.5665482Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:53:14.5666925Z               "line": 370
2026-06-04T12:53:14.5668012Z             }
2026-06-04T12:53:14.5668970Z           ]
2026-06-04T12:53:14.5669940Z         }
2026-06-04T12:53:14.5670876Z       }
2026-06-04T12:53:14.5671785Z     },
2026-06-04T12:53:14.5672697Z     {
2026-06-04T12:53:14.5673643Z       "id": "REQ-PAIR-3",
2026-06-04T12:53:14.5675124Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T12:53:14.5676797Z       "requiredStages": [
2026-06-04T12:53:14.5677924Z         "impl",
2026-06-04T12:53:14.5678910Z         "unit"
2026-06-04T12:53:14.5679934Z       ],
2026-06-04T12:53:14.5680867Z       "stages": {
2026-06-04T12:53:14.5681869Z         "doc": {
2026-06-04T12:53:14.5682913Z           "complete": false,
2026-06-04T12:53:14.5684152Z           "evidence": []
2026-06-04T12:53:14.5685238Z         },
2026-06-04T12:53:14.5686177Z         "impl": {
2026-06-04T12:53:14.5687224Z           "complete": true,
2026-06-04T12:53:14.5688376Z           "evidence": [
2026-06-04T12:53:14.5689483Z             {
2026-06-04T12:53:14.5690559Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5691960Z               "line": 793
2026-06-04T12:53:14.5693066Z             },
2026-06-04T12:53:14.5694044Z             {
2026-06-04T12:53:14.5695127Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5696524Z               "line": 829
2026-06-04T12:53:14.5704826Z             },
2026-06-04T12:53:14.5706187Z             {
2026-06-04T12:53:14.5707285Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5708708Z               "line": 889
2026-06-04T12:53:14.5710225Z             }
2026-06-04T12:53:14.5711198Z           ]
2026-06-04T12:53:14.5712130Z         },
2026-06-04T12:53:14.5713082Z         "int": {
2026-06-04T12:53:14.5714119Z           "complete": false,
2026-06-04T12:53:14.5715295Z           "evidence": []
2026-06-04T12:53:14.5716383Z         },
2026-06-04T12:53:14.5717320Z         "unit": {
2026-06-04T12:53:14.5718360Z           "complete": true,
2026-06-04T12:53:14.5719553Z           "evidence": [
2026-06-04T12:53:14.5720626Z             {
2026-06-04T12:53:14.5721701Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5723078Z               "line": 1250
2026-06-04T12:53:14.5724187Z             },
2026-06-04T12:53:14.5725150Z             {
2026-06-04T12:53:14.5726226Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5727612Z               "line": 1267
2026-06-04T12:53:14.5728713Z             },
2026-06-04T12:53:14.5729736Z             {
2026-06-04T12:53:14.5731136Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5732572Z               "line": 1281
2026-06-04T12:53:14.5733686Z             },
2026-06-04T12:53:14.5734659Z             {
2026-06-04T12:53:14.5735904Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5737306Z               "line": 1297
2026-06-04T12:53:14.5738421Z             },
2026-06-04T12:53:14.5739448Z             {
2026-06-04T12:53:14.5740536Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5741928Z               "line": 1318
2026-06-04T12:53:14.5743041Z             },
2026-06-04T12:53:14.5744005Z             {
2026-06-04T12:53:14.5745077Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5746457Z               "line": 1334
2026-06-04T12:53:14.5747563Z             },
2026-06-04T12:53:14.5748532Z             {
2026-06-04T12:53:14.5750137Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5752237Z               "line": 1347
2026-06-04T12:53:14.5753556Z             },
2026-06-04T12:53:14.5754754Z             {
2026-06-04T12:53:14.5755975Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5757622Z               "line": 1356
2026-06-04T12:53:14.5758883Z             }
2026-06-04T12:53:14.5760209Z           ]
2026-06-04T12:53:14.5761197Z         }
2026-06-04T12:53:14.5762192Z       }
2026-06-04T12:53:14.5763195Z     },
2026-06-04T12:53:14.5764333Z     {
2026-06-04T12:53:14.5765552Z       "id": "REQ-PAIR-4",
2026-06-04T12:53:14.5767038Z       "title": "Subnet naming on first pairing",
2026-06-04T12:53:14.5768601Z       "requiredStages": [
2026-06-04T12:53:14.5769993Z         "impl",
2026-06-04T12:53:14.5771311Z         "unit"
2026-06-04T12:53:14.5772284Z       ],
2026-06-04T12:53:14.5773217Z       "stages": {
2026-06-04T12:53:14.5774236Z         "doc": {
2026-06-04T12:53:14.5775291Z           "complete": false,
2026-06-04T12:53:14.5776474Z           "evidence": []
2026-06-04T12:53:14.5777574Z         },
2026-06-04T12:53:14.5778521Z         "impl": {
2026-06-04T12:53:14.5779621Z           "complete": true,
2026-06-04T12:53:14.5780781Z           "evidence": [
2026-06-04T12:53:14.5781852Z             {
2026-06-04T12:53:14.5783002Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:53:14.5784511Z               "line": 154
2026-06-04T12:53:14.5785683Z             }
2026-06-04T12:53:14.5786647Z           ]
2026-06-04T12:53:14.5787577Z         },
2026-06-04T12:53:14.5788519Z         "int": {
2026-06-04T12:53:14.5789600Z           "complete": false,
2026-06-04T12:53:14.5790796Z           "evidence": []
2026-06-04T12:53:14.5791888Z         },
2026-06-04T12:53:14.5792824Z         "unit": {
2026-06-04T12:53:14.5793897Z           "complete": true,
2026-06-04T12:53:14.5795071Z           "evidence": [
2026-06-04T12:53:14.5796171Z             {
2026-06-04T12:53:14.5797397Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5806368Z               "line": 972
2026-06-04T12:53:14.5807543Z             }
2026-06-04T12:53:14.5808504Z           ]
2026-06-04T12:53:14.5809530Z         }
2026-06-04T12:53:14.5810466Z       }
2026-06-04T12:53:14.5811389Z     },
2026-06-04T12:53:14.5812298Z     {
2026-06-04T12:53:14.5813267Z       "id": "REQ-PAIR-5",
2026-06-04T12:53:14.5815682Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T12:53:14.5818307Z       "requiredStages": [
2026-06-04T12:53:14.5819483Z         "impl",
2026-06-04T12:53:14.5820479Z         "unit"
2026-06-04T12:53:14.5821459Z       ],
2026-06-04T12:53:14.5822413Z       "stages": {
2026-06-04T12:53:14.5823425Z         "doc": {
2026-06-04T12:53:14.5824464Z           "complete": false,
2026-06-04T12:53:14.5825650Z           "evidence": []
2026-06-04T12:53:14.5826743Z         },
2026-06-04T12:53:14.5827687Z         "impl": {
2026-06-04T12:53:14.5828733Z           "complete": true,
2026-06-04T12:53:14.5829929Z           "evidence": [
2026-06-04T12:53:14.5831004Z             {
2026-06-04T12:53:14.5832820Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5834526Z               "line": 33
2026-06-04T12:53:14.5835610Z             },
2026-06-04T12:53:14.5836845Z             {
2026-06-04T12:53:14.5838151Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5839850Z               "line": 45
2026-06-04T12:53:14.5840940Z             },
2026-06-04T12:53:14.5841913Z             {
2026-06-04T12:53:14.5843230Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5844876Z               "line": 59
2026-06-04T12:53:14.5845967Z             },
2026-06-04T12:53:14.5846939Z             {
2026-06-04T12:53:14.5848153Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5849755Z               "line": 306
2026-06-04T12:53:14.5850857Z             }
2026-06-04T12:53:14.5851814Z           ]
2026-06-04T12:53:14.5852764Z         },
2026-06-04T12:53:14.5853700Z         "int": {
2026-06-04T12:53:14.5854754Z           "complete": false,
2026-06-04T12:53:14.5856052Z           "evidence": []
2026-06-04T12:53:14.5857143Z         },
2026-06-04T12:53:14.5858088Z         "unit": {
2026-06-04T12:53:14.5859139Z           "complete": true,
2026-06-04T12:53:14.5860346Z           "evidence": [
2026-06-04T12:53:14.5861411Z             {
2026-06-04T12:53:14.5862737Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5864396Z               "line": 72
2026-06-04T12:53:14.5865490Z             },
2026-06-04T12:53:14.5866464Z             {
2026-06-04T12:53:14.5867770Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5869462Z               "line": 82
2026-06-04T12:53:14.5870555Z             },
2026-06-04T12:53:14.5871525Z             {
2026-06-04T12:53:14.5872840Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5874500Z               "line": 92
2026-06-04T12:53:14.5875600Z             },
2026-06-04T12:53:14.5876583Z             {
2026-06-04T12:53:14.5877891Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5879579Z               "line": 102
2026-06-04T12:53:14.5880699Z             },
2026-06-04T12:53:14.5881674Z             {
2026-06-04T12:53:14.5883005Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:53:14.5884673Z               "line": 117
2026-06-04T12:53:14.5885770Z             },
2026-06-04T12:53:14.5886755Z             {
2026-06-04T12:53:14.5887977Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5889575Z               "line": 750
2026-06-04T12:53:14.5890678Z             },
2026-06-04T12:53:14.5891650Z             {
2026-06-04T12:53:14.5892879Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5894461Z               "line": 806
2026-06-04T12:53:14.5895554Z             },
2026-06-04T12:53:14.5896538Z             {
2026-06-04T12:53:14.5897761Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:53:14.5899367Z               "line": 1026
2026-06-04T12:53:14.5900486Z             }
2026-06-04T12:53:14.5901446Z           ]
2026-06-04T12:53:14.5902395Z         }
2026-06-04T12:53:14.5903400Z       }
2026-06-04T12:53:14.5911174Z     },
2026-06-04T12:53:14.5912437Z     {
2026-06-04T12:53:14.5913397Z       "id": "REQ-PAIR-6",
2026-06-04T12:53:14.5915591Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T12:53:14.5917979Z       "requiredStages": [
2026-06-04T12:53:14.5919108Z         "impl",
2026-06-04T12:53:14.5920187Z         "unit"
2026-06-04T12:53:14.5921171Z       ],
2026-06-04T12:53:14.5922100Z       "stages": {
2026-06-04T12:53:14.5923103Z         "doc": {
2026-06-04T12:53:14.5924143Z           "complete": false,
2026-06-04T12:53:14.5925323Z           "evidence": []
2026-06-04T12:53:14.5926408Z         },
2026-06-04T12:53:14.5927349Z         "impl": {
2026-06-04T12:53:14.5928705Z           "complete": true,
2026-06-04T12:53:14.5929962Z           "evidence": [
2026-06-04T12:53:14.5931048Z             {
2026-06-04T12:53:14.5932122Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5933677Z               "line": 829
2026-06-04T12:53:14.5934785Z             },
2026-06-04T12:53:14.5935807Z             {
2026-06-04T12:53:14.5936875Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5938274Z               "line": 889
2026-06-04T12:53:14.5939422Z             },
2026-06-04T12:53:14.5940401Z             {
2026-06-04T12:53:14.5941531Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:53:14.5942982Z               "line": 18
2026-06-04T12:53:14.5944066Z             },
2026-06-04T12:53:14.5945035Z             {
2026-06-04T12:53:14.5946152Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:53:14.5947593Z               "line": 49
2026-06-04T12:53:14.5948680Z             },
2026-06-04T12:53:14.5949683Z             {
2026-06-04T12:53:14.5950830Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:53:14.5952285Z               "line": 70
2026-06-04T12:53:14.5953376Z             }
2026-06-04T12:53:14.5954351Z           ]
2026-06-04T12:53:14.5955285Z         },
2026-06-04T12:53:14.5956279Z         "int": {
2026-06-04T12:53:14.5957321Z           "complete": false,
2026-06-04T12:53:14.5958510Z           "evidence": []
2026-06-04T12:53:14.5959640Z         },
2026-06-04T12:53:14.5960581Z         "unit": {
2026-06-04T12:53:14.5961623Z           "complete": true,
2026-06-04T12:53:14.5962781Z           "evidence": [
2026-06-04T12:53:14.5963842Z             {
2026-06-04T12:53:14.5964927Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5966316Z               "line": 1369
2026-06-04T12:53:14.5967423Z             },
2026-06-04T12:53:14.5968385Z             {
2026-06-04T12:53:14.5969509Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.5970901Z               "line": 1386
2026-06-04T12:53:14.5972006Z             },
2026-06-04T12:53:14.5972982Z             {
2026-06-04T12:53:14.5974103Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:53:14.5975537Z               "line": 132
2026-06-04T12:53:14.5976645Z             },
2026-06-04T12:53:14.5977610Z             {
2026-06-04T12:53:14.5978724Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:53:14.5980205Z               "line": 141
2026-06-04T12:53:14.5981295Z             }
2026-06-04T12:53:14.5982252Z           ]
2026-06-04T12:53:14.5983184Z         }
2026-06-04T12:53:14.5984101Z       }
2026-06-04T12:53:14.5985000Z     },
2026-06-04T12:53:14.5985907Z     {
2026-06-04T12:53:14.5986854Z       "id": "REQ-PAIR-7",
2026-06-04T12:53:14.5988409Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T12:53:14.5990247Z       "requiredStages": [],
2026-06-04T12:53:14.5991396Z       "stages": {
2026-06-04T12:53:14.5992398Z         "doc": {
2026-06-04T12:53:14.5993433Z           "complete": false,
2026-06-04T12:53:14.5994621Z           "evidence": []
2026-06-04T12:53:14.5995711Z         },
2026-06-04T12:53:14.5996646Z         "impl": {
2026-06-04T12:53:14.5997691Z           "complete": false,
2026-06-04T12:53:14.5998896Z           "evidence": []
2026-06-04T12:53:14.6000040Z         },
2026-06-04T12:53:14.6000988Z         "int": {
2026-06-04T12:53:14.6002024Z           "complete": false,
2026-06-04T12:53:14.6003206Z           "evidence": []
2026-06-04T12:53:14.6004293Z         },
2026-06-04T12:53:14.6011475Z         "unit": {
2026-06-04T12:53:14.6012587Z           "complete": false,
2026-06-04T12:53:14.6013774Z           "evidence": []
2026-06-04T12:53:14.6014884Z         }
2026-06-04T12:53:14.6015804Z       }
2026-06-04T12:53:14.6016707Z     },
2026-06-04T12:53:14.6017617Z     {
2026-06-04T12:53:14.6018567Z       "id": "REQ-REACH-1",
2026-06-04T12:53:14.6020094Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T12:53:14.6021776Z       "requiredStages": [
2026-06-04T12:53:14.6022899Z         "impl",
2026-06-04T12:53:14.6024201Z         "unit"
2026-06-04T12:53:14.6025244Z       ],
2026-06-04T12:53:14.6026174Z       "stages": {
2026-06-04T12:53:14.6027173Z         "doc": {
2026-06-04T12:53:14.6028372Z           "complete": false,
2026-06-04T12:53:14.6029604Z           "evidence": []
2026-06-04T12:53:14.6030705Z         },
2026-06-04T12:53:14.6031653Z         "impl": {
2026-06-04T12:53:14.6032690Z           "complete": true,
2026-06-04T12:53:14.6033850Z           "evidence": [
2026-06-04T12:53:14.6034929Z             {
2026-06-04T12:53:14.6036170Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:53:14.6037652Z               "line": 133
2026-06-04T12:53:14.6038750Z             },
2026-06-04T12:53:14.6039768Z             {
2026-06-04T12:53:14.6040911Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.6041352Z               "line": 76
2026-06-04T12:53:14.6041763Z             },
2026-06-04T12:53:14.6042181Z             {
2026-06-04T12:53:14.6042785Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.6043223Z               "line": 209
2026-06-04T12:53:14.6043644Z             },
2026-06-04T12:53:14.6044164Z             {
2026-06-04T12:53:14.6044765Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.6045203Z               "line": 386
2026-06-04T12:53:14.6045623Z             },
2026-06-04T12:53:14.6046040Z             {
2026-06-04T12:53:14.6046625Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.6047068Z               "line": 484
2026-06-04T12:53:14.6047477Z             },
2026-06-04T12:53:14.6047895Z             {
2026-06-04T12:53:14.6048481Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:53:14.6048926Z               "line": 39
2026-06-04T12:53:14.6049381Z             },
2026-06-04T12:53:14.6049789Z             {
2026-06-04T12:53:14.6050373Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.6050809Z               "line": 176
2026-06-04T12:53:14.6051236Z             },
2026-06-04T12:53:14.6051653Z             {
2026-06-04T12:53:14.6052240Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:53:14.6052691Z               "line": 82
2026-06-04T12:53:14.6053096Z             },
2026-06-04T12:53:14.6053517Z             {
2026-06-04T12:53:14.6054092Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:53:14.6054531Z               "line": 92
2026-06-04T12:53:14.6054938Z             },
2026-06-04T12:53:14.6055432Z             {
2026-06-04T12:53:14.6056047Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.6056480Z               "line": 177
2026-06-04T12:53:14.6056893Z             }
2026-06-04T12:53:14.6057297Z           ]
2026-06-04T12:53:14.6057712Z         },
2026-06-04T12:53:14.6058119Z         "int": {
2026-06-04T12:53:14.6058576Z           "complete": true,
2026-06-04T12:53:14.6059020Z           "evidence": [
2026-06-04T12:53:14.6059464Z             {
2026-06-04T12:53:14.6060127Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.6060566Z               "line": 375
2026-06-04T12:53:14.6060987Z             },
2026-06-04T12:53:14.6061403Z             {
2026-06-04T12:53:14.6062054Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.6062500Z               "line": 478
2026-06-04T12:53:14.6062910Z             }
2026-06-04T12:53:14.6063330Z           ]
2026-06-04T12:53:14.6063739Z         },
2026-06-04T12:53:14.6064165Z         "unit": {
2026-06-04T12:53:14.6064618Z           "complete": true,
2026-06-04T12:53:14.6065051Z           "evidence": [
2026-06-04T12:53:14.6065461Z             {
2026-06-04T12:53:14.6066043Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.6066489Z               "line": 585
2026-06-04T12:53:14.6066899Z             },
2026-06-04T12:53:14.6067317Z             {
2026-06-04T12:53:14.6067956Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:53:14.6068739Z               "line": 606
2026-06-04T12:53:14.6069644Z             },
2026-06-04T12:53:14.6070175Z             {
2026-06-04T12:53:14.6070961Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:53:14.6071691Z               "line": 337
2026-06-04T12:53:14.6072466Z             },
2026-06-04T12:53:14.6072974Z             {
2026-06-04T12:53:14.6073826Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T12:53:14.6074497Z               "line": 92
2026-06-04T12:53:14.6075017Z             },
2026-06-04T12:53:14.6075650Z             {
2026-06-04T12:53:14.6076326Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T12:53:14.6076819Z               "line": 176
2026-06-04T12:53:14.6077256Z             },
2026-06-04T12:53:14.6077682Z             {
2026-06-04T12:53:14.6078318Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:53:14.6078944Z               "line": 92
2026-06-04T12:53:14.6079528Z             },
2026-06-04T12:53:14.6080035Z             {
2026-06-04T12:53:14.6080856Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:53:14.6081319Z               "line": 123
2026-06-04T12:53:14.6081733Z             },
2026-06-04T12:53:14.6082171Z             {
2026-06-04T12:53:14.6082745Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.6083531Z               "line": 367
2026-06-04T12:53:14.6083956Z             },
2026-06-04T12:53:14.6084377Z             {
2026-06-04T12:53:14.6085004Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:53:14.6085445Z               "line": 112
2026-06-04T12:53:14.6085870Z             },
2026-06-04T12:53:14.6086277Z             {
2026-06-04T12:53:14.6086935Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:53:14.6087375Z               "line": 136
2026-06-04T12:53:14.6087797Z             },
2026-06-04T12:53:14.6088215Z             {
2026-06-04T12:53:14.6088833Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.6089472Z               "line": 396
2026-06-04T12:53:14.6090058Z             }
2026-06-04T12:53:14.6090483Z           ]
2026-06-04T12:53:14.6090895Z         }
2026-06-04T12:53:14.6091317Z       }
2026-06-04T12:53:14.6091745Z     },
2026-06-04T12:53:14.6092153Z     {
2026-06-04T12:53:14.6092611Z       "id": "REQ-REACH-2",
2026-06-04T12:53:14.6093426Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T12:53:14.6093910Z       "requiredStages": [],
2026-06-04T12:53:14.6094337Z       "stages": {
2026-06-04T12:53:14.6094764Z         "doc": {
2026-06-04T12:53:14.6095230Z           "complete": false,
2026-06-04T12:53:14.6095674Z           "evidence": []
2026-06-04T12:53:14.6103665Z         },
2026-06-04T12:53:14.6104244Z         "impl": {
2026-06-04T12:53:14.6104715Z           "complete": false,
2026-06-04T12:53:14.6105159Z           "evidence": []
2026-06-04T12:53:14.6105580Z         },
2026-06-04T12:53:14.6106037Z         "int": {
2026-06-04T12:53:14.6106496Z           "complete": false,
2026-06-04T12:53:14.6106949Z           "evidence": []
2026-06-04T12:53:14.6107379Z         },
2026-06-04T12:53:14.6107811Z         "unit": {
2026-06-04T12:53:14.6108267Z           "complete": false,
2026-06-04T12:53:14.6108726Z           "evidence": []
2026-06-04T12:53:14.6109143Z         }
2026-06-04T12:53:14.6109609Z       }
2026-06-04T12:53:14.6110022Z     },
2026-06-04T12:53:14.6110427Z     {
2026-06-04T12:53:14.6110963Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T12:53:14.6111965Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T12:53:14.6112443Z       "requiredStages": [
2026-06-04T12:53:14.6112875Z         "impl",
2026-06-04T12:53:14.6113288Z         "unit"
2026-06-04T12:53:14.6113706Z       ],
2026-06-04T12:53:14.6114125Z       "stages": {
2026-06-04T12:53:14.6114546Z         "doc": {
2026-06-04T12:53:14.6115003Z           "complete": false,
2026-06-04T12:53:14.6115454Z           "evidence": []
2026-06-04T12:53:14.6115872Z         },
2026-06-04T12:53:14.6116293Z         "impl": {
2026-06-04T12:53:14.6117206Z           "complete": true,
2026-06-04T12:53:14.6117682Z           "evidence": [
2026-06-04T12:53:14.6118107Z             {
2026-06-04T12:53:14.6118710Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6119373Z               "line": 18
2026-06-04T12:53:14.6119805Z             },
2026-06-04T12:53:14.6120215Z             {
2026-06-04T12:53:14.6120816Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6121245Z               "line": 35
2026-06-04T12:53:14.6121664Z             },
2026-06-04T12:53:14.6122068Z             {
2026-06-04T12:53:14.6122667Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6123105Z               "line": 65
2026-06-04T12:53:14.6123515Z             }
2026-06-04T12:53:14.6123935Z           ]
2026-06-04T12:53:14.6124343Z         },
2026-06-04T12:53:14.6124770Z         "int": {
2026-06-04T12:53:14.6125227Z           "complete": false,
2026-06-04T12:53:14.6125679Z           "evidence": []
2026-06-04T12:53:14.6126105Z         },
2026-06-04T12:53:14.6126525Z         "unit": {
2026-06-04T12:53:14.6126984Z           "complete": true,
2026-06-04T12:53:14.6127419Z           "evidence": [
2026-06-04T12:53:14.6127850Z             {
2026-06-04T12:53:14.6128444Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6128891Z               "line": 170
2026-06-04T12:53:14.6129344Z             },
2026-06-04T12:53:14.6129752Z             {
2026-06-04T12:53:14.6130355Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6130790Z               "line": 184
2026-06-04T12:53:14.6131214Z             },
2026-06-04T12:53:14.6131620Z             {
2026-06-04T12:53:14.6132213Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6132660Z               "line": 193
2026-06-04T12:53:14.6133072Z             }
2026-06-04T12:53:14.6133489Z           ]
2026-06-04T12:53:14.6133898Z         }
2026-06-04T12:53:14.6134317Z       }
2026-06-04T12:53:14.6134721Z     },
2026-06-04T12:53:14.6135153Z     {
2026-06-04T12:53:14.6135656Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T12:53:14.6136434Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T12:53:14.6136922Z       "requiredStages": [
2026-06-04T12:53:14.6137340Z         "impl",
2026-06-04T12:53:14.6137765Z         "unit"
2026-06-04T12:53:14.6138174Z       ],
2026-06-04T12:53:14.6138609Z       "stages": {
2026-06-04T12:53:14.6139025Z         "doc": {
2026-06-04T12:53:14.6139518Z           "complete": false,
2026-06-04T12:53:14.6139973Z           "evidence": []
2026-06-04T12:53:14.6140385Z         },
2026-06-04T12:53:14.6140816Z         "impl": {
2026-06-04T12:53:14.6141267Z           "complete": true,
2026-06-04T12:53:14.6141712Z           "evidence": [
2026-06-04T12:53:14.6142135Z             {
2026-06-04T12:53:14.6142752Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.6143203Z               "line": 262
2026-06-04T12:53:14.6143610Z             }
2026-06-04T12:53:14.6144029Z           ]
2026-06-04T12:53:14.6144442Z         },
2026-06-04T12:53:14.6144867Z         "int": {
2026-06-04T12:53:14.6145334Z           "complete": false,
2026-06-04T12:53:14.6145834Z           "evidence": []
2026-06-04T12:53:14.6146257Z         },
2026-06-04T12:53:14.6146675Z         "unit": {
2026-06-04T12:53:14.6147139Z           "complete": true,
2026-06-04T12:53:14.6147569Z           "evidence": [
2026-06-04T12:53:14.6147990Z             {
2026-06-04T12:53:14.6148611Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.6149050Z               "line": 429
2026-06-04T12:53:14.6149507Z             }
2026-06-04T12:53:14.6149917Z           ]
2026-06-04T12:53:14.6150330Z         }
2026-06-04T12:53:14.6150735Z       }
2026-06-04T12:53:14.6151148Z     },
2026-06-04T12:53:14.6151563Z     {
2026-06-04T12:53:14.6152029Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T12:53:14.6153008Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T12:53:14.6153717Z       "requiredStages": [
2026-06-04T12:53:14.6154171Z         "impl",
2026-06-04T12:53:14.6154588Z         "unit",
2026-06-04T12:53:14.6155013Z         "int"
2026-06-04T12:53:14.6155564Z       ],
2026-06-04T12:53:14.6155991Z       "stages": {
2026-06-04T12:53:14.6156420Z         "doc": {
2026-06-04T12:53:14.6156875Z           "complete": false,
2026-06-04T12:53:14.6157323Z           "evidence": []
2026-06-04T12:53:14.6157733Z         },
2026-06-04T12:53:14.6158164Z         "impl": {
2026-06-04T12:53:14.6158621Z           "complete": true,
2026-06-04T12:53:14.6159054Z           "evidence": [
2026-06-04T12:53:14.6159522Z             {
2026-06-04T12:53:14.6160093Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.6160533Z               "line": 24
2026-06-04T12:53:14.6160945Z             },
2026-06-04T12:53:14.6161362Z             {
2026-06-04T12:53:14.6161965Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6162404Z               "line": 22
2026-06-04T12:53:14.6162820Z             }
2026-06-04T12:53:14.6163243Z           ]
2026-06-04T12:53:14.6163655Z         },
2026-06-04T12:53:14.6164072Z         "int": {
2026-06-04T12:53:14.6164543Z           "complete": true,
2026-06-04T12:53:14.6164998Z           "evidence": [
2026-06-04T12:53:14.6165408Z             {
2026-06-04T12:53:14.6166030Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.6166471Z               "line": 202
2026-06-04T12:53:14.6166896Z             }
2026-06-04T12:53:14.6167304Z           ]
2026-06-04T12:53:14.6167722Z         },
2026-06-04T12:53:14.6168153Z         "unit": {
2026-06-04T12:53:14.6168611Z           "complete": true,
2026-06-04T12:53:14.6169058Z           "evidence": [
2026-06-04T12:53:14.6169510Z             {
2026-06-04T12:53:14.6170085Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.6170522Z               "line": 163
2026-06-04T12:53:14.6170946Z             },
2026-06-04T12:53:14.6171365Z             {
2026-06-04T12:53:14.6171928Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.6172374Z               "line": 186
2026-06-04T12:53:14.6172781Z             },
2026-06-04T12:53:14.6173204Z             {
2026-06-04T12:53:14.6173774Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:53:14.6174227Z               "line": 195
2026-06-04T12:53:14.6174652Z             },
2026-06-04T12:53:14.6175067Z             {
2026-06-04T12:53:14.6175708Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6176331Z               "line": 195
2026-06-04T12:53:14.6176806Z             },
2026-06-04T12:53:14.6177289Z             {
2026-06-04T12:53:14.6177984Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6178462Z               "line": 209
2026-06-04T12:53:14.6179029Z             },
2026-06-04T12:53:14.6187526Z             {
2026-06-04T12:53:14.6188337Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6188827Z               "line": 228
2026-06-04T12:53:14.6189462Z             },
2026-06-04T12:53:14.6189922Z             {
2026-06-04T12:53:14.6190680Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6191138Z               "line": 248
2026-06-04T12:53:14.6191562Z             },
2026-06-04T12:53:14.6191966Z             {
2026-06-04T12:53:14.6192557Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6193007Z               "line": 264
2026-06-04T12:53:14.6193414Z             },
2026-06-04T12:53:14.6193830Z             {
2026-06-04T12:53:14.6194416Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:53:14.6194863Z               "line": 279
2026-06-04T12:53:14.6195278Z             }
2026-06-04T12:53:14.6195691Z           ]
2026-06-04T12:53:14.6196213Z         }
2026-06-04T12:53:14.6196783Z       }
2026-06-04T12:53:14.6197239Z     },
2026-06-04T12:53:14.6197669Z     {
2026-06-04T12:53:14.6198178Z       "id": "REQ-SEAM-INJECT",
2026-06-04T12:53:14.6199662Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T12:53:14.6200194Z       "requiredStages": [
2026-06-04T12:53:14.6200629Z         "impl",
2026-06-04T12:53:14.6201051Z         "unit"
2026-06-04T12:53:14.6201632Z       ],
2026-06-04T12:53:14.6202056Z       "stages": {
2026-06-04T12:53:14.6202487Z         "doc": {
2026-06-04T12:53:14.6202945Z           "complete": false,
2026-06-04T12:53:14.6203401Z           "evidence": []
2026-06-04T12:53:14.6203820Z         },
2026-06-04T12:53:14.6204243Z         "impl": {
2026-06-04T12:53:14.6204699Z           "complete": true,
2026-06-04T12:53:14.6205139Z           "evidence": [
2026-06-04T12:53:14.6205566Z             {
2026-06-04T12:53:14.6206163Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6206614Z               "line": 19
2026-06-04T12:53:14.6207034Z             },
2026-06-04T12:53:14.6207446Z             {
2026-06-04T12:53:14.6208213Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6208703Z               "line": 104
2026-06-04T12:53:14.6209224Z             }
2026-06-04T12:53:14.6209831Z           ]
2026-06-04T12:53:14.6210249Z         },
2026-06-04T12:53:14.6210680Z         "int": {
2026-06-04T12:53:14.6211159Z           "complete": false,
2026-06-04T12:53:14.6211610Z           "evidence": []
2026-06-04T12:53:14.6212026Z         },
2026-06-04T12:53:14.6212455Z         "unit": {
2026-06-04T12:53:14.6212900Z           "complete": true,
2026-06-04T12:53:14.6213346Z           "evidence": [
2026-06-04T12:53:14.6213770Z             {
2026-06-04T12:53:14.6214370Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6214815Z               "line": 222
2026-06-04T12:53:14.6215230Z             },
2026-06-04T12:53:14.6215802Z             {
2026-06-04T12:53:14.6216456Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:53:14.6216940Z               "line": 236
2026-06-04T12:53:14.6217378Z             }
2026-06-04T12:53:14.6217809Z           ]
2026-06-04T12:53:14.6218244Z         }
2026-06-04T12:53:14.6218678Z       }
2026-06-04T12:53:14.6219107Z     },
2026-06-04T12:53:14.6219583Z     {
2026-06-04T12:53:14.6220234Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T12:53:14.6220962Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T12:53:14.6221432Z       "requiredStages": [
2026-06-04T12:53:14.6221862Z         "impl",
2026-06-04T12:53:14.6222275Z         "unit"
2026-06-04T12:53:14.6222693Z       ],
2026-06-04T12:53:14.6223116Z       "stages": {
2026-06-04T12:53:14.6223541Z         "doc": {
2026-06-04T12:53:14.6224008Z           "complete": false,
2026-06-04T12:53:14.6224450Z           "evidence": []
2026-06-04T12:53:14.6224876Z         },
2026-06-04T12:53:14.6225296Z         "impl": {
2026-06-04T12:53:14.6225759Z           "complete": true,
2026-06-04T12:53:14.6226194Z           "evidence": [
2026-06-04T12:53:14.6226617Z             {
2026-06-04T12:53:14.6227213Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6227653Z               "line": 18
2026-06-04T12:53:14.6228087Z             },
2026-06-04T12:53:14.6228496Z             {
2026-06-04T12:53:14.6229095Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6229926Z               "line": 263
2026-06-04T12:53:14.6230355Z             }
2026-06-04T12:53:14.6230780Z           ]
2026-06-04T12:53:14.6231186Z         },
2026-06-04T12:53:14.6231607Z         "int": {
2026-06-04T12:53:14.6232067Z           "complete": false,
2026-06-04T12:53:14.6232517Z           "evidence": []
2026-06-04T12:53:14.6232926Z         },
2026-06-04T12:53:14.6233354Z         "unit": {
2026-06-04T12:53:14.6233822Z           "complete": true,
2026-06-04T12:53:14.6234260Z           "evidence": [
2026-06-04T12:53:14.6234677Z             {
2026-06-04T12:53:14.6235262Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6235715Z               "line": 429
2026-06-04T12:53:14.6236128Z             },
2026-06-04T12:53:14.6236547Z             {
2026-06-04T12:53:14.6237359Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6237824Z               "line": 439
2026-06-04T12:53:14.6238246Z             }
2026-06-04T12:53:14.6238658Z           ]
2026-06-04T12:53:14.6239314Z         }
2026-06-04T12:53:14.6239742Z       }
2026-06-04T12:53:14.6240193Z     },
2026-06-04T12:53:14.6240612Z     {
2026-06-04T12:53:14.6241092Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T12:53:14.6241844Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T12:53:14.6242318Z       "requiredStages": [
2026-06-04T12:53:14.6242746Z         "impl",
2026-06-04T12:53:14.6243169Z         "unit",
2026-06-04T12:53:14.6243594Z         "int"
2026-06-04T12:53:14.6244019Z       ],
2026-06-04T12:53:14.6244442Z       "stages": {
2026-06-04T12:53:14.6244871Z         "doc": {
2026-06-04T12:53:14.6245326Z           "complete": false,
2026-06-04T12:53:14.6245779Z           "evidence": []
2026-06-04T12:53:14.6246190Z         },
2026-06-04T12:53:14.6246620Z         "impl": {
2026-06-04T12:53:14.6247082Z           "complete": true,
2026-06-04T12:53:14.6247529Z           "evidence": [
2026-06-04T12:53:14.6247954Z             {
2026-06-04T12:53:14.6248538Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:53:14.6248992Z               "line": 19
2026-06-04T12:53:14.6249450Z             },
2026-06-04T12:53:14.6249879Z             {
2026-06-04T12:53:14.6250450Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T12:53:14.6250893Z               "line": 12
2026-06-04T12:53:14.6251314Z             },
2026-06-04T12:53:14.6251727Z             {
2026-06-04T12:53:14.6252319Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6252754Z               "line": 164
2026-06-04T12:53:14.6253176Z             }
2026-06-04T12:53:14.6253595Z           ]
2026-06-04T12:53:14.6254007Z         },
2026-06-04T12:53:14.6254432Z         "int": {
2026-06-04T12:53:14.6254892Z           "complete": true,
2026-06-04T12:53:14.6255426Z           "evidence": [
2026-06-04T12:53:14.6255838Z             {
2026-06-04T12:53:14.6256463Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.6256917Z               "line": 201
2026-06-04T12:53:14.6257329Z             }
2026-06-04T12:53:14.6257757Z           ]
2026-06-04T12:53:14.6258166Z         },
2026-06-04T12:53:14.6258586Z         "unit": {
2026-06-04T12:53:14.6259033Z           "complete": true,
2026-06-04T12:53:14.6259529Z           "evidence": [
2026-06-04T12:53:14.6259959Z             {
2026-06-04T12:53:14.6260546Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:53:14.6260998Z               "line": 161
2026-06-04T12:53:14.6261415Z             },
2026-06-04T12:53:14.6261835Z             {
2026-06-04T12:53:14.6262421Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:53:14.6262869Z               "line": 168
2026-06-04T12:53:14.6263293Z             },
2026-06-04T12:53:14.6263704Z             {
2026-06-04T12:53:14.6264297Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:53:14.6264741Z               "line": 191
2026-06-04T12:53:14.6265164Z             },
2026-06-04T12:53:14.6272580Z             {
2026-06-04T12:53:14.6273349Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T12:53:14.6273850Z               "line": 106
2026-06-04T12:53:14.6274269Z             },
2026-06-04T12:53:14.6274690Z             {
2026-06-04T12:53:14.6275270Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T12:53:14.6275717Z               "line": 123
2026-06-04T12:53:14.6276130Z             },
2026-06-04T12:53:14.6276553Z             {
2026-06-04T12:53:14.6277142Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T12:53:14.6277581Z               "line": 137
2026-06-04T12:53:14.6278010Z             }
2026-06-04T12:53:14.6278414Z           ]
2026-06-04T12:53:14.6278831Z         }
2026-06-04T12:53:14.6279302Z       }
2026-06-04T12:53:14.6279723Z     },
2026-06-04T12:53:14.6280141Z     {
2026-06-04T12:53:14.6280606Z       "id": "REQ-SEAM-RESUME",
2026-06-04T12:53:14.6281897Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T12:53:14.6282379Z       "requiredStages": [
2026-06-04T12:53:14.6282809Z         "impl",
2026-06-04T12:53:14.6283379Z         "unit"
2026-06-04T12:53:14.6283806Z       ],
2026-06-04T12:53:14.6284243Z       "stages": {
2026-06-04T12:53:14.6284659Z         "doc": {
2026-06-04T12:53:14.6285130Z           "complete": false,
2026-06-04T12:53:14.6285575Z           "evidence": []
2026-06-04T12:53:14.6286001Z         },
2026-06-04T12:53:14.6286416Z         "impl": {
2026-06-04T12:53:14.6286880Z           "complete": true,
2026-06-04T12:53:14.6287327Z           "evidence": [
2026-06-04T12:53:14.6287738Z             {
2026-06-04T12:53:14.6288333Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:53:14.6288769Z               "line": 19
2026-06-04T12:53:14.6289244Z             }
2026-06-04T12:53:14.6289659Z           ]
2026-06-04T12:53:14.6290079Z         },
2026-06-04T12:53:14.6290508Z         "int": {
2026-06-04T12:53:14.6290975Z           "complete": false,
2026-06-04T12:53:14.6291438Z           "evidence": []
2026-06-04T12:53:14.6291850Z         },
2026-06-04T12:53:14.6292283Z         "unit": {
2026-06-04T12:53:14.6292754Z           "complete": true,
2026-06-04T12:53:14.6293202Z           "evidence": [
2026-06-04T12:53:14.6293620Z             {
2026-06-04T12:53:14.6294209Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:53:14.6294661Z               "line": 168
2026-06-04T12:53:14.6295074Z             },
2026-06-04T12:53:14.6295492Z             {
2026-06-04T12:53:14.6296082Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:53:14.6296564Z               "line": 187
2026-06-04T12:53:14.6296990Z             },
2026-06-04T12:53:14.6297403Z             {
2026-06-04T12:53:14.6297992Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:53:14.6298426Z               "line": 205
2026-06-04T12:53:14.6298847Z             }
2026-06-04T12:53:14.6299293Z           ]
2026-06-04T12:53:14.6299728Z         }
2026-06-04T12:53:14.6300152Z       }
2026-06-04T12:53:14.6300562Z     },
2026-06-04T12:53:14.6300979Z     {
2026-06-04T12:53:14.6301455Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T12:53:14.6301971Z       "title": "spawn-session seam",
2026-06-04T12:53:14.6302431Z       "requiredStages": [
2026-06-04T12:53:14.6302863Z         "impl",
2026-06-04T12:53:14.6303292Z         "unit"
2026-06-04T12:53:14.6303698Z       ],
2026-06-04T12:53:14.6304138Z       "stages": {
2026-06-04T12:53:14.6304556Z         "doc": {
2026-06-04T12:53:14.6305023Z           "complete": false,
2026-06-04T12:53:14.6305464Z           "evidence": []
2026-06-04T12:53:14.6305882Z         },
2026-06-04T12:53:14.6306317Z         "impl": {
2026-06-04T12:53:14.6306769Z           "complete": true,
2026-06-04T12:53:14.6307217Z           "evidence": [
2026-06-04T12:53:14.6307631Z             {
2026-06-04T12:53:14.6308272Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6308702Z               "line": 20
2026-06-04T12:53:14.6309132Z             }
2026-06-04T12:53:14.6309604Z           ]
2026-06-04T12:53:14.6310028Z         },
2026-06-04T12:53:14.6310455Z         "int": {
2026-06-04T12:53:14.6310921Z           "complete": false,
2026-06-04T12:53:14.6311373Z           "evidence": []
2026-06-04T12:53:14.6311783Z         },
2026-06-04T12:53:14.6312206Z         "unit": {
2026-06-04T12:53:14.6312668Z           "complete": true,
2026-06-04T12:53:14.6313103Z           "evidence": [
2026-06-04T12:53:14.6313529Z             {
2026-06-04T12:53:14.6314149Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6314599Z               "line": 397
2026-06-04T12:53:14.6315011Z             },
2026-06-04T12:53:14.6315433Z             {
2026-06-04T12:53:14.6316062Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6316498Z               "line": 404
2026-06-04T12:53:14.6316922Z             },
2026-06-04T12:53:14.6317333Z             {
2026-06-04T12:53:14.6318145Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6318611Z               "line": 414
2026-06-04T12:53:14.6319034Z             },
2026-06-04T12:53:14.6319714Z             {
2026-06-04T12:53:14.6320343Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6320793Z               "line": 420
2026-06-04T12:53:14.6321206Z             },
2026-06-04T12:53:14.6321623Z             {
2026-06-04T12:53:14.6322249Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6322698Z               "line": 440
2026-06-04T12:53:14.6323117Z             },
2026-06-04T12:53:14.6323525Z             {
2026-06-04T12:53:14.6324158Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:53:14.6324597Z               "line": 473
2026-06-04T12:53:14.6325015Z             }
2026-06-04T12:53:14.6325453Z           ]
2026-06-04T12:53:14.6325877Z         }
2026-06-04T12:53:14.6326293Z       }
2026-06-04T12:53:14.6326696Z     },
2026-06-04T12:53:14.6327107Z     {
2026-06-04T12:53:14.6327589Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T12:53:14.6328468Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T12:53:14.6328943Z       "requiredStages": [
2026-06-04T12:53:14.6329414Z         "impl",
2026-06-04T12:53:14.6329840Z         "unit"
2026-06-04T12:53:14.6330249Z       ],
2026-06-04T12:53:14.6330685Z       "stages": {
2026-06-04T12:53:14.6331100Z         "doc": {
2026-06-04T12:53:14.6331566Z           "complete": false,
2026-06-04T12:53:14.6332010Z           "evidence": []
2026-06-04T12:53:14.6332429Z         },
2026-06-04T12:53:14.6332854Z         "impl": {
2026-06-04T12:53:14.6333308Z           "complete": true,
2026-06-04T12:53:14.6333751Z           "evidence": [
2026-06-04T12:53:14.6334158Z             {
2026-06-04T12:53:14.6334881Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6335312Z               "line": 28
2026-06-04T12:53:14.6335730Z             },
2026-06-04T12:53:14.6336234Z             {
2026-06-04T12:53:14.6336932Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6337379Z               "line": 83
2026-06-04T12:53:14.6337804Z             }
2026-06-04T12:53:14.6338225Z           ]
2026-06-04T12:53:14.6338636Z         },
2026-06-04T12:53:14.6339058Z         "int": {
2026-06-04T12:53:14.6339569Z           "complete": false,
2026-06-04T12:53:14.6340014Z           "evidence": []
2026-06-04T12:53:14.6340432Z         },
2026-06-04T12:53:14.6340852Z         "unit": {
2026-06-04T12:53:14.6341318Z           "complete": true,
2026-06-04T12:53:14.6341753Z           "evidence": [
2026-06-04T12:53:14.6342170Z             {
2026-06-04T12:53:14.6342866Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6343303Z               "line": 248
2026-06-04T12:53:14.6343728Z             },
2026-06-04T12:53:14.6344145Z             {
2026-06-04T12:53:14.6344837Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6345287Z               "line": 259
2026-06-04T12:53:14.6345712Z             }
2026-06-04T12:53:14.6346130Z           ]
2026-06-04T12:53:14.6346545Z         }
2026-06-04T12:53:14.6346975Z       }
2026-06-04T12:53:14.6347381Z     },
2026-06-04T12:53:14.6347795Z     {
2026-06-04T12:53:14.6348237Z       "id": "REQ-SEC-1",
2026-06-04T12:53:14.6356575Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T12:53:14.6357110Z       "requiredStages": [
2026-06-04T12:53:14.6357537Z         "impl",
2026-06-04T12:53:14.6357975Z         "unit"
2026-06-04T12:53:14.6358388Z       ],
2026-06-04T12:53:14.6358829Z       "stages": {
2026-06-04T12:53:14.6359317Z         "doc": {
2026-06-04T12:53:14.6359800Z           "complete": false,
2026-06-04T12:53:14.6360251Z           "evidence": []
2026-06-04T12:53:14.6360659Z         },
2026-06-04T12:53:14.6361096Z         "impl": {
2026-06-04T12:53:14.6361553Z           "complete": true,
2026-06-04T12:53:14.6362238Z           "evidence": [
2026-06-04T12:53:14.6362662Z             {
2026-06-04T12:53:14.6363297Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.6363885Z               "line": 84
2026-06-04T12:53:14.6364301Z             },
2026-06-04T12:53:14.6364721Z             {
2026-06-04T12:53:14.6365332Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.6365781Z               "line": 114
2026-06-04T12:53:14.6366202Z             },
2026-06-04T12:53:14.6366612Z             {
2026-06-04T12:53:14.6367233Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.6367671Z               "line": 128
2026-06-04T12:53:14.6368089Z             },
2026-06-04T12:53:14.6368501Z             {
2026-06-04T12:53:14.6369095Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6369594Z               "line": 108
2026-06-04T12:53:14.6370007Z             },
2026-06-04T12:53:14.6370426Z             {
2026-06-04T12:53:14.6371026Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6371480Z               "line": 129
2026-06-04T12:53:14.6371893Z             },
2026-06-04T12:53:14.6372319Z             {
2026-06-04T12:53:14.6372921Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6373360Z               "line": 142
2026-06-04T12:53:14.6373781Z             },
2026-06-04T12:53:14.6374191Z             {
2026-06-04T12:53:14.6374791Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6375229Z               "line": 208
2026-06-04T12:53:14.6375653Z             },
2026-06-04T12:53:14.6376076Z             {
2026-06-04T12:53:14.6376666Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6377112Z               "line": 234
2026-06-04T12:53:14.6377526Z             },
2026-06-04T12:53:14.6377945Z             {
2026-06-04T12:53:14.6378472Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.6378922Z               "line": 919
2026-06-04T12:53:14.6379392Z             }
2026-06-04T12:53:14.6379804Z           ]
2026-06-04T12:53:14.6380225Z         },
2026-06-04T12:53:14.6380637Z         "int": {
2026-06-04T12:53:14.6381121Z           "complete": false,
2026-06-04T12:53:14.6381556Z           "evidence": []
2026-06-04T12:53:14.6381975Z         },
2026-06-04T12:53:14.6382404Z         "unit": {
2026-06-04T12:53:14.6382857Z           "complete": true,
2026-06-04T12:53:14.6383304Z           "evidence": [
2026-06-04T12:53:14.6383710Z             {
2026-06-04T12:53:14.6384329Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.6384771Z               "line": 140
2026-06-04T12:53:14.6385192Z             },
2026-06-04T12:53:14.6385713Z             {
2026-06-04T12:53:14.6386326Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.6386768Z               "line": 186
2026-06-04T12:53:14.6387179Z             },
2026-06-04T12:53:14.6387590Z             {
2026-06-04T12:53:14.6388204Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:53:14.6388649Z               "line": 218
2026-06-04T12:53:14.6389064Z             },
2026-06-04T12:53:14.6389511Z             {
2026-06-04T12:53:14.6390157Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T12:53:14.6390594Z               "line": 128
2026-06-04T12:53:14.6391017Z             },
2026-06-04T12:53:14.6391425Z             {
2026-06-04T12:53:14.6392028Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6392476Z               "line": 248
2026-06-04T12:53:14.6392888Z             },
2026-06-04T12:53:14.6393303Z             {
2026-06-04T12:53:14.6393892Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6394343Z               "line": 275
2026-06-04T12:53:14.6394750Z             },
2026-06-04T12:53:14.6395169Z             {
2026-06-04T12:53:14.6395768Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6396202Z               "line": 299
2026-06-04T12:53:14.6396769Z             },
2026-06-04T12:53:14.6397194Z             {
2026-06-04T12:53:14.6397791Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6398366Z               "line": 310
2026-06-04T12:53:14.6398777Z             },
2026-06-04T12:53:14.6399236Z             {
2026-06-04T12:53:14.6399837Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6400281Z               "line": 334
2026-06-04T12:53:14.6400691Z             },
2026-06-04T12:53:14.6401107Z             {
2026-06-04T12:53:14.6401702Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:53:14.6402143Z               "line": 350
2026-06-04T12:53:14.6402560Z             },
2026-06-04T12:53:14.6402968Z             {
2026-06-04T12:53:14.6403498Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.6403934Z               "line": 1173
2026-06-04T12:53:14.6404349Z             }
2026-06-04T12:53:14.6404766Z           ]
2026-06-04T12:53:14.6405171Z         }
2026-06-04T12:53:14.6405600Z       }
2026-06-04T12:53:14.6406003Z     },
2026-06-04T12:53:14.6406418Z     {
2026-06-04T12:53:14.6406869Z       "id": "REQ-START-1",
2026-06-04T12:53:14.6407948Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T12:53:14.6408422Z       "requiredStages": [
2026-06-04T12:53:14.6408838Z         "impl",
2026-06-04T12:53:14.6409307Z         "unit"
2026-06-04T12:53:14.6409719Z       ],
2026-06-04T12:53:14.6410156Z       "stages": {
2026-06-04T12:53:14.6410573Z         "doc": {
2026-06-04T12:53:14.6411058Z           "complete": false,
2026-06-04T12:53:14.6411507Z           "evidence": []
2026-06-04T12:53:14.6411916Z         },
2026-06-04T12:53:14.6412348Z         "impl": {
2026-06-04T12:53:14.6412801Z           "complete": true,
2026-06-04T12:53:14.6413251Z           "evidence": [
2026-06-04T12:53:14.6413655Z             {
2026-06-04T12:53:14.6414236Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T12:53:14.6414679Z               "line": 16
2026-06-04T12:53:14.6415097Z             }
2026-06-04T12:53:14.6415513Z           ]
2026-06-04T12:53:14.6415918Z         },
2026-06-04T12:53:14.6416339Z         "int": {
2026-06-04T12:53:14.6416798Z           "complete": false,
2026-06-04T12:53:14.6417247Z           "evidence": []
2026-06-04T12:53:14.6417658Z         },
2026-06-04T12:53:14.6418073Z         "unit": {
2026-06-04T12:53:14.6418529Z           "complete": true,
2026-06-04T12:53:14.6418961Z           "evidence": [
2026-06-04T12:53:14.6419417Z             {
2026-06-04T12:53:14.6419998Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T12:53:14.6420441Z               "line": 43
2026-06-04T12:53:14.6420857Z             },
2026-06-04T12:53:14.6421266Z             {
2026-06-04T12:53:14.6421844Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T12:53:14.6422276Z               "line": 59
2026-06-04T12:53:14.6422693Z             }
2026-06-04T12:53:14.6423099Z           ]
2026-06-04T12:53:14.6423514Z         }
2026-06-04T12:53:14.6423941Z       }
2026-06-04T12:53:14.6424349Z     },
2026-06-04T12:53:14.6424761Z     {
2026-06-04T12:53:14.6425218Z       "id": "REQ-START-2",
2026-06-04T12:53:14.6425971Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T12:53:14.6426431Z       "requiredStages": [
2026-06-04T12:53:14.6426859Z         "impl",
2026-06-04T12:53:14.6427287Z         "unit",
2026-06-04T12:53:14.6427707Z         "int"
2026-06-04T12:53:14.6428127Z       ],
2026-06-04T12:53:14.6428549Z       "stages": {
2026-06-04T12:53:14.6428974Z         "doc": {
2026-06-04T12:53:14.6429467Z           "complete": false,
2026-06-04T12:53:14.6429927Z           "evidence": []
2026-06-04T12:53:14.6430333Z         },
2026-06-04T12:53:14.6430767Z         "impl": {
2026-06-04T12:53:14.6431226Z           "complete": true,
2026-06-04T12:53:14.6437163Z           "evidence": [
2026-06-04T12:53:14.6437690Z             {
2026-06-04T12:53:14.6438308Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6438995Z               "line": 16
2026-06-04T12:53:14.6439498Z             },
2026-06-04T12:53:14.6439930Z             {
2026-06-04T12:53:14.6440521Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6441109Z               "line": 94
2026-06-04T12:53:14.6441532Z             },
2026-06-04T12:53:14.6441936Z             {
2026-06-04T12:53:14.6442529Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6442974Z               "line": 163
2026-06-04T12:53:14.6443375Z             }
2026-06-04T12:53:14.6443792Z           ]
2026-06-04T12:53:14.6444203Z         },
2026-06-04T12:53:14.6444624Z         "int": {
2026-06-04T12:53:14.6445073Z           "complete": true,
2026-06-04T12:53:14.6445517Z           "evidence": [
2026-06-04T12:53:14.6445933Z             {
2026-06-04T12:53:14.6446542Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.6446989Z               "line": 150
2026-06-04T12:53:14.6447394Z             }
2026-06-04T12:53:14.6447810Z           ]
2026-06-04T12:53:14.6448230Z         },
2026-06-04T12:53:14.6448660Z         "unit": {
2026-06-04T12:53:14.6449114Z           "complete": true,
2026-06-04T12:53:14.6449595Z           "evidence": [
2026-06-04T12:53:14.6450012Z             {
2026-06-04T12:53:14.6450595Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6451039Z               "line": 363
2026-06-04T12:53:14.6451445Z             },
2026-06-04T12:53:14.6451860Z             {
2026-06-04T12:53:14.6452444Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6452878Z               "line": 396
2026-06-04T12:53:14.6453298Z             }
2026-06-04T12:53:14.6453704Z           ]
2026-06-04T12:53:14.6454116Z         }
2026-06-04T12:53:14.6454521Z       }
2026-06-04T12:53:14.6454932Z     },
2026-06-04T12:53:14.6455341Z     {
2026-06-04T12:53:14.6455793Z       "id": "REQ-START-3",
2026-06-04T12:53:14.6456709Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T12:53:14.6457175Z       "requiredStages": [
2026-06-04T12:53:14.6457600Z         "impl",
2026-06-04T12:53:14.6458012Z         "unit",
2026-06-04T12:53:14.6458432Z         "int"
2026-06-04T12:53:14.6458853Z       ],
2026-06-04T12:53:14.6459301Z       "stages": {
2026-06-04T12:53:14.6459721Z         "doc": {
2026-06-04T12:53:14.6460173Z           "complete": false,
2026-06-04T12:53:14.6460619Z           "evidence": []
2026-06-04T12:53:14.6461022Z         },
2026-06-04T12:53:14.6461450Z         "impl": {
2026-06-04T12:53:14.6461896Z           "complete": true,
2026-06-04T12:53:14.6462331Z           "evidence": [
2026-06-04T12:53:14.6462748Z             {
2026-06-04T12:53:14.6463365Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:53:14.6463810Z               "line": 23
2026-06-04T12:53:14.6464218Z             },
2026-06-04T12:53:14.6464635Z             {
2026-06-04T12:53:14.6465263Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:53:14.6465697Z               "line": 167
2026-06-04T12:53:14.6466125Z             },
2026-06-04T12:53:14.6466533Z             {
2026-06-04T12:53:14.6467152Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:53:14.6467594Z               "line": 180
2026-06-04T12:53:14.6468008Z             },
2026-06-04T12:53:14.6468420Z             {
2026-06-04T12:53:14.6468996Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6469469Z               "line": 17
2026-06-04T12:53:14.6469876Z             },
2026-06-04T12:53:14.6470283Z             {
2026-06-04T12:53:14.6470864Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6471300Z               "line": 43
2026-06-04T12:53:14.6471717Z             },
2026-06-04T12:53:14.6472121Z             {
2026-06-04T12:53:14.6472706Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6473130Z               "line": 95
2026-06-04T12:53:14.6473542Z             }
2026-06-04T12:53:14.6473954Z           ]
2026-06-04T12:53:14.6474366Z         },
2026-06-04T12:53:14.6474976Z         "int": {
2026-06-04T12:53:14.6475461Z           "complete": true,
2026-06-04T12:53:14.6475904Z           "evidence": [
2026-06-04T12:53:14.6476471Z             {
2026-06-04T12:53:14.6477083Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:53:14.6477514Z               "line": 321
2026-06-04T12:53:14.6477935Z             }
2026-06-04T12:53:14.6478343Z           ]
2026-06-04T12:53:14.6478745Z         },
2026-06-04T12:53:14.6479209Z         "unit": {
2026-06-04T12:53:14.6479669Z           "complete": true,
2026-06-04T12:53:14.6480105Z           "evidence": [
2026-06-04T12:53:14.6480507Z             {
2026-06-04T12:53:14.6481122Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:53:14.6481566Z               "line": 245
2026-06-04T12:53:14.6481972Z             },
2026-06-04T12:53:14.6482384Z             {
2026-06-04T12:53:14.6482994Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:53:14.6483438Z               "line": 263
2026-06-04T12:53:14.6483860Z             },
2026-06-04T12:53:14.6484277Z             {
2026-06-04T12:53:14.6484889Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:53:14.6485330Z               "line": 273
2026-06-04T12:53:14.6485746Z             },
2026-06-04T12:53:14.6486245Z             {
2026-06-04T12:53:14.6486829Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6487264Z               "line": 364
2026-06-04T12:53:14.6487679Z             },
2026-06-04T12:53:14.6488090Z             {
2026-06-04T12:53:14.6488672Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6489112Z               "line": 397
2026-06-04T12:53:14.6489564Z             },
2026-06-04T12:53:14.6489981Z             {
2026-06-04T12:53:14.6490553Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:53:14.6491002Z               "line": 405
2026-06-04T12:53:14.6491416Z             }
2026-06-04T12:53:14.6491820Z           ]
2026-06-04T12:53:14.6492229Z         }
2026-06-04T12:53:14.6492638Z       }
2026-06-04T12:53:14.6493047Z     },
2026-06-04T12:53:14.6493450Z     {
2026-06-04T12:53:14.6493905Z       "id": "REQ-START-4",
2026-06-04T12:53:14.6494646Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T12:53:14.6495105Z       "requiredStages": [
2026-06-04T12:53:14.6495527Z         "impl",
2026-06-04T12:53:14.6496005Z         "unit"
2026-06-04T12:53:14.6496415Z       ],
2026-06-04T12:53:14.6496827Z       "stages": {
2026-06-04T12:53:14.6497245Z         "doc": {
2026-06-04T12:53:14.6497705Z           "complete": false,
2026-06-04T12:53:14.6498140Z           "evidence": []
2026-06-04T12:53:14.6498554Z         },
2026-06-04T12:53:14.6498970Z         "impl": {
2026-06-04T12:53:14.6499462Z           "complete": true,
2026-06-04T12:53:14.6499900Z           "evidence": [
2026-06-04T12:53:14.6500312Z             {
2026-06-04T12:53:14.6500932Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.6501366Z               "line": 249
2026-06-04T12:53:14.6501789Z             }
2026-06-04T12:53:14.6502197Z           ]
2026-06-04T12:53:14.6502608Z         },
2026-06-04T12:53:14.6503019Z         "int": {
2026-06-04T12:53:14.6503495Z           "complete": false,
2026-06-04T12:53:14.6503941Z           "evidence": []
2026-06-04T12:53:14.6504346Z         },
2026-06-04T12:53:14.6504772Z         "unit": {
2026-06-04T12:53:14.6505223Z           "complete": true,
2026-06-04T12:53:14.6505664Z           "evidence": [
2026-06-04T12:53:14.6506067Z             {
2026-06-04T12:53:14.6506683Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:53:14.6507129Z               "line": 442
2026-06-04T12:53:14.6507536Z             }
2026-06-04T12:53:14.6507949Z           ]
2026-06-04T12:53:14.6508355Z         }
2026-06-04T12:53:14.6508776Z       }
2026-06-04T12:53:14.6509206Z     },
2026-06-04T12:53:14.6509620Z     {
2026-06-04T12:53:14.6510083Z       "id": "REQ-STORE-1",
2026-06-04T12:53:14.6515909Z       "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-04T12:53:14.6516695Z       "requiredStages": [
2026-06-04T12:53:14.6523621Z         "impl",
2026-06-04T12:53:14.6524207Z         "unit"
2026-06-04T12:53:14.6524650Z       ],
2026-06-04T12:53:14.6525088Z       "stages": {
2026-06-04T12:53:14.6525519Z         "doc": {
2026-06-04T12:53:14.6526001Z           "complete": false,
2026-06-04T12:53:14.6526470Z           "evidence": []
2026-06-04T12:53:14.6526900Z         },
2026-06-04T12:53:14.6527342Z         "impl": {
2026-06-04T12:53:14.6527819Z           "complete": true,
2026-06-04T12:53:14.6528270Z           "evidence": [
2026-06-04T12:53:14.6528699Z             {
2026-06-04T12:53:14.6529440Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6529938Z               "line": 23
2026-06-04T12:53:14.6530381Z             },
2026-06-04T12:53:14.6530800Z             {
2026-06-04T12:53:14.6531483Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6531953Z               "line": 46
2026-06-04T12:53:14.6532389Z             },
2026-06-04T12:53:14.6532813Z             {
2026-06-04T12:53:14.6533493Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6533949Z               "line": 88
2026-06-04T12:53:14.6534369Z             },
2026-06-04T12:53:14.6534795Z             {
2026-06-04T12:53:14.6535460Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6535921Z               "line": 109
2026-06-04T12:53:14.6536343Z             },
2026-06-04T12:53:14.6536770Z             {
2026-06-04T12:53:14.6537460Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6537935Z               "line": 152
2026-06-04T12:53:14.6538505Z             },
2026-06-04T12:53:14.6538919Z             {
2026-06-04T12:53:14.6539615Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6540047Z               "line": 165
2026-06-04T12:53:14.6540472Z             },
2026-06-04T12:53:14.6540891Z             {
2026-06-04T12:53:14.6541528Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6541979Z               "line": 353
2026-06-04T12:53:14.6542394Z             },
2026-06-04T12:53:14.6542811Z             {
2026-06-04T12:53:14.6543472Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6543911Z               "line": 25
2026-06-04T12:53:14.6544327Z             },
2026-06-04T12:53:14.6544740Z             {
2026-06-04T12:53:14.6545400Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6545831Z               "line": 92
2026-06-04T12:53:14.6546251Z             },
2026-06-04T12:53:14.6546660Z             {
2026-06-04T12:53:14.6547337Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6547780Z               "line": 117
2026-06-04T12:53:14.6548194Z             },
2026-06-04T12:53:14.6548608Z             {
2026-06-04T12:53:14.6549310Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6549764Z               "line": 131
2026-06-04T12:53:14.6550176Z             },
2026-06-04T12:53:14.6550593Z             {
2026-06-04T12:53:14.6551272Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6551714Z               "line": 145
2026-06-04T12:53:14.6552129Z             },
2026-06-04T12:53:14.6552537Z             {
2026-06-04T12:53:14.6553201Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6553646Z               "line": 154
2026-06-04T12:53:14.6554052Z             },
2026-06-04T12:53:14.6554466Z             {
2026-06-04T12:53:14.6555070Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:53:14.6555512Z               "line": 16
2026-06-04T12:53:14.6556194Z             },
2026-06-04T12:53:14.6556635Z             {
2026-06-04T12:53:14.6557261Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:53:14.6557848Z               "line": 63
2026-06-04T12:53:14.6558260Z             }
2026-06-04T12:53:14.6558664Z           ]
2026-06-04T12:53:14.6559074Z         },
2026-06-04T12:53:14.6559531Z         "int": {
2026-06-04T12:53:14.6559996Z           "complete": false,
2026-06-04T12:53:14.6560440Z           "evidence": []
2026-06-04T12:53:14.6560849Z         },
2026-06-04T12:53:14.6561271Z         "unit": {
2026-06-04T12:53:14.6561716Z           "complete": true,
2026-06-04T12:53:14.6562154Z           "evidence": [
2026-06-04T12:53:14.6562554Z             {
2026-06-04T12:53:14.6563213Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6563654Z               "line": 391
2026-06-04T12:53:14.6564062Z             },
2026-06-04T12:53:14.6564476Z             {
2026-06-04T12:53:14.6565125Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6565570Z               "line": 401
2026-06-04T12:53:14.6565981Z             },
2026-06-04T12:53:14.6566393Z             {
2026-06-04T12:53:14.6567056Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6567494Z               "line": 421
2026-06-04T12:53:14.6567905Z             },
2026-06-04T12:53:14.6568311Z             {
2026-06-04T12:53:14.6568950Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6569425Z               "line": 437
2026-06-04T12:53:14.6569851Z             },
2026-06-04T12:53:14.6570267Z             {
2026-06-04T12:53:14.6570910Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:53:14.6571358Z               "line": 458
2026-06-04T12:53:14.6571765Z             },
2026-06-04T12:53:14.6572180Z             {
2026-06-04T12:53:14.6572835Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6573283Z               "line": 312
2026-06-04T12:53:14.6573714Z             },
2026-06-04T12:53:14.6574120Z             {
2026-06-04T12:53:14.6574785Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:53:14.6575225Z               "line": 342
2026-06-04T12:53:14.6575641Z             },
2026-06-04T12:53:14.6576051Z             {
2026-06-04T12:53:14.6576673Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:53:14.6577116Z               "line": 116
2026-06-04T12:53:14.6577527Z             },
2026-06-04T12:53:14.6577942Z             {
2026-06-04T12:53:14.6578547Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:53:14.6578994Z               "line": 124
2026-06-04T12:53:14.6579435Z             }
2026-06-04T12:53:14.6579860Z           ]
2026-06-04T12:53:14.6580276Z         }
2026-06-04T12:53:14.6580679Z       }
2026-06-04T12:53:14.6581085Z     },
2026-06-04T12:53:14.6581486Z     {
2026-06-04T12:53:14.6581950Z       "id": "REQ-TERM-1",
2026-06-04T12:53:14.6582857Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T12:53:14.6583330Z       "requiredStages": [
2026-06-04T12:53:14.6583759Z         "impl",
2026-06-04T12:53:14.6584180Z         "unit"
2026-06-04T12:53:14.6584590Z       ],
2026-06-04T12:53:14.6585007Z       "stages": {
2026-06-04T12:53:14.6585532Z         "doc": {
2026-06-04T12:53:14.6585990Z           "complete": false,
2026-06-04T12:53:14.6586436Z           "evidence": []
2026-06-04T12:53:14.6586851Z         },
2026-06-04T12:53:14.6587263Z         "impl": {
2026-06-04T12:53:14.6587720Z           "complete": true,
2026-06-04T12:53:14.6588148Z           "evidence": [
2026-06-04T12:53:14.6588565Z             {
2026-06-04T12:53:14.6589147Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T12:53:14.6589639Z               "line": 61
2026-06-04T12:53:14.6590061Z             },
2026-06-04T12:53:14.6590467Z             {
2026-06-04T12:53:14.6591024Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T12:53:14.6591457Z               "line": 169
2026-06-04T12:53:14.6592034Z             },
2026-06-04T12:53:14.6592459Z             {
2026-06-04T12:53:14.6593065Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T12:53:14.6593652Z               "line": 95
2026-06-04T12:53:14.6594057Z             }
2026-06-04T12:53:14.6594474Z           ]
2026-06-04T12:53:14.6594882Z         },
2026-06-04T12:53:14.6595303Z         "int": {
2026-06-04T12:53:14.6595756Z           "complete": false,
2026-06-04T12:53:14.6596207Z           "evidence": []
2026-06-04T12:53:14.6596620Z         },
2026-06-04T12:53:14.6597038Z         "unit": {
2026-06-04T12:53:14.6597498Z           "complete": true,
2026-06-04T12:53:14.6597936Z           "evidence": [
2026-06-04T12:53:14.6598350Z             {
2026-06-04T12:53:14.6598965Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T12:53:14.6599452Z               "line": 28
2026-06-04T12:53:14.6599872Z             },
2026-06-04T12:53:14.6600278Z             {
2026-06-04T12:53:14.6600902Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T12:53:14.6607096Z               "line": 60
2026-06-04T12:53:14.6607628Z             }
2026-06-04T12:53:14.6608082Z           ]
2026-06-04T12:53:14.6608492Z         }
2026-06-04T12:53:14.6608910Z       }
2026-06-04T12:53:14.6609386Z     },
2026-06-04T12:53:14.6609818Z     {
2026-06-04T12:53:14.6610292Z       "id": "REQ-TERM-2",
2026-06-04T12:53:14.6611280Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T12:53:14.6611750Z       "requiredStages": [
2026-06-04T12:53:14.6612169Z         "impl",
2026-06-04T12:53:14.6612590Z         "unit"
2026-06-04T12:53:14.6612995Z       ],
2026-06-04T12:53:14.6613425Z       "stages": {
2026-06-04T12:53:14.6613843Z         "doc": {
2026-06-04T12:53:14.6614314Z           "complete": false,
2026-06-04T12:53:14.6614751Z           "evidence": []
2026-06-04T12:53:14.6615162Z         },
2026-06-04T12:53:14.6615589Z         "impl": {
2026-06-04T12:53:14.6616036Z           "complete": true,
2026-06-04T12:53:14.6616496Z           "evidence": [
2026-06-04T12:53:14.6616904Z             {
2026-06-04T12:53:14.6617504Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T12:53:14.6617952Z               "line": 112
2026-06-04T12:53:14.6618371Z             },
2026-06-04T12:53:14.6618785Z             {
2026-06-04T12:53:14.6619410Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T12:53:14.6620148Z               "line": 122
2026-06-04T12:53:14.6620565Z             }
2026-06-04T12:53:14.6620982Z           ]
2026-06-04T12:53:14.6621386Z         },
2026-06-04T12:53:14.6621810Z         "int": {
2026-06-04T12:53:14.6622274Z           "complete": false,
2026-06-04T12:53:14.6622712Z           "evidence": []
2026-06-04T12:53:14.6623124Z         },
2026-06-04T12:53:14.6623537Z         "unit": {
2026-06-04T12:53:14.6623997Z           "complete": true,
2026-06-04T12:53:14.6624429Z           "evidence": [
2026-06-04T12:53:14.6624844Z             {
2026-06-04T12:53:14.6625467Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T12:53:14.6625901Z               "line": 46
2026-06-04T12:53:14.6626321Z             },
2026-06-04T12:53:14.6626738Z             {
2026-06-04T12:53:14.6627362Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T12:53:14.6627801Z               "line": 71
2026-06-04T12:53:14.6628209Z             }
2026-06-04T12:53:14.6628624Z           ]
2026-06-04T12:53:14.6629027Z         }
2026-06-04T12:53:14.6629666Z       }
2026-06-04T12:53:14.6630223Z     },
2026-06-04T12:53:14.6630638Z     {
2026-06-04T12:53:14.6631097Z       "id": "REQ-TERM-3",
2026-06-04T12:53:14.6631848Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T12:53:14.6632318Z       "requiredStages": [
2026-06-04T12:53:14.6632735Z         "impl",
2026-06-04T12:53:14.6633162Z         "unit"
2026-06-04T12:53:14.6633573Z       ],
2026-06-04T12:53:14.6634007Z       "stages": {
2026-06-04T12:53:14.6634421Z         "doc": {
2026-06-04T12:53:14.6635188Z           "complete": false,
2026-06-04T12:53:14.6635773Z           "evidence": []
2026-06-04T12:53:14.6636181Z         },
2026-06-04T12:53:14.6636613Z         "impl": {
2026-06-04T12:53:14.6637208Z           "complete": true,
2026-06-04T12:53:14.6637657Z           "evidence": [
2026-06-04T12:53:14.6638070Z             {
2026-06-04T12:53:14.6638661Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T12:53:14.6639101Z               "line": 71
2026-06-04T12:53:14.6639770Z             }
2026-06-04T12:53:14.6640398Z           ]
2026-06-04T12:53:14.6640811Z         },
2026-06-04T12:53:14.6641237Z         "int": {
2026-06-04T12:53:14.6641729Z           "complete": false,
2026-06-04T12:53:14.6642228Z           "evidence": []
2026-06-04T12:53:14.6642650Z         },
2026-06-04T12:53:14.6643067Z         "unit": {
2026-06-04T12:53:14.6643535Z           "complete": true,
2026-06-04T12:53:14.6643970Z           "evidence": [
2026-06-04T12:53:14.6644391Z             {
2026-06-04T12:53:14.6645016Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T12:53:14.6645470Z               "line": 37
2026-06-04T12:53:14.6645892Z             },
2026-06-04T12:53:14.6646299Z             {
2026-06-04T12:53:14.6646919Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T12:53:14.6647363Z               "line": 67
2026-06-04T12:53:14.6647785Z             }
2026-06-04T12:53:14.6648195Z           ]
2026-06-04T12:53:14.6648617Z         }
2026-06-04T12:53:14.6649032Z       }
2026-06-04T12:53:14.6649488Z     },
2026-06-04T12:53:14.6649906Z     {
2026-06-04T12:53:14.6650356Z       "id": "REQ-TERM-4",
2026-06-04T12:53:14.6652464Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T12:53:14.6652939Z       "requiredStages": [
2026-06-04T12:53:14.6653362Z         "impl",
2026-06-04T12:53:14.6653793Z         "unit",
2026-06-04T12:53:14.6654207Z         "int"
2026-06-04T12:53:14.6654626Z       ],
2026-06-04T12:53:14.6655070Z       "stages": {
2026-06-04T12:53:14.6655500Z         "doc": {
2026-06-04T12:53:14.6655959Z           "complete": true,
2026-06-04T12:53:14.6656404Z           "evidence": [
2026-06-04T12:53:14.6656831Z             {
2026-06-04T12:53:14.6657327Z               "path": "docs/MANIFEST.md",
2026-06-04T12:53:14.6657776Z               "line": 115
2026-06-04T12:53:14.6658185Z             }
2026-06-04T12:53:14.6658602Z           ]
2026-06-04T12:53:14.6659012Z         },
2026-06-04T12:53:14.6659482Z         "impl": {
2026-06-04T12:53:14.6659952Z           "complete": true,
2026-06-04T12:53:14.6660390Z           "evidence": [
2026-06-04T12:53:14.6660811Z             {
2026-06-04T12:53:14.6661408Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:53:14.6661857Z               "line": 463
2026-06-04T12:53:14.6662280Z             },
2026-06-04T12:53:14.6662696Z             {
2026-06-04T12:53:14.6663309Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6663753Z               "line": 41
2026-06-04T12:53:14.6664175Z             },
2026-06-04T12:53:14.6664587Z             {
2026-06-04T12:53:14.6665205Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6665667Z               "line": 91
2026-06-04T12:53:14.6666082Z             },
2026-06-04T12:53:14.6666506Z             {
2026-06-04T12:53:14.6667114Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6667568Z               "line": 152
2026-06-04T12:53:14.6667984Z             },
2026-06-04T12:53:14.6668400Z             {
2026-06-04T12:53:14.6669014Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6669494Z               "line": 212
2026-06-04T12:53:14.6669925Z             },
2026-06-04T12:53:14.6670337Z             {
2026-06-04T12:53:14.6670978Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6671408Z               "line": 20
2026-06-04T12:53:14.6671834Z             },
2026-06-04T12:53:14.6672256Z             {
2026-06-04T12:53:14.6673063Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6673528Z               "line": 212
2026-06-04T12:53:14.6673948Z             },
2026-06-04T12:53:14.6674511Z             {
2026-06-04T12:53:14.6675155Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6675599Z               "line": 226
2026-06-04T12:53:14.6676029Z             },
2026-06-04T12:53:14.6676439Z             {
2026-06-04T12:53:14.6677081Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.6677524Z               "line": 585
2026-06-04T12:53:14.6677958Z             },
2026-06-04T12:53:14.6678364Z             {
2026-06-04T12:53:14.6678961Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6679464Z               "line": 157
2026-06-04T12:53:14.6679886Z             },
2026-06-04T12:53:14.6680309Z             {
2026-06-04T12:53:14.6680893Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6681350Z               "line": 199
2026-06-04T12:53:14.6681769Z             },
2026-06-04T12:53:14.6682194Z             {
2026-06-04T12:53:14.6682786Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6683243Z               "line": 226
2026-06-04T12:53:14.6683667Z             },
2026-06-04T12:53:14.6684082Z             {
2026-06-04T12:53:14.6684621Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.6690813Z               "line": 272
2026-06-04T12:53:14.6691394Z             }
2026-06-04T12:53:14.6691837Z           ]
2026-06-04T12:53:14.6692247Z         },
2026-06-04T12:53:14.6692681Z         "int": {
2026-06-04T12:53:14.6693136Z           "complete": true,
2026-06-04T12:53:14.6693586Z           "evidence": [
2026-06-04T12:53:14.6693990Z             {
2026-06-04T12:53:14.6694642Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T12:53:14.6695080Z               "line": 18
2026-06-04T12:53:14.6695489Z             }
2026-06-04T12:53:14.6695902Z           ]
2026-06-04T12:53:14.6696342Z         },
2026-06-04T12:53:14.6696768Z         "unit": {
2026-06-04T12:53:14.6697220Z           "complete": true,
2026-06-04T12:53:14.6697666Z           "evidence": [
2026-06-04T12:53:14.6698103Z             {
2026-06-04T12:53:14.6698724Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6699225Z               "line": 250
2026-06-04T12:53:14.6699648Z             },
2026-06-04T12:53:14.6700062Z             {
2026-06-04T12:53:14.6700690Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6701142Z               "line": 263
2026-06-04T12:53:14.6701563Z             },
2026-06-04T12:53:14.6701971Z             {
2026-06-04T12:53:14.6702589Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6703029Z               "line": 275
2026-06-04T12:53:14.6703443Z             },
2026-06-04T12:53:14.6703855Z             {
2026-06-04T12:53:14.6704462Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6704917Z               "line": 290
2026-06-04T12:53:14.6705328Z             },
2026-06-04T12:53:14.6705747Z             {
2026-06-04T12:53:14.6706353Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6706806Z               "line": 305
2026-06-04T12:53:14.6707228Z             },
2026-06-04T12:53:14.6707637Z             {
2026-06-04T12:53:14.6708251Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6708689Z               "line": 327
2026-06-04T12:53:14.6709106Z             },
2026-06-04T12:53:14.6709557Z             {
2026-06-04T12:53:14.6710178Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6710628Z               "line": 337
2026-06-04T12:53:14.6711034Z             },
2026-06-04T12:53:14.6711453Z             {
2026-06-04T12:53:14.6712059Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:53:14.6712513Z               "line": 364
2026-06-04T12:53:14.6712925Z             },
2026-06-04T12:53:14.6713343Z             {
2026-06-04T12:53:14.6714219Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6714679Z               "line": 338
2026-06-04T12:53:14.6715246Z             },
2026-06-04T12:53:14.6715656Z             {
2026-06-04T12:53:14.6716385Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6716819Z               "line": 350
2026-06-04T12:53:14.6717235Z             },
2026-06-04T12:53:14.6717654Z             {
2026-06-04T12:53:14.6718283Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6718738Z               "line": 367
2026-06-04T12:53:14.6719150Z             },
2026-06-04T12:53:14.6719628Z             {
2026-06-04T12:53:14.6720260Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:53:14.6720714Z               "line": 378
2026-06-04T12:53:14.6721134Z             },
2026-06-04T12:53:14.6721539Z             {
2026-06-04T12:53:14.6722176Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.6722625Z               "line": 770
2026-06-04T12:53:14.6723049Z             },
2026-06-04T12:53:14.6723460Z             {
2026-06-04T12:53:14.6724108Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.6724566Z               "line": 777
2026-06-04T12:53:14.6724984Z             },
2026-06-04T12:53:14.6725397Z             {
2026-06-04T12:53:14.6726024Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.6726467Z               "line": 792
2026-06-04T12:53:14.6726882Z             },
2026-06-04T12:53:14.6727288Z             {
2026-06-04T12:53:14.6727877Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6728313Z               "line": 381
2026-06-04T12:53:14.6728731Z             },
2026-06-04T12:53:14.6729135Z             {
2026-06-04T12:53:14.6729762Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6730210Z               "line": 402
2026-06-04T12:53:14.6730621Z             },
2026-06-04T12:53:14.6731047Z             {
2026-06-04T12:53:14.6731625Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6732074Z               "line": 415
2026-06-04T12:53:14.6732490Z             },
2026-06-04T12:53:14.6732902Z             {
2026-06-04T12:53:14.6733482Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6733921Z               "line": 434
2026-06-04T12:53:14.6734442Z             },
2026-06-04T12:53:14.6734847Z             {
2026-06-04T12:53:14.6735434Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:53:14.6735871Z               "line": 461
2026-06-04T12:53:14.6736290Z             },
2026-06-04T12:53:14.6736707Z             {
2026-06-04T12:53:14.6737309Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T12:53:14.6737746Z               "line": 32
2026-06-04T12:53:14.6738159Z             },
2026-06-04T12:53:14.6738579Z             {
2026-06-04T12:53:14.6739101Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:53:14.6739598Z               "line": 1200
2026-06-04T12:53:14.6740016Z             }
2026-06-04T12:53:14.6740425Z           ]
2026-06-04T12:53:14.6740837Z         }
2026-06-04T12:53:14.6741247Z       }
2026-06-04T12:53:14.6741657Z     },
2026-06-04T12:53:14.6742055Z     {
2026-06-04T12:53:14.6742503Z       "id": "REQ-UPD-1",
2026-06-04T12:53:14.6743100Z       "title": "Peer-propagated update over P2P",
2026-06-04T12:53:14.6743564Z       "requiredStages": [
2026-06-04T12:53:14.6743994Z         "impl",
2026-06-04T12:53:14.6744404Z         "unit"
2026-06-04T12:53:14.6744822Z       ],
2026-06-04T12:53:14.6745240Z       "stages": {
2026-06-04T12:53:14.6745661Z         "doc": {
2026-06-04T12:53:14.6746185Z           "complete": false,
2026-06-04T12:53:14.6746620Z           "evidence": []
2026-06-04T12:53:14.6747033Z         },
2026-06-04T12:53:14.6747454Z         "impl": {
2026-06-04T12:53:14.6747916Z           "complete": true,
2026-06-04T12:53:14.6748349Z           "evidence": [
2026-06-04T12:53:14.6748764Z             {
2026-06-04T12:53:14.6749606Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.6750074Z               "line": 28
2026-06-04T12:53:14.6750664Z             },
2026-06-04T12:53:14.6751070Z             {
2026-06-04T12:53:14.6751710Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.6752143Z               "line": 74
2026-06-04T12:53:14.6752561Z             },
2026-06-04T12:53:14.6752976Z             {
2026-06-04T12:53:14.6753608Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.6754052Z               "line": 209
2026-06-04T12:53:14.6754459Z             },
2026-06-04T12:53:14.6754873Z             {
2026-06-04T12:53:14.6755492Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:53:14.6755930Z               "line": 22
2026-06-04T12:53:14.6756370Z             },
2026-06-04T12:53:14.6756772Z             {
2026-06-04T12:53:14.6757392Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:53:14.6757838Z               "line": 67
2026-06-04T12:53:14.6758260Z             },
2026-06-04T12:53:14.6758664Z             {
2026-06-04T12:53:14.6759338Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:53:14.6759795Z               "line": 80
2026-06-04T12:53:14.6760208Z             },
2026-06-04T12:53:14.6760627Z             {
2026-06-04T12:53:14.6761254Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:53:14.6761702Z               "line": 101
2026-06-04T12:53:14.6762112Z             },
2026-06-04T12:53:14.6762532Z             {
2026-06-04T12:53:14.6763146Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:53:14.6763575Z               "line": 37
2026-06-04T12:53:14.6763998Z             }
2026-06-04T12:53:14.6764406Z           ]
2026-06-04T12:53:14.6764823Z         },
2026-06-04T12:53:14.6765231Z         "int": {
2026-06-04T12:53:14.6765699Z           "complete": true,
2026-06-04T12:53:14.6766144Z           "evidence": [
2026-06-04T12:53:14.6766556Z             {
2026-06-04T12:53:14.6767208Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:53:14.6773172Z               "line": 190
2026-06-04T12:53:14.6773724Z             }
2026-06-04T12:53:14.6774147Z           ]
2026-06-04T12:53:14.6774571Z         },
2026-06-04T12:53:14.6775003Z         "unit": {
2026-06-04T12:53:14.6775456Z           "complete": true,
2026-06-04T12:53:14.6775986Z           "evidence": [
2026-06-04T12:53:14.6776399Z             {
2026-06-04T12:53:14.6777045Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:53:14.6777492Z               "line": 120
2026-06-04T12:53:14.6777908Z             },
2026-06-04T12:53:14.6778326Z             {
2026-06-04T12:53:14.6779136Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:53:14.6779824Z               "line": 137
2026-06-04T12:53:14.6780236Z             },
2026-06-04T12:53:14.6780651Z             {
2026-06-04T12:53:14.6781342Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:53:14.6781779Z               "line": 201
2026-06-04T12:53:14.6782199Z             },
2026-06-04T12:53:14.6782606Z             {
2026-06-04T12:53:14.6783235Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:53:14.6783663Z               "line": 92
2026-06-04T12:53:14.6784082Z             },
2026-06-04T12:53:14.6784495Z             {
2026-06-04T12:53:14.6785099Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:53:14.6785535Z               "line": 128
2026-06-04T12:53:14.6785939Z             }
2026-06-04T12:53:14.6786354Z           ]
2026-06-04T12:53:14.6786755Z         }
2026-06-04T12:53:14.6787173Z       }
2026-06-04T12:53:14.6787581Z     },
2026-06-04T12:53:14.6788141Z     {
2026-06-04T12:53:14.6788614Z       "id": "REQ-UPD-2",
2026-06-04T12:53:14.6789455Z       "title": "All binaries signature-verified before handoff",
2026-06-04T12:53:14.6790012Z       "requiredStages": [
2026-06-04T12:53:14.6790610Z         "impl",
2026-06-04T12:53:14.6791537Z         "unit"
2026-06-04T12:53:14.6792068Z       ],
2026-06-04T12:53:14.6792591Z       "stages": {
2026-06-04T12:53:14.6793109Z         "doc": {
2026-06-04T12:53:14.6793864Z           "complete": false,
2026-06-04T12:53:14.6794392Z           "evidence": []
2026-06-04T12:53:14.6794872Z         },
2026-06-04T12:53:14.6795386Z         "impl": {
2026-06-04T12:53:14.6795942Z           "complete": true,
2026-06-04T12:53:14.6796453Z           "evidence": [
2026-06-04T12:53:14.6796966Z             {
2026-06-04T12:53:14.6797736Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.6798272Z               "line": 210
2026-06-04T12:53:14.6798724Z             },
2026-06-04T12:53:14.6799237Z             {
2026-06-04T12:53:14.6799976Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:53:14.6800466Z               "line": 294
2026-06-04T12:53:14.6800923Z             },
2026-06-04T12:53:14.6801396Z             {
2026-06-04T12:53:14.6802146Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6802665Z               "line": 29
2026-06-04T12:53:14.6803145Z             },
2026-06-04T12:53:14.6803767Z             {
2026-06-04T12:53:14.6804489Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6805015Z               "line": 126
2026-06-04T12:53:14.6805578Z             },
2026-06-04T12:53:14.6806026Z             {
2026-06-04T12:53:14.6806723Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6807221Z               "line": 138
2026-06-04T12:53:14.6807666Z             },
2026-06-04T12:53:14.6808129Z             {
2026-06-04T12:53:14.6808809Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6809384Z               "line": 220
2026-06-04T12:53:14.6809869Z             },
2026-06-04T12:53:14.6810458Z             {
2026-06-04T12:53:14.6811143Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6811632Z               "line": 301
2026-06-04T12:53:14.6812095Z             },
2026-06-04T12:53:14.6812527Z             {
2026-06-04T12:53:14.6813186Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6813665Z               "line": 149
2026-06-04T12:53:14.6814158Z             }
2026-06-04T12:53:14.6814605Z           ]
2026-06-04T12:53:14.6815034Z         },
2026-06-04T12:53:14.6815490Z         "int": {
2026-06-04T12:53:14.6815993Z           "complete": false,
2026-06-04T12:53:14.6816504Z           "evidence": []
2026-06-04T12:53:14.6816957Z         },
2026-06-04T12:53:14.6817395Z         "unit": {
2026-06-04T12:53:14.6817872Z           "complete": true,
2026-06-04T12:53:14.6818335Z           "evidence": [
2026-06-04T12:53:14.6818780Z             {
2026-06-04T12:53:14.6819505Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6819994Z               "line": 386
2026-06-04T12:53:14.6820479Z             },
2026-06-04T12:53:14.6820925Z             {
2026-06-04T12:53:14.6821614Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6822090Z               "line": 431
2026-06-04T12:53:14.6822539Z             },
2026-06-04T12:53:14.6822972Z             {
2026-06-04T12:53:14.6823633Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6824108Z               "line": 445
2026-06-04T12:53:14.6824540Z             },
2026-06-04T12:53:14.6824992Z             {
2026-06-04T12:53:14.6825638Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6826116Z               "line": 456
2026-06-04T12:53:14.6826537Z             },
2026-06-04T12:53:14.6826963Z             {
2026-06-04T12:53:14.6827588Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6828032Z               "line": 532
2026-06-04T12:53:14.6828456Z             },
2026-06-04T12:53:14.6828873Z             {
2026-06-04T12:53:14.6829552Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6830013Z               "line": 326
2026-06-04T12:53:14.6830666Z             },
2026-06-04T12:53:14.6831110Z             {
2026-06-04T12:53:14.6831730Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6832346Z               "line": 339
2026-06-04T12:53:14.6832764Z             },
2026-06-04T12:53:14.6833192Z             {
2026-06-04T12:53:14.6833867Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:53:14.6834332Z               "line": 242
2026-06-04T12:53:14.6834753Z             }
2026-06-04T12:53:14.6835169Z           ]
2026-06-04T12:53:14.6835594Z         }
2026-06-04T12:53:14.6836008Z       }
2026-06-04T12:53:14.6836425Z     },
2026-06-04T12:53:14.6836837Z     {
2026-06-04T12:53:14.6837300Z       "id": "REQ-UPD-3",
2026-06-04T12:53:14.6838251Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T12:53:14.6838722Z       "requiredStages": [
2026-06-04T12:53:14.6839192Z         "impl",
2026-06-04T12:53:14.6839624Z         "unit",
2026-06-04T12:53:14.6840058Z         "int"
2026-06-04T12:53:14.6840482Z       ],
2026-06-04T12:53:14.6840923Z       "stages": {
2026-06-04T12:53:14.6841351Z         "doc": {
2026-06-04T12:53:14.6841816Z           "complete": false,
2026-06-04T12:53:14.6842281Z           "evidence": []
2026-06-04T12:53:14.6842701Z         },
2026-06-04T12:53:14.6843136Z         "impl": {
2026-06-04T12:53:14.6843599Z           "complete": true,
2026-06-04T12:53:14.6844048Z           "evidence": [
2026-06-04T12:53:14.6844470Z             {
2026-06-04T12:53:14.6845099Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6845552Z               "line": 26
2026-06-04T12:53:14.6845975Z             },
2026-06-04T12:53:14.6846398Z             {
2026-06-04T12:53:14.6847013Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6847464Z               "line": 111
2026-06-04T12:53:14.6847884Z             },
2026-06-04T12:53:14.6848297Z             {
2026-06-04T12:53:14.6848922Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6849586Z               "line": 213
2026-06-04T12:53:14.6850185Z             }
2026-06-04T12:53:14.6850602Z           ]
2026-06-04T12:53:14.6851029Z         },
2026-06-04T12:53:14.6851471Z         "int": {
2026-06-04T12:53:14.6851934Z           "complete": true,
2026-06-04T12:53:14.6852383Z           "evidence": [
2026-06-04T12:53:14.6852801Z             {
2026-06-04T12:53:14.6853611Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T12:53:14.6862147Z               "line": 23
2026-06-04T12:53:14.6862700Z             }
2026-06-04T12:53:14.6863126Z           ]
2026-06-04T12:53:14.6863535Z         },
2026-06-04T12:53:14.6863975Z         "unit": {
2026-06-04T12:53:14.6864439Z           "complete": true,
2026-06-04T12:53:14.6864888Z           "evidence": [
2026-06-04T12:53:14.6865297Z             {
2026-06-04T12:53:14.6865938Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6866386Z               "line": 238
2026-06-04T12:53:14.6866799Z             },
2026-06-04T12:53:14.6867248Z             {
2026-06-04T12:53:14.6867862Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6868314Z               "line": 262
2026-06-04T12:53:14.6868752Z             },
2026-06-04T12:53:14.6869213Z             {
2026-06-04T12:53:14.6870158Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6870600Z               "line": 273
2026-06-04T12:53:14.6871028Z             },
2026-06-04T12:53:14.6871437Z             {
2026-06-04T12:53:14.6872051Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:53:14.6872502Z               "line": 286
2026-06-04T12:53:14.6872917Z             }
2026-06-04T12:53:14.6873333Z           ]
2026-06-04T12:53:14.6873747Z         }
2026-06-04T12:53:14.6874162Z       }
2026-06-04T12:53:14.6874568Z     },
2026-06-04T12:53:14.6874986Z     {
2026-06-04T12:53:14.6875439Z       "id": "REQ-UPD-4",
2026-06-04T12:53:14.6876841Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T12:53:14.6877353Z       "requiredStages": [
2026-06-04T12:53:14.6877775Z         "impl",
2026-06-04T12:53:14.6878195Z         "unit"
2026-06-04T12:53:14.6878758Z       ],
2026-06-04T12:53:14.6879232Z       "stages": {
2026-06-04T12:53:14.6879989Z         "doc": {
2026-06-04T12:53:14.6880449Z           "complete": false,
2026-06-04T12:53:14.6880904Z           "evidence": []
2026-06-04T12:53:14.6881311Z         },
2026-06-04T12:53:14.6881744Z         "impl": {
2026-06-04T12:53:14.6882193Z           "complete": true,
2026-06-04T12:53:14.6882641Z           "evidence": [
2026-06-04T12:53:14.6883061Z             {
2026-06-04T12:53:14.6883678Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:53:14.6884121Z               "line": 23
2026-06-04T12:53:14.6884541Z             },
2026-06-04T12:53:14.6884960Z             {
2026-06-04T12:53:14.6885569Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:53:14.6886014Z               "line": 56
2026-06-04T12:53:14.6886450Z             },
2026-06-04T12:53:14.6886860Z             {
2026-06-04T12:53:14.6887484Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:53:14.6887932Z               "line": 77
2026-06-04T12:53:14.6888349Z             },
2026-06-04T12:53:14.6888756Z             {
2026-06-04T12:53:14.6889583Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:53:14.6890194Z               "line": 179
2026-06-04T12:53:14.6890609Z             },
2026-06-04T12:53:14.6891026Z             {
2026-06-04T12:53:14.6891615Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:53:14.6892059Z               "line": 98
2026-06-04T12:53:14.6892474Z             },
2026-06-04T12:53:14.6892887Z             {
2026-06-04T12:53:14.6893468Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.6893905Z               "line": 139
2026-06-04T12:53:14.6894323Z             }
2026-06-04T12:53:14.6894736Z           ]
2026-06-04T12:53:14.6895159Z         },
2026-06-04T12:53:14.6895578Z         "int": {
2026-06-04T12:53:14.6896048Z           "complete": false,
2026-06-04T12:53:14.6896499Z           "evidence": []
2026-06-04T12:53:14.6896914Z         },
2026-06-04T12:53:14.6897337Z         "unit": {
2026-06-04T12:53:14.6897789Z           "complete": true,
2026-06-04T12:53:14.6898228Z           "evidence": [
2026-06-04T12:53:14.6898632Z             {
2026-06-04T12:53:14.6899295Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:53:14.6899751Z               "line": 309
2026-06-04T12:53:14.6900161Z             },
2026-06-04T12:53:14.6900578Z             {
2026-06-04T12:53:14.6901187Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:53:14.6901632Z               "line": 102
2026-06-04T12:53:14.6902038Z             },
2026-06-04T12:53:14.6902451Z             {
2026-06-04T12:53:14.6903066Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:53:14.6903504Z               "line": 117
2026-06-04T12:53:14.6903935Z             },
2026-06-04T12:53:14.6904340Z             {
2026-06-04T12:53:14.6904961Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:53:14.6905410Z               "line": 136
2026-06-04T12:53:14.6905829Z             },
2026-06-04T12:53:14.6906244Z             {
2026-06-04T12:53:14.6906810Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:53:14.6907253Z               "line": 308
2026-06-04T12:53:14.6907664Z             },
2026-06-04T12:53:14.6908084Z             {
2026-06-04T12:53:14.6908674Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:53:14.6909126Z               "line": 442
2026-06-04T12:53:14.6909581Z             }
2026-06-04T12:53:14.6909991Z           ]
2026-06-04T12:53:14.6910406Z         }
2026-06-04T12:53:14.6910818Z       }
2026-06-04T12:53:14.6911230Z     },
2026-06-04T12:53:14.6911633Z     {
2026-06-04T12:53:14.6912093Z       "id": "REQ-UPD-5",
2026-06-04T12:53:14.6912838Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T12:53:14.6913480Z       "requiredStages": [
2026-06-04T12:53:14.6913923Z         "impl",
2026-06-04T12:53:14.6914339Z         "unit"
2026-06-04T12:53:14.6914941Z       ],
2026-06-04T12:53:14.6915363Z       "stages": {
2026-06-04T12:53:14.6915788Z         "doc": {
2026-06-04T12:53:14.6916250Z           "complete": false,
2026-06-04T12:53:14.6916684Z           "evidence": []
2026-06-04T12:53:14.6917098Z         },
2026-06-04T12:53:14.6917511Z         "impl": {
2026-06-04T12:53:14.6917964Z           "complete": true,
2026-06-04T12:53:14.6918397Z           "evidence": [
2026-06-04T12:53:14.6918813Z             {
2026-06-04T12:53:14.6919555Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6919988Z               "line": 27
2026-06-04T12:53:14.6920405Z             },
2026-06-04T12:53:14.6920808Z             {
2026-06-04T12:53:14.6921498Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6921930Z               "line": 82
2026-06-04T12:53:14.6922361Z             },
2026-06-04T12:53:14.6922780Z             {
2026-06-04T12:53:14.6923457Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6923912Z               "line": 134
2026-06-04T12:53:14.6924325Z             },
2026-06-04T12:53:14.6924744Z             {
2026-06-04T12:53:14.6925362Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6925822Z               "line": 260
2026-06-04T12:53:14.6926239Z             },
2026-06-04T12:53:14.6926649Z             {
2026-06-04T12:53:14.6927265Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:53:14.6927704Z               "line": 288
2026-06-04T12:53:14.6928121Z             }
2026-06-04T12:53:14.6928538Z           ]
2026-06-04T12:53:14.6928941Z         },
2026-06-04T12:53:14.6929403Z         "int": {
2026-06-04T12:53:14.6929863Z           "complete": false,
2026-06-04T12:53:14.6930312Z           "evidence": []
2026-06-04T12:53:14.6930722Z         },
2026-06-04T12:53:14.6931157Z         "unit": {
2026-06-04T12:53:14.6931621Z           "complete": true,
2026-06-04T12:53:14.6932058Z           "evidence": [
2026-06-04T12:53:14.6932476Z             {
2026-06-04T12:53:14.6933169Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6933613Z               "line": 194
2026-06-04T12:53:14.6934023Z             },
2026-06-04T12:53:14.6934437Z             {
2026-06-04T12:53:14.6935119Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6935559Z               "line": 208
2026-06-04T12:53:14.6935983Z             },
2026-06-04T12:53:14.6936389Z             {
2026-06-04T12:53:14.6937071Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6937509Z               "line": 222
2026-06-04T12:53:14.6937950Z             },
2026-06-04T12:53:14.6938577Z             {
2026-06-04T12:53:14.6939392Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6947146Z               "line": 236
2026-06-04T12:53:14.6947812Z             },
2026-06-04T12:53:14.6948276Z             {
2026-06-04T12:53:14.6949053Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:53:14.6949794Z               "line": 270
2026-06-04T12:53:14.6950237Z             },
2026-06-04T12:53:14.6950649Z             {
2026-06-04T12:53:14.6951314Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:53:14.6951774Z               "line": 740
2026-06-04T12:53:14.6952219Z             }
2026-06-04T12:53:14.6952654Z           ]
2026-06-04T12:53:14.6953090Z         }
2026-06-04T12:53:14.6953522Z       }
2026-06-04T12:53:14.6954000Z     }
2026-06-04T12:53:14.6954437Z   ],
2026-06-04T12:53:14.6954881Z   "findings": []
2026-06-04T12:53:14.6955300Z }
2026-06-04T12:53:14.7035204Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T12:53:14.7035807Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T12:53:14.7058194Z shell: /usr/bin/bash -e {0}
2026-06-04T12:53:14.7058633Z ##[endgroup]
2026-06-04T12:53:14.7277915Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T12:53:14.7280357Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7283122Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T12:53:14.7285307Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T12:53:14.7287818Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7290316Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7292038Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T12:53:14.7293820Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T12:53:14.7296332Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7298820Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7300835Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T12:53:14.7302482Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T12:53:14.7303853Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T12:53:14.7305243Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T12:53:14.7307228Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7310149Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:53:14.7311569Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T12:53:14.7312885Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T12:53:14.7312910Z 
2026-06-04T12:53:14.7327598Z # Requirement quality review
2026-06-04T12:53:14.7327674Z 
2026-06-04T12:53:14.7328966Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T12:53:14.7330359Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T12:53:14.7331455Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T12:53:14.7332203Z this command's output. Your task is the rubric items below.
2026-06-04T12:53:14.7332221Z 
2026-06-04T12:53:14.7332636Z ## Rubric
2026-06-04T12:53:14.7332654Z 
2026-06-04T12:53:14.7334130Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T12:53:14.7335263Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T12:53:14.7336286Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T12:53:14.7336981Z - **active-voice** — clear subject and active verb.
2026-06-04T12:53:14.7336999Z 
2026-06-04T12:53:14.7338123Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T12:53:14.7338564Z clear concerns.
2026-06-04T12:53:14.7338582Z 
2026-06-04T12:53:14.7339911Z ## Requirements
2026-06-04T12:53:14.7339939Z 
2026-06-04T12:53:14.7340395Z ### REQ-ARCH-1
2026-06-04T12:53:14.7340990Z - Title: Many small acyclically-layered crates
2026-06-04T12:53:14.7341455Z - Required stages: impl
2026-06-04T12:53:14.7341476Z 
2026-06-04T12:53:14.7341902Z ### REQ-ARCH-2
2026-06-04T12:53:14.7342710Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T12:53:14.7343407Z - Required stages: impl
2026-06-04T12:53:14.7343425Z 
2026-06-04T12:53:14.7343854Z ### REQ-ARCH-3
2026-06-04T12:53:14.7344889Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T12:53:14.7345376Z - Required stages: impl, unit
2026-06-04T12:53:14.7345395Z 
2026-06-04T12:53:14.7345828Z ### REQ-ARCH-4
2026-06-04T12:53:14.7346684Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T12:53:14.7347165Z - Required stages: impl, unit
2026-06-04T12:53:14.7347181Z 
2026-06-04T12:53:14.7347626Z ### REQ-DAEMON-1
2026-06-04T12:53:14.7348441Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T12:53:14.7348950Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7348966Z 
2026-06-04T12:53:14.7349654Z ### REQ-DAEMON-2
2026-06-04T12:53:14.7350328Z - Title: Broker/brain split for seamless self-update
2026-06-04T12:53:14.7350855Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7350873Z 
2026-06-04T12:53:14.7351329Z ### REQ-DAEMON-3
2026-06-04T12:53:14.7352105Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T12:53:14.7352620Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7352650Z 
2026-06-04T12:53:14.7353097Z ### REQ-DAEMON-4
2026-06-04T12:53:14.7353675Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T12:53:14.7354180Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7354198Z 
2026-06-04T12:53:14.7354640Z ### REQ-STORE-1
2026-06-04T12:53:14.7360079Z - 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-04T12:53:14.7360585Z - Required stages: impl, unit
2026-06-04T12:53:14.7360605Z 
2026-06-04T12:53:14.7361054Z ### REQ-MANIFEST-1
2026-06-04T12:53:14.7361982Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T12:53:14.7362499Z - Required stages: doc, impl, unit
2026-06-04T12:53:14.7362517Z 
2026-06-04T12:53:14.7362969Z ### REQ-SEAM-SPAWN
2026-06-04T12:53:14.7363442Z - Title: spawn-session seam
2026-06-04T12:53:14.7363930Z - Required stages: impl, unit
2026-06-04T12:53:14.7363946Z 
2026-06-04T12:53:14.7364399Z ### REQ-SEAM-POSTSPAWN
2026-06-04T12:53:14.7365034Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T12:53:14.7365515Z - Required stages: impl, unit
2026-06-04T12:53:14.7365544Z 
2026-06-04T12:53:14.7365995Z ### REQ-SEAM-PSYCHE
2026-06-04T12:53:14.7366667Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T12:53:14.7367175Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7367192Z 
2026-06-04T12:53:14.7367647Z ### REQ-SEAM-HISTORY
2026-06-04T12:53:14.7368554Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T12:53:14.7369062Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7369091Z 
2026-06-04T12:53:14.7369749Z ### REQ-SEAM-ACTIVITY
2026-06-04T12:53:14.7370799Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T12:53:14.7371290Z - Required stages: impl, unit
2026-06-04T12:53:14.7371307Z 
2026-06-04T12:53:14.7371748Z ### REQ-SEAM-INJECT
2026-06-04T12:53:14.7372550Z - Title: inject-input methods configurable per activity-state
2026-06-04T12:53:14.7373043Z - Required stages: impl, unit
2026-06-04T12:53:14.7373060Z 
2026-06-04T12:53:14.7373502Z ### REQ-SEAM-RESUME
2026-06-04T12:53:14.7374418Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T12:53:14.7375083Z - Required stages: impl, unit
2026-06-04T12:53:14.7375105Z 
2026-06-04T12:53:14.7375584Z ### REQ-SEAM-CAPABILITY
2026-06-04T12:53:14.7376289Z - Title: Hostable endpoint-types capability declaration
2026-06-04T12:53:14.7376768Z - Required stages: impl, unit
2026-06-04T12:53:14.7376787Z 
2026-06-04T12:53:14.7377240Z ### REQ-SEAM-UPDATE
2026-06-04T12:53:14.7378037Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T12:53:14.7378684Z - Required stages: impl, unit
2026-06-04T12:53:14.7378702Z 
2026-06-04T12:53:14.7379133Z ### REQ-API-1
2026-06-04T12:53:14.7380324Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T12:53:14.7380831Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7380848Z 
2026-06-04T12:53:14.7381262Z ### REQ-API-2
2026-06-04T12:53:14.7382319Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T12:53:14.7382813Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7382852Z 
2026-06-04T12:53:14.7383283Z ### REQ-API-3
2026-06-04T12:53:14.7383946Z - Title: commune/signoff are file-drops, not commands
2026-06-04T12:53:14.7384444Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7384462Z 
2026-06-04T12:53:14.7384901Z ### REQ-START-1
2026-06-04T12:53:14.7385870Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T12:53:14.7386363Z - Required stages: impl, unit
2026-06-04T12:53:14.7386392Z 
2026-06-04T12:53:14.7386828Z ### REQ-START-2
2026-06-04T12:53:14.7387485Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T12:53:14.7387989Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7388005Z 
2026-06-04T12:53:14.7388434Z ### REQ-START-3
2026-06-04T12:53:14.7389311Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T12:53:14.7390186Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7390203Z 
2026-06-04T12:53:14.7390623Z ### REQ-START-4
2026-06-04T12:53:14.7391281Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T12:53:14.7391758Z - Required stages: impl, unit
2026-06-04T12:53:14.7391776Z 
2026-06-04T12:53:14.7392205Z ### REQ-EP-1
2026-06-04T12:53:14.7392822Z - Title: Day-one endpoint types; open type system
2026-06-04T12:53:14.7393294Z - Required stages: impl, unit
2026-06-04T12:53:14.7393312Z 
2026-06-04T12:53:14.7393739Z ### REQ-EP-2
2026-06-04T12:53:14.7394556Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T12:53:14.7395054Z - Required stages: impl, unit
2026-06-04T12:53:14.7395072Z 
2026-06-04T12:53:14.7395498Z ### REQ-EP-3
2026-06-04T12:53:14.7396414Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T12:53:14.7396899Z - Required stages: impl, unit
2026-06-04T12:53:14.7396915Z 
2026-06-04T12:53:14.7397332Z ### REQ-EP-4
2026-06-04T12:53:14.7398035Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T12:53:14.7398513Z - Required stages: impl, unit
2026-06-04T12:53:14.7398540Z 
2026-06-04T12:53:14.7398970Z ### REQ-EP-5
2026-06-04T12:53:14.7403297Z - 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-04T12:53:14.7403748Z - Required stages: 
2026-06-04T12:53:14.7403764Z 
2026-06-04T12:53:14.7404205Z ### REQ-INST-1
2026-06-04T12:53:14.7404988Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T12:53:14.7405428Z - Required stages: 
2026-06-04T12:53:14.7405445Z 
2026-06-04T12:53:14.7405884Z ### REQ-INST-2
2026-06-04T12:53:14.7406421Z - Title: Per-node files, synced Psyche mind
2026-06-04T12:53:14.7406907Z - Required stages: impl, unit
2026-06-04T12:53:14.7406922Z 
2026-06-04T12:53:14.7407350Z ### REQ-INST-3
2026-06-04T12:53:14.7408059Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T12:53:14.7408568Z - Required stages: doc, impl, unit
2026-06-04T12:53:14.7408587Z 
2026-06-04T12:53:14.7409202Z ### REQ-INST-4
2026-06-04T12:53:14.7410440Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T12:53:14.7410927Z - Required stages: impl, unit
2026-06-04T12:53:14.7410945Z 
2026-06-04T12:53:14.7411381Z ### REQ-INST-5
2026-06-04T12:53:14.7412263Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T12:53:14.7412747Z - Required stages: impl, unit
2026-06-04T12:53:14.7412908Z 
2026-06-04T12:53:14.7413349Z ### REQ-INST-6
2026-06-04T12:53:14.7414265Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T12:53:14.7414717Z - Required stages: 
2026-06-04T12:53:14.7414733Z 
2026-06-04T12:53:14.7415166Z ### REQ-INST-7
2026-06-04T12:53:14.7415810Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T12:53:14.7416304Z - Required stages: impl, unit
2026-06-04T12:53:14.7416322Z 
2026-06-04T12:53:14.7416748Z ### REQ-INST-8
2026-06-04T12:53:14.7417492Z - Title: Remote-control mode distinct from local operation
2026-06-04T12:53:14.7417988Z - Required stages: impl, unit
2026-06-04T12:53:14.7418007Z 
2026-06-04T12:53:14.7418432Z ### REQ-INST-9
2026-06-04T12:53:14.7419566Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T12:53:14.7420221Z - Required stages: impl, unit
2026-06-04T12:53:14.7420238Z 
2026-06-04T12:53:14.7420669Z ### REQ-INST-10
2026-06-04T12:53:14.7421740Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T12:53:14.7422242Z - Required stages: impl, unit
2026-06-04T12:53:14.7422259Z 
2026-06-04T12:53:14.7422696Z ### REQ-INST-11
2026-06-04T12:53:14.7423780Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T12:53:14.7424266Z - Required stages: impl, unit
2026-06-04T12:53:14.7424283Z 
2026-06-04T12:53:14.7424704Z ### REQ-INST-12
2026-06-04T12:53:14.7426263Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T12:53:14.7426763Z - Required stages: impl, unit
2026-06-04T12:53:14.7426782Z 
2026-06-04T12:53:14.7427204Z ### REQ-INST-13
2026-06-04T12:53:14.7428120Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T12:53:14.7428602Z - Required stages: impl, unit
2026-06-04T12:53:14.7428619Z 
2026-06-04T12:53:14.7429055Z ### REQ-INST-14
2026-06-04T12:53:14.7431541Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T12:53:14.7432002Z - Required stages: 
2026-06-04T12:53:14.7432019Z 
2026-06-04T12:53:14.7432457Z ### REQ-INST-15
2026-06-04T12:53:14.7436751Z - 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-04T12:53:14.7437206Z - Required stages: 
2026-06-04T12:53:14.7437223Z 
2026-06-04T12:53:14.7437664Z ### REQ-REACH-1
2026-06-04T12:53:14.7438361Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T12:53:14.7438854Z - Required stages: impl, unit
2026-06-04T12:53:14.7438870Z 
2026-06-04T12:53:14.7439339Z ### REQ-REACH-2
2026-06-04T12:53:14.7440093Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T12:53:14.7440554Z - Required stages: 
2026-06-04T12:53:14.7440583Z 
2026-06-04T12:53:14.7441003Z ### REQ-MSG-1
2026-06-04T12:53:14.7443568Z - 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-04T12:53:14.7444070Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7444100Z 
2026-06-04T12:53:14.7444519Z ### REQ-MSG-2
2026-06-04T12:53:14.7445931Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T12:53:14.7446416Z - Required stages: impl, unit
2026-06-04T12:53:14.7446657Z 
2026-06-04T12:53:14.7447109Z ### REQ-MSG-3
2026-06-04T12:53:14.7449247Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T12:53:14.7450083Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7450103Z 
2026-06-04T12:53:14.7450566Z ### REQ-NODE-IDENTITY
2026-06-04T12:53:14.7451710Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T12:53:14.7452357Z - Required stages: impl, unit
2026-06-04T12:53:14.7452375Z 
2026-06-04T12:53:14.7452810Z ### REQ-NET-1
2026-06-04T12:53:14.7453711Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T12:53:14.7454204Z - Required stages: impl, unit
2026-06-04T12:53:14.7454223Z 
2026-06-04T12:53:14.7454642Z ### REQ-NET-2
2026-06-04T12:53:14.7455515Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T12:53:14.7455980Z - Required stages: impl
2026-06-04T12:53:14.7456019Z 
2026-06-04T12:53:14.7456443Z ### REQ-NET-3
2026-06-04T12:53:14.7457249Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T12:53:14.7457850Z - Required stages: impl, unit
2026-06-04T12:53:14.7457868Z 
2026-06-04T12:53:14.7458319Z ### REQ-PAIR-1
2026-06-04T12:53:14.7458819Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T12:53:14.7459342Z - Required stages: impl, unit
2026-06-04T12:53:14.7459542Z 
2026-06-04T12:53:14.7460139Z ### REQ-PAIR-2
2026-06-04T12:53:14.7460788Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T12:53:14.7461281Z - Required stages: impl, unit
2026-06-04T12:53:14.7461300Z 
2026-06-04T12:53:14.7461727Z ### REQ-PAIR-3
2026-06-04T12:53:14.7462444Z - Title: Fetch current pairing code from any paired node
2026-06-04T12:53:14.7462940Z - Required stages: impl, unit
2026-06-04T12:53:14.7462956Z 
2026-06-04T12:53:14.7463388Z ### REQ-PAIR-4
2026-06-04T12:53:14.7463909Z - Title: Subnet naming on first pairing
2026-06-04T12:53:14.7464410Z - Required stages: impl, unit
2026-06-04T12:53:14.7464429Z 
2026-06-04T12:53:14.7464875Z ### REQ-PAIR-5
2026-06-04T12:53:14.7466522Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T12:53:14.7467005Z - Required stages: impl, unit
2026-06-04T12:53:14.7467023Z 
2026-06-04T12:53:14.7467466Z ### REQ-PAIR-6
2026-06-04T12:53:14.7468829Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T12:53:14.7469537Z - Required stages: impl, unit
2026-06-04T12:53:14.7469555Z 
2026-06-04T12:53:14.7470162Z ### REQ-PAIR-7
2026-06-04T12:53:14.7470955Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T12:53:14.7471408Z - Required stages: 
2026-06-04T12:53:14.7471423Z 
2026-06-04T12:53:14.7471855Z ### REQ-SEC-1
2026-06-04T12:53:14.7474098Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T12:53:14.7474587Z - Required stages: impl, unit
2026-06-04T12:53:14.7474618Z 
2026-06-04T12:53:14.7475045Z ### REQ-NOTIF-1
2026-06-04T12:53:14.7477065Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T12:53:14.7477546Z - Required stages: impl, unit
2026-06-04T12:53:14.7477561Z 
2026-06-04T12:53:14.7477995Z ### REQ-NOTIF-2
2026-06-04T12:53:14.7479654Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T12:53:14.7480299Z - Required stages: doc, impl, unit
2026-06-04T12:53:14.7480318Z 
2026-06-04T12:53:14.7480754Z ### REQ-UPD-1
2026-06-04T12:53:14.7481293Z - Title: Peer-propagated update over P2P
2026-06-04T12:53:14.7481784Z - Required stages: impl, unit
2026-06-04T12:53:14.7481801Z 
2026-06-04T12:53:14.7482222Z ### REQ-UPD-2
2026-06-04T12:53:14.7482917Z - Title: All binaries signature-verified before handoff
2026-06-04T12:53:14.7483601Z - Required stages: impl, unit
2026-06-04T12:53:14.7483623Z 
2026-06-04T12:53:14.7484052Z ### REQ-UPD-3
2026-06-04T12:53:14.7484922Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T12:53:14.7485425Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7485442Z 
2026-06-04T12:53:14.7485879Z ### REQ-UPD-4
2026-06-04T12:53:14.7486797Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T12:53:14.7487429Z - Required stages: impl, unit
2026-06-04T12:53:14.7487446Z 
2026-06-04T12:53:14.7487879Z ### REQ-UPD-5
2026-06-04T12:53:14.7488535Z - Title: spt-core ripple-updates registered adapters
2026-06-04T12:53:14.7489032Z - Required stages: impl, unit
2026-06-04T12:53:14.7489048Z 
2026-06-04T12:53:14.7489713Z ### REQ-TERM-1
2026-06-04T12:53:14.7490737Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T12:53:14.7491225Z - Required stages: impl, unit
2026-06-04T12:53:14.7491246Z 
2026-06-04T12:53:14.7491675Z ### REQ-TERM-2
2026-06-04T12:53:14.7492595Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T12:53:14.7493091Z - Required stages: impl, unit
2026-06-04T12:53:14.7493108Z 
2026-06-04T12:53:14.7493537Z ### REQ-TERM-3
2026-06-04T12:53:14.7494198Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T12:53:14.7494675Z - Required stages: impl, unit
2026-06-04T12:53:14.7494693Z 
2026-06-04T12:53:14.7495123Z ### REQ-TERM-4
2026-06-04T12:53:14.7497159Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T12:53:14.7497658Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7497676Z 
2026-06-04T12:53:14.7498111Z ### REQ-FRONT-1
2026-06-04T12:53:14.7498975Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T12:53:14.7499651Z - Required stages: 
2026-06-04T12:53:14.7499670Z 
2026-06-04T12:53:14.7500281Z ### REQ-INSTALL-1
2026-06-04T12:53:14.7501266Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T12:53:14.7501725Z - Required stages: 
2026-06-04T12:53:14.7501741Z 
2026-06-04T12:53:14.7502173Z ### REQ-INSTALL-2
2026-06-04T12:53:14.7502840Z - Title: Marketplace-repackaging-friendly install
2026-06-04T12:53:14.7503285Z - Required stages: 
2026-06-04T12:53:14.7503302Z 
2026-06-04T12:53:14.7503744Z ### REQ-INSTALL-3
2026-06-04T12:53:14.7504405Z - Title: Idempotent + interactive-optional first run
2026-06-04T12:53:14.7504864Z - Required stages: 
2026-06-04T12:53:14.7504880Z 
2026-06-04T12:53:14.7505332Z ### REQ-INSTALL-4
2026-06-04T12:53:14.7509079Z - 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-04T12:53:14.7509758Z - Required stages: 
2026-06-04T12:53:14.7509775Z 
2026-06-04T12:53:14.7510387Z ### REQ-MIGRATE-1
2026-06-04T12:53:14.7511234Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T12:53:14.7511689Z - Required stages: 
2026-06-04T12:53:14.7511707Z 
2026-06-04T12:53:14.7512135Z ### REQ-INFRA-1
2026-06-04T12:53:14.7513047Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T12:53:14.7513508Z - Required stages: 
2026-06-04T12:53:14.7513526Z 
2026-06-04T12:53:14.7513950Z ### REQ-DOCS-1
2026-06-04T12:53:14.7514978Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T12:53:14.7515437Z - Required stages: 
2026-06-04T12:53:14.7515453Z 
2026-06-04T12:53:14.7515892Z ### REQ-DOCS-2
2026-06-04T12:53:14.7516711Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T12:53:14.7517155Z - Required stages: 
2026-06-04T12:53:14.7517170Z 
2026-06-04T12:53:14.7517599Z ### REQ-DOCS-3
2026-06-04T12:53:14.7518462Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T12:53:14.7518924Z - Required stages: 
2026-06-04T12:53:14.7518940Z 
2026-06-04T12:53:14.7519794Z ### REQ-DOCS-4
2026-06-04T12:53:14.7520956Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T12:53:14.7521415Z - Required stages: 
2026-06-04T12:53:14.7521433Z 
2026-06-04T12:53:14.7521864Z ### REQ-DOCS-5
2026-06-04T12:53:14.7522836Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T12:53:14.7523283Z - Required stages: 
2026-06-04T12:53:14.7523465Z 
2026-06-04T12:53:14.7523993Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T12:53:14.7524949Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T12:53:14.7525434Z - Required stages: impl, unit
2026-06-04T12:53:14.7525450Z 
2026-06-04T12:53:14.7525981Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T12:53:14.7526717Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T12:53:14.7527215Z - Required stages: impl, unit
2026-06-04T12:53:14.7527231Z 
2026-06-04T12:53:14.7527738Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T12:53:14.7528368Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T12:53:14.7528824Z - Required stages: 
2026-06-04T12:53:14.7528840Z 
2026-06-04T12:53:14.7529382Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T12:53:14.7530663Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T12:53:14.7531162Z - Required stages: impl, unit
2026-06-04T12:53:14.7531181Z 
2026-06-04T12:53:14.7531666Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T12:53:14.7532592Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T12:53:14.7533078Z - Required stages: impl, unit
2026-06-04T12:53:14.7533093Z 
2026-06-04T12:53:14.7533617Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T12:53:14.7534584Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T12:53:14.7535031Z - Required stages: 
2026-06-04T12:53:14.7535049Z 
2026-06-04T12:53:14.7535608Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T12:53:14.7536239Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T12:53:14.7536704Z - Required stages: 
2026-06-04T12:53:14.7536720Z 
2026-06-04T12:53:14.7537252Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T12:53:14.7538049Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T12:53:14.7538548Z - Required stages: impl, unit
2026-06-04T12:53:14.7538565Z 
2026-06-04T12:53:14.7539050Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T12:53:14.7540112Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T12:53:14.7540622Z - Required stages: impl, int
2026-06-04T12:53:14.7540640Z 
2026-06-04T12:53:14.7541158Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T12:53:14.7541973Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T12:53:14.7542452Z - Required stages: impl, unit
2026-06-04T12:53:14.7542467Z 
2026-06-04T12:53:14.7543015Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T12:53:14.7543846Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T12:53:14.7544329Z - Required stages: impl, unit
2026-06-04T12:53:14.7544347Z 
2026-06-04T12:53:14.7544889Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T12:53:14.7545840Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T12:53:14.7546338Z - Required stages: impl, unit
2026-06-04T12:53:14.7546354Z 
2026-06-04T12:53:14.7546889Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T12:53:14.7547662Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T12:53:14.7548169Z - Required stages: impl, unit
2026-06-04T12:53:14.7548186Z 
2026-06-04T12:53:14.7548709Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T12:53:14.7549619Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T12:53:14.7550108Z - Required stages: impl, unit
2026-06-04T12:53:14.7550127Z 
2026-06-04T12:53:14.7550658Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T12:53:14.7551764Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T12:53:14.7552250Z - Required stages: impl, unit
2026-06-04T12:53:14.7552266Z 
2026-06-04T12:53:14.7552923Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T12:53:14.7554224Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T12:53:14.7554722Z - Required stages: impl, unit
2026-06-04T12:53:14.7554740Z 
2026-06-04T12:53:14.7555801Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T12:53:14.7556896Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T12:53:14.7557607Z - Required stages: impl, unit
2026-06-04T12:53:14.7557629Z 
2026-06-04T12:53:14.7558247Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T12:53:14.7560011Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T12:53:14.7560617Z - Required stages: impl, unit
2026-06-04T12:53:14.7560640Z 
2026-06-04T12:53:14.7561280Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T12:53:14.7563187Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T12:53:14.7563835Z - Required stages: doc, impl, unit
2026-06-04T12:53:14.7563856Z 
2026-06-04T12:53:14.7564510Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T12:53:14.7566848Z - 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-04T12:53:14.7567461Z - Required stages: impl, unit
2026-06-04T12:53:14.7567480Z 
2026-06-04T12:53:14.7568151Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T12:53:14.7568811Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T12:53:14.7569419Z - Required stages: impl, unit
2026-06-04T12:53:14.7569624Z 
2026-06-04T12:53:14.7570408Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T12:53:14.7571163Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T12:53:14.7571770Z - Required stages: impl, unit
2026-06-04T12:53:14.7571789Z 
2026-06-04T12:53:14.7572367Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T12:53:14.7573216Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T12:53:14.7573841Z - Required stages: impl, unit
2026-06-04T12:53:14.7573861Z 
2026-06-04T12:53:14.7574461Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T12:53:14.7575403Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T12:53:14.7576043Z - Required stages: impl, unit
2026-06-04T12:53:14.7576062Z 
2026-06-04T12:53:14.7576656Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T12:53:14.7577481Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T12:53:14.7578075Z - Required stages: impl, unit
2026-06-04T12:53:14.7578092Z 
2026-06-04T12:53:14.7578686Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T12:53:14.7579701Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T12:53:14.7580413Z - Required stages: impl, unit
2026-06-04T12:53:14.7580430Z 
2026-06-04T12:53:14.7581049Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T12:53:14.7582095Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T12:53:14.7582694Z - Required stages: impl, unit
2026-06-04T12:53:14.7582713Z 
2026-06-04T12:53:14.7583228Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T12:53:14.7584263Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T12:53:14.7584837Z - Required stages: impl, unit
2026-06-04T12:53:14.7584856Z 
2026-06-04T12:53:14.7585488Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T12:53:14.7593717Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T12:53:14.7594430Z - Required stages: impl, unit
2026-06-04T12:53:14.7594469Z 
2026-06-04T12:53:14.7595026Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T12:53:14.7595747Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T12:53:14.7596228Z - Required stages: impl, unit
2026-06-04T12:53:14.7596245Z 
2026-06-04T12:53:14.7596809Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T12:53:14.7597909Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T12:53:14.7598394Z - Required stages: impl, unit
2026-06-04T12:53:14.7598748Z 
2026-06-04T12:53:14.7599579Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T12:53:14.7603028Z - 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-04T12:53:14.7603524Z - Required stages: impl, unit
2026-06-04T12:53:14.7603697Z 
2026-06-04T12:53:14.7604190Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T12:53:14.7605280Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T12:53:14.7605775Z - Required stages: impl, unit
2026-06-04T12:53:14.7605793Z 
2026-06-04T12:53:14.7606280Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T12:53:14.7607370Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T12:53:14.7607851Z - Required stages: impl, unit
2026-06-04T12:53:14.7607879Z 
2026-06-04T12:53:14.7608396Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T12:53:14.7610196Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T12:53:14.7610701Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7610719Z 
2026-06-04T12:53:14.7611227Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T12:53:14.7612606Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T12:53:14.7613097Z - Required stages: impl, unit
2026-06-04T12:53:14.7613116Z 
2026-06-04T12:53:14.7613661Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T12:53:14.7616062Z - 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-04T12:53:14.7616571Z - Required stages: impl, unit, int
2026-06-04T12:53:14.7616588Z 
2026-06-04T12:53:14.7617130Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T12:53:14.7621852Z - 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-04T12:53:14.7622367Z - Required stages: impl, unit
2026-06-04T12:53:14.7622385Z 
2026-06-04T12:53:14.7622926Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T12:53:14.7626808Z - 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-04T12:53:14.7627291Z - Required stages: 
2026-06-04T12:53:14.7627309Z 
2026-06-04T12:53:14.7627829Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T12:53:14.7631700Z - 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-04T12:53:14.7632237Z - Required stages: impl, unit
2026-06-04T12:53:14.7632258Z 
2026-06-04T12:53:14.7632770Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T12:53:14.7635876Z - 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-04T12:53:14.7636350Z - Required stages: impl, unit
2026-06-04T12:53:14.7636389Z 
2026-06-04T12:53:14.7636899Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T12:53:14.7641695Z - 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-04T12:53:14.7642195Z - Required stages: impl, unit
2026-06-04T12:53:14.7642213Z 
2026-06-04T12:53:14.7642755Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T12:53:14.7647282Z - 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-04T12:53:14.7647802Z - Required stages: doc, impl, unit
2026-06-04T12:53:14.7647820Z 
2026-06-04T12:53:14.7648289Z ## How to report back
2026-06-04T12:53:14.7648452Z 
2026-06-04T12:53:14.7649358Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T12:53:14.7649378Z 
2026-06-04T12:53:14.7649809Z     {
2026-06-04T12:53:14.7650320Z       "code": "requirement_quality",
2026-06-04T12:53:14.7650816Z       "requirementId": "REQ-...",
2026-06-04T12:53:14.7651683Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T12:53:14.7652175Z       "message": "<short reason>",
2026-06-04T12:53:14.7652768Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T12:53:14.7653199Z     }
2026-06-04T12:53:14.7653216Z 
2026-06-04T12:53:14.7654202Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T12:53:14.7654926Z deterministic findings above don't need to be repeated.
2026-06-04T12:53:14.7965620Z Post job cleanup.
2026-06-04T12:53:14.9227252Z [command]/usr/bin/git version
2026-06-04T12:53:14.9284915Z git version 2.34.1
2026-06-04T12:53:14.9342668Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/01ea8673-1f8b-4dc4-8936-7da641dc8c95/.gitconfig'
2026-06-04T12:53:14.9394956Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/01ea8673-1f8b-4dc4-8936-7da641dc8c95' before making global git config changes
2026-06-04T12:53:14.9400087Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T12:53:14.9414788Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T12:53:14.9471716Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T12:53:14.9524849Z [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-04T12:53:14.9822710Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T12:53:14.9856040Z http.https://github.com/.extraheader
2026-06-04T12:53:14.9873472Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T12:53:14.9916102Z [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-04T12:53:15.0156813Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T12:53:15.0198460Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T12:53:15.0636081Z Cleaning up orphan processes
