﻿2026-06-04T14:14:30.0972720Z Current runner version: '2.334.0'
2026-06-04T14:14:30.0982104Z Runner name: 'gravity'
2026-06-04T14:14:30.0983222Z Runner group name: 'Default'
2026-06-04T14:14:30.0984653Z Machine name: 'gravity-linux'
2026-06-04T14:14:30.0988589Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T14:14:30.0992678Z Contents: read
2026-06-04T14:14:30.0993518Z Metadata: read
2026-06-04T14:14:30.0994293Z Packages: read
2026-06-04T14:14:30.0995110Z ##[endgroup]
2026-06-04T14:14:30.0998537Z Secret source: Actions
2026-06-04T14:14:30.0999812Z Prepare workflow directory
2026-06-04T14:14:30.1754126Z Prepare all required actions
2026-06-04T14:14:30.1818443Z Getting action download info
2026-06-04T14:14:30.7733273Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T14:14:31.6431833Z Complete job name: traceability
2026-06-04T14:14:31.7803562Z ##[group]Run actions/checkout@v5
2026-06-04T14:14:31.7805233Z with:
2026-06-04T14:14:31.7805934Z   repository: SaberMage/spt-core
2026-06-04T14:14:31.7813179Z   token: ***
2026-06-04T14:14:31.7813876Z   ssh-strict: true
2026-06-04T14:14:31.7814560Z   ssh-user: git
2026-06-04T14:14:31.7815275Z   persist-credentials: true
2026-06-04T14:14:31.7816033Z   clean: true
2026-06-04T14:14:31.7816733Z   sparse-checkout-cone-mode: true
2026-06-04T14:14:31.7817543Z   fetch-depth: 1
2026-06-04T14:14:31.7818226Z   fetch-tags: false
2026-06-04T14:14:31.7818918Z   show-progress: true
2026-06-04T14:14:31.7819831Z   lfs: false
2026-06-04T14:14:31.7820481Z   submodules: false
2026-06-04T14:14:31.7821172Z   set-safe-directory: true
2026-06-04T14:14:31.7822489Z ##[endgroup]
2026-06-04T14:14:31.9349131Z Syncing repository: SaberMage/spt-core
2026-06-04T14:14:31.9353381Z ##[group]Getting Git version info
2026-06-04T14:14:31.9354915Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T14:14:31.9356980Z [command]/usr/bin/git version
2026-06-04T14:14:31.9357920Z git version 2.34.1
2026-06-04T14:14:31.9361469Z ##[endgroup]
2026-06-04T14:14:31.9399942Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/a992fb13-8e05-4593-a512-5bb5fe6fc84f/.gitconfig'
2026-06-04T14:14:31.9415965Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/a992fb13-8e05-4593-a512-5bb5fe6fc84f' before making global git config changes
2026-06-04T14:14:31.9418656Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T14:14:31.9421271Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T14:14:31.9466231Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T14:14:31.9495938Z https://github.com/SaberMage/spt-core
2026-06-04T14:14:31.9515775Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T14:14:31.9522230Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T14:14:31.9552035Z refs/heads/dev-freeform
2026-06-04T14:14:31.9565214Z [command]/usr/bin/git checkout --detach
2026-06-04T14:14:31.9619476Z HEAD is now at 92fc261 docs(plan): mark M4-D9-3/4/5 complete (budget measured, resources, home+fork)
2026-06-04T14:14:31.9676606Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T14:14:31.9715448Z Deleted branch dev-freeform (was 92fc261).
2026-06-04T14:14:31.9762734Z ##[endgroup]
2026-06-04T14:14:31.9767076Z [command]/usr/bin/git submodule status
2026-06-04T14:14:32.0004545Z ##[group]Cleaning the repository
2026-06-04T14:14:32.0010235Z [command]/usr/bin/git clean -ffdx
2026-06-04T14:14:32.0050889Z Removing traceable-reqs
2026-06-04T14:14:32.0064925Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T14:14:32.0118363Z HEAD is now at 92fc261 docs(plan): mark M4-D9-3/4/5 complete (budget measured, resources, home+fork)
2026-06-04T14:14:32.0124759Z ##[endgroup]
2026-06-04T14:14:32.0128806Z ##[group]Disabling automatic garbage collection
2026-06-04T14:14:32.0135495Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T14:14:32.0176261Z ##[endgroup]
2026-06-04T14:14:32.0178662Z ##[group]Setting up auth
2026-06-04T14:14:32.0189253Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T14:14:32.0235719Z [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-04T14:14:32.0496704Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T14:14:32.0544911Z [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-04T14:14:32.0790774Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T14:14:32.0832077Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T14:14:32.1078609Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T14:14:32.1140126Z ##[endgroup]
2026-06-04T14:14:32.1141489Z ##[group]Fetching the repository
2026-06-04T14:14:32.1153395Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +107240eea81599ba191fb2cd2fe93d9f2c8a0390:refs/remotes/origin/dev-freeform
2026-06-04T14:14:32.9500176Z From https://github.com/SaberMage/spt-core
2026-06-04T14:14:32.9503827Z  + 92fc261...107240e 107240eea81599ba191fb2cd2fe93d9f2c8a0390 -> origin/dev-freeform  (forced update)
2026-06-04T14:14:32.9531958Z ##[endgroup]
2026-06-04T14:14:32.9534278Z ##[group]Determining the checkout info
2026-06-04T14:14:32.9536851Z ##[endgroup]
2026-06-04T14:14:32.9543867Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T14:14:32.9612747Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T14:14:32.9654818Z ##[group]Checking out the ref
2026-06-04T14:14:32.9660682Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T14:14:32.9731676Z Warning: you are leaving 1 commit behind, not connected to
2026-06-04T14:14:32.9734406Z any of your branches:
2026-06-04T14:14:32.9735572Z 
2026-06-04T14:14:32.9737439Z   92fc261 docs(plan): mark M4-D9-3/4/5 complete (budget measured, resources, home+fork)
2026-06-04T14:14:32.9739694Z 
2026-06-04T14:14:32.9740799Z If you want to keep it by creating a new branch, this may be a good time
2026-06-04T14:14:32.9742987Z to do so with:
2026-06-04T14:14:32.9743660Z 
2026-06-04T14:14:32.9744312Z  git branch <new-branch-name> 92fc261
2026-06-04T14:14:32.9745499Z 
2026-06-04T14:14:32.9753090Z Switched to a new branch 'dev-freeform'
2026-06-04T14:14:32.9756699Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T14:14:32.9872804Z ##[endgroup]
2026-06-04T14:14:32.9880985Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T14:14:32.9883454Z 107240eea81599ba191fb2cd2fe93d9f2c8a0390
2026-06-04T14:14:33.0227257Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T14:14:33.0230135Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T14:14:33.0232330Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T14:14:33.0234264Z [36;1melse[0m
2026-06-04T14:14:33.0235879Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T14:14:33.0238238Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T14:14:33.0240604Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T14:14:33.0242070Z [36;1mfi[0m
2026-06-04T14:14:33.0269931Z shell: /usr/bin/bash -e {0}
2026-06-04T14:14:33.0271333Z env:
2026-06-04T14:14:33.0274192Z   GH_TOKEN: ***
2026-06-04T14:14:33.0275381Z ##[endgroup]
2026-06-04T14:14:33.0501328Z ##[group]Run ./traceable-reqs check --json
2026-06-04T14:14:33.0503086Z [36;1m./traceable-reqs check --json[0m
2026-06-04T14:14:33.0526720Z shell: /usr/bin/bash -e {0}
2026-06-04T14:14:33.0528058Z ##[endgroup]
2026-06-04T14:14:33.0739911Z {
2026-06-04T14:14:33.0741176Z   "schemaVersion": 1,
2026-06-04T14:14:33.0742524Z   "summary": {
2026-06-04T14:14:33.0743842Z     "requirementCount": 129,
2026-06-04T14:14:33.0745816Z     "completeCount": 129,
2026-06-04T14:14:33.0747224Z     "incompleteCount": 0,
2026-06-04T14:14:33.0748553Z     "findingCount": 0
2026-06-04T14:14:33.0749844Z   },
2026-06-04T14:14:33.0750965Z   "requirements": [
2026-06-04T14:14:33.0752175Z     {
2026-06-04T14:14:33.0766644Z       "id": "REQ-API-1",
2026-06-04T14:14:33.0768878Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T14:14:33.0771110Z       "requiredStages": [
2026-06-04T14:14:33.0772419Z         "impl",
2026-06-04T14:14:33.0773558Z         "unit",
2026-06-04T14:14:33.0774838Z         "int"
2026-06-04T14:14:33.0775960Z       ],
2026-06-04T14:14:33.0777045Z       "stages": {
2026-06-04T14:14:33.0778220Z         "doc": {
2026-06-04T14:14:33.0779558Z           "complete": false,
2026-06-04T14:14:33.0781069Z           "evidence": []
2026-06-04T14:14:33.0782414Z         },
2026-06-04T14:14:33.0783563Z         "impl": {
2026-06-04T14:14:33.0784834Z           "complete": true,
2026-06-04T14:14:33.0786262Z           "evidence": [
2026-06-04T14:14:33.0787754Z             {
2026-06-04T14:14:33.0789486Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T14:14:33.0791275Z               "line": 15
2026-06-04T14:14:33.0792538Z             }
2026-06-04T14:14:33.0793644Z           ]
2026-06-04T14:14:33.0794665Z         },
2026-06-04T14:14:33.0795710Z         "int": {
2026-06-04T14:14:33.0796857Z           "complete": true,
2026-06-04T14:14:33.0798167Z           "evidence": [
2026-06-04T14:14:33.0799435Z             {
2026-06-04T14:14:33.0800752Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.0802468Z               "line": 13
2026-06-04T14:14:33.0803684Z             }
2026-06-04T14:14:33.0804766Z           ]
2026-06-04T14:14:33.0805827Z         },
2026-06-04T14:14:33.0806872Z         "unit": {
2026-06-04T14:14:33.0808018Z           "complete": true,
2026-06-04T14:14:33.0809360Z           "evidence": [
2026-06-04T14:14:33.0810570Z             {
2026-06-04T14:14:33.0811802Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T14:14:33.0813440Z               "line": 346
2026-06-04T14:14:33.0814686Z             },
2026-06-04T14:14:33.0815772Z             {
2026-06-04T14:14:33.0816995Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T14:14:33.0818628Z               "line": 352
2026-06-04T14:14:33.0819908Z             },
2026-06-04T14:14:33.0820994Z             {
2026-06-04T14:14:33.0822225Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T14:14:33.0823859Z               "line": 363
2026-06-04T14:14:33.0825107Z             }
2026-06-04T14:14:33.0826168Z           ]
2026-06-04T14:14:33.0827205Z         }
2026-06-04T14:14:33.0828240Z       }
2026-06-04T14:14:33.0829278Z     },
2026-06-04T14:14:33.0830318Z     {
2026-06-04T14:14:33.0831365Z       "id": "REQ-API-2",
2026-06-04T14:14:33.0833443Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T14:14:33.0835872Z       "requiredStages": [
2026-06-04T14:14:33.0837145Z         "impl",
2026-06-04T14:14:33.0838258Z         "unit",
2026-06-04T14:14:33.0839582Z         "int"
2026-06-04T14:14:33.0840642Z       ],
2026-06-04T14:14:33.0841658Z       "stages": {
2026-06-04T14:14:33.0842742Z         "doc": {
2026-06-04T14:14:33.0843880Z           "complete": false,
2026-06-04T14:14:33.0845169Z           "evidence": []
2026-06-04T14:14:33.0846357Z         },
2026-06-04T14:14:33.0847380Z         "impl": {
2026-06-04T14:14:33.0848503Z           "complete": true,
2026-06-04T14:14:33.0850165Z           "evidence": [
2026-06-04T14:14:33.0851800Z             {
2026-06-04T14:14:33.0853112Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T14:14:33.0854761Z               "line": 15
2026-06-04T14:14:33.0856137Z             },
2026-06-04T14:14:33.0857201Z             {
2026-06-04T14:14:33.0858430Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.0860463Z               "line": 20
2026-06-04T14:14:33.0861653Z             },
2026-06-04T14:14:33.0862697Z             {
2026-06-04T14:14:33.0863941Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.0865570Z               "line": 125
2026-06-04T14:14:33.0866757Z             },
2026-06-04T14:14:33.0867797Z             {
2026-06-04T14:14:33.0869054Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0870995Z               "line": 21
2026-06-04T14:14:33.0872217Z             },
2026-06-04T14:14:33.0873294Z             {
2026-06-04T14:14:33.0874599Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0876330Z               "line": 38
2026-06-04T14:14:33.0877553Z             },
2026-06-04T14:14:33.0878619Z             {
2026-06-04T14:14:33.0880088Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0881775Z               "line": 160
2026-06-04T14:14:33.0882981Z             },
2026-06-04T14:14:33.0884012Z             {
2026-06-04T14:14:33.0885259Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0886897Z               "line": 199
2026-06-04T14:14:33.0888093Z             },
2026-06-04T14:14:33.0889129Z             {
2026-06-04T14:14:33.0890781Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0892426Z               "line": 223
2026-06-04T14:14:33.0893614Z             },
2026-06-04T14:14:33.0894645Z             {
2026-06-04T14:14:33.0895847Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.0897431Z               "line": 17
2026-06-04T14:14:33.0898615Z             },
2026-06-04T14:14:33.0899909Z             {
2026-06-04T14:14:33.0901267Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.0902847Z               "line": 30
2026-06-04T14:14:33.0904160Z             },
2026-06-04T14:14:33.0905305Z             {
2026-06-04T14:14:33.0906537Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.0908137Z               "line": 63
2026-06-04T14:14:33.0909350Z             },
2026-06-04T14:14:33.0910738Z             {
2026-06-04T14:14:33.0911943Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.0913531Z               "line": 76
2026-06-04T14:14:33.0914690Z             }
2026-06-04T14:14:33.0915703Z           ]
2026-06-04T14:14:33.0916691Z         },
2026-06-04T14:14:33.0917676Z         "int": {
2026-06-04T14:14:33.0918775Z           "complete": true,
2026-06-04T14:14:33.0920481Z           "evidence": [
2026-06-04T14:14:33.0921636Z             {
2026-06-04T14:14:33.0922910Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.0924566Z               "line": 14
2026-06-04T14:14:33.0925734Z             },
2026-06-04T14:14:33.0926763Z             {
2026-06-04T14:14:33.0928012Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.0930001Z               "line": 151
2026-06-04T14:14:33.0931204Z             }
2026-06-04T14:14:33.0932217Z           ]
2026-06-04T14:14:33.0933214Z         },
2026-06-04T14:14:33.0934235Z         "unit": {
2026-06-04T14:14:33.0935345Z           "complete": true,
2026-06-04T14:14:33.0936610Z           "evidence": [
2026-06-04T14:14:33.0937764Z             {
2026-06-04T14:14:33.0939011Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T14:14:33.0941060Z               "line": 42
2026-06-04T14:14:33.0942225Z             },
2026-06-04T14:14:33.0943263Z             {
2026-06-04T14:14:33.0944491Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.0946124Z               "line": 204
2026-06-04T14:14:33.0947305Z             },
2026-06-04T14:14:33.0948585Z             {
2026-06-04T14:14:33.0950279Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0951912Z               "line": 296
2026-06-04T14:14:33.0953258Z             },
2026-06-04T14:14:33.0954286Z             {
2026-06-04T14:14:33.0955525Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0957156Z               "line": 307
2026-06-04T14:14:33.0958339Z             },
2026-06-04T14:14:33.0959617Z             {
2026-06-04T14:14:33.0961051Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0962714Z               "line": 375
2026-06-04T14:14:33.0963899Z             },
2026-06-04T14:14:33.0964935Z             {
2026-06-04T14:14:33.0966170Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.0967804Z               "line": 387
2026-06-04T14:14:33.0968985Z             },
2026-06-04T14:14:33.0992360Z             {
2026-06-04T14:14:33.0994042Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.0995684Z               "line": 137
2026-06-04T14:14:33.0996879Z             },
2026-06-04T14:14:33.0997910Z             {
2026-06-04T14:14:33.0999117Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.1001113Z               "line": 172
2026-06-04T14:14:33.1002270Z             }
2026-06-04T14:14:33.1003269Z           ]
2026-06-04T14:14:33.1004247Z         }
2026-06-04T14:14:33.1005221Z       }
2026-06-04T14:14:33.1006169Z     },
2026-06-04T14:14:33.1007122Z     {
2026-06-04T14:14:33.1008092Z       "id": "REQ-API-3",
2026-06-04T14:14:33.1009787Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T14:14:33.1011716Z       "requiredStages": [
2026-06-04T14:14:33.1012912Z         "impl",
2026-06-04T14:14:33.1013951Z         "unit",
2026-06-04T14:14:33.1014984Z         "int"
2026-06-04T14:14:33.1015980Z       ],
2026-06-04T14:14:33.1016949Z       "stages": {
2026-06-04T14:14:33.1018008Z         "doc": {
2026-06-04T14:14:33.1019099Z           "complete": false,
2026-06-04T14:14:33.1020405Z           "evidence": []
2026-06-04T14:14:33.1021568Z         },
2026-06-04T14:14:33.1022561Z         "impl": {
2026-06-04T14:14:33.1023660Z           "complete": true,
2026-06-04T14:14:33.1024891Z           "evidence": [
2026-06-04T14:14:33.1026019Z             {
2026-06-04T14:14:33.1027198Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.1028767Z               "line": 27
2026-06-04T14:14:33.1029986Z             },
2026-06-04T14:14:33.1032082Z             {
2026-06-04T14:14:33.1033453Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.1035062Z               "line": 233
2026-06-04T14:14:33.1036239Z             }
2026-06-04T14:14:33.1037214Z           ]
2026-06-04T14:14:33.1038166Z         },
2026-06-04T14:14:33.1039109Z         "int": {
2026-06-04T14:14:33.1040209Z           "complete": true,
2026-06-04T14:14:33.1041411Z           "evidence": [
2026-06-04T14:14:33.1042507Z             {
2026-06-04T14:14:33.1043711Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.1045299Z               "line": 203
2026-06-04T14:14:33.1046435Z             }
2026-06-04T14:14:33.1047413Z           ]
2026-06-04T14:14:33.1048369Z         },
2026-06-04T14:14:33.1049348Z         "unit": {
2026-06-04T14:14:33.1050413Z           "complete": true,
2026-06-04T14:14:33.1051605Z           "evidence": [
2026-06-04T14:14:33.1052690Z             {
2026-06-04T14:14:33.1053841Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.1055394Z               "line": 230
2026-06-04T14:14:33.1056525Z             },
2026-06-04T14:14:33.1057510Z             {
2026-06-04T14:14:33.1058683Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.1060305Z               "line": 416
2026-06-04T14:14:33.1061440Z             }
2026-06-04T14:14:33.1062415Z           ]
2026-06-04T14:14:33.1063351Z         }
2026-06-04T14:14:33.1064294Z       }
2026-06-04T14:14:33.1065229Z     },
2026-06-04T14:14:33.1066158Z     {
2026-06-04T14:14:33.1067544Z       "id": "REQ-ARCH-1",
2026-06-04T14:14:33.1069017Z       "title": "Many small acyclically-layered crates",
2026-06-04T14:14:33.1070882Z       "requiredStages": [
2026-06-04T14:14:33.1072057Z         "impl"
2026-06-04T14:14:33.1073058Z       ],
2026-06-04T14:14:33.1074011Z       "stages": {
2026-06-04T14:14:33.1075049Z         "doc": {
2026-06-04T14:14:33.1076123Z           "complete": false,
2026-06-04T14:14:33.1077356Z           "evidence": []
2026-06-04T14:14:33.1078481Z         },
2026-06-04T14:14:33.1079487Z         "impl": {
2026-06-04T14:14:33.1080571Z           "complete": true,
2026-06-04T14:14:33.1081784Z           "evidence": [
2026-06-04T14:14:33.1082905Z             {
2026-06-04T14:14:33.1084017Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T14:14:33.1085525Z               "line": 16
2026-06-04T14:14:33.1086640Z             },
2026-06-04T14:14:33.1087853Z             {
2026-06-04T14:14:33.1089279Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T14:14:33.1091468Z               "line": 12
2026-06-04T14:14:33.1092631Z             },
2026-06-04T14:14:33.1093630Z             {
2026-06-04T14:14:33.1094782Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T14:14:33.1096306Z               "line": 12
2026-06-04T14:14:33.1097435Z             }
2026-06-04T14:14:33.1098415Z           ]
2026-06-04T14:14:33.1099423Z         },
2026-06-04T14:14:33.1100375Z         "int": {
2026-06-04T14:14:33.1101428Z           "complete": false,
2026-06-04T14:14:33.1102652Z           "evidence": []
2026-06-04T14:14:33.1103792Z         },
2026-06-04T14:14:33.1104743Z         "unit": {
2026-06-04T14:14:33.1105801Z           "complete": false,
2026-06-04T14:14:33.1107026Z           "evidence": []
2026-06-04T14:14:33.1108228Z         }
2026-06-04T14:14:33.1109227Z       }
2026-06-04T14:14:33.1110157Z     },
2026-06-04T14:14:33.1111082Z     {
2026-06-04T14:14:33.1112031Z       "id": "REQ-ARCH-2",
2026-06-04T14:14:33.1113688Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T14:14:33.1115591Z       "requiredStages": [
2026-06-04T14:14:33.1116779Z         "impl"
2026-06-04T14:14:33.1117781Z       ],
2026-06-04T14:14:33.1118729Z       "stages": {
2026-06-04T14:14:33.1119781Z         "doc": {
2026-06-04T14:14:33.1120836Z           "complete": false,
2026-06-04T14:14:33.1122038Z           "evidence": []
2026-06-04T14:14:33.1123163Z         },
2026-06-04T14:14:33.1124116Z         "impl": {
2026-06-04T14:14:33.1125174Z           "complete": true,
2026-06-04T14:14:33.1126380Z           "evidence": [
2026-06-04T14:14:33.1127474Z             {
2026-06-04T14:14:33.1128647Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T14:14:33.1130205Z               "line": 18
2026-06-04T14:14:33.1131308Z             }
2026-06-04T14:14:33.1132275Z           ]
2026-06-04T14:14:33.1133215Z         },
2026-06-04T14:14:33.1134170Z         "int": {
2026-06-04T14:14:33.1135216Z           "complete": false,
2026-06-04T14:14:33.1136464Z           "evidence": []
2026-06-04T14:14:33.1137597Z         },
2026-06-04T14:14:33.1138556Z         "unit": {
2026-06-04T14:14:33.1139660Z           "complete": false,
2026-06-04T14:14:33.1140903Z           "evidence": []
2026-06-04T14:14:33.1142017Z         }
2026-06-04T14:14:33.1142952Z       }
2026-06-04T14:14:33.1143864Z     },
2026-06-04T14:14:33.1144778Z     {
2026-06-04T14:14:33.1145751Z       "id": "REQ-ARCH-3",
2026-06-04T14:14:33.1147633Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T14:14:33.1149868Z       "requiredStages": [
2026-06-04T14:14:33.1151023Z         "impl",
2026-06-04T14:14:33.1152034Z         "unit"
2026-06-04T14:14:33.1153019Z       ],
2026-06-04T14:14:33.1153966Z       "stages": {
2026-06-04T14:14:33.1154989Z         "doc": {
2026-06-04T14:14:33.1156059Z           "complete": false,
2026-06-04T14:14:33.1157288Z           "evidence": []
2026-06-04T14:14:33.1158404Z         },
2026-06-04T14:14:33.1159415Z         "impl": {
2026-06-04T14:14:33.1160755Z           "complete": true,
2026-06-04T14:14:33.1162010Z           "evidence": [
2026-06-04T14:14:33.1163226Z             {
2026-06-04T14:14:33.1164590Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T14:14:33.1166174Z               "line": 34
2026-06-04T14:14:33.1167299Z             },
2026-06-04T14:14:33.1168284Z             {
2026-06-04T14:14:33.1169540Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T14:14:33.1171116Z               "line": 41
2026-06-04T14:14:33.1172236Z             }
2026-06-04T14:14:33.1173216Z           ]
2026-06-04T14:14:33.1174169Z         },
2026-06-04T14:14:33.1175121Z         "int": {
2026-06-04T14:14:33.1176200Z           "complete": false,
2026-06-04T14:14:33.1177433Z           "evidence": []
2026-06-04T14:14:33.1178558Z         },
2026-06-04T14:14:33.1179559Z         "unit": {
2026-06-04T14:14:33.1180625Z           "complete": true,
2026-06-04T14:14:33.1181818Z           "evidence": [
2026-06-04T14:14:33.1182917Z             {
2026-06-04T14:14:33.1184119Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T14:14:33.1185722Z               "line": 51
2026-06-04T14:14:33.1186882Z             },
2026-06-04T14:14:33.1187916Z             {
2026-06-04T14:14:33.1189098Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T14:14:33.1190710Z               "line": 65
2026-06-04T14:14:33.1191830Z             },
2026-06-04T14:14:33.1192813Z             {
2026-06-04T14:14:33.1194013Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T14:14:33.1195570Z               "line": 74
2026-06-04T14:14:33.1196697Z             }
2026-06-04T14:14:33.1197672Z           ]
2026-06-04T14:14:33.1198622Z         }
2026-06-04T14:14:33.1199595Z       }
2026-06-04T14:14:33.1200521Z     },
2026-06-04T14:14:33.1201443Z     {
2026-06-04T14:14:33.1202411Z       "id": "REQ-ARCH-4",
2026-06-04T14:14:33.1204085Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T14:14:33.1206070Z       "requiredStages": [
2026-06-04T14:14:33.1207235Z         "impl",
2026-06-04T14:14:33.1208233Z         "unit"
2026-06-04T14:14:33.1209258Z       ],
2026-06-04T14:14:33.1210219Z       "stages": {
2026-06-04T14:14:33.1211245Z         "doc": {
2026-06-04T14:14:33.1212298Z           "complete": false,
2026-06-04T14:14:33.1213515Z           "evidence": []
2026-06-04T14:14:33.1214627Z         },
2026-06-04T14:14:33.1215592Z         "impl": {
2026-06-04T14:14:33.1216643Z           "complete": true,
2026-06-04T14:14:33.1217834Z           "evidence": [
2026-06-04T14:14:33.1218934Z             {
2026-06-04T14:14:33.1220142Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1221681Z               "line": 63
2026-06-04T14:14:33.1222790Z             },
2026-06-04T14:14:33.1223775Z             {
2026-06-04T14:14:33.1224935Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1226451Z               "line": 77
2026-06-04T14:14:33.1227560Z             },
2026-06-04T14:14:33.1228565Z             {
2026-06-04T14:14:33.1229759Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1231284Z               "line": 97
2026-06-04T14:14:33.1232409Z             },
2026-06-04T14:14:33.1233387Z             {
2026-06-04T14:14:33.1234530Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1236071Z               "line": 112
2026-06-04T14:14:33.1237198Z             },
2026-06-04T14:14:33.1238180Z             {
2026-06-04T14:14:33.1239372Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1240890Z               "line": 162
2026-06-04T14:14:33.1242008Z             }
2026-06-04T14:14:33.1242980Z           ]
2026-06-04T14:14:33.1243925Z         },
2026-06-04T14:14:33.1244882Z         "int": {
2026-06-04T14:14:33.1245941Z           "complete": false,
2026-06-04T14:14:33.1247165Z           "evidence": []
2026-06-04T14:14:33.1248289Z         },
2026-06-04T14:14:33.1249279Z         "unit": {
2026-06-04T14:14:33.1250530Z           "complete": true,
2026-06-04T14:14:33.1251748Z           "evidence": [
2026-06-04T14:14:33.1252830Z             {
2026-06-04T14:14:33.1253983Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1255665Z               "line": 226
2026-06-04T14:14:33.1256789Z             },
2026-06-04T14:14:33.1257784Z             {
2026-06-04T14:14:33.1258939Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1260523Z               "line": 236
2026-06-04T14:14:33.1261649Z             },
2026-06-04T14:14:33.1262640Z             {
2026-06-04T14:14:33.1263790Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1265321Z               "line": 247
2026-06-04T14:14:33.1266439Z             },
2026-06-04T14:14:33.1267415Z             {
2026-06-04T14:14:33.1268569Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1270116Z               "line": 258
2026-06-04T14:14:33.1271237Z             },
2026-06-04T14:14:33.1272224Z             {
2026-06-04T14:14:33.1273391Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1274927Z               "line": 270
2026-06-04T14:14:33.1276053Z             },
2026-06-04T14:14:33.1277056Z             {
2026-06-04T14:14:33.1278209Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1279795Z               "line": 283
2026-06-04T14:14:33.1280938Z             },
2026-06-04T14:14:33.1291319Z             {
2026-06-04T14:14:33.1292550Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1294106Z               "line": 294
2026-06-04T14:14:33.1295245Z             },
2026-06-04T14:14:33.1296226Z             {
2026-06-04T14:14:33.1297368Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1298884Z               "line": 308
2026-06-04T14:14:33.1300071Z             },
2026-06-04T14:14:33.1301061Z             {
2026-06-04T14:14:33.1302211Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.1303724Z               "line": 336
2026-06-04T14:14:33.1304885Z             }
2026-06-04T14:14:33.1305858Z           ]
2026-06-04T14:14:33.1306803Z         }
2026-06-04T14:14:33.1307731Z       }
2026-06-04T14:14:33.1308686Z     },
2026-06-04T14:14:33.1309998Z     {
2026-06-04T14:14:33.1310972Z       "id": "REQ-DAEMON-1",
2026-06-04T14:14:33.1312629Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T14:14:33.1314510Z       "requiredStages": [
2026-06-04T14:14:33.1315658Z         "impl",
2026-06-04T14:14:33.1316641Z         "unit",
2026-06-04T14:14:33.1317624Z         "int"
2026-06-04T14:14:33.1318586Z       ],
2026-06-04T14:14:33.1319572Z       "stages": {
2026-06-04T14:14:33.1320586Z         "doc": {
2026-06-04T14:14:33.1321627Z           "complete": false,
2026-06-04T14:14:33.1322827Z           "evidence": []
2026-06-04T14:14:33.1323940Z         },
2026-06-04T14:14:33.1324897Z         "impl": {
2026-06-04T14:14:33.1325938Z           "complete": true,
2026-06-04T14:14:33.1327115Z           "evidence": [
2026-06-04T14:14:33.1328203Z             {
2026-06-04T14:14:33.1329405Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.1330928Z               "line": 12
2026-06-04T14:14:33.1332037Z             },
2026-06-04T14:14:33.1333006Z             {
2026-06-04T14:14:33.1334199Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1335762Z               "line": 16
2026-06-04T14:14:33.1336858Z             },
2026-06-04T14:14:33.1337823Z             {
2026-06-04T14:14:33.1338966Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T14:14:33.1340541Z               "line": 15
2026-06-04T14:14:33.1341649Z             },
2026-06-04T14:14:33.1342624Z             {
2026-06-04T14:14:33.1343758Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T14:14:33.1345220Z               "line": 13
2026-06-04T14:14:33.1346324Z             }
2026-06-04T14:14:33.1347285Z           ]
2026-06-04T14:14:33.1348222Z         },
2026-06-04T14:14:33.1349151Z         "int": {
2026-06-04T14:14:33.1350589Z           "complete": true,
2026-06-04T14:14:33.1351813Z           "evidence": [
2026-06-04T14:14:33.1352894Z             {
2026-06-04T14:14:33.1354287Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T14:14:33.1355874Z               "line": 32
2026-06-04T14:14:33.1356972Z             }
2026-06-04T14:14:33.1357935Z           ]
2026-06-04T14:14:33.1358870Z         },
2026-06-04T14:14:33.1359847Z         "unit": {
2026-06-04T14:14:33.1360889Z           "complete": true,
2026-06-04T14:14:33.1362064Z           "evidence": [
2026-06-04T14:14:33.1363153Z             {
2026-06-04T14:14:33.1364328Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.1365867Z               "line": 254
2026-06-04T14:14:33.1366990Z             },
2026-06-04T14:14:33.1367971Z             {
2026-06-04T14:14:33.1369140Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.1370744Z               "line": 262
2026-06-04T14:14:33.1371857Z             },
2026-06-04T14:14:33.1372842Z             {
2026-06-04T14:14:33.1374022Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.1375563Z               "line": 275
2026-06-04T14:14:33.1376673Z             },
2026-06-04T14:14:33.1377652Z             {
2026-06-04T14:14:33.1378819Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.1380382Z               "line": 283
2026-06-04T14:14:33.1381492Z             },
2026-06-04T14:14:33.1382478Z             {
2026-06-04T14:14:33.1383669Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1385236Z               "line": 528
2026-06-04T14:14:33.1392054Z             },
2026-06-04T14:14:33.1393733Z             {
2026-06-04T14:14:33.1395036Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1396763Z               "line": 587
2026-06-04T14:14:33.1398048Z             },
2026-06-04T14:14:33.1399339Z             {
2026-06-04T14:14:33.1400825Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T14:14:33.1402670Z               "line": 100
2026-06-04T14:14:33.1404046Z             },
2026-06-04T14:14:33.1405143Z             {
2026-06-04T14:14:33.1406700Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T14:14:33.1408413Z               "line": 125
2026-06-04T14:14:33.1409876Z             }
2026-06-04T14:14:33.1410872Z           ]
2026-06-04T14:14:33.1412101Z         }
2026-06-04T14:14:33.1413306Z       }
2026-06-04T14:14:33.1414264Z     },
2026-06-04T14:14:33.1415291Z     {
2026-06-04T14:14:33.1416435Z       "id": "REQ-DAEMON-2",
2026-06-04T14:14:33.1418016Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T14:14:33.1420029Z       "requiredStages": [
2026-06-04T14:14:33.1421206Z         "impl",
2026-06-04T14:14:33.1422414Z         "unit",
2026-06-04T14:14:33.1423573Z         "int"
2026-06-04T14:14:33.1424596Z       ],
2026-06-04T14:14:33.1425636Z       "stages": {
2026-06-04T14:14:33.1427028Z         "doc": {
2026-06-04T14:14:33.1428124Z           "complete": false,
2026-06-04T14:14:33.1429397Z           "evidence": []
2026-06-04T14:14:33.1430527Z         },
2026-06-04T14:14:33.1431505Z         "impl": {
2026-06-04T14:14:33.1432546Z           "complete": true,
2026-06-04T14:14:33.1433720Z           "evidence": [
2026-06-04T14:14:33.1434805Z             {
2026-06-04T14:14:33.1435950Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.1437473Z               "line": 23
2026-06-04T14:14:33.1438585Z             },
2026-06-04T14:14:33.1439603Z             {
2026-06-04T14:14:33.1440753Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.1442276Z               "line": 489
2026-06-04T14:14:33.1443381Z             },
2026-06-04T14:14:33.1444352Z             {
2026-06-04T14:14:33.1445496Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.1447003Z               "line": 612
2026-06-04T14:14:33.1448123Z             },
2026-06-04T14:14:33.1449086Z             {
2026-06-04T14:14:33.1450627Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.1452199Z               "line": 32
2026-06-04T14:14:33.1453475Z             },
2026-06-04T14:14:33.1454455Z             {
2026-06-04T14:14:33.1455615Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.1457143Z               "line": 191
2026-06-04T14:14:33.1458247Z             },
2026-06-04T14:14:33.1459253Z             {
2026-06-04T14:14:33.1460410Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.1461944Z               "line": 510
2026-06-04T14:14:33.1463045Z             },
2026-06-04T14:14:33.1464004Z             {
2026-06-04T14:14:33.1465140Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.1466662Z               "line": 679
2026-06-04T14:14:33.1467773Z             },
2026-06-04T14:14:33.1468745Z             {
2026-06-04T14:14:33.1469938Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T14:14:33.1471450Z               "line": 11
2026-06-04T14:14:33.1472560Z             },
2026-06-04T14:14:33.1473534Z             {
2026-06-04T14:14:33.1474703Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T14:14:33.1476237Z               "line": 53
2026-06-04T14:14:33.1477340Z             },
2026-06-04T14:14:33.1478338Z             {
2026-06-04T14:14:33.1479504Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.1480995Z               "line": 13
2026-06-04T14:14:33.1482110Z             },
2026-06-04T14:14:33.1490816Z             {
2026-06-04T14:14:33.1492057Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1493611Z               "line": 27
2026-06-04T14:14:33.1494721Z             },
2026-06-04T14:14:33.1495702Z             {
2026-06-04T14:14:33.1496875Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1498402Z               "line": 94
2026-06-04T14:14:33.1499549Z             },
2026-06-04T14:14:33.1500533Z             {
2026-06-04T14:14:33.1501730Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1503271Z               "line": 393
2026-06-04T14:14:33.1504424Z             },
2026-06-04T14:14:33.1505407Z             {
2026-06-04T14:14:33.1506575Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1508113Z               "line": 460
2026-06-04T14:14:33.1509269Z             },
2026-06-04T14:14:33.1510254Z             {
2026-06-04T14:14:33.1511656Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1513438Z               "line": 494
2026-06-04T14:14:33.1514777Z             },
2026-06-04T14:14:33.1515883Z             {
2026-06-04T14:14:33.1517245Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1519006Z               "line": 536
2026-06-04T14:14:33.1520337Z             },
2026-06-04T14:14:33.1521425Z             {
2026-06-04T14:14:33.1522714Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1524382Z               "line": 581
2026-06-04T14:14:33.1525542Z             },
2026-06-04T14:14:33.1526548Z             {
2026-06-04T14:14:33.1527776Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T14:14:33.1529481Z               "line": 10
2026-06-04T14:14:33.1530766Z             }
2026-06-04T14:14:33.1531744Z           ]
2026-06-04T14:14:33.1532683Z         },
2026-06-04T14:14:33.1533621Z         "int": {
2026-06-04T14:14:33.1534663Z           "complete": true,
2026-06-04T14:14:33.1535854Z           "evidence": [
2026-06-04T14:14:33.1536946Z             {
2026-06-04T14:14:33.1538124Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T14:14:33.1539710Z               "line": 17
2026-06-04T14:14:33.1540802Z             },
2026-06-04T14:14:33.1541772Z             {
2026-06-04T14:14:33.1542986Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T14:14:33.1544577Z               "line": 33
2026-06-04T14:14:33.1545685Z             },
2026-06-04T14:14:33.1547137Z             {
2026-06-04T14:14:33.1548376Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T14:14:33.1550001Z               "line": 19
2026-06-04T14:14:33.1551280Z             },
2026-06-04T14:14:33.1552266Z             {
2026-06-04T14:14:33.1553487Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T14:14:33.1555074Z               "line": 70
2026-06-04T14:14:33.1556173Z             },
2026-06-04T14:14:33.1557149Z             {
2026-06-04T14:14:33.1558359Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T14:14:33.1559985Z               "line": 90
2026-06-04T14:14:33.1561091Z             },
2026-06-04T14:14:33.1562066Z             {
2026-06-04T14:14:33.1563286Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T14:14:33.1564877Z               "line": 160
2026-06-04T14:14:33.1565999Z             },
2026-06-04T14:14:33.1566983Z             {
2026-06-04T14:14:33.1568200Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T14:14:33.1569844Z               "line": 196
2026-06-04T14:14:33.1570957Z             },
2026-06-04T14:14:33.1571933Z             {
2026-06-04T14:14:33.1573161Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T14:14:33.1574750Z               "line": 121
2026-06-04T14:14:33.1575874Z             }
2026-06-04T14:14:33.1576839Z           ]
2026-06-04T14:14:33.1577775Z         },
2026-06-04T14:14:33.1578725Z         "unit": {
2026-06-04T14:14:33.1579822Z           "complete": true,
2026-06-04T14:14:33.1580995Z           "evidence": [
2026-06-04T14:14:33.1582078Z             {
2026-06-04T14:14:33.1583219Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T14:14:33.1584713Z               "line": 62
2026-06-04T14:14:33.1585819Z             },
2026-06-04T14:14:33.1586804Z             {
2026-06-04T14:14:33.1587942Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T14:14:33.1596693Z               "line": 76
2026-06-04T14:14:33.1598009Z             },
2026-06-04T14:14:33.1599002Z             {
2026-06-04T14:14:33.1600292Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T14:14:33.1601814Z               "line": 88
2026-06-04T14:14:33.1602907Z             },
2026-06-04T14:14:33.1603891Z             {
2026-06-04T14:14:33.1605059Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T14:14:33.1606606Z               "line": 264
2026-06-04T14:14:33.1607727Z             },
2026-06-04T14:14:33.1608710Z             {
2026-06-04T14:14:33.1609889Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.1611378Z               "line": 506
2026-06-04T14:14:33.1612491Z             },
2026-06-04T14:14:33.1613467Z             {
2026-06-04T14:14:33.1614607Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.1616083Z               "line": 514
2026-06-04T14:14:33.1617209Z             },
2026-06-04T14:14:33.1618174Z             {
2026-06-04T14:14:33.1619340Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.1620838Z               "line": 531
2026-06-04T14:14:33.1621945Z             },
2026-06-04T14:14:33.1622916Z             {
2026-06-04T14:14:33.1624052Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.1625531Z               "line": 576
2026-06-04T14:14:33.1626647Z             },
2026-06-04T14:14:33.1627613Z             {
2026-06-04T14:14:33.1628771Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1630334Z               "line": 648
2026-06-04T14:14:33.1631442Z             },
2026-06-04T14:14:33.1632410Z             {
2026-06-04T14:14:33.1633576Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.1635100Z               "line": 660
2026-06-04T14:14:33.1636228Z             },
2026-06-04T14:14:33.1637195Z             {
2026-06-04T14:14:33.1638379Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T14:14:33.1639961Z               "line": 112
2026-06-04T14:14:33.1641392Z             }
2026-06-04T14:14:33.1642380Z           ]
2026-06-04T14:14:33.1643310Z         }
2026-06-04T14:14:33.1644236Z       }
2026-06-04T14:14:33.1645147Z     },
2026-06-04T14:14:33.1646236Z     {
2026-06-04T14:14:33.1647190Z       "id": "REQ-DAEMON-3",
2026-06-04T14:14:33.1648753Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T14:14:33.1650581Z       "requiredStages": [
2026-06-04T14:14:33.1651733Z         "impl",
2026-06-04T14:14:33.1652724Z         "unit",
2026-06-04T14:14:33.1653713Z         "int"
2026-06-04T14:14:33.1657825Z       ],
2026-06-04T14:14:33.1658795Z       "stages": {
2026-06-04T14:14:33.1659883Z         "doc": {
2026-06-04T14:14:33.1660927Z           "complete": false,
2026-06-04T14:14:33.1662106Z           "evidence": []
2026-06-04T14:14:33.1663206Z         },
2026-06-04T14:14:33.1664153Z         "impl": {
2026-06-04T14:14:33.1665189Z           "complete": true,
2026-06-04T14:14:33.1666349Z           "evidence": [
2026-06-04T14:14:33.1667418Z             {
2026-06-04T14:14:33.1668600Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T14:14:33.1670148Z               "line": 14
2026-06-04T14:14:33.1671258Z             },
2026-06-04T14:14:33.1672228Z             {
2026-06-04T14:14:33.1673395Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T14:14:33.1674905Z               "line": 11
2026-06-04T14:14:33.1675993Z             },
2026-06-04T14:14:33.1676957Z             {
2026-06-04T14:14:33.1678057Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T14:14:33.1679524Z               "line": 216
2026-06-04T14:14:33.1680625Z             },
2026-06-04T14:14:33.1681593Z             {
2026-06-04T14:14:33.1682653Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.1684063Z               "line": 642
2026-06-04T14:14:33.1685160Z             }
2026-06-04T14:14:33.1686129Z           ]
2026-06-04T14:14:33.1687063Z         },
2026-06-04T14:14:33.1687998Z         "int": {
2026-06-04T14:14:33.1695723Z           "complete": true,
2026-06-04T14:14:33.1696933Z           "evidence": [
2026-06-04T14:14:33.1698012Z             {
2026-06-04T14:14:33.1699267Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.1700802Z               "line": 43
2026-06-04T14:14:33.1701902Z             },
2026-06-04T14:14:33.1702874Z             {
2026-06-04T14:14:33.1704039Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.1705555Z               "line": 320
2026-06-04T14:14:33.1706657Z             }
2026-06-04T14:14:33.1707612Z           ]
2026-06-04T14:14:33.1708542Z         },
2026-06-04T14:14:33.1709507Z         "unit": {
2026-06-04T14:14:33.1710546Z           "complete": true,
2026-06-04T14:14:33.1711706Z           "evidence": [
2026-06-04T14:14:33.1712780Z             {
2026-06-04T14:14:33.1713957Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T14:14:33.1715461Z               "line": 242
2026-06-04T14:14:33.1716559Z             }
2026-06-04T14:14:33.1717516Z           ]
2026-06-04T14:14:33.1718463Z         }
2026-06-04T14:14:33.1719424Z       }
2026-06-04T14:14:33.1720332Z     },
2026-06-04T14:14:33.1721235Z     {
2026-06-04T14:14:33.1722183Z       "id": "REQ-DAEMON-4",
2026-06-04T14:14:33.1723536Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T14:14:33.1725066Z       "requiredStages": [
2026-06-04T14:14:33.1726190Z         "impl",
2026-06-04T14:14:33.1727181Z         "unit",
2026-06-04T14:14:33.1728153Z         "int"
2026-06-04T14:14:33.1729113Z       ],
2026-06-04T14:14:33.1730079Z       "stages": {
2026-06-04T14:14:33.1731078Z         "doc": {
2026-06-04T14:14:33.1732104Z           "complete": false,
2026-06-04T14:14:33.1733313Z           "evidence": []
2026-06-04T14:14:33.1734406Z         },
2026-06-04T14:14:33.1735349Z         "impl": {
2026-06-04T14:14:33.1736386Z           "complete": true,
2026-06-04T14:14:33.1737577Z           "evidence": [
2026-06-04T14:14:33.1738657Z             {
2026-06-04T14:14:33.1740250Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1741853Z               "line": 339
2026-06-04T14:14:33.1742975Z             },
2026-06-04T14:14:33.1743957Z             {
2026-06-04T14:14:33.1745293Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1746840Z               "line": 401
2026-06-04T14:14:33.1747950Z             },
2026-06-04T14:14:33.1748925Z             {
2026-06-04T14:14:33.1750147Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1751684Z               "line": 423
2026-06-04T14:14:33.1752794Z             }
2026-06-04T14:14:33.1753747Z           ]
2026-06-04T14:14:33.1754673Z         },
2026-06-04T14:14:33.1755601Z         "int": {
2026-06-04T14:14:33.1756628Z           "complete": true,
2026-06-04T14:14:33.1757786Z           "evidence": [
2026-06-04T14:14:33.1758861Z             {
2026-06-04T14:14:33.1760096Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T14:14:33.1761678Z               "line": 34
2026-06-04T14:14:33.1762786Z             }
2026-06-04T14:14:33.1763750Z           ]
2026-06-04T14:14:33.1764676Z         },
2026-06-04T14:14:33.1765612Z         "unit": {
2026-06-04T14:14:33.1766648Z           "complete": true,
2026-06-04T14:14:33.1767814Z           "evidence": [
2026-06-04T14:14:33.1768898Z             {
2026-06-04T14:14:33.1770090Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.1771609Z               "line": 353
2026-06-04T14:14:33.1772738Z             },
2026-06-04T14:14:33.1773706Z             {
2026-06-04T14:14:33.1774897Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1776428Z               "line": 717
2026-06-04T14:14:33.1777526Z             },
2026-06-04T14:14:33.1778490Z             {
2026-06-04T14:14:33.1779692Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1781230Z               "line": 768
2026-06-04T14:14:33.1782348Z             },
2026-06-04T14:14:33.1783313Z             {
2026-06-04T14:14:33.1784490Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1786038Z               "line": 792
2026-06-04T14:14:33.1787150Z             },
2026-06-04T14:14:33.1788137Z             {
2026-06-04T14:14:33.1795301Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.1796900Z               "line": 822
2026-06-04T14:14:33.1798025Z             }
2026-06-04T14:14:33.1798984Z           ]
2026-06-04T14:14:33.1799989Z         }
2026-06-04T14:14:33.1800911Z       }
2026-06-04T14:14:33.1801819Z     },
2026-06-04T14:14:33.1802723Z     {
2026-06-04T14:14:33.1803720Z       "id": "REQ-DOCS-1",
2026-06-04T14:14:33.1805494Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T14:14:33.1807571Z       "requiredStages": [],
2026-06-04T14:14:33.1808745Z       "stages": {
2026-06-04T14:14:33.1809783Z         "doc": {
2026-06-04T14:14:33.1810815Z           "complete": false,
2026-06-04T14:14:33.1812009Z           "evidence": []
2026-06-04T14:14:33.1813126Z         },
2026-06-04T14:14:33.1814065Z         "impl": {
2026-06-04T14:14:33.1815109Z           "complete": false,
2026-06-04T14:14:33.1816308Z           "evidence": []
2026-06-04T14:14:33.1817425Z         },
2026-06-04T14:14:33.1818359Z         "int": {
2026-06-04T14:14:33.1819424Z           "complete": false,
2026-06-04T14:14:33.1820624Z           "evidence": []
2026-06-04T14:14:33.1821724Z         },
2026-06-04T14:14:33.1822656Z         "unit": {
2026-06-04T14:14:33.1823692Z           "complete": false,
2026-06-04T14:14:33.1824879Z           "evidence": []
2026-06-04T14:14:33.1825977Z         }
2026-06-04T14:14:33.1826905Z       }
2026-06-04T14:14:33.1827810Z     },
2026-06-04T14:14:33.1828716Z     {
2026-06-04T14:14:33.1829692Z       "id": "REQ-DOCS-2",
2026-06-04T14:14:33.1831250Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T14:14:33.1833071Z       "requiredStages": [],
2026-06-04T14:14:33.1834241Z       "stages": {
2026-06-04T14:14:33.1835505Z         "doc": {
2026-06-04T14:14:33.1836567Z           "complete": false,
2026-06-04T14:14:33.1837767Z           "evidence": []
2026-06-04T14:14:33.1838854Z         },
2026-06-04T14:14:33.1839993Z         "impl": {
2026-06-04T14:14:33.1841035Z           "complete": false,
2026-06-04T14:14:33.1842222Z           "evidence": []
2026-06-04T14:14:33.1843310Z         },
2026-06-04T14:14:33.1844239Z         "int": {
2026-06-04T14:14:33.1845296Z           "complete": false,
2026-06-04T14:14:33.1846491Z           "evidence": []
2026-06-04T14:14:33.1847597Z         },
2026-06-04T14:14:33.1848525Z         "unit": {
2026-06-04T14:14:33.1849621Z           "complete": false,
2026-06-04T14:14:33.1850828Z           "evidence": []
2026-06-04T14:14:33.1851916Z         }
2026-06-04T14:14:33.1852832Z       }
2026-06-04T14:14:33.1853725Z     },
2026-06-04T14:14:33.1854625Z     {
2026-06-04T14:14:33.1855562Z       "id": "REQ-DOCS-3",
2026-06-04T14:14:33.1857375Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T14:14:33.1859065Z       "requiredStages": [],
2026-06-04T14:14:33.1860305Z       "stages": {
2026-06-04T14:14:33.1861324Z         "doc": {
2026-06-04T14:14:33.1862363Z           "complete": false,
2026-06-04T14:14:33.1863543Z           "evidence": []
2026-06-04T14:14:33.1864628Z         },
2026-06-04T14:14:33.1865561Z         "impl": {
2026-06-04T14:14:33.1866607Z           "complete": false,
2026-06-04T14:14:33.1867794Z           "evidence": []
2026-06-04T14:14:33.1869550Z         },
2026-06-04T14:14:33.1870713Z         "int": {
2026-06-04T14:14:33.1871751Z           "complete": false,
2026-06-04T14:14:33.1872927Z           "evidence": []
2026-06-04T14:14:33.1874024Z         },
2026-06-04T14:14:33.1874966Z         "unit": {
2026-06-04T14:14:33.1875995Z           "complete": false,
2026-06-04T14:14:33.1877186Z           "evidence": []
2026-06-04T14:14:33.1878270Z         }
2026-06-04T14:14:33.1879222Z       }
2026-06-04T14:14:33.1880472Z     },
2026-06-04T14:14:33.1881384Z     {
2026-06-04T14:14:33.1882348Z       "id": "REQ-DOCS-4",
2026-06-04T14:14:33.1884129Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T14:14:33.1886185Z       "requiredStages": [],
2026-06-04T14:14:33.1887360Z       "stages": {
2026-06-04T14:14:33.1888360Z         "doc": {
2026-06-04T14:14:33.1889439Z           "complete": false,
2026-06-04T14:14:33.1896936Z           "evidence": []
2026-06-04T14:14:33.1898202Z         },
2026-06-04T14:14:33.1899137Z         "impl": {
2026-06-04T14:14:33.1900392Z           "complete": false,
2026-06-04T14:14:33.1901570Z           "evidence": []
2026-06-04T14:14:33.1902648Z         },
2026-06-04T14:14:33.1903581Z         "int": {
2026-06-04T14:14:33.1904597Z           "complete": false,
2026-06-04T14:14:33.1905776Z           "evidence": []
2026-06-04T14:14:33.1906869Z         },
2026-06-04T14:14:33.1907804Z         "unit": {
2026-06-04T14:14:33.1908869Z           "complete": false,
2026-06-04T14:14:33.1910082Z           "evidence": []
2026-06-04T14:14:33.1911203Z         }
2026-06-04T14:14:33.1912129Z       }
2026-06-04T14:14:33.1913025Z     },
2026-06-04T14:14:33.1913929Z     {
2026-06-04T14:14:33.1914858Z       "id": "REQ-DOCS-5",
2026-06-04T14:14:33.1916643Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T14:14:33.1918686Z       "requiredStages": [],
2026-06-04T14:14:33.1921597Z       "stages": {
2026-06-04T14:14:33.1922713Z         "doc": {
2026-06-04T14:14:33.1923760Z           "complete": false,
2026-06-04T14:14:33.1924951Z           "evidence": []
2026-06-04T14:14:33.1926052Z         },
2026-06-04T14:14:33.1926987Z         "impl": {
2026-06-04T14:14:33.1928020Z           "complete": false,
2026-06-04T14:14:33.1929258Z           "evidence": []
2026-06-04T14:14:33.1930362Z         },
2026-06-04T14:14:33.1931299Z         "int": {
2026-06-04T14:14:33.1932341Z           "complete": false,
2026-06-04T14:14:33.1933528Z           "evidence": []
2026-06-04T14:14:33.1934614Z         },
2026-06-04T14:14:33.1935961Z         "unit": {
2026-06-04T14:14:33.1937045Z           "complete": false,
2026-06-04T14:14:33.1938243Z           "evidence": []
2026-06-04T14:14:33.1939391Z         }
2026-06-04T14:14:33.1940479Z       }
2026-06-04T14:14:33.1941379Z     },
2026-06-04T14:14:33.1942293Z     {
2026-06-04T14:14:33.1943241Z       "id": "REQ-EP-1",
2026-06-04T14:14:33.1944551Z       "title": "Day-one endpoint types; open type system",
2026-06-04T14:14:33.1946136Z       "requiredStages": [
2026-06-04T14:14:33.1947269Z         "impl",
2026-06-04T14:14:33.1948261Z         "unit"
2026-06-04T14:14:33.1949256Z       ],
2026-06-04T14:14:33.1950187Z       "stages": {
2026-06-04T14:14:33.1951185Z         "doc": {
2026-06-04T14:14:33.1952228Z           "complete": false,
2026-06-04T14:14:33.1953405Z           "evidence": []
2026-06-04T14:14:33.1954492Z         },
2026-06-04T14:14:33.1955427Z         "impl": {
2026-06-04T14:14:33.1956448Z           "complete": true,
2026-06-04T14:14:33.1957611Z           "evidence": [
2026-06-04T14:14:33.1958685Z             {
2026-06-04T14:14:33.1959882Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.1961413Z               "line": 77
2026-06-04T14:14:33.1962520Z             },
2026-06-04T14:14:33.1963485Z             {
2026-06-04T14:14:33.1964648Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.1966175Z               "line": 94
2026-06-04T14:14:33.1967253Z             }
2026-06-04T14:14:33.1968208Z           ]
2026-06-04T14:14:33.1969133Z         },
2026-06-04T14:14:33.1970212Z         "int": {
2026-06-04T14:14:33.1971244Z           "complete": false,
2026-06-04T14:14:33.1972421Z           "evidence": []
2026-06-04T14:14:33.1973512Z         },
2026-06-04T14:14:33.1974444Z         "unit": {
2026-06-04T14:14:33.1975468Z           "complete": true,
2026-06-04T14:14:33.1976629Z           "evidence": [
2026-06-04T14:14:33.1977692Z             {
2026-06-04T14:14:33.1978842Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.1980436Z               "line": 161
2026-06-04T14:14:33.1981555Z             },
2026-06-04T14:14:33.1982521Z             {
2026-06-04T14:14:33.1983688Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.1985210Z               "line": 178
2026-06-04T14:14:33.1986304Z             }
2026-06-04T14:14:33.1987249Z           ]
2026-06-04T14:14:33.1988169Z         }
2026-06-04T14:14:33.1989078Z       }
2026-06-04T14:14:33.1990041Z     },
2026-06-04T14:14:33.1990948Z     {
2026-06-04T14:14:33.1991879Z       "id": "REQ-EP-2",
2026-06-04T14:14:33.1993411Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T14:14:33.1995239Z       "requiredStages": [
2026-06-04T14:14:33.1996380Z         "impl",
2026-06-04T14:14:33.2003742Z         "unit"
2026-06-04T14:14:33.2004873Z       ],
2026-06-04T14:14:33.2005811Z       "stages": {
2026-06-04T14:14:33.2006865Z         "doc": {
2026-06-04T14:14:33.2007898Z           "complete": false,
2026-06-04T14:14:33.2009115Z           "evidence": []
2026-06-04T14:14:33.2010369Z         },
2026-06-04T14:14:33.2011311Z         "impl": {
2026-06-04T14:14:33.2012356Z           "complete": true,
2026-06-04T14:14:33.2013510Z           "evidence": [
2026-06-04T14:14:33.2014571Z             {
2026-06-04T14:14:33.2015723Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.2017245Z               "line": 114
2026-06-04T14:14:33.2018339Z             },
2026-06-04T14:14:33.2019351Z             {
2026-06-04T14:14:33.2020531Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.2022052Z               "line": 131
2026-06-04T14:14:33.2023148Z             },
2026-06-04T14:14:33.2024105Z             {
2026-06-04T14:14:33.2025262Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.2026767Z               "line": 138
2026-06-04T14:14:33.2027857Z             }
2026-06-04T14:14:33.2028813Z           ]
2026-06-04T14:14:33.2029790Z         },
2026-06-04T14:14:33.2030714Z         "int": {
2026-06-04T14:14:33.2032027Z           "complete": false,
2026-06-04T14:14:33.2033246Z           "evidence": []
2026-06-04T14:14:33.2034333Z         },
2026-06-04T14:14:33.2035415Z         "unit": {
2026-06-04T14:14:33.2036444Z           "complete": true,
2026-06-04T14:14:33.2037590Z           "evidence": [
2026-06-04T14:14:33.2038655Z             {
2026-06-04T14:14:33.2039868Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.2041386Z               "line": 193
2026-06-04T14:14:33.2042493Z             },
2026-06-04T14:14:33.2043460Z             {
2026-06-04T14:14:33.2044612Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.2046113Z               "line": 211
2026-06-04T14:14:33.2047208Z             },
2026-06-04T14:14:33.2048171Z             {
2026-06-04T14:14:33.2049372Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T14:14:33.2050890Z               "line": 224
2026-06-04T14:14:33.2051991Z             }
2026-06-04T14:14:33.2052950Z           ]
2026-06-04T14:14:33.2053879Z         }
2026-06-04T14:14:33.2054801Z       }
2026-06-04T14:14:33.2055696Z     },
2026-06-04T14:14:33.2056609Z     {
2026-06-04T14:14:33.2057555Z       "id": "REQ-EP-3",
2026-06-04T14:14:33.2059301Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T14:14:33.2061268Z       "requiredStages": [
2026-06-04T14:14:33.2062403Z         "impl",
2026-06-04T14:14:33.2063379Z         "unit"
2026-06-04T14:14:33.2064338Z       ],
2026-06-04T14:14:33.2065253Z       "stages": {
2026-06-04T14:14:33.2066251Z         "doc": {
2026-06-04T14:14:33.2067279Z           "complete": false,
2026-06-04T14:14:33.2068450Z           "evidence": []
2026-06-04T14:14:33.2069576Z         },
2026-06-04T14:14:33.2070523Z         "impl": {
2026-06-04T14:14:33.2071554Z           "complete": true,
2026-06-04T14:14:33.2072704Z           "evidence": [
2026-06-04T14:14:33.2073772Z             {
2026-06-04T14:14:33.2074933Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2076435Z               "line": 31
2026-06-04T14:14:33.2077510Z             },
2026-06-04T14:14:33.2078472Z             {
2026-06-04T14:14:33.2079666Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2081172Z               "line": 49
2026-06-04T14:14:33.2082242Z             }
2026-06-04T14:14:33.2083189Z           ]
2026-06-04T14:14:33.2084107Z         },
2026-06-04T14:14:33.2085024Z         "int": {
2026-06-04T14:14:33.2086038Z           "complete": false,
2026-06-04T14:14:33.2087219Z           "evidence": []
2026-06-04T14:14:33.2088299Z         },
2026-06-04T14:14:33.2089260Z         "unit": {
2026-06-04T14:14:33.2090300Z           "complete": true,
2026-06-04T14:14:33.2091448Z           "evidence": [
2026-06-04T14:14:33.2092501Z             {
2026-06-04T14:14:33.2093857Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2125334Z               "line": 156
2026-06-04T14:14:33.2126841Z             },
2026-06-04T14:14:33.2127878Z             {
2026-06-04T14:14:33.2129057Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2130665Z               "line": 164
2026-06-04T14:14:33.2131777Z             },
2026-06-04T14:14:33.2132736Z             {
2026-06-04T14:14:33.2133898Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2135397Z               "line": 177
2026-06-04T14:14:33.2136480Z             },
2026-06-04T14:14:33.2137433Z             {
2026-06-04T14:14:33.2138569Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2140097Z               "line": 197
2026-06-04T14:14:33.2141183Z             },
2026-06-04T14:14:33.2142123Z             {
2026-06-04T14:14:33.2143265Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2144760Z               "line": 213
2026-06-04T14:14:33.2145832Z             },
2026-06-04T14:14:33.2146783Z             {
2026-06-04T14:14:33.2147917Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T14:14:33.2149869Z               "line": 227
2026-06-04T14:14:33.2150998Z             }
2026-06-04T14:14:33.2151941Z           ]
2026-06-04T14:14:33.2152860Z         }
2026-06-04T14:14:33.2153930Z       }
2026-06-04T14:14:33.2154812Z     },
2026-06-04T14:14:33.2155700Z     {
2026-06-04T14:14:33.2156615Z       "id": "REQ-EP-4",
2026-06-04T14:14:33.2158020Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T14:14:33.2159915Z       "requiredStages": [
2026-06-04T14:14:33.2161043Z         "impl",
2026-06-04T14:14:33.2162014Z         "unit"
2026-06-04T14:14:33.2162969Z       ],
2026-06-04T14:14:33.2163879Z       "stages": {
2026-06-04T14:14:33.2164866Z         "doc": {
2026-06-04T14:14:33.2165868Z           "complete": false,
2026-06-04T14:14:33.2167025Z           "evidence": []
2026-06-04T14:14:33.2168090Z         },
2026-06-04T14:14:33.2169011Z         "impl": {
2026-06-04T14:14:33.2170083Z           "complete": true,
2026-06-04T14:14:33.2171224Z           "evidence": [
2026-06-04T14:14:33.2172288Z             {
2026-06-04T14:14:33.2173410Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.2174874Z               "line": 419
2026-06-04T14:14:33.2175965Z             },
2026-06-04T14:14:33.2176910Z             {
2026-06-04T14:14:33.2178016Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.2179527Z               "line": 631
2026-06-04T14:14:33.2180618Z             },
2026-06-04T14:14:33.2181567Z             {
2026-06-04T14:14:33.2182700Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.2184172Z               "line": 696
2026-06-04T14:14:33.2185249Z             },
2026-06-04T14:14:33.2186199Z             {
2026-06-04T14:14:33.2187284Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.2188722Z               "line": 83
2026-06-04T14:14:33.2189836Z             },
2026-06-04T14:14:33.2190790Z             {
2026-06-04T14:14:33.2191877Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.2193335Z               "line": 407
2026-06-04T14:14:33.2194414Z             },
2026-06-04T14:14:33.2195355Z             {
2026-06-04T14:14:33.2196448Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.2197902Z               "line": 478
2026-06-04T14:14:33.2198996Z             },
2026-06-04T14:14:33.2199993Z             {
2026-06-04T14:14:33.2201139Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.2202611Z               "line": 181
2026-06-04T14:14:33.2203696Z             },
2026-06-04T14:14:33.2204640Z             {
2026-06-04T14:14:33.2205770Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.2207251Z               "line": 306
2026-06-04T14:14:33.2208344Z             },
2026-06-04T14:14:33.2209338Z             {
2026-06-04T14:14:33.2210502Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T14:14:33.2211991Z               "line": 613
2026-06-04T14:14:33.2213065Z             }
2026-06-04T14:14:33.2214015Z           ]
2026-06-04T14:14:33.2214929Z         },
2026-06-04T14:14:33.2215843Z         "int": {
2026-06-04T14:14:33.2216853Z           "complete": false,
2026-06-04T14:14:33.2218305Z           "evidence": []
2026-06-04T14:14:33.2225208Z         },
2026-06-04T14:14:33.2226489Z         "unit": {
2026-06-04T14:14:33.2227520Z           "complete": true,
2026-06-04T14:14:33.2229102Z           "evidence": [
2026-06-04T14:14:33.2230329Z             {
2026-06-04T14:14:33.2231630Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T14:14:33.2233733Z               "line": 551
2026-06-04T14:14:33.2234820Z             },
2026-06-04T14:14:33.2235776Z             {
2026-06-04T14:14:33.2236948Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T14:14:33.2238466Z               "line": 75
2026-06-04T14:14:33.2239594Z             },
2026-06-04T14:14:33.2240547Z             {
2026-06-04T14:14:33.2241717Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T14:14:33.2244321Z               "line": 131
2026-06-04T14:14:33.2245666Z             }
2026-06-04T14:14:33.2246804Z           ]
2026-06-04T14:14:33.2247720Z         }
2026-06-04T14:14:33.2248968Z       }
2026-06-04T14:14:33.2250058Z     },
2026-06-04T14:14:33.2250950Z     {
2026-06-04T14:14:33.2251866Z       "id": "REQ-EP-5",
2026-06-04T14:14:33.2256560Z       "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-04T14:14:33.2261631Z       "requiredStages": [],
2026-06-04T14:14:33.2262768Z       "stages": {
2026-06-04T14:14:33.2263755Z         "doc": {
2026-06-04T14:14:33.2264763Z           "complete": false,
2026-06-04T14:14:33.2265918Z           "evidence": []
2026-06-04T14:14:33.2266990Z         },
2026-06-04T14:14:33.2267905Z         "impl": {
2026-06-04T14:14:33.2268924Z           "complete": false,
2026-06-04T14:14:33.2270145Z           "evidence": []
2026-06-04T14:14:33.2271233Z         },
2026-06-04T14:14:33.2272146Z         "int": {
2026-06-04T14:14:33.2273159Z           "complete": false,
2026-06-04T14:14:33.2274324Z           "evidence": []
2026-06-04T14:14:33.2275391Z         },
2026-06-04T14:14:33.2276296Z         "unit": {
2026-06-04T14:14:33.2277317Z           "complete": false,
2026-06-04T14:14:33.2278478Z           "evidence": []
2026-06-04T14:14:33.2279606Z         }
2026-06-04T14:14:33.2280517Z       }
2026-06-04T14:14:33.2281407Z     },
2026-06-04T14:14:33.2282301Z     {
2026-06-04T14:14:33.2283235Z       "id": "REQ-FRONT-1",
2026-06-04T14:14:33.2284851Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T14:14:33.2286695Z       "requiredStages": [],
2026-06-04T14:14:33.2287831Z       "stages": {
2026-06-04T14:14:33.2288824Z         "doc": {
2026-06-04T14:14:33.2289899Z           "complete": false,
2026-06-04T14:14:33.2291059Z           "evidence": []
2026-06-04T14:14:33.2292139Z         },
2026-06-04T14:14:33.2293058Z         "impl": {
2026-06-04T14:14:33.2294069Z           "complete": false,
2026-06-04T14:14:33.2295228Z           "evidence": []
2026-06-04T14:14:33.2296305Z         },
2026-06-04T14:14:33.2297226Z         "int": {
2026-06-04T14:14:33.2298233Z           "complete": false,
2026-06-04T14:14:33.2299451Z           "evidence": []
2026-06-04T14:14:33.2300522Z         },
2026-06-04T14:14:33.2301437Z         "unit": {
2026-06-04T14:14:33.2302456Z           "complete": false,
2026-06-04T14:14:33.2303625Z           "evidence": []
2026-06-04T14:14:33.2304693Z         }
2026-06-04T14:14:33.2305587Z       }
2026-06-04T14:14:33.2306462Z     },
2026-06-04T14:14:33.2307343Z     {
2026-06-04T14:14:33.2308374Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T14:14:33.2310272Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T14:14:33.2312113Z       "requiredStages": [
2026-06-04T14:14:33.2313219Z         "impl",
2026-06-04T14:14:33.2314200Z         "unit"
2026-06-04T14:14:33.2315148Z       ],
2026-06-04T14:14:33.2316056Z       "stages": {
2026-06-04T14:14:33.2317042Z         "doc": {
2026-06-04T14:14:33.2318070Z           "complete": false,
2026-06-04T14:14:33.2319266Z           "evidence": []
2026-06-04T14:14:33.2320343Z         },
2026-06-04T14:14:33.2321252Z         "impl": {
2026-06-04T14:14:33.2322263Z           "complete": true,
2026-06-04T14:14:33.2323388Z           "evidence": [
2026-06-04T14:14:33.2324426Z             {
2026-06-04T14:14:33.2330222Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.2331724Z               "line": 119
2026-06-04T14:14:33.2332805Z             },
2026-06-04T14:14:33.2333751Z             {
2026-06-04T14:14:33.2334838Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.2336253Z               "line": 18
2026-06-04T14:14:33.2337316Z             },
2026-06-04T14:14:33.2338256Z             {
2026-06-04T14:14:33.2339672Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.2341130Z               "line": 94
2026-06-04T14:14:33.2342190Z             }
2026-06-04T14:14:33.2343125Z           ]
2026-06-04T14:14:33.2344187Z         },
2026-06-04T14:14:33.2345093Z         "int": {
2026-06-04T14:14:33.2346086Z           "complete": false,
2026-06-04T14:14:33.2347241Z           "evidence": []
2026-06-04T14:14:33.2348292Z         },
2026-06-04T14:14:33.2349234Z         "unit": {
2026-06-04T14:14:33.2350239Z           "complete": true,
2026-06-04T14:14:33.2351365Z           "evidence": [
2026-06-04T14:14:33.2352398Z             {
2026-06-04T14:14:33.2353517Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.2354983Z               "line": 363
2026-06-04T14:14:33.2356049Z             },
2026-06-04T14:14:33.2356988Z             {
2026-06-04T14:14:33.2358067Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.2359521Z               "line": 152
2026-06-04T14:14:33.2360597Z             },
2026-06-04T14:14:33.2361558Z             {
2026-06-04T14:14:33.2362631Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.2364037Z               "line": 188
2026-06-04T14:14:33.2365109Z             }
2026-06-04T14:14:33.2366044Z           ]
2026-06-04T14:14:33.2366948Z         }
2026-06-04T14:14:33.2367834Z       }
2026-06-04T14:14:33.2368708Z     },
2026-06-04T14:14:33.2369672Z     {
2026-06-04T14:14:33.2370743Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T14:14:33.2375095Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-04T14:14:33.2379422Z       "requiredStages": [
2026-06-04T14:14:33.2380522Z         "impl",
2026-06-04T14:14:33.2381477Z         "unit"
2026-06-04T14:14:33.2382417Z       ],
2026-06-04T14:14:33.2383319Z       "stages": {
2026-06-04T14:14:33.2384297Z         "doc": {
2026-06-04T14:14:33.2385305Z           "complete": false,
2026-06-04T14:14:33.2386464Z           "evidence": []
2026-06-04T14:14:33.2387540Z         },
2026-06-04T14:14:33.2388444Z         "impl": {
2026-06-04T14:14:33.2389492Z           "complete": true,
2026-06-04T14:14:33.2390634Z           "evidence": [
2026-06-04T14:14:33.2391669Z             {
2026-06-04T14:14:33.2392831Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T14:14:33.2394307Z               "line": 22
2026-06-04T14:14:33.2395362Z             },
2026-06-04T14:14:33.2396299Z             {
2026-06-04T14:14:33.2397387Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.2398812Z               "line": 417
2026-06-04T14:14:33.2399908Z             },
2026-06-04T14:14:33.2400848Z             {
2026-06-04T14:14:33.2401981Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T14:14:33.2403443Z               "line": 17
2026-06-04T14:14:33.2404491Z             },
2026-06-04T14:14:33.2405429Z             {
2026-06-04T14:14:33.2406555Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T14:14:33.2408014Z               "line": 125
2026-06-04T14:14:33.2409071Z             },
2026-06-04T14:14:33.2410055Z             {
2026-06-04T14:14:33.2411223Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.2412726Z               "line": 169
2026-06-04T14:14:33.2413776Z             },
2026-06-04T14:14:33.2414703Z             {
2026-06-04T14:14:33.2415859Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.2417359Z               "line": 197
2026-06-04T14:14:33.2418413Z             },
2026-06-04T14:14:33.2419385Z             {
2026-06-04T14:14:33.2420538Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.2422043Z               "line": 223
2026-06-04T14:14:33.2423104Z             },
2026-06-04T14:14:33.2424028Z             {
2026-06-04T14:14:33.2425157Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.2430375Z               "line": 122
2026-06-04T14:14:33.2431589Z             },
2026-06-04T14:14:33.2432536Z             {
2026-06-04T14:14:33.2433675Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.2435382Z               "line": 222
2026-06-04T14:14:33.2436443Z             }
2026-06-04T14:14:33.2437362Z           ]
2026-06-04T14:14:33.2438261Z         },
2026-06-04T14:14:33.2439218Z         "int": {
2026-06-04T14:14:33.2440217Z           "complete": false,
2026-06-04T14:14:33.2441359Z           "evidence": []
2026-06-04T14:14:33.2442407Z         },
2026-06-04T14:14:33.2443304Z         "unit": {
2026-06-04T14:14:33.2444302Z           "complete": true,
2026-06-04T14:14:33.2445412Z           "evidence": [
2026-06-04T14:14:33.2446441Z             {
2026-06-04T14:14:33.2447566Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T14:14:33.2449045Z               "line": 53
2026-06-04T14:14:33.2450128Z             },
2026-06-04T14:14:33.2451053Z             {
2026-06-04T14:14:33.2452192Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T14:14:33.2453661Z               "line": 60
2026-06-04T14:14:33.2454716Z             },
2026-06-04T14:14:33.2455646Z             {
2026-06-04T14:14:33.2456779Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T14:14:33.2458256Z               "line": 72
2026-06-04T14:14:33.2459337Z             },
2026-06-04T14:14:33.2460266Z             {
2026-06-04T14:14:33.2461381Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T14:14:33.2462828Z               "line": 298
2026-06-04T14:14:33.2463885Z             },
2026-06-04T14:14:33.2464815Z             {
2026-06-04T14:14:33.2465917Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T14:14:33.2467358Z               "line": 247
2026-06-04T14:14:33.2468417Z             },
2026-06-04T14:14:33.2469380Z             {
2026-06-04T14:14:33.2470502Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T14:14:33.2471964Z               "line": 282
2026-06-04T14:14:33.2473034Z             },
2026-06-04T14:14:33.2473965Z             {
2026-06-04T14:14:33.2475069Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T14:14:33.2476524Z               "line": 313
2026-06-04T14:14:33.2477578Z             },
2026-06-04T14:14:33.2478507Z             {
2026-06-04T14:14:33.2479702Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.2481207Z               "line": 604
2026-06-04T14:14:33.2482274Z             },
2026-06-04T14:14:33.2483194Z             {
2026-06-04T14:14:33.2484311Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.2485767Z               "line": 383
2026-06-04T14:14:33.2486819Z             },
2026-06-04T14:14:33.2487750Z             {
2026-06-04T14:14:33.2488871Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.2490367Z               "line": 420
2026-06-04T14:14:33.2491440Z             }
2026-06-04T14:14:33.2492366Z           ]
2026-06-04T14:14:33.2493253Z         }
2026-06-04T14:14:33.2494130Z       }
2026-06-04T14:14:33.2495000Z     },
2026-06-04T14:14:33.2495869Z     {
2026-06-04T14:14:33.2496875Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T14:14:33.2498868Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T14:14:33.2500997Z       "requiredStages": [
2026-06-04T14:14:33.2502098Z         "impl",
2026-06-04T14:14:33.2503044Z         "unit"
2026-06-04T14:14:33.2503970Z       ],
2026-06-04T14:14:33.2504859Z       "stages": {
2026-06-04T14:14:33.2505820Z         "doc": {
2026-06-04T14:14:33.2506812Z           "complete": false,
2026-06-04T14:14:33.2507945Z           "evidence": []
2026-06-04T14:14:33.2508991Z         },
2026-06-04T14:14:33.2509928Z         "impl": {
2026-06-04T14:14:33.2510925Z           "complete": true,
2026-06-04T14:14:33.2512033Z           "evidence": [
2026-06-04T14:14:33.2513058Z             {
2026-06-04T14:14:33.2514717Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T14:14:33.2516178Z               "line": 164
2026-06-04T14:14:33.2517231Z             }
2026-06-04T14:14:33.2518297Z           ]
2026-06-04T14:14:33.2519233Z         },
2026-06-04T14:14:33.2520131Z         "int": {
2026-06-04T14:14:33.2521115Z           "complete": true,
2026-06-04T14:14:33.2525520Z           "evidence": [
2026-06-04T14:14:33.2526628Z             {
2026-06-04T14:14:33.2527705Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T14:14:33.2529107Z               "line": 44
2026-06-04T14:14:33.2530238Z             },
2026-06-04T14:14:33.2531165Z             {
2026-06-04T14:14:33.2532241Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T14:14:33.2533644Z               "line": 66
2026-06-04T14:14:33.2534681Z             }
2026-06-04T14:14:33.2535594Z           ]
2026-06-04T14:14:33.2536481Z         },
2026-06-04T14:14:33.2537379Z         "unit": {
2026-06-04T14:14:33.2538366Z           "complete": true,
2026-06-04T14:14:33.2539544Z           "evidence": [
2026-06-04T14:14:33.2540562Z             {
2026-06-04T14:14:33.2541644Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T14:14:33.2543049Z               "line": 181
2026-06-04T14:14:33.2544096Z             },
2026-06-04T14:14:33.2545017Z             {
2026-06-04T14:14:33.2546097Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T14:14:33.2547493Z               "line": 233
2026-06-04T14:14:33.2548542Z             },
2026-06-04T14:14:33.2549510Z             {
2026-06-04T14:14:33.2550668Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T14:14:33.2552090Z               "line": 261
2026-06-04T14:14:33.2553138Z             }
2026-06-04T14:14:33.2554051Z           ]
2026-06-04T14:14:33.2554942Z         }
2026-06-04T14:14:33.2555823Z       }
2026-06-04T14:14:33.2556685Z     },
2026-06-04T14:14:33.2557548Z     {
2026-06-04T14:14:33.2558590Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T14:14:33.2562083Z       "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-04T14:14:33.2565415Z       "requiredStages": [
2026-06-04T14:14:33.2566499Z         "impl",
2026-06-04T14:14:33.2567441Z         "unit",
2026-06-04T14:14:33.2568373Z         "int"
2026-06-04T14:14:33.2569309Z       ],
2026-06-04T14:14:33.2570199Z       "stages": {
2026-06-04T14:14:33.2571162Z         "doc": {
2026-06-04T14:14:33.2572147Z           "complete": false,
2026-06-04T14:14:33.2573273Z           "evidence": []
2026-06-04T14:14:33.2574316Z         },
2026-06-04T14:14:33.2575210Z         "impl": {
2026-06-04T14:14:33.2576191Z           "complete": true,
2026-06-04T14:14:33.2577298Z           "evidence": [
2026-06-04T14:14:33.2578318Z             {
2026-06-04T14:14:33.2579484Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.2580953Z               "line": 150
2026-06-04T14:14:33.2582003Z             },
2026-06-04T14:14:33.2582933Z             {
2026-06-04T14:14:33.2584058Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.2585516Z               "line": 169
2026-06-04T14:14:33.2586577Z             },
2026-06-04T14:14:33.2587500Z             {
2026-06-04T14:14:33.2588568Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.2590006Z               "line": 79
2026-06-04T14:14:33.2591057Z             },
2026-06-04T14:14:33.2591975Z             {
2026-06-04T14:14:33.2593017Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.2594435Z               "line": 51
2026-06-04T14:14:33.2595536Z             },
2026-06-04T14:14:33.2596505Z             {
2026-06-04T14:14:33.2597593Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.2598984Z               "line": 154
2026-06-04T14:14:33.2600081Z             },
2026-06-04T14:14:33.2601008Z             {
2026-06-04T14:14:33.2602118Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2603812Z               "line": 27
2026-06-04T14:14:33.2604910Z             },
2026-06-04T14:14:33.2605838Z             {
2026-06-04T14:14:33.2607100Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2608528Z               "line": 79
2026-06-04T14:14:33.2609636Z             },
2026-06-04T14:14:33.2610562Z             {
2026-06-04T14:14:33.2611677Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2613113Z               "line": 102
2026-06-04T14:14:33.2614156Z             },
2026-06-04T14:14:33.2615075Z             {
2026-06-04T14:14:33.2616170Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.2617602Z               "line": 108
2026-06-04T14:14:33.2618662Z             }
2026-06-04T14:14:33.2623185Z           ]
2026-06-04T14:14:33.2624127Z         },
2026-06-04T14:14:33.2625022Z         "int": {
2026-06-04T14:14:33.2626025Z           "complete": true,
2026-06-04T14:14:33.2627149Z           "evidence": [
2026-06-04T14:14:33.2628199Z             {
2026-06-04T14:14:33.2629448Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T14:14:33.2630973Z               "line": 35
2026-06-04T14:14:33.2632034Z             }
2026-06-04T14:14:33.2632956Z           ]
2026-06-04T14:14:33.2633853Z         },
2026-06-04T14:14:33.2634751Z         "unit": {
2026-06-04T14:14:33.2635738Z           "complete": true,
2026-06-04T14:14:33.2636848Z           "evidence": [
2026-06-04T14:14:33.2637869Z             {
2026-06-04T14:14:33.2638986Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.2640563Z               "line": 544
2026-06-04T14:14:33.2641623Z             },
2026-06-04T14:14:33.2642542Z             {
2026-06-04T14:14:33.2643609Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.2645003Z               "line": 330
2026-06-04T14:14:33.2646054Z             },
2026-06-04T14:14:33.2646974Z             {
2026-06-04T14:14:33.2648088Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2649575Z               "line": 124
2026-06-04T14:14:33.2649976Z             },
2026-06-04T14:14:33.2650368Z             {
2026-06-04T14:14:33.2650975Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2651394Z               "line": 136
2026-06-04T14:14:33.2651782Z             },
2026-06-04T14:14:33.2652177Z             {
2026-06-04T14:14:33.2652756Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2653175Z               "line": 146
2026-06-04T14:14:33.2653569Z             },
2026-06-04T14:14:33.2653951Z             {
2026-06-04T14:14:33.2654541Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2654952Z               "line": 159
2026-06-04T14:14:33.2655350Z             },
2026-06-04T14:14:33.2655735Z             {
2026-06-04T14:14:33.2656325Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T14:14:33.2656748Z               "line": 171
2026-06-04T14:14:33.2657145Z             },
2026-06-04T14:14:33.2657540Z             {
2026-06-04T14:14:33.2658123Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.2658549Z               "line": 207
2026-06-04T14:14:33.2658940Z             }
2026-06-04T14:14:33.2659371Z           ]
2026-06-04T14:14:33.2659773Z         }
2026-06-04T14:14:33.2660155Z       }
2026-06-04T14:14:33.2660541Z     },
2026-06-04T14:14:33.2660919Z     {
2026-06-04T14:14:33.2661500Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T14:14:33.2665393Z       "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-04T14:14:33.2665856Z       "requiredStages": [],
2026-06-04T14:14:33.2666264Z       "stages": {
2026-06-04T14:14:33.2666660Z         "doc": {
2026-06-04T14:14:33.2667097Z           "complete": false,
2026-06-04T14:14:33.2667738Z           "evidence": []
2026-06-04T14:14:33.2668164Z         },
2026-06-04T14:14:33.2668577Z         "impl": {
2026-06-04T14:14:33.2669010Z           "complete": false,
2026-06-04T14:14:33.2669622Z           "evidence": []
2026-06-04T14:14:33.2670014Z         },
2026-06-04T14:14:33.2670412Z         "int": {
2026-06-04T14:14:33.2670842Z           "complete": false,
2026-06-04T14:14:33.2671266Z           "evidence": []
2026-06-04T14:14:33.2671654Z         },
2026-06-04T14:14:33.2672057Z         "unit": {
2026-06-04T14:14:33.2672491Z           "complete": false,
2026-06-04T14:14:33.2672902Z           "evidence": []
2026-06-04T14:14:33.2673299Z         }
2026-06-04T14:14:33.2673686Z       }
2026-06-04T14:14:33.2674077Z     },
2026-06-04T14:14:33.2674460Z     {
2026-06-04T14:14:33.2674964Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T14:14:33.2675926Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T14:14:33.2676369Z       "requiredStages": [
2026-06-04T14:14:33.2676778Z         "impl",
2026-06-04T14:14:33.2677178Z         "unit"
2026-06-04T14:14:33.2677572Z       ],
2026-06-04T14:14:33.2677975Z       "stages": {
2026-06-04T14:14:33.2678389Z         "doc": {
2026-06-04T14:14:33.2678824Z           "complete": false,
2026-06-04T14:14:33.2679275Z           "evidence": []
2026-06-04T14:14:33.2679673Z         },
2026-06-04T14:14:33.2680067Z         "impl": {
2026-06-04T14:14:33.2680496Z           "complete": true,
2026-06-04T14:14:33.2680907Z           "evidence": [
2026-06-04T14:14:33.2681302Z             {
2026-06-04T14:14:33.2681866Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2682274Z               "line": 40
2026-06-04T14:14:33.2682672Z             },
2026-06-04T14:14:33.2683059Z             {
2026-06-04T14:14:33.2683618Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2684031Z               "line": 98
2026-06-04T14:14:33.2684415Z             },
2026-06-04T14:14:33.2684803Z             {
2026-06-04T14:14:33.2685361Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2685785Z               "line": 209
2026-06-04T14:14:33.2686173Z             },
2026-06-04T14:14:33.2686583Z             {
2026-06-04T14:14:33.2687143Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2687560Z               "line": 291
2026-06-04T14:14:33.2687954Z             }
2026-06-04T14:14:33.2688342Z           ]
2026-06-04T14:14:33.2688733Z         },
2026-06-04T14:14:33.2689119Z         "int": {
2026-06-04T14:14:33.2689588Z           "complete": false,
2026-06-04T14:14:33.2690011Z           "evidence": []
2026-06-04T14:14:33.2690400Z         },
2026-06-04T14:14:33.2690797Z         "unit": {
2026-06-04T14:14:33.2691221Z           "complete": true,
2026-06-04T14:14:33.2691632Z           "evidence": [
2026-06-04T14:14:33.2692016Z             {
2026-06-04T14:14:33.2692577Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2693000Z               "line": 326
2026-06-04T14:14:33.2693399Z             },
2026-06-04T14:14:33.2693798Z             {
2026-06-04T14:14:33.2694346Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2694775Z               "line": 372
2026-06-04T14:14:33.2695166Z             },
2026-06-04T14:14:33.2695563Z             {
2026-06-04T14:14:33.2696124Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2696538Z               "line": 413
2026-06-04T14:14:33.2696939Z             },
2026-06-04T14:14:33.2697327Z             {
2026-06-04T14:14:33.2697882Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2698291Z               "line": 432
2026-06-04T14:14:33.2698687Z             }
2026-06-04T14:14:33.2699085Z           ]
2026-06-04T14:14:33.2699501Z         }
2026-06-04T14:14:33.2699896Z       }
2026-06-04T14:14:33.2700277Z     },
2026-06-04T14:14:33.2700665Z     {
2026-06-04T14:14:33.2701230Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T14:14:33.2702031Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T14:14:33.2702514Z       "requiredStages": [
2026-06-04T14:14:33.2702916Z         "impl",
2026-06-04T14:14:33.2706613Z         "unit"
2026-06-04T14:14:33.2707069Z       ],
2026-06-04T14:14:33.2707490Z       "stages": {
2026-06-04T14:14:33.2707886Z         "doc": {
2026-06-04T14:14:33.2708323Z           "complete": false,
2026-06-04T14:14:33.2708745Z           "evidence": []
2026-06-04T14:14:33.2709132Z         },
2026-06-04T14:14:33.2709630Z         "impl": {
2026-06-04T14:14:33.2710054Z           "complete": true,
2026-06-04T14:14:33.2710472Z           "evidence": [
2026-06-04T14:14:33.2710858Z             {
2026-06-04T14:14:33.2711428Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2711855Z               "line": 111
2026-06-04T14:14:33.2712240Z             },
2026-06-04T14:14:33.2712636Z             {
2026-06-04T14:14:33.2713184Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2713624Z               "line": 202
2026-06-04T14:14:33.2714019Z             }
2026-06-04T14:14:33.2714411Z           ]
2026-06-04T14:14:33.2714805Z         },
2026-06-04T14:14:33.2715194Z         "int": {
2026-06-04T14:14:33.2715647Z           "complete": false,
2026-06-04T14:14:33.2716065Z           "evidence": []
2026-06-04T14:14:33.2716460Z         },
2026-06-04T14:14:33.2716854Z         "unit": {
2026-06-04T14:14:33.2717294Z           "complete": true,
2026-06-04T14:14:33.2717714Z           "evidence": [
2026-06-04T14:14:33.2718100Z             {
2026-06-04T14:14:33.2718659Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2719066Z               "line": 347
2026-06-04T14:14:33.2719499Z             },
2026-06-04T14:14:33.2719887Z             {
2026-06-04T14:14:33.2720441Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.2720856Z               "line": 391
2026-06-04T14:14:33.2721241Z             }
2026-06-04T14:14:33.2721629Z           ]
2026-06-04T14:14:33.2722012Z         }
2026-06-04T14:14:33.2722412Z       }
2026-06-04T14:14:33.2722789Z     },
2026-06-04T14:14:33.2723175Z     {
2026-06-04T14:14:33.2723753Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T14:14:33.2724912Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T14:14:33.2725360Z       "requiredStages": [
2026-06-04T14:14:33.2725754Z         "impl",
2026-06-04T14:14:33.2726158Z         "unit"
2026-06-04T14:14:33.2726544Z       ],
2026-06-04T14:14:33.2726954Z       "stages": {
2026-06-04T14:14:33.2727352Z         "doc": {
2026-06-04T14:14:33.2727780Z           "complete": false,
2026-06-04T14:14:33.2728205Z           "evidence": []
2026-06-04T14:14:33.2728590Z         },
2026-06-04T14:14:33.2728990Z         "impl": {
2026-06-04T14:14:33.2729440Z           "complete": true,
2026-06-04T14:14:33.2729868Z           "evidence": [
2026-06-04T14:14:33.2730269Z             {
2026-06-04T14:14:33.2730839Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2731261Z               "line": 26
2026-06-04T14:14:33.2731642Z             },
2026-06-04T14:14:33.2732028Z             {
2026-06-04T14:14:33.2732581Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2733008Z               "line": 126
2026-06-04T14:14:33.2733404Z             },
2026-06-04T14:14:33.2733786Z             {
2026-06-04T14:14:33.2734408Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T14:14:33.2734811Z               "line": 26
2026-06-04T14:14:33.2735209Z             },
2026-06-04T14:14:33.2735593Z             {
2026-06-04T14:14:33.2736218Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T14:14:33.2736642Z               "line": 233
2026-06-04T14:14:33.2737024Z             }
2026-06-04T14:14:33.2737415Z           ]
2026-06-04T14:14:33.2737794Z         },
2026-06-04T14:14:33.2738191Z         "int": {
2026-06-04T14:14:33.2738622Z           "complete": false,
2026-06-04T14:14:33.2739043Z           "evidence": []
2026-06-04T14:14:33.2739686Z         },
2026-06-04T14:14:33.2740118Z         "unit": {
2026-06-04T14:14:33.2740563Z           "complete": true,
2026-06-04T14:14:33.2741118Z           "evidence": [
2026-06-04T14:14:33.2741517Z             {
2026-06-04T14:14:33.2742078Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2742492Z               "line": 152
2026-06-04T14:14:33.2742884Z             },
2026-06-04T14:14:33.2743274Z             {
2026-06-04T14:14:33.2743839Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2744248Z               "line": 161
2026-06-04T14:14:33.2744642Z             },
2026-06-04T14:14:33.2745026Z             {
2026-06-04T14:14:33.2745598Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2746013Z               "line": 170
2026-06-04T14:14:33.2746404Z             },
2026-06-04T14:14:33.2746798Z             {
2026-06-04T14:14:33.2747349Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2747773Z               "line": 179
2026-06-04T14:14:33.2748168Z             },
2026-06-04T14:14:33.2748564Z             {
2026-06-04T14:14:33.2749132Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2749598Z               "line": 188
2026-06-04T14:14:33.2749993Z             },
2026-06-04T14:14:33.2750372Z             {
2026-06-04T14:14:33.2750939Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2751349Z               "line": 199
2026-06-04T14:14:33.2751748Z             },
2026-06-04T14:14:33.2752141Z             {
2026-06-04T14:14:33.2752700Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T14:14:33.2753116Z               "line": 225
2026-06-04T14:14:33.2753504Z             },
2026-06-04T14:14:33.2753891Z             {
2026-06-04T14:14:33.2754451Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.2754862Z               "line": 245
2026-06-04T14:14:33.2755258Z             },
2026-06-04T14:14:33.2755639Z             {
2026-06-04T14:14:33.2756209Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.2756622Z               "line": 212
2026-06-04T14:14:33.2757026Z             },
2026-06-04T14:14:33.2757418Z             {
2026-06-04T14:14:33.2758030Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T14:14:33.2758452Z               "line": 256
2026-06-04T14:14:33.2758837Z             },
2026-06-04T14:14:33.2759265Z             {
2026-06-04T14:14:33.2759879Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T14:14:33.2760298Z               "line": 281
2026-06-04T14:14:33.2760694Z             },
2026-06-04T14:14:33.2761078Z             {
2026-06-04T14:14:33.2761695Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T14:14:33.2762112Z               "line": 293
2026-06-04T14:14:33.2762508Z             },
2026-06-04T14:14:33.2762892Z             {
2026-06-04T14:14:33.2763515Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T14:14:33.2763940Z               "line": 303
2026-06-04T14:14:33.2764325Z             },
2026-06-04T14:14:33.2764718Z             {
2026-06-04T14:14:33.2765307Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.2765740Z               "line": 502
2026-06-04T14:14:33.2766128Z             }
2026-06-04T14:14:33.2766516Z           ]
2026-06-04T14:14:33.2766907Z         }
2026-06-04T14:14:33.2767290Z       }
2026-06-04T14:14:33.2767674Z     },
2026-06-04T14:14:33.2768054Z     {
2026-06-04T14:14:33.2768634Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T14:14:33.2769392Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T14:14:33.2769835Z       "requiredStages": [
2026-06-04T14:14:33.2770234Z         "impl",
2026-06-04T14:14:33.2770625Z         "unit"
2026-06-04T14:14:33.2771018Z       ],
2026-06-04T14:14:33.2771413Z       "stages": {
2026-06-04T14:14:33.2771811Z         "doc": {
2026-06-04T14:14:33.2772242Z           "complete": false,
2026-06-04T14:14:33.2772822Z           "evidence": []
2026-06-04T14:14:33.2773238Z         },
2026-06-04T14:14:33.2773639Z         "impl": {
2026-06-04T14:14:33.2774070Z           "complete": true,
2026-06-04T14:14:33.2774613Z           "evidence": [
2026-06-04T14:14:33.2775002Z             {
2026-06-04T14:14:33.2775535Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.2775954Z               "line": 25
2026-06-04T14:14:33.2776346Z             },
2026-06-04T14:14:33.2776727Z             {
2026-06-04T14:14:33.2777292Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.2777701Z               "line": 26
2026-06-04T14:14:33.2778099Z             },
2026-06-04T14:14:33.2781467Z             {
2026-06-04T14:14:33.2782125Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.2782551Z               "line": 153
2026-06-04T14:14:33.2782940Z             }
2026-06-04T14:14:33.2783331Z           ]
2026-06-04T14:14:33.2783717Z         },
2026-06-04T14:14:33.2784138Z         "int": {
2026-06-04T14:14:33.2784565Z           "complete": false,
2026-06-04T14:14:33.2784991Z           "evidence": []
2026-06-04T14:14:33.2785387Z         },
2026-06-04T14:14:33.2785790Z         "unit": {
2026-06-04T14:14:33.2786221Z           "complete": true,
2026-06-04T14:14:33.2786626Z           "evidence": [
2026-06-04T14:14:33.2787022Z             {
2026-06-04T14:14:33.2787550Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.2787971Z               "line": 180
2026-06-04T14:14:33.2788363Z             },
2026-06-04T14:14:33.2788755Z             {
2026-06-04T14:14:33.2789352Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.2789764Z               "line": 205
2026-06-04T14:14:33.2790160Z             },
2026-06-04T14:14:33.2790544Z             {
2026-06-04T14:14:33.2791107Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.2791530Z               "line": 180
2026-06-04T14:14:33.2791916Z             }
2026-06-04T14:14:33.2792318Z           ]
2026-06-04T14:14:33.2792702Z         }
2026-06-04T14:14:33.2793103Z       }
2026-06-04T14:14:33.2793480Z     },
2026-06-04T14:14:33.2793868Z     {
2026-06-04T14:14:33.2794370Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T14:14:33.2795207Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T14:14:33.2795655Z       "requiredStages": [
2026-06-04T14:14:33.2796051Z         "impl",
2026-06-04T14:14:33.2796445Z         "unit"
2026-06-04T14:14:33.2796824Z       ],
2026-06-04T14:14:33.2797231Z       "stages": {
2026-06-04T14:14:33.2797627Z         "doc": {
2026-06-04T14:14:33.2798057Z           "complete": false,
2026-06-04T14:14:33.2798478Z           "evidence": []
2026-06-04T14:14:33.2798862Z         },
2026-06-04T14:14:33.2799305Z         "impl": {
2026-06-04T14:14:33.2799734Z           "complete": true,
2026-06-04T14:14:33.2800150Z           "evidence": [
2026-06-04T14:14:33.2800545Z             {
2026-06-04T14:14:33.2801108Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2801523Z               "line": 48
2026-06-04T14:14:33.2801913Z             },
2026-06-04T14:14:33.2802305Z             {
2026-06-04T14:14:33.2802860Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2803275Z               "line": 55
2026-06-04T14:14:33.2803665Z             },
2026-06-04T14:14:33.2804050Z             {
2026-06-04T14:14:33.2804613Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2805019Z               "line": 74
2026-06-04T14:14:33.2805415Z             },
2026-06-04T14:14:33.2805803Z             {
2026-06-04T14:14:33.2806357Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2806771Z               "line": 91
2026-06-04T14:14:33.2807153Z             }
2026-06-04T14:14:33.2807547Z           ]
2026-06-04T14:14:33.2807932Z         },
2026-06-04T14:14:33.2808325Z         "int": {
2026-06-04T14:14:33.2808745Z           "complete": false,
2026-06-04T14:14:33.2809410Z           "evidence": []
2026-06-04T14:14:33.2809834Z         },
2026-06-04T14:14:33.2810235Z         "unit": {
2026-06-04T14:14:33.2810667Z           "complete": true,
2026-06-04T14:14:33.2811209Z           "evidence": [
2026-06-04T14:14:33.2811607Z             {
2026-06-04T14:14:33.2812168Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2812587Z               "line": 149
2026-06-04T14:14:33.2812980Z             },
2026-06-04T14:14:33.2813364Z             {
2026-06-04T14:14:33.2813931Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2814344Z               "line": 163
2026-06-04T14:14:33.2814737Z             },
2026-06-04T14:14:33.2815129Z             {
2026-06-04T14:14:33.2815693Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2816115Z               "line": 173
2026-06-04T14:14:33.2816502Z             },
2026-06-04T14:14:33.2816888Z             {
2026-06-04T14:14:33.2817434Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2817895Z               "line": 191
2026-06-04T14:14:33.2818296Z             },
2026-06-04T14:14:33.2818686Z             {
2026-06-04T14:14:33.2819304Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.2819720Z               "line": 204
2026-06-04T14:14:33.2820115Z             }
2026-06-04T14:14:33.2820505Z           ]
2026-06-04T14:14:33.2820894Z         }
2026-06-04T14:14:33.2821285Z       }
2026-06-04T14:14:33.2821674Z     },
2026-06-04T14:14:33.2822059Z     {
2026-06-04T14:14:33.2822638Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T14:14:33.2823617Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T14:14:33.2824050Z       "requiredStages": [
2026-06-04T14:14:33.2824452Z         "impl",
2026-06-04T14:14:33.2824855Z         "unit"
2026-06-04T14:14:33.2825240Z       ],
2026-06-04T14:14:33.2825647Z       "stages": {
2026-06-04T14:14:33.2826040Z         "doc": {
2026-06-04T14:14:33.2826471Z           "complete": false,
2026-06-04T14:14:33.2826895Z           "evidence": []
2026-06-04T14:14:33.2827295Z         },
2026-06-04T14:14:33.2827690Z         "impl": {
2026-06-04T14:14:33.2828130Z           "complete": true,
2026-06-04T14:14:33.2828551Z           "evidence": [
2026-06-04T14:14:33.2828936Z             {
2026-06-04T14:14:33.2829586Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.2829996Z               "line": 341
2026-06-04T14:14:33.2830393Z             },
2026-06-04T14:14:33.2830784Z             {
2026-06-04T14:14:33.2831341Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.2831762Z               "line": 26
2026-06-04T14:14:33.2832147Z             }
2026-06-04T14:14:33.2832540Z           ]
2026-06-04T14:14:33.2832926Z         },
2026-06-04T14:14:33.2833325Z         "int": {
2026-06-04T14:14:33.2833759Z           "complete": false,
2026-06-04T14:14:33.2834174Z           "evidence": []
2026-06-04T14:14:33.2834571Z         },
2026-06-04T14:14:33.2834966Z         "unit": {
2026-06-04T14:14:33.2835402Z           "complete": true,
2026-06-04T14:14:33.2835814Z           "evidence": [
2026-06-04T14:14:33.2836212Z             {
2026-06-04T14:14:33.2836787Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.2837195Z               "line": 139
2026-06-04T14:14:33.2837590Z             },
2026-06-04T14:14:33.2837975Z             {
2026-06-04T14:14:33.2838532Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.2838943Z               "line": 182
2026-06-04T14:14:33.2839376Z             }
2026-06-04T14:14:33.2839785Z           ]
2026-06-04T14:14:33.2840178Z         }
2026-06-04T14:14:33.2840566Z       }
2026-06-04T14:14:33.2840945Z     },
2026-06-04T14:14:33.2841331Z     {
2026-06-04T14:14:33.2841889Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T14:14:33.2842680Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T14:14:33.2843127Z       "requiredStages": [
2026-06-04T14:14:33.2843711Z         "impl",
2026-06-04T14:14:33.2844140Z         "unit"
2026-06-04T14:14:33.2844523Z       ],
2026-06-04T14:14:33.2844932Z       "stages": {
2026-06-04T14:14:33.2845464Z         "doc": {
2026-06-04T14:14:33.2845904Z           "complete": false,
2026-06-04T14:14:33.2846327Z           "evidence": []
2026-06-04T14:14:33.2846714Z         },
2026-06-04T14:14:33.2847119Z         "impl": {
2026-06-04T14:14:33.2847540Z           "complete": true,
2026-06-04T14:14:33.2847955Z           "evidence": [
2026-06-04T14:14:33.2848338Z             {
2026-06-04T14:14:33.2848935Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2849396Z               "line": 36
2026-06-04T14:14:33.2849790Z             },
2026-06-04T14:14:33.2850184Z             {
2026-06-04T14:14:33.2850767Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2851180Z               "line": 68
2026-06-04T14:14:33.2851568Z             }
2026-06-04T14:14:33.2851964Z           ]
2026-06-04T14:14:33.2852369Z         },
2026-06-04T14:14:33.2855694Z         "int": {
2026-06-04T14:14:33.2856230Z           "complete": false,
2026-06-04T14:14:33.2856652Z           "evidence": []
2026-06-04T14:14:33.2857069Z         },
2026-06-04T14:14:33.2857467Z         "unit": {
2026-06-04T14:14:33.2857898Z           "complete": true,
2026-06-04T14:14:33.2858320Z           "evidence": [
2026-06-04T14:14:33.2858708Z             {
2026-06-04T14:14:33.2859400Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2859819Z               "line": 143
2026-06-04T14:14:33.2860215Z             },
2026-06-04T14:14:33.2860605Z             {
2026-06-04T14:14:33.2861214Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2861630Z               "line": 160
2026-06-04T14:14:33.2862018Z             },
2026-06-04T14:14:33.2862412Z             {
2026-06-04T14:14:33.2863005Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2863426Z               "line": 168
2026-06-04T14:14:33.2863820Z             }
2026-06-04T14:14:33.2864212Z           ]
2026-06-04T14:14:33.2864604Z         }
2026-06-04T14:14:33.2864990Z       }
2026-06-04T14:14:33.2865398Z     },
2026-06-04T14:14:33.2865779Z     {
2026-06-04T14:14:33.2866355Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T14:14:33.2867253Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T14:14:33.2867698Z       "requiredStages": [
2026-06-04T14:14:33.2868099Z         "impl",
2026-06-04T14:14:33.2868491Z         "unit"
2026-06-04T14:14:33.2868877Z       ],
2026-06-04T14:14:33.2869317Z       "stages": {
2026-06-04T14:14:33.2869726Z         "doc": {
2026-06-04T14:14:33.2870158Z           "complete": false,
2026-06-04T14:14:33.2870589Z           "evidence": []
2026-06-04T14:14:33.2870990Z         },
2026-06-04T14:14:33.2871383Z         "impl": {
2026-06-04T14:14:33.2871809Z           "complete": true,
2026-06-04T14:14:33.2872223Z           "evidence": [
2026-06-04T14:14:33.2872616Z             {
2026-06-04T14:14:33.2873218Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2873637Z               "line": 107
2026-06-04T14:14:33.2874038Z             }
2026-06-04T14:14:33.2874433Z           ]
2026-06-04T14:14:33.2874823Z         },
2026-06-04T14:14:33.2875211Z         "int": {
2026-06-04T14:14:33.2875640Z           "complete": false,
2026-06-04T14:14:33.2876060Z           "evidence": []
2026-06-04T14:14:33.2876455Z         },
2026-06-04T14:14:33.2876858Z         "unit": {
2026-06-04T14:14:33.2877285Z           "complete": true,
2026-06-04T14:14:33.2877705Z           "evidence": [
2026-06-04T14:14:33.2878097Z             {
2026-06-04T14:14:33.2878688Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2879100Z               "line": 184
2026-06-04T14:14:33.2879555Z             },
2026-06-04T14:14:33.2880001Z             {
2026-06-04T14:14:33.2880623Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2881299Z               "line": 193
2026-06-04T14:14:33.2881721Z             },
2026-06-04T14:14:33.2882117Z             {
2026-06-04T14:14:33.2882701Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2883358Z               "line": 201
2026-06-04T14:14:33.2883884Z             },
2026-06-04T14:14:33.2884353Z             {
2026-06-04T14:14:33.2885043Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2885527Z               "line": 210
2026-06-04T14:14:33.2885989Z             },
2026-06-04T14:14:33.2886450Z             {
2026-06-04T14:14:33.2887137Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T14:14:33.2887628Z               "line": 219
2026-06-04T14:14:33.2888067Z             }
2026-06-04T14:14:33.2888512Z           ]
2026-06-04T14:14:33.2888942Z         }
2026-06-04T14:14:33.2889634Z       }
2026-06-04T14:14:33.2890236Z     },
2026-06-04T14:14:33.2890668Z     {
2026-06-04T14:14:33.2891292Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T14:14:33.2892207Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T14:14:33.2892696Z       "requiredStages": [
2026-06-04T14:14:33.2893145Z         "impl",
2026-06-04T14:14:33.2893579Z         "unit"
2026-06-04T14:14:33.2893989Z       ],
2026-06-04T14:14:33.2894432Z       "stages": {
2026-06-04T14:14:33.2894858Z         "doc": {
2026-06-04T14:14:33.2895326Z           "complete": false,
2026-06-04T14:14:33.2895792Z           "evidence": []
2026-06-04T14:14:33.2896206Z         },
2026-06-04T14:14:33.2896691Z         "impl": {
2026-06-04T14:14:33.2897211Z           "complete": true,
2026-06-04T14:14:33.2897704Z           "evidence": [
2026-06-04T14:14:33.2898128Z             {
2026-06-04T14:14:33.2898699Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.2899242Z               "line": 14
2026-06-04T14:14:33.2899853Z             },
2026-06-04T14:14:33.2900479Z             {
2026-06-04T14:14:33.2901040Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.2901579Z               "line": 62
2026-06-04T14:14:33.2902013Z             }
2026-06-04T14:14:33.2902440Z           ]
2026-06-04T14:14:33.2902866Z         },
2026-06-04T14:14:33.2903305Z         "int": {
2026-06-04T14:14:33.2903780Z           "complete": false,
2026-06-04T14:14:33.2904222Z           "evidence": []
2026-06-04T14:14:33.2904658Z         },
2026-06-04T14:14:33.2905110Z         "unit": {
2026-06-04T14:14:33.2905564Z           "complete": true,
2026-06-04T14:14:33.2906008Z           "evidence": [
2026-06-04T14:14:33.2906420Z             {
2026-06-04T14:14:33.2906992Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.2907427Z               "line": 160
2026-06-04T14:14:33.2907854Z             },
2026-06-04T14:14:33.2908279Z             {
2026-06-04T14:14:33.2908850Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.2909386Z               "line": 197
2026-06-04T14:14:33.2910125Z             },
2026-06-04T14:14:33.2910552Z             {
2026-06-04T14:14:33.2911113Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.2911567Z               "line": 213
2026-06-04T14:14:33.2911984Z             }
2026-06-04T14:14:33.2912398Z           ]
2026-06-04T14:14:33.2912818Z         }
2026-06-04T14:14:33.2913222Z       }
2026-06-04T14:14:33.2913629Z     },
2026-06-04T14:14:33.2914021Z     {
2026-06-04T14:14:33.2914604Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T14:14:33.2915796Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T14:14:33.2916281Z       "requiredStages": [
2026-06-04T14:14:33.2916705Z         "impl",
2026-06-04T14:14:33.2917111Z         "unit"
2026-06-04T14:14:33.2917518Z       ],
2026-06-04T14:14:33.2917928Z       "stages": {
2026-06-04T14:14:33.2918345Z         "doc": {
2026-06-04T14:14:33.2918802Z           "complete": false,
2026-06-04T14:14:33.2919433Z           "evidence": []
2026-06-04T14:14:33.2920002Z         },
2026-06-04T14:14:33.2920422Z         "impl": {
2026-06-04T14:14:33.2921211Z           "complete": true,
2026-06-04T14:14:33.2921690Z           "evidence": [
2026-06-04T14:14:33.2922110Z             {
2026-06-04T14:14:33.2922889Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2923335Z               "line": 76
2026-06-04T14:14:33.2923742Z             },
2026-06-04T14:14:33.2924134Z             {
2026-06-04T14:14:33.2924711Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2925159Z               "line": 163
2026-06-04T14:14:33.2925589Z             },
2026-06-04T14:14:33.2926010Z             {
2026-06-04T14:14:33.2926601Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2927060Z               "line": 229
2026-06-04T14:14:33.2927465Z             },
2026-06-04T14:14:33.2927879Z             {
2026-06-04T14:14:33.2928466Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2928951Z               "line": 265
2026-06-04T14:14:33.2929623Z             }
2026-06-04T14:14:33.2930238Z           ]
2026-06-04T14:14:33.2930668Z         },
2026-06-04T14:14:33.2931084Z         "int": {
2026-06-04T14:14:33.2931552Z           "complete": false,
2026-06-04T14:14:33.2932019Z           "evidence": []
2026-06-04T14:14:33.2932460Z         },
2026-06-04T14:14:33.2932892Z         "unit": {
2026-06-04T14:14:33.2933350Z           "complete": true,
2026-06-04T14:14:33.2938102Z           "evidence": [
2026-06-04T14:14:33.2938659Z             {
2026-06-04T14:14:33.2939538Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2940144Z               "line": 310
2026-06-04T14:14:33.2940571Z             },
2026-06-04T14:14:33.2940980Z             {
2026-06-04T14:14:33.2941562Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2942004Z               "line": 318
2026-06-04T14:14:33.2942407Z             },
2026-06-04T14:14:33.2942816Z             {
2026-06-04T14:14:33.2943398Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2943901Z               "line": 341
2026-06-04T14:14:33.2944329Z             },
2026-06-04T14:14:33.2944736Z             {
2026-06-04T14:14:33.2945316Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2945765Z               "line": 378
2026-06-04T14:14:33.2946187Z             },
2026-06-04T14:14:33.2946626Z             {
2026-06-04T14:14:33.2947215Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2947675Z               "line": 389
2026-06-04T14:14:33.2948095Z             },
2026-06-04T14:14:33.2948515Z             {
2026-06-04T14:14:33.2949092Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2949919Z               "line": 401
2026-06-04T14:14:33.2950361Z             },
2026-06-04T14:14:33.2950758Z             {
2026-06-04T14:14:33.2951344Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T14:14:33.2951771Z               "line": 413
2026-06-04T14:14:33.2952182Z             }
2026-06-04T14:14:33.2952585Z           ]
2026-06-04T14:14:33.2953012Z         }
2026-06-04T14:14:33.2953426Z       }
2026-06-04T14:14:33.2953826Z     },
2026-06-04T14:14:33.2954227Z     {
2026-06-04T14:14:33.2954739Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T14:14:33.2955506Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T14:14:33.2955959Z       "requiredStages": [
2026-06-04T14:14:33.2956396Z         "impl",
2026-06-04T14:14:33.2956806Z         "int"
2026-06-04T14:14:33.2957203Z       ],
2026-06-04T14:14:33.2957633Z       "stages": {
2026-06-04T14:14:33.2958042Z         "doc": {
2026-06-04T14:14:33.2958504Z           "complete": false,
2026-06-04T14:14:33.2958939Z           "evidence": []
2026-06-04T14:14:33.2959569Z         },
2026-06-04T14:14:33.2960166Z         "impl": {
2026-06-04T14:14:33.2960631Z           "complete": true,
2026-06-04T14:14:33.2961087Z           "evidence": [
2026-06-04T14:14:33.2961500Z             {
2026-06-04T14:14:33.2962114Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.2963018Z               "line": 22
2026-06-04T14:14:33.2963492Z             }
2026-06-04T14:14:33.2963905Z           ]
2026-06-04T14:14:33.2964317Z         },
2026-06-04T14:14:33.2964992Z         "int": {
2026-06-04T14:14:33.2965439Z           "complete": true,
2026-06-04T14:14:33.2965891Z           "evidence": [
2026-06-04T14:14:33.2966302Z             {
2026-06-04T14:14:33.2966946Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T14:14:33.2967398Z               "line": 18
2026-06-04T14:14:33.2967835Z             }
2026-06-04T14:14:33.2968282Z           ]
2026-06-04T14:14:33.2968706Z         },
2026-06-04T14:14:33.2969151Z         "unit": {
2026-06-04T14:14:33.2969896Z           "complete": false,
2026-06-04T14:14:33.2970515Z           "evidence": []
2026-06-04T14:14:33.2970936Z         }
2026-06-04T14:14:33.2971335Z       }
2026-06-04T14:14:33.2971745Z     },
2026-06-04T14:14:33.2972140Z     {
2026-06-04T14:14:33.2972716Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T14:14:33.2973738Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T14:14:33.2974216Z       "requiredStages": [
2026-06-04T14:14:33.2974647Z         "impl",
2026-06-04T14:14:33.2975053Z         "unit"
2026-06-04T14:14:33.2975470Z       ],
2026-06-04T14:14:33.2975896Z       "stages": {
2026-06-04T14:14:33.2976307Z         "doc": {
2026-06-04T14:14:33.2976761Z           "complete": false,
2026-06-04T14:14:33.2977226Z           "evidence": []
2026-06-04T14:14:33.2977682Z         },
2026-06-04T14:14:33.2978139Z         "impl": {
2026-06-04T14:14:33.2978618Z           "complete": true,
2026-06-04T14:14:33.2979063Z           "evidence": [
2026-06-04T14:14:33.2979736Z             {
2026-06-04T14:14:33.2980535Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.2980996Z               "line": 340
2026-06-04T14:14:33.2981416Z             },
2026-06-04T14:14:33.2981828Z             {
2026-06-04T14:14:33.2982460Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.2982890Z               "line": 27
2026-06-04T14:14:33.2983306Z             }
2026-06-04T14:14:33.2983724Z           ]
2026-06-04T14:14:33.2984167Z         },
2026-06-04T14:14:33.2984598Z         "int": {
2026-06-04T14:14:33.2985067Z           "complete": false,
2026-06-04T14:14:33.2985508Z           "evidence": []
2026-06-04T14:14:33.2985914Z         },
2026-06-04T14:14:33.2986339Z         "unit": {
2026-06-04T14:14:33.2986784Z           "complete": true,
2026-06-04T14:14:33.2987247Z           "evidence": [
2026-06-04T14:14:33.2987708Z             {
2026-06-04T14:14:33.2988360Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.2988810Z               "line": 745
2026-06-04T14:14:33.2989291Z             },
2026-06-04T14:14:33.2990031Z             {
2026-06-04T14:14:33.2990639Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.2991203Z               "line": 164
2026-06-04T14:14:33.2991632Z             }
2026-06-04T14:14:33.2992065Z           ]
2026-06-04T14:14:33.2992500Z         }
2026-06-04T14:14:33.2992915Z       }
2026-06-04T14:14:33.2993321Z     },
2026-06-04T14:14:33.2993743Z     {
2026-06-04T14:14:33.2994391Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T14:14:33.2995254Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T14:14:33.2995765Z       "requiredStages": [
2026-06-04T14:14:33.2996209Z         "impl",
2026-06-04T14:14:33.2996635Z         "unit"
2026-06-04T14:14:33.2997051Z       ],
2026-06-04T14:14:33.2997473Z       "stages": {
2026-06-04T14:14:33.2997898Z         "doc": {
2026-06-04T14:14:33.2998366Z           "complete": false,
2026-06-04T14:14:33.2998802Z           "evidence": []
2026-06-04T14:14:33.2999292Z         },
2026-06-04T14:14:33.2999926Z         "impl": {
2026-06-04T14:14:33.3000399Z           "complete": true,
2026-06-04T14:14:33.3000858Z           "evidence": [
2026-06-04T14:14:33.3001294Z             {
2026-06-04T14:14:33.3002264Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3002790Z               "line": 20
2026-06-04T14:14:33.3003244Z             },
2026-06-04T14:14:33.3003840Z             {
2026-06-04T14:14:33.3004474Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3004933Z               "line": 94
2026-06-04T14:14:33.3005357Z             },
2026-06-04T14:14:33.3005788Z             {
2026-06-04T14:14:33.3006428Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T14:14:33.3006880Z               "line": 70
2026-06-04T14:14:33.3007292Z             },
2026-06-04T14:14:33.3007730Z             {
2026-06-04T14:14:33.3008379Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T14:14:33.3008834Z               "line": 82
2026-06-04T14:14:33.3009340Z             }
2026-06-04T14:14:33.3009917Z           ]
2026-06-04T14:14:33.3010337Z         },
2026-06-04T14:14:33.3010761Z         "int": {
2026-06-04T14:14:33.3011237Z           "complete": false,
2026-06-04T14:14:33.3011698Z           "evidence": []
2026-06-04T14:14:33.3012135Z         },
2026-06-04T14:14:33.3012589Z         "unit": {
2026-06-04T14:14:33.3013069Z           "complete": true,
2026-06-04T14:14:33.3013550Z           "evidence": [
2026-06-04T14:14:33.3013964Z             {
2026-06-04T14:14:33.3014580Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3015044Z               "line": 139
2026-06-04T14:14:33.3015473Z             },
2026-06-04T14:14:33.3015902Z             {
2026-06-04T14:14:33.3016489Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3016933Z               "line": 162
2026-06-04T14:14:33.3017342Z             },
2026-06-04T14:14:33.3017752Z             {
2026-06-04T14:14:33.3018340Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3023753Z               "line": 173
2026-06-04T14:14:33.3024267Z             },
2026-06-04T14:14:33.3024676Z             {
2026-06-04T14:14:33.3025345Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3025784Z               "line": 189
2026-06-04T14:14:33.3026208Z             },
2026-06-04T14:14:33.3026613Z             {
2026-06-04T14:14:33.3027222Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T14:14:33.3027663Z               "line": 200
2026-06-04T14:14:33.3028080Z             },
2026-06-04T14:14:33.3028505Z             {
2026-06-04T14:14:33.3029145Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T14:14:33.3029716Z               "line": 139
2026-06-04T14:14:33.3030112Z             }
2026-06-04T14:14:33.3030533Z           ]
2026-06-04T14:14:33.3030946Z         }
2026-06-04T14:14:33.3031351Z       }
2026-06-04T14:14:33.3031752Z     },
2026-06-04T14:14:33.3032149Z     {
2026-06-04T14:14:33.3032665Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T14:14:33.3034100Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T14:14:33.3034617Z       "requiredStages": [
2026-06-04T14:14:33.3035086Z         "impl",
2026-06-04T14:14:33.3035515Z         "unit"
2026-06-04T14:14:33.3035940Z       ],
2026-06-04T14:14:33.3036365Z       "stages": {
2026-06-04T14:14:33.3037003Z         "doc": {
2026-06-04T14:14:33.3037532Z           "complete": true,
2026-06-04T14:14:33.3038053Z           "evidence": [
2026-06-04T14:14:33.3038565Z             {
2026-06-04T14:14:33.3039287Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T14:14:33.3039860Z               "line": 131
2026-06-04T14:14:33.3040433Z             }
2026-06-04T14:14:33.3040858Z           ]
2026-06-04T14:14:33.3041273Z         },
2026-06-04T14:14:33.3041701Z         "impl": {
2026-06-04T14:14:33.3042163Z           "complete": true,
2026-06-04T14:14:33.3042615Z           "evidence": [
2026-06-04T14:14:33.3043031Z             {
2026-06-04T14:14:33.3043593Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.3044035Z               "line": 65
2026-06-04T14:14:33.3044436Z             },
2026-06-04T14:14:33.3045302Z             {
2026-06-04T14:14:33.3045907Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3046355Z               "line": 17
2026-06-04T14:14:33.3046962Z             },
2026-06-04T14:14:33.3047376Z             {
2026-06-04T14:14:33.3047958Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.3048391Z               "line": 212
2026-06-04T14:14:33.3048803Z             },
2026-06-04T14:14:33.3049424Z             {
2026-06-04T14:14:33.3050153Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.3050586Z               "line": 312
2026-06-04T14:14:33.3050992Z             },
2026-06-04T14:14:33.3051406Z             {
2026-06-04T14:14:33.3051974Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T14:14:33.3052410Z               "line": 32
2026-06-04T14:14:33.3052819Z             }
2026-06-04T14:14:33.3053223Z           ]
2026-06-04T14:14:33.3053648Z         },
2026-06-04T14:14:33.3054064Z         "int": {
2026-06-04T14:14:33.3054531Z           "complete": false,
2026-06-04T14:14:33.3054970Z           "evidence": []
2026-06-04T14:14:33.3055393Z         },
2026-06-04T14:14:33.3055847Z         "unit": {
2026-06-04T14:14:33.3056313Z           "complete": true,
2026-06-04T14:14:33.3056946Z           "evidence": [
2026-06-04T14:14:33.3057398Z             {
2026-06-04T14:14:33.3058035Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3058571Z               "line": 94
2026-06-04T14:14:33.3059078Z             },
2026-06-04T14:14:33.3059760Z             {
2026-06-04T14:14:33.3060335Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3060810Z               "line": 111
2026-06-04T14:14:33.3061217Z             },
2026-06-04T14:14:33.3061648Z             {
2026-06-04T14:14:33.3062235Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3062724Z               "line": 124
2026-06-04T14:14:33.3063161Z             },
2026-06-04T14:14:33.3063579Z             {
2026-06-04T14:14:33.3064189Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3064641Z               "line": 134
2026-06-04T14:14:33.3065086Z             },
2026-06-04T14:14:33.3065530Z             {
2026-06-04T14:14:33.3066120Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3066580Z               "line": 142
2026-06-04T14:14:33.3067006Z             },
2026-06-04T14:14:33.3067440Z             {
2026-06-04T14:14:33.3068009Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T14:14:33.3068474Z               "line": 154
2026-06-04T14:14:33.3068905Z             },
2026-06-04T14:14:33.3069574Z             {
2026-06-04T14:14:33.3070463Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.3070910Z               "line": 636
2026-06-04T14:14:33.3071333Z             }
2026-06-04T14:14:33.3071742Z           ]
2026-06-04T14:14:33.3072174Z         }
2026-06-04T14:14:33.3072611Z       }
2026-06-04T14:14:33.3073041Z     },
2026-06-04T14:14:33.3073452Z     {
2026-06-04T14:14:33.3074003Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T14:14:33.3074711Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T14:14:33.3075199Z       "requiredStages": [
2026-06-04T14:14:33.3075641Z         "impl",
2026-06-04T14:14:33.3076065Z         "unit"
2026-06-04T14:14:33.3076483Z       ],
2026-06-04T14:14:33.3076912Z       "stages": {
2026-06-04T14:14:33.3077330Z         "doc": {
2026-06-04T14:14:33.3077801Z           "complete": false,
2026-06-04T14:14:33.3078244Z           "evidence": []
2026-06-04T14:14:33.3078720Z         },
2026-06-04T14:14:33.3079268Z         "impl": {
2026-06-04T14:14:33.3079950Z           "complete": true,
2026-06-04T14:14:33.3080560Z           "evidence": [
2026-06-04T14:14:33.3080987Z             {
2026-06-04T14:14:33.3081807Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.3082332Z               "line": 128
2026-06-04T14:14:33.3082847Z             }
2026-06-04T14:14:33.3083383Z           ]
2026-06-04T14:14:33.3084188Z         },
2026-06-04T14:14:33.3084695Z         "int": {
2026-06-04T14:14:33.3085191Z           "complete": false,
2026-06-04T14:14:33.3085718Z           "evidence": []
2026-06-04T14:14:33.3086382Z         },
2026-06-04T14:14:33.3086837Z         "unit": {
2026-06-04T14:14:33.3087298Z           "complete": true,
2026-06-04T14:14:33.3087752Z           "evidence": [
2026-06-04T14:14:33.3088189Z             {
2026-06-04T14:14:33.3088797Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.3089355Z               "line": 205
2026-06-04T14:14:33.3089789Z             }
2026-06-04T14:14:33.3090238Z           ]
2026-06-04T14:14:33.3090667Z         }
2026-06-04T14:14:33.3091083Z       }
2026-06-04T14:14:33.3091500Z     },
2026-06-04T14:14:33.3091925Z     {
2026-06-04T14:14:33.3092543Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T14:14:33.3093373Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T14:14:33.3093876Z       "requiredStages": [
2026-06-04T14:14:33.3094353Z         "impl",
2026-06-04T14:14:33.3094815Z         "unit"
2026-06-04T14:14:33.3095258Z       ],
2026-06-04T14:14:33.3095680Z       "stages": {
2026-06-04T14:14:33.3096152Z         "doc": {
2026-06-04T14:14:33.3096656Z           "complete": false,
2026-06-04T14:14:33.3097138Z           "evidence": []
2026-06-04T14:14:33.3097576Z         },
2026-06-04T14:14:33.3098024Z         "impl": {
2026-06-04T14:14:33.3098502Z           "complete": true,
2026-06-04T14:14:33.3098958Z           "evidence": [
2026-06-04T14:14:33.3099612Z             {
2026-06-04T14:14:33.3100222Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3100704Z               "line": 231
2026-06-04T14:14:33.3101139Z             },
2026-06-04T14:14:33.3101546Z             {
2026-06-04T14:14:33.3102130Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3102564Z               "line": 242
2026-06-04T14:14:33.3102984Z             },
2026-06-04T14:14:33.3103388Z             {
2026-06-04T14:14:33.3103971Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3104409Z               "line": 260
2026-06-04T14:14:33.3104833Z             }
2026-06-04T14:14:33.3109921Z           ]
2026-06-04T14:14:33.3110509Z         },
2026-06-04T14:14:33.3110993Z         "int": {
2026-06-04T14:14:33.3111474Z           "complete": false,
2026-06-04T14:14:33.3111948Z           "evidence": []
2026-06-04T14:14:33.3112397Z         },
2026-06-04T14:14:33.3112837Z         "unit": {
2026-06-04T14:14:33.3113327Z           "complete": true,
2026-06-04T14:14:33.3113780Z           "evidence": [
2026-06-04T14:14:33.3114218Z             {
2026-06-04T14:14:33.3114814Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3115273Z               "line": 284
2026-06-04T14:14:33.3115698Z             },
2026-06-04T14:14:33.3116114Z             {
2026-06-04T14:14:33.3116722Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3117181Z               "line": 302
2026-06-04T14:14:33.3117678Z             },
2026-06-04T14:14:33.3118123Z             {
2026-06-04T14:14:33.3118712Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3119280Z               "line": 467
2026-06-04T14:14:33.3119861Z             },
2026-06-04T14:14:33.3120277Z             {
2026-06-04T14:14:33.3120852Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3121304Z               "line": 478
2026-06-04T14:14:33.3121718Z             },
2026-06-04T14:14:33.3122133Z             {
2026-06-04T14:14:33.3122709Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.3123140Z               "line": 491
2026-06-04T14:14:33.3123572Z             }
2026-06-04T14:14:33.3123994Z           ]
2026-06-04T14:14:33.3124429Z         }
2026-06-04T14:14:33.3124843Z       }
2026-06-04T14:14:33.3125273Z     },
2026-06-04T14:14:33.3125689Z     {
2026-06-04T14:14:33.3126221Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T14:14:33.3127904Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T14:14:33.3128439Z       "requiredStages": [
2026-06-04T14:14:33.3128883Z         "impl",
2026-06-04T14:14:33.3129943Z         "unit"
2026-06-04T14:14:33.3130383Z       ],
2026-06-04T14:14:33.3130803Z       "stages": {
2026-06-04T14:14:33.3131213Z         "doc": {
2026-06-04T14:14:33.3131678Z           "complete": false,
2026-06-04T14:14:33.3132159Z           "evidence": []
2026-06-04T14:14:33.3132582Z         },
2026-06-04T14:14:33.3133021Z         "impl": {
2026-06-04T14:14:33.3133496Z           "complete": true,
2026-06-04T14:14:33.3133953Z           "evidence": [
2026-06-04T14:14:33.3134367Z             {
2026-06-04T14:14:33.3134934Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3135384Z               "line": 14
2026-06-04T14:14:33.3135814Z             },
2026-06-04T14:14:33.3136221Z             {
2026-06-04T14:14:33.3136786Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T14:14:33.3137260Z               "line": 315
2026-06-04T14:14:33.3137671Z             }
2026-06-04T14:14:33.3138093Z           ]
2026-06-04T14:14:33.3138491Z         },
2026-06-04T14:14:33.3138929Z         "int": {
2026-06-04T14:14:33.3139603Z           "complete": false,
2026-06-04T14:14:33.3140226Z           "evidence": []
2026-06-04T14:14:33.3140649Z         },
2026-06-04T14:14:33.3141086Z         "unit": {
2026-06-04T14:14:33.3141555Z           "complete": true,
2026-06-04T14:14:33.3141991Z           "evidence": [
2026-06-04T14:14:33.3142409Z             {
2026-06-04T14:14:33.3142957Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3143399Z               "line": 130
2026-06-04T14:14:33.3143824Z             },
2026-06-04T14:14:33.3144222Z             {
2026-06-04T14:14:33.3144787Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3145231Z               "line": 138
2026-06-04T14:14:33.3145647Z             },
2026-06-04T14:14:33.3146060Z             {
2026-06-04T14:14:33.3146642Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3147116Z               "line": 146
2026-06-04T14:14:33.3147533Z             },
2026-06-04T14:14:33.3147972Z             {
2026-06-04T14:14:33.3148520Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3148987Z               "line": 154
2026-06-04T14:14:33.3149643Z             },
2026-06-04T14:14:33.3150126Z             {
2026-06-04T14:14:33.3150723Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3151169Z               "line": 162
2026-06-04T14:14:33.3151607Z             },
2026-06-04T14:14:33.3152037Z             {
2026-06-04T14:14:33.3152612Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T14:14:33.3153063Z               "line": 170
2026-06-04T14:14:33.3153500Z             }
2026-06-04T14:14:33.3153922Z           ]
2026-06-04T14:14:33.3154338Z         }
2026-06-04T14:14:33.3154787Z       }
2026-06-04T14:14:33.3155211Z     },
2026-06-04T14:14:33.3155637Z     {
2026-06-04T14:14:33.3156208Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T14:14:33.3161835Z       "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-04T14:14:33.3162394Z       "requiredStages": [
2026-06-04T14:14:33.3162806Z         "impl",
2026-06-04T14:14:33.3163221Z         "unit"
2026-06-04T14:14:33.3163627Z       ],
2026-06-04T14:14:33.3164069Z       "stages": {
2026-06-04T14:14:33.3164500Z         "doc": {
2026-06-04T14:14:33.3164959Z           "complete": false,
2026-06-04T14:14:33.3165409Z           "evidence": []
2026-06-04T14:14:33.3165822Z         },
2026-06-04T14:14:33.3166261Z         "impl": {
2026-06-04T14:14:33.3166712Z           "complete": true,
2026-06-04T14:14:33.3167155Z           "evidence": [
2026-06-04T14:14:33.3167582Z             {
2026-06-04T14:14:33.3168701Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3169265Z               "line": 34
2026-06-04T14:14:33.3170172Z             }
2026-06-04T14:14:33.3170601Z           ]
2026-06-04T14:14:33.3171017Z         },
2026-06-04T14:14:33.3171446Z         "int": {
2026-06-04T14:14:33.3171902Z           "complete": false,
2026-06-04T14:14:33.3172338Z           "evidence": []
2026-06-04T14:14:33.3172755Z         },
2026-06-04T14:14:33.3173167Z         "unit": {
2026-06-04T14:14:33.3173627Z           "complete": true,
2026-06-04T14:14:33.3174055Z           "evidence": [
2026-06-04T14:14:33.3174477Z             {
2026-06-04T14:14:33.3175228Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3175657Z               "line": 188
2026-06-04T14:14:33.3176068Z             },
2026-06-04T14:14:33.3176471Z             {
2026-06-04T14:14:33.3177211Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3177658Z               "line": 200
2026-06-04T14:14:33.3178078Z             },
2026-06-04T14:14:33.3178529Z             {
2026-06-04T14:14:33.3179505Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3180139Z               "line": 211
2026-06-04T14:14:33.3180555Z             },
2026-06-04T14:14:33.3180975Z             {
2026-06-04T14:14:33.3181723Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3182174Z               "line": 245
2026-06-04T14:14:33.3182636Z             },
2026-06-04T14:14:33.3183060Z             {
2026-06-04T14:14:33.3183820Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3184285Z               "line": 267
2026-06-04T14:14:33.3184727Z             },
2026-06-04T14:14:33.3185162Z             {
2026-06-04T14:14:33.3185957Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3186418Z               "line": 288
2026-06-04T14:14:33.3186860Z             },
2026-06-04T14:14:33.3187280Z             {
2026-06-04T14:14:33.3188031Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T14:14:33.3188509Z               "line": 304
2026-06-04T14:14:33.3188936Z             }
2026-06-04T14:14:33.3189558Z           ]
2026-06-04T14:14:33.3190003Z         }
2026-06-04T14:14:33.3190437Z       }
2026-06-04T14:14:33.3190859Z     },
2026-06-04T14:14:33.3191272Z     {
2026-06-04T14:14:33.3191856Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T14:14:33.3195192Z       "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-04T14:14:33.3195702Z       "requiredStages": [
2026-06-04T14:14:33.3196167Z         "impl",
2026-06-04T14:14:33.3196617Z         "unit"
2026-06-04T14:14:33.3197071Z       ],
2026-06-04T14:14:33.3197532Z       "stages": {
2026-06-04T14:14:33.3198015Z         "doc": {
2026-06-04T14:14:33.3203465Z           "complete": false,
2026-06-04T14:14:33.3204096Z           "evidence": []
2026-06-04T14:14:33.3204544Z         },
2026-06-04T14:14:33.3205002Z         "impl": {
2026-06-04T14:14:33.3205474Z           "complete": true,
2026-06-04T14:14:33.3205917Z           "evidence": [
2026-06-04T14:14:33.3206350Z             {
2026-06-04T14:14:33.3206973Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3207411Z               "line": 29
2026-06-04T14:14:33.3207840Z             },
2026-06-04T14:14:33.3208252Z             {
2026-06-04T14:14:33.3208865Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3209394Z               "line": 154
2026-06-04T14:14:33.3209854Z             },
2026-06-04T14:14:33.3210432Z             {
2026-06-04T14:14:33.3211001Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3211446Z               "line": 173
2026-06-04T14:14:33.3211847Z             },
2026-06-04T14:14:33.3212741Z             {
2026-06-04T14:14:33.3213375Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3213824Z               "line": 200
2026-06-04T14:14:33.3214423Z             }
2026-06-04T14:14:33.3214842Z           ]
2026-06-04T14:14:33.3215256Z         },
2026-06-04T14:14:33.3215675Z         "int": {
2026-06-04T14:14:33.3216145Z           "complete": false,
2026-06-04T14:14:33.3216588Z           "evidence": []
2026-06-04T14:14:33.3217014Z         },
2026-06-04T14:14:33.3217458Z         "unit": {
2026-06-04T14:14:33.3217933Z           "complete": true,
2026-06-04T14:14:33.3218384Z           "evidence": [
2026-06-04T14:14:33.3218806Z             {
2026-06-04T14:14:33.3219639Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3220263Z               "line": 276
2026-06-04T14:14:33.3220696Z             },
2026-06-04T14:14:33.3221132Z             {
2026-06-04T14:14:33.3221743Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3222210Z               "line": 291
2026-06-04T14:14:33.3222629Z             },
2026-06-04T14:14:33.3223060Z             {
2026-06-04T14:14:33.3223650Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3224123Z               "line": 310
2026-06-04T14:14:33.3224556Z             },
2026-06-04T14:14:33.3224997Z             {
2026-06-04T14:14:33.3225598Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3226038Z               "line": 326
2026-06-04T14:14:33.3226476Z             },
2026-06-04T14:14:33.3226888Z             {
2026-06-04T14:14:33.3227500Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3227970Z               "line": 376
2026-06-04T14:14:33.3228376Z             },
2026-06-04T14:14:33.3228797Z             {
2026-06-04T14:14:33.3229619Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3230255Z               "line": 390
2026-06-04T14:14:33.3230679Z             },
2026-06-04T14:14:33.3231085Z             {
2026-06-04T14:14:33.3231698Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3232133Z               "line": 401
2026-06-04T14:14:33.3232551Z             },
2026-06-04T14:14:33.3232957Z             {
2026-06-04T14:14:33.3233542Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.3233973Z               "line": 412
2026-06-04T14:14:33.3234378Z             }
2026-06-04T14:14:33.3234791Z           ]
2026-06-04T14:14:33.3235205Z         }
2026-06-04T14:14:33.3235626Z       }
2026-06-04T14:14:33.3236041Z     },
2026-06-04T14:14:33.3236452Z     {
2026-06-04T14:14:33.3237047Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T14:14:33.3241319Z       "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-04T14:14:33.3241895Z       "requiredStages": [
2026-06-04T14:14:33.3242341Z         "impl",
2026-06-04T14:14:33.3242800Z         "unit"
2026-06-04T14:14:33.3243228Z       ],
2026-06-04T14:14:33.3243689Z       "stages": {
2026-06-04T14:14:33.3244131Z         "doc": {
2026-06-04T14:14:33.3244617Z           "complete": false,
2026-06-04T14:14:33.3245077Z           "evidence": []
2026-06-04T14:14:33.3245498Z         },
2026-06-04T14:14:33.3245942Z         "impl": {
2026-06-04T14:14:33.3246417Z           "complete": true,
2026-06-04T14:14:33.3246888Z           "evidence": [
2026-06-04T14:14:33.3247317Z             {
2026-06-04T14:14:33.3248061Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3248528Z               "line": 27
2026-06-04T14:14:33.3248959Z             },
2026-06-04T14:14:33.3249477Z             {
2026-06-04T14:14:33.3250337Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3250790Z               "line": 110
2026-06-04T14:14:33.3251206Z             },
2026-06-04T14:14:33.3251615Z             {
2026-06-04T14:14:33.3252658Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3253163Z               "line": 153
2026-06-04T14:14:33.3253590Z             },
2026-06-04T14:14:33.3254189Z             {
2026-06-04T14:14:33.3254891Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3255375Z               "line": 182
2026-06-04T14:14:33.3255790Z             },
2026-06-04T14:14:33.3256218Z             {
2026-06-04T14:14:33.3256995Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3257459Z               "line": 31
2026-06-04T14:14:33.3257889Z             },
2026-06-04T14:14:33.3258297Z             {
2026-06-04T14:14:33.3259057Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3259770Z               "line": 113
2026-06-04T14:14:33.3260359Z             },
2026-06-04T14:14:33.3260760Z             {
2026-06-04T14:14:33.3261527Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3261991Z               "line": 138
2026-06-04T14:14:33.3262387Z             }
2026-06-04T14:14:33.3262798Z           ]
2026-06-04T14:14:33.3263204Z         },
2026-06-04T14:14:33.3263629Z         "int": {
2026-06-04T14:14:33.3264070Z           "complete": false,
2026-06-04T14:14:33.3264515Z           "evidence": []
2026-06-04T14:14:33.3264938Z         },
2026-06-04T14:14:33.3265356Z         "unit": {
2026-06-04T14:14:33.3265841Z           "complete": true,
2026-06-04T14:14:33.3266281Z           "evidence": [
2026-06-04T14:14:33.3266684Z             {
2026-06-04T14:14:33.3267363Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3267825Z               "line": 261
2026-06-04T14:14:33.3268257Z             },
2026-06-04T14:14:33.3268674Z             {
2026-06-04T14:14:33.3269605Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3270229Z               "line": 276
2026-06-04T14:14:33.3270661Z             },
2026-06-04T14:14:33.3271086Z             {
2026-06-04T14:14:33.3271790Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3272246Z               "line": 293
2026-06-04T14:14:33.3272676Z             },
2026-06-04T14:14:33.3273107Z             {
2026-06-04T14:14:33.3273779Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3274234Z               "line": 310
2026-06-04T14:14:33.3274641Z             },
2026-06-04T14:14:33.3275065Z             {
2026-06-04T14:14:33.3275767Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3276214Z               "line": 327
2026-06-04T14:14:33.3276638Z             },
2026-06-04T14:14:33.3277047Z             {
2026-06-04T14:14:33.3277737Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.3278225Z               "line": 366
2026-06-04T14:14:33.3278672Z             },
2026-06-04T14:14:33.3279104Z             {
2026-06-04T14:14:33.3280226Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3280693Z               "line": 179
2026-06-04T14:14:33.3281125Z             },
2026-06-04T14:14:33.3281581Z             {
2026-06-04T14:14:33.3282361Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3282822Z               "line": 194
2026-06-04T14:14:33.3283252Z             },
2026-06-04T14:14:33.3283664Z             {
2026-06-04T14:14:33.3284424Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3284857Z               "line": 204
2026-06-04T14:14:33.3285280Z             },
2026-06-04T14:14:33.3285704Z             {
2026-06-04T14:14:33.3286450Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3286910Z               "line": 259
2026-06-04T14:14:33.3287321Z             },
2026-06-04T14:14:33.3287751Z             {
2026-06-04T14:14:33.3288498Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3289527Z               "line": 269
2026-06-04T14:14:33.3294750Z             },
2026-06-04T14:14:33.3295327Z             {
2026-06-04T14:14:33.3296151Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.3296991Z               "line": 283
2026-06-04T14:14:33.3297424Z             }
2026-06-04T14:14:33.3297839Z           ]
2026-06-04T14:14:33.3298260Z         }
2026-06-04T14:14:33.3298688Z       }
2026-06-04T14:14:33.3299096Z     },
2026-06-04T14:14:33.3299752Z     {
2026-06-04T14:14:33.3300306Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T14:14:33.3301328Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T14:14:33.3301785Z       "requiredStages": [],
2026-06-04T14:14:33.3302210Z       "stages": {
2026-06-04T14:14:33.3302632Z         "doc": {
2026-06-04T14:14:33.3303076Z           "complete": false,
2026-06-04T14:14:33.3303532Z           "evidence": []
2026-06-04T14:14:33.3303928Z         },
2026-06-04T14:14:33.3304372Z         "impl": {
2026-06-04T14:14:33.3304825Z           "complete": false,
2026-06-04T14:14:33.3305278Z           "evidence": []
2026-06-04T14:14:33.3305708Z         },
2026-06-04T14:14:33.3306156Z         "int": {
2026-06-04T14:14:33.3306633Z           "complete": false,
2026-06-04T14:14:33.3307103Z           "evidence": []
2026-06-04T14:14:33.3307534Z         },
2026-06-04T14:14:33.3307956Z         "unit": {
2026-06-04T14:14:33.3308422Z           "complete": false,
2026-06-04T14:14:33.3308875Z           "evidence": []
2026-06-04T14:14:33.3309500Z         }
2026-06-04T14:14:33.3310146Z       }
2026-06-04T14:14:33.3310580Z     },
2026-06-04T14:14:33.3311010Z     {
2026-06-04T14:14:33.3311642Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T14:14:33.3322103Z       "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-04T14:14:33.3322661Z       "requiredStages": [
2026-06-04T14:14:33.3323081Z         "impl",
2026-06-04T14:14:33.3323501Z         "unit"
2026-06-04T14:14:33.3323918Z       ],
2026-06-04T14:14:33.3324377Z       "stages": {
2026-06-04T14:14:33.3324810Z         "doc": {
2026-06-04T14:14:33.3325256Z           "complete": false,
2026-06-04T14:14:33.3325690Z           "evidence": []
2026-06-04T14:14:33.3326078Z         },
2026-06-04T14:14:33.3326488Z         "impl": {
2026-06-04T14:14:33.3326926Z           "complete": true,
2026-06-04T14:14:33.3327366Z           "evidence": [
2026-06-04T14:14:33.3327769Z             {
2026-06-04T14:14:33.3328394Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3328819Z               "line": 26
2026-06-04T14:14:33.3329261Z             },
2026-06-04T14:14:33.3329985Z             {
2026-06-04T14:14:33.3330592Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3331027Z               "line": 93
2026-06-04T14:14:33.3331450Z             },
2026-06-04T14:14:33.3331845Z             {
2026-06-04T14:14:33.3332450Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3332874Z               "line": 158
2026-06-04T14:14:33.3333280Z             },
2026-06-04T14:14:33.3333669Z             {
2026-06-04T14:14:33.3334264Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3334688Z               "line": 19
2026-06-04T14:14:33.3335083Z             },
2026-06-04T14:14:33.3335482Z             {
2026-06-04T14:14:33.3336064Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3336495Z               "line": 50
2026-06-04T14:14:33.3336900Z             },
2026-06-04T14:14:33.3337296Z             {
2026-06-04T14:14:33.3337844Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T14:14:33.3338255Z               "line": 18
2026-06-04T14:14:33.3338664Z             },
2026-06-04T14:14:33.3339055Z             {
2026-06-04T14:14:33.3340356Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T14:14:33.3340824Z               "line": 65
2026-06-04T14:14:33.3341221Z             },
2026-06-04T14:14:33.3341787Z             {
2026-06-04T14:14:33.3342354Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.3342779Z               "line": 51
2026-06-04T14:14:33.3343174Z             }
2026-06-04T14:14:33.3343579Z           ]
2026-06-04T14:14:33.3343980Z         },
2026-06-04T14:14:33.3344372Z         "int": {
2026-06-04T14:14:33.3344822Z           "complete": false,
2026-06-04T14:14:33.3345246Z           "evidence": []
2026-06-04T14:14:33.3345649Z         },
2026-06-04T14:14:33.3346054Z         "unit": {
2026-06-04T14:14:33.3346496Z           "complete": true,
2026-06-04T14:14:33.3346919Z           "evidence": [
2026-06-04T14:14:33.3347307Z             {
2026-06-04T14:14:33.3347915Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3348328Z               "line": 276
2026-06-04T14:14:33.3348742Z             },
2026-06-04T14:14:33.3349133Z             {
2026-06-04T14:14:33.3349989Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3350594Z               "line": 295
2026-06-04T14:14:33.3350988Z             },
2026-06-04T14:14:33.3351389Z             {
2026-06-04T14:14:33.3351995Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3352423Z               "line": 323
2026-06-04T14:14:33.3352822Z             },
2026-06-04T14:14:33.3353226Z             {
2026-06-04T14:14:33.3353843Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3354264Z               "line": 372
2026-06-04T14:14:33.3354664Z             },
2026-06-04T14:14:33.3355052Z             {
2026-06-04T14:14:33.3355671Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3356094Z               "line": 383
2026-06-04T14:14:33.3356492Z             },
2026-06-04T14:14:33.3356891Z             {
2026-06-04T14:14:33.3357491Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3357973Z               "line": 414
2026-06-04T14:14:33.3358365Z             },
2026-06-04T14:14:33.3358774Z             {
2026-06-04T14:14:33.3359723Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.3360169Z               "line": 425
2026-06-04T14:14:33.3360573Z             },
2026-06-04T14:14:33.3360961Z             {
2026-06-04T14:14:33.3361556Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3361966Z               "line": 77
2026-06-04T14:14:33.3362368Z             },
2026-06-04T14:14:33.3362758Z             {
2026-06-04T14:14:33.3363352Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3363781Z               "line": 95
2026-06-04T14:14:33.3364178Z             },
2026-06-04T14:14:33.3364577Z             {
2026-06-04T14:14:33.3365169Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3365601Z               "line": 106
2026-06-04T14:14:33.3366009Z             },
2026-06-04T14:14:33.3366413Z             {
2026-06-04T14:14:33.3367005Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3367435Z               "line": 117
2026-06-04T14:14:33.3367835Z             },
2026-06-04T14:14:33.3368227Z             {
2026-06-04T14:14:33.3368822Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3369324Z               "line": 124
2026-06-04T14:14:33.3369724Z             },
2026-06-04T14:14:33.3370128Z             {
2026-06-04T14:14:33.3370705Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T14:14:33.3371135Z               "line": 137
2026-06-04T14:14:33.3371525Z             },
2026-06-04T14:14:33.3371935Z             {
2026-06-04T14:14:33.3372486Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T14:14:33.3372906Z               "line": 106
2026-06-04T14:14:33.3373307Z             },
2026-06-04T14:14:33.3373699Z             {
2026-06-04T14:14:33.3374414Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T14:14:33.3374862Z               "line": 118
2026-06-04T14:14:33.3375267Z             },
2026-06-04T14:14:33.3375676Z             {
2026-06-04T14:14:33.3376384Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T14:14:33.3376818Z               "line": 317
2026-06-04T14:14:33.3377210Z             }
2026-06-04T14:14:33.3377612Z           ]
2026-06-04T14:14:33.3378004Z         }
2026-06-04T14:14:33.3378402Z       }
2026-06-04T14:14:33.3378800Z     },
2026-06-04T14:14:33.3379219Z     {
2026-06-04T14:14:33.3379778Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T14:14:33.3381171Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T14:14:33.3381630Z       "requiredStages": [
2026-06-04T14:14:33.3382036Z         "impl",
2026-06-04T14:14:33.3382446Z         "unit"
2026-06-04T14:14:33.3387319Z       ],
2026-06-04T14:14:33.3387838Z       "stages": {
2026-06-04T14:14:33.3388279Z         "doc": {
2026-06-04T14:14:33.3388731Z           "complete": true,
2026-06-04T14:14:33.3389257Z           "evidence": [
2026-06-04T14:14:33.3389863Z             {
2026-06-04T14:14:33.3390586Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T14:14:33.3391020Z               "line": 137
2026-06-04T14:14:33.3391407Z             }
2026-06-04T14:14:33.3391810Z           ]
2026-06-04T14:14:33.3392197Z         },
2026-06-04T14:14:33.3392612Z         "impl": {
2026-06-04T14:14:33.3393049Z           "complete": true,
2026-06-04T14:14:33.3393479Z           "evidence": [
2026-06-04T14:14:33.3393878Z             {
2026-06-04T14:14:33.3394408Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T14:14:33.3394829Z               "line": 29
2026-06-04T14:14:33.3395224Z             },
2026-06-04T14:14:33.3395622Z             {
2026-06-04T14:14:33.3396175Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.3396611Z               "line": 101
2026-06-04T14:14:33.3397016Z             },
2026-06-04T14:14:33.3397423Z             {
2026-06-04T14:14:33.3398027Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3398439Z               "line": 30
2026-06-04T14:14:33.3398850Z             },
2026-06-04T14:14:33.3399291Z             {
2026-06-04T14:14:33.3400192Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.3400626Z               "line": 48
2026-06-04T14:14:33.3401015Z             }
2026-06-04T14:14:33.3401413Z           ]
2026-06-04T14:14:33.3401806Z         },
2026-06-04T14:14:33.3402216Z         "int": {
2026-06-04T14:14:33.3402656Z           "complete": false,
2026-06-04T14:14:33.3403084Z           "evidence": []
2026-06-04T14:14:33.3403508Z         },
2026-06-04T14:14:33.3403940Z         "unit": {
2026-06-04T14:14:33.3404430Z           "complete": true,
2026-06-04T14:14:33.3404861Z           "evidence": [
2026-06-04T14:14:33.3405264Z             {
2026-06-04T14:14:33.3405860Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3406305Z               "line": 152
2026-06-04T14:14:33.3406718Z             }
2026-06-04T14:14:33.3407104Z           ]
2026-06-04T14:14:33.3407504Z         }
2026-06-04T14:14:33.3407903Z       }
2026-06-04T14:14:33.3408302Z     },
2026-06-04T14:14:33.3408684Z     {
2026-06-04T14:14:33.3409286Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T14:14:33.3411381Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T14:14:33.3411835Z       "requiredStages": [
2026-06-04T14:14:33.3412245Z         "doc",
2026-06-04T14:14:33.3412646Z         "impl",
2026-06-04T14:14:33.3413049Z         "unit"
2026-06-04T14:14:33.3413436Z       ],
2026-06-04T14:14:33.3413849Z       "stages": {
2026-06-04T14:14:33.3414257Z         "doc": {
2026-06-04T14:14:33.3414685Z           "complete": true,
2026-06-04T14:14:33.3415120Z           "evidence": [
2026-06-04T14:14:33.3415507Z             {
2026-06-04T14:14:33.3416320Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T14:14:33.3416787Z               "line": 149
2026-06-04T14:14:33.3417192Z             }
2026-06-04T14:14:33.3417589Z           ]
2026-06-04T14:14:33.3418172Z         },
2026-06-04T14:14:33.3418587Z         "impl": {
2026-06-04T14:14:33.3419023Z           "complete": true,
2026-06-04T14:14:33.3419500Z           "evidence": [
2026-06-04T14:14:33.3419899Z             {
2026-06-04T14:14:33.3420513Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3420939Z               "line": 22
2026-06-04T14:14:33.3421335Z             }
2026-06-04T14:14:33.3421735Z           ]
2026-06-04T14:14:33.3422119Z         },
2026-06-04T14:14:33.3422524Z         "int": {
2026-06-04T14:14:33.3422958Z           "complete": false,
2026-06-04T14:14:33.3423391Z           "evidence": []
2026-06-04T14:14:33.3423799Z         },
2026-06-04T14:14:33.3424195Z         "unit": {
2026-06-04T14:14:33.3424636Z           "complete": true,
2026-06-04T14:14:33.3425062Z           "evidence": [
2026-06-04T14:14:33.3425464Z             {
2026-06-04T14:14:33.3426046Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3426481Z               "line": 257
2026-06-04T14:14:33.3426885Z             }
2026-06-04T14:14:33.3427279Z           ]
2026-06-04T14:14:33.3427677Z         }
2026-06-04T14:14:33.3428063Z       }
2026-06-04T14:14:33.3428464Z     },
2026-06-04T14:14:33.3428844Z     {
2026-06-04T14:14:33.3429620Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T14:14:33.3432072Z       "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-04T14:14:33.3432525Z       "requiredStages": [
2026-06-04T14:14:33.3432938Z         "impl",
2026-06-04T14:14:33.3433343Z         "unit"
2026-06-04T14:14:33.3433751Z       ],
2026-06-04T14:14:33.3434152Z       "stages": {
2026-06-04T14:14:33.3434555Z         "doc": {
2026-06-04T14:14:33.3434996Z           "complete": true,
2026-06-04T14:14:33.3435424Z           "evidence": [
2026-06-04T14:14:33.3435824Z             {
2026-06-04T14:14:33.3436338Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T14:14:33.3436777Z               "line": 143
2026-06-04T14:14:33.3437169Z             }
2026-06-04T14:14:33.3437576Z           ]
2026-06-04T14:14:33.3437974Z         },
2026-06-04T14:14:33.3438375Z         "impl": {
2026-06-04T14:14:33.3438817Z           "complete": true,
2026-06-04T14:14:33.3439319Z           "evidence": [
2026-06-04T14:14:33.3439735Z             {
2026-06-04T14:14:33.3440341Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3440769Z               "line": 134
2026-06-04T14:14:33.3441171Z             },
2026-06-04T14:14:33.3441562Z             {
2026-06-04T14:14:33.3442136Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T14:14:33.3442546Z               "line": 15
2026-06-04T14:14:33.3442943Z             }
2026-06-04T14:14:33.3443331Z           ]
2026-06-04T14:14:33.3443748Z         },
2026-06-04T14:14:33.3444153Z         "int": {
2026-06-04T14:14:33.3444590Z           "complete": false,
2026-06-04T14:14:33.3445018Z           "evidence": []
2026-06-04T14:14:33.3445418Z         },
2026-06-04T14:14:33.3445828Z         "unit": {
2026-06-04T14:14:33.3446261Z           "complete": true,
2026-06-04T14:14:33.3446690Z           "evidence": [
2026-06-04T14:14:33.3447086Z             {
2026-06-04T14:14:33.3447720Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T14:14:33.3448143Z               "line": 87
2026-06-04T14:14:33.3448531Z             },
2026-06-04T14:14:33.3448923Z             {
2026-06-04T14:14:33.3449563Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3449992Z               "line": 570
2026-06-04T14:14:33.3450391Z             },
2026-06-04T14:14:33.3450778Z             {
2026-06-04T14:14:33.3451385Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3451803Z               "line": 589
2026-06-04T14:14:33.3452375Z             },
2026-06-04T14:14:33.3452798Z             {
2026-06-04T14:14:33.3453421Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.3453984Z               "line": 148
2026-06-04T14:14:33.3454377Z             },
2026-06-04T14:14:33.3454773Z             {
2026-06-04T14:14:33.3455331Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T14:14:33.3455752Z               "line": 74
2026-06-04T14:14:33.3456154Z             },
2026-06-04T14:14:33.3456548Z             {
2026-06-04T14:14:33.3457110Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T14:14:33.3457522Z               "line": 88
2026-06-04T14:14:33.3457923Z             },
2026-06-04T14:14:33.3458307Z             {
2026-06-04T14:14:33.3458871Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T14:14:33.3459345Z               "line": 104
2026-06-04T14:14:33.3459735Z             }
2026-06-04T14:14:33.3460128Z           ]
2026-06-04T14:14:33.3460517Z         }
2026-06-04T14:14:33.3460927Z       }
2026-06-04T14:14:33.3461319Z     },
2026-06-04T14:14:33.3461713Z     {
2026-06-04T14:14:33.3462272Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T14:14:33.3463277Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T14:14:33.3463732Z       "requiredStages": [
2026-06-04T14:14:33.3467393Z         "impl",
2026-06-04T14:14:33.3467889Z         "unit"
2026-06-04T14:14:33.3468286Z       ],
2026-06-04T14:14:33.3468705Z       "stages": {
2026-06-04T14:14:33.3469109Z         "doc": {
2026-06-04T14:14:33.3469644Z           "complete": false,
2026-06-04T14:14:33.3470080Z           "evidence": []
2026-06-04T14:14:33.3470476Z         },
2026-06-04T14:14:33.3470885Z         "impl": {
2026-06-04T14:14:33.3471321Z           "complete": true,
2026-06-04T14:14:33.3471748Z           "evidence": [
2026-06-04T14:14:33.3472150Z             {
2026-06-04T14:14:33.3472711Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T14:14:33.3473159Z               "line": 15
2026-06-04T14:14:33.3473552Z             },
2026-06-04T14:14:33.3473949Z             {
2026-06-04T14:14:33.3474542Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3474975Z               "line": 55
2026-06-04T14:14:33.3475376Z             },
2026-06-04T14:14:33.3475764Z             {
2026-06-04T14:14:33.3476360Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3476772Z               "line": 62
2026-06-04T14:14:33.3477178Z             },
2026-06-04T14:14:33.3477575Z             {
2026-06-04T14:14:33.3478173Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3478602Z               "line": 107
2026-06-04T14:14:33.3478994Z             },
2026-06-04T14:14:33.3479435Z             {
2026-06-04T14:14:33.3480030Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3480455Z               "line": 128
2026-06-04T14:14:33.3480846Z             }
2026-06-04T14:14:33.3481255Z           ]
2026-06-04T14:14:33.3481653Z         },
2026-06-04T14:14:33.3482050Z         "int": {
2026-06-04T14:14:33.3482491Z           "complete": false,
2026-06-04T14:14:33.3482920Z           "evidence": []
2026-06-04T14:14:33.3483314Z         },
2026-06-04T14:14:33.3483709Z         "unit": {
2026-06-04T14:14:33.3484144Z           "complete": true,
2026-06-04T14:14:33.3484573Z           "evidence": [
2026-06-04T14:14:33.3484958Z             {
2026-06-04T14:14:33.3485522Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T14:14:33.3485937Z               "line": 113
2026-06-04T14:14:33.3486329Z             },
2026-06-04T14:14:33.3486724Z             {
2026-06-04T14:14:33.3487286Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T14:14:33.3487711Z               "line": 119
2026-06-04T14:14:33.3488101Z             },
2026-06-04T14:14:33.3488498Z             {
2026-06-04T14:14:33.3489042Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T14:14:33.3489723Z               "line": 130
2026-06-04T14:14:33.3490130Z             },
2026-06-04T14:14:33.3490528Z             {
2026-06-04T14:14:33.3491126Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3491682Z               "line": 183
2026-06-04T14:14:33.3492082Z             },
2026-06-04T14:14:33.3492468Z             {
2026-06-04T14:14:33.3493056Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3493471Z               "line": 193
2026-06-04T14:14:33.3493870Z             },
2026-06-04T14:14:33.3494266Z             {
2026-06-04T14:14:33.3494847Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3495267Z               "line": 237
2026-06-04T14:14:33.3495659Z             },
2026-06-04T14:14:33.3496052Z             {
2026-06-04T14:14:33.3496642Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3497055Z               "line": 249
2026-06-04T14:14:33.3497451Z             },
2026-06-04T14:14:33.3497837Z             {
2026-06-04T14:14:33.3498436Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.3498867Z               "line": 275
2026-06-04T14:14:33.3499297Z             }
2026-06-04T14:14:33.3499710Z           ]
2026-06-04T14:14:33.3500092Z         }
2026-06-04T14:14:33.3500485Z       }
2026-06-04T14:14:33.3500866Z     },
2026-06-04T14:14:33.3501250Z     {
2026-06-04T14:14:33.3501778Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T14:14:33.3503231Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T14:14:33.3503684Z       "requiredStages": [
2026-06-04T14:14:33.3504079Z         "impl",
2026-06-04T14:14:33.3504479Z         "unit",
2026-06-04T14:14:33.3504870Z         "int"
2026-06-04T14:14:33.3505265Z       ],
2026-06-04T14:14:33.3505666Z       "stages": {
2026-06-04T14:14:33.3506072Z         "doc": {
2026-06-04T14:14:33.3506515Z           "complete": false,
2026-06-04T14:14:33.3506933Z           "evidence": []
2026-06-04T14:14:33.3507344Z         },
2026-06-04T14:14:33.3507747Z         "impl": {
2026-06-04T14:14:33.3508187Z           "complete": true,
2026-06-04T14:14:33.3508604Z           "evidence": [
2026-06-04T14:14:33.3509014Z             {
2026-06-04T14:14:33.3509633Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.3510049Z               "line": 246
2026-06-04T14:14:33.3510448Z             },
2026-06-04T14:14:33.3510834Z             {
2026-06-04T14:14:33.3511408Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.3511824Z               "line": 506
2026-06-04T14:14:33.3512220Z             },
2026-06-04T14:14:33.3512612Z             {
2026-06-04T14:14:33.3513163Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.3513587Z               "line": 529
2026-06-04T14:14:33.3513980Z             },
2026-06-04T14:14:33.3514378Z             {
2026-06-04T14:14:33.3514941Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.3515376Z               "line": 553
2026-06-04T14:14:33.3515774Z             },
2026-06-04T14:14:33.3516160Z             {
2026-06-04T14:14:33.3516746Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.3517167Z               "line": 463
2026-06-04T14:14:33.3517571Z             },
2026-06-04T14:14:33.3517958Z             {
2026-06-04T14:14:33.3518546Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.3518971Z               "line": 544
2026-06-04T14:14:33.3519394Z             },
2026-06-04T14:14:33.3519791Z             {
2026-06-04T14:14:33.3520367Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.3520792Z               "line": 588
2026-06-04T14:14:33.3521177Z             },
2026-06-04T14:14:33.3521569Z             {
2026-06-04T14:14:33.3522153Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T14:14:33.3522565Z               "line": 631
2026-06-04T14:14:33.3522957Z             },
2026-06-04T14:14:33.3523350Z             {
2026-06-04T14:14:33.3524083Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T14:14:33.3524513Z               "line": 46
2026-06-04T14:14:33.3525036Z             },
2026-06-04T14:14:33.3525434Z             {
2026-06-04T14:14:33.3526010Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T14:14:33.3526431Z               "line": 160
2026-06-04T14:14:33.3526810Z             },
2026-06-04T14:14:33.3527206Z             {
2026-06-04T14:14:33.3527749Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T14:14:33.3528163Z               "line": 71
2026-06-04T14:14:33.3528557Z             },
2026-06-04T14:14:33.3528942Z             {
2026-06-04T14:14:33.3529540Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.3529955Z               "line": 128
2026-06-04T14:14:33.3530351Z             },
2026-06-04T14:14:33.3530749Z             {
2026-06-04T14:14:33.3531310Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.3531741Z               "line": 174
2026-06-04T14:14:33.3532128Z             }
2026-06-04T14:14:33.3532526Z           ]
2026-06-04T14:14:33.3532907Z         },
2026-06-04T14:14:33.3533316Z         "int": {
2026-06-04T14:14:33.3533754Z           "complete": true,
2026-06-04T14:14:33.3534173Z           "evidence": [
2026-06-04T14:14:33.3534571Z             {
2026-06-04T14:14:33.3535210Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T14:14:33.3535622Z               "line": 27
2026-06-04T14:14:33.3536008Z             },
2026-06-04T14:14:33.3536400Z             {
2026-06-04T14:14:33.3537035Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T14:14:33.3537450Z               "line": 125
2026-06-04T14:14:33.3537846Z             },
2026-06-04T14:14:33.3538236Z             {
2026-06-04T14:14:33.3538867Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T14:14:33.3539311Z               "line": 189
2026-06-04T14:14:33.3539708Z             }
2026-06-04T14:14:33.3540118Z           ]
2026-06-04T14:14:33.3543471Z         },
2026-06-04T14:14:33.3543952Z         "unit": {
2026-06-04T14:14:33.3544393Z           "complete": true,
2026-06-04T14:14:33.3544836Z           "evidence": [
2026-06-04T14:14:33.3545227Z             {
2026-06-04T14:14:33.3545818Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T14:14:33.3546243Z               "line": 282
2026-06-04T14:14:33.3546633Z             },
2026-06-04T14:14:33.3547031Z             {
2026-06-04T14:14:33.3547611Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T14:14:33.3548036Z               "line": 300
2026-06-04T14:14:33.3548431Z             },
2026-06-04T14:14:33.3548828Z             {
2026-06-04T14:14:33.3549492Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T14:14:33.3549911Z               "line": 318
2026-06-04T14:14:33.3550311Z             },
2026-06-04T14:14:33.3550701Z             {
2026-06-04T14:14:33.3551300Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T14:14:33.3551723Z               "line": 221
2026-06-04T14:14:33.3552120Z             },
2026-06-04T14:14:33.3552511Z             {
2026-06-04T14:14:33.3553108Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T14:14:33.3553538Z               "line": 204
2026-06-04T14:14:33.3553935Z             },
2026-06-04T14:14:33.3554329Z             {
2026-06-04T14:14:33.3554903Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T14:14:33.3555332Z               "line": 182
2026-06-04T14:14:33.3555733Z             },
2026-06-04T14:14:33.3556114Z             {
2026-06-04T14:14:33.3556667Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.3557079Z               "line": 441
2026-06-04T14:14:33.3557475Z             },
2026-06-04T14:14:33.3557861Z             {
2026-06-04T14:14:33.3558425Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.3558846Z               "line": 465
2026-06-04T14:14:33.3559272Z             }
2026-06-04T14:14:33.3559883Z           ]
2026-06-04T14:14:33.3560284Z         }
2026-06-04T14:14:33.3560671Z       }
2026-06-04T14:14:33.3561053Z     },
2026-06-04T14:14:33.3561617Z     {
2026-06-04T14:14:33.3562177Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T14:14:33.3563145Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T14:14:33.3563591Z       "requiredStages": [
2026-06-04T14:14:33.3563983Z         "impl",
2026-06-04T14:14:33.3564379Z         "unit"
2026-06-04T14:14:33.3564765Z       ],
2026-06-04T14:14:33.3565176Z       "stages": {
2026-06-04T14:14:33.3565573Z         "doc": {
2026-06-04T14:14:33.3566005Z           "complete": false,
2026-06-04T14:14:33.3566426Z           "evidence": []
2026-06-04T14:14:33.3566814Z         },
2026-06-04T14:14:33.3567216Z         "impl": {
2026-06-04T14:14:33.3567638Z           "complete": true,
2026-06-04T14:14:33.3568061Z           "evidence": [
2026-06-04T14:14:33.3568454Z             {
2026-06-04T14:14:33.3569094Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.3569554Z               "line": 56
2026-06-04T14:14:33.3569945Z             },
2026-06-04T14:14:33.3570347Z             {
2026-06-04T14:14:33.3570972Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.3571395Z               "line": 63
2026-06-04T14:14:33.3571794Z             },
2026-06-04T14:14:33.3572177Z             {
2026-06-04T14:14:33.3572737Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3573154Z               "line": 33
2026-06-04T14:14:33.3573549Z             },
2026-06-04T14:14:33.3573943Z             {
2026-06-04T14:14:33.3574501Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3574915Z               "line": 61
2026-06-04T14:14:33.3575303Z             },
2026-06-04T14:14:33.3575694Z             {
2026-06-04T14:14:33.3576241Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3576655Z               "line": 70
2026-06-04T14:14:33.3577057Z             },
2026-06-04T14:14:33.3577441Z             {
2026-06-04T14:14:33.3577995Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3578419Z               "line": 79
2026-06-04T14:14:33.3578815Z             },
2026-06-04T14:14:33.3579233Z             {
2026-06-04T14:14:33.3579794Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3580206Z               "line": 88
2026-06-04T14:14:33.3580591Z             },
2026-06-04T14:14:33.3580986Z             {
2026-06-04T14:14:33.3581535Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3581951Z               "line": 97
2026-06-04T14:14:33.3582343Z             },
2026-06-04T14:14:33.3582734Z             {
2026-06-04T14:14:33.3583300Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3583708Z               "line": 105
2026-06-04T14:14:33.3584106Z             },
2026-06-04T14:14:33.3584492Z             {
2026-06-04T14:14:33.3585067Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3585480Z               "line": 114
2026-06-04T14:14:33.3585882Z             },
2026-06-04T14:14:33.3586277Z             {
2026-06-04T14:14:33.3586832Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3587250Z               "line": 123
2026-06-04T14:14:33.3587637Z             },
2026-06-04T14:14:33.3588034Z             {
2026-06-04T14:14:33.3588583Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3589003Z               "line": 130
2026-06-04T14:14:33.3589436Z             },
2026-06-04T14:14:33.3589824Z             {
2026-06-04T14:14:33.3590382Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3590801Z               "line": 137
2026-06-04T14:14:33.3591197Z             },
2026-06-04T14:14:33.3591584Z             {
2026-06-04T14:14:33.3592148Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3592567Z               "line": 145
2026-06-04T14:14:33.3593109Z             },
2026-06-04T14:14:33.3593519Z             {
2026-06-04T14:14:33.3594071Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3594630Z               "line": 154
2026-06-04T14:14:33.3595025Z             },
2026-06-04T14:14:33.3595434Z             {
2026-06-04T14:14:33.3596035Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3596471Z               "line": 221
2026-06-04T14:14:33.3596870Z             },
2026-06-04T14:14:33.3597280Z             {
2026-06-04T14:14:33.3597885Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3598314Z               "line": 233
2026-06-04T14:14:33.3598705Z             },
2026-06-04T14:14:33.3599096Z             {
2026-06-04T14:14:33.3599698Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3600138Z               "line": 320
2026-06-04T14:14:33.3600534Z             }
2026-06-04T14:14:33.3600928Z           ]
2026-06-04T14:14:33.3601323Z         },
2026-06-04T14:14:33.3601723Z         "int": {
2026-06-04T14:14:33.3602164Z           "complete": false,
2026-06-04T14:14:33.3602578Z           "evidence": []
2026-06-04T14:14:33.3602969Z         },
2026-06-04T14:14:33.3603370Z         "unit": {
2026-06-04T14:14:33.3603801Z           "complete": true,
2026-06-04T14:14:33.3604211Z           "evidence": [
2026-06-04T14:14:33.3604605Z             {
2026-06-04T14:14:33.3605159Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3605577Z               "line": 390
2026-06-04T14:14:33.3605976Z             },
2026-06-04T14:14:33.3606353Z             {
2026-06-04T14:14:33.3606913Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3607334Z               "line": 416
2026-06-04T14:14:33.3607724Z             },
2026-06-04T14:14:33.3608118Z             {
2026-06-04T14:14:33.3608673Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3609104Z               "line": 429
2026-06-04T14:14:33.3609527Z             },
2026-06-04T14:14:33.3609932Z             {
2026-06-04T14:14:33.3610500Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3610913Z               "line": 471
2026-06-04T14:14:33.3611312Z             }
2026-06-04T14:14:33.3611692Z           ]
2026-06-04T14:14:33.3612084Z         }
2026-06-04T14:14:33.3612469Z       }
2026-06-04T14:14:33.3612858Z     },
2026-06-04T14:14:33.3613247Z     {
2026-06-04T14:14:33.3613732Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T14:14:33.3614739Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T14:14:33.3615180Z       "requiredStages": [
2026-06-04T14:14:33.3615591Z         "impl",
2026-06-04T14:14:33.3615986Z         "unit"
2026-06-04T14:14:33.3619391Z       ],
2026-06-04T14:14:33.3619895Z       "stages": {
2026-06-04T14:14:33.3620296Z         "doc": {
2026-06-04T14:14:33.3620735Z           "complete": false,
2026-06-04T14:14:33.3621152Z           "evidence": []
2026-06-04T14:14:33.3621546Z         },
2026-06-04T14:14:33.3621963Z         "impl": {
2026-06-04T14:14:33.3622403Z           "complete": true,
2026-06-04T14:14:33.3622826Z           "evidence": [
2026-06-04T14:14:33.3623225Z             {
2026-06-04T14:14:33.3623782Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.3624198Z               "line": 132
2026-06-04T14:14:33.3624589Z             },
2026-06-04T14:14:33.3624973Z             {
2026-06-04T14:14:33.3625560Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.3625975Z               "line": 118
2026-06-04T14:14:33.3626361Z             }
2026-06-04T14:14:33.3626751Z           ]
2026-06-04T14:14:33.3627132Z         },
2026-06-04T14:14:33.3627530Z         "int": {
2026-06-04T14:14:33.3627964Z           "complete": false,
2026-06-04T14:14:33.3628389Z           "evidence": []
2026-06-04T14:14:33.3628785Z         },
2026-06-04T14:14:33.3629228Z         "unit": {
2026-06-04T14:14:33.3629671Z           "complete": true,
2026-06-04T14:14:33.3630095Z           "evidence": [
2026-06-04T14:14:33.3630726Z             {
2026-06-04T14:14:33.3631283Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.3631708Z               "line": 250
2026-06-04T14:14:33.3632239Z             },
2026-06-04T14:14:33.3632626Z             {
2026-06-04T14:14:33.3633212Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.3633627Z               "line": 345
2026-06-04T14:14:33.3634022Z             },
2026-06-04T14:14:33.3634412Z             {
2026-06-04T14:14:33.3634995Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.3635414Z               "line": 355
2026-06-04T14:14:33.3635802Z             }
2026-06-04T14:14:33.3636194Z           ]
2026-06-04T14:14:33.3636588Z         }
2026-06-04T14:14:33.3636984Z       }
2026-06-04T14:14:33.3637364Z     },
2026-06-04T14:14:33.3637760Z     {
2026-06-04T14:14:33.3638275Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T14:14:33.3638928Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T14:14:33.3639426Z       "requiredStages": [],
2026-06-04T14:14:33.3639832Z       "stages": {
2026-06-04T14:14:33.3640231Z         "doc": {
2026-06-04T14:14:33.3640673Z           "complete": false,
2026-06-04T14:14:33.3641099Z           "evidence": []
2026-06-04T14:14:33.3641491Z         },
2026-06-04T14:14:33.3641886Z         "impl": {
2026-06-04T14:14:33.3642324Z           "complete": false,
2026-06-04T14:14:33.3642739Z           "evidence": []
2026-06-04T14:14:33.3643131Z         },
2026-06-04T14:14:33.3643526Z         "int": {
2026-06-04T14:14:33.3643972Z           "complete": false,
2026-06-04T14:14:33.3644393Z           "evidence": []
2026-06-04T14:14:33.3644773Z         },
2026-06-04T14:14:33.3645176Z         "unit": {
2026-06-04T14:14:33.3645603Z           "complete": false,
2026-06-04T14:14:33.3646023Z           "evidence": []
2026-06-04T14:14:33.3646412Z         }
2026-06-04T14:14:33.3646804Z       }
2026-06-04T14:14:33.3647197Z     },
2026-06-04T14:14:33.3647574Z     {
2026-06-04T14:14:33.3648157Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T14:14:33.3648991Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T14:14:33.3649487Z       "requiredStages": [
2026-06-04T14:14:33.3649889Z         "impl",
2026-06-04T14:14:33.3650297Z         "unit"
2026-06-04T14:14:33.3650687Z       ],
2026-06-04T14:14:33.3651089Z       "stages": {
2026-06-04T14:14:33.3651491Z         "doc": {
2026-06-04T14:14:33.3651917Z           "complete": false,
2026-06-04T14:14:33.3652343Z           "evidence": []
2026-06-04T14:14:33.3652729Z         },
2026-06-04T14:14:33.3653133Z         "impl": {
2026-06-04T14:14:33.3653569Z           "complete": true,
2026-06-04T14:14:33.3653981Z           "evidence": [
2026-06-04T14:14:33.3654373Z             {
2026-06-04T14:14:33.3654973Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.3655393Z               "line": 424
2026-06-04T14:14:33.3655777Z             },
2026-06-04T14:14:33.3656169Z             {
2026-06-04T14:14:33.3656739Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.3657151Z               "line": 28
2026-06-04T14:14:33.3657556Z             }
2026-06-04T14:14:33.3657941Z           ]
2026-06-04T14:14:33.3658334Z         },
2026-06-04T14:14:33.3658727Z         "int": {
2026-06-04T14:14:33.3659203Z           "complete": false,
2026-06-04T14:14:33.3659635Z           "evidence": []
2026-06-04T14:14:33.3660027Z         },
2026-06-04T14:14:33.3660430Z         "unit": {
2026-06-04T14:14:33.3660857Z           "complete": true,
2026-06-04T14:14:33.3661273Z           "evidence": [
2026-06-04T14:14:33.3661656Z             {
2026-06-04T14:14:33.3662218Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.3662645Z               "line": 200
2026-06-04T14:14:33.3663033Z             }
2026-06-04T14:14:33.3663427Z           ]
2026-06-04T14:14:33.3663810Z         }
2026-06-04T14:14:33.3664203Z       }
2026-06-04T14:14:33.3664587Z     },
2026-06-04T14:14:33.3665143Z     {
2026-06-04T14:14:33.3665676Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T14:14:33.3666331Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T14:14:33.3666910Z       "requiredStages": [],
2026-06-04T14:14:33.3667310Z       "stages": {
2026-06-04T14:14:33.3667706Z         "doc": {
2026-06-04T14:14:33.3668134Z           "complete": false,
2026-06-04T14:14:33.3668567Z           "evidence": []
2026-06-04T14:14:33.3668964Z         },
2026-06-04T14:14:33.3669407Z         "impl": {
2026-06-04T14:14:33.3669849Z           "complete": false,
2026-06-04T14:14:33.3670265Z           "evidence": []
2026-06-04T14:14:33.3670654Z         },
2026-06-04T14:14:33.3671046Z         "int": {
2026-06-04T14:14:33.3671480Z           "complete": false,
2026-06-04T14:14:33.3671904Z           "evidence": []
2026-06-04T14:14:33.3672293Z         },
2026-06-04T14:14:33.3672689Z         "unit": {
2026-06-04T14:14:33.3673118Z           "complete": false,
2026-06-04T14:14:33.3673540Z           "evidence": []
2026-06-04T14:14:33.3673935Z         }
2026-06-04T14:14:33.3674335Z       }
2026-06-04T14:14:33.3674719Z     },
2026-06-04T14:14:33.3675108Z     {
2026-06-04T14:14:33.3675650Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T14:14:33.3676375Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T14:14:33.3676826Z       "requiredStages": [
2026-06-04T14:14:33.3677228Z         "impl",
2026-06-04T14:14:33.3677629Z         "unit"
2026-06-04T14:14:33.3678018Z       ],
2026-06-04T14:14:33.3678416Z       "stages": {
2026-06-04T14:14:33.3678813Z         "doc": {
2026-06-04T14:14:33.3679332Z           "complete": false,
2026-06-04T14:14:33.3679766Z           "evidence": []
2026-06-04T14:14:33.3680150Z         },
2026-06-04T14:14:33.3680559Z         "impl": {
2026-06-04T14:14:33.3680987Z           "complete": true,
2026-06-04T14:14:33.3681403Z           "evidence": [
2026-06-04T14:14:33.3681797Z             {
2026-06-04T14:14:33.3682337Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T14:14:33.3682757Z               "line": 19
2026-06-04T14:14:33.3683145Z             },
2026-06-04T14:14:33.3683539Z             {
2026-06-04T14:14:33.3684137Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.3684557Z               "line": 325
2026-06-04T14:14:33.3684957Z             },
2026-06-04T14:14:33.3685339Z             {
2026-06-04T14:14:33.3685927Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.3686336Z               "line": 361
2026-06-04T14:14:33.3686733Z             },
2026-06-04T14:14:33.3687124Z             {
2026-06-04T14:14:33.3687684Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T14:14:33.3688093Z               "line": 15
2026-06-04T14:14:33.3688480Z             },
2026-06-04T14:14:33.3688873Z             {
2026-06-04T14:14:33.3689464Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T14:14:33.3689888Z               "line": 48
2026-06-04T14:14:33.3693152Z             },
2026-06-04T14:14:33.3693644Z             {
2026-06-04T14:14:33.3694231Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T14:14:33.3694639Z               "line": 106
2026-06-04T14:14:33.3695046Z             }
2026-06-04T14:14:33.3695425Z           ]
2026-06-04T14:14:33.3695815Z         },
2026-06-04T14:14:33.3696212Z         "int": {
2026-06-04T14:14:33.3696642Z           "complete": false,
2026-06-04T14:14:33.3697067Z           "evidence": []
2026-06-04T14:14:33.3697450Z         },
2026-06-04T14:14:33.3697848Z         "unit": {
2026-06-04T14:14:33.3698270Z           "complete": true,
2026-06-04T14:14:33.3698684Z           "evidence": [
2026-06-04T14:14:33.3699078Z             {
2026-06-04T14:14:33.3699754Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.3700180Z               "line": 453
2026-06-04T14:14:33.3700567Z             },
2026-06-04T14:14:33.3700955Z             {
2026-06-04T14:14:33.3701516Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T14:14:33.3702192Z               "line": 149
2026-06-04T14:14:33.3702616Z             },
2026-06-04T14:14:33.3703007Z             {
2026-06-04T14:14:33.3703583Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T14:14:33.3704143Z               "line": 156
2026-06-04T14:14:33.3704538Z             }
2026-06-04T14:14:33.3704922Z           ]
2026-06-04T14:14:33.3705317Z         }
2026-06-04T14:14:33.3705707Z       }
2026-06-04T14:14:33.3706082Z     },
2026-06-04T14:14:33.3706469Z     {
2026-06-04T14:14:33.3707016Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T14:14:33.3707791Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T14:14:33.3708228Z       "requiredStages": [
2026-06-04T14:14:33.3708629Z         "impl",
2026-06-04T14:14:33.3709027Z         "unit"
2026-06-04T14:14:33.3709455Z       ],
2026-06-04T14:14:33.3709862Z       "stages": {
2026-06-04T14:14:33.3710251Z         "doc": {
2026-06-04T14:14:33.3710692Z           "complete": false,
2026-06-04T14:14:33.3711118Z           "evidence": []
2026-06-04T14:14:33.3711514Z         },
2026-06-04T14:14:33.3711916Z         "impl": {
2026-06-04T14:14:33.3712343Z           "complete": true,
2026-06-04T14:14:33.3712771Z           "evidence": [
2026-06-04T14:14:33.3713156Z             {
2026-06-04T14:14:33.3713727Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.3714138Z               "line": 35
2026-06-04T14:14:33.3714537Z             }
2026-06-04T14:14:33.3714928Z           ]
2026-06-04T14:14:33.3715313Z         },
2026-06-04T14:14:33.3715715Z         "int": {
2026-06-04T14:14:33.3716145Z           "complete": false,
2026-06-04T14:14:33.3716567Z           "evidence": []
2026-06-04T14:14:33.3716948Z         },
2026-06-04T14:14:33.3717352Z         "unit": {
2026-06-04T14:14:33.3717784Z           "complete": true,
2026-06-04T14:14:33.3718193Z           "evidence": [
2026-06-04T14:14:33.3718583Z             {
2026-06-04T14:14:33.3719152Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T14:14:33.3719635Z               "line": 217
2026-06-04T14:14:33.3720049Z             }
2026-06-04T14:14:33.3720459Z           ]
2026-06-04T14:14:33.3720874Z         }
2026-06-04T14:14:33.3721254Z       }
2026-06-04T14:14:33.3721636Z     },
2026-06-04T14:14:33.3722019Z     {
2026-06-04T14:14:33.3722528Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T14:14:33.3723947Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T14:14:33.3724395Z       "requiredStages": [
2026-06-04T14:14:33.3724800Z         "impl",
2026-06-04T14:14:33.3725197Z         "unit"
2026-06-04T14:14:33.3725590Z       ],
2026-06-04T14:14:33.3725988Z       "stages": {
2026-06-04T14:14:33.3726382Z         "doc": {
2026-06-04T14:14:33.3726804Z           "complete": false,
2026-06-04T14:14:33.3727226Z           "evidence": []
2026-06-04T14:14:33.3727619Z         },
2026-06-04T14:14:33.3728020Z         "impl": {
2026-06-04T14:14:33.3728450Z           "complete": true,
2026-06-04T14:14:33.3728875Z           "evidence": [
2026-06-04T14:14:33.3729312Z             {
2026-06-04T14:14:33.3729919Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.3730346Z               "line": 256
2026-06-04T14:14:33.3730740Z             },
2026-06-04T14:14:33.3731124Z             {
2026-06-04T14:14:33.3731717Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.3732129Z               "line": 221
2026-06-04T14:14:33.3732526Z             },
2026-06-04T14:14:33.3732916Z             {
2026-06-04T14:14:33.3733502Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.3733925Z               "line": 150
2026-06-04T14:14:33.3734314Z             }
2026-06-04T14:14:33.3734708Z           ]
2026-06-04T14:14:33.3735089Z         },
2026-06-04T14:14:33.3735491Z         "int": {
2026-06-04T14:14:33.3735920Z           "complete": false,
2026-06-04T14:14:33.3736338Z           "evidence": []
2026-06-04T14:14:33.3736730Z         },
2026-06-04T14:14:33.3737285Z         "unit": {
2026-06-04T14:14:33.3737745Z           "complete": true,
2026-06-04T14:14:33.3738157Z           "evidence": [
2026-06-04T14:14:33.3738684Z             {
2026-06-04T14:14:33.3739316Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.3739741Z               "line": 477
2026-06-04T14:14:33.3740139Z             },
2026-06-04T14:14:33.3740524Z             {
2026-06-04T14:14:33.3741122Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.3741535Z               "line": 488
2026-06-04T14:14:33.3741941Z             },
2026-06-04T14:14:33.3742324Z             {
2026-06-04T14:14:33.3742911Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.3743335Z               "line": 504
2026-06-04T14:14:33.3743729Z             },
2026-06-04T14:14:33.3744123Z             {
2026-06-04T14:14:33.3744705Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.3745126Z               "line": 518
2026-06-04T14:14:33.3745526Z             },
2026-06-04T14:14:33.3745931Z             {
2026-06-04T14:14:33.3746564Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T14:14:33.3746985Z               "line": 268
2026-06-04T14:14:33.3747377Z             }
2026-06-04T14:14:33.3747763Z           ]
2026-06-04T14:14:33.3748159Z         }
2026-06-04T14:14:33.3748540Z       }
2026-06-04T14:14:33.3748932Z     },
2026-06-04T14:14:33.3749363Z     {
2026-06-04T14:14:33.3749866Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T14:14:33.3755130Z       "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-04T14:14:33.3755622Z       "requiredStages": [
2026-06-04T14:14:33.3756026Z         "doc",
2026-06-04T14:14:33.3756428Z         "impl",
2026-06-04T14:14:33.3756820Z         "unit"
2026-06-04T14:14:33.3757236Z       ],
2026-06-04T14:14:33.3757642Z       "stages": {
2026-06-04T14:14:33.3758040Z         "doc": {
2026-06-04T14:14:33.3758470Z           "complete": true,
2026-06-04T14:14:33.3758902Z           "evidence": [
2026-06-04T14:14:33.3759355Z             {
2026-06-04T14:14:33.3759890Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T14:14:33.3760316Z               "line": 259
2026-06-04T14:14:33.3760703Z             }
2026-06-04T14:14:33.3761094Z           ]
2026-06-04T14:14:33.3761474Z         },
2026-06-04T14:14:33.3761876Z         "impl": {
2026-06-04T14:14:33.3762309Z           "complete": true,
2026-06-04T14:14:33.3762717Z           "evidence": [
2026-06-04T14:14:33.3763107Z             {
2026-06-04T14:14:33.3763686Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.3764102Z               "line": 85
2026-06-04T14:14:33.3764496Z             },
2026-06-04T14:14:33.3764887Z             {
2026-06-04T14:14:33.3765478Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T14:14:33.3765884Z               "line": 99
2026-06-04T14:14:33.3766284Z             },
2026-06-04T14:14:33.3766669Z             {
2026-06-04T14:14:33.3767281Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.3767687Z               "line": 53
2026-06-04T14:14:33.3768084Z             },
2026-06-04T14:14:33.3768477Z             {
2026-06-04T14:14:33.3769073Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.3769536Z               "line": 89
2026-06-04T14:14:33.3769940Z             },
2026-06-04T14:14:33.3773531Z             {
2026-06-04T14:14:33.3774209Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.3774639Z               "line": 29
2026-06-04T14:14:33.3775037Z             },
2026-06-04T14:14:33.3775422Z             {
2026-06-04T14:14:33.3776035Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.3776445Z               "line": 75
2026-06-04T14:14:33.3777116Z             },
2026-06-04T14:14:33.3777538Z             {
2026-06-04T14:14:33.3778202Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.3778790Z               "line": 121
2026-06-04T14:14:33.3779266Z             },
2026-06-04T14:14:33.3779692Z             {
2026-06-04T14:14:33.3780775Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.3781445Z               "line": 40
2026-06-04T14:14:33.3781870Z             },
2026-06-04T14:14:33.3782263Z             {
2026-06-04T14:14:33.3782828Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.3783250Z               "line": 161
2026-06-04T14:14:33.3783648Z             },
2026-06-04T14:14:33.3784039Z             {
2026-06-04T14:14:33.3784598Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T14:14:33.3785035Z               "line": 70
2026-06-04T14:14:33.3785431Z             },
2026-06-04T14:14:33.3785835Z             {
2026-06-04T14:14:33.3786402Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.3786828Z               "line": 210
2026-06-04T14:14:33.3787219Z             },
2026-06-04T14:14:33.3787616Z             {
2026-06-04T14:14:33.3788194Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T14:14:33.3788602Z               "line": 37
2026-06-04T14:14:33.3789003Z             },
2026-06-04T14:14:33.3789440Z             {
2026-06-04T14:14:33.3790036Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T14:14:33.3790446Z               "line": 38
2026-06-04T14:14:33.3790844Z             },
2026-06-04T14:14:33.3791239Z             {
2026-06-04T14:14:33.3791812Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T14:14:33.3792228Z               "line": 36
2026-06-04T14:14:33.3792619Z             },
2026-06-04T14:14:33.3793015Z             {
2026-06-04T14:14:33.3793575Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T14:14:33.3794001Z               "line": 40
2026-06-04T14:14:33.3794404Z             }
2026-06-04T14:14:33.3794795Z           ]
2026-06-04T14:14:33.3795189Z         },
2026-06-04T14:14:33.3795589Z         "int": {
2026-06-04T14:14:33.3796041Z           "complete": false,
2026-06-04T14:14:33.3796456Z           "evidence": []
2026-06-04T14:14:33.3796859Z         },
2026-06-04T14:14:33.3797265Z         "unit": {
2026-06-04T14:14:33.3797694Z           "complete": true,
2026-06-04T14:14:33.3798115Z           "evidence": [
2026-06-04T14:14:33.3798503Z             {
2026-06-04T14:14:33.3799110Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.3799564Z               "line": 179
2026-06-04T14:14:33.3799973Z             },
2026-06-04T14:14:33.3800368Z             {
2026-06-04T14:14:33.3800989Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T14:14:33.3801413Z               "line": 117
2026-06-04T14:14:33.3801802Z             },
2026-06-04T14:14:33.3802199Z             {
2026-06-04T14:14:33.3802839Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T14:14:33.3803261Z               "line": 344
2026-06-04T14:14:33.3803660Z             },
2026-06-04T14:14:33.3804058Z             {
2026-06-04T14:14:33.3804648Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T14:14:33.3805062Z               "line": 204
2026-06-04T14:14:33.3805463Z             },
2026-06-04T14:14:33.3805850Z             {
2026-06-04T14:14:33.3806441Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T14:14:33.3806866Z               "line": 147
2026-06-04T14:14:33.3807256Z             },
2026-06-04T14:14:33.3807645Z             {
2026-06-04T14:14:33.3808210Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T14:14:33.3808632Z               "line": 106
2026-06-04T14:14:33.3809029Z             },
2026-06-04T14:14:33.3809466Z             {
2026-06-04T14:14:33.3810032Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T14:14:33.3810450Z               "line": 142
2026-06-04T14:14:33.3811025Z             },
2026-06-04T14:14:33.3811433Z             {
2026-06-04T14:14:33.3812025Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T14:14:33.3812589Z               "line": 139
2026-06-04T14:14:33.3812978Z             },
2026-06-04T14:14:33.3813379Z             {
2026-06-04T14:14:33.3813952Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T14:14:33.3814378Z               "line": 126
2026-06-04T14:14:33.3814770Z             },
2026-06-04T14:14:33.3815165Z             {
2026-06-04T14:14:33.3815718Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T14:14:33.3816137Z               "line": 135
2026-06-04T14:14:33.3816535Z             }
2026-06-04T14:14:33.3816928Z           ]
2026-06-04T14:14:33.3817324Z         }
2026-06-04T14:14:33.3817707Z       }
2026-06-04T14:14:33.3818093Z     },
2026-06-04T14:14:33.3818487Z     {
2026-06-04T14:14:33.3819023Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T14:14:33.3819890Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T14:14:33.3820338Z       "requiredStages": [
2026-06-04T14:14:33.3820744Z         "impl",
2026-06-04T14:14:33.3821146Z         "unit"
2026-06-04T14:14:33.3821538Z       ],
2026-06-04T14:14:33.3821947Z       "stages": {
2026-06-04T14:14:33.3822341Z         "doc": {
2026-06-04T14:14:33.3822780Z           "complete": false,
2026-06-04T14:14:33.3823196Z           "evidence": []
2026-06-04T14:14:33.3823588Z         },
2026-06-04T14:14:33.3823980Z         "impl": {
2026-06-04T14:14:33.3824418Z           "complete": true,
2026-06-04T14:14:33.3824839Z           "evidence": [
2026-06-04T14:14:33.3825231Z             {
2026-06-04T14:14:33.3825792Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.3826204Z               "line": 95
2026-06-04T14:14:33.3826602Z             },
2026-06-04T14:14:33.3826988Z             {
2026-06-04T14:14:33.3827556Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.3827979Z               "line": 99
2026-06-04T14:14:33.3828381Z             }
2026-06-04T14:14:33.3828781Z           ]
2026-06-04T14:14:33.3829203Z         },
2026-06-04T14:14:33.3829616Z         "int": {
2026-06-04T14:14:33.3830061Z           "complete": false,
2026-06-04T14:14:33.3830495Z           "evidence": []
2026-06-04T14:14:33.3830898Z         },
2026-06-04T14:14:33.3831293Z         "unit": {
2026-06-04T14:14:33.3831728Z           "complete": true,
2026-06-04T14:14:33.3832138Z           "evidence": [
2026-06-04T14:14:33.3832532Z             {
2026-06-04T14:14:33.3833087Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.3833505Z               "line": 250
2026-06-04T14:14:33.3833902Z             },
2026-06-04T14:14:33.3834288Z             {
2026-06-04T14:14:33.3834836Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T14:14:33.3835246Z               "line": 139
2026-06-04T14:14:33.3835638Z             },
2026-06-04T14:14:33.3836059Z             {
2026-06-04T14:14:33.3836626Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.3837058Z               "line": 432
2026-06-04T14:14:33.3837453Z             },
2026-06-04T14:14:33.3837848Z             {
2026-06-04T14:14:33.3838405Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.3838826Z               "line": 462
2026-06-04T14:14:33.3839657Z             }
2026-06-04T14:14:33.3840305Z           ]
2026-06-04T14:14:33.3840715Z         }
2026-06-04T14:14:33.3841100Z       }
2026-06-04T14:14:33.3841493Z     },
2026-06-04T14:14:33.3841879Z     {
2026-06-04T14:14:33.3842376Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T14:14:33.3843311Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T14:14:33.3843761Z       "requiredStages": [
2026-06-04T14:14:33.3844162Z         "impl",
2026-06-04T14:14:33.3844548Z         "unit"
2026-06-04T14:14:33.3844935Z       ],
2026-06-04T14:14:33.3845337Z       "stages": {
2026-06-04T14:14:33.3845740Z         "doc": {
2026-06-04T14:14:33.3846399Z           "complete": false,
2026-06-04T14:14:33.3846858Z           "evidence": []
2026-06-04T14:14:33.3847257Z         },
2026-06-04T14:14:33.3847664Z         "impl": {
2026-06-04T14:14:33.3851596Z           "complete": true,
2026-06-04T14:14:33.3852092Z           "evidence": [
2026-06-04T14:14:33.3852497Z             {
2026-06-04T14:14:33.3853071Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3853499Z               "line": 177
2026-06-04T14:14:33.3853897Z             },
2026-06-04T14:14:33.3854282Z             {
2026-06-04T14:14:33.3854844Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3855256Z               "line": 222
2026-06-04T14:14:33.3855666Z             },
2026-06-04T14:14:33.3856054Z             {
2026-06-04T14:14:33.3856631Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3857050Z               "line": 234
2026-06-04T14:14:33.3857439Z             }
2026-06-04T14:14:33.3857837Z           ]
2026-06-04T14:14:33.3858242Z         },
2026-06-04T14:14:33.3858646Z         "int": {
2026-06-04T14:14:33.3859080Z           "complete": false,
2026-06-04T14:14:33.3859578Z           "evidence": []
2026-06-04T14:14:33.3859985Z         },
2026-06-04T14:14:33.3860381Z         "unit": {
2026-06-04T14:14:33.3860823Z           "complete": true,
2026-06-04T14:14:33.3861245Z           "evidence": [
2026-06-04T14:14:33.3861640Z             {
2026-06-04T14:14:33.3862199Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3862621Z               "line": 370
2026-06-04T14:14:33.3863018Z             },
2026-06-04T14:14:33.3863402Z             {
2026-06-04T14:14:33.3863970Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.3864386Z               "line": 399
2026-06-04T14:14:33.3864783Z             }
2026-06-04T14:14:33.3865172Z           ]
2026-06-04T14:14:33.3865570Z         }
2026-06-04T14:14:33.3865967Z       }
2026-06-04T14:14:33.3866347Z     },
2026-06-04T14:14:33.3866735Z     {
2026-06-04T14:14:33.3867175Z       "id": "REQ-INFRA-1",
2026-06-04T14:14:33.3868117Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T14:14:33.3868575Z       "requiredStages": [],
2026-06-04T14:14:33.3868987Z       "stages": {
2026-06-04T14:14:33.3869429Z         "doc": {
2026-06-04T14:14:33.3869874Z           "complete": false,
2026-06-04T14:14:33.3870304Z           "evidence": []
2026-06-04T14:14:33.3870692Z         },
2026-06-04T14:14:33.3871105Z         "impl": {
2026-06-04T14:14:33.3871546Z           "complete": false,
2026-06-04T14:14:33.3871991Z           "evidence": []
2026-06-04T14:14:33.3872380Z         },
2026-06-04T14:14:33.3872775Z         "int": {
2026-06-04T14:14:33.3873215Z           "complete": false,
2026-06-04T14:14:33.3873635Z           "evidence": []
2026-06-04T14:14:33.3874031Z         },
2026-06-04T14:14:33.3874426Z         "unit": {
2026-06-04T14:14:33.3874872Z           "complete": false,
2026-06-04T14:14:33.3875303Z           "evidence": []
2026-06-04T14:14:33.3875702Z         }
2026-06-04T14:14:33.3876098Z       }
2026-06-04T14:14:33.3876473Z     },
2026-06-04T14:14:33.3876862Z     {
2026-06-04T14:14:33.3877287Z       "id": "REQ-INST-1",
2026-06-04T14:14:33.3878097Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T14:14:33.3878550Z       "requiredStages": [],
2026-06-04T14:14:33.3878949Z       "stages": {
2026-06-04T14:14:33.3879386Z         "doc": {
2026-06-04T14:14:33.3879820Z           "complete": false,
2026-06-04T14:14:33.3880243Z           "evidence": []
2026-06-04T14:14:33.3880630Z         },
2026-06-04T14:14:33.3881039Z         "impl": {
2026-06-04T14:14:33.3881481Z           "complete": false,
2026-06-04T14:14:33.3881906Z           "evidence": []
2026-06-04T14:14:33.3882300Z         },
2026-06-04T14:14:33.3882692Z         "int": {
2026-06-04T14:14:33.3883131Z           "complete": false,
2026-06-04T14:14:33.3883548Z           "evidence": []
2026-06-04T14:14:33.3883947Z         },
2026-06-04T14:14:33.3884587Z         "unit": {
2026-06-04T14:14:33.3885054Z           "complete": false,
2026-06-04T14:14:33.3885484Z           "evidence": []
2026-06-04T14:14:33.3885874Z         }
2026-06-04T14:14:33.3886406Z       }
2026-06-04T14:14:33.3886792Z     },
2026-06-04T14:14:33.3887184Z     {
2026-06-04T14:14:33.3887615Z       "id": "REQ-INST-10",
2026-06-04T14:14:33.3888707Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T14:14:33.3889225Z       "requiredStages": [
2026-06-04T14:14:33.3889629Z         "impl",
2026-06-04T14:14:33.3890036Z         "unit"
2026-06-04T14:14:33.3890424Z       ],
2026-06-04T14:14:33.3890835Z       "stages": {
2026-06-04T14:14:33.3891235Z         "doc": {
2026-06-04T14:14:33.3891668Z           "complete": false,
2026-06-04T14:14:33.3892091Z           "evidence": []
2026-06-04T14:14:33.3892476Z         },
2026-06-04T14:14:33.3892875Z         "impl": {
2026-06-04T14:14:33.3893304Z           "complete": true,
2026-06-04T14:14:33.3893730Z           "evidence": [
2026-06-04T14:14:33.3894131Z             {
2026-06-04T14:14:33.3894725Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3895157Z               "line": 413
2026-06-04T14:14:33.3895544Z             },
2026-06-04T14:14:33.3895938Z             {
2026-06-04T14:14:33.3896526Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3896952Z               "line": 468
2026-06-04T14:14:33.3897354Z             },
2026-06-04T14:14:33.3897746Z             {
2026-06-04T14:14:33.3898298Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T14:14:33.3898710Z               "line": 13
2026-06-04T14:14:33.3899103Z             },
2026-06-04T14:14:33.3899528Z             {
2026-06-04T14:14:33.3900084Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T14:14:33.3900504Z               "line": 67
2026-06-04T14:14:33.3900891Z             },
2026-06-04T14:14:33.3901283Z             {
2026-06-04T14:14:33.3901812Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T14:14:33.3902233Z               "line": 18
2026-06-04T14:14:33.3902617Z             }
2026-06-04T14:14:33.3903012Z           ]
2026-06-04T14:14:33.3903414Z         },
2026-06-04T14:14:33.3903802Z         "int": {
2026-06-04T14:14:33.3904240Z           "complete": false,
2026-06-04T14:14:33.3904656Z           "evidence": []
2026-06-04T14:14:33.3905052Z         },
2026-06-04T14:14:33.3905452Z         "unit": {
2026-06-04T14:14:33.3905891Z           "complete": true,
2026-06-04T14:14:33.3906317Z           "evidence": [
2026-06-04T14:14:33.3906709Z             {
2026-06-04T14:14:33.3907312Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3907726Z               "line": 612
2026-06-04T14:14:33.3908120Z             },
2026-06-04T14:14:33.3908503Z             {
2026-06-04T14:14:33.3909102Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3909559Z               "line": 709
2026-06-04T14:14:33.3909950Z             },
2026-06-04T14:14:33.3910352Z             {
2026-06-04T14:14:33.3910942Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3911366Z               "line": 717
2026-06-04T14:14:33.3911762Z             },
2026-06-04T14:14:33.3912157Z             {
2026-06-04T14:14:33.3912751Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3913163Z               "line": 730
2026-06-04T14:14:33.3913559Z             },
2026-06-04T14:14:33.3913943Z             {
2026-06-04T14:14:33.3914538Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3914952Z               "line": 743
2026-06-04T14:14:33.3915354Z             },
2026-06-04T14:14:33.3915745Z             {
2026-06-04T14:14:33.3916336Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3916758Z               "line": 759
2026-06-04T14:14:33.3917147Z             },
2026-06-04T14:14:33.3917543Z             {
2026-06-04T14:14:33.3918298Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3918732Z               "line": 988
2026-06-04T14:14:33.3919133Z             },
2026-06-04T14:14:33.3919555Z             {
2026-06-04T14:14:33.3920252Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T14:14:33.3920669Z               "line": 121
2026-06-04T14:14:33.3921061Z             },
2026-06-04T14:14:33.3921454Z             {
2026-06-04T14:14:33.3921998Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T14:14:33.3922415Z               "line": 142
2026-06-04T14:14:33.3922837Z             },
2026-06-04T14:14:33.3923585Z             {
2026-06-04T14:14:33.3928962Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T14:14:33.3931056Z               "line": 150
2026-06-04T14:14:33.3932139Z             },
2026-06-04T14:14:33.3933129Z             {
2026-06-04T14:14:33.3934296Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T14:14:33.3936075Z               "line": 158
2026-06-04T14:14:33.3937312Z             }
2026-06-04T14:14:33.3938373Z           ]
2026-06-04T14:14:33.3939756Z         }
2026-06-04T14:14:33.3940865Z       }
2026-06-04T14:14:33.3941954Z     },
2026-06-04T14:14:33.3942967Z     {
2026-06-04T14:14:33.3943918Z       "id": "REQ-INST-11",
2026-06-04T14:14:33.3946036Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T14:14:33.3948327Z       "requiredStages": [
2026-06-04T14:14:33.3949797Z         "impl",
2026-06-04T14:14:33.3951033Z         "unit"
2026-06-04T14:14:33.3952298Z       ],
2026-06-04T14:14:33.3953385Z       "stages": {
2026-06-04T14:14:33.3954507Z         "doc": {
2026-06-04T14:14:33.3955806Z           "complete": false,
2026-06-04T14:14:33.3957075Z           "evidence": []
2026-06-04T14:14:33.3958496Z         },
2026-06-04T14:14:33.3959650Z         "impl": {
2026-06-04T14:14:33.3960842Z           "complete": true,
2026-06-04T14:14:33.3961963Z           "evidence": [
2026-06-04T14:14:33.3962988Z             {
2026-06-04T14:14:33.3964139Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3965611Z               "line": 315
2026-06-04T14:14:33.3966666Z             },
2026-06-04T14:14:33.3967608Z             {
2026-06-04T14:14:33.3968771Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.3970320Z               "line": 243
2026-06-04T14:14:33.3971380Z             },
2026-06-04T14:14:33.3972303Z             {
2026-06-04T14:14:33.3973388Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T14:14:33.3974808Z               "line": 59
2026-06-04T14:14:33.3975847Z             },
2026-06-04T14:14:33.3976779Z             {
2026-06-04T14:14:33.3977806Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.3979192Z               "line": 1204
2026-06-04T14:14:33.3980282Z             },
2026-06-04T14:14:33.3981216Z             {
2026-06-04T14:14:33.3982263Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.3983632Z               "line": 1309
2026-06-04T14:14:33.3984720Z             }
2026-06-04T14:14:33.3985647Z           ]
2026-06-04T14:14:33.3986535Z         },
2026-06-04T14:14:33.3987432Z         "int": {
2026-06-04T14:14:33.3988450Z           "complete": false,
2026-06-04T14:14:33.3989624Z           "evidence": []
2026-06-04T14:14:33.3990680Z         },
2026-06-04T14:14:33.3991685Z         "unit": {
2026-06-04T14:14:33.3992680Z           "complete": true,
2026-06-04T14:14:33.3993800Z           "evidence": [
2026-06-04T14:14:33.3994844Z             {
2026-06-04T14:14:33.3995977Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.3997459Z               "line": 852
2026-06-04T14:14:33.3998527Z             },
2026-06-04T14:14:33.3999499Z             {
2026-06-04T14:14:33.4000636Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4002117Z               "line": 875
2026-06-04T14:14:33.4003185Z             },
2026-06-04T14:14:33.4004134Z             {
2026-06-04T14:14:33.4005714Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.4007293Z               "line": 462
2026-06-04T14:14:33.4008378Z             },
2026-06-04T14:14:33.4009374Z             {
2026-06-04T14:14:33.4010726Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T14:14:33.4012149Z               "line": 156
2026-06-04T14:14:33.4013212Z             },
2026-06-04T14:14:33.4014150Z             {
2026-06-04T14:14:33.4015246Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T14:14:33.4016680Z               "line": 177
2026-06-04T14:14:33.4023673Z             },
2026-06-04T14:14:33.4024790Z             {
2026-06-04T14:14:33.4025899Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T14:14:33.4027315Z               "line": 209
2026-06-04T14:14:33.4028385Z             },
2026-06-04T14:14:33.4029402Z             {
2026-06-04T14:14:33.4030464Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4031822Z               "line": 1402
2026-06-04T14:14:33.4032898Z             }
2026-06-04T14:14:33.4033863Z           ]
2026-06-04T14:14:33.4034765Z         }
2026-06-04T14:14:33.4035657Z       }
2026-06-04T14:14:33.4036531Z     },
2026-06-04T14:14:33.4037434Z     {
2026-06-04T14:14:33.4038383Z       "id": "REQ-INST-12",
2026-06-04T14:14:33.4040890Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T14:14:33.4043562Z       "requiredStages": [
2026-06-04T14:14:33.4044668Z         "impl",
2026-06-04T14:14:33.4045624Z         "unit"
2026-06-04T14:14:33.4046565Z       ],
2026-06-04T14:14:33.4047459Z       "stages": {
2026-06-04T14:14:33.4048424Z         "doc": {
2026-06-04T14:14:33.4049468Z           "complete": false,
2026-06-04T14:14:33.4050619Z           "evidence": []
2026-06-04T14:14:33.4051676Z         },
2026-06-04T14:14:33.4052583Z         "impl": {
2026-06-04T14:14:33.4053597Z           "complete": true,
2026-06-04T14:14:33.4054714Z           "evidence": [
2026-06-04T14:14:33.4055737Z             {
2026-06-04T14:14:33.4056876Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4058334Z               "line": 367
2026-06-04T14:14:33.4059438Z             },
2026-06-04T14:14:33.4060380Z             {
2026-06-04T14:14:33.4061514Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4062996Z               "line": 424
2026-06-04T14:14:33.4064051Z             },
2026-06-04T14:14:33.4064984Z             {
2026-06-04T14:14:33.4066106Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4067565Z               "line": 482
2026-06-04T14:14:33.4068628Z             },
2026-06-04T14:14:33.4069596Z             {
2026-06-04T14:14:33.4070691Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.4072092Z               "line": 87
2026-06-04T14:14:33.4073153Z             },
2026-06-04T14:14:33.4074089Z             {
2026-06-04T14:14:33.4075176Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.4076603Z               "line": 216
2026-06-04T14:14:33.4077664Z             },
2026-06-04T14:14:33.4078604Z             {
2026-06-04T14:14:33.4079778Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4081245Z               "line": 132
2026-06-04T14:14:33.4082314Z             }
2026-06-04T14:14:33.4083230Z           ]
2026-06-04T14:14:33.4084140Z         },
2026-06-04T14:14:33.4085044Z         "int": {
2026-06-04T14:14:33.4086045Z           "complete": false,
2026-06-04T14:14:33.4087189Z           "evidence": []
2026-06-04T14:14:33.4088234Z         },
2026-06-04T14:14:33.4089140Z         "unit": {
2026-06-04T14:14:33.4090175Z           "complete": true,
2026-06-04T14:14:33.4091297Z           "evidence": [
2026-06-04T14:14:33.4092313Z             {
2026-06-04T14:14:33.4093442Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4094913Z               "line": 910
2026-06-04T14:14:33.4095966Z             },
2026-06-04T14:14:33.4097440Z             {
2026-06-04T14:14:33.4099297Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4101162Z               "line": 927
2026-06-04T14:14:33.4102393Z             },
2026-06-04T14:14:33.4103331Z             {
2026-06-04T14:14:33.4104463Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4105944Z               "line": 958
2026-06-04T14:14:33.4107009Z             },
2026-06-04T14:14:33.4107945Z             {
2026-06-04T14:14:33.4109043Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.4110529Z               "line": 350
2026-06-04T14:14:33.4111621Z             },
2026-06-04T14:14:33.4112600Z             {
2026-06-04T14:14:33.4113738Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4115208Z               "line": 169
2026-06-04T14:14:33.4116270Z             },
2026-06-04T14:14:33.4117205Z             {
2026-06-04T14:14:33.4125226Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4126774Z               "line": 181
2026-06-04T14:14:33.4127843Z             },
2026-06-04T14:14:33.4128795Z             {
2026-06-04T14:14:33.4130023Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4131506Z               "line": 198
2026-06-04T14:14:33.4132559Z             }
2026-06-04T14:14:33.4133483Z           ]
2026-06-04T14:14:33.4134383Z         }
2026-06-04T14:14:33.4135269Z       }
2026-06-04T14:14:33.4136143Z     },
2026-06-04T14:14:33.4137025Z     {
2026-06-04T14:14:33.4137962Z       "id": "REQ-INST-13",
2026-06-04T14:14:33.4139819Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T14:14:33.4141834Z       "requiredStages": [
2026-06-04T14:14:33.4142925Z         "impl",
2026-06-04T14:14:33.4143884Z         "unit"
2026-06-04T14:14:33.4144821Z       ],
2026-06-04T14:14:33.4145710Z       "stages": {
2026-06-04T14:14:33.4146672Z         "doc": {
2026-06-04T14:14:33.4147680Z           "complete": false,
2026-06-04T14:14:33.4148832Z           "evidence": []
2026-06-04T14:14:33.4150289Z         },
2026-06-04T14:14:33.4151202Z         "impl": {
2026-06-04T14:14:33.4152209Z           "complete": true,
2026-06-04T14:14:33.4153328Z           "evidence": [
2026-06-04T14:14:33.4154346Z             {
2026-06-04T14:14:33.4155431Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4156831Z               "line": 94
2026-06-04T14:14:33.4157888Z             },
2026-06-04T14:14:33.4158826Z             {
2026-06-04T14:14:33.4159998Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4161463Z               "line": 155
2026-06-04T14:14:33.4162520Z             }
2026-06-04T14:14:33.4163437Z           ]
2026-06-04T14:14:33.4164337Z         },
2026-06-04T14:14:33.4165229Z         "int": {
2026-06-04T14:14:33.4166233Z           "complete": false,
2026-06-04T14:14:33.4167376Z           "evidence": []
2026-06-04T14:14:33.4168431Z         },
2026-06-04T14:14:33.4169383Z         "unit": {
2026-06-04T14:14:33.4170386Z           "complete": true,
2026-06-04T14:14:33.4171494Z           "evidence": [
2026-06-04T14:14:33.4172522Z             {
2026-06-04T14:14:33.4173646Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4175108Z               "line": 221
2026-06-04T14:14:33.4176181Z             },
2026-06-04T14:14:33.4177118Z             {
2026-06-04T14:14:33.4178237Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T14:14:33.4179729Z               "line": 233
2026-06-04T14:14:33.4180789Z             }
2026-06-04T14:14:33.4181712Z           ]
2026-06-04T14:14:33.4182605Z         }
2026-06-04T14:14:33.4183492Z       }
2026-06-04T14:14:33.4184365Z     },
2026-06-04T14:14:33.4185237Z     {
2026-06-04T14:14:33.4186149Z       "id": "REQ-INST-14",
2026-06-04T14:14:33.4188920Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T14:14:33.4191966Z       "requiredStages": [
2026-06-04T14:14:33.4193338Z         "doc",
2026-06-04T14:14:33.4194309Z         "impl",
2026-06-04T14:14:33.4195263Z         "unit"
2026-06-04T14:14:33.4196210Z       ],
2026-06-04T14:14:33.4197260Z       "stages": {
2026-06-04T14:14:33.4198226Z         "doc": {
2026-06-04T14:14:33.4199302Z           "complete": true,
2026-06-04T14:14:33.4200417Z           "evidence": [
2026-06-04T14:14:33.4201444Z             {
2026-06-04T14:14:33.4202433Z               "path": "docs/STORAGE.md",
2026-06-04T14:14:33.4203697Z               "line": 49
2026-06-04T14:14:33.4204739Z             }
2026-06-04T14:14:33.4205673Z           ]
2026-06-04T14:14:33.4206563Z         },
2026-06-04T14:14:33.4207464Z         "impl": {
2026-06-04T14:14:33.4208466Z           "complete": true,
2026-06-04T14:14:33.4209633Z           "evidence": [
2026-06-04T14:14:33.4210651Z             {
2026-06-04T14:14:33.4211827Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4213324Z               "line": 242
2026-06-04T14:14:33.4214381Z             },
2026-06-04T14:14:33.4215328Z             {
2026-06-04T14:14:33.4216454Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4222222Z               "line": 182
2026-06-04T14:14:33.4223323Z             },
2026-06-04T14:14:33.4224258Z             {
2026-06-04T14:14:33.4225332Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.4226722Z               "line": 202
2026-06-04T14:14:33.4227784Z             },
2026-06-04T14:14:33.4228717Z             {
2026-06-04T14:14:33.4229828Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4231162Z               "line": 515
2026-06-04T14:14:33.4232201Z             }
2026-06-04T14:14:33.4233129Z           ]
2026-06-04T14:14:33.4234031Z         },
2026-06-04T14:14:33.4234927Z         "int": {
2026-06-04T14:14:33.4235925Z           "complete": false,
2026-06-04T14:14:33.4237066Z           "evidence": []
2026-06-04T14:14:33.4238136Z         },
2026-06-04T14:14:33.4239036Z         "unit": {
2026-06-04T14:14:33.4240103Z           "complete": true,
2026-06-04T14:14:33.4241215Z           "evidence": [
2026-06-04T14:14:33.4242243Z             {
2026-06-04T14:14:33.4243426Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4244930Z               "line": 391
2026-06-04T14:14:33.4245990Z             },
2026-06-04T14:14:33.4246932Z             {
2026-06-04T14:14:33.4248051Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4249540Z               "line": 621
2026-06-04T14:14:33.4250605Z             },
2026-06-04T14:14:33.4251542Z             {
2026-06-04T14:14:33.4252664Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4254109Z               "line": 662
2026-06-04T14:14:33.4255154Z             },
2026-06-04T14:14:33.4256103Z             {
2026-06-04T14:14:33.4257176Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.4258564Z               "line": 411
2026-06-04T14:14:33.4259868Z             },
2026-06-04T14:14:33.4260991Z             {
2026-06-04T14:14:33.4262021Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4263355Z               "line": 1418
2026-06-04T14:14:33.4264440Z             }
2026-06-04T14:14:33.4265371Z           ]
2026-06-04T14:14:33.4266279Z         }
2026-06-04T14:14:33.4267151Z       }
2026-06-04T14:14:33.4268014Z     },
2026-06-04T14:14:33.4268882Z     {
2026-06-04T14:14:33.4269844Z       "id": "REQ-INST-15",
2026-06-04T14:14:33.4274678Z       "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-04T14:14:33.4279778Z       "requiredStages": [
2026-06-04T14:14:33.4280883Z         "doc",
2026-06-04T14:14:33.4281820Z         "impl",
2026-06-04T14:14:33.4282757Z         "unit"
2026-06-04T14:14:33.4283688Z       ],
2026-06-04T14:14:33.4284833Z       "stages": {
2026-06-04T14:14:33.4285845Z         "doc": {
2026-06-04T14:14:33.4286838Z           "complete": true,
2026-06-04T14:14:33.4288093Z           "evidence": [
2026-06-04T14:14:33.4289109Z             {
2026-06-04T14:14:33.4290578Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-04T14:14:33.4292328Z               "line": 3
2026-06-04T14:14:33.4293335Z             }
2026-06-04T14:14:33.4294257Z           ]
2026-06-04T14:14:33.4295145Z         },
2026-06-04T14:14:33.4296041Z         "impl": {
2026-06-04T14:14:33.4297041Z           "complete": true,
2026-06-04T14:14:33.4298162Z           "evidence": [
2026-06-04T14:14:33.4299225Z             {
2026-06-04T14:14:33.4300403Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4301896Z               "line": 206
2026-06-04T14:14:33.4302952Z             },
2026-06-04T14:14:33.4303877Z             {
2026-06-04T14:14:33.4304954Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4306332Z               "line": 60
2026-06-04T14:14:33.4307372Z             },
2026-06-04T14:14:33.4308308Z             {
2026-06-04T14:14:33.4309548Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.4311044Z               "line": 317
2026-06-04T14:14:33.4312100Z             },
2026-06-04T14:14:33.4313026Z             {
2026-06-04T14:14:33.4314180Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.4315671Z               "line": 367
2026-06-04T14:14:33.4316723Z             },
2026-06-04T14:14:33.4317666Z             {
2026-06-04T14:14:33.4322275Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4323776Z               "line": 19
2026-06-04T14:14:33.4324831Z             },
2026-06-04T14:14:33.4325798Z             {
2026-06-04T14:14:33.4326875Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4328259Z               "line": 67
2026-06-04T14:14:33.4329374Z             },
2026-06-04T14:14:33.4330336Z             {
2026-06-04T14:14:33.4331422Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4332809Z               "line": 91
2026-06-04T14:14:33.4333854Z             },
2026-06-04T14:14:33.4334783Z             {
2026-06-04T14:14:33.4335872Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4337258Z               "line": 116
2026-06-04T14:14:33.4338304Z             },
2026-06-04T14:14:33.4339267Z             {
2026-06-04T14:14:33.4340355Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4341751Z               "line": 167
2026-06-04T14:14:33.4342794Z             },
2026-06-04T14:14:33.4343786Z             {
2026-06-04T14:14:33.4344874Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.4346273Z               "line": 141
2026-06-04T14:14:33.4347319Z             },
2026-06-04T14:14:33.4348238Z             {
2026-06-04T14:14:33.4349336Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4350691Z               "line": 407
2026-06-04T14:14:33.4351736Z             }
2026-06-04T14:14:33.4352650Z           ]
2026-06-04T14:14:33.4353557Z         },
2026-06-04T14:14:33.4354442Z         "int": {
2026-06-04T14:14:33.4355427Z           "complete": false,
2026-06-04T14:14:33.4356566Z           "evidence": []
2026-06-04T14:14:33.4357611Z         },
2026-06-04T14:14:33.4358510Z         "unit": {
2026-06-04T14:14:33.4359554Z           "complete": true,
2026-06-04T14:14:33.4360667Z           "evidence": [
2026-06-04T14:14:33.4361686Z             {
2026-06-04T14:14:33.4362841Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.4364319Z               "line": 506
2026-06-04T14:14:33.4365385Z             },
2026-06-04T14:14:33.4366316Z             {
2026-06-04T14:14:33.4367465Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.4368939Z               "line": 562
2026-06-04T14:14:33.4370052Z             },
2026-06-04T14:14:33.4371212Z             {
2026-06-04T14:14:33.4372328Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4373723Z               "line": 206
2026-06-04T14:14:33.4374906Z             },
2026-06-04T14:14:33.4375841Z             {
2026-06-04T14:14:33.4376907Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4378317Z               "line": 239
2026-06-04T14:14:33.4379427Z             },
2026-06-04T14:14:33.4380350Z             {
2026-06-04T14:14:33.4381431Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4382829Z               "line": 252
2026-06-04T14:14:33.4383874Z             },
2026-06-04T14:14:33.4384789Z             {
2026-06-04T14:14:33.4385853Z               "path": "crates/spt-store/src/home.rs",
2026-06-04T14:14:33.4387240Z               "line": 316
2026-06-04T14:14:33.4388303Z             },
2026-06-04T14:14:33.4389269Z             {
2026-06-04T14:14:33.4390353Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.4391764Z               "line": 477
2026-06-04T14:14:33.4392822Z             },
2026-06-04T14:14:33.4393752Z             {
2026-06-04T14:14:33.4394778Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4396120Z               "line": 1405
2026-06-04T14:14:33.4397192Z             },
2026-06-04T14:14:33.4398116Z             {
2026-06-04T14:14:33.4399138Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4400521Z               "line": 1557
2026-06-04T14:14:33.4401596Z             }
2026-06-04T14:14:33.4402517Z           ]
2026-06-04T14:14:33.4403409Z         }
2026-06-04T14:14:33.4404287Z       }
2026-06-04T14:14:33.4405149Z     },
2026-06-04T14:14:33.4406031Z     {
2026-06-04T14:14:33.4406937Z       "id": "REQ-INST-2",
2026-06-04T14:14:33.4408178Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T14:14:33.4409669Z       "requiredStages": [
2026-06-04T14:14:33.4410749Z         "impl",
2026-06-04T14:14:33.4411685Z         "unit"
2026-06-04T14:14:33.4416078Z       ],
2026-06-04T14:14:33.4417122Z       "stages": {
2026-06-04T14:14:33.4418100Z         "doc": {
2026-06-04T14:14:33.4419104Z           "complete": false,
2026-06-04T14:14:33.4420359Z           "evidence": []
2026-06-04T14:14:33.4421402Z         },
2026-06-04T14:14:33.4422306Z         "impl": {
2026-06-04T14:14:33.4423296Z           "complete": true,
2026-06-04T14:14:33.4424407Z           "evidence": [
2026-06-04T14:14:33.4425421Z             {
2026-06-04T14:14:33.4426552Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4428018Z               "line": 86
2026-06-04T14:14:33.4429075Z             },
2026-06-04T14:14:33.4430038Z             {
2026-06-04T14:14:33.4431122Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.4432514Z               "line": 28
2026-06-04T14:14:33.4433549Z             },
2026-06-04T14:14:33.4434473Z             {
2026-06-04T14:14:33.4435543Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.4436961Z               "line": 74
2026-06-04T14:14:33.4437995Z             },
2026-06-04T14:14:33.4438925Z             {
2026-06-04T14:14:33.4440032Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.4441429Z               "line": 96
2026-06-04T14:14:33.4442471Z             },
2026-06-04T14:14:33.4443394Z             {
2026-06-04T14:14:33.4444472Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T14:14:33.4445892Z               "line": 81
2026-06-04T14:14:33.4446940Z             },
2026-06-04T14:14:33.4447864Z             {
2026-06-04T14:14:33.4448955Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T14:14:33.4450418Z               "line": 118
2026-06-04T14:14:33.4451473Z             }
2026-06-04T14:14:33.4452394Z           ]
2026-06-04T14:14:33.4453278Z         },
2026-06-04T14:14:33.4454177Z         "int": {
2026-06-04T14:14:33.4455182Z           "complete": false,
2026-06-04T14:14:33.4456317Z           "evidence": []
2026-06-04T14:14:33.4457359Z         },
2026-06-04T14:14:33.4458517Z         "unit": {
2026-06-04T14:14:33.4459609Z           "complete": true,
2026-06-04T14:14:33.4460724Z           "evidence": [
2026-06-04T14:14:33.4461930Z             {
2026-06-04T14:14:33.4463030Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T14:14:33.4464428Z               "line": 203
2026-06-04T14:14:33.4465497Z             },
2026-06-04T14:14:33.4466421Z             {
2026-06-04T14:14:33.4467501Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T14:14:33.4468911Z               "line": 232
2026-06-04T14:14:33.4469997Z             }
2026-06-04T14:14:33.4470922Z           ]
2026-06-04T14:14:33.4471813Z         }
2026-06-04T14:14:33.4472695Z       }
2026-06-04T14:14:33.4473583Z     },
2026-06-04T14:14:33.4474459Z     {
2026-06-04T14:14:33.4475372Z       "id": "REQ-INST-3",
2026-06-04T14:14:33.4476779Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T14:14:33.4478403Z       "requiredStages": [
2026-06-04T14:14:33.4479517Z         "doc",
2026-06-04T14:14:33.4480475Z         "impl",
2026-06-04T14:14:33.4481421Z         "unit"
2026-06-04T14:14:33.4482355Z       ],
2026-06-04T14:14:33.4483255Z       "stages": {
2026-06-04T14:14:33.4484226Z         "doc": {
2026-06-04T14:14:33.4485223Z           "complete": true,
2026-06-04T14:14:33.4486339Z           "evidence": [
2026-06-04T14:14:33.4487359Z             {
2026-06-04T14:14:33.4488421Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-04T14:14:33.4489821Z               "line": 3
2026-06-04T14:14:33.4490842Z             }
2026-06-04T14:14:33.4491762Z           ]
2026-06-04T14:14:33.4492669Z         },
2026-06-04T14:14:33.4493575Z         "impl": {
2026-06-04T14:14:33.4494586Z           "complete": true,
2026-06-04T14:14:33.4495715Z           "evidence": [
2026-06-04T14:14:33.4496755Z             {
2026-06-04T14:14:33.4497873Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T14:14:33.4499343Z               "line": 70
2026-06-04T14:14:33.4500396Z             },
2026-06-04T14:14:33.4501354Z             {
2026-06-04T14:14:33.4502490Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.4503957Z               "line": 385
2026-06-04T14:14:33.4508422Z             },
2026-06-04T14:14:33.4509593Z             {
2026-06-04T14:14:33.4510769Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4512232Z               "line": 197
2026-06-04T14:14:33.4513286Z             },
2026-06-04T14:14:33.4514213Z             {
2026-06-04T14:14:33.4515341Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4516784Z               "line": 272
2026-06-04T14:14:33.4517824Z             },
2026-06-04T14:14:33.4518741Z             {
2026-06-04T14:14:33.4519916Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4521381Z               "line": 293
2026-06-04T14:14:33.4522431Z             },
2026-06-04T14:14:33.4523363Z             {
2026-06-04T14:14:33.4524513Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T14:14:33.4525967Z               "line": 234
2026-06-04T14:14:33.4527015Z             },
2026-06-04T14:14:33.4527941Z             {
2026-06-04T14:14:33.4529109Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4529565Z               "line": 147
2026-06-04T14:14:33.4529956Z             },
2026-06-04T14:14:33.4530355Z             {
2026-06-04T14:14:33.4530993Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4531421Z               "line": 228
2026-06-04T14:14:33.4531814Z             },
2026-06-04T14:14:33.4532200Z             {
2026-06-04T14:14:33.4532786Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4533200Z               "line": 44
2026-06-04T14:14:33.4533595Z             },
2026-06-04T14:14:33.4533984Z             {
2026-06-04T14:14:33.4534574Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4534998Z               "line": 113
2026-06-04T14:14:33.4535600Z             },
2026-06-04T14:14:33.4536032Z             {
2026-06-04T14:14:33.4536618Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4537170Z               "line": 151
2026-06-04T14:14:33.4537562Z             },
2026-06-04T14:14:33.4537953Z             {
2026-06-04T14:14:33.4538540Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4538949Z               "line": 167
2026-06-04T14:14:33.4539383Z             },
2026-06-04T14:14:33.4539770Z             {
2026-06-04T14:14:33.4540355Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4540765Z               "line": 177
2026-06-04T14:14:33.4541157Z             },
2026-06-04T14:14:33.4541547Z             {
2026-06-04T14:14:33.4542124Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4542548Z               "line": 209
2026-06-04T14:14:33.4542934Z             },
2026-06-04T14:14:33.4543339Z             {
2026-06-04T14:14:33.4543934Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4544365Z               "line": 282
2026-06-04T14:14:33.4544768Z             },
2026-06-04T14:14:33.4545160Z             {
2026-06-04T14:14:33.4545752Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4546163Z               "line": 306
2026-06-04T14:14:33.4546560Z             },
2026-06-04T14:14:33.4546949Z             {
2026-06-04T14:14:33.4547551Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4547976Z               "line": 346
2026-06-04T14:14:33.4548367Z             },
2026-06-04T14:14:33.4548766Z             {
2026-06-04T14:14:33.4549371Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4549798Z               "line": 361
2026-06-04T14:14:33.4550195Z             },
2026-06-04T14:14:33.4550583Z             {
2026-06-04T14:14:33.4551180Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-04T14:14:33.4551590Z               "line": 37
2026-06-04T14:14:33.4551996Z             },
2026-06-04T14:14:33.4552392Z             {
2026-06-04T14:14:33.4552996Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4553429Z               "line": 62
2026-06-04T14:14:33.4553820Z             },
2026-06-04T14:14:33.4554205Z             {
2026-06-04T14:14:33.4554746Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.4555166Z               "line": 184
2026-06-04T14:14:33.4555561Z             },
2026-06-04T14:14:33.4555953Z             {
2026-06-04T14:14:33.4556457Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4556867Z               "line": 612
2026-06-04T14:14:33.4557258Z             }
2026-06-04T14:14:33.4557640Z           ]
2026-06-04T14:14:33.4558029Z         },
2026-06-04T14:14:33.4558419Z         "int": {
2026-06-04T14:14:33.4558861Z           "complete": false,
2026-06-04T14:14:33.4559326Z           "evidence": []
2026-06-04T14:14:33.4559718Z         },
2026-06-04T14:14:33.4560129Z         "unit": {
2026-06-04T14:14:33.4560554Z           "complete": true,
2026-06-04T14:14:33.4560973Z           "evidence": [
2026-06-04T14:14:33.4561360Z             {
2026-06-04T14:14:33.4561949Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.4562364Z               "line": 305
2026-06-04T14:14:33.4562752Z             },
2026-06-04T14:14:33.4563141Z             {
2026-06-04T14:14:33.4563738Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4564157Z               "line": 610
2026-06-04T14:14:33.4564541Z             },
2026-06-04T14:14:33.4564935Z             {
2026-06-04T14:14:33.4565531Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4565941Z               "line": 661
2026-06-04T14:14:33.4566332Z             },
2026-06-04T14:14:33.4566721Z             {
2026-06-04T14:14:33.4567362Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4567781Z               "line": 441
2026-06-04T14:14:33.4568320Z             },
2026-06-04T14:14:33.4568740Z             {
2026-06-04T14:14:33.4569422Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4569996Z               "line": 488
2026-06-04T14:14:33.4570380Z             },
2026-06-04T14:14:33.4570769Z             {
2026-06-04T14:14:33.4571356Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4571771Z               "line": 372
2026-06-04T14:14:33.4572164Z             },
2026-06-04T14:14:33.4572552Z             {
2026-06-04T14:14:33.4573138Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4573549Z               "line": 401
2026-06-04T14:14:33.4573944Z             },
2026-06-04T14:14:33.4574329Z             {
2026-06-04T14:14:33.4574914Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4575334Z               "line": 434
2026-06-04T14:14:33.4575724Z             },
2026-06-04T14:14:33.4576112Z             {
2026-06-04T14:14:33.4576695Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4577119Z               "line": 542
2026-06-04T14:14:33.4577515Z             },
2026-06-04T14:14:33.4577905Z             {
2026-06-04T14:14:33.4578485Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4578894Z               "line": 621
2026-06-04T14:14:33.4579326Z             },
2026-06-04T14:14:33.4579718Z             {
2026-06-04T14:14:33.4580307Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4580730Z               "line": 635
2026-06-04T14:14:33.4581115Z             },
2026-06-04T14:14:33.4581503Z             {
2026-06-04T14:14:33.4582086Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4582504Z               "line": 690
2026-06-04T14:14:33.4582886Z             },
2026-06-04T14:14:33.4583280Z             {
2026-06-04T14:14:33.4583835Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.4584249Z               "line": 371
2026-06-04T14:14:33.4584660Z             },
2026-06-04T14:14:33.4585042Z             {
2026-06-04T14:14:33.4585553Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4589347Z               "line": 1432
2026-06-04T14:14:33.4589841Z             }
2026-06-04T14:14:33.4590267Z           ]
2026-06-04T14:14:33.4590657Z         }
2026-06-04T14:14:33.4591051Z       }
2026-06-04T14:14:33.4591429Z     },
2026-06-04T14:14:33.4591815Z     {
2026-06-04T14:14:33.4592242Z       "id": "REQ-INST-4",
2026-06-04T14:14:33.4593153Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T14:14:33.4593598Z       "requiredStages": [
2026-06-04T14:14:33.4593992Z         "impl",
2026-06-04T14:14:33.4594387Z         "unit"
2026-06-04T14:14:33.4594764Z       ],
2026-06-04T14:14:33.4595169Z       "stages": {
2026-06-04T14:14:33.4595562Z         "doc": {
2026-06-04T14:14:33.4596005Z           "complete": false,
2026-06-04T14:14:33.4596430Z           "evidence": []
2026-06-04T14:14:33.4596834Z         },
2026-06-04T14:14:33.4597249Z         "impl": {
2026-06-04T14:14:33.4597722Z           "complete": true,
2026-06-04T14:14:33.4598145Z           "evidence": [
2026-06-04T14:14:33.4598544Z             {
2026-06-04T14:14:33.4599153Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4599637Z               "line": 273
2026-06-04T14:14:33.4600074Z             },
2026-06-04T14:14:33.4600479Z             {
2026-06-04T14:14:33.4601069Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4601491Z               "line": 201
2026-06-04T14:14:33.4601881Z             },
2026-06-04T14:14:33.4602278Z             {
2026-06-04T14:14:33.4602862Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4603278Z               "line": 233
2026-06-04T14:14:33.4603674Z             },
2026-06-04T14:14:33.4604056Z             {
2026-06-04T14:14:33.4604643Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4605286Z               "line": 269
2026-06-04T14:14:33.4605713Z             }
2026-06-04T14:14:33.4606105Z           ]
2026-06-04T14:14:33.4606492Z         },
2026-06-04T14:14:33.4607011Z         "int": {
2026-06-04T14:14:33.4607445Z           "complete": false,
2026-06-04T14:14:33.4607873Z           "evidence": []
2026-06-04T14:14:33.4608253Z         },
2026-06-04T14:14:33.4608656Z         "unit": {
2026-06-04T14:14:33.4609087Z           "complete": true,
2026-06-04T14:14:33.4609539Z           "evidence": [
2026-06-04T14:14:33.4609938Z             {
2026-06-04T14:14:33.4610536Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.4610953Z               "line": 656
2026-06-04T14:14:33.4611343Z             },
2026-06-04T14:14:33.4611739Z             {
2026-06-04T14:14:33.4612319Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4612733Z               "line": 452
2026-06-04T14:14:33.4613132Z             },
2026-06-04T14:14:33.4613522Z             {
2026-06-04T14:14:33.4614119Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4614534Z               "line": 517
2026-06-04T14:14:33.4614930Z             },
2026-06-04T14:14:33.4615327Z             {
2026-06-04T14:14:33.4615909Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T14:14:33.4616326Z               "line": 584
2026-06-04T14:14:33.4616714Z             }
2026-06-04T14:14:33.4617102Z           ]
2026-06-04T14:14:33.4617485Z         }
2026-06-04T14:14:33.4617876Z       }
2026-06-04T14:14:33.4618267Z     },
2026-06-04T14:14:33.4618644Z     {
2026-06-04T14:14:33.4619086Z       "id": "REQ-INST-5",
2026-06-04T14:14:33.4620028Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T14:14:33.4620481Z       "requiredStages": [
2026-06-04T14:14:33.4620876Z         "impl",
2026-06-04T14:14:33.4621277Z         "unit"
2026-06-04T14:14:33.4621668Z       ],
2026-06-04T14:14:33.4622061Z       "stages": {
2026-06-04T14:14:33.4622454Z         "doc": {
2026-06-04T14:14:33.4622902Z           "complete": false,
2026-06-04T14:14:33.4623335Z           "evidence": []
2026-06-04T14:14:33.4623728Z         },
2026-06-04T14:14:33.4624145Z         "impl": {
2026-06-04T14:14:33.4624588Z           "complete": true,
2026-06-04T14:14:33.4624999Z           "evidence": [
2026-06-04T14:14:33.4625395Z             {
2026-06-04T14:14:33.4625988Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T14:14:33.4626405Z               "line": 39
2026-06-04T14:14:33.4626794Z             },
2026-06-04T14:14:33.4627191Z             {
2026-06-04T14:14:33.4627747Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4628160Z               "line": 68
2026-06-04T14:14:33.4628558Z             },
2026-06-04T14:14:33.4628940Z             {
2026-06-04T14:14:33.4629529Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4629945Z               "line": 93
2026-06-04T14:14:33.4630344Z             },
2026-06-04T14:14:33.4630737Z             {
2026-06-04T14:14:33.4631296Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4631723Z               "line": 160
2026-06-04T14:14:33.4632113Z             },
2026-06-04T14:14:33.4632505Z             {
2026-06-04T14:14:33.4633053Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4633477Z               "line": 271
2026-06-04T14:14:33.4633867Z             }
2026-06-04T14:14:33.4634252Z           ]
2026-06-04T14:14:33.4634644Z         },
2026-06-04T14:14:33.4635029Z         "int": {
2026-06-04T14:14:33.4635466Z           "complete": true,
2026-06-04T14:14:33.4635876Z           "evidence": [
2026-06-04T14:14:33.4636266Z             {
2026-06-04T14:14:33.4636882Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.4637292Z               "line": 142
2026-06-04T14:14:33.4637686Z             },
2026-06-04T14:14:33.4638073Z             {
2026-06-04T14:14:33.4638699Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T14:14:33.4639347Z               "line": 102
2026-06-04T14:14:33.4639773Z             },
2026-06-04T14:14:33.4640172Z             {
2026-06-04T14:14:33.4640763Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.4641382Z               "line": 517
2026-06-04T14:14:33.4641770Z             },
2026-06-04T14:14:33.4642164Z             {
2026-06-04T14:14:33.4642764Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.4643179Z               "line": 723
2026-06-04T14:14:33.4643572Z             }
2026-06-04T14:14:33.4643955Z           ]
2026-06-04T14:14:33.4644353Z         },
2026-06-04T14:14:33.4644762Z         "unit": {
2026-06-04T14:14:33.4645201Z           "complete": true,
2026-06-04T14:14:33.4645616Z           "evidence": [
2026-06-04T14:14:33.4646001Z             {
2026-06-04T14:14:33.4646550Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4646962Z               "line": 461
2026-06-04T14:14:33.4647356Z             },
2026-06-04T14:14:33.4647751Z             {
2026-06-04T14:14:33.4648312Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.4648732Z               "line": 495
2026-06-04T14:14:33.4649124Z             },
2026-06-04T14:14:33.4649557Z             {
2026-06-04T14:14:33.4650131Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T14:14:33.4650547Z               "line": 199
2026-06-04T14:14:33.4650932Z             }
2026-06-04T14:14:33.4651328Z           ]
2026-06-04T14:14:33.4651724Z         }
2026-06-04T14:14:33.4652110Z       }
2026-06-04T14:14:33.4652496Z     },
2026-06-04T14:14:33.4652872Z     {
2026-06-04T14:14:33.4653299Z       "id": "REQ-INST-6",
2026-06-04T14:14:33.4654241Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T14:14:33.4654690Z       "requiredStages": [],
2026-06-04T14:14:33.4655092Z       "stages": {
2026-06-04T14:14:33.4655489Z         "doc": {
2026-06-04T14:14:33.4655933Z           "complete": false,
2026-06-04T14:14:33.4656355Z           "evidence": []
2026-06-04T14:14:33.4656745Z         },
2026-06-04T14:14:33.4657140Z         "impl": {
2026-06-04T14:14:33.4657582Z           "complete": false,
2026-06-04T14:14:33.4658013Z           "evidence": []
2026-06-04T14:14:33.4658398Z         },
2026-06-04T14:14:33.4658795Z         "int": {
2026-06-04T14:14:33.4659258Z           "complete": false,
2026-06-04T14:14:33.4659684Z           "evidence": []
2026-06-04T14:14:33.4660069Z         },
2026-06-04T14:14:33.4660475Z         "unit": {
2026-06-04T14:14:33.4660920Z           "complete": false,
2026-06-04T14:14:33.4664624Z           "evidence": []
2026-06-04T14:14:33.4665106Z         }
2026-06-04T14:14:33.4665497Z       }
2026-06-04T14:14:33.4665888Z     },
2026-06-04T14:14:33.4666264Z     {
2026-06-04T14:14:33.4666703Z       "id": "REQ-INST-7",
2026-06-04T14:14:33.4667397Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T14:14:33.4667845Z       "requiredStages": [
2026-06-04T14:14:33.4668253Z         "impl",
2026-06-04T14:14:33.4668664Z         "unit"
2026-06-04T14:14:33.4669060Z       ],
2026-06-04T14:14:33.4669549Z       "stages": {
2026-06-04T14:14:33.4669949Z         "doc": {
2026-06-04T14:14:33.4670405Z           "complete": false,
2026-06-04T14:14:33.4670820Z           "evidence": []
2026-06-04T14:14:33.4671214Z         },
2026-06-04T14:14:33.4671613Z         "impl": {
2026-06-04T14:14:33.4672050Z           "complete": true,
2026-06-04T14:14:33.4672459Z           "evidence": [
2026-06-04T14:14:33.4672849Z             {
2026-06-04T14:14:33.4673456Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.4673878Z               "line": 361
2026-06-04T14:14:33.4674281Z             },
2026-06-04T14:14:33.4674665Z             {
2026-06-04T14:14:33.4675304Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T14:14:33.4675717Z               "line": 40
2026-06-04T14:14:33.4676107Z             },
2026-06-04T14:14:33.4676499Z             {
2026-06-04T14:14:33.4677355Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4677793Z               "line": 27
2026-06-04T14:14:33.4678181Z             },
2026-06-04T14:14:33.4678715Z             {
2026-06-04T14:14:33.4679401Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4679836Z               "line": 120
2026-06-04T14:14:33.4680230Z             },
2026-06-04T14:14:33.4680611Z             {
2026-06-04T14:14:33.4681253Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4681660Z               "line": 197
2026-06-04T14:14:33.4682047Z             },
2026-06-04T14:14:33.4682428Z             {
2026-06-04T14:14:33.4683004Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T14:14:33.4683420Z               "line": 56
2026-06-04T14:14:33.4683805Z             },
2026-06-04T14:14:33.4684192Z             {
2026-06-04T14:14:33.4684780Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4685196Z               "line": 41
2026-06-04T14:14:33.4685595Z             },
2026-06-04T14:14:33.4685991Z             {
2026-06-04T14:14:33.4686601Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.4687021Z               "line": 27
2026-06-04T14:14:33.4687420Z             },
2026-06-04T14:14:33.4687804Z             {
2026-06-04T14:14:33.4688416Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.4688818Z               "line": 59
2026-06-04T14:14:33.4689253Z             },
2026-06-04T14:14:33.4689646Z             {
2026-06-04T14:14:33.4690244Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.4690659Z               "line": 68
2026-06-04T14:14:33.4691043Z             },
2026-06-04T14:14:33.4691437Z             {
2026-06-04T14:14:33.4692021Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T14:14:33.4692444Z               "line": 129
2026-06-04T14:14:33.4692835Z             }
2026-06-04T14:14:33.4693217Z           ]
2026-06-04T14:14:33.4693617Z         },
2026-06-04T14:14:33.4694010Z         "int": {
2026-06-04T14:14:33.4694447Z           "complete": true,
2026-06-04T14:14:33.4694866Z           "evidence": [
2026-06-04T14:14:33.4695282Z             {
2026-06-04T14:14:33.4695903Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T14:14:33.4696320Z               "line": 102
2026-06-04T14:14:33.4696716Z             },
2026-06-04T14:14:33.4697094Z             {
2026-06-04T14:14:33.4697695Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.4698119Z               "line": 481
2026-06-04T14:14:33.4698514Z             },
2026-06-04T14:14:33.4698915Z             {
2026-06-04T14:14:33.4699538Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.4699964Z               "line": 639
2026-06-04T14:14:33.4700345Z             }
2026-06-04T14:14:33.4700742Z           ]
2026-06-04T14:14:33.4701132Z         },
2026-06-04T14:14:33.4701524Z         "unit": {
2026-06-04T14:14:33.4701973Z           "complete": true,
2026-06-04T14:14:33.4702388Z           "evidence": [
2026-06-04T14:14:33.4702780Z             {
2026-06-04T14:14:33.4703412Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4703846Z               "line": 368
2026-06-04T14:14:33.4704244Z             },
2026-06-04T14:14:33.4704629Z             {
2026-06-04T14:14:33.4705275Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T14:14:33.4705692Z               "line": 534
2026-06-04T14:14:33.4706089Z             },
2026-06-04T14:14:33.4706478Z             {
2026-06-04T14:14:33.4707112Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T14:14:33.4707533Z               "line": 83
2026-06-04T14:14:33.4707918Z             },
2026-06-04T14:14:33.4708305Z             {
2026-06-04T14:14:33.4708894Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4709345Z               "line": 537
2026-06-04T14:14:33.4709734Z             },
2026-06-04T14:14:33.4710298Z             {
2026-06-04T14:14:33.4710931Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4711346Z               "line": 548
2026-06-04T14:14:33.4711878Z             },
2026-06-04T14:14:33.4712263Z             {
2026-06-04T14:14:33.4712866Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4713276Z               "line": 557
2026-06-04T14:14:33.4713670Z             },
2026-06-04T14:14:33.4714059Z             {
2026-06-04T14:14:33.4714667Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.4715084Z               "line": 90
2026-06-04T14:14:33.4715481Z             },
2026-06-04T14:14:33.4715876Z             {
2026-06-04T14:14:33.4716482Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.4716905Z               "line": 105
2026-06-04T14:14:33.4717303Z             },
2026-06-04T14:14:33.4717691Z             {
2026-06-04T14:14:33.4718308Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T14:14:33.4718719Z               "line": 131
2026-06-04T14:14:33.4719121Z             }
2026-06-04T14:14:33.4719606Z           ]
2026-06-04T14:14:33.4720023Z         }
2026-06-04T14:14:33.4720418Z       }
2026-06-04T14:14:33.4720804Z     },
2026-06-04T14:14:33.4721196Z     {
2026-06-04T14:14:33.4721617Z       "id": "REQ-INST-8",
2026-06-04T14:14:33.4722387Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T14:14:33.4722823Z       "requiredStages": [
2026-06-04T14:14:33.4723223Z         "impl",
2026-06-04T14:14:33.4723622Z         "unit"
2026-06-04T14:14:33.4724007Z       ],
2026-06-04T14:14:33.4724413Z       "stages": {
2026-06-04T14:14:33.4724804Z         "doc": {
2026-06-04T14:14:33.4725240Z           "complete": false,
2026-06-04T14:14:33.4725658Z           "evidence": []
2026-06-04T14:14:33.4726052Z         },
2026-06-04T14:14:33.4726450Z         "impl": {
2026-06-04T14:14:33.4726875Z           "complete": true,
2026-06-04T14:14:33.4727309Z           "evidence": [
2026-06-04T14:14:33.4727697Z             {
2026-06-04T14:14:33.4728277Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T14:14:33.4728690Z               "line": 98
2026-06-04T14:14:33.4729084Z             },
2026-06-04T14:14:33.4729509Z             {
2026-06-04T14:14:33.4730078Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T14:14:33.4730499Z               "line": 202
2026-06-04T14:14:33.4730884Z             },
2026-06-04T14:14:33.4731275Z             {
2026-06-04T14:14:33.4731845Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T14:14:33.4732260Z               "line": 220
2026-06-04T14:14:33.4732655Z             },
2026-06-04T14:14:33.4733039Z             {
2026-06-04T14:14:33.4733617Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T14:14:33.4734022Z               "line": 35
2026-06-04T14:14:33.4734413Z             }
2026-06-04T14:14:33.4734806Z           ]
2026-06-04T14:14:33.4735190Z         },
2026-06-04T14:14:33.4735593Z         "int": {
2026-06-04T14:14:33.4736021Z           "complete": true,
2026-06-04T14:14:33.4736444Z           "evidence": [
2026-06-04T14:14:33.4736835Z             {
2026-06-04T14:14:33.4740643Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.4741203Z               "line": 375
2026-06-04T14:14:33.4741657Z             },
2026-06-04T14:14:33.4742050Z             {
2026-06-04T14:14:33.4742665Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.4743085Z               "line": 688
2026-06-04T14:14:33.4743470Z             }
2026-06-04T14:14:33.4743862Z           ]
2026-06-04T14:14:33.4744257Z         },
2026-06-04T14:14:33.4744649Z         "unit": {
2026-06-04T14:14:33.4745081Z           "complete": true,
2026-06-04T14:14:33.4745505Z           "evidence": [
2026-06-04T14:14:33.4745892Z             {
2026-06-04T14:14:33.4746475Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T14:14:33.4747161Z               "line": 172
2026-06-04T14:14:33.4747587Z             },
2026-06-04T14:14:33.4747972Z             {
2026-06-04T14:14:33.4748563Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T14:14:33.4749114Z               "line": 226
2026-06-04T14:14:33.4749581Z             },
2026-06-04T14:14:33.4749970Z             {
2026-06-04T14:14:33.4750559Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T14:14:33.4750984Z               "line": 70
2026-06-04T14:14:33.4751372Z             },
2026-06-04T14:14:33.4751760Z             {
2026-06-04T14:14:33.4752332Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T14:14:33.4752747Z               "line": 101
2026-06-04T14:14:33.4753130Z             }
2026-06-04T14:14:33.4753526Z           ]
2026-06-04T14:14:33.4753915Z         }
2026-06-04T14:14:33.4754296Z       }
2026-06-04T14:14:33.4754691Z     },
2026-06-04T14:14:33.4755129Z     {
2026-06-04T14:14:33.4755943Z       "id": "REQ-INST-9",
2026-06-04T14:14:33.4757258Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T14:14:33.4757835Z       "requiredStages": [
2026-06-04T14:14:33.4758412Z         "impl",
2026-06-04T14:14:33.4758827Z         "unit"
2026-06-04T14:14:33.4759295Z       ],
2026-06-04T14:14:33.4759708Z       "stages": {
2026-06-04T14:14:33.4760108Z         "doc": {
2026-06-04T14:14:33.4760545Z           "complete": false,
2026-06-04T14:14:33.4760974Z           "evidence": []
2026-06-04T14:14:33.4761367Z         },
2026-06-04T14:14:33.4761767Z         "impl": {
2026-06-04T14:14:33.4762204Z           "complete": true,
2026-06-04T14:14:33.4762620Z           "evidence": [
2026-06-04T14:14:33.4763009Z             {
2026-06-04T14:14:33.4763615Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4764039Z               "line": 253
2026-06-04T14:14:33.4764460Z             }
2026-06-04T14:14:33.4765313Z           ]
2026-06-04T14:14:33.4765761Z         },
2026-06-04T14:14:33.4766330Z         "int": {
2026-06-04T14:14:33.4766799Z           "complete": false,
2026-06-04T14:14:33.4767229Z           "evidence": []
2026-06-04T14:14:33.4767629Z         },
2026-06-04T14:14:33.4768496Z         "unit": {
2026-06-04T14:14:33.4768972Z           "complete": true,
2026-06-04T14:14:33.4769614Z           "evidence": [
2026-06-04T14:14:33.4770017Z             {
2026-06-04T14:14:33.4770634Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4771056Z               "line": 776
2026-06-04T14:14:33.4771455Z             },
2026-06-04T14:14:33.4771851Z             {
2026-06-04T14:14:33.4772451Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4772871Z               "line": 785
2026-06-04T14:14:33.4773263Z             },
2026-06-04T14:14:33.4773660Z             {
2026-06-04T14:14:33.4774255Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4774683Z               "line": 799
2026-06-04T14:14:33.4775079Z             },
2026-06-04T14:14:33.4775468Z             {
2026-06-04T14:14:33.4776069Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4776487Z               "line": 809
2026-06-04T14:14:33.4776898Z             },
2026-06-04T14:14:33.4777287Z             {
2026-06-04T14:14:33.4777885Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T14:14:33.4778318Z               "line": 828
2026-06-04T14:14:33.4778712Z             }
2026-06-04T14:14:33.4779105Z           ]
2026-06-04T14:14:33.4779534Z         }
2026-06-04T14:14:33.4780393Z       }
2026-06-04T14:14:33.4780818Z     },
2026-06-04T14:14:33.4781384Z     {
2026-06-04T14:14:33.4781841Z       "id": "REQ-INSTALL-1",
2026-06-04T14:14:33.4782851Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T14:14:33.4783753Z       "requiredStages": [],
2026-06-04T14:14:33.4784207Z       "stages": {
2026-06-04T14:14:33.4784777Z         "doc": {
2026-06-04T14:14:33.4785216Z           "complete": false,
2026-06-04T14:14:33.4785931Z           "evidence": []
2026-06-04T14:14:33.4786369Z         },
2026-06-04T14:14:33.4787068Z         "impl": {
2026-06-04T14:14:33.4787725Z           "complete": false,
2026-06-04T14:14:33.4788462Z           "evidence": []
2026-06-04T14:14:33.4788856Z         },
2026-06-04T14:14:33.4789277Z         "int": {
2026-06-04T14:14:33.4789730Z           "complete": false,
2026-06-04T14:14:33.4790163Z           "evidence": []
2026-06-04T14:14:33.4790555Z         },
2026-06-04T14:14:33.4790960Z         "unit": {
2026-06-04T14:14:33.4791403Z           "complete": false,
2026-06-04T14:14:33.4791834Z           "evidence": []
2026-06-04T14:14:33.4792236Z         }
2026-06-04T14:14:33.4792635Z       }
2026-06-04T14:14:33.4793026Z     },
2026-06-04T14:14:33.4793407Z     {
2026-06-04T14:14:33.4793848Z       "id": "REQ-INSTALL-2",
2026-06-04T14:14:33.4794526Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T14:14:33.4794988Z       "requiredStages": [],
2026-06-04T14:14:33.4795387Z       "stages": {
2026-06-04T14:14:33.4795804Z         "doc": {
2026-06-04T14:14:33.4796254Z           "complete": false,
2026-06-04T14:14:33.4796674Z           "evidence": []
2026-06-04T14:14:33.4797080Z         },
2026-06-04T14:14:33.4797483Z         "impl": {
2026-06-04T14:14:33.4797927Z           "complete": false,
2026-06-04T14:14:33.4798341Z           "evidence": []
2026-06-04T14:14:33.4798741Z         },
2026-06-04T14:14:33.4799145Z         "int": {
2026-06-04T14:14:33.4799623Z           "complete": false,
2026-06-04T14:14:33.4800051Z           "evidence": []
2026-06-04T14:14:33.4800443Z         },
2026-06-04T14:14:33.4800849Z         "unit": {
2026-06-04T14:14:33.4801283Z           "complete": false,
2026-06-04T14:14:33.4801714Z           "evidence": []
2026-06-04T14:14:33.4802108Z         }
2026-06-04T14:14:33.4802495Z       }
2026-06-04T14:14:33.4802887Z     },
2026-06-04T14:14:33.4803262Z     {
2026-06-04T14:14:33.4803708Z       "id": "REQ-INSTALL-3",
2026-06-04T14:14:33.4804431Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T14:14:33.4804887Z       "requiredStages": [],
2026-06-04T14:14:33.4805294Z       "stages": {
2026-06-04T14:14:33.4805683Z         "doc": {
2026-06-04T14:14:33.4806137Z           "complete": false,
2026-06-04T14:14:33.4806557Z           "evidence": []
2026-06-04T14:14:33.4806955Z         },
2026-06-04T14:14:33.4807359Z         "impl": {
2026-06-04T14:14:33.4807806Z           "complete": false,
2026-06-04T14:14:33.4808230Z           "evidence": []
2026-06-04T14:14:33.4808615Z         },
2026-06-04T14:14:33.4809021Z         "int": {
2026-06-04T14:14:33.4809489Z           "complete": false,
2026-06-04T14:14:33.4809917Z           "evidence": []
2026-06-04T14:14:33.4810313Z         },
2026-06-04T14:14:33.4810721Z         "unit": {
2026-06-04T14:14:33.4811171Z           "complete": false,
2026-06-04T14:14:33.4811600Z           "evidence": []
2026-06-04T14:14:33.4811994Z         }
2026-06-04T14:14:33.4812373Z       }
2026-06-04T14:14:33.4812762Z     },
2026-06-04T14:14:33.4813146Z     {
2026-06-04T14:14:33.4813609Z       "id": "REQ-INSTALL-4",
2026-06-04T14:14:33.4817368Z       "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-04T14:14:33.4817832Z       "requiredStages": [],
2026-06-04T14:14:33.4818241Z       "stages": {
2026-06-04T14:14:33.4818634Z         "doc": {
2026-06-04T14:14:33.4819082Z           "complete": false,
2026-06-04T14:14:33.4819535Z           "evidence": []
2026-06-04T14:14:33.4819939Z         },
2026-06-04T14:14:33.4824633Z         "impl": {
2026-06-04T14:14:33.4825228Z           "complete": false,
2026-06-04T14:14:33.4825668Z           "evidence": []
2026-06-04T14:14:33.4826055Z         },
2026-06-04T14:14:33.4826459Z         "int": {
2026-06-04T14:14:33.4826889Z           "complete": false,
2026-06-04T14:14:33.4827314Z           "evidence": []
2026-06-04T14:14:33.4827713Z         },
2026-06-04T14:14:33.4828369Z         "unit": {
2026-06-04T14:14:33.4828843Z           "complete": false,
2026-06-04T14:14:33.4829346Z           "evidence": []
2026-06-04T14:14:33.4829885Z         }
2026-06-04T14:14:33.4830270Z       }
2026-06-04T14:14:33.4830659Z     },
2026-06-04T14:14:33.4831045Z     {
2026-06-04T14:14:33.4831495Z       "id": "REQ-MANIFEST-1",
2026-06-04T14:14:33.4832483Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T14:14:33.4832921Z       "requiredStages": [
2026-06-04T14:14:33.4833320Z         "doc",
2026-06-04T14:14:33.4833716Z         "impl",
2026-06-04T14:14:33.4834116Z         "unit"
2026-06-04T14:14:33.4834512Z       ],
2026-06-04T14:14:33.4834915Z       "stages": {
2026-06-04T14:14:33.4835322Z         "doc": {
2026-06-04T14:14:33.4835753Z           "complete": true,
2026-06-04T14:14:33.4836186Z           "evidence": [
2026-06-04T14:14:33.4836573Z             {
2026-06-04T14:14:33.4837052Z               "path": "docs/MANIFEST.md",
2026-06-04T14:14:33.4837481Z               "line": 19
2026-06-04T14:14:33.4837870Z             }
2026-06-04T14:14:33.4838261Z           ]
2026-06-04T14:14:33.4838661Z         },
2026-06-04T14:14:33.4839065Z         "impl": {
2026-06-04T14:14:33.4839535Z           "complete": true,
2026-06-04T14:14:33.4839956Z           "evidence": [
2026-06-04T14:14:33.4840354Z             {
2026-06-04T14:14:33.4840950Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4841367Z               "line": 18
2026-06-04T14:14:33.4841759Z             }
2026-06-04T14:14:33.4842147Z           ]
2026-06-04T14:14:33.4842532Z         },
2026-06-04T14:14:33.4842937Z         "int": {
2026-06-04T14:14:33.4843375Z           "complete": false,
2026-06-04T14:14:33.4843789Z           "evidence": []
2026-06-04T14:14:33.4844184Z         },
2026-06-04T14:14:33.4844585Z         "unit": {
2026-06-04T14:14:33.4845019Z           "complete": true,
2026-06-04T14:14:33.4845433Z           "evidence": [
2026-06-04T14:14:33.4845834Z             {
2026-06-04T14:14:33.4846439Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4846855Z               "line": 706
2026-06-04T14:14:33.4847257Z             },
2026-06-04T14:14:33.4847642Z             {
2026-06-04T14:14:33.4848249Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4848666Z               "line": 802
2026-06-04T14:14:33.4849068Z             },
2026-06-04T14:14:33.4849496Z             {
2026-06-04T14:14:33.4850096Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4850512Z               "line": 814
2026-06-04T14:14:33.4850903Z             },
2026-06-04T14:14:33.4851296Z             {
2026-06-04T14:14:33.4851894Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4852320Z               "line": 822
2026-06-04T14:14:33.4852719Z             },
2026-06-04T14:14:33.4853106Z             {
2026-06-04T14:14:33.4853715Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4854132Z               "line": 839
2026-06-04T14:14:33.4854533Z             },
2026-06-04T14:14:33.4854921Z             {
2026-06-04T14:14:33.4855533Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4855964Z               "line": 853
2026-06-04T14:14:33.4856352Z             },
2026-06-04T14:14:33.4856746Z             {
2026-06-04T14:14:33.4857343Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4857766Z               "line": 868
2026-06-04T14:14:33.4858161Z             },
2026-06-04T14:14:33.4858551Z             {
2026-06-04T14:14:33.4859189Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4859608Z               "line": 883
2026-06-04T14:14:33.4860005Z             },
2026-06-04T14:14:33.4860395Z             {
2026-06-04T14:14:33.4861001Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4861421Z               "line": 898
2026-06-04T14:14:33.4861807Z             },
2026-06-04T14:14:33.4862347Z             {
2026-06-04T14:14:33.4862964Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.4863513Z               "line": 909
2026-06-04T14:14:33.4863901Z             }
2026-06-04T14:14:33.4864299Z           ]
2026-06-04T14:14:33.4864690Z         }
2026-06-04T14:14:33.4865076Z       }
2026-06-04T14:14:33.4865464Z     },
2026-06-04T14:14:33.4865841Z     {
2026-06-04T14:14:33.4866288Z       "id": "REQ-MIGRATE-1",
2026-06-04T14:14:33.4867151Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T14:14:33.4867610Z       "requiredStages": [],
2026-06-04T14:14:33.4868014Z       "stages": {
2026-06-04T14:14:33.4868403Z         "doc": {
2026-06-04T14:14:33.4868847Z           "complete": false,
2026-06-04T14:14:33.4869298Z           "evidence": []
2026-06-04T14:14:33.4869690Z         },
2026-06-04T14:14:33.4870091Z         "impl": {
2026-06-04T14:14:33.4870539Z           "complete": false,
2026-06-04T14:14:33.4870974Z           "evidence": []
2026-06-04T14:14:33.4871370Z         },
2026-06-04T14:14:33.4871775Z         "int": {
2026-06-04T14:14:33.4872207Z           "complete": false,
2026-06-04T14:14:33.4872637Z           "evidence": []
2026-06-04T14:14:33.4873026Z         },
2026-06-04T14:14:33.4873431Z         "unit": {
2026-06-04T14:14:33.4873875Z           "complete": false,
2026-06-04T14:14:33.4874291Z           "evidence": []
2026-06-04T14:14:33.4874686Z         }
2026-06-04T14:14:33.4875071Z       }
2026-06-04T14:14:33.4875458Z     },
2026-06-04T14:14:33.4875834Z     {
2026-06-04T14:14:33.4876279Z       "id": "REQ-MSG-1",
2026-06-04T14:14:33.4878839Z       "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-04T14:14:33.4879309Z       "requiredStages": [
2026-06-04T14:14:33.4879715Z         "impl",
2026-06-04T14:14:33.4880105Z         "unit",
2026-06-04T14:14:33.4880508Z         "int"
2026-06-04T14:14:33.4880899Z       ],
2026-06-04T14:14:33.4881311Z       "stages": {
2026-06-04T14:14:33.4881712Z         "doc": {
2026-06-04T14:14:33.4882148Z           "complete": false,
2026-06-04T14:14:33.4882582Z           "evidence": []
2026-06-04T14:14:33.4882968Z         },
2026-06-04T14:14:33.4883369Z         "impl": {
2026-06-04T14:14:33.4883796Z           "complete": true,
2026-06-04T14:14:33.4884214Z           "evidence": [
2026-06-04T14:14:33.4884609Z             {
2026-06-04T14:14:33.4885163Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4885576Z               "line": 28
2026-06-04T14:14:33.4885963Z             },
2026-06-04T14:14:33.4886355Z             {
2026-06-04T14:14:33.4886903Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4887322Z               "line": 94
2026-06-04T14:14:33.4887721Z             },
2026-06-04T14:14:33.4888104Z             {
2026-06-04T14:14:33.4888670Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4889092Z               "line": 127
2026-06-04T14:14:33.4889515Z             },
2026-06-04T14:14:33.4889901Z             {
2026-06-04T14:14:33.4890463Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4890895Z               "line": 149
2026-06-04T14:14:33.4891279Z             },
2026-06-04T14:14:33.4891672Z             {
2026-06-04T14:14:33.4892227Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4892652Z               "line": 174
2026-06-04T14:14:33.4893038Z             },
2026-06-04T14:14:33.4893431Z             {
2026-06-04T14:14:33.4893993Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T14:14:33.4894404Z               "line": 18
2026-06-04T14:14:33.4894797Z             },
2026-06-04T14:14:33.4895183Z             {
2026-06-04T14:14:33.4895714Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.4896120Z               "line": 13
2026-06-04T14:14:33.4896523Z             },
2026-06-04T14:14:33.4896918Z             {
2026-06-04T14:14:33.4897578Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.4898012Z               "line": 61
2026-06-04T14:14:33.4898561Z             },
2026-06-04T14:14:33.4902402Z             {
2026-06-04T14:14:33.4903020Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T14:14:33.4903443Z               "line": 10
2026-06-04T14:14:33.4903834Z             }
2026-06-04T14:14:33.4904221Z           ]
2026-06-04T14:14:33.4904612Z         },
2026-06-04T14:14:33.4905004Z         "int": {
2026-06-04T14:14:33.4905443Z           "complete": true,
2026-06-04T14:14:33.4905852Z           "evidence": [
2026-06-04T14:14:33.4906249Z             {
2026-06-04T14:14:33.4906935Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T14:14:33.4907333Z               "line": 9
2026-06-04T14:14:33.4907725Z             },
2026-06-04T14:14:33.4908110Z             {
2026-06-04T14:14:33.4908781Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T14:14:33.4909280Z               "line": 66
2026-06-04T14:14:33.4909686Z             },
2026-06-04T14:14:33.4910079Z             {
2026-06-04T14:14:33.4910762Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T14:14:33.4911178Z               "line": 116
2026-06-04T14:14:33.4911565Z             }
2026-06-04T14:14:33.4911972Z           ]
2026-06-04T14:14:33.4912368Z         },
2026-06-04T14:14:33.4912764Z         "unit": {
2026-06-04T14:14:33.4913199Z           "complete": true,
2026-06-04T14:14:33.4913612Z           "evidence": [
2026-06-04T14:14:33.4914001Z             {
2026-06-04T14:14:33.4914547Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4914969Z               "line": 203
2026-06-04T14:14:33.4915363Z             },
2026-06-04T14:14:33.4915750Z             {
2026-06-04T14:14:33.4916297Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4916707Z               "line": 232
2026-06-04T14:14:33.4917098Z             },
2026-06-04T14:14:33.4917489Z             {
2026-06-04T14:14:33.4918044Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4918464Z               "line": 277
2026-06-04T14:14:33.4918859Z             },
2026-06-04T14:14:33.4919305Z             {
2026-06-04T14:14:33.4919871Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4920321Z               "line": 300
2026-06-04T14:14:33.4920707Z             },
2026-06-04T14:14:33.4921099Z             {
2026-06-04T14:14:33.4921656Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T14:14:33.4922064Z               "line": 322
2026-06-04T14:14:33.4922460Z             },
2026-06-04T14:14:33.4922846Z             {
2026-06-04T14:14:33.4923410Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T14:14:33.4923822Z               "line": 203
2026-06-04T14:14:33.4924215Z             },
2026-06-04T14:14:33.4924607Z             {
2026-06-04T14:14:33.4925157Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T14:14:33.4925593Z               "line": 233
2026-06-04T14:14:33.4925982Z             },
2026-06-04T14:14:33.4926373Z             {
2026-06-04T14:14:33.4926937Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T14:14:33.4927356Z               "line": 247
2026-06-04T14:14:33.4927745Z             },
2026-06-04T14:14:33.4928133Z             {
2026-06-04T14:14:33.4928690Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T14:14:33.4929101Z               "line": 259
2026-06-04T14:14:33.4929539Z             },
2026-06-04T14:14:33.4929926Z             {
2026-06-04T14:14:33.4930455Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.4930879Z               "line": 158
2026-06-04T14:14:33.4931262Z             },
2026-06-04T14:14:33.4931662Z             {
2026-06-04T14:14:33.4932187Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T14:14:33.4932607Z               "line": 235
2026-06-04T14:14:33.4932988Z             },
2026-06-04T14:14:33.4933597Z             {
2026-06-04T14:14:33.4934152Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T14:14:33.4934561Z               "line": 68
2026-06-04T14:14:33.4935081Z             },
2026-06-04T14:14:33.4935465Z             {
2026-06-04T14:14:33.4936009Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T14:14:33.4936422Z               "line": 74
2026-06-04T14:14:33.4936819Z             },
2026-06-04T14:14:33.4937213Z             {
2026-06-04T14:14:33.4937733Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T14:14:33.4938143Z               "line": 80
2026-06-04T14:14:33.4938531Z             },
2026-06-04T14:14:33.4938923Z             {
2026-06-04T14:14:33.4939481Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T14:14:33.4939901Z               "line": 99
2026-06-04T14:14:33.4940295Z             }
2026-06-04T14:14:33.4940679Z           ]
2026-06-04T14:14:33.4941077Z         }
2026-06-04T14:14:33.4941460Z       }
2026-06-04T14:14:33.4941851Z     },
2026-06-04T14:14:33.4942242Z     {
2026-06-04T14:14:33.4942669Z       "id": "REQ-MSG-2",
2026-06-04T14:14:33.4944079Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T14:14:33.4944538Z       "requiredStages": [
2026-06-04T14:14:33.4944938Z         "impl",
2026-06-04T14:14:33.4945328Z         "unit"
2026-06-04T14:14:33.4945715Z       ],
2026-06-04T14:14:33.4946114Z       "stages": {
2026-06-04T14:14:33.4946514Z         "doc": {
2026-06-04T14:14:33.4946951Z           "complete": false,
2026-06-04T14:14:33.4947363Z           "evidence": []
2026-06-04T14:14:33.4947760Z         },
2026-06-04T14:14:33.4948150Z         "impl": {
2026-06-04T14:14:33.4948584Z           "complete": true,
2026-06-04T14:14:33.4948996Z           "evidence": [
2026-06-04T14:14:33.4949434Z             {
2026-06-04T14:14:33.4949938Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4950340Z               "line": 11
2026-06-04T14:14:33.4950734Z             },
2026-06-04T14:14:33.4951122Z             {
2026-06-04T14:14:33.4951638Z               "path": "crates/spt/src/main.rs",
2026-06-04T14:14:33.4952047Z               "line": 8
2026-06-04T14:14:33.4952443Z             }
2026-06-04T14:14:33.4952834Z           ]
2026-06-04T14:14:33.4953215Z         },
2026-06-04T14:14:33.4953611Z         "int": {
2026-06-04T14:14:33.4954043Z           "complete": false,
2026-06-04T14:14:33.4954464Z           "evidence": []
2026-06-04T14:14:33.4954845Z         },
2026-06-04T14:14:33.4955250Z         "unit": {
2026-06-04T14:14:33.4955678Z           "complete": true,
2026-06-04T14:14:33.4956094Z           "evidence": [
2026-06-04T14:14:33.4956489Z             {
2026-06-04T14:14:33.4956984Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4957413Z               "line": 1389
2026-06-04T14:14:33.4957796Z             },
2026-06-04T14:14:33.4958190Z             {
2026-06-04T14:14:33.4958697Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4959120Z               "line": 1529
2026-06-04T14:14:33.4959545Z             },
2026-06-04T14:14:33.4959930Z             {
2026-06-04T14:14:33.4960437Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4960866Z               "line": 1538
2026-06-04T14:14:33.4961250Z             },
2026-06-04T14:14:33.4961637Z             {
2026-06-04T14:14:33.4962128Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.4962544Z               "line": 1550
2026-06-04T14:14:33.4962926Z             }
2026-06-04T14:14:33.4963323Z           ]
2026-06-04T14:14:33.4963714Z         }
2026-06-04T14:14:33.4964097Z       }
2026-06-04T14:14:33.4964486Z     },
2026-06-04T14:14:33.4964865Z     {
2026-06-04T14:14:33.4965290Z       "id": "REQ-MSG-3",
2026-06-04T14:14:33.4967390Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T14:14:33.4967836Z       "requiredStages": [
2026-06-04T14:14:33.4968372Z         "impl",
2026-06-04T14:14:33.4968788Z         "unit",
2026-06-04T14:14:33.4969223Z         "int"
2026-06-04T14:14:33.4969610Z       ],
2026-06-04T14:14:33.4970134Z       "stages": {
2026-06-04T14:14:33.4970524Z         "doc": {
2026-06-04T14:14:33.4970961Z           "complete": false,
2026-06-04T14:14:33.4971385Z           "evidence": []
2026-06-04T14:14:33.4971764Z         },
2026-06-04T14:14:33.4972164Z         "impl": {
2026-06-04T14:14:33.4972589Z           "complete": true,
2026-06-04T14:14:33.4973006Z           "evidence": [
2026-06-04T14:14:33.4973390Z             {
2026-06-04T14:14:33.4973961Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T14:14:33.4974388Z               "line": 19
2026-06-04T14:14:33.4974775Z             },
2026-06-04T14:14:33.4978298Z             {
2026-06-04T14:14:33.4978916Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4979418Z               "line": 21
2026-06-04T14:14:33.4979814Z             },
2026-06-04T14:14:33.4980207Z             {
2026-06-04T14:14:33.4980775Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4981191Z               "line": 48
2026-06-04T14:14:33.4981600Z             },
2026-06-04T14:14:33.4981989Z             {
2026-06-04T14:14:33.4982520Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4982936Z               "line": 131
2026-06-04T14:14:33.4983327Z             }
2026-06-04T14:14:33.4983717Z           ]
2026-06-04T14:14:33.4984100Z         },
2026-06-04T14:14:33.4984492Z         "int": {
2026-06-04T14:14:33.4984916Z           "complete": true,
2026-06-04T14:14:33.4985329Z           "evidence": [
2026-06-04T14:14:33.4985715Z             {
2026-06-04T14:14:33.4986394Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T14:14:33.4986810Z               "line": 10
2026-06-04T14:14:33.4987197Z             },
2026-06-04T14:14:33.4987590Z             {
2026-06-04T14:14:33.4988256Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T14:14:33.4988683Z               "line": 66
2026-06-04T14:14:33.4989071Z             }
2026-06-04T14:14:33.4989499Z           ]
2026-06-04T14:14:33.4989904Z         },
2026-06-04T14:14:33.4990306Z         "unit": {
2026-06-04T14:14:33.4990738Z           "complete": true,
2026-06-04T14:14:33.4991151Z           "evidence": [
2026-06-04T14:14:33.4991549Z             {
2026-06-04T14:14:33.4992078Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4992502Z               "line": 185
2026-06-04T14:14:33.4992891Z             },
2026-06-04T14:14:33.4993269Z             {
2026-06-04T14:14:33.4993805Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4994213Z               "line": 204
2026-06-04T14:14:33.4994602Z             },
2026-06-04T14:14:33.4994986Z             {
2026-06-04T14:14:33.4995518Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T14:14:33.4995939Z               "line": 223
2026-06-04T14:14:33.4996327Z             }
2026-06-04T14:14:33.4996729Z           ]
2026-06-04T14:14:33.4997110Z         }
2026-06-04T14:14:33.4997497Z       }
2026-06-04T14:14:33.4997877Z     },
2026-06-04T14:14:33.4998262Z     {
2026-06-04T14:14:33.4998696Z       "id": "REQ-NET-1",
2026-06-04T14:14:33.4999660Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T14:14:33.5000114Z       "requiredStages": [
2026-06-04T14:14:33.5000509Z         "impl",
2026-06-04T14:14:33.5000902Z         "unit"
2026-06-04T14:14:33.5001287Z       ],
2026-06-04T14:14:33.5001697Z       "stages": {
2026-06-04T14:14:33.5002098Z         "doc": {
2026-06-04T14:14:33.5002535Z           "complete": false,
2026-06-04T14:14:33.5002955Z           "evidence": []
2026-06-04T14:14:33.5003335Z         },
2026-06-04T14:14:33.5003735Z         "impl": {
2026-06-04T14:14:33.5004159Z           "complete": true,
2026-06-04T14:14:33.5004578Z           "evidence": [
2026-06-04T14:14:33.5004968Z             {
2026-06-04T14:14:33.5005772Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.5006204Z               "line": 52
2026-06-04T14:14:33.5006593Z             },
2026-06-04T14:14:33.5006991Z             {
2026-06-04T14:14:33.5007716Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.5008141Z               "line": 448
2026-06-04T14:14:33.5008543Z             },
2026-06-04T14:14:33.5008930Z             {
2026-06-04T14:14:33.5009519Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T14:14:33.5009925Z               "line": 69
2026-06-04T14:14:33.5010316Z             },
2026-06-04T14:14:33.5010696Z             {
2026-06-04T14:14:33.5011298Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5011720Z               "line": 65
2026-06-04T14:14:33.5012107Z             },
2026-06-04T14:14:33.5012495Z             {
2026-06-04T14:14:33.5013082Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5013501Z               "line": 127
2026-06-04T14:14:33.5013897Z             },
2026-06-04T14:14:33.5014292Z             {
2026-06-04T14:14:33.5014882Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5015305Z               "line": 143
2026-06-04T14:14:33.5015704Z             },
2026-06-04T14:14:33.5016085Z             {
2026-06-04T14:14:33.5016677Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5017091Z               "line": 158
2026-06-04T14:14:33.5017488Z             },
2026-06-04T14:14:33.5017883Z             {
2026-06-04T14:14:33.5018466Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5018881Z               "line": 220
2026-06-04T14:14:33.5019305Z             },
2026-06-04T14:14:33.5019702Z             {
2026-06-04T14:14:33.5020300Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5020711Z               "line": 255
2026-06-04T14:14:33.5021099Z             },
2026-06-04T14:14:33.5021482Z             {
2026-06-04T14:14:33.5022077Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5022490Z               "line": 261
2026-06-04T14:14:33.5022886Z             },
2026-06-04T14:14:33.5023283Z             {
2026-06-04T14:14:33.5023869Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5024292Z               "line": 267
2026-06-04T14:14:33.5024682Z             },
2026-06-04T14:14:33.5025074Z             {
2026-06-04T14:14:33.5025658Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5026075Z               "line": 283
2026-06-04T14:14:33.5026465Z             },
2026-06-04T14:14:33.5026848Z             {
2026-06-04T14:14:33.5027435Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5027845Z               "line": 303
2026-06-04T14:14:33.5028234Z             },
2026-06-04T14:14:33.5028619Z             {
2026-06-04T14:14:33.5029231Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T14:14:33.5029645Z               "line": 35
2026-06-04T14:14:33.5030042Z             },
2026-06-04T14:14:33.5030434Z             {
2026-06-04T14:14:33.5031003Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T14:14:33.5031422Z               "line": 82
2026-06-04T14:14:33.5031806Z             },
2026-06-04T14:14:33.5032198Z             {
2026-06-04T14:14:33.5032752Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.5033160Z               "line": 129
2026-06-04T14:14:33.5033559Z             },
2026-06-04T14:14:33.5033941Z             {
2026-06-04T14:14:33.5034441Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5034853Z               "line": 880
2026-06-04T14:14:33.5035247Z             },
2026-06-04T14:14:33.5035638Z             {
2026-06-04T14:14:33.5036155Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T14:14:33.5036566Z               "line": 17
2026-06-04T14:14:33.5036951Z             }
2026-06-04T14:14:33.5037344Z           ]
2026-06-04T14:14:33.5037722Z         },
2026-06-04T14:14:33.5038250Z         "int": {
2026-06-04T14:14:33.5038699Z           "complete": true,
2026-06-04T14:14:33.5039111Z           "evidence": [
2026-06-04T14:14:33.5039737Z             {
2026-06-04T14:14:33.5040358Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.5040775Z               "line": 314
2026-06-04T14:14:33.5041161Z             },
2026-06-04T14:14:33.5041551Z             {
2026-06-04T14:14:33.5042150Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5042565Z               "line": 488
2026-06-04T14:14:33.5042957Z             },
2026-06-04T14:14:33.5043339Z             {
2026-06-04T14:14:33.5043932Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5044357Z               "line": 645
2026-06-04T14:14:33.5044742Z             }
2026-06-04T14:14:33.5045126Z           ]
2026-06-04T14:14:33.5045505Z         },
2026-06-04T14:14:33.5045902Z         "unit": {
2026-06-04T14:14:33.5046328Z           "complete": true,
2026-06-04T14:14:33.5046759Z           "evidence": [
2026-06-04T14:14:33.5047146Z             {
2026-06-04T14:14:33.5047740Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.5048164Z               "line": 500
2026-06-04T14:14:33.5048554Z             },
2026-06-04T14:14:33.5048948Z             {
2026-06-04T14:14:33.5049577Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.5050004Z               "line": 529
2026-06-04T14:14:33.5053522Z             },
2026-06-04T14:14:33.5053989Z             {
2026-06-04T14:14:33.5054622Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.5055038Z               "line": 517
2026-06-04T14:14:33.5055432Z             },
2026-06-04T14:14:33.5055814Z             {
2026-06-04T14:14:33.5056414Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T14:14:33.5056833Z               "line": 142
2026-06-04T14:14:33.5057226Z             },
2026-06-04T14:14:33.5057615Z             {
2026-06-04T14:14:33.5058228Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5058651Z               "line": 357
2026-06-04T14:14:33.5059044Z             },
2026-06-04T14:14:33.5059515Z             {
2026-06-04T14:14:33.5060109Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5060522Z               "line": 371
2026-06-04T14:14:33.5060913Z             },
2026-06-04T14:14:33.5061297Z             {
2026-06-04T14:14:33.5061898Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5062316Z               "line": 390
2026-06-04T14:14:33.5062714Z             },
2026-06-04T14:14:33.5063109Z             {
2026-06-04T14:14:33.5063688Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T14:14:33.5064111Z               "line": 106
2026-06-04T14:14:33.5064502Z             },
2026-06-04T14:14:33.5064896Z             {
2026-06-04T14:14:33.5065476Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T14:14:33.5065902Z               "line": 148
2026-06-04T14:14:33.5066298Z             },
2026-06-04T14:14:33.5066684Z             {
2026-06-04T14:14:33.5067240Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T14:14:33.5067661Z               "line": 445
2026-06-04T14:14:33.5068060Z             },
2026-06-04T14:14:33.5068442Z             {
2026-06-04T14:14:33.5068964Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T14:14:33.5069423Z               "line": 218
2026-06-04T14:14:33.5069809Z             },
2026-06-04T14:14:33.5070196Z             {
2026-06-04T14:14:33.5070718Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T14:14:33.5071136Z               "line": 306
2026-06-04T14:14:33.5071519Z             }
2026-06-04T14:14:33.5071916Z           ]
2026-06-04T14:14:33.5072306Z         }
2026-06-04T14:14:33.5072692Z       }
2026-06-04T14:14:33.5073076Z     },
2026-06-04T14:14:33.5073459Z     {
2026-06-04T14:14:33.5073880Z       "id": "REQ-NET-2",
2026-06-04T14:14:33.5074985Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T14:14:33.5075460Z       "requiredStages": [
2026-06-04T14:14:33.5075857Z         "impl"
2026-06-04T14:14:33.5076369Z       ],
2026-06-04T14:14:33.5076775Z       "stages": {
2026-06-04T14:14:33.5077169Z         "doc": {
2026-06-04T14:14:33.5077610Z           "complete": false,
2026-06-04T14:14:33.5078029Z           "evidence": []
2026-06-04T14:14:33.5078424Z         },
2026-06-04T14:14:33.5078823Z         "impl": {
2026-06-04T14:14:33.5079288Z           "complete": true,
2026-06-04T14:14:33.5079706Z           "evidence": [
2026-06-04T14:14:33.5080090Z             {
2026-06-04T14:14:33.5080673Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.5081077Z               "line": 49
2026-06-04T14:14:33.5081465Z             },
2026-06-04T14:14:33.5081861Z             {
2026-06-04T14:14:33.5082456Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5082871Z               "line": 39
2026-06-04T14:14:33.5083261Z             },
2026-06-04T14:14:33.5083660Z             {
2026-06-04T14:14:33.5084254Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5084684Z               "line": 49
2026-06-04T14:14:33.5085077Z             },
2026-06-04T14:14:33.5085460Z             {
2026-06-04T14:14:33.5086049Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5086458Z               "line": 127
2026-06-04T14:14:33.5086851Z             },
2026-06-04T14:14:33.5087247Z             {
2026-06-04T14:14:33.5087833Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5088250Z               "line": 143
2026-06-04T14:14:33.5088635Z             },
2026-06-04T14:14:33.5089028Z             {
2026-06-04T14:14:33.5089645Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T14:14:33.5090062Z               "line": 158
2026-06-04T14:14:33.5090451Z             }
2026-06-04T14:14:33.5090836Z           ]
2026-06-04T14:14:33.5091234Z         },
2026-06-04T14:14:33.5091625Z         "int": {
2026-06-04T14:14:33.5092062Z           "complete": false,
2026-06-04T14:14:33.5092484Z           "evidence": []
2026-06-04T14:14:33.5092881Z         },
2026-06-04T14:14:33.5093285Z         "unit": {
2026-06-04T14:14:33.5093713Z           "complete": true,
2026-06-04T14:14:33.5094128Z           "evidence": [
2026-06-04T14:14:33.5094507Z             {
2026-06-04T14:14:33.5095090Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.5095501Z               "line": 334
2026-06-04T14:14:33.5095891Z             }
2026-06-04T14:14:33.5096281Z           ]
2026-06-04T14:14:33.5096661Z         }
2026-06-04T14:14:33.5097051Z       }
2026-06-04T14:14:33.5097430Z     },
2026-06-04T14:14:33.5097815Z     {
2026-06-04T14:14:33.5098227Z       "id": "REQ-NET-3",
2026-06-04T14:14:33.5099190Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T14:14:33.5099708Z       "requiredStages": [
2026-06-04T14:14:33.5100184Z         "impl",
2026-06-04T14:14:33.5100591Z         "unit"
2026-06-04T14:14:33.5101030Z       ],
2026-06-04T14:14:33.5101458Z       "stages": {
2026-06-04T14:14:33.5101863Z         "doc": {
2026-06-04T14:14:33.5102305Z           "complete": false,
2026-06-04T14:14:33.5102728Z           "evidence": []
2026-06-04T14:14:33.5103113Z         },
2026-06-04T14:14:33.5103513Z         "impl": {
2026-06-04T14:14:33.5103937Z           "complete": true,
2026-06-04T14:14:33.5104359Z           "evidence": [
2026-06-04T14:14:33.5104746Z             {
2026-06-04T14:14:33.5105310Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.5105721Z               "line": 39
2026-06-04T14:14:33.5106106Z             },
2026-06-04T14:14:33.5106494Z             {
2026-06-04T14:14:33.5107034Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.5107453Z               "line": 159
2026-06-04T14:14:33.5107839Z             },
2026-06-04T14:14:33.5108229Z             {
2026-06-04T14:14:33.5108948Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T14:14:33.5109441Z               "line": 290
2026-06-04T14:14:33.5109854Z             },
2026-06-04T14:14:33.5110386Z             {
2026-06-04T14:14:33.5110950Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T14:14:33.5111356Z               "line": 36
2026-06-04T14:14:33.5111750Z             },
2026-06-04T14:14:33.5112148Z             {
2026-06-04T14:14:33.5112752Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5113219Z               "line": 135
2026-06-04T14:14:33.5113720Z             },
2026-06-04T14:14:33.5114145Z             {
2026-06-04T14:14:33.5114773Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5115197Z               "line": 172
2026-06-04T14:14:33.5115595Z             },
2026-06-04T14:14:33.5115975Z             {
2026-06-04T14:14:33.5116593Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5117019Z               "line": 184
2026-06-04T14:14:33.5117415Z             },
2026-06-04T14:14:33.5117799Z             {
2026-06-04T14:14:33.5118414Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5118851Z               "line": 222
2026-06-04T14:14:33.5119290Z             },
2026-06-04T14:14:33.5120045Z             {
2026-06-04T14:14:33.5120670Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5121101Z               "line": 237
2026-06-04T14:14:33.5121483Z             },
2026-06-04T14:14:33.5121872Z             {
2026-06-04T14:14:33.5122485Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5122897Z               "line": 273
2026-06-04T14:14:33.5123288Z             },
2026-06-04T14:14:33.5123667Z             {
2026-06-04T14:14:33.5124276Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5124687Z               "line": 314
2026-06-04T14:14:33.5125085Z             },
2026-06-04T14:14:33.5125477Z             {
2026-06-04T14:14:33.5126094Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.5126520Z               "line": 327
2026-06-04T14:14:33.5130629Z             },
2026-06-04T14:14:33.5131126Z             {
2026-06-04T14:14:33.5131730Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.5132155Z               "line": 29
2026-06-04T14:14:33.5132547Z             },
2026-06-04T14:14:33.5132931Z             {
2026-06-04T14:14:33.5133526Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.5133931Z               "line": 70
2026-06-04T14:14:33.5134326Z             },
2026-06-04T14:14:33.5134724Z             {
2026-06-04T14:14:33.5135307Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.5135730Z               "line": 121
2026-06-04T14:14:33.5136114Z             }
2026-06-04T14:14:33.5136505Z           ]
2026-06-04T14:14:33.5136888Z         },
2026-06-04T14:14:33.5137286Z         "int": {
2026-06-04T14:14:33.5137755Z           "complete": false,
2026-06-04T14:14:33.5138174Z           "evidence": []
2026-06-04T14:14:33.5138565Z         },
2026-06-04T14:14:33.5138970Z         "unit": {
2026-06-04T14:14:33.5139463Z           "complete": true,
2026-06-04T14:14:33.5139875Z           "evidence": [
2026-06-04T14:14:33.5140274Z             {
2026-06-04T14:14:33.5140856Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T14:14:33.5141271Z               "line": 203
2026-06-04T14:14:33.5141664Z             },
2026-06-04T14:14:33.5142045Z             {
2026-06-04T14:14:33.5142619Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T14:14:33.5143025Z               "line": 303
2026-06-04T14:14:33.5143416Z             },
2026-06-04T14:14:33.5143807Z             {
2026-06-04T14:14:33.5144377Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T14:14:33.5144796Z               "line": 399
2026-06-04T14:14:33.5145185Z             },
2026-06-04T14:14:33.5145577Z             {
2026-06-04T14:14:33.5146381Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T14:14:33.5146832Z               "line": 93
2026-06-04T14:14:33.5147368Z             },
2026-06-04T14:14:33.5147753Z             {
2026-06-04T14:14:33.5148313Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T14:14:33.5148728Z               "line": 131
2026-06-04T14:14:33.5149120Z             },
2026-06-04T14:14:33.5149553Z             {
2026-06-04T14:14:33.5150155Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.5150573Z               "line": 308
2026-06-04T14:14:33.5150958Z             },
2026-06-04T14:14:33.5151352Z             {
2026-06-04T14:14:33.5151938Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.5152360Z               "line": 345
2026-06-04T14:14:33.5152753Z             },
2026-06-04T14:14:33.5153147Z             {
2026-06-04T14:14:33.5153766Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T14:14:33.5154189Z               "line": 469
2026-06-04T14:14:33.5154588Z             }
2026-06-04T14:14:33.5154976Z           ]
2026-06-04T14:14:33.5155368Z         }
2026-06-04T14:14:33.5155761Z       }
2026-06-04T14:14:33.5156151Z     },
2026-06-04T14:14:33.5156544Z     {
2026-06-04T14:14:33.5156993Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T14:14:33.5158243Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T14:14:33.5158688Z       "requiredStages": [
2026-06-04T14:14:33.5159094Z         "impl",
2026-06-04T14:14:33.5159529Z         "unit"
2026-06-04T14:14:33.5159923Z       ],
2026-06-04T14:14:33.5160332Z       "stages": {
2026-06-04T14:14:33.5160720Z         "doc": {
2026-06-04T14:14:33.5161171Z           "complete": false,
2026-06-04T14:14:33.5161582Z           "evidence": []
2026-06-04T14:14:33.5161979Z         },
2026-06-04T14:14:33.5162375Z         "impl": {
2026-06-04T14:14:33.5162807Z           "complete": true,
2026-06-04T14:14:33.5163234Z           "evidence": [
2026-06-04T14:14:33.5163618Z             {
2026-06-04T14:14:33.5164206Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5164626Z               "line": 60
2026-06-04T14:14:33.5165031Z             },
2026-06-04T14:14:33.5165417Z             {
2026-06-04T14:14:33.5166006Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5166418Z               "line": 68
2026-06-04T14:14:33.5166802Z             },
2026-06-04T14:14:33.5167195Z             {
2026-06-04T14:14:33.5167777Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5168194Z               "line": 86
2026-06-04T14:14:33.5168590Z             },
2026-06-04T14:14:33.5168983Z             {
2026-06-04T14:14:33.5169615Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5170034Z               "line": 120
2026-06-04T14:14:33.5170429Z             },
2026-06-04T14:14:33.5170813Z             {
2026-06-04T14:14:33.5171407Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5171828Z               "line": 127
2026-06-04T14:14:33.5172217Z             },
2026-06-04T14:14:33.5172612Z             {
2026-06-04T14:14:33.5173206Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5173628Z               "line": 143
2026-06-04T14:14:33.5174014Z             },
2026-06-04T14:14:33.5174408Z             {
2026-06-04T14:14:33.5174973Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T14:14:33.5175387Z               "line": 16
2026-06-04T14:14:33.5175783Z             }
2026-06-04T14:14:33.5176167Z           ]
2026-06-04T14:14:33.5176559Z         },
2026-06-04T14:14:33.5176951Z         "int": {
2026-06-04T14:14:33.5177396Z           "complete": false,
2026-06-04T14:14:33.5177818Z           "evidence": []
2026-06-04T14:14:33.5178203Z         },
2026-06-04T14:14:33.5178595Z         "unit": {
2026-06-04T14:14:33.5179017Z           "complete": true,
2026-06-04T14:14:33.5179467Z           "evidence": [
2026-06-04T14:14:33.5180050Z             {
2026-06-04T14:14:33.5180666Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5181089Z               "line": 199
2026-06-04T14:14:33.5181599Z             },
2026-06-04T14:14:33.5181993Z             {
2026-06-04T14:14:33.5182578Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5183000Z               "line": 218
2026-06-04T14:14:33.5183386Z             },
2026-06-04T14:14:33.5183778Z             {
2026-06-04T14:14:33.5184361Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5184777Z               "line": 232
2026-06-04T14:14:33.5185171Z             },
2026-06-04T14:14:33.5185557Z             {
2026-06-04T14:14:33.5186141Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T14:14:33.5186557Z               "line": 248
2026-06-04T14:14:33.5186957Z             },
2026-06-04T14:14:33.5187343Z             {
2026-06-04T14:14:33.5187903Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T14:14:33.5188324Z               "line": 125
2026-06-04T14:14:33.5188709Z             },
2026-06-04T14:14:33.5189094Z             {
2026-06-04T14:14:33.5189693Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T14:14:33.5190113Z               "line": 141
2026-06-04T14:14:33.5190506Z             },
2026-06-04T14:14:33.5190889Z             {
2026-06-04T14:14:33.5191449Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T14:14:33.5191861Z               "line": 153
2026-06-04T14:14:33.5192251Z             }
2026-06-04T14:14:33.5192634Z           ]
2026-06-04T14:14:33.5193027Z         }
2026-06-04T14:14:33.5193417Z       }
2026-06-04T14:14:33.5193795Z     },
2026-06-04T14:14:33.5194178Z     {
2026-06-04T14:14:33.5194603Z       "id": "REQ-NOTIF-1",
2026-06-04T14:14:33.5196620Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T14:14:33.5197066Z       "requiredStages": [
2026-06-04T14:14:33.5197469Z         "impl",
2026-06-04T14:14:33.5197873Z         "unit"
2026-06-04T14:14:33.5198258Z       ],
2026-06-04T14:14:33.5198670Z       "stages": {
2026-06-04T14:14:33.5199055Z         "doc": {
2026-06-04T14:14:33.5199526Z           "complete": false,
2026-06-04T14:14:33.5199939Z           "evidence": []
2026-06-04T14:14:33.5200331Z         },
2026-06-04T14:14:33.5200732Z         "impl": {
2026-06-04T14:14:33.5201157Z           "complete": true,
2026-06-04T14:14:33.5201576Z           "evidence": [
2026-06-04T14:14:33.5201959Z             {
2026-06-04T14:14:33.5202566Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T14:14:33.5202978Z               "line": 412
2026-06-04T14:14:33.5203376Z             },
2026-06-04T14:14:33.5203777Z             {
2026-06-04T14:14:33.5207492Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5207996Z               "line": 30
2026-06-04T14:14:33.5208393Z             },
2026-06-04T14:14:33.5208808Z             {
2026-06-04T14:14:33.5209465Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5209895Z               "line": 62
2026-06-04T14:14:33.5210306Z             },
2026-06-04T14:14:33.5210688Z             {
2026-06-04T14:14:33.5211256Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5211662Z               "line": 83
2026-06-04T14:14:33.5212053Z             },
2026-06-04T14:14:33.5212446Z             {
2026-06-04T14:14:33.5213007Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5213421Z               "line": 97
2026-06-04T14:14:33.5213804Z             },
2026-06-04T14:14:33.5214197Z             {
2026-06-04T14:14:33.5214743Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5215161Z               "line": 126
2026-06-04T14:14:33.5215553Z             },
2026-06-04T14:14:33.5215938Z             {
2026-06-04T14:14:33.5216506Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5217131Z               "line": 159
2026-06-04T14:14:33.5217554Z             },
2026-06-04T14:14:33.5217941Z             {
2026-06-04T14:14:33.5218504Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5219053Z               "line": 179
2026-06-04T14:14:33.5219485Z             },
2026-06-04T14:14:33.5219879Z             {
2026-06-04T14:14:33.5220441Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5220860Z               "line": 239
2026-06-04T14:14:33.5221247Z             },
2026-06-04T14:14:33.5221646Z             {
2026-06-04T14:14:33.5222209Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5222618Z               "line": 287
2026-06-04T14:14:33.5223005Z             },
2026-06-04T14:14:33.5223386Z             {
2026-06-04T14:14:33.5223986Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5224395Z               "line": 24
2026-06-04T14:14:33.5224785Z             },
2026-06-04T14:14:33.5225183Z             {
2026-06-04T14:14:33.5225777Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5226192Z               "line": 34
2026-06-04T14:14:33.5226588Z             },
2026-06-04T14:14:33.5226982Z             {
2026-06-04T14:14:33.5227579Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5227997Z               "line": 55
2026-06-04T14:14:33.5228390Z             },
2026-06-04T14:14:33.5228769Z             {
2026-06-04T14:14:33.5229401Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5229809Z               "line": 76
2026-06-04T14:14:33.5230202Z             },
2026-06-04T14:14:33.5230584Z             {
2026-06-04T14:14:33.5231180Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5231590Z               "line": 88
2026-06-04T14:14:33.5231984Z             },
2026-06-04T14:14:33.5232372Z             {
2026-06-04T14:14:33.5232964Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T14:14:33.5233386Z               "line": 41
2026-06-04T14:14:33.5233779Z             },
2026-06-04T14:14:33.5234171Z             {
2026-06-04T14:14:33.5234764Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.5235182Z               "line": 94
2026-06-04T14:14:33.5235570Z             },
2026-06-04T14:14:33.5235950Z             {
2026-06-04T14:14:33.5236526Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T14:14:33.5236932Z               "line": 20
2026-06-04T14:14:33.5237327Z             },
2026-06-04T14:14:33.5237719Z             {
2026-06-04T14:14:33.5238280Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T14:14:33.5238696Z               "line": 30
2026-06-04T14:14:33.5239082Z             },
2026-06-04T14:14:33.5239506Z             {
2026-06-04T14:14:33.5240081Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T14:14:33.5240488Z               "line": 50
2026-06-04T14:14:33.5240878Z             },
2026-06-04T14:14:33.5241273Z             {
2026-06-04T14:14:33.5241835Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5242240Z               "line": 28
2026-06-04T14:14:33.5242647Z             },
2026-06-04T14:14:33.5243040Z             {
2026-06-04T14:14:33.5243586Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5244004Z               "line": 126
2026-06-04T14:14:33.5244386Z             },
2026-06-04T14:14:33.5244775Z             {
2026-06-04T14:14:33.5245325Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5245743Z               "line": 161
2026-06-04T14:14:33.5246135Z             },
2026-06-04T14:14:33.5246518Z             {
2026-06-04T14:14:33.5247070Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5247477Z               "line": 197
2026-06-04T14:14:33.5247871Z             },
2026-06-04T14:14:33.5248257Z             {
2026-06-04T14:14:33.5248812Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5249411Z               "line": 208
2026-06-04T14:14:33.5249847Z             },
2026-06-04T14:14:33.5250270Z             {
2026-06-04T14:14:33.5250820Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5251378Z               "line": 231
2026-06-04T14:14:33.5251766Z             },
2026-06-04T14:14:33.5252152Z             {
2026-06-04T14:14:33.5252706Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5253118Z               "line": 251
2026-06-04T14:14:33.5253507Z             },
2026-06-04T14:14:33.5253890Z             {
2026-06-04T14:14:33.5254473Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5254880Z               "line": 63
2026-06-04T14:14:33.5255277Z             }
2026-06-04T14:14:33.5255662Z           ]
2026-06-04T14:14:33.5256044Z         },
2026-06-04T14:14:33.5256436Z         "int": {
2026-06-04T14:14:33.5256859Z           "complete": true,
2026-06-04T14:14:33.5257277Z           "evidence": [
2026-06-04T14:14:33.5257677Z             {
2026-06-04T14:14:33.5258301Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.5258720Z               "line": 265
2026-06-04T14:14:33.5259111Z             },
2026-06-04T14:14:33.5259557Z             {
2026-06-04T14:14:33.5260191Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T14:14:33.5260616Z               "line": 102
2026-06-04T14:14:33.5261002Z             },
2026-06-04T14:14:33.5261398Z             {
2026-06-04T14:14:33.5261993Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5262406Z               "line": 497
2026-06-04T14:14:33.5262798Z             },
2026-06-04T14:14:33.5263180Z             {
2026-06-04T14:14:33.5263805Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5264233Z               "line": 745
2026-06-04T14:14:33.5264630Z             }
2026-06-04T14:14:33.5265018Z           ]
2026-06-04T14:14:33.5265405Z         },
2026-06-04T14:14:33.5265803Z         "unit": {
2026-06-04T14:14:33.5266238Z           "complete": true,
2026-06-04T14:14:33.5266662Z           "evidence": [
2026-06-04T14:14:33.5267044Z             {
2026-06-04T14:14:33.5267620Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5268038Z               "line": 362
2026-06-04T14:14:33.5268425Z             },
2026-06-04T14:14:33.5268813Z             {
2026-06-04T14:14:33.5269405Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5269834Z               "line": 400
2026-06-04T14:14:33.5270225Z             },
2026-06-04T14:14:33.5270607Z             {
2026-06-04T14:14:33.5271167Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5271580Z               "line": 427
2026-06-04T14:14:33.5271998Z             },
2026-06-04T14:14:33.5272427Z             {
2026-06-04T14:14:33.5273023Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5273447Z               "line": 448
2026-06-04T14:14:33.5274311Z             },
2026-06-04T14:14:33.5274737Z             {
2026-06-04T14:14:33.5275305Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5275718Z               "line": 501
2026-06-04T14:14:33.5276118Z             },
2026-06-04T14:14:33.5276509Z             {
2026-06-04T14:14:33.5277070Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5277483Z               "line": 540
2026-06-04T14:14:33.5277877Z             },
2026-06-04T14:14:33.5278259Z             {
2026-06-04T14:14:33.5278822Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5279279Z               "line": 632
2026-06-04T14:14:33.5279695Z             },
2026-06-04T14:14:33.5280090Z             {
2026-06-04T14:14:33.5284026Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5284544Z               "line": 133
2026-06-04T14:14:33.5284937Z             },
2026-06-04T14:14:33.5285325Z             {
2026-06-04T14:14:33.5286184Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5286646Z               "line": 208
2026-06-04T14:14:33.5287042Z             },
2026-06-04T14:14:33.5287428Z             {
2026-06-04T14:14:33.5288173Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T14:14:33.5288586Z               "line": 227
2026-06-04T14:14:33.5288983Z             },
2026-06-04T14:14:33.5289448Z             {
2026-06-04T14:14:33.5290059Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.5290480Z               "line": 328
2026-06-04T14:14:33.5290863Z             },
2026-06-04T14:14:33.5291253Z             {
2026-06-04T14:14:33.5291843Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T14:14:33.5292264Z               "line": 357
2026-06-04T14:14:33.5292648Z             },
2026-06-04T14:14:33.5293045Z             {
2026-06-04T14:14:33.5293675Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T14:14:33.5294094Z               "line": 112
2026-06-04T14:14:33.5294506Z             },
2026-06-04T14:14:33.5294894Z             {
2026-06-04T14:14:33.5295474Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T14:14:33.5295894Z               "line": 72
2026-06-04T14:14:33.5296290Z             },
2026-06-04T14:14:33.5296680Z             {
2026-06-04T14:14:33.5297247Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T14:14:33.5297660Z               "line": 94
2026-06-04T14:14:33.5298044Z             },
2026-06-04T14:14:33.5298436Z             {
2026-06-04T14:14:33.5298993Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5299435Z               "line": 365
2026-06-04T14:14:33.5299830Z             },
2026-06-04T14:14:33.5300209Z             {
2026-06-04T14:14:33.5300770Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5301177Z               "line": 396
2026-06-04T14:14:33.5301572Z             },
2026-06-04T14:14:33.5301964Z             {
2026-06-04T14:14:33.5302513Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5302931Z               "line": 410
2026-06-04T14:14:33.5303318Z             },
2026-06-04T14:14:33.5303708Z             {
2026-06-04T14:14:33.5304266Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5304687Z               "line": 441
2026-06-04T14:14:33.5305095Z             },
2026-06-04T14:14:33.5305476Z             {
2026-06-04T14:14:33.5306026Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5306438Z               "line": 458
2026-06-04T14:14:33.5306833Z             },
2026-06-04T14:14:33.5307215Z             {
2026-06-04T14:14:33.5307767Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5308188Z               "line": 483
2026-06-04T14:14:33.5308576Z             },
2026-06-04T14:14:33.5308973Z             {
2026-06-04T14:14:33.5309555Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T14:14:33.5309971Z               "line": 507
2026-06-04T14:14:33.5310355Z             },
2026-06-04T14:14:33.5310756Z             {
2026-06-04T14:14:33.5311340Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5311749Z               "line": 313
2026-06-04T14:14:33.5312151Z             }
2026-06-04T14:14:33.5312534Z           ]
2026-06-04T14:14:33.5312927Z         }
2026-06-04T14:14:33.5313307Z       }
2026-06-04T14:14:33.5313691Z     },
2026-06-04T14:14:33.5314081Z     {
2026-06-04T14:14:33.5314504Z       "id": "REQ-NOTIF-2",
2026-06-04T14:14:33.5315931Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T14:14:33.5316372Z       "requiredStages": [
2026-06-04T14:14:33.5316768Z         "doc",
2026-06-04T14:14:33.5317158Z         "impl",
2026-06-04T14:14:33.5317552Z         "unit"
2026-06-04T14:14:33.5317942Z       ],
2026-06-04T14:14:33.5318340Z       "stages": {
2026-06-04T14:14:33.5318743Z         "doc": {
2026-06-04T14:14:33.5319206Z           "complete": true,
2026-06-04T14:14:33.5319805Z           "evidence": [
2026-06-04T14:14:33.5320214Z             {
2026-06-04T14:14:33.5320696Z               "path": "docs/MANIFEST.md",
2026-06-04T14:14:33.5321247Z               "line": 62
2026-06-04T14:14:33.5321636Z             }
2026-06-04T14:14:33.5322029Z           ]
2026-06-04T14:14:33.5322425Z         },
2026-06-04T14:14:33.5322829Z         "impl": {
2026-06-04T14:14:33.5323250Z           "complete": true,
2026-06-04T14:14:33.5323672Z           "evidence": [
2026-06-04T14:14:33.5324064Z             {
2026-06-04T14:14:33.5324624Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5325043Z               "line": 208
2026-06-04T14:14:33.5325430Z             },
2026-06-04T14:14:33.5325830Z             {
2026-06-04T14:14:33.5326393Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5326846Z               "line": 222
2026-06-04T14:14:33.5327339Z             },
2026-06-04T14:14:33.5327790Z             {
2026-06-04T14:14:33.5328520Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.5329035Z               "line": 125
2026-06-04T14:14:33.5329745Z             },
2026-06-04T14:14:33.5330344Z             {
2026-06-04T14:14:33.5331022Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5331492Z               "line": 72
2026-06-04T14:14:33.5331920Z             },
2026-06-04T14:14:33.5332353Z             {
2026-06-04T14:14:33.5332895Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5333353Z               "line": 663
2026-06-04T14:14:33.5333768Z             },
2026-06-04T14:14:33.5334193Z             {
2026-06-04T14:14:33.5334756Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5335207Z               "line": 695
2026-06-04T14:14:33.5335619Z             },
2026-06-04T14:14:33.5336025Z             {
2026-06-04T14:14:33.5336575Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5337030Z               "line": 761
2026-06-04T14:14:33.5337441Z             },
2026-06-04T14:14:33.5337876Z             {
2026-06-04T14:14:33.5338412Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5338856Z               "line": 797
2026-06-04T14:14:33.5339353Z             }
2026-06-04T14:14:33.5339794Z           ]
2026-06-04T14:14:33.5340208Z         },
2026-06-04T14:14:33.5340663Z         "int": {
2026-06-04T14:14:33.5341136Z           "complete": false,
2026-06-04T14:14:33.5341571Z           "evidence": []
2026-06-04T14:14:33.5341997Z         },
2026-06-04T14:14:33.5342544Z         "unit": {
2026-06-04T14:14:33.5343014Z           "complete": true,
2026-06-04T14:14:33.5343452Z           "evidence": [
2026-06-04T14:14:33.5343874Z             {
2026-06-04T14:14:33.5344508Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.5344968Z               "line": 590
2026-06-04T14:14:33.5345409Z             },
2026-06-04T14:14:33.5345819Z             {
2026-06-04T14:14:33.5346355Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5346836Z               "line": 1445
2026-06-04T14:14:33.5347248Z             },
2026-06-04T14:14:33.5347649Z             {
2026-06-04T14:14:33.5348171Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5348634Z               "line": 1467
2026-06-04T14:14:33.5349062Z             }
2026-06-04T14:14:33.5349557Z           ]
2026-06-04T14:14:33.5350004Z         }
2026-06-04T14:14:33.5350441Z       }
2026-06-04T14:14:33.5350877Z     },
2026-06-04T14:14:33.5351293Z     {
2026-06-04T14:14:33.5351775Z       "id": "REQ-PAIR-1",
2026-06-04T14:14:33.5352339Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T14:14:33.5352812Z       "requiredStages": [
2026-06-04T14:14:33.5353227Z         "impl",
2026-06-04T14:14:33.5353650Z         "unit"
2026-06-04T14:14:33.5354075Z       ],
2026-06-04T14:14:33.5354515Z       "stages": {
2026-06-04T14:14:33.5354939Z         "doc": {
2026-06-04T14:14:33.5355402Z           "complete": false,
2026-06-04T14:14:33.5355855Z           "evidence": []
2026-06-04T14:14:33.5356266Z         },
2026-06-04T14:14:33.5357064Z         "impl": {
2026-06-04T14:14:33.5357601Z           "complete": true,
2026-06-04T14:14:33.5358049Z           "evidence": [
2026-06-04T14:14:33.5358640Z             {
2026-06-04T14:14:33.5359411Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5364522Z               "line": 27
2026-06-04T14:14:33.5365087Z             },
2026-06-04T14:14:33.5365516Z             {
2026-06-04T14:14:33.5366223Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5366660Z               "line": 88
2026-06-04T14:14:33.5367079Z             },
2026-06-04T14:14:33.5367481Z             {
2026-06-04T14:14:33.5368161Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5368600Z               "line": 110
2026-06-04T14:14:33.5368996Z             },
2026-06-04T14:14:33.5369676Z             {
2026-06-04T14:14:33.5370503Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5370995Z               "line": 153
2026-06-04T14:14:33.5371404Z             },
2026-06-04T14:14:33.5371826Z             {
2026-06-04T14:14:33.5372538Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5372990Z               "line": 182
2026-06-04T14:14:33.5373401Z             },
2026-06-04T14:14:33.5373806Z             {
2026-06-04T14:14:33.5374483Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5374919Z               "line": 29
2026-06-04T14:14:33.5375336Z             },
2026-06-04T14:14:33.5375769Z             {
2026-06-04T14:14:33.5376512Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T14:14:33.5376971Z               "line": 31
2026-06-04T14:14:33.5377444Z             },
2026-06-04T14:14:33.5377874Z             {
2026-06-04T14:14:33.5378533Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5378985Z               "line": 40
2026-06-04T14:14:33.5379658Z             },
2026-06-04T14:14:33.5380267Z             {
2026-06-04T14:14:33.5380956Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5381394Z               "line": 131
2026-06-04T14:14:33.5381841Z             },
2026-06-04T14:14:33.5382283Z             {
2026-06-04T14:14:33.5382983Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5383425Z               "line": 306
2026-06-04T14:14:33.5383826Z             }
2026-06-04T14:14:33.5384239Z           ]
2026-06-04T14:14:33.5384635Z         },
2026-06-04T14:14:33.5385061Z         "int": {
2026-06-04T14:14:33.5385523Z           "complete": true,
2026-06-04T14:14:33.5386001Z           "evidence": [
2026-06-04T14:14:33.5386442Z             {
2026-06-04T14:14:33.5387116Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5387581Z               "line": 433
2026-06-04T14:14:33.5388017Z             },
2026-06-04T14:14:33.5388442Z             {
2026-06-04T14:14:33.5389085Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5389623Z               "line": 549
2026-06-04T14:14:33.5390040Z             }
2026-06-04T14:14:33.5390450Z           ]
2026-06-04T14:14:33.5390851Z         },
2026-06-04T14:14:33.5391274Z         "unit": {
2026-06-04T14:14:33.5391730Z           "complete": true,
2026-06-04T14:14:33.5392164Z           "evidence": [
2026-06-04T14:14:33.5392581Z             {
2026-06-04T14:14:33.5393275Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5393741Z               "line": 236
2026-06-04T14:14:33.5394184Z             },
2026-06-04T14:14:33.5394612Z             {
2026-06-04T14:14:33.5395307Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T14:14:33.5395778Z               "line": 349
2026-06-04T14:14:33.5396199Z             },
2026-06-04T14:14:33.5396615Z             {
2026-06-04T14:14:33.5397271Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5398145Z               "line": 194
2026-06-04T14:14:33.5398636Z             },
2026-06-04T14:14:33.5399075Z             {
2026-06-04T14:14:33.5399866Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5400519Z               "line": 216
2026-06-04T14:14:33.5400947Z             },
2026-06-04T14:14:33.5401355Z             {
2026-06-04T14:14:33.5402017Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5402568Z               "line": 230
2026-06-04T14:14:33.5402987Z             },
2026-06-04T14:14:33.5403411Z             {
2026-06-04T14:14:33.5404071Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5404522Z               "line": 242
2026-06-04T14:14:33.5404941Z             },
2026-06-04T14:14:33.5405348Z             {
2026-06-04T14:14:33.5406002Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5406472Z               "line": 256
2026-06-04T14:14:33.5406903Z             },
2026-06-04T14:14:33.5407344Z             {
2026-06-04T14:14:33.5408022Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5408461Z               "line": 270
2026-06-04T14:14:33.5408895Z             },
2026-06-04T14:14:33.5409541Z             {
2026-06-04T14:14:33.5410437Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5410903Z               "line": 277
2026-06-04T14:14:33.5411315Z             },
2026-06-04T14:14:33.5411731Z             {
2026-06-04T14:14:33.5412394Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T14:14:33.5412853Z               "line": 295
2026-06-04T14:14:33.5413271Z             },
2026-06-04T14:14:33.5413683Z             {
2026-06-04T14:14:33.5414359Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5414810Z               "line": 696
2026-06-04T14:14:33.5415279Z             },
2026-06-04T14:14:33.5415765Z             {
2026-06-04T14:14:33.5416478Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5416962Z               "line": 757
2026-06-04T14:14:33.5417386Z             },
2026-06-04T14:14:33.5417810Z             {
2026-06-04T14:14:33.5418500Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5418974Z               "line": 814
2026-06-04T14:14:33.5419601Z             },
2026-06-04T14:14:33.5420224Z             {
2026-06-04T14:14:33.5420932Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5421398Z               "line": 868
2026-06-04T14:14:33.5421826Z             },
2026-06-04T14:14:33.5422242Z             {
2026-06-04T14:14:33.5422913Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5423354Z               "line": 920
2026-06-04T14:14:33.5423773Z             },
2026-06-04T14:14:33.5424190Z             {
2026-06-04T14:14:33.5424852Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5425298Z               "line": 1084
2026-06-04T14:14:33.5425719Z             }
2026-06-04T14:14:33.5426150Z           ]
2026-06-04T14:14:33.5426553Z         }
2026-06-04T14:14:33.5426979Z       }
2026-06-04T14:14:33.5427398Z     },
2026-06-04T14:14:33.5427800Z     {
2026-06-04T14:14:33.5428271Z       "id": "REQ-PAIR-2",
2026-06-04T14:14:33.5429000Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T14:14:33.5429563Z       "requiredStages": [
2026-06-04T14:14:33.5430017Z         "impl",
2026-06-04T14:14:33.5430465Z         "unit"
2026-06-04T14:14:33.5430888Z       ],
2026-06-04T14:14:33.5431324Z       "stages": {
2026-06-04T14:14:33.5431751Z         "doc": {
2026-06-04T14:14:33.5432199Z           "complete": false,
2026-06-04T14:14:33.5432658Z           "evidence": []
2026-06-04T14:14:33.5433078Z         },
2026-06-04T14:14:33.5433553Z         "impl": {
2026-06-04T14:14:33.5434039Z           "complete": true,
2026-06-04T14:14:33.5434488Z           "evidence": [
2026-06-04T14:14:33.5434926Z             {
2026-06-04T14:14:33.5435842Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5436353Z               "line": 42
2026-06-04T14:14:33.5436767Z             },
2026-06-04T14:14:33.5437438Z             {
2026-06-04T14:14:33.5438040Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5438485Z               "line": 151
2026-06-04T14:14:33.5438907Z             },
2026-06-04T14:14:33.5439385Z             {
2026-06-04T14:14:33.5439999Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5440450Z               "line": 171
2026-06-04T14:14:33.5440872Z             },
2026-06-04T14:14:33.5441283Z             {
2026-06-04T14:14:33.5441854Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5442303Z               "line": 209
2026-06-04T14:14:33.5442706Z             },
2026-06-04T14:14:33.5443129Z             {
2026-06-04T14:14:33.5443696Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5444147Z               "line": 232
2026-06-04T14:14:33.5444588Z             }
2026-06-04T14:14:33.5444998Z           ]
2026-06-04T14:14:33.5445410Z         },
2026-06-04T14:14:33.5445845Z         "int": {
2026-06-04T14:14:33.5451449Z           "complete": false,
2026-06-04T14:14:33.5452088Z           "evidence": []
2026-06-04T14:14:33.5452504Z         },
2026-06-04T14:14:33.5452938Z         "unit": {
2026-06-04T14:14:33.5453387Z           "complete": true,
2026-06-04T14:14:33.5453830Z           "evidence": [
2026-06-04T14:14:33.5454231Z             {
2026-06-04T14:14:33.5454831Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5455279Z               "line": 253
2026-06-04T14:14:33.5455699Z             },
2026-06-04T14:14:33.5456112Z             {
2026-06-04T14:14:33.5456678Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5457138Z               "line": 272
2026-06-04T14:14:33.5457552Z             },
2026-06-04T14:14:33.5457976Z             {
2026-06-04T14:14:33.5458585Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5459054Z               "line": 284
2026-06-04T14:14:33.5459719Z             },
2026-06-04T14:14:33.5460321Z             {
2026-06-04T14:14:33.5460903Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5461328Z               "line": 303
2026-06-04T14:14:33.5461742Z             },
2026-06-04T14:14:33.5462144Z             {
2026-06-04T14:14:33.5462733Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5463177Z               "line": 319
2026-06-04T14:14:33.5463580Z             },
2026-06-04T14:14:33.5463989Z             {
2026-06-04T14:14:33.5464558Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5464998Z               "line": 331
2026-06-04T14:14:33.5465389Z             },
2026-06-04T14:14:33.5465805Z             {
2026-06-04T14:14:33.5466396Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5466839Z               "line": 343
2026-06-04T14:14:33.5467278Z             },
2026-06-04T14:14:33.5467704Z             {
2026-06-04T14:14:33.5468299Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5468753Z               "line": 356
2026-06-04T14:14:33.5469243Z             },
2026-06-04T14:14:33.5469673Z             {
2026-06-04T14:14:33.5470252Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T14:14:33.5470715Z               "line": 370
2026-06-04T14:14:33.5471130Z             }
2026-06-04T14:14:33.5471545Z           ]
2026-06-04T14:14:33.5471974Z         }
2026-06-04T14:14:33.5472418Z       }
2026-06-04T14:14:33.5472839Z     },
2026-06-04T14:14:33.5473249Z     {
2026-06-04T14:14:33.5473723Z       "id": "REQ-PAIR-3",
2026-06-04T14:14:33.5474489Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T14:14:33.5474956Z       "requiredStages": [
2026-06-04T14:14:33.5475393Z         "impl",
2026-06-04T14:14:33.5475815Z         "unit"
2026-06-04T14:14:33.5476242Z       ],
2026-06-04T14:14:33.5476670Z       "stages": {
2026-06-04T14:14:33.5477562Z         "doc": {
2026-06-04T14:14:33.5478154Z           "complete": false,
2026-06-04T14:14:33.5478623Z           "evidence": []
2026-06-04T14:14:33.5479276Z         },
2026-06-04T14:14:33.5479738Z         "impl": {
2026-06-04T14:14:33.5480223Z           "complete": true,
2026-06-04T14:14:33.5480678Z           "evidence": [
2026-06-04T14:14:33.5481104Z             {
2026-06-04T14:14:33.5481643Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5482098Z               "line": 1073
2026-06-04T14:14:33.5482502Z             },
2026-06-04T14:14:33.5482918Z             {
2026-06-04T14:14:33.5483438Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5483883Z               "line": 1109
2026-06-04T14:14:33.5484311Z             },
2026-06-04T14:14:33.5484743Z             {
2026-06-04T14:14:33.5485350Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5485818Z               "line": 1169
2026-06-04T14:14:33.5486235Z             }
2026-06-04T14:14:33.5486686Z           ]
2026-06-04T14:14:33.5487100Z         },
2026-06-04T14:14:33.5487523Z         "int": {
2026-06-04T14:14:33.5487974Z           "complete": false,
2026-06-04T14:14:33.5488474Z           "evidence": []
2026-06-04T14:14:33.5488893Z         },
2026-06-04T14:14:33.5489571Z         "unit": {
2026-06-04T14:14:33.5490283Z           "complete": true,
2026-06-04T14:14:33.5490760Z           "evidence": [
2026-06-04T14:14:33.5491204Z             {
2026-06-04T14:14:33.5491736Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5492198Z               "line": 1639
2026-06-04T14:14:33.5492634Z             },
2026-06-04T14:14:33.5493038Z             {
2026-06-04T14:14:33.5493579Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5494034Z               "line": 1656
2026-06-04T14:14:33.5494455Z             },
2026-06-04T14:14:33.5494858Z             {
2026-06-04T14:14:33.5495388Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5495850Z               "line": 1670
2026-06-04T14:14:33.5496275Z             },
2026-06-04T14:14:33.5496710Z             {
2026-06-04T14:14:33.5497251Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5497733Z               "line": 1686
2026-06-04T14:14:33.5498143Z             },
2026-06-04T14:14:33.5498563Z             {
2026-06-04T14:14:33.5499099Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5499796Z               "line": 1707
2026-06-04T14:14:33.5500410Z             },
2026-06-04T14:14:33.5500841Z             {
2026-06-04T14:14:33.5501388Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5501838Z               "line": 1723
2026-06-04T14:14:33.5502264Z             },
2026-06-04T14:14:33.5502684Z             {
2026-06-04T14:14:33.5503216Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5503694Z               "line": 1736
2026-06-04T14:14:33.5504097Z             },
2026-06-04T14:14:33.5504525Z             {
2026-06-04T14:14:33.5505056Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5505517Z               "line": 1745
2026-06-04T14:14:33.5505954Z             }
2026-06-04T14:14:33.5506386Z           ]
2026-06-04T14:14:33.5506830Z         }
2026-06-04T14:14:33.5507230Z       }
2026-06-04T14:14:33.5507636Z     },
2026-06-04T14:14:33.5508034Z     {
2026-06-04T14:14:33.5508491Z       "id": "REQ-PAIR-4",
2026-06-04T14:14:33.5509056Z       "title": "Subnet naming on first pairing",
2026-06-04T14:14:33.5509898Z       "requiredStages": [
2026-06-04T14:14:33.5510360Z         "impl",
2026-06-04T14:14:33.5510798Z         "unit"
2026-06-04T14:14:33.5511228Z       ],
2026-06-04T14:14:33.5511665Z       "stages": {
2026-06-04T14:14:33.5512107Z         "doc": {
2026-06-04T14:14:33.5512592Z           "complete": false,
2026-06-04T14:14:33.5513040Z           "evidence": []
2026-06-04T14:14:33.5513446Z         },
2026-06-04T14:14:33.5513859Z         "impl": {
2026-06-04T14:14:33.5514316Z           "complete": true,
2026-06-04T14:14:33.5515072Z           "evidence": [
2026-06-04T14:14:33.5515557Z             {
2026-06-04T14:14:33.5516160Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T14:14:33.5516770Z               "line": 154
2026-06-04T14:14:33.5517196Z             }
2026-06-04T14:14:33.5517621Z           ]
2026-06-04T14:14:33.5518049Z         },
2026-06-04T14:14:33.5518482Z         "int": {
2026-06-04T14:14:33.5518963Z           "complete": false,
2026-06-04T14:14:33.5519647Z           "evidence": []
2026-06-04T14:14:33.5520232Z         },
2026-06-04T14:14:33.5520669Z         "unit": {
2026-06-04T14:14:33.5521127Z           "complete": true,
2026-06-04T14:14:33.5521604Z           "evidence": [
2026-06-04T14:14:33.5522049Z             {
2026-06-04T14:14:33.5522767Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5523241Z               "line": 972
2026-06-04T14:14:33.5523650Z             }
2026-06-04T14:14:33.5524067Z           ]
2026-06-04T14:14:33.5524461Z         }
2026-06-04T14:14:33.5524880Z       }
2026-06-04T14:14:33.5525337Z     },
2026-06-04T14:14:33.5525826Z     {
2026-06-04T14:14:33.5526352Z       "id": "REQ-PAIR-5",
2026-06-04T14:14:33.5528106Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T14:14:33.5528614Z       "requiredStages": [
2026-06-04T14:14:33.5529025Z         "impl",
2026-06-04T14:14:33.5529676Z         "unit"
2026-06-04T14:14:33.5530249Z       ],
2026-06-04T14:14:33.5530727Z       "stages": {
2026-06-04T14:14:33.5535897Z         "doc": {
2026-06-04T14:14:33.5536623Z           "complete": false,
2026-06-04T14:14:33.5537085Z           "evidence": []
2026-06-04T14:14:33.5537486Z         },
2026-06-04T14:14:33.5537909Z         "impl": {
2026-06-04T14:14:33.5538392Z           "complete": true,
2026-06-04T14:14:33.5538853Z           "evidence": [
2026-06-04T14:14:33.5539496Z             {
2026-06-04T14:14:33.5540427Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5540918Z               "line": 33
2026-06-04T14:14:33.5541340Z             },
2026-06-04T14:14:33.5541762Z             {
2026-06-04T14:14:33.5542501Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5542987Z               "line": 45
2026-06-04T14:14:33.5543407Z             },
2026-06-04T14:14:33.5543819Z             {
2026-06-04T14:14:33.5544579Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5545022Z               "line": 59
2026-06-04T14:14:33.5545444Z             },
2026-06-04T14:14:33.5545841Z             {
2026-06-04T14:14:33.5546515Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5546971Z               "line": 306
2026-06-04T14:14:33.5547394Z             }
2026-06-04T14:14:33.5547810Z           ]
2026-06-04T14:14:33.5548224Z         },
2026-06-04T14:14:33.5548671Z         "int": {
2026-06-04T14:14:33.5549143Z           "complete": true,
2026-06-04T14:14:33.5549685Z           "evidence": [
2026-06-04T14:14:33.5550131Z             {
2026-06-04T14:14:33.5550763Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5551217Z               "line": 549
2026-06-04T14:14:33.5551624Z             }
2026-06-04T14:14:33.5552039Z           ]
2026-06-04T14:14:33.5552450Z         },
2026-06-04T14:14:33.5552884Z         "unit": {
2026-06-04T14:14:33.5553346Z           "complete": true,
2026-06-04T14:14:33.5553776Z           "evidence": [
2026-06-04T14:14:33.5554196Z             {
2026-06-04T14:14:33.5554962Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5555425Z               "line": 72
2026-06-04T14:14:33.5555850Z             },
2026-06-04T14:14:33.5556286Z             {
2026-06-04T14:14:33.5557056Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5557488Z               "line": 82
2026-06-04T14:14:33.5557922Z             },
2026-06-04T14:14:33.5558329Z             {
2026-06-04T14:14:33.5559596Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5560111Z               "line": 92
2026-06-04T14:14:33.5560536Z             },
2026-06-04T14:14:33.5561142Z             {
2026-06-04T14:14:33.5561899Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5562346Z               "line": 102
2026-06-04T14:14:33.5562761Z             },
2026-06-04T14:14:33.5563172Z             {
2026-06-04T14:14:33.5563912Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T14:14:33.5564374Z               "line": 117
2026-06-04T14:14:33.5564787Z             },
2026-06-04T14:14:33.5565194Z             {
2026-06-04T14:14:33.5565870Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5566323Z               "line": 750
2026-06-04T14:14:33.5566750Z             },
2026-06-04T14:14:33.5567179Z             {
2026-06-04T14:14:33.5567894Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5568385Z               "line": 806
2026-06-04T14:14:33.5568811Z             },
2026-06-04T14:14:33.5569313Z             {
2026-06-04T14:14:33.5570357Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T14:14:33.5570832Z               "line": 1026
2026-06-04T14:14:33.5571252Z             }
2026-06-04T14:14:33.5571669Z           ]
2026-06-04T14:14:33.5572095Z         }
2026-06-04T14:14:33.5572508Z       }
2026-06-04T14:14:33.5572937Z     },
2026-06-04T14:14:33.5573338Z     {
2026-06-04T14:14:33.5573807Z       "id": "REQ-PAIR-6",
2026-06-04T14:14:33.5575252Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T14:14:33.5575732Z       "requiredStages": [
2026-06-04T14:14:33.5576172Z         "impl",
2026-06-04T14:14:33.5576589Z         "unit"
2026-06-04T14:14:33.5577001Z       ],
2026-06-04T14:14:33.5577463Z       "stages": {
2026-06-04T14:14:33.5577897Z         "doc": {
2026-06-04T14:14:33.5578392Z           "complete": false,
2026-06-04T14:14:33.5578845Z           "evidence": []
2026-06-04T14:14:33.5579478Z         },
2026-06-04T14:14:33.5580104Z         "impl": {
2026-06-04T14:14:33.5580592Z           "complete": true,
2026-06-04T14:14:33.5581037Z           "evidence": [
2026-06-04T14:14:33.5581479Z             {
2026-06-04T14:14:33.5582037Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5582484Z               "line": 1109
2026-06-04T14:14:33.5582914Z             },
2026-06-04T14:14:33.5583322Z             {
2026-06-04T14:14:33.5583885Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5584326Z               "line": 1169
2026-06-04T14:14:33.5584741Z             },
2026-06-04T14:14:33.5585166Z             {
2026-06-04T14:14:33.5585742Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T14:14:33.5586190Z               "line": 18
2026-06-04T14:14:33.5586603Z             },
2026-06-04T14:14:33.5587026Z             {
2026-06-04T14:14:33.5587617Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T14:14:33.5588067Z               "line": 49
2026-06-04T14:14:33.5588485Z             },
2026-06-04T14:14:33.5588904Z             {
2026-06-04T14:14:33.5589746Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T14:14:33.5590369Z               "line": 70
2026-06-04T14:14:33.5590798Z             }
2026-06-04T14:14:33.5591204Z           ]
2026-06-04T14:14:33.5591627Z         },
2026-06-04T14:14:33.5592076Z         "int": {
2026-06-04T14:14:33.5592537Z           "complete": false,
2026-06-04T14:14:33.5592998Z           "evidence": []
2026-06-04T14:14:33.5593420Z         },
2026-06-04T14:14:33.5593882Z         "unit": {
2026-06-04T14:14:33.5594359Z           "complete": true,
2026-06-04T14:14:33.5594819Z           "evidence": [
2026-06-04T14:14:33.5595260Z             {
2026-06-04T14:14:33.5595817Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5596268Z               "line": 1758
2026-06-04T14:14:33.5596683Z             },
2026-06-04T14:14:33.5597429Z             {
2026-06-04T14:14:33.5598043Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5598517Z               "line": 1775
2026-06-04T14:14:33.5599148Z             },
2026-06-04T14:14:33.5599821Z             {
2026-06-04T14:14:33.5600461Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T14:14:33.5600906Z               "line": 132
2026-06-04T14:14:33.5601346Z             },
2026-06-04T14:14:33.5601789Z             {
2026-06-04T14:14:33.5602452Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T14:14:33.5602954Z               "line": 141
2026-06-04T14:14:33.5603391Z             }
2026-06-04T14:14:33.5603829Z           ]
2026-06-04T14:14:33.5604258Z         }
2026-06-04T14:14:33.5604708Z       }
2026-06-04T14:14:33.5605136Z     },
2026-06-04T14:14:33.5605576Z     {
2026-06-04T14:14:33.5606079Z       "id": "REQ-PAIR-7",
2026-06-04T14:14:33.5606980Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T14:14:33.5607503Z       "requiredStages": [],
2026-06-04T14:14:33.5607953Z       "stages": {
2026-06-04T14:14:33.5608388Z         "doc": {
2026-06-04T14:14:33.5608861Z           "complete": false,
2026-06-04T14:14:33.5609551Z           "evidence": []
2026-06-04T14:14:33.5609995Z         },
2026-06-04T14:14:33.5610447Z         "impl": {
2026-06-04T14:14:33.5610909Z           "complete": false,
2026-06-04T14:14:33.5611357Z           "evidence": []
2026-06-04T14:14:33.5611788Z         },
2026-06-04T14:14:33.5612206Z         "int": {
2026-06-04T14:14:33.5612673Z           "complete": false,
2026-06-04T14:14:33.5613144Z           "evidence": []
2026-06-04T14:14:33.5613566Z         },
2026-06-04T14:14:33.5614005Z         "unit": {
2026-06-04T14:14:33.5614463Z           "complete": false,
2026-06-04T14:14:33.5614921Z           "evidence": []
2026-06-04T14:14:33.5615387Z         }
2026-06-04T14:14:33.5615824Z       }
2026-06-04T14:14:33.5616269Z     },
2026-06-04T14:14:33.5616701Z     {
2026-06-04T14:14:33.5617211Z       "id": "REQ-REACH-1",
2026-06-04T14:14:33.5618002Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T14:14:33.5623776Z       "requiredStages": [
2026-06-04T14:14:33.5624371Z         "impl",
2026-06-04T14:14:33.5624796Z         "unit"
2026-06-04T14:14:33.5625197Z       ],
2026-06-04T14:14:33.5625645Z       "stages": {
2026-06-04T14:14:33.5626065Z         "doc": {
2026-06-04T14:14:33.5626521Z           "complete": false,
2026-06-04T14:14:33.5627116Z           "evidence": []
2026-06-04T14:14:33.5627570Z         },
2026-06-04T14:14:33.5628077Z         "impl": {
2026-06-04T14:14:33.5628593Z           "complete": true,
2026-06-04T14:14:33.5629071Z           "evidence": [
2026-06-04T14:14:33.5629777Z             {
2026-06-04T14:14:33.5630431Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T14:14:33.5631075Z               "line": 133
2026-06-04T14:14:33.5631652Z             },
2026-06-04T14:14:33.5632080Z             {
2026-06-04T14:14:33.5632777Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.5633220Z               "line": 76
2026-06-04T14:14:33.5633642Z             },
2026-06-04T14:14:33.5634052Z             {
2026-06-04T14:14:33.5634672Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.5635137Z               "line": 209
2026-06-04T14:14:33.5635560Z             },
2026-06-04T14:14:33.5635980Z             {
2026-06-04T14:14:33.5636558Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.5637005Z               "line": 386
2026-06-04T14:14:33.5637412Z             },
2026-06-04T14:14:33.5637829Z             {
2026-06-04T14:14:33.5638403Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.5638864Z               "line": 484
2026-06-04T14:14:33.5639540Z             },
2026-06-04T14:14:33.5640117Z             {
2026-06-04T14:14:33.5640724Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T14:14:33.5641163Z               "line": 39
2026-06-04T14:14:33.5641581Z             },
2026-06-04T14:14:33.5642444Z             {
2026-06-04T14:14:33.5643099Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.5643562Z               "line": 217
2026-06-04T14:14:33.5644154Z             },
2026-06-04T14:14:33.5644588Z             {
2026-06-04T14:14:33.5645163Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T14:14:33.5645612Z               "line": 82
2026-06-04T14:14:33.5646046Z             },
2026-06-04T14:14:33.5646483Z             {
2026-06-04T14:14:33.5647060Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T14:14:33.5647492Z               "line": 92
2026-06-04T14:14:33.5647905Z             },
2026-06-04T14:14:33.5648304Z             {
2026-06-04T14:14:33.5648914Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5649594Z               "line": 177
2026-06-04T14:14:33.5650070Z             }
2026-06-04T14:14:33.5650642Z           ]
2026-06-04T14:14:33.5651062Z         },
2026-06-04T14:14:33.5651496Z         "int": {
2026-06-04T14:14:33.5652010Z           "complete": true,
2026-06-04T14:14:33.5652480Z           "evidence": [
2026-06-04T14:14:33.5652906Z             {
2026-06-04T14:14:33.5653604Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.5654063Z               "line": 375
2026-06-04T14:14:33.5654484Z             },
2026-06-04T14:14:33.5654909Z             {
2026-06-04T14:14:33.5655588Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.5656054Z               "line": 478
2026-06-04T14:14:33.5656482Z             },
2026-06-04T14:14:33.5656900Z             {
2026-06-04T14:14:33.5657549Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5657989Z               "line": 661
2026-06-04T14:14:33.5658431Z             },
2026-06-04T14:14:33.5658869Z             {
2026-06-04T14:14:33.5659617Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.5660115Z               "line": 755
2026-06-04T14:14:33.5660566Z             }
2026-06-04T14:14:33.5660997Z           ]
2026-06-04T14:14:33.5661406Z         },
2026-06-04T14:14:33.5661838Z         "unit": {
2026-06-04T14:14:33.5662323Z           "complete": true,
2026-06-04T14:14:33.5662781Z           "evidence": [
2026-06-04T14:14:33.5663262Z             {
2026-06-04T14:14:33.5663859Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.5664304Z               "line": 585
2026-06-04T14:14:33.5664707Z             },
2026-06-04T14:14:33.5665125Z             {
2026-06-04T14:14:33.5665695Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T14:14:33.5666156Z               "line": 606
2026-06-04T14:14:33.5666563Z             },
2026-06-04T14:14:33.5666967Z             {
2026-06-04T14:14:33.5667601Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T14:14:33.5668048Z               "line": 337
2026-06-04T14:14:33.5668471Z             },
2026-06-04T14:14:33.5668878Z             {
2026-06-04T14:14:33.5669585Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T14:14:33.5670048Z               "line": 92
2026-06-04T14:14:33.5670462Z             },
2026-06-04T14:14:33.5670899Z             {
2026-06-04T14:14:33.5671530Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T14:14:33.5671984Z               "line": 176
2026-06-04T14:14:33.5672391Z             },
2026-06-04T14:14:33.5672825Z             {
2026-06-04T14:14:33.5673441Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T14:14:33.5673909Z               "line": 92
2026-06-04T14:14:33.5674340Z             },
2026-06-04T14:14:33.5674742Z             {
2026-06-04T14:14:33.5675338Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T14:14:33.5675775Z               "line": 123
2026-06-04T14:14:33.5676192Z             },
2026-06-04T14:14:33.5676595Z             {
2026-06-04T14:14:33.5677160Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.5677596Z               "line": 436
2026-06-04T14:14:33.5678311Z             },
2026-06-04T14:14:33.5678786Z             {
2026-06-04T14:14:33.5679422Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T14:14:33.5680049Z               "line": 112
2026-06-04T14:14:33.5680462Z             },
2026-06-04T14:14:33.5680864Z             {
2026-06-04T14:14:33.5681561Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T14:14:33.5681998Z               "line": 136
2026-06-04T14:14:33.5682433Z             },
2026-06-04T14:14:33.5682825Z             {
2026-06-04T14:14:33.5683444Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5683932Z               "line": 396
2026-06-04T14:14:33.5684353Z             }
2026-06-04T14:14:33.5684760Z           ]
2026-06-04T14:14:33.5685158Z         }
2026-06-04T14:14:33.5685577Z       }
2026-06-04T14:14:33.5685985Z     },
2026-06-04T14:14:33.5686404Z     {
2026-06-04T14:14:33.5686864Z       "id": "REQ-REACH-2",
2026-06-04T14:14:33.5687688Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T14:14:33.5688198Z       "requiredStages": [],
2026-06-04T14:14:33.5688640Z       "stages": {
2026-06-04T14:14:33.5689075Z         "doc": {
2026-06-04T14:14:33.5689813Z           "complete": false,
2026-06-04T14:14:33.5690474Z           "evidence": []
2026-06-04T14:14:33.5690911Z         },
2026-06-04T14:14:33.5691335Z         "impl": {
2026-06-04T14:14:33.5691803Z           "complete": false,
2026-06-04T14:14:33.5692238Z           "evidence": []
2026-06-04T14:14:33.5692664Z         },
2026-06-04T14:14:33.5693072Z         "int": {
2026-06-04T14:14:33.5693548Z           "complete": false,
2026-06-04T14:14:33.5694012Z           "evidence": []
2026-06-04T14:14:33.5694440Z         },
2026-06-04T14:14:33.5694871Z         "unit": {
2026-06-04T14:14:33.5695336Z           "complete": false,
2026-06-04T14:14:33.5695811Z           "evidence": []
2026-06-04T14:14:33.5696225Z         }
2026-06-04T14:14:33.5696639Z       }
2026-06-04T14:14:33.5697067Z     },
2026-06-04T14:14:33.5697465Z     {
2026-06-04T14:14:33.5698024Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T14:14:33.5699078Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T14:14:33.5699666Z       "requiredStages": [
2026-06-04T14:14:33.5700090Z         "impl",
2026-06-04T14:14:33.5700530Z         "unit"
2026-06-04T14:14:33.5700969Z       ],
2026-06-04T14:14:33.5701411Z       "stages": {
2026-06-04T14:14:33.5701842Z         "doc": {
2026-06-04T14:14:33.5702308Z           "complete": false,
2026-06-04T14:14:33.5702761Z           "evidence": []
2026-06-04T14:14:33.5703162Z         },
2026-06-04T14:14:33.5703599Z         "impl": {
2026-06-04T14:14:33.5708928Z           "complete": true,
2026-06-04T14:14:33.5709597Z           "evidence": [
2026-06-04T14:14:33.5710027Z             {
2026-06-04T14:14:33.5710618Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5711069Z               "line": 18
2026-06-04T14:14:33.5711480Z             },
2026-06-04T14:14:33.5711900Z             {
2026-06-04T14:14:33.5712521Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5712955Z               "line": 35
2026-06-04T14:14:33.5713373Z             },
2026-06-04T14:14:33.5713790Z             {
2026-06-04T14:14:33.5714385Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5714810Z               "line": 65
2026-06-04T14:14:33.5715223Z             }
2026-06-04T14:14:33.5715633Z           ]
2026-06-04T14:14:33.5716030Z         },
2026-06-04T14:14:33.5716446Z         "int": {
2026-06-04T14:14:33.5716890Z           "complete": false,
2026-06-04T14:14:33.5717332Z           "evidence": []
2026-06-04T14:14:33.5717741Z         },
2026-06-04T14:14:33.5718160Z         "unit": {
2026-06-04T14:14:33.5718620Z           "complete": true,
2026-06-04T14:14:33.5719061Z           "evidence": [
2026-06-04T14:14:33.5719562Z             {
2026-06-04T14:14:33.5720171Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5720630Z               "line": 170
2026-06-04T14:14:33.5721490Z             },
2026-06-04T14:14:33.5721969Z             {
2026-06-04T14:14:33.5722564Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5723232Z               "line": 184
2026-06-04T14:14:33.5723668Z             },
2026-06-04T14:14:33.5724076Z             {
2026-06-04T14:14:33.5724673Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5725109Z               "line": 193
2026-06-04T14:14:33.5725528Z             }
2026-06-04T14:14:33.5725941Z           ]
2026-06-04T14:14:33.5726352Z         }
2026-06-04T14:14:33.5726772Z       }
2026-06-04T14:14:33.5727166Z     },
2026-06-04T14:14:33.5727589Z     {
2026-06-04T14:14:33.5728097Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T14:14:33.5728921Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T14:14:33.5729690Z       "requiredStages": [
2026-06-04T14:14:33.5730330Z         "impl",
2026-06-04T14:14:33.5730768Z         "unit"
2026-06-04T14:14:33.5731174Z       ],
2026-06-04T14:14:33.5731630Z       "stages": {
2026-06-04T14:14:33.5732069Z         "doc": {
2026-06-04T14:14:33.5732564Z           "complete": false,
2026-06-04T14:14:33.5733034Z           "evidence": []
2026-06-04T14:14:33.5733447Z         },
2026-06-04T14:14:33.5733872Z         "impl": {
2026-06-04T14:14:33.5734316Z           "complete": true,
2026-06-04T14:14:33.5734758Z           "evidence": [
2026-06-04T14:14:33.5735159Z             {
2026-06-04T14:14:33.5735780Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5736227Z               "line": 262
2026-06-04T14:14:33.5736646Z             }
2026-06-04T14:14:33.5737082Z           ]
2026-06-04T14:14:33.5737492Z         },
2026-06-04T14:14:33.5737925Z         "int": {
2026-06-04T14:14:33.5738382Z           "complete": false,
2026-06-04T14:14:33.5738856Z           "evidence": []
2026-06-04T14:14:33.5739356Z         },
2026-06-04T14:14:33.5740136Z         "unit": {
2026-06-04T14:14:33.5740611Z           "complete": true,
2026-06-04T14:14:33.5741063Z           "evidence": [
2026-06-04T14:14:33.5741494Z             {
2026-06-04T14:14:33.5742116Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.5742606Z               "line": 429
2026-06-04T14:14:33.5743037Z             }
2026-06-04T14:14:33.5743459Z           ]
2026-06-04T14:14:33.5743915Z         }
2026-06-04T14:14:33.5744354Z       }
2026-06-04T14:14:33.5744775Z     },
2026-06-04T14:14:33.5745184Z     {
2026-06-04T14:14:33.5745698Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T14:14:33.5746715Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T14:14:33.5747192Z       "requiredStages": [
2026-06-04T14:14:33.5747629Z         "impl",
2026-06-04T14:14:33.5748038Z         "unit",
2026-06-04T14:14:33.5748458Z         "int"
2026-06-04T14:14:33.5748857Z       ],
2026-06-04T14:14:33.5749374Z       "stages": {
2026-06-04T14:14:33.5750180Z         "doc": {
2026-06-04T14:14:33.5750693Z           "complete": false,
2026-06-04T14:14:33.5751191Z           "evidence": []
2026-06-04T14:14:33.5751623Z         },
2026-06-04T14:14:33.5752054Z         "impl": {
2026-06-04T14:14:33.5752499Z           "complete": true,
2026-06-04T14:14:33.5752969Z           "evidence": [
2026-06-04T14:14:33.5753392Z             {
2026-06-04T14:14:33.5753992Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.5754453Z               "line": 24
2026-06-04T14:14:33.5754866Z             },
2026-06-04T14:14:33.5755297Z             {
2026-06-04T14:14:33.5755888Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5756368Z               "line": 22
2026-06-04T14:14:33.5756796Z             }
2026-06-04T14:14:33.5757210Z           ]
2026-06-04T14:14:33.5757621Z         },
2026-06-04T14:14:33.5758028Z         "int": {
2026-06-04T14:14:33.5758488Z           "complete": true,
2026-06-04T14:14:33.5758931Z           "evidence": [
2026-06-04T14:14:33.5759910Z             {
2026-06-04T14:14:33.5761145Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.5761654Z               "line": 202
2026-06-04T14:14:33.5762080Z             }
2026-06-04T14:14:33.5762489Z           ]
2026-06-04T14:14:33.5763126Z         },
2026-06-04T14:14:33.5763578Z         "unit": {
2026-06-04T14:14:33.5764056Z           "complete": true,
2026-06-04T14:14:33.5764520Z           "evidence": [
2026-06-04T14:14:33.5764946Z             {
2026-06-04T14:14:33.5765520Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.5765969Z               "line": 163
2026-06-04T14:14:33.5766391Z             },
2026-06-04T14:14:33.5766796Z             {
2026-06-04T14:14:33.5767355Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.5767798Z               "line": 186
2026-06-04T14:14:33.5768225Z             },
2026-06-04T14:14:33.5768670Z             {
2026-06-04T14:14:33.5769516Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T14:14:33.5770183Z               "line": 195
2026-06-04T14:14:33.5770629Z             },
2026-06-04T14:14:33.5771086Z             {
2026-06-04T14:14:33.5771699Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5772150Z               "line": 195
2026-06-04T14:14:33.5772604Z             },
2026-06-04T14:14:33.5773030Z             {
2026-06-04T14:14:33.5773644Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5774101Z               "line": 209
2026-06-04T14:14:33.5774512Z             },
2026-06-04T14:14:33.5774929Z             {
2026-06-04T14:14:33.5775513Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5775973Z               "line": 228
2026-06-04T14:14:33.5776384Z             },
2026-06-04T14:14:33.5776797Z             {
2026-06-04T14:14:33.5777405Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5777848Z               "line": 248
2026-06-04T14:14:33.5778274Z             },
2026-06-04T14:14:33.5778687Z             {
2026-06-04T14:14:33.5779595Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5780230Z               "line": 264
2026-06-04T14:14:33.5780677Z             },
2026-06-04T14:14:33.5781130Z             {
2026-06-04T14:14:33.5781727Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T14:14:33.5782179Z               "line": 279
2026-06-04T14:14:33.5782599Z             }
2026-06-04T14:14:33.5783024Z           ]
2026-06-04T14:14:33.5783462Z         }
2026-06-04T14:14:33.5783898Z       }
2026-06-04T14:14:33.5784339Z     },
2026-06-04T14:14:33.5784745Z     {
2026-06-04T14:14:33.5785238Z       "id": "REQ-SEAM-INJECT",
2026-06-04T14:14:33.5786121Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T14:14:33.5786600Z       "requiredStages": [
2026-06-04T14:14:33.5787027Z         "impl",
2026-06-04T14:14:33.5787470Z         "unit"
2026-06-04T14:14:33.5787911Z       ],
2026-06-04T14:14:33.5788335Z       "stages": {
2026-06-04T14:14:33.5788777Z         "doc": {
2026-06-04T14:14:33.5794161Z           "complete": false,
2026-06-04T14:14:33.5794832Z           "evidence": []
2026-06-04T14:14:33.5795255Z         },
2026-06-04T14:14:33.5795693Z         "impl": {
2026-06-04T14:14:33.5796172Z           "complete": true,
2026-06-04T14:14:33.5796600Z           "evidence": [
2026-06-04T14:14:33.5797013Z             {
2026-06-04T14:14:33.5797599Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5798043Z               "line": 19
2026-06-04T14:14:33.5798449Z             },
2026-06-04T14:14:33.5798863Z             {
2026-06-04T14:14:33.5799554Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5800004Z               "line": 104
2026-06-04T14:14:33.5800428Z             }
2026-06-04T14:14:33.5800843Z           ]
2026-06-04T14:14:33.5801268Z         },
2026-06-04T14:14:33.5801688Z         "int": {
2026-06-04T14:14:33.5802164Z           "complete": false,
2026-06-04T14:14:33.5802613Z           "evidence": []
2026-06-04T14:14:33.5803012Z         },
2026-06-04T14:14:33.5803436Z         "unit": {
2026-06-04T14:14:33.5804350Z           "complete": true,
2026-06-04T14:14:33.5804870Z           "evidence": [
2026-06-04T14:14:33.5805278Z             {
2026-06-04T14:14:33.5806092Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5806559Z               "line": 222
2026-06-04T14:14:33.5806974Z             },
2026-06-04T14:14:33.5807396Z             {
2026-06-04T14:14:33.5808000Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T14:14:33.5808459Z               "line": 236
2026-06-04T14:14:33.5808870Z             }
2026-06-04T14:14:33.5809516Z           ]
2026-06-04T14:14:33.5810135Z         }
2026-06-04T14:14:33.5810609Z       }
2026-06-04T14:14:33.5811049Z     },
2026-06-04T14:14:33.5811454Z     {
2026-06-04T14:14:33.5811974Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T14:14:33.5812679Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T14:14:33.5813171Z       "requiredStages": [
2026-06-04T14:14:33.5813603Z         "impl",
2026-06-04T14:14:33.5814029Z         "unit"
2026-06-04T14:14:33.5814456Z       ],
2026-06-04T14:14:33.5814874Z       "stages": {
2026-06-04T14:14:33.5815285Z         "doc": {
2026-06-04T14:14:33.5815754Z           "complete": false,
2026-06-04T14:14:33.5816216Z           "evidence": []
2026-06-04T14:14:33.5816640Z         },
2026-06-04T14:14:33.5817057Z         "impl": {
2026-06-04T14:14:33.5817511Z           "complete": true,
2026-06-04T14:14:33.5817939Z           "evidence": [
2026-06-04T14:14:33.5818350Z             {
2026-06-04T14:14:33.5818927Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.5819569Z               "line": 18
2026-06-04T14:14:33.5820200Z             },
2026-06-04T14:14:33.5820627Z             {
2026-06-04T14:14:33.5821218Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.5821654Z               "line": 304
2026-06-04T14:14:33.5822081Z             }
2026-06-04T14:14:33.5822488Z           ]
2026-06-04T14:14:33.5822899Z         },
2026-06-04T14:14:33.5823339Z         "int": {
2026-06-04T14:14:33.5823813Z           "complete": false,
2026-06-04T14:14:33.5824274Z           "evidence": []
2026-06-04T14:14:33.5824687Z         },
2026-06-04T14:14:33.5825120Z         "unit": {
2026-06-04T14:14:33.5825596Z           "complete": true,
2026-06-04T14:14:33.5826065Z           "evidence": [
2026-06-04T14:14:33.5826496Z             {
2026-06-04T14:14:33.5827116Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.5827580Z               "line": 526
2026-06-04T14:14:33.5827994Z             },
2026-06-04T14:14:33.5828426Z             {
2026-06-04T14:14:33.5829016Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.5829539Z               "line": 536
2026-06-04T14:14:33.5829983Z             }
2026-06-04T14:14:33.5830406Z           ]
2026-06-04T14:14:33.5830828Z         }
2026-06-04T14:14:33.5831239Z       }
2026-06-04T14:14:33.5831654Z     },
2026-06-04T14:14:33.5832066Z     {
2026-06-04T14:14:33.5832556Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T14:14:33.5833310Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T14:14:33.5833779Z       "requiredStages": [
2026-06-04T14:14:33.5834225Z         "impl",
2026-06-04T14:14:33.5834645Z         "unit",
2026-06-04T14:14:33.5835058Z         "int"
2026-06-04T14:14:33.5835460Z       ],
2026-06-04T14:14:33.5835896Z       "stages": {
2026-06-04T14:14:33.5836341Z         "doc": {
2026-06-04T14:14:33.5836803Z           "complete": false,
2026-06-04T14:14:33.5837284Z           "evidence": []
2026-06-04T14:14:33.5837703Z         },
2026-06-04T14:14:33.5838142Z         "impl": {
2026-06-04T14:14:33.5838611Z           "complete": true,
2026-06-04T14:14:33.5839058Z           "evidence": [
2026-06-04T14:14:33.5839543Z             {
2026-06-04T14:14:33.5840150Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T14:14:33.5840599Z               "line": 19
2026-06-04T14:14:33.5841032Z             },
2026-06-04T14:14:33.5841459Z             {
2026-06-04T14:14:33.5842359Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T14:14:33.5842883Z               "line": 12
2026-06-04T14:14:33.5843315Z             },
2026-06-04T14:14:33.5843896Z             {
2026-06-04T14:14:33.5844497Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.5844941Z               "line": 204
2026-06-04T14:14:33.5845372Z             }
2026-06-04T14:14:33.5845788Z           ]
2026-06-04T14:14:33.5846200Z         },
2026-06-04T14:14:33.5846625Z         "int": {
2026-06-04T14:14:33.5847078Z           "complete": true,
2026-06-04T14:14:33.5847527Z           "evidence": [
2026-06-04T14:14:33.5847934Z             {
2026-06-04T14:14:33.5848542Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.5848978Z               "line": 201
2026-06-04T14:14:33.5849438Z             }
2026-06-04T14:14:33.5849858Z           ]
2026-06-04T14:14:33.5850264Z         },
2026-06-04T14:14:33.5850696Z         "unit": {
2026-06-04T14:14:33.5851159Z           "complete": true,
2026-06-04T14:14:33.5851608Z           "evidence": [
2026-06-04T14:14:33.5852019Z             {
2026-06-04T14:14:33.5852599Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T14:14:33.5853070Z               "line": 161
2026-06-04T14:14:33.5853480Z             },
2026-06-04T14:14:33.5853890Z             {
2026-06-04T14:14:33.5854462Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T14:14:33.5854918Z               "line": 168
2026-06-04T14:14:33.5855334Z             },
2026-06-04T14:14:33.5855750Z             {
2026-06-04T14:14:33.5856326Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T14:14:33.5856758Z               "line": 191
2026-06-04T14:14:33.5857199Z             },
2026-06-04T14:14:33.5857613Z             {
2026-06-04T14:14:33.5858186Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T14:14:33.5858616Z               "line": 106
2026-06-04T14:14:33.5859036Z             },
2026-06-04T14:14:33.5859662Z             {
2026-06-04T14:14:33.5860445Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T14:14:33.5860914Z               "line": 123
2026-06-04T14:14:33.5861330Z             },
2026-06-04T14:14:33.5861765Z             {
2026-06-04T14:14:33.5862345Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T14:14:33.5862797Z               "line": 137
2026-06-04T14:14:33.5863224Z             }
2026-06-04T14:14:33.5863637Z           ]
2026-06-04T14:14:33.5864079Z         }
2026-06-04T14:14:33.5864503Z       }
2026-06-04T14:14:33.5864925Z     },
2026-06-04T14:14:33.5865329Z     {
2026-06-04T14:14:33.5865828Z       "id": "REQ-SEAM-RESUME",
2026-06-04T14:14:33.5866850Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T14:14:33.5867319Z       "requiredStages": [
2026-06-04T14:14:33.5867746Z         "impl",
2026-06-04T14:14:33.5868152Z         "unit"
2026-06-04T14:14:33.5868555Z       ],
2026-06-04T14:14:33.5868979Z       "stages": {
2026-06-04T14:14:33.5869463Z         "doc": {
2026-06-04T14:14:33.5869957Z           "complete": false,
2026-06-04T14:14:33.5870406Z           "evidence": []
2026-06-04T14:14:33.5870826Z         },
2026-06-04T14:14:33.5871251Z         "impl": {
2026-06-04T14:14:33.5876526Z           "complete": true,
2026-06-04T14:14:33.5877142Z           "evidence": [
2026-06-04T14:14:33.5877556Z             {
2026-06-04T14:14:33.5878143Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T14:14:33.5878568Z               "line": 19
2026-06-04T14:14:33.5878982Z             }
2026-06-04T14:14:33.5879472Z           ]
2026-06-04T14:14:33.5879888Z         },
2026-06-04T14:14:33.5880292Z         "int": {
2026-06-04T14:14:33.5880755Z           "complete": false,
2026-06-04T14:14:33.5881209Z           "evidence": []
2026-06-04T14:14:33.5881605Z         },
2026-06-04T14:14:33.5882029Z         "unit": {
2026-06-04T14:14:33.5882480Z           "complete": true,
2026-06-04T14:14:33.5882925Z           "evidence": [
2026-06-04T14:14:33.5883326Z             {
2026-06-04T14:14:33.5884391Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T14:14:33.5884919Z               "line": 168
2026-06-04T14:14:33.5885360Z             },
2026-06-04T14:14:33.5885970Z             {
2026-06-04T14:14:33.5886579Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T14:14:33.5887029Z               "line": 187
2026-06-04T14:14:33.5887447Z             },
2026-06-04T14:14:33.5887867Z             {
2026-06-04T14:14:33.5888460Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T14:14:33.5888900Z               "line": 205
2026-06-04T14:14:33.5889530Z             }
2026-06-04T14:14:33.5890118Z           ]
2026-06-04T14:14:33.5890552Z         }
2026-06-04T14:14:33.5890955Z       }
2026-06-04T14:14:33.5891375Z     },
2026-06-04T14:14:33.5891835Z     {
2026-06-04T14:14:33.5892317Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T14:14:33.5892818Z       "title": "spawn-session seam",
2026-06-04T14:14:33.5893276Z       "requiredStages": [
2026-06-04T14:14:33.5893696Z         "impl",
2026-06-04T14:14:33.5894117Z         "unit"
2026-06-04T14:14:33.5894533Z       ],
2026-06-04T14:14:33.5894953Z       "stages": {
2026-06-04T14:14:33.5895359Z         "doc": {
2026-06-04T14:14:33.5895815Z           "complete": false,
2026-06-04T14:14:33.5896253Z           "evidence": []
2026-06-04T14:14:33.5896666Z         },
2026-06-04T14:14:33.5897075Z         "impl": {
2026-06-04T14:14:33.5897549Z           "complete": true,
2026-06-04T14:14:33.5897997Z           "evidence": [
2026-06-04T14:14:33.5898407Z             {
2026-06-04T14:14:33.5899038Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5899694Z               "line": 20
2026-06-04T14:14:33.5900280Z             }
2026-06-04T14:14:33.5900682Z           ]
2026-06-04T14:14:33.5901092Z         },
2026-06-04T14:14:33.5901503Z         "int": {
2026-06-04T14:14:33.5901948Z           "complete": false,
2026-06-04T14:14:33.5902387Z           "evidence": []
2026-06-04T14:14:33.5902785Z         },
2026-06-04T14:14:33.5903215Z         "unit": {
2026-06-04T14:14:33.5903868Z           "complete": true,
2026-06-04T14:14:33.5904423Z           "evidence": [
2026-06-04T14:14:33.5904907Z             {
2026-06-04T14:14:33.5905716Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5906171Z               "line": 397
2026-06-04T14:14:33.5906577Z             },
2026-06-04T14:14:33.5906986Z             {
2026-06-04T14:14:33.5907614Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5908060Z               "line": 404
2026-06-04T14:14:33.5908479Z             },
2026-06-04T14:14:33.5908908Z             {
2026-06-04T14:14:33.5909771Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5910388Z               "line": 414
2026-06-04T14:14:33.5910826Z             },
2026-06-04T14:14:33.5911239Z             {
2026-06-04T14:14:33.5911879Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5912327Z               "line": 420
2026-06-04T14:14:33.5912759Z             },
2026-06-04T14:14:33.5913179Z             {
2026-06-04T14:14:33.5913785Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5914253Z               "line": 440
2026-06-04T14:14:33.5914665Z             },
2026-06-04T14:14:33.5915090Z             {
2026-06-04T14:14:33.5915717Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T14:14:33.5916159Z               "line": 473
2026-06-04T14:14:33.5916583Z             }
2026-06-04T14:14:33.5916994Z           ]
2026-06-04T14:14:33.5917419Z         }
2026-06-04T14:14:33.5917821Z       }
2026-06-04T14:14:33.5918228Z     },
2026-06-04T14:14:33.5918643Z     {
2026-06-04T14:14:33.5919110Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T14:14:33.5920038Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T14:14:33.5920497Z       "requiredStages": [
2026-06-04T14:14:33.5920934Z         "impl",
2026-06-04T14:14:33.5921343Z         "unit"
2026-06-04T14:14:33.5921760Z       ],
2026-06-04T14:14:33.5922588Z       "stages": {
2026-06-04T14:14:33.5923077Z         "doc": {
2026-06-04T14:14:33.5923524Z           "complete": false,
2026-06-04T14:14:33.5923956Z           "evidence": []
2026-06-04T14:14:33.5924548Z         },
2026-06-04T14:14:33.5924976Z         "impl": {
2026-06-04T14:14:33.5925473Z           "complete": true,
2026-06-04T14:14:33.5925926Z           "evidence": [
2026-06-04T14:14:33.5926330Z             {
2026-06-04T14:14:33.5927030Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.5927463Z               "line": 28
2026-06-04T14:14:33.5927873Z             },
2026-06-04T14:14:33.5928274Z             {
2026-06-04T14:14:33.5928946Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.5929479Z               "line": 83
2026-06-04T14:14:33.5929893Z             }
2026-06-04T14:14:33.5930307Z           ]
2026-06-04T14:14:33.5930713Z         },
2026-06-04T14:14:33.5931140Z         "int": {
2026-06-04T14:14:33.5931602Z           "complete": false,
2026-06-04T14:14:33.5932050Z           "evidence": []
2026-06-04T14:14:33.5932457Z         },
2026-06-04T14:14:33.5932876Z         "unit": {
2026-06-04T14:14:33.5933380Z           "complete": true,
2026-06-04T14:14:33.5933872Z           "evidence": [
2026-06-04T14:14:33.5934310Z             {
2026-06-04T14:14:33.5935002Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.5935468Z               "line": 248
2026-06-04T14:14:33.5935904Z             },
2026-06-04T14:14:33.5936318Z             {
2026-06-04T14:14:33.5937011Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.5937454Z               "line": 259
2026-06-04T14:14:33.5937863Z             }
2026-06-04T14:14:33.5938262Z           ]
2026-06-04T14:14:33.5938673Z         }
2026-06-04T14:14:33.5939085Z       }
2026-06-04T14:14:33.5939550Z     },
2026-06-04T14:14:33.5939976Z     {
2026-06-04T14:14:33.5940453Z       "id": "REQ-SEC-1",
2026-06-04T14:14:33.5942808Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T14:14:33.5943311Z       "requiredStages": [
2026-06-04T14:14:33.5943723Z         "impl",
2026-06-04T14:14:33.5944134Z         "unit"
2026-06-04T14:14:33.5944538Z       ],
2026-06-04T14:14:33.5944996Z       "stages": {
2026-06-04T14:14:33.5945422Z         "doc": {
2026-06-04T14:14:33.5945894Z           "complete": false,
2026-06-04T14:14:33.5946353Z           "evidence": []
2026-06-04T14:14:33.5946803Z         },
2026-06-04T14:14:33.5947243Z         "impl": {
2026-06-04T14:14:33.5947703Z           "complete": true,
2026-06-04T14:14:33.5948145Z           "evidence": [
2026-06-04T14:14:33.5948559Z             {
2026-06-04T14:14:33.5949239Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.5949882Z               "line": 84
2026-06-04T14:14:33.5950460Z             },
2026-06-04T14:14:33.5950883Z             {
2026-06-04T14:14:33.5951520Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.5951986Z               "line": 114
2026-06-04T14:14:33.5952408Z             },
2026-06-04T14:14:33.5952832Z             {
2026-06-04T14:14:33.5953440Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.5953881Z               "line": 128
2026-06-04T14:14:33.5954290Z             },
2026-06-04T14:14:33.5954684Z             {
2026-06-04T14:14:33.5955271Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5955721Z               "line": 108
2026-06-04T14:14:33.5956137Z             },
2026-06-04T14:14:33.5961627Z             {
2026-06-04T14:14:33.5962428Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5962877Z               "line": 129
2026-06-04T14:14:33.5963284Z             },
2026-06-04T14:14:33.5963690Z             {
2026-06-04T14:14:33.5964268Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5964707Z               "line": 142
2026-06-04T14:14:33.5965597Z             },
2026-06-04T14:14:33.5966047Z             {
2026-06-04T14:14:33.5966650Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5967285Z               "line": 208
2026-06-04T14:14:33.5967706Z             },
2026-06-04T14:14:33.5968105Z             {
2026-06-04T14:14:33.5968691Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5969133Z               "line": 234
2026-06-04T14:14:33.5969794Z             },
2026-06-04T14:14:33.5970363Z             {
2026-06-04T14:14:33.5970887Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5971336Z               "line": 1208
2026-06-04T14:14:33.5971730Z             }
2026-06-04T14:14:33.5972139Z           ]
2026-06-04T14:14:33.5972552Z         },
2026-06-04T14:14:33.5972962Z         "int": {
2026-06-04T14:14:33.5973425Z           "complete": false,
2026-06-04T14:14:33.5973863Z           "evidence": []
2026-06-04T14:14:33.5974275Z         },
2026-06-04T14:14:33.5974702Z         "unit": {
2026-06-04T14:14:33.5975172Z           "complete": true,
2026-06-04T14:14:33.5975630Z           "evidence": [
2026-06-04T14:14:33.5976032Z             {
2026-06-04T14:14:33.5976651Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.5977084Z               "line": 140
2026-06-04T14:14:33.5977492Z             },
2026-06-04T14:14:33.5977887Z             {
2026-06-04T14:14:33.5978483Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.5978919Z               "line": 186
2026-06-04T14:14:33.5979383Z             },
2026-06-04T14:14:33.5979809Z             {
2026-06-04T14:14:33.5980411Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T14:14:33.5980865Z               "line": 218
2026-06-04T14:14:33.5981283Z             },
2026-06-04T14:14:33.5981725Z             {
2026-06-04T14:14:33.5982370Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T14:14:33.5982799Z               "line": 128
2026-06-04T14:14:33.5983236Z             },
2026-06-04T14:14:33.5983633Z             {
2026-06-04T14:14:33.5984224Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5984674Z               "line": 248
2026-06-04T14:14:33.5985112Z             },
2026-06-04T14:14:33.5985539Z             {
2026-06-04T14:14:33.5986132Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5986587Z               "line": 275
2026-06-04T14:14:33.5986995Z             },
2026-06-04T14:14:33.5987411Z             {
2026-06-04T14:14:33.5988049Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5988540Z               "line": 299
2026-06-04T14:14:33.5988975Z             },
2026-06-04T14:14:33.5989482Z             {
2026-06-04T14:14:33.5990101Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5990539Z               "line": 310
2026-06-04T14:14:33.5990978Z             },
2026-06-04T14:14:33.5991428Z             {
2026-06-04T14:14:33.5992051Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5992552Z               "line": 334
2026-06-04T14:14:33.5992974Z             },
2026-06-04T14:14:33.5993388Z             {
2026-06-04T14:14:33.5994008Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T14:14:33.5994478Z               "line": 350
2026-06-04T14:14:33.5994933Z             },
2026-06-04T14:14:33.5995359Z             {
2026-06-04T14:14:33.5995933Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.5996405Z               "line": 1489
2026-06-04T14:14:33.5996829Z             }
2026-06-04T14:14:33.5997239Z           ]
2026-06-04T14:14:33.5997658Z         }
2026-06-04T14:14:33.5998067Z       }
2026-06-04T14:14:33.5998473Z     },
2026-06-04T14:14:33.5998903Z     {
2026-06-04T14:14:33.5999603Z       "id": "REQ-START-1",
2026-06-04T14:14:33.6000848Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T14:14:33.6001324Z       "requiredStages": [
2026-06-04T14:14:33.6001743Z         "impl",
2026-06-04T14:14:33.6002488Z         "unit"
2026-06-04T14:14:33.6002967Z       ],
2026-06-04T14:14:33.6003434Z       "stages": {
2026-06-04T14:14:33.6003870Z         "doc": {
2026-06-04T14:14:33.6004542Z           "complete": false,
2026-06-04T14:14:33.6004997Z           "evidence": []
2026-06-04T14:14:33.6005439Z         },
2026-06-04T14:14:33.6005891Z         "impl": {
2026-06-04T14:14:33.6006350Z           "complete": true,
2026-06-04T14:14:33.6006795Z           "evidence": [
2026-06-04T14:14:33.6007207Z             {
2026-06-04T14:14:33.6007817Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T14:14:33.6008246Z               "line": 16
2026-06-04T14:14:33.6008672Z             }
2026-06-04T14:14:33.6009094Z           ]
2026-06-04T14:14:33.6009781Z         },
2026-06-04T14:14:33.6010371Z         "int": {
2026-06-04T14:14:33.6010825Z           "complete": false,
2026-06-04T14:14:33.6011286Z           "evidence": []
2026-06-04T14:14:33.6011696Z         },
2026-06-04T14:14:33.6012140Z         "unit": {
2026-06-04T14:14:33.6012611Z           "complete": true,
2026-06-04T14:14:33.6013062Z           "evidence": [
2026-06-04T14:14:33.6013490Z             {
2026-06-04T14:14:33.6014100Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T14:14:33.6014561Z               "line": 43
2026-06-04T14:14:33.6014964Z             },
2026-06-04T14:14:33.6015385Z             {
2026-06-04T14:14:33.6015979Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T14:14:33.6016416Z               "line": 59
2026-06-04T14:14:33.6016836Z             }
2026-06-04T14:14:33.6017243Z           ]
2026-06-04T14:14:33.6017655Z         }
2026-06-04T14:14:33.6018064Z       }
2026-06-04T14:14:33.6018486Z     },
2026-06-04T14:14:33.6018892Z     {
2026-06-04T14:14:33.6019591Z       "id": "REQ-START-2",
2026-06-04T14:14:33.6020532Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T14:14:33.6021012Z       "requiredStages": [
2026-06-04T14:14:33.6021454Z         "impl",
2026-06-04T14:14:33.6021884Z         "unit",
2026-06-04T14:14:33.6022325Z         "int"
2026-06-04T14:14:33.6022749Z       ],
2026-06-04T14:14:33.6023171Z       "stages": {
2026-06-04T14:14:33.6023605Z         "doc": {
2026-06-04T14:14:33.6024057Z           "complete": false,
2026-06-04T14:14:33.6024499Z           "evidence": []
2026-06-04T14:14:33.6024914Z         },
2026-06-04T14:14:33.6025370Z         "impl": {
2026-06-04T14:14:33.6025837Z           "complete": true,
2026-06-04T14:14:33.6026288Z           "evidence": [
2026-06-04T14:14:33.6026705Z             {
2026-06-04T14:14:33.6027295Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6027744Z               "line": 16
2026-06-04T14:14:33.6028169Z             },
2026-06-04T14:14:33.6028586Z             {
2026-06-04T14:14:33.6029239Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6029699Z               "line": 97
2026-06-04T14:14:33.6030136Z             },
2026-06-04T14:14:33.6030558Z             {
2026-06-04T14:14:33.6031172Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6031622Z               "line": 203
2026-06-04T14:14:33.6032048Z             }
2026-06-04T14:14:33.6032479Z           ]
2026-06-04T14:14:33.6032886Z         },
2026-06-04T14:14:33.6033310Z         "int": {
2026-06-04T14:14:33.6033758Z           "complete": true,
2026-06-04T14:14:33.6034205Z           "evidence": [
2026-06-04T14:14:33.6034616Z             {
2026-06-04T14:14:33.6035225Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.6035687Z               "line": 150
2026-06-04T14:14:33.6036108Z             }
2026-06-04T14:14:33.6036560Z           ]
2026-06-04T14:14:33.6036987Z         },
2026-06-04T14:14:33.6037427Z         "unit": {
2026-06-04T14:14:33.6037884Z           "complete": true,
2026-06-04T14:14:33.6038330Z           "evidence": [
2026-06-04T14:14:33.6038753Z             {
2026-06-04T14:14:33.6039416Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6040212Z               "line": 411
2026-06-04T14:14:33.6040707Z             },
2026-06-04T14:14:33.6045904Z             {
2026-06-04T14:14:33.6046640Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6047505Z               "line": 444
2026-06-04T14:14:33.6047920Z             }
2026-06-04T14:14:33.6048332Z           ]
2026-06-04T14:14:33.6048749Z         }
2026-06-04T14:14:33.6049432Z       }
2026-06-04T14:14:33.6049934Z     },
2026-06-04T14:14:33.6050511Z     {
2026-06-04T14:14:33.6050991Z       "id": "REQ-START-3",
2026-06-04T14:14:33.6051926Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T14:14:33.6052409Z       "requiredStages": [
2026-06-04T14:14:33.6052839Z         "impl",
2026-06-04T14:14:33.6053284Z         "unit",
2026-06-04T14:14:33.6053712Z         "int"
2026-06-04T14:14:33.6054139Z       ],
2026-06-04T14:14:33.6054573Z       "stages": {
2026-06-04T14:14:33.6055003Z         "doc": {
2026-06-04T14:14:33.6055467Z           "complete": false,
2026-06-04T14:14:33.6055951Z           "evidence": []
2026-06-04T14:14:33.6056362Z         },
2026-06-04T14:14:33.6056797Z         "impl": {
2026-06-04T14:14:33.6057265Z           "complete": true,
2026-06-04T14:14:33.6057738Z           "evidence": [
2026-06-04T14:14:33.6058147Z             {
2026-06-04T14:14:33.6058791Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T14:14:33.6059305Z               "line": 23
2026-06-04T14:14:33.6059734Z             },
2026-06-04T14:14:33.6060159Z             {
2026-06-04T14:14:33.6060776Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T14:14:33.6061231Z               "line": 167
2026-06-04T14:14:33.6061641Z             },
2026-06-04T14:14:33.6062048Z             {
2026-06-04T14:14:33.6062673Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T14:14:33.6063120Z               "line": 180
2026-06-04T14:14:33.6063539Z             },
2026-06-04T14:14:33.6063953Z             {
2026-06-04T14:14:33.6064566Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6065016Z               "line": 17
2026-06-04T14:14:33.6065419Z             },
2026-06-04T14:14:33.6065839Z             {
2026-06-04T14:14:33.6066437Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6066884Z               "line": 43
2026-06-04T14:14:33.6067309Z             },
2026-06-04T14:14:33.6067741Z             {
2026-06-04T14:14:33.6068369Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6068816Z               "line": 98
2026-06-04T14:14:33.6069308Z             }
2026-06-04T14:14:33.6069744Z           ]
2026-06-04T14:14:33.6070160Z         },
2026-06-04T14:14:33.6070590Z         "int": {
2026-06-04T14:14:33.6071054Z           "complete": true,
2026-06-04T14:14:33.6071515Z           "evidence": [
2026-06-04T14:14:33.6071928Z             {
2026-06-04T14:14:33.6072550Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T14:14:33.6072994Z               "line": 321
2026-06-04T14:14:33.6073421Z             }
2026-06-04T14:14:33.6073836Z           ]
2026-06-04T14:14:33.6074252Z         },
2026-06-04T14:14:33.6074669Z         "unit": {
2026-06-04T14:14:33.6075128Z           "complete": true,
2026-06-04T14:14:33.6075572Z           "evidence": [
2026-06-04T14:14:33.6075974Z             {
2026-06-04T14:14:33.6076594Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T14:14:33.6077036Z               "line": 245
2026-06-04T14:14:33.6077464Z             },
2026-06-04T14:14:33.6077882Z             {
2026-06-04T14:14:33.6078504Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T14:14:33.6078952Z               "line": 263
2026-06-04T14:14:33.6079417Z             },
2026-06-04T14:14:33.6079848Z             {
2026-06-04T14:14:33.6080470Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T14:14:33.6080925Z               "line": 273
2026-06-04T14:14:33.6081358Z             },
2026-06-04T14:14:33.6081767Z             {
2026-06-04T14:14:33.6082714Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6083233Z               "line": 412
2026-06-04T14:14:33.6083669Z             },
2026-06-04T14:14:33.6084266Z             {
2026-06-04T14:14:33.6084879Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6085329Z               "line": 445
2026-06-04T14:14:33.6085738Z             },
2026-06-04T14:14:33.6086150Z             {
2026-06-04T14:14:33.6086728Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T14:14:33.6087178Z               "line": 453
2026-06-04T14:14:33.6087586Z             }
2026-06-04T14:14:33.6088011Z           ]
2026-06-04T14:14:33.6088436Z         }
2026-06-04T14:14:33.6088838Z       }
2026-06-04T14:14:33.6089454Z     },
2026-06-04T14:14:33.6089932Z     {
2026-06-04T14:14:33.6090595Z       "id": "REQ-START-4",
2026-06-04T14:14:33.6091353Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T14:14:33.6091846Z       "requiredStages": [
2026-06-04T14:14:33.6092301Z         "impl",
2026-06-04T14:14:33.6092723Z         "unit"
2026-06-04T14:14:33.6093150Z       ],
2026-06-04T14:14:33.6093580Z       "stages": {
2026-06-04T14:14:33.6094027Z         "doc": {
2026-06-04T14:14:33.6094494Z           "complete": false,
2026-06-04T14:14:33.6094956Z           "evidence": []
2026-06-04T14:14:33.6095375Z         },
2026-06-04T14:14:33.6095795Z         "impl": {
2026-06-04T14:14:33.6096263Z           "complete": true,
2026-06-04T14:14:33.6096691Z           "evidence": [
2026-06-04T14:14:33.6097102Z             {
2026-06-04T14:14:33.6097724Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.6098184Z               "line": 249
2026-06-04T14:14:33.6098607Z             }
2026-06-04T14:14:33.6099019Z           ]
2026-06-04T14:14:33.6099676Z         },
2026-06-04T14:14:33.6100146Z         "int": {
2026-06-04T14:14:33.6100676Z           "complete": false,
2026-06-04T14:14:33.6101186Z           "evidence": []
2026-06-04T14:14:33.6101631Z         },
2026-06-04T14:14:33.6102174Z         "unit": {
2026-06-04T14:14:33.6102662Z           "complete": true,
2026-06-04T14:14:33.6103287Z           "evidence": [
2026-06-04T14:14:33.6103713Z             {
2026-06-04T14:14:33.6104394Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T14:14:33.6104879Z               "line": 442
2026-06-04T14:14:33.6105319Z             }
2026-06-04T14:14:33.6105763Z           ]
2026-06-04T14:14:33.6106205Z         }
2026-06-04T14:14:33.6106647Z       }
2026-06-04T14:14:33.6107052Z     },
2026-06-04T14:14:33.6107460Z     {
2026-06-04T14:14:33.6107922Z       "id": "REQ-STORE-1",
2026-06-04T14:14:33.6113642Z       "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-04T14:14:33.6114204Z       "requiredStages": [
2026-06-04T14:14:33.6114687Z         "impl",
2026-06-04T14:14:33.6115288Z         "unit"
2026-06-04T14:14:33.6115702Z       ],
2026-06-04T14:14:33.6116126Z       "stages": {
2026-06-04T14:14:33.6116563Z         "doc": {
2026-06-04T14:14:33.6117022Z           "complete": false,
2026-06-04T14:14:33.6117470Z           "evidence": []
2026-06-04T14:14:33.6117874Z         },
2026-06-04T14:14:33.6118304Z         "impl": {
2026-06-04T14:14:33.6118763Z           "complete": true,
2026-06-04T14:14:33.6119291Z           "evidence": [
2026-06-04T14:14:33.6119719Z             {
2026-06-04T14:14:33.6120371Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6120816Z               "line": 23
2026-06-04T14:14:33.6121230Z             },
2026-06-04T14:14:33.6121654Z             {
2026-06-04T14:14:33.6122309Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6122755Z               "line": 46
2026-06-04T14:14:33.6123176Z             },
2026-06-04T14:14:33.6123578Z             {
2026-06-04T14:14:33.6124581Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6125079Z               "line": 88
2026-06-04T14:14:33.6125671Z             },
2026-06-04T14:14:33.6126083Z             {
2026-06-04T14:14:33.6126749Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6127208Z               "line": 109
2026-06-04T14:14:33.6127624Z             },
2026-06-04T14:14:33.6128054Z             {
2026-06-04T14:14:33.6128698Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6129148Z               "line": 152
2026-06-04T14:14:33.6129853Z             },
2026-06-04T14:14:33.6130420Z             {
2026-06-04T14:14:33.6136272Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6136864Z               "line": 165
2026-06-04T14:14:33.6137290Z             },
2026-06-04T14:14:33.6137698Z             {
2026-06-04T14:14:33.6138353Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6138836Z               "line": 353
2026-06-04T14:14:33.6139469Z             },
2026-06-04T14:14:33.6140070Z             {
2026-06-04T14:14:33.6140746Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6141194Z               "line": 25
2026-06-04T14:14:33.6141603Z             },
2026-06-04T14:14:33.6142015Z             {
2026-06-04T14:14:33.6142685Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6143102Z               "line": 92
2026-06-04T14:14:33.6143507Z             },
2026-06-04T14:14:33.6143914Z             {
2026-06-04T14:14:33.6144578Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6145014Z               "line": 117
2026-06-04T14:14:33.6145439Z             },
2026-06-04T14:14:33.6145859Z             {
2026-06-04T14:14:33.6146524Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6146979Z               "line": 131
2026-06-04T14:14:33.6147391Z             },
2026-06-04T14:14:33.6147821Z             {
2026-06-04T14:14:33.6148496Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6148970Z               "line": 145
2026-06-04T14:14:33.6149478Z             },
2026-06-04T14:14:33.6149903Z             {
2026-06-04T14:14:33.6150567Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6150995Z               "line": 154
2026-06-04T14:14:33.6151418Z             },
2026-06-04T14:14:33.6151826Z             {
2026-06-04T14:14:33.6152452Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T14:14:33.6152924Z               "line": 16
2026-06-04T14:14:33.6153339Z             },
2026-06-04T14:14:33.6153752Z             {
2026-06-04T14:14:33.6154348Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T14:14:33.6154800Z               "line": 63
2026-06-04T14:14:33.6155219Z             }
2026-06-04T14:14:33.6155641Z           ]
2026-06-04T14:14:33.6156104Z         },
2026-06-04T14:14:33.6156572Z         "int": {
2026-06-04T14:14:33.6157062Z           "complete": false,
2026-06-04T14:14:33.6157513Z           "evidence": []
2026-06-04T14:14:33.6157948Z         },
2026-06-04T14:14:33.6158393Z         "unit": {
2026-06-04T14:14:33.6158868Z           "complete": true,
2026-06-04T14:14:33.6159389Z           "evidence": [
2026-06-04T14:14:33.6159815Z             {
2026-06-04T14:14:33.6160481Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6160917Z               "line": 391
2026-06-04T14:14:33.6161331Z             },
2026-06-04T14:14:33.6161766Z             {
2026-06-04T14:14:33.6162419Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6162894Z               "line": 401
2026-06-04T14:14:33.6163312Z             },
2026-06-04T14:14:33.6163756Z             {
2026-06-04T14:14:33.6164412Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6164866Z               "line": 421
2026-06-04T14:14:33.6165292Z             },
2026-06-04T14:14:33.6166151Z             {
2026-06-04T14:14:33.6166896Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6167560Z               "line": 437
2026-06-04T14:14:33.6167992Z             },
2026-06-04T14:14:33.6168409Z             {
2026-06-04T14:14:33.6169062Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T14:14:33.6169576Z               "line": 458
2026-06-04T14:14:33.6169992Z             },
2026-06-04T14:14:33.6170416Z             {
2026-06-04T14:14:33.6171065Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6171512Z               "line": 418
2026-06-04T14:14:33.6171917Z             },
2026-06-04T14:14:33.6172327Z             {
2026-06-04T14:14:33.6172990Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T14:14:33.6173432Z               "line": 448
2026-06-04T14:14:33.6173864Z             },
2026-06-04T14:14:33.6174304Z             {
2026-06-04T14:14:33.6174955Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T14:14:33.6175421Z               "line": 116
2026-06-04T14:14:33.6175858Z             },
2026-06-04T14:14:33.6176292Z             {
2026-06-04T14:14:33.6176905Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T14:14:33.6177371Z               "line": 124
2026-06-04T14:14:33.6177791Z             }
2026-06-04T14:14:33.6178203Z           ]
2026-06-04T14:14:33.6178608Z         }
2026-06-04T14:14:33.6179037Z       }
2026-06-04T14:14:33.6179685Z     },
2026-06-04T14:14:33.6180303Z     {
2026-06-04T14:14:33.6180776Z       "id": "REQ-TERM-1",
2026-06-04T14:14:33.6181699Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T14:14:33.6182195Z       "requiredStages": [
2026-06-04T14:14:33.6182632Z         "impl",
2026-06-04T14:14:33.6183075Z         "unit"
2026-06-04T14:14:33.6183498Z       ],
2026-06-04T14:14:33.6183932Z       "stages": {
2026-06-04T14:14:33.6184365Z         "doc": {
2026-06-04T14:14:33.6184843Z           "complete": false,
2026-06-04T14:14:33.6185323Z           "evidence": []
2026-06-04T14:14:33.6185738Z         },
2026-06-04T14:14:33.6186183Z         "impl": {
2026-06-04T14:14:33.6186670Z           "complete": true,
2026-06-04T14:14:33.6187105Z           "evidence": [
2026-06-04T14:14:33.6187544Z             {
2026-06-04T14:14:33.6188132Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T14:14:33.6188637Z               "line": 61
2026-06-04T14:14:33.6189069Z             },
2026-06-04T14:14:33.6189580Z             {
2026-06-04T14:14:33.6190171Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T14:14:33.6190630Z               "line": 169
2026-06-04T14:14:33.6191063Z             },
2026-06-04T14:14:33.6191476Z             {
2026-06-04T14:14:33.6192070Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T14:14:33.6192497Z               "line": 95
2026-06-04T14:14:33.6192918Z             }
2026-06-04T14:14:33.6193335Z           ]
2026-06-04T14:14:33.6193741Z         },
2026-06-04T14:14:33.6194180Z         "int": {
2026-06-04T14:14:33.6194628Z           "complete": false,
2026-06-04T14:14:33.6195075Z           "evidence": []
2026-06-04T14:14:33.6195494Z         },
2026-06-04T14:14:33.6195925Z         "unit": {
2026-06-04T14:14:33.6196386Z           "complete": true,
2026-06-04T14:14:33.6196812Z           "evidence": [
2026-06-04T14:14:33.6197236Z             {
2026-06-04T14:14:33.6197848Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T14:14:33.6198285Z               "line": 28
2026-06-04T14:14:33.6198696Z             },
2026-06-04T14:14:33.6199115Z             {
2026-06-04T14:14:33.6199791Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T14:14:33.6200235Z               "line": 60
2026-06-04T14:14:33.6200681Z             }
2026-06-04T14:14:33.6201088Z           ]
2026-06-04T14:14:33.6201507Z         }
2026-06-04T14:14:33.6201913Z       }
2026-06-04T14:14:33.6202333Z     },
2026-06-04T14:14:33.6202772Z     {
2026-06-04T14:14:33.6203582Z       "id": "REQ-TERM-2",
2026-06-04T14:14:33.6204628Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T14:14:33.6205298Z       "requiredStages": [
2026-06-04T14:14:33.6205749Z         "impl",
2026-06-04T14:14:33.6206176Z         "unit"
2026-06-04T14:14:33.6206612Z       ],
2026-06-04T14:14:33.6207051Z       "stages": {
2026-06-04T14:14:33.6207479Z         "doc": {
2026-06-04T14:14:33.6207958Z           "complete": false,
2026-06-04T14:14:33.6208392Z           "evidence": []
2026-06-04T14:14:33.6208817Z         },
2026-06-04T14:14:33.6209460Z         "impl": {
2026-06-04T14:14:33.6210135Z           "complete": true,
2026-06-04T14:14:33.6210604Z           "evidence": [
2026-06-04T14:14:33.6211008Z             {
2026-06-04T14:14:33.6211598Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T14:14:33.6212033Z               "line": 112
2026-06-04T14:14:33.6212443Z             },
2026-06-04T14:14:33.6212845Z             {
2026-06-04T14:14:33.6213458Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T14:14:33.6213911Z               "line": 122
2026-06-04T14:14:33.6214329Z             }
2026-06-04T14:14:33.6214781Z           ]
2026-06-04T14:14:33.6215257Z         },
2026-06-04T14:14:33.6215715Z         "int": {
2026-06-04T14:14:33.6221606Z           "complete": false,
2026-06-04T14:14:33.6222261Z           "evidence": []
2026-06-04T14:14:33.6222689Z         },
2026-06-04T14:14:33.6223094Z         "unit": {
2026-06-04T14:14:33.6223546Z           "complete": true,
2026-06-04T14:14:33.6223970Z           "evidence": [
2026-06-04T14:14:33.6224380Z             {
2026-06-04T14:14:33.6224988Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T14:14:33.6225434Z               "line": 46
2026-06-04T14:14:33.6225855Z             },
2026-06-04T14:14:33.6226268Z             {
2026-06-04T14:14:33.6226890Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T14:14:33.6227328Z               "line": 71
2026-06-04T14:14:33.6227794Z             }
2026-06-04T14:14:33.6228214Z           ]
2026-06-04T14:14:33.6228639Z         }
2026-06-04T14:14:33.6229054Z       }
2026-06-04T14:14:33.6229780Z     },
2026-06-04T14:14:33.6230362Z     {
2026-06-04T14:14:33.6230822Z       "id": "REQ-TERM-3",
2026-06-04T14:14:33.6231574Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T14:14:33.6232054Z       "requiredStages": [
2026-06-04T14:14:33.6232504Z         "impl",
2026-06-04T14:14:33.6232948Z         "unit"
2026-06-04T14:14:33.6233359Z       ],
2026-06-04T14:14:33.6233800Z       "stages": {
2026-06-04T14:14:33.6234211Z         "doc": {
2026-06-04T14:14:33.6234686Z           "complete": false,
2026-06-04T14:14:33.6235143Z           "evidence": []
2026-06-04T14:14:33.6235571Z         },
2026-06-04T14:14:33.6236003Z         "impl": {
2026-06-04T14:14:33.6236465Z           "complete": true,
2026-06-04T14:14:33.6236929Z           "evidence": [
2026-06-04T14:14:33.6237339Z             {
2026-06-04T14:14:33.6237954Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T14:14:33.6238390Z               "line": 71
2026-06-04T14:14:33.6238818Z             }
2026-06-04T14:14:33.6239314Z           ]
2026-06-04T14:14:33.6239750Z         },
2026-06-04T14:14:33.6240192Z         "int": {
2026-06-04T14:14:33.6240664Z           "complete": false,
2026-06-04T14:14:33.6241121Z           "evidence": []
2026-06-04T14:14:33.6241531Z         },
2026-06-04T14:14:33.6241968Z         "unit": {
2026-06-04T14:14:33.6242438Z           "complete": true,
2026-06-04T14:14:33.6242877Z           "evidence": [
2026-06-04T14:14:33.6243309Z             {
2026-06-04T14:14:33.6243917Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T14:14:33.6244360Z               "line": 37
2026-06-04T14:14:33.6244763Z             },
2026-06-04T14:14:33.6245172Z             {
2026-06-04T14:14:33.6245781Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T14:14:33.6246210Z               "line": 67
2026-06-04T14:14:33.6246630Z             }
2026-06-04T14:14:33.6247508Z           ]
2026-06-04T14:14:33.6248006Z         }
2026-06-04T14:14:33.6248415Z       }
2026-06-04T14:14:33.6248838Z     },
2026-06-04T14:14:33.6249521Z     {
2026-06-04T14:14:33.6249997Z       "id": "REQ-TERM-4",
2026-06-04T14:14:33.6252132Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T14:14:33.6252634Z       "requiredStages": [
2026-06-04T14:14:33.6253066Z         "impl",
2026-06-04T14:14:33.6253479Z         "unit",
2026-06-04T14:14:33.6253911Z         "int"
2026-06-04T14:14:33.6254335Z       ],
2026-06-04T14:14:33.6254762Z       "stages": {
2026-06-04T14:14:33.6255184Z         "doc": {
2026-06-04T14:14:33.6255619Z           "complete": true,
2026-06-04T14:14:33.6256060Z           "evidence": [
2026-06-04T14:14:33.6256467Z             {
2026-06-04T14:14:33.6256968Z               "path": "docs/MANIFEST.md",
2026-06-04T14:14:33.6257396Z               "line": 115
2026-06-04T14:14:33.6257819Z             }
2026-06-04T14:14:33.6258235Z           ]
2026-06-04T14:14:33.6258646Z         },
2026-06-04T14:14:33.6259078Z         "impl": {
2026-06-04T14:14:33.6259615Z           "complete": true,
2026-06-04T14:14:33.6260070Z           "evidence": [
2026-06-04T14:14:33.6260492Z             {
2026-06-04T14:14:33.6261081Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T14:14:33.6261520Z               "line": 463
2026-06-04T14:14:33.6261921Z             },
2026-06-04T14:14:33.6262344Z             {
2026-06-04T14:14:33.6262953Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6263412Z               "line": 41
2026-06-04T14:14:33.6263877Z             },
2026-06-04T14:14:33.6264319Z             {
2026-06-04T14:14:33.6264979Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6265427Z               "line": 91
2026-06-04T14:14:33.6265866Z             },
2026-06-04T14:14:33.6266283Z             {
2026-06-04T14:14:33.6266914Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6267368Z               "line": 152
2026-06-04T14:14:33.6267784Z             },
2026-06-04T14:14:33.6268233Z             {
2026-06-04T14:14:33.6268872Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6269543Z               "line": 212
2026-06-04T14:14:33.6270154Z             },
2026-06-04T14:14:33.6270583Z             {
2026-06-04T14:14:33.6271268Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6271713Z               "line": 20
2026-06-04T14:14:33.6272139Z             },
2026-06-04T14:14:33.6272559Z             {
2026-06-04T14:14:33.6273217Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6273677Z               "line": 212
2026-06-04T14:14:33.6274097Z             },
2026-06-04T14:14:33.6274535Z             {
2026-06-04T14:14:33.6275184Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6275644Z               "line": 226
2026-06-04T14:14:33.6276073Z             },
2026-06-04T14:14:33.6276515Z             {
2026-06-04T14:14:33.6277166Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.6277621Z               "line": 585
2026-06-04T14:14:33.6278037Z             },
2026-06-04T14:14:33.6278433Z             {
2026-06-04T14:14:33.6279023Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6279714Z               "line": 157
2026-06-04T14:14:33.6280327Z             },
2026-06-04T14:14:33.6280749Z             {
2026-06-04T14:14:33.6281343Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6281789Z               "line": 199
2026-06-04T14:14:33.6282198Z             },
2026-06-04T14:14:33.6282629Z             {
2026-06-04T14:14:33.6283246Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6283718Z               "line": 226
2026-06-04T14:14:33.6284144Z             },
2026-06-04T14:14:33.6284548Z             {
2026-06-04T14:14:33.6285436Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.6285955Z               "line": 338
2026-06-04T14:14:33.6286386Z             }
2026-06-04T14:14:33.6287045Z           ]
2026-06-04T14:14:33.6287486Z         },
2026-06-04T14:14:33.6287927Z         "int": {
2026-06-04T14:14:33.6288374Z           "complete": true,
2026-06-04T14:14:33.6288844Z           "evidence": [
2026-06-04T14:14:33.6289494Z             {
2026-06-04T14:14:33.6290328Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T14:14:33.6290773Z               "line": 18
2026-06-04T14:14:33.6291196Z             }
2026-06-04T14:14:33.6291615Z           ]
2026-06-04T14:14:33.6292020Z         },
2026-06-04T14:14:33.6292443Z         "unit": {
2026-06-04T14:14:33.6292896Z           "complete": true,
2026-06-04T14:14:33.6293334Z           "evidence": [
2026-06-04T14:14:33.6293735Z             {
2026-06-04T14:14:33.6294353Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6294810Z               "line": 250
2026-06-04T14:14:33.6295220Z             },
2026-06-04T14:14:33.6295638Z             {
2026-06-04T14:14:33.6296257Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6296726Z               "line": 263
2026-06-04T14:14:33.6297167Z             },
2026-06-04T14:14:33.6297586Z             {
2026-06-04T14:14:33.6298210Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6298652Z               "line": 275
2026-06-04T14:14:33.6299084Z             },
2026-06-04T14:14:33.6299570Z             {
2026-06-04T14:14:33.6300232Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6300679Z               "line": 290
2026-06-04T14:14:33.6301139Z             },
2026-06-04T14:14:33.6301577Z             {
2026-06-04T14:14:33.6307076Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6307711Z               "line": 305
2026-06-04T14:14:33.6308132Z             },
2026-06-04T14:14:33.6308550Z             {
2026-06-04T14:14:33.6309296Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6309756Z               "line": 327
2026-06-04T14:14:33.6310173Z             },
2026-06-04T14:14:33.6310702Z             {
2026-06-04T14:14:33.6311324Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6311770Z               "line": 337
2026-06-04T14:14:33.6312192Z             },
2026-06-04T14:14:33.6312603Z             {
2026-06-04T14:14:33.6313211Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T14:14:33.6313668Z               "line": 364
2026-06-04T14:14:33.6314085Z             },
2026-06-04T14:14:33.6314504Z             {
2026-06-04T14:14:33.6315158Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6315632Z               "line": 338
2026-06-04T14:14:33.6316064Z             },
2026-06-04T14:14:33.6316471Z             {
2026-06-04T14:14:33.6317117Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6317581Z               "line": 350
2026-06-04T14:14:33.6318013Z             },
2026-06-04T14:14:33.6318425Z             {
2026-06-04T14:14:33.6319075Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6319964Z               "line": 367
2026-06-04T14:14:33.6320545Z             },
2026-06-04T14:14:33.6320956Z             {
2026-06-04T14:14:33.6321594Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T14:14:33.6322039Z               "line": 378
2026-06-04T14:14:33.6322442Z             },
2026-06-04T14:14:33.6322857Z             {
2026-06-04T14:14:33.6323493Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.6323930Z               "line": 770
2026-06-04T14:14:33.6324353Z             },
2026-06-04T14:14:33.6324754Z             {
2026-06-04T14:14:33.6325385Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.6325832Z               "line": 777
2026-06-04T14:14:33.6326255Z             },
2026-06-04T14:14:33.6327115Z             {
2026-06-04T14:14:33.6327844Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.6328329Z               "line": 792
2026-06-04T14:14:33.6329003Z             },
2026-06-04T14:14:33.6329671Z             {
2026-06-04T14:14:33.6330473Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6330965Z               "line": 381
2026-06-04T14:14:33.6331401Z             },
2026-06-04T14:14:33.6331823Z             {
2026-06-04T14:14:33.6332420Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6332860Z               "line": 402
2026-06-04T14:14:33.6333285Z             },
2026-06-04T14:14:33.6333693Z             {
2026-06-04T14:14:33.6334271Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6334728Z               "line": 415
2026-06-04T14:14:33.6335131Z             },
2026-06-04T14:14:33.6335546Z             {
2026-06-04T14:14:33.6336127Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6336611Z               "line": 434
2026-06-04T14:14:33.6337049Z             },
2026-06-04T14:14:33.6337457Z             {
2026-06-04T14:14:33.6338051Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T14:14:33.6338504Z               "line": 461
2026-06-04T14:14:33.6338949Z             },
2026-06-04T14:14:33.6339440Z             {
2026-06-04T14:14:33.6340087Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T14:14:33.6340555Z               "line": 32
2026-06-04T14:14:33.6340983Z             },
2026-06-04T14:14:33.6341416Z             {
2026-06-04T14:14:33.6341960Z               "path": "crates/spt/src/cli.rs",
2026-06-04T14:14:33.6342423Z               "line": 1516
2026-06-04T14:14:33.6342826Z             }
2026-06-04T14:14:33.6343249Z           ]
2026-06-04T14:14:33.6343670Z         }
2026-06-04T14:14:33.6344084Z       }
2026-06-04T14:14:33.6344495Z     },
2026-06-04T14:14:33.6344907Z     {
2026-06-04T14:14:33.6345375Z       "id": "REQ-UPD-1",
2026-06-04T14:14:33.6345982Z       "title": "Peer-propagated update over P2P",
2026-06-04T14:14:33.6346454Z       "requiredStages": [
2026-06-04T14:14:33.6346890Z         "impl",
2026-06-04T14:14:33.6347319Z         "unit"
2026-06-04T14:14:33.6347742Z       ],
2026-06-04T14:14:33.6348165Z       "stages": {
2026-06-04T14:14:33.6348588Z         "doc": {
2026-06-04T14:14:33.6349041Z           "complete": false,
2026-06-04T14:14:33.6349578Z           "evidence": []
2026-06-04T14:14:33.6350018Z         },
2026-06-04T14:14:33.6350448Z         "impl": {
2026-06-04T14:14:33.6350933Z           "complete": true,
2026-06-04T14:14:33.6351387Z           "evidence": [
2026-06-04T14:14:33.6351812Z             {
2026-06-04T14:14:33.6352484Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.6352945Z               "line": 28
2026-06-04T14:14:33.6353381Z             },
2026-06-04T14:14:33.6353803Z             {
2026-06-04T14:14:33.6354458Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.6354922Z               "line": 74
2026-06-04T14:14:33.6355355Z             },
2026-06-04T14:14:33.6355759Z             {
2026-06-04T14:14:33.6356399Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.6356862Z               "line": 209
2026-06-04T14:14:33.6357270Z             },
2026-06-04T14:14:33.6357679Z             {
2026-06-04T14:14:33.6358280Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T14:14:33.6358715Z               "line": 22
2026-06-04T14:14:33.6359121Z             },
2026-06-04T14:14:33.6359609Z             {
2026-06-04T14:14:33.6360235Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T14:14:33.6360660Z               "line": 67
2026-06-04T14:14:33.6361076Z             },
2026-06-04T14:14:33.6361485Z             {
2026-06-04T14:14:33.6362100Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T14:14:33.6362541Z               "line": 80
2026-06-04T14:14:33.6362957Z             },
2026-06-04T14:14:33.6363367Z             {
2026-06-04T14:14:33.6364272Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T14:14:33.6364776Z               "line": 101
2026-06-04T14:14:33.6365340Z             },
2026-06-04T14:14:33.6365759Z             {
2026-06-04T14:14:33.6366399Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T14:14:33.6366854Z               "line": 37
2026-06-04T14:14:33.6367254Z             }
2026-06-04T14:14:33.6367661Z           ]
2026-06-04T14:14:33.6368079Z         },
2026-06-04T14:14:33.6368500Z         "int": {
2026-06-04T14:14:33.6368965Z           "complete": true,
2026-06-04T14:14:33.6369670Z           "evidence": [
2026-06-04T14:14:33.6370335Z             {
2026-06-04T14:14:33.6371009Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T14:14:33.6371473Z               "line": 190
2026-06-04T14:14:33.6371934Z             },
2026-06-04T14:14:33.6372359Z             {
2026-06-04T14:14:33.6373015Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-04T14:14:33.6373487Z               "line": 732
2026-06-04T14:14:33.6373927Z             }
2026-06-04T14:14:33.6374365Z           ]
2026-06-04T14:14:33.6374793Z         },
2026-06-04T14:14:33.6375224Z         "unit": {
2026-06-04T14:14:33.6375686Z           "complete": true,
2026-06-04T14:14:33.6376131Z           "evidence": [
2026-06-04T14:14:33.6376545Z             {
2026-06-04T14:14:33.6377177Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T14:14:33.6377624Z               "line": 120
2026-06-04T14:14:33.6378034Z             },
2026-06-04T14:14:33.6378447Z             {
2026-06-04T14:14:33.6379075Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T14:14:33.6379601Z               "line": 137
2026-06-04T14:14:33.6380017Z             },
2026-06-04T14:14:33.6380438Z             {
2026-06-04T14:14:33.6381099Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T14:14:33.6381538Z               "line": 201
2026-06-04T14:14:33.6381952Z             },
2026-06-04T14:14:33.6382372Z             {
2026-06-04T14:14:33.6382986Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T14:14:33.6383425Z               "line": 92
2026-06-04T14:14:33.6383847Z             },
2026-06-04T14:14:33.6384280Z             {
2026-06-04T14:14:33.6384870Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T14:14:33.6385306Z               "line": 128
2026-06-04T14:14:33.6385719Z             }
2026-06-04T14:14:33.6386135Z           ]
2026-06-04T14:14:33.6386571Z         }
2026-06-04T14:14:33.6391894Z       }
2026-06-04T14:14:33.6392483Z     },
2026-06-04T14:14:33.6392893Z     {
2026-06-04T14:14:33.6393390Z       "id": "REQ-UPD-2",
2026-06-04T14:14:33.6394156Z       "title": "All binaries signature-verified before handoff",
2026-06-04T14:14:33.6394638Z       "requiredStages": [
2026-06-04T14:14:33.6395062Z         "impl",
2026-06-04T14:14:33.6395481Z         "unit"
2026-06-04T14:14:33.6395888Z       ],
2026-06-04T14:14:33.6396317Z       "stages": {
2026-06-04T14:14:33.6396763Z         "doc": {
2026-06-04T14:14:33.6397217Z           "complete": false,
2026-06-04T14:14:33.6397660Z           "evidence": []
2026-06-04T14:14:33.6398087Z         },
2026-06-04T14:14:33.6398520Z         "impl": {
2026-06-04T14:14:33.6398989Z           "complete": true,
2026-06-04T14:14:33.6399530Z           "evidence": [
2026-06-04T14:14:33.6399961Z             {
2026-06-04T14:14:33.6400601Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.6401052Z               "line": 210
2026-06-04T14:14:33.6401486Z             },
2026-06-04T14:14:33.6401909Z             {
2026-06-04T14:14:33.6402558Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T14:14:33.6402998Z               "line": 294
2026-06-04T14:14:33.6403429Z             },
2026-06-04T14:14:33.6403834Z             {
2026-06-04T14:14:33.6404454Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6404898Z               "line": 29
2026-06-04T14:14:33.6405819Z             },
2026-06-04T14:14:33.6406328Z             {
2026-06-04T14:14:33.6406960Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6407615Z               "line": 126
2026-06-04T14:14:33.6408027Z             },
2026-06-04T14:14:33.6408440Z             {
2026-06-04T14:14:33.6409061Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6409749Z               "line": 138
2026-06-04T14:14:33.6410378Z             },
2026-06-04T14:14:33.6410807Z             {
2026-06-04T14:14:33.6411434Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6411893Z               "line": 220
2026-06-04T14:14:33.6412319Z             },
2026-06-04T14:14:33.6412761Z             {
2026-06-04T14:14:33.6413390Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6413849Z               "line": 301
2026-06-04T14:14:33.6414269Z             },
2026-06-04T14:14:33.6414697Z             {
2026-06-04T14:14:33.6415348Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6415841Z               "line": 149
2026-06-04T14:14:33.6416273Z             }
2026-06-04T14:14:33.6416705Z           ]
2026-06-04T14:14:33.6417124Z         },
2026-06-04T14:14:33.6417549Z         "int": {
2026-06-04T14:14:33.6418026Z           "complete": false,
2026-06-04T14:14:33.6418470Z           "evidence": []
2026-06-04T14:14:33.6418903Z         },
2026-06-04T14:14:33.6419566Z         "unit": {
2026-06-04T14:14:33.6420213Z           "complete": true,
2026-06-04T14:14:33.6420668Z           "evidence": [
2026-06-04T14:14:33.6421074Z             {
2026-06-04T14:14:33.6421695Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6422139Z               "line": 386
2026-06-04T14:14:33.6422570Z             },
2026-06-04T14:14:33.6422990Z             {
2026-06-04T14:14:33.6423622Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6424099Z               "line": 431
2026-06-04T14:14:33.6424528Z             },
2026-06-04T14:14:33.6424967Z             {
2026-06-04T14:14:33.6425577Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6426068Z               "line": 445
2026-06-04T14:14:33.6426504Z             },
2026-06-04T14:14:33.6426923Z             {
2026-06-04T14:14:33.6427538Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6427978Z               "line": 456
2026-06-04T14:14:33.6428406Z             },
2026-06-04T14:14:33.6428822Z             {
2026-06-04T14:14:33.6429504Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6429974Z               "line": 532
2026-06-04T14:14:33.6430381Z             },
2026-06-04T14:14:33.6430793Z             {
2026-06-04T14:14:33.6431385Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6431831Z               "line": 326
2026-06-04T14:14:33.6432252Z             },
2026-06-04T14:14:33.6432654Z             {
2026-06-04T14:14:33.6433288Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6433724Z               "line": 339
2026-06-04T14:14:33.6434148Z             },
2026-06-04T14:14:33.6434545Z             {
2026-06-04T14:14:33.6435229Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T14:14:33.6435684Z               "line": 242
2026-06-04T14:14:33.6436093Z             }
2026-06-04T14:14:33.6436506Z           ]
2026-06-04T14:14:33.6436919Z         }
2026-06-04T14:14:33.6437327Z       }
2026-06-04T14:14:33.6437726Z     },
2026-06-04T14:14:33.6438143Z     {
2026-06-04T14:14:33.6438577Z       "id": "REQ-UPD-3",
2026-06-04T14:14:33.6439596Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T14:14:33.6440095Z       "requiredStages": [
2026-06-04T14:14:33.6440522Z         "impl",
2026-06-04T14:14:33.6440951Z         "unit",
2026-06-04T14:14:33.6441374Z         "int"
2026-06-04T14:14:33.6441832Z       ],
2026-06-04T14:14:33.6442325Z       "stages": {
2026-06-04T14:14:33.6442781Z         "doc": {
2026-06-04T14:14:33.6443616Z           "complete": false,
2026-06-04T14:14:33.6444124Z           "evidence": []
2026-06-04T14:14:33.6444551Z         },
2026-06-04T14:14:33.6445191Z         "impl": {
2026-06-04T14:14:33.6445668Z           "complete": true,
2026-06-04T14:14:33.6446115Z           "evidence": [
2026-06-04T14:14:33.6446534Z             {
2026-06-04T14:14:33.6447175Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6447613Z               "line": 26
2026-06-04T14:14:33.6448030Z             },
2026-06-04T14:14:33.6448427Z             {
2026-06-04T14:14:33.6449031Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6449715Z               "line": 111
2026-06-04T14:14:33.6450204Z             },
2026-06-04T14:14:33.6450663Z             {
2026-06-04T14:14:33.6451310Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6451794Z               "line": 213
2026-06-04T14:14:33.6452241Z             }
2026-06-04T14:14:33.6452707Z           ]
2026-06-04T14:14:33.6453165Z         },
2026-06-04T14:14:33.6453620Z         "int": {
2026-06-04T14:14:33.6454116Z           "complete": true,
2026-06-04T14:14:33.6454584Z           "evidence": [
2026-06-04T14:14:33.6455010Z             {
2026-06-04T14:14:33.6455698Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T14:14:33.6456158Z               "line": 23
2026-06-04T14:14:33.6456601Z             }
2026-06-04T14:14:33.6457029Z           ]
2026-06-04T14:14:33.6457453Z         },
2026-06-04T14:14:33.6457884Z         "unit": {
2026-06-04T14:14:33.6458358Z           "complete": true,
2026-06-04T14:14:33.6458829Z           "evidence": [
2026-06-04T14:14:33.6459379Z             {
2026-06-04T14:14:33.6460127Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6460666Z               "line": 238
2026-06-04T14:14:33.6461192Z             },
2026-06-04T14:14:33.6462347Z             {
2026-06-04T14:14:33.6463740Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6465294Z               "line": 262
2026-06-04T14:14:33.6466433Z             },
2026-06-04T14:14:33.6467518Z             {
2026-06-04T14:14:33.6468867Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6470665Z               "line": 273
2026-06-04T14:14:33.6471789Z             },
2026-06-04T14:14:33.6480820Z             {
2026-06-04T14:14:33.6482195Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T14:14:33.6483722Z               "line": 286
2026-06-04T14:14:33.6484882Z             }
2026-06-04T14:14:33.6485961Z           ]
2026-06-04T14:14:33.6486917Z         }
2026-06-04T14:14:33.6487866Z       }
2026-06-04T14:14:33.6488905Z     },
2026-06-04T14:14:33.6489988Z     {
2026-06-04T14:14:33.6490974Z       "id": "REQ-UPD-4",
2026-06-04T14:14:33.6492674Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T14:14:33.6494748Z       "requiredStages": [
2026-06-04T14:14:33.6495983Z         "impl",
2026-06-04T14:14:33.6497136Z         "unit"
2026-06-04T14:14:33.6498174Z       ],
2026-06-04T14:14:33.6499120Z       "stages": {
2026-06-04T14:14:33.6500206Z         "doc": {
2026-06-04T14:14:33.6501264Z           "complete": false,
2026-06-04T14:14:33.6502447Z           "evidence": []
2026-06-04T14:14:33.6503527Z         },
2026-06-04T14:14:33.6504457Z         "impl": {
2026-06-04T14:14:33.6505482Z           "complete": true,
2026-06-04T14:14:33.6506613Z           "evidence": [
2026-06-04T14:14:33.6507669Z             {
2026-06-04T14:14:33.6508809Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T14:14:33.6510352Z               "line": 23
2026-06-04T14:14:33.6511433Z             },
2026-06-04T14:14:33.6512394Z             {
2026-06-04T14:14:33.6513542Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T14:14:33.6515004Z               "line": 56
2026-06-04T14:14:33.6516071Z             },
2026-06-04T14:14:33.6517032Z             {
2026-06-04T14:14:33.6518541Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T14:14:33.6520250Z               "line": 77
2026-06-04T14:14:33.6521303Z             },
2026-06-04T14:14:33.6522948Z             {
2026-06-04T14:14:33.6524234Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T14:14:33.6525881Z               "line": 179
2026-06-04T14:14:33.6527023Z             },
2026-06-04T14:14:33.6528064Z             {
2026-06-04T14:14:33.6529323Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T14:14:33.6530991Z               "line": 98
2026-06-04T14:14:33.6532189Z             },
2026-06-04T14:14:33.6533195Z             {
2026-06-04T14:14:33.6534334Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.6535829Z               "line": 167
2026-06-04T14:14:33.6536975Z             }
2026-06-04T14:14:33.6538180Z           ]
2026-06-04T14:14:33.6539317Z         },
2026-06-04T14:14:33.6540445Z         "int": {
2026-06-04T14:14:33.6541455Z           "complete": false,
2026-06-04T14:14:33.6542632Z           "evidence": []
2026-06-04T14:14:33.6543702Z         },
2026-06-04T14:14:33.6544608Z         "unit": {
2026-06-04T14:14:33.6545605Z           "complete": true,
2026-06-04T14:14:33.6546724Z           "evidence": [
2026-06-04T14:14:33.6547749Z             {
2026-06-04T14:14:33.6549032Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T14:14:33.6550682Z               "line": 322
2026-06-04T14:14:33.6551736Z             },
2026-06-04T14:14:33.6552672Z             {
2026-06-04T14:14:33.6553775Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T14:14:33.6555195Z               "line": 102
2026-06-04T14:14:33.6556224Z             },
2026-06-04T14:14:33.6557152Z             {
2026-06-04T14:14:33.6558442Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T14:14:33.6560078Z               "line": 117
2026-06-04T14:14:33.6561121Z             },
2026-06-04T14:14:33.6562056Z             {
2026-06-04T14:14:33.6563172Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T14:14:33.6564590Z               "line": 136
2026-06-04T14:14:33.6565641Z             },
2026-06-04T14:14:33.6566563Z             {
2026-06-04T14:14:33.6567642Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T14:14:33.6575957Z               "line": 352
2026-06-04T14:14:33.6577081Z             },
2026-06-04T14:14:33.6578011Z             {
2026-06-04T14:14:33.6579104Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T14:14:33.6580593Z               "line": 442
2026-06-04T14:14:33.6581646Z             }
2026-06-04T14:14:33.6582561Z           ]
2026-06-04T14:14:33.6583453Z         }
2026-06-04T14:14:33.6584342Z       }
2026-06-04T14:14:33.6585218Z     },
2026-06-04T14:14:33.6586083Z     {
2026-06-04T14:14:33.6587002Z       "id": "REQ-UPD-5",
2026-06-04T14:14:33.6588342Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T14:14:33.6589952Z       "requiredStages": [
2026-06-04T14:14:33.6591024Z         "impl",
2026-06-04T14:14:33.6592091Z         "unit"
2026-06-04T14:14:33.6593025Z       ],
2026-06-04T14:14:33.6593920Z       "stages": {
2026-06-04T14:14:33.6594875Z         "doc": {
2026-06-04T14:14:33.6595871Z           "complete": false,
2026-06-04T14:14:33.6597018Z           "evidence": []
2026-06-04T14:14:33.6598060Z         },
2026-06-04T14:14:33.6598952Z         "impl": {
2026-06-04T14:14:33.6599986Z           "complete": true,
2026-06-04T14:14:33.6601084Z           "evidence": [
2026-06-04T14:14:33.6602105Z             {
2026-06-04T14:14:33.6603266Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6604777Z               "line": 27
2026-06-04T14:14:33.6605830Z             },
2026-06-04T14:14:33.6606766Z             {
2026-06-04T14:14:33.6607937Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6609467Z               "line": 82
2026-06-04T14:14:33.6610520Z             },
2026-06-04T14:14:33.6611448Z             {
2026-06-04T14:14:33.6613085Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6614641Z               "line": 134
2026-06-04T14:14:33.6615697Z             },
2026-06-04T14:14:33.6616831Z             {
2026-06-04T14:14:33.6617944Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6619417Z               "line": 260
2026-06-04T14:14:33.6620466Z             },
2026-06-04T14:14:33.6621395Z             {
2026-06-04T14:14:33.6622499Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T14:14:33.6623920Z               "line": 288
2026-06-04T14:14:33.6624962Z             }
2026-06-04T14:14:33.6625893Z           ]
2026-06-04T14:14:33.6626777Z         },
2026-06-04T14:14:33.6627673Z         "int": {
2026-06-04T14:14:33.6628665Z           "complete": false,
2026-06-04T14:14:33.6629840Z           "evidence": []
2026-06-04T14:14:33.6630898Z         },
2026-06-04T14:14:33.6631801Z         "unit": {
2026-06-04T14:14:33.6632794Z           "complete": true,
2026-06-04T14:14:33.6633916Z           "evidence": [
2026-06-04T14:14:33.6634949Z             {
2026-06-04T14:14:33.6636124Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6637628Z               "line": 194
2026-06-04T14:14:33.6638685Z             },
2026-06-04T14:14:33.6639653Z             {
2026-06-04T14:14:33.6640826Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6642323Z               "line": 208
2026-06-04T14:14:33.6643370Z             },
2026-06-04T14:14:33.6644305Z             {
2026-06-04T14:14:33.6645478Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6646972Z               "line": 222
2026-06-04T14:14:33.6648020Z             },
2026-06-04T14:14:33.6648944Z             {
2026-06-04T14:14:33.6650146Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6651651Z               "line": 236
2026-06-04T14:14:33.6652700Z             },
2026-06-04T14:14:33.6653637Z             {
2026-06-04T14:14:33.6654811Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T14:14:33.6656306Z               "line": 270
2026-06-04T14:14:33.6657354Z             },
2026-06-04T14:14:33.6658284Z             {
2026-06-04T14:14:33.6659433Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T14:14:33.6660870Z               "line": 740
2026-06-04T14:14:33.6661909Z             }
2026-06-04T14:14:33.6662827Z           ]
2026-06-04T14:14:33.6663721Z         }
2026-06-04T14:14:33.6664594Z       }
2026-06-04T14:14:33.6665452Z     }
2026-06-04T14:14:33.6671528Z   ],
2026-06-04T14:14:33.6672462Z   "findings": []
2026-06-04T14:14:33.6673429Z }
2026-06-04T14:14:33.6749919Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T14:14:33.6751424Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T14:14:33.6773404Z shell: /usr/bin/bash -e {0}
2026-06-04T14:14:33.6774577Z ##[endgroup]
2026-06-04T14:14:33.6994792Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T14:14:33.6999060Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7003628Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T14:14:33.7007733Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T14:14:33.7012752Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7017824Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7022556Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T14:14:33.7026317Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T14:14:33.7031142Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7036697Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7041694Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T14:14:33.7045519Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T14:14:33.7048907Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T14:14:33.7052385Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T14:14:33.7068423Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7073500Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T14:14:33.7077498Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T14:14:33.7080900Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T14:14:33.7082742Z 
2026-06-04T14:14:33.7083214Z # Requirement quality review
2026-06-04T14:14:33.7084035Z 
2026-06-04T14:14:33.7085049Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T14:14:33.7087732Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T14:14:33.7090779Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T14:14:33.7093154Z this command's output. Your task is the rubric items below.
2026-06-04T14:14:33.7094629Z 
2026-06-04T14:14:33.7095055Z ## Rubric
2026-06-04T14:14:33.7095612Z 
2026-06-04T14:14:33.7096886Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T14:14:33.7100370Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T14:14:33.7103061Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T14:14:33.7105315Z - **active-voice** — clear subject and active verb.
2026-06-04T14:14:33.7106495Z 
2026-06-04T14:14:33.7107597Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T14:14:33.7109859Z clear concerns.
2026-06-04T14:14:33.7110476Z 
2026-06-04T14:14:33.7111365Z ## Requirements
2026-06-04T14:14:33.7112034Z 
2026-06-04T14:14:33.7112443Z ### REQ-ARCH-1
2026-06-04T14:14:33.7113589Z - Title: Many small acyclically-layered crates
2026-06-04T14:14:33.7115102Z - Required stages: impl
2026-06-04T14:14:33.7115873Z 
2026-06-04T14:14:33.7116283Z ### REQ-ARCH-2
2026-06-04T14:14:33.7117625Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T14:14:33.7119418Z - Required stages: impl
2026-06-04T14:14:33.7120143Z 
2026-06-04T14:14:33.7120557Z ### REQ-ARCH-3
2026-06-04T14:14:33.7122227Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T14:14:33.7124304Z - Required stages: impl, unit
2026-06-04T14:14:33.7125139Z 
2026-06-04T14:14:33.7125543Z ### REQ-ARCH-4
2026-06-04T14:14:33.7126927Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T14:14:33.7128779Z - Required stages: impl, unit
2026-06-04T14:14:33.7129825Z 
2026-06-04T14:14:33.7130397Z ### REQ-DAEMON-1
2026-06-04T14:14:33.7131797Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T14:14:33.7133615Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7134522Z 
2026-06-04T14:14:33.7134928Z ### REQ-DAEMON-2
2026-06-04T14:14:33.7136141Z - Title: Broker/brain split for seamless self-update
2026-06-04T14:14:33.7137753Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7138658Z 
2026-06-04T14:14:33.7139078Z ### REQ-DAEMON-3
2026-06-04T14:14:33.7140776Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T14:14:33.7142725Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7143620Z 
2026-06-04T14:14:33.7144043Z ### REQ-DAEMON-4
2026-06-04T14:14:33.7145180Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T14:14:33.7146675Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7147573Z 
2026-06-04T14:14:33.7147972Z ### REQ-STORE-1
2026-06-04T14:14:33.7153825Z - 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-04T14:14:33.7161988Z - Required stages: impl, unit
2026-06-04T14:14:33.7162849Z 
2026-06-04T14:14:33.7163287Z ### REQ-MANIFEST-1
2026-06-04T14:14:33.7164795Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T14:14:33.7166766Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7167698Z 
2026-06-04T14:14:33.7168122Z ### REQ-SEAM-SPAWN
2026-06-04T14:14:33.7169283Z - Title: spawn-session seam
2026-06-04T14:14:33.7170829Z - Required stages: impl, unit
2026-06-04T14:14:33.7171654Z 
2026-06-04T14:14:33.7172098Z ### REQ-SEAM-POSTSPAWN
2026-06-04T14:14:33.7173389Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T14:14:33.7174970Z - Required stages: impl, unit
2026-06-04T14:14:33.7175798Z 
2026-06-04T14:14:33.7176222Z ### REQ-SEAM-PSYCHE
2026-06-04T14:14:33.7177496Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T14:14:33.7179136Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7180457Z 
2026-06-04T14:14:33.7180890Z ### REQ-SEAM-HISTORY
2026-06-04T14:14:33.7182400Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T14:14:33.7184338Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7185240Z 
2026-06-04T14:14:33.7185659Z ### REQ-SEAM-ACTIVITY
2026-06-04T14:14:33.7187173Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T14:14:33.7189102Z - Required stages: impl, unit
2026-06-04T14:14:33.7189989Z 
2026-06-04T14:14:33.7190416Z ### REQ-SEAM-INJECT
2026-06-04T14:14:33.7191795Z - Title: inject-input methods configurable per activity-state
2026-06-04T14:14:33.7193549Z - Required stages: impl, unit
2026-06-04T14:14:33.7194371Z 
2026-06-04T14:14:33.7194791Z ### REQ-SEAM-RESUME
2026-06-04T14:14:33.7196280Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T14:14:33.7198477Z - Required stages: impl, unit
2026-06-04T14:14:33.7199398Z 
2026-06-04T14:14:33.7199843Z ### REQ-SEAM-CAPABILITY
2026-06-04T14:14:33.7201224Z - Title: Hostable endpoint-types capability declaration
2026-06-04T14:14:33.7202890Z - Required stages: impl, unit
2026-06-04T14:14:33.7203719Z 
2026-06-04T14:14:33.7204156Z ### REQ-SEAM-UPDATE
2026-06-04T14:14:33.7205551Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T14:14:33.7207327Z - Required stages: impl, unit
2026-06-04T14:14:33.7208178Z 
2026-06-04T14:14:33.7208577Z ### REQ-API-1
2026-06-04T14:14:33.7209991Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T14:14:33.7211838Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7212726Z 
2026-06-04T14:14:33.7213132Z ### REQ-API-2
2026-06-04T14:14:33.7214690Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T14:14:33.7216803Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7217717Z 
2026-06-04T14:14:33.7218126Z ### REQ-API-3
2026-06-04T14:14:33.7219357Z - Title: commune/signoff are file-drops, not commands
2026-06-04T14:14:33.7220995Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7221898Z 
2026-06-04T14:14:33.7222316Z ### REQ-START-1
2026-06-04T14:14:33.7223820Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T14:14:33.7225825Z - Required stages: impl, unit
2026-06-04T14:14:33.7226646Z 
2026-06-04T14:14:33.7227063Z ### REQ-START-2
2026-06-04T14:14:33.7228476Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T14:14:33.7230178Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7231095Z 
2026-06-04T14:14:33.7231498Z ### REQ-START-3
2026-06-04T14:14:33.7232899Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T14:14:33.7234752Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7235651Z 
2026-06-04T14:14:33.7236065Z ### REQ-START-4
2026-06-04T14:14:33.7237272Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T14:14:33.7238866Z - Required stages: impl, unit
2026-06-04T14:14:33.7239745Z 
2026-06-04T14:14:33.7240142Z ### REQ-EP-1
2026-06-04T14:14:33.7241289Z - Title: Day-one endpoint types; open type system
2026-06-04T14:14:33.7242863Z - Required stages: impl, unit
2026-06-04T14:14:33.7243699Z 
2026-06-04T14:14:33.7244102Z ### REQ-EP-2
2026-06-04T14:14:33.7245440Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T14:14:33.7247241Z - Required stages: impl, unit
2026-06-04T14:14:33.7248090Z 
2026-06-04T14:14:33.7248490Z ### REQ-EP-3
2026-06-04T14:14:33.7249971Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T14:14:33.7251919Z - Required stages: impl, unit
2026-06-04T14:14:33.7252754Z 
2026-06-04T14:14:33.7253155Z ### REQ-EP-4
2026-06-04T14:14:33.7254393Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T14:14:33.7256060Z - Required stages: impl, unit
2026-06-04T14:14:33.7256896Z 
2026-06-04T14:14:33.7257311Z ### REQ-EP-5
2026-06-04T14:14:33.7261661Z - 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-04T14:14:33.7267665Z - Required stages: 
2026-06-04T14:14:33.7268346Z 
2026-06-04T14:14:33.7268751Z ### REQ-INST-1
2026-06-04T14:14:33.7270117Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T14:14:33.7271839Z - Required stages: 
2026-06-04T14:14:33.7272488Z 
2026-06-04T14:14:33.7272903Z ### REQ-INST-2
2026-06-04T14:14:33.7274011Z - Title: Per-node files, synced Psyche mind
2026-06-04T14:14:33.7275488Z - Required stages: impl, unit
2026-06-04T14:14:33.7276316Z 
2026-06-04T14:14:33.7276725Z ### REQ-INST-3
2026-06-04T14:14:33.7277971Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T14:14:33.7279708Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7280599Z 
2026-06-04T14:14:33.7281193Z ### REQ-INST-4
2026-06-04T14:14:33.7282617Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T14:14:33.7284512Z - Required stages: impl, unit
2026-06-04T14:14:33.7285352Z 
2026-06-04T14:14:33.7285755Z ### REQ-INST-5
2026-06-04T14:14:33.7287174Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T14:14:33.7289067Z - Required stages: impl, unit
2026-06-04T14:14:33.7289954Z 
2026-06-04T14:14:33.7290370Z ### REQ-INST-6
2026-06-04T14:14:33.7291839Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T14:14:33.7293778Z - Required stages: 
2026-06-04T14:14:33.7294425Z 
2026-06-04T14:14:33.7294837Z ### REQ-INST-7
2026-06-04T14:14:33.7296032Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T14:14:33.7297635Z - Required stages: impl, unit
2026-06-04T14:14:33.7298475Z 
2026-06-04T14:14:33.7298885Z ### REQ-INST-8
2026-06-04T14:14:33.7300201Z - Title: Remote-control mode distinct from local operation
2026-06-04T14:14:33.7301945Z - Required stages: impl, unit
2026-06-04T14:14:33.7302769Z 
2026-06-04T14:14:33.7303195Z ### REQ-INST-9
2026-06-04T14:14:33.7304654Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T14:14:33.7306609Z - Required stages: impl, unit
2026-06-04T14:14:33.7307437Z 
2026-06-04T14:14:33.7307844Z ### REQ-INST-10
2026-06-04T14:14:33.7309497Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T14:14:33.7311629Z - Required stages: impl, unit
2026-06-04T14:14:33.7312636Z 
2026-06-04T14:14:33.7313050Z ### REQ-INST-11
2026-06-04T14:14:33.7314662Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T14:14:33.7317187Z - Required stages: impl, unit
2026-06-04T14:14:33.7318137Z 
2026-06-04T14:14:33.7318563Z ### REQ-INST-12
2026-06-04T14:14:33.7320916Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T14:14:33.7323612Z - Required stages: impl, unit
2026-06-04T14:14:33.7324613Z 
2026-06-04T14:14:33.7325077Z ### REQ-INST-13
2026-06-04T14:14:33.7326627Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T14:14:33.7328653Z - Required stages: impl, unit
2026-06-04T14:14:33.7329720Z 
2026-06-04T14:14:33.7330141Z ### REQ-INST-14
2026-06-04T14:14:33.7332701Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T14:14:33.7335961Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7336859Z 
2026-06-04T14:14:33.7337265Z ### REQ-INST-15
2026-06-04T14:14:33.7342197Z - 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-04T14:14:33.7347872Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7348778Z 
2026-06-04T14:14:33.7349235Z ### REQ-REACH-1
2026-06-04T14:14:33.7350487Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T14:14:33.7358762Z - Required stages: impl, unit
2026-06-04T14:14:33.7360396Z 
2026-06-04T14:14:33.7360910Z ### REQ-REACH-2
2026-06-04T14:14:33.7362387Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T14:14:33.7364722Z - Required stages: 
2026-06-04T14:14:33.7365376Z 
2026-06-04T14:14:33.7365787Z ### REQ-MSG-1
2026-06-04T14:14:33.7368770Z - 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-04T14:14:33.7372868Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7373776Z 
2026-06-04T14:14:33.7374179Z ### REQ-MSG-2
2026-06-04T14:14:33.7376065Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T14:14:33.7378942Z - Required stages: impl, unit
2026-06-04T14:14:33.7379872Z 
2026-06-04T14:14:33.7380283Z ### REQ-MSG-3
2026-06-04T14:14:33.7382847Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T14:14:33.7386134Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7387039Z 
2026-06-04T14:14:33.7387470Z ### REQ-NODE-IDENTITY
2026-06-04T14:14:33.7389252Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T14:14:33.7391500Z - Required stages: impl, unit
2026-06-04T14:14:33.7392337Z 
2026-06-04T14:14:33.7392748Z ### REQ-NET-1
2026-06-04T14:14:33.7394172Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T14:14:33.7396095Z - Required stages: impl, unit
2026-06-04T14:14:33.7396914Z 
2026-06-04T14:14:33.7397325Z ### REQ-NET-2
2026-06-04T14:14:33.7398713Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T14:14:33.7400632Z - Required stages: impl
2026-06-04T14:14:33.7401367Z 
2026-06-04T14:14:33.7401770Z ### REQ-NET-3
2026-06-04T14:14:33.7403114Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T14:14:33.7404883Z - Required stages: impl, unit
2026-06-04T14:14:33.7405712Z 
2026-06-04T14:14:33.7406128Z ### REQ-PAIR-1
2026-06-04T14:14:33.7407189Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T14:14:33.7408547Z - Required stages: impl, unit
2026-06-04T14:14:33.7409418Z 
2026-06-04T14:14:33.7409841Z ### REQ-PAIR-2
2026-06-04T14:14:33.7411769Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T14:14:33.7413507Z - Required stages: impl, unit
2026-06-04T14:14:33.7414345Z 
2026-06-04T14:14:33.7414767Z ### REQ-PAIR-3
2026-06-04T14:14:33.7416017Z - Title: Fetch current pairing code from any paired node
2026-06-04T14:14:33.7417668Z - Required stages: impl, unit
2026-06-04T14:14:33.7418497Z 
2026-06-04T14:14:33.7418913Z ### REQ-PAIR-4
2026-06-04T14:14:33.7420338Z - Title: Subnet naming on first pairing
2026-06-04T14:14:33.7421762Z - Required stages: impl, unit
2026-06-04T14:14:33.7422592Z 
2026-06-04T14:14:33.7422997Z ### REQ-PAIR-5
2026-06-04T14:14:33.7425121Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T14:14:33.7428118Z - Required stages: impl, unit
2026-06-04T14:14:33.7428970Z 
2026-06-04T14:14:33.7429603Z ### REQ-PAIR-6
2026-06-04T14:14:33.7431471Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T14:14:33.7433937Z - Required stages: impl, unit
2026-06-04T14:14:33.7434768Z 
2026-06-04T14:14:33.7435175Z ### REQ-PAIR-7
2026-06-04T14:14:33.7436503Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T14:14:33.7438247Z - Required stages: 
2026-06-04T14:14:33.7438899Z 
2026-06-04T14:14:33.7439512Z ### REQ-SEC-1
2026-06-04T14:14:33.7442350Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T14:14:33.7445725Z - Required stages: impl, unit
2026-06-04T14:14:33.7446554Z 
2026-06-04T14:14:33.7446960Z ### REQ-NOTIF-1
2026-06-04T14:14:33.7449481Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T14:14:33.7452646Z - Required stages: impl, unit
2026-06-04T14:14:33.7453472Z 
2026-06-04T14:14:33.7453888Z ### REQ-NOTIF-2
2026-06-04T14:14:33.7455811Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T14:14:33.7458337Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7459266Z 
2026-06-04T14:14:33.7459674Z ### REQ-UPD-1
2026-06-04T14:14:33.7460757Z - Title: Peer-propagated update over P2P
2026-06-04T14:14:33.7462212Z - Required stages: impl, unit
2026-06-04T14:14:33.7463048Z 
2026-06-04T14:14:33.7463463Z ### REQ-UPD-2
2026-06-04T14:14:33.7464672Z - Title: All binaries signature-verified before handoff
2026-06-04T14:14:33.7466497Z - Required stages: impl, unit
2026-06-04T14:14:33.7467344Z 
2026-06-04T14:14:33.7467764Z ### REQ-UPD-3
2026-06-04T14:14:33.7469140Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T14:14:33.7471064Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7471961Z 
2026-06-04T14:14:33.7472360Z ### REQ-UPD-4
2026-06-04T14:14:33.7473792Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T14:14:33.7475715Z - Required stages: impl, unit
2026-06-04T14:14:33.7476544Z 
2026-06-04T14:14:33.7476956Z ### REQ-UPD-5
2026-06-04T14:14:33.7478144Z - Title: spt-core ripple-updates registered adapters
2026-06-04T14:14:33.7479796Z - Required stages: impl, unit
2026-06-04T14:14:33.7480636Z 
2026-06-04T14:14:33.7481042Z ### REQ-TERM-1
2026-06-04T14:14:33.7482410Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T14:14:33.7484268Z - Required stages: impl, unit
2026-06-04T14:14:33.7485096Z 
2026-06-04T14:14:33.7485509Z ### REQ-TERM-2
2026-06-04T14:14:33.7486953Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T14:14:33.7488859Z - Required stages: impl, unit
2026-06-04T14:14:33.7489725Z 
2026-06-04T14:14:33.7490131Z ### REQ-TERM-3
2026-06-04T14:14:33.7491327Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T14:14:33.7492929Z - Required stages: impl, unit
2026-06-04T14:14:33.7493755Z 
2026-06-04T14:14:33.7494170Z ### REQ-TERM-4
2026-06-04T14:14:33.7496619Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T14:14:33.7504973Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7506020Z 
2026-06-04T14:14:33.7506469Z ### REQ-FRONT-1
2026-06-04T14:14:33.7507871Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T14:14:33.7509828Z - Required stages: 
2026-06-04T14:14:33.7510493Z 
2026-06-04T14:14:33.7510908Z ### REQ-INSTALL-1
2026-06-04T14:14:33.7512471Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T14:14:33.7514879Z - Required stages: 
2026-06-04T14:14:33.7515543Z 
2026-06-04T14:14:33.7516121Z ### REQ-INSTALL-2
2026-06-04T14:14:33.7517569Z - Title: Marketplace-repackaging-friendly install
2026-06-04T14:14:33.7519131Z - Required stages: 
2026-06-04T14:14:33.7519840Z 
2026-06-04T14:14:33.7520251Z ### REQ-INSTALL-3
2026-06-04T14:14:33.7521489Z - Title: Idempotent + interactive-optional first run
2026-06-04T14:14:33.7523067Z - Required stages: 
2026-06-04T14:14:33.7523751Z 
2026-06-04T14:14:33.7524172Z ### REQ-INSTALL-4
2026-06-04T14:14:33.7528233Z - 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-04T14:14:33.7533280Z - Required stages: 
2026-06-04T14:14:33.7533943Z 
2026-06-04T14:14:33.7534357Z ### REQ-MIGRATE-1
2026-06-04T14:14:33.7535752Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T14:14:33.7537538Z - Required stages: 
2026-06-04T14:14:33.7538204Z 
2026-06-04T14:14:33.7538621Z ### REQ-INFRA-1
2026-06-04T14:14:33.7540093Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T14:14:33.7541977Z - Required stages: 
2026-06-04T14:14:33.7542627Z 
2026-06-04T14:14:33.7543043Z ### REQ-DOCS-1
2026-06-04T14:14:33.7544565Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T14:14:33.7546572Z - Required stages: 
2026-06-04T14:14:33.7547227Z 
2026-06-04T14:14:33.7547633Z ### REQ-DOCS-2
2026-06-04T14:14:33.7548963Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T14:14:33.7550719Z - Required stages: 
2026-06-04T14:14:33.7551374Z 
2026-06-04T14:14:33.7551780Z ### REQ-DOCS-3
2026-06-04T14:14:33.7553352Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T14:14:33.7554930Z - Required stages: 
2026-06-04T14:14:33.7555597Z 
2026-06-04T14:14:33.7556293Z ### REQ-DOCS-4
2026-06-04T14:14:33.7557814Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T14:14:33.7559886Z - Required stages: 
2026-06-04T14:14:33.7560571Z 
2026-06-04T14:14:33.7561012Z ### REQ-DOCS-5
2026-06-04T14:14:33.7562507Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T14:14:33.7564470Z - Required stages: 
2026-06-04T14:14:33.7565135Z 
2026-06-04T14:14:33.7565622Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T14:14:33.7567443Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T14:14:33.7569450Z - Required stages: impl, unit
2026-06-04T14:14:33.7570293Z 
2026-06-04T14:14:33.7570784Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T14:14:33.7572366Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T14:14:33.7574061Z - Required stages: impl, unit
2026-06-04T14:14:33.7574880Z 
2026-06-04T14:14:33.7575367Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T14:14:33.7576792Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T14:14:33.7578327Z - Required stages: 
2026-06-04T14:14:33.7578987Z 
2026-06-04T14:14:33.7579502Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T14:14:33.7581196Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T14:14:33.7583698Z - Required stages: impl, unit
2026-06-04T14:14:33.7584561Z 
2026-06-04T14:14:33.7585051Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T14:14:33.7586720Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T14:14:33.7588911Z - Required stages: impl, unit
2026-06-04T14:14:33.7589944Z 
2026-06-04T14:14:33.7590440Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T14:14:33.7592202Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T14:14:33.7594162Z - Required stages: 
2026-06-04T14:14:33.7594813Z 
2026-06-04T14:14:33.7595290Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T14:14:33.7596715Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T14:14:33.7598269Z - Required stages: 
2026-06-04T14:14:33.7598933Z 
2026-06-04T14:14:33.7599650Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T14:14:33.7601366Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T14:14:33.7603225Z - Required stages: impl, unit
2026-06-04T14:14:33.7604080Z 
2026-06-04T14:14:33.7604569Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T14:14:33.7606255Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T14:14:33.7607916Z - Required stages: impl, int
2026-06-04T14:14:33.7608727Z 
2026-06-04T14:14:33.7609259Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T14:14:33.7610872Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T14:14:33.7612643Z - Required stages: impl, unit
2026-06-04T14:14:33.7613470Z 
2026-06-04T14:14:33.7613979Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T14:14:33.7615711Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T14:14:33.7617520Z - Required stages: impl, unit
2026-06-04T14:14:33.7618352Z 
2026-06-04T14:14:33.7618855Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T14:14:33.7620671Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T14:14:33.7622640Z - Required stages: impl, unit
2026-06-04T14:14:33.7623470Z 
2026-06-04T14:14:33.7623972Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T14:14:33.7625635Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T14:14:33.7627369Z - Required stages: impl, unit
2026-06-04T14:14:33.7628190Z 
2026-06-04T14:14:33.7628708Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T14:14:33.7630478Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T14:14:33.7630936Z - Required stages: impl, unit
2026-06-04T14:14:33.7630966Z 
2026-06-04T14:14:33.7631456Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T14:14:33.7632484Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T14:14:33.7632940Z - Required stages: impl, unit
2026-06-04T14:14:33.7633114Z 
2026-06-04T14:14:33.7633596Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T14:14:33.7634810Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T14:14:33.7635284Z - Required stages: impl, unit
2026-06-04T14:14:33.7635300Z 
2026-06-04T14:14:33.7640843Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T14:14:33.7641899Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T14:14:33.7642368Z - Required stages: impl, unit
2026-06-04T14:14:33.7642410Z 
2026-06-04T14:14:33.7642896Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T14:14:33.7644157Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T14:14:33.7644628Z - Required stages: impl, unit
2026-06-04T14:14:33.7644644Z 
2026-06-04T14:14:33.7645146Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T14:14:33.7647027Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T14:14:33.7647519Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7647695Z 
2026-06-04T14:14:33.7648529Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T14:14:33.7650923Z - 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-04T14:14:33.7651438Z - Required stages: impl, unit
2026-06-04T14:14:33.7651466Z 
2026-06-04T14:14:33.7651990Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T14:14:33.7652851Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T14:14:33.7653330Z - Required stages: impl, unit
2026-06-04T14:14:33.7653353Z 
2026-06-04T14:14:33.7653876Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T14:14:33.7654534Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T14:14:33.7655024Z - Required stages: impl, unit
2026-06-04T14:14:33.7655043Z 
2026-06-04T14:14:33.7655562Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T14:14:33.7656346Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T14:14:33.7656849Z - Required stages: impl, unit
2026-06-04T14:14:33.7656866Z 
2026-06-04T14:14:33.7657369Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T14:14:33.7658217Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T14:14:33.7658736Z - Required stages: impl, unit
2026-06-04T14:14:33.7658755Z 
2026-06-04T14:14:33.7659535Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T14:14:33.7660334Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T14:14:33.7661185Z - Required stages: impl, unit
2026-06-04T14:14:33.7661208Z 
2026-06-04T14:14:33.7661861Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T14:14:33.7662787Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T14:14:33.7663464Z - Required stages: impl, unit
2026-06-04T14:14:33.7663486Z 
2026-06-04T14:14:33.7682103Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T14:14:33.7683124Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T14:14:33.7683641Z - Required stages: impl, unit
2026-06-04T14:14:33.7683662Z 
2026-06-04T14:14:33.7684132Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T14:14:33.7685130Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T14:14:33.7685591Z - Required stages: impl, unit
2026-06-04T14:14:33.7685608Z 
2026-06-04T14:14:33.7686109Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T14:14:33.7686966Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T14:14:33.7687436Z - Required stages: impl, unit
2026-06-04T14:14:33.7687465Z 
2026-06-04T14:14:33.7687996Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T14:14:33.7688691Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T14:14:33.7689213Z - Required stages: impl, unit
2026-06-04T14:14:33.7689232Z 
2026-06-04T14:14:33.7689756Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T14:14:33.7690917Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T14:14:33.7691871Z - Required stages: impl, unit
2026-06-04T14:14:33.7691891Z 
2026-06-04T14:14:33.7692437Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T14:14:33.7695985Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-04T14:14:33.7696442Z - Required stages: impl, unit
2026-06-04T14:14:33.7696469Z 
2026-06-04T14:14:33.7696917Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T14:14:33.7698063Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T14:14:33.7698524Z - Required stages: impl, unit
2026-06-04T14:14:33.7698540Z 
2026-06-04T14:14:33.7699020Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T14:14:33.7700187Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T14:14:33.7700657Z - Required stages: impl, unit
2026-06-04T14:14:33.7700672Z 
2026-06-04T14:14:33.7701179Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T14:14:33.7702628Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T14:14:33.7703115Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7703131Z 
2026-06-04T14:14:33.7703602Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T14:14:33.7705036Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T14:14:33.7705505Z - Required stages: impl, unit
2026-06-04T14:14:33.7705520Z 
2026-06-04T14:14:33.7706226Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T14:14:33.7708782Z - 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-04T14:14:33.7709301Z - Required stages: impl, unit, int
2026-06-04T14:14:33.7709327Z 
2026-06-04T14:14:33.7709841Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T14:14:33.7714658Z - 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-04T14:14:33.7715129Z - Required stages: impl, unit
2026-06-04T14:14:33.7715143Z 
2026-06-04T14:14:33.7715673Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T14:14:33.7719849Z - 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-04T14:14:33.7720292Z - Required stages: 
2026-06-04T14:14:33.7720306Z 
2026-06-04T14:14:33.7720828Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T14:14:33.7724511Z - 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-04T14:14:33.7725008Z - Required stages: impl, unit
2026-06-04T14:14:33.7725024Z 
2026-06-04T14:14:33.7725528Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T14:14:33.7728846Z - 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-04T14:14:33.7729351Z - Required stages: impl, unit
2026-06-04T14:14:33.7729366Z 
2026-06-04T14:14:33.7729862Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T14:14:33.7734949Z - 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-04T14:14:33.7735436Z - Required stages: impl, unit
2026-06-04T14:14:33.7735451Z 
2026-06-04T14:14:33.7735921Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T14:14:33.7740725Z - 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-04T14:14:33.7741242Z - Required stages: doc, impl, unit
2026-06-04T14:14:33.7741257Z 
2026-06-04T14:14:33.7741676Z ## How to report back
2026-06-04T14:14:33.7741691Z 
2026-06-04T14:14:33.7742561Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T14:14:33.7742593Z 
2026-06-04T14:14:33.7742983Z     {
2026-06-04T14:14:33.7743449Z       "code": "requirement_quality",
2026-06-04T14:14:33.7743924Z       "requirementId": "REQ-...",
2026-06-04T14:14:33.7744780Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T14:14:33.7745246Z       "message": "<short reason>",
2026-06-04T14:14:33.7745806Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T14:14:33.7746189Z     }
2026-06-04T14:14:33.7746217Z 
2026-06-04T14:14:33.7747192Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T14:14:33.7747896Z deterministic findings above don't need to be repeated.
2026-06-04T14:14:33.8017163Z Post job cleanup.
2026-06-04T14:14:33.9328807Z [command]/usr/bin/git version
2026-06-04T14:14:33.9421707Z git version 2.34.1
2026-06-04T14:14:33.9468040Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/0d354423-604a-4e33-a06b-eb9e19bf97ac/.gitconfig'
2026-06-04T14:14:33.9494351Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/0d354423-604a-4e33-a06b-eb9e19bf97ac' before making global git config changes
2026-06-04T14:14:33.9499711Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T14:14:33.9503562Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T14:14:33.9550304Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T14:14:33.9597142Z [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-04T14:14:33.9845702Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T14:14:33.9878884Z http.https://github.com/.extraheader
2026-06-04T14:14:33.9893498Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T14:14:33.9937803Z [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-04T14:14:34.0178775Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T14:14:34.0220169Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T14:14:34.0681681Z Cleaning up orphan processes
