﻿2026-06-04T03:42:53.7456410Z Current runner version: '2.334.0'
2026-06-04T03:42:53.7466317Z Runner name: 'gravity'
2026-06-04T03:42:53.7467554Z Runner group name: 'Default'
2026-06-04T03:42:53.7468972Z Machine name: 'gravity-linux'
2026-06-04T03:42:53.7473675Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T03:42:53.7477767Z Contents: read
2026-06-04T03:42:53.7478588Z Metadata: read
2026-06-04T03:42:53.7479817Z Packages: read
2026-06-04T03:42:53.7480792Z ##[endgroup]
2026-06-04T03:42:53.7484335Z Secret source: Actions
2026-06-04T03:42:53.7485587Z Prepare workflow directory
2026-06-04T03:42:53.8235424Z Prepare all required actions
2026-06-04T03:42:53.8299987Z Getting action download info
2026-06-04T03:42:54.4004909Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T03:42:55.1520040Z Complete job name: traceability
2026-06-04T03:42:55.2842124Z ##[group]Run actions/checkout@v5
2026-06-04T03:42:55.2843635Z with:
2026-06-04T03:42:55.2844310Z   repository: SaberMage/spt-core
2026-06-04T03:42:55.2852181Z   token: ***
2026-06-04T03:42:55.2852815Z   ssh-strict: true
2026-06-04T03:42:55.2853473Z   ssh-user: git
2026-06-04T03:42:55.2854112Z   persist-credentials: true
2026-06-04T03:42:55.2854818Z   clean: true
2026-06-04T03:42:55.2855465Z   sparse-checkout-cone-mode: true
2026-06-04T03:42:55.2856238Z   fetch-depth: 1
2026-06-04T03:42:55.2856874Z   fetch-tags: false
2026-06-04T03:42:55.2857520Z   show-progress: true
2026-06-04T03:42:55.2858166Z   lfs: false
2026-06-04T03:42:55.2858770Z   submodules: false
2026-06-04T03:42:55.2859493Z   set-safe-directory: true
2026-06-04T03:42:55.2860805Z ##[endgroup]
2026-06-04T03:42:55.4418928Z Syncing repository: SaberMage/spt-core
2026-06-04T03:42:55.4422969Z ##[group]Getting Git version info
2026-06-04T03:42:55.4424638Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T03:42:55.4426995Z [command]/usr/bin/git version
2026-06-04T03:42:55.4428007Z git version 2.34.1
2026-06-04T03:42:55.4431634Z ##[endgroup]
2026-06-04T03:42:55.4449911Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/f038e728-921e-48d8-8e72-b9e51d5f8752/.gitconfig'
2026-06-04T03:42:55.4471260Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/f038e728-921e-48d8-8e72-b9e51d5f8752' before making global git config changes
2026-06-04T03:42:55.4474017Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T03:42:55.4478527Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T03:42:55.4532529Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T03:42:55.4562344Z https://github.com/SaberMage/spt-core
2026-06-04T03:42:55.4581176Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T03:42:55.4588800Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T03:42:55.4618304Z refs/heads/dev-freeform
2026-06-04T03:42:55.4630925Z [command]/usr/bin/git checkout --detach
2026-06-04T03:42:55.4683372Z HEAD is now at 4ea3b37 feat(net): M4-D5b remote terminal attach (REQ-INST-8)
2026-06-04T03:42:55.4741797Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T03:42:55.4781117Z Deleted branch dev-freeform (was 4ea3b37).
2026-06-04T03:42:55.4828867Z ##[endgroup]
2026-06-04T03:42:55.4832703Z [command]/usr/bin/git submodule status
2026-06-04T03:42:55.5079068Z ##[group]Cleaning the repository
2026-06-04T03:42:55.5084461Z [command]/usr/bin/git clean -ffdx
2026-06-04T03:42:55.5123428Z Removing traceable-reqs
2026-06-04T03:42:55.5137129Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T03:42:55.5191756Z HEAD is now at 4ea3b37 feat(net): M4-D5b remote terminal attach (REQ-INST-8)
2026-06-04T03:42:55.5197931Z ##[endgroup]
2026-06-04T03:42:55.5201786Z ##[group]Disabling automatic garbage collection
2026-06-04T03:42:55.5207295Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T03:42:55.5245892Z ##[endgroup]
2026-06-04T03:42:55.5247540Z ##[group]Setting up auth
2026-06-04T03:42:55.5257827Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T03:42:55.5303863Z [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-04T03:42:55.5543214Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T03:42:55.5582863Z [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-04T03:42:55.5820903Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T03:42:55.5863758Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T03:42:55.6110131Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T03:42:55.6170854Z ##[endgroup]
2026-06-04T03:42:55.6172393Z ##[group]Fetching the repository
2026-06-04T03:42:55.6184962Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +269b8ef5bffa3b003519d98121c931c32054cbdd:refs/remotes/origin/dev-freeform
2026-06-04T03:42:56.2314330Z From https://github.com/SaberMage/spt-core
2026-06-04T03:42:56.2317617Z  + 4ea3b37...269b8ef 269b8ef5bffa3b003519d98121c931c32054cbdd -> origin/dev-freeform  (forced update)
2026-06-04T03:42:56.2340966Z ##[endgroup]
2026-06-04T03:42:56.2343266Z ##[group]Determining the checkout info
2026-06-04T03:42:56.2345810Z ##[endgroup]
2026-06-04T03:42:56.2349826Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T03:42:56.2409858Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T03:42:56.2447917Z ##[group]Checking out the ref
2026-06-04T03:42:56.2452771Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T03:42:56.2533358Z Warning: you are leaving 1 commit behind, not connected to
2026-06-04T03:42:56.2535604Z any of your branches:
2026-06-04T03:42:56.2536464Z 
2026-06-04T03:42:56.2537540Z   4ea3b37 feat(net): M4-D5b remote terminal attach (REQ-INST-8)
2026-06-04T03:42:56.2539149Z 
2026-06-04T03:42:56.2540749Z If you want to keep it by creating a new branch, this may be a good time
2026-06-04T03:42:56.2543350Z to do so with:
2026-06-04T03:42:56.2544227Z 
2026-06-04T03:42:56.2544988Z  git branch <new-branch-name> 4ea3b37
2026-06-04T03:42:56.2546246Z 
2026-06-04T03:42:56.2547144Z Switched to a new branch 'dev-freeform'
2026-06-04T03:42:56.2550184Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T03:42:56.2557059Z ##[endgroup]
2026-06-04T03:42:56.2602087Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T03:42:56.2638419Z 269b8ef5bffa3b003519d98121c931c32054cbdd
2026-06-04T03:42:56.3129259Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T03:42:56.3132182Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T03:42:56.3134633Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T03:42:56.3136807Z [36;1melse[0m
2026-06-04T03:42:56.3138700Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T03:42:56.3141546Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T03:42:56.3143774Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T03:42:56.3145503Z [36;1mfi[0m
2026-06-04T03:42:56.3175363Z shell: /usr/bin/bash -e {0}
2026-06-04T03:42:56.3177007Z env:
2026-06-04T03:42:56.3181071Z   GH_TOKEN: ***
2026-06-04T03:42:56.3182476Z ##[endgroup]
2026-06-04T03:42:56.3476210Z ##[group]Run ./traceable-reqs check --json
2026-06-04T03:42:56.3478236Z [36;1m./traceable-reqs check --json[0m
2026-06-04T03:42:56.3502612Z shell: /usr/bin/bash -e {0}
2026-06-04T03:42:56.3504208Z ##[endgroup]
2026-06-04T03:42:56.3682541Z {
2026-06-04T03:42:56.3683955Z   "schemaVersion": 1,
2026-06-04T03:42:56.3685478Z   "summary": {
2026-06-04T03:42:56.3686934Z     "requirementCount": 128,
2026-06-04T03:42:56.3688681Z     "completeCount": 128,
2026-06-04T03:42:56.3690485Z     "incompleteCount": 0,
2026-06-04T03:42:56.3692058Z     "findingCount": 0
2026-06-04T03:42:56.3693426Z   },
2026-06-04T03:42:56.3694662Z   "requirements": [
2026-06-04T03:42:56.3695994Z     {
2026-06-04T03:42:56.3697330Z       "id": "REQ-API-1",
2026-06-04T03:42:56.3699934Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T03:42:56.3702469Z       "requiredStages": [
2026-06-04T03:42:56.3704753Z         "impl",
2026-06-04T03:42:56.3706192Z         "unit",
2026-06-04T03:42:56.3707745Z         "int"
2026-06-04T03:42:56.3709101Z       ],
2026-06-04T03:42:56.3710507Z       "stages": {
2026-06-04T03:42:56.3711931Z         "doc": {
2026-06-04T03:42:56.3713355Z           "complete": false,
2026-06-04T03:42:56.3715016Z           "evidence": []
2026-06-04T03:42:56.3716503Z         },
2026-06-04T03:42:56.3717844Z         "impl": {
2026-06-04T03:42:56.3719396Z           "complete": true,
2026-06-04T03:42:56.3721067Z           "evidence": [
2026-06-04T03:42:56.3722633Z             {
2026-06-04T03:42:56.3724246Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T03:42:56.3726495Z               "line": 15
2026-06-04T03:42:56.3728000Z             }
2026-06-04T03:42:56.3730220Z           ]
2026-06-04T03:42:56.3732476Z         },
2026-06-04T03:42:56.3733754Z         "int": {
2026-06-04T03:42:56.3735117Z           "complete": true,
2026-06-04T03:42:56.3736628Z           "evidence": [
2026-06-04T03:42:56.3738016Z             {
2026-06-04T03:42:56.3739635Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.3741607Z               "line": 13
2026-06-04T03:42:56.3743020Z             }
2026-06-04T03:42:56.3744284Z           ]
2026-06-04T03:42:56.3745498Z         },
2026-06-04T03:42:56.3746748Z         "unit": {
2026-06-04T03:42:56.3748096Z           "complete": true,
2026-06-04T03:42:56.3749659Z           "evidence": [
2026-06-04T03:42:56.3751060Z             {
2026-06-04T03:42:56.3752481Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T03:42:56.3754341Z               "line": 336
2026-06-04T03:42:56.3755763Z             },
2026-06-04T03:42:56.3757025Z             {
2026-06-04T03:42:56.3758459Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T03:42:56.3760527Z               "line": 342
2026-06-04T03:42:56.3761968Z             },
2026-06-04T03:42:56.3763242Z             {
2026-06-04T03:42:56.3764689Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T03:42:56.3766572Z               "line": 353
2026-06-04T03:42:56.3768036Z             }
2026-06-04T03:42:56.3769336Z           ]
2026-06-04T03:42:56.3770621Z         }
2026-06-04T03:42:56.3771834Z       }
2026-06-04T03:42:56.3773031Z     },
2026-06-04T03:42:56.3774220Z     {
2026-06-04T03:42:56.3775455Z       "id": "REQ-API-2",
2026-06-04T03:42:56.3777838Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T03:42:56.3780600Z       "requiredStages": [
2026-06-04T03:42:56.3782083Z         "impl",
2026-06-04T03:42:56.3783373Z         "unit",
2026-06-04T03:42:56.3784677Z         "int"
2026-06-04T03:42:56.3785919Z       ],
2026-06-04T03:42:56.3787127Z       "stages": {
2026-06-04T03:42:56.3818045Z         "doc": {
2026-06-04T03:42:56.3820214Z           "complete": false,
2026-06-04T03:42:56.3821866Z           "evidence": []
2026-06-04T03:42:56.3823399Z         },
2026-06-04T03:42:56.3824732Z         "impl": {
2026-06-04T03:42:56.3826194Z           "complete": true,
2026-06-04T03:42:56.3827802Z           "evidence": [
2026-06-04T03:42:56.3830397Z             {
2026-06-04T03:42:56.3832184Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T03:42:56.3834214Z               "line": 15
2026-06-04T03:42:56.3835718Z             },
2026-06-04T03:42:56.3836999Z             {
2026-06-04T03:42:56.3838787Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.3841086Z               "line": 20
2026-06-04T03:42:56.3842503Z             },
2026-06-04T03:42:56.3843778Z             {
2026-06-04T03:42:56.3845249Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.3847146Z               "line": 125
2026-06-04T03:42:56.3848558Z             },
2026-06-04T03:42:56.3850196Z             {
2026-06-04T03:42:56.3851707Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3853602Z               "line": 21
2026-06-04T03:42:56.3855017Z             },
2026-06-04T03:42:56.3856286Z             {
2026-06-04T03:42:56.3857786Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3859948Z               "line": 36
2026-06-04T03:42:56.3861423Z             },
2026-06-04T03:42:56.3862728Z             {
2026-06-04T03:42:56.3864281Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3866267Z               "line": 101
2026-06-04T03:42:56.3867745Z             },
2026-06-04T03:42:56.3869035Z             {
2026-06-04T03:42:56.3870757Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3872687Z               "line": 140
2026-06-04T03:42:56.3874155Z             },
2026-06-04T03:42:56.3875467Z             {
2026-06-04T03:42:56.3876982Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3878895Z               "line": 164
2026-06-04T03:42:56.3880705Z             },
2026-06-04T03:42:56.3882023Z             {
2026-06-04T03:42:56.3883487Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.3885361Z               "line": 17
2026-06-04T03:42:56.3886768Z             },
2026-06-04T03:42:56.3888051Z             {
2026-06-04T03:42:56.3889764Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.3891783Z               "line": 30
2026-06-04T03:42:56.3893184Z             },
2026-06-04T03:42:56.3894437Z             {
2026-06-04T03:42:56.3895926Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.3897801Z               "line": 63
2026-06-04T03:42:56.3899270Z             },
2026-06-04T03:42:56.3900868Z             {
2026-06-04T03:42:56.3902326Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.3904745Z               "line": 76
2026-06-04T03:42:56.3906358Z             }
2026-06-04T03:42:56.3907667Z           ]
2026-06-04T03:42:56.3908932Z         },
2026-06-04T03:42:56.3910429Z         "int": {
2026-06-04T03:42:56.3911784Z           "complete": true,
2026-06-04T03:42:56.3913295Z           "evidence": [
2026-06-04T03:42:56.3914691Z             {
2026-06-04T03:42:56.3916191Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.3918106Z               "line": 14
2026-06-04T03:42:56.3919733Z             },
2026-06-04T03:42:56.3921166Z             {
2026-06-04T03:42:56.3922692Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.3924704Z               "line": 151
2026-06-04T03:42:56.3926139Z             }
2026-06-04T03:42:56.3927380Z           ]
2026-06-04T03:42:56.3928601Z         },
2026-06-04T03:42:56.3930175Z         "unit": {
2026-06-04T03:42:56.3931541Z           "complete": true,
2026-06-04T03:42:56.3933059Z           "evidence": [
2026-06-04T03:42:56.3934450Z             {
2026-06-04T03:42:56.3935973Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T03:42:56.3937892Z               "line": 42
2026-06-04T03:42:56.3939335Z             },
2026-06-04T03:42:56.3940624Z             {
2026-06-04T03:42:56.3942114Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.3944023Z               "line": 204
2026-06-04T03:42:56.3945462Z             },
2026-06-04T03:42:56.3947049Z             {
2026-06-04T03:42:56.3948656Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3951037Z               "line": 237
2026-06-04T03:42:56.3952472Z             },
2026-06-04T03:42:56.3953935Z             {
2026-06-04T03:42:56.3955477Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3957410Z               "line": 248
2026-06-04T03:42:56.3958844Z             },
2026-06-04T03:42:56.3960192Z             {
2026-06-04T03:42:56.3961716Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3963649Z               "line": 284
2026-06-04T03:42:56.3965044Z             },
2026-06-04T03:42:56.3966287Z             {
2026-06-04T03:42:56.3967768Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.3969708Z               "line": 296
2026-06-04T03:42:56.3971128Z             },
2026-06-04T03:42:56.3972381Z             {
2026-06-04T03:42:56.3973832Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.3975711Z               "line": 137
2026-06-04T03:42:56.3977114Z             },
2026-06-04T03:42:56.3978366Z             {
2026-06-04T03:42:56.3979855Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.3981737Z               "line": 172
2026-06-04T03:42:56.3983143Z             }
2026-06-04T03:42:56.3984370Z           ]
2026-06-04T03:42:56.3985568Z         }
2026-06-04T03:42:56.3986751Z       }
2026-06-04T03:42:56.3987929Z     },
2026-06-04T03:42:56.3989148Z     {
2026-06-04T03:42:56.3990418Z       "id": "REQ-API-3",
2026-06-04T03:42:56.3992254Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T03:42:56.3994362Z       "requiredStages": [
2026-06-04T03:42:56.3995809Z         "impl",
2026-06-04T03:42:56.3997051Z         "unit",
2026-06-04T03:42:56.3998285Z         "int"
2026-06-04T03:42:56.3999548Z       ],
2026-06-04T03:42:56.4000750Z       "stages": {
2026-06-04T03:42:56.4002039Z         "doc": {
2026-06-04T03:42:56.4003388Z           "complete": false,
2026-06-04T03:42:56.4004928Z           "evidence": []
2026-06-04T03:42:56.4006329Z         },
2026-06-04T03:42:56.4007530Z         "impl": {
2026-06-04T03:42:56.4008862Z           "complete": true,
2026-06-04T03:42:56.4010411Z           "evidence": [
2026-06-04T03:42:56.4011782Z             {
2026-06-04T03:42:56.4013243Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T03:42:56.4015079Z               "line": 14
2026-06-04T03:42:56.4016460Z             },
2026-06-04T03:42:56.4017718Z             {
2026-06-04T03:42:56.4019253Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.4021155Z               "line": 174
2026-06-04T03:42:56.4022549Z             }
2026-06-04T03:42:56.4023776Z           ]
2026-06-04T03:42:56.4024963Z         },
2026-06-04T03:42:56.4026148Z         "int": {
2026-06-04T03:42:56.4027452Z           "complete": true,
2026-06-04T03:42:56.4028911Z           "evidence": [
2026-06-04T03:42:56.4030317Z             {
2026-06-04T03:42:56.4031794Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.4033681Z               "line": 203
2026-06-04T03:42:56.4035059Z             }
2026-06-04T03:42:56.4036260Z           ]
2026-06-04T03:42:56.4037417Z         },
2026-06-04T03:42:56.4038604Z         "unit": {
2026-06-04T03:42:56.4039964Z           "complete": true,
2026-06-04T03:42:56.4041408Z           "evidence": [
2026-06-04T03:42:56.4042721Z             {
2026-06-04T03:42:56.4044126Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T03:42:56.4045963Z               "line": 117
2026-06-04T03:42:56.4047311Z             },
2026-06-04T03:42:56.4048507Z             {
2026-06-04T03:42:56.4049986Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.4051830Z               "line": 325
2026-06-04T03:42:56.4053182Z             }
2026-06-04T03:42:56.4054349Z           ]
2026-06-04T03:42:56.4055491Z         }
2026-06-04T03:42:56.4056614Z       }
2026-06-04T03:42:56.4057709Z     },
2026-06-04T03:42:56.4058808Z     {
2026-06-04T03:42:56.4060226Z       "id": "REQ-ARCH-1",
2026-06-04T03:42:56.4061912Z       "title": "Many small acyclically-layered crates",
2026-06-04T03:42:56.4063830Z       "requiredStages": [
2026-06-04T03:42:56.4065262Z         "impl"
2026-06-04T03:42:56.4066631Z       ],
2026-06-04T03:42:56.4067773Z       "stages": {
2026-06-04T03:42:56.4068999Z         "doc": {
2026-06-04T03:42:56.4070335Z           "complete": false,
2026-06-04T03:42:56.4071791Z           "evidence": []
2026-06-04T03:42:56.4073146Z         },
2026-06-04T03:42:56.4074304Z         "impl": {
2026-06-04T03:42:56.4075599Z           "complete": true,
2026-06-04T03:42:56.4077037Z           "evidence": [
2026-06-04T03:42:56.4078338Z             {
2026-06-04T03:42:56.4079734Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T03:42:56.4081506Z               "line": 16
2026-06-04T03:42:56.4082830Z             },
2026-06-04T03:42:56.4084023Z             {
2026-06-04T03:42:56.4085402Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T03:42:56.4087213Z               "line": 12
2026-06-04T03:42:56.4088558Z             },
2026-06-04T03:42:56.4089838Z             {
2026-06-04T03:42:56.4091196Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T03:42:56.4092992Z               "line": 12
2026-06-04T03:42:56.4094313Z             }
2026-06-04T03:42:56.4095479Z           ]
2026-06-04T03:42:56.4096620Z         },
2026-06-04T03:42:56.4097763Z         "int": {
2026-06-04T03:42:56.4099026Z           "complete": false,
2026-06-04T03:42:56.4100536Z           "evidence": []
2026-06-04T03:42:56.4101870Z         },
2026-06-04T03:42:56.4103018Z         "unit": {
2026-06-04T03:42:56.4104292Z           "complete": false,
2026-06-04T03:42:56.4105739Z           "evidence": []
2026-06-04T03:42:56.4107059Z         }
2026-06-04T03:42:56.4108223Z       }
2026-06-04T03:42:56.4109398Z     },
2026-06-04T03:42:56.4110519Z     {
2026-06-04T03:42:56.4111679Z       "id": "REQ-ARCH-2",
2026-06-04T03:42:56.4113598Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T03:42:56.4115773Z       "requiredStages": [
2026-06-04T03:42:56.4117143Z         "impl"
2026-06-04T03:42:56.4118329Z       ],
2026-06-04T03:42:56.4119504Z       "stages": {
2026-06-04T03:42:56.4120760Z         "doc": {
2026-06-04T03:42:56.4122027Z           "complete": false,
2026-06-04T03:42:56.4123485Z           "evidence": []
2026-06-04T03:42:56.4124830Z         },
2026-06-04T03:42:56.4125972Z         "impl": {
2026-06-04T03:42:56.4127241Z           "complete": true,
2026-06-04T03:42:56.4128658Z           "evidence": [
2026-06-04T03:42:56.4130001Z             {
2026-06-04T03:42:56.4131394Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T03:42:56.4133177Z               "line": 18
2026-06-04T03:42:56.4134511Z             }
2026-06-04T03:42:56.4135673Z           ]
2026-06-04T03:42:56.4136810Z         },
2026-06-04T03:42:56.4137956Z         "int": {
2026-06-04T03:42:56.4139258Z           "complete": false,
2026-06-04T03:42:56.4140741Z           "evidence": []
2026-06-04T03:42:56.4142075Z         },
2026-06-04T03:42:56.4143217Z         "unit": {
2026-06-04T03:42:56.4144488Z           "complete": false,
2026-06-04T03:42:56.4145949Z           "evidence": []
2026-06-04T03:42:56.4147288Z         }
2026-06-04T03:42:56.4148402Z       }
2026-06-04T03:42:56.4149542Z     },
2026-06-04T03:42:56.4150644Z     {
2026-06-04T03:42:56.4151796Z       "id": "REQ-ARCH-3",
2026-06-04T03:42:56.4154558Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T03:42:56.4157530Z       "requiredStages": [
2026-06-04T03:42:56.4159089Z         "impl",
2026-06-04T03:42:56.4160664Z         "unit"
2026-06-04T03:42:56.4161937Z       ],
2026-06-04T03:42:56.4163180Z       "stages": {
2026-06-04T03:42:56.4164501Z         "doc": {
2026-06-04T03:42:56.4166149Z           "complete": false,
2026-06-04T03:42:56.4167696Z           "evidence": []
2026-06-04T03:42:56.4169219Z         },
2026-06-04T03:42:56.4170789Z         "impl": {
2026-06-04T03:42:56.4172609Z           "complete": true,
2026-06-04T03:42:56.4174171Z           "evidence": [
2026-06-04T03:42:56.4175550Z             {
2026-06-04T03:42:56.4177067Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T03:42:56.4193169Z               "line": 34
2026-06-04T03:42:56.4194568Z             },
2026-06-04T03:42:56.4195777Z             {
2026-06-04T03:42:56.4197307Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T03:42:56.4199287Z               "line": 41
2026-06-04T03:42:56.4201397Z             }
2026-06-04T03:42:56.4202802Z           ]
2026-06-04T03:42:56.4204023Z         },
2026-06-04T03:42:56.4205209Z         "int": {
2026-06-04T03:42:56.4206537Z           "complete": false,
2026-06-04T03:42:56.4208054Z           "evidence": []
2026-06-04T03:42:56.4209472Z         },
2026-06-04T03:42:56.4210761Z         "unit": {
2026-06-04T03:42:56.4212012Z           "complete": true,
2026-06-04T03:42:56.4213411Z           "evidence": [
2026-06-04T03:42:56.4214698Z             {
2026-06-04T03:42:56.4216147Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T03:42:56.4217975Z               "line": 51
2026-06-04T03:42:56.4219332Z             },
2026-06-04T03:42:56.4220843Z             {
2026-06-04T03:42:56.4222289Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T03:42:56.4224115Z               "line": 65
2026-06-04T03:42:56.4225445Z             },
2026-06-04T03:42:56.4226606Z             {
2026-06-04T03:42:56.4228032Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T03:42:56.4230254Z               "line": 74
2026-06-04T03:42:56.4231565Z             }
2026-06-04T03:42:56.4232713Z           ]
2026-06-04T03:42:56.4233844Z         }
2026-06-04T03:42:56.4234952Z       }
2026-06-04T03:42:56.4236036Z     },
2026-06-04T03:42:56.4237141Z     {
2026-06-04T03:42:56.4238291Z       "id": "REQ-ARCH-4",
2026-06-04T03:42:56.4240615Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T03:42:56.4243058Z       "requiredStages": [
2026-06-04T03:42:56.4244504Z         "impl",
2026-06-04T03:42:56.4245739Z         "unit"
2026-06-04T03:42:56.4246944Z       ],
2026-06-04T03:42:56.4248088Z       "stages": {
2026-06-04T03:42:56.4249399Z         "doc": {
2026-06-04T03:42:56.4250820Z           "complete": false,
2026-06-04T03:42:56.4252277Z           "evidence": []
2026-06-04T03:42:56.4253604Z         },
2026-06-04T03:42:56.4254734Z         "impl": {
2026-06-04T03:42:56.4255999Z           "complete": true,
2026-06-04T03:42:56.4257397Z           "evidence": [
2026-06-04T03:42:56.4258685Z             {
2026-06-04T03:42:56.4260098Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4261874Z               "line": 32
2026-06-04T03:42:56.4263208Z             },
2026-06-04T03:42:56.4264400Z             {
2026-06-04T03:42:56.4265779Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4267550Z               "line": 46
2026-06-04T03:42:56.4268875Z             },
2026-06-04T03:42:56.4270455Z             {
2026-06-04T03:42:56.4271852Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4273614Z               "line": 66
2026-06-04T03:42:56.4274945Z             },
2026-06-04T03:42:56.4276114Z             {
2026-06-04T03:42:56.4277496Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4279293Z               "line": 81
2026-06-04T03:42:56.4280945Z             },
2026-06-04T03:42:56.4282113Z             {
2026-06-04T03:42:56.4283499Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4285269Z               "line": 131
2026-06-04T03:42:56.4286604Z             }
2026-06-04T03:42:56.4287764Z           ]
2026-06-04T03:42:56.4288875Z         },
2026-06-04T03:42:56.4290240Z         "int": {
2026-06-04T03:42:56.4291731Z           "complete": false,
2026-06-04T03:42:56.4293187Z           "evidence": []
2026-06-04T03:42:56.4294502Z         },
2026-06-04T03:42:56.4295626Z         "unit": {
2026-06-04T03:42:56.4297256Z           "complete": true,
2026-06-04T03:42:56.4298714Z           "evidence": [
2026-06-04T03:42:56.4300081Z             {
2026-06-04T03:42:56.4301477Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4303261Z               "line": 195
2026-06-04T03:42:56.4304802Z             },
2026-06-04T03:42:56.4305966Z             {
2026-06-04T03:42:56.4307361Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4337223Z               "line": 205
2026-06-04T03:42:56.4338699Z             },
2026-06-04T03:42:56.4339945Z             {
2026-06-04T03:42:56.4341346Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4343110Z               "line": 216
2026-06-04T03:42:56.4344426Z             },
2026-06-04T03:42:56.4345594Z             {
2026-06-04T03:42:56.4346970Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4348737Z               "line": 227
2026-06-04T03:42:56.4350092Z             },
2026-06-04T03:42:56.4351249Z             {
2026-06-04T03:42:56.4352679Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4360316Z               "line": 239
2026-06-04T03:42:56.4361663Z             },
2026-06-04T03:42:56.4362830Z             {
2026-06-04T03:42:56.4364238Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4366002Z               "line": 252
2026-06-04T03:42:56.4367316Z             },
2026-06-04T03:42:56.4368478Z             {
2026-06-04T03:42:56.4369946Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4371714Z               "line": 263
2026-06-04T03:42:56.4373026Z             },
2026-06-04T03:42:56.4374180Z             {
2026-06-04T03:42:56.4375551Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4377324Z               "line": 277
2026-06-04T03:42:56.4378646Z             },
2026-06-04T03:42:56.4379848Z             {
2026-06-04T03:42:56.4381237Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T03:42:56.4382996Z               "line": 286
2026-06-04T03:42:56.4384328Z             }
2026-06-04T03:42:56.4385478Z           ]
2026-06-04T03:42:56.4386604Z         }
2026-06-04T03:42:56.4387697Z       }
2026-06-04T03:42:56.4388770Z     },
2026-06-04T03:42:56.4389886Z     {
2026-06-04T03:42:56.4391053Z       "id": "REQ-DAEMON-1",
2026-06-04T03:42:56.4393007Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T03:42:56.4395205Z       "requiredStages": [
2026-06-04T03:42:56.4396561Z         "impl",
2026-06-04T03:42:56.4397738Z         "unit",
2026-06-04T03:42:56.4398959Z         "int"
2026-06-04T03:42:56.4400521Z       ],
2026-06-04T03:42:56.4401650Z       "stages": {
2026-06-04T03:42:56.4402864Z         "doc": {
2026-06-04T03:42:56.4404113Z           "complete": false,
2026-06-04T03:42:56.4405552Z           "evidence": []
2026-06-04T03:42:56.4406853Z         },
2026-06-04T03:42:56.4407987Z         "impl": {
2026-06-04T03:42:56.4409314Z           "complete": true,
2026-06-04T03:42:56.4410714Z           "evidence": [
2026-06-04T03:42:56.4412012Z             {
2026-06-04T03:42:56.4413422Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.4415226Z               "line": 12
2026-06-04T03:42:56.4416534Z             },
2026-06-04T03:42:56.4417707Z             {
2026-06-04T03:42:56.4419148Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4421018Z               "line": 16
2026-06-04T03:42:56.4422329Z             },
2026-06-04T03:42:56.4423476Z             {
2026-06-04T03:42:56.4424864Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T03:42:56.4426624Z               "line": 15
2026-06-04T03:42:56.4427951Z             },
2026-06-04T03:42:56.4429111Z             {
2026-06-04T03:42:56.4430487Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T03:42:56.4432238Z               "line": 13
2026-06-04T03:42:56.4433540Z             }
2026-06-04T03:42:56.4434670Z           ]
2026-06-04T03:42:56.4435788Z         },
2026-06-04T03:42:56.4436914Z         "int": {
2026-06-04T03:42:56.4438684Z           "complete": true,
2026-06-04T03:42:56.4440552Z           "evidence": [
2026-06-04T03:42:56.4441849Z             {
2026-06-04T03:42:56.4443332Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T03:42:56.4445404Z               "line": 32
2026-06-04T03:42:56.4446705Z             }
2026-06-04T03:42:56.4447845Z           ]
2026-06-04T03:42:56.4455293Z         },
2026-06-04T03:42:56.4456459Z         "unit": {
2026-06-04T03:42:56.4457728Z           "complete": true,
2026-06-04T03:42:56.4459145Z           "evidence": [
2026-06-04T03:42:56.4460517Z             {
2026-06-04T03:42:56.4461911Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.4463726Z               "line": 173
2026-06-04T03:42:56.4465034Z             },
2026-06-04T03:42:56.4466194Z             {
2026-06-04T03:42:56.4467596Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.4469439Z               "line": 181
2026-06-04T03:42:56.4470812Z             },
2026-06-04T03:42:56.4471987Z             {
2026-06-04T03:42:56.4473379Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.4475185Z               "line": 194
2026-06-04T03:42:56.4476479Z             },
2026-06-04T03:42:56.4477623Z             {
2026-06-04T03:42:56.4478987Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.4480831Z               "line": 202
2026-06-04T03:42:56.4482139Z             },
2026-06-04T03:42:56.4483298Z             {
2026-06-04T03:42:56.4484713Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4486525Z               "line": 451
2026-06-04T03:42:56.4487851Z             },
2026-06-04T03:42:56.4489006Z             {
2026-06-04T03:42:56.4490472Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4492312Z               "line": 510
2026-06-04T03:42:56.4493630Z             },
2026-06-04T03:42:56.4494795Z             {
2026-06-04T03:42:56.4496184Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T03:42:56.4497985Z               "line": 100
2026-06-04T03:42:56.4499337Z             },
2026-06-04T03:42:56.4500501Z             {
2026-06-04T03:42:56.4501880Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T03:42:56.4503661Z               "line": 125
2026-06-04T03:42:56.4504959Z             }
2026-06-04T03:42:56.4506116Z           ]
2026-06-04T03:42:56.4507251Z         }
2026-06-04T03:42:56.4508371Z       }
2026-06-04T03:42:56.4509508Z     },
2026-06-04T03:42:56.4510620Z     {
2026-06-04T03:42:56.4511802Z       "id": "REQ-DAEMON-2",
2026-06-04T03:42:56.4513571Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T03:42:56.4515532Z       "requiredStages": [
2026-06-04T03:42:56.4516866Z         "impl",
2026-06-04T03:42:56.4518061Z         "unit",
2026-06-04T03:42:56.4519265Z         "int"
2026-06-04T03:42:56.4520418Z       ],
2026-06-04T03:42:56.4521525Z       "stages": {
2026-06-04T03:42:56.4522720Z         "doc": {
2026-06-04T03:42:56.4523969Z           "complete": false,
2026-06-04T03:42:56.4525397Z           "evidence": []
2026-06-04T03:42:56.4526701Z         },
2026-06-04T03:42:56.4527828Z         "impl": {
2026-06-04T03:42:56.4529090Z           "complete": true,
2026-06-04T03:42:56.4530539Z           "evidence": [
2026-06-04T03:42:56.4531812Z             {
2026-06-04T03:42:56.4533185Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.4534954Z               "line": 23
2026-06-04T03:42:56.4536249Z             },
2026-06-04T03:42:56.4537400Z             {
2026-06-04T03:42:56.4538767Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.4540609Z               "line": 474
2026-06-04T03:42:56.4541930Z             },
2026-06-04T03:42:56.4543081Z             {
2026-06-04T03:42:56.4544443Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.4546235Z               "line": 584
2026-06-04T03:42:56.4547531Z             },
2026-06-04T03:42:56.4548678Z             {
2026-06-04T03:42:56.4550427Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.4552270Z               "line": 32
2026-06-04T03:42:56.4553586Z             },
2026-06-04T03:42:56.4554739Z             {
2026-06-04T03:42:56.4556293Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.4558082Z               "line": 187
2026-06-04T03:42:56.4559432Z             },
2026-06-04T03:42:56.4560597Z             {
2026-06-04T03:42:56.4561976Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.4563767Z               "line": 485
2026-06-04T03:42:56.4565059Z             },
2026-06-04T03:42:56.4566192Z             {
2026-06-04T03:42:56.4571708Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.4573626Z               "line": 654
2026-06-04T03:42:56.4574936Z             },
2026-06-04T03:42:56.4576076Z             {
2026-06-04T03:42:56.4577416Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T03:42:56.4579238Z               "line": 11
2026-06-04T03:42:56.4580540Z             },
2026-06-04T03:42:56.4581695Z             {
2026-06-04T03:42:56.4583074Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T03:42:56.4584827Z               "line": 53
2026-06-04T03:42:56.4586121Z             },
2026-06-04T03:42:56.4587265Z             {
2026-06-04T03:42:56.4588592Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.4590360Z               "line": 13
2026-06-04T03:42:56.4591655Z             },
2026-06-04T03:42:56.4592799Z             {
2026-06-04T03:42:56.4594165Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4595943Z               "line": 27
2026-06-04T03:42:56.4597228Z             },
2026-06-04T03:42:56.4598368Z             {
2026-06-04T03:42:56.4599786Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4601567Z               "line": 94
2026-06-04T03:42:56.4602857Z             },
2026-06-04T03:42:56.4603995Z             {
2026-06-04T03:42:56.4605385Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4607169Z               "line": 383
2026-06-04T03:42:56.4608466Z             },
2026-06-04T03:42:56.4609834Z             {
2026-06-04T03:42:56.4611412Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4613183Z               "line": 450
2026-06-04T03:42:56.4614467Z             },
2026-06-04T03:42:56.4615612Z             {
2026-06-04T03:42:56.4616981Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4618770Z               "line": 484
2026-06-04T03:42:56.4620118Z             },
2026-06-04T03:42:56.4621246Z             {
2026-06-04T03:42:56.4622670Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4624541Z               "line": 526
2026-06-04T03:42:56.4625857Z             },
2026-06-04T03:42:56.4627008Z             {
2026-06-04T03:42:56.4628417Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4630297Z               "line": 570
2026-06-04T03:42:56.4631599Z             },
2026-06-04T03:42:56.4632737Z             {
2026-06-04T03:42:56.4634656Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T03:42:56.4636728Z               "line": 10
2026-06-04T03:42:56.4638008Z             }
2026-06-04T03:42:56.4639140Z           ]
2026-06-04T03:42:56.4640298Z         },
2026-06-04T03:42:56.4641404Z         "int": {
2026-06-04T03:42:56.4642624Z           "complete": true,
2026-06-04T03:42:56.4643990Z           "evidence": [
2026-06-04T03:42:56.4645255Z             {
2026-06-04T03:42:56.4646661Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T03:42:56.4648465Z               "line": 17
2026-06-04T03:42:56.4649794Z             },
2026-06-04T03:42:56.4650935Z             {
2026-06-04T03:42:56.4652370Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T03:42:56.4654199Z               "line": 33
2026-06-04T03:42:56.4655478Z             },
2026-06-04T03:42:56.4656902Z             {
2026-06-04T03:42:56.4658341Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T03:42:56.4660187Z               "line": 19
2026-06-04T03:42:56.4661462Z             },
2026-06-04T03:42:56.4662770Z             {
2026-06-04T03:42:56.4664202Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T03:42:56.4666030Z               "line": 70
2026-06-04T03:42:56.4667309Z             },
2026-06-04T03:42:56.4668430Z             {
2026-06-04T03:42:56.4669913Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T03:42:56.4671743Z               "line": 90
2026-06-04T03:42:56.4673012Z             },
2026-06-04T03:42:56.4674134Z             {
2026-06-04T03:42:56.4675578Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T03:42:56.4677423Z               "line": 160
2026-06-04T03:42:56.4678719Z             },
2026-06-04T03:42:56.4679899Z             {
2026-06-04T03:42:56.4681374Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T03:42:56.4683247Z               "line": 196
2026-06-04T03:42:56.4684545Z             },
2026-06-04T03:42:56.4685687Z             {
2026-06-04T03:42:56.4687133Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T03:42:56.4692989Z               "line": 121
2026-06-04T03:42:56.4694419Z             }
2026-06-04T03:42:56.4695587Z           ]
2026-06-04T03:42:56.4696677Z         },
2026-06-04T03:42:56.4697767Z         "unit": {
2026-06-04T03:42:56.4698994Z           "complete": true,
2026-06-04T03:42:56.4700453Z           "evidence": [
2026-06-04T03:42:56.4701717Z             {
2026-06-04T03:42:56.4703074Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T03:42:56.4704811Z               "line": 62
2026-06-04T03:42:56.4706087Z             },
2026-06-04T03:42:56.4707234Z             {
2026-06-04T03:42:56.4708580Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T03:42:56.4710369Z               "line": 76
2026-06-04T03:42:56.4711667Z             },
2026-06-04T03:42:56.4712809Z             {
2026-06-04T03:42:56.4714159Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T03:42:56.4715895Z               "line": 88
2026-06-04T03:42:56.4717165Z             },
2026-06-04T03:42:56.4718311Z             {
2026-06-04T03:42:56.4719719Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T03:42:56.4721497Z               "line": 264
2026-06-04T03:42:56.4722810Z             },
2026-06-04T03:42:56.4723942Z             {
2026-06-04T03:42:56.4725294Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.4727013Z               "line": 471
2026-06-04T03:42:56.4728293Z             },
2026-06-04T03:42:56.4729480Z             {
2026-06-04T03:42:56.4730800Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.4732514Z               "line": 479
2026-06-04T03:42:56.4733804Z             },
2026-06-04T03:42:56.4734935Z             {
2026-06-04T03:42:56.4736270Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.4737996Z               "line": 496
2026-06-04T03:42:56.4739327Z             },
2026-06-04T03:42:56.4740464Z             {
2026-06-04T03:42:56.4741802Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.4743541Z               "line": 541
2026-06-04T03:42:56.4744830Z             },
2026-06-04T03:42:56.4745962Z             {
2026-06-04T03:42:56.4747339Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4749126Z               "line": 637
2026-06-04T03:42:56.4750461Z             },
2026-06-04T03:42:56.4751592Z             {
2026-06-04T03:42:56.4752969Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.4754745Z               "line": 649
2026-06-04T03:42:56.4756038Z             },
2026-06-04T03:42:56.4757178Z             {
2026-06-04T03:42:56.4758569Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T03:42:56.4760429Z               "line": 112
2026-06-04T03:42:56.4761991Z             }
2026-06-04T03:42:56.4763170Z           ]
2026-06-04T03:42:56.4764264Z         }
2026-06-04T03:42:56.4765333Z       }
2026-06-04T03:42:56.4766383Z     },
2026-06-04T03:42:56.4767458Z     {
2026-06-04T03:42:56.4768572Z       "id": "REQ-DAEMON-3",
2026-06-04T03:42:56.4770683Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T03:42:56.4772762Z       "requiredStages": [
2026-06-04T03:42:56.4774090Z         "impl",
2026-06-04T03:42:56.4775245Z         "unit",
2026-06-04T03:42:56.4776392Z         "int"
2026-06-04T03:42:56.4777504Z       ],
2026-06-04T03:42:56.4778595Z       "stages": {
2026-06-04T03:42:56.4779828Z         "doc": {
2026-06-04T03:42:56.4781037Z           "complete": false,
2026-06-04T03:42:56.4782458Z           "evidence": []
2026-06-04T03:42:56.4783760Z         },
2026-06-04T03:42:56.4784855Z         "impl": {
2026-06-04T03:42:56.4786088Z           "complete": true,
2026-06-04T03:42:56.4787450Z           "evidence": [
2026-06-04T03:42:56.4788709Z             {
2026-06-04T03:42:56.4790129Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T03:42:56.4791874Z               "line": 14
2026-06-04T03:42:56.4793152Z             },
2026-06-04T03:42:56.4794296Z             {
2026-06-04T03:42:56.4795694Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T03:42:56.4797485Z               "line": 11
2026-06-04T03:42:56.4798747Z             },
2026-06-04T03:42:56.4799925Z             {
2026-06-04T03:42:56.4801213Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T03:42:56.4802910Z               "line": 209
2026-06-04T03:42:56.4808063Z             },
2026-06-04T03:42:56.4809355Z             {
2026-06-04T03:42:56.4810639Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.4812280Z               "line": 233
2026-06-04T03:42:56.4813556Z             }
2026-06-04T03:42:56.4814673Z           ]
2026-06-04T03:42:56.4815754Z         },
2026-06-04T03:42:56.4816836Z         "int": {
2026-06-04T03:42:56.4818066Z           "complete": true,
2026-06-04T03:42:56.4819495Z           "evidence": [
2026-06-04T03:42:56.4820759Z             {
2026-06-04T03:42:56.4822132Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.4823882Z               "line": 43
2026-06-04T03:42:56.4825165Z             },
2026-06-04T03:42:56.4826285Z             {
2026-06-04T03:42:56.4827635Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.4829419Z               "line": 315
2026-06-04T03:42:56.4830695Z             }
2026-06-04T03:42:56.4831821Z           ]
2026-06-04T03:42:56.4832903Z         },
2026-06-04T03:42:56.4833998Z         "unit": {
2026-06-04T03:42:56.4835216Z           "complete": true,
2026-06-04T03:42:56.4836565Z           "evidence": [
2026-06-04T03:42:56.4837809Z             {
2026-06-04T03:42:56.4839152Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T03:42:56.4841082Z               "line": 217
2026-06-04T03:42:56.4842349Z             }
2026-06-04T03:42:56.4843463Z           ]
2026-06-04T03:42:56.4844553Z         }
2026-06-04T03:42:56.4845616Z       }
2026-06-04T03:42:56.4846665Z     },
2026-06-04T03:42:56.4847722Z     {
2026-06-04T03:42:56.4848835Z       "id": "REQ-DAEMON-4",
2026-06-04T03:42:56.4850470Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T03:42:56.4852262Z       "requiredStages": [
2026-06-04T03:42:56.4853571Z         "impl",
2026-06-04T03:42:56.4854736Z         "unit",
2026-06-04T03:42:56.4855893Z         "int"
2026-06-04T03:42:56.4857022Z       ],
2026-06-04T03:42:56.4858113Z       "stages": {
2026-06-04T03:42:56.4859328Z         "doc": {
2026-06-04T03:42:56.4860552Z           "complete": false,
2026-06-04T03:42:56.4861966Z           "evidence": []
2026-06-04T03:42:56.4863266Z         },
2026-06-04T03:42:56.4864365Z         "impl": {
2026-06-04T03:42:56.4865600Z           "complete": true,
2026-06-04T03:42:56.4866957Z           "evidence": [
2026-06-04T03:42:56.4868219Z             {
2026-06-04T03:42:56.4869929Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4871773Z               "line": 262
2026-06-04T03:42:56.4873065Z             },
2026-06-04T03:42:56.4874193Z             {
2026-06-04T03:42:56.4875591Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4877597Z               "line": 324
2026-06-04T03:42:56.4878897Z             },
2026-06-04T03:42:56.4880084Z             {
2026-06-04T03:42:56.4881476Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4883268Z               "line": 346
2026-06-04T03:42:56.4884558Z             }
2026-06-04T03:42:56.4885670Z           ]
2026-06-04T03:42:56.4886870Z         },
2026-06-04T03:42:56.4888047Z         "int": {
2026-06-04T03:42:56.4889330Z           "complete": true,
2026-06-04T03:42:56.4890695Z           "evidence": [
2026-06-04T03:42:56.4891943Z             {
2026-06-04T03:42:56.4893369Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T03:42:56.4895200Z               "line": 34
2026-06-04T03:42:56.4896485Z             }
2026-06-04T03:42:56.4897615Z           ]
2026-06-04T03:42:56.4898708Z         },
2026-06-04T03:42:56.4899861Z         "unit": {
2026-06-04T03:42:56.4901111Z           "complete": true,
2026-06-04T03:42:56.4902505Z           "evidence": [
2026-06-04T03:42:56.4903764Z             {
2026-06-04T03:42:56.4905132Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.4906889Z               "line": 248
2026-06-04T03:42:56.4908179Z             },
2026-06-04T03:42:56.4909365Z             {
2026-06-04T03:42:56.4910783Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4912591Z               "line": 533
2026-06-04T03:42:56.4913886Z             },
2026-06-04T03:42:56.4915024Z             {
2026-06-04T03:42:56.4920544Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4922395Z               "line": 584
2026-06-04T03:42:56.4923698Z             },
2026-06-04T03:42:56.4924882Z             {
2026-06-04T03:42:56.4926366Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4928199Z               "line": 608
2026-06-04T03:42:56.4929573Z             },
2026-06-04T03:42:56.4930721Z             {
2026-06-04T03:42:56.4932132Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.4933937Z               "line": 638
2026-06-04T03:42:56.4935232Z             }
2026-06-04T03:42:56.4936358Z           ]
2026-06-04T03:42:56.4937468Z         }
2026-06-04T03:42:56.4938561Z       }
2026-06-04T03:42:56.4939682Z     },
2026-06-04T03:42:56.4940759Z     {
2026-06-04T03:42:56.4941862Z       "id": "REQ-DOCS-1",
2026-06-04T03:42:56.4943947Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T03:42:56.4946362Z       "requiredStages": [],
2026-06-04T03:42:56.4947732Z       "stages": {
2026-06-04T03:42:56.4948914Z         "doc": {
2026-06-04T03:42:56.4950180Z           "complete": false,
2026-06-04T03:42:56.4951621Z           "evidence": []
2026-06-04T03:42:56.4952928Z         },
2026-06-04T03:42:56.4954032Z         "impl": {
2026-06-04T03:42:56.4955263Z           "complete": false,
2026-06-04T03:42:56.4956663Z           "evidence": []
2026-06-04T03:42:56.4957946Z         },
2026-06-04T03:42:56.4959057Z         "int": {
2026-06-04T03:42:56.4960329Z           "complete": false,
2026-06-04T03:42:56.4961760Z           "evidence": []
2026-06-04T03:42:56.4963055Z         },
2026-06-04T03:42:56.4964156Z         "unit": {
2026-06-04T03:42:56.4965395Z           "complete": false,
2026-06-04T03:42:56.4966796Z           "evidence": []
2026-06-04T03:42:56.4968076Z         }
2026-06-04T03:42:56.4969193Z       }
2026-06-04T03:42:56.4970269Z     },
2026-06-04T03:42:56.4971335Z     {
2026-06-04T03:42:56.4972444Z       "id": "REQ-DOCS-2",
2026-06-04T03:42:56.4974292Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T03:42:56.4976442Z       "requiredStages": [],
2026-06-04T03:42:56.4977820Z       "stages": {
2026-06-04T03:42:56.4979376Z         "doc": {
2026-06-04T03:42:56.4980662Z           "complete": false,
2026-06-04T03:42:56.4982067Z           "evidence": []
2026-06-04T03:42:56.4983358Z         },
2026-06-04T03:42:56.4984465Z         "impl": {
2026-06-04T03:42:56.4985877Z           "complete": false,
2026-06-04T03:42:56.4987285Z           "evidence": []
2026-06-04T03:42:56.4988582Z         },
2026-06-04T03:42:56.4989750Z         "int": {
2026-06-04T03:42:56.4990983Z           "complete": false,
2026-06-04T03:42:56.4992376Z           "evidence": []
2026-06-04T03:42:56.4993658Z         },
2026-06-04T03:42:56.4994742Z         "unit": {
2026-06-04T03:42:56.4995974Z           "complete": false,
2026-06-04T03:42:56.4997390Z           "evidence": []
2026-06-04T03:42:56.4998668Z         }
2026-06-04T03:42:56.4999786Z       }
2026-06-04T03:42:56.5000848Z     },
2026-06-04T03:42:56.5001908Z     {
2026-06-04T03:42:56.5003011Z       "id": "REQ-DOCS-3",
2026-06-04T03:42:56.5005237Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T03:42:56.5007267Z       "requiredStages": [],
2026-06-04T03:42:56.5008655Z       "stages": {
2026-06-04T03:42:56.5009893Z         "doc": {
2026-06-04T03:42:56.5011113Z           "complete": false,
2026-06-04T03:42:56.5012526Z           "evidence": []
2026-06-04T03:42:56.5013801Z         },
2026-06-04T03:42:56.5014908Z         "impl": {
2026-06-04T03:42:56.5016137Z           "complete": false,
2026-06-04T03:42:56.5017584Z           "evidence": []
2026-06-04T03:42:56.5018854Z         },
2026-06-04T03:42:56.5020007Z         "int": {
2026-06-04T03:42:56.5021222Z           "complete": false,
2026-06-04T03:42:56.5022625Z           "evidence": []
2026-06-04T03:42:56.5023916Z         },
2026-06-04T03:42:56.5025024Z         "unit": {
2026-06-04T03:42:56.5026252Z           "complete": false,
2026-06-04T03:42:56.5027656Z           "evidence": []
2026-06-04T03:42:56.5028943Z         }
2026-06-04T03:42:56.5034212Z       }
2026-06-04T03:42:56.5035338Z     },
2026-06-04T03:42:56.5036411Z     {
2026-06-04T03:42:56.5037547Z       "id": "REQ-DOCS-4",
2026-06-04T03:42:56.5039739Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T03:42:56.5042121Z       "requiredStages": [],
2026-06-04T03:42:56.5043478Z       "stages": {
2026-06-04T03:42:56.5044670Z         "doc": {
2026-06-04T03:42:56.5045896Z           "complete": false,
2026-06-04T03:42:56.5047346Z           "evidence": []
2026-06-04T03:42:56.5048624Z         },
2026-06-04T03:42:56.5049773Z         "impl": {
2026-06-04T03:42:56.5050994Z           "complete": false,
2026-06-04T03:42:56.5052394Z           "evidence": []
2026-06-04T03:42:56.5053674Z         },
2026-06-04T03:42:56.5054764Z         "int": {
2026-06-04T03:42:56.5055975Z           "complete": false,
2026-06-04T03:42:56.5057369Z           "evidence": []
2026-06-04T03:42:56.5058654Z         },
2026-06-04T03:42:56.5059811Z         "unit": {
2026-06-04T03:42:56.5061041Z           "complete": false,
2026-06-04T03:42:56.5062430Z           "evidence": []
2026-06-04T03:42:56.5063725Z         }
2026-06-04T03:42:56.5064802Z       }
2026-06-04T03:42:56.5065868Z     },
2026-06-04T03:42:56.5066925Z     {
2026-06-04T03:42:56.5068041Z       "id": "REQ-DOCS-5",
2026-06-04T03:42:56.5070221Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T03:42:56.5072635Z       "requiredStages": [],
2026-06-04T03:42:56.5073991Z       "stages": {
2026-06-04T03:42:56.5075159Z         "doc": {
2026-06-04T03:42:56.5076368Z           "complete": false,
2026-06-04T03:42:56.5077741Z           "evidence": []
2026-06-04T03:42:56.5079020Z         },
2026-06-04T03:42:56.5080168Z         "impl": {
2026-06-04T03:42:56.5081398Z           "complete": false,
2026-06-04T03:42:56.5082810Z           "evidence": []
2026-06-04T03:42:56.5084099Z         },
2026-06-04T03:42:56.5085190Z         "int": {
2026-06-04T03:42:56.5086408Z           "complete": false,
2026-06-04T03:42:56.5087799Z           "evidence": []
2026-06-04T03:42:56.5089081Z         },
2026-06-04T03:42:56.5090513Z         "unit": {
2026-06-04T03:42:56.5091804Z           "complete": false,
2026-06-04T03:42:56.5093210Z           "evidence": []
2026-06-04T03:42:56.5094498Z         }
2026-06-04T03:42:56.5095578Z       }
2026-06-04T03:42:56.5096809Z     },
2026-06-04T03:42:56.5097875Z     {
2026-06-04T03:42:56.5098991Z       "id": "REQ-EP-1",
2026-06-04T03:42:56.5100606Z       "title": "Day-one endpoint types; open type system",
2026-06-04T03:42:56.5102450Z       "requiredStages": [
2026-06-04T03:42:56.5103780Z         "impl",
2026-06-04T03:42:56.5104949Z         "unit"
2026-06-04T03:42:56.5106083Z       ],
2026-06-04T03:42:56.5107163Z       "stages": {
2026-06-04T03:42:56.5108335Z         "doc": {
2026-06-04T03:42:56.5109585Z           "complete": false,
2026-06-04T03:42:56.5110970Z           "evidence": []
2026-06-04T03:42:56.5112299Z         },
2026-06-04T03:42:56.5113415Z         "impl": {
2026-06-04T03:42:56.5114619Z           "complete": true,
2026-06-04T03:42:56.5115981Z           "evidence": [
2026-06-04T03:42:56.5117244Z             {
2026-06-04T03:42:56.5118616Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5120425Z               "line": 77
2026-06-04T03:42:56.5121694Z             },
2026-06-04T03:42:56.5122890Z             {
2026-06-04T03:42:56.5124269Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5126038Z               "line": 94
2026-06-04T03:42:56.5127312Z             }
2026-06-04T03:42:56.5128445Z           ]
2026-06-04T03:42:56.5129570Z         },
2026-06-04T03:42:56.5130659Z         "int": {
2026-06-04T03:42:56.5131863Z           "complete": false,
2026-06-04T03:42:56.5133265Z           "evidence": []
2026-06-04T03:42:56.5134539Z         },
2026-06-04T03:42:56.5135627Z         "unit": {
2026-06-04T03:42:56.5136834Z           "complete": true,
2026-06-04T03:42:56.5138199Z           "evidence": [
2026-06-04T03:42:56.5139496Z             {
2026-06-04T03:42:56.5145193Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5147020Z               "line": 161
2026-06-04T03:42:56.5148313Z             },
2026-06-04T03:42:56.5149543Z             {
2026-06-04T03:42:56.5150918Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5152688Z               "line": 178
2026-06-04T03:42:56.5153986Z             }
2026-06-04T03:42:56.5155102Z           ]
2026-06-04T03:42:56.5156181Z         }
2026-06-04T03:42:56.5157239Z       }
2026-06-04T03:42:56.5158293Z     },
2026-06-04T03:42:56.5159389Z     {
2026-06-04T03:42:56.5160500Z       "id": "REQ-EP-2",
2026-06-04T03:42:56.5162279Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T03:42:56.5164379Z       "requiredStages": [
2026-06-04T03:42:56.5165696Z         "impl",
2026-06-04T03:42:56.5166839Z         "unit"
2026-06-04T03:42:56.5167963Z       ],
2026-06-04T03:42:56.5169050Z       "stages": {
2026-06-04T03:42:56.5170251Z         "doc": {
2026-06-04T03:42:56.5171458Z           "complete": false,
2026-06-04T03:42:56.5172860Z           "evidence": []
2026-06-04T03:42:56.5174136Z         },
2026-06-04T03:42:56.5175229Z         "impl": {
2026-06-04T03:42:56.5177024Z           "complete": true,
2026-06-04T03:42:56.5178791Z           "evidence": [
2026-06-04T03:42:56.5180684Z             {
2026-06-04T03:42:56.5182228Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5184130Z               "line": 114
2026-06-04T03:42:56.5185855Z             },
2026-06-04T03:42:56.5187656Z             {
2026-06-04T03:42:56.5189129Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5191417Z               "line": 131
2026-06-04T03:42:56.5192882Z             },
2026-06-04T03:42:56.5194378Z             {
2026-06-04T03:42:56.5196042Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5198156Z               "line": 138
2026-06-04T03:42:56.5199789Z             }
2026-06-04T03:42:56.5201124Z           ]
2026-06-04T03:42:56.5202355Z         },
2026-06-04T03:42:56.5203630Z         "int": {
2026-06-04T03:42:56.5205520Z           "complete": false,
2026-06-04T03:42:56.5207070Z           "evidence": []
2026-06-04T03:42:56.5208471Z         },
2026-06-04T03:42:56.5209938Z         "unit": {
2026-06-04T03:42:56.5211572Z           "complete": true,
2026-06-04T03:42:56.5213451Z           "evidence": [
2026-06-04T03:42:56.5214701Z             {
2026-06-04T03:42:56.5216096Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5217911Z               "line": 193
2026-06-04T03:42:56.5219268Z             },
2026-06-04T03:42:56.5220418Z             {
2026-06-04T03:42:56.5221791Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5223581Z               "line": 211
2026-06-04T03:42:56.5224859Z             },
2026-06-04T03:42:56.5225995Z             {
2026-06-04T03:42:56.5227368Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T03:42:56.5229195Z               "line": 224
2026-06-04T03:42:56.5230502Z             }
2026-06-04T03:42:56.5231675Z           ]
2026-06-04T03:42:56.5232769Z         }
2026-06-04T03:42:56.5233843Z       }
2026-06-04T03:42:56.5234899Z     },
2026-06-04T03:42:56.5235953Z     {
2026-06-04T03:42:56.5237046Z       "id": "REQ-EP-3",
2026-06-04T03:42:56.5239042Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T03:42:56.5241479Z       "requiredStages": [
2026-06-04T03:42:56.5242813Z         "impl",
2026-06-04T03:42:56.5243965Z         "unit"
2026-06-04T03:42:56.5245100Z       ],
2026-06-04T03:42:56.5246197Z       "stages": {
2026-06-04T03:42:56.5247374Z         "doc": {
2026-06-04T03:42:56.5248599Z           "complete": false,
2026-06-04T03:42:56.5256312Z           "evidence": []
2026-06-04T03:42:56.5257772Z         },
2026-06-04T03:42:56.5258896Z         "impl": {
2026-06-04T03:42:56.5260277Z           "complete": true,
2026-06-04T03:42:56.5261668Z           "evidence": [
2026-06-04T03:42:56.5262948Z             {
2026-06-04T03:42:56.5264366Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5266160Z               "line": 31
2026-06-04T03:42:56.5267438Z             },
2026-06-04T03:42:56.5268573Z             {
2026-06-04T03:42:56.5269990Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5271804Z               "line": 49
2026-06-04T03:42:56.5273092Z             }
2026-06-04T03:42:56.5274224Z           ]
2026-06-04T03:42:56.5275314Z         },
2026-06-04T03:42:56.5276411Z         "int": {
2026-06-04T03:42:56.5277638Z           "complete": false,
2026-06-04T03:42:56.5279037Z           "evidence": []
2026-06-04T03:42:56.5280367Z         },
2026-06-04T03:42:56.5281473Z         "unit": {
2026-06-04T03:42:56.5282718Z           "complete": true,
2026-06-04T03:42:56.5284096Z           "evidence": [
2026-06-04T03:42:56.5285345Z             {
2026-06-04T03:42:56.5286715Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5288489Z               "line": 156
2026-06-04T03:42:56.5289805Z             },
2026-06-04T03:42:56.5290958Z             {
2026-06-04T03:42:56.5292334Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5294118Z               "line": 164
2026-06-04T03:42:56.5295411Z             },
2026-06-04T03:42:56.5296545Z             {
2026-06-04T03:42:56.5297936Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5299743Z               "line": 177
2026-06-04T03:42:56.5301043Z             },
2026-06-04T03:42:56.5302188Z             {
2026-06-04T03:42:56.5303563Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5305355Z               "line": 197
2026-06-04T03:42:56.5306650Z             },
2026-06-04T03:42:56.5307784Z             {
2026-06-04T03:42:56.5309203Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5310988Z               "line": 213
2026-06-04T03:42:56.5312301Z             },
2026-06-04T03:42:56.5313446Z             {
2026-06-04T03:42:56.5314836Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T03:42:56.5317025Z               "line": 227
2026-06-04T03:42:56.5318382Z             }
2026-06-04T03:42:56.5319570Z           ]
2026-06-04T03:42:56.5320660Z         }
2026-06-04T03:42:56.5321731Z       }
2026-06-04T03:42:56.5322785Z     },
2026-06-04T03:42:56.5324032Z     {
2026-06-04T03:42:56.5325132Z       "id": "REQ-EP-4",
2026-06-04T03:42:56.5326810Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T03:42:56.5328786Z       "requiredStages": [
2026-06-04T03:42:56.5330165Z         "impl",
2026-06-04T03:42:56.5331308Z         "unit"
2026-06-04T03:42:56.5332436Z       ],
2026-06-04T03:42:56.5333522Z       "stages": {
2026-06-04T03:42:56.5334697Z         "doc": {
2026-06-04T03:42:56.5335915Z           "complete": false,
2026-06-04T03:42:56.5337308Z           "evidence": []
2026-06-04T03:42:56.5338579Z         },
2026-06-04T03:42:56.5339733Z         "impl": {
2026-06-04T03:42:56.5340955Z           "complete": true,
2026-06-04T03:42:56.5342315Z           "evidence": [
2026-06-04T03:42:56.5343574Z             {
2026-06-04T03:42:56.5344907Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.5346629Z               "line": 404
2026-06-04T03:42:56.5347910Z             },
2026-06-04T03:42:56.5349070Z             {
2026-06-04T03:42:56.5350455Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.5352201Z               "line": 603
2026-06-04T03:42:56.5353483Z             },
2026-06-04T03:42:56.5354605Z             {
2026-06-04T03:42:56.5355968Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.5357723Z               "line": 671
2026-06-04T03:42:56.5359003Z             },
2026-06-04T03:42:56.5360165Z             {
2026-06-04T03:42:56.5361485Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.5363205Z               "line": 83
2026-06-04T03:42:56.5364473Z             },
2026-06-04T03:42:56.5365604Z             {
2026-06-04T03:42:56.5371796Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.5373598Z               "line": 372
2026-06-04T03:42:56.5374882Z             },
2026-06-04T03:42:56.5376014Z             {
2026-06-04T03:42:56.5377311Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.5379016Z               "line": 443
2026-06-04T03:42:56.5380333Z             },
2026-06-04T03:42:56.5381447Z             {
2026-06-04T03:42:56.5382792Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.5384520Z               "line": 181
2026-06-04T03:42:56.5385773Z             },
2026-06-04T03:42:56.5386881Z             {
2026-06-04T03:42:56.5388219Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.5389984Z               "line": 300
2026-06-04T03:42:56.5391262Z             },
2026-06-04T03:42:56.5392370Z             {
2026-06-04T03:42:56.5393723Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T03:42:56.5395457Z               "line": 602
2026-06-04T03:42:56.5396724Z             }
2026-06-04T03:42:56.5397846Z           ]
2026-06-04T03:42:56.5398906Z         },
2026-06-04T03:42:56.5400018Z         "int": {
2026-06-04T03:42:56.5401224Z           "complete": false,
2026-06-04T03:42:56.5402597Z           "evidence": []
2026-06-04T03:42:56.5403879Z         },
2026-06-04T03:42:56.5404944Z         "unit": {
2026-06-04T03:42:56.5406138Z           "complete": true,
2026-06-04T03:42:56.5407468Z           "evidence": [
2026-06-04T03:42:56.5408685Z             {
2026-06-04T03:42:56.5410019Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T03:42:56.5411706Z               "line": 516
2026-06-04T03:42:56.5412980Z             },
2026-06-04T03:42:56.5414075Z             {
2026-06-04T03:42:56.5415458Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T03:42:56.5417232Z               "line": 75
2026-06-04T03:42:56.5418489Z             },
2026-06-04T03:42:56.5419639Z             {
2026-06-04T03:42:56.5421015Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T03:42:56.5423054Z               "line": 131
2026-06-04T03:42:56.5424376Z             }
2026-06-04T03:42:56.5425464Z           ]
2026-06-04T03:42:56.5426525Z         }
2026-06-04T03:42:56.5427568Z       }
2026-06-04T03:42:56.5428601Z     },
2026-06-04T03:42:56.5429854Z     {
2026-06-04T03:42:56.5430928Z       "id": "REQ-EP-5",
2026-06-04T03:42:56.5436430Z       "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-04T03:42:56.5442344Z       "requiredStages": [],
2026-06-04T03:42:56.5443669Z       "stages": {
2026-06-04T03:42:56.5444827Z         "doc": {
2026-06-04T03:42:56.5446026Z           "complete": false,
2026-06-04T03:42:56.5447384Z           "evidence": []
2026-06-04T03:42:56.5448631Z         },
2026-06-04T03:42:56.5449749Z         "impl": {
2026-06-04T03:42:56.5450943Z           "complete": false,
2026-06-04T03:42:56.5452328Z           "evidence": []
2026-06-04T03:42:56.5453586Z         },
2026-06-04T03:42:56.5454652Z         "int": {
2026-06-04T03:42:56.5455837Z           "complete": false,
2026-06-04T03:42:56.5457197Z           "evidence": []
2026-06-04T03:42:56.5458466Z         },
2026-06-04T03:42:56.5459565Z         "unit": {
2026-06-04T03:42:56.5460766Z           "complete": false,
2026-06-04T03:42:56.5462133Z           "evidence": []
2026-06-04T03:42:56.5463381Z         }
2026-06-04T03:42:56.5464422Z       }
2026-06-04T03:42:56.5465453Z     },
2026-06-04T03:42:56.5466484Z     {
2026-06-04T03:42:56.5467581Z       "id": "REQ-FRONT-1",
2026-06-04T03:42:56.5469544Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T03:42:56.5471721Z       "requiredStages": [],
2026-06-04T03:42:56.5473044Z       "stages": {
2026-06-04T03:42:56.5474197Z         "doc": {
2026-06-04T03:42:56.5475399Z           "complete": false,
2026-06-04T03:42:56.5476774Z           "evidence": []
2026-06-04T03:42:56.5478033Z         },
2026-06-04T03:42:56.5479117Z         "impl": {
2026-06-04T03:42:56.5480355Z           "complete": false,
2026-06-04T03:42:56.5481722Z           "evidence": []
2026-06-04T03:42:56.5482969Z         },
2026-06-04T03:42:56.5484065Z         "int": {
2026-06-04T03:42:56.5485264Z           "complete": false,
2026-06-04T03:42:56.5491343Z           "evidence": []
2026-06-04T03:42:56.5492629Z         },
2026-06-04T03:42:56.5493700Z         "unit": {
2026-06-04T03:42:56.5494913Z           "complete": false,
2026-06-04T03:42:56.5496269Z           "evidence": []
2026-06-04T03:42:56.5497512Z         }
2026-06-04T03:42:56.5498571Z       }
2026-06-04T03:42:56.5499668Z     },
2026-06-04T03:42:56.5500721Z     {
2026-06-04T03:42:56.5501984Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T03:42:56.5504166Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T03:42:56.5506293Z       "requiredStages": [
2026-06-04T03:42:56.5507569Z         "impl",
2026-06-04T03:42:56.5508718Z         "unit"
2026-06-04T03:42:56.5509908Z       ],
2026-06-04T03:42:56.5511025Z       "stages": {
2026-06-04T03:42:56.5512169Z         "doc": {
2026-06-04T03:42:56.5513398Z           "complete": false,
2026-06-04T03:42:56.5514787Z           "evidence": []
2026-06-04T03:42:56.5516051Z         },
2026-06-04T03:42:56.5517142Z         "impl": {
2026-06-04T03:42:56.5518342Z           "complete": true,
2026-06-04T03:42:56.5519741Z           "evidence": [
2026-06-04T03:42:56.5520976Z             {
2026-06-04T03:42:56.5522321Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.5524037Z               "line": 60
2026-06-04T03:42:56.5525284Z             },
2026-06-04T03:42:56.5526407Z             {
2026-06-04T03:42:56.5527698Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.5529408Z               "line": 18
2026-06-04T03:42:56.5530671Z             },
2026-06-04T03:42:56.5531851Z             {
2026-06-04T03:42:56.5533421Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.5535141Z               "line": 94
2026-06-04T03:42:56.5536411Z             }
2026-06-04T03:42:56.5537519Z           ]
2026-06-04T03:42:56.5538599Z         },
2026-06-04T03:42:56.5539732Z         "int": {
2026-06-04T03:42:56.5541107Z           "complete": false,
2026-06-04T03:42:56.5542496Z           "evidence": []
2026-06-04T03:42:56.5543754Z         },
2026-06-04T03:42:56.5544827Z         "unit": {
2026-06-04T03:42:56.5546036Z           "complete": true,
2026-06-04T03:42:56.5547416Z           "evidence": [
2026-06-04T03:42:56.5548672Z             {
2026-06-04T03:42:56.5550072Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.5551796Z               "line": 272
2026-06-04T03:42:56.5553043Z             },
2026-06-04T03:42:56.5554145Z             {
2026-06-04T03:42:56.5555438Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.5557114Z               "line": 152
2026-06-04T03:42:56.5558394Z             },
2026-06-04T03:42:56.5559555Z             {
2026-06-04T03:42:56.5560864Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.5562550Z               "line": 188
2026-06-04T03:42:56.5563812Z             }
2026-06-04T03:42:56.5564914Z           ]
2026-06-04T03:42:56.5565999Z         }
2026-06-04T03:42:56.5567057Z       }
2026-06-04T03:42:56.5568098Z     },
2026-06-04T03:42:56.5569188Z     {
2026-06-04T03:42:56.5570374Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T03:42:56.5572757Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T03:42:56.5575236Z       "requiredStages": [
2026-06-04T03:42:56.5576541Z         "impl",
2026-06-04T03:42:56.5577680Z         "unit"
2026-06-04T03:42:56.5578799Z       ],
2026-06-04T03:42:56.5579923Z       "stages": {
2026-06-04T03:42:56.5581104Z         "doc": {
2026-06-04T03:42:56.5582304Z           "complete": false,
2026-06-04T03:42:56.5583680Z           "evidence": []
2026-06-04T03:42:56.5584932Z         },
2026-06-04T03:42:56.5586032Z         "impl": {
2026-06-04T03:42:56.5587254Z           "complete": true,
2026-06-04T03:42:56.5588606Z           "evidence": [
2026-06-04T03:42:56.5589882Z             {
2026-06-04T03:42:56.5591197Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T03:42:56.5592922Z               "line": 164
2026-06-04T03:42:56.5594178Z             }
2026-06-04T03:42:56.5595286Z           ]
2026-06-04T03:42:56.5596362Z         },
2026-06-04T03:42:56.5597410Z         "int": {
2026-06-04T03:42:56.5603406Z           "complete": true,
2026-06-04T03:42:56.5604789Z           "evidence": [
2026-06-04T03:42:56.5606004Z             {
2026-06-04T03:42:56.5607305Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T03:42:56.5608960Z               "line": 44
2026-06-04T03:42:56.5610271Z             },
2026-06-04T03:42:56.5611371Z             {
2026-06-04T03:42:56.5612671Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T03:42:56.5614368Z               "line": 66
2026-06-04T03:42:56.5615637Z             }
2026-06-04T03:42:56.5616728Z           ]
2026-06-04T03:42:56.5617783Z         },
2026-06-04T03:42:56.5618846Z         "unit": {
2026-06-04T03:42:56.5620074Z           "complete": true,
2026-06-04T03:42:56.5621415Z           "evidence": [
2026-06-04T03:42:56.5622621Z             {
2026-06-04T03:42:56.5623908Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T03:42:56.5625597Z               "line": 181
2026-06-04T03:42:56.5626832Z             },
2026-06-04T03:42:56.5627930Z             {
2026-06-04T03:42:56.5629270Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T03:42:56.5630942Z               "line": 233
2026-06-04T03:42:56.5632189Z             },
2026-06-04T03:42:56.5633272Z             {
2026-06-04T03:42:56.5634552Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T03:42:56.5636213Z               "line": 261
2026-06-04T03:42:56.5637448Z             }
2026-06-04T03:42:56.5638516Z           ]
2026-06-04T03:42:56.5639597Z         }
2026-06-04T03:42:56.5640967Z       }
2026-06-04T03:42:56.5642037Z     },
2026-06-04T03:42:56.5643073Z     {
2026-06-04T03:42:56.5644329Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T03:42:56.5648497Z       "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-04T03:42:56.5652744Z       "requiredStages": [
2026-06-04T03:42:56.5654062Z         "impl",
2026-06-04T03:42:56.5655187Z         "unit",
2026-06-04T03:42:56.5656327Z         "int"
2026-06-04T03:42:56.5657458Z       ],
2026-06-04T03:42:56.5658545Z       "stages": {
2026-06-04T03:42:56.5659755Z         "doc": {
2026-06-04T03:42:56.5660963Z           "complete": false,
2026-06-04T03:42:56.5662354Z           "evidence": []
2026-06-04T03:42:56.5663635Z         },
2026-06-04T03:42:56.5664741Z         "impl": {
2026-06-04T03:42:56.5665969Z           "complete": true,
2026-06-04T03:42:56.5667317Z           "evidence": [
2026-06-04T03:42:56.5668588Z             {
2026-06-04T03:42:56.5670030Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.5671811Z               "line": 133
2026-06-04T03:42:56.5673088Z             },
2026-06-04T03:42:56.5674231Z             {
2026-06-04T03:42:56.5675624Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.5677412Z               "line": 152
2026-06-04T03:42:56.5678717Z             },
2026-06-04T03:42:56.5679906Z             {
2026-06-04T03:42:56.5681225Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.5682921Z               "line": 79
2026-06-04T03:42:56.5684194Z             },
2026-06-04T03:42:56.5685312Z             {
2026-06-04T03:42:56.5686605Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.5688233Z               "line": 51
2026-06-04T03:42:56.5689520Z             },
2026-06-04T03:42:56.5690624Z             {
2026-06-04T03:42:56.5691902Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.5693575Z               "line": 101
2026-06-04T03:42:56.5694841Z             },
2026-06-04T03:42:56.5695946Z             {
2026-06-04T03:42:56.5697278Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5699010Z               "line": 27
2026-06-04T03:42:56.5700312Z             },
2026-06-04T03:42:56.5701415Z             {
2026-06-04T03:42:56.5702751Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5704463Z               "line": 79
2026-06-04T03:42:56.5705692Z             },
2026-06-04T03:42:56.5706791Z             {
2026-06-04T03:42:56.5708128Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5709893Z               "line": 102
2026-06-04T03:42:56.5711150Z             },
2026-06-04T03:42:56.5712274Z             {
2026-06-04T03:42:56.5713607Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.5720088Z               "line": 108
2026-06-04T03:42:56.5721487Z             }
2026-06-04T03:42:56.5722613Z           ]
2026-06-04T03:42:56.5723684Z         },
2026-06-04T03:42:56.5724744Z         "int": {
2026-06-04T03:42:56.5725940Z           "complete": true,
2026-06-04T03:42:56.5727270Z           "evidence": [
2026-06-04T03:42:56.5728521Z             {
2026-06-04T03:42:56.5729991Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T03:42:56.5731745Z               "line": 35
2026-06-04T03:42:56.5732993Z             }
2026-06-04T03:42:56.5734097Z           ]
2026-06-04T03:42:56.5735157Z         },
2026-06-04T03:42:56.5736222Z         "unit": {
2026-06-04T03:42:56.5737423Z           "complete": true,
2026-06-04T03:42:56.5738755Z           "evidence": [
2026-06-04T03:42:56.5740003Z             {
2026-06-04T03:42:56.5741376Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.5743121Z               "line": 467
2026-06-04T03:42:56.5744370Z             },
2026-06-04T03:42:56.5745478Z             {
2026-06-04T03:42:56.5747030Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.5748728Z               "line": 236
2026-06-04T03:42:56.5750059Z             },
2026-06-04T03:42:56.5751165Z             {
2026-06-04T03:42:56.5752505Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5754399Z               "line": 124
2026-06-04T03:42:56.5755664Z             },
2026-06-04T03:42:56.5756773Z             {
2026-06-04T03:42:56.5758114Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5759884Z               "line": 136
2026-06-04T03:42:56.5761146Z             },
2026-06-04T03:42:56.5762273Z             {
2026-06-04T03:42:56.5763616Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5765350Z               "line": 146
2026-06-04T03:42:56.5766602Z             },
2026-06-04T03:42:56.5767702Z             {
2026-06-04T03:42:56.5769030Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5770782Z               "line": 159
2026-06-04T03:42:56.5772060Z             },
2026-06-04T03:42:56.5773177Z             {
2026-06-04T03:42:56.5774500Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T03:42:56.5776224Z               "line": 171
2026-06-04T03:42:56.5777486Z             },
2026-06-04T03:42:56.5778609Z             {
2026-06-04T03:42:56.5780043Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.5781775Z               "line": 207
2026-06-04T03:42:56.5783027Z             }
2026-06-04T03:42:56.5784147Z           ]
2026-06-04T03:42:56.5785218Z         }
2026-06-04T03:42:56.5786257Z       }
2026-06-04T03:42:56.5787281Z     },
2026-06-04T03:42:56.5788321Z     {
2026-06-04T03:42:56.5789631Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T03:42:56.5795466Z       "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-04T03:42:56.5801232Z       "requiredStages": [],
2026-06-04T03:42:56.5802561Z       "stages": {
2026-06-04T03:42:56.5803702Z         "doc": {
2026-06-04T03:42:56.5804890Z           "complete": false,
2026-06-04T03:42:56.5806254Z           "evidence": []
2026-06-04T03:42:56.5807498Z         },
2026-06-04T03:42:56.5808567Z         "impl": {
2026-06-04T03:42:56.5809807Z           "complete": false,
2026-06-04T03:42:56.5811164Z           "evidence": []
2026-06-04T03:42:56.5812418Z         },
2026-06-04T03:42:56.5813491Z         "int": {
2026-06-04T03:42:56.5814681Z           "complete": false,
2026-06-04T03:42:56.5816038Z           "evidence": []
2026-06-04T03:42:56.5817277Z         },
2026-06-04T03:42:56.5818348Z         "unit": {
2026-06-04T03:42:56.5819570Z           "complete": false,
2026-06-04T03:42:56.5820926Z           "evidence": []
2026-06-04T03:42:56.5822168Z         }
2026-06-04T03:42:56.5823227Z       }
2026-06-04T03:42:56.5824273Z     },
2026-06-04T03:42:56.5825303Z     {
2026-06-04T03:42:56.5826475Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T03:42:56.5828672Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T03:42:56.5830926Z       "requiredStages": [
2026-06-04T03:42:56.5832235Z         "impl",
2026-06-04T03:42:56.5833363Z         "unit"
2026-06-04T03:42:56.5834473Z       ],
2026-06-04T03:42:56.5840271Z       "stages": {
2026-06-04T03:42:56.5841559Z         "doc": {
2026-06-04T03:42:56.5842756Z           "complete": false,
2026-06-04T03:42:56.5844128Z           "evidence": []
2026-06-04T03:42:56.5845376Z         },
2026-06-04T03:42:56.5846445Z         "impl": {
2026-06-04T03:42:56.5847624Z           "complete": true,
2026-06-04T03:42:56.5848945Z           "evidence": [
2026-06-04T03:42:56.5850232Z             {
2026-06-04T03:42:56.5851531Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5853197Z               "line": 40
2026-06-04T03:42:56.5854428Z             },
2026-06-04T03:42:56.5855537Z             {
2026-06-04T03:42:56.5857124Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5858839Z               "line": 98
2026-06-04T03:42:56.5860138Z             },
2026-06-04T03:42:56.5861246Z             {
2026-06-04T03:42:56.5862746Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5864437Z               "line": 209
2026-06-04T03:42:56.5865699Z             },
2026-06-04T03:42:56.5866821Z             {
2026-06-04T03:42:56.5868123Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5869858Z               "line": 291
2026-06-04T03:42:56.5871102Z             }
2026-06-04T03:42:56.5872188Z           ]
2026-06-04T03:42:56.5873258Z         },
2026-06-04T03:42:56.5874313Z         "int": {
2026-06-04T03:42:56.5875502Z           "complete": false,
2026-06-04T03:42:56.5876872Z           "evidence": []
2026-06-04T03:42:56.5878118Z         },
2026-06-04T03:42:56.5879223Z         "unit": {
2026-06-04T03:42:56.5880404Z           "complete": true,
2026-06-04T03:42:56.5881739Z           "evidence": [
2026-06-04T03:42:56.5882969Z             {
2026-06-04T03:42:56.5884291Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5885966Z               "line": 326
2026-06-04T03:42:56.5887233Z             },
2026-06-04T03:42:56.5888349Z             {
2026-06-04T03:42:56.5889697Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5891390Z               "line": 372
2026-06-04T03:42:56.5892651Z             },
2026-06-04T03:42:56.5893752Z             {
2026-06-04T03:42:56.5895064Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5896742Z               "line": 413
2026-06-04T03:42:56.5897990Z             },
2026-06-04T03:42:56.5899112Z             {
2026-06-04T03:42:56.5900458Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5902183Z               "line": 432
2026-06-04T03:42:56.5903446Z             }
2026-06-04T03:42:56.5904668Z           ]
2026-06-04T03:42:56.5905871Z         }
2026-06-04T03:42:56.5907005Z       }
2026-06-04T03:42:56.5908068Z     },
2026-06-04T03:42:56.5909112Z     {
2026-06-04T03:42:56.5910473Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T03:42:56.5912409Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T03:42:56.5914203Z       "requiredStages": [
2026-06-04T03:42:56.5915488Z         "impl",
2026-06-04T03:42:56.5916642Z         "unit"
2026-06-04T03:42:56.5917760Z       ],
2026-06-04T03:42:56.5918826Z       "stages": {
2026-06-04T03:42:56.5920018Z         "doc": {
2026-06-04T03:42:56.5921217Z           "complete": false,
2026-06-04T03:42:56.5922585Z           "evidence": []
2026-06-04T03:42:56.5923827Z         },
2026-06-04T03:42:56.5924897Z         "impl": {
2026-06-04T03:42:56.5926180Z           "complete": true,
2026-06-04T03:42:56.5927544Z           "evidence": [
2026-06-04T03:42:56.5928781Z             {
2026-06-04T03:42:56.5929508Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5930053Z               "line": 111
2026-06-04T03:42:56.5930529Z             },
2026-06-04T03:42:56.5931010Z             {
2026-06-04T03:42:56.5931693Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5932205Z               "line": 202
2026-06-04T03:42:56.5932706Z             }
2026-06-04T03:42:56.5933182Z           ]
2026-06-04T03:42:56.5933665Z         },
2026-06-04T03:42:56.5934151Z         "int": {
2026-06-04T03:42:56.5934700Z           "complete": false,
2026-06-04T03:42:56.5935222Z           "evidence": []
2026-06-04T03:42:56.5935706Z         },
2026-06-04T03:42:56.5936200Z         "unit": {
2026-06-04T03:42:56.5936733Z           "complete": true,
2026-06-04T03:42:56.5937246Z           "evidence": [
2026-06-04T03:42:56.5937727Z             {
2026-06-04T03:42:56.5938422Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5938929Z               "line": 347
2026-06-04T03:42:56.5939448Z             },
2026-06-04T03:42:56.5939940Z             {
2026-06-04T03:42:56.5940830Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.5941386Z               "line": 391
2026-06-04T03:42:56.5941856Z             }
2026-06-04T03:42:56.5942332Z           ]
2026-06-04T03:42:56.5942795Z         }
2026-06-04T03:42:56.5949739Z       }
2026-06-04T03:42:56.5950414Z     },
2026-06-04T03:42:56.5950886Z     {
2026-06-04T03:42:56.5951663Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T03:42:56.5953348Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T03:42:56.5953902Z       "requiredStages": [
2026-06-04T03:42:56.5954388Z         "impl",
2026-06-04T03:42:56.5954884Z         "unit"
2026-06-04T03:42:56.5955364Z       ],
2026-06-04T03:42:56.5955849Z       "stages": {
2026-06-04T03:42:56.5956344Z         "doc": {
2026-06-04T03:42:56.5957324Z           "complete": false,
2026-06-04T03:42:56.5957913Z           "evidence": []
2026-06-04T03:42:56.5958439Z         },
2026-06-04T03:42:56.5959114Z         "impl": {
2026-06-04T03:42:56.5959754Z           "complete": true,
2026-06-04T03:42:56.5960281Z           "evidence": [
2026-06-04T03:42:56.5960772Z             {
2026-06-04T03:42:56.5961470Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5962006Z               "line": 21
2026-06-04T03:42:56.5962803Z             },
2026-06-04T03:42:56.5963294Z             {
2026-06-04T03:42:56.5963981Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5964487Z               "line": 152
2026-06-04T03:42:56.5964976Z             }
2026-06-04T03:42:56.5965893Z           ]
2026-06-04T03:42:56.5966421Z         },
2026-06-04T03:42:56.5966955Z         "int": {
2026-06-04T03:42:56.5967545Z           "complete": false,
2026-06-04T03:42:56.5968226Z           "evidence": []
2026-06-04T03:42:56.5968863Z         },
2026-06-04T03:42:56.5969437Z         "unit": {
2026-06-04T03:42:56.5970018Z           "complete": true,
2026-06-04T03:42:56.5970706Z           "evidence": [
2026-06-04T03:42:56.5971183Z             {
2026-06-04T03:42:56.5971907Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5972437Z               "line": 169
2026-06-04T03:42:56.5972917Z             },
2026-06-04T03:42:56.5973408Z             {
2026-06-04T03:42:56.5974113Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5974630Z               "line": 176
2026-06-04T03:42:56.5975111Z             },
2026-06-04T03:42:56.5975601Z             {
2026-06-04T03:42:56.5976305Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5976809Z               "line": 185
2026-06-04T03:42:56.5977299Z             },
2026-06-04T03:42:56.5977772Z             {
2026-06-04T03:42:56.5978463Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5978972Z               "line": 194
2026-06-04T03:42:56.5979515Z             },
2026-06-04T03:42:56.5979999Z             {
2026-06-04T03:42:56.5980683Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5981550Z               "line": 203
2026-06-04T03:42:56.5982045Z             },
2026-06-04T03:42:56.5982541Z             {
2026-06-04T03:42:56.5983239Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T03:42:56.5983767Z               "line": 212
2026-06-04T03:42:56.5984457Z             },
2026-06-04T03:42:56.5984985Z             {
2026-06-04T03:42:56.5985721Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T03:42:56.5986255Z               "line": 132
2026-06-04T03:42:56.5986764Z             },
2026-06-04T03:42:56.5987269Z             {
2026-06-04T03:42:56.5987985Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.5988522Z               "line": 211
2026-06-04T03:42:56.5989024Z             }
2026-06-04T03:42:56.5989708Z           ]
2026-06-04T03:42:56.5990184Z         }
2026-06-04T03:42:56.5990668Z       }
2026-06-04T03:42:56.5991151Z     },
2026-06-04T03:42:56.5991612Z     {
2026-06-04T03:42:56.5992329Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T03:42:56.5993726Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T03:42:56.5994341Z       "requiredStages": [
2026-06-04T03:42:56.5994841Z         "impl",
2026-06-04T03:42:56.5995345Z         "unit"
2026-06-04T03:42:56.5996023Z       ],
2026-06-04T03:42:56.5996528Z       "stages": {
2026-06-04T03:42:56.5997027Z         "doc": {
2026-06-04T03:42:56.5997561Z           "complete": false,
2026-06-04T03:42:56.5998092Z           "evidence": []
2026-06-04T03:42:56.5998570Z         },
2026-06-04T03:42:56.5999068Z         "impl": {
2026-06-04T03:42:56.5999686Z           "complete": true,
2026-06-04T03:42:56.6000205Z           "evidence": [
2026-06-04T03:42:56.6000690Z             {
2026-06-04T03:42:56.6001355Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.6001874Z               "line": 25
2026-06-04T03:42:56.6002353Z             },
2026-06-04T03:42:56.6002836Z             {
2026-06-04T03:42:56.6003529Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T03:42:56.6004054Z               "line": 13
2026-06-04T03:42:56.6004549Z             },
2026-06-04T03:42:56.6005025Z             {
2026-06-04T03:42:56.6005723Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T03:42:56.6006237Z               "line": 78
2026-06-04T03:42:56.6006731Z             }
2026-06-04T03:42:56.6007209Z           ]
2026-06-04T03:42:56.6007681Z         },
2026-06-04T03:42:56.6008195Z         "int": {
2026-06-04T03:42:56.6008736Z           "complete": false,
2026-06-04T03:42:56.6009309Z           "evidence": []
2026-06-04T03:42:56.6009795Z         },
2026-06-04T03:42:56.6010293Z         "unit": {
2026-06-04T03:42:56.6010828Z           "complete": true,
2026-06-04T03:42:56.6011343Z           "evidence": [
2026-06-04T03:42:56.6011832Z             {
2026-06-04T03:42:56.6012488Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.6013011Z               "line": 180
2026-06-04T03:42:56.6013492Z             },
2026-06-04T03:42:56.6013975Z             {
2026-06-04T03:42:56.6014656Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.6015172Z               "line": 205
2026-06-04T03:42:56.6015663Z             },
2026-06-04T03:42:56.6016139Z             {
2026-06-04T03:42:56.6016841Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T03:42:56.6017344Z               "line": 96
2026-06-04T03:42:56.6017824Z             }
2026-06-04T03:42:56.6018315Z           ]
2026-06-04T03:42:56.6018784Z         }
2026-06-04T03:42:56.6019301Z       }
2026-06-04T03:42:56.6019773Z     },
2026-06-04T03:42:56.6020258Z     {
2026-06-04T03:42:56.6020851Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T03:42:56.6021878Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T03:42:56.6022438Z       "requiredStages": [
2026-06-04T03:42:56.6022923Z         "impl",
2026-06-04T03:42:56.6023412Z         "unit"
2026-06-04T03:42:56.6023884Z       ],
2026-06-04T03:42:56.6024381Z       "stages": {
2026-06-04T03:42:56.6024882Z         "doc": {
2026-06-04T03:42:56.6025425Z           "complete": false,
2026-06-04T03:42:56.6025955Z           "evidence": []
2026-06-04T03:42:56.6026432Z         },
2026-06-04T03:42:56.6026939Z         "impl": {
2026-06-04T03:42:56.6027484Z           "complete": true,
2026-06-04T03:42:56.6028003Z           "evidence": [
2026-06-04T03:42:56.6028479Z             {
2026-06-04T03:42:56.6029213Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6029732Z               "line": 48
2026-06-04T03:42:56.6030217Z             },
2026-06-04T03:42:56.6030698Z             {
2026-06-04T03:42:56.6031387Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6031904Z               "line": 55
2026-06-04T03:42:56.6032389Z             },
2026-06-04T03:42:56.6032876Z             {
2026-06-04T03:42:56.6033583Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6034129Z               "line": 74
2026-06-04T03:42:56.6034617Z             },
2026-06-04T03:42:56.6035289Z             {
2026-06-04T03:42:56.6036021Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6036524Z               "line": 91
2026-06-04T03:42:56.6037002Z             }
2026-06-04T03:42:56.6037483Z           ]
2026-06-04T03:42:56.6038113Z         },
2026-06-04T03:42:56.6038614Z         "int": {
2026-06-04T03:42:56.6039195Z           "complete": false,
2026-06-04T03:42:56.6039733Z           "evidence": []
2026-06-04T03:42:56.6040214Z         },
2026-06-04T03:42:56.6040711Z         "unit": {
2026-06-04T03:42:56.6041245Z           "complete": true,
2026-06-04T03:42:56.6041753Z           "evidence": [
2026-06-04T03:42:56.6047869Z             {
2026-06-04T03:42:56.6048727Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6049337Z               "line": 149
2026-06-04T03:42:56.6049824Z             },
2026-06-04T03:42:56.6050312Z             {
2026-06-04T03:42:56.6051017Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6051570Z               "line": 163
2026-06-04T03:42:56.6052059Z             },
2026-06-04T03:42:56.6052536Z             {
2026-06-04T03:42:56.6053232Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6053743Z               "line": 173
2026-06-04T03:42:56.6054255Z             },
2026-06-04T03:42:56.6054739Z             {
2026-06-04T03:42:56.6055429Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6055954Z               "line": 191
2026-06-04T03:42:56.6056430Z             },
2026-06-04T03:42:56.6056913Z             {
2026-06-04T03:42:56.6057596Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.6058112Z               "line": 204
2026-06-04T03:42:56.6058590Z             }
2026-06-04T03:42:56.6059060Z           ]
2026-06-04T03:42:56.6059576Z         }
2026-06-04T03:42:56.6060045Z       }
2026-06-04T03:42:56.6060518Z     },
2026-06-04T03:42:56.6060982Z     {
2026-06-04T03:42:56.6061717Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T03:42:56.6062927Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T03:42:56.6063473Z       "requiredStages": [
2026-06-04T03:42:56.6063975Z         "impl",
2026-06-04T03:42:56.6064457Z         "unit"
2026-06-04T03:42:56.6064952Z       ],
2026-06-04T03:42:56.6065445Z       "stages": {
2026-06-04T03:42:56.6065944Z         "doc": {
2026-06-04T03:42:56.6066478Z           "complete": false,
2026-06-04T03:42:56.6066988Z           "evidence": []
2026-06-04T03:42:56.6067473Z         },
2026-06-04T03:42:56.6067966Z         "impl": {
2026-06-04T03:42:56.6068500Z           "complete": true,
2026-06-04T03:42:56.6069003Z           "evidence": [
2026-06-04T03:42:56.6069533Z             {
2026-06-04T03:42:56.6070292Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.6070806Z               "line": 264
2026-06-04T03:42:56.6071293Z             },
2026-06-04T03:42:56.6071764Z             {
2026-06-04T03:42:56.6072476Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6072985Z               "line": 26
2026-06-04T03:42:56.6073476Z             }
2026-06-04T03:42:56.6073961Z           ]
2026-06-04T03:42:56.6074431Z         },
2026-06-04T03:42:56.6074920Z         "int": {
2026-06-04T03:42:56.6075468Z           "complete": false,
2026-06-04T03:42:56.6075985Z           "evidence": []
2026-06-04T03:42:56.6076454Z         },
2026-06-04T03:42:56.6076944Z         "unit": {
2026-06-04T03:42:56.6077483Z           "complete": true,
2026-06-04T03:42:56.6077988Z           "evidence": [
2026-06-04T03:42:56.6078468Z             {
2026-06-04T03:42:56.6079198Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6079724Z               "line": 138
2026-06-04T03:42:56.6080207Z             },
2026-06-04T03:42:56.6080686Z             {
2026-06-04T03:42:56.6081411Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6081918Z               "line": 181
2026-06-04T03:42:56.6082408Z             }
2026-06-04T03:42:56.6083176Z           ]
2026-06-04T03:42:56.6083690Z         }
2026-06-04T03:42:56.6084167Z       }
2026-06-04T03:42:56.6084649Z     },
2026-06-04T03:42:56.6085125Z     {
2026-06-04T03:42:56.6085814Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T03:42:56.6086935Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T03:42:56.6087474Z       "requiredStages": [
2026-06-04T03:42:56.6087967Z         "impl",
2026-06-04T03:42:56.6088453Z         "unit"
2026-06-04T03:42:56.6088934Z       ],
2026-06-04T03:42:56.6089492Z       "stages": {
2026-06-04T03:42:56.6089976Z         "doc": {
2026-06-04T03:42:56.6090517Z           "complete": false,
2026-06-04T03:42:56.6091034Z           "evidence": []
2026-06-04T03:42:56.6091518Z         },
2026-06-04T03:42:56.6091999Z         "impl": {
2026-06-04T03:42:56.6092536Z           "complete": true,
2026-06-04T03:42:56.6093055Z           "evidence": [
2026-06-04T03:42:56.6093530Z             {
2026-06-04T03:42:56.6094291Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6094791Z               "line": 36
2026-06-04T03:42:56.6095281Z             },
2026-06-04T03:42:56.6095751Z             {
2026-06-04T03:42:56.6096486Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6097016Z               "line": 68
2026-06-04T03:42:56.6097491Z             }
2026-06-04T03:42:56.6097965Z           ]
2026-06-04T03:42:56.6098435Z         },
2026-06-04T03:42:56.6098926Z         "int": {
2026-06-04T03:42:56.6099504Z           "complete": false,
2026-06-04T03:42:56.6100035Z           "evidence": []
2026-06-04T03:42:56.6100518Z         },
2026-06-04T03:42:56.6101007Z         "unit": {
2026-06-04T03:42:56.6101548Z           "complete": true,
2026-06-04T03:42:56.6102055Z           "evidence": [
2026-06-04T03:42:56.6102541Z             {
2026-06-04T03:42:56.6103264Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6103793Z               "line": 143
2026-06-04T03:42:56.6104284Z             },
2026-06-04T03:42:56.6104774Z             {
2026-06-04T03:42:56.6105506Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6106015Z               "line": 160
2026-06-04T03:42:56.6106503Z             },
2026-06-04T03:42:56.6106992Z             {
2026-06-04T03:42:56.6107723Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6108243Z               "line": 168
2026-06-04T03:42:56.6108715Z             }
2026-06-04T03:42:56.6109309Z           ]
2026-06-04T03:42:56.6109784Z         }
2026-06-04T03:42:56.6110263Z       }
2026-06-04T03:42:56.6110735Z     },
2026-06-04T03:42:56.6111211Z     {
2026-06-04T03:42:56.6111926Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T03:42:56.6113012Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T03:42:56.6113567Z       "requiredStages": [
2026-06-04T03:42:56.6114073Z         "impl",
2026-06-04T03:42:56.6114574Z         "unit"
2026-06-04T03:42:56.6115042Z       ],
2026-06-04T03:42:56.6115563Z       "stages": {
2026-06-04T03:42:56.6116055Z         "doc": {
2026-06-04T03:42:56.6116593Z           "complete": false,
2026-06-04T03:42:56.6117115Z           "evidence": []
2026-06-04T03:42:56.6117583Z         },
2026-06-04T03:42:56.6118088Z         "impl": {
2026-06-04T03:42:56.6118614Z           "complete": true,
2026-06-04T03:42:56.6119133Z           "evidence": [
2026-06-04T03:42:56.6119651Z             {
2026-06-04T03:42:56.6120378Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6120900Z               "line": 107
2026-06-04T03:42:56.6121378Z             }
2026-06-04T03:42:56.6121860Z           ]
2026-06-04T03:42:56.6122332Z         },
2026-06-04T03:42:56.6122815Z         "int": {
2026-06-04T03:42:56.6123362Z           "complete": false,
2026-06-04T03:42:56.6123871Z           "evidence": []
2026-06-04T03:42:56.6124351Z         },
2026-06-04T03:42:56.6124831Z         "unit": {
2026-06-04T03:42:56.6125363Z           "complete": true,
2026-06-04T03:42:56.6126043Z           "evidence": [
2026-06-04T03:42:56.6126551Z             {
2026-06-04T03:42:56.6127275Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6127800Z               "line": 184
2026-06-04T03:42:56.6128488Z             },
2026-06-04T03:42:56.6128966Z             {
2026-06-04T03:42:56.6129741Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6130263Z               "line": 193
2026-06-04T03:42:56.6130741Z             },
2026-06-04T03:42:56.6131229Z             {
2026-06-04T03:42:56.6131951Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6132468Z               "line": 201
2026-06-04T03:42:56.6132946Z             },
2026-06-04T03:42:56.6133433Z             {
2026-06-04T03:42:56.6134166Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6134674Z               "line": 210
2026-06-04T03:42:56.6135158Z             },
2026-06-04T03:42:56.6135632Z             {
2026-06-04T03:42:56.6136380Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T03:42:56.6136892Z               "line": 219
2026-06-04T03:42:56.6142183Z             }
2026-06-04T03:42:56.6142722Z           ]
2026-06-04T03:42:56.6143200Z         }
2026-06-04T03:42:56.6143712Z       }
2026-06-04T03:42:56.6144176Z     },
2026-06-04T03:42:56.6144658Z     {
2026-06-04T03:42:56.6145352Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T03:42:56.6146401Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T03:42:56.6146965Z       "requiredStages": [
2026-06-04T03:42:56.6147457Z         "impl",
2026-06-04T03:42:56.6147954Z         "unit"
2026-06-04T03:42:56.6148434Z       ],
2026-06-04T03:42:56.6148951Z       "stages": {
2026-06-04T03:42:56.6149513Z         "doc": {
2026-06-04T03:42:56.6150064Z           "complete": false,
2026-06-04T03:42:56.6150592Z           "evidence": []
2026-06-04T03:42:56.6151075Z         },
2026-06-04T03:42:56.6151583Z         "impl": {
2026-06-04T03:42:56.6152146Z           "complete": true,
2026-06-04T03:42:56.6152679Z           "evidence": [
2026-06-04T03:42:56.6153167Z             {
2026-06-04T03:42:56.6153838Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.6154357Z               "line": 14
2026-06-04T03:42:56.6154858Z             },
2026-06-04T03:42:56.6155350Z             {
2026-06-04T03:42:56.6155995Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.6156523Z               "line": 62
2026-06-04T03:42:56.6157010Z             }
2026-06-04T03:42:56.6157500Z           ]
2026-06-04T03:42:56.6157994Z         },
2026-06-04T03:42:56.6158488Z         "int": {
2026-06-04T03:42:56.6159049Z           "complete": false,
2026-06-04T03:42:56.6159617Z           "evidence": []
2026-06-04T03:42:56.6160113Z         },
2026-06-04T03:42:56.6160607Z         "unit": {
2026-06-04T03:42:56.6161149Z           "complete": true,
2026-06-04T03:42:56.6161668Z           "evidence": [
2026-06-04T03:42:56.6162158Z             {
2026-06-04T03:42:56.6162832Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.6163346Z               "line": 160
2026-06-04T03:42:56.6163833Z             },
2026-06-04T03:42:56.6164307Z             {
2026-06-04T03:42:56.6164973Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.6165519Z               "line": 197
2026-06-04T03:42:56.6165998Z             },
2026-06-04T03:42:56.6166482Z             {
2026-06-04T03:42:56.6167126Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.6167639Z               "line": 213
2026-06-04T03:42:56.6168108Z             }
2026-06-04T03:42:56.6168583Z           ]
2026-06-04T03:42:56.6169067Z         }
2026-06-04T03:42:56.6169584Z       }
2026-06-04T03:42:56.6170063Z     },
2026-06-04T03:42:56.6170528Z     {
2026-06-04T03:42:56.6171221Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T03:42:56.6172596Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T03:42:56.6173386Z       "requiredStages": [
2026-06-04T03:42:56.6173906Z         "impl",
2026-06-04T03:42:56.6174382Z         "unit"
2026-06-04T03:42:56.6174870Z       ],
2026-06-04T03:42:56.6175365Z       "stages": {
2026-06-04T03:42:56.6175853Z         "doc": {
2026-06-04T03:42:56.6176528Z           "complete": false,
2026-06-04T03:42:56.6177057Z           "evidence": []
2026-06-04T03:42:56.6177542Z         },
2026-06-04T03:42:56.6178027Z         "impl": {
2026-06-04T03:42:56.6178556Z           "complete": true,
2026-06-04T03:42:56.6179066Z           "evidence": [
2026-06-04T03:42:56.6179589Z             {
2026-06-04T03:42:56.6180293Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6180806Z               "line": 76
2026-06-04T03:42:56.6181293Z             },
2026-06-04T03:42:56.6181772Z             {
2026-06-04T03:42:56.6182451Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6182963Z               "line": 163
2026-06-04T03:42:56.6183454Z             },
2026-06-04T03:42:56.6183944Z             {
2026-06-04T03:42:56.6184630Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6185147Z               "line": 229
2026-06-04T03:42:56.6185621Z             },
2026-06-04T03:42:56.6186094Z             {
2026-06-04T03:42:56.6186791Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6187317Z               "line": 265
2026-06-04T03:42:56.6187788Z             }
2026-06-04T03:42:56.6188272Z           ]
2026-06-04T03:42:56.6188756Z         },
2026-06-04T03:42:56.6189274Z         "int": {
2026-06-04T03:42:56.6189819Z           "complete": false,
2026-06-04T03:42:56.6190331Z           "evidence": []
2026-06-04T03:42:56.6190809Z         },
2026-06-04T03:42:56.6191290Z         "unit": {
2026-06-04T03:42:56.6191821Z           "complete": true,
2026-06-04T03:42:56.6192339Z           "evidence": [
2026-06-04T03:42:56.6192814Z             {
2026-06-04T03:42:56.6193503Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6194028Z               "line": 310
2026-06-04T03:42:56.6194517Z             },
2026-06-04T03:42:56.6194988Z             {
2026-06-04T03:42:56.6195684Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6196203Z               "line": 318
2026-06-04T03:42:56.6196695Z             },
2026-06-04T03:42:56.6197180Z             {
2026-06-04T03:42:56.6197854Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6198371Z               "line": 341
2026-06-04T03:42:56.6198842Z             },
2026-06-04T03:42:56.6199363Z             {
2026-06-04T03:42:56.6200053Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6200559Z               "line": 378
2026-06-04T03:42:56.6201043Z             },
2026-06-04T03:42:56.6201515Z             {
2026-06-04T03:42:56.6202198Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6202698Z               "line": 389
2026-06-04T03:42:56.6203182Z             },
2026-06-04T03:42:56.6203669Z             {
2026-06-04T03:42:56.6204372Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6204884Z               "line": 401
2026-06-04T03:42:56.6205353Z             },
2026-06-04T03:42:56.6205833Z             {
2026-06-04T03:42:56.6206508Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T03:42:56.6207040Z               "line": 413
2026-06-04T03:42:56.6207520Z             }
2026-06-04T03:42:56.6207986Z           ]
2026-06-04T03:42:56.6208462Z         }
2026-06-04T03:42:56.6208926Z       }
2026-06-04T03:42:56.6209447Z     },
2026-06-04T03:42:56.6209909Z     {
2026-06-04T03:42:56.6210513Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T03:42:56.6211394Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T03:42:56.6211929Z       "requiredStages": [
2026-06-04T03:42:56.6212417Z         "impl",
2026-06-04T03:42:56.6212897Z         "int"
2026-06-04T03:42:56.6213371Z       ],
2026-06-04T03:42:56.6213851Z       "stages": {
2026-06-04T03:42:56.6214342Z         "doc": {
2026-06-04T03:42:56.6215034Z           "complete": false,
2026-06-04T03:42:56.6215571Z           "evidence": []
2026-06-04T03:42:56.6216049Z         },
2026-06-04T03:42:56.6216530Z         "impl": {
2026-06-04T03:42:56.6217058Z           "complete": true,
2026-06-04T03:42:56.6217699Z           "evidence": [
2026-06-04T03:42:56.6218184Z             {
2026-06-04T03:42:56.6218884Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.6219426Z               "line": 22
2026-06-04T03:42:56.6219919Z             }
2026-06-04T03:42:56.6220387Z           ]
2026-06-04T03:42:56.6220869Z         },
2026-06-04T03:42:56.6221352Z         "int": {
2026-06-04T03:42:56.6221884Z           "complete": true,
2026-06-04T03:42:56.6222397Z           "evidence": [
2026-06-04T03:42:56.6222864Z             {
2026-06-04T03:42:56.6223612Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T03:42:56.6224115Z               "line": 18
2026-06-04T03:42:56.6224588Z             }
2026-06-04T03:42:56.6225054Z           ]
2026-06-04T03:42:56.6225550Z         },
2026-06-04T03:42:56.6226051Z         "unit": {
2026-06-04T03:42:56.6226584Z           "complete": false,
2026-06-04T03:42:56.6227103Z           "evidence": []
2026-06-04T03:42:56.6227571Z         }
2026-06-04T03:42:56.6228059Z       }
2026-06-04T03:42:56.6228520Z     },
2026-06-04T03:42:56.6228992Z     {
2026-06-04T03:42:56.6234172Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T03:42:56.6235449Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T03:42:56.6236007Z       "requiredStages": [
2026-06-04T03:42:56.6236499Z         "impl",
2026-06-04T03:42:56.6236987Z         "unit"
2026-06-04T03:42:56.6237456Z       ],
2026-06-04T03:42:56.6237950Z       "stages": {
2026-06-04T03:42:56.6238439Z         "doc": {
2026-06-04T03:42:56.6238970Z           "complete": false,
2026-06-04T03:42:56.6239593Z           "evidence": []
2026-06-04T03:42:56.6240075Z         },
2026-06-04T03:42:56.6240568Z         "impl": {
2026-06-04T03:42:56.6241132Z           "complete": true,
2026-06-04T03:42:56.6241648Z           "evidence": [
2026-06-04T03:42:56.6242127Z             {
2026-06-04T03:42:56.6242853Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.6243388Z               "line": 263
2026-06-04T03:42:56.6243860Z             },
2026-06-04T03:42:56.6244345Z             {
2026-06-04T03:42:56.6245039Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6245553Z               "line": 27
2026-06-04T03:42:56.6246032Z             }
2026-06-04T03:42:56.6246497Z           ]
2026-06-04T03:42:56.6246968Z         },
2026-06-04T03:42:56.6247441Z         "int": {
2026-06-04T03:42:56.6247975Z           "complete": false,
2026-06-04T03:42:56.6248479Z           "evidence": []
2026-06-04T03:42:56.6248956Z         },
2026-06-04T03:42:56.6249485Z         "unit": {
2026-06-04T03:42:56.6250011Z           "complete": true,
2026-06-04T03:42:56.6250527Z           "evidence": [
2026-06-04T03:42:56.6251012Z             {
2026-06-04T03:42:56.6251760Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.6252265Z               "line": 561
2026-06-04T03:42:56.6252750Z             },
2026-06-04T03:42:56.6253229Z             {
2026-06-04T03:42:56.6253937Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6254448Z               "line": 163
2026-06-04T03:42:56.6254924Z             }
2026-06-04T03:42:56.6255413Z           ]
2026-06-04T03:42:56.6255878Z         }
2026-06-04T03:42:56.6256350Z       }
2026-06-04T03:42:56.6256816Z     },
2026-06-04T03:42:56.6257283Z     {
2026-06-04T03:42:56.6257973Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T03:42:56.6258967Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T03:42:56.6259576Z       "requiredStages": [
2026-06-04T03:42:56.6260057Z         "impl",
2026-06-04T03:42:56.6260548Z         "unit"
2026-06-04T03:42:56.6261014Z       ],
2026-06-04T03:42:56.6261491Z       "stages": {
2026-06-04T03:42:56.6262222Z         "doc": {
2026-06-04T03:42:56.6262775Z           "complete": false,
2026-06-04T03:42:56.6263301Z           "evidence": []
2026-06-04T03:42:56.6263774Z         },
2026-06-04T03:42:56.6264269Z         "impl": {
2026-06-04T03:42:56.6264950Z           "complete": true,
2026-06-04T03:42:56.6265456Z           "evidence": [
2026-06-04T03:42:56.6265932Z             {
2026-06-04T03:42:56.6266622Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6267133Z               "line": 20
2026-06-04T03:42:56.6267608Z             },
2026-06-04T03:42:56.6268081Z             {
2026-06-04T03:42:56.6268778Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6269323Z               "line": 94
2026-06-04T03:42:56.6269805Z             },
2026-06-04T03:42:56.6270276Z             {
2026-06-04T03:42:56.6271016Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T03:42:56.6271523Z               "line": 70
2026-06-04T03:42:56.6272013Z             },
2026-06-04T03:42:56.6272514Z             {
2026-06-04T03:42:56.6273257Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T03:42:56.6273771Z               "line": 82
2026-06-04T03:42:56.6274245Z             }
2026-06-04T03:42:56.6274741Z           ]
2026-06-04T03:42:56.6275223Z         },
2026-06-04T03:42:56.6275710Z         "int": {
2026-06-04T03:42:56.6276248Z           "complete": false,
2026-06-04T03:42:56.6276761Z           "evidence": []
2026-06-04T03:42:56.6277231Z         },
2026-06-04T03:42:56.6277707Z         "unit": {
2026-06-04T03:42:56.6278246Z           "complete": true,
2026-06-04T03:42:56.6278752Z           "evidence": [
2026-06-04T03:42:56.6279264Z             {
2026-06-04T03:42:56.6279960Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6280464Z               "line": 139
2026-06-04T03:42:56.6280955Z             },
2026-06-04T03:42:56.6281426Z             {
2026-06-04T03:42:56.6282110Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6282640Z               "line": 162
2026-06-04T03:42:56.6283120Z             },
2026-06-04T03:42:56.6283599Z             {
2026-06-04T03:42:56.6284279Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6284813Z               "line": 173
2026-06-04T03:42:56.6285290Z             },
2026-06-04T03:42:56.6285775Z             {
2026-06-04T03:42:56.6286469Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6286972Z               "line": 189
2026-06-04T03:42:56.6287455Z             },
2026-06-04T03:42:56.6287924Z             {
2026-06-04T03:42:56.6288616Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T03:42:56.6289119Z               "line": 200
2026-06-04T03:42:56.6289640Z             },
2026-06-04T03:42:56.6290125Z             {
2026-06-04T03:42:56.6290854Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T03:42:56.6291370Z               "line": 139
2026-06-04T03:42:56.6291834Z             }
2026-06-04T03:42:56.6292331Z           ]
2026-06-04T03:42:56.6292971Z         }
2026-06-04T03:42:56.6293834Z       }
2026-06-04T03:42:56.6294423Z     },
2026-06-04T03:42:56.6295224Z     {
2026-06-04T03:42:56.6295895Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T03:42:56.6298346Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T03:42:56.6298951Z       "requiredStages": [
2026-06-04T03:42:56.6299708Z         "impl",
2026-06-04T03:42:56.6300268Z         "unit"
2026-06-04T03:42:56.6301046Z       ],
2026-06-04T03:42:56.6301569Z       "stages": {
2026-06-04T03:42:56.6302086Z         "doc": {
2026-06-04T03:42:56.6302689Z           "complete": true,
2026-06-04T03:42:56.6303484Z           "evidence": [
2026-06-04T03:42:56.6303982Z             {
2026-06-04T03:42:56.6304694Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T03:42:56.6305269Z               "line": 131
2026-06-04T03:42:56.6305798Z             }
2026-06-04T03:42:56.6306309Z           ]
2026-06-04T03:42:56.6307035Z         },
2026-06-04T03:42:56.6307576Z         "impl": {
2026-06-04T03:42:56.6308205Z           "complete": true,
2026-06-04T03:42:56.6308977Z           "evidence": [
2026-06-04T03:42:56.6309556Z             {
2026-06-04T03:42:56.6310528Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.6311089Z               "line": 50
2026-06-04T03:42:56.6311621Z             },
2026-06-04T03:42:56.6312138Z             {
2026-06-04T03:42:56.6312867Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6313432Z               "line": 17
2026-06-04T03:42:56.6313968Z             },
2026-06-04T03:42:56.6314669Z             {
2026-06-04T03:42:56.6315504Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.6316121Z               "line": 171
2026-06-04T03:42:56.6316681Z             },
2026-06-04T03:42:56.6317384Z             {
2026-06-04T03:42:56.6318087Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.6318645Z               "line": 259
2026-06-04T03:42:56.6319243Z             },
2026-06-04T03:42:56.6319742Z             {
2026-06-04T03:42:56.6320437Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T03:42:56.6320940Z               "line": 32
2026-06-04T03:42:56.6321444Z             }
2026-06-04T03:42:56.6321912Z           ]
2026-06-04T03:42:56.6322405Z         },
2026-06-04T03:42:56.6330099Z         "int": {
2026-06-04T03:42:56.6330670Z           "complete": false,
2026-06-04T03:42:56.6331189Z           "evidence": []
2026-06-04T03:42:56.6331753Z         },
2026-06-04T03:42:56.6332242Z         "unit": {
2026-06-04T03:42:56.6332778Z           "complete": true,
2026-06-04T03:42:56.6333282Z           "evidence": [
2026-06-04T03:42:56.6333769Z             {
2026-06-04T03:42:56.6334430Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6334934Z               "line": 94
2026-06-04T03:42:56.6335417Z             },
2026-06-04T03:42:56.6335892Z             {
2026-06-04T03:42:56.6336572Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6337089Z               "line": 111
2026-06-04T03:42:56.6337576Z             },
2026-06-04T03:42:56.6338056Z             {
2026-06-04T03:42:56.6338709Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6339292Z               "line": 124
2026-06-04T03:42:56.6339771Z             },
2026-06-04T03:42:56.6340260Z             {
2026-06-04T03:42:56.6340913Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6341432Z               "line": 134
2026-06-04T03:42:56.6341918Z             },
2026-06-04T03:42:56.6342396Z             {
2026-06-04T03:42:56.6343051Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6343559Z               "line": 142
2026-06-04T03:42:56.6344049Z             },
2026-06-04T03:42:56.6344519Z             {
2026-06-04T03:42:56.6345181Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T03:42:56.6345696Z               "line": 154
2026-06-04T03:42:56.6346179Z             }
2026-06-04T03:42:56.6346658Z           ]
2026-06-04T03:42:56.6347128Z         }
2026-06-04T03:42:56.6347607Z       }
2026-06-04T03:42:56.6348070Z     },
2026-06-04T03:42:56.6348542Z     {
2026-06-04T03:42:56.6349185Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T03:42:56.6349999Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T03:42:56.6350546Z       "requiredStages": [
2026-06-04T03:42:56.6351027Z         "impl",
2026-06-04T03:42:56.6351519Z         "unit"
2026-06-04T03:42:56.6351999Z       ],
2026-06-04T03:42:56.6352505Z       "stages": {
2026-06-04T03:42:56.6352993Z         "doc": {
2026-06-04T03:42:56.6353532Z           "complete": false,
2026-06-04T03:42:56.6354074Z           "evidence": []
2026-06-04T03:42:56.6354544Z         },
2026-06-04T03:42:56.6355043Z         "impl": {
2026-06-04T03:42:56.6355566Z           "complete": true,
2026-06-04T03:42:56.6356085Z           "evidence": [
2026-06-04T03:42:56.6356576Z             {
2026-06-04T03:42:56.6357630Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.6358186Z               "line": 128
2026-06-04T03:42:56.6358670Z             }
2026-06-04T03:42:56.6359152Z           ]
2026-06-04T03:42:56.6359669Z         },
2026-06-04T03:42:56.6360317Z         "int": {
2026-06-04T03:42:56.6360865Z           "complete": false,
2026-06-04T03:42:56.6361381Z           "evidence": []
2026-06-04T03:42:56.6361863Z         },
2026-06-04T03:42:56.6362346Z         "unit": {
2026-06-04T03:42:56.6362890Z           "complete": true,
2026-06-04T03:42:56.6363393Z           "evidence": [
2026-06-04T03:42:56.6363879Z             {
2026-06-04T03:42:56.6364571Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.6365079Z               "line": 205
2026-06-04T03:42:56.6365567Z             }
2026-06-04T03:42:56.6366039Z           ]
2026-06-04T03:42:56.6366525Z         }
2026-06-04T03:42:56.6366990Z       }
2026-06-04T03:42:56.6367461Z     },
2026-06-04T03:42:56.6367935Z     {
2026-06-04T03:42:56.6368600Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T03:42:56.6369565Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T03:42:56.6370113Z       "requiredStages": [
2026-06-04T03:42:56.6370607Z         "impl",
2026-06-04T03:42:56.6371103Z         "unit"
2026-06-04T03:42:56.6371586Z       ],
2026-06-04T03:42:56.6372090Z       "stages": {
2026-06-04T03:42:56.6372576Z         "doc": {
2026-06-04T03:42:56.6373117Z           "complete": false,
2026-06-04T03:42:56.6373630Z           "evidence": []
2026-06-04T03:42:56.6374115Z         },
2026-06-04T03:42:56.6374602Z         "impl": {
2026-06-04T03:42:56.6375145Z           "complete": true,
2026-06-04T03:42:56.6375662Z           "evidence": [
2026-06-04T03:42:56.6376137Z             {
2026-06-04T03:42:56.6376827Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6377335Z               "line": 143
2026-06-04T03:42:56.6377822Z             },
2026-06-04T03:42:56.6378300Z             {
2026-06-04T03:42:56.6378982Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6379542Z               "line": 154
2026-06-04T03:42:56.6380137Z             },
2026-06-04T03:42:56.6380623Z             {
2026-06-04T03:42:56.6381286Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6381829Z               "line": 172
2026-06-04T03:42:56.6382303Z             }
2026-06-04T03:42:56.6382791Z           ]
2026-06-04T03:42:56.6383275Z         },
2026-06-04T03:42:56.6383759Z         "int": {
2026-06-04T03:42:56.6384303Z           "complete": false,
2026-06-04T03:42:56.6384817Z           "evidence": []
2026-06-04T03:42:56.6385307Z         },
2026-06-04T03:42:56.6385792Z         "unit": {
2026-06-04T03:42:56.6386332Z           "complete": true,
2026-06-04T03:42:56.6386856Z           "evidence": [
2026-06-04T03:42:56.6387335Z             {
2026-06-04T03:42:56.6388010Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6388527Z               "line": 196
2026-06-04T03:42:56.6389029Z             },
2026-06-04T03:42:56.6389539Z             {
2026-06-04T03:42:56.6390220Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6390735Z               "line": 214
2026-06-04T03:42:56.6391214Z             },
2026-06-04T03:42:56.6391713Z             {
2026-06-04T03:42:56.6392377Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6392893Z               "line": 308
2026-06-04T03:42:56.6393363Z             },
2026-06-04T03:42:56.6393845Z             {
2026-06-04T03:42:56.6394512Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6395019Z               "line": 319
2026-06-04T03:42:56.6395513Z             },
2026-06-04T03:42:56.6395978Z             {
2026-06-04T03:42:56.6396652Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.6397162Z               "line": 332
2026-06-04T03:42:56.6397639Z             }
2026-06-04T03:42:56.6398118Z           ]
2026-06-04T03:42:56.6398585Z         }
2026-06-04T03:42:56.6399063Z       }
2026-06-04T03:42:56.6399717Z     },
2026-06-04T03:42:56.6400223Z     {
2026-06-04T03:42:56.6400835Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T03:42:56.6402274Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T03:42:56.6402967Z       "requiredStages": [
2026-06-04T03:42:56.6403457Z         "impl",
2026-06-04T03:42:56.6403948Z         "unit"
2026-06-04T03:42:56.6404416Z       ],
2026-06-04T03:42:56.6404920Z       "stages": {
2026-06-04T03:42:56.6405404Z         "doc": {
2026-06-04T03:42:56.6405936Z           "complete": false,
2026-06-04T03:42:56.6406457Z           "evidence": []
2026-06-04T03:42:56.6406928Z         },
2026-06-04T03:42:56.6407428Z         "impl": {
2026-06-04T03:42:56.6407957Z           "complete": true,
2026-06-04T03:42:56.6408479Z           "evidence": [
2026-06-04T03:42:56.6408957Z             {
2026-06-04T03:42:56.6409663Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6410201Z               "line": 14
2026-06-04T03:42:56.6410682Z             },
2026-06-04T03:42:56.6411163Z             {
2026-06-04T03:42:56.6411808Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T03:42:56.6412321Z               "line": 305
2026-06-04T03:42:56.6412826Z             }
2026-06-04T03:42:56.6413303Z           ]
2026-06-04T03:42:56.6413789Z         },
2026-06-04T03:42:56.6414277Z         "int": {
2026-06-04T03:42:56.6414820Z           "complete": false,
2026-06-04T03:42:56.6415326Z           "evidence": []
2026-06-04T03:42:56.6415808Z         },
2026-06-04T03:42:56.6416304Z         "unit": {
2026-06-04T03:42:56.6416838Z           "complete": true,
2026-06-04T03:42:56.6422718Z           "evidence": [
2026-06-04T03:42:56.6423268Z             {
2026-06-04T03:42:56.6423943Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6424449Z               "line": 130
2026-06-04T03:42:56.6424938Z             },
2026-06-04T03:42:56.6425421Z             {
2026-06-04T03:42:56.6426091Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6426618Z               "line": 138
2026-06-04T03:42:56.6427084Z             },
2026-06-04T03:42:56.6427553Z             {
2026-06-04T03:42:56.6428192Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6428721Z               "line": 146
2026-06-04T03:42:56.6429278Z             },
2026-06-04T03:42:56.6429752Z             {
2026-06-04T03:42:56.6430403Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6430911Z               "line": 154
2026-06-04T03:42:56.6431402Z             },
2026-06-04T03:42:56.6431868Z             {
2026-06-04T03:42:56.6432519Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6433031Z               "line": 162
2026-06-04T03:42:56.6433502Z             },
2026-06-04T03:42:56.6433980Z             {
2026-06-04T03:42:56.6434610Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T03:42:56.6435121Z               "line": 170
2026-06-04T03:42:56.6435593Z             }
2026-06-04T03:42:56.6436090Z           ]
2026-06-04T03:42:56.6436563Z         }
2026-06-04T03:42:56.6437021Z       }
2026-06-04T03:42:56.6437489Z     },
2026-06-04T03:42:56.6437951Z     {
2026-06-04T03:42:56.6438579Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T03:42:56.6444473Z       "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-04T03:42:56.6445037Z       "requiredStages": [
2026-06-04T03:42:56.6445536Z         "impl",
2026-06-04T03:42:56.6446009Z         "unit"
2026-06-04T03:42:56.6446486Z       ],
2026-06-04T03:42:56.6446965Z       "stages": {
2026-06-04T03:42:56.6447448Z         "doc": {
2026-06-04T03:42:56.6447982Z           "complete": false,
2026-06-04T03:42:56.6448487Z           "evidence": []
2026-06-04T03:42:56.6448970Z         },
2026-06-04T03:42:56.6449758Z         "impl": {
2026-06-04T03:42:56.6450312Z           "complete": true,
2026-06-04T03:42:56.6450815Z           "evidence": [
2026-06-04T03:42:56.6451298Z             {
2026-06-04T03:42:56.6452174Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6452845Z               "line": 34
2026-06-04T03:42:56.6453327Z             }
2026-06-04T03:42:56.6453793Z           ]
2026-06-04T03:42:56.6454269Z         },
2026-06-04T03:42:56.6454748Z         "int": {
2026-06-04T03:42:56.6455289Z           "complete": false,
2026-06-04T03:42:56.6455803Z           "evidence": []
2026-06-04T03:42:56.6456267Z         },
2026-06-04T03:42:56.6456750Z         "unit": {
2026-06-04T03:42:56.6457272Z           "complete": true,
2026-06-04T03:42:56.6457785Z           "evidence": [
2026-06-04T03:42:56.6458254Z             {
2026-06-04T03:42:56.6459128Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6459691Z               "line": 188
2026-06-04T03:42:56.6460178Z             },
2026-06-04T03:42:56.6460659Z             {
2026-06-04T03:42:56.6461523Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6462039Z               "line": 200
2026-06-04T03:42:56.6462526Z             },
2026-06-04T03:42:56.6463005Z             {
2026-06-04T03:42:56.6463867Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6464370Z               "line": 211
2026-06-04T03:42:56.6464848Z             },
2026-06-04T03:42:56.6465316Z             {
2026-06-04T03:42:56.6466178Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6466679Z               "line": 245
2026-06-04T03:42:56.6467161Z             },
2026-06-04T03:42:56.6467648Z             {
2026-06-04T03:42:56.6468498Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6469011Z               "line": 267
2026-06-04T03:42:56.6469529Z             },
2026-06-04T03:42:56.6470029Z             {
2026-06-04T03:42:56.6470880Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6471392Z               "line": 288
2026-06-04T03:42:56.6471868Z             },
2026-06-04T03:42:56.6472337Z             {
2026-06-04T03:42:56.6473216Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T03:42:56.6473725Z               "line": 304
2026-06-04T03:42:56.6474205Z             }
2026-06-04T03:42:56.6474676Z           ]
2026-06-04T03:42:56.6475159Z         }
2026-06-04T03:42:56.6475628Z       }
2026-06-04T03:42:56.6476089Z     },
2026-06-04T03:42:56.6476549Z     {
2026-06-04T03:42:56.6477182Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T03:42:56.6481004Z       "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-04T03:42:56.6481552Z       "requiredStages": [
2026-06-04T03:42:56.6482042Z         "impl",
2026-06-04T03:42:56.6482528Z         "unit"
2026-06-04T03:42:56.6483000Z       ],
2026-06-04T03:42:56.6483487Z       "stages": {
2026-06-04T03:42:56.6483963Z         "doc": {
2026-06-04T03:42:56.6484515Z           "complete": false,
2026-06-04T03:42:56.6485030Z           "evidence": []
2026-06-04T03:42:56.6485489Z         },
2026-06-04T03:42:56.6485979Z         "impl": {
2026-06-04T03:42:56.6486501Z           "complete": true,
2026-06-04T03:42:56.6487005Z           "evidence": [
2026-06-04T03:42:56.6487468Z             {
2026-06-04T03:42:56.6488160Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6488664Z               "line": 29
2026-06-04T03:42:56.6489128Z             },
2026-06-04T03:42:56.6489658Z             {
2026-06-04T03:42:56.6490343Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6490853Z               "line": 154
2026-06-04T03:42:56.6491345Z             },
2026-06-04T03:42:56.6491842Z             {
2026-06-04T03:42:56.6492742Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6493259Z               "line": 173
2026-06-04T03:42:56.6493737Z             },
2026-06-04T03:42:56.6494204Z             {
2026-06-04T03:42:56.6495038Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6495543Z               "line": 200
2026-06-04T03:42:56.6496020Z             }
2026-06-04T03:42:56.6496495Z           ]
2026-06-04T03:42:56.6496957Z         },
2026-06-04T03:42:56.6497435Z         "int": {
2026-06-04T03:42:56.6497968Z           "complete": false,
2026-06-04T03:42:56.6498486Z           "evidence": []
2026-06-04T03:42:56.6498948Z         },
2026-06-04T03:42:56.6499488Z         "unit": {
2026-06-04T03:42:56.6500019Z           "complete": true,
2026-06-04T03:42:56.6500523Z           "evidence": [
2026-06-04T03:42:56.6501000Z             {
2026-06-04T03:42:56.6501682Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6502196Z               "line": 276
2026-06-04T03:42:56.6502680Z             },
2026-06-04T03:42:56.6503157Z             {
2026-06-04T03:42:56.6503849Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6504353Z               "line": 291
2026-06-04T03:42:56.6504848Z             },
2026-06-04T03:42:56.6505314Z             {
2026-06-04T03:42:56.6506004Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6506508Z               "line": 310
2026-06-04T03:42:56.6506984Z             },
2026-06-04T03:42:56.6507458Z             {
2026-06-04T03:42:56.6508138Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6508649Z               "line": 326
2026-06-04T03:42:56.6509117Z             },
2026-06-04T03:42:56.6509623Z             {
2026-06-04T03:42:56.6510301Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6510819Z               "line": 376
2026-06-04T03:42:56.6511298Z             },
2026-06-04T03:42:56.6511759Z             {
2026-06-04T03:42:56.6512465Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6512963Z               "line": 390
2026-06-04T03:42:56.6513446Z             },
2026-06-04T03:42:56.6513913Z             {
2026-06-04T03:42:56.6514609Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6515137Z               "line": 401
2026-06-04T03:42:56.6515613Z             },
2026-06-04T03:42:56.6516085Z             {
2026-06-04T03:42:56.6516761Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.6517271Z               "line": 412
2026-06-04T03:42:56.6517756Z             }
2026-06-04T03:42:56.6518220Z           ]
2026-06-04T03:42:56.6523786Z         }
2026-06-04T03:42:56.6524330Z       }
2026-06-04T03:42:56.6524811Z     },
2026-06-04T03:42:56.6525275Z     {
2026-06-04T03:42:56.6525989Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T03:42:56.6530349Z       "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-04T03:42:56.6530921Z       "requiredStages": [
2026-06-04T03:42:56.6531428Z         "impl",
2026-06-04T03:42:56.6531914Z         "unit"
2026-06-04T03:42:56.6532426Z       ],
2026-06-04T03:42:56.6532922Z       "stages": {
2026-06-04T03:42:56.6533417Z         "doc": {
2026-06-04T03:42:56.6533965Z           "complete": false,
2026-06-04T03:42:56.6534483Z           "evidence": []
2026-06-04T03:42:56.6534968Z         },
2026-06-04T03:42:56.6535464Z         "impl": {
2026-06-04T03:42:56.6536012Z           "complete": true,
2026-06-04T03:42:56.6536522Z           "evidence": [
2026-06-04T03:42:56.6537012Z             {
2026-06-04T03:42:56.6537812Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6538304Z               "line": 27
2026-06-04T03:42:56.6538781Z             },
2026-06-04T03:42:56.6539297Z             {
2026-06-04T03:42:56.6540340Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6540879Z               "line": 110
2026-06-04T03:42:56.6541369Z             },
2026-06-04T03:42:56.6541850Z             {
2026-06-04T03:42:56.6542646Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6543304Z               "line": 153
2026-06-04T03:42:56.6543777Z             },
2026-06-04T03:42:56.6544256Z             {
2026-06-04T03:42:56.6545031Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6545543Z               "line": 182
2026-06-04T03:42:56.6546031Z             },
2026-06-04T03:42:56.6546499Z             {
2026-06-04T03:42:56.6547374Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6547874Z               "line": 31
2026-06-04T03:42:56.6548354Z             },
2026-06-04T03:42:56.6548827Z             {
2026-06-04T03:42:56.6550080Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6550625Z               "line": 113
2026-06-04T03:42:56.6551098Z             },
2026-06-04T03:42:56.6551576Z             {
2026-06-04T03:42:56.6552449Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6552964Z               "line": 138
2026-06-04T03:42:56.6553457Z             }
2026-06-04T03:42:56.6553928Z           ]
2026-06-04T03:42:56.6554402Z         },
2026-06-04T03:42:56.6554874Z         "int": {
2026-06-04T03:42:56.6555403Z           "complete": false,
2026-06-04T03:42:56.6555907Z           "evidence": []
2026-06-04T03:42:56.6556381Z         },
2026-06-04T03:42:56.6556868Z         "unit": {
2026-06-04T03:42:56.6557384Z           "complete": true,
2026-06-04T03:42:56.6557890Z           "evidence": [
2026-06-04T03:42:56.6558380Z             {
2026-06-04T03:42:56.6559223Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6559729Z               "line": 261
2026-06-04T03:42:56.6560212Z             },
2026-06-04T03:42:56.6560691Z             {
2026-06-04T03:42:56.6561487Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6562004Z               "line": 276
2026-06-04T03:42:56.6562469Z             },
2026-06-04T03:42:56.6562944Z             {
2026-06-04T03:42:56.6563745Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6564257Z               "line": 293
2026-06-04T03:42:56.6564739Z             },
2026-06-04T03:42:56.6565199Z             {
2026-06-04T03:42:56.6565996Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6566495Z               "line": 310
2026-06-04T03:42:56.6566971Z             },
2026-06-04T03:42:56.6567441Z             {
2026-06-04T03:42:56.6568229Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6568741Z               "line": 327
2026-06-04T03:42:56.6569243Z             },
2026-06-04T03:42:56.6569727Z             {
2026-06-04T03:42:56.6570512Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.6571039Z               "line": 366
2026-06-04T03:42:56.6571510Z             },
2026-06-04T03:42:56.6571981Z             {
2026-06-04T03:42:56.6572861Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6573377Z               "line": 179
2026-06-04T03:42:56.6573869Z             },
2026-06-04T03:42:56.6574339Z             {
2026-06-04T03:42:56.6575211Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6575711Z               "line": 194
2026-06-04T03:42:56.6576201Z             },
2026-06-04T03:42:56.6576677Z             {
2026-06-04T03:42:56.6577543Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6578050Z               "line": 204
2026-06-04T03:42:56.6578514Z             },
2026-06-04T03:42:56.6578986Z             {
2026-06-04T03:42:56.6579909Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6580413Z               "line": 259
2026-06-04T03:42:56.6581060Z             },
2026-06-04T03:42:56.6581550Z             {
2026-06-04T03:42:56.6582415Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6582921Z               "line": 269
2026-06-04T03:42:56.6583543Z             },
2026-06-04T03:42:56.6584020Z             {
2026-06-04T03:42:56.6584891Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.6585411Z               "line": 283
2026-06-04T03:42:56.6585884Z             }
2026-06-04T03:42:56.6586354Z           ]
2026-06-04T03:42:56.6586812Z         }
2026-06-04T03:42:56.6587286Z       }
2026-06-04T03:42:56.6587755Z     },
2026-06-04T03:42:56.6588218Z     {
2026-06-04T03:42:56.6588849Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T03:42:56.6590076Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T03:42:56.6590622Z       "requiredStages": [],
2026-06-04T03:42:56.6591104Z       "stages": {
2026-06-04T03:42:56.6591602Z         "doc": {
2026-06-04T03:42:56.6592139Z           "complete": false,
2026-06-04T03:42:56.6592644Z           "evidence": []
2026-06-04T03:42:56.6593115Z         },
2026-06-04T03:42:56.6593594Z         "impl": {
2026-06-04T03:42:56.6594142Z           "complete": false,
2026-06-04T03:42:56.6594641Z           "evidence": []
2026-06-04T03:42:56.6595118Z         },
2026-06-04T03:42:56.6595596Z         "int": {
2026-06-04T03:42:56.6596113Z           "complete": false,
2026-06-04T03:42:56.6596630Z           "evidence": []
2026-06-04T03:42:56.6597090Z         },
2026-06-04T03:42:56.6597578Z         "unit": {
2026-06-04T03:42:56.6598100Z           "complete": false,
2026-06-04T03:42:56.6598613Z           "evidence": []
2026-06-04T03:42:56.6599089Z         }
2026-06-04T03:42:56.6599596Z       }
2026-06-04T03:42:56.6600068Z     },
2026-06-04T03:42:56.6600529Z     {
2026-06-04T03:42:56.6601243Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T03:42:56.6612676Z       "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-04T03:42:56.6613333Z       "requiredStages": [],
2026-06-04T03:42:56.6613855Z       "stages": {
2026-06-04T03:42:56.6614338Z         "doc": {
2026-06-04T03:42:56.6614890Z           "complete": false,
2026-06-04T03:42:56.6615436Z           "evidence": []
2026-06-04T03:42:56.6615936Z         },
2026-06-04T03:42:56.6616430Z         "impl": {
2026-06-04T03:42:56.6616958Z           "complete": false,
2026-06-04T03:42:56.6617477Z           "evidence": []
2026-06-04T03:42:56.6617949Z         },
2026-06-04T03:42:56.6618440Z         "int": {
2026-06-04T03:42:56.6618960Z           "complete": false,
2026-06-04T03:42:56.6619520Z           "evidence": []
2026-06-04T03:42:56.6620002Z         },
2026-06-04T03:42:56.6620482Z         "unit": {
2026-06-04T03:42:56.6621020Z           "complete": false,
2026-06-04T03:42:56.6621562Z           "evidence": []
2026-06-04T03:42:56.6622050Z         }
2026-06-04T03:42:56.6622522Z       }
2026-06-04T03:42:56.6622997Z     },
2026-06-04T03:42:56.6623473Z     {
2026-06-04T03:42:56.6624141Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T03:42:56.6625800Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T03:42:56.6626344Z       "requiredStages": [
2026-06-04T03:42:56.6626842Z         "impl",
2026-06-04T03:42:56.6627322Z         "unit"
2026-06-04T03:42:56.6627810Z       ],
2026-06-04T03:42:56.6628317Z       "stages": {
2026-06-04T03:42:56.6628801Z         "doc": {
2026-06-04T03:42:56.6635296Z           "complete": true,
2026-06-04T03:42:56.6635889Z           "evidence": [
2026-06-04T03:42:56.6636386Z             {
2026-06-04T03:42:56.6637028Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T03:42:56.6637558Z               "line": 137
2026-06-04T03:42:56.6638046Z             }
2026-06-04T03:42:56.6638919Z           ]
2026-06-04T03:42:56.6639541Z         },
2026-06-04T03:42:56.6640033Z         "impl": {
2026-06-04T03:42:56.6640573Z           "complete": true,
2026-06-04T03:42:56.6641081Z           "evidence": [
2026-06-04T03:42:56.6641736Z             {
2026-06-04T03:42:56.6642395Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T03:42:56.6642900Z               "line": 29
2026-06-04T03:42:56.6643393Z             },
2026-06-04T03:42:56.6643872Z             {
2026-06-04T03:42:56.6644594Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6645100Z               "line": 30
2026-06-04T03:42:56.6645594Z             },
2026-06-04T03:42:56.6646078Z             {
2026-06-04T03:42:56.6646750Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.6647263Z               "line": 48
2026-06-04T03:42:56.6647736Z             }
2026-06-04T03:42:56.6648224Z           ]
2026-06-04T03:42:56.6648689Z         },
2026-06-04T03:42:56.6649221Z         "int": {
2026-06-04T03:42:56.6649776Z           "complete": false,
2026-06-04T03:42:56.6650287Z           "evidence": []
2026-06-04T03:42:56.6650774Z         },
2026-06-04T03:42:56.6651254Z         "unit": {
2026-06-04T03:42:56.6651790Z           "complete": true,
2026-06-04T03:42:56.6652311Z           "evidence": [
2026-06-04T03:42:56.6652789Z             {
2026-06-04T03:42:56.6653510Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6654017Z               "line": 152
2026-06-04T03:42:56.6654504Z             }
2026-06-04T03:42:56.6654977Z           ]
2026-06-04T03:42:56.6655470Z         }
2026-06-04T03:42:56.6655944Z       }
2026-06-04T03:42:56.6656421Z     },
2026-06-04T03:42:56.6656895Z     {
2026-06-04T03:42:56.6657552Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T03:42:56.6659865Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T03:42:56.6660413Z       "requiredStages": [
2026-06-04T03:42:56.6660921Z         "doc",
2026-06-04T03:42:56.6661406Z         "impl",
2026-06-04T03:42:56.6661890Z         "unit"
2026-06-04T03:42:56.6662372Z       ],
2026-06-04T03:42:56.6662863Z       "stages": {
2026-06-04T03:42:56.6663384Z         "doc": {
2026-06-04T03:42:56.6663914Z           "complete": true,
2026-06-04T03:42:56.6664427Z           "evidence": [
2026-06-04T03:42:56.6664903Z             {
2026-06-04T03:42:56.6665533Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T03:42:56.6666045Z               "line": 149
2026-06-04T03:42:56.6666516Z             }
2026-06-04T03:42:56.6666997Z           ]
2026-06-04T03:42:56.6667466Z         },
2026-06-04T03:42:56.6667969Z         "impl": {
2026-06-04T03:42:56.6668492Z           "complete": true,
2026-06-04T03:42:56.6669005Z           "evidence": [
2026-06-04T03:42:56.6669528Z             {
2026-06-04T03:42:56.6670234Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6670750Z               "line": 22
2026-06-04T03:42:56.6671238Z             }
2026-06-04T03:42:56.6671722Z           ]
2026-06-04T03:42:56.6672200Z         },
2026-06-04T03:42:56.6672692Z         "int": {
2026-06-04T03:42:56.6673231Z           "complete": false,
2026-06-04T03:42:56.6673760Z           "evidence": []
2026-06-04T03:42:56.6674236Z         },
2026-06-04T03:42:56.6674720Z         "unit": {
2026-06-04T03:42:56.6675256Z           "complete": true,
2026-06-04T03:42:56.6675762Z           "evidence": [
2026-06-04T03:42:56.6676253Z             {
2026-06-04T03:42:56.6676972Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6677480Z               "line": 257
2026-06-04T03:42:56.6677962Z             }
2026-06-04T03:42:56.6678435Z           ]
2026-06-04T03:42:56.6678913Z         }
2026-06-04T03:42:56.6679416Z       }
2026-06-04T03:42:56.6679899Z     },
2026-06-04T03:42:56.6680374Z     {
2026-06-04T03:42:56.6681043Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T03:42:56.6683808Z       "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-04T03:42:56.6684372Z       "requiredStages": [
2026-06-04T03:42:56.6684870Z         "impl",
2026-06-04T03:42:56.6685510Z         "unit"
2026-06-04T03:42:56.6686006Z       ],
2026-06-04T03:42:56.6686508Z       "stages": {
2026-06-04T03:42:56.6686990Z         "doc": {
2026-06-04T03:42:56.6687527Z           "complete": true,
2026-06-04T03:42:56.6688036Z           "evidence": [
2026-06-04T03:42:56.6688521Z             {
2026-06-04T03:42:56.6689198Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T03:42:56.6689725Z               "line": 143
2026-06-04T03:42:56.6690210Z             }
2026-06-04T03:42:56.6690682Z           ]
2026-06-04T03:42:56.6691163Z         },
2026-06-04T03:42:56.6691648Z         "impl": {
2026-06-04T03:42:56.6692183Z           "complete": true,
2026-06-04T03:42:56.6692687Z           "evidence": [
2026-06-04T03:42:56.6693178Z             {
2026-06-04T03:42:56.6693964Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.6694482Z               "line": 117
2026-06-04T03:42:56.6694967Z             },
2026-06-04T03:42:56.6695442Z             {
2026-06-04T03:42:56.6696136Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T03:42:56.6696663Z               "line": 15
2026-06-04T03:42:56.6697134Z             }
2026-06-04T03:42:56.6697619Z           ]
2026-06-04T03:42:56.6698094Z         },
2026-06-04T03:42:56.6698585Z         "int": {
2026-06-04T03:42:56.6699114Z           "complete": false,
2026-06-04T03:42:56.6699670Z           "evidence": []
2026-06-04T03:42:56.6700143Z         },
2026-06-04T03:42:56.6700642Z         "unit": {
2026-06-04T03:42:56.6701186Z           "complete": true,
2026-06-04T03:42:56.6701687Z           "evidence": [
2026-06-04T03:42:56.6702167Z             {
2026-06-04T03:42:56.6702929Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T03:42:56.6703441Z               "line": 87
2026-06-04T03:42:56.6703935Z             },
2026-06-04T03:42:56.6704422Z             {
2026-06-04T03:42:56.6705155Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.6705667Z               "line": 508
2026-06-04T03:42:56.6706178Z             },
2026-06-04T03:42:56.6706653Z             {
2026-06-04T03:42:56.6707391Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.6707914Z               "line": 527
2026-06-04T03:42:56.6708413Z             },
2026-06-04T03:42:56.6708895Z             {
2026-06-04T03:42:56.6709688Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.6710204Z               "line": 148
2026-06-04T03:42:56.6710673Z             },
2026-06-04T03:42:56.6711156Z             {
2026-06-04T03:42:56.6711840Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T03:42:56.6712339Z               "line": 74
2026-06-04T03:42:56.6712825Z             },
2026-06-04T03:42:56.6713291Z             {
2026-06-04T03:42:56.6713985Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T03:42:56.6714490Z               "line": 88
2026-06-04T03:42:56.6714978Z             },
2026-06-04T03:42:56.6715461Z             {
2026-06-04T03:42:56.6716131Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T03:42:56.6716658Z               "line": 104
2026-06-04T03:42:56.6717130Z             }
2026-06-04T03:42:56.6717607Z           ]
2026-06-04T03:42:56.6718072Z         }
2026-06-04T03:42:56.6718548Z       }
2026-06-04T03:42:56.6719018Z     },
2026-06-04T03:42:56.6719516Z     {
2026-06-04T03:42:56.6720206Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T03:42:56.6721407Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T03:42:56.6721951Z       "requiredStages": [
2026-06-04T03:42:56.6722440Z         "impl",
2026-06-04T03:42:56.6722935Z         "unit"
2026-06-04T03:42:56.6723411Z       ],
2026-06-04T03:42:56.6723901Z       "stages": {
2026-06-04T03:42:56.6724396Z         "doc": {
2026-06-04T03:42:56.6725100Z           "complete": false,
2026-06-04T03:42:56.6725645Z           "evidence": []
2026-06-04T03:42:56.6731354Z         },
2026-06-04T03:42:56.6731954Z         "impl": {
2026-06-04T03:42:56.6732511Z           "complete": true,
2026-06-04T03:42:56.6733279Z           "evidence": [
2026-06-04T03:42:56.6733769Z             {
2026-06-04T03:42:56.6734459Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T03:42:56.6734974Z               "line": 15
2026-06-04T03:42:56.6735457Z             },
2026-06-04T03:42:56.6735942Z             {
2026-06-04T03:42:56.6736705Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6737587Z               "line": 55
2026-06-04T03:42:56.6738330Z             },
2026-06-04T03:42:56.6738882Z             {
2026-06-04T03:42:56.6739795Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6740477Z               "line": 62
2026-06-04T03:42:56.6741132Z             },
2026-06-04T03:42:56.6741685Z             {
2026-06-04T03:42:56.6742453Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6743000Z               "line": 107
2026-06-04T03:42:56.6743500Z             },
2026-06-04T03:42:56.6744000Z             {
2026-06-04T03:42:56.6744742Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6745280Z               "line": 128
2026-06-04T03:42:56.6745786Z             }
2026-06-04T03:42:56.6746291Z           ]
2026-06-04T03:42:56.6746841Z         },
2026-06-04T03:42:56.6747359Z         "int": {
2026-06-04T03:42:56.6748082Z           "complete": false,
2026-06-04T03:42:56.6748606Z           "evidence": []
2026-06-04T03:42:56.6749081Z         },
2026-06-04T03:42:56.6749641Z         "unit": {
2026-06-04T03:42:56.6750179Z           "complete": true,
2026-06-04T03:42:56.6751154Z           "evidence": [
2026-06-04T03:42:56.6751679Z             {
2026-06-04T03:42:56.6752519Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T03:42:56.6753053Z               "line": 113
2026-06-04T03:42:56.6753554Z             },
2026-06-04T03:42:56.6754038Z             {
2026-06-04T03:42:56.6754717Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T03:42:56.6755239Z               "line": 119
2026-06-04T03:42:56.6755727Z             },
2026-06-04T03:42:56.6756212Z             {
2026-06-04T03:42:56.6756882Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T03:42:56.6757408Z               "line": 130
2026-06-04T03:42:56.6757930Z             },
2026-06-04T03:42:56.6758400Z             {
2026-06-04T03:42:56.6759126Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6759698Z               "line": 183
2026-06-04T03:42:56.6760183Z             },
2026-06-04T03:42:56.6760661Z             {
2026-06-04T03:42:56.6761392Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6761916Z               "line": 193
2026-06-04T03:42:56.6762393Z             },
2026-06-04T03:42:56.6762884Z             {
2026-06-04T03:42:56.6763616Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6764146Z               "line": 237
2026-06-04T03:42:56.6764641Z             },
2026-06-04T03:42:56.6765123Z             {
2026-06-04T03:42:56.6765884Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6766405Z               "line": 249
2026-06-04T03:42:56.6766898Z             },
2026-06-04T03:42:56.6767379Z             {
2026-06-04T03:42:56.6768110Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.6768634Z               "line": 275
2026-06-04T03:42:56.6769110Z             }
2026-06-04T03:42:56.6769631Z           ]
2026-06-04T03:42:56.6770126Z         }
2026-06-04T03:42:56.6770614Z       }
2026-06-04T03:42:56.6771086Z     },
2026-06-04T03:42:56.6771564Z     {
2026-06-04T03:42:56.6772228Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T03:42:56.6773969Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T03:42:56.6774760Z       "requiredStages": [
2026-06-04T03:42:56.6775283Z         "impl",
2026-06-04T03:42:56.6775781Z         "unit",
2026-06-04T03:42:56.6776263Z         "int"
2026-06-04T03:42:56.6776741Z       ],
2026-06-04T03:42:56.6777385Z       "stages": {
2026-06-04T03:42:56.6777867Z         "doc": {
2026-06-04T03:42:56.6778405Z           "complete": false,
2026-06-04T03:42:56.6778916Z           "evidence": []
2026-06-04T03:42:56.6779456Z         },
2026-06-04T03:42:56.6779951Z         "impl": {
2026-06-04T03:42:56.6780489Z           "complete": true,
2026-06-04T03:42:56.6781014Z           "evidence": [
2026-06-04T03:42:56.6781498Z             {
2026-06-04T03:42:56.6782195Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.6782705Z               "line": 236
2026-06-04T03:42:56.6783201Z             },
2026-06-04T03:42:56.6783680Z             {
2026-06-04T03:42:56.6784378Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.6784919Z               "line": 491
2026-06-04T03:42:56.6785404Z             },
2026-06-04T03:42:56.6785893Z             {
2026-06-04T03:42:56.6786579Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.6787087Z               "line": 514
2026-06-04T03:42:56.6787596Z             },
2026-06-04T03:42:56.6788076Z             {
2026-06-04T03:42:56.6788778Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.6789333Z               "line": 538
2026-06-04T03:42:56.6789830Z             },
2026-06-04T03:42:56.6790307Z             {
2026-06-04T03:42:56.6791023Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.6791533Z               "line": 438
2026-06-04T03:42:56.6792018Z             },
2026-06-04T03:42:56.6792501Z             {
2026-06-04T03:42:56.6793215Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.6793733Z               "line": 519
2026-06-04T03:42:56.6794205Z             },
2026-06-04T03:42:56.6794684Z             {
2026-06-04T03:42:56.6795405Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.6795933Z               "line": 563
2026-06-04T03:42:56.6796422Z             },
2026-06-04T03:42:56.6796893Z             {
2026-06-04T03:42:56.6797649Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T03:42:56.6798161Z               "line": 606
2026-06-04T03:42:56.6798644Z             },
2026-06-04T03:42:56.6799114Z             {
2026-06-04T03:42:56.6799883Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T03:42:56.6800411Z               "line": 46
2026-06-04T03:42:56.6800882Z             },
2026-06-04T03:42:56.6801362Z             {
2026-06-04T03:42:56.6802071Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T03:42:56.6802591Z               "line": 160
2026-06-04T03:42:56.6803063Z             },
2026-06-04T03:42:56.6803554Z             {
2026-06-04T03:42:56.6804226Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T03:42:56.6804744Z               "line": 63
2026-06-04T03:42:56.6805229Z             },
2026-06-04T03:42:56.6805710Z             {
2026-06-04T03:42:56.6806395Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.6806919Z               "line": 128
2026-06-04T03:42:56.6807413Z             },
2026-06-04T03:42:56.6807899Z             {
2026-06-04T03:42:56.6808576Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.6809082Z               "line": 174
2026-06-04T03:42:56.6809591Z             }
2026-06-04T03:42:56.6810075Z           ]
2026-06-04T03:42:56.6810558Z         },
2026-06-04T03:42:56.6811033Z         "int": {
2026-06-04T03:42:56.6811569Z           "complete": true,
2026-06-04T03:42:56.6812073Z           "evidence": [
2026-06-04T03:42:56.6812551Z             {
2026-06-04T03:42:56.6813334Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T03:42:56.6813844Z               "line": 27
2026-06-04T03:42:56.6814327Z             },
2026-06-04T03:42:56.6814795Z             {
2026-06-04T03:42:56.6815750Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T03:42:56.6816286Z               "line": 125
2026-06-04T03:42:56.6816772Z             },
2026-06-04T03:42:56.6817248Z             {
2026-06-04T03:42:56.6818191Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T03:42:56.6818714Z               "line": 189
2026-06-04T03:42:56.6819243Z             }
2026-06-04T03:42:56.6819735Z           ]
2026-06-04T03:42:56.6820203Z         },
2026-06-04T03:42:56.6820710Z         "unit": {
2026-06-04T03:42:56.6821235Z           "complete": true,
2026-06-04T03:42:56.6821751Z           "evidence": [
2026-06-04T03:42:56.6822250Z             {
2026-06-04T03:42:56.6822963Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T03:42:56.6823485Z               "line": 282
2026-06-04T03:42:56.6829840Z             },
2026-06-04T03:42:56.6830452Z             {
2026-06-04T03:42:56.6831188Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T03:42:56.6831742Z               "line": 300
2026-06-04T03:42:56.6832242Z             },
2026-06-04T03:42:56.6832716Z             {
2026-06-04T03:42:56.6833430Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T03:42:56.6833959Z               "line": 318
2026-06-04T03:42:56.6834441Z             },
2026-06-04T03:42:56.6834916Z             {
2026-06-04T03:42:56.6835647Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T03:42:56.6836164Z               "line": 208
2026-06-04T03:42:56.6836645Z             },
2026-06-04T03:42:56.6837128Z             {
2026-06-04T03:42:56.6837844Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T03:42:56.6838359Z               "line": 204
2026-06-04T03:42:56.6838836Z             },
2026-06-04T03:42:56.6839371Z             {
2026-06-04T03:42:56.6840084Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T03:42:56.6840591Z               "line": 180
2026-06-04T03:42:56.6841082Z             },
2026-06-04T03:42:56.6841577Z             {
2026-06-04T03:42:56.6842260Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.6842763Z               "line": 441
2026-06-04T03:42:56.6843246Z             },
2026-06-04T03:42:56.6843748Z             {
2026-06-04T03:42:56.6844416Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.6844939Z               "line": 465
2026-06-04T03:42:56.6845418Z             }
2026-06-04T03:42:56.6845901Z           ]
2026-06-04T03:42:56.6846372Z         }
2026-06-04T03:42:56.6846857Z       }
2026-06-04T03:42:56.6847338Z     },
2026-06-04T03:42:56.6847809Z     {
2026-06-04T03:42:56.6848483Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T03:42:56.6849683Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T03:42:56.6850230Z       "requiredStages": [
2026-06-04T03:42:56.6850712Z         "impl",
2026-06-04T03:42:56.6851206Z         "unit"
2026-06-04T03:42:56.6851690Z       ],
2026-06-04T03:42:56.6852188Z       "stages": {
2026-06-04T03:42:56.6852678Z         "doc": {
2026-06-04T03:42:56.6853209Z           "complete": false,
2026-06-04T03:42:56.6853729Z           "evidence": []
2026-06-04T03:42:56.6854201Z         },
2026-06-04T03:42:56.6854719Z         "impl": {
2026-06-04T03:42:56.6855250Z           "complete": true,
2026-06-04T03:42:56.6855748Z           "evidence": [
2026-06-04T03:42:56.6856228Z             {
2026-06-04T03:42:56.6856896Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6857410Z               "line": 33
2026-06-04T03:42:56.6857888Z             },
2026-06-04T03:42:56.6858371Z             {
2026-06-04T03:42:56.6859055Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6859606Z               "line": 61
2026-06-04T03:42:56.6860093Z             },
2026-06-04T03:42:56.6860568Z             {
2026-06-04T03:42:56.6861250Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6861763Z               "line": 70
2026-06-04T03:42:56.6862511Z             },
2026-06-04T03:42:56.6863027Z             {
2026-06-04T03:42:56.6863699Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6864223Z               "line": 79
2026-06-04T03:42:56.6864704Z             },
2026-06-04T03:42:56.6865358Z             {
2026-06-04T03:42:56.6866040Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6866551Z               "line": 88
2026-06-04T03:42:56.6867038Z             },
2026-06-04T03:42:56.6867513Z             {
2026-06-04T03:42:56.6868198Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6868698Z               "line": 96
2026-06-04T03:42:56.6869234Z             },
2026-06-04T03:42:56.6869733Z             {
2026-06-04T03:42:56.6870416Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6870945Z               "line": 105
2026-06-04T03:42:56.6871418Z             },
2026-06-04T03:42:56.6871903Z             {
2026-06-04T03:42:56.6872591Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6873117Z               "line": 112
2026-06-04T03:42:56.6873606Z             },
2026-06-04T03:42:56.6874087Z             {
2026-06-04T03:42:56.6874772Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6875303Z               "line": 119
2026-06-04T03:42:56.6875789Z             },
2026-06-04T03:42:56.6876263Z             {
2026-06-04T03:42:56.6876948Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6877464Z               "line": 186
2026-06-04T03:42:56.6877937Z             },
2026-06-04T03:42:56.6878422Z             {
2026-06-04T03:42:56.6879098Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6879651Z               "line": 198
2026-06-04T03:42:56.6880131Z             },
2026-06-04T03:42:56.6880611Z             {
2026-06-04T03:42:56.6881293Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6881803Z               "line": 285
2026-06-04T03:42:56.6882284Z             }
2026-06-04T03:42:56.6882773Z           ]
2026-06-04T03:42:56.6883247Z         },
2026-06-04T03:42:56.6883733Z         "int": {
2026-06-04T03:42:56.6884266Z           "complete": false,
2026-06-04T03:42:56.6884794Z           "evidence": []
2026-06-04T03:42:56.6885290Z         },
2026-06-04T03:42:56.6885787Z         "unit": {
2026-06-04T03:42:56.6886316Z           "complete": true,
2026-06-04T03:42:56.6886825Z           "evidence": [
2026-06-04T03:42:56.6887299Z             {
2026-06-04T03:42:56.6887981Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6888495Z               "line": 355
2026-06-04T03:42:56.6888967Z             },
2026-06-04T03:42:56.6889481Z             {
2026-06-04T03:42:56.6890155Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6890677Z               "line": 381
2026-06-04T03:42:56.6891152Z             },
2026-06-04T03:42:56.6891634Z             {
2026-06-04T03:42:56.6892319Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6892842Z               "line": 394
2026-06-04T03:42:56.6893335Z             },
2026-06-04T03:42:56.6893810Z             {
2026-06-04T03:42:56.6894490Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.6895013Z               "line": 436
2026-06-04T03:42:56.6895494Z             }
2026-06-04T03:42:56.6895969Z           ]
2026-06-04T03:42:56.6896432Z         }
2026-06-04T03:42:56.6896907Z       }
2026-06-04T03:42:56.6897374Z     },
2026-06-04T03:42:56.6897845Z     {
2026-06-04T03:42:56.6898439Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T03:42:56.6899684Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T03:42:56.6900232Z       "requiredStages": [
2026-06-04T03:42:56.6900710Z         "impl",
2026-06-04T03:42:56.6901195Z         "unit"
2026-06-04T03:42:56.6901668Z       ],
2026-06-04T03:42:56.6902196Z       "stages": {
2026-06-04T03:42:56.6902672Z         "doc": {
2026-06-04T03:42:56.6903216Z           "complete": false,
2026-06-04T03:42:56.6903899Z           "evidence": []
2026-06-04T03:42:56.6904387Z         },
2026-06-04T03:42:56.6905052Z         "impl": {
2026-06-04T03:42:56.6905645Z           "complete": true,
2026-06-04T03:42:56.6906275Z           "evidence": [
2026-06-04T03:42:56.6907004Z             {
2026-06-04T03:42:56.6908039Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.6908629Z               "line": 107
2026-06-04T03:42:56.6909141Z             },
2026-06-04T03:42:56.6909899Z             {
2026-06-04T03:42:56.6910629Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.6911129Z               "line": 59
2026-06-04T03:42:56.6911616Z             }
2026-06-04T03:42:56.6912088Z           ]
2026-06-04T03:42:56.6912571Z         },
2026-06-04T03:42:56.6913050Z         "int": {
2026-06-04T03:42:56.6913589Z           "complete": false,
2026-06-04T03:42:56.6914116Z           "evidence": []
2026-06-04T03:42:56.6914588Z         },
2026-06-04T03:42:56.6915077Z         "unit": {
2026-06-04T03:42:56.6915627Z           "complete": true,
2026-06-04T03:42:56.6916139Z           "evidence": [
2026-06-04T03:42:56.6916608Z             {
2026-06-04T03:42:56.6917272Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.6917810Z               "line": 225
2026-06-04T03:42:56.6918284Z             },
2026-06-04T03:42:56.6924707Z             {
2026-06-04T03:42:56.6925549Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.6926098Z               "line": 254
2026-06-04T03:42:56.6926615Z             },
2026-06-04T03:42:56.6927286Z             {
2026-06-04T03:42:56.6928014Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.6928525Z               "line": 264
2026-06-04T03:42:56.6929006Z             }
2026-06-04T03:42:56.6929873Z           ]
2026-06-04T03:42:56.6930370Z         }
2026-06-04T03:42:56.6930847Z       }
2026-06-04T03:42:56.6931333Z     },
2026-06-04T03:42:56.6931806Z     {
2026-06-04T03:42:56.6932479Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T03:42:56.6933307Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T03:42:56.6933856Z       "requiredStages": [],
2026-06-04T03:42:56.6934364Z       "stages": {
2026-06-04T03:42:56.6934869Z         "doc": {
2026-06-04T03:42:56.6935416Z           "complete": false,
2026-06-04T03:42:56.6935939Z           "evidence": []
2026-06-04T03:42:56.6936409Z         },
2026-06-04T03:42:56.6936905Z         "impl": {
2026-06-04T03:42:56.6937441Z           "complete": false,
2026-06-04T03:42:56.6937966Z           "evidence": []
2026-06-04T03:42:56.6938445Z         },
2026-06-04T03:42:56.6938955Z         "int": {
2026-06-04T03:42:56.6939729Z           "complete": false,
2026-06-04T03:42:56.6940265Z           "evidence": []
2026-06-04T03:42:56.6940763Z         },
2026-06-04T03:42:56.6941269Z         "unit": {
2026-06-04T03:42:56.6941820Z           "complete": false,
2026-06-04T03:42:56.6942356Z           "evidence": []
2026-06-04T03:42:56.6942859Z         }
2026-06-04T03:42:56.6943378Z       }
2026-06-04T03:42:56.6943871Z     },
2026-06-04T03:42:56.6944366Z     {
2026-06-04T03:42:56.6945091Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T03:42:56.6946160Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T03:42:56.6946738Z       "requiredStages": [
2026-06-04T03:42:56.6947259Z         "impl",
2026-06-04T03:42:56.6947765Z         "unit"
2026-06-04T03:42:56.6948263Z       ],
2026-06-04T03:42:56.6948784Z       "stages": {
2026-06-04T03:42:56.6949323Z         "doc": {
2026-06-04T03:42:56.6950024Z           "complete": false,
2026-06-04T03:42:56.6950546Z           "evidence": []
2026-06-04T03:42:56.6951024Z         },
2026-06-04T03:42:56.6951518Z         "impl": {
2026-06-04T03:42:56.6952037Z           "complete": true,
2026-06-04T03:42:56.6952551Z           "evidence": [
2026-06-04T03:42:56.6953033Z             {
2026-06-04T03:42:56.6953778Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.6954601Z               "line": 347
2026-06-04T03:42:56.6955128Z             },
2026-06-04T03:42:56.6955619Z             {
2026-06-04T03:42:56.6956314Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6956835Z               "line": 28
2026-06-04T03:42:56.6957453Z             }
2026-06-04T03:42:56.6957951Z           ]
2026-06-04T03:42:56.6958426Z         },
2026-06-04T03:42:56.6958920Z         "int": {
2026-06-04T03:42:56.6959519Z           "complete": false,
2026-06-04T03:42:56.6960043Z           "evidence": []
2026-06-04T03:42:56.6960532Z         },
2026-06-04T03:42:56.6961017Z         "unit": {
2026-06-04T03:42:56.6961562Z           "complete": true,
2026-06-04T03:42:56.6962070Z           "evidence": [
2026-06-04T03:42:56.6962560Z             {
2026-06-04T03:42:56.6963266Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T03:42:56.6963775Z               "line": 199
2026-06-04T03:42:56.6964260Z             }
2026-06-04T03:42:56.6964739Z           ]
2026-06-04T03:42:56.6965259Z         }
2026-06-04T03:42:56.6965760Z       }
2026-06-04T03:42:56.6966253Z     },
2026-06-04T03:42:56.6966737Z     {
2026-06-04T03:42:56.6967390Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T03:42:56.6968216Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T03:42:56.6968800Z       "requiredStages": [],
2026-06-04T03:42:56.6969349Z       "stages": {
2026-06-04T03:42:56.6969847Z         "doc": {
2026-06-04T03:42:56.6970413Z           "complete": false,
2026-06-04T03:42:56.6970951Z           "evidence": []
2026-06-04T03:42:56.6971436Z         },
2026-06-04T03:42:56.6971954Z         "impl": {
2026-06-04T03:42:56.6972497Z           "complete": false,
2026-06-04T03:42:56.6973031Z           "evidence": []
2026-06-04T03:42:56.6973510Z         },
2026-06-04T03:42:56.6974012Z         "int": {
2026-06-04T03:42:56.6974559Z           "complete": false,
2026-06-04T03:42:56.6975081Z           "evidence": []
2026-06-04T03:42:56.6975575Z         },
2026-06-04T03:42:56.6976072Z         "unit": {
2026-06-04T03:42:56.6976637Z           "complete": false,
2026-06-04T03:42:56.6977169Z           "evidence": []
2026-06-04T03:42:56.6977660Z         }
2026-06-04T03:42:56.6978150Z       }
2026-06-04T03:42:56.6978626Z     },
2026-06-04T03:42:56.6979134Z     {
2026-06-04T03:42:56.6979842Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T03:42:56.6980774Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T03:42:56.6981319Z       "requiredStages": [
2026-06-04T03:42:56.6981839Z         "impl",
2026-06-04T03:42:56.6982342Z         "unit"
2026-06-04T03:42:56.6982824Z       ],
2026-06-04T03:42:56.6983334Z       "stages": {
2026-06-04T03:42:56.6983825Z         "doc": {
2026-06-04T03:42:56.6984377Z           "complete": false,
2026-06-04T03:42:56.6984900Z           "evidence": []
2026-06-04T03:42:56.6985387Z         },
2026-06-04T03:42:56.6985898Z         "impl": {
2026-06-04T03:42:56.6986439Z           "complete": true,
2026-06-04T03:42:56.6986964Z           "evidence": [
2026-06-04T03:42:56.6987466Z             {
2026-06-04T03:42:56.6988216Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.6988738Z               "line": 325
2026-06-04T03:42:56.6989280Z             },
2026-06-04T03:42:56.6989792Z             {
2026-06-04T03:42:56.6990529Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.6991058Z               "line": 361
2026-06-04T03:42:56.6991547Z             }
2026-06-04T03:42:56.6992038Z           ]
2026-06-04T03:42:56.6992518Z         },
2026-06-04T03:42:56.6993025Z         "int": {
2026-06-04T03:42:56.6993584Z           "complete": false,
2026-06-04T03:42:56.6994105Z           "evidence": []
2026-06-04T03:42:56.6994597Z         },
2026-06-04T03:42:56.6995100Z         "unit": {
2026-06-04T03:42:56.6995655Z           "complete": true,
2026-06-04T03:42:56.6996174Z           "evidence": [
2026-06-04T03:42:56.6996669Z             {
2026-06-04T03:42:56.6997412Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.6998088Z               "line": 453
2026-06-04T03:42:56.6998600Z             }
2026-06-04T03:42:56.6999092Z           ]
2026-06-04T03:42:56.6999632Z         }
2026-06-04T03:42:56.7000114Z       }
2026-06-04T03:42:56.7000793Z     },
2026-06-04T03:42:56.7001283Z     {
2026-06-04T03:42:56.7001967Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T03:42:56.7002923Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T03:42:56.7003477Z       "requiredStages": [
2026-06-04T03:42:56.7003997Z         "impl",
2026-06-04T03:42:56.7004500Z         "unit"
2026-06-04T03:42:56.7004998Z       ],
2026-06-04T03:42:56.7005512Z       "stages": {
2026-06-04T03:42:56.7006018Z         "doc": {
2026-06-04T03:42:56.7006575Z           "complete": false,
2026-06-04T03:42:56.7007102Z           "evidence": []
2026-06-04T03:42:56.7007603Z         },
2026-06-04T03:42:56.7008111Z         "impl": {
2026-06-04T03:42:56.7008666Z           "complete": true,
2026-06-04T03:42:56.7009246Z           "evidence": [
2026-06-04T03:42:56.7009770Z             {
2026-06-04T03:42:56.7010490Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.7011016Z               "line": 35
2026-06-04T03:42:56.7011519Z             }
2026-06-04T03:42:56.7012033Z           ]
2026-06-04T03:42:56.7012533Z         },
2026-06-04T03:42:56.7013046Z         "int": {
2026-06-04T03:42:56.7013593Z           "complete": false,
2026-06-04T03:42:56.7014132Z           "evidence": []
2026-06-04T03:42:56.7019976Z         },
2026-06-04T03:42:56.7020588Z         "unit": {
2026-06-04T03:42:56.7021136Z           "complete": true,
2026-06-04T03:42:56.7021662Z           "evidence": [
2026-06-04T03:42:56.7022154Z             {
2026-06-04T03:42:56.7022856Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T03:42:56.7023377Z               "line": 217
2026-06-04T03:42:56.7023855Z             }
2026-06-04T03:42:56.7024347Z           ]
2026-06-04T03:42:56.7024821Z         }
2026-06-04T03:42:56.7025307Z       }
2026-06-04T03:42:56.7025820Z     },
2026-06-04T03:42:56.7026293Z     {
2026-06-04T03:42:56.7026916Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T03:42:56.7028646Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T03:42:56.7029269Z       "requiredStages": [
2026-06-04T03:42:56.7029758Z         "impl",
2026-06-04T03:42:56.7030251Z         "unit"
2026-06-04T03:42:56.7030744Z       ],
2026-06-04T03:42:56.7031237Z       "stages": {
2026-06-04T03:42:56.7031735Z         "doc": {
2026-06-04T03:42:56.7032268Z           "complete": false,
2026-06-04T03:42:56.7032788Z           "evidence": []
2026-06-04T03:42:56.7033259Z         },
2026-06-04T03:42:56.7033752Z         "impl": {
2026-06-04T03:42:56.7034289Z           "complete": true,
2026-06-04T03:42:56.7034792Z           "evidence": [
2026-06-04T03:42:56.7035271Z             {
2026-06-04T03:42:56.7035984Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.7036517Z               "line": 159
2026-06-04T03:42:56.7036993Z             },
2026-06-04T03:42:56.7037476Z             {
2026-06-04T03:42:56.7038196Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.7038707Z               "line": 150
2026-06-04T03:42:56.7039249Z             }
2026-06-04T03:42:56.7039724Z           ]
2026-06-04T03:42:56.7040206Z         },
2026-06-04T03:42:56.7040690Z         "int": {
2026-06-04T03:42:56.7041241Z           "complete": false,
2026-06-04T03:42:56.7041761Z           "evidence": []
2026-06-04T03:42:56.7042237Z         },
2026-06-04T03:42:56.7042732Z         "unit": {
2026-06-04T03:42:56.7043261Z           "complete": true,
2026-06-04T03:42:56.7043776Z           "evidence": [
2026-06-04T03:42:56.7044255Z             {
2026-06-04T03:42:56.7044977Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.7045486Z               "line": 382
2026-06-04T03:42:56.7045963Z             },
2026-06-04T03:42:56.7046448Z             {
2026-06-04T03:42:56.7047405Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.7047946Z               "line": 393
2026-06-04T03:42:56.7048427Z             },
2026-06-04T03:42:56.7048908Z             {
2026-06-04T03:42:56.7049685Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.7050374Z               "line": 409
2026-06-04T03:42:56.7050871Z             },
2026-06-04T03:42:56.7051332Z             {
2026-06-04T03:42:56.7052059Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.7052578Z               "line": 423
2026-06-04T03:42:56.7053066Z             }
2026-06-04T03:42:56.7053550Z           ]
2026-06-04T03:42:56.7054023Z         }
2026-06-04T03:42:56.7054497Z       }
2026-06-04T03:42:56.7054968Z     },
2026-06-04T03:42:56.7055443Z     {
2026-06-04T03:42:56.7056051Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T03:42:56.7061425Z       "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-04T03:42:56.7062005Z       "requiredStages": [
2026-06-04T03:42:56.7062498Z         "doc",
2026-06-04T03:42:56.7063035Z         "impl",
2026-06-04T03:42:56.7063513Z         "unit"
2026-06-04T03:42:56.7063998Z       ],
2026-06-04T03:42:56.7064496Z       "stages": {
2026-06-04T03:42:56.7064979Z         "doc": {
2026-06-04T03:42:56.7065525Z           "complete": true,
2026-06-04T03:42:56.7066036Z           "evidence": [
2026-06-04T03:42:56.7066525Z             {
2026-06-04T03:42:56.7067151Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T03:42:56.7067670Z               "line": 253
2026-06-04T03:42:56.7068148Z             }
2026-06-04T03:42:56.7068616Z           ]
2026-06-04T03:42:56.7069091Z         },
2026-06-04T03:42:56.7069627Z         "impl": {
2026-06-04T03:42:56.7070166Z           "complete": true,
2026-06-04T03:42:56.7070710Z           "evidence": [
2026-06-04T03:42:56.7071192Z             {
2026-06-04T03:42:56.7071923Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T03:42:56.7072427Z               "line": 88
2026-06-04T03:42:56.7072910Z             },
2026-06-04T03:42:56.7073400Z             {
2026-06-04T03:42:56.7074067Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T03:42:56.7074573Z               "line": 62
2026-06-04T03:42:56.7075063Z             },
2026-06-04T03:42:56.7075541Z             {
2026-06-04T03:42:56.7076221Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.7076737Z               "line": 210
2026-06-04T03:42:56.7077221Z             },
2026-06-04T03:42:56.7077708Z             {
2026-06-04T03:42:56.7078412Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T03:42:56.7078923Z               "line": 36
2026-06-04T03:42:56.7079454Z             },
2026-06-04T03:42:56.7079934Z             {
2026-06-04T03:42:56.7080645Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T03:42:56.7081150Z               "line": 40
2026-06-04T03:42:56.7081637Z             }
2026-06-04T03:42:56.7082107Z           ]
2026-06-04T03:42:56.7082589Z         },
2026-06-04T03:42:56.7083076Z         "int": {
2026-06-04T03:42:56.7083620Z           "complete": false,
2026-06-04T03:42:56.7084144Z           "evidence": []
2026-06-04T03:42:56.7084614Z         },
2026-06-04T03:42:56.7085116Z         "unit": {
2026-06-04T03:42:56.7085649Z           "complete": true,
2026-06-04T03:42:56.7086171Z           "evidence": [
2026-06-04T03:42:56.7086654Z             {
2026-06-04T03:42:56.7087378Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T03:42:56.7087903Z               "line": 147
2026-06-04T03:42:56.7088379Z             },
2026-06-04T03:42:56.7088859Z             {
2026-06-04T03:42:56.7089602Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T03:42:56.7090126Z               "line": 126
2026-06-04T03:42:56.7090603Z             },
2026-06-04T03:42:56.7091253Z             {
2026-06-04T03:42:56.7091963Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T03:42:56.7092473Z               "line": 121
2026-06-04T03:42:56.7092955Z             }
2026-06-04T03:42:56.7093567Z           ]
2026-06-04T03:42:56.7094043Z         }
2026-06-04T03:42:56.7094528Z       }
2026-06-04T03:42:56.7095000Z     },
2026-06-04T03:42:56.7095474Z     {
2026-06-04T03:42:56.7096134Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T03:42:56.7097106Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T03:42:56.7097637Z       "requiredStages": [
2026-06-04T03:42:56.7098130Z         "impl",
2026-06-04T03:42:56.7098629Z         "unit"
2026-06-04T03:42:56.7099097Z       ],
2026-06-04T03:42:56.7099637Z       "stages": {
2026-06-04T03:42:56.7100120Z         "doc": {
2026-06-04T03:42:56.7100657Z           "complete": false,
2026-06-04T03:42:56.7101168Z           "evidence": []
2026-06-04T03:42:56.7101644Z         },
2026-06-04T03:42:56.7102156Z         "impl": {
2026-06-04T03:42:56.7102689Z           "complete": true,
2026-06-04T03:42:56.7103210Z           "evidence": [
2026-06-04T03:42:56.7103690Z             {
2026-06-04T03:42:56.7104391Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7104912Z               "line": 95
2026-06-04T03:42:56.7105401Z             },
2026-06-04T03:42:56.7105884Z             {
2026-06-04T03:42:56.7106564Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.7107074Z               "line": 96
2026-06-04T03:42:56.7107550Z             }
2026-06-04T03:42:56.7108029Z           ]
2026-06-04T03:42:56.7108504Z         },
2026-06-04T03:42:56.7108995Z         "int": {
2026-06-04T03:42:56.7109572Z           "complete": false,
2026-06-04T03:42:56.7110086Z           "evidence": []
2026-06-04T03:42:56.7110568Z         },
2026-06-04T03:42:56.7111048Z         "unit": {
2026-06-04T03:42:56.7111589Z           "complete": true,
2026-06-04T03:42:56.7112108Z           "evidence": [
2026-06-04T03:42:56.7117715Z             {
2026-06-04T03:42:56.7118542Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7119074Z               "line": 250
2026-06-04T03:42:56.7119648Z             },
2026-06-04T03:42:56.7120160Z             {
2026-06-04T03:42:56.7120847Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T03:42:56.7121360Z               "line": 139
2026-06-04T03:42:56.7121850Z             },
2026-06-04T03:42:56.7122335Z             {
2026-06-04T03:42:56.7123021Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.7123539Z               "line": 375
2026-06-04T03:42:56.7124019Z             },
2026-06-04T03:42:56.7124499Z             {
2026-06-04T03:42:56.7125186Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.7125705Z               "line": 405
2026-06-04T03:42:56.7126188Z             }
2026-06-04T03:42:56.7126658Z           ]
2026-06-04T03:42:56.7127140Z         }
2026-06-04T03:42:56.7127610Z       }
2026-06-04T03:42:56.7128108Z     },
2026-06-04T03:42:56.7128575Z     {
2026-06-04T03:42:56.7129210Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T03:42:56.7130352Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T03:42:56.7130908Z       "requiredStages": [
2026-06-04T03:42:56.7131399Z         "impl",
2026-06-04T03:42:56.7131876Z         "unit"
2026-06-04T03:42:56.7132356Z       ],
2026-06-04T03:42:56.7132845Z       "stages": {
2026-06-04T03:42:56.7133333Z         "doc": {
2026-06-04T03:42:56.7133877Z           "complete": false,
2026-06-04T03:42:56.7134392Z           "evidence": []
2026-06-04T03:42:56.7134878Z         },
2026-06-04T03:42:56.7135362Z         "impl": {
2026-06-04T03:42:56.7135896Z           "complete": true,
2026-06-04T03:42:56.7136406Z           "evidence": [
2026-06-04T03:42:56.7136888Z             {
2026-06-04T03:42:56.7137581Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.7138097Z               "line": 142
2026-06-04T03:42:56.7138823Z             },
2026-06-04T03:42:56.7139354Z             {
2026-06-04T03:42:56.7140057Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.7140569Z               "line": 187
2026-06-04T03:42:56.7141057Z             },
2026-06-04T03:42:56.7141697Z             {
2026-06-04T03:42:56.7142382Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.7142901Z               "line": 199
2026-06-04T03:42:56.7143374Z             }
2026-06-04T03:42:56.7143862Z           ]
2026-06-04T03:42:56.7144327Z         },
2026-06-04T03:42:56.7144817Z         "int": {
2026-06-04T03:42:56.7145358Z           "complete": false,
2026-06-04T03:42:56.7145869Z           "evidence": []
2026-06-04T03:42:56.7146351Z         },
2026-06-04T03:42:56.7146840Z         "unit": {
2026-06-04T03:42:56.7147377Z           "complete": true,
2026-06-04T03:42:56.7147883Z           "evidence": [
2026-06-04T03:42:56.7148366Z             {
2026-06-04T03:42:56.7149066Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.7149637Z               "line": 335
2026-06-04T03:42:56.7150133Z             },
2026-06-04T03:42:56.7150654Z             {
2026-06-04T03:42:56.7151863Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.7152497Z               "line": 364
2026-06-04T03:42:56.7153067Z             }
2026-06-04T03:42:56.7153733Z           ]
2026-06-04T03:42:56.7154218Z         }
2026-06-04T03:42:56.7154698Z       }
2026-06-04T03:42:56.7155170Z     },
2026-06-04T03:42:56.7155643Z     {
2026-06-04T03:42:56.7156177Z       "id": "REQ-INFRA-1",
2026-06-04T03:42:56.7157302Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T03:42:56.7157862Z       "requiredStages": [],
2026-06-04T03:42:56.7158356Z       "stages": {
2026-06-04T03:42:56.7158848Z         "doc": {
2026-06-04T03:42:56.7159446Z           "complete": false,
2026-06-04T03:42:56.7159976Z           "evidence": []
2026-06-04T03:42:56.7160452Z         },
2026-06-04T03:42:56.7160974Z         "impl": {
2026-06-04T03:42:56.7161515Z           "complete": false,
2026-06-04T03:42:56.7162035Z           "evidence": []
2026-06-04T03:42:56.7162519Z         },
2026-06-04T03:42:56.7163004Z         "int": {
2026-06-04T03:42:56.7163576Z           "complete": false,
2026-06-04T03:42:56.7164095Z           "evidence": []
2026-06-04T03:42:56.7164582Z         },
2026-06-04T03:42:56.7165081Z         "unit": {
2026-06-04T03:42:56.7165611Z           "complete": false,
2026-06-04T03:42:56.7166137Z           "evidence": []
2026-06-04T03:42:56.7166608Z         }
2026-06-04T03:42:56.7167086Z       }
2026-06-04T03:42:56.7167550Z     },
2026-06-04T03:42:56.7168032Z     {
2026-06-04T03:42:56.7168568Z       "id": "REQ-INST-1",
2026-06-04T03:42:56.7169562Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T03:42:56.7170123Z       "requiredStages": [],
2026-06-04T03:42:56.7170621Z       "stages": {
2026-06-04T03:42:56.7171115Z         "doc": {
2026-06-04T03:42:56.7171659Z           "complete": false,
2026-06-04T03:42:56.7172181Z           "evidence": []
2026-06-04T03:42:56.7172660Z         },
2026-06-04T03:42:56.7173145Z         "impl": {
2026-06-04T03:42:56.7173685Z           "complete": false,
2026-06-04T03:42:56.7174213Z           "evidence": []
2026-06-04T03:42:56.7174693Z         },
2026-06-04T03:42:56.7175168Z         "int": {
2026-06-04T03:42:56.7175706Z           "complete": false,
2026-06-04T03:42:56.7176224Z           "evidence": []
2026-06-04T03:42:56.7176702Z         },
2026-06-04T03:42:56.7177188Z         "unit": {
2026-06-04T03:42:56.7177715Z           "complete": false,
2026-06-04T03:42:56.7178235Z           "evidence": []
2026-06-04T03:42:56.7178710Z         }
2026-06-04T03:42:56.7179232Z       }
2026-06-04T03:42:56.7179708Z     },
2026-06-04T03:42:56.7180167Z     {
2026-06-04T03:42:56.7180708Z       "id": "REQ-INST-10",
2026-06-04T03:42:56.7182049Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T03:42:56.7182851Z       "requiredStages": [
2026-06-04T03:42:56.7183371Z         "impl",
2026-06-04T03:42:56.7183867Z         "unit"
2026-06-04T03:42:56.7184346Z       ],
2026-06-04T03:42:56.7184841Z       "stages": {
2026-06-04T03:42:56.7185334Z         "doc": {
2026-06-04T03:42:56.7186020Z           "complete": false,
2026-06-04T03:42:56.7186553Z           "evidence": []
2026-06-04T03:42:56.7187028Z         },
2026-06-04T03:42:56.7187523Z         "impl": {
2026-06-04T03:42:56.7188068Z           "complete": true,
2026-06-04T03:42:56.7188573Z           "evidence": [
2026-06-04T03:42:56.7189064Z             {
2026-06-04T03:42:56.7189848Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7190366Z               "line": 351
2026-06-04T03:42:56.7190844Z             },
2026-06-04T03:42:56.7191320Z             {
2026-06-04T03:42:56.7192100Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7192611Z               "line": 406
2026-06-04T03:42:56.7193096Z             },
2026-06-04T03:42:56.7193583Z             {
2026-06-04T03:42:56.7194266Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T03:42:56.7194769Z               "line": 13
2026-06-04T03:42:56.7195254Z             },
2026-06-04T03:42:56.7195732Z             {
2026-06-04T03:42:56.7196428Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T03:42:56.7196944Z               "line": 67
2026-06-04T03:42:56.7197417Z             }
2026-06-04T03:42:56.7197902Z           ]
2026-06-04T03:42:56.7198373Z         },
2026-06-04T03:42:56.7198861Z         "int": {
2026-06-04T03:42:56.7199452Z           "complete": false,
2026-06-04T03:42:56.7199967Z           "evidence": []
2026-06-04T03:42:56.7200451Z         },
2026-06-04T03:42:56.7200930Z         "unit": {
2026-06-04T03:42:56.7201464Z           "complete": true,
2026-06-04T03:42:56.7201964Z           "evidence": [
2026-06-04T03:42:56.7202444Z             {
2026-06-04T03:42:56.7203177Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7203704Z               "line": 550
2026-06-04T03:42:56.7204197Z             },
2026-06-04T03:42:56.7204666Z             {
2026-06-04T03:42:56.7205402Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7205928Z               "line": 559
2026-06-04T03:42:56.7206432Z             },
2026-06-04T03:42:56.7212530Z             {
2026-06-04T03:42:56.7213389Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7213919Z               "line": 567
2026-06-04T03:42:56.7214407Z             },
2026-06-04T03:42:56.7214889Z             {
2026-06-04T03:42:56.7215622Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7216130Z               "line": 580
2026-06-04T03:42:56.7216611Z             },
2026-06-04T03:42:56.7217091Z             {
2026-06-04T03:42:56.7217818Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7218325Z               "line": 593
2026-06-04T03:42:56.7218809Z             },
2026-06-04T03:42:56.7219397Z             {
2026-06-04T03:42:56.7220130Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7220651Z               "line": 609
2026-06-04T03:42:56.7221129Z             },
2026-06-04T03:42:56.7221610Z             {
2026-06-04T03:42:56.7222355Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7222870Z               "line": 838
2026-06-04T03:42:56.7223350Z             },
2026-06-04T03:42:56.7223828Z             {
2026-06-04T03:42:56.7224506Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T03:42:56.7225010Z               "line": 121
2026-06-04T03:42:56.7225490Z             },
2026-06-04T03:42:56.7225961Z             {
2026-06-04T03:42:56.7226634Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T03:42:56.7227148Z               "line": 142
2026-06-04T03:42:56.7227624Z             },
2026-06-04T03:42:56.7228104Z             {
2026-06-04T03:42:56.7228768Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T03:42:56.7229577Z               "line": 150
2026-06-04T03:42:56.7230088Z             },
2026-06-04T03:42:56.7230575Z             {
2026-06-04T03:42:56.7231259Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T03:42:56.7231947Z               "line": 158
2026-06-04T03:42:56.7232436Z             }
2026-06-04T03:42:56.7232947Z           ]
2026-06-04T03:42:56.7233467Z         }
2026-06-04T03:42:56.7233933Z       }
2026-06-04T03:42:56.7234407Z     },
2026-06-04T03:42:56.7234877Z     {
2026-06-04T03:42:56.7235397Z       "id": "REQ-INST-11",
2026-06-04T03:42:56.7236738Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T03:42:56.7237275Z       "requiredStages": [
2026-06-04T03:42:56.7237768Z         "impl",
2026-06-04T03:42:56.7238246Z         "unit"
2026-06-04T03:42:56.7238722Z       ],
2026-06-04T03:42:56.7239281Z       "stages": {
2026-06-04T03:42:56.7239763Z         "doc": {
2026-06-04T03:42:56.7240304Z           "complete": false,
2026-06-04T03:42:56.7240825Z           "evidence": []
2026-06-04T03:42:56.7241309Z         },
2026-06-04T03:42:56.7241794Z         "impl": {
2026-06-04T03:42:56.7242329Z           "complete": true,
2026-06-04T03:42:56.7242842Z           "evidence": [
2026-06-04T03:42:56.7243323Z             {
2026-06-04T03:42:56.7244058Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7244567Z               "line": 253
2026-06-04T03:42:56.7245048Z             },
2026-06-04T03:42:56.7245521Z             {
2026-06-04T03:42:56.7246210Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T03:42:56.7246720Z               "line": 59
2026-06-04T03:42:56.7247194Z             },
2026-06-04T03:42:56.7247676Z             {
2026-06-04T03:42:56.7248288Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7248805Z               "line": 586
2026-06-04T03:42:56.7249330Z             }
2026-06-04T03:42:56.7249843Z           ]
2026-06-04T03:42:56.7250341Z         },
2026-06-04T03:42:56.7250841Z         "int": {
2026-06-04T03:42:56.7251376Z           "complete": false,
2026-06-04T03:42:56.7251887Z           "evidence": []
2026-06-04T03:42:56.7252368Z         },
2026-06-04T03:42:56.7252848Z         "unit": {
2026-06-04T03:42:56.7253405Z           "complete": true,
2026-06-04T03:42:56.7253921Z           "evidence": [
2026-06-04T03:42:56.7254395Z             {
2026-06-04T03:42:56.7255132Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7255641Z               "line": 702
2026-06-04T03:42:56.7256123Z             },
2026-06-04T03:42:56.7256590Z             {
2026-06-04T03:42:56.7257327Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7257844Z               "line": 725
2026-06-04T03:42:56.7258323Z             },
2026-06-04T03:42:56.7258807Z             {
2026-06-04T03:42:56.7259530Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T03:42:56.7260047Z               "line": 156
2026-06-04T03:42:56.7260525Z             },
2026-06-04T03:42:56.7261021Z             {
2026-06-04T03:42:56.7261722Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T03:42:56.7262231Z               "line": 177
2026-06-04T03:42:56.7262719Z             },
2026-06-04T03:42:56.7263208Z             {
2026-06-04T03:42:56.7263901Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T03:42:56.7264421Z               "line": 209
2026-06-04T03:42:56.7264896Z             },
2026-06-04T03:42:56.7265375Z             {
2026-06-04T03:42:56.7265987Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7266503Z               "line": 635
2026-06-04T03:42:56.7266971Z             }
2026-06-04T03:42:56.7267459Z           ]
2026-06-04T03:42:56.7267934Z         }
2026-06-04T03:42:56.7268403Z       }
2026-06-04T03:42:56.7268877Z     },
2026-06-04T03:42:56.7269383Z     {
2026-06-04T03:42:56.7269912Z       "id": "REQ-INST-12",
2026-06-04T03:42:56.7271992Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T03:42:56.7272563Z       "requiredStages": [
2026-06-04T03:42:56.7273059Z         "impl",
2026-06-04T03:42:56.7273532Z         "unit"
2026-06-04T03:42:56.7274005Z       ],
2026-06-04T03:42:56.7274497Z       "stages": {
2026-06-04T03:42:56.7275132Z         "doc": {
2026-06-04T03:42:56.7275665Z           "complete": false,
2026-06-04T03:42:56.7276180Z           "evidence": []
2026-06-04T03:42:56.7276661Z         },
2026-06-04T03:42:56.7277147Z         "impl": {
2026-06-04T03:42:56.7277675Z           "complete": true,
2026-06-04T03:42:56.7278175Z           "evidence": [
2026-06-04T03:42:56.7278655Z             {
2026-06-04T03:42:56.7279424Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7279952Z               "line": 305
2026-06-04T03:42:56.7280428Z             },
2026-06-04T03:42:56.7280908Z             {
2026-06-04T03:42:56.7281638Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7282149Z               "line": 362
2026-06-04T03:42:56.7282644Z             },
2026-06-04T03:42:56.7283112Z             {
2026-06-04T03:42:56.7283840Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7284358Z               "line": 420
2026-06-04T03:42:56.7284849Z             },
2026-06-04T03:42:56.7285329Z             {
2026-06-04T03:42:56.7286010Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.7286520Z               "line": 87
2026-06-04T03:42:56.7287046Z             },
2026-06-04T03:42:56.7288026Z             {
2026-06-04T03:42:56.7288867Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.7289716Z               "line": 216
2026-06-04T03:42:56.7290232Z             },
2026-06-04T03:42:56.7290702Z             {
2026-06-04T03:42:56.7291450Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7291947Z               "line": 132
2026-06-04T03:42:56.7292426Z             }
2026-06-04T03:42:56.7292911Z           ]
2026-06-04T03:42:56.7293399Z         },
2026-06-04T03:42:56.7293894Z         "int": {
2026-06-04T03:42:56.7294427Z           "complete": false,
2026-06-04T03:42:56.7294948Z           "evidence": []
2026-06-04T03:42:56.7295420Z         },
2026-06-04T03:42:56.7295929Z         "unit": {
2026-06-04T03:42:56.7296458Z           "complete": true,
2026-06-04T03:42:56.7296961Z           "evidence": [
2026-06-04T03:42:56.7297443Z             {
2026-06-04T03:42:56.7298175Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7298693Z               "line": 760
2026-06-04T03:42:56.7299205Z             },
2026-06-04T03:42:56.7299693Z             {
2026-06-04T03:42:56.7300427Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7300935Z               "line": 777
2026-06-04T03:42:56.7301418Z             },
2026-06-04T03:42:56.7301895Z             {
2026-06-04T03:42:56.7302636Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7308610Z               "line": 808
2026-06-04T03:42:56.7310179Z             },
2026-06-04T03:42:56.7310730Z             {
2026-06-04T03:42:56.7311466Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.7311997Z               "line": 350
2026-06-04T03:42:56.7312497Z             },
2026-06-04T03:42:56.7312983Z             {
2026-06-04T03:42:56.7313716Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7314595Z               "line": 169
2026-06-04T03:42:56.7315092Z             },
2026-06-04T03:42:56.7315566Z             {
2026-06-04T03:42:56.7316324Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7316831Z               "line": 181
2026-06-04T03:42:56.7317316Z             },
2026-06-04T03:42:56.7317803Z             {
2026-06-04T03:42:56.7318522Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7319034Z               "line": 198
2026-06-04T03:42:56.7319612Z             }
2026-06-04T03:42:56.7320116Z           ]
2026-06-04T03:42:56.7320925Z         }
2026-06-04T03:42:56.7321448Z       }
2026-06-04T03:42:56.7321927Z     },
2026-06-04T03:42:56.7322407Z     {
2026-06-04T03:42:56.7322943Z       "id": "REQ-INST-13",
2026-06-04T03:42:56.7324075Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T03:42:56.7324784Z       "requiredStages": [
2026-06-04T03:42:56.7325272Z         "impl",
2026-06-04T03:42:56.7325759Z         "unit"
2026-06-04T03:42:56.7326243Z       ],
2026-06-04T03:42:56.7326739Z       "stages": {
2026-06-04T03:42:56.7327230Z         "doc": {
2026-06-04T03:42:56.7327768Z           "complete": false,
2026-06-04T03:42:56.7328289Z           "evidence": []
2026-06-04T03:42:56.7328761Z         },
2026-06-04T03:42:56.7329316Z         "impl": {
2026-06-04T03:42:56.7329859Z           "complete": true,
2026-06-04T03:42:56.7330384Z           "evidence": [
2026-06-04T03:42:56.7330872Z             {
2026-06-04T03:42:56.7331617Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7332159Z               "line": 155
2026-06-04T03:42:56.7332641Z             }
2026-06-04T03:42:56.7333128Z           ]
2026-06-04T03:42:56.7333604Z         },
2026-06-04T03:42:56.7334101Z         "int": {
2026-06-04T03:42:56.7334644Z           "complete": false,
2026-06-04T03:42:56.7335170Z           "evidence": []
2026-06-04T03:42:56.7335652Z         },
2026-06-04T03:42:56.7336144Z         "unit": {
2026-06-04T03:42:56.7336675Z           "complete": true,
2026-06-04T03:42:56.7337182Z           "evidence": [
2026-06-04T03:42:56.7337674Z             {
2026-06-04T03:42:56.7338415Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7338928Z               "line": 221
2026-06-04T03:42:56.7339464Z             },
2026-06-04T03:42:56.7339946Z             {
2026-06-04T03:42:56.7340696Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T03:42:56.7341218Z               "line": 233
2026-06-04T03:42:56.7341699Z             }
2026-06-04T03:42:56.7342181Z           ]
2026-06-04T03:42:56.7342674Z         }
2026-06-04T03:42:56.7343152Z       }
2026-06-04T03:42:56.7343619Z     },
2026-06-04T03:42:56.7344097Z     {
2026-06-04T03:42:56.7344622Z       "id": "REQ-INST-14",
2026-06-04T03:42:56.7347187Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T03:42:56.7347761Z       "requiredStages": [],
2026-06-04T03:42:56.7348257Z       "stages": {
2026-06-04T03:42:56.7348750Z         "doc": {
2026-06-04T03:42:56.7349336Z           "complete": false,
2026-06-04T03:42:56.7349865Z           "evidence": []
2026-06-04T03:42:56.7350348Z         },
2026-06-04T03:42:56.7350833Z         "impl": {
2026-06-04T03:42:56.7351380Z           "complete": false,
2026-06-04T03:42:56.7351928Z           "evidence": []
2026-06-04T03:42:56.7352423Z         },
2026-06-04T03:42:56.7352904Z         "int": {
2026-06-04T03:42:56.7353448Z           "complete": false,
2026-06-04T03:42:56.7353966Z           "evidence": []
2026-06-04T03:42:56.7354453Z         },
2026-06-04T03:42:56.7354947Z         "unit": {
2026-06-04T03:42:56.7355466Z           "complete": false,
2026-06-04T03:42:56.7355985Z           "evidence": []
2026-06-04T03:42:56.7356461Z         }
2026-06-04T03:42:56.7356955Z       }
2026-06-04T03:42:56.7357439Z     },
2026-06-04T03:42:56.7357910Z     {
2026-06-04T03:42:56.7358450Z       "id": "REQ-INST-15",
2026-06-04T03:42:56.7363542Z       "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-04T03:42:56.7364110Z       "requiredStages": [],
2026-06-04T03:42:56.7364596Z       "stages": {
2026-06-04T03:42:56.7365081Z         "doc": {
2026-06-04T03:42:56.7365617Z           "complete": false,
2026-06-04T03:42:56.7366126Z           "evidence": []
2026-06-04T03:42:56.7366606Z         },
2026-06-04T03:42:56.7367314Z         "impl": {
2026-06-04T03:42:56.7367888Z           "complete": false,
2026-06-04T03:42:56.7368397Z           "evidence": []
2026-06-04T03:42:56.7368893Z         },
2026-06-04T03:42:56.7369451Z         "int": {
2026-06-04T03:42:56.7370141Z           "complete": false,
2026-06-04T03:42:56.7370668Z           "evidence": []
2026-06-04T03:42:56.7371136Z         },
2026-06-04T03:42:56.7371634Z         "unit": {
2026-06-04T03:42:56.7372166Z           "complete": false,
2026-06-04T03:42:56.7372689Z           "evidence": []
2026-06-04T03:42:56.7373174Z         }
2026-06-04T03:42:56.7373644Z       }
2026-06-04T03:42:56.7374124Z     },
2026-06-04T03:42:56.7374589Z     {
2026-06-04T03:42:56.7375113Z       "id": "REQ-INST-2",
2026-06-04T03:42:56.7375818Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T03:42:56.7376375Z       "requiredStages": [],
2026-06-04T03:42:56.7377068Z       "stages": {
2026-06-04T03:42:56.7377646Z         "doc": {
2026-06-04T03:42:56.7378343Z           "complete": false,
2026-06-04T03:42:56.7379016Z           "evidence": []
2026-06-04T03:42:56.7379802Z         },
2026-06-04T03:42:56.7380369Z         "impl": {
2026-06-04T03:42:56.7380989Z           "complete": false,
2026-06-04T03:42:56.7381638Z           "evidence": []
2026-06-04T03:42:56.7382204Z         },
2026-06-04T03:42:56.7382800Z         "int": {
2026-06-04T03:42:56.7383421Z           "complete": false,
2026-06-04T03:42:56.7384022Z           "evidence": []
2026-06-04T03:42:56.7384556Z         },
2026-06-04T03:42:56.7385085Z         "unit": {
2026-06-04T03:42:56.7385679Z           "complete": false,
2026-06-04T03:42:56.7386266Z           "evidence": []
2026-06-04T03:42:56.7386807Z         }
2026-06-04T03:42:56.7387484Z       }
2026-06-04T03:42:56.7388166Z     },
2026-06-04T03:42:56.7388692Z     {
2026-06-04T03:42:56.7389381Z       "id": "REQ-INST-3",
2026-06-04T03:42:56.7390399Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T03:42:56.7391117Z       "requiredStages": [],
2026-06-04T03:42:56.7391738Z       "stages": {
2026-06-04T03:42:56.7392246Z         "doc": {
2026-06-04T03:42:56.7392792Z           "complete": false,
2026-06-04T03:42:56.7393322Z           "evidence": []
2026-06-04T03:42:56.7393844Z         },
2026-06-04T03:42:56.7394348Z         "impl": {
2026-06-04T03:42:56.7394885Z           "complete": false,
2026-06-04T03:42:56.7395409Z           "evidence": []
2026-06-04T03:42:56.7395884Z         },
2026-06-04T03:42:56.7396377Z         "int": {
2026-06-04T03:42:56.7396913Z           "complete": false,
2026-06-04T03:42:56.7397443Z           "evidence": []
2026-06-04T03:42:56.7397933Z         },
2026-06-04T03:42:56.7398429Z         "unit": {
2026-06-04T03:42:56.7398975Z           "complete": false,
2026-06-04T03:42:56.7399708Z           "evidence": []
2026-06-04T03:42:56.7400227Z         }
2026-06-04T03:42:56.7400718Z       }
2026-06-04T03:42:56.7401217Z     },
2026-06-04T03:42:56.7401718Z     {
2026-06-04T03:42:56.7402284Z       "id": "REQ-INST-4",
2026-06-04T03:42:56.7403451Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T03:42:56.7413600Z       "requiredStages": [],
2026-06-04T03:42:56.7414323Z       "stages": {
2026-06-04T03:42:56.7414961Z         "doc": {
2026-06-04T03:42:56.7415555Z           "complete": false,
2026-06-04T03:42:56.7416071Z           "evidence": []
2026-06-04T03:42:56.7416541Z         },
2026-06-04T03:42:56.7417204Z         "impl": {
2026-06-04T03:42:56.7417899Z           "complete": false,
2026-06-04T03:42:56.7418418Z           "evidence": []
2026-06-04T03:42:56.7418889Z         },
2026-06-04T03:42:56.7419482Z         "int": {
2026-06-04T03:42:56.7420330Z           "complete": false,
2026-06-04T03:42:56.7420841Z           "evidence": []
2026-06-04T03:42:56.7421334Z         },
2026-06-04T03:42:56.7421818Z         "unit": {
2026-06-04T03:42:56.7422356Z           "complete": false,
2026-06-04T03:42:56.7422868Z           "evidence": []
2026-06-04T03:42:56.7423351Z         }
2026-06-04T03:42:56.7423831Z       }
2026-06-04T03:42:56.7424731Z     },
2026-06-04T03:42:56.7425234Z     {
2026-06-04T03:42:56.7425763Z       "id": "REQ-INST-5",
2026-06-04T03:42:56.7426906Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T03:42:56.7427627Z       "requiredStages": [],
2026-06-04T03:42:56.7428130Z       "stages": {
2026-06-04T03:42:56.7428619Z         "doc": {
2026-06-04T03:42:56.7429205Z           "complete": false,
2026-06-04T03:42:56.7429730Z           "evidence": []
2026-06-04T03:42:56.7430203Z         },
2026-06-04T03:42:56.7430697Z         "impl": {
2026-06-04T03:42:56.7431223Z           "complete": false,
2026-06-04T03:42:56.7431738Z           "evidence": []
2026-06-04T03:42:56.7432218Z         },
2026-06-04T03:42:56.7432696Z         "int": {
2026-06-04T03:42:56.7433234Z           "complete": false,
2026-06-04T03:42:56.7433743Z           "evidence": []
2026-06-04T03:42:56.7434223Z         },
2026-06-04T03:42:56.7434731Z         "unit": {
2026-06-04T03:42:56.7435310Z           "complete": false,
2026-06-04T03:42:56.7435837Z           "evidence": []
2026-06-04T03:42:56.7436307Z         }
2026-06-04T03:42:56.7436785Z       }
2026-06-04T03:42:56.7437246Z     },
2026-06-04T03:42:56.7437718Z     {
2026-06-04T03:42:56.7438250Z       "id": "REQ-INST-6",
2026-06-04T03:42:56.7439494Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T03:42:56.7440058Z       "requiredStages": [],
2026-06-04T03:42:56.7440555Z       "stages": {
2026-06-04T03:42:56.7441044Z         "doc": {
2026-06-04T03:42:56.7441571Z           "complete": false,
2026-06-04T03:42:56.7442094Z           "evidence": []
2026-06-04T03:42:56.7442571Z         },
2026-06-04T03:42:56.7443063Z         "impl": {
2026-06-04T03:42:56.7443599Z           "complete": false,
2026-06-04T03:42:56.7444111Z           "evidence": []
2026-06-04T03:42:56.7444593Z         },
2026-06-04T03:42:56.7445070Z         "int": {
2026-06-04T03:42:56.7445606Z           "complete": false,
2026-06-04T03:42:56.7446130Z           "evidence": []
2026-06-04T03:42:56.7446620Z         },
2026-06-04T03:42:56.7447114Z         "unit": {
2026-06-04T03:42:56.7447643Z           "complete": false,
2026-06-04T03:42:56.7448162Z           "evidence": []
2026-06-04T03:42:56.7448647Z         }
2026-06-04T03:42:56.7449122Z       }
2026-06-04T03:42:56.7449732Z     },
2026-06-04T03:42:56.7450215Z     {
2026-06-04T03:42:56.7450748Z       "id": "REQ-INST-7",
2026-06-04T03:42:56.7451574Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T03:42:56.7452121Z       "requiredStages": [
2026-06-04T03:42:56.7452604Z         "impl",
2026-06-04T03:42:56.7453095Z         "unit"
2026-06-04T03:42:56.7453560Z       ],
2026-06-04T03:42:56.7454056Z       "stages": {
2026-06-04T03:42:56.7454542Z         "doc": {
2026-06-04T03:42:56.7455063Z           "complete": false,
2026-06-04T03:42:56.7455583Z           "evidence": []
2026-06-04T03:42:56.7456054Z         },
2026-06-04T03:42:56.7456550Z         "impl": {
2026-06-04T03:42:56.7457088Z           "complete": true,
2026-06-04T03:42:56.7457605Z           "evidence": [
2026-06-04T03:42:56.7458089Z             {
2026-06-04T03:42:56.7458801Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T03:42:56.7459526Z               "line": 56
2026-06-04T03:42:56.7460173Z             },
2026-06-04T03:42:56.7460675Z             {
2026-06-04T03:42:56.7461409Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7461928Z               "line": 41
2026-06-04T03:42:56.7462414Z             },
2026-06-04T03:42:56.7462892Z             {
2026-06-04T03:42:56.7463652Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.7464163Z               "line": 27
2026-06-04T03:42:56.7464650Z             },
2026-06-04T03:42:56.7465129Z             {
2026-06-04T03:42:56.7465891Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.7466406Z               "line": 59
2026-06-04T03:42:56.7466883Z             },
2026-06-04T03:42:56.7467560Z             {
2026-06-04T03:42:56.7468339Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.7468871Z               "line": 68
2026-06-04T03:42:56.7469456Z             },
2026-06-04T03:42:56.7469958Z             {
2026-06-04T03:42:56.7470901Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T03:42:56.7471418Z               "line": 129
2026-06-04T03:42:56.7471906Z             }
2026-06-04T03:42:56.7472380Z           ]
2026-06-04T03:42:56.7472860Z         },
2026-06-04T03:42:56.7473341Z         "int": {
2026-06-04T03:42:56.7473880Z           "complete": false,
2026-06-04T03:42:56.7474407Z           "evidence": []
2026-06-04T03:42:56.7474885Z         },
2026-06-04T03:42:56.7475384Z         "unit": {
2026-06-04T03:42:56.7475913Z           "complete": true,
2026-06-04T03:42:56.7476431Z           "evidence": [
2026-06-04T03:42:56.7476906Z             {
2026-06-04T03:42:56.7477683Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T03:42:56.7478217Z               "line": 83
2026-06-04T03:42:56.7478699Z             },
2026-06-04T03:42:56.7479241Z             {
2026-06-04T03:42:56.7479969Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7480488Z               "line": 475
2026-06-04T03:42:56.7480982Z             },
2026-06-04T03:42:56.7481470Z             {
2026-06-04T03:42:56.7482200Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7482705Z               "line": 486
2026-06-04T03:42:56.7483187Z             },
2026-06-04T03:42:56.7483660Z             {
2026-06-04T03:42:56.7484384Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7484891Z               "line": 495
2026-06-04T03:42:56.7485382Z             },
2026-06-04T03:42:56.7485871Z             {
2026-06-04T03:42:56.7486611Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.7487128Z               "line": 90
2026-06-04T03:42:56.7487606Z             },
2026-06-04T03:42:56.7488098Z             {
2026-06-04T03:42:56.7488855Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.7489405Z               "line": 105
2026-06-04T03:42:56.7489893Z             },
2026-06-04T03:42:56.7490370Z             {
2026-06-04T03:42:56.7491138Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T03:42:56.7491644Z               "line": 131
2026-06-04T03:42:56.7492135Z             }
2026-06-04T03:42:56.7492618Z           ]
2026-06-04T03:42:56.7493088Z         }
2026-06-04T03:42:56.7493569Z       }
2026-06-04T03:42:56.7494034Z     },
2026-06-04T03:42:56.7494506Z     {
2026-06-04T03:42:56.7495020Z       "id": "REQ-INST-8",
2026-06-04T03:42:56.7495937Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T03:42:56.7496486Z       "requiredStages": [
2026-06-04T03:42:56.7496968Z         "impl",
2026-06-04T03:42:56.7497460Z         "unit"
2026-06-04T03:42:56.7497931Z       ],
2026-06-04T03:42:56.7498432Z       "stages": {
2026-06-04T03:42:56.7498934Z         "doc": {
2026-06-04T03:42:56.7499521Z           "complete": false,
2026-06-04T03:42:56.7500034Z           "evidence": []
2026-06-04T03:42:56.7500521Z         },
2026-06-04T03:42:56.7501020Z         "impl": {
2026-06-04T03:42:56.7501558Z           "complete": true,
2026-06-04T03:42:56.7502069Z           "evidence": [
2026-06-04T03:42:56.7502543Z             {
2026-06-04T03:42:56.7503260Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T03:42:56.7503780Z               "line": 87
2026-06-04T03:42:56.7504254Z             },
2026-06-04T03:42:56.7504740Z             {
2026-06-04T03:42:56.7505439Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T03:42:56.7505959Z               "line": 184
2026-06-04T03:42:56.7506440Z             },
2026-06-04T03:42:56.7506923Z             {
2026-06-04T03:42:56.7507642Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T03:42:56.7508147Z               "line": 202
2026-06-04T03:42:56.7508649Z             },
2026-06-04T03:42:56.7509351Z             {
2026-06-04T03:42:56.7510103Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T03:42:56.7510608Z               "line": 35
2026-06-04T03:42:56.7511098Z             }
2026-06-04T03:42:56.7511739Z           ]
2026-06-04T03:42:56.7512217Z         },
2026-06-04T03:42:56.7512710Z         "int": {
2026-06-04T03:42:56.7513243Z           "complete": false,
2026-06-04T03:42:56.7513772Z           "evidence": []
2026-06-04T03:42:56.7514248Z         },
2026-06-04T03:42:56.7514748Z         "unit": {
2026-06-04T03:42:56.7515297Z           "complete": true,
2026-06-04T03:42:56.7515811Z           "evidence": [
2026-06-04T03:42:56.7516298Z             {
2026-06-04T03:42:56.7517016Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T03:42:56.7517537Z               "line": 159
2026-06-04T03:42:56.7518023Z             },
2026-06-04T03:42:56.7518513Z             {
2026-06-04T03:42:56.7519282Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T03:42:56.7519821Z               "line": 213
2026-06-04T03:42:56.7520314Z             },
2026-06-04T03:42:56.7520792Z             {
2026-06-04T03:42:56.7521522Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T03:42:56.7522044Z               "line": 70
2026-06-04T03:42:56.7522538Z             },
2026-06-04T03:42:56.7523022Z             {
2026-06-04T03:42:56.7523726Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T03:42:56.7524255Z               "line": 101
2026-06-04T03:42:56.7524731Z             }
2026-06-04T03:42:56.7525218Z           ]
2026-06-04T03:42:56.7525689Z         }
2026-06-04T03:42:56.7526174Z       }
2026-06-04T03:42:56.7526655Z     },
2026-06-04T03:42:56.7527121Z     {
2026-06-04T03:42:56.7527648Z       "id": "REQ-INST-9",
2026-06-04T03:42:56.7528809Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T03:42:56.7529410Z       "requiredStages": [
2026-06-04T03:42:56.7529894Z         "impl",
2026-06-04T03:42:56.7530400Z         "unit"
2026-06-04T03:42:56.7530913Z       ],
2026-06-04T03:42:56.7531718Z       "stages": {
2026-06-04T03:42:56.7532423Z         "doc": {
2026-06-04T03:42:56.7533168Z           "complete": false,
2026-06-04T03:42:56.7533716Z           "evidence": []
2026-06-04T03:42:56.7534191Z         },
2026-06-04T03:42:56.7534693Z         "impl": {
2026-06-04T03:42:56.7535229Z           "complete": true,
2026-06-04T03:42:56.7535738Z           "evidence": [
2026-06-04T03:42:56.7536217Z             {
2026-06-04T03:42:56.7536959Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7537480Z               "line": 191
2026-06-04T03:42:56.7537956Z             }
2026-06-04T03:42:56.7538439Z           ]
2026-06-04T03:42:56.7544808Z         },
2026-06-04T03:42:56.7545425Z         "int": {
2026-06-04T03:42:56.7546003Z           "complete": false,
2026-06-04T03:42:56.7546527Z           "evidence": []
2026-06-04T03:42:56.7547013Z         },
2026-06-04T03:42:56.7547498Z         "unit": {
2026-06-04T03:42:56.7548072Z           "complete": true,
2026-06-04T03:42:56.7548596Z           "evidence": [
2026-06-04T03:42:56.7549069Z             {
2026-06-04T03:42:56.7550225Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7550769Z               "line": 626
2026-06-04T03:42:56.7551269Z             },
2026-06-04T03:42:56.7551752Z             {
2026-06-04T03:42:56.7552503Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7553032Z               "line": 635
2026-06-04T03:42:56.7553508Z             },
2026-06-04T03:42:56.7553994Z             {
2026-06-04T03:42:56.7554728Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7555247Z               "line": 649
2026-06-04T03:42:56.7555719Z             },
2026-06-04T03:42:56.7556201Z             {
2026-06-04T03:42:56.7556933Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7557438Z               "line": 659
2026-06-04T03:42:56.7557922Z             },
2026-06-04T03:42:56.7558681Z             {
2026-06-04T03:42:56.7559512Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T03:42:56.7560034Z               "line": 678
2026-06-04T03:42:56.7560523Z             }
2026-06-04T03:42:56.7561214Z           ]
2026-06-04T03:42:56.7561693Z         }
2026-06-04T03:42:56.7562175Z       }
2026-06-04T03:42:56.7562647Z     },
2026-06-04T03:42:56.7563119Z     {
2026-06-04T03:42:56.7563663Z       "id": "REQ-INSTALL-1",
2026-06-04T03:42:56.7564880Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T03:42:56.7565434Z       "requiredStages": [],
2026-06-04T03:42:56.7565926Z       "stages": {
2026-06-04T03:42:56.7566416Z         "doc": {
2026-06-04T03:42:56.7566946Z           "complete": false,
2026-06-04T03:42:56.7567471Z           "evidence": []
2026-06-04T03:42:56.7567943Z         },
2026-06-04T03:42:56.7568436Z         "impl": {
2026-06-04T03:42:56.7568983Z           "complete": false,
2026-06-04T03:42:56.7569560Z           "evidence": []
2026-06-04T03:42:56.7570055Z         },
2026-06-04T03:42:56.7570541Z         "int": {
2026-06-04T03:42:56.7571084Z           "complete": false,
2026-06-04T03:42:56.7571610Z           "evidence": []
2026-06-04T03:42:56.7572116Z         },
2026-06-04T03:42:56.7572611Z         "unit": {
2026-06-04T03:42:56.7573139Z           "complete": false,
2026-06-04T03:42:56.7573667Z           "evidence": []
2026-06-04T03:42:56.7574143Z         }
2026-06-04T03:42:56.7574621Z       }
2026-06-04T03:42:56.7575083Z     },
2026-06-04T03:42:56.7575554Z     {
2026-06-04T03:42:56.7576109Z       "id": "REQ-INSTALL-2",
2026-06-04T03:42:56.7576928Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T03:42:56.7577482Z       "requiredStages": [],
2026-06-04T03:42:56.7577975Z       "stages": {
2026-06-04T03:42:56.7578460Z         "doc": {
2026-06-04T03:42:56.7578988Z           "complete": false,
2026-06-04T03:42:56.7579548Z           "evidence": []
2026-06-04T03:42:56.7580034Z         },
2026-06-04T03:42:56.7580533Z         "impl": {
2026-06-04T03:42:56.7581075Z           "complete": false,
2026-06-04T03:42:56.7581585Z           "evidence": []
2026-06-04T03:42:56.7582064Z         },
2026-06-04T03:42:56.7582547Z         "int": {
2026-06-04T03:42:56.7583106Z           "complete": false,
2026-06-04T03:42:56.7583629Z           "evidence": []
2026-06-04T03:42:56.7584102Z         },
2026-06-04T03:42:56.7584597Z         "unit": {
2026-06-04T03:42:56.7585125Z           "complete": false,
2026-06-04T03:42:56.7585637Z           "evidence": []
2026-06-04T03:42:56.7586110Z         }
2026-06-04T03:42:56.7586583Z       }
2026-06-04T03:42:56.7587064Z     },
2026-06-04T03:42:56.7587525Z     {
2026-06-04T03:42:56.7588075Z       "id": "REQ-INSTALL-3",
2026-06-04T03:42:56.7588925Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T03:42:56.7589544Z       "requiredStages": [],
2026-06-04T03:42:56.7590040Z       "stages": {
2026-06-04T03:42:56.7590546Z         "doc": {
2026-06-04T03:42:56.7591106Z           "complete": false,
2026-06-04T03:42:56.7591621Z           "evidence": []
2026-06-04T03:42:56.7592107Z         },
2026-06-04T03:42:56.7592594Z         "impl": {
2026-06-04T03:42:56.7593130Z           "complete": false,
2026-06-04T03:42:56.7593654Z           "evidence": []
2026-06-04T03:42:56.7594135Z         },
2026-06-04T03:42:56.7594631Z         "int": {
2026-06-04T03:42:56.7595166Z           "complete": false,
2026-06-04T03:42:56.7595690Z           "evidence": []
2026-06-04T03:42:56.7596164Z         },
2026-06-04T03:42:56.7596662Z         "unit": {
2026-06-04T03:42:56.7597190Z           "complete": false,
2026-06-04T03:42:56.7597705Z           "evidence": []
2026-06-04T03:42:56.7598185Z         }
2026-06-04T03:42:56.7598649Z       }
2026-06-04T03:42:56.7599124Z     },
2026-06-04T03:42:56.7599617Z     {
2026-06-04T03:42:56.7600166Z       "id": "REQ-INSTALL-4",
2026-06-04T03:42:56.7604825Z       "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-04T03:42:56.7605412Z       "requiredStages": [],
2026-06-04T03:42:56.7605915Z       "stages": {
2026-06-04T03:42:56.7606547Z         "doc": {
2026-06-04T03:42:56.7607093Z           "complete": false,
2026-06-04T03:42:56.7607602Z           "evidence": []
2026-06-04T03:42:56.7608099Z         },
2026-06-04T03:42:56.7608585Z         "impl": {
2026-06-04T03:42:56.7609123Z           "complete": false,
2026-06-04T03:42:56.7609692Z           "evidence": []
2026-06-04T03:42:56.7610162Z         },
2026-06-04T03:42:56.7610653Z         "int": {
2026-06-04T03:42:56.7611177Z           "complete": false,
2026-06-04T03:42:56.7611702Z           "evidence": []
2026-06-04T03:42:56.7612169Z         },
2026-06-04T03:42:56.7612659Z         "unit": {
2026-06-04T03:42:56.7613196Z           "complete": false,
2026-06-04T03:42:56.7613705Z           "evidence": []
2026-06-04T03:42:56.7614183Z         }
2026-06-04T03:42:56.7614679Z       }
2026-06-04T03:42:56.7615152Z     },
2026-06-04T03:42:56.7615617Z     {
2026-06-04T03:42:56.7616163Z       "id": "REQ-MANIFEST-1",
2026-06-04T03:42:56.7617363Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T03:42:56.7617941Z       "requiredStages": [
2026-06-04T03:42:56.7618457Z         "doc",
2026-06-04T03:42:56.7618940Z         "impl",
2026-06-04T03:42:56.7619468Z         "unit"
2026-06-04T03:42:56.7619934Z       ],
2026-06-04T03:42:56.7620440Z       "stages": {
2026-06-04T03:42:56.7620932Z         "doc": {
2026-06-04T03:42:56.7621449Z           "complete": true,
2026-06-04T03:42:56.7621964Z           "evidence": [
2026-06-04T03:42:56.7622439Z             {
2026-06-04T03:42:56.7623030Z               "path": "docs/MANIFEST.md",
2026-06-04T03:42:56.7623528Z               "line": 19
2026-06-04T03:42:56.7624019Z             }
2026-06-04T03:42:56.7624498Z           ]
2026-06-04T03:42:56.7624978Z         },
2026-06-04T03:42:56.7625492Z         "impl": {
2026-06-04T03:42:56.7626023Z           "complete": true,
2026-06-04T03:42:56.7626547Z           "evidence": [
2026-06-04T03:42:56.7627028Z             {
2026-06-04T03:42:56.7627790Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7628320Z               "line": 18
2026-06-04T03:42:56.7628795Z             }
2026-06-04T03:42:56.7629316Z           ]
2026-06-04T03:42:56.7629795Z         },
2026-06-04T03:42:56.7630291Z         "int": {
2026-06-04T03:42:56.7630822Z           "complete": false,
2026-06-04T03:42:56.7631341Z           "evidence": []
2026-06-04T03:42:56.7631822Z         },
2026-06-04T03:42:56.7632305Z         "unit": {
2026-06-04T03:42:56.7632839Z           "complete": true,
2026-06-04T03:42:56.7633344Z           "evidence": [
2026-06-04T03:42:56.7633828Z             {
2026-06-04T03:42:56.7634561Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7635081Z               "line": 695
2026-06-04T03:42:56.7635582Z             },
2026-06-04T03:42:56.7640029Z             {
2026-06-04T03:42:56.7640874Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7641393Z               "line": 791
2026-06-04T03:42:56.7641882Z             },
2026-06-04T03:42:56.7642402Z             {
2026-06-04T03:42:56.7643143Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7643656Z               "line": 803
2026-06-04T03:42:56.7644133Z             },
2026-06-04T03:42:56.7644609Z             {
2026-06-04T03:42:56.7645336Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7645855Z               "line": 811
2026-06-04T03:42:56.7646337Z             },
2026-06-04T03:42:56.7646817Z             {
2026-06-04T03:42:56.7647551Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7648074Z               "line": 828
2026-06-04T03:42:56.7648567Z             },
2026-06-04T03:42:56.7649041Z             {
2026-06-04T03:42:56.7650068Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7650610Z               "line": 842
2026-06-04T03:42:56.7651102Z             },
2026-06-04T03:42:56.7651585Z             {
2026-06-04T03:42:56.7652319Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7653003Z               "line": 857
2026-06-04T03:42:56.7653486Z             },
2026-06-04T03:42:56.7653967Z             {
2026-06-04T03:42:56.7654702Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7655212Z               "line": 872
2026-06-04T03:42:56.7655693Z             },
2026-06-04T03:42:56.7656164Z             {
2026-06-04T03:42:56.7656899Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7657406Z               "line": 887
2026-06-04T03:42:56.7657892Z             },
2026-06-04T03:42:56.7658372Z             {
2026-06-04T03:42:56.7659099Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.7659665Z               "line": 898
2026-06-04T03:42:56.7660205Z             }
2026-06-04T03:42:56.7660690Z           ]
2026-06-04T03:42:56.7661160Z         }
2026-06-04T03:42:56.7661637Z       }
2026-06-04T03:42:56.7662110Z     },
2026-06-04T03:42:56.7662581Z     {
2026-06-04T03:42:56.7663140Z       "id": "REQ-MIGRATE-1",
2026-06-04T03:42:56.7664195Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T03:42:56.7664752Z       "requiredStages": [],
2026-06-04T03:42:56.7665249Z       "stages": {
2026-06-04T03:42:56.7665738Z         "doc": {
2026-06-04T03:42:56.7666272Z           "complete": false,
2026-06-04T03:42:56.7666784Z           "evidence": []
2026-06-04T03:42:56.7667272Z         },
2026-06-04T03:42:56.7667757Z         "impl": {
2026-06-04T03:42:56.7668295Z           "complete": false,
2026-06-04T03:42:56.7668809Z           "evidence": []
2026-06-04T03:42:56.7669332Z         },
2026-06-04T03:42:56.7669822Z         "int": {
2026-06-04T03:42:56.7670352Z           "complete": false,
2026-06-04T03:42:56.7670876Z           "evidence": []
2026-06-04T03:42:56.7671349Z         },
2026-06-04T03:42:56.7671841Z         "unit": {
2026-06-04T03:42:56.7672365Z           "complete": false,
2026-06-04T03:42:56.7672883Z           "evidence": []
2026-06-04T03:42:56.7673372Z         }
2026-06-04T03:42:56.7673840Z       }
2026-06-04T03:42:56.7674311Z     },
2026-06-04T03:42:56.7674778Z     {
2026-06-04T03:42:56.7675316Z       "id": "REQ-MSG-1",
2026-06-04T03:42:56.7678342Z       "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-04T03:42:56.7678892Z       "requiredStages": [
2026-06-04T03:42:56.7679420Z         "impl",
2026-06-04T03:42:56.7679907Z         "unit",
2026-06-04T03:42:56.7680399Z         "int"
2026-06-04T03:42:56.7680869Z       ],
2026-06-04T03:42:56.7681372Z       "stages": {
2026-06-04T03:42:56.7681853Z         "doc": {
2026-06-04T03:42:56.7682397Z           "complete": false,
2026-06-04T03:42:56.7682941Z           "evidence": []
2026-06-04T03:42:56.7683421Z         },
2026-06-04T03:42:56.7683914Z         "impl": {
2026-06-04T03:42:56.7684442Z           "complete": true,
2026-06-04T03:42:56.7684964Z           "evidence": [
2026-06-04T03:42:56.7685453Z             {
2026-06-04T03:42:56.7686138Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7686648Z               "line": 28
2026-06-04T03:42:56.7687120Z             },
2026-06-04T03:42:56.7687601Z             {
2026-06-04T03:42:56.7688277Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7688792Z               "line": 94
2026-06-04T03:42:56.7689304Z             },
2026-06-04T03:42:56.7689794Z             {
2026-06-04T03:42:56.7690480Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7690989Z               "line": 127
2026-06-04T03:42:56.7691472Z             },
2026-06-04T03:42:56.7691944Z             {
2026-06-04T03:42:56.7692792Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7693323Z               "line": 149
2026-06-04T03:42:56.7693819Z             },
2026-06-04T03:42:56.7694304Z             {
2026-06-04T03:42:56.7694976Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7695633Z               "line": 174
2026-06-04T03:42:56.7696111Z             },
2026-06-04T03:42:56.7696593Z             {
2026-06-04T03:42:56.7697277Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T03:42:56.7697792Z               "line": 18
2026-06-04T03:42:56.7698282Z             },
2026-06-04T03:42:56.7698760Z             {
2026-06-04T03:42:56.7699470Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.7699973Z               "line": 13
2026-06-04T03:42:56.7700462Z             },
2026-06-04T03:42:56.7700929Z             {
2026-06-04T03:42:56.7701577Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.7702088Z               "line": 61
2026-06-04T03:42:56.7702565Z             },
2026-06-04T03:42:56.7703061Z             {
2026-06-04T03:42:56.7703709Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T03:42:56.7704214Z               "line": 10
2026-06-04T03:42:56.7704684Z             }
2026-06-04T03:42:56.7705184Z           ]
2026-06-04T03:42:56.7705662Z         },
2026-06-04T03:42:56.7706144Z         "int": {
2026-06-04T03:42:56.7706677Z           "complete": true,
2026-06-04T03:42:56.7707178Z           "evidence": [
2026-06-04T03:42:56.7707659Z             {
2026-06-04T03:42:56.7708475Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T03:42:56.7708992Z               "line": 9
2026-06-04T03:42:56.7709524Z             },
2026-06-04T03:42:56.7710001Z             {
2026-06-04T03:42:56.7710827Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T03:42:56.7711330Z               "line": 66
2026-06-04T03:42:56.7711812Z             },
2026-06-04T03:42:56.7712280Z             {
2026-06-04T03:42:56.7713110Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T03:42:56.7713629Z               "line": 116
2026-06-04T03:42:56.7714094Z             }
2026-06-04T03:42:56.7714577Z           ]
2026-06-04T03:42:56.7715044Z         },
2026-06-04T03:42:56.7715558Z         "unit": {
2026-06-04T03:42:56.7716078Z           "complete": true,
2026-06-04T03:42:56.7716604Z           "evidence": [
2026-06-04T03:42:56.7717576Z             {
2026-06-04T03:42:56.7718405Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7720790Z               "line": 203
2026-06-04T03:42:56.7722128Z             },
2026-06-04T03:42:56.7723291Z             {
2026-06-04T03:42:56.7724739Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7726891Z               "line": 232
2026-06-04T03:42:56.7728445Z             },
2026-06-04T03:42:56.7729837Z             {
2026-06-04T03:42:56.7743673Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7745622Z               "line": 277
2026-06-04T03:42:56.7747195Z             },
2026-06-04T03:42:56.7748491Z             {
2026-06-04T03:42:56.7750084Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7752117Z               "line": 300
2026-06-04T03:42:56.7753774Z             },
2026-06-04T03:42:56.7755002Z             {
2026-06-04T03:42:56.7756493Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T03:42:56.7758831Z               "line": 322
2026-06-04T03:42:56.7760367Z             },
2026-06-04T03:42:56.7761461Z             {
2026-06-04T03:42:56.7762755Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T03:42:56.7764414Z               "line": 203
2026-06-04T03:42:56.7765649Z             },
2026-06-04T03:42:56.7766732Z             {
2026-06-04T03:42:56.7768025Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T03:42:56.7770063Z               "line": 233
2026-06-04T03:42:56.7771308Z             },
2026-06-04T03:42:56.7772413Z             {
2026-06-04T03:42:56.7774115Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T03:42:56.7775832Z               "line": 247
2026-06-04T03:42:56.7777078Z             },
2026-06-04T03:42:56.7778161Z             {
2026-06-04T03:42:56.7779707Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T03:42:56.7781768Z               "line": 259
2026-06-04T03:42:56.7783005Z             },
2026-06-04T03:42:56.7784097Z             {
2026-06-04T03:42:56.7785336Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.7786956Z               "line": 158
2026-06-04T03:42:56.7788190Z             },
2026-06-04T03:42:56.7789328Z             {
2026-06-04T03:42:56.7790598Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T03:42:56.7792226Z               "line": 235
2026-06-04T03:42:56.7793470Z             },
2026-06-04T03:42:56.7794556Z             {
2026-06-04T03:42:56.7795805Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T03:42:56.7797423Z               "line": 68
2026-06-04T03:42:56.7798638Z             },
2026-06-04T03:42:56.7799788Z             {
2026-06-04T03:42:56.7801093Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T03:42:56.7802714Z               "line": 74
2026-06-04T03:42:56.7803936Z             },
2026-06-04T03:42:56.7805052Z             {
2026-06-04T03:42:56.7806299Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T03:42:56.7807892Z               "line": 80
2026-06-04T03:42:56.7809118Z             },
2026-06-04T03:42:56.7810255Z             {
2026-06-04T03:42:56.7811500Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T03:42:56.7813124Z               "line": 99
2026-06-04T03:42:56.7814332Z             }
2026-06-04T03:42:56.7815401Z           ]
2026-06-04T03:42:56.7816457Z         }
2026-06-04T03:42:56.7817488Z       }
2026-06-04T03:42:56.7818511Z     },
2026-06-04T03:42:56.7819584Z     {
2026-06-04T03:42:56.7820641Z       "id": "REQ-MSG-2",
2026-06-04T03:42:56.7823104Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T03:42:56.7825846Z       "requiredStages": [
2026-06-04T03:42:56.7827119Z         "impl",
2026-06-04T03:42:56.7828221Z         "unit"
2026-06-04T03:42:56.7829356Z       ],
2026-06-04T03:42:56.7830428Z       "stages": {
2026-06-04T03:42:56.7831546Z         "doc": {
2026-06-04T03:42:56.7832716Z           "complete": false,
2026-06-04T03:42:56.7834061Z           "evidence": []
2026-06-04T03:42:56.7835294Z         },
2026-06-04T03:42:56.7836349Z         "impl": {
2026-06-04T03:42:56.7837515Z           "complete": true,
2026-06-04T03:42:56.7838813Z           "evidence": [
2026-06-04T03:42:56.7840062Z             {
2026-06-04T03:42:56.7841279Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7842844Z               "line": 11
2026-06-04T03:42:56.7844071Z             },
2026-06-04T03:42:56.7845161Z             {
2026-06-04T03:42:56.7846390Z               "path": "crates/spt/src/main.rs",
2026-06-04T03:42:56.7847956Z               "line": 8
2026-06-04T03:42:56.7849199Z             }
2026-06-04T03:42:56.7856046Z           ]
2026-06-04T03:42:56.7857274Z         },
2026-06-04T03:42:56.7858324Z         "int": {
2026-06-04T03:42:56.7859628Z           "complete": false,
2026-06-04T03:42:56.7861005Z           "evidence": []
2026-06-04T03:42:56.7862226Z         },
2026-06-04T03:42:56.7863291Z         "unit": {
2026-06-04T03:42:56.7864453Z           "complete": true,
2026-06-04T03:42:56.7865768Z           "evidence": [
2026-06-04T03:42:56.7866960Z             {
2026-06-04T03:42:56.7868158Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7869754Z               "line": 622
2026-06-04T03:42:56.7870981Z             },
2026-06-04T03:42:56.7872097Z             {
2026-06-04T03:42:56.7873297Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7874851Z               "line": 659
2026-06-04T03:42:56.7876078Z             },
2026-06-04T03:42:56.7877166Z             {
2026-06-04T03:42:56.7878364Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7880338Z               "line": 668
2026-06-04T03:42:56.7881609Z             },
2026-06-04T03:42:56.7882701Z             {
2026-06-04T03:42:56.7883922Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.7885658Z               "line": 680
2026-06-04T03:42:56.7886893Z             }
2026-06-04T03:42:56.7887995Z           ]
2026-06-04T03:42:56.7889040Z         }
2026-06-04T03:42:56.7890123Z       }
2026-06-04T03:42:56.7891135Z     },
2026-06-04T03:42:56.7892164Z     {
2026-06-04T03:42:56.7893222Z       "id": "REQ-MSG-3",
2026-06-04T03:42:56.7896489Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T03:42:56.7900077Z       "requiredStages": [
2026-06-04T03:42:56.7901340Z         "impl",
2026-06-04T03:42:56.7902446Z         "unit",
2026-06-04T03:42:56.7903643Z         "int"
2026-06-04T03:42:56.7909719Z       ],
2026-06-04T03:42:56.7911087Z       "stages": {
2026-06-04T03:42:56.7912355Z         "doc": {
2026-06-04T03:42:56.7913603Z           "complete": false,
2026-06-04T03:42:56.7915013Z           "evidence": []
2026-06-04T03:42:56.7916327Z         },
2026-06-04T03:42:56.7917514Z         "impl": {
2026-06-04T03:42:56.7918802Z           "complete": true,
2026-06-04T03:42:56.7920662Z           "evidence": [
2026-06-04T03:42:56.7922056Z             {
2026-06-04T03:42:56.7923399Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T03:42:56.7925131Z               "line": 19
2026-06-04T03:42:56.7926470Z             },
2026-06-04T03:42:56.7927889Z             {
2026-06-04T03:42:56.7929932Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.7931707Z               "line": 21
2026-06-04T03:42:56.7933076Z             },
2026-06-04T03:42:56.7934246Z             {
2026-06-04T03:42:56.7935554Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.7937361Z               "line": 48
2026-06-04T03:42:56.7938625Z             },
2026-06-04T03:42:56.7940129Z             {
2026-06-04T03:42:56.7941458Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.7943180Z               "line": 106
2026-06-04T03:42:56.7944467Z             }
2026-06-04T03:42:56.7945659Z           ]
2026-06-04T03:42:56.7946762Z         },
2026-06-04T03:42:56.7947942Z         "int": {
2026-06-04T03:42:56.7949209Z           "complete": true,
2026-06-04T03:42:56.7950932Z           "evidence": [
2026-06-04T03:42:56.7952200Z             {
2026-06-04T03:42:56.7953669Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T03:42:56.7955493Z               "line": 10
2026-06-04T03:42:56.7956735Z             },
2026-06-04T03:42:56.7957845Z             {
2026-06-04T03:42:56.7959417Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T03:42:56.7961295Z               "line": 66
2026-06-04T03:42:56.7962560Z             }
2026-06-04T03:42:56.7963675Z           ]
2026-06-04T03:42:56.7964744Z         },
2026-06-04T03:42:56.7965860Z         "unit": {
2026-06-04T03:42:56.7967084Z           "complete": true,
2026-06-04T03:42:56.7968421Z           "evidence": [
2026-06-04T03:42:56.7969700Z             {
2026-06-04T03:42:56.7971218Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.7973008Z               "line": 160
2026-06-04T03:42:56.7980647Z             },
2026-06-04T03:42:56.7981913Z             {
2026-06-04T03:42:56.7983199Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.7984818Z               "line": 179
2026-06-04T03:42:56.7986085Z             },
2026-06-04T03:42:56.7987174Z             {
2026-06-04T03:42:56.7988440Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T03:42:56.7990544Z               "line": 198
2026-06-04T03:42:56.7991774Z             }
2026-06-04T03:42:56.7992859Z           ]
2026-06-04T03:42:56.7993887Z         }
2026-06-04T03:42:56.7994928Z       }
2026-06-04T03:42:56.7995932Z     },
2026-06-04T03:42:56.7996949Z     {
2026-06-04T03:42:56.7998586Z       "id": "REQ-NET-1",
2026-06-04T03:42:56.8000912Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T03:42:56.8003064Z       "requiredStages": [
2026-06-04T03:42:56.8004350Z         "impl",
2026-06-04T03:42:56.8005757Z         "unit"
2026-06-04T03:42:56.8006916Z       ],
2026-06-04T03:42:56.8007992Z       "stages": {
2026-06-04T03:42:56.8009150Z         "doc": {
2026-06-04T03:42:56.8010737Z           "complete": false,
2026-06-04T03:42:56.8012107Z           "evidence": []
2026-06-04T03:42:56.8013333Z         },
2026-06-04T03:42:56.8014396Z         "impl": {
2026-06-04T03:42:56.8015563Z           "complete": true,
2026-06-04T03:42:56.8016870Z           "evidence": [
2026-06-04T03:42:56.8018081Z             {
2026-06-04T03:42:56.8019563Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T03:42:56.8021371Z               "line": 61
2026-06-04T03:42:56.8022635Z             },
2026-06-04T03:42:56.8023758Z             {
2026-06-04T03:42:56.8025167Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8026872Z               "line": 65
2026-06-04T03:42:56.8028079Z             },
2026-06-04T03:42:56.8029240Z             {
2026-06-04T03:42:56.8031000Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8032781Z               "line": 122
2026-06-04T03:42:56.8034043Z             },
2026-06-04T03:42:56.8035172Z             {
2026-06-04T03:42:56.8036530Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8038274Z               "line": 138
2026-06-04T03:42:56.8039939Z             },
2026-06-04T03:42:56.8041095Z             {
2026-06-04T03:42:56.8042448Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8044128Z               "line": 153
2026-06-04T03:42:56.8045363Z             },
2026-06-04T03:42:56.8046473Z             {
2026-06-04T03:42:56.8047883Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8049941Z               "line": 207
2026-06-04T03:42:56.8051326Z             },
2026-06-04T03:42:56.8052682Z             {
2026-06-04T03:42:56.8054057Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8055758Z               "line": 242
2026-06-04T03:42:56.8057106Z             },
2026-06-04T03:42:56.8058232Z             {
2026-06-04T03:42:56.8059647Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8061468Z               "line": 248
2026-06-04T03:42:56.8062765Z             },
2026-06-04T03:42:56.8063905Z             {
2026-06-04T03:42:56.8065270Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8066975Z               "line": 254
2026-06-04T03:42:56.8068249Z             },
2026-06-04T03:42:56.8069628Z             {
2026-06-04T03:42:56.8071211Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8072953Z               "line": 270
2026-06-04T03:42:56.8074320Z             },
2026-06-04T03:42:56.8075464Z             {
2026-06-04T03:42:56.8076869Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T03:42:56.8078653Z               "line": 35
2026-06-04T03:42:56.8080046Z             },
2026-06-04T03:42:56.8081178Z             {
2026-06-04T03:42:56.8082559Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T03:42:56.8084231Z               "line": 82
2026-06-04T03:42:56.8085502Z             },
2026-06-04T03:42:56.8086645Z             {
2026-06-04T03:42:56.8087924Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.8089688Z               "line": 129
2026-06-04T03:42:56.8090982Z             }
2026-06-04T03:42:56.8092085Z           ]
2026-06-04T03:42:56.8093143Z         },
2026-06-04T03:42:56.8100570Z         "int": {
2026-06-04T03:42:56.8101853Z           "complete": false,
2026-06-04T03:42:56.8103198Z           "evidence": []
2026-06-04T03:42:56.8104461Z         },
2026-06-04T03:42:56.8105537Z         "unit": {
2026-06-04T03:42:56.8106746Z           "complete": true,
2026-06-04T03:42:56.8108595Z           "evidence": [
2026-06-04T03:42:56.8110301Z             {
2026-06-04T03:42:56.8111753Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T03:42:56.8113457Z               "line": 142
2026-06-04T03:42:56.8115009Z             },
2026-06-04T03:42:56.8116132Z             {
2026-06-04T03:42:56.8117507Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8119788Z               "line": 331
2026-06-04T03:42:56.8121106Z             },
2026-06-04T03:42:56.8122214Z             {
2026-06-04T03:42:56.8123552Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8125327Z               "line": 345
2026-06-04T03:42:56.8126625Z             },
2026-06-04T03:42:56.8127754Z             {
2026-06-04T03:42:56.8129134Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8130919Z               "line": 364
2026-06-04T03:42:56.8132160Z             },
2026-06-04T03:42:56.8133284Z             {
2026-06-04T03:42:56.8134701Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T03:42:56.8136433Z               "line": 106
2026-06-04T03:42:56.8137724Z             },
2026-06-04T03:42:56.8138881Z             {
2026-06-04T03:42:56.8140307Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T03:42:56.8141994Z               "line": 148
2026-06-04T03:42:56.8143216Z             },
2026-06-04T03:42:56.8144313Z             {
2026-06-04T03:42:56.8145620Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T03:42:56.8147294Z               "line": 445
2026-06-04T03:42:56.8148539Z             }
2026-06-04T03:42:56.8150103Z           ]
2026-06-04T03:42:56.8151294Z         }
2026-06-04T03:42:56.8152401Z       }
2026-06-04T03:42:56.8153441Z     },
2026-06-04T03:42:56.8154475Z     {
2026-06-04T03:42:56.8155574Z       "id": "REQ-NET-2",
2026-06-04T03:42:56.8157459Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T03:42:56.8159684Z       "requiredStages": [
2026-06-04T03:42:56.8161020Z         "impl"
2026-06-04T03:42:56.8162142Z       ],
2026-06-04T03:42:56.8163193Z       "stages": {
2026-06-04T03:42:56.8164334Z         "doc": {
2026-06-04T03:42:56.8165504Z           "complete": false,
2026-06-04T03:42:56.8166884Z           "evidence": []
2026-06-04T03:42:56.8168198Z         },
2026-06-04T03:42:56.8169373Z         "impl": {
2026-06-04T03:42:56.8170609Z           "complete": true,
2026-06-04T03:42:56.8172126Z           "evidence": [
2026-06-04T03:42:56.8173368Z             {
2026-06-04T03:42:56.8174716Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.8176418Z               "line": 40
2026-06-04T03:42:56.8177645Z             },
2026-06-04T03:42:56.8178791Z             {
2026-06-04T03:42:56.8180251Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8181960Z               "line": 39
2026-06-04T03:42:56.8183192Z             },
2026-06-04T03:42:56.8184324Z             {
2026-06-04T03:42:56.8185724Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8187511Z               "line": 49
2026-06-04T03:42:56.8188791Z             },
2026-06-04T03:42:56.8190324Z             {
2026-06-04T03:42:56.8191689Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8193430Z               "line": 122
2026-06-04T03:42:56.8194682Z             },
2026-06-04T03:42:56.8195795Z             {
2026-06-04T03:42:56.8197180Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8198926Z               "line": 138
2026-06-04T03:42:56.8200329Z             },
2026-06-04T03:42:56.8201451Z             {
2026-06-04T03:42:56.8202830Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T03:42:56.8204582Z               "line": 153
2026-06-04T03:42:56.8205835Z             }
2026-06-04T03:42:56.8206935Z           ]
2026-06-04T03:42:56.8208024Z         },
2026-06-04T03:42:56.8209097Z         "int": {
2026-06-04T03:42:56.8210374Z           "complete": false,
2026-06-04T03:42:56.8212198Z           "evidence": []
2026-06-04T03:42:56.8220289Z         },
2026-06-04T03:42:56.8221420Z         "unit": {
2026-06-04T03:42:56.8222591Z           "complete": true,
2026-06-04T03:42:56.8223914Z           "evidence": [
2026-06-04T03:42:56.8225570Z             {
2026-06-04T03:42:56.8226891Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.8228599Z               "line": 229
2026-06-04T03:42:56.8230265Z             }
2026-06-04T03:42:56.8231347Z           ]
2026-06-04T03:42:56.8232412Z         }
2026-06-04T03:42:56.8233435Z       }
2026-06-04T03:42:56.8234445Z     },
2026-06-04T03:42:56.8235478Z     {
2026-06-04T03:42:56.8236531Z       "id": "REQ-NET-3",
2026-06-04T03:42:56.8238285Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T03:42:56.8240353Z       "requiredStages": [],
2026-06-04T03:42:56.8241720Z       "stages": {
2026-06-04T03:42:56.8242848Z         "doc": {
2026-06-04T03:42:56.8244056Z           "complete": false,
2026-06-04T03:42:56.8245462Z           "evidence": []
2026-06-04T03:42:56.8246787Z         },
2026-06-04T03:42:56.8247992Z         "impl": {
2026-06-04T03:42:56.8249308Z           "complete": false,
2026-06-04T03:42:56.8250705Z           "evidence": []
2026-06-04T03:42:56.8252050Z         },
2026-06-04T03:42:56.8253181Z         "int": {
2026-06-04T03:42:56.8254397Z           "complete": false,
2026-06-04T03:42:56.8255799Z           "evidence": []
2026-06-04T03:42:56.8257085Z         },
2026-06-04T03:42:56.8258191Z         "unit": {
2026-06-04T03:42:56.8259470Z           "complete": false,
2026-06-04T03:42:56.8260865Z           "evidence": []
2026-06-04T03:42:56.8262098Z         }
2026-06-04T03:42:56.8263210Z       }
2026-06-04T03:42:56.8264244Z     },
2026-06-04T03:42:56.8265301Z     {
2026-06-04T03:42:56.8266442Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T03:42:56.8268874Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T03:42:56.8271920Z       "requiredStages": [
2026-06-04T03:42:56.8273236Z         "impl",
2026-06-04T03:42:56.8274370Z         "unit"
2026-06-04T03:42:56.8275467Z       ],
2026-06-04T03:42:56.8276528Z       "stages": {
2026-06-04T03:42:56.8277654Z         "doc": {
2026-06-04T03:42:56.8278856Z           "complete": false,
2026-06-04T03:42:56.8280295Z           "evidence": []
2026-06-04T03:42:56.8281556Z         },
2026-06-04T03:42:56.8282615Z         "impl": {
2026-06-04T03:42:56.8283813Z           "complete": true,
2026-06-04T03:42:56.8285177Z           "evidence": [
2026-06-04T03:42:56.8286420Z             {
2026-06-04T03:42:56.8287793Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8289589Z               "line": 60
2026-06-04T03:42:56.8290834Z             },
2026-06-04T03:42:56.8291937Z             {
2026-06-04T03:42:56.8293268Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8294941Z               "line": 68
2026-06-04T03:42:56.8296197Z             },
2026-06-04T03:42:56.8297441Z             {
2026-06-04T03:42:56.8298871Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8300675Z               "line": 86
2026-06-04T03:42:56.8301921Z             },
2026-06-04T03:42:56.8303061Z             {
2026-06-04T03:42:56.8304386Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8306078Z               "line": 120
2026-06-04T03:42:56.8307303Z             },
2026-06-04T03:42:56.8308397Z             {
2026-06-04T03:42:56.8310187Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8311934Z               "line": 127
2026-06-04T03:42:56.8313223Z             },
2026-06-04T03:42:56.8314377Z             {
2026-06-04T03:42:56.8315799Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8317539Z               "line": 143
2026-06-04T03:42:56.8318791Z             },
2026-06-04T03:42:56.8319999Z             {
2026-06-04T03:42:56.8321377Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T03:42:56.8323503Z               "line": 16
2026-06-04T03:42:56.8324855Z             }
2026-06-04T03:42:56.8325962Z           ]
2026-06-04T03:42:56.8327072Z         },
2026-06-04T03:42:56.8328197Z         "int": {
2026-06-04T03:42:56.8329775Z           "complete": false,
2026-06-04T03:42:56.8337723Z           "evidence": []
2026-06-04T03:42:56.8339028Z         },
2026-06-04T03:42:56.8340210Z         "unit": {
2026-06-04T03:42:56.8341469Z           "complete": true,
2026-06-04T03:42:56.8342751Z           "evidence": [
2026-06-04T03:42:56.8343953Z             {
2026-06-04T03:42:56.8345268Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8346940Z               "line": 199
2026-06-04T03:42:56.8348172Z             },
2026-06-04T03:42:56.8349532Z             {
2026-06-04T03:42:56.8351060Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8352938Z               "line": 218
2026-06-04T03:42:56.8354212Z             },
2026-06-04T03:42:56.8355351Z             {
2026-06-04T03:42:56.8356680Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8358363Z               "line": 232
2026-06-04T03:42:56.8359973Z             },
2026-06-04T03:42:56.8361075Z             {
2026-06-04T03:42:56.8362436Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T03:42:56.8364138Z               "line": 248
2026-06-04T03:42:56.8365376Z             },
2026-06-04T03:42:56.8366455Z             {
2026-06-04T03:42:56.8367717Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T03:42:56.8369541Z               "line": 107
2026-06-04T03:42:56.8370938Z             },
2026-06-04T03:42:56.8372027Z             {
2026-06-04T03:42:56.8373289Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T03:42:56.8374920Z               "line": 123
2026-06-04T03:42:56.8376133Z             },
2026-06-04T03:42:56.8377194Z             {
2026-06-04T03:42:56.8378445Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T03:42:56.8380438Z               "line": 135
2026-06-04T03:42:56.8381687Z             }
2026-06-04T03:42:56.8382749Z           ]
2026-06-04T03:42:56.8383789Z         }
2026-06-04T03:42:56.8384830Z       }
2026-06-04T03:42:56.8385905Z     },
2026-06-04T03:42:56.8386932Z     {
2026-06-04T03:42:56.8387981Z       "id": "REQ-NOTIF-1",
2026-06-04T03:42:56.8391546Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T03:42:56.8395246Z       "requiredStages": [],
2026-06-04T03:42:56.8396581Z       "stages": {
2026-06-04T03:42:56.8397742Z         "doc": {
2026-06-04T03:42:56.8398904Z           "complete": false,
2026-06-04T03:42:56.8400506Z           "evidence": []
2026-06-04T03:42:56.8401758Z         },
2026-06-04T03:42:56.8402859Z         "impl": {
2026-06-04T03:42:56.8404182Z           "complete": false,
2026-06-04T03:42:56.8405696Z           "evidence": []
2026-06-04T03:42:56.8407039Z         },
2026-06-04T03:42:56.8408211Z         "int": {
2026-06-04T03:42:56.8409675Z           "complete": false,
2026-06-04T03:42:56.8411091Z           "evidence": []
2026-06-04T03:42:56.8412449Z         },
2026-06-04T03:42:56.8413574Z         "unit": {
2026-06-04T03:42:56.8414817Z           "complete": false,
2026-06-04T03:42:56.8416186Z           "evidence": []
2026-06-04T03:42:56.8417419Z         }
2026-06-04T03:42:56.8418475Z       }
2026-06-04T03:42:56.8419886Z     },
2026-06-04T03:42:56.8420931Z     {
2026-06-04T03:42:56.8422139Z       "id": "REQ-NOTIF-2",
2026-06-04T03:42:56.8424675Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T03:42:56.8427550Z       "requiredStages": [],
2026-06-04T03:42:56.8428908Z       "stages": {
2026-06-04T03:42:56.8430472Z         "doc": {
2026-06-04T03:42:56.8431664Z           "complete": false,
2026-06-04T03:42:56.8433061Z           "evidence": []
2026-06-04T03:42:56.8434308Z         },
2026-06-04T03:42:56.8435418Z         "impl": {
2026-06-04T03:42:56.8437152Z           "complete": false,
2026-06-04T03:42:56.8438599Z           "evidence": []
2026-06-04T03:42:56.8439983Z         },
2026-06-04T03:42:56.8441079Z         "int": {
2026-06-04T03:42:56.8442278Z           "complete": false,
2026-06-04T03:42:56.8443900Z           "evidence": []
2026-06-04T03:42:56.8445140Z         },
2026-06-04T03:42:56.8446205Z         "unit": {
2026-06-04T03:42:56.8447397Z           "complete": false,
2026-06-04T03:42:56.8448737Z           "evidence": []
2026-06-04T03:42:56.8450065Z         }
2026-06-04T03:42:56.8457449Z       }
2026-06-04T03:42:56.8458708Z     },
2026-06-04T03:42:56.8459832Z     {
2026-06-04T03:42:56.8460924Z       "id": "REQ-PAIR-1",
2026-06-04T03:42:56.8462390Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T03:42:56.8464032Z       "requiredStages": [
2026-06-04T03:42:56.8465311Z         "impl",
2026-06-04T03:42:56.8465795Z         "unit"
2026-06-04T03:42:56.8466277Z       ],
2026-06-04T03:42:56.8466756Z       "stages": {
2026-06-04T03:42:56.8467287Z         "doc": {
2026-06-04T03:42:56.8467837Z           "complete": false,
2026-06-04T03:42:56.8468361Z           "evidence": []
2026-06-04T03:42:56.8468848Z         },
2026-06-04T03:42:56.8469600Z         "impl": {
2026-06-04T03:42:56.8470379Z           "complete": true,
2026-06-04T03:42:56.8470883Z           "evidence": [
2026-06-04T03:42:56.8471364Z             {
2026-06-04T03:42:56.8472157Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8472664Z               "line": 27
2026-06-04T03:42:56.8473133Z             },
2026-06-04T03:42:56.8473599Z             {
2026-06-04T03:42:56.8474371Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8474874Z               "line": 88
2026-06-04T03:42:56.8475346Z             },
2026-06-04T03:42:56.8475814Z             {
2026-06-04T03:42:56.8476585Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8477102Z               "line": 110
2026-06-04T03:42:56.8477587Z             },
2026-06-04T03:42:56.8478083Z             {
2026-06-04T03:42:56.8478873Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8479498Z               "line": 153
2026-06-04T03:42:56.8480034Z             },
2026-06-04T03:42:56.8480544Z             {
2026-06-04T03:42:56.8481354Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8481878Z               "line": 182
2026-06-04T03:42:56.8482362Z             },
2026-06-04T03:42:56.8482831Z             {
2026-06-04T03:42:56.8483623Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8484134Z               "line": 29
2026-06-04T03:42:56.8484624Z             },
2026-06-04T03:42:56.8485092Z             {
2026-06-04T03:42:56.8485950Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T03:42:56.8486485Z               "line": 31
2026-06-04T03:42:56.8486961Z             },
2026-06-04T03:42:56.8487439Z             {
2026-06-04T03:42:56.8488225Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8488737Z               "line": 40
2026-06-04T03:42:56.8489292Z             },
2026-06-04T03:42:56.8489777Z             {
2026-06-04T03:42:56.8490738Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8491317Z               "line": 131
2026-06-04T03:42:56.8491897Z             },
2026-06-04T03:42:56.8492493Z             {
2026-06-04T03:42:56.8493429Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8494048Z               "line": 306
2026-06-04T03:42:56.8494549Z             }
2026-06-04T03:42:56.8495045Z           ]
2026-06-04T03:42:56.8495524Z         },
2026-06-04T03:42:56.8496024Z         "int": {
2026-06-04T03:42:56.8496590Z           "complete": false,
2026-06-04T03:42:56.8497119Z           "evidence": []
2026-06-04T03:42:56.8497599Z         },
2026-06-04T03:42:56.8498087Z         "unit": {
2026-06-04T03:42:56.8499123Z           "complete": true,
2026-06-04T03:42:56.8499938Z           "evidence": [
2026-06-04T03:42:56.8500460Z             {
2026-06-04T03:42:56.8501300Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8501828Z               "line": 236
2026-06-04T03:42:56.8502622Z             },
2026-06-04T03:42:56.8503114Z             {
2026-06-04T03:42:56.8503915Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T03:42:56.8504427Z               "line": 349
2026-06-04T03:42:56.8504922Z             },
2026-06-04T03:42:56.8505414Z             {
2026-06-04T03:42:56.8506187Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8506708Z               "line": 194
2026-06-04T03:42:56.8507185Z             },
2026-06-04T03:42:56.8507677Z             {
2026-06-04T03:42:56.8508440Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8508943Z               "line": 216
2026-06-04T03:42:56.8509661Z             },
2026-06-04T03:42:56.8510340Z             {
2026-06-04T03:42:56.8511113Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8511619Z               "line": 230
2026-06-04T03:42:56.8512090Z             },
2026-06-04T03:42:56.8512561Z             {
2026-06-04T03:42:56.8513313Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8513821Z               "line": 242
2026-06-04T03:42:56.8514304Z             },
2026-06-04T03:42:56.8514786Z             {
2026-06-04T03:42:56.8515546Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8516052Z               "line": 256
2026-06-04T03:42:56.8516516Z             },
2026-06-04T03:42:56.8516999Z             {
2026-06-04T03:42:56.8517782Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8518289Z               "line": 270
2026-06-04T03:42:56.8518764Z             },
2026-06-04T03:42:56.8519287Z             {
2026-06-04T03:42:56.8520383Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8520925Z               "line": 277
2026-06-04T03:42:56.8521550Z             },
2026-06-04T03:42:56.8522088Z             {
2026-06-04T03:42:56.8522941Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T03:42:56.8523596Z               "line": 295
2026-06-04T03:42:56.8524140Z             },
2026-06-04T03:42:56.8524648Z             {
2026-06-04T03:42:56.8525445Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8525990Z               "line": 696
2026-06-04T03:42:56.8526487Z             },
2026-06-04T03:42:56.8526953Z             {
2026-06-04T03:42:56.8527772Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8528366Z               "line": 757
2026-06-04T03:42:56.8528885Z             },
2026-06-04T03:42:56.8529471Z             {
2026-06-04T03:42:56.8530378Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8530948Z               "line": 814
2026-06-04T03:42:56.8531435Z             },
2026-06-04T03:42:56.8532030Z             {
2026-06-04T03:42:56.8532812Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8533353Z               "line": 868
2026-06-04T03:42:56.8533868Z             },
2026-06-04T03:42:56.8534350Z             {
2026-06-04T03:42:56.8535145Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8535663Z               "line": 920
2026-06-04T03:42:56.8536150Z             },
2026-06-04T03:42:56.8536617Z             {
2026-06-04T03:42:56.8537383Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8537904Z               "line": 1084
2026-06-04T03:42:56.8538379Z             }
2026-06-04T03:42:56.8538858Z           ]
2026-06-04T03:42:56.8539408Z         }
2026-06-04T03:42:56.8540092Z       }
2026-06-04T03:42:56.8540672Z     },
2026-06-04T03:42:56.8541182Z     {
2026-06-04T03:42:56.8541735Z       "id": "REQ-PAIR-2",
2026-06-04T03:42:56.8542951Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T03:42:56.8543546Z       "requiredStages": [
2026-06-04T03:42:56.8544049Z         "impl",
2026-06-04T03:42:56.8544581Z         "unit"
2026-06-04T03:42:56.8545320Z       ],
2026-06-04T03:42:56.8545902Z       "stages": {
2026-06-04T03:42:56.8546429Z         "doc": {
2026-06-04T03:42:56.8546961Z           "complete": false,
2026-06-04T03:42:56.8547495Z           "evidence": []
2026-06-04T03:42:56.8547996Z         },
2026-06-04T03:42:56.8548498Z         "impl": {
2026-06-04T03:42:56.8549038Z           "complete": true,
2026-06-04T03:42:56.8549636Z           "evidence": [
2026-06-04T03:42:56.8550131Z             {
2026-06-04T03:42:56.8550808Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8551315Z               "line": 42
2026-06-04T03:42:56.8551809Z             },
2026-06-04T03:42:56.8552294Z             {
2026-06-04T03:42:56.8552981Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8553529Z               "line": 151
2026-06-04T03:42:56.8560289Z             },
2026-06-04T03:42:56.8561031Z             {
2026-06-04T03:42:56.8561716Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8562397Z               "line": 171
2026-06-04T03:42:56.8562885Z             },
2026-06-04T03:42:56.8563367Z             {
2026-06-04T03:42:56.8564066Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8564588Z               "line": 209
2026-06-04T03:42:56.8565060Z             },
2026-06-04T03:42:56.8565533Z             {
2026-06-04T03:42:56.8566196Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8566700Z               "line": 232
2026-06-04T03:42:56.8567167Z             }
2026-06-04T03:42:56.8567645Z           ]
2026-06-04T03:42:56.8568118Z         },
2026-06-04T03:42:56.8568586Z         "int": {
2026-06-04T03:42:56.8569113Z           "complete": false,
2026-06-04T03:42:56.8569859Z           "evidence": []
2026-06-04T03:42:56.8570332Z         },
2026-06-04T03:42:56.8570794Z         "unit": {
2026-06-04T03:42:56.8571300Z           "complete": true,
2026-06-04T03:42:56.8571792Z           "evidence": [
2026-06-04T03:42:56.8572246Z             {
2026-06-04T03:42:56.8572905Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8573391Z               "line": 253
2026-06-04T03:42:56.8573856Z             },
2026-06-04T03:42:56.8574304Z             {
2026-06-04T03:42:56.8574948Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8575441Z               "line": 272
2026-06-04T03:42:56.8575895Z             },
2026-06-04T03:42:56.8576349Z             {
2026-06-04T03:42:56.8576989Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8577477Z               "line": 284
2026-06-04T03:42:56.8577937Z             },
2026-06-04T03:42:56.8578389Z             {
2026-06-04T03:42:56.8579034Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8579752Z               "line": 303
2026-06-04T03:42:56.8580243Z             },
2026-06-04T03:42:56.8580707Z             {
2026-06-04T03:42:56.8581382Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8581896Z               "line": 319
2026-06-04T03:42:56.8582384Z             },
2026-06-04T03:42:56.8582860Z             {
2026-06-04T03:42:56.8583521Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8584028Z               "line": 331
2026-06-04T03:42:56.8584499Z             },
2026-06-04T03:42:56.8584971Z             {
2026-06-04T03:42:56.8585645Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8586143Z               "line": 343
2026-06-04T03:42:56.8586624Z             },
2026-06-04T03:42:56.8587089Z             {
2026-06-04T03:42:56.8587760Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8588254Z               "line": 356
2026-06-04T03:42:56.8588734Z             },
2026-06-04T03:42:56.8589250Z             {
2026-06-04T03:42:56.8590426Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T03:42:56.8590952Z               "line": 370
2026-06-04T03:42:56.8591406Z             }
2026-06-04T03:42:56.8591869Z           ]
2026-06-04T03:42:56.8592315Z         }
2026-06-04T03:42:56.8592937Z       }
2026-06-04T03:42:56.8593389Z     },
2026-06-04T03:42:56.8593836Z     {
2026-06-04T03:42:56.8594342Z       "id": "REQ-PAIR-3",
2026-06-04T03:42:56.8595195Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T03:42:56.8595714Z       "requiredStages": [
2026-06-04T03:42:56.8596172Z         "impl",
2026-06-04T03:42:56.8596631Z         "unit"
2026-06-04T03:42:56.8597086Z       ],
2026-06-04T03:42:56.8597559Z       "stages": {
2026-06-04T03:42:56.8598029Z         "doc": {
2026-06-04T03:42:56.8598534Z           "complete": false,
2026-06-04T03:42:56.8599039Z           "evidence": []
2026-06-04T03:42:56.8599735Z         },
2026-06-04T03:42:56.8600393Z         "impl": {
2026-06-04T03:42:56.8600903Z           "complete": true,
2026-06-04T03:42:56.8601396Z           "evidence": [
2026-06-04T03:42:56.8601856Z             {
2026-06-04T03:42:56.8602439Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8602938Z               "line": 464
2026-06-04T03:42:56.8603403Z             },
2026-06-04T03:42:56.8603864Z             {
2026-06-04T03:42:56.8604449Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8604932Z               "line": 500
2026-06-04T03:42:56.8605397Z             },
2026-06-04T03:42:56.8605841Z             {
2026-06-04T03:42:56.8606428Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8606912Z               "line": 560
2026-06-04T03:42:56.8607373Z             }
2026-06-04T03:42:56.8607834Z           ]
2026-06-04T03:42:56.8608283Z         },
2026-06-04T03:42:56.8608744Z         "int": {
2026-06-04T03:42:56.8609280Z           "complete": false,
2026-06-04T03:42:56.8609782Z           "evidence": []
2026-06-04T03:42:56.8610233Z         },
2026-06-04T03:42:56.8610698Z         "unit": {
2026-06-04T03:42:56.8611224Z           "complete": true,
2026-06-04T03:42:56.8611713Z           "evidence": [
2026-06-04T03:42:56.8612173Z             {
2026-06-04T03:42:56.8612752Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8613255Z               "line": 696
2026-06-04T03:42:56.8613709Z             },
2026-06-04T03:42:56.8614166Z             {
2026-06-04T03:42:56.8614754Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8615235Z               "line": 713
2026-06-04T03:42:56.8615698Z             },
2026-06-04T03:42:56.8616150Z             {
2026-06-04T03:42:56.8616736Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8617218Z               "line": 727
2026-06-04T03:42:56.8617685Z             },
2026-06-04T03:42:56.8618138Z             {
2026-06-04T03:42:56.8618709Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8619248Z               "line": 743
2026-06-04T03:42:56.8619721Z             },
2026-06-04T03:42:56.8620207Z             {
2026-06-04T03:42:56.8620790Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8621282Z               "line": 764
2026-06-04T03:42:56.8621744Z             },
2026-06-04T03:42:56.8622194Z             {
2026-06-04T03:42:56.8622797Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8623278Z               "line": 780
2026-06-04T03:42:56.8623743Z             },
2026-06-04T03:42:56.8624196Z             {
2026-06-04T03:42:56.8624784Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8625278Z               "line": 793
2026-06-04T03:42:56.8625730Z             },
2026-06-04T03:42:56.8626196Z             {
2026-06-04T03:42:56.8626774Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8627273Z               "line": 802
2026-06-04T03:42:56.8627726Z             }
2026-06-04T03:42:56.8628186Z           ]
2026-06-04T03:42:56.8628640Z         }
2026-06-04T03:42:56.8629087Z       }
2026-06-04T03:42:56.8629591Z     },
2026-06-04T03:42:56.8630029Z     {
2026-06-04T03:42:56.8630719Z       "id": "REQ-PAIR-4",
2026-06-04T03:42:56.8631366Z       "title": "Subnet naming on first pairing",
2026-06-04T03:42:56.8631890Z       "requiredStages": [
2026-06-04T03:42:56.8632363Z         "impl",
2026-06-04T03:42:56.8632959Z         "unit"
2026-06-04T03:42:56.8633417Z       ],
2026-06-04T03:42:56.8633883Z       "stages": {
2026-06-04T03:42:56.8634346Z         "doc": {
2026-06-04T03:42:56.8634849Z           "complete": false,
2026-06-04T03:42:56.8635344Z           "evidence": []
2026-06-04T03:42:56.8635804Z         },
2026-06-04T03:42:56.8636264Z         "impl": {
2026-06-04T03:42:56.8636776Z           "complete": true,
2026-06-04T03:42:56.8637253Z           "evidence": [
2026-06-04T03:42:56.8637707Z             {
2026-06-04T03:42:56.8638360Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T03:42:56.8638853Z               "line": 154
2026-06-04T03:42:56.8639353Z             }
2026-06-04T03:42:56.8639805Z           ]
2026-06-04T03:42:56.8640263Z         },
2026-06-04T03:42:56.8640730Z         "int": {
2026-06-04T03:42:56.8641241Z           "complete": false,
2026-06-04T03:42:56.8641724Z           "evidence": []
2026-06-04T03:42:56.8642187Z         },
2026-06-04T03:42:56.8642658Z         "unit": {
2026-06-04T03:42:56.8643172Z           "complete": true,
2026-06-04T03:42:56.8643664Z           "evidence": [
2026-06-04T03:42:56.8644120Z             {
2026-06-04T03:42:56.8650184Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8650749Z               "line": 972
2026-06-04T03:42:56.8651212Z             }
2026-06-04T03:42:56.8651675Z           ]
2026-06-04T03:42:56.8652126Z         }
2026-06-04T03:42:56.8652584Z       }
2026-06-04T03:42:56.8653029Z     },
2026-06-04T03:42:56.8653484Z     {
2026-06-04T03:42:56.8653999Z       "id": "REQ-PAIR-5",
2026-06-04T03:42:56.8655924Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T03:42:56.8656483Z       "requiredStages": [
2026-06-04T03:42:56.8656943Z         "impl",
2026-06-04T03:42:56.8657409Z         "unit"
2026-06-04T03:42:56.8657853Z       ],
2026-06-04T03:42:56.8658325Z       "stages": {
2026-06-04T03:42:56.8658786Z         "doc": {
2026-06-04T03:42:56.8659371Z           "complete": false,
2026-06-04T03:42:56.8659873Z           "evidence": []
2026-06-04T03:42:56.8660317Z         },
2026-06-04T03:42:56.8660790Z         "impl": {
2026-06-04T03:42:56.8661297Z           "complete": true,
2026-06-04T03:42:56.8661791Z           "evidence": [
2026-06-04T03:42:56.8662244Z             {
2026-06-04T03:42:56.8663082Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8663567Z               "line": 33
2026-06-04T03:42:56.8664019Z             },
2026-06-04T03:42:56.8664475Z             {
2026-06-04T03:42:56.8665291Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8665779Z               "line": 45
2026-06-04T03:42:56.8666228Z             },
2026-06-04T03:42:56.8666698Z             {
2026-06-04T03:42:56.8667521Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8668000Z               "line": 59
2026-06-04T03:42:56.8668459Z             },
2026-06-04T03:42:56.8668922Z             {
2026-06-04T03:42:56.8669700Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8670184Z               "line": 306
2026-06-04T03:42:56.8670648Z             }
2026-06-04T03:42:56.8671106Z           ]
2026-06-04T03:42:56.8671554Z         },
2026-06-04T03:42:56.8672020Z         "int": {
2026-06-04T03:42:56.8672526Z           "complete": false,
2026-06-04T03:42:56.8673030Z           "evidence": []
2026-06-04T03:42:56.8673486Z         },
2026-06-04T03:42:56.8673959Z         "unit": {
2026-06-04T03:42:56.8674466Z           "complete": true,
2026-06-04T03:42:56.8674948Z           "evidence": [
2026-06-04T03:42:56.8675405Z             {
2026-06-04T03:42:56.8676472Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8676995Z               "line": 72
2026-06-04T03:42:56.8677449Z             },
2026-06-04T03:42:56.8677906Z             {
2026-06-04T03:42:56.8678734Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8679467Z               "line": 82
2026-06-04T03:42:56.8679939Z             },
2026-06-04T03:42:56.8680390Z             {
2026-06-04T03:42:56.8681222Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8681713Z               "line": 92
2026-06-04T03:42:56.8682169Z             },
2026-06-04T03:42:56.8682627Z             {
2026-06-04T03:42:56.8683445Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8683941Z               "line": 102
2026-06-04T03:42:56.8684395Z             },
2026-06-04T03:42:56.8684861Z             {
2026-06-04T03:42:56.8685692Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T03:42:56.8686192Z               "line": 117
2026-06-04T03:42:56.8686655Z             },
2026-06-04T03:42:56.8687102Z             {
2026-06-04T03:42:56.8687844Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8688331Z               "line": 750
2026-06-04T03:42:56.8688802Z             },
2026-06-04T03:42:56.8689300Z             {
2026-06-04T03:42:56.8690030Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8690521Z               "line": 806
2026-06-04T03:42:56.8690969Z             },
2026-06-04T03:42:56.8691432Z             {
2026-06-04T03:42:56.8692164Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T03:42:56.8692671Z               "line": 1026
2026-06-04T03:42:56.8693134Z             }
2026-06-04T03:42:56.8693582Z           ]
2026-06-04T03:42:56.8694037Z         }
2026-06-04T03:42:56.8694484Z       }
2026-06-04T03:42:56.8694935Z     },
2026-06-04T03:42:56.8695376Z     {
2026-06-04T03:42:56.8695878Z       "id": "REQ-PAIR-6",
2026-06-04T03:42:56.8697521Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T03:42:56.8698039Z       "requiredStages": [
2026-06-04T03:42:56.8698506Z         "impl",
2026-06-04T03:42:56.8698973Z         "unit"
2026-06-04T03:42:56.8699482Z       ],
2026-06-04T03:42:56.8699954Z       "stages": {
2026-06-04T03:42:56.8700420Z         "doc": {
2026-06-04T03:42:56.8700930Z           "complete": false,
2026-06-04T03:42:56.8701419Z           "evidence": []
2026-06-04T03:42:56.8701874Z         },
2026-06-04T03:42:56.8702332Z         "impl": {
2026-06-04T03:42:56.8702849Z           "complete": true,
2026-06-04T03:42:56.8703327Z           "evidence": [
2026-06-04T03:42:56.8703790Z             {
2026-06-04T03:42:56.8704382Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8704868Z               "line": 500
2026-06-04T03:42:56.8705332Z             },
2026-06-04T03:42:56.8705788Z             {
2026-06-04T03:42:56.8706394Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8706878Z               "line": 560
2026-06-04T03:42:56.8707352Z             },
2026-06-04T03:42:56.8707804Z             {
2026-06-04T03:42:56.8708435Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T03:42:56.8708937Z               "line": 18
2026-06-04T03:42:56.8709428Z             },
2026-06-04T03:42:56.8709895Z             {
2026-06-04T03:42:56.8710513Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T03:42:56.8711003Z               "line": 49
2026-06-04T03:42:56.8711458Z             },
2026-06-04T03:42:56.8711902Z             {
2026-06-04T03:42:56.8712526Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T03:42:56.8713006Z               "line": 70
2026-06-04T03:42:56.8713478Z             }
2026-06-04T03:42:56.8713927Z           ]
2026-06-04T03:42:56.8714380Z         },
2026-06-04T03:42:56.8714845Z         "int": {
2026-06-04T03:42:56.8715347Z           "complete": false,
2026-06-04T03:42:56.8715841Z           "evidence": []
2026-06-04T03:42:56.8716451Z         },
2026-06-04T03:42:56.8716933Z         "unit": {
2026-06-04T03:42:56.8717440Z           "complete": true,
2026-06-04T03:42:56.8717925Z           "evidence": [
2026-06-04T03:42:56.8718382Z             {
2026-06-04T03:42:56.8719106Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8719639Z               "line": 815
2026-06-04T03:42:56.8720091Z             },
2026-06-04T03:42:56.8720552Z             {
2026-06-04T03:42:56.8721132Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.8721630Z               "line": 832
2026-06-04T03:42:56.8722097Z             },
2026-06-04T03:42:56.8722548Z             {
2026-06-04T03:42:56.8723180Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T03:42:56.8723663Z               "line": 132
2026-06-04T03:42:56.8724121Z             },
2026-06-04T03:42:56.8724574Z             {
2026-06-04T03:42:56.8725207Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T03:42:56.8725713Z               "line": 141
2026-06-04T03:42:56.8726163Z             }
2026-06-04T03:42:56.8726630Z           ]
2026-06-04T03:42:56.8727072Z         }
2026-06-04T03:42:56.8727528Z       }
2026-06-04T03:42:56.8727967Z     },
2026-06-04T03:42:56.8728439Z     {
2026-06-04T03:42:56.8728950Z       "id": "REQ-PAIR-7",
2026-06-04T03:42:56.8729926Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T03:42:56.8730454Z       "requiredStages": [],
2026-06-04T03:42:56.8730920Z       "stages": {
2026-06-04T03:42:56.8731382Z         "doc": {
2026-06-04T03:42:56.8731890Z           "complete": false,
2026-06-04T03:42:56.8732388Z           "evidence": []
2026-06-04T03:42:56.8732847Z         },
2026-06-04T03:42:56.8733314Z         "impl": {
2026-06-04T03:42:56.8733826Z           "complete": false,
2026-06-04T03:42:56.8734313Z           "evidence": []
2026-06-04T03:42:56.8734778Z         },
2026-06-04T03:42:56.8735235Z         "int": {
2026-06-04T03:42:56.8735755Z           "complete": false,
2026-06-04T03:42:56.8740752Z           "evidence": []
2026-06-04T03:42:56.8741274Z         },
2026-06-04T03:42:56.8741759Z         "unit": {
2026-06-04T03:42:56.8742264Z           "complete": false,
2026-06-04T03:42:56.8742752Z           "evidence": []
2026-06-04T03:42:56.8743220Z         }
2026-06-04T03:42:56.8743682Z       }
2026-06-04T03:42:56.8744135Z     },
2026-06-04T03:42:56.8744572Z     {
2026-06-04T03:42:56.8745076Z       "id": "REQ-REACH-1",
2026-06-04T03:42:56.8745928Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T03:42:56.8746443Z       "requiredStages": [
2026-06-04T03:42:56.8746906Z         "impl",
2026-06-04T03:42:56.8747365Z         "unit"
2026-06-04T03:42:56.8747820Z       ],
2026-06-04T03:42:56.8748279Z       "stages": {
2026-06-04T03:42:56.8748745Z         "doc": {
2026-06-04T03:42:56.8749301Z           "complete": false,
2026-06-04T03:42:56.8749806Z           "evidence": []
2026-06-04T03:42:56.8750261Z         },
2026-06-04T03:42:56.8750740Z         "impl": {
2026-06-04T03:42:56.8751263Z           "complete": true,
2026-06-04T03:42:56.8751742Z           "evidence": [
2026-06-04T03:42:56.8752204Z             {
2026-06-04T03:42:56.8752877Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T03:42:56.8753383Z               "line": 122
2026-06-04T03:42:56.8753832Z             },
2026-06-04T03:42:56.8754288Z             {
2026-06-04T03:42:56.8754938Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.8755410Z               "line": 76
2026-06-04T03:42:56.8755872Z             },
2026-06-04T03:42:56.8756321Z             {
2026-06-04T03:42:56.8756970Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.8757450Z               "line": 209
2026-06-04T03:42:56.8757906Z             },
2026-06-04T03:42:56.8758367Z             {
2026-06-04T03:42:56.8759001Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.8759532Z               "line": 383
2026-06-04T03:42:56.8759991Z             },
2026-06-04T03:42:56.8760679Z             {
2026-06-04T03:42:56.8761339Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.8761839Z               "line": 475
2026-06-04T03:42:56.8762297Z             },
2026-06-04T03:42:56.8762753Z             {
2026-06-04T03:42:56.8763547Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T03:42:56.8764023Z               "line": 39
2026-06-04T03:42:56.8764480Z             },
2026-06-04T03:42:56.8764934Z             {
2026-06-04T03:42:56.8765569Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.8766062Z               "line": 129
2026-06-04T03:42:56.8766507Z             },
2026-06-04T03:42:56.8766965Z             {
2026-06-04T03:42:56.8767593Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T03:42:56.8768081Z               "line": 82
2026-06-04T03:42:56.8768537Z             },
2026-06-04T03:42:56.8768984Z             {
2026-06-04T03:42:56.8769661Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T03:42:56.8770152Z               "line": 92
2026-06-04T03:42:56.8770607Z             },
2026-06-04T03:42:56.8771056Z             {
2026-06-04T03:42:56.8771730Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.8772235Z               "line": 118
2026-06-04T03:42:56.8772681Z             }
2026-06-04T03:42:56.8773135Z           ]
2026-06-04T03:42:56.8773583Z         },
2026-06-04T03:42:56.8774045Z         "int": {
2026-06-04T03:42:56.8774542Z           "complete": false,
2026-06-04T03:42:56.8775032Z           "evidence": []
2026-06-04T03:42:56.8775486Z         },
2026-06-04T03:42:56.8775944Z         "unit": {
2026-06-04T03:42:56.8776458Z           "complete": true,
2026-06-04T03:42:56.8776938Z           "evidence": [
2026-06-04T03:42:56.8777396Z             {
2026-06-04T03:42:56.8778039Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.8778530Z               "line": 573
2026-06-04T03:42:56.8778994Z             },
2026-06-04T03:42:56.8779480Z             {
2026-06-04T03:42:56.8780140Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T03:42:56.8780621Z               "line": 594
2026-06-04T03:42:56.8781078Z             },
2026-06-04T03:42:56.8781526Z             {
2026-06-04T03:42:56.8782228Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T03:42:56.8782714Z               "line": 318
2026-06-04T03:42:56.8783166Z             },
2026-06-04T03:42:56.8783615Z             {
2026-06-04T03:42:56.8784274Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T03:42:56.8784756Z               "line": 92
2026-06-04T03:42:56.8785203Z             },
2026-06-04T03:42:56.8785657Z             {
2026-06-04T03:42:56.8786329Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T03:42:56.8786813Z               "line": 174
2026-06-04T03:42:56.8787267Z             },
2026-06-04T03:42:56.8787716Z             {
2026-06-04T03:42:56.8788363Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T03:42:56.8788848Z               "line": 78
2026-06-04T03:42:56.8789344Z             },
2026-06-04T03:42:56.8789802Z             {
2026-06-04T03:42:56.8790451Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T03:42:56.8790940Z               "line": 109
2026-06-04T03:42:56.8791408Z             },
2026-06-04T03:42:56.8791870Z             {
2026-06-04T03:42:56.8792498Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.8792987Z               "line": 277
2026-06-04T03:42:56.8793442Z             },
2026-06-04T03:42:56.8793893Z             {
2026-06-04T03:42:56.8794525Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T03:42:56.8795004Z               "line": 112
2026-06-04T03:42:56.8795466Z             },
2026-06-04T03:42:56.8795915Z             {
2026-06-04T03:42:56.8796543Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T03:42:56.8797035Z               "line": 136
2026-06-04T03:42:56.8797485Z             },
2026-06-04T03:42:56.8797939Z             {
2026-06-04T03:42:56.8798758Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.8799305Z               "line": 305
2026-06-04T03:42:56.8799758Z             }
2026-06-04T03:42:56.8800214Z           ]
2026-06-04T03:42:56.8800671Z         }
2026-06-04T03:42:56.8801261Z       }
2026-06-04T03:42:56.8801705Z     },
2026-06-04T03:42:56.8802141Z     {
2026-06-04T03:42:56.8802644Z       "id": "REQ-REACH-2",
2026-06-04T03:42:56.8803520Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T03:42:56.8804039Z       "requiredStages": [],
2026-06-04T03:42:56.8804513Z       "stages": {
2026-06-04T03:42:56.8804968Z         "doc": {
2026-06-04T03:42:56.8805471Z           "complete": false,
2026-06-04T03:42:56.8805955Z           "evidence": []
2026-06-04T03:42:56.8806416Z         },
2026-06-04T03:42:56.8806875Z         "impl": {
2026-06-04T03:42:56.8807395Z           "complete": false,
2026-06-04T03:42:56.8807883Z           "evidence": []
2026-06-04T03:42:56.8808326Z         },
2026-06-04T03:42:56.8808801Z         "int": {
2026-06-04T03:42:56.8809343Z           "complete": false,
2026-06-04T03:42:56.8809840Z           "evidence": []
2026-06-04T03:42:56.8810287Z         },
2026-06-04T03:42:56.8810747Z         "unit": {
2026-06-04T03:42:56.8811271Z           "complete": false,
2026-06-04T03:42:56.8811754Z           "evidence": []
2026-06-04T03:42:56.8812208Z         }
2026-06-04T03:42:56.8812650Z       }
2026-06-04T03:42:56.8813095Z     },
2026-06-04T03:42:56.8813530Z     {
2026-06-04T03:42:56.8814097Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T03:42:56.8815182Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T03:42:56.8815688Z       "requiredStages": [
2026-06-04T03:42:56.8816153Z         "impl",
2026-06-04T03:42:56.8816610Z         "unit"
2026-06-04T03:42:56.8817063Z       ],
2026-06-04T03:42:56.8817525Z       "stages": {
2026-06-04T03:42:56.8817985Z         "doc": {
2026-06-04T03:42:56.8818492Z           "complete": false,
2026-06-04T03:42:56.8818982Z           "evidence": []
2026-06-04T03:42:56.8819479Z         },
2026-06-04T03:42:56.8819937Z         "impl": {
2026-06-04T03:42:56.8820442Z           "complete": true,
2026-06-04T03:42:56.8820917Z           "evidence": [
2026-06-04T03:42:56.8821391Z             {
2026-06-04T03:42:56.8822052Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8822530Z               "line": 18
2026-06-04T03:42:56.8822986Z             },
2026-06-04T03:42:56.8827615Z             {
2026-06-04T03:42:56.8828365Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8828844Z               "line": 35
2026-06-04T03:42:56.8829381Z             },
2026-06-04T03:42:56.8829836Z             {
2026-06-04T03:42:56.8830473Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8830959Z               "line": 65
2026-06-04T03:42:56.8831402Z             }
2026-06-04T03:42:56.8831856Z           ]
2026-06-04T03:42:56.8832303Z         },
2026-06-04T03:42:56.8832770Z         "int": {
2026-06-04T03:42:56.8833304Z           "complete": false,
2026-06-04T03:42:56.8833797Z           "evidence": []
2026-06-04T03:42:56.8834250Z         },
2026-06-04T03:42:56.8834705Z         "unit": {
2026-06-04T03:42:56.8835208Z           "complete": true,
2026-06-04T03:42:56.8835712Z           "evidence": [
2026-06-04T03:42:56.8836171Z             {
2026-06-04T03:42:56.8836834Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8837321Z               "line": 170
2026-06-04T03:42:56.8837781Z             },
2026-06-04T03:42:56.8838229Z             {
2026-06-04T03:42:56.8838885Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8839403Z               "line": 184
2026-06-04T03:42:56.8839866Z             },
2026-06-04T03:42:56.8840319Z             {
2026-06-04T03:42:56.8840964Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8841448Z               "line": 193
2026-06-04T03:42:56.8841895Z             }
2026-06-04T03:42:56.8842347Z           ]
2026-06-04T03:42:56.8843041Z         }
2026-06-04T03:42:56.8843521Z       }
2026-06-04T03:42:56.8843963Z     },
2026-06-04T03:42:56.8844400Z     {
2026-06-04T03:42:56.8844944Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T03:42:56.8845945Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T03:42:56.8846461Z       "requiredStages": [
2026-06-04T03:42:56.8846920Z         "impl",
2026-06-04T03:42:56.8847392Z         "unit"
2026-06-04T03:42:56.8847846Z       ],
2026-06-04T03:42:56.8848321Z       "stages": {
2026-06-04T03:42:56.8848784Z         "doc": {
2026-06-04T03:42:56.8849329Z           "complete": false,
2026-06-04T03:42:56.8849826Z           "evidence": []
2026-06-04T03:42:56.8850270Z         },
2026-06-04T03:42:56.8850736Z         "impl": {
2026-06-04T03:42:56.8851237Z           "complete": true,
2026-06-04T03:42:56.8851715Z           "evidence": [
2026-06-04T03:42:56.8852171Z             {
2026-06-04T03:42:56.8852840Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.8853346Z               "line": 203
2026-06-04T03:42:56.8853799Z             }
2026-06-04T03:42:56.8854253Z           ]
2026-06-04T03:42:56.8854700Z         },
2026-06-04T03:42:56.8855150Z         "int": {
2026-06-04T03:42:56.8855672Z           "complete": false,
2026-06-04T03:42:56.8856156Z           "evidence": []
2026-06-04T03:42:56.8856613Z         },
2026-06-04T03:42:56.8857073Z         "unit": {
2026-06-04T03:42:56.8857576Z           "complete": true,
2026-06-04T03:42:56.8858057Z           "evidence": [
2026-06-04T03:42:56.8858504Z             {
2026-06-04T03:42:56.8859220Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.8859708Z               "line": 338
2026-06-04T03:42:56.8860162Z             }
2026-06-04T03:42:56.8860605Z           ]
2026-06-04T03:42:56.8861052Z         }
2026-06-04T03:42:56.8861501Z       }
2026-06-04T03:42:56.8861937Z     },
2026-06-04T03:42:56.8862389Z     {
2026-06-04T03:42:56.8862905Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T03:42:56.8864003Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T03:42:56.8864514Z       "requiredStages": [
2026-06-04T03:42:56.8864984Z         "impl",
2026-06-04T03:42:56.8865444Z         "unit",
2026-06-04T03:42:56.8865910Z         "int"
2026-06-04T03:42:56.8866366Z       ],
2026-06-04T03:42:56.8866823Z       "stages": {
2026-06-04T03:42:56.8867283Z         "doc": {
2026-06-04T03:42:56.8867789Z           "complete": false,
2026-06-04T03:42:56.8868283Z           "evidence": []
2026-06-04T03:42:56.8868740Z         },
2026-06-04T03:42:56.8869226Z         "impl": {
2026-06-04T03:42:56.8869729Z           "complete": true,
2026-06-04T03:42:56.8870209Z           "evidence": [
2026-06-04T03:42:56.8870659Z             {
2026-06-04T03:42:56.8871277Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.8871767Z               "line": 24
2026-06-04T03:42:56.8872229Z             },
2026-06-04T03:42:56.8872674Z             {
2026-06-04T03:42:56.8873342Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8873814Z               "line": 22
2026-06-04T03:42:56.8874272Z             }
2026-06-04T03:42:56.8874715Z           ]
2026-06-04T03:42:56.8875168Z         },
2026-06-04T03:42:56.8875638Z         "int": {
2026-06-04T03:42:56.8876137Z           "complete": true,
2026-06-04T03:42:56.8876624Z           "evidence": [
2026-06-04T03:42:56.8877069Z             {
2026-06-04T03:42:56.8877755Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.8878240Z               "line": 202
2026-06-04T03:42:56.8878698Z             }
2026-06-04T03:42:56.8879149Z           ]
2026-06-04T03:42:56.8879660Z         },
2026-06-04T03:42:56.8880171Z         "unit": {
2026-06-04T03:42:56.8880673Z           "complete": true,
2026-06-04T03:42:56.8881163Z           "evidence": [
2026-06-04T03:42:56.8881605Z             {
2026-06-04T03:42:56.8882233Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.8882718Z               "line": 163
2026-06-04T03:42:56.8883330Z             },
2026-06-04T03:42:56.8883814Z             {
2026-06-04T03:42:56.8884430Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.8884916Z               "line": 186
2026-06-04T03:42:56.8885500Z             },
2026-06-04T03:42:56.8885947Z             {
2026-06-04T03:42:56.8886571Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T03:42:56.8887051Z               "line": 195
2026-06-04T03:42:56.8887505Z             },
2026-06-04T03:42:56.8887951Z             {
2026-06-04T03:42:56.8888599Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8889074Z               "line": 195
2026-06-04T03:42:56.8889588Z             },
2026-06-04T03:42:56.8890040Z             {
2026-06-04T03:42:56.8890682Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8891170Z               "line": 209
2026-06-04T03:42:56.8891621Z             },
2026-06-04T03:42:56.8892077Z             {
2026-06-04T03:42:56.8892740Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8893233Z               "line": 228
2026-06-04T03:42:56.8893686Z             },
2026-06-04T03:42:56.8894131Z             {
2026-06-04T03:42:56.8894782Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8895275Z               "line": 248
2026-06-04T03:42:56.8895735Z             },
2026-06-04T03:42:56.8896189Z             {
2026-06-04T03:42:56.8896838Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8897330Z               "line": 264
2026-06-04T03:42:56.8897776Z             },
2026-06-04T03:42:56.8898236Z             {
2026-06-04T03:42:56.8898882Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T03:42:56.8899408Z               "line": 279
2026-06-04T03:42:56.8899866Z             }
2026-06-04T03:42:56.8900309Z           ]
2026-06-04T03:42:56.8900759Z         }
2026-06-04T03:42:56.8901205Z       }
2026-06-04T03:42:56.8901648Z     },
2026-06-04T03:42:56.8902092Z     {
2026-06-04T03:42:56.8902641Z       "id": "REQ-SEAM-INJECT",
2026-06-04T03:42:56.8903578Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T03:42:56.8904086Z       "requiredStages": [
2026-06-04T03:42:56.8904567Z         "impl",
2026-06-04T03:42:56.8905024Z         "unit"
2026-06-04T03:42:56.8905474Z       ],
2026-06-04T03:42:56.8905932Z       "stages": {
2026-06-04T03:42:56.8906392Z         "doc": {
2026-06-04T03:42:56.8906903Z           "complete": false,
2026-06-04T03:42:56.8907395Z           "evidence": []
2026-06-04T03:42:56.8907847Z         },
2026-06-04T03:42:56.8908306Z         "impl": {
2026-06-04T03:42:56.8908804Z           "complete": true,
2026-06-04T03:42:56.8909312Z           "evidence": [
2026-06-04T03:42:56.8913981Z             {
2026-06-04T03:42:56.8914742Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8915225Z               "line": 19
2026-06-04T03:42:56.8915683Z             },
2026-06-04T03:42:56.8916130Z             {
2026-06-04T03:42:56.8916817Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8917303Z               "line": 104
2026-06-04T03:42:56.8917765Z             }
2026-06-04T03:42:56.8918226Z           ]
2026-06-04T03:42:56.8918671Z         },
2026-06-04T03:42:56.8919152Z         "int": {
2026-06-04T03:42:56.8919768Z           "complete": false,
2026-06-04T03:42:56.8920269Z           "evidence": []
2026-06-04T03:42:56.8920720Z         },
2026-06-04T03:42:56.8921191Z         "unit": {
2026-06-04T03:42:56.8921704Z           "complete": true,
2026-06-04T03:42:56.8922187Z           "evidence": [
2026-06-04T03:42:56.8922645Z             {
2026-06-04T03:42:56.8923299Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8923792Z               "line": 222
2026-06-04T03:42:56.8924249Z             },
2026-06-04T03:42:56.8924710Z             {
2026-06-04T03:42:56.8925365Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T03:42:56.8925846Z               "line": 236
2026-06-04T03:42:56.8926521Z             }
2026-06-04T03:42:56.8926993Z           ]
2026-06-04T03:42:56.8927445Z         }
2026-06-04T03:42:56.8927889Z       }
2026-06-04T03:42:56.8928339Z     },
2026-06-04T03:42:56.8928786Z     {
2026-06-04T03:42:56.8929748Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T03:42:56.8930761Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T03:42:56.8931272Z       "requiredStages": [
2026-06-04T03:42:56.8931738Z         "impl",
2026-06-04T03:42:56.8932194Z         "unit"
2026-06-04T03:42:56.8932648Z       ],
2026-06-04T03:42:56.8933122Z       "stages": {
2026-06-04T03:42:56.8933579Z         "doc": {
2026-06-04T03:42:56.8934093Z           "complete": false,
2026-06-04T03:42:56.8934576Z           "evidence": []
2026-06-04T03:42:56.8935029Z         },
2026-06-04T03:42:56.8935491Z         "impl": {
2026-06-04T03:42:56.8936005Z           "complete": true,
2026-06-04T03:42:56.8936497Z           "evidence": [
2026-06-04T03:42:56.8936944Z             {
2026-06-04T03:42:56.8937611Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.8938090Z               "line": 18
2026-06-04T03:42:56.8938548Z             },
2026-06-04T03:42:56.8938993Z             {
2026-06-04T03:42:56.8940007Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.8940523Z               "line": 257
2026-06-04T03:42:56.8940979Z             }
2026-06-04T03:42:56.8941436Z           ]
2026-06-04T03:42:56.8941881Z         },
2026-06-04T03:42:56.8942337Z         "int": {
2026-06-04T03:42:56.8942841Z           "complete": false,
2026-06-04T03:42:56.8943333Z           "evidence": []
2026-06-04T03:42:56.8943788Z         },
2026-06-04T03:42:56.8944245Z         "unit": {
2026-06-04T03:42:56.8944748Z           "complete": true,
2026-06-04T03:42:56.8945221Z           "evidence": [
2026-06-04T03:42:56.8945682Z             {
2026-06-04T03:42:56.8946319Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.8946805Z               "line": 420
2026-06-04T03:42:56.8947272Z             },
2026-06-04T03:42:56.8947721Z             {
2026-06-04T03:42:56.8948362Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.8948841Z               "line": 430
2026-06-04T03:42:56.8949336Z             }
2026-06-04T03:42:56.8949799Z           ]
2026-06-04T03:42:56.8950254Z         }
2026-06-04T03:42:56.8950706Z       }
2026-06-04T03:42:56.8951149Z     },
2026-06-04T03:42:56.8951598Z     {
2026-06-04T03:42:56.8952118Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T03:42:56.8952928Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T03:42:56.8953434Z       "requiredStages": [
2026-06-04T03:42:56.8953903Z         "impl",
2026-06-04T03:42:56.8954369Z         "unit",
2026-06-04T03:42:56.8954829Z         "int"
2026-06-04T03:42:56.8955278Z       ],
2026-06-04T03:42:56.8955741Z       "stages": {
2026-06-04T03:42:56.8956199Z         "doc": {
2026-06-04T03:42:56.8956699Z           "complete": false,
2026-06-04T03:42:56.8957192Z           "evidence": []
2026-06-04T03:42:56.8957649Z         },
2026-06-04T03:42:56.8958120Z         "impl": {
2026-06-04T03:42:56.8958627Z           "complete": true,
2026-06-04T03:42:56.8959106Z           "evidence": [
2026-06-04T03:42:56.8959600Z             {
2026-06-04T03:42:56.8960297Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T03:42:56.8960784Z               "line": 19
2026-06-04T03:42:56.8961245Z             },
2026-06-04T03:42:56.8961695Z             {
2026-06-04T03:42:56.8962315Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T03:42:56.8962788Z               "line": 12
2026-06-04T03:42:56.8963243Z             },
2026-06-04T03:42:56.8963690Z             {
2026-06-04T03:42:56.8964334Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.8964828Z               "line": 164
2026-06-04T03:42:56.8965280Z             }
2026-06-04T03:42:56.8965735Z           ]
2026-06-04T03:42:56.8966178Z         },
2026-06-04T03:42:56.8966647Z         "int": {
2026-06-04T03:42:56.8967329Z           "complete": true,
2026-06-04T03:42:56.8967839Z           "evidence": [
2026-06-04T03:42:56.8968293Z             {
2026-06-04T03:42:56.8968963Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.8969493Z               "line": 201
2026-06-04T03:42:56.8970096Z             }
2026-06-04T03:42:56.8970548Z           ]
2026-06-04T03:42:56.8970994Z         },
2026-06-04T03:42:56.8971464Z         "unit": {
2026-06-04T03:42:56.8971974Z           "complete": true,
2026-06-04T03:42:56.8972455Z           "evidence": [
2026-06-04T03:42:56.8972913Z             {
2026-06-04T03:42:56.8973557Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T03:42:56.8974044Z               "line": 161
2026-06-04T03:42:56.8974499Z             },
2026-06-04T03:42:56.8974953Z             {
2026-06-04T03:42:56.8975600Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T03:42:56.8976088Z               "line": 168
2026-06-04T03:42:56.8976546Z             },
2026-06-04T03:42:56.8977007Z             {
2026-06-04T03:42:56.8977648Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T03:42:56.8978128Z               "line": 191
2026-06-04T03:42:56.8978591Z             },
2026-06-04T03:42:56.8979051Z             {
2026-06-04T03:42:56.8979738Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T03:42:56.8980225Z               "line": 105
2026-06-04T03:42:56.8980667Z             },
2026-06-04T03:42:56.8981120Z             {
2026-06-04T03:42:56.8981746Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T03:42:56.8982239Z               "line": 122
2026-06-04T03:42:56.8982698Z             },
2026-06-04T03:42:56.8983147Z             {
2026-06-04T03:42:56.8983780Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T03:42:56.8984262Z               "line": 136
2026-06-04T03:42:56.8984713Z             }
2026-06-04T03:42:56.8985159Z           ]
2026-06-04T03:42:56.8985609Z         }
2026-06-04T03:42:56.8986062Z       }
2026-06-04T03:42:56.8986498Z     },
2026-06-04T03:42:56.8986959Z     {
2026-06-04T03:42:56.8987481Z       "id": "REQ-SEAM-RESUME",
2026-06-04T03:42:56.8988552Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T03:42:56.8989059Z       "requiredStages": [
2026-06-04T03:42:56.8989586Z         "impl",
2026-06-04T03:42:56.8990057Z         "unit"
2026-06-04T03:42:56.8990506Z       ],
2026-06-04T03:42:56.8990981Z       "stages": {
2026-06-04T03:42:56.8991427Z         "doc": {
2026-06-04T03:42:56.8991933Z           "complete": false,
2026-06-04T03:42:56.8992421Z           "evidence": []
2026-06-04T03:42:56.8992875Z         },
2026-06-04T03:42:56.8993342Z         "impl": {
2026-06-04T03:42:56.8993840Z           "complete": true,
2026-06-04T03:42:56.8994330Z           "evidence": [
2026-06-04T03:42:56.8994778Z             {
2026-06-04T03:42:56.8995429Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T03:42:56.8995908Z               "line": 19
2026-06-04T03:42:56.8996369Z             }
2026-06-04T03:42:56.9001344Z           ]
2026-06-04T03:42:56.9001880Z         },
2026-06-04T03:42:56.9002359Z         "int": {
2026-06-04T03:42:56.9002864Z           "complete": false,
2026-06-04T03:42:56.9003356Z           "evidence": []
2026-06-04T03:42:56.9003816Z         },
2026-06-04T03:42:56.9004284Z         "unit": {
2026-06-04T03:42:56.9004794Z           "complete": true,
2026-06-04T03:42:56.9005267Z           "evidence": [
2026-06-04T03:42:56.9005721Z             {
2026-06-04T03:42:56.9006371Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T03:42:56.9006862Z               "line": 145
2026-06-04T03:42:56.9007312Z             },
2026-06-04T03:42:56.9007769Z             {
2026-06-04T03:42:56.9008416Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T03:42:56.9008894Z               "line": 164
2026-06-04T03:42:56.9009422Z             },
2026-06-04T03:42:56.9009873Z             {
2026-06-04T03:42:56.9010512Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T03:42:56.9011265Z               "line": 182
2026-06-04T03:42:56.9011745Z             },
2026-06-04T03:42:56.9012195Z             {
2026-06-04T03:42:56.9012840Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T03:42:56.9013329Z               "line": 206
2026-06-04T03:42:56.9013914Z             }
2026-06-04T03:42:56.9014372Z           ]
2026-06-04T03:42:56.9014810Z         }
2026-06-04T03:42:56.9015259Z       }
2026-06-04T03:42:56.9015705Z     },
2026-06-04T03:42:56.9016137Z     {
2026-06-04T03:42:56.9016652Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T03:42:56.9017190Z       "title": "spawn-session seam",
2026-06-04T03:42:56.9017693Z       "requiredStages": [
2026-06-04T03:42:56.9018143Z         "impl",
2026-06-04T03:42:56.9018604Z         "unit"
2026-06-04T03:42:56.9019057Z       ],
2026-06-04T03:42:56.9019571Z       "stages": {
2026-06-04T03:42:56.9020035Z         "doc": {
2026-06-04T03:42:56.9020532Z           "complete": false,
2026-06-04T03:42:56.9021022Z           "evidence": []
2026-06-04T03:42:56.9021482Z         },
2026-06-04T03:42:56.9021955Z         "impl": {
2026-06-04T03:42:56.9022461Z           "complete": true,
2026-06-04T03:42:56.9022939Z           "evidence": [
2026-06-04T03:42:56.9023397Z             {
2026-06-04T03:42:56.9024097Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9024572Z               "line": 20
2026-06-04T03:42:56.9025017Z             }
2026-06-04T03:42:56.9025470Z           ]
2026-06-04T03:42:56.9025919Z         },
2026-06-04T03:42:56.9026373Z         "int": {
2026-06-04T03:42:56.9026884Z           "complete": false,
2026-06-04T03:42:56.9027363Z           "evidence": []
2026-06-04T03:42:56.9027813Z         },
2026-06-04T03:42:56.9028272Z         "unit": {
2026-06-04T03:42:56.9028770Z           "complete": true,
2026-06-04T03:42:56.9029291Z           "evidence": [
2026-06-04T03:42:56.9029743Z             {
2026-06-04T03:42:56.9030431Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9030910Z               "line": 397
2026-06-04T03:42:56.9031379Z             },
2026-06-04T03:42:56.9031819Z             {
2026-06-04T03:42:56.9032501Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9032984Z               "line": 404
2026-06-04T03:42:56.9033450Z             },
2026-06-04T03:42:56.9033907Z             {
2026-06-04T03:42:56.9034587Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9035076Z               "line": 414
2026-06-04T03:42:56.9035523Z             },
2026-06-04T03:42:56.9035973Z             {
2026-06-04T03:42:56.9036665Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9037147Z               "line": 420
2026-06-04T03:42:56.9037603Z             },
2026-06-04T03:42:56.9038045Z             {
2026-06-04T03:42:56.9038732Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9039243Z               "line": 440
2026-06-04T03:42:56.9039715Z             },
2026-06-04T03:42:56.9040191Z             {
2026-06-04T03:42:56.9040886Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T03:42:56.9041382Z               "line": 473
2026-06-04T03:42:56.9041824Z             }
2026-06-04T03:42:56.9042272Z           ]
2026-06-04T03:42:56.9042737Z         }
2026-06-04T03:42:56.9043187Z       }
2026-06-04T03:42:56.9043628Z     },
2026-06-04T03:42:56.9044062Z     {
2026-06-04T03:42:56.9044582Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T03:42:56.9045511Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T03:42:56.9046025Z       "requiredStages": [
2026-06-04T03:42:56.9046480Z         "impl",
2026-06-04T03:42:56.9046941Z         "unit"
2026-06-04T03:42:56.9047386Z       ],
2026-06-04T03:42:56.9047845Z       "stages": {
2026-06-04T03:42:56.9048305Z         "doc": {
2026-06-04T03:42:56.9048802Z           "complete": false,
2026-06-04T03:42:56.9049339Z           "evidence": []
2026-06-04T03:42:56.9049788Z         },
2026-06-04T03:42:56.9050257Z         "impl": {
2026-06-04T03:42:56.9050936Z           "complete": true,
2026-06-04T03:42:56.9051439Z           "evidence": [
2026-06-04T03:42:56.9051894Z             {
2026-06-04T03:42:56.9052645Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9053280Z               "line": 28
2026-06-04T03:42:56.9053758Z             },
2026-06-04T03:42:56.9054225Z             {
2026-06-04T03:42:56.9054998Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9055483Z               "line": 83
2026-06-04T03:42:56.9055935Z             }
2026-06-04T03:42:56.9056378Z           ]
2026-06-04T03:42:56.9056826Z         },
2026-06-04T03:42:56.9057272Z         "int": {
2026-06-04T03:42:56.9057774Z           "complete": false,
2026-06-04T03:42:56.9058260Z           "evidence": []
2026-06-04T03:42:56.9058706Z         },
2026-06-04T03:42:56.9059218Z         "unit": {
2026-06-04T03:42:56.9059714Z           "complete": true,
2026-06-04T03:42:56.9060193Z           "evidence": [
2026-06-04T03:42:56.9060638Z             {
2026-06-04T03:42:56.9061416Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9061917Z               "line": 248
2026-06-04T03:42:56.9062360Z             },
2026-06-04T03:42:56.9062811Z             {
2026-06-04T03:42:56.9063572Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9064058Z               "line": 259
2026-06-04T03:42:56.9064502Z             }
2026-06-04T03:42:56.9064955Z           ]
2026-06-04T03:42:56.9065404Z         }
2026-06-04T03:42:56.9065842Z       }
2026-06-04T03:42:56.9066285Z     },
2026-06-04T03:42:56.9066723Z     {
2026-06-04T03:42:56.9067212Z       "id": "REQ-SEC-1",
2026-06-04T03:42:56.9069804Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T03:42:56.9070333Z       "requiredStages": [],
2026-06-04T03:42:56.9070801Z       "stages": {
2026-06-04T03:42:56.9071253Z         "doc": {
2026-06-04T03:42:56.9071781Z           "complete": false,
2026-06-04T03:42:56.9072261Z           "evidence": []
2026-06-04T03:42:56.9072722Z         },
2026-06-04T03:42:56.9073186Z         "impl": {
2026-06-04T03:42:56.9073688Z           "complete": false,
2026-06-04T03:42:56.9074189Z           "evidence": []
2026-06-04T03:42:56.9074632Z         },
2026-06-04T03:42:56.9075094Z         "int": {
2026-06-04T03:42:56.9075588Z           "complete": false,
2026-06-04T03:42:56.9076079Z           "evidence": []
2026-06-04T03:42:56.9076517Z         },
2026-06-04T03:42:56.9076981Z         "unit": {
2026-06-04T03:42:56.9077490Z           "complete": false,
2026-06-04T03:42:56.9077974Z           "evidence": []
2026-06-04T03:42:56.9078428Z         }
2026-06-04T03:42:56.9078873Z       }
2026-06-04T03:42:56.9079355Z     },
2026-06-04T03:42:56.9079790Z     {
2026-06-04T03:42:56.9080296Z       "id": "REQ-START-1",
2026-06-04T03:42:56.9081456Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T03:42:56.9081981Z       "requiredStages": [
2026-06-04T03:42:56.9082446Z         "impl",
2026-06-04T03:42:56.9082899Z         "unit"
2026-06-04T03:42:56.9083358Z       ],
2026-06-04T03:42:56.9083822Z       "stages": {
2026-06-04T03:42:56.9084298Z         "doc": {
2026-06-04T03:42:56.9084815Z           "complete": false,
2026-06-04T03:42:56.9085294Z           "evidence": []
2026-06-04T03:42:56.9090083Z         },
2026-06-04T03:42:56.9090629Z         "impl": {
2026-06-04T03:42:56.9091143Z           "complete": true,
2026-06-04T03:42:56.9091614Z           "evidence": [
2026-06-04T03:42:56.9092068Z             {
2026-06-04T03:42:56.9092715Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T03:42:56.9093191Z               "line": 16
2026-06-04T03:42:56.9093644Z             }
2026-06-04T03:42:56.9094090Z           ]
2026-06-04T03:42:56.9094538Z         },
2026-06-04T03:42:56.9094987Z         "int": {
2026-06-04T03:42:56.9095498Z           "complete": false,
2026-06-04T03:42:56.9095992Z           "evidence": []
2026-06-04T03:42:56.9096686Z         },
2026-06-04T03:42:56.9097177Z         "unit": {
2026-06-04T03:42:56.9097674Z           "complete": true,
2026-06-04T03:42:56.9098160Z           "evidence": [
2026-06-04T03:42:56.9098605Z             {
2026-06-04T03:42:56.9099454Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T03:42:56.9099938Z               "line": 43
2026-06-04T03:42:56.9100389Z             },
2026-06-04T03:42:56.9100842Z             {
2026-06-04T03:42:56.9101473Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T03:42:56.9101951Z               "line": 59
2026-06-04T03:42:56.9102396Z             }
2026-06-04T03:42:56.9102844Z           ]
2026-06-04T03:42:56.9103288Z         }
2026-06-04T03:42:56.9103729Z       }
2026-06-04T03:42:56.9104169Z     },
2026-06-04T03:42:56.9104599Z     {
2026-06-04T03:42:56.9105103Z       "id": "REQ-START-2",
2026-06-04T03:42:56.9105905Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T03:42:56.9106428Z       "requiredStages": [
2026-06-04T03:42:56.9106895Z         "impl",
2026-06-04T03:42:56.9107339Z         "unit",
2026-06-04T03:42:56.9107796Z         "int"
2026-06-04T03:42:56.9108240Z       ],
2026-06-04T03:42:56.9108707Z       "stages": {
2026-06-04T03:42:56.9109214Z         "doc": {
2026-06-04T03:42:56.9109725Z           "complete": false,
2026-06-04T03:42:56.9110212Z           "evidence": []
2026-06-04T03:42:56.9110656Z         },
2026-06-04T03:42:56.9111124Z         "impl": {
2026-06-04T03:42:56.9111622Z           "complete": true,
2026-06-04T03:42:56.9112102Z           "evidence": [
2026-06-04T03:42:56.9112549Z             {
2026-06-04T03:42:56.9113205Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9113682Z               "line": 16
2026-06-04T03:42:56.9114128Z             },
2026-06-04T03:42:56.9114580Z             {
2026-06-04T03:42:56.9115215Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9115694Z               "line": 94
2026-06-04T03:42:56.9116157Z             },
2026-06-04T03:42:56.9116613Z             {
2026-06-04T03:42:56.9117257Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9117734Z               "line": 163
2026-06-04T03:42:56.9118185Z             }
2026-06-04T03:42:56.9118643Z           ]
2026-06-04T03:42:56.9119093Z         },
2026-06-04T03:42:56.9119583Z         "int": {
2026-06-04T03:42:56.9120083Z           "complete": true,
2026-06-04T03:42:56.9120573Z           "evidence": [
2026-06-04T03:42:56.9121058Z             {
2026-06-04T03:42:56.9121779Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.9122259Z               "line": 150
2026-06-04T03:42:56.9122704Z             }
2026-06-04T03:42:56.9123143Z           ]
2026-06-04T03:42:56.9123593Z         },
2026-06-04T03:42:56.9124059Z         "unit": {
2026-06-04T03:42:56.9124552Z           "complete": true,
2026-06-04T03:42:56.9125038Z           "evidence": [
2026-06-04T03:42:56.9125483Z             {
2026-06-04T03:42:56.9126160Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9126639Z               "line": 354
2026-06-04T03:42:56.9127096Z             },
2026-06-04T03:42:56.9127543Z             {
2026-06-04T03:42:56.9128181Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9128682Z               "line": 387
2026-06-04T03:42:56.9129130Z             }
2026-06-04T03:42:56.9129628Z           ]
2026-06-04T03:42:56.9130076Z         }
2026-06-04T03:42:56.9130519Z       }
2026-06-04T03:42:56.9130962Z     },
2026-06-04T03:42:56.9131393Z     {
2026-06-04T03:42:56.9131887Z       "id": "REQ-START-3",
2026-06-04T03:42:56.9132869Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T03:42:56.9133386Z       "requiredStages": [
2026-06-04T03:42:56.9133839Z         "impl",
2026-06-04T03:42:56.9134296Z         "unit",
2026-06-04T03:42:56.9134749Z         "int"
2026-06-04T03:42:56.9135187Z       ],
2026-06-04T03:42:56.9135651Z       "stages": {
2026-06-04T03:42:56.9136262Z         "doc": {
2026-06-04T03:42:56.9136791Z           "complete": false,
2026-06-04T03:42:56.9137275Z           "evidence": []
2026-06-04T03:42:56.9137722Z         },
2026-06-04T03:42:56.9138191Z         "impl": {
2026-06-04T03:42:56.9138886Z           "complete": true,
2026-06-04T03:42:56.9139416Z           "evidence": [
2026-06-04T03:42:56.9139874Z             {
2026-06-04T03:42:56.9140572Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T03:42:56.9141048Z               "line": 23
2026-06-04T03:42:56.9141509Z             },
2026-06-04T03:42:56.9141961Z             {
2026-06-04T03:42:56.9142634Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T03:42:56.9143125Z               "line": 167
2026-06-04T03:42:56.9143574Z             },
2026-06-04T03:42:56.9144029Z             {
2026-06-04T03:42:56.9144700Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T03:42:56.9145186Z               "line": 180
2026-06-04T03:42:56.9145645Z             },
2026-06-04T03:42:56.9146108Z             {
2026-06-04T03:42:56.9146754Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9147228Z               "line": 17
2026-06-04T03:42:56.9147683Z             },
2026-06-04T03:42:56.9148151Z             {
2026-06-04T03:42:56.9148791Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9149318Z               "line": 43
2026-06-04T03:42:56.9149769Z             },
2026-06-04T03:42:56.9150218Z             {
2026-06-04T03:42:56.9150860Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9151341Z               "line": 95
2026-06-04T03:42:56.9151795Z             }
2026-06-04T03:42:56.9152237Z           ]
2026-06-04T03:42:56.9152686Z         },
2026-06-04T03:42:56.9153135Z         "int": {
2026-06-04T03:42:56.9153638Z           "complete": true,
2026-06-04T03:42:56.9154117Z           "evidence": [
2026-06-04T03:42:56.9154573Z             {
2026-06-04T03:42:56.9155255Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T03:42:56.9155749Z               "line": 316
2026-06-04T03:42:56.9156211Z             }
2026-06-04T03:42:56.9156659Z           ]
2026-06-04T03:42:56.9157112Z         },
2026-06-04T03:42:56.9157568Z         "unit": {
2026-06-04T03:42:56.9158079Z           "complete": true,
2026-06-04T03:42:56.9158564Z           "evidence": [
2026-06-04T03:42:56.9159010Z             {
2026-06-04T03:42:56.9159724Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T03:42:56.9160210Z               "line": 245
2026-06-04T03:42:56.9160671Z             },
2026-06-04T03:42:56.9161116Z             {
2026-06-04T03:42:56.9161794Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T03:42:56.9162281Z               "line": 263
2026-06-04T03:42:56.9162726Z             },
2026-06-04T03:42:56.9163179Z             {
2026-06-04T03:42:56.9163850Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T03:42:56.9164342Z               "line": 273
2026-06-04T03:42:56.9164795Z             },
2026-06-04T03:42:56.9165262Z             {
2026-06-04T03:42:56.9165911Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9166391Z               "line": 355
2026-06-04T03:42:56.9166852Z             },
2026-06-04T03:42:56.9167312Z             {
2026-06-04T03:42:56.9167952Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9168427Z               "line": 388
2026-06-04T03:42:56.9168890Z             },
2026-06-04T03:42:56.9169366Z             {
2026-06-04T03:42:56.9170011Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T03:42:56.9170504Z               "line": 396
2026-06-04T03:42:56.9170951Z             }
2026-06-04T03:42:56.9171406Z           ]
2026-06-04T03:42:56.9176103Z         }
2026-06-04T03:42:56.9176630Z       }
2026-06-04T03:42:56.9177078Z     },
2026-06-04T03:42:56.9177514Z     {
2026-06-04T03:42:56.9178032Z       "id": "REQ-START-4",
2026-06-04T03:42:56.9178827Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T03:42:56.9179672Z       "requiredStages": [
2026-06-04T03:42:56.9180162Z         "impl",
2026-06-04T03:42:56.9180618Z         "unit"
2026-06-04T03:42:56.9181070Z       ],
2026-06-04T03:42:56.9181532Z       "stages": {
2026-06-04T03:42:56.9182153Z         "doc": {
2026-06-04T03:42:56.9182661Z           "complete": false,
2026-06-04T03:42:56.9183150Z           "evidence": []
2026-06-04T03:42:56.9183594Z         },
2026-06-04T03:42:56.9184061Z         "impl": {
2026-06-04T03:42:56.9184567Z           "complete": true,
2026-06-04T03:42:56.9185043Z           "evidence": [
2026-06-04T03:42:56.9185502Z             {
2026-06-04T03:42:56.9186169Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.9186662Z               "line": 190
2026-06-04T03:42:56.9187111Z             }
2026-06-04T03:42:56.9187564Z           ]
2026-06-04T03:42:56.9188012Z         },
2026-06-04T03:42:56.9188461Z         "int": {
2026-06-04T03:42:56.9188969Z           "complete": false,
2026-06-04T03:42:56.9189505Z           "evidence": []
2026-06-04T03:42:56.9189954Z         },
2026-06-04T03:42:56.9190405Z         "unit": {
2026-06-04T03:42:56.9190909Z           "complete": true,
2026-06-04T03:42:56.9191397Z           "evidence": [
2026-06-04T03:42:56.9191861Z             {
2026-06-04T03:42:56.9192531Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T03:42:56.9193013Z               "line": 351
2026-06-04T03:42:56.9193465Z             }
2026-06-04T03:42:56.9193907Z           ]
2026-06-04T03:42:56.9194367Z         }
2026-06-04T03:42:56.9194817Z       }
2026-06-04T03:42:56.9195257Z     },
2026-06-04T03:42:56.9195708Z     {
2026-06-04T03:42:56.9196200Z       "id": "REQ-STORE-1",
2026-06-04T03:42:56.9201954Z       "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-04T03:42:56.9202493Z       "requiredStages": [],
2026-06-04T03:42:56.9202961Z       "stages": {
2026-06-04T03:42:56.9203421Z         "doc": {
2026-06-04T03:42:56.9203918Z           "complete": false,
2026-06-04T03:42:56.9204417Z           "evidence": []
2026-06-04T03:42:56.9204867Z         },
2026-06-04T03:42:56.9205335Z         "impl": {
2026-06-04T03:42:56.9205846Z           "complete": false,
2026-06-04T03:42:56.9206330Z           "evidence": []
2026-06-04T03:42:56.9206772Z         },
2026-06-04T03:42:56.9207223Z         "int": {
2026-06-04T03:42:56.9207731Z           "complete": false,
2026-06-04T03:42:56.9208209Z           "evidence": []
2026-06-04T03:42:56.9208659Z         },
2026-06-04T03:42:56.9209117Z         "unit": {
2026-06-04T03:42:56.9209649Z           "complete": false,
2026-06-04T03:42:56.9210138Z           "evidence": []
2026-06-04T03:42:56.9210578Z         }
2026-06-04T03:42:56.9211019Z       }
2026-06-04T03:42:56.9211453Z     },
2026-06-04T03:42:56.9211894Z     {
2026-06-04T03:42:56.9212405Z       "id": "REQ-TERM-1",
2026-06-04T03:42:56.9213398Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T03:42:56.9213908Z       "requiredStages": [
2026-06-04T03:42:56.9214369Z         "impl",
2026-06-04T03:42:56.9214823Z         "unit"
2026-06-04T03:42:56.9215261Z       ],
2026-06-04T03:42:56.9215734Z       "stages": {
2026-06-04T03:42:56.9216196Z         "doc": {
2026-06-04T03:42:56.9216694Z           "complete": false,
2026-06-04T03:42:56.9217183Z           "evidence": []
2026-06-04T03:42:56.9217627Z         },
2026-06-04T03:42:56.9218101Z         "impl": {
2026-06-04T03:42:56.9218596Z           "complete": true,
2026-06-04T03:42:56.9219075Z           "evidence": [
2026-06-04T03:42:56.9219560Z             {
2026-06-04T03:42:56.9220184Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T03:42:56.9220671Z               "line": 61
2026-06-04T03:42:56.9221118Z             },
2026-06-04T03:42:56.9221566Z             {
2026-06-04T03:42:56.9222335Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T03:42:56.9222849Z               "line": 169
2026-06-04T03:42:56.9223302Z             },
2026-06-04T03:42:56.9223744Z             {
2026-06-04T03:42:56.9224406Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T03:42:56.9225028Z               "line": 95
2026-06-04T03:42:56.9225480Z             }
2026-06-04T03:42:56.9225924Z           ]
2026-06-04T03:42:56.9226376Z         },
2026-06-04T03:42:56.9226838Z         "int": {
2026-06-04T03:42:56.9227336Z           "complete": false,
2026-06-04T03:42:56.9227829Z           "evidence": []
2026-06-04T03:42:56.9228269Z         },
2026-06-04T03:42:56.9228727Z         "unit": {
2026-06-04T03:42:56.9229263Z           "complete": true,
2026-06-04T03:42:56.9229754Z           "evidence": [
2026-06-04T03:42:56.9230204Z             {
2026-06-04T03:42:56.9230887Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T03:42:56.9231368Z               "line": 28
2026-06-04T03:42:56.9231828Z             },
2026-06-04T03:42:56.9232282Z             {
2026-06-04T03:42:56.9232952Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T03:42:56.9233429Z               "line": 60
2026-06-04T03:42:56.9233897Z             }
2026-06-04T03:42:56.9234338Z           ]
2026-06-04T03:42:56.9234788Z         }
2026-06-04T03:42:56.9235230Z       }
2026-06-04T03:42:56.9235671Z     },
2026-06-04T03:42:56.9236102Z     {
2026-06-04T03:42:56.9236600Z       "id": "REQ-TERM-2",
2026-06-04T03:42:56.9237662Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T03:42:56.9238166Z       "requiredStages": [
2026-06-04T03:42:56.9238625Z         "impl",
2026-06-04T03:42:56.9239074Z         "unit"
2026-06-04T03:42:56.9239562Z       ],
2026-06-04T03:42:56.9240025Z       "stages": {
2026-06-04T03:42:56.9240484Z         "doc": {
2026-06-04T03:42:56.9240997Z           "complete": false,
2026-06-04T03:42:56.9241474Z           "evidence": []
2026-06-04T03:42:56.9241925Z         },
2026-06-04T03:42:56.9242393Z         "impl": {
2026-06-04T03:42:56.9242896Z           "complete": true,
2026-06-04T03:42:56.9243377Z           "evidence": [
2026-06-04T03:42:56.9243830Z             {
2026-06-04T03:42:56.9244498Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T03:42:56.9244975Z               "line": 112
2026-06-04T03:42:56.9245432Z             },
2026-06-04T03:42:56.9245877Z             {
2026-06-04T03:42:56.9246529Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T03:42:56.9247005Z               "line": 122
2026-06-04T03:42:56.9247456Z             }
2026-06-04T03:42:56.9247908Z           ]
2026-06-04T03:42:56.9248350Z         },
2026-06-04T03:42:56.9248806Z         "int": {
2026-06-04T03:42:56.9249348Z           "complete": false,
2026-06-04T03:42:56.9249841Z           "evidence": []
2026-06-04T03:42:56.9250290Z         },
2026-06-04T03:42:56.9250755Z         "unit": {
2026-06-04T03:42:56.9251255Z           "complete": true,
2026-06-04T03:42:56.9251743Z           "evidence": [
2026-06-04T03:42:56.9252190Z             {
2026-06-04T03:42:56.9252862Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T03:42:56.9253342Z               "line": 46
2026-06-04T03:42:56.9253797Z             },
2026-06-04T03:42:56.9254246Z             {
2026-06-04T03:42:56.9254916Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T03:42:56.9255392Z               "line": 71
2026-06-04T03:42:56.9255842Z             }
2026-06-04T03:42:56.9256283Z           ]
2026-06-04T03:42:56.9256732Z         }
2026-06-04T03:42:56.9257171Z       }
2026-06-04T03:42:56.9257611Z     },
2026-06-04T03:42:56.9258048Z     {
2026-06-04T03:42:56.9258531Z       "id": "REQ-TERM-3",
2026-06-04T03:42:56.9259384Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T03:42:56.9259927Z       "requiredStages": [
2026-06-04T03:42:56.9260426Z         "impl",
2026-06-04T03:42:56.9260883Z         "unit"
2026-06-04T03:42:56.9261339Z       ],
2026-06-04T03:42:56.9261994Z       "stages": {
2026-06-04T03:42:56.9266732Z         "doc": {
2026-06-04T03:42:56.9267323Z           "complete": false,
2026-06-04T03:42:56.9267805Z           "evidence": []
2026-06-04T03:42:56.9268253Z         },
2026-06-04T03:42:56.9268982Z         "impl": {
2026-06-04T03:42:56.9269601Z           "complete": true,
2026-06-04T03:42:56.9270093Z           "evidence": [
2026-06-04T03:42:56.9270540Z             {
2026-06-04T03:42:56.9271197Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T03:42:56.9271679Z               "line": 71
2026-06-04T03:42:56.9272133Z             }
2026-06-04T03:42:56.9272583Z           ]
2026-06-04T03:42:56.9273038Z         },
2026-06-04T03:42:56.9273497Z         "int": {
2026-06-04T03:42:56.9273995Z           "complete": false,
2026-06-04T03:42:56.9274487Z           "evidence": []
2026-06-04T03:42:56.9274928Z         },
2026-06-04T03:42:56.9275391Z         "unit": {
2026-06-04T03:42:56.9275887Z           "complete": true,
2026-06-04T03:42:56.9276392Z           "evidence": [
2026-06-04T03:42:56.9276856Z             {
2026-06-04T03:42:56.9277532Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T03:42:56.9278012Z               "line": 37
2026-06-04T03:42:56.9278467Z             },
2026-06-04T03:42:56.9278935Z             {
2026-06-04T03:42:56.9279636Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T03:42:56.9280122Z               "line": 67
2026-06-04T03:42:56.9280577Z             }
2026-06-04T03:42:56.9281020Z           ]
2026-06-04T03:42:56.9281472Z         }
2026-06-04T03:42:56.9281914Z       }
2026-06-04T03:42:56.9282364Z     },
2026-06-04T03:42:56.9282801Z     {
2026-06-04T03:42:56.9283299Z       "id": "REQ-TERM-4",
2026-06-04T03:42:56.9285584Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T03:42:56.9286102Z       "requiredStages": [
2026-06-04T03:42:56.9286569Z         "impl",
2026-06-04T03:42:56.9287021Z         "unit",
2026-06-04T03:42:56.9287495Z         "int"
2026-06-04T03:42:56.9287939Z       ],
2026-06-04T03:42:56.9288410Z       "stages": {
2026-06-04T03:42:56.9288875Z         "doc": {
2026-06-04T03:42:56.9289411Z           "complete": true,
2026-06-04T03:42:56.9289922Z           "evidence": [
2026-06-04T03:42:56.9290369Z             {
2026-06-04T03:42:56.9290923Z               "path": "docs/MANIFEST.md",
2026-06-04T03:42:56.9291409Z               "line": 106
2026-06-04T03:42:56.9291868Z             }
2026-06-04T03:42:56.9292321Z           ]
2026-06-04T03:42:56.9292762Z         },
2026-06-04T03:42:56.9293234Z         "impl": {
2026-06-04T03:42:56.9293733Z           "complete": true,
2026-06-04T03:42:56.9294218Z           "evidence": [
2026-06-04T03:42:56.9294661Z             {
2026-06-04T03:42:56.9295313Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T03:42:56.9295803Z               "line": 448
2026-06-04T03:42:56.9296255Z             },
2026-06-04T03:42:56.9296707Z             {
2026-06-04T03:42:56.9297385Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9297865Z               "line": 41
2026-06-04T03:42:56.9298315Z             },
2026-06-04T03:42:56.9298769Z             {
2026-06-04T03:42:56.9299487Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9299970Z               "line": 91
2026-06-04T03:42:56.9300426Z             },
2026-06-04T03:42:56.9300875Z             {
2026-06-04T03:42:56.9301544Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9302026Z               "line": 152
2026-06-04T03:42:56.9302490Z             },
2026-06-04T03:42:56.9302945Z             {
2026-06-04T03:42:56.9303615Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9304107Z               "line": 212
2026-06-04T03:42:56.9304561Z             },
2026-06-04T03:42:56.9305019Z             {
2026-06-04T03:42:56.9305707Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9306374Z               "line": 20
2026-06-04T03:42:56.9306860Z             },
2026-06-04T03:42:56.9307312Z             {
2026-06-04T03:42:56.9308016Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9308504Z               "line": 212
2026-06-04T03:42:56.9309189Z             },
2026-06-04T03:42:56.9309654Z             {
2026-06-04T03:42:56.9310348Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9310837Z               "line": 226
2026-06-04T03:42:56.9311289Z             },
2026-06-04T03:42:56.9311739Z             {
2026-06-04T03:42:56.9312431Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.9312940Z               "line": 574
2026-06-04T03:42:56.9313396Z             },
2026-06-04T03:42:56.9313841Z             {
2026-06-04T03:42:56.9314481Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9314961Z               "line": 157
2026-06-04T03:42:56.9315415Z             },
2026-06-04T03:42:56.9315857Z             {
2026-06-04T03:42:56.9316518Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9317008Z               "line": 199
2026-06-04T03:42:56.9317458Z             },
2026-06-04T03:42:56.9317912Z             {
2026-06-04T03:42:56.9318560Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9319050Z               "line": 226
2026-06-04T03:42:56.9319563Z             },
2026-06-04T03:42:56.9320025Z             {
2026-06-04T03:42:56.9320615Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.9321095Z               "line": 176
2026-06-04T03:42:56.9321551Z             }
2026-06-04T03:42:56.9321994Z           ]
2026-06-04T03:42:56.9322445Z         },
2026-06-04T03:42:56.9322898Z         "int": {
2026-06-04T03:42:56.9323408Z           "complete": true,
2026-06-04T03:42:56.9323892Z           "evidence": [
2026-06-04T03:42:56.9324340Z             {
2026-06-04T03:42:56.9325025Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T03:42:56.9325517Z               "line": 18
2026-06-04T03:42:56.9325969Z             }
2026-06-04T03:42:56.9326408Z           ]
2026-06-04T03:42:56.9326858Z         },
2026-06-04T03:42:56.9327318Z         "unit": {
2026-06-04T03:42:56.9327813Z           "complete": true,
2026-06-04T03:42:56.9328322Z           "evidence": [
2026-06-04T03:42:56.9328770Z             {
2026-06-04T03:42:56.9329470Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9329948Z               "line": 250
2026-06-04T03:42:56.9330403Z             },
2026-06-04T03:42:56.9330856Z             {
2026-06-04T03:42:56.9331518Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9331999Z               "line": 263
2026-06-04T03:42:56.9332453Z             },
2026-06-04T03:42:56.9332902Z             {
2026-06-04T03:42:56.9333561Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9334045Z               "line": 275
2026-06-04T03:42:56.9334500Z             },
2026-06-04T03:42:56.9334947Z             {
2026-06-04T03:42:56.9335635Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9336121Z               "line": 290
2026-06-04T03:42:56.9336579Z             },
2026-06-04T03:42:56.9337020Z             {
2026-06-04T03:42:56.9337704Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9338194Z               "line": 305
2026-06-04T03:42:56.9338640Z             },
2026-06-04T03:42:56.9339099Z             {
2026-06-04T03:42:56.9339793Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9340281Z               "line": 327
2026-06-04T03:42:56.9340727Z             },
2026-06-04T03:42:56.9341182Z             {
2026-06-04T03:42:56.9341851Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9342328Z               "line": 337
2026-06-04T03:42:56.9342786Z             },
2026-06-04T03:42:56.9343234Z             {
2026-06-04T03:42:56.9343908Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T03:42:56.9344573Z               "line": 364
2026-06-04T03:42:56.9345044Z             },
2026-06-04T03:42:56.9345500Z             {
2026-06-04T03:42:56.9346193Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9346825Z               "line": 338
2026-06-04T03:42:56.9347280Z             },
2026-06-04T03:42:56.9347734Z             {
2026-06-04T03:42:56.9348431Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9348915Z               "line": 350
2026-06-04T03:42:56.9349413Z             },
2026-06-04T03:42:56.9349864Z             {
2026-06-04T03:42:56.9350571Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9351045Z               "line": 367
2026-06-04T03:42:56.9355710Z             },
2026-06-04T03:42:56.9356244Z             {
2026-06-04T03:42:56.9356950Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T03:42:56.9357442Z               "line": 378
2026-06-04T03:42:56.9357890Z             },
2026-06-04T03:42:56.9358371Z             {
2026-06-04T03:42:56.9359064Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.9359812Z               "line": 759
2026-06-04T03:42:56.9360540Z             },
2026-06-04T03:42:56.9361021Z             {
2026-06-04T03:42:56.9361728Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.9362217Z               "line": 766
2026-06-04T03:42:56.9362672Z             },
2026-06-04T03:42:56.9363124Z             {
2026-06-04T03:42:56.9363816Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.9364311Z               "line": 781
2026-06-04T03:42:56.9364760Z             },
2026-06-04T03:42:56.9365213Z             {
2026-06-04T03:42:56.9365848Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9366334Z               "line": 381
2026-06-04T03:42:56.9366793Z             },
2026-06-04T03:42:56.9367250Z             {
2026-06-04T03:42:56.9367890Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9368379Z               "line": 402
2026-06-04T03:42:56.9368837Z             },
2026-06-04T03:42:56.9369346Z             {
2026-06-04T03:42:56.9369987Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9370477Z               "line": 415
2026-06-04T03:42:56.9370938Z             },
2026-06-04T03:42:56.9371386Z             {
2026-06-04T03:42:56.9372026Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9372511Z               "line": 434
2026-06-04T03:42:56.9372959Z             },
2026-06-04T03:42:56.9373412Z             {
2026-06-04T03:42:56.9374047Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T03:42:56.9374535Z               "line": 461
2026-06-04T03:42:56.9374994Z             },
2026-06-04T03:42:56.9375435Z             {
2026-06-04T03:42:56.9376102Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T03:42:56.9376577Z               "line": 32
2026-06-04T03:42:56.9377035Z             },
2026-06-04T03:42:56.9377499Z             {
2026-06-04T03:42:56.9378078Z               "path": "crates/spt/src/cli.rs",
2026-06-04T03:42:56.9378569Z               "line": 646
2026-06-04T03:42:56.9379011Z             }
2026-06-04T03:42:56.9379495Z           ]
2026-06-04T03:42:56.9379957Z         }
2026-06-04T03:42:56.9380429Z       }
2026-06-04T03:42:56.9381103Z     },
2026-06-04T03:42:56.9381636Z     {
2026-06-04T03:42:56.9382368Z       "id": "REQ-UPD-1",
2026-06-04T03:42:56.9383027Z       "title": "Peer-propagated update over P2P",
2026-06-04T03:42:56.9383551Z       "requiredStages": [],
2026-06-04T03:42:56.9384019Z       "stages": {
2026-06-04T03:42:56.9384485Z         "doc": {
2026-06-04T03:42:56.9384988Z           "complete": false,
2026-06-04T03:42:56.9385481Z           "evidence": []
2026-06-04T03:42:56.9385939Z         },
2026-06-04T03:42:56.9386399Z         "impl": {
2026-06-04T03:42:56.9386912Z           "complete": false,
2026-06-04T03:42:56.9387392Z           "evidence": []
2026-06-04T03:42:56.9387849Z         },
2026-06-04T03:42:56.9388657Z         "int": {
2026-06-04T03:42:56.9389272Z           "complete": false,
2026-06-04T03:42:56.9390067Z           "evidence": []
2026-06-04T03:42:56.9390520Z         },
2026-06-04T03:42:56.9390978Z         "unit": {
2026-06-04T03:42:56.9391650Z           "complete": false,
2026-06-04T03:42:56.9392142Z           "evidence": []
2026-06-04T03:42:56.9392587Z         }
2026-06-04T03:42:56.9393040Z       }
2026-06-04T03:42:56.9393487Z     },
2026-06-04T03:42:56.9393936Z     {
2026-06-04T03:42:56.9394436Z       "id": "REQ-UPD-2",
2026-06-04T03:42:56.9395280Z       "title": "All binaries signature-verified before handoff",
2026-06-04T03:42:56.9395797Z       "requiredStages": [
2026-06-04T03:42:56.9396248Z         "impl",
2026-06-04T03:42:56.9396720Z         "unit"
2026-06-04T03:42:56.9397176Z       ],
2026-06-04T03:42:56.9397651Z       "stages": {
2026-06-04T03:42:56.9398112Z         "doc": {
2026-06-04T03:42:56.9398619Z           "complete": false,
2026-06-04T03:42:56.9399127Z           "evidence": []
2026-06-04T03:42:56.9399810Z         },
2026-06-04T03:42:56.9400459Z         "impl": {
2026-06-04T03:42:56.9400962Z           "complete": true,
2026-06-04T03:42:56.9401440Z           "evidence": [
2026-06-04T03:42:56.9401905Z             {
2026-06-04T03:42:56.9402607Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9403095Z               "line": 29
2026-06-04T03:42:56.9403547Z             },
2026-06-04T03:42:56.9404005Z             {
2026-06-04T03:42:56.9404688Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9405169Z               "line": 158
2026-06-04T03:42:56.9405632Z             },
2026-06-04T03:42:56.9406077Z             {
2026-06-04T03:42:56.9406762Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9407248Z               "line": 239
2026-06-04T03:42:56.9407705Z             },
2026-06-04T03:42:56.9408169Z             {
2026-06-04T03:42:56.9408843Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9409397Z               "line": 149
2026-06-04T03:42:56.9410208Z             }
2026-06-04T03:42:56.9410668Z           ]
2026-06-04T03:42:56.9411111Z         },
2026-06-04T03:42:56.9411584Z         "int": {
2026-06-04T03:42:56.9412110Z           "complete": false,
2026-06-04T03:42:56.9412590Z           "evidence": []
2026-06-04T03:42:56.9413046Z         },
2026-06-04T03:42:56.9413508Z         "unit": {
2026-06-04T03:42:56.9414008Z           "complete": true,
2026-06-04T03:42:56.9414480Z           "evidence": [
2026-06-04T03:42:56.9414942Z             {
2026-06-04T03:42:56.9415625Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9416102Z               "line": 336
2026-06-04T03:42:56.9416552Z             },
2026-06-04T03:42:56.9416998Z             {
2026-06-04T03:42:56.9417673Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9418158Z               "line": 350
2026-06-04T03:42:56.9418615Z             },
2026-06-04T03:42:56.9419085Z             {
2026-06-04T03:42:56.9420143Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9420635Z               "line": 361
2026-06-04T03:42:56.9421083Z             },
2026-06-04T03:42:56.9421538Z             {
2026-06-04T03:42:56.9422233Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9422715Z               "line": 437
2026-06-04T03:42:56.9423175Z             },
2026-06-04T03:42:56.9423625Z             {
2026-06-04T03:42:56.9424300Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9424780Z               "line": 326
2026-06-04T03:42:56.9425243Z             },
2026-06-04T03:42:56.9425698Z             {
2026-06-04T03:42:56.9426362Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9426849Z               "line": 339
2026-06-04T03:42:56.9427298Z             }
2026-06-04T03:42:56.9427757Z           ]
2026-06-04T03:42:56.9428198Z         }
2026-06-04T03:42:56.9428648Z       }
2026-06-04T03:42:56.9429095Z     },
2026-06-04T03:42:56.9429750Z     {
2026-06-04T03:42:56.9430271Z       "id": "REQ-UPD-3",
2026-06-04T03:42:56.9431288Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T03:42:56.9431806Z       "requiredStages": [
2026-06-04T03:42:56.9432400Z         "impl",
2026-06-04T03:42:56.9432863Z         "unit",
2026-06-04T03:42:56.9433322Z         "int"
2026-06-04T03:42:56.9433765Z       ],
2026-06-04T03:42:56.9434241Z       "stages": {
2026-06-04T03:42:56.9434707Z         "doc": {
2026-06-04T03:42:56.9435218Z           "complete": false,
2026-06-04T03:42:56.9435700Z           "evidence": []
2026-06-04T03:42:56.9436158Z         },
2026-06-04T03:42:56.9436633Z         "impl": {
2026-06-04T03:42:56.9437130Z           "complete": true,
2026-06-04T03:42:56.9437609Z           "evidence": [
2026-06-04T03:42:56.9438058Z             {
2026-06-04T03:42:56.9438735Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9439252Z               "line": 26
2026-06-04T03:42:56.9439944Z             },
2026-06-04T03:42:56.9440572Z             {
2026-06-04T03:42:56.9441244Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9446531Z               "line": 111
2026-06-04T03:42:56.9447121Z             },
2026-06-04T03:42:56.9447583Z             {
2026-06-04T03:42:56.9448267Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9448761Z               "line": 213
2026-06-04T03:42:56.9449326Z             }
2026-06-04T03:42:56.9449788Z           ]
2026-06-04T03:42:56.9450247Z         },
2026-06-04T03:42:56.9450703Z         "int": {
2026-06-04T03:42:56.9451206Z           "complete": true,
2026-06-04T03:42:56.9451681Z           "evidence": [
2026-06-04T03:42:56.9452139Z             {
2026-06-04T03:42:56.9452872Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T03:42:56.9453345Z               "line": 23
2026-06-04T03:42:56.9453799Z             }
2026-06-04T03:42:56.9454240Z           ]
2026-06-04T03:42:56.9454714Z         },
2026-06-04T03:42:56.9455174Z         "unit": {
2026-06-04T03:42:56.9455676Z           "complete": true,
2026-06-04T03:42:56.9456168Z           "evidence": [
2026-06-04T03:42:56.9456618Z             {
2026-06-04T03:42:56.9457309Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9457793Z               "line": 238
2026-06-04T03:42:56.9458250Z             },
2026-06-04T03:42:56.9458703Z             {
2026-06-04T03:42:56.9459414Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9459905Z               "line": 262
2026-06-04T03:42:56.9460349Z             },
2026-06-04T03:42:56.9460802Z             {
2026-06-04T03:42:56.9461466Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9461953Z               "line": 273
2026-06-04T03:42:56.9462404Z             },
2026-06-04T03:42:56.9462855Z             {
2026-06-04T03:42:56.9463520Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T03:42:56.9464022Z               "line": 286
2026-06-04T03:42:56.9464479Z             }
2026-06-04T03:42:56.9464926Z           ]
2026-06-04T03:42:56.9465378Z         }
2026-06-04T03:42:56.9465821Z       }
2026-06-04T03:42:56.9466265Z     },
2026-06-04T03:42:56.9466728Z     {
2026-06-04T03:42:56.9467218Z       "id": "REQ-UPD-4",
2026-06-04T03:42:56.9468302Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T03:42:56.9468822Z       "requiredStages": [
2026-06-04T03:42:56.9469315Z         "impl",
2026-06-04T03:42:56.9469769Z         "unit"
2026-06-04T03:42:56.9470225Z       ],
2026-06-04T03:42:56.9470698Z       "stages": {
2026-06-04T03:42:56.9471151Z         "doc": {
2026-06-04T03:42:56.9471656Z           "complete": false,
2026-06-04T03:42:56.9472133Z           "evidence": []
2026-06-04T03:42:56.9472583Z         },
2026-06-04T03:42:56.9473035Z         "impl": {
2026-06-04T03:42:56.9473539Z           "complete": true,
2026-06-04T03:42:56.9474021Z           "evidence": [
2026-06-04T03:42:56.9474770Z             {
2026-06-04T03:42:56.9475494Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T03:42:56.9475969Z               "line": 23
2026-06-04T03:42:56.9476422Z             },
2026-06-04T03:42:56.9476867Z             {
2026-06-04T03:42:56.9477701Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T03:42:56.9478183Z               "line": 60
2026-06-04T03:42:56.9478629Z             },
2026-06-04T03:42:56.9479078Z             {
2026-06-04T03:42:56.9479801Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T03:42:56.9480289Z               "line": 79
2026-06-04T03:42:56.9480735Z             },
2026-06-04T03:42:56.9481188Z             {
2026-06-04T03:42:56.9481886Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T03:42:56.9482362Z               "line": 162
2026-06-04T03:42:56.9482824Z             },
2026-06-04T03:42:56.9483269Z             {
2026-06-04T03:42:56.9483914Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.9484418Z               "line": 114
2026-06-04T03:42:56.9484879Z             }
2026-06-04T03:42:56.9485332Z           ]
2026-06-04T03:42:56.9485771Z         },
2026-06-04T03:42:56.9486237Z         "int": {
2026-06-04T03:42:56.9486746Z           "complete": false,
2026-06-04T03:42:56.9487243Z           "evidence": []
2026-06-04T03:42:56.9487697Z         },
2026-06-04T03:42:56.9488157Z         "unit": {
2026-06-04T03:42:56.9488656Z           "complete": true,
2026-06-04T03:42:56.9489132Z           "evidence": [
2026-06-04T03:42:56.9489617Z             {
2026-06-04T03:42:56.9490283Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T03:42:56.9490773Z               "line": 217
2026-06-04T03:42:56.9491227Z             },
2026-06-04T03:42:56.9491681Z             {
2026-06-04T03:42:56.9492353Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T03:42:56.9492832Z               "line": 118
2026-06-04T03:42:56.9493288Z             },
2026-06-04T03:42:56.9493734Z             {
2026-06-04T03:42:56.9494424Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T03:42:56.9494907Z               "line": 133
2026-06-04T03:42:56.9495361Z             },
2026-06-04T03:42:56.9495818Z             {
2026-06-04T03:42:56.9496507Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T03:42:56.9496996Z               "line": 152
2026-06-04T03:42:56.9497443Z             },
2026-06-04T03:42:56.9497897Z             {
2026-06-04T03:42:56.9498537Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T03:42:56.9499016Z               "line": 258
2026-06-04T03:42:56.9499515Z             },
2026-06-04T03:42:56.9499960Z             {
2026-06-04T03:42:56.9500600Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T03:42:56.9501078Z               "line": 407
2026-06-04T03:42:56.9501531Z             }
2026-06-04T03:42:56.9501985Z           ]
2026-06-04T03:42:56.9502422Z         }
2026-06-04T03:42:56.9502866Z       }
2026-06-04T03:42:56.9503305Z     },
2026-06-04T03:42:56.9503768Z     {
2026-06-04T03:42:56.9504251Z       "id": "REQ-UPD-5",
2026-06-04T03:42:56.9505053Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T03:42:56.9505562Z       "requiredStages": [
2026-06-04T03:42:56.9506024Z         "impl",
2026-06-04T03:42:56.9506517Z         "unit"
2026-06-04T03:42:56.9506965Z       ],
2026-06-04T03:42:56.9507427Z       "stages": {
2026-06-04T03:42:56.9507875Z         "doc": {
2026-06-04T03:42:56.9508374Z           "complete": false,
2026-06-04T03:42:56.9508851Z           "evidence": []
2026-06-04T03:42:56.9509345Z         },
2026-06-04T03:42:56.9509809Z         "impl": {
2026-06-04T03:42:56.9510303Z           "complete": true,
2026-06-04T03:42:56.9510792Z           "evidence": [
2026-06-04T03:42:56.9511232Z             {
2026-06-04T03:42:56.9511983Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9512465Z               "line": 27
2026-06-04T03:42:56.9512913Z             },
2026-06-04T03:42:56.9513526Z             {
2026-06-04T03:42:56.9514289Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9514765Z               "line": 82
2026-06-04T03:42:56.9515207Z             },
2026-06-04T03:42:56.9515658Z             {
2026-06-04T03:42:56.9516544Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9517025Z               "line": 134
2026-06-04T03:42:56.9517478Z             },
2026-06-04T03:42:56.9517925Z             {
2026-06-04T03:42:56.9518600Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9519079Z               "line": 198
2026-06-04T03:42:56.9519581Z             },
2026-06-04T03:42:56.9520038Z             {
2026-06-04T03:42:56.9520703Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T03:42:56.9521187Z               "line": 226
2026-06-04T03:42:56.9521630Z             }
2026-06-04T03:42:56.9522084Z           ]
2026-06-04T03:42:56.9522541Z         },
2026-06-04T03:42:56.9523014Z         "int": {
2026-06-04T03:42:56.9523532Z           "complete": false,
2026-06-04T03:42:56.9524023Z           "evidence": []
2026-06-04T03:42:56.9524475Z         },
2026-06-04T03:42:56.9524929Z         "unit": {
2026-06-04T03:42:56.9525437Z           "complete": true,
2026-06-04T03:42:56.9525928Z           "evidence": [
2026-06-04T03:42:56.9526383Z             {
2026-06-04T03:42:56.9527140Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9527624Z               "line": 194
2026-06-04T03:42:56.9528082Z             },
2026-06-04T03:42:56.9528531Z             {
2026-06-04T03:42:56.9529317Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9529801Z               "line": 208
2026-06-04T03:42:56.9534915Z             },
2026-06-04T03:42:56.9535440Z             {
2026-06-04T03:42:56.9536212Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9536702Z               "line": 222
2026-06-04T03:42:56.9537150Z             },
2026-06-04T03:42:56.9537634Z             {
2026-06-04T03:42:56.9538379Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9538870Z               "line": 236
2026-06-04T03:42:56.9539452Z             },
2026-06-04T03:42:56.9539939Z             {
2026-06-04T03:42:56.9540710Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T03:42:56.9541192Z               "line": 270
2026-06-04T03:42:56.9541658Z             },
2026-06-04T03:42:56.9542107Z             {
2026-06-04T03:42:56.9542827Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T03:42:56.9543394Z               "line": 729
2026-06-04T03:42:56.9543928Z             }
2026-06-04T03:42:56.9544446Z           ]
2026-06-04T03:42:56.9544952Z         }
2026-06-04T03:42:56.9545467Z       }
2026-06-04T03:42:56.9545957Z     }
2026-06-04T03:42:56.9546451Z   ],
2026-06-04T03:42:56.9546993Z   "findings": []
2026-06-04T03:42:56.9547469Z }
2026-06-04T03:42:56.9732159Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T03:42:56.9732795Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T03:42:56.9753773Z shell: /usr/bin/bash -e {0}
2026-06-04T03:42:56.9754241Z ##[endgroup]
2026-06-04T03:42:56.9939111Z Requirement quality findings (16); 128 requirements queued for agent review:
2026-06-04T03:42:56.9941747Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9944088Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T03:42:56.9947498Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9950205Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9952102Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T03:42:56.9953957Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T03:42:56.9956488Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9959666Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9961779Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T03:42:56.9963538Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T03:42:56.9964930Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T03:42:56.9979373Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T03:42:56.9982091Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9984180Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T03:42:56.9985708Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T03:42:56.9987099Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T03:42:56.9987123Z 
2026-06-04T03:42:56.9987661Z # Requirement quality review
2026-06-04T03:42:56.9987679Z 
2026-06-04T03:42:56.9988853Z You are reviewing 128 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T03:42:56.9990416Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T03:42:56.9991640Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T03:42:56.9992454Z this command's output. Your task is the rubric items below.
2026-06-04T03:42:56.9992475Z 
2026-06-04T03:42:56.9992933Z ## Rubric
2026-06-04T03:42:56.9992955Z 
2026-06-04T03:42:56.9994316Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T03:42:56.9995563Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T03:42:56.9996644Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T03:42:56.9997371Z - **active-voice** — clear subject and active verb.
2026-06-04T03:42:56.9997392Z 
2026-06-04T03:42:56.9998597Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T03:42:56.9999071Z clear concerns.
2026-06-04T03:42:56.9999090Z 
2026-06-04T03:42:56.9999928Z ## Requirements
2026-06-04T03:42:56.9999947Z 
2026-06-04T03:42:57.0000414Z ### REQ-ARCH-1
2026-06-04T03:42:57.0001537Z - Title: Many small acyclically-layered crates
2026-06-04T03:42:57.0002071Z - Required stages: impl
2026-06-04T03:42:57.0002093Z 
2026-06-04T03:42:57.0002558Z ### REQ-ARCH-2
2026-06-04T03:42:57.0003428Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T03:42:57.0003941Z - Required stages: impl
2026-06-04T03:42:57.0004005Z 
2026-06-04T03:42:57.0004463Z ### REQ-ARCH-3
2026-06-04T03:42:57.0005596Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T03:42:57.0006122Z - Required stages: impl, unit
2026-06-04T03:42:57.0006144Z 
2026-06-04T03:42:57.0006616Z ### REQ-ARCH-4
2026-06-04T03:42:57.0007539Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T03:42:57.0008065Z - Required stages: impl, unit
2026-06-04T03:42:57.0008083Z 
2026-06-04T03:42:57.0008560Z ### REQ-DAEMON-1
2026-06-04T03:42:57.0009656Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T03:42:57.0010382Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0010405Z 
2026-06-04T03:42:57.0010875Z ### REQ-DAEMON-2
2026-06-04T03:42:57.0011584Z - Title: Broker/brain split for seamless self-update
2026-06-04T03:42:57.0012133Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0012152Z 
2026-06-04T03:42:57.0012614Z ### REQ-DAEMON-3
2026-06-04T03:42:57.0013609Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T03:42:57.0014147Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0014167Z 
2026-06-04T03:42:57.0014647Z ### REQ-DAEMON-4
2026-06-04T03:42:57.0015264Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T03:42:57.0015803Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0015822Z 
2026-06-04T03:42:57.0016295Z ### REQ-STORE-1
2026-06-04T03:42:57.0022271Z - 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-04T03:42:57.0022775Z - Required stages: 
2026-06-04T03:42:57.0022793Z 
2026-06-04T03:42:57.0023286Z ### REQ-MANIFEST-1
2026-06-04T03:42:57.0024298Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T03:42:57.0024865Z - Required stages: doc, impl, unit
2026-06-04T03:42:57.0024886Z 
2026-06-04T03:42:57.0025366Z ### REQ-SEAM-SPAWN
2026-06-04T03:42:57.0025890Z - Title: spawn-session seam
2026-06-04T03:42:57.0026421Z - Required stages: impl, unit
2026-06-04T03:42:57.0026441Z 
2026-06-04T03:42:57.0026932Z ### REQ-SEAM-POSTSPAWN
2026-06-04T03:42:57.0027617Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T03:42:57.0028142Z - Required stages: impl, unit
2026-06-04T03:42:57.0028161Z 
2026-06-04T03:42:57.0028657Z ### REQ-SEAM-PSYCHE
2026-06-04T03:42:57.0029583Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T03:42:57.0030280Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0030313Z 
2026-06-04T03:42:57.0030803Z ### REQ-SEAM-HISTORY
2026-06-04T03:42:57.0031786Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T03:42:57.0032440Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0032459Z 
2026-06-04T03:42:57.0032955Z ### REQ-SEAM-ACTIVITY
2026-06-04T03:42:57.0033938Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T03:42:57.0034475Z - Required stages: impl, unit
2026-06-04T03:42:57.0034495Z 
2026-06-04T03:42:57.0034981Z ### REQ-SEAM-INJECT
2026-06-04T03:42:57.0035849Z - Title: inject-input methods configurable per activity-state
2026-06-04T03:42:57.0036385Z - Required stages: impl, unit
2026-06-04T03:42:57.0036404Z 
2026-06-04T03:42:57.0036885Z ### REQ-SEAM-RESUME
2026-06-04T03:42:57.0037885Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T03:42:57.0038408Z - Required stages: impl, unit
2026-06-04T03:42:57.0038424Z 
2026-06-04T03:42:57.0038933Z ### REQ-SEAM-CAPABILITY
2026-06-04T03:42:57.0040261Z - Title: Hostable endpoint-types capability declaration
2026-06-04T03:42:57.0040811Z - Required stages: impl, unit
2026-06-04T03:42:57.0040834Z 
2026-06-04T03:42:57.0041327Z ### REQ-SEAM-UPDATE
2026-06-04T03:42:57.0042197Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T03:42:57.0042744Z - Required stages: impl, unit
2026-06-04T03:42:57.0042762Z 
2026-06-04T03:42:57.0043229Z ### REQ-API-1
2026-06-04T03:42:57.0044152Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T03:42:57.0044699Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0044720Z 
2026-06-04T03:42:57.0045173Z ### REQ-API-2
2026-06-04T03:42:57.0046321Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T03:42:57.0046864Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0046885Z 
2026-06-04T03:42:57.0047348Z ### REQ-API-3
2026-06-04T03:42:57.0048065Z - Title: commune/signoff are file-drops, not commands
2026-06-04T03:42:57.0048621Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0048638Z 
2026-06-04T03:42:57.0049109Z ### REQ-START-1
2026-06-04T03:42:57.0050492Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T03:42:57.0051026Z - Required stages: impl, unit
2026-06-04T03:42:57.0051193Z 
2026-06-04T03:42:57.0051676Z ### REQ-START-2
2026-06-04T03:42:57.0052387Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T03:42:57.0052933Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0052953Z 
2026-06-04T03:42:57.0053423Z ### REQ-START-3
2026-06-04T03:42:57.0054346Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T03:42:57.0054902Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0054921Z 
2026-06-04T03:42:57.0055391Z ### REQ-START-4
2026-06-04T03:42:57.0056095Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T03:42:57.0056621Z - Required stages: impl, unit
2026-06-04T03:42:57.0056638Z 
2026-06-04T03:42:57.0057099Z ### REQ-EP-1
2026-06-04T03:42:57.0057785Z - Title: Day-one endpoint types; open type system
2026-06-04T03:42:57.0058308Z - Required stages: impl, unit
2026-06-04T03:42:57.0058328Z 
2026-06-04T03:42:57.0058792Z ### REQ-EP-2
2026-06-04T03:42:57.0060026Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T03:42:57.0060575Z - Required stages: impl, unit
2026-06-04T03:42:57.0060593Z 
2026-06-04T03:42:57.0061045Z ### REQ-EP-3
2026-06-04T03:42:57.0062063Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T03:42:57.0062600Z - Required stages: impl, unit
2026-06-04T03:42:57.0062623Z 
2026-06-04T03:42:57.0063073Z ### REQ-EP-4
2026-06-04T03:42:57.0063839Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T03:42:57.0064362Z - Required stages: impl, unit
2026-06-04T03:42:57.0064379Z 
2026-06-04T03:42:57.0064845Z ### REQ-EP-5
2026-06-04T03:42:57.0069180Z - 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-04T03:42:57.0069886Z - Required stages: 
2026-06-04T03:42:57.0069905Z 
2026-06-04T03:42:57.0070407Z ### REQ-INST-1
2026-06-04T03:42:57.0071261Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T03:42:57.0071788Z - Required stages: 
2026-06-04T03:42:57.0071805Z 
2026-06-04T03:42:57.0072286Z ### REQ-INST-2
2026-06-04T03:42:57.0072899Z - Title: Per-node files, synced Psyche mind
2026-06-04T03:42:57.0073400Z - Required stages: 
2026-06-04T03:42:57.0073420Z 
2026-06-04T03:42:57.0073894Z ### REQ-INST-3
2026-06-04T03:42:57.0074683Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T03:42:57.0075191Z - Required stages: 
2026-06-04T03:42:57.0075209Z 
2026-06-04T03:42:57.0075682Z ### REQ-INST-4
2026-06-04T03:42:57.0076654Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T03:42:57.0077156Z - Required stages: 
2026-06-04T03:42:57.0077343Z 
2026-06-04T03:42:57.0077845Z ### REQ-INST-5
2026-06-04T03:42:57.0078832Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T03:42:57.0079377Z - Required stages: 
2026-06-04T03:42:57.0079397Z 
2026-06-04T03:42:57.0080040Z ### REQ-INST-6
2026-06-04T03:42:57.0081060Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T03:42:57.0081553Z - Required stages: 
2026-06-04T03:42:57.0081571Z 
2026-06-04T03:42:57.0082043Z ### REQ-INST-7
2026-06-04T03:42:57.0082736Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T03:42:57.0083279Z - Required stages: impl, unit
2026-06-04T03:42:57.0083297Z 
2026-06-04T03:42:57.0083758Z ### REQ-INST-8
2026-06-04T03:42:57.0084552Z - Title: Remote-control mode distinct from local operation
2026-06-04T03:42:57.0085081Z - Required stages: impl, unit
2026-06-04T03:42:57.0085100Z 
2026-06-04T03:42:57.0085571Z ### REQ-INST-9
2026-06-04T03:42:57.0086604Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T03:42:57.0087127Z - Required stages: impl, unit
2026-06-04T03:42:57.0087145Z 
2026-06-04T03:42:57.0087616Z ### REQ-INST-10
2026-06-04T03:42:57.0088790Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T03:42:57.0089355Z - Required stages: impl, unit
2026-06-04T03:42:57.0089758Z 
2026-06-04T03:42:57.0090414Z ### REQ-INST-11
2026-06-04T03:42:57.0091590Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T03:42:57.0092125Z - Required stages: impl, unit
2026-06-04T03:42:57.0092143Z 
2026-06-04T03:42:57.0092598Z ### REQ-INST-12
2026-06-04T03:42:57.0094286Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T03:42:57.0094816Z - Required stages: impl, unit
2026-06-04T03:42:57.0094835Z 
2026-06-04T03:42:57.0095287Z ### REQ-INST-13
2026-06-04T03:42:57.0096279Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T03:42:57.0096809Z - Required stages: impl, unit
2026-06-04T03:42:57.0096828Z 
2026-06-04T03:42:57.0097299Z ### REQ-INST-14
2026-06-04T03:42:57.0099990Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T03:42:57.0100496Z - Required stages: 
2026-06-04T03:42:57.0100514Z 
2026-06-04T03:42:57.0100984Z ### REQ-INST-15
2026-06-04T03:42:57.0105640Z - 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-04T03:42:57.0106139Z - Required stages: 
2026-06-04T03:42:57.0106156Z 
2026-06-04T03:42:57.0106623Z ### REQ-REACH-1
2026-06-04T03:42:57.0107371Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T03:42:57.0107902Z - Required stages: impl, unit
2026-06-04T03:42:57.0107935Z 
2026-06-04T03:42:57.0108399Z ### REQ-REACH-2
2026-06-04T03:42:57.0109237Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T03:42:57.0109926Z - Required stages: 
2026-06-04T03:42:57.0110106Z 
2026-06-04T03:42:57.0110565Z ### REQ-MSG-1
2026-06-04T03:42:57.0113350Z - 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-04T03:42:57.0113907Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0113928Z 
2026-06-04T03:42:57.0114392Z ### REQ-MSG-2
2026-06-04T03:42:57.0115920Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T03:42:57.0116441Z - Required stages: impl, unit
2026-06-04T03:42:57.0116458Z 
2026-06-04T03:42:57.0116924Z ### REQ-MSG-3
2026-06-04T03:42:57.0119608Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T03:42:57.0120340Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0120361Z 
2026-06-04T03:42:57.0120860Z ### REQ-NODE-IDENTITY
2026-06-04T03:42:57.0122122Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T03:42:57.0122669Z - Required stages: impl, unit
2026-06-04T03:42:57.0122687Z 
2026-06-04T03:42:57.0123163Z ### REQ-NET-1
2026-06-04T03:42:57.0124166Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T03:42:57.0124699Z - Required stages: impl, unit
2026-06-04T03:42:57.0124718Z 
2026-06-04T03:42:57.0125177Z ### REQ-NET-2
2026-06-04T03:42:57.0126133Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T03:42:57.0126631Z - Required stages: impl
2026-06-04T03:42:57.0126649Z 
2026-06-04T03:42:57.0127118Z ### REQ-NET-3
2026-06-04T03:42:57.0127990Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T03:42:57.0128472Z - Required stages: 
2026-06-04T03:42:57.0128509Z 
2026-06-04T03:42:57.0128984Z ### REQ-PAIR-1
2026-06-04T03:42:57.0129730Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T03:42:57.0130449Z - Required stages: impl, unit
2026-06-04T03:42:57.0130467Z 
2026-06-04T03:42:57.0130948Z ### REQ-PAIR-2
2026-06-04T03:42:57.0131652Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T03:42:57.0132350Z - Required stages: impl, unit
2026-06-04T03:42:57.0132369Z 
2026-06-04T03:42:57.0132835Z ### REQ-PAIR-3
2026-06-04T03:42:57.0133603Z - Title: Fetch current pairing code from any paired node
2026-06-04T03:42:57.0134131Z - Required stages: impl, unit
2026-06-04T03:42:57.0134164Z 
2026-06-04T03:42:57.0134628Z ### REQ-PAIR-4
2026-06-04T03:42:57.0135197Z - Title: Subnet naming on first pairing
2026-06-04T03:42:57.0135719Z - Required stages: impl, unit
2026-06-04T03:42:57.0135737Z 
2026-06-04T03:42:57.0136210Z ### REQ-PAIR-5
2026-06-04T03:42:57.0137987Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T03:42:57.0138525Z - Required stages: impl, unit
2026-06-04T03:42:57.0138545Z 
2026-06-04T03:42:57.0139020Z ### REQ-PAIR-6
2026-06-04T03:42:57.0140905Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T03:42:57.0141450Z - Required stages: impl, unit
2026-06-04T03:42:57.0141468Z 
2026-06-04T03:42:57.0141929Z ### REQ-PAIR-7
2026-06-04T03:42:57.0142787Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T03:42:57.0143283Z - Required stages: 
2026-06-04T03:42:57.0143300Z 
2026-06-04T03:42:57.0143757Z ### REQ-SEC-1
2026-06-04T03:42:57.0146173Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T03:42:57.0146659Z - Required stages: 
2026-06-04T03:42:57.0146677Z 
2026-06-04T03:42:57.0147151Z ### REQ-NOTIF-1
2026-06-04T03:42:57.0149406Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T03:42:57.0149899Z - Required stages: 
2026-06-04T03:42:57.0149917Z 
2026-06-04T03:42:57.0150389Z ### REQ-NOTIF-2
2026-06-04T03:42:57.0151915Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T03:42:57.0152429Z - Required stages: 
2026-06-04T03:42:57.0152445Z 
2026-06-04T03:42:57.0152917Z ### REQ-UPD-1
2026-06-04T03:42:57.0153501Z - Title: Peer-propagated update over P2P
2026-06-04T03:42:57.0153992Z - Required stages: 
2026-06-04T03:42:57.0154008Z 
2026-06-04T03:42:57.0154467Z ### REQ-UPD-2
2026-06-04T03:42:57.0155219Z - Title: All binaries signature-verified before handoff
2026-06-04T03:42:57.0155758Z - Required stages: impl, unit
2026-06-04T03:42:57.0155777Z 
2026-06-04T03:42:57.0156237Z ### REQ-UPD-3
2026-06-04T03:42:57.0157181Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T03:42:57.0157734Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0157914Z 
2026-06-04T03:42:57.0158401Z ### REQ-UPD-4
2026-06-04T03:42:57.0159456Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T03:42:57.0159984Z - Required stages: impl, unit
2026-06-04T03:42:57.0160002Z 
2026-06-04T03:42:57.0160468Z ### REQ-UPD-5
2026-06-04T03:42:57.0161192Z - Title: spt-core ripple-updates registered adapters
2026-06-04T03:42:57.0161725Z - Required stages: impl, unit
2026-06-04T03:42:57.0161745Z 
2026-06-04T03:42:57.0162204Z ### REQ-TERM-1
2026-06-04T03:42:57.0163135Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T03:42:57.0163665Z - Required stages: impl, unit
2026-06-04T03:42:57.0163684Z 
2026-06-04T03:42:57.0164147Z ### REQ-TERM-2
2026-06-04T03:42:57.0165141Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T03:42:57.0165661Z - Required stages: impl, unit
2026-06-04T03:42:57.0165682Z 
2026-06-04T03:42:57.0166153Z ### REQ-TERM-3
2026-06-04T03:42:57.0166889Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T03:42:57.0167413Z - Required stages: impl, unit
2026-06-04T03:42:57.0167433Z 
2026-06-04T03:42:57.0167898Z ### REQ-TERM-4
2026-06-04T03:42:57.0170101Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T03:42:57.0170837Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0170859Z 
2026-06-04T03:42:57.0171338Z ### REQ-FRONT-1
2026-06-04T03:42:57.0172266Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T03:42:57.0172764Z - Required stages: 
2026-06-04T03:42:57.0172782Z 
2026-06-04T03:42:57.0173259Z ### REQ-INSTALL-1
2026-06-04T03:42:57.0174312Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T03:42:57.0174816Z - Required stages: 
2026-06-04T03:42:57.0174835Z 
2026-06-04T03:42:57.0175309Z ### REQ-INSTALL-2
2026-06-04T03:42:57.0176031Z - Title: Marketplace-repackaging-friendly install
2026-06-04T03:42:57.0176529Z - Required stages: 
2026-06-04T03:42:57.0176546Z 
2026-06-04T03:42:57.0177031Z ### REQ-INSTALL-3
2026-06-04T03:42:57.0177759Z - Title: Idempotent + interactive-optional first run
2026-06-04T03:42:57.0178241Z - Required stages: 
2026-06-04T03:42:57.0178258Z 
2026-06-04T03:42:57.0178746Z ### REQ-INSTALL-4
2026-06-04T03:42:57.0182853Z - 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-04T03:42:57.0183358Z - Required stages: 
2026-06-04T03:42:57.0183375Z 
2026-06-04T03:42:57.0183865Z ### REQ-MIGRATE-1
2026-06-04T03:42:57.0184769Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T03:42:57.0185265Z - Required stages: 
2026-06-04T03:42:57.0185282Z 
2026-06-04T03:42:57.0185741Z ### REQ-INFRA-1
2026-06-04T03:42:57.0186720Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T03:42:57.0187232Z - Required stages: 
2026-06-04T03:42:57.0187250Z 
2026-06-04T03:42:57.0187713Z ### REQ-DOCS-1
2026-06-04T03:42:57.0188823Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T03:42:57.0189343Z - Required stages: 
2026-06-04T03:42:57.0189374Z 
2026-06-04T03:42:57.0189851Z ### REQ-DOCS-2
2026-06-04T03:42:57.0190701Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T03:42:57.0191193Z - Required stages: 
2026-06-04T03:42:57.0191209Z 
2026-06-04T03:42:57.0191680Z ### REQ-DOCS-3
2026-06-04T03:42:57.0192613Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T03:42:57.0193112Z - Required stages: 
2026-06-04T03:42:57.0193131Z 
2026-06-04T03:42:57.0193593Z ### REQ-DOCS-4
2026-06-04T03:42:57.0194673Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T03:42:57.0195169Z - Required stages: 
2026-06-04T03:42:57.0195185Z 
2026-06-04T03:42:57.0195654Z ### REQ-DOCS-5
2026-06-04T03:42:57.0196916Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T03:42:57.0197432Z - Required stages: 
2026-06-04T03:42:57.0197452Z 
2026-06-04T03:42:57.0198024Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T03:42:57.0199061Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T03:42:57.0199677Z - Required stages: impl, unit
2026-06-04T03:42:57.0199699Z 
2026-06-04T03:42:57.0200270Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T03:42:57.0201056Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T03:42:57.0201589Z - Required stages: impl, unit
2026-06-04T03:42:57.0201607Z 
2026-06-04T03:42:57.0202159Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T03:42:57.0202838Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T03:42:57.0203334Z - Required stages: 
2026-06-04T03:42:57.0203350Z 
2026-06-04T03:42:57.0203880Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T03:42:57.0204894Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T03:42:57.0205438Z - Required stages: impl, unit
2026-06-04T03:42:57.0205457Z 
2026-06-04T03:42:57.0205982Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T03:42:57.0206963Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T03:42:57.0207486Z - Required stages: impl, unit
2026-06-04T03:42:57.0207651Z 
2026-06-04T03:42:57.0208243Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T03:42:57.0209335Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T03:42:57.0209822Z - Required stages: 
2026-06-04T03:42:57.0209840Z 
2026-06-04T03:42:57.0210396Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T03:42:57.0211078Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T03:42:57.0211564Z - Required stages: 
2026-06-04T03:42:57.0211584Z 
2026-06-04T03:42:57.0212155Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T03:42:57.0213022Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T03:42:57.0213576Z - Required stages: impl, unit
2026-06-04T03:42:57.0213596Z 
2026-06-04T03:42:57.0214125Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T03:42:57.0214897Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T03:42:57.0215419Z - Required stages: impl, int
2026-06-04T03:42:57.0215436Z 
2026-06-04T03:42:57.0216001Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T03:42:57.0222999Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T03:42:57.0223657Z - Required stages: impl, unit
2026-06-04T03:42:57.0223678Z 
2026-06-04T03:42:57.0224298Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T03:42:57.0225194Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T03:42:57.0225743Z - Required stages: impl, unit
2026-06-04T03:42:57.0225765Z 
2026-06-04T03:42:57.0226347Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T03:42:57.0227362Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T03:42:57.0227899Z - Required stages: impl, unit
2026-06-04T03:42:57.0227920Z 
2026-06-04T03:42:57.0228533Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T03:42:57.0229452Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T03:42:57.0229990Z - Required stages: impl, unit
2026-06-04T03:42:57.0230024Z 
2026-06-04T03:42:57.0230608Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T03:42:57.0231578Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T03:42:57.0232106Z - Required stages: impl, unit
2026-06-04T03:42:57.0232124Z 
2026-06-04T03:42:57.0232714Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T03:42:57.0233910Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T03:42:57.0234476Z - Required stages: impl, unit
2026-06-04T03:42:57.0234497Z 
2026-06-04T03:42:57.0235018Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T03:42:57.0236408Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T03:42:57.0236954Z - Required stages: impl, unit
2026-06-04T03:42:57.0237289Z 
2026-06-04T03:42:57.0237890Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T03:42:57.0238948Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T03:42:57.0239542Z - Required stages: impl, unit
2026-06-04T03:42:57.0239563Z 
2026-06-04T03:42:57.0240132Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T03:42:57.0241631Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T03:42:57.0242165Z - Required stages: impl, unit
2026-06-04T03:42:57.0242197Z 
2026-06-04T03:42:57.0242770Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T03:42:57.0244818Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T03:42:57.0245369Z - Required stages: doc, impl, unit
2026-06-04T03:42:57.0245387Z 
2026-06-04T03:42:57.0245975Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T03:42:57.0248378Z - 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-04T03:42:57.0248926Z - Required stages: impl, unit
2026-06-04T03:42:57.0248945Z 
2026-06-04T03:42:57.0249586Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T03:42:57.0250240Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T03:42:57.0250994Z - Required stages: impl, unit
2026-06-04T03:42:57.0251018Z 
2026-06-04T03:42:57.0251565Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T03:42:57.0252259Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T03:42:57.0252814Z - Required stages: impl, unit
2026-06-04T03:42:57.0252833Z 
2026-06-04T03:42:57.0253887Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T03:42:57.0255984Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T03:42:57.0257950Z - Required stages: impl, unit
2026-06-04T03:42:57.0258835Z 
2026-06-04T03:42:57.0259650Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T03:42:57.0261854Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T03:42:57.0264014Z - Required stages: impl, unit
2026-06-04T03:42:57.0265265Z 
2026-06-04T03:42:57.0265948Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T03:42:57.0267791Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T03:42:57.0269850Z - Required stages: impl, unit
2026-06-04T03:42:57.0270821Z 
2026-06-04T03:42:57.0271408Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T03:42:57.0273350Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T03:42:57.0275421Z - Required stages: impl, unit
2026-06-04T03:42:57.0276521Z 
2026-06-04T03:42:57.0277219Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T03:42:57.0279564Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T03:42:57.0281992Z - Required stages: impl, unit
2026-06-04T03:42:57.0283161Z 
2026-06-04T03:42:57.0283698Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T03:42:57.0285595Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T03:42:57.0287717Z - Required stages: impl, unit
2026-06-04T03:42:57.0288577Z 
2026-06-04T03:42:57.0289199Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T03:42:57.0291357Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T03:42:57.0293304Z - Required stages: impl, unit
2026-06-04T03:42:57.0294161Z 
2026-06-04T03:42:57.0294780Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T03:42:57.0296564Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T03:42:57.0298325Z - Required stages: impl, unit
2026-06-04T03:42:57.0299205Z 
2026-06-04T03:42:57.0299823Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T03:42:57.0302051Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T03:42:57.0304323Z - Required stages: impl, unit
2026-06-04T03:42:57.0305184Z 
2026-06-04T03:42:57.0305709Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T03:42:57.0307706Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T03:42:57.0310024Z - Required stages: impl, unit
2026-06-04T03:42:57.0311140Z 
2026-06-04T03:42:57.0311723Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T03:42:57.0313792Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T03:42:57.0316048Z - Required stages: impl, unit
2026-06-04T03:42:57.0316904Z 
2026-06-04T03:42:57.0317484Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T03:42:57.0320022Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T03:42:57.0322651Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0323571Z 
2026-06-04T03:42:57.0324134Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T03:42:57.0326501Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T03:42:57.0329078Z - Required stages: impl, unit
2026-06-04T03:42:57.0329981Z 
2026-06-04T03:42:57.0330578Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T03:42:57.0334233Z - 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-04T03:42:57.0337957Z - Required stages: impl, unit, int
2026-06-04T03:42:57.0338887Z 
2026-06-04T03:42:57.0339525Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T03:42:57.0345374Z - 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-04T03:42:57.0351051Z - Required stages: 
2026-06-04T03:42:57.0351744Z 
2026-06-04T03:42:57.0352356Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T03:42:57.0357664Z - 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-04T03:42:57.0362957Z - Required stages: 
2026-06-04T03:42:57.0363667Z 
2026-06-04T03:42:57.0364267Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T03:42:57.0369059Z - 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-04T03:42:57.0373814Z - Required stages: impl, unit
2026-06-04T03:42:57.0374673Z 
2026-06-04T03:42:57.0375239Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T03:42:57.0379646Z - 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-04T03:42:57.0384115Z - Required stages: impl, unit
2026-06-04T03:42:57.0384960Z 
2026-06-04T03:42:57.0391628Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T03:42:57.0397855Z - 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-04T03:42:57.0403769Z - Required stages: impl, unit
2026-06-04T03:42:57.0404622Z 
2026-06-04T03:42:57.0405174Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T03:42:57.0410679Z - 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-04T03:42:57.0416006Z - Required stages: doc, impl, unit
2026-06-04T03:42:57.0416907Z 
2026-06-04T03:42:57.0417404Z ## How to report back
2026-06-04T03:42:57.0418109Z 
2026-06-04T03:42:57.0419053Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T03:42:57.0420497Z 
2026-06-04T03:42:57.0420941Z     {
2026-06-04T03:42:57.0422004Z       "code": "requirement_quality",
2026-06-04T03:42:57.0423772Z       "requirementId": "REQ-...",
2026-06-04T03:42:57.0425593Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T03:42:57.0427543Z       "message": "<short reason>",
2026-06-04T03:42:57.0429052Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T03:42:57.0430667Z     }
2026-06-04T03:42:57.0431223Z 
2026-06-04T03:42:57.0432267Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T03:42:57.0434576Z deterministic findings above don't need to be repeated.
2026-06-04T03:42:57.0730348Z Post job cleanup.
2026-06-04T03:42:57.2053583Z [command]/usr/bin/git version
2026-06-04T03:42:57.2115069Z git version 2.34.1
2026-06-04T03:42:57.2173677Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/bf60af7e-cde6-47c9-aa28-41aa40b05114/.gitconfig'
2026-06-04T03:42:57.2204817Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/bf60af7e-cde6-47c9-aa28-41aa40b05114' before making global git config changes
2026-06-04T03:42:57.2212001Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T03:42:57.2216170Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T03:42:57.2278672Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T03:42:57.2334639Z [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-04T03:42:57.2624700Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T03:42:57.2672001Z http.https://github.com/.extraheader
2026-06-04T03:42:57.2678787Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T03:42:57.2742736Z [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-04T03:42:57.3054436Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T03:42:57.3101522Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T03:42:57.3580068Z Cleaning up orphan processes
