﻿2026-06-04T05:36:24.8377038Z Current runner version: '2.334.0'
2026-06-04T05:36:24.8386398Z Runner name: 'gravity'
2026-06-04T05:36:24.8387601Z Runner group name: 'Default'
2026-06-04T05:36:24.8388934Z Machine name: 'gravity-linux'
2026-06-04T05:36:24.8393232Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T05:36:24.8397242Z Contents: read
2026-06-04T05:36:24.8398078Z Metadata: read
2026-06-04T05:36:24.8398845Z Packages: read
2026-06-04T05:36:24.8399844Z ##[endgroup]
2026-06-04T05:36:24.8403430Z Secret source: Actions
2026-06-04T05:36:24.8405013Z Prepare workflow directory
2026-06-04T05:36:24.9171227Z Prepare all required actions
2026-06-04T05:36:24.9231848Z Getting action download info
2026-06-04T05:36:25.4726397Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T05:36:26.4001761Z Complete job name: traceability
2026-06-04T05:36:26.5389949Z ##[group]Run actions/checkout@v5
2026-06-04T05:36:26.5391790Z with:
2026-06-04T05:36:26.5392629Z   repository: SaberMage/spt-core
2026-06-04T05:36:26.5400943Z   token: ***
2026-06-04T05:36:26.5401792Z   ssh-strict: true
2026-06-04T05:36:26.5402614Z   ssh-user: git
2026-06-04T05:36:26.5403455Z   persist-credentials: true
2026-06-04T05:36:26.5404378Z   clean: true
2026-06-04T05:36:26.5405233Z   sparse-checkout-cone-mode: true
2026-06-04T05:36:26.5406195Z   fetch-depth: 1
2026-06-04T05:36:26.5407005Z   fetch-tags: false
2026-06-04T05:36:26.5407848Z   show-progress: true
2026-06-04T05:36:26.5408685Z   lfs: false
2026-06-04T05:36:26.5409539Z   submodules: false
2026-06-04T05:36:26.5410421Z   set-safe-directory: true
2026-06-04T05:36:26.5411889Z ##[endgroup]
2026-06-04T05:36:26.6950567Z Syncing repository: SaberMage/spt-core
2026-06-04T05:36:26.6954902Z ##[group]Getting Git version info
2026-06-04T05:36:26.6956611Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T05:36:26.6958838Z [command]/usr/bin/git version
2026-06-04T05:36:26.6960314Z git version 2.34.1
2026-06-04T05:36:26.6964138Z ##[endgroup]
2026-06-04T05:36:26.6973750Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/bf0993a8-30a6-4cae-985f-b662061351d0/.gitconfig'
2026-06-04T05:36:26.6978566Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/bf0993a8-30a6-4cae-985f-b662061351d0' before making global git config changes
2026-06-04T05:36:26.6982219Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T05:36:26.6986175Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T05:36:26.7037592Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T05:36:26.7066395Z https://github.com/SaberMage/spt-core
2026-06-04T05:36:26.7084252Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T05:36:26.7090521Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T05:36:26.7118828Z refs/heads/dev-freeform
2026-06-04T05:36:26.7132775Z [command]/usr/bin/git checkout --detach
2026-06-04T05:36:26.7187729Z HEAD is now at 7e9c2b5 feat(store): M4-D6b distributed precedence — marker v2, version vectors, conflict artifacts
2026-06-04T05:36:26.7244556Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T05:36:26.7291123Z Deleted branch dev-freeform (was 7e9c2b5).
2026-06-04T05:36:26.7335772Z ##[endgroup]
2026-06-04T05:36:26.7338973Z [command]/usr/bin/git submodule status
2026-06-04T05:36:26.7593264Z ##[group]Cleaning the repository
2026-06-04T05:36:26.7594706Z [command]/usr/bin/git clean -ffdx
2026-06-04T05:36:27.4901441Z Removing target/
2026-06-04T05:36:27.4914971Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T05:36:27.4981795Z HEAD is now at 7e9c2b5 feat(store): M4-D6b distributed precedence — marker v2, version vectors, conflict artifacts
2026-06-04T05:36:27.4987788Z ##[endgroup]
2026-06-04T05:36:27.4990211Z ##[group]Disabling automatic garbage collection
2026-06-04T05:36:27.4996507Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T05:36:27.5033995Z ##[endgroup]
2026-06-04T05:36:27.5036038Z ##[group]Setting up auth
2026-06-04T05:36:27.5043804Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T05:36:27.5086901Z [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-04T05:36:27.5335430Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T05:36:27.5375611Z [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-04T05:36:27.5614122Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T05:36:27.5655261Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T05:36:27.5900602Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T05:36:27.5959623Z ##[endgroup]
2026-06-04T05:36:27.5962635Z ##[group]Fetching the repository
2026-06-04T05:36:27.5974243Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +50620e4a4834900120d725a13d0c6059ae841e6c:refs/remotes/origin/dev-freeform
2026-06-04T05:36:28.1748535Z From https://github.com/SaberMage/spt-core
2026-06-04T05:36:28.1753985Z  + 7e9c2b5...50620e4 50620e4a4834900120d725a13d0c6059ae841e6c -> origin/dev-freeform  (forced update)
2026-06-04T05:36:28.1780142Z ##[endgroup]
2026-06-04T05:36:28.1783918Z ##[group]Determining the checkout info
2026-06-04T05:36:28.1787025Z ##[endgroup]
2026-06-04T05:36:28.1789109Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T05:36:28.1844312Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T05:36:28.1886043Z ##[group]Checking out the ref
2026-06-04T05:36:28.1891447Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T05:36:28.1956704Z Warning: you are leaving 1 commit behind, not connected to
2026-06-04T05:36:28.1960294Z any of your branches:
2026-06-04T05:36:28.1962237Z 
2026-06-04T05:36:28.1965396Z   7e9c2b5 feat(store): M4-D6b distributed precedence — marker v2, version vectors, conflict artifacts
2026-06-04T05:36:28.1968790Z 
2026-06-04T05:36:28.1970376Z If you want to keep it by creating a new branch, this may be a good time
2026-06-04T05:36:28.1973373Z to do so with:
2026-06-04T05:36:28.1974590Z 
2026-06-04T05:36:28.1975580Z  git branch <new-branch-name> 7e9c2b5
2026-06-04T05:36:28.1977262Z 
2026-06-04T05:36:28.1978547Z Switched to a new branch 'dev-freeform'
2026-06-04T05:36:28.1981769Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T05:36:28.2097076Z ##[endgroup]
2026-06-04T05:36:28.2104586Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T05:36:28.2106934Z 50620e4a4834900120d725a13d0c6059ae841e6c
2026-06-04T05:36:28.2427923Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T05:36:28.2430337Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T05:36:28.2432542Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T05:36:28.2434434Z [36;1melse[0m
2026-06-04T05:36:28.2435998Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T05:36:28.2438354Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T05:36:28.2440663Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T05:36:28.2442067Z [36;1mfi[0m
2026-06-04T05:36:28.2471871Z shell: /usr/bin/bash -e {0}
2026-06-04T05:36:28.2473205Z env:
2026-06-04T05:36:28.2476149Z   GH_TOKEN: ***
2026-06-04T05:36:28.2477240Z ##[endgroup]
2026-06-04T05:36:28.2711550Z ##[group]Run ./traceable-reqs check --json
2026-06-04T05:36:28.2713662Z [36;1m./traceable-reqs check --json[0m
2026-06-04T05:36:28.2738965Z shell: /usr/bin/bash -e {0}
2026-06-04T05:36:28.2740728Z ##[endgroup]
2026-06-04T05:36:28.2926159Z {
2026-06-04T05:36:28.2927379Z   "schemaVersion": 1,
2026-06-04T05:36:28.2928690Z   "summary": {
2026-06-04T05:36:28.2930634Z     "requirementCount": 129,
2026-06-04T05:36:28.2932100Z     "completeCount": 129,
2026-06-04T05:36:28.2933486Z     "incompleteCount": 0,
2026-06-04T05:36:28.2934856Z     "findingCount": 0
2026-06-04T05:36:28.2951185Z   },
2026-06-04T05:36:28.2952486Z   "requirements": [
2026-06-04T05:36:28.2953682Z     {
2026-06-04T05:36:28.2954830Z       "id": "REQ-API-1",
2026-06-04T05:36:28.2956729Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T05:36:28.2958993Z       "requiredStages": [
2026-06-04T05:36:28.2960436Z         "impl",
2026-06-04T05:36:28.2961615Z         "unit",
2026-06-04T05:36:28.2962930Z         "int"
2026-06-04T05:36:28.2964092Z       ],
2026-06-04T05:36:28.2965409Z       "stages": {
2026-06-04T05:36:28.2966640Z         "doc": {
2026-06-04T05:36:28.2967897Z           "complete": false,
2026-06-04T05:36:28.2969448Z           "evidence": []
2026-06-04T05:36:28.2970740Z         },
2026-06-04T05:36:28.2971783Z         "impl": {
2026-06-04T05:36:28.2972950Z           "complete": true,
2026-06-04T05:36:28.2974273Z           "evidence": [
2026-06-04T05:36:28.2975475Z             {
2026-06-04T05:36:28.2976705Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T05:36:28.2978353Z               "line": 15
2026-06-04T05:36:28.2979617Z             }
2026-06-04T05:36:28.2980687Z           ]
2026-06-04T05:36:28.2981716Z         },
2026-06-04T05:36:28.2982755Z         "int": {
2026-06-04T05:36:28.2983903Z           "complete": true,
2026-06-04T05:36:28.2985224Z           "evidence": [
2026-06-04T05:36:28.2986426Z             {
2026-06-04T05:36:28.2987773Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.2989549Z               "line": 13
2026-06-04T05:36:28.2990765Z             }
2026-06-04T05:36:28.2991832Z           ]
2026-06-04T05:36:28.2992855Z         },
2026-06-04T05:36:28.2993898Z         "unit": {
2026-06-04T05:36:28.2995057Z           "complete": true,
2026-06-04T05:36:28.2996364Z           "evidence": [
2026-06-04T05:36:28.2997565Z             {
2026-06-04T05:36:28.2998805Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T05:36:28.3000522Z               "line": 336
2026-06-04T05:36:28.3001768Z             },
2026-06-04T05:36:28.3002853Z             {
2026-06-04T05:36:28.3004090Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T05:36:28.3005769Z               "line": 342
2026-06-04T05:36:28.3007005Z             },
2026-06-04T05:36:28.3008093Z             {
2026-06-04T05:36:28.3009376Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T05:36:28.3011044Z               "line": 353
2026-06-04T05:36:28.3012288Z             }
2026-06-04T05:36:28.3013352Z           ]
2026-06-04T05:36:28.3014379Z         }
2026-06-04T05:36:28.3015403Z       }
2026-06-04T05:36:28.3016413Z     },
2026-06-04T05:36:28.3017423Z     {
2026-06-04T05:36:28.3018472Z       "id": "REQ-API-2",
2026-06-04T05:36:28.3020786Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T05:36:28.3023198Z       "requiredStages": [
2026-06-04T05:36:28.3024443Z         "impl",
2026-06-04T05:36:28.3025508Z         "unit",
2026-06-04T05:36:28.3026560Z         "int"
2026-06-04T05:36:28.3027589Z       ],
2026-06-04T05:36:28.3028588Z       "stages": {
2026-06-04T05:36:28.3030019Z         "doc": {
2026-06-04T05:36:28.3031136Z           "complete": false,
2026-06-04T05:36:28.3032437Z           "evidence": []
2026-06-04T05:36:28.3033633Z         },
2026-06-04T05:36:28.3034650Z         "impl": {
2026-06-04T05:36:28.3035774Z           "complete": true,
2026-06-04T05:36:28.3037056Z           "evidence": [
2026-06-04T05:36:28.3038695Z             {
2026-06-04T05:36:28.3040382Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T05:36:28.3042261Z               "line": 15
2026-06-04T05:36:28.3043451Z             },
2026-06-04T05:36:28.3044482Z             {
2026-06-04T05:36:28.3045747Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.3047408Z               "line": 20
2026-06-04T05:36:28.3048591Z             },
2026-06-04T05:36:28.3049863Z             {
2026-06-04T05:36:28.3051188Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.3052914Z               "line": 125
2026-06-04T05:36:28.3054151Z             },
2026-06-04T05:36:28.3055226Z             {
2026-06-04T05:36:28.3056630Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3058393Z               "line": 21
2026-06-04T05:36:28.3059828Z             },
2026-06-04T05:36:28.3060877Z             {
2026-06-04T05:36:28.3062161Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3063862Z               "line": 36
2026-06-04T05:36:28.3065051Z             },
2026-06-04T05:36:28.3066084Z             {
2026-06-04T05:36:28.3067386Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3069096Z               "line": 101
2026-06-04T05:36:28.3070692Z             },
2026-06-04T05:36:28.3071726Z             {
2026-06-04T05:36:28.3072988Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3074671Z               "line": 140
2026-06-04T05:36:28.3075866Z             },
2026-06-04T05:36:28.3076900Z             {
2026-06-04T05:36:28.3078172Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3080253Z               "line": 164
2026-06-04T05:36:28.3081467Z             },
2026-06-04T05:36:28.3082515Z             {
2026-06-04T05:36:28.3083750Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.3085403Z               "line": 17
2026-06-04T05:36:28.3086664Z             },
2026-06-04T05:36:28.3087719Z             {
2026-06-04T05:36:28.3088979Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.3091043Z               "line": 30
2026-06-04T05:36:28.3092259Z             },
2026-06-04T05:36:28.3093308Z             {
2026-06-04T05:36:28.3094542Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.3096176Z               "line": 63
2026-06-04T05:36:28.3097354Z             },
2026-06-04T05:36:28.3098388Z             {
2026-06-04T05:36:28.3099863Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.3101567Z               "line": 76
2026-06-04T05:36:28.3102806Z             }
2026-06-04T05:36:28.3103868Z           ]
2026-06-04T05:36:28.3105021Z         },
2026-06-04T05:36:28.3106017Z         "int": {
2026-06-04T05:36:28.3107151Z           "complete": true,
2026-06-04T05:36:28.3108435Z           "evidence": [
2026-06-04T05:36:28.3109945Z             {
2026-06-04T05:36:28.3111231Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.3112920Z               "line": 14
2026-06-04T05:36:28.3114132Z             },
2026-06-04T05:36:28.3115170Z             {
2026-06-04T05:36:28.3116472Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.3118169Z               "line": 151
2026-06-04T05:36:28.3119594Z             }
2026-06-04T05:36:28.3120799Z           ]
2026-06-04T05:36:28.3121792Z         },
2026-06-04T05:36:28.3122797Z         "unit": {
2026-06-04T05:36:28.3123972Z           "complete": true,
2026-06-04T05:36:28.3125246Z           "evidence": [
2026-06-04T05:36:28.3126397Z             {
2026-06-04T05:36:28.3127681Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T05:36:28.3129382Z               "line": 42
2026-06-04T05:36:28.3130911Z             },
2026-06-04T05:36:28.3131963Z             {
2026-06-04T05:36:28.3133229Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.3134888Z               "line": 204
2026-06-04T05:36:28.3136113Z             },
2026-06-04T05:36:28.3137368Z             {
2026-06-04T05:36:28.3138697Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3140938Z               "line": 237
2026-06-04T05:36:28.3142140Z             },
2026-06-04T05:36:28.3143187Z             {
2026-06-04T05:36:28.3144493Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3146182Z               "line": 248
2026-06-04T05:36:28.3147381Z             },
2026-06-04T05:36:28.3148430Z             {
2026-06-04T05:36:28.3150120Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3151816Z               "line": 284
2026-06-04T05:36:28.3153019Z             },
2026-06-04T05:36:28.3154070Z             {
2026-06-04T05:36:28.3155370Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3157076Z               "line": 296
2026-06-04T05:36:28.3158279Z             },
2026-06-04T05:36:28.3159355Z             {
2026-06-04T05:36:28.3160602Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.3162280Z               "line": 137
2026-06-04T05:36:28.3163473Z             },
2026-06-04T05:36:28.3164507Z             {
2026-06-04T05:36:28.3165762Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.3167402Z               "line": 172
2026-06-04T05:36:28.3168589Z             }
2026-06-04T05:36:28.3169639Z           ]
2026-06-04T05:36:28.3170618Z         }
2026-06-04T05:36:28.3171582Z       }
2026-06-04T05:36:28.3172522Z     },
2026-06-04T05:36:28.3173466Z     {
2026-06-04T05:36:28.3174550Z       "id": "REQ-API-3",
2026-06-04T05:36:28.3176137Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T05:36:28.3177956Z       "requiredStages": [
2026-06-04T05:36:28.3179188Z         "impl",
2026-06-04T05:36:28.3180240Z         "unit",
2026-06-04T05:36:28.3181282Z         "int"
2026-06-04T05:36:28.3182286Z       ],
2026-06-04T05:36:28.3183266Z       "stages": {
2026-06-04T05:36:28.3184329Z         "doc": {
2026-06-04T05:36:28.3185472Z           "complete": false,
2026-06-04T05:36:28.3186775Z           "evidence": []
2026-06-04T05:36:28.3187957Z         },
2026-06-04T05:36:28.3188935Z         "impl": {
2026-06-04T05:36:28.3190097Z           "complete": true,
2026-06-04T05:36:28.3191360Z           "evidence": [
2026-06-04T05:36:28.3192510Z             {
2026-06-04T05:36:28.3193725Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.3195325Z               "line": 27
2026-06-04T05:36:28.3196481Z             },
2026-06-04T05:36:28.3197497Z             {
2026-06-04T05:36:28.3198764Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3200466Z               "line": 174
2026-06-04T05:36:28.3201647Z             }
2026-06-04T05:36:28.3202643Z           ]
2026-06-04T05:36:28.3203607Z         },
2026-06-04T05:36:28.3204578Z         "int": {
2026-06-04T05:36:28.3205761Z           "complete": true,
2026-06-04T05:36:28.3207014Z           "evidence": [
2026-06-04T05:36:28.3208143Z             {
2026-06-04T05:36:28.3209447Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.3211109Z               "line": 203
2026-06-04T05:36:28.3212300Z             }
2026-06-04T05:36:28.3213302Z           ]
2026-06-04T05:36:28.3214284Z         },
2026-06-04T05:36:28.3215263Z         "unit": {
2026-06-04T05:36:28.3216454Z           "complete": true,
2026-06-04T05:36:28.3217702Z           "evidence": [
2026-06-04T05:36:28.3218832Z             {
2026-06-04T05:36:28.3220104Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.3221735Z               "line": 230
2026-06-04T05:36:28.3222917Z             },
2026-06-04T05:36:28.3223924Z             {
2026-06-04T05:36:28.3225183Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.3244835Z               "line": 325
2026-06-04T05:36:28.3246315Z             }
2026-06-04T05:36:28.3247365Z           ]
2026-06-04T05:36:28.3248389Z         }
2026-06-04T05:36:28.3249671Z       }
2026-06-04T05:36:28.3250870Z     },
2026-06-04T05:36:28.3251986Z     {
2026-06-04T05:36:28.3253488Z       "id": "REQ-ARCH-1",
2026-06-04T05:36:28.3255465Z       "title": "Many small acyclically-layered crates",
2026-06-04T05:36:28.3257673Z       "requiredStages": [
2026-06-04T05:36:28.3259125Z         "impl"
2026-06-04T05:36:28.3260712Z       ],
2026-06-04T05:36:28.3261744Z       "stages": {
2026-06-04T05:36:28.3262853Z         "doc": {
2026-06-04T05:36:28.3263967Z           "complete": false,
2026-06-04T05:36:28.3265802Z           "evidence": []
2026-06-04T05:36:28.3267123Z         },
2026-06-04T05:36:28.3268134Z         "impl": {
2026-06-04T05:36:28.3269369Z           "complete": true,
2026-06-04T05:36:28.3271224Z           "evidence": [
2026-06-04T05:36:28.3272458Z             {
2026-06-04T05:36:28.3273731Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T05:36:28.3275551Z               "line": 16
2026-06-04T05:36:28.3276697Z             },
2026-06-04T05:36:28.3277696Z             {
2026-06-04T05:36:28.3278878Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T05:36:28.3280784Z               "line": 12
2026-06-04T05:36:28.3281960Z             },
2026-06-04T05:36:28.3283009Z             {
2026-06-04T05:36:28.3284193Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T05:36:28.3285766Z               "line": 12
2026-06-04T05:36:28.3286907Z             }
2026-06-04T05:36:28.3287899Z           ]
2026-06-04T05:36:28.3288849Z         },
2026-06-04T05:36:28.3289870Z         "int": {
2026-06-04T05:36:28.3290969Z           "complete": false,
2026-06-04T05:36:28.3292243Z           "evidence": []
2026-06-04T05:36:28.3293400Z         },
2026-06-04T05:36:28.3294375Z         "unit": {
2026-06-04T05:36:28.3295466Z           "complete": false,
2026-06-04T05:36:28.3296731Z           "evidence": []
2026-06-04T05:36:28.3297877Z         }
2026-06-04T05:36:28.3298828Z       }
2026-06-04T05:36:28.3299802Z     },
2026-06-04T05:36:28.3300735Z     {
2026-06-04T05:36:28.3301738Z       "id": "REQ-ARCH-2",
2026-06-04T05:36:28.3303460Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T05:36:28.3305455Z       "requiredStages": [
2026-06-04T05:36:28.3306693Z         "impl"
2026-06-04T05:36:28.3307716Z       ],
2026-06-04T05:36:28.3308680Z       "stages": {
2026-06-04T05:36:28.3309773Z         "doc": {
2026-06-04T05:36:28.3310860Z           "complete": false,
2026-06-04T05:36:28.3312136Z           "evidence": []
2026-06-04T05:36:28.3313291Z         },
2026-06-04T05:36:28.3314350Z         "impl": {
2026-06-04T05:36:28.3315443Z           "complete": true,
2026-06-04T05:36:28.3316675Z           "evidence": [
2026-06-04T05:36:28.3317801Z             {
2026-06-04T05:36:28.3319012Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T05:36:28.3320647Z               "line": 18
2026-06-04T05:36:28.3321798Z             }
2026-06-04T05:36:28.3322809Z           ]
2026-06-04T05:36:28.3323787Z         },
2026-06-04T05:36:28.3324755Z         "int": {
2026-06-04T05:36:28.3325868Z           "complete": false,
2026-06-04T05:36:28.3327168Z           "evidence": []
2026-06-04T05:36:28.3328330Z         },
2026-06-04T05:36:28.3329354Z         "unit": {
2026-06-04T05:36:28.3330492Z           "complete": false,
2026-06-04T05:36:28.3331768Z           "evidence": []
2026-06-04T05:36:28.3332929Z         }
2026-06-04T05:36:28.3333879Z       }
2026-06-04T05:36:28.3334804Z     },
2026-06-04T05:36:28.3335738Z     {
2026-06-04T05:36:28.3336745Z       "id": "REQ-ARCH-3",
2026-06-04T05:36:28.3338758Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T05:36:28.3341122Z       "requiredStages": [
2026-06-04T05:36:28.3342330Z         "impl",
2026-06-04T05:36:28.3343367Z         "unit"
2026-06-04T05:36:28.3344395Z       ],
2026-06-04T05:36:28.3345477Z       "stages": {
2026-06-04T05:36:28.3346531Z         "doc": {
2026-06-04T05:36:28.3347629Z           "complete": false,
2026-06-04T05:36:28.3348904Z           "evidence": []
2026-06-04T05:36:28.3350100Z         },
2026-06-04T05:36:28.3351085Z         "impl": {
2026-06-04T05:36:28.3352560Z           "complete": true,
2026-06-04T05:36:28.3353857Z           "evidence": [
2026-06-04T05:36:28.3355004Z             {
2026-06-04T05:36:28.3356438Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T05:36:28.3358058Z               "line": 34
2026-06-04T05:36:28.3359301Z             },
2026-06-04T05:36:28.3360372Z             {
2026-06-04T05:36:28.3361649Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T05:36:28.3363282Z               "line": 41
2026-06-04T05:36:28.3364429Z             }
2026-06-04T05:36:28.3365453Z           ]
2026-06-04T05:36:28.3366431Z         },
2026-06-04T05:36:28.3367424Z         "int": {
2026-06-04T05:36:28.3368529Z           "complete": false,
2026-06-04T05:36:28.3369867Z           "evidence": []
2026-06-04T05:36:28.3371028Z         },
2026-06-04T05:36:28.3372009Z         "unit": {
2026-06-04T05:36:28.3373116Z           "complete": true,
2026-06-04T05:36:28.3374381Z           "evidence": [
2026-06-04T05:36:28.3375537Z             {
2026-06-04T05:36:28.3376823Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T05:36:28.3378480Z               "line": 51
2026-06-04T05:36:28.3379697Z             },
2026-06-04T05:36:28.3380721Z             {
2026-06-04T05:36:28.3381973Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T05:36:28.3383603Z               "line": 65
2026-06-04T05:36:28.3384753Z             },
2026-06-04T05:36:28.3385784Z             {
2026-06-04T05:36:28.3387050Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T05:36:28.3388683Z               "line": 74
2026-06-04T05:36:28.3389889Z             }
2026-06-04T05:36:28.3390922Z           ]
2026-06-04T05:36:28.3391880Z         }
2026-06-04T05:36:28.3392824Z       }
2026-06-04T05:36:28.3393742Z     },
2026-06-04T05:36:28.3394682Z     {
2026-06-04T05:36:28.3395685Z       "id": "REQ-ARCH-4",
2026-06-04T05:36:28.3397472Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T05:36:28.3399588Z       "requiredStages": [
2026-06-04T05:36:28.3400792Z         "impl",
2026-06-04T05:36:28.3401816Z         "unit"
2026-06-04T05:36:28.3402842Z       ],
2026-06-04T05:36:28.3404076Z       "stages": {
2026-06-04T05:36:28.3405577Z         "doc": {
2026-06-04T05:36:28.3406684Z           "complete": false,
2026-06-04T05:36:28.3407972Z           "evidence": []
2026-06-04T05:36:28.3409123Z         },
2026-06-04T05:36:28.3410160Z         "impl": {
2026-06-04T05:36:28.3411260Z           "complete": true,
2026-06-04T05:36:28.3412479Z           "evidence": [
2026-06-04T05:36:28.3413599Z             {
2026-06-04T05:36:28.3414823Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3416418Z               "line": 32
2026-06-04T05:36:28.3417573Z             },
2026-06-04T05:36:28.3418576Z             {
2026-06-04T05:36:28.3419825Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3421422Z               "line": 46
2026-06-04T05:36:28.3422584Z             },
2026-06-04T05:36:28.3423614Z             {
2026-06-04T05:36:28.3424827Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3426502Z               "line": 66
2026-06-04T05:36:28.3427664Z             },
2026-06-04T05:36:28.3428676Z             {
2026-06-04T05:36:28.3429942Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3431534Z               "line": 81
2026-06-04T05:36:28.3432691Z             },
2026-06-04T05:36:28.3433699Z             {
2026-06-04T05:36:28.3434909Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3436499Z               "line": 131
2026-06-04T05:36:28.3437651Z             }
2026-06-04T05:36:28.3438675Z           ]
2026-06-04T05:36:28.3439683Z         },
2026-06-04T05:36:28.3440640Z         "int": {
2026-06-04T05:36:28.3441731Z           "complete": false,
2026-06-04T05:36:28.3443004Z           "evidence": []
2026-06-04T05:36:28.3444160Z         },
2026-06-04T05:36:28.3445147Z         "unit": {
2026-06-04T05:36:28.3446540Z           "complete": true,
2026-06-04T05:36:28.3447814Z           "evidence": [
2026-06-04T05:36:28.3448941Z             {
2026-06-04T05:36:28.3450356Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3451968Z               "line": 195
2026-06-04T05:36:28.3453145Z             },
2026-06-04T05:36:28.3454163Z             {
2026-06-04T05:36:28.3455369Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3456967Z               "line": 205
2026-06-04T05:36:28.3458126Z             },
2026-06-04T05:36:28.3459132Z             {
2026-06-04T05:36:28.3460386Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3461970Z               "line": 216
2026-06-04T05:36:28.3463127Z             },
2026-06-04T05:36:28.3464135Z             {
2026-06-04T05:36:28.3465409Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3467003Z               "line": 227
2026-06-04T05:36:28.3468176Z             },
2026-06-04T05:36:28.3469219Z             {
2026-06-04T05:36:28.3470445Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3472037Z               "line": 239
2026-06-04T05:36:28.3473224Z             },
2026-06-04T05:36:28.3474245Z             {
2026-06-04T05:36:28.3475458Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3477056Z               "line": 252
2026-06-04T05:36:28.3478219Z             },
2026-06-04T05:36:28.3479265Z             {
2026-06-04T05:36:28.3480489Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3482075Z               "line": 263
2026-06-04T05:36:28.3483236Z             },
2026-06-04T05:36:28.3484257Z             {
2026-06-04T05:36:28.3485462Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3487055Z               "line": 277
2026-06-04T05:36:28.3488214Z             },
2026-06-04T05:36:28.3489253Z             {
2026-06-04T05:36:28.3490462Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T05:36:28.3492052Z               "line": 286
2026-06-04T05:36:28.3493222Z             }
2026-06-04T05:36:28.3494237Z           ]
2026-06-04T05:36:28.3495212Z         }
2026-06-04T05:36:28.3496172Z       }
2026-06-04T05:36:28.3497104Z     },
2026-06-04T05:36:28.3498045Z     {
2026-06-04T05:36:28.3499047Z       "id": "REQ-DAEMON-1",
2026-06-04T05:36:28.3500851Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T05:36:28.3502869Z       "requiredStages": [
2026-06-04T05:36:28.3504067Z         "impl",
2026-06-04T05:36:28.3505109Z         "unit",
2026-06-04T05:36:28.3506138Z         "int"
2026-06-04T05:36:28.3507131Z       ],
2026-06-04T05:36:28.3508095Z       "stages": {
2026-06-04T05:36:28.3509149Z         "doc": {
2026-06-04T05:36:28.3510282Z           "complete": false,
2026-06-04T05:36:28.3511601Z           "evidence": []
2026-06-04T05:36:28.3512761Z         },
2026-06-04T05:36:28.3513733Z         "impl": {
2026-06-04T05:36:28.3514835Z           "complete": true,
2026-06-04T05:36:28.3516066Z           "evidence": [
2026-06-04T05:36:28.3517202Z             {
2026-06-04T05:36:28.3518438Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.3520112Z               "line": 12
2026-06-04T05:36:28.3521266Z             },
2026-06-04T05:36:28.3522270Z             {
2026-06-04T05:36:28.3523526Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3525192Z               "line": 16
2026-06-04T05:36:28.3526345Z             },
2026-06-04T05:36:28.3527355Z             {
2026-06-04T05:36:28.3528567Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T05:36:28.3530207Z               "line": 15
2026-06-04T05:36:28.3531358Z             },
2026-06-04T05:36:28.3532378Z             {
2026-06-04T05:36:28.3533552Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T05:36:28.3535107Z               "line": 13
2026-06-04T05:36:28.3536271Z             }
2026-06-04T05:36:28.3537274Z           ]
2026-06-04T05:36:28.3547142Z         },
2026-06-04T05:36:28.3548186Z         "int": {
2026-06-04T05:36:28.3549699Z           "complete": true,
2026-06-04T05:36:28.3550953Z           "evidence": [
2026-06-04T05:36:28.3552232Z             {
2026-06-04T05:36:28.3553534Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T05:36:28.3555229Z               "line": 32
2026-06-04T05:36:28.3556362Z             }
2026-06-04T05:36:28.3557352Z           ]
2026-06-04T05:36:28.3558318Z         },
2026-06-04T05:36:28.3559327Z         "unit": {
2026-06-04T05:36:28.3560429Z           "complete": true,
2026-06-04T05:36:28.3561657Z           "evidence": [
2026-06-04T05:36:28.3562779Z             {
2026-06-04T05:36:28.3564011Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.3565647Z               "line": 173
2026-06-04T05:36:28.3566807Z             },
2026-06-04T05:36:28.3567799Z             {
2026-06-04T05:36:28.3569032Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.3570731Z               "line": 181
2026-06-04T05:36:28.3571921Z             },
2026-06-04T05:36:28.3572933Z             {
2026-06-04T05:36:28.3574172Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.3575819Z               "line": 194
2026-06-04T05:36:28.3576977Z             },
2026-06-04T05:36:28.3577979Z             {
2026-06-04T05:36:28.3579263Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.3580899Z               "line": 202
2026-06-04T05:36:28.3582048Z             },
2026-06-04T05:36:28.3583048Z             {
2026-06-04T05:36:28.3584303Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3585976Z               "line": 468
2026-06-04T05:36:28.3587133Z             },
2026-06-04T05:36:28.3588137Z             {
2026-06-04T05:36:28.3589445Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3591118Z               "line": 527
2026-06-04T05:36:28.3592272Z             },
2026-06-04T05:36:28.3593269Z             {
2026-06-04T05:36:28.3594489Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T05:36:28.3596090Z               "line": 100
2026-06-04T05:36:28.3597256Z             },
2026-06-04T05:36:28.3598277Z             {
2026-06-04T05:36:28.3599531Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T05:36:28.3601129Z               "line": 125
2026-06-04T05:36:28.3602286Z             }
2026-06-04T05:36:28.3603282Z           ]
2026-06-04T05:36:28.3604245Z         }
2026-06-04T05:36:28.3605197Z       }
2026-06-04T05:36:28.3606218Z     },
2026-06-04T05:36:28.3607168Z     {
2026-06-04T05:36:28.3608161Z       "id": "REQ-DAEMON-2",
2026-06-04T05:36:28.3609769Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T05:36:28.3611538Z       "requiredStages": [
2026-06-04T05:36:28.3612725Z         "impl",
2026-06-04T05:36:28.3613734Z         "unit",
2026-06-04T05:36:28.3614740Z         "int"
2026-06-04T05:36:28.3615721Z       ],
2026-06-04T05:36:28.3616686Z       "stages": {
2026-06-04T05:36:28.3617719Z         "doc": {
2026-06-04T05:36:28.3618804Z           "complete": false,
2026-06-04T05:36:28.3620112Z           "evidence": []
2026-06-04T05:36:28.3621269Z         },
2026-06-04T05:36:28.3622236Z         "impl": {
2026-06-04T05:36:28.3623313Z           "complete": true,
2026-06-04T05:36:28.3624535Z           "evidence": [
2026-06-04T05:36:28.3625647Z             {
2026-06-04T05:36:28.3626846Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.3628434Z               "line": 23
2026-06-04T05:36:28.3629619Z             },
2026-06-04T05:36:28.3630609Z             {
2026-06-04T05:36:28.3631812Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.3633392Z               "line": 474
2026-06-04T05:36:28.3634536Z             },
2026-06-04T05:36:28.3635531Z             {
2026-06-04T05:36:28.3636741Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.3638325Z               "line": 584
2026-06-04T05:36:28.3639499Z             },
2026-06-04T05:36:28.3640500Z             {
2026-06-04T05:36:28.3641936Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.3643558Z               "line": 32
2026-06-04T05:36:28.3644829Z             },
2026-06-04T05:36:28.3651332Z             {
2026-06-04T05:36:28.3652674Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.3654322Z               "line": 187
2026-06-04T05:36:28.3655467Z             },
2026-06-04T05:36:28.3656449Z             {
2026-06-04T05:36:28.3657670Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.3659325Z               "line": 485
2026-06-04T05:36:28.3660476Z             },
2026-06-04T05:36:28.3661468Z             {
2026-06-04T05:36:28.3662682Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.3664297Z               "line": 654
2026-06-04T05:36:28.3665432Z             },
2026-06-04T05:36:28.3666416Z             {
2026-06-04T05:36:28.3667601Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T05:36:28.3669245Z               "line": 11
2026-06-04T05:36:28.3670376Z             },
2026-06-04T05:36:28.3671376Z             {
2026-06-04T05:36:28.3672613Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T05:36:28.3674228Z               "line": 53
2026-06-04T05:36:28.3675357Z             },
2026-06-04T05:36:28.3676360Z             {
2026-06-04T05:36:28.3677539Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.3679097Z               "line": 13
2026-06-04T05:36:28.3680244Z             },
2026-06-04T05:36:28.3681229Z             {
2026-06-04T05:36:28.3682456Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3684093Z               "line": 27
2026-06-04T05:36:28.3685221Z             },
2026-06-04T05:36:28.3686204Z             {
2026-06-04T05:36:28.3687425Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3689046Z               "line": 94
2026-06-04T05:36:28.3690217Z             },
2026-06-04T05:36:28.3691208Z             {
2026-06-04T05:36:28.3692445Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3694070Z               "line": 383
2026-06-04T05:36:28.3695248Z             },
2026-06-04T05:36:28.3696240Z             {
2026-06-04T05:36:28.3697483Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3699097Z               "line": 450
2026-06-04T05:36:28.3700275Z             },
2026-06-04T05:36:28.3701261Z             {
2026-06-04T05:36:28.3702486Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3704109Z               "line": 484
2026-06-04T05:36:28.3705262Z             },
2026-06-04T05:36:28.3706252Z             {
2026-06-04T05:36:28.3707468Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3709078Z               "line": 526
2026-06-04T05:36:28.3710246Z             },
2026-06-04T05:36:28.3711235Z             {
2026-06-04T05:36:28.3712462Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3714099Z               "line": 570
2026-06-04T05:36:28.3715254Z             },
2026-06-04T05:36:28.3716245Z             {
2026-06-04T05:36:28.3717494Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T05:36:28.3719136Z               "line": 10
2026-06-04T05:36:28.3720296Z             }
2026-06-04T05:36:28.3721274Z           ]
2026-06-04T05:36:28.3722228Z         },
2026-06-04T05:36:28.3723176Z         "int": {
2026-06-04T05:36:28.3724246Z           "complete": true,
2026-06-04T05:36:28.3725462Z           "evidence": [
2026-06-04T05:36:28.3726561Z             {
2026-06-04T05:36:28.3727786Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T05:36:28.3729449Z               "line": 17
2026-06-04T05:36:28.3730585Z             },
2026-06-04T05:36:28.3731567Z             {
2026-06-04T05:36:28.3732858Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T05:36:28.3734523Z               "line": 33
2026-06-04T05:36:28.3735660Z             },
2026-06-04T05:36:28.3736905Z             {
2026-06-04T05:36:28.3738189Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T05:36:28.3740000Z               "line": 19
2026-06-04T05:36:28.3741112Z             },
2026-06-04T05:36:28.3742094Z             {
2026-06-04T05:36:28.3743358Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T05:36:28.3745000Z               "line": 70
2026-06-04T05:36:28.3746208Z             },
2026-06-04T05:36:28.3747196Z             {
2026-06-04T05:36:28.3748457Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T05:36:28.3750131Z               "line": 90
2026-06-04T05:36:28.3751246Z             },
2026-06-04T05:36:28.3752223Z             {
2026-06-04T05:36:28.3758715Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T05:36:28.3760819Z               "line": 160
2026-06-04T05:36:28.3761948Z             },
2026-06-04T05:36:28.3762932Z             {
2026-06-04T05:36:28.3764225Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T05:36:28.3765863Z               "line": 196
2026-06-04T05:36:28.3766982Z             },
2026-06-04T05:36:28.3767992Z             {
2026-06-04T05:36:28.3769288Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T05:36:28.3770954Z               "line": 121
2026-06-04T05:36:28.3772075Z             }
2026-06-04T05:36:28.3773050Z           ]
2026-06-04T05:36:28.3773984Z         },
2026-06-04T05:36:28.3774924Z         "unit": {
2026-06-04T05:36:28.3775989Z           "complete": true,
2026-06-04T05:36:28.3777204Z           "evidence": [
2026-06-04T05:36:28.3778304Z             {
2026-06-04T05:36:28.3779522Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T05:36:28.3781071Z               "line": 62
2026-06-04T05:36:28.3782184Z             },
2026-06-04T05:36:28.3783174Z             {
2026-06-04T05:36:28.3784354Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T05:36:28.3785943Z               "line": 76
2026-06-04T05:36:28.3787081Z             },
2026-06-04T05:36:28.3788064Z             {
2026-06-04T05:36:28.3789272Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T05:36:28.3790845Z               "line": 88
2026-06-04T05:36:28.3791957Z             },
2026-06-04T05:36:28.3792946Z             {
2026-06-04T05:36:28.3794141Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T05:36:28.3795718Z               "line": 264
2026-06-04T05:36:28.3796845Z             },
2026-06-04T05:36:28.3797815Z             {
2026-06-04T05:36:28.3798984Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.3800571Z               "line": 471
2026-06-04T05:36:28.3801710Z             },
2026-06-04T05:36:28.3802693Z             {
2026-06-04T05:36:28.3803859Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.3805407Z               "line": 479
2026-06-04T05:36:28.3806542Z             },
2026-06-04T05:36:28.3807522Z             {
2026-06-04T05:36:28.3808711Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.3810293Z               "line": 496
2026-06-04T05:36:28.3811422Z             },
2026-06-04T05:36:28.3812418Z             {
2026-06-04T05:36:28.3813585Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.3815114Z               "line": 541
2026-06-04T05:36:28.3816241Z             },
2026-06-04T05:36:28.3817217Z             {
2026-06-04T05:36:28.3818434Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3820062Z               "line": 637
2026-06-04T05:36:28.3821182Z             },
2026-06-04T05:36:28.3822164Z             {
2026-06-04T05:36:28.3823379Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.3824968Z               "line": 649
2026-06-04T05:36:28.3826096Z             },
2026-06-04T05:36:28.3827091Z             {
2026-06-04T05:36:28.3828326Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T05:36:28.3829978Z               "line": 112
2026-06-04T05:36:28.3831349Z             }
2026-06-04T05:36:28.3832343Z           ]
2026-06-04T05:36:28.3833284Z         }
2026-06-04T05:36:28.3834208Z       }
2026-06-04T05:36:28.3835270Z     },
2026-06-04T05:36:28.3836184Z     {
2026-06-04T05:36:28.3837152Z       "id": "REQ-DAEMON-3",
2026-06-04T05:36:28.3838773Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T05:36:28.3840724Z       "requiredStages": [
2026-06-04T05:36:28.3841904Z         "impl",
2026-06-04T05:36:28.3842902Z         "unit",
2026-06-04T05:36:28.3843921Z         "int"
2026-06-04T05:36:28.3844874Z       ],
2026-06-04T05:36:28.3845803Z       "stages": {
2026-06-04T05:36:28.3846812Z         "doc": {
2026-06-04T05:36:28.3847871Z           "complete": false,
2026-06-04T05:36:28.3849093Z           "evidence": []
2026-06-04T05:36:28.3850255Z         },
2026-06-04T05:36:28.3851204Z         "impl": {
2026-06-04T05:36:28.3852270Z           "complete": true,
2026-06-04T05:36:28.3853475Z           "evidence": [
2026-06-04T05:36:28.3854573Z             {
2026-06-04T05:36:28.3855780Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T05:36:28.3862686Z               "line": 14
2026-06-04T05:36:28.3863892Z             },
2026-06-04T05:36:28.3864878Z             {
2026-06-04T05:36:28.3866117Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T05:36:28.3867760Z               "line": 11
2026-06-04T05:36:28.3868931Z             },
2026-06-04T05:36:28.3869983Z             {
2026-06-04T05:36:28.3871131Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T05:36:28.3872652Z               "line": 209
2026-06-04T05:36:28.3873777Z             },
2026-06-04T05:36:28.3874760Z             {
2026-06-04T05:36:28.3875865Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.3877344Z               "line": 268
2026-06-04T05:36:28.3878473Z             }
2026-06-04T05:36:28.3879502Z           ]
2026-06-04T05:36:28.3880454Z         },
2026-06-04T05:36:28.3881389Z         "int": {
2026-06-04T05:36:28.3882461Z           "complete": true,
2026-06-04T05:36:28.3883664Z           "evidence": [
2026-06-04T05:36:28.3884755Z             {
2026-06-04T05:36:28.3886079Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.3887656Z               "line": 43
2026-06-04T05:36:28.3888873Z             },
2026-06-04T05:36:28.3889962Z             {
2026-06-04T05:36:28.3891161Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.3892757Z               "line": 320
2026-06-04T05:36:28.3893885Z             }
2026-06-04T05:36:28.3894847Z           ]
2026-06-04T05:36:28.3895787Z         },
2026-06-04T05:36:28.3896738Z         "unit": {
2026-06-04T05:36:28.3897808Z           "complete": true,
2026-06-04T05:36:28.3899011Z           "evidence": [
2026-06-04T05:36:28.3900160Z             {
2026-06-04T05:36:28.3901383Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T05:36:28.3902964Z               "line": 217
2026-06-04T05:36:28.3904093Z             }
2026-06-04T05:36:28.3905069Z           ]
2026-06-04T05:36:28.3906052Z         }
2026-06-04T05:36:28.3906981Z       }
2026-06-04T05:36:28.3907898Z     },
2026-06-04T05:36:28.3908836Z     {
2026-06-04T05:36:28.3909878Z       "id": "REQ-DAEMON-4",
2026-06-04T05:36:28.3911294Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T05:36:28.3912903Z       "requiredStages": [
2026-06-04T05:36:28.3914061Z         "impl",
2026-06-04T05:36:28.3915059Z         "unit",
2026-06-04T05:36:28.3916054Z         "int"
2026-06-04T05:36:28.3917014Z       ],
2026-06-04T05:36:28.3917953Z       "stages": {
2026-06-04T05:36:28.3918974Z         "doc": {
2026-06-04T05:36:28.3920289Z           "complete": false,
2026-06-04T05:36:28.3921525Z           "evidence": []
2026-06-04T05:36:28.3922634Z         },
2026-06-04T05:36:28.3923575Z         "impl": {
2026-06-04T05:36:28.3924704Z           "complete": true,
2026-06-04T05:36:28.3926037Z           "evidence": [
2026-06-04T05:36:28.3927797Z             {
2026-06-04T05:36:28.3930142Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3932579Z               "line": 279
2026-06-04T05:36:28.3933957Z             },
2026-06-04T05:36:28.3935484Z             {
2026-06-04T05:36:28.3936862Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3938654Z               "line": 341
2026-06-04T05:36:28.3939869Z             },
2026-06-04T05:36:28.3940853Z             {
2026-06-04T05:36:28.3942094Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3943771Z               "line": 363
2026-06-04T05:36:28.3944901Z             }
2026-06-04T05:36:28.3945869Z           ]
2026-06-04T05:36:28.3946816Z         },
2026-06-04T05:36:28.3947768Z         "int": {
2026-06-04T05:36:28.3948839Z           "complete": true,
2026-06-04T05:36:28.3950553Z           "evidence": [
2026-06-04T05:36:28.3951656Z             {
2026-06-04T05:36:28.3952943Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T05:36:28.3954618Z               "line": 34
2026-06-04T05:36:28.3955755Z             }
2026-06-04T05:36:28.3956726Z           ]
2026-06-04T05:36:28.3957659Z         },
2026-06-04T05:36:28.3958614Z         "unit": {
2026-06-04T05:36:28.3960089Z           "complete": true,
2026-06-04T05:36:28.3961297Z           "evidence": [
2026-06-04T05:36:28.3969997Z             {
2026-06-04T05:36:28.3971259Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.3972856Z               "line": 248
2026-06-04T05:36:28.3973993Z             },
2026-06-04T05:36:28.3975042Z             {
2026-06-04T05:36:28.3976275Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3977892Z               "line": 550
2026-06-04T05:36:28.3979027Z             },
2026-06-04T05:36:28.3980404Z             {
2026-06-04T05:36:28.3981661Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3983277Z               "line": 601
2026-06-04T05:36:28.3984411Z             },
2026-06-04T05:36:28.3985395Z             {
2026-06-04T05:36:28.3986666Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3988284Z               "line": 625
2026-06-04T05:36:28.3989650Z             },
2026-06-04T05:36:28.3990841Z             {
2026-06-04T05:36:28.3992076Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.3993693Z               "line": 655
2026-06-04T05:36:28.3994815Z             }
2026-06-04T05:36:28.3995781Z           ]
2026-06-04T05:36:28.3996721Z         }
2026-06-04T05:36:28.3997633Z       }
2026-06-04T05:36:28.3998540Z     },
2026-06-04T05:36:28.3999674Z     {
2026-06-04T05:36:28.4000832Z       "id": "REQ-DOCS-1",
2026-06-04T05:36:28.4002727Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T05:36:28.4004910Z       "requiredStages": [],
2026-06-04T05:36:28.4006163Z       "stages": {
2026-06-04T05:36:28.4007185Z         "doc": {
2026-06-04T05:36:28.4008241Z           "complete": false,
2026-06-04T05:36:28.4009545Z           "evidence": []
2026-06-04T05:36:28.4011057Z         },
2026-06-04T05:36:28.4012049Z         "impl": {
2026-06-04T05:36:28.4013180Z           "complete": false,
2026-06-04T05:36:28.4014460Z           "evidence": []
2026-06-04T05:36:28.4015581Z         },
2026-06-04T05:36:28.4016527Z         "int": {
2026-06-04T05:36:28.4017585Z           "complete": false,
2026-06-04T05:36:28.4018812Z           "evidence": []
2026-06-04T05:36:28.4019989Z         },
2026-06-04T05:36:28.4020931Z         "unit": {
2026-06-04T05:36:28.4021999Z           "complete": false,
2026-06-04T05:36:28.4023235Z           "evidence": []
2026-06-04T05:36:28.4024482Z         }
2026-06-04T05:36:28.4025595Z       }
2026-06-04T05:36:28.4026641Z     },
2026-06-04T05:36:28.4028008Z     {
2026-06-04T05:36:28.4029105Z       "id": "REQ-DOCS-2",
2026-06-04T05:36:28.4030995Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T05:36:28.4033198Z       "requiredStages": [],
2026-06-04T05:36:28.4034418Z       "stages": {
2026-06-04T05:36:28.4036168Z         "doc": {
2026-06-04T05:36:28.4037498Z           "complete": false,
2026-06-04T05:36:28.4038740Z           "evidence": []
2026-06-04T05:36:28.4040095Z         },
2026-06-04T05:36:28.4041061Z         "impl": {
2026-06-04T05:36:28.4042123Z           "complete": false,
2026-06-04T05:36:28.4043360Z           "evidence": []
2026-06-04T05:36:28.4044943Z         },
2026-06-04T05:36:28.4045981Z         "int": {
2026-06-04T05:36:28.4047090Z           "complete": false,
2026-06-04T05:36:28.4048367Z           "evidence": []
2026-06-04T05:36:28.4049726Z         },
2026-06-04T05:36:28.4050673Z         "unit": {
2026-06-04T05:36:28.4051735Z           "complete": false,
2026-06-04T05:36:28.4052962Z           "evidence": []
2026-06-04T05:36:28.4054096Z         }
2026-06-04T05:36:28.4055034Z       }
2026-06-04T05:36:28.4055959Z     },
2026-06-04T05:36:28.4056890Z     {
2026-06-04T05:36:28.4057844Z       "id": "REQ-DOCS-3",
2026-06-04T05:36:28.4059993Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T05:36:28.4061808Z       "requiredStages": [],
2026-06-04T05:36:28.4063013Z       "stages": {
2026-06-04T05:36:28.4064052Z         "doc": {
2026-06-04T05:36:28.4065113Z           "complete": false,
2026-06-04T05:36:28.4066435Z           "evidence": []
2026-06-04T05:36:28.4067556Z         },
2026-06-04T05:36:28.4068502Z         "impl": {
2026-06-04T05:36:28.4069612Z           "complete": false,
2026-06-04T05:36:28.4077563Z           "evidence": []
2026-06-04T05:36:28.4078866Z         },
2026-06-04T05:36:28.4079947Z         "int": {
2026-06-04T05:36:28.4081025Z           "complete": false,
2026-06-04T05:36:28.4082271Z           "evidence": []
2026-06-04T05:36:28.4083418Z         },
2026-06-04T05:36:28.4084360Z         "unit": {
2026-06-04T05:36:28.4085430Z           "complete": false,
2026-06-04T05:36:28.4086653Z           "evidence": []
2026-06-04T05:36:28.4087777Z         }
2026-06-04T05:36:28.4088699Z       }
2026-06-04T05:36:28.4089650Z     },
2026-06-04T05:36:28.4090568Z     {
2026-06-04T05:36:28.4091556Z       "id": "REQ-DOCS-4",
2026-06-04T05:36:28.4093461Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T05:36:28.4095636Z       "requiredStages": [],
2026-06-04T05:36:28.4096840Z       "stages": {
2026-06-04T05:36:28.4097857Z         "doc": {
2026-06-04T05:36:28.4098926Z           "complete": false,
2026-06-04T05:36:28.4100197Z           "evidence": []
2026-06-04T05:36:28.4101319Z         },
2026-06-04T05:36:28.4102270Z         "impl": {
2026-06-04T05:36:28.4103339Z           "complete": false,
2026-06-04T05:36:28.4104596Z           "evidence": []
2026-06-04T05:36:28.4105726Z         },
2026-06-04T05:36:28.4106684Z         "int": {
2026-06-04T05:36:28.4107747Z           "complete": false,
2026-06-04T05:36:28.4108977Z           "evidence": []
2026-06-04T05:36:28.4110139Z         },
2026-06-04T05:36:28.4111090Z         "unit": {
2026-06-04T05:36:28.4112159Z           "complete": false,
2026-06-04T05:36:28.4113407Z           "evidence": []
2026-06-04T05:36:28.4114540Z         }
2026-06-04T05:36:28.4115471Z       }
2026-06-04T05:36:28.4116392Z     },
2026-06-04T05:36:28.4117301Z     {
2026-06-04T05:36:28.4118277Z       "id": "REQ-DOCS-5",
2026-06-04T05:36:28.4120238Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T05:36:28.4122418Z       "requiredStages": [],
2026-06-04T05:36:28.4123640Z       "stages": {
2026-06-04T05:36:28.4124673Z         "doc": {
2026-06-04T05:36:28.4125744Z           "complete": false,
2026-06-04T05:36:28.4126983Z           "evidence": []
2026-06-04T05:36:28.4128106Z         },
2026-06-04T05:36:28.4129062Z         "impl": {
2026-06-04T05:36:28.4130178Z           "complete": false,
2026-06-04T05:36:28.4131417Z           "evidence": []
2026-06-04T05:36:28.4132545Z         },
2026-06-04T05:36:28.4133485Z         "int": {
2026-06-04T05:36:28.4134571Z           "complete": false,
2026-06-04T05:36:28.4135801Z           "evidence": []
2026-06-04T05:36:28.4136912Z         },
2026-06-04T05:36:28.4138224Z         "unit": {
2026-06-04T05:36:28.4139396Z           "complete": false,
2026-06-04T05:36:28.4140639Z           "evidence": []
2026-06-04T05:36:28.4141931Z         }
2026-06-04T05:36:28.4142868Z       }
2026-06-04T05:36:28.4143801Z     },
2026-06-04T05:36:28.4144703Z     {
2026-06-04T05:36:28.4145661Z       "id": "REQ-EP-1",
2026-06-04T05:36:28.4147054Z       "title": "Day-one endpoint types; open type system",
2026-06-04T05:36:28.4148722Z       "requiredStages": [
2026-06-04T05:36:28.4149933Z         "impl",
2026-06-04T05:36:28.4150941Z         "unit"
2026-06-04T05:36:28.4151911Z       ],
2026-06-04T05:36:28.4152847Z       "stages": {
2026-06-04T05:36:28.4153875Z         "doc": {
2026-06-04T05:36:28.4154938Z           "complete": false,
2026-06-04T05:36:28.4156168Z           "evidence": []
2026-06-04T05:36:28.4157294Z         },
2026-06-04T05:36:28.4158251Z         "impl": {
2026-06-04T05:36:28.4159414Z           "complete": true,
2026-06-04T05:36:28.4160618Z           "evidence": [
2026-06-04T05:36:28.4161725Z             {
2026-06-04T05:36:28.4162948Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4164559Z               "line": 77
2026-06-04T05:36:28.4165664Z             },
2026-06-04T05:36:28.4166639Z             {
2026-06-04T05:36:28.4167847Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4169464Z               "line": 94
2026-06-04T05:36:28.4170582Z             }
2026-06-04T05:36:28.4171596Z           ]
2026-06-04T05:36:28.4178467Z         },
2026-06-04T05:36:28.4179652Z         "int": {
2026-06-04T05:36:28.4180726Z           "complete": false,
2026-06-04T05:36:28.4181970Z           "evidence": []
2026-06-04T05:36:28.4183098Z         },
2026-06-04T05:36:28.4184043Z         "unit": {
2026-06-04T05:36:28.4185105Z           "complete": true,
2026-06-04T05:36:28.4186303Z           "evidence": [
2026-06-04T05:36:28.4187388Z             {
2026-06-04T05:36:28.4188607Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4190288Z               "line": 161
2026-06-04T05:36:28.4191419Z             },
2026-06-04T05:36:28.4192400Z             {
2026-06-04T05:36:28.4193623Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4195218Z               "line": 178
2026-06-04T05:36:28.4196342Z             }
2026-06-04T05:36:28.4197305Z           ]
2026-06-04T05:36:28.4198236Z         }
2026-06-04T05:36:28.4199200Z       }
2026-06-04T05:36:28.4200122Z     },
2026-06-04T05:36:28.4201036Z     {
2026-06-04T05:36:28.4201978Z       "id": "REQ-EP-2",
2026-06-04T05:36:28.4203601Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T05:36:28.4205544Z       "requiredStages": [
2026-06-04T05:36:28.4206707Z         "impl",
2026-06-04T05:36:28.4207705Z         "unit"
2026-06-04T05:36:28.4208682Z       ],
2026-06-04T05:36:28.4209669Z       "stages": {
2026-06-04T05:36:28.4210685Z         "doc": {
2026-06-04T05:36:28.4211743Z           "complete": false,
2026-06-04T05:36:28.4212992Z           "evidence": []
2026-06-04T05:36:28.4214112Z         },
2026-06-04T05:36:28.4215060Z         "impl": {
2026-06-04T05:36:28.4216142Z           "complete": true,
2026-06-04T05:36:28.4217344Z           "evidence": [
2026-06-04T05:36:28.4218435Z             {
2026-06-04T05:36:28.4219701Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4221340Z               "line": 114
2026-06-04T05:36:28.4222466Z             },
2026-06-04T05:36:28.4223445Z             {
2026-06-04T05:36:28.4224652Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4226298Z               "line": 131
2026-06-04T05:36:28.4227426Z             },
2026-06-04T05:36:28.4228398Z             {
2026-06-04T05:36:28.4229660Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4231262Z               "line": 138
2026-06-04T05:36:28.4232387Z             }
2026-06-04T05:36:28.4233350Z           ]
2026-06-04T05:36:28.4234285Z         },
2026-06-04T05:36:28.4235226Z         "int": {
2026-06-04T05:36:28.4236570Z           "complete": false,
2026-06-04T05:36:28.4237832Z           "evidence": []
2026-06-04T05:36:28.4239110Z         },
2026-06-04T05:36:28.4240099Z         "unit": {
2026-06-04T05:36:28.4241170Z           "complete": true,
2026-06-04T05:36:28.4242370Z           "evidence": [
2026-06-04T05:36:28.4243468Z             {
2026-06-04T05:36:28.4244673Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4246329Z               "line": 193
2026-06-04T05:36:28.4247443Z             },
2026-06-04T05:36:28.4248418Z             {
2026-06-04T05:36:28.4249682Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4251276Z               "line": 211
2026-06-04T05:36:28.4252390Z             },
2026-06-04T05:36:28.4253360Z             {
2026-06-04T05:36:28.4257910Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T05:36:28.4259573Z               "line": 224
2026-06-04T05:36:28.4260697Z             }
2026-06-04T05:36:28.4261705Z           ]
2026-06-04T05:36:28.4262664Z         }
2026-06-04T05:36:28.4263583Z       }
2026-06-04T05:36:28.4264485Z     },
2026-06-04T05:36:28.4265495Z     {
2026-06-04T05:36:28.4266434Z       "id": "REQ-EP-3",
2026-06-04T05:36:28.4268217Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T05:36:28.4270342Z       "requiredStages": [
2026-06-04T05:36:28.4277964Z         "impl",
2026-06-04T05:36:28.4279109Z         "unit"
2026-06-04T05:36:28.4280248Z       ],
2026-06-04T05:36:28.4281181Z       "stages": {
2026-06-04T05:36:28.4282188Z         "doc": {
2026-06-04T05:36:28.4283240Z           "complete": false,
2026-06-04T05:36:28.4284471Z           "evidence": []
2026-06-04T05:36:28.4285587Z         },
2026-06-04T05:36:28.4286534Z         "impl": {
2026-06-04T05:36:28.4287596Z           "complete": true,
2026-06-04T05:36:28.4288791Z           "evidence": [
2026-06-04T05:36:28.4289941Z             {
2026-06-04T05:36:28.4291197Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4292792Z               "line": 31
2026-06-04T05:36:28.4293905Z             },
2026-06-04T05:36:28.4294889Z             {
2026-06-04T05:36:28.4296094Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4297677Z               "line": 49
2026-06-04T05:36:28.4298791Z             }
2026-06-04T05:36:28.4299817Z           ]
2026-06-04T05:36:28.4300760Z         },
2026-06-04T05:36:28.4301701Z         "int": {
2026-06-04T05:36:28.4302756Z           "complete": false,
2026-06-04T05:36:28.4303992Z           "evidence": []
2026-06-04T05:36:28.4305114Z         },
2026-06-04T05:36:28.4306145Z         "unit": {
2026-06-04T05:36:28.4307187Z           "complete": true,
2026-06-04T05:36:28.4308376Z           "evidence": [
2026-06-04T05:36:28.4309509Z             {
2026-06-04T05:36:28.4310732Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4312299Z               "line": 156
2026-06-04T05:36:28.4313412Z             },
2026-06-04T05:36:28.4314398Z             {
2026-06-04T05:36:28.4315608Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4317196Z               "line": 164
2026-06-04T05:36:28.4318314Z             },
2026-06-04T05:36:28.4319329Z             {
2026-06-04T05:36:28.4320542Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4322110Z               "line": 177
2026-06-04T05:36:28.4323228Z             },
2026-06-04T05:36:28.4324197Z             {
2026-06-04T05:36:28.4325403Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4326982Z               "line": 197
2026-06-04T05:36:28.4328098Z             },
2026-06-04T05:36:28.4329071Z             {
2026-06-04T05:36:28.4330363Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4331932Z               "line": 213
2026-06-04T05:36:28.4333048Z             },
2026-06-04T05:36:28.4334025Z             {
2026-06-04T05:36:28.4335221Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T05:36:28.4337075Z               "line": 227
2026-06-04T05:36:28.4338235Z             }
2026-06-04T05:36:28.4339254Z           ]
2026-06-04T05:36:28.4340359Z         }
2026-06-04T05:36:28.4341282Z       }
2026-06-04T05:36:28.4342183Z     },
2026-06-04T05:36:28.4343093Z     {
2026-06-04T05:36:28.4344043Z       "id": "REQ-EP-4",
2026-06-04T05:36:28.4345649Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T05:36:28.4347448Z       "requiredStages": [
2026-06-04T05:36:28.4348602Z         "impl",
2026-06-04T05:36:28.4349635Z         "unit"
2026-06-04T05:36:28.4350619Z       ],
2026-06-04T05:36:28.4351543Z       "stages": {
2026-06-04T05:36:28.4352552Z         "doc": {
2026-06-04T05:36:28.4353601Z           "complete": false,
2026-06-04T05:36:28.4354828Z           "evidence": []
2026-06-04T05:36:28.4355939Z         },
2026-06-04T05:36:28.4356889Z         "impl": {
2026-06-04T05:36:28.4357943Z           "complete": true,
2026-06-04T05:36:28.4359131Z           "evidence": [
2026-06-04T05:36:28.4360275Z             {
2026-06-04T05:36:28.4361451Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.4363003Z               "line": 404
2026-06-04T05:36:28.4364117Z             },
2026-06-04T05:36:28.4365092Z             {
2026-06-04T05:36:28.4366273Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.4367835Z               "line": 603
2026-06-04T05:36:28.4368966Z             },
2026-06-04T05:36:28.4369999Z             {
2026-06-04T05:36:28.4371182Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.4372745Z               "line": 671
2026-06-04T05:36:28.4373876Z             },
2026-06-04T05:36:28.4374859Z             {
2026-06-04T05:36:28.4376003Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.4377519Z               "line": 83
2026-06-04T05:36:28.4378631Z             },
2026-06-04T05:36:28.4379650Z             {
2026-06-04T05:36:28.4380811Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.4382350Z               "line": 372
2026-06-04T05:36:28.4383475Z             },
2026-06-04T05:36:28.4384455Z             {
2026-06-04T05:36:28.4385662Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.4387178Z               "line": 443
2026-06-04T05:36:28.4388297Z             },
2026-06-04T05:36:28.4389300Z             {
2026-06-04T05:36:28.4390515Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.4392092Z               "line": 181
2026-06-04T05:36:28.4393207Z             },
2026-06-04T05:36:28.4394181Z             {
2026-06-04T05:36:28.4395379Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.4396967Z               "line": 300
2026-06-04T05:36:28.4398083Z             },
2026-06-04T05:36:28.4399067Z             {
2026-06-04T05:36:28.4400326Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T05:36:28.4401914Z               "line": 602
2026-06-04T05:36:28.4403037Z             }
2026-06-04T05:36:28.4404014Z           ]
2026-06-04T05:36:28.4405008Z         },
2026-06-04T05:36:28.4405947Z         "int": {
2026-06-04T05:36:28.4407034Z           "complete": false,
2026-06-04T05:36:28.4408263Z           "evidence": []
2026-06-04T05:36:28.4409432Z         },
2026-06-04T05:36:28.4410408Z         "unit": {
2026-06-04T05:36:28.4411480Z           "complete": true,
2026-06-04T05:36:28.4412675Z           "evidence": [
2026-06-04T05:36:28.4413775Z             {
2026-06-04T05:36:28.4414935Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T05:36:28.4416556Z               "line": 516
2026-06-04T05:36:28.4417677Z             },
2026-06-04T05:36:28.4418656Z             {
2026-06-04T05:36:28.4426091Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T05:36:28.4427730Z               "line": 75
2026-06-04T05:36:28.4428849Z             },
2026-06-04T05:36:28.4429965Z             {
2026-06-04T05:36:28.4431213Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T05:36:28.4433134Z               "line": 131
2026-06-04T05:36:28.4434297Z             }
2026-06-04T05:36:28.4435259Z           ]
2026-06-04T05:36:28.4436350Z         }
2026-06-04T05:36:28.4437262Z       }
2026-06-04T05:36:28.4438170Z     },
2026-06-04T05:36:28.4439080Z     {
2026-06-04T05:36:28.4440069Z       "id": "REQ-EP-5",
2026-06-04T05:36:28.4445286Z       "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-04T05:36:28.4450836Z       "requiredStages": [],
2026-06-04T05:36:28.4452033Z       "stages": {
2026-06-04T05:36:28.4453045Z         "doc": {
2026-06-04T05:36:28.4454111Z           "complete": false,
2026-06-04T05:36:28.4455327Z           "evidence": []
2026-06-04T05:36:28.4456434Z         },
2026-06-04T05:36:28.4457376Z         "impl": {
2026-06-04T05:36:28.4458435Z           "complete": false,
2026-06-04T05:36:28.4459708Z           "evidence": []
2026-06-04T05:36:28.4460834Z         },
2026-06-04T05:36:28.4461768Z         "int": {
2026-06-04T05:36:28.4462838Z           "complete": false,
2026-06-04T05:36:28.4464056Z           "evidence": []
2026-06-04T05:36:28.4465170Z         },
2026-06-04T05:36:28.4466102Z         "unit": {
2026-06-04T05:36:28.4467162Z           "complete": false,
2026-06-04T05:36:28.4468372Z           "evidence": []
2026-06-04T05:36:28.4469520Z         }
2026-06-04T05:36:28.4470439Z       }
2026-06-04T05:36:28.4471335Z     },
2026-06-04T05:36:28.4472240Z     {
2026-06-04T05:36:28.4473200Z       "id": "REQ-FRONT-1",
2026-06-04T05:36:28.4474938Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T05:36:28.4476949Z       "requiredStages": [],
2026-06-04T05:36:28.4478139Z       "stages": {
2026-06-04T05:36:28.4479149Z         "doc": {
2026-06-04T05:36:28.4480241Z           "complete": false,
2026-06-04T05:36:28.4481460Z           "evidence": []
2026-06-04T05:36:28.4482582Z         },
2026-06-04T05:36:28.4483522Z         "impl": {
2026-06-04T05:36:28.4484576Z           "complete": false,
2026-06-04T05:36:28.4485864Z           "evidence": []
2026-06-04T05:36:28.4486980Z         },
2026-06-04T05:36:28.4487906Z         "int": {
2026-06-04T05:36:28.4488949Z           "complete": false,
2026-06-04T05:36:28.4490204Z           "evidence": []
2026-06-04T05:36:28.4491304Z         },
2026-06-04T05:36:28.4492241Z         "unit": {
2026-06-04T05:36:28.4493296Z           "complete": false,
2026-06-04T05:36:28.4494514Z           "evidence": []
2026-06-04T05:36:28.4495610Z         }
2026-06-04T05:36:28.4496536Z       }
2026-06-04T05:36:28.4497434Z     },
2026-06-04T05:36:28.4498331Z     {
2026-06-04T05:36:28.4499446Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T05:36:28.4501461Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T05:36:28.4503424Z       "requiredStages": [
2026-06-04T05:36:28.4504564Z         "impl",
2026-06-04T05:36:28.4505565Z         "unit"
2026-06-04T05:36:28.4506538Z       ],
2026-06-04T05:36:28.4507463Z       "stages": {
2026-06-04T05:36:28.4508476Z         "doc": {
2026-06-04T05:36:28.4509557Z           "complete": false,
2026-06-04T05:36:28.4510772Z           "evidence": []
2026-06-04T05:36:28.4511873Z         },
2026-06-04T05:36:28.4512808Z         "impl": {
2026-06-04T05:36:28.4513857Z           "complete": true,
2026-06-04T05:36:28.4515052Z           "evidence": [
2026-06-04T05:36:28.4516141Z             {
2026-06-04T05:36:28.4517326Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.4518870Z               "line": 60
2026-06-04T05:36:28.4519989Z             },
2026-06-04T05:36:28.4520948Z             {
2026-06-04T05:36:28.4522099Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.4523608Z               "line": 18
2026-06-04T05:36:28.4524706Z             },
2026-06-04T05:36:28.4525679Z             {
2026-06-04T05:36:28.4556777Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.4558693Z               "line": 94
2026-06-04T05:36:28.4560212Z             }
2026-06-04T05:36:28.4561383Z           ]
2026-06-04T05:36:28.4562306Z         },
2026-06-04T05:36:28.4563252Z         "int": {
2026-06-04T05:36:28.4564304Z           "complete": false,
2026-06-04T05:36:28.4565517Z           "evidence": []
2026-06-04T05:36:28.4566629Z         },
2026-06-04T05:36:28.4567565Z         "unit": {
2026-06-04T05:36:28.4568622Z           "complete": true,
2026-06-04T05:36:28.4570206Z           "evidence": [
2026-06-04T05:36:28.4571292Z             {
2026-06-04T05:36:28.4572492Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.4574057Z               "line": 272
2026-06-04T05:36:28.4575179Z             },
2026-06-04T05:36:28.4576175Z             {
2026-06-04T05:36:28.4577326Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.4578845Z               "line": 152
2026-06-04T05:36:28.4579278Z             },
2026-06-04T05:36:28.4579923Z             {
2026-06-04T05:36:28.4580662Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.4581128Z               "line": 188
2026-06-04T05:36:28.4581541Z             }
2026-06-04T05:36:28.4581942Z           ]
2026-06-04T05:36:28.4582354Z         }
2026-06-04T05:36:28.4582754Z       }
2026-06-04T05:36:28.4583158Z     },
2026-06-04T05:36:28.4583552Z     {
2026-06-04T05:36:28.4584201Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T05:36:28.4588054Z       "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-04T05:36:28.4588521Z       "requiredStages": [
2026-06-04T05:36:28.4588942Z         "impl",
2026-06-04T05:36:28.4589608Z         "unit"
2026-06-04T05:36:28.4590025Z       ],
2026-06-04T05:36:28.4590456Z       "stages": {
2026-06-04T05:36:28.4590863Z         "doc": {
2026-06-04T05:36:28.4591351Z           "complete": false,
2026-06-04T05:36:28.4591793Z           "evidence": []
2026-06-04T05:36:28.4592201Z         },
2026-06-04T05:36:28.4592626Z         "impl": {
2026-06-04T05:36:28.4593086Z           "complete": true,
2026-06-04T05:36:28.4593528Z           "evidence": [
2026-06-04T05:36:28.4593929Z             {
2026-06-04T05:36:28.4594591Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T05:36:28.4595016Z               "line": 22
2026-06-04T05:36:28.4595432Z             },
2026-06-04T05:36:28.4595831Z             {
2026-06-04T05:36:28.4596483Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T05:36:28.4596921Z               "line": 17
2026-06-04T05:36:28.4597322Z             },
2026-06-04T05:36:28.4597735Z             {
2026-06-04T05:36:28.4598371Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T05:36:28.4598817Z               "line": 125
2026-06-04T05:36:28.4599258Z             },
2026-06-04T05:36:28.4599674Z             {
2026-06-04T05:36:28.4600390Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.4600826Z               "line": 169
2026-06-04T05:36:28.4601248Z             },
2026-06-04T05:36:28.4601644Z             {
2026-06-04T05:36:28.4602342Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.4602777Z               "line": 197
2026-06-04T05:36:28.4603184Z             },
2026-06-04T05:36:28.4603592Z             {
2026-06-04T05:36:28.4604277Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.4604727Z               "line": 223
2026-06-04T05:36:28.4605118Z             }
2026-06-04T05:36:28.4605523Z           ]
2026-06-04T05:36:28.4605920Z         },
2026-06-04T05:36:28.4606341Z         "int": {
2026-06-04T05:36:28.4606812Z           "complete": false,
2026-06-04T05:36:28.4607254Z           "evidence": []
2026-06-04T05:36:28.4607663Z         },
2026-06-04T05:36:28.4608076Z         "unit": {
2026-06-04T05:36:28.4608543Z           "complete": true,
2026-06-04T05:36:28.4609211Z           "evidence": [
2026-06-04T05:36:28.4609653Z             {
2026-06-04T05:36:28.4610454Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T05:36:28.4610885Z               "line": 53
2026-06-04T05:36:28.4611296Z             },
2026-06-04T05:36:28.4611696Z             {
2026-06-04T05:36:28.4612355Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T05:36:28.4612786Z               "line": 60
2026-06-04T05:36:28.4613200Z             },
2026-06-04T05:36:28.4613613Z             {
2026-06-04T05:36:28.4614347Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T05:36:28.4614789Z               "line": 72
2026-06-04T05:36:28.4615186Z             },
2026-06-04T05:36:28.4615601Z             {
2026-06-04T05:36:28.4616243Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T05:36:28.4616696Z               "line": 247
2026-06-04T05:36:28.4617109Z             },
2026-06-04T05:36:28.4617504Z             {
2026-06-04T05:36:28.4618171Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T05:36:28.4618618Z               "line": 282
2026-06-04T05:36:28.4619040Z             },
2026-06-04T05:36:28.4619678Z             {
2026-06-04T05:36:28.4620482Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T05:36:28.4620931Z               "line": 313
2026-06-04T05:36:28.4621339Z             },
2026-06-04T05:36:28.4621749Z             {
2026-06-04T05:36:28.4622434Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.4622884Z               "line": 400
2026-06-04T05:36:28.4623296Z             }
2026-06-04T05:36:28.4623703Z           ]
2026-06-04T05:36:28.4624110Z         }
2026-06-04T05:36:28.4624509Z       }
2026-06-04T05:36:28.4624915Z     },
2026-06-04T05:36:28.4625313Z     {
2026-06-04T05:36:28.4625847Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T05:36:28.4627158Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T05:36:28.4627633Z       "requiredStages": [
2026-06-04T05:36:28.4628053Z         "impl",
2026-06-04T05:36:28.4628460Z         "unit"
2026-06-04T05:36:28.4628878Z       ],
2026-06-04T05:36:28.4629387Z       "stages": {
2026-06-04T05:36:28.4629817Z         "doc": {
2026-06-04T05:36:28.4630287Z           "complete": false,
2026-06-04T05:36:28.4630732Z           "evidence": []
2026-06-04T05:36:28.4631149Z         },
2026-06-04T05:36:28.4631560Z         "impl": {
2026-06-04T05:36:28.4632025Z           "complete": true,
2026-06-04T05:36:28.4632460Z           "evidence": [
2026-06-04T05:36:28.4632879Z             {
2026-06-04T05:36:28.4633503Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T05:36:28.4633939Z               "line": 164
2026-06-04T05:36:28.4634360Z             }
2026-06-04T05:36:28.4634756Z           ]
2026-06-04T05:36:28.4635190Z         },
2026-06-04T05:36:28.4635598Z         "int": {
2026-06-04T05:36:28.4636071Z           "complete": true,
2026-06-04T05:36:28.4636532Z           "evidence": [
2026-06-04T05:36:28.4636933Z             {
2026-06-04T05:36:28.4637541Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T05:36:28.4637991Z               "line": 44
2026-06-04T05:36:28.4638407Z             },
2026-06-04T05:36:28.4638810Z             {
2026-06-04T05:36:28.4639452Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T05:36:28.4639895Z               "line": 66
2026-06-04T05:36:28.4640296Z             }
2026-06-04T05:36:28.4640703Z           ]
2026-06-04T05:36:28.4641097Z         },
2026-06-04T05:36:28.4641525Z         "unit": {
2026-06-04T05:36:28.4641973Z           "complete": true,
2026-06-04T05:36:28.4647098Z           "evidence": [
2026-06-04T05:36:28.4647609Z             {
2026-06-04T05:36:28.4648238Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T05:36:28.4648691Z               "line": 181
2026-06-04T05:36:28.4649092Z             },
2026-06-04T05:36:28.4649629Z             {
2026-06-04T05:36:28.4650515Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T05:36:28.4650990Z               "line": 233
2026-06-04T05:36:28.4651401Z             },
2026-06-04T05:36:28.4651940Z             {
2026-06-04T05:36:28.4652560Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T05:36:28.4653003Z               "line": 261
2026-06-04T05:36:28.4653414Z             }
2026-06-04T05:36:28.4653814Z           ]
2026-06-04T05:36:28.4654232Z         }
2026-06-04T05:36:28.4654642Z       }
2026-06-04T05:36:28.4655039Z     },
2026-06-04T05:36:28.4655442Z     {
2026-06-04T05:36:28.4656062Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T05:36:28.4658919Z       "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-04T05:36:28.4659440Z       "requiredStages": [
2026-06-04T05:36:28.4659864Z         "impl",
2026-06-04T05:36:28.4660283Z         "unit",
2026-06-04T05:36:28.4660693Z         "int"
2026-06-04T05:36:28.4661117Z       ],
2026-06-04T05:36:28.4661539Z       "stages": {
2026-06-04T05:36:28.4661955Z         "doc": {
2026-06-04T05:36:28.4662430Z           "complete": false,
2026-06-04T05:36:28.4662878Z           "evidence": []
2026-06-04T05:36:28.4663285Z         },
2026-06-04T05:36:28.4663700Z         "impl": {
2026-06-04T05:36:28.4664166Z           "complete": true,
2026-06-04T05:36:28.4664595Z           "evidence": [
2026-06-04T05:36:28.4665001Z             {
2026-06-04T05:36:28.4665658Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.4666106Z               "line": 150
2026-06-04T05:36:28.4666516Z             },
2026-06-04T05:36:28.4666917Z             {
2026-06-04T05:36:28.4667580Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.4668018Z               "line": 169
2026-06-04T05:36:28.4668431Z             },
2026-06-04T05:36:28.4668830Z             {
2026-06-04T05:36:28.4669499Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.4669964Z               "line": 79
2026-06-04T05:36:28.4670375Z             },
2026-06-04T05:36:28.4670789Z             {
2026-06-04T05:36:28.4671380Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.4671825Z               "line": 51
2026-06-04T05:36:28.4672224Z             },
2026-06-04T05:36:28.4672633Z             {
2026-06-04T05:36:28.4673235Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.4673674Z               "line": 101
2026-06-04T05:36:28.4674092Z             },
2026-06-04T05:36:28.4674500Z             {
2026-06-04T05:36:28.4675143Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4675588Z               "line": 27
2026-06-04T05:36:28.4676019Z             },
2026-06-04T05:36:28.4676426Z             {
2026-06-04T05:36:28.4677068Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4677508Z               "line": 79
2026-06-04T05:36:28.4677909Z             },
2026-06-04T05:36:28.4678328Z             {
2026-06-04T05:36:28.4678977Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4679460Z               "line": 102
2026-06-04T05:36:28.4679881Z             },
2026-06-04T05:36:28.4680280Z             {
2026-06-04T05:36:28.4680930Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.4681366Z               "line": 108
2026-06-04T05:36:28.4681770Z             }
2026-06-04T05:36:28.4682176Z           ]
2026-06-04T05:36:28.4682574Z         },
2026-06-04T05:36:28.4682992Z         "int": {
2026-06-04T05:36:28.4683444Z           "complete": true,
2026-06-04T05:36:28.4683888Z           "evidence": [
2026-06-04T05:36:28.4684287Z             {
2026-06-04T05:36:28.4684995Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T05:36:28.4685440Z               "line": 35
2026-06-04T05:36:28.4685841Z             }
2026-06-04T05:36:28.4686254Z           ]
2026-06-04T05:36:28.4686652Z         },
2026-06-04T05:36:28.4687071Z         "unit": {
2026-06-04T05:36:28.4687717Z           "complete": true,
2026-06-04T05:36:28.4688184Z           "evidence": [
2026-06-04T05:36:28.4688719Z             {
2026-06-04T05:36:28.4689420Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.4689873Z               "line": 484
2026-06-04T05:36:28.4690275Z             },
2026-06-04T05:36:28.4690686Z             {
2026-06-04T05:36:28.4691287Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.4691739Z               "line": 236
2026-06-04T05:36:28.4692151Z             },
2026-06-04T05:36:28.4692553Z             {
2026-06-04T05:36:28.4693205Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4693647Z               "line": 124
2026-06-04T05:36:28.4694059Z             },
2026-06-04T05:36:28.4694455Z             {
2026-06-04T05:36:28.4695108Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4695551Z               "line": 136
2026-06-04T05:36:28.4695952Z             },
2026-06-04T05:36:28.4696373Z             {
2026-06-04T05:36:28.4697013Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4697470Z               "line": 146
2026-06-04T05:36:28.4697874Z             },
2026-06-04T05:36:28.4698289Z             {
2026-06-04T05:36:28.4698941Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4699437Z               "line": 159
2026-06-04T05:36:28.4699852Z             },
2026-06-04T05:36:28.4700257Z             {
2026-06-04T05:36:28.4700915Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T05:36:28.4701356Z               "line": 171
2026-06-04T05:36:28.4701765Z             },
2026-06-04T05:36:28.4702179Z             {
2026-06-04T05:36:28.4702817Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.4703265Z               "line": 207
2026-06-04T05:36:28.4703670Z             }
2026-06-04T05:36:28.4704079Z           ]
2026-06-04T05:36:28.4704479Z         }
2026-06-04T05:36:28.4704897Z       }
2026-06-04T05:36:28.4705302Z     },
2026-06-04T05:36:28.4705694Z     {
2026-06-04T05:36:28.4706347Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T05:36:28.4710962Z       "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-04T05:36:28.4711449Z       "requiredStages": [],
2026-06-04T05:36:28.4711872Z       "stages": {
2026-06-04T05:36:28.4712279Z         "doc": {
2026-06-04T05:36:28.4712745Z           "complete": false,
2026-06-04T05:36:28.4713183Z           "evidence": []
2026-06-04T05:36:28.4713591Z         },
2026-06-04T05:36:28.4714000Z         "impl": {
2026-06-04T05:36:28.4714461Z           "complete": false,
2026-06-04T05:36:28.4714910Z           "evidence": []
2026-06-04T05:36:28.4715305Z         },
2026-06-04T05:36:28.4715723Z         "int": {
2026-06-04T05:36:28.4716186Z           "complete": false,
2026-06-04T05:36:28.4716632Z           "evidence": []
2026-06-04T05:36:28.4717028Z         },
2026-06-04T05:36:28.4717459Z         "unit": {
2026-06-04T05:36:28.4717926Z           "complete": false,
2026-06-04T05:36:28.4718362Z           "evidence": []
2026-06-04T05:36:28.4718773Z         }
2026-06-04T05:36:28.4719204Z       }
2026-06-04T05:36:28.4719609Z     },
2026-06-04T05:36:28.4720003Z     {
2026-06-04T05:36:28.4720554Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T05:36:28.4721653Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T05:36:28.4722117Z       "requiredStages": [
2026-06-04T05:36:28.4722538Z         "impl",
2026-06-04T05:36:28.4722943Z         "unit"
2026-06-04T05:36:28.4723350Z       ],
2026-06-04T05:36:28.4723762Z       "stages": {
2026-06-04T05:36:28.4724179Z         "doc": {
2026-06-04T05:36:28.4724643Z           "complete": false,
2026-06-04T05:36:28.4725080Z           "evidence": []
2026-06-04T05:36:28.4725651Z         },
2026-06-04T05:36:28.4726086Z         "impl": {
2026-06-04T05:36:28.4726549Z           "complete": true,
2026-06-04T05:36:28.4727117Z           "evidence": [
2026-06-04T05:36:28.4727528Z             {
2026-06-04T05:36:28.4728148Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4728581Z               "line": 40
2026-06-04T05:36:28.4728990Z             },
2026-06-04T05:36:28.4729435Z             {
2026-06-04T05:36:28.4732985Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4733512Z               "line": 98
2026-06-04T05:36:28.4733931Z             },
2026-06-04T05:36:28.4734342Z             {
2026-06-04T05:36:28.4735021Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4735462Z               "line": 209
2026-06-04T05:36:28.4735863Z             },
2026-06-04T05:36:28.4736271Z             {
2026-06-04T05:36:28.4736875Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4737319Z               "line": 291
2026-06-04T05:36:28.4737756Z             }
2026-06-04T05:36:28.4738155Z           ]
2026-06-04T05:36:28.4738559Z         },
2026-06-04T05:36:28.4738988Z         "int": {
2026-06-04T05:36:28.4739545Z           "complete": false,
2026-06-04T05:36:28.4739989Z           "evidence": []
2026-06-04T05:36:28.4740393Z         },
2026-06-04T05:36:28.4740809Z         "unit": {
2026-06-04T05:36:28.4741259Z           "complete": true,
2026-06-04T05:36:28.4741704Z           "evidence": [
2026-06-04T05:36:28.4742099Z             {
2026-06-04T05:36:28.4742707Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4743136Z               "line": 326
2026-06-04T05:36:28.4743549Z             },
2026-06-04T05:36:28.4743960Z             {
2026-06-04T05:36:28.4744560Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4745000Z               "line": 372
2026-06-04T05:36:28.4745397Z             },
2026-06-04T05:36:28.4745861Z             {
2026-06-04T05:36:28.4746469Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4746910Z               "line": 413
2026-06-04T05:36:28.4747320Z             },
2026-06-04T05:36:28.4747732Z             {
2026-06-04T05:36:28.4748337Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4748771Z               "line": 432
2026-06-04T05:36:28.4749217Z             }
2026-06-04T05:36:28.4749622Z           ]
2026-06-04T05:36:28.4750032Z         }
2026-06-04T05:36:28.4750434Z       }
2026-06-04T05:36:28.4750826Z     },
2026-06-04T05:36:28.4751221Z     {
2026-06-04T05:36:28.4751838Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T05:36:28.4752519Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T05:36:28.4752974Z       "requiredStages": [
2026-06-04T05:36:28.4753390Z         "impl",
2026-06-04T05:36:28.4753802Z         "unit"
2026-06-04T05:36:28.4754199Z       ],
2026-06-04T05:36:28.4754628Z       "stages": {
2026-06-04T05:36:28.4755033Z         "doc": {
2026-06-04T05:36:28.4755513Z           "complete": false,
2026-06-04T05:36:28.4755947Z           "evidence": []
2026-06-04T05:36:28.4756345Z         },
2026-06-04T05:36:28.4756779Z         "impl": {
2026-06-04T05:36:28.4757231Z           "complete": true,
2026-06-04T05:36:28.4757671Z           "evidence": [
2026-06-04T05:36:28.4758066Z             {
2026-06-04T05:36:28.4758677Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4759106Z               "line": 111
2026-06-04T05:36:28.4759551Z             },
2026-06-04T05:36:28.4759958Z             {
2026-06-04T05:36:28.4760555Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4761002Z               "line": 202
2026-06-04T05:36:28.4761400Z             }
2026-06-04T05:36:28.4761805Z           ]
2026-06-04T05:36:28.4762197Z         },
2026-06-04T05:36:28.4762609Z         "int": {
2026-06-04T05:36:28.4763072Z           "complete": false,
2026-06-04T05:36:28.4763547Z           "evidence": []
2026-06-04T05:36:28.4764148Z         },
2026-06-04T05:36:28.4764910Z         "unit": {
2026-06-04T05:36:28.4765541Z           "complete": true,
2026-06-04T05:36:28.4766217Z           "evidence": [
2026-06-04T05:36:28.4766938Z             {
2026-06-04T05:36:28.4767555Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4767985Z               "line": 347
2026-06-04T05:36:28.4768398Z             },
2026-06-04T05:36:28.4768799Z             {
2026-06-04T05:36:28.4769462Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.4769914Z               "line": 391
2026-06-04T05:36:28.4770326Z             }
2026-06-04T05:36:28.4770730Z           ]
2026-06-04T05:36:28.4771125Z         }
2026-06-04T05:36:28.4771529Z       }
2026-06-04T05:36:28.4771932Z     },
2026-06-04T05:36:28.4772331Z     {
2026-06-04T05:36:28.4772951Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T05:36:28.4774246Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T05:36:28.4774731Z       "requiredStages": [
2026-06-04T05:36:28.4775146Z         "impl",
2026-06-04T05:36:28.4775570Z         "unit"
2026-06-04T05:36:28.4775964Z       ],
2026-06-04T05:36:28.4776407Z       "stages": {
2026-06-04T05:36:28.4776814Z         "doc": {
2026-06-04T05:36:28.4777282Z           "complete": false,
2026-06-04T05:36:28.4777729Z           "evidence": []
2026-06-04T05:36:28.4778128Z         },
2026-06-04T05:36:28.4778545Z         "impl": {
2026-06-04T05:36:28.4778992Z           "complete": true,
2026-06-04T05:36:28.4779470Z           "evidence": [
2026-06-04T05:36:28.4779874Z             {
2026-06-04T05:36:28.4780498Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4780934Z               "line": 26
2026-06-04T05:36:28.4781338Z             },
2026-06-04T05:36:28.4781744Z             {
2026-06-04T05:36:28.4782357Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4782796Z               "line": 126
2026-06-04T05:36:28.4783196Z             },
2026-06-04T05:36:28.4783616Z             {
2026-06-04T05:36:28.4784307Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T05:36:28.4784741Z               "line": 26
2026-06-04T05:36:28.4785160Z             },
2026-06-04T05:36:28.4785560Z             {
2026-06-04T05:36:28.4786240Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T05:36:28.4786693Z               "line": 233
2026-06-04T05:36:28.4787100Z             }
2026-06-04T05:36:28.4787505Z           ]
2026-06-04T05:36:28.4787900Z         },
2026-06-04T05:36:28.4788312Z         "int": {
2026-06-04T05:36:28.4788768Z           "complete": false,
2026-06-04T05:36:28.4789250Z           "evidence": []
2026-06-04T05:36:28.4789649Z         },
2026-06-04T05:36:28.4790070Z         "unit": {
2026-06-04T05:36:28.4790523Z           "complete": true,
2026-06-04T05:36:28.4790949Z           "evidence": [
2026-06-04T05:36:28.4791351Z             {
2026-06-04T05:36:28.4791963Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4792412Z               "line": 152
2026-06-04T05:36:28.4792819Z             },
2026-06-04T05:36:28.4793213Z             {
2026-06-04T05:36:28.4793831Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4794261Z               "line": 161
2026-06-04T05:36:28.4794668Z             },
2026-06-04T05:36:28.4795061Z             {
2026-06-04T05:36:28.4795678Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4796122Z               "line": 170
2026-06-04T05:36:28.4796518Z             },
2026-06-04T05:36:28.4796925Z             {
2026-06-04T05:36:28.4797528Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4797966Z               "line": 179
2026-06-04T05:36:28.4798365Z             },
2026-06-04T05:36:28.4798770Z             {
2026-06-04T05:36:28.4799429Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4799873Z               "line": 188
2026-06-04T05:36:28.4800292Z             },
2026-06-04T05:36:28.4800692Z             {
2026-06-04T05:36:28.4801503Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4801954Z               "line": 199
2026-06-04T05:36:28.4802535Z             },
2026-06-04T05:36:28.4802950Z             {
2026-06-04T05:36:28.4803552Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T05:36:28.4803997Z               "line": 225
2026-06-04T05:36:28.4804401Z             },
2026-06-04T05:36:28.4804807Z             {
2026-06-04T05:36:28.4805404Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.4805845Z               "line": 245
2026-06-04T05:36:28.4806251Z             },
2026-06-04T05:36:28.4806650Z             {
2026-06-04T05:36:28.4807259Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.4807691Z               "line": 212
2026-06-04T05:36:28.4808100Z             },
2026-06-04T05:36:28.4808498Z             {
2026-06-04T05:36:28.4809231Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T05:36:28.4812766Z               "line": 256
2026-06-04T05:36:28.4813278Z             },
2026-06-04T05:36:28.4813690Z             {
2026-06-04T05:36:28.4814404Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T05:36:28.4814850Z               "line": 281
2026-06-04T05:36:28.4815250Z             },
2026-06-04T05:36:28.4815660Z             {
2026-06-04T05:36:28.4816350Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T05:36:28.4816788Z               "line": 293
2026-06-04T05:36:28.4817203Z             },
2026-06-04T05:36:28.4817610Z             {
2026-06-04T05:36:28.4818291Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T05:36:28.4818727Z               "line": 303
2026-06-04T05:36:28.4819140Z             }
2026-06-04T05:36:28.4819633Z           ]
2026-06-04T05:36:28.4820049Z         }
2026-06-04T05:36:28.4820447Z       }
2026-06-04T05:36:28.4820840Z     },
2026-06-04T05:36:28.4821237Z     {
2026-06-04T05:36:28.4821874Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T05:36:28.4822711Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T05:36:28.4823186Z       "requiredStages": [
2026-06-04T05:36:28.4823611Z         "impl",
2026-06-04T05:36:28.4824026Z         "unit"
2026-06-04T05:36:28.4824424Z       ],
2026-06-04T05:36:28.4824865Z       "stages": {
2026-06-04T05:36:28.4825279Z         "doc": {
2026-06-04T05:36:28.4825741Z           "complete": false,
2026-06-04T05:36:28.4826188Z           "evidence": []
2026-06-04T05:36:28.4826587Z         },
2026-06-04T05:36:28.4827007Z         "impl": {
2026-06-04T05:36:28.4827459Z           "complete": true,
2026-06-04T05:36:28.4827901Z           "evidence": [
2026-06-04T05:36:28.4828298Z             {
2026-06-04T05:36:28.4828886Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.4829368Z               "line": 25
2026-06-04T05:36:28.4829775Z             },
2026-06-04T05:36:28.4830180Z             {
2026-06-04T05:36:28.4830792Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.4831233Z               "line": 26
2026-06-04T05:36:28.4831632Z             },
2026-06-04T05:36:28.4832060Z             {
2026-06-04T05:36:28.4832668Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.4833107Z               "line": 153
2026-06-04T05:36:28.4833519Z             }
2026-06-04T05:36:28.4833919Z           ]
2026-06-04T05:36:28.4834329Z         },
2026-06-04T05:36:28.4834737Z         "int": {
2026-06-04T05:36:28.4835205Z           "complete": false,
2026-06-04T05:36:28.4835659Z           "evidence": []
2026-06-04T05:36:28.4836049Z         },
2026-06-04T05:36:28.4836466Z         "unit": {
2026-06-04T05:36:28.4836913Z           "complete": true,
2026-06-04T05:36:28.4837353Z           "evidence": [
2026-06-04T05:36:28.4837754Z             {
2026-06-04T05:36:28.4838348Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.4838790Z               "line": 180
2026-06-04T05:36:28.4839227Z             },
2026-06-04T05:36:28.4839866Z             {
2026-06-04T05:36:28.4840478Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.4840925Z               "line": 205
2026-06-04T05:36:28.4841472Z             },
2026-06-04T05:36:28.4841865Z             {
2026-06-04T05:36:28.4842470Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.4842905Z               "line": 180
2026-06-04T05:36:28.4843310Z             }
2026-06-04T05:36:28.4843702Z           ]
2026-06-04T05:36:28.4844100Z         }
2026-06-04T05:36:28.4844500Z       }
2026-06-04T05:36:28.4844884Z     },
2026-06-04T05:36:28.4845286Z     {
2026-06-04T05:36:28.4845805Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T05:36:28.4846743Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T05:36:28.4847200Z       "requiredStages": [
2026-06-04T05:36:28.4847618Z         "impl",
2026-06-04T05:36:28.4848029Z         "unit"
2026-06-04T05:36:28.4848425Z       ],
2026-06-04T05:36:28.4848843Z       "stages": {
2026-06-04T05:36:28.4849299Z         "doc": {
2026-06-04T05:36:28.4849776Z           "complete": false,
2026-06-04T05:36:28.4850215Z           "evidence": []
2026-06-04T05:36:28.4850627Z         },
2026-06-04T05:36:28.4851036Z         "impl": {
2026-06-04T05:36:28.4851500Z           "complete": true,
2026-06-04T05:36:28.4851936Z           "evidence": [
2026-06-04T05:36:28.4852332Z             {
2026-06-04T05:36:28.4852944Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4853376Z               "line": 48
2026-06-04T05:36:28.4853786Z             },
2026-06-04T05:36:28.4854197Z             {
2026-06-04T05:36:28.4854805Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4855327Z               "line": 55
2026-06-04T05:36:28.4855728Z             },
2026-06-04T05:36:28.4856137Z             {
2026-06-04T05:36:28.4856743Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4857185Z               "line": 74
2026-06-04T05:36:28.4857591Z             },
2026-06-04T05:36:28.4857994Z             {
2026-06-04T05:36:28.4858603Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4859044Z               "line": 91
2026-06-04T05:36:28.4859483Z             }
2026-06-04T05:36:28.4859875Z           ]
2026-06-04T05:36:28.4860277Z         },
2026-06-04T05:36:28.4860698Z         "int": {
2026-06-04T05:36:28.4861152Z           "complete": false,
2026-06-04T05:36:28.4861594Z           "evidence": []
2026-06-04T05:36:28.4861983Z         },
2026-06-04T05:36:28.4862408Z         "unit": {
2026-06-04T05:36:28.4862865Z           "complete": true,
2026-06-04T05:36:28.4863302Z           "evidence": [
2026-06-04T05:36:28.4863704Z             {
2026-06-04T05:36:28.4864305Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4864752Z               "line": 149
2026-06-04T05:36:28.4865153Z             },
2026-06-04T05:36:28.4865556Z             {
2026-06-04T05:36:28.4866160Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4866614Z               "line": 163
2026-06-04T05:36:28.4867030Z             },
2026-06-04T05:36:28.4867428Z             {
2026-06-04T05:36:28.4868056Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4868515Z               "line": 173
2026-06-04T05:36:28.4868934Z             },
2026-06-04T05:36:28.4869372Z             {
2026-06-04T05:36:28.4870016Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4870465Z               "line": 191
2026-06-04T05:36:28.4870861Z             },
2026-06-04T05:36:28.4871267Z             {
2026-06-04T05:36:28.4871867Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.4872310Z               "line": 204
2026-06-04T05:36:28.4872706Z             }
2026-06-04T05:36:28.4873104Z           ]
2026-06-04T05:36:28.4873505Z         }
2026-06-04T05:36:28.4873893Z       }
2026-06-04T05:36:28.4874292Z     },
2026-06-04T05:36:28.4874683Z     {
2026-06-04T05:36:28.4875312Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T05:36:28.4876564Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T05:36:28.4877194Z       "requiredStages": [
2026-06-04T05:36:28.4877615Z         "impl",
2026-06-04T05:36:28.4878026Z         "unit"
2026-06-04T05:36:28.4878430Z       ],
2026-06-04T05:36:28.4878843Z       "stages": {
2026-06-04T05:36:28.4879319Z         "doc": {
2026-06-04T05:36:28.4879794Z           "complete": false,
2026-06-04T05:36:28.4880250Z           "evidence": []
2026-06-04T05:36:28.4880662Z         },
2026-06-04T05:36:28.4881079Z         "impl": {
2026-06-04T05:36:28.4881543Z           "complete": true,
2026-06-04T05:36:28.4881972Z           "evidence": [
2026-06-04T05:36:28.4882382Z             {
2026-06-04T05:36:28.4883029Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.4883470Z               "line": 281
2026-06-04T05:36:28.4883885Z             },
2026-06-04T05:36:28.4884280Z             {
2026-06-04T05:36:28.4884904Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.4885331Z               "line": 26
2026-06-04T05:36:28.4885737Z             }
2026-06-04T05:36:28.4886146Z           ]
2026-06-04T05:36:28.4886557Z         },
2026-06-04T05:36:28.4886975Z         "int": {
2026-06-04T05:36:28.4887437Z           "complete": false,
2026-06-04T05:36:28.4887886Z           "evidence": []
2026-06-04T05:36:28.4888294Z         },
2026-06-04T05:36:28.4891586Z         "unit": {
2026-06-04T05:36:28.4892109Z           "complete": true,
2026-06-04T05:36:28.4892564Z           "evidence": [
2026-06-04T05:36:28.4892972Z             {
2026-06-04T05:36:28.4893582Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.4894026Z               "line": 139
2026-06-04T05:36:28.4894426Z             },
2026-06-04T05:36:28.4894835Z             {
2026-06-04T05:36:28.4895435Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.4895886Z               "line": 182
2026-06-04T05:36:28.4896289Z             }
2026-06-04T05:36:28.4896713Z           ]
2026-06-04T05:36:28.4897126Z         }
2026-06-04T05:36:28.4897523Z       }
2026-06-04T05:36:28.4897935Z     },
2026-06-04T05:36:28.4898325Z     {
2026-06-04T05:36:28.4898942Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T05:36:28.4899878Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T05:36:28.4900343Z       "requiredStages": [
2026-06-04T05:36:28.4900764Z         "impl",
2026-06-04T05:36:28.4901168Z         "unit"
2026-06-04T05:36:28.4901565Z       ],
2026-06-04T05:36:28.4901988Z       "stages": {
2026-06-04T05:36:28.4902400Z         "doc": {
2026-06-04T05:36:28.4902866Z           "complete": false,
2026-06-04T05:36:28.4903303Z           "evidence": []
2026-06-04T05:36:28.4903704Z         },
2026-06-04T05:36:28.4904112Z         "impl": {
2026-06-04T05:36:28.4904580Z           "complete": true,
2026-06-04T05:36:28.4905028Z           "evidence": [
2026-06-04T05:36:28.4905438Z             {
2026-06-04T05:36:28.4906096Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4906532Z               "line": 36
2026-06-04T05:36:28.4906953Z             },
2026-06-04T05:36:28.4907355Z             {
2026-06-04T05:36:28.4908000Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4908428Z               "line": 68
2026-06-04T05:36:28.4908838Z             }
2026-06-04T05:36:28.4909276Z           ]
2026-06-04T05:36:28.4909670Z         },
2026-06-04T05:36:28.4910082Z         "int": {
2026-06-04T05:36:28.4910539Z           "complete": false,
2026-06-04T05:36:28.4910989Z           "evidence": []
2026-06-04T05:36:28.4911384Z         },
2026-06-04T05:36:28.4911807Z         "unit": {
2026-06-04T05:36:28.4912265Z           "complete": true,
2026-06-04T05:36:28.4912695Z           "evidence": [
2026-06-04T05:36:28.4913101Z             {
2026-06-04T05:36:28.4913741Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4914176Z               "line": 143
2026-06-04T05:36:28.4914810Z             },
2026-06-04T05:36:28.4915240Z             {
2026-06-04T05:36:28.4915891Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4916452Z               "line": 160
2026-06-04T05:36:28.4916861Z             },
2026-06-04T05:36:28.4917266Z             {
2026-06-04T05:36:28.4917911Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4918349Z               "line": 168
2026-06-04T05:36:28.4918756Z             }
2026-06-04T05:36:28.4919206Z           ]
2026-06-04T05:36:28.4919604Z         }
2026-06-04T05:36:28.4920010Z       }
2026-06-04T05:36:28.4920399Z     },
2026-06-04T05:36:28.4920795Z     {
2026-06-04T05:36:28.4921421Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T05:36:28.4922412Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T05:36:28.4922877Z       "requiredStages": [
2026-06-04T05:36:28.4923281Z         "impl",
2026-06-04T05:36:28.4923693Z         "unit"
2026-06-04T05:36:28.4924090Z       ],
2026-06-04T05:36:28.4924527Z       "stages": {
2026-06-04T05:36:28.4924932Z         "doc": {
2026-06-04T05:36:28.4925401Z           "complete": false,
2026-06-04T05:36:28.4925859Z           "evidence": []
2026-06-04T05:36:28.4926257Z         },
2026-06-04T05:36:28.4926697Z         "impl": {
2026-06-04T05:36:28.4927388Z           "complete": true,
2026-06-04T05:36:28.4927931Z           "evidence": [
2026-06-04T05:36:28.4928547Z             {
2026-06-04T05:36:28.4929285Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4929737Z               "line": 107
2026-06-04T05:36:28.4930135Z             }
2026-06-04T05:36:28.4930551Z           ]
2026-06-04T05:36:28.4930948Z         },
2026-06-04T05:36:28.4931358Z         "int": {
2026-06-04T05:36:28.4931809Z           "complete": false,
2026-06-04T05:36:28.4932253Z           "evidence": []
2026-06-04T05:36:28.4932663Z         },
2026-06-04T05:36:28.4933072Z         "unit": {
2026-06-04T05:36:28.4933540Z           "complete": true,
2026-06-04T05:36:28.4933996Z           "evidence": [
2026-06-04T05:36:28.4934405Z             {
2026-06-04T05:36:28.4935119Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4935578Z               "line": 184
2026-06-04T05:36:28.4935988Z             },
2026-06-04T05:36:28.4936387Z             {
2026-06-04T05:36:28.4937041Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4937472Z               "line": 193
2026-06-04T05:36:28.4937878Z             },
2026-06-04T05:36:28.4938275Z             {
2026-06-04T05:36:28.4938921Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4939409Z               "line": 201
2026-06-04T05:36:28.4939826Z             },
2026-06-04T05:36:28.4940239Z             {
2026-06-04T05:36:28.4940879Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4941313Z               "line": 210
2026-06-04T05:36:28.4941713Z             },
2026-06-04T05:36:28.4942129Z             {
2026-06-04T05:36:28.4942786Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T05:36:28.4943219Z               "line": 219
2026-06-04T05:36:28.4943635Z             }
2026-06-04T05:36:28.4944025Z           ]
2026-06-04T05:36:28.4944433Z         }
2026-06-04T05:36:28.4944822Z       }
2026-06-04T05:36:28.4945229Z     },
2026-06-04T05:36:28.4945624Z     {
2026-06-04T05:36:28.4946187Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T05:36:28.4947094Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T05:36:28.4947559Z       "requiredStages": [
2026-06-04T05:36:28.4947970Z         "impl",
2026-06-04T05:36:28.4948381Z         "unit"
2026-06-04T05:36:28.4948773Z       ],
2026-06-04T05:36:28.4949223Z       "stages": {
2026-06-04T05:36:28.4949636Z         "doc": {
2026-06-04T05:36:28.4950122Z           "complete": false,
2026-06-04T05:36:28.4950553Z           "evidence": []
2026-06-04T05:36:28.4950958Z         },
2026-06-04T05:36:28.4951370Z         "impl": {
2026-06-04T05:36:28.4952012Z           "complete": true,
2026-06-04T05:36:28.4952470Z           "evidence": [
2026-06-04T05:36:28.4952872Z             {
2026-06-04T05:36:28.4953628Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.4954055Z               "line": 14
2026-06-04T05:36:28.4954464Z             },
2026-06-04T05:36:28.4954862Z             {
2026-06-04T05:36:28.4955432Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.4955864Z               "line": 62
2026-06-04T05:36:28.4956265Z             }
2026-06-04T05:36:28.4956669Z           ]
2026-06-04T05:36:28.4957068Z         },
2026-06-04T05:36:28.4957483Z         "int": {
2026-06-04T05:36:28.4957940Z           "complete": false,
2026-06-04T05:36:28.4958395Z           "evidence": []
2026-06-04T05:36:28.4958796Z         },
2026-06-04T05:36:28.4959252Z         "unit": {
2026-06-04T05:36:28.4959720Z           "complete": true,
2026-06-04T05:36:28.4960154Z           "evidence": [
2026-06-04T05:36:28.4960556Z             {
2026-06-04T05:36:28.4961136Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.4961586Z               "line": 160
2026-06-04T05:36:28.4962004Z             },
2026-06-04T05:36:28.4962403Z             {
2026-06-04T05:36:28.4962974Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.4963409Z               "line": 197
2026-06-04T05:36:28.4963824Z             },
2026-06-04T05:36:28.4964217Z             {
2026-06-04T05:36:28.4964791Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.4965232Z               "line": 213
2026-06-04T05:36:28.4965698Z             }
2026-06-04T05:36:28.4966102Z           ]
2026-06-04T05:36:28.4966495Z         }
2026-06-04T05:36:28.4966900Z       }
2026-06-04T05:36:28.4970231Z     },
2026-06-04T05:36:28.4970699Z     {
2026-06-04T05:36:28.4971344Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T05:36:28.4972620Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T05:36:28.4973130Z       "requiredStages": [
2026-06-04T05:36:28.4973546Z         "impl",
2026-06-04T05:36:28.4973960Z         "unit"
2026-06-04T05:36:28.4974381Z       ],
2026-06-04T05:36:28.4974800Z       "stages": {
2026-06-04T05:36:28.4975216Z         "doc": {
2026-06-04T05:36:28.4975669Z           "complete": false,
2026-06-04T05:36:28.4976116Z           "evidence": []
2026-06-04T05:36:28.4976512Z         },
2026-06-04T05:36:28.4976930Z         "impl": {
2026-06-04T05:36:28.4977374Z           "complete": true,
2026-06-04T05:36:28.4977812Z           "evidence": [
2026-06-04T05:36:28.4978215Z             {
2026-06-04T05:36:28.4978819Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4979312Z               "line": 76
2026-06-04T05:36:28.4979713Z             },
2026-06-04T05:36:28.4980119Z             {
2026-06-04T05:36:28.4980732Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4981165Z               "line": 163
2026-06-04T05:36:28.4981572Z             },
2026-06-04T05:36:28.4981980Z             {
2026-06-04T05:36:28.4982601Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4983046Z               "line": 229
2026-06-04T05:36:28.4983452Z             },
2026-06-04T05:36:28.4983854Z             {
2026-06-04T05:36:28.4984454Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4984904Z               "line": 265
2026-06-04T05:36:28.4985297Z             }
2026-06-04T05:36:28.4985698Z           ]
2026-06-04T05:36:28.4986088Z         },
2026-06-04T05:36:28.4986504Z         "int": {
2026-06-04T05:36:28.4986968Z           "complete": false,
2026-06-04T05:36:28.4987402Z           "evidence": []
2026-06-04T05:36:28.4987807Z         },
2026-06-04T05:36:28.4988215Z         "unit": {
2026-06-04T05:36:28.4988671Z           "complete": true,
2026-06-04T05:36:28.4989101Z           "evidence": [
2026-06-04T05:36:28.4989548Z             {
2026-06-04T05:36:28.4990159Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4990814Z               "line": 310
2026-06-04T05:36:28.4991257Z             },
2026-06-04T05:36:28.4991658Z             {
2026-06-04T05:36:28.4992399Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4992835Z               "line": 318
2026-06-04T05:36:28.4993252Z             },
2026-06-04T05:36:28.4993654Z             {
2026-06-04T05:36:28.4994247Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4994686Z               "line": 341
2026-06-04T05:36:28.4995092Z             },
2026-06-04T05:36:28.4995497Z             {
2026-06-04T05:36:28.4996103Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4996546Z               "line": 378
2026-06-04T05:36:28.4996956Z             },
2026-06-04T05:36:28.4997351Z             {
2026-06-04T05:36:28.4997960Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.4998390Z               "line": 389
2026-06-04T05:36:28.4998800Z             },
2026-06-04T05:36:28.4999248Z             {
2026-06-04T05:36:28.4999893Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.5000353Z               "line": 401
2026-06-04T05:36:28.5000762Z             },
2026-06-04T05:36:28.5001165Z             {
2026-06-04T05:36:28.5001764Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T05:36:28.5002199Z               "line": 413
2026-06-04T05:36:28.5002594Z             }
2026-06-04T05:36:28.5002995Z           ]
2026-06-04T05:36:28.5003399Z         }
2026-06-04T05:36:28.5003799Z       }
2026-06-04T05:36:28.5004199Z     },
2026-06-04T05:36:28.5004584Z     {
2026-06-04T05:36:28.5005110Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T05:36:28.5005900Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T05:36:28.5006373Z       "requiredStages": [
2026-06-04T05:36:28.5006785Z         "impl",
2026-06-04T05:36:28.5007191Z         "int"
2026-06-04T05:36:28.5007597Z       ],
2026-06-04T05:36:28.5008008Z       "stages": {
2026-06-04T05:36:28.5008415Z         "doc": {
2026-06-04T05:36:28.5008882Z           "complete": false,
2026-06-04T05:36:28.5009372Z           "evidence": []
2026-06-04T05:36:28.5009782Z         },
2026-06-04T05:36:28.5010188Z         "impl": {
2026-06-04T05:36:28.5010645Z           "complete": true,
2026-06-04T05:36:28.5011074Z           "evidence": [
2026-06-04T05:36:28.5011480Z             {
2026-06-04T05:36:28.5012092Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.5012528Z               "line": 22
2026-06-04T05:36:28.5012936Z             }
2026-06-04T05:36:28.5013340Z           ]
2026-06-04T05:36:28.5013749Z         },
2026-06-04T05:36:28.5014160Z         "int": {
2026-06-04T05:36:28.5014620Z           "complete": true,
2026-06-04T05:36:28.5015051Z           "evidence": [
2026-06-04T05:36:28.5015450Z             {
2026-06-04T05:36:28.5016104Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T05:36:28.5016528Z               "line": 18
2026-06-04T05:36:28.5016933Z             }
2026-06-04T05:36:28.5017337Z           ]
2026-06-04T05:36:28.5017747Z         },
2026-06-04T05:36:28.5018159Z         "unit": {
2026-06-04T05:36:28.5018636Z           "complete": false,
2026-06-04T05:36:28.5019071Z           "evidence": []
2026-06-04T05:36:28.5019505Z         }
2026-06-04T05:36:28.5019907Z       }
2026-06-04T05:36:28.5020298Z     },
2026-06-04T05:36:28.5020697Z     {
2026-06-04T05:36:28.5021294Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T05:36:28.5022398Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T05:36:28.5022868Z       "requiredStages": [
2026-06-04T05:36:28.5023273Z         "impl",
2026-06-04T05:36:28.5023683Z         "unit"
2026-06-04T05:36:28.5024079Z       ],
2026-06-04T05:36:28.5024497Z       "stages": {
2026-06-04T05:36:28.5024901Z         "doc": {
2026-06-04T05:36:28.5025363Z           "complete": false,
2026-06-04T05:36:28.5025870Z           "evidence": []
2026-06-04T05:36:28.5026262Z         },
2026-06-04T05:36:28.5026681Z         "impl": {
2026-06-04T05:36:28.5027285Z           "complete": true,
2026-06-04T05:36:28.5027734Z           "evidence": [
2026-06-04T05:36:28.5028275Z             {
2026-06-04T05:36:28.5028942Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.5029424Z               "line": 280
2026-06-04T05:36:28.5029829Z             },
2026-06-04T05:36:28.5030230Z             {
2026-06-04T05:36:28.5030833Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.5031268Z               "line": 27
2026-06-04T05:36:28.5031664Z             }
2026-06-04T05:36:28.5032067Z           ]
2026-06-04T05:36:28.5032465Z         },
2026-06-04T05:36:28.5032871Z         "int": {
2026-06-04T05:36:28.5033327Z           "complete": false,
2026-06-04T05:36:28.5033760Z           "evidence": []
2026-06-04T05:36:28.5034158Z         },
2026-06-04T05:36:28.5034563Z         "unit": {
2026-06-04T05:36:28.5035014Z           "complete": true,
2026-06-04T05:36:28.5035454Z           "evidence": [
2026-06-04T05:36:28.5035860Z             {
2026-06-04T05:36:28.5036527Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.5036968Z               "line": 578
2026-06-04T05:36:28.5037379Z             },
2026-06-04T05:36:28.5037779Z             {
2026-06-04T05:36:28.5038402Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.5038839Z               "line": 164
2026-06-04T05:36:28.5039266Z             }
2026-06-04T05:36:28.5039668Z           ]
2026-06-04T05:36:28.5040058Z         }
2026-06-04T05:36:28.5040456Z       }
2026-06-04T05:36:28.5040841Z     },
2026-06-04T05:36:28.5041246Z     {
2026-06-04T05:36:28.5041858Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T05:36:28.5042767Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T05:36:28.5043234Z       "requiredStages": [
2026-06-04T05:36:28.5043641Z         "impl",
2026-06-04T05:36:28.5044053Z         "unit"
2026-06-04T05:36:28.5044444Z       ],
2026-06-04T05:36:28.5044868Z       "stages": {
2026-06-04T05:36:28.5045296Z         "doc": {
2026-06-04T05:36:28.5048454Z           "complete": false,
2026-06-04T05:36:28.5049026Z           "evidence": []
2026-06-04T05:36:28.5049509Z         },
2026-06-04T05:36:28.5049939Z         "impl": {
2026-06-04T05:36:28.5050392Z           "complete": true,
2026-06-04T05:36:28.5050833Z           "evidence": [
2026-06-04T05:36:28.5051237Z             {
2026-06-04T05:36:28.5051856Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5052298Z               "line": 20
2026-06-04T05:36:28.5052699Z             },
2026-06-04T05:36:28.5053107Z             {
2026-06-04T05:36:28.5053724Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5054162Z               "line": 94
2026-06-04T05:36:28.5054571Z             },
2026-06-04T05:36:28.5054975Z             {
2026-06-04T05:36:28.5055640Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T05:36:28.5056143Z               "line": 70
2026-06-04T05:36:28.5056559Z             },
2026-06-04T05:36:28.5056954Z             {
2026-06-04T05:36:28.5057619Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T05:36:28.5058065Z               "line": 82
2026-06-04T05:36:28.5058466Z             }
2026-06-04T05:36:28.5058870Z           ]
2026-06-04T05:36:28.5059301Z         },
2026-06-04T05:36:28.5059723Z         "int": {
2026-06-04T05:36:28.5060176Z           "complete": false,
2026-06-04T05:36:28.5060629Z           "evidence": []
2026-06-04T05:36:28.5061027Z         },
2026-06-04T05:36:28.5061435Z         "unit": {
2026-06-04T05:36:28.5061890Z           "complete": true,
2026-06-04T05:36:28.5062324Z           "evidence": [
2026-06-04T05:36:28.5062725Z             {
2026-06-04T05:36:28.5063331Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5063771Z               "line": 139
2026-06-04T05:36:28.5064179Z             },
2026-06-04T05:36:28.5064574Z             {
2026-06-04T05:36:28.5065396Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5065851Z               "line": 162
2026-06-04T05:36:28.5066254Z             },
2026-06-04T05:36:28.5066785Z             {
2026-06-04T05:36:28.5067398Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5067841Z               "line": 173
2026-06-04T05:36:28.5068242Z             },
2026-06-04T05:36:28.5068644Z             {
2026-06-04T05:36:28.5069297Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5069742Z               "line": 189
2026-06-04T05:36:28.5070138Z             },
2026-06-04T05:36:28.5070546Z             {
2026-06-04T05:36:28.5071162Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T05:36:28.5071593Z               "line": 200
2026-06-04T05:36:28.5071999Z             },
2026-06-04T05:36:28.5072389Z             {
2026-06-04T05:36:28.5073056Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T05:36:28.5073494Z               "line": 139
2026-06-04T05:36:28.5073889Z             }
2026-06-04T05:36:28.5074309Z           ]
2026-06-04T05:36:28.5074704Z         }
2026-06-04T05:36:28.5075104Z       }
2026-06-04T05:36:28.5075504Z     },
2026-06-04T05:36:28.5076006Z     {
2026-06-04T05:36:28.5076504Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T05:36:28.5078016Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T05:36:28.5078484Z       "requiredStages": [
2026-06-04T05:36:28.5078893Z         "impl",
2026-06-04T05:36:28.5079336Z         "unit"
2026-06-04T05:36:28.5079740Z       ],
2026-06-04T05:36:28.5080157Z       "stages": {
2026-06-04T05:36:28.5080564Z         "doc": {
2026-06-04T05:36:28.5081016Z           "complete": true,
2026-06-04T05:36:28.5081455Z           "evidence": [
2026-06-04T05:36:28.5081849Z             {
2026-06-04T05:36:28.5082405Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T05:36:28.5082838Z               "line": 131
2026-06-04T05:36:28.5083239Z             }
2026-06-04T05:36:28.5083641Z           ]
2026-06-04T05:36:28.5084047Z         },
2026-06-04T05:36:28.5084469Z         "impl": {
2026-06-04T05:36:28.5084917Z           "complete": true,
2026-06-04T05:36:28.5085373Z           "evidence": [
2026-06-04T05:36:28.5085778Z             {
2026-06-04T05:36:28.5086359Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.5086791Z               "line": 50
2026-06-04T05:36:28.5087189Z             },
2026-06-04T05:36:28.5087596Z             {
2026-06-04T05:36:28.5088163Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5088598Z               "line": 17
2026-06-04T05:36:28.5089000Z             },
2026-06-04T05:36:28.5089441Z             {
2026-06-04T05:36:28.5090046Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.5090482Z               "line": 171
2026-06-04T05:36:28.5090888Z             },
2026-06-04T05:36:28.5091286Z             {
2026-06-04T05:36:28.5091896Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.5092340Z               "line": 259
2026-06-04T05:36:28.5092750Z             },
2026-06-04T05:36:28.5093153Z             {
2026-06-04T05:36:28.5093752Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T05:36:28.5094183Z               "line": 32
2026-06-04T05:36:28.5094580Z             }
2026-06-04T05:36:28.5094980Z           ]
2026-06-04T05:36:28.5095379Z         },
2026-06-04T05:36:28.5095788Z         "int": {
2026-06-04T05:36:28.5096343Z           "complete": false,
2026-06-04T05:36:28.5096787Z           "evidence": []
2026-06-04T05:36:28.5097187Z         },
2026-06-04T05:36:28.5097595Z         "unit": {
2026-06-04T05:36:28.5098043Z           "complete": true,
2026-06-04T05:36:28.5098471Z           "evidence": [
2026-06-04T05:36:28.5098875Z             {
2026-06-04T05:36:28.5099490Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5099918Z               "line": 94
2026-06-04T05:36:28.5100330Z             },
2026-06-04T05:36:28.5100720Z             {
2026-06-04T05:36:28.5101484Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5101946Z               "line": 111
2026-06-04T05:36:28.5102493Z             },
2026-06-04T05:36:28.5102900Z             {
2026-06-04T05:36:28.5103471Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5103911Z               "line": 124
2026-06-04T05:36:28.5104309Z             },
2026-06-04T05:36:28.5104715Z             {
2026-06-04T05:36:28.5105291Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5105735Z               "line": 134
2026-06-04T05:36:28.5106181Z             },
2026-06-04T05:36:28.5106582Z             {
2026-06-04T05:36:28.5107159Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5107593Z               "line": 142
2026-06-04T05:36:28.5107999Z             },
2026-06-04T05:36:28.5108390Z             {
2026-06-04T05:36:28.5108969Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T05:36:28.5109446Z               "line": 154
2026-06-04T05:36:28.5109854Z             },
2026-06-04T05:36:28.5110254Z             {
2026-06-04T05:36:28.5110936Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.5111384Z               "line": 432
2026-06-04T05:36:28.5111776Z             }
2026-06-04T05:36:28.5112177Z           ]
2026-06-04T05:36:28.5112578Z         }
2026-06-04T05:36:28.5112972Z       }
2026-06-04T05:36:28.5113368Z     },
2026-06-04T05:36:28.5113754Z     {
2026-06-04T05:36:28.5114290Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T05:36:28.5114995Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T05:36:28.5115516Z       "requiredStages": [
2026-06-04T05:36:28.5115936Z         "impl",
2026-06-04T05:36:28.5116336Z         "unit"
2026-06-04T05:36:28.5116739Z       ],
2026-06-04T05:36:28.5117157Z       "stages": {
2026-06-04T05:36:28.5117568Z         "doc": {
2026-06-04T05:36:28.5118019Z           "complete": false,
2026-06-04T05:36:28.5118466Z           "evidence": []
2026-06-04T05:36:28.5118875Z         },
2026-06-04T05:36:28.5119316Z         "impl": {
2026-06-04T05:36:28.5119775Z           "complete": true,
2026-06-04T05:36:28.5120214Z           "evidence": [
2026-06-04T05:36:28.5120615Z             {
2026-06-04T05:36:28.5121206Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.5121652Z               "line": 128
2026-06-04T05:36:28.5122060Z             }
2026-06-04T05:36:28.5122454Z           ]
2026-06-04T05:36:28.5122855Z         },
2026-06-04T05:36:28.5123254Z         "int": {
2026-06-04T05:36:28.5126391Z           "complete": false,
2026-06-04T05:36:28.5126908Z           "evidence": []
2026-06-04T05:36:28.5127316Z         },
2026-06-04T05:36:28.5127735Z         "unit": {
2026-06-04T05:36:28.5128188Z           "complete": true,
2026-06-04T05:36:28.5128624Z           "evidence": [
2026-06-04T05:36:28.5129017Z             {
2026-06-04T05:36:28.5129717Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.5130154Z               "line": 205
2026-06-04T05:36:28.5130583Z             }
2026-06-04T05:36:28.5130994Z           ]
2026-06-04T05:36:28.5131392Z         }
2026-06-04T05:36:28.5131810Z       }
2026-06-04T05:36:28.5132211Z     },
2026-06-04T05:36:28.5132608Z     {
2026-06-04T05:36:28.5133184Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T05:36:28.5134021Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T05:36:28.5134488Z       "requiredStages": [
2026-06-04T05:36:28.5134891Z         "impl",
2026-06-04T05:36:28.5135311Z         "unit"
2026-06-04T05:36:28.5135709Z       ],
2026-06-04T05:36:28.5136127Z       "stages": {
2026-06-04T05:36:28.5136529Z         "doc": {
2026-06-04T05:36:28.5136990Z           "complete": false,
2026-06-04T05:36:28.5137436Z           "evidence": []
2026-06-04T05:36:28.5137837Z         },
2026-06-04T05:36:28.5138259Z         "impl": {
2026-06-04T05:36:28.5138705Z           "complete": true,
2026-06-04T05:36:28.5139140Z           "evidence": [
2026-06-04T05:36:28.5139575Z             {
2026-06-04T05:36:28.5140398Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5140862Z               "line": 143
2026-06-04T05:36:28.5141392Z             },
2026-06-04T05:36:28.5141793Z             {
2026-06-04T05:36:28.5142381Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5142826Z               "line": 154
2026-06-04T05:36:28.5143223Z             },
2026-06-04T05:36:28.5143623Z             {
2026-06-04T05:36:28.5144211Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5144645Z               "line": 172
2026-06-04T05:36:28.5145049Z             }
2026-06-04T05:36:28.5145441Z           ]
2026-06-04T05:36:28.5145842Z         },
2026-06-04T05:36:28.5146240Z         "int": {
2026-06-04T05:36:28.5146701Z           "complete": false,
2026-06-04T05:36:28.5147142Z           "evidence": []
2026-06-04T05:36:28.5147538Z         },
2026-06-04T05:36:28.5147957Z         "unit": {
2026-06-04T05:36:28.5148405Z           "complete": true,
2026-06-04T05:36:28.5148857Z           "evidence": [
2026-06-04T05:36:28.5149297Z             {
2026-06-04T05:36:28.5149896Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5150352Z               "line": 196
2026-06-04T05:36:28.5150761Z             },
2026-06-04T05:36:28.5151165Z             {
2026-06-04T05:36:28.5151749Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5152186Z               "line": 214
2026-06-04T05:36:28.5152584Z             },
2026-06-04T05:36:28.5152987Z             {
2026-06-04T05:36:28.5153575Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5154005Z               "line": 308
2026-06-04T05:36:28.5154416Z             },
2026-06-04T05:36:28.5154812Z             {
2026-06-04T05:36:28.5155400Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5155828Z               "line": 319
2026-06-04T05:36:28.5156234Z             },
2026-06-04T05:36:28.5156638Z             {
2026-06-04T05:36:28.5157238Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.5157682Z               "line": 332
2026-06-04T05:36:28.5158078Z             }
2026-06-04T05:36:28.5158492Z           ]
2026-06-04T05:36:28.5158892Z         }
2026-06-04T05:36:28.5159329Z       }
2026-06-04T05:36:28.5159723Z     },
2026-06-04T05:36:28.5160104Z     {
2026-06-04T05:36:28.5160646Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T05:36:28.5161942Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T05:36:28.5162413Z       "requiredStages": [
2026-06-04T05:36:28.5162823Z         "impl",
2026-06-04T05:36:28.5163236Z         "unit"
2026-06-04T05:36:28.5163634Z       ],
2026-06-04T05:36:28.5164043Z       "stages": {
2026-06-04T05:36:28.5164445Z         "doc": {
2026-06-04T05:36:28.5164901Z           "complete": false,
2026-06-04T05:36:28.5165342Z           "evidence": []
2026-06-04T05:36:28.5165732Z         },
2026-06-04T05:36:28.5166145Z         "impl": {
2026-06-04T05:36:28.5166612Z           "complete": true,
2026-06-04T05:36:28.5167042Z           "evidence": [
2026-06-04T05:36:28.5167453Z             {
2026-06-04T05:36:28.5168028Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5168464Z               "line": 14
2026-06-04T05:36:28.5168860Z             },
2026-06-04T05:36:28.5169301Z             {
2026-06-04T05:36:28.5169872Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T05:36:28.5170297Z               "line": 305
2026-06-04T05:36:28.5170706Z             }
2026-06-04T05:36:28.5171099Z           ]
2026-06-04T05:36:28.5171499Z         },
2026-06-04T05:36:28.5171908Z         "int": {
2026-06-04T05:36:28.5172372Z           "complete": false,
2026-06-04T05:36:28.5172810Z           "evidence": []
2026-06-04T05:36:28.5173200Z         },
2026-06-04T05:36:28.5173614Z         "unit": {
2026-06-04T05:36:28.5174063Z           "complete": true,
2026-06-04T05:36:28.5174497Z           "evidence": [
2026-06-04T05:36:28.5174893Z             {
2026-06-04T05:36:28.5175724Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5176186Z               "line": 130
2026-06-04T05:36:28.5176724Z             },
2026-06-04T05:36:28.5177124Z             {
2026-06-04T05:36:28.5177692Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5178131Z               "line": 138
2026-06-04T05:36:28.5178530Z             },
2026-06-04T05:36:28.5178938Z             {
2026-06-04T05:36:28.5179546Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5179973Z               "line": 146
2026-06-04T05:36:28.5180376Z             },
2026-06-04T05:36:28.5180770Z             {
2026-06-04T05:36:28.5181337Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5181775Z               "line": 154
2026-06-04T05:36:28.5182174Z             },
2026-06-04T05:36:28.5182574Z             {
2026-06-04T05:36:28.5183134Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5183570Z               "line": 162
2026-06-04T05:36:28.5183978Z             },
2026-06-04T05:36:28.5184383Z             {
2026-06-04T05:36:28.5184955Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T05:36:28.5185398Z               "line": 170
2026-06-04T05:36:28.5185798Z             }
2026-06-04T05:36:28.5186192Z           ]
2026-06-04T05:36:28.5186592Z         }
2026-06-04T05:36:28.5186978Z       }
2026-06-04T05:36:28.5187372Z     },
2026-06-04T05:36:28.5187755Z     {
2026-06-04T05:36:28.5188297Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T05:36:28.5195096Z       "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-04T05:36:28.5195681Z       "requiredStages": [
2026-06-04T05:36:28.5196172Z         "impl",
2026-06-04T05:36:28.5196646Z         "unit"
2026-06-04T05:36:28.5197079Z       ],
2026-06-04T05:36:28.5197585Z       "stages": {
2026-06-04T05:36:28.5198019Z         "doc": {
2026-06-04T05:36:28.5198497Z           "complete": false,
2026-06-04T05:36:28.5198993Z           "evidence": []
2026-06-04T05:36:28.5199522Z         },
2026-06-04T05:36:28.5199969Z         "impl": {
2026-06-04T05:36:28.5200474Z           "complete": true,
2026-06-04T05:36:28.5200954Z           "evidence": [
2026-06-04T05:36:28.5201401Z             {
2026-06-04T05:36:28.5202257Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5202732Z               "line": 34
2026-06-04T05:36:28.5203178Z             }
2026-06-04T05:36:28.5203614Z           ]
2026-06-04T05:36:28.5204064Z         },
2026-06-04T05:36:28.5204832Z         "int": {
2026-06-04T05:36:28.5211087Z           "complete": false,
2026-06-04T05:36:28.5211709Z           "evidence": []
2026-06-04T05:36:28.5212115Z         },
2026-06-04T05:36:28.5212537Z         "unit": {
2026-06-04T05:36:28.5213151Z           "complete": true,
2026-06-04T05:36:28.5213655Z           "evidence": [
2026-06-04T05:36:28.5214052Z             {
2026-06-04T05:36:28.5214840Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5215358Z               "line": 188
2026-06-04T05:36:28.5215758Z             },
2026-06-04T05:36:28.5216166Z             {
2026-06-04T05:36:28.5216928Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5217374Z               "line": 200
2026-06-04T05:36:28.5217778Z             },
2026-06-04T05:36:28.5218182Z             {
2026-06-04T05:36:28.5218953Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5219448Z               "line": 211
2026-06-04T05:36:28.5219859Z             },
2026-06-04T05:36:28.5220258Z             {
2026-06-04T05:36:28.5221031Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5221468Z               "line": 245
2026-06-04T05:36:28.5221883Z             },
2026-06-04T05:36:28.5222710Z             {
2026-06-04T05:36:28.5223512Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5224109Z               "line": 267
2026-06-04T05:36:28.5224513Z             },
2026-06-04T05:36:28.5224919Z             {
2026-06-04T05:36:28.5225682Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5226131Z               "line": 288
2026-06-04T05:36:28.5226541Z             },
2026-06-04T05:36:28.5226940Z             {
2026-06-04T05:36:28.5227719Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T05:36:28.5228156Z               "line": 304
2026-06-04T05:36:28.5228562Z             }
2026-06-04T05:36:28.5228961Z           ]
2026-06-04T05:36:28.5229414Z         }
2026-06-04T05:36:28.5229823Z       }
2026-06-04T05:36:28.5230221Z     },
2026-06-04T05:36:28.5230617Z     {
2026-06-04T05:36:28.5231182Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T05:36:28.5234800Z       "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-04T05:36:28.5235292Z       "requiredStages": [
2026-06-04T05:36:28.5235699Z         "impl",
2026-06-04T05:36:28.5236165Z         "unit"
2026-06-04T05:36:28.5236562Z       ],
2026-06-04T05:36:28.5236992Z       "stages": {
2026-06-04T05:36:28.5237410Z         "doc": {
2026-06-04T05:36:28.5237882Z           "complete": false,
2026-06-04T05:36:28.5238331Z           "evidence": []
2026-06-04T05:36:28.5238728Z         },
2026-06-04T05:36:28.5239146Z         "impl": {
2026-06-04T05:36:28.5239625Z           "complete": true,
2026-06-04T05:36:28.5240073Z           "evidence": [
2026-06-04T05:36:28.5240477Z             {
2026-06-04T05:36:28.5241092Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5241540Z               "line": 29
2026-06-04T05:36:28.5241945Z             },
2026-06-04T05:36:28.5242353Z             {
2026-06-04T05:36:28.5242970Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5243413Z               "line": 154
2026-06-04T05:36:28.5243826Z             },
2026-06-04T05:36:28.5244232Z             {
2026-06-04T05:36:28.5244837Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5245268Z               "line": 173
2026-06-04T05:36:28.5245677Z             },
2026-06-04T05:36:28.5246070Z             {
2026-06-04T05:36:28.5246684Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5247118Z               "line": 200
2026-06-04T05:36:28.5247524Z             }
2026-06-04T05:36:28.5247930Z           ]
2026-06-04T05:36:28.5248328Z         },
2026-06-04T05:36:28.5248744Z         "int": {
2026-06-04T05:36:28.5249254Z           "complete": false,
2026-06-04T05:36:28.5249706Z           "evidence": []
2026-06-04T05:36:28.5250100Z         },
2026-06-04T05:36:28.5250517Z         "unit": {
2026-06-04T05:36:28.5250976Z           "complete": true,
2026-06-04T05:36:28.5251418Z           "evidence": [
2026-06-04T05:36:28.5251835Z             {
2026-06-04T05:36:28.5252446Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5252904Z               "line": 276
2026-06-04T05:36:28.5253304Z             },
2026-06-04T05:36:28.5253710Z             {
2026-06-04T05:36:28.5254331Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5254853Z               "line": 291
2026-06-04T05:36:28.5255259Z             },
2026-06-04T05:36:28.5255652Z             {
2026-06-04T05:36:28.5256265Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5256702Z               "line": 310
2026-06-04T05:36:28.5257117Z             },
2026-06-04T05:36:28.5257525Z             {
2026-06-04T05:36:28.5258138Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5258581Z               "line": 326
2026-06-04T05:36:28.5258982Z             },
2026-06-04T05:36:28.5259423Z             {
2026-06-04T05:36:28.5260236Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5260693Z               "line": 376
2026-06-04T05:36:28.5261245Z             },
2026-06-04T05:36:28.5261643Z             {
2026-06-04T05:36:28.5262259Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5262689Z               "line": 390
2026-06-04T05:36:28.5263100Z             },
2026-06-04T05:36:28.5263495Z             {
2026-06-04T05:36:28.5264164Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5264608Z               "line": 401
2026-06-04T05:36:28.5265007Z             },
2026-06-04T05:36:28.5265415Z             {
2026-06-04T05:36:28.5266026Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.5266499Z               "line": 412
2026-06-04T05:36:28.5266903Z             }
2026-06-04T05:36:28.5267307Z           ]
2026-06-04T05:36:28.5267717Z         }
2026-06-04T05:36:28.5268113Z       }
2026-06-04T05:36:28.5268517Z     },
2026-06-04T05:36:28.5268926Z     {
2026-06-04T05:36:28.5269595Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T05:36:28.5273745Z       "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-04T05:36:28.5274238Z       "requiredStages": [
2026-06-04T05:36:28.5274663Z         "impl",
2026-06-04T05:36:28.5275076Z         "unit"
2026-06-04T05:36:28.5275479Z       ],
2026-06-04T05:36:28.5275897Z       "stages": {
2026-06-04T05:36:28.5276319Z         "doc": {
2026-06-04T05:36:28.5276778Z           "complete": false,
2026-06-04T05:36:28.5277212Z           "evidence": []
2026-06-04T05:36:28.5277622Z         },
2026-06-04T05:36:28.5278035Z         "impl": {
2026-06-04T05:36:28.5278494Z           "complete": true,
2026-06-04T05:36:28.5278922Z           "evidence": [
2026-06-04T05:36:28.5279378Z             {
2026-06-04T05:36:28.5280138Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5280576Z               "line": 27
2026-06-04T05:36:28.5280990Z             },
2026-06-04T05:36:28.5281417Z             {
2026-06-04T05:36:28.5282135Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5282572Z               "line": 110
2026-06-04T05:36:28.5282983Z             },
2026-06-04T05:36:28.5283395Z             {
2026-06-04T05:36:28.5284094Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5284542Z               "line": 153
2026-06-04T05:36:28.5284944Z             },
2026-06-04T05:36:28.5285359Z             {
2026-06-04T05:36:28.5286056Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5286509Z               "line": 182
2026-06-04T05:36:28.5286917Z             },
2026-06-04T05:36:28.5287311Z             {
2026-06-04T05:36:28.5288110Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5288552Z               "line": 31
2026-06-04T05:36:28.5288966Z             },
2026-06-04T05:36:28.5289407Z             {
2026-06-04T05:36:28.5290219Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5290663Z               "line": 113
2026-06-04T05:36:28.5291065Z             },
2026-06-04T05:36:28.5291473Z             {
2026-06-04T05:36:28.5292263Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5292705Z               "line": 138
2026-06-04T05:36:28.5293113Z             }
2026-06-04T05:36:28.5293511Z           ]
2026-06-04T05:36:28.5293916Z         },
2026-06-04T05:36:28.5294328Z         "int": {
2026-06-04T05:36:28.5294791Z           "complete": false,
2026-06-04T05:36:28.5295226Z           "evidence": []
2026-06-04T05:36:28.5299346Z         },
2026-06-04T05:36:28.5299857Z         "unit": {
2026-06-04T05:36:28.5300331Z           "complete": true,
2026-06-04T05:36:28.5300780Z           "evidence": [
2026-06-04T05:36:28.5301189Z             {
2026-06-04T05:36:28.5302178Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5302630Z               "line": 261
2026-06-04T05:36:28.5303192Z             },
2026-06-04T05:36:28.5303605Z             {
2026-06-04T05:36:28.5304320Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5304769Z               "line": 276
2026-06-04T05:36:28.5305175Z             },
2026-06-04T05:36:28.5305579Z             {
2026-06-04T05:36:28.5306280Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5306729Z               "line": 293
2026-06-04T05:36:28.5307140Z             },
2026-06-04T05:36:28.5307563Z             {
2026-06-04T05:36:28.5308276Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5308707Z               "line": 310
2026-06-04T05:36:28.5309125Z             },
2026-06-04T05:36:28.5309573Z             {
2026-06-04T05:36:28.5310296Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5310760Z               "line": 327
2026-06-04T05:36:28.5311163Z             },
2026-06-04T05:36:28.5311579Z             {
2026-06-04T05:36:28.5312290Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.5312735Z               "line": 366
2026-06-04T05:36:28.5313137Z             },
2026-06-04T05:36:28.5313542Z             {
2026-06-04T05:36:28.5314345Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5314786Z               "line": 179
2026-06-04T05:36:28.5315195Z             },
2026-06-04T05:36:28.5315593Z             {
2026-06-04T05:36:28.5316476Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5316907Z               "line": 194
2026-06-04T05:36:28.5317317Z             },
2026-06-04T05:36:28.5317725Z             {
2026-06-04T05:36:28.5318510Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5318951Z               "line": 204
2026-06-04T05:36:28.5319400Z             },
2026-06-04T05:36:28.5319806Z             {
2026-06-04T05:36:28.5320605Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5321049Z               "line": 259
2026-06-04T05:36:28.5321454Z             },
2026-06-04T05:36:28.5321851Z             {
2026-06-04T05:36:28.5322654Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5323093Z               "line": 269
2026-06-04T05:36:28.5323506Z             },
2026-06-04T05:36:28.5323910Z             {
2026-06-04T05:36:28.5324693Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.5325136Z               "line": 283
2026-06-04T05:36:28.5325537Z             }
2026-06-04T05:36:28.5325945Z           ]
2026-06-04T05:36:28.5326339Z         }
2026-06-04T05:36:28.5326736Z       }
2026-06-04T05:36:28.5327135Z     },
2026-06-04T05:36:28.5327523Z     {
2026-06-04T05:36:28.5328084Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T05:36:28.5329239Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T05:36:28.5329735Z       "requiredStages": [],
2026-06-04T05:36:28.5330150Z       "stages": {
2026-06-04T05:36:28.5330567Z         "doc": {
2026-06-04T05:36:28.5331028Z           "complete": false,
2026-06-04T05:36:28.5331461Z           "evidence": []
2026-06-04T05:36:28.5331869Z         },
2026-06-04T05:36:28.5332279Z         "impl": {
2026-06-04T05:36:28.5332744Z           "complete": false,
2026-06-04T05:36:28.5333183Z           "evidence": []
2026-06-04T05:36:28.5333589Z         },
2026-06-04T05:36:28.5333999Z         "int": {
2026-06-04T05:36:28.5334450Z           "complete": false,
2026-06-04T05:36:28.5334903Z           "evidence": []
2026-06-04T05:36:28.5335297Z         },
2026-06-04T05:36:28.5335711Z         "unit": {
2026-06-04T05:36:28.5336159Z           "complete": false,
2026-06-04T05:36:28.5336608Z           "evidence": []
2026-06-04T05:36:28.5337010Z         }
2026-06-04T05:36:28.5337560Z       }
2026-06-04T05:36:28.5337973Z     },
2026-06-04T05:36:28.5338367Z     {
2026-06-04T05:36:28.5338994Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T05:36:28.5350183Z       "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-04T05:36:28.5350699Z       "requiredStages": [],
2026-06-04T05:36:28.5351141Z       "stages": {
2026-06-04T05:36:28.5351550Z         "doc": {
2026-06-04T05:36:28.5352015Z           "complete": false,
2026-06-04T05:36:28.5352455Z           "evidence": []
2026-06-04T05:36:28.5352864Z         },
2026-06-04T05:36:28.5353283Z         "impl": {
2026-06-04T05:36:28.5353730Z           "complete": true,
2026-06-04T05:36:28.5354174Z           "evidence": [
2026-06-04T05:36:28.5354573Z             {
2026-06-04T05:36:28.5355219Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T05:36:28.5355659Z               "line": 18
2026-06-04T05:36:28.5356074Z             },
2026-06-04T05:36:28.5356516Z             {
2026-06-04T05:36:28.5357089Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T05:36:28.5357528Z               "line": 65
2026-06-04T05:36:28.5357926Z             }
2026-06-04T05:36:28.5358339Z           ]
2026-06-04T05:36:28.5358736Z         },
2026-06-04T05:36:28.5359153Z         "int": {
2026-06-04T05:36:28.5359668Z           "complete": false,
2026-06-04T05:36:28.5360111Z           "evidence": []
2026-06-04T05:36:28.5360520Z         },
2026-06-04T05:36:28.5360927Z         "unit": {
2026-06-04T05:36:28.5361392Z           "complete": true,
2026-06-04T05:36:28.5361825Z           "evidence": [
2026-06-04T05:36:28.5362238Z             {
2026-06-04T05:36:28.5362824Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T05:36:28.5363261Z               "line": 106
2026-06-04T05:36:28.5363678Z             },
2026-06-04T05:36:28.5364090Z             {
2026-06-04T05:36:28.5364679Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T05:36:28.5365121Z               "line": 118
2026-06-04T05:36:28.5365530Z             }
2026-06-04T05:36:28.5365939Z           ]
2026-06-04T05:36:28.5366338Z         }
2026-06-04T05:36:28.5366743Z       }
2026-06-04T05:36:28.5367139Z     },
2026-06-04T05:36:28.5367544Z     {
2026-06-04T05:36:28.5368123Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T05:36:28.5369749Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T05:36:28.5370248Z       "requiredStages": [
2026-06-04T05:36:28.5370681Z         "impl",
2026-06-04T05:36:28.5371108Z         "unit"
2026-06-04T05:36:28.5371506Z       ],
2026-06-04T05:36:28.5371928Z       "stages": {
2026-06-04T05:36:28.5372331Z         "doc": {
2026-06-04T05:36:28.5372793Z           "complete": true,
2026-06-04T05:36:28.5373235Z           "evidence": [
2026-06-04T05:36:28.5373631Z             {
2026-06-04T05:36:28.5374214Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T05:36:28.5374651Z               "line": 137
2026-06-04T05:36:28.5375071Z             }
2026-06-04T05:36:28.5375468Z           ]
2026-06-04T05:36:28.5375874Z         },
2026-06-04T05:36:28.5376296Z         "impl": {
2026-06-04T05:36:28.5376745Z           "complete": true,
2026-06-04T05:36:28.5377189Z           "evidence": [
2026-06-04T05:36:28.5377590Z             {
2026-06-04T05:36:28.5378171Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T05:36:28.5378606Z               "line": 29
2026-06-04T05:36:28.5379016Z             },
2026-06-04T05:36:28.5379469Z             {
2026-06-04T05:36:28.5380107Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5380550Z               "line": 30
2026-06-04T05:36:28.5380950Z             },
2026-06-04T05:36:28.5381355Z             {
2026-06-04T05:36:28.5381947Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.5382675Z               "line": 48
2026-06-04T05:36:28.5383109Z             }
2026-06-04T05:36:28.5383510Z           ]
2026-06-04T05:36:28.5384079Z         },
2026-06-04T05:36:28.5384486Z         "int": {
2026-06-04T05:36:28.5384951Z           "complete": false,
2026-06-04T05:36:28.5385389Z           "evidence": []
2026-06-04T05:36:28.5385794Z         },
2026-06-04T05:36:28.5386220Z         "unit": {
2026-06-04T05:36:28.5386680Z           "complete": true,
2026-06-04T05:36:28.5387125Z           "evidence": [
2026-06-04T05:36:28.5387524Z             {
2026-06-04T05:36:28.5391860Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5392377Z               "line": 152
2026-06-04T05:36:28.5392789Z             }
2026-06-04T05:36:28.5393204Z           ]
2026-06-04T05:36:28.5393606Z         }
2026-06-04T05:36:28.5394009Z       }
2026-06-04T05:36:28.5394401Z     },
2026-06-04T05:36:28.5394803Z     {
2026-06-04T05:36:28.5395392Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T05:36:28.5397572Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T05:36:28.5398084Z       "requiredStages": [
2026-06-04T05:36:28.5398503Z         "doc",
2026-06-04T05:36:28.5398931Z         "impl",
2026-06-04T05:36:28.5399409Z         "unit"
2026-06-04T05:36:28.5399824Z       ],
2026-06-04T05:36:28.5400249Z       "stages": {
2026-06-04T05:36:28.5400665Z         "doc": {
2026-06-04T05:36:28.5401129Z           "complete": true,
2026-06-04T05:36:28.5401561Z           "evidence": [
2026-06-04T05:36:28.5401972Z             {
2026-06-04T05:36:28.5402520Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T05:36:28.5402969Z               "line": 149
2026-06-04T05:36:28.5403367Z             }
2026-06-04T05:36:28.5403785Z           ]
2026-06-04T05:36:28.5404190Z         },
2026-06-04T05:36:28.5404606Z         "impl": {
2026-06-04T05:36:28.5405073Z           "complete": true,
2026-06-04T05:36:28.5405505Z           "evidence": [
2026-06-04T05:36:28.5406052Z             {
2026-06-04T05:36:28.5406691Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5407152Z               "line": 22
2026-06-04T05:36:28.5407562Z             }
2026-06-04T05:36:28.5407962Z           ]
2026-06-04T05:36:28.5408365Z         },
2026-06-04T05:36:28.5408774Z         "int": {
2026-06-04T05:36:28.5409280Z           "complete": false,
2026-06-04T05:36:28.5409722Z           "evidence": []
2026-06-04T05:36:28.5410132Z         },
2026-06-04T05:36:28.5410560Z         "unit": {
2026-06-04T05:36:28.5411015Z           "complete": true,
2026-06-04T05:36:28.5411458Z           "evidence": [
2026-06-04T05:36:28.5411860Z             {
2026-06-04T05:36:28.5412508Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5412945Z               "line": 257
2026-06-04T05:36:28.5413351Z             }
2026-06-04T05:36:28.5413758Z           ]
2026-06-04T05:36:28.5414157Z         }
2026-06-04T05:36:28.5414565Z       }
2026-06-04T05:36:28.5414967Z     },
2026-06-04T05:36:28.5415370Z     {
2026-06-04T05:36:28.5415967Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T05:36:28.5418477Z       "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-04T05:36:28.5418957Z       "requiredStages": [
2026-06-04T05:36:28.5419408Z         "impl",
2026-06-04T05:36:28.5419828Z         "unit"
2026-06-04T05:36:28.5420223Z       ],
2026-06-04T05:36:28.5420644Z       "stages": {
2026-06-04T05:36:28.5421049Z         "doc": {
2026-06-04T05:36:28.5421514Z           "complete": true,
2026-06-04T05:36:28.5421957Z           "evidence": [
2026-06-04T05:36:28.5422358Z             {
2026-06-04T05:36:28.5422912Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T05:36:28.5423347Z               "line": 143
2026-06-04T05:36:28.5423757Z             }
2026-06-04T05:36:28.5424168Z           ]
2026-06-04T05:36:28.5424562Z         },
2026-06-04T05:36:28.5425233Z         "impl": {
2026-06-04T05:36:28.5425712Z           "complete": true,
2026-06-04T05:36:28.5426153Z           "evidence": [
2026-06-04T05:36:28.5426708Z             {
2026-06-04T05:36:28.5427370Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.5427825Z               "line": 117
2026-06-04T05:36:28.5428232Z             },
2026-06-04T05:36:28.5428638Z             {
2026-06-04T05:36:28.5429349Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T05:36:28.5429801Z               "line": 15
2026-06-04T05:36:28.5430219Z             }
2026-06-04T05:36:28.5431116Z           ]
2026-06-04T05:36:28.5431739Z         },
2026-06-04T05:36:28.5432167Z         "int": {
2026-06-04T05:36:28.5432640Z           "complete": false,
2026-06-04T05:36:28.5433084Z           "evidence": []
2026-06-04T05:36:28.5433493Z         },
2026-06-04T05:36:28.5433910Z         "unit": {
2026-06-04T05:36:28.5434363Z           "complete": true,
2026-06-04T05:36:28.5434890Z           "evidence": [
2026-06-04T05:36:28.5435313Z             {
2026-06-04T05:36:28.5436023Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T05:36:28.5436466Z               "line": 87
2026-06-04T05:36:28.5436882Z             },
2026-06-04T05:36:28.5437287Z             {
2026-06-04T05:36:28.5437964Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.5438412Z               "line": 508
2026-06-04T05:36:28.5438824Z             },
2026-06-04T05:36:28.5439292Z             {
2026-06-04T05:36:28.5439943Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.5440397Z               "line": 527
2026-06-04T05:36:28.5440804Z             },
2026-06-04T05:36:28.5441221Z             {
2026-06-04T05:36:28.5441897Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.5442339Z               "line": 148
2026-06-04T05:36:28.5442751Z             },
2026-06-04T05:36:28.5443166Z             {
2026-06-04T05:36:28.5443796Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T05:36:28.5444232Z               "line": 74
2026-06-04T05:36:28.5444649Z             },
2026-06-04T05:36:28.5445076Z             {
2026-06-04T05:36:28.5445682Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T05:36:28.5446129Z               "line": 88
2026-06-04T05:36:28.5446548Z             },
2026-06-04T05:36:28.5446972Z             {
2026-06-04T05:36:28.5447586Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T05:36:28.5448041Z               "line": 104
2026-06-04T05:36:28.5448467Z             }
2026-06-04T05:36:28.5448884Z           ]
2026-06-04T05:36:28.5449355Z         }
2026-06-04T05:36:28.5449768Z       }
2026-06-04T05:36:28.5450184Z     },
2026-06-04T05:36:28.5450590Z     {
2026-06-04T05:36:28.5451212Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T05:36:28.5452335Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T05:36:28.5452819Z       "requiredStages": [
2026-06-04T05:36:28.5453264Z         "impl",
2026-06-04T05:36:28.5453682Z         "unit"
2026-06-04T05:36:28.5454099Z       ],
2026-06-04T05:36:28.5454526Z       "stages": {
2026-06-04T05:36:28.5454970Z         "doc": {
2026-06-04T05:36:28.5455453Z           "complete": false,
2026-06-04T05:36:28.5455908Z           "evidence": []
2026-06-04T05:36:28.5456326Z         },
2026-06-04T05:36:28.5456751Z         "impl": {
2026-06-04T05:36:28.5457217Z           "complete": true,
2026-06-04T05:36:28.5457661Z           "evidence": [
2026-06-04T05:36:28.5458087Z             {
2026-06-04T05:36:28.5458703Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T05:36:28.5459139Z               "line": 15
2026-06-04T05:36:28.5459601Z             },
2026-06-04T05:36:28.5460013Z             {
2026-06-04T05:36:28.5460664Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5461108Z               "line": 55
2026-06-04T05:36:28.5461531Z             },
2026-06-04T05:36:28.5461954Z             {
2026-06-04T05:36:28.5462766Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5463241Z               "line": 62
2026-06-04T05:36:28.5463783Z             },
2026-06-04T05:36:28.5464210Z             {
2026-06-04T05:36:28.5464858Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5465322Z               "line": 107
2026-06-04T05:36:28.5465752Z             },
2026-06-04T05:36:28.5466162Z             {
2026-06-04T05:36:28.5466816Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5467258Z               "line": 128
2026-06-04T05:36:28.5467683Z             }
2026-06-04T05:36:28.5468097Z           ]
2026-06-04T05:36:28.5468515Z         },
2026-06-04T05:36:28.5468938Z         "int": {
2026-06-04T05:36:28.5469451Z           "complete": false,
2026-06-04T05:36:28.5469920Z           "evidence": []
2026-06-04T05:36:28.5470337Z         },
2026-06-04T05:36:28.5470768Z         "unit": {
2026-06-04T05:36:28.5471235Z           "complete": true,
2026-06-04T05:36:28.5471702Z           "evidence": [
2026-06-04T05:36:28.5475383Z             {
2026-06-04T05:36:28.5476100Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T05:36:28.5476584Z               "line": 113
2026-06-04T05:36:28.5476998Z             },
2026-06-04T05:36:28.5477420Z             {
2026-06-04T05:36:28.5478013Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T05:36:28.5478470Z               "line": 119
2026-06-04T05:36:28.5478880Z             },
2026-06-04T05:36:28.5479376Z             {
2026-06-04T05:36:28.5479988Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T05:36:28.5480435Z               "line": 130
2026-06-04T05:36:28.5480851Z             },
2026-06-04T05:36:28.5481254Z             {
2026-06-04T05:36:28.5481903Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5482352Z               "line": 183
2026-06-04T05:36:28.5482757Z             },
2026-06-04T05:36:28.5483165Z             {
2026-06-04T05:36:28.5483814Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5484261Z               "line": 193
2026-06-04T05:36:28.5484677Z             },
2026-06-04T05:36:28.5485090Z             {
2026-06-04T05:36:28.5485731Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5486228Z               "line": 237
2026-06-04T05:36:28.5486639Z             },
2026-06-04T05:36:28.5487033Z             {
2026-06-04T05:36:28.5487689Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5488134Z               "line": 249
2026-06-04T05:36:28.5488537Z             },
2026-06-04T05:36:28.5488950Z             {
2026-06-04T05:36:28.5489623Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.5490070Z               "line": 275
2026-06-04T05:36:28.5490470Z             }
2026-06-04T05:36:28.5490879Z           ]
2026-06-04T05:36:28.5491284Z         }
2026-06-04T05:36:28.5491678Z       }
2026-06-04T05:36:28.5492086Z     },
2026-06-04T05:36:28.5492472Z     {
2026-06-04T05:36:28.5493064Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T05:36:28.5494687Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T05:36:28.5495258Z       "requiredStages": [
2026-06-04T05:36:28.5495672Z         "impl",
2026-06-04T05:36:28.5496083Z         "unit",
2026-06-04T05:36:28.5496501Z         "int"
2026-06-04T05:36:28.5496896Z       ],
2026-06-04T05:36:28.5497324Z       "stages": {
2026-06-04T05:36:28.5497736Z         "doc": {
2026-06-04T05:36:28.5498208Z           "complete": false,
2026-06-04T05:36:28.5498664Z           "evidence": []
2026-06-04T05:36:28.5499056Z         },
2026-06-04T05:36:28.5499518Z         "impl": {
2026-06-04T05:36:28.5499965Z           "complete": true,
2026-06-04T05:36:28.5500405Z           "evidence": [
2026-06-04T05:36:28.5500799Z             {
2026-06-04T05:36:28.5501423Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.5501863Z               "line": 236
2026-06-04T05:36:28.5502488Z             },
2026-06-04T05:36:28.5502927Z             {
2026-06-04T05:36:28.5503534Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.5504109Z               "line": 491
2026-06-04T05:36:28.5504512Z             },
2026-06-04T05:36:28.5504922Z             {
2026-06-04T05:36:28.5505531Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.5505967Z               "line": 514
2026-06-04T05:36:28.5506376Z             },
2026-06-04T05:36:28.5506772Z             {
2026-06-04T05:36:28.5507380Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.5507813Z               "line": 538
2026-06-04T05:36:28.5508223Z             },
2026-06-04T05:36:28.5508635Z             {
2026-06-04T05:36:28.5509298Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.5509747Z               "line": 438
2026-06-04T05:36:28.5510147Z             },
2026-06-04T05:36:28.5510558Z             {
2026-06-04T05:36:28.5511187Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.5511634Z               "line": 519
2026-06-04T05:36:28.5512040Z             },
2026-06-04T05:36:28.5512448Z             {
2026-06-04T05:36:28.5513069Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.5513498Z               "line": 563
2026-06-04T05:36:28.5513909Z             },
2026-06-04T05:36:28.5514308Z             {
2026-06-04T05:36:28.5514945Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T05:36:28.5515388Z               "line": 606
2026-06-04T05:36:28.5515818Z             },
2026-06-04T05:36:28.5516221Z             {
2026-06-04T05:36:28.5516840Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T05:36:28.5517277Z               "line": 46
2026-06-04T05:36:28.5517693Z             },
2026-06-04T05:36:28.5518090Z             {
2026-06-04T05:36:28.5518722Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T05:36:28.5519200Z               "line": 160
2026-06-04T05:36:28.5519646Z             },
2026-06-04T05:36:28.5520083Z             {
2026-06-04T05:36:28.5520691Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T05:36:28.5521145Z               "line": 71
2026-06-04T05:36:28.5521546Z             },
2026-06-04T05:36:28.5521950Z             {
2026-06-04T05:36:28.5522548Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.5522992Z               "line": 128
2026-06-04T05:36:28.5523392Z             },
2026-06-04T05:36:28.5523799Z             {
2026-06-04T05:36:28.5524401Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.5524828Z               "line": 174
2026-06-04T05:36:28.5525240Z             }
2026-06-04T05:36:28.5525660Z           ]
2026-06-04T05:36:28.5526064Z         },
2026-06-04T05:36:28.5526467Z         "int": {
2026-06-04T05:36:28.5526929Z           "complete": true,
2026-06-04T05:36:28.5527378Z           "evidence": [
2026-06-04T05:36:28.5527776Z             {
2026-06-04T05:36:28.5528498Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T05:36:28.5528931Z               "line": 27
2026-06-04T05:36:28.5529401Z             },
2026-06-04T05:36:28.5529801Z             {
2026-06-04T05:36:28.5530497Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T05:36:28.5530939Z               "line": 125
2026-06-04T05:36:28.5531336Z             },
2026-06-04T05:36:28.5531741Z             {
2026-06-04T05:36:28.5532415Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T05:36:28.5532858Z               "line": 189
2026-06-04T05:36:28.5533254Z             }
2026-06-04T05:36:28.5533656Z           ]
2026-06-04T05:36:28.5534063Z         },
2026-06-04T05:36:28.5534467Z         "unit": {
2026-06-04T05:36:28.5534919Z           "complete": true,
2026-06-04T05:36:28.5535347Z           "evidence": [
2026-06-04T05:36:28.5535752Z             {
2026-06-04T05:36:28.5536370Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T05:36:28.5536968Z               "line": 282
2026-06-04T05:36:28.5537389Z             },
2026-06-04T05:36:28.5537785Z             {
2026-06-04T05:36:28.5538417Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T05:36:28.5539009Z               "line": 300
2026-06-04T05:36:28.5539454Z             },
2026-06-04T05:36:28.5539857Z             {
2026-06-04T05:36:28.5540493Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T05:36:28.5540934Z               "line": 318
2026-06-04T05:36:28.5541336Z             },
2026-06-04T05:36:28.5541740Z             {
2026-06-04T05:36:28.5542379Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T05:36:28.5542819Z               "line": 221
2026-06-04T05:36:28.5543218Z             },
2026-06-04T05:36:28.5543636Z             {
2026-06-04T05:36:28.5544279Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T05:36:28.5544715Z               "line": 204
2026-06-04T05:36:28.5545125Z             },
2026-06-04T05:36:28.5545526Z             {
2026-06-04T05:36:28.5546172Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T05:36:28.5546609Z               "line": 180
2026-06-04T05:36:28.5547028Z             },
2026-06-04T05:36:28.5547443Z             {
2026-06-04T05:36:28.5548030Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.5548479Z               "line": 441
2026-06-04T05:36:28.5548879Z             },
2026-06-04T05:36:28.5549325Z             {
2026-06-04T05:36:28.5549931Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.5550365Z               "line": 465
2026-06-04T05:36:28.5550770Z             }
2026-06-04T05:36:28.5551169Z           ]
2026-06-04T05:36:28.5551572Z         }
2026-06-04T05:36:28.5551971Z       }
2026-06-04T05:36:28.5552368Z     },
2026-06-04T05:36:28.5552760Z     {
2026-06-04T05:36:28.5556357Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T05:36:28.5557466Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T05:36:28.5557974Z       "requiredStages": [
2026-06-04T05:36:28.5558399Z         "impl",
2026-06-04T05:36:28.5558801Z         "unit"
2026-06-04T05:36:28.5559289Z       ],
2026-06-04T05:36:28.5559709Z       "stages": {
2026-06-04T05:36:28.5560128Z         "doc": {
2026-06-04T05:36:28.5560589Z           "complete": false,
2026-06-04T05:36:28.5561030Z           "evidence": []
2026-06-04T05:36:28.5561433Z         },
2026-06-04T05:36:28.5561845Z         "impl": {
2026-06-04T05:36:28.5562307Z           "complete": true,
2026-06-04T05:36:28.5562738Z           "evidence": [
2026-06-04T05:36:28.5563148Z             {
2026-06-04T05:36:28.5563841Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.5564272Z               "line": 56
2026-06-04T05:36:28.5564676Z             },
2026-06-04T05:36:28.5565077Z             {
2026-06-04T05:36:28.5565765Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.5566201Z               "line": 63
2026-06-04T05:36:28.5566601Z             },
2026-06-04T05:36:28.5567018Z             {
2026-06-04T05:36:28.5567620Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5568073Z               "line": 33
2026-06-04T05:36:28.5568474Z             },
2026-06-04T05:36:28.5568881Z             {
2026-06-04T05:36:28.5569521Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5569955Z               "line": 61
2026-06-04T05:36:28.5570363Z             },
2026-06-04T05:36:28.5570756Z             {
2026-06-04T05:36:28.5571358Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5571784Z               "line": 70
2026-06-04T05:36:28.5572195Z             },
2026-06-04T05:36:28.5572604Z             {
2026-06-04T05:36:28.5573203Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5573636Z               "line": 79
2026-06-04T05:36:28.5574037Z             },
2026-06-04T05:36:28.5574443Z             {
2026-06-04T05:36:28.5575039Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5575691Z               "line": 88
2026-06-04T05:36:28.5576122Z             },
2026-06-04T05:36:28.5576605Z             {
2026-06-04T05:36:28.5577349Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5577778Z               "line": 97
2026-06-04T05:36:28.5578192Z             },
2026-06-04T05:36:28.5578597Z             {
2026-06-04T05:36:28.5579246Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5579696Z               "line": 105
2026-06-04T05:36:28.5580089Z             },
2026-06-04T05:36:28.5580491Z             {
2026-06-04T05:36:28.5581085Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5581527Z               "line": 114
2026-06-04T05:36:28.5581925Z             },
2026-06-04T05:36:28.5582330Z             {
2026-06-04T05:36:28.5582936Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5583369Z               "line": 121
2026-06-04T05:36:28.5583781Z             },
2026-06-04T05:36:28.5584192Z             {
2026-06-04T05:36:28.5584806Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5585253Z               "line": 128
2026-06-04T05:36:28.5585662Z             },
2026-06-04T05:36:28.5586079Z             {
2026-06-04T05:36:28.5586671Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5587116Z               "line": 136
2026-06-04T05:36:28.5587514Z             },
2026-06-04T05:36:28.5587920Z             {
2026-06-04T05:36:28.5588510Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5588947Z               "line": 145
2026-06-04T05:36:28.5589385Z             },
2026-06-04T05:36:28.5589787Z             {
2026-06-04T05:36:28.5590399Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5590827Z               "line": 212
2026-06-04T05:36:28.5591232Z             },
2026-06-04T05:36:28.5591630Z             {
2026-06-04T05:36:28.5592235Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5592685Z               "line": 224
2026-06-04T05:36:28.5593087Z             },
2026-06-04T05:36:28.5593493Z             {
2026-06-04T05:36:28.5594101Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5594541Z               "line": 311
2026-06-04T05:36:28.5594946Z             }
2026-06-04T05:36:28.5595345Z           ]
2026-06-04T05:36:28.5595744Z         },
2026-06-04T05:36:28.5596146Z         "int": {
2026-06-04T05:36:28.5596602Z           "complete": false,
2026-06-04T05:36:28.5597043Z           "evidence": []
2026-06-04T05:36:28.5597448Z         },
2026-06-04T05:36:28.5597865Z         "unit": {
2026-06-04T05:36:28.5598322Z           "complete": true,
2026-06-04T05:36:28.5598770Z           "evidence": [
2026-06-04T05:36:28.5599202Z             {
2026-06-04T05:36:28.5599814Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5600253Z               "line": 381
2026-06-04T05:36:28.5600662Z             },
2026-06-04T05:36:28.5601065Z             {
2026-06-04T05:36:28.5601670Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5602107Z               "line": 407
2026-06-04T05:36:28.5602514Z             },
2026-06-04T05:36:28.5602921Z             {
2026-06-04T05:36:28.5603518Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5603960Z               "line": 420
2026-06-04T05:36:28.5604366Z             },
2026-06-04T05:36:28.5604764Z             {
2026-06-04T05:36:28.5605364Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5605785Z               "line": 462
2026-06-04T05:36:28.5606189Z             }
2026-06-04T05:36:28.5606584Z           ]
2026-06-04T05:36:28.5606990Z         }
2026-06-04T05:36:28.5607384Z       }
2026-06-04T05:36:28.5607775Z     },
2026-06-04T05:36:28.5608172Z     {
2026-06-04T05:36:28.5608696Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T05:36:28.5609863Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T05:36:28.5610475Z       "requiredStages": [
2026-06-04T05:36:28.5610906Z         "impl",
2026-06-04T05:36:28.5611323Z         "unit"
2026-06-04T05:36:28.5611871Z       ],
2026-06-04T05:36:28.5612297Z       "stages": {
2026-06-04T05:36:28.5612703Z         "doc": {
2026-06-04T05:36:28.5613171Z           "complete": false,
2026-06-04T05:36:28.5613610Z           "evidence": []
2026-06-04T05:36:28.5614018Z         },
2026-06-04T05:36:28.5614437Z         "impl": {
2026-06-04T05:36:28.5614886Z           "complete": true,
2026-06-04T05:36:28.5615324Z           "evidence": [
2026-06-04T05:36:28.5615717Z             {
2026-06-04T05:36:28.5616300Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.5616731Z               "line": 107
2026-06-04T05:36:28.5617142Z             },
2026-06-04T05:36:28.5617549Z             {
2026-06-04T05:36:28.5618174Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.5618610Z               "line": 59
2026-06-04T05:36:28.5619004Z             }
2026-06-04T05:36:28.5619450Z           ]
2026-06-04T05:36:28.5619851Z         },
2026-06-04T05:36:28.5620266Z         "int": {
2026-06-04T05:36:28.5620739Z           "complete": false,
2026-06-04T05:36:28.5621174Z           "evidence": []
2026-06-04T05:36:28.5621576Z         },
2026-06-04T05:36:28.5621985Z         "unit": {
2026-06-04T05:36:28.5622455Z           "complete": true,
2026-06-04T05:36:28.5622888Z           "evidence": [
2026-06-04T05:36:28.5623291Z             {
2026-06-04T05:36:28.5623873Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.5624303Z               "line": 225
2026-06-04T05:36:28.5624719Z             },
2026-06-04T05:36:28.5625113Z             {
2026-06-04T05:36:28.5625745Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.5626177Z               "line": 254
2026-06-04T05:36:28.5626583Z             },
2026-06-04T05:36:28.5626988Z             {
2026-06-04T05:36:28.5627617Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.5628066Z               "line": 264
2026-06-04T05:36:28.5628468Z             }
2026-06-04T05:36:28.5628871Z           ]
2026-06-04T05:36:28.5629315Z         }
2026-06-04T05:36:28.5629719Z       }
2026-06-04T05:36:28.5630125Z     },
2026-06-04T05:36:28.5630518Z     {
2026-06-04T05:36:28.5631069Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T05:36:28.5631786Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T05:36:28.5635135Z       "requiredStages": [],
2026-06-04T05:36:28.5635608Z       "stages": {
2026-06-04T05:36:28.5636027Z         "doc": {
2026-06-04T05:36:28.5636497Z           "complete": false,
2026-06-04T05:36:28.5636938Z           "evidence": []
2026-06-04T05:36:28.5637344Z         },
2026-06-04T05:36:28.5637759Z         "impl": {
2026-06-04T05:36:28.5638225Z           "complete": false,
2026-06-04T05:36:28.5638664Z           "evidence": []
2026-06-04T05:36:28.5639070Z         },
2026-06-04T05:36:28.5639554Z         "int": {
2026-06-04T05:36:28.5640011Z           "complete": false,
2026-06-04T05:36:28.5640485Z           "evidence": []
2026-06-04T05:36:28.5640886Z         },
2026-06-04T05:36:28.5641308Z         "unit": {
2026-06-04T05:36:28.5641774Z           "complete": false,
2026-06-04T05:36:28.5642220Z           "evidence": []
2026-06-04T05:36:28.5642628Z         }
2026-06-04T05:36:28.5643022Z       }
2026-06-04T05:36:28.5643422Z     },
2026-06-04T05:36:28.5643810Z     {
2026-06-04T05:36:28.5644439Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T05:36:28.5645376Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T05:36:28.5645847Z       "requiredStages": [
2026-06-04T05:36:28.5646272Z         "impl",
2026-06-04T05:36:28.5646681Z         "unit"
2026-06-04T05:36:28.5647087Z       ],
2026-06-04T05:36:28.5647497Z       "stages": {
2026-06-04T05:36:28.5647908Z         "doc": {
2026-06-04T05:36:28.5648364Z           "complete": false,
2026-06-04T05:36:28.5648809Z           "evidence": []
2026-06-04T05:36:28.5649244Z         },
2026-06-04T05:36:28.5649874Z         "impl": {
2026-06-04T05:36:28.5650358Z           "complete": true,
2026-06-04T05:36:28.5650794Z           "evidence": [
2026-06-04T05:36:28.5651335Z             {
2026-06-04T05:36:28.5651981Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.5652420Z               "line": 364
2026-06-04T05:36:28.5652827Z             },
2026-06-04T05:36:28.5653225Z             {
2026-06-04T05:36:28.5653839Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.5654264Z               "line": 28
2026-06-04T05:36:28.5654669Z             }
2026-06-04T05:36:28.5655066Z           ]
2026-06-04T05:36:28.5655473Z         },
2026-06-04T05:36:28.5655886Z         "int": {
2026-06-04T05:36:28.5656340Z           "complete": false,
2026-06-04T05:36:28.5656791Z           "evidence": []
2026-06-04T05:36:28.5657186Z         },
2026-06-04T05:36:28.5657600Z         "unit": {
2026-06-04T05:36:28.5658047Z           "complete": true,
2026-06-04T05:36:28.5658501Z           "evidence": [
2026-06-04T05:36:28.5658913Z             {
2026-06-04T05:36:28.5659558Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.5660013Z               "line": 200
2026-06-04T05:36:28.5660412Z             }
2026-06-04T05:36:28.5660817Z           ]
2026-06-04T05:36:28.5661210Z         }
2026-06-04T05:36:28.5661614Z       }
2026-06-04T05:36:28.5662007Z     },
2026-06-04T05:36:28.5662398Z     {
2026-06-04T05:36:28.5662948Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T05:36:28.5663668Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T05:36:28.5664140Z       "requiredStages": [],
2026-06-04T05:36:28.5664552Z       "stages": {
2026-06-04T05:36:28.5664966Z         "doc": {
2026-06-04T05:36:28.5665428Z           "complete": false,
2026-06-04T05:36:28.5665857Z           "evidence": []
2026-06-04T05:36:28.5666261Z         },
2026-06-04T05:36:28.5666667Z         "impl": {
2026-06-04T05:36:28.5667129Z           "complete": false,
2026-06-04T05:36:28.5667572Z           "evidence": []
2026-06-04T05:36:28.5667973Z         },
2026-06-04T05:36:28.5668384Z         "int": {
2026-06-04T05:36:28.5668843Z           "complete": false,
2026-06-04T05:36:28.5669316Z           "evidence": []
2026-06-04T05:36:28.5669712Z         },
2026-06-04T05:36:28.5670123Z         "unit": {
2026-06-04T05:36:28.5670569Z           "complete": false,
2026-06-04T05:36:28.5671008Z           "evidence": []
2026-06-04T05:36:28.5671407Z         }
2026-06-04T05:36:28.5671800Z       }
2026-06-04T05:36:28.5672198Z     },
2026-06-04T05:36:28.5672584Z     {
2026-06-04T05:36:28.5673151Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T05:36:28.5673954Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T05:36:28.5674422Z       "requiredStages": [
2026-06-04T05:36:28.5674832Z         "impl",
2026-06-04T05:36:28.5675241Z         "unit"
2026-06-04T05:36:28.5675645Z       ],
2026-06-04T05:36:28.5676061Z       "stages": {
2026-06-04T05:36:28.5676470Z         "doc": {
2026-06-04T05:36:28.5676936Z           "complete": false,
2026-06-04T05:36:28.5677386Z           "evidence": []
2026-06-04T05:36:28.5677797Z         },
2026-06-04T05:36:28.5678208Z         "impl": {
2026-06-04T05:36:28.5678663Z           "complete": true,
2026-06-04T05:36:28.5679088Z           "evidence": [
2026-06-04T05:36:28.5679525Z             {
2026-06-04T05:36:28.5680161Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T05:36:28.5680600Z               "line": 19
2026-06-04T05:36:28.5681004Z             },
2026-06-04T05:36:28.5681405Z             {
2026-06-04T05:36:28.5682053Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.5682481Z               "line": 325
2026-06-04T05:36:28.5682882Z             },
2026-06-04T05:36:28.5683277Z             {
2026-06-04T05:36:28.5683924Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.5684363Z               "line": 361
2026-06-04T05:36:28.5684760Z             },
2026-06-04T05:36:28.5685163Z             {
2026-06-04T05:36:28.5685973Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T05:36:28.5686434Z               "line": 15
2026-06-04T05:36:28.5686969Z             },
2026-06-04T05:36:28.5687375Z             {
2026-06-04T05:36:28.5687988Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T05:36:28.5688418Z               "line": 48
2026-06-04T05:36:28.5688822Z             },
2026-06-04T05:36:28.5689267Z             {
2026-06-04T05:36:28.5689879Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T05:36:28.5690310Z               "line": 106
2026-06-04T05:36:28.5690717Z             }
2026-06-04T05:36:28.5691123Z           ]
2026-06-04T05:36:28.5691518Z         },
2026-06-04T05:36:28.5691922Z         "int": {
2026-06-04T05:36:28.5692369Z           "complete": false,
2026-06-04T05:36:28.5692805Z           "evidence": []
2026-06-04T05:36:28.5693204Z         },
2026-06-04T05:36:28.5693618Z         "unit": {
2026-06-04T05:36:28.5694072Z           "complete": true,
2026-06-04T05:36:28.5694509Z           "evidence": [
2026-06-04T05:36:28.5694914Z             {
2026-06-04T05:36:28.5695547Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.5695991Z               "line": 453
2026-06-04T05:36:28.5696387Z             },
2026-06-04T05:36:28.5696788Z             {
2026-06-04T05:36:28.5697390Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T05:36:28.5697820Z               "line": 149
2026-06-04T05:36:28.5698222Z             },
2026-06-04T05:36:28.5698615Z             {
2026-06-04T05:36:28.5699267Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T05:36:28.5699700Z               "line": 156
2026-06-04T05:36:28.5700111Z             }
2026-06-04T05:36:28.5700509Z           ]
2026-06-04T05:36:28.5700903Z         }
2026-06-04T05:36:28.5701304Z       }
2026-06-04T05:36:28.5701696Z     },
2026-06-04T05:36:28.5702096Z     {
2026-06-04T05:36:28.5702654Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T05:36:28.5703520Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T05:36:28.5703983Z       "requiredStages": [
2026-06-04T05:36:28.5704399Z         "impl",
2026-06-04T05:36:28.5704811Z         "unit"
2026-06-04T05:36:28.5705203Z       ],
2026-06-04T05:36:28.5705625Z       "stages": {
2026-06-04T05:36:28.5706029Z         "doc": {
2026-06-04T05:36:28.5706491Z           "complete": false,
2026-06-04T05:36:28.5706934Z           "evidence": []
2026-06-04T05:36:28.5707330Z         },
2026-06-04T05:36:28.5707755Z         "impl": {
2026-06-04T05:36:28.5708200Z           "complete": true,
2026-06-04T05:36:28.5708638Z           "evidence": [
2026-06-04T05:36:28.5711989Z             {
2026-06-04T05:36:28.5712702Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.5713142Z               "line": 35
2026-06-04T05:36:28.5713542Z             }
2026-06-04T05:36:28.5713941Z           ]
2026-06-04T05:36:28.5714334Z         },
2026-06-04T05:36:28.5714747Z         "int": {
2026-06-04T05:36:28.5715227Z           "complete": false,
2026-06-04T05:36:28.5715678Z           "evidence": []
2026-06-04T05:36:28.5716078Z         },
2026-06-04T05:36:28.5716502Z         "unit": {
2026-06-04T05:36:28.5716965Z           "complete": true,
2026-06-04T05:36:28.5717393Z           "evidence": [
2026-06-04T05:36:28.5717801Z             {
2026-06-04T05:36:28.5718406Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T05:36:28.5718847Z               "line": 217
2026-06-04T05:36:28.5719342Z             }
2026-06-04T05:36:28.5719742Z           ]
2026-06-04T05:36:28.5720139Z         }
2026-06-04T05:36:28.5720533Z       }
2026-06-04T05:36:28.5720932Z     },
2026-06-04T05:36:28.5721319Z     {
2026-06-04T05:36:28.5721865Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T05:36:28.5723468Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T05:36:28.5723930Z       "requiredStages": [
2026-06-04T05:36:28.5724346Z         "impl",
2026-06-04T05:36:28.5724966Z         "unit"
2026-06-04T05:36:28.5725399Z       ],
2026-06-04T05:36:28.5725818Z       "stages": {
2026-06-04T05:36:28.5726375Z         "doc": {
2026-06-04T05:36:28.5726834Z           "complete": false,
2026-06-04T05:36:28.5727266Z           "evidence": []
2026-06-04T05:36:28.5727670Z         },
2026-06-04T05:36:28.5728083Z         "impl": {
2026-06-04T05:36:28.5728544Z           "complete": true,
2026-06-04T05:36:28.5728979Z           "evidence": [
2026-06-04T05:36:28.5729429Z             {
2026-06-04T05:36:28.5730070Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.5730499Z               "line": 159
2026-06-04T05:36:28.5730902Z             },
2026-06-04T05:36:28.5731298Z             {
2026-06-04T05:36:28.5731929Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.5732363Z               "line": 150
2026-06-04T05:36:28.5732772Z             }
2026-06-04T05:36:28.5733183Z           ]
2026-06-04T05:36:28.5733581Z         },
2026-06-04T05:36:28.5734014Z         "int": {
2026-06-04T05:36:28.5734473Z           "complete": false,
2026-06-04T05:36:28.5734917Z           "evidence": []
2026-06-04T05:36:28.5735325Z         },
2026-06-04T05:36:28.5735747Z         "unit": {
2026-06-04T05:36:28.5736203Z           "complete": true,
2026-06-04T05:36:28.5736633Z           "evidence": [
2026-06-04T05:36:28.5737042Z             {
2026-06-04T05:36:28.5737680Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.5738126Z               "line": 382
2026-06-04T05:36:28.5738522Z             },
2026-06-04T05:36:28.5738923Z             {
2026-06-04T05:36:28.5739602Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.5740034Z               "line": 393
2026-06-04T05:36:28.5740446Z             },
2026-06-04T05:36:28.5740843Z             {
2026-06-04T05:36:28.5741481Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.5741909Z               "line": 409
2026-06-04T05:36:28.5742314Z             },
2026-06-04T05:36:28.5742729Z             {
2026-06-04T05:36:28.5743355Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.5743806Z               "line": 423
2026-06-04T05:36:28.5744203Z             }
2026-06-04T05:36:28.5744611Z           ]
2026-06-04T05:36:28.5745005Z         }
2026-06-04T05:36:28.5745413Z       }
2026-06-04T05:36:28.5745808Z     },
2026-06-04T05:36:28.5746195Z     {
2026-06-04T05:36:28.5746732Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T05:36:28.5751744Z       "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-04T05:36:28.5752222Z       "requiredStages": [
2026-06-04T05:36:28.5752636Z         "doc",
2026-06-04T05:36:28.5753044Z         "impl",
2026-06-04T05:36:28.5753449Z         "unit"
2026-06-04T05:36:28.5753841Z       ],
2026-06-04T05:36:28.5754296Z       "stages": {
2026-06-04T05:36:28.5754697Z         "doc": {
2026-06-04T05:36:28.5755156Z           "complete": true,
2026-06-04T05:36:28.5755616Z           "evidence": [
2026-06-04T05:36:28.5756012Z             {
2026-06-04T05:36:28.5756563Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T05:36:28.5756989Z               "line": 259
2026-06-04T05:36:28.5757406Z             }
2026-06-04T05:36:28.5757806Z           ]
2026-06-04T05:36:28.5758214Z         },
2026-06-04T05:36:28.5758642Z         "impl": {
2026-06-04T05:36:28.5759091Z           "complete": true,
2026-06-04T05:36:28.5759562Z           "evidence": [
2026-06-04T05:36:28.5759960Z             {
2026-06-04T05:36:28.5760590Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.5761018Z               "line": 85
2026-06-04T05:36:28.5761421Z             },
2026-06-04T05:36:28.5761819Z             {
2026-06-04T05:36:28.5762437Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T05:36:28.5763029Z               "line": 88
2026-06-04T05:36:28.5763448Z             },
2026-06-04T05:36:28.5763849Z             {
2026-06-04T05:36:28.5764567Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T05:36:28.5765001Z               "line": 70
2026-06-04T05:36:28.5765401Z             },
2026-06-04T05:36:28.5765805Z             {
2026-06-04T05:36:28.5766407Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.5766840Z               "line": 210
2026-06-04T05:36:28.5767245Z             },
2026-06-04T05:36:28.5767635Z             {
2026-06-04T05:36:28.5768268Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T05:36:28.5768701Z               "line": 36
2026-06-04T05:36:28.5769097Z             },
2026-06-04T05:36:28.5769547Z             {
2026-06-04T05:36:28.5770148Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T05:36:28.5770582Z               "line": 40
2026-06-04T05:36:28.5771015Z             }
2026-06-04T05:36:28.5771653Z           ]
2026-06-04T05:36:28.5772468Z         },
2026-06-04T05:36:28.5773724Z         "int": {
2026-06-04T05:36:28.5774886Z           "complete": false,
2026-06-04T05:36:28.5776275Z           "evidence": []
2026-06-04T05:36:28.5777425Z         },
2026-06-04T05:36:28.5778477Z         "unit": {
2026-06-04T05:36:28.5779994Z           "complete": true,
2026-06-04T05:36:28.5781419Z           "evidence": [
2026-06-04T05:36:28.5782728Z             {
2026-06-04T05:36:28.5784587Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T05:36:28.5786466Z               "line": 147
2026-06-04T05:36:28.5787625Z             },
2026-06-04T05:36:28.5789143Z             {
2026-06-04T05:36:28.5790691Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T05:36:28.5792295Z               "line": 126
2026-06-04T05:36:28.5793443Z             },
2026-06-04T05:36:28.5803261Z             {
2026-06-04T05:36:28.5805248Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T05:36:28.5807355Z               "line": 121
2026-06-04T05:36:28.5808992Z             }
2026-06-04T05:36:28.5810377Z           ]
2026-06-04T05:36:28.5811821Z         }
2026-06-04T05:36:28.5812773Z       }
2026-06-04T05:36:28.5813671Z     },
2026-06-04T05:36:28.5814722Z     {
2026-06-04T05:36:28.5815812Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T05:36:28.5817710Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T05:36:28.5819604Z       "requiredStages": [
2026-06-04T05:36:28.5820752Z         "impl",
2026-06-04T05:36:28.5821739Z         "unit"
2026-06-04T05:36:28.5822700Z       ],
2026-06-04T05:36:28.5823629Z       "stages": {
2026-06-04T05:36:28.5824629Z         "doc": {
2026-06-04T05:36:28.5825681Z           "complete": false,
2026-06-04T05:36:28.5826884Z           "evidence": []
2026-06-04T05:36:28.5827988Z         },
2026-06-04T05:36:28.5828929Z         "impl": {
2026-06-04T05:36:28.5830030Z           "complete": true,
2026-06-04T05:36:28.5831217Z           "evidence": [
2026-06-04T05:36:28.5832308Z             {
2026-06-04T05:36:28.5833461Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.5834986Z               "line": 95
2026-06-04T05:36:28.5836072Z             },
2026-06-04T05:36:28.5837030Z             {
2026-06-04T05:36:28.5838182Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.5839727Z               "line": 96
2026-06-04T05:36:28.5840820Z             }
2026-06-04T05:36:28.5841770Z           ]
2026-06-04T05:36:28.5842688Z         },
2026-06-04T05:36:28.5843611Z         "int": {
2026-06-04T05:36:28.5844664Z           "complete": false,
2026-06-04T05:36:28.5845872Z           "evidence": []
2026-06-04T05:36:28.5846968Z         },
2026-06-04T05:36:28.5847894Z         "unit": {
2026-06-04T05:36:28.5848944Z           "complete": true,
2026-06-04T05:36:28.5850163Z           "evidence": [
2026-06-04T05:36:28.5851240Z             {
2026-06-04T05:36:28.5852387Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.5854312Z               "line": 250
2026-06-04T05:36:28.5855572Z             },
2026-06-04T05:36:28.5856553Z             {
2026-06-04T05:36:28.5857886Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T05:36:28.5859449Z               "line": 139
2026-06-04T05:36:28.5860577Z             },
2026-06-04T05:36:28.5861543Z             {
2026-06-04T05:36:28.5862701Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.5864225Z               "line": 375
2026-06-04T05:36:28.5865349Z             },
2026-06-04T05:36:28.5866345Z             {
2026-06-04T05:36:28.5867504Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.5869017Z               "line": 405
2026-06-04T05:36:28.5870185Z             }
2026-06-04T05:36:28.5871174Z           ]
2026-06-04T05:36:28.5872152Z         }
2026-06-04T05:36:28.5873068Z       }
2026-06-04T05:36:28.5873979Z     },
2026-06-04T05:36:28.5874880Z     {
2026-06-04T05:36:28.5875897Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T05:36:28.5877871Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T05:36:28.5880284Z       "requiredStages": [
2026-06-04T05:36:28.5881445Z         "impl",
2026-06-04T05:36:28.5882436Z         "unit"
2026-06-04T05:36:28.5883390Z       ],
2026-06-04T05:36:28.5884320Z       "stages": {
2026-06-04T05:36:28.5885344Z         "doc": {
2026-06-04T05:36:28.5886415Z           "complete": false,
2026-06-04T05:36:28.5887679Z           "evidence": []
2026-06-04T05:36:28.5888798Z         },
2026-06-04T05:36:28.5890134Z         "impl": {
2026-06-04T05:36:28.5891193Z           "complete": true,
2026-06-04T05:36:28.5892377Z           "evidence": [
2026-06-04T05:36:28.5893454Z             {
2026-06-04T05:36:28.5894621Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5896165Z               "line": 168
2026-06-04T05:36:28.5897272Z             },
2026-06-04T05:36:28.5898254Z             {
2026-06-04T05:36:28.5904804Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5906619Z               "line": 213
2026-06-04T05:36:28.5907752Z             },
2026-06-04T05:36:28.5908720Z             {
2026-06-04T05:36:28.5910284Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5911834Z               "line": 225
2026-06-04T05:36:28.5912948Z             }
2026-06-04T05:36:28.5913923Z           ]
2026-06-04T05:36:28.5914861Z         },
2026-06-04T05:36:28.5915799Z         "int": {
2026-06-04T05:36:28.5916853Z           "complete": false,
2026-06-04T05:36:28.5918074Z           "evidence": []
2026-06-04T05:36:28.5919219Z         },
2026-06-04T05:36:28.5920497Z         "unit": {
2026-06-04T05:36:28.5921558Z           "complete": true,
2026-06-04T05:36:28.5922738Z           "evidence": [
2026-06-04T05:36:28.5923811Z             {
2026-06-04T05:36:28.5924968Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5926494Z               "line": 361
2026-06-04T05:36:28.5927600Z             },
2026-06-04T05:36:28.5928559Z             {
2026-06-04T05:36:28.5930131Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.5931672Z               "line": 390
2026-06-04T05:36:28.5932800Z             }
2026-06-04T05:36:28.5933762Z           ]
2026-06-04T05:36:28.5934688Z         }
2026-06-04T05:36:28.5935606Z       }
2026-06-04T05:36:28.5936505Z     },
2026-06-04T05:36:28.5937407Z     {
2026-06-04T05:36:28.5938355Z       "id": "REQ-INFRA-1",
2026-06-04T05:36:28.5940158Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T05:36:28.5942198Z       "requiredStages": [],
2026-06-04T05:36:28.5943371Z       "stages": {
2026-06-04T05:36:28.5944377Z         "doc": {
2026-06-04T05:36:28.5945423Z           "complete": false,
2026-06-04T05:36:28.5946630Z           "evidence": []
2026-06-04T05:36:28.5947723Z         },
2026-06-04T05:36:28.5948648Z         "impl": {
2026-06-04T05:36:28.5949746Z           "complete": false,
2026-06-04T05:36:28.5950968Z           "evidence": []
2026-06-04T05:36:28.5952431Z         },
2026-06-04T05:36:28.5953410Z         "int": {
2026-06-04T05:36:28.5954457Z           "complete": false,
2026-06-04T05:36:28.5955818Z           "evidence": []
2026-06-04T05:36:28.5956922Z         },
2026-06-04T05:36:28.5957858Z         "unit": {
2026-06-04T05:36:28.5958913Z           "complete": false,
2026-06-04T05:36:28.5960175Z           "evidence": []
2026-06-04T05:36:28.5961289Z         }
2026-06-04T05:36:28.5962192Z       }
2026-06-04T05:36:28.5963083Z     },
2026-06-04T05:36:28.5963988Z     {
2026-06-04T05:36:28.5964939Z       "id": "REQ-INST-1",
2026-06-04T05:36:28.5966524Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T05:36:28.5968363Z       "requiredStages": [],
2026-06-04T05:36:28.5969584Z       "stages": {
2026-06-04T05:36:28.5970578Z         "doc": {
2026-06-04T05:36:28.5971629Z           "complete": false,
2026-06-04T05:36:28.5972828Z           "evidence": []
2026-06-04T05:36:28.5973922Z         },
2026-06-04T05:36:28.5974851Z         "impl": {
2026-06-04T05:36:28.5975909Z           "complete": false,
2026-06-04T05:36:28.5977120Z           "evidence": []
2026-06-04T05:36:28.5978226Z         },
2026-06-04T05:36:28.5979147Z         "int": {
2026-06-04T05:36:28.5980234Z           "complete": false,
2026-06-04T05:36:28.5981439Z           "evidence": []
2026-06-04T05:36:28.5982533Z         },
2026-06-04T05:36:28.5983468Z         "unit": {
2026-06-04T05:36:28.5984496Z           "complete": false,
2026-06-04T05:36:28.5985734Z           "evidence": []
2026-06-04T05:36:28.5987462Z         }
2026-06-04T05:36:28.5988499Z       }
2026-06-04T05:36:28.5989637Z     },
2026-06-04T05:36:28.5990552Z     {
2026-06-04T05:36:28.5991509Z       "id": "REQ-INST-10",
2026-06-04T05:36:28.5993466Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T05:36:28.5995681Z       "requiredStages": [
2026-06-04T05:36:28.5996814Z         "impl",
2026-06-04T05:36:28.5997794Z         "unit"
2026-06-04T05:36:28.5998749Z       ],
2026-06-04T05:36:28.5999723Z       "stages": {
2026-06-04T05:36:28.6004755Z         "doc": {
2026-06-04T05:36:28.6005929Z           "complete": false,
2026-06-04T05:36:28.6007183Z           "evidence": []
2026-06-04T05:36:28.6008281Z         },
2026-06-04T05:36:28.6009300Z         "impl": {
2026-06-04T05:36:28.6010356Z           "complete": true,
2026-06-04T05:36:28.6011534Z           "evidence": [
2026-06-04T05:36:28.6012607Z             {
2026-06-04T05:36:28.6013806Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6015379Z               "line": 351
2026-06-04T05:36:28.6016490Z             },
2026-06-04T05:36:28.6017456Z             {
2026-06-04T05:36:28.6018653Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6020249Z               "line": 406
2026-06-04T05:36:28.6021347Z             },
2026-06-04T05:36:28.6022321Z             {
2026-06-04T05:36:28.6023456Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T05:36:28.6025061Z               "line": 13
2026-06-04T05:36:28.6026177Z             },
2026-06-04T05:36:28.6027149Z             {
2026-06-04T05:36:28.6028290Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T05:36:28.6029835Z               "line": 67
2026-06-04T05:36:28.6030922Z             }
2026-06-04T05:36:28.6031887Z           ]
2026-06-04T05:36:28.6032821Z         },
2026-06-04T05:36:28.6033742Z         "int": {
2026-06-04T05:36:28.6034796Z           "complete": false,
2026-06-04T05:36:28.6036002Z           "evidence": []
2026-06-04T05:36:28.6037101Z         },
2026-06-04T05:36:28.6038025Z         "unit": {
2026-06-04T05:36:28.6039060Z           "complete": true,
2026-06-04T05:36:28.6040281Z           "evidence": [
2026-06-04T05:36:28.6041349Z             {
2026-06-04T05:36:28.6042553Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6044139Z               "line": 550
2026-06-04T05:36:28.6045253Z             },
2026-06-04T05:36:28.6046211Z             {
2026-06-04T05:36:28.6047686Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6049350Z               "line": 559
2026-06-04T05:36:28.6050463Z             },
2026-06-04T05:36:28.6051572Z             {
2026-06-04T05:36:28.6052772Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6054345Z               "line": 567
2026-06-04T05:36:28.6055453Z             },
2026-06-04T05:36:28.6056408Z             {
2026-06-04T05:36:28.6057607Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6059227Z               "line": 580
2026-06-04T05:36:28.6060337Z             },
2026-06-04T05:36:28.6061296Z             {
2026-06-04T05:36:28.6062490Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6064236Z               "line": 593
2026-06-04T05:36:28.6065670Z             },
2026-06-04T05:36:28.6066894Z             {
2026-06-04T05:36:28.6068166Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6070032Z               "line": 609
2026-06-04T05:36:28.6071172Z             },
2026-06-04T05:36:28.6072149Z             {
2026-06-04T05:36:28.6073350Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6074931Z               "line": 838
2026-06-04T05:36:28.6076051Z             },
2026-06-04T05:36:28.6077012Z             {
2026-06-04T05:36:28.6078141Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T05:36:28.6079696Z               "line": 121
2026-06-04T05:36:28.6080790Z             },
2026-06-04T05:36:28.6081747Z             {
2026-06-04T05:36:28.6082870Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T05:36:28.6084857Z               "line": 142
2026-06-04T05:36:28.6086281Z             },
2026-06-04T05:36:28.6087430Z             {
2026-06-04T05:36:28.6088783Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T05:36:28.6090909Z               "line": 150
2026-06-04T05:36:28.6092185Z             },
2026-06-04T05:36:28.6093256Z             {
2026-06-04T05:36:28.6094618Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T05:36:28.6096323Z               "line": 158
2026-06-04T05:36:28.6097567Z             }
2026-06-04T05:36:28.6098632Z           ]
2026-06-04T05:36:28.6099781Z         }
2026-06-04T05:36:28.6100840Z       }
2026-06-04T05:36:28.6101838Z     },
2026-06-04T05:36:28.6118181Z     {
2026-06-04T05:36:28.6119412Z       "id": "REQ-INST-11",
2026-06-04T05:36:28.6121554Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T05:36:28.6124022Z       "requiredStages": [
2026-06-04T05:36:28.6125325Z         "impl",
2026-06-04T05:36:28.6126422Z         "unit"
2026-06-04T05:36:28.6127480Z       ],
2026-06-04T05:36:28.6128532Z       "stages": {
2026-06-04T05:36:28.6129763Z         "doc": {
2026-06-04T05:36:28.6130960Z           "complete": false,
2026-06-04T05:36:28.6132412Z           "evidence": []
2026-06-04T05:36:28.6133729Z         },
2026-06-04T05:36:28.6134911Z         "impl": {
2026-06-04T05:36:28.6136435Z           "complete": true,
2026-06-04T05:36:28.6137869Z           "evidence": [
2026-06-04T05:36:28.6139826Z             {
2026-06-04T05:36:28.6145221Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6146936Z               "line": 253
2026-06-04T05:36:28.6148112Z             },
2026-06-04T05:36:28.6149132Z             {
2026-06-04T05:36:28.6150690Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.6152329Z               "line": 243
2026-06-04T05:36:28.6153458Z             },
2026-06-04T05:36:28.6154470Z             {
2026-06-04T05:36:28.6155770Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T05:36:28.6157444Z               "line": 59
2026-06-04T05:36:28.6158606Z             },
2026-06-04T05:36:28.6159676Z             {
2026-06-04T05:36:28.6160772Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6162182Z               "line": 621
2026-06-04T05:36:28.6163276Z             },
2026-06-04T05:36:28.6164227Z             {
2026-06-04T05:36:28.6165748Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6167223Z               "line": 726
2026-06-04T05:36:28.6168492Z             }
2026-06-04T05:36:28.6169485Z           ]
2026-06-04T05:36:28.6170408Z         },
2026-06-04T05:36:28.6171337Z         "int": {
2026-06-04T05:36:28.6172384Z           "complete": false,
2026-06-04T05:36:28.6173609Z           "evidence": []
2026-06-04T05:36:28.6174710Z         },
2026-06-04T05:36:28.6175638Z         "unit": {
2026-06-04T05:36:28.6176679Z           "complete": true,
2026-06-04T05:36:28.6177850Z           "evidence": [
2026-06-04T05:36:28.6178915Z             {
2026-06-04T05:36:28.6180140Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6181709Z               "line": 702
2026-06-04T05:36:28.6182815Z             },
2026-06-04T05:36:28.6183777Z             {
2026-06-04T05:36:28.6184968Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6186640Z               "line": 725
2026-06-04T05:36:28.6187745Z             },
2026-06-04T05:36:28.6188706Z             {
2026-06-04T05:36:28.6190270Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.6191884Z               "line": 356
2026-06-04T05:36:28.6193008Z             },
2026-06-04T05:36:28.6193968Z             {
2026-06-04T05:36:28.6195113Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T05:36:28.6196616Z               "line": 156
2026-06-04T05:36:28.6197710Z             },
2026-06-04T05:36:28.6198667Z             {
2026-06-04T05:36:28.6199947Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T05:36:28.6201468Z               "line": 177
2026-06-04T05:36:28.6202578Z             },
2026-06-04T05:36:28.6203543Z             {
2026-06-04T05:36:28.6204693Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T05:36:28.6206211Z               "line": 209
2026-06-04T05:36:28.6207326Z             },
2026-06-04T05:36:28.6208280Z             {
2026-06-04T05:36:28.6209412Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6210852Z               "line": 819
2026-06-04T05:36:28.6211967Z             }
2026-06-04T05:36:28.6212930Z           ]
2026-06-04T05:36:28.6213851Z         }
2026-06-04T05:36:28.6214857Z       }
2026-06-04T05:36:28.6215761Z     },
2026-06-04T05:36:28.6223259Z     {
2026-06-04T05:36:28.6224426Z       "id": "REQ-INST-12",
2026-06-04T05:36:28.6226985Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T05:36:28.6229976Z       "requiredStages": [
2026-06-04T05:36:28.6231098Z         "impl",
2026-06-04T05:36:28.6232078Z         "unit"
2026-06-04T05:36:28.6233031Z       ],
2026-06-04T05:36:28.6233959Z       "stages": {
2026-06-04T05:36:28.6234947Z         "doc": {
2026-06-04T05:36:28.6235977Z           "complete": false,
2026-06-04T05:36:28.6237160Z           "evidence": []
2026-06-04T05:36:28.6238242Z         },
2026-06-04T05:36:28.6239211Z         "impl": {
2026-06-04T05:36:28.6240672Z           "complete": true,
2026-06-04T05:36:28.6241828Z           "evidence": [
2026-06-04T05:36:28.6242906Z             {
2026-06-04T05:36:28.6244081Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6245618Z               "line": 305
2026-06-04T05:36:28.6246706Z             },
2026-06-04T05:36:28.6247650Z             {
2026-06-04T05:36:28.6248819Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6250411Z               "line": 362
2026-06-04T05:36:28.6251498Z             },
2026-06-04T05:36:28.6252467Z             {
2026-06-04T05:36:28.6253647Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6255238Z               "line": 420
2026-06-04T05:36:28.6256322Z             },
2026-06-04T05:36:28.6257274Z             {
2026-06-04T05:36:28.6258411Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.6259932Z               "line": 87
2026-06-04T05:36:28.6261000Z             },
2026-06-04T05:36:28.6262279Z             {
2026-06-04T05:36:28.6263468Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.6265104Z               "line": 216
2026-06-04T05:36:28.6266197Z             },
2026-06-04T05:36:28.6267154Z             {
2026-06-04T05:36:28.6268342Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6269947Z               "line": 132
2026-06-04T05:36:28.6271040Z             }
2026-06-04T05:36:28.6271983Z           ]
2026-06-04T05:36:28.6272909Z         },
2026-06-04T05:36:28.6273833Z         "int": {
2026-06-04T05:36:28.6274872Z           "complete": false,
2026-06-04T05:36:28.6276052Z           "evidence": []
2026-06-04T05:36:28.6277146Z         },
2026-06-04T05:36:28.6278079Z         "unit": {
2026-06-04T05:36:28.6279131Z           "complete": true,
2026-06-04T05:36:28.6280344Z           "evidence": [
2026-06-04T05:36:28.6281422Z             {
2026-06-04T05:36:28.6282606Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6284170Z               "line": 760
2026-06-04T05:36:28.6285263Z             },
2026-06-04T05:36:28.6286225Z             {
2026-06-04T05:36:28.6287397Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6288942Z               "line": 777
2026-06-04T05:36:28.6290084Z             },
2026-06-04T05:36:28.6291032Z             {
2026-06-04T05:36:28.6292223Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6293769Z               "line": 808
2026-06-04T05:36:28.6294859Z             },
2026-06-04T05:36:28.6295811Z             {
2026-06-04T05:36:28.6296963Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.6298475Z               "line": 350
2026-06-04T05:36:28.6299603Z             },
2026-06-04T05:36:28.6300567Z             {
2026-06-04T05:36:28.6301771Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6303342Z               "line": 169
2026-06-04T05:36:28.6304447Z             },
2026-06-04T05:36:28.6305422Z             {
2026-06-04T05:36:28.6306635Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6308214Z               "line": 181
2026-06-04T05:36:28.6309360Z             },
2026-06-04T05:36:28.6310334Z             {
2026-06-04T05:36:28.6311543Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6313105Z               "line": 198
2026-06-04T05:36:28.6314208Z             }
2026-06-04T05:36:28.6315162Z           ]
2026-06-04T05:36:28.6316086Z         }
2026-06-04T05:36:28.6317004Z       }
2026-06-04T05:36:28.6317897Z     },
2026-06-04T05:36:28.6318808Z     {
2026-06-04T05:36:28.6319815Z       "id": "REQ-INST-13",
2026-06-04T05:36:28.6325320Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T05:36:28.6327535Z       "requiredStages": [
2026-06-04T05:36:28.6328691Z         "impl",
2026-06-04T05:36:28.6329769Z         "unit"
2026-06-04T05:36:28.6330739Z       ],
2026-06-04T05:36:28.6331695Z       "stages": {
2026-06-04T05:36:28.6332702Z         "doc": {
2026-06-04T05:36:28.6333758Z           "complete": false,
2026-06-04T05:36:28.6334979Z           "evidence": []
2026-06-04T05:36:28.6336082Z         },
2026-06-04T05:36:28.6337004Z         "impl": {
2026-06-04T05:36:28.6338044Z           "complete": true,
2026-06-04T05:36:28.6339254Z           "evidence": [
2026-06-04T05:36:28.6340327Z             {
2026-06-04T05:36:28.6341530Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6343117Z               "line": 155
2026-06-04T05:36:28.6344210Z             }
2026-06-04T05:36:28.6345159Z           ]
2026-06-04T05:36:28.6346073Z         },
2026-06-04T05:36:28.6346984Z         "int": {
2026-06-04T05:36:28.6348012Z           "complete": false,
2026-06-04T05:36:28.6349240Z           "evidence": []
2026-06-04T05:36:28.6350335Z         },
2026-06-04T05:36:28.6351259Z         "unit": {
2026-06-04T05:36:28.6352304Z           "complete": true,
2026-06-04T05:36:28.6353722Z           "evidence": [
2026-06-04T05:36:28.6354849Z             {
2026-06-04T05:36:28.6356059Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6357799Z               "line": 221
2026-06-04T05:36:28.6358900Z             },
2026-06-04T05:36:28.6359903Z             {
2026-06-04T05:36:28.6361113Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T05:36:28.6362689Z               "line": 233
2026-06-04T05:36:28.6363792Z             }
2026-06-04T05:36:28.6364742Z           ]
2026-06-04T05:36:28.6365658Z         }
2026-06-04T05:36:28.6366564Z       }
2026-06-04T05:36:28.6367447Z     },
2026-06-04T05:36:28.6368342Z     {
2026-06-04T05:36:28.6369324Z       "id": "REQ-INST-14",
2026-06-04T05:36:28.6372852Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T05:36:28.6376301Z       "requiredStages": [],
2026-06-04T05:36:28.6377489Z       "stages": {
2026-06-04T05:36:28.6378495Z         "doc": {
2026-06-04T05:36:28.6379577Z           "complete": false,
2026-06-04T05:36:28.6380795Z           "evidence": []
2026-06-04T05:36:28.6381908Z         },
2026-06-04T05:36:28.6382844Z         "impl": {
2026-06-04T05:36:28.6383883Z           "complete": false,
2026-06-04T05:36:28.6385087Z           "evidence": []
2026-06-04T05:36:28.6386186Z         },
2026-06-04T05:36:28.6387118Z         "int": {
2026-06-04T05:36:28.6388147Z           "complete": false,
2026-06-04T05:36:28.6389382Z           "evidence": []
2026-06-04T05:36:28.6390487Z         },
2026-06-04T05:36:28.6391420Z         "unit": {
2026-06-04T05:36:28.6392469Z           "complete": false,
2026-06-04T05:36:28.6393681Z           "evidence": []
2026-06-04T05:36:28.6394775Z         }
2026-06-04T05:36:28.6395673Z       }
2026-06-04T05:36:28.6396569Z     },
2026-06-04T05:36:28.6397464Z     {
2026-06-04T05:36:28.6398401Z       "id": "REQ-INST-15",
2026-06-04T05:36:28.6404170Z       "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-04T05:36:28.6410269Z       "requiredStages": [],
2026-06-04T05:36:28.6411453Z       "stages": {
2026-06-04T05:36:28.6412460Z         "doc": {
2026-06-04T05:36:28.6413498Z           "complete": false,
2026-06-04T05:36:28.6414706Z           "evidence": []
2026-06-04T05:36:28.6415803Z         },
2026-06-04T05:36:28.6416732Z         "impl": {
2026-06-04T05:36:28.6417784Z           "complete": false,
2026-06-04T05:36:28.6418991Z           "evidence": []
2026-06-04T05:36:28.6420136Z         },
2026-06-04T05:36:28.6421064Z         "int": {
2026-06-04T05:36:28.6422094Z           "complete": false,
2026-06-04T05:36:28.6423303Z           "evidence": []
2026-06-04T05:36:28.6424410Z         },
2026-06-04T05:36:28.6425344Z         "unit": {
2026-06-04T05:36:28.6426392Z           "complete": false,
2026-06-04T05:36:28.6427626Z           "evidence": []
2026-06-04T05:36:28.6428730Z         }
2026-06-04T05:36:28.6433207Z       }
2026-06-04T05:36:28.6434188Z     },
2026-06-04T05:36:28.6435096Z     {
2026-06-04T05:36:28.6436041Z       "id": "REQ-INST-2",
2026-06-04T05:36:28.6436678Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T05:36:28.6437151Z       "requiredStages": [
2026-06-04T05:36:28.6437561Z         "impl",
2026-06-04T05:36:28.6437977Z         "unit"
2026-06-04T05:36:28.6438371Z       ],
2026-06-04T05:36:28.6438792Z       "stages": {
2026-06-04T05:36:28.6439295Z         "doc": {
2026-06-04T05:36:28.6439751Z           "complete": false,
2026-06-04T05:36:28.6440194Z           "evidence": []
2026-06-04T05:36:28.6440595Z         },
2026-06-04T05:36:28.6441012Z         "impl": {
2026-06-04T05:36:28.6441462Z           "complete": true,
2026-06-04T05:36:28.6441901Z           "evidence": [
2026-06-04T05:36:28.6442304Z             {
2026-06-04T05:36:28.6443193Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.6443670Z               "line": 86
2026-06-04T05:36:28.6444069Z             },
2026-06-04T05:36:28.6444603Z             {
2026-06-04T05:36:28.6445216Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.6445728Z               "line": 28
2026-06-04T05:36:28.6446127Z             },
2026-06-04T05:36:28.6446523Z             {
2026-06-04T05:36:28.6447122Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.6447550Z               "line": 74
2026-06-04T05:36:28.6447957Z             },
2026-06-04T05:36:28.6448352Z             {
2026-06-04T05:36:28.6448956Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.6449437Z               "line": 96
2026-06-04T05:36:28.6449841Z             },
2026-06-04T05:36:28.6450249Z             {
2026-06-04T05:36:28.6450836Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T05:36:28.6451268Z               "line": 81
2026-06-04T05:36:28.6451674Z             },
2026-06-04T05:36:28.6452075Z             {
2026-06-04T05:36:28.6452690Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T05:36:28.6453130Z               "line": 118
2026-06-04T05:36:28.6453541Z             }
2026-06-04T05:36:28.6453941Z           ]
2026-06-04T05:36:28.6454346Z         },
2026-06-04T05:36:28.6454763Z         "int": {
2026-06-04T05:36:28.6455237Z           "complete": false,
2026-06-04T05:36:28.6455680Z           "evidence": []
2026-06-04T05:36:28.6456080Z         },
2026-06-04T05:36:28.6456489Z         "unit": {
2026-06-04T05:36:28.6456938Z           "complete": true,
2026-06-04T05:36:28.6457384Z           "evidence": [
2026-06-04T05:36:28.6457781Z             {
2026-06-04T05:36:28.6458386Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T05:36:28.6458821Z               "line": 203
2026-06-04T05:36:28.6459248Z             },
2026-06-04T05:36:28.6459660Z             {
2026-06-04T05:36:28.6460251Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T05:36:28.6460699Z               "line": 232
2026-06-04T05:36:28.6461102Z             }
2026-06-04T05:36:28.6461510Z           ]
2026-06-04T05:36:28.6461922Z         }
2026-06-04T05:36:28.6462315Z       }
2026-06-04T05:36:28.6462710Z     },
2026-06-04T05:36:28.6463104Z     {
2026-06-04T05:36:28.6463555Z       "id": "REQ-INST-3",
2026-06-04T05:36:28.6464364Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T05:36:28.6464838Z       "requiredStages": [],
2026-06-04T05:36:28.6465262Z       "stages": {
2026-06-04T05:36:28.6465665Z         "doc": {
2026-06-04T05:36:28.6466131Z           "complete": false,
2026-06-04T05:36:28.6466566Z           "evidence": []
2026-06-04T05:36:28.6466965Z         },
2026-06-04T05:36:28.6467374Z         "impl": {
2026-06-04T05:36:28.6467835Z           "complete": false,
2026-06-04T05:36:28.6468276Z           "evidence": []
2026-06-04T05:36:28.6468672Z         },
2026-06-04T05:36:28.6469089Z         "int": {
2026-06-04T05:36:28.6469584Z           "complete": false,
2026-06-04T05:36:28.6470028Z           "evidence": []
2026-06-04T05:36:28.6470420Z         },
2026-06-04T05:36:28.6470850Z         "unit": {
2026-06-04T05:36:28.6471309Z           "complete": false,
2026-06-04T05:36:28.6471739Z           "evidence": []
2026-06-04T05:36:28.6472141Z         }
2026-06-04T05:36:28.6472532Z       }
2026-06-04T05:36:28.6472926Z     },
2026-06-04T05:36:28.6473319Z     {
2026-06-04T05:36:28.6473771Z       "id": "REQ-INST-4",
2026-06-04T05:36:28.6474766Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T05:36:28.6475238Z       "requiredStages": [],
2026-06-04T05:36:28.6475666Z       "stages": {
2026-06-04T05:36:28.6476075Z         "doc": {
2026-06-04T05:36:28.6476531Z           "complete": false,
2026-06-04T05:36:28.6476967Z           "evidence": []
2026-06-04T05:36:28.6477368Z         },
2026-06-04T05:36:28.6477782Z         "impl": {
2026-06-04T05:36:28.6478232Z           "complete": false,
2026-06-04T05:36:28.6478822Z           "evidence": []
2026-06-04T05:36:28.6479270Z         },
2026-06-04T05:36:28.6479699Z         "int": {
2026-06-04T05:36:28.6480330Z           "complete": false,
2026-06-04T05:36:28.6480776Z           "evidence": []
2026-06-04T05:36:28.6481173Z         },
2026-06-04T05:36:28.6481580Z         "unit": {
2026-06-04T05:36:28.6482047Z           "complete": false,
2026-06-04T05:36:28.6482489Z           "evidence": []
2026-06-04T05:36:28.6482893Z         }
2026-06-04T05:36:28.6483280Z       }
2026-06-04T05:36:28.6483676Z     },
2026-06-04T05:36:28.6484070Z     {
2026-06-04T05:36:28.6484525Z       "id": "REQ-INST-5",
2026-06-04T05:36:28.6485556Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T05:36:28.6486029Z       "requiredStages": [],
2026-06-04T05:36:28.6486447Z       "stages": {
2026-06-04T05:36:28.6486850Z         "doc": {
2026-06-04T05:36:28.6487315Z           "complete": false,
2026-06-04T05:36:28.6487757Z           "evidence": []
2026-06-04T05:36:28.6488157Z         },
2026-06-04T05:36:28.6488588Z         "impl": {
2026-06-04T05:36:28.6489044Z           "complete": false,
2026-06-04T05:36:28.6489542Z           "evidence": []
2026-06-04T05:36:28.6489938Z         },
2026-06-04T05:36:28.6490350Z         "int": {
2026-06-04T05:36:28.6490812Z           "complete": false,
2026-06-04T05:36:28.6491246Z           "evidence": []
2026-06-04T05:36:28.6491650Z         },
2026-06-04T05:36:28.6492053Z         "unit": {
2026-06-04T05:36:28.6492513Z           "complete": false,
2026-06-04T05:36:28.6492949Z           "evidence": []
2026-06-04T05:36:28.6493351Z         }
2026-06-04T05:36:28.6493753Z       }
2026-06-04T05:36:28.6494142Z     },
2026-06-04T05:36:28.6494541Z     {
2026-06-04T05:36:28.6494983Z       "id": "REQ-INST-6",
2026-06-04T05:36:28.6496065Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T05:36:28.6496534Z       "requiredStages": [],
2026-06-04T05:36:28.6496956Z       "stages": {
2026-06-04T05:36:28.6497374Z         "doc": {
2026-06-04T05:36:28.6497838Z           "complete": false,
2026-06-04T05:36:28.6498286Z           "evidence": []
2026-06-04T05:36:28.6498695Z         },
2026-06-04T05:36:28.6499116Z         "impl": {
2026-06-04T05:36:28.6499612Z           "complete": false,
2026-06-04T05:36:28.6500069Z           "evidence": []
2026-06-04T05:36:28.6500474Z         },
2026-06-04T05:36:28.6500884Z         "int": {
2026-06-04T05:36:28.6501348Z           "complete": false,
2026-06-04T05:36:28.6501780Z           "evidence": []
2026-06-04T05:36:28.6502176Z         },
2026-06-04T05:36:28.6502580Z         "unit": {
2026-06-04T05:36:28.6503040Z           "complete": false,
2026-06-04T05:36:28.6503486Z           "evidence": []
2026-06-04T05:36:28.6503881Z         }
2026-06-04T05:36:28.6504283Z       }
2026-06-04T05:36:28.6504673Z     },
2026-06-04T05:36:28.6505066Z     {
2026-06-04T05:36:28.6505516Z       "id": "REQ-INST-7",
2026-06-04T05:36:28.6506263Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T05:36:28.6506742Z       "requiredStages": [
2026-06-04T05:36:28.6507154Z         "impl",
2026-06-04T05:36:28.6510822Z         "unit"
2026-06-04T05:36:28.6511338Z       ],
2026-06-04T05:36:28.6511775Z       "stages": {
2026-06-04T05:36:28.6512174Z         "doc": {
2026-06-04T05:36:28.6512638Z           "complete": false,
2026-06-04T05:36:28.6513078Z           "evidence": []
2026-06-04T05:36:28.6513472Z         },
2026-06-04T05:36:28.6513892Z         "impl": {
2026-06-04T05:36:28.6514343Z           "complete": true,
2026-06-04T05:36:28.6514802Z           "evidence": [
2026-06-04T05:36:28.6515194Z             {
2026-06-04T05:36:28.6515836Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T05:36:28.6516265Z               "line": 56
2026-06-04T05:36:28.6516664Z             },
2026-06-04T05:36:28.6517067Z             {
2026-06-04T05:36:28.6517706Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6518130Z               "line": 41
2026-06-04T05:36:28.6518528Z             },
2026-06-04T05:36:28.6519237Z             {
2026-06-04T05:36:28.6519956Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.6520511Z               "line": 27
2026-06-04T05:36:28.6520918Z             },
2026-06-04T05:36:28.6521320Z             {
2026-06-04T05:36:28.6521997Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.6522428Z               "line": 59
2026-06-04T05:36:28.6522842Z             },
2026-06-04T05:36:28.6523242Z             {
2026-06-04T05:36:28.6523894Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.6524328Z               "line": 68
2026-06-04T05:36:28.6524733Z             },
2026-06-04T05:36:28.6525235Z             {
2026-06-04T05:36:28.6525851Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T05:36:28.6526288Z               "line": 129
2026-06-04T05:36:28.6526699Z             }
2026-06-04T05:36:28.6527096Z           ]
2026-06-04T05:36:28.6527497Z         },
2026-06-04T05:36:28.6527913Z         "int": {
2026-06-04T05:36:28.6528371Z           "complete": false,
2026-06-04T05:36:28.6528800Z           "evidence": []
2026-06-04T05:36:28.6529251Z         },
2026-06-04T05:36:28.6529668Z         "unit": {
2026-06-04T05:36:28.6530112Z           "complete": true,
2026-06-04T05:36:28.6530549Z           "evidence": [
2026-06-04T05:36:28.6530947Z             {
2026-06-04T05:36:28.6531628Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T05:36:28.6532052Z               "line": 83
2026-06-04T05:36:28.6532464Z             },
2026-06-04T05:36:28.6532877Z             {
2026-06-04T05:36:28.6533762Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6534408Z               "line": 475
2026-06-04T05:36:28.6535074Z             },
2026-06-04T05:36:28.6535581Z             {
2026-06-04T05:36:28.6536476Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6537377Z               "line": 486
2026-06-04T05:36:28.6538101Z             },
2026-06-04T05:36:28.6538717Z             {
2026-06-04T05:36:28.6539618Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6540087Z               "line": 495
2026-06-04T05:36:28.6540503Z             },
2026-06-04T05:36:28.6540905Z             {
2026-06-04T05:36:28.6541765Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.6542252Z               "line": 90
2026-06-04T05:36:28.6542822Z             },
2026-06-04T05:36:28.6543228Z             {
2026-06-04T05:36:28.6543890Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.6544331Z               "line": 105
2026-06-04T05:36:28.6544741Z             },
2026-06-04T05:36:28.6545133Z             {
2026-06-04T05:36:28.6545796Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T05:36:28.6546229Z               "line": 131
2026-06-04T05:36:28.6546637Z             }
2026-06-04T05:36:28.6547034Z           ]
2026-06-04T05:36:28.6547436Z         }
2026-06-04T05:36:28.6547859Z       }
2026-06-04T05:36:28.6548253Z     },
2026-06-04T05:36:28.6548658Z     {
2026-06-04T05:36:28.6549094Z       "id": "REQ-INST-8",
2026-06-04T05:36:28.6549981Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T05:36:28.6550450Z       "requiredStages": [
2026-06-04T05:36:28.6551026Z         "impl",
2026-06-04T05:36:28.6551479Z         "unit"
2026-06-04T05:36:28.6551909Z       ],
2026-06-04T05:36:28.6552503Z       "stages": {
2026-06-04T05:36:28.6552905Z         "doc": {
2026-06-04T05:36:28.6553365Z           "complete": false,
2026-06-04T05:36:28.6553796Z           "evidence": []
2026-06-04T05:36:28.6554204Z         },
2026-06-04T05:36:28.6554626Z         "impl": {
2026-06-04T05:36:28.6555539Z           "complete": true,
2026-06-04T05:36:28.6556028Z           "evidence": [
2026-06-04T05:36:28.6556596Z             {
2026-06-04T05:36:28.6557243Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T05:36:28.6557673Z               "line": 87
2026-06-04T05:36:28.6558317Z             },
2026-06-04T05:36:28.6558734Z             {
2026-06-04T05:36:28.6559409Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T05:36:28.6559993Z               "line": 184
2026-06-04T05:36:28.6560394Z             },
2026-06-04T05:36:28.6560797Z             {
2026-06-04T05:36:28.6561426Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T05:36:28.6561874Z               "line": 202
2026-06-04T05:36:28.6562284Z             },
2026-06-04T05:36:28.6562682Z             {
2026-06-04T05:36:28.6563311Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T05:36:28.6564041Z               "line": 35
2026-06-04T05:36:28.6564619Z             }
2026-06-04T05:36:28.6565058Z           ]
2026-06-04T05:36:28.6565626Z         },
2026-06-04T05:36:28.6566042Z         "int": {
2026-06-04T05:36:28.6566501Z           "complete": false,
2026-06-04T05:36:28.6567011Z           "evidence": []
2026-06-04T05:36:28.6567409Z         },
2026-06-04T05:36:28.6567850Z         "unit": {
2026-06-04T05:36:28.6568309Z           "complete": true,
2026-06-04T05:36:28.6568758Z           "evidence": [
2026-06-04T05:36:28.6569223Z             {
2026-06-04T05:36:28.6569876Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T05:36:28.6570320Z               "line": 172
2026-06-04T05:36:28.6570721Z             },
2026-06-04T05:36:28.6571130Z             {
2026-06-04T05:36:28.6571767Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T05:36:28.6572212Z               "line": 226
2026-06-04T05:36:28.6572627Z             },
2026-06-04T05:36:28.6573505Z             {
2026-06-04T05:36:28.6574338Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T05:36:28.6574774Z               "line": 70
2026-06-04T05:36:28.6575188Z             },
2026-06-04T05:36:28.6575590Z             {
2026-06-04T05:36:28.6576220Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T05:36:28.6576655Z               "line": 101
2026-06-04T05:36:28.6577065Z             }
2026-06-04T05:36:28.6577535Z           ]
2026-06-04T05:36:28.6577932Z         }
2026-06-04T05:36:28.6578329Z       }
2026-06-04T05:36:28.6578729Z     },
2026-06-04T05:36:28.6579125Z     {
2026-06-04T05:36:28.6579618Z       "id": "REQ-INST-9",
2026-06-04T05:36:28.6580687Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T05:36:28.6581159Z       "requiredStages": [
2026-06-04T05:36:28.6581564Z         "impl",
2026-06-04T05:36:28.6581978Z         "unit"
2026-06-04T05:36:28.6582377Z       ],
2026-06-04T05:36:28.6582804Z       "stages": {
2026-06-04T05:36:28.6583222Z         "doc": {
2026-06-04T05:36:28.6583682Z           "complete": false,
2026-06-04T05:36:28.6584128Z           "evidence": []
2026-06-04T05:36:28.6584530Z         },
2026-06-04T05:36:28.6584951Z         "impl": {
2026-06-04T05:36:28.6585394Z           "complete": true,
2026-06-04T05:36:28.6585827Z           "evidence": [
2026-06-04T05:36:28.6586232Z             {
2026-06-04T05:36:28.6586884Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6587328Z               "line": 191
2026-06-04T05:36:28.6587735Z             }
2026-06-04T05:36:28.6588141Z           ]
2026-06-04T05:36:28.6588534Z         },
2026-06-04T05:36:28.6588956Z         "int": {
2026-06-04T05:36:28.6589455Z           "complete": false,
2026-06-04T05:36:28.6589900Z           "evidence": []
2026-06-04T05:36:28.6590308Z         },
2026-06-04T05:36:28.6590712Z         "unit": {
2026-06-04T05:36:28.6591172Z           "complete": true,
2026-06-04T05:36:28.6595525Z           "evidence": [
2026-06-04T05:36:28.6596061Z             {
2026-06-04T05:36:28.6596760Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6597201Z               "line": 626
2026-06-04T05:36:28.6597616Z             },
2026-06-04T05:36:28.6598012Z             {
2026-06-04T05:36:28.6598663Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6599104Z               "line": 635
2026-06-04T05:36:28.6599873Z             },
2026-06-04T05:36:28.6600324Z             {
2026-06-04T05:36:28.6600977Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6601550Z               "line": 649
2026-06-04T05:36:28.6601955Z             },
2026-06-04T05:36:28.6602371Z             {
2026-06-04T05:36:28.6603015Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6603459Z               "line": 659
2026-06-04T05:36:28.6603874Z             },
2026-06-04T05:36:28.6604276Z             {
2026-06-04T05:36:28.6604936Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T05:36:28.6605380Z               "line": 678
2026-06-04T05:36:28.6605791Z             }
2026-06-04T05:36:28.6606190Z           ]
2026-06-04T05:36:28.6606598Z         }
2026-06-04T05:36:28.6607013Z       }
2026-06-04T05:36:28.6607408Z     },
2026-06-04T05:36:28.6607811Z     {
2026-06-04T05:36:28.6608274Z       "id": "REQ-INSTALL-1",
2026-06-04T05:36:28.6609430Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T05:36:28.6609896Z       "requiredStages": [],
2026-06-04T05:36:28.6610333Z       "stages": {
2026-06-04T05:36:28.6610746Z         "doc": {
2026-06-04T05:36:28.6611197Z           "complete": false,
2026-06-04T05:36:28.6611647Z           "evidence": []
2026-06-04T05:36:28.6612048Z         },
2026-06-04T05:36:28.6612472Z         "impl": {
2026-06-04T05:36:28.6612931Z           "complete": false,
2026-06-04T05:36:28.6613385Z           "evidence": []
2026-06-04T05:36:28.6613791Z         },
2026-06-04T05:36:28.6614195Z         "int": {
2026-06-04T05:36:28.6614659Z           "complete": false,
2026-06-04T05:36:28.6615092Z           "evidence": []
2026-06-04T05:36:28.6615501Z         },
2026-06-04T05:36:28.6615951Z         "unit": {
2026-06-04T05:36:28.6616421Z           "complete": false,
2026-06-04T05:36:28.6616865Z           "evidence": []
2026-06-04T05:36:28.6617269Z         }
2026-06-04T05:36:28.6617673Z       }
2026-06-04T05:36:28.6618073Z     },
2026-06-04T05:36:28.6618489Z     {
2026-06-04T05:36:28.6618946Z       "id": "REQ-INSTALL-2",
2026-06-04T05:36:28.6619722Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T05:36:28.6620207Z       "requiredStages": [],
2026-06-04T05:36:28.6620630Z       "stages": {
2026-06-04T05:36:28.6621048Z         "doc": {
2026-06-04T05:36:28.6621501Z           "complete": false,
2026-06-04T05:36:28.6621952Z           "evidence": []
2026-06-04T05:36:28.6622348Z         },
2026-06-04T05:36:28.6622766Z         "impl": {
2026-06-04T05:36:28.6623231Z           "complete": false,
2026-06-04T05:36:28.6623670Z           "evidence": []
2026-06-04T05:36:28.6624072Z         },
2026-06-04T05:36:28.6624477Z         "int": {
2026-06-04T05:36:28.6624935Z           "complete": false,
2026-06-04T05:36:28.6625372Z           "evidence": []
2026-06-04T05:36:28.6625778Z         },
2026-06-04T05:36:28.6626198Z         "unit": {
2026-06-04T05:36:28.6626655Z           "complete": false,
2026-06-04T05:36:28.6627113Z           "evidence": []
2026-06-04T05:36:28.6627508Z         }
2026-06-04T05:36:28.6627913Z       }
2026-06-04T05:36:28.6628300Z     },
2026-06-04T05:36:28.6628720Z     {
2026-06-04T05:36:28.6629217Z       "id": "REQ-INSTALL-3",
2026-06-04T05:36:28.6629984Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T05:36:28.6630457Z       "requiredStages": [],
2026-06-04T05:36:28.6630872Z       "stages": {
2026-06-04T05:36:28.6631285Z         "doc": {
2026-06-04T05:36:28.6631744Z           "complete": false,
2026-06-04T05:36:28.6632187Z           "evidence": []
2026-06-04T05:36:28.6632595Z         },
2026-06-04T05:36:28.6633002Z         "impl": {
2026-06-04T05:36:28.6633457Z           "complete": false,
2026-06-04T05:36:28.6633891Z           "evidence": []
2026-06-04T05:36:28.6634302Z         },
2026-06-04T05:36:28.6634701Z         "int": {
2026-06-04T05:36:28.6635154Z           "complete": false,
2026-06-04T05:36:28.6635595Z           "evidence": []
2026-06-04T05:36:28.6635991Z         },
2026-06-04T05:36:28.6636645Z         "unit": {
2026-06-04T05:36:28.6637118Z           "complete": false,
2026-06-04T05:36:28.6637567Z           "evidence": []
2026-06-04T05:36:28.6638134Z         }
2026-06-04T05:36:28.6638537Z       }
2026-06-04T05:36:28.6638945Z     },
2026-06-04T05:36:28.6639372Z     {
2026-06-04T05:36:28.6639839Z       "id": "REQ-INSTALL-4",
2026-06-04T05:36:28.6644070Z       "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-04T05:36:28.6644556Z       "requiredStages": [],
2026-06-04T05:36:28.6644976Z       "stages": {
2026-06-04T05:36:28.6645387Z         "doc": {
2026-06-04T05:36:28.6645859Z           "complete": false,
2026-06-04T05:36:28.6646289Z           "evidence": []
2026-06-04T05:36:28.6646689Z         },
2026-06-04T05:36:28.6647100Z         "impl": {
2026-06-04T05:36:28.6647560Z           "complete": false,
2026-06-04T05:36:28.6648003Z           "evidence": []
2026-06-04T05:36:28.6648406Z         },
2026-06-04T05:36:28.6648824Z         "int": {
2026-06-04T05:36:28.6649327Z           "complete": false,
2026-06-04T05:36:28.6649767Z           "evidence": []
2026-06-04T05:36:28.6650163Z         },
2026-06-04T05:36:28.6650579Z         "unit": {
2026-06-04T05:36:28.6651029Z           "complete": false,
2026-06-04T05:36:28.6651476Z           "evidence": []
2026-06-04T05:36:28.6651880Z         }
2026-06-04T05:36:28.6652271Z       }
2026-06-04T05:36:28.6652669Z     },
2026-06-04T05:36:28.6653056Z     {
2026-06-04T05:36:28.6653529Z       "id": "REQ-MANIFEST-1",
2026-06-04T05:36:28.6654604Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T05:36:28.6655070Z       "requiredStages": [
2026-06-04T05:36:28.6655483Z         "doc",
2026-06-04T05:36:28.6655886Z         "impl",
2026-06-04T05:36:28.6656295Z         "unit"
2026-06-04T05:36:28.6656688Z       ],
2026-06-04T05:36:28.6657116Z       "stages": {
2026-06-04T05:36:28.6657527Z         "doc": {
2026-06-04T05:36:28.6657988Z           "complete": true,
2026-06-04T05:36:28.6658440Z           "evidence": [
2026-06-04T05:36:28.6658836Z             {
2026-06-04T05:36:28.6659374Z               "path": "docs/MANIFEST.md",
2026-06-04T05:36:28.6659800Z               "line": 19
2026-06-04T05:36:28.6660208Z             }
2026-06-04T05:36:28.6660602Z           ]
2026-06-04T05:36:28.6661005Z         },
2026-06-04T05:36:28.6661423Z         "impl": {
2026-06-04T05:36:28.6661872Z           "complete": true,
2026-06-04T05:36:28.6662310Z           "evidence": [
2026-06-04T05:36:28.6662712Z             {
2026-06-04T05:36:28.6663364Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6663797Z               "line": 18
2026-06-04T05:36:28.6664201Z             }
2026-06-04T05:36:28.6664608Z           ]
2026-06-04T05:36:28.6665004Z         },
2026-06-04T05:36:28.6665417Z         "int": {
2026-06-04T05:36:28.6665883Z           "complete": false,
2026-06-04T05:36:28.6666393Z           "evidence": []
2026-06-04T05:36:28.6666798Z         },
2026-06-04T05:36:28.6667226Z         "unit": {
2026-06-04T05:36:28.6667686Z           "complete": true,
2026-06-04T05:36:28.6668115Z           "evidence": [
2026-06-04T05:36:28.6668519Z             {
2026-06-04T05:36:28.6669215Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6669667Z               "line": 695
2026-06-04T05:36:28.6670070Z             },
2026-06-04T05:36:28.6670473Z             {
2026-06-04T05:36:28.6671120Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6671549Z               "line": 791
2026-06-04T05:36:28.6671964Z             },
2026-06-04T05:36:28.6672360Z             {
2026-06-04T05:36:28.6673014Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6673450Z               "line": 803
2026-06-04T05:36:28.6677048Z             },
2026-06-04T05:36:28.6677560Z             {
2026-06-04T05:36:28.6678447Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6678914Z               "line": 811
2026-06-04T05:36:28.6679506Z             },
2026-06-04T05:36:28.6679923Z             {
2026-06-04T05:36:28.6680571Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6681019Z               "line": 828
2026-06-04T05:36:28.6681433Z             },
2026-06-04T05:36:28.6681833Z             {
2026-06-04T05:36:28.6682493Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6682930Z               "line": 842
2026-06-04T05:36:28.6683334Z             },
2026-06-04T05:36:28.6683745Z             {
2026-06-04T05:36:28.6684393Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6684828Z               "line": 857
2026-06-04T05:36:28.6685235Z             },
2026-06-04T05:36:28.6685640Z             {
2026-06-04T05:36:28.6686365Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6686827Z               "line": 872
2026-06-04T05:36:28.6687237Z             },
2026-06-04T05:36:28.6687638Z             {
2026-06-04T05:36:28.6688304Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6688743Z               "line": 887
2026-06-04T05:36:28.6689152Z             },
2026-06-04T05:36:28.6689603Z             {
2026-06-04T05:36:28.6690262Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.6690698Z               "line": 898
2026-06-04T05:36:28.6691096Z             }
2026-06-04T05:36:28.6691502Z           ]
2026-06-04T05:36:28.6691897Z         }
2026-06-04T05:36:28.6692293Z       }
2026-06-04T05:36:28.6692677Z     },
2026-06-04T05:36:28.6693077Z     {
2026-06-04T05:36:28.6693548Z       "id": "REQ-MIGRATE-1",
2026-06-04T05:36:28.6694486Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T05:36:28.6694958Z       "requiredStages": [],
2026-06-04T05:36:28.6695371Z       "stages": {
2026-06-04T05:36:28.6695787Z         "doc": {
2026-06-04T05:36:28.6696251Z           "complete": false,
2026-06-04T05:36:28.6696698Z           "evidence": []
2026-06-04T05:36:28.6697113Z         },
2026-06-04T05:36:28.6697527Z         "impl": {
2026-06-04T05:36:28.6697986Z           "complete": false,
2026-06-04T05:36:28.6698423Z           "evidence": []
2026-06-04T05:36:28.6698828Z         },
2026-06-04T05:36:28.6699330Z         "int": {
2026-06-04T05:36:28.6699809Z           "complete": false,
2026-06-04T05:36:28.6700256Z           "evidence": []
2026-06-04T05:36:28.6700648Z         },
2026-06-04T05:36:28.6701064Z         "unit": {
2026-06-04T05:36:28.6701516Z           "complete": false,
2026-06-04T05:36:28.6701962Z           "evidence": []
2026-06-04T05:36:28.6702355Z         }
2026-06-04T05:36:28.6702754Z       }
2026-06-04T05:36:28.6703148Z     },
2026-06-04T05:36:28.6703540Z     {
2026-06-04T05:36:28.6703996Z       "id": "REQ-MSG-1",
2026-06-04T05:36:28.6706964Z       "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-04T05:36:28.6707439Z       "requiredStages": [
2026-06-04T05:36:28.6707858Z         "impl",
2026-06-04T05:36:28.6708273Z         "unit",
2026-06-04T05:36:28.6708680Z         "int"
2026-06-04T05:36:28.6709074Z       ],
2026-06-04T05:36:28.6709535Z       "stages": {
2026-06-04T05:36:28.6709938Z         "doc": {
2026-06-04T05:36:28.6710397Z           "complete": false,
2026-06-04T05:36:28.6710829Z           "evidence": []
2026-06-04T05:36:28.6711230Z         },
2026-06-04T05:36:28.6711642Z         "impl": {
2026-06-04T05:36:28.6712088Z           "complete": true,
2026-06-04T05:36:28.6712525Z           "evidence": [
2026-06-04T05:36:28.6712932Z             {
2026-06-04T05:36:28.6713529Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6713952Z               "line": 28
2026-06-04T05:36:28.6714362Z             },
2026-06-04T05:36:28.6714770Z             {
2026-06-04T05:36:28.6715601Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6716060Z               "line": 94
2026-06-04T05:36:28.6716584Z             },
2026-06-04T05:36:28.6716987Z             {
2026-06-04T05:36:28.6717573Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6718012Z               "line": 127
2026-06-04T05:36:28.6718418Z             },
2026-06-04T05:36:28.6718813Z             {
2026-06-04T05:36:28.6719440Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6719877Z               "line": 149
2026-06-04T05:36:28.6720282Z             },
2026-06-04T05:36:28.6720680Z             {
2026-06-04T05:36:28.6721280Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6721724Z               "line": 174
2026-06-04T05:36:28.6722125Z             },
2026-06-04T05:36:28.6722530Z             {
2026-06-04T05:36:28.6723135Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T05:36:28.6723574Z               "line": 18
2026-06-04T05:36:28.6723984Z             },
2026-06-04T05:36:28.6724394Z             {
2026-06-04T05:36:28.6724970Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.6725406Z               "line": 13
2026-06-04T05:36:28.6725814Z             },
2026-06-04T05:36:28.6726214Z             {
2026-06-04T05:36:28.6726789Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.6727215Z               "line": 61
2026-06-04T05:36:28.6727632Z             },
2026-06-04T05:36:28.6728036Z             {
2026-06-04T05:36:28.6728627Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T05:36:28.6729055Z               "line": 10
2026-06-04T05:36:28.6729484Z             }
2026-06-04T05:36:28.6729890Z           ]
2026-06-04T05:36:28.6730278Z         },
2026-06-04T05:36:28.6730686Z         "int": {
2026-06-04T05:36:28.6731145Z           "complete": true,
2026-06-04T05:36:28.6731573Z           "evidence": [
2026-06-04T05:36:28.6731983Z             {
2026-06-04T05:36:28.6732719Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T05:36:28.6733148Z               "line": 9
2026-06-04T05:36:28.6733556Z             },
2026-06-04T05:36:28.6733958Z             {
2026-06-04T05:36:28.6734689Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T05:36:28.6735117Z               "line": 66
2026-06-04T05:36:28.6735526Z             },
2026-06-04T05:36:28.6735922Z             {
2026-06-04T05:36:28.6736643Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T05:36:28.6737076Z               "line": 116
2026-06-04T05:36:28.6737472Z             }
2026-06-04T05:36:28.6737872Z           ]
2026-06-04T05:36:28.6738261Z         },
2026-06-04T05:36:28.6738675Z         "unit": {
2026-06-04T05:36:28.6739119Z           "complete": true,
2026-06-04T05:36:28.6739616Z           "evidence": [
2026-06-04T05:36:28.6740053Z             {
2026-06-04T05:36:28.6740660Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6741113Z               "line": 203
2026-06-04T05:36:28.6741518Z             },
2026-06-04T05:36:28.6741918Z             {
2026-06-04T05:36:28.6742518Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6742955Z               "line": 232
2026-06-04T05:36:28.6743362Z             },
2026-06-04T05:36:28.6743758Z             {
2026-06-04T05:36:28.6744352Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6744848Z               "line": 277
2026-06-04T05:36:28.6745260Z             },
2026-06-04T05:36:28.6745656Z             {
2026-06-04T05:36:28.6746263Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6746699Z               "line": 300
2026-06-04T05:36:28.6747108Z             },
2026-06-04T05:36:28.6747515Z             {
2026-06-04T05:36:28.6748107Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T05:36:28.6748543Z               "line": 322
2026-06-04T05:36:28.6748938Z             },
2026-06-04T05:36:28.6749384Z             {
2026-06-04T05:36:28.6750138Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T05:36:28.6750597Z               "line": 203
2026-06-04T05:36:28.6751129Z             },
2026-06-04T05:36:28.6751528Z             {
2026-06-04T05:36:28.6752135Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T05:36:28.6752564Z               "line": 233
2026-06-04T05:36:28.6752975Z             },
2026-06-04T05:36:28.6753384Z             {
2026-06-04T05:36:28.6753977Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T05:36:28.6754419Z               "line": 247
2026-06-04T05:36:28.6754820Z             },
2026-06-04T05:36:28.6758219Z             {
2026-06-04T05:36:28.6758928Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T05:36:28.6759463Z               "line": 259
2026-06-04T05:36:28.6759878Z             },
2026-06-04T05:36:28.6760276Z             {
2026-06-04T05:36:28.6760847Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.6761280Z               "line": 158
2026-06-04T05:36:28.6761719Z             },
2026-06-04T05:36:28.6762127Z             {
2026-06-04T05:36:28.6762709Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T05:36:28.6763168Z               "line": 235
2026-06-04T05:36:28.6763572Z             },
2026-06-04T05:36:28.6763983Z             {
2026-06-04T05:36:28.6764548Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T05:36:28.6764983Z               "line": 68
2026-06-04T05:36:28.6765382Z             },
2026-06-04T05:36:28.6765789Z             {
2026-06-04T05:36:28.6766359Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T05:36:28.6766788Z               "line": 74
2026-06-04T05:36:28.6767198Z             },
2026-06-04T05:36:28.6767601Z             {
2026-06-04T05:36:28.6768171Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T05:36:28.6768603Z               "line": 80
2026-06-04T05:36:28.6769002Z             },
2026-06-04T05:36:28.6769442Z             {
2026-06-04T05:36:28.6770027Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T05:36:28.6770464Z               "line": 99
2026-06-04T05:36:28.6770863Z             }
2026-06-04T05:36:28.6771279Z           ]
2026-06-04T05:36:28.6771684Z         }
2026-06-04T05:36:28.6772083Z       }
2026-06-04T05:36:28.6772480Z     },
2026-06-04T05:36:28.6772862Z     {
2026-06-04T05:36:28.6773306Z       "id": "REQ-MSG-2",
2026-06-04T05:36:28.6774906Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T05:36:28.6775379Z       "requiredStages": [
2026-06-04T05:36:28.6775794Z         "impl",
2026-06-04T05:36:28.6776198Z         "unit"
2026-06-04T05:36:28.6776597Z       ],
2026-06-04T05:36:28.6777011Z       "stages": {
2026-06-04T05:36:28.6777417Z         "doc": {
2026-06-04T05:36:28.6777876Z           "complete": false,
2026-06-04T05:36:28.6778325Z           "evidence": []
2026-06-04T05:36:28.6778730Z         },
2026-06-04T05:36:28.6779140Z         "impl": {
2026-06-04T05:36:28.6779652Z           "complete": true,
2026-06-04T05:36:28.6780086Z           "evidence": [
2026-06-04T05:36:28.6780503Z             {
2026-06-04T05:36:28.6781042Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6781478Z               "line": 11
2026-06-04T05:36:28.6781880Z             },
2026-06-04T05:36:28.6782273Z             {
2026-06-04T05:36:28.6782817Z               "path": "crates/spt/src/main.rs",
2026-06-04T05:36:28.6783235Z               "line": 8
2026-06-04T05:36:28.6783639Z             }
2026-06-04T05:36:28.6784036Z           ]
2026-06-04T05:36:28.6784433Z         },
2026-06-04T05:36:28.6784832Z         "int": {
2026-06-04T05:36:28.6785300Z           "complete": false,
2026-06-04T05:36:28.6785736Z           "evidence": []
2026-06-04T05:36:28.6786125Z         },
2026-06-04T05:36:28.6786538Z         "unit": {
2026-06-04T05:36:28.6786984Z           "complete": true,
2026-06-04T05:36:28.6787419Z           "evidence": [
2026-06-04T05:36:28.6787812Z             {
2026-06-04T05:36:28.6788561Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6789026Z               "line": 806
2026-06-04T05:36:28.6789461Z             },
2026-06-04T05:36:28.6790083Z             {
2026-06-04T05:36:28.6790613Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6791060Z               "line": 870
2026-06-04T05:36:28.6791468Z             },
2026-06-04T05:36:28.6791865Z             {
2026-06-04T05:36:28.6792396Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6792820Z               "line": 879
2026-06-04T05:36:28.6793229Z             },
2026-06-04T05:36:28.6793626Z             {
2026-06-04T05:36:28.6794160Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.6794600Z               "line": 891
2026-06-04T05:36:28.6794998Z             }
2026-06-04T05:36:28.6795401Z           ]
2026-06-04T05:36:28.6795793Z         }
2026-06-04T05:36:28.6796191Z       }
2026-06-04T05:36:28.6796585Z     },
2026-06-04T05:36:28.6796976Z     {
2026-06-04T05:36:28.6797419Z       "id": "REQ-MSG-3",
2026-06-04T05:36:28.6799876Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T05:36:28.6800361Z       "requiredStages": [
2026-06-04T05:36:28.6800769Z         "impl",
2026-06-04T05:36:28.6801182Z         "unit",
2026-06-04T05:36:28.6801581Z         "int"
2026-06-04T05:36:28.6801989Z       ],
2026-06-04T05:36:28.6802411Z       "stages": {
2026-06-04T05:36:28.6802814Z         "doc": {
2026-06-04T05:36:28.6803275Z           "complete": false,
2026-06-04T05:36:28.6803710Z           "evidence": []
2026-06-04T05:36:28.6804115Z         },
2026-06-04T05:36:28.6804525Z         "impl": {
2026-06-04T05:36:28.6804975Z           "complete": true,
2026-06-04T05:36:28.6805403Z           "evidence": [
2026-06-04T05:36:28.6805798Z             {
2026-06-04T05:36:28.6806397Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T05:36:28.6806820Z               "line": 19
2026-06-04T05:36:28.6807232Z             },
2026-06-04T05:36:28.6807624Z             {
2026-06-04T05:36:28.6808197Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.6808638Z               "line": 21
2026-06-04T05:36:28.6809034Z             },
2026-06-04T05:36:28.6809472Z             {
2026-06-04T05:36:28.6810046Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.6810478Z               "line": 48
2026-06-04T05:36:28.6810877Z             },
2026-06-04T05:36:28.6811276Z             {
2026-06-04T05:36:28.6811855Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.6812289Z               "line": 106
2026-06-04T05:36:28.6812693Z             }
2026-06-04T05:36:28.6813091Z           ]
2026-06-04T05:36:28.6813496Z         },
2026-06-04T05:36:28.6813898Z         "int": {
2026-06-04T05:36:28.6814353Z           "complete": true,
2026-06-04T05:36:28.6814794Z           "evidence": [
2026-06-04T05:36:28.6815187Z             {
2026-06-04T05:36:28.6815926Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T05:36:28.6816353Z               "line": 10
2026-06-04T05:36:28.6816767Z             },
2026-06-04T05:36:28.6817158Z             {
2026-06-04T05:36:28.6817883Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T05:36:28.6818315Z               "line": 66
2026-06-04T05:36:28.6818713Z             }
2026-06-04T05:36:28.6819115Z           ]
2026-06-04T05:36:28.6819535Z         },
2026-06-04T05:36:28.6819949Z         "unit": {
2026-06-04T05:36:28.6820399Z           "complete": true,
2026-06-04T05:36:28.6820837Z           "evidence": [
2026-06-04T05:36:28.6821243Z             {
2026-06-04T05:36:28.6821818Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.6822258Z               "line": 160
2026-06-04T05:36:28.6822661Z             },
2026-06-04T05:36:28.6823065Z             {
2026-06-04T05:36:28.6823651Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.6824109Z               "line": 179
2026-06-04T05:36:28.6824678Z             },
2026-06-04T05:36:28.6825108Z             {
2026-06-04T05:36:28.6825708Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T05:36:28.6826304Z               "line": 198
2026-06-04T05:36:28.6826729Z             }
2026-06-04T05:36:28.6827141Z           ]
2026-06-04T05:36:28.6827560Z         }
2026-06-04T05:36:28.6827981Z       }
2026-06-04T05:36:28.6828386Z     },
2026-06-04T05:36:28.6828798Z     {
2026-06-04T05:36:28.6829283Z       "id": "REQ-NET-1",
2026-06-04T05:36:28.6830336Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T05:36:28.6830812Z       "requiredStages": [
2026-06-04T05:36:28.6831237Z         "impl",
2026-06-04T05:36:28.6831656Z         "unit"
2026-06-04T05:36:28.6832066Z       ],
2026-06-04T05:36:28.6832498Z       "stages": {
2026-06-04T05:36:28.6832919Z         "doc": {
2026-06-04T05:36:28.6833403Z           "complete": false,
2026-06-04T05:36:28.6833858Z           "evidence": []
2026-06-04T05:36:28.6834290Z         },
2026-06-04T05:36:28.6837584Z         "impl": {
2026-06-04T05:36:28.6838129Z           "complete": true,
2026-06-04T05:36:28.6838614Z           "evidence": [
2026-06-04T05:36:28.6839017Z             {
2026-06-04T05:36:28.6839696Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T05:36:28.6840131Z               "line": 69
2026-06-04T05:36:28.6840540Z             },
2026-06-04T05:36:28.6840946Z             {
2026-06-04T05:36:28.6841592Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6842026Z               "line": 65
2026-06-04T05:36:28.6842429Z             },
2026-06-04T05:36:28.6842836Z             {
2026-06-04T05:36:28.6843481Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6843926Z               "line": 122
2026-06-04T05:36:28.6844334Z             },
2026-06-04T05:36:28.6844732Z             {
2026-06-04T05:36:28.6845380Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6845822Z               "line": 138
2026-06-04T05:36:28.6846229Z             },
2026-06-04T05:36:28.6846621Z             {
2026-06-04T05:36:28.6847282Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6847721Z               "line": 153
2026-06-04T05:36:28.6848126Z             },
2026-06-04T05:36:28.6848525Z             {
2026-06-04T05:36:28.6849192Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6849645Z               "line": 207
2026-06-04T05:36:28.6850047Z             },
2026-06-04T05:36:28.6850449Z             {
2026-06-04T05:36:28.6851093Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6851525Z               "line": 242
2026-06-04T05:36:28.6851935Z             },
2026-06-04T05:36:28.6852329Z             {
2026-06-04T05:36:28.6852973Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6853411Z               "line": 248
2026-06-04T05:36:28.6853809Z             },
2026-06-04T05:36:28.6854224Z             {
2026-06-04T05:36:28.6854868Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6855321Z               "line": 254
2026-06-04T05:36:28.6855719Z             },
2026-06-04T05:36:28.6856122Z             {
2026-06-04T05:36:28.6856760Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6857188Z               "line": 270
2026-06-04T05:36:28.6857604Z             },
2026-06-04T05:36:28.6858002Z             {
2026-06-04T05:36:28.6858630Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T05:36:28.6859056Z               "line": 35
2026-06-04T05:36:28.6859501Z             },
2026-06-04T05:36:28.6859917Z             {
2026-06-04T05:36:28.6860538Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T05:36:28.6860976Z               "line": 82
2026-06-04T05:36:28.6861371Z             },
2026-06-04T05:36:28.6861776Z             {
2026-06-04T05:36:28.6862371Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.6863071Z               "line": 129
2026-06-04T05:36:28.6863514Z             }
2026-06-04T05:36:28.6863913Z           ]
2026-06-04T05:36:28.6864448Z         },
2026-06-04T05:36:28.6864859Z         "int": {
2026-06-04T05:36:28.6865412Z           "complete": false,
2026-06-04T05:36:28.6865845Z           "evidence": []
2026-06-04T05:36:28.6866244Z         },
2026-06-04T05:36:28.6866660Z         "unit": {
2026-06-04T05:36:28.6867108Z           "complete": true,
2026-06-04T05:36:28.6867543Z           "evidence": [
2026-06-04T05:36:28.6867937Z             {
2026-06-04T05:36:28.6868582Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T05:36:28.6869014Z               "line": 142
2026-06-04T05:36:28.6869460Z             },
2026-06-04T05:36:28.6869864Z             {
2026-06-04T05:36:28.6870504Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6870943Z               "line": 331
2026-06-04T05:36:28.6871341Z             },
2026-06-04T05:36:28.6871748Z             {
2026-06-04T05:36:28.6872394Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6872858Z               "line": 345
2026-06-04T05:36:28.6873641Z             },
2026-06-04T05:36:28.6874086Z             {
2026-06-04T05:36:28.6874756Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6875189Z               "line": 364
2026-06-04T05:36:28.6875600Z             },
2026-06-04T05:36:28.6875997Z             {
2026-06-04T05:36:28.6876619Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T05:36:28.6877106Z               "line": 106
2026-06-04T05:36:28.6877509Z             },
2026-06-04T05:36:28.6877913Z             {
2026-06-04T05:36:28.6878527Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T05:36:28.6878963Z               "line": 148
2026-06-04T05:36:28.6879404Z             },
2026-06-04T05:36:28.6879825Z             {
2026-06-04T05:36:28.6880428Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T05:36:28.6880887Z               "line": 445
2026-06-04T05:36:28.6881304Z             }
2026-06-04T05:36:28.6881700Z           ]
2026-06-04T05:36:28.6882123Z         }
2026-06-04T05:36:28.6882524Z       }
2026-06-04T05:36:28.6882922Z     },
2026-06-04T05:36:28.6883319Z     {
2026-06-04T05:36:28.6883755Z       "id": "REQ-NET-2",
2026-06-04T05:36:28.6884751Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T05:36:28.6885208Z       "requiredStages": [
2026-06-04T05:36:28.6885623Z         "impl"
2026-06-04T05:36:28.6886020Z       ],
2026-06-04T05:36:28.6886443Z       "stages": {
2026-06-04T05:36:28.6886854Z         "doc": {
2026-06-04T05:36:28.6887307Z           "complete": false,
2026-06-04T05:36:28.6887750Z           "evidence": []
2026-06-04T05:36:28.6888144Z         },
2026-06-04T05:36:28.6888565Z         "impl": {
2026-06-04T05:36:28.6889024Z           "complete": true,
2026-06-04T05:36:28.6889496Z           "evidence": [
2026-06-04T05:36:28.6889900Z             {
2026-06-04T05:36:28.6890535Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.6890973Z               "line": 40
2026-06-04T05:36:28.6891387Z             },
2026-06-04T05:36:28.6891796Z             {
2026-06-04T05:36:28.6892442Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6892873Z               "line": 39
2026-06-04T05:36:28.6893283Z             },
2026-06-04T05:36:28.6893684Z             {
2026-06-04T05:36:28.6894341Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6894779Z               "line": 49
2026-06-04T05:36:28.6895300Z             },
2026-06-04T05:36:28.6895714Z             {
2026-06-04T05:36:28.6896365Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6896816Z               "line": 122
2026-06-04T05:36:28.6897224Z             },
2026-06-04T05:36:28.6897638Z             {
2026-06-04T05:36:28.6898282Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6898888Z               "line": 138
2026-06-04T05:36:28.6899363Z             },
2026-06-04T05:36:28.6899777Z             {
2026-06-04T05:36:28.6900569Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T05:36:28.6901015Z               "line": 153
2026-06-04T05:36:28.6901434Z             }
2026-06-04T05:36:28.6901841Z           ]
2026-06-04T05:36:28.6902258Z         },
2026-06-04T05:36:28.6902684Z         "int": {
2026-06-04T05:36:28.6903153Z           "complete": false,
2026-06-04T05:36:28.6903607Z           "evidence": []
2026-06-04T05:36:28.6904017Z         },
2026-06-04T05:36:28.6904443Z         "unit": {
2026-06-04T05:36:28.6904904Z           "complete": true,
2026-06-04T05:36:28.6905361Z           "evidence": [
2026-06-04T05:36:28.6905782Z             {
2026-06-04T05:36:28.6906449Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.6906903Z               "line": 229
2026-06-04T05:36:28.6907314Z             }
2026-06-04T05:36:28.6907736Z           ]
2026-06-04T05:36:28.6908160Z         }
2026-06-04T05:36:28.6908576Z       }
2026-06-04T05:36:28.6908985Z     },
2026-06-04T05:36:28.6909426Z     {
2026-06-04T05:36:28.6909896Z       "id": "REQ-NET-3",
2026-06-04T05:36:28.6910830Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T05:36:28.6911318Z       "requiredStages": [],
2026-06-04T05:36:28.6911745Z       "stages": {
2026-06-04T05:36:28.6912169Z         "doc": {
2026-06-04T05:36:28.6912636Z           "complete": false,
2026-06-04T05:36:28.6913087Z           "evidence": []
2026-06-04T05:36:28.6913505Z         },
2026-06-04T05:36:28.6913931Z         "impl": {
2026-06-04T05:36:28.6914404Z           "complete": false,
2026-06-04T05:36:28.6914856Z           "evidence": []
2026-06-04T05:36:28.6918239Z         },
2026-06-04T05:36:28.6918728Z         "int": {
2026-06-04T05:36:28.6919271Z           "complete": false,
2026-06-04T05:36:28.6919725Z           "evidence": []
2026-06-04T05:36:28.6920120Z         },
2026-06-04T05:36:28.6920570Z         "unit": {
2026-06-04T05:36:28.6921028Z           "complete": false,
2026-06-04T05:36:28.6921475Z           "evidence": []
2026-06-04T05:36:28.6921893Z         }
2026-06-04T05:36:28.6922285Z       }
2026-06-04T05:36:28.6922682Z     },
2026-06-04T05:36:28.6923073Z     {
2026-06-04T05:36:28.6923560Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T05:36:28.6924916Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T05:36:28.6925385Z       "requiredStages": [
2026-06-04T05:36:28.6925794Z         "impl",
2026-06-04T05:36:28.6926197Z         "unit"
2026-06-04T05:36:28.6926594Z       ],
2026-06-04T05:36:28.6927005Z       "stages": {
2026-06-04T05:36:28.6927418Z         "doc": {
2026-06-04T05:36:28.6927871Z           "complete": false,
2026-06-04T05:36:28.6928312Z           "evidence": []
2026-06-04T05:36:28.6928717Z         },
2026-06-04T05:36:28.6929125Z         "impl": {
2026-06-04T05:36:28.6929630Z           "complete": true,
2026-06-04T05:36:28.6930081Z           "evidence": [
2026-06-04T05:36:28.6930527Z             {
2026-06-04T05:36:28.6931211Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6931665Z               "line": 60
2026-06-04T05:36:28.6932076Z             },
2026-06-04T05:36:28.6932481Z             {
2026-06-04T05:36:28.6933133Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6933560Z               "line": 68
2026-06-04T05:36:28.6933971Z             },
2026-06-04T05:36:28.6934368Z             {
2026-06-04T05:36:28.6935008Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6935442Z               "line": 86
2026-06-04T05:36:28.6935847Z             },
2026-06-04T05:36:28.6936252Z             {
2026-06-04T05:36:28.6936878Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6937319Z               "line": 120
2026-06-04T05:36:28.6937717Z             },
2026-06-04T05:36:28.6938152Z             {
2026-06-04T05:36:28.6939499Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6940158Z               "line": 127
2026-06-04T05:36:28.6940646Z             },
2026-06-04T05:36:28.6941414Z             {
2026-06-04T05:36:28.6942081Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6942673Z               "line": 143
2026-06-04T05:36:28.6943128Z             },
2026-06-04T05:36:28.6943586Z             {
2026-06-04T05:36:28.6944229Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T05:36:28.6944685Z               "line": 16
2026-06-04T05:36:28.6945100Z             }
2026-06-04T05:36:28.6945518Z           ]
2026-06-04T05:36:28.6945928Z         },
2026-06-04T05:36:28.6946358Z         "int": {
2026-06-04T05:36:28.6946840Z           "complete": false,
2026-06-04T05:36:28.6947289Z           "evidence": []
2026-06-04T05:36:28.6947708Z         },
2026-06-04T05:36:28.6948142Z         "unit": {
2026-06-04T05:36:28.6948617Z           "complete": true,
2026-06-04T05:36:28.6949062Z           "evidence": [
2026-06-04T05:36:28.6949735Z             {
2026-06-04T05:36:28.6950403Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6950852Z               "line": 199
2026-06-04T05:36:28.6951263Z             },
2026-06-04T05:36:28.6951656Z             {
2026-06-04T05:36:28.6952297Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6952730Z               "line": 218
2026-06-04T05:36:28.6953145Z             },
2026-06-04T05:36:28.6953555Z             {
2026-06-04T05:36:28.6954190Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6954627Z               "line": 232
2026-06-04T05:36:28.6955026Z             },
2026-06-04T05:36:28.6955438Z             {
2026-06-04T05:36:28.6956063Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T05:36:28.6956573Z               "line": 248
2026-06-04T05:36:28.6956984Z             },
2026-06-04T05:36:28.6957380Z             {
2026-06-04T05:36:28.6958000Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T05:36:28.6958425Z               "line": 125
2026-06-04T05:36:28.6958837Z             },
2026-06-04T05:36:28.6959282Z             {
2026-06-04T05:36:28.6960259Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T05:36:28.6960702Z               "line": 141
2026-06-04T05:36:28.6961101Z             },
2026-06-04T05:36:28.6961505Z             {
2026-06-04T05:36:28.6962111Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T05:36:28.6962553Z               "line": 153
2026-06-04T05:36:28.6962964Z             }
2026-06-04T05:36:28.6963360Z           ]
2026-06-04T05:36:28.6963758Z         }
2026-06-04T05:36:28.6964159Z       }
2026-06-04T05:36:28.6964557Z     },
2026-06-04T05:36:28.6964948Z     {
2026-06-04T05:36:28.6965405Z       "id": "REQ-NOTIF-1",
2026-06-04T05:36:28.6967695Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T05:36:28.6968171Z       "requiredStages": [],
2026-06-04T05:36:28.6968600Z       "stages": {
2026-06-04T05:36:28.6969007Z         "doc": {
2026-06-04T05:36:28.6969529Z           "complete": false,
2026-06-04T05:36:28.6969978Z           "evidence": []
2026-06-04T05:36:28.6970384Z         },
2026-06-04T05:36:28.6970804Z         "impl": {
2026-06-04T05:36:28.6971256Z           "complete": false,
2026-06-04T05:36:28.6971700Z           "evidence": []
2026-06-04T05:36:28.6972098Z         },
2026-06-04T05:36:28.6972517Z         "int": {
2026-06-04T05:36:28.6972969Z           "complete": false,
2026-06-04T05:36:28.6973412Z           "evidence": []
2026-06-04T05:36:28.6973815Z         },
2026-06-04T05:36:28.6974224Z         "unit": {
2026-06-04T05:36:28.6974690Z           "complete": false,
2026-06-04T05:36:28.6975118Z           "evidence": []
2026-06-04T05:36:28.6975515Z         }
2026-06-04T05:36:28.6975911Z       }
2026-06-04T05:36:28.6976310Z     },
2026-06-04T05:36:28.6976700Z     {
2026-06-04T05:36:28.6977159Z       "id": "REQ-NOTIF-2",
2026-06-04T05:36:28.6978931Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T05:36:28.6979594Z       "requiredStages": [],
2026-06-04T05:36:28.6980023Z       "stages": {
2026-06-04T05:36:28.6980428Z         "doc": {
2026-06-04T05:36:28.6980884Z           "complete": false,
2026-06-04T05:36:28.6981319Z           "evidence": []
2026-06-04T05:36:28.6981714Z         },
2026-06-04T05:36:28.6982126Z         "impl": {
2026-06-04T05:36:28.6982576Z           "complete": false,
2026-06-04T05:36:28.6983018Z           "evidence": []
2026-06-04T05:36:28.6983412Z         },
2026-06-04T05:36:28.6983831Z         "int": {
2026-06-04T05:36:28.6984286Z           "complete": false,
2026-06-04T05:36:28.6984723Z           "evidence": []
2026-06-04T05:36:28.6985132Z         },
2026-06-04T05:36:28.6985539Z         "unit": {
2026-06-04T05:36:28.6986001Z           "complete": false,
2026-06-04T05:36:28.6986440Z           "evidence": []
2026-06-04T05:36:28.6986861Z         }
2026-06-04T05:36:28.6987261Z       }
2026-06-04T05:36:28.6987648Z     },
2026-06-04T05:36:28.6988054Z     {
2026-06-04T05:36:28.6988525Z       "id": "REQ-PAIR-1",
2026-06-04T05:36:28.6989078Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T05:36:28.6989576Z       "requiredStages": [
2026-06-04T05:36:28.6990005Z         "impl",
2026-06-04T05:36:28.6990423Z         "unit"
2026-06-04T05:36:28.6990826Z       ],
2026-06-04T05:36:28.6991255Z       "stages": {
2026-06-04T05:36:28.6991655Z         "doc": {
2026-06-04T05:36:28.6992126Z           "complete": false,
2026-06-04T05:36:28.6992566Z           "evidence": []
2026-06-04T05:36:28.6992972Z         },
2026-06-04T05:36:28.6993376Z         "impl": {
2026-06-04T05:36:28.6993837Z           "complete": true,
2026-06-04T05:36:28.6994272Z           "evidence": [
2026-06-04T05:36:28.6994669Z             {
2026-06-04T05:36:28.6995385Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.6995820Z               "line": 27
2026-06-04T05:36:28.6996310Z             },
2026-06-04T05:36:28.6996707Z             {
2026-06-04T05:36:28.6997415Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.7001814Z               "line": 88
2026-06-04T05:36:28.7002308Z             },
2026-06-04T05:36:28.7002722Z             {
2026-06-04T05:36:28.7003446Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.7003891Z               "line": 110
2026-06-04T05:36:28.7004307Z             },
2026-06-04T05:36:28.7004708Z             {
2026-06-04T05:36:28.7005413Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.7005847Z               "line": 153
2026-06-04T05:36:28.7006260Z             },
2026-06-04T05:36:28.7006661Z             {
2026-06-04T05:36:28.7007381Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.7007823Z               "line": 182
2026-06-04T05:36:28.7008233Z             },
2026-06-04T05:36:28.7008683Z             {
2026-06-04T05:36:28.7009447Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7009901Z               "line": 29
2026-06-04T05:36:28.7010305Z             },
2026-06-04T05:36:28.7010715Z             {
2026-06-04T05:36:28.7011511Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T05:36:28.7011941Z               "line": 31
2026-06-04T05:36:28.7012346Z             },
2026-06-04T05:36:28.7012749Z             {
2026-06-04T05:36:28.7013444Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7013871Z               "line": 40
2026-06-04T05:36:28.7014286Z             },
2026-06-04T05:36:28.7014696Z             {
2026-06-04T05:36:28.7015381Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7015824Z               "line": 131
2026-06-04T05:36:28.7016230Z             },
2026-06-04T05:36:28.7016640Z             {
2026-06-04T05:36:28.7017556Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7018014Z               "line": 306
2026-06-04T05:36:28.7018426Z             }
2026-06-04T05:36:28.7018956Z           ]
2026-06-04T05:36:28.7019411Z         },
2026-06-04T05:36:28.7019814Z         "int": {
2026-06-04T05:36:28.7020279Z           "complete": false,
2026-06-04T05:36:28.7020715Z           "evidence": []
2026-06-04T05:36:28.7021118Z         },
2026-06-04T05:36:28.7021541Z         "unit": {
2026-06-04T05:36:28.7021995Z           "complete": true,
2026-06-04T05:36:28.7022441Z           "evidence": [
2026-06-04T05:36:28.7022840Z             {
2026-06-04T05:36:28.7023559Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.7023990Z               "line": 236
2026-06-04T05:36:28.7024407Z             },
2026-06-04T05:36:28.7024818Z             {
2026-06-04T05:36:28.7025517Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T05:36:28.7025957Z               "line": 349
2026-06-04T05:36:28.7026395Z             },
2026-06-04T05:36:28.7026821Z             {
2026-06-04T05:36:28.7027516Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7027961Z               "line": 194
2026-06-04T05:36:28.7028367Z             },
2026-06-04T05:36:28.7028776Z             {
2026-06-04T05:36:28.7029501Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7029935Z               "line": 216
2026-06-04T05:36:28.7030345Z             },
2026-06-04T05:36:28.7030749Z             {
2026-06-04T05:36:28.7031431Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7031870Z               "line": 230
2026-06-04T05:36:28.7032273Z             },
2026-06-04T05:36:28.7032680Z             {
2026-06-04T05:36:28.7033364Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7033807Z               "line": 242
2026-06-04T05:36:28.7034217Z             },
2026-06-04T05:36:28.7034609Z             {
2026-06-04T05:36:28.7035310Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7035747Z               "line": 256
2026-06-04T05:36:28.7036174Z             },
2026-06-04T05:36:28.7036568Z             {
2026-06-04T05:36:28.7037252Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7037695Z               "line": 270
2026-06-04T05:36:28.7038096Z             },
2026-06-04T05:36:28.7038505Z             {
2026-06-04T05:36:28.7039225Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7039672Z               "line": 277
2026-06-04T05:36:28.7040079Z             },
2026-06-04T05:36:28.7040485Z             {
2026-06-04T05:36:28.7041168Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T05:36:28.7041602Z               "line": 295
2026-06-04T05:36:28.7042011Z             },
2026-06-04T05:36:28.7042407Z             {
2026-06-04T05:36:28.7043088Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7043525Z               "line": 696
2026-06-04T05:36:28.7043935Z             },
2026-06-04T05:36:28.7044347Z             {
2026-06-04T05:36:28.7045031Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7045475Z               "line": 757
2026-06-04T05:36:28.7045876Z             },
2026-06-04T05:36:28.7046284Z             {
2026-06-04T05:36:28.7046972Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7047410Z               "line": 814
2026-06-04T05:36:28.7047817Z             },
2026-06-04T05:36:28.7048213Z             {
2026-06-04T05:36:28.7048901Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7049362Z               "line": 868
2026-06-04T05:36:28.7049771Z             },
2026-06-04T05:36:28.7050184Z             {
2026-06-04T05:36:28.7050864Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7051300Z               "line": 920
2026-06-04T05:36:28.7051700Z             },
2026-06-04T05:36:28.7052259Z             {
2026-06-04T05:36:28.7052961Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7053539Z               "line": 1084
2026-06-04T05:36:28.7053948Z             }
2026-06-04T05:36:28.7054350Z           ]
2026-06-04T05:36:28.7054753Z         }
2026-06-04T05:36:28.7055145Z       }
2026-06-04T05:36:28.7055548Z     },
2026-06-04T05:36:28.7055937Z     {
2026-06-04T05:36:28.7056397Z       "id": "REQ-PAIR-2",
2026-06-04T05:36:28.7057147Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T05:36:28.7057607Z       "requiredStages": [
2026-06-04T05:36:28.7058022Z         "impl",
2026-06-04T05:36:28.7058435Z         "unit"
2026-06-04T05:36:28.7058833Z       ],
2026-06-04T05:36:28.7059286Z       "stages": {
2026-06-04T05:36:28.7059703Z         "doc": {
2026-06-04T05:36:28.7060171Z           "complete": false,
2026-06-04T05:36:28.7060606Z           "evidence": []
2026-06-04T05:36:28.7061009Z         },
2026-06-04T05:36:28.7061432Z         "impl": {
2026-06-04T05:36:28.7061889Z           "complete": true,
2026-06-04T05:36:28.7062312Z           "evidence": [
2026-06-04T05:36:28.7062725Z             {
2026-06-04T05:36:28.7063328Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7063755Z               "line": 42
2026-06-04T05:36:28.7064161Z             },
2026-06-04T05:36:28.7064558Z             {
2026-06-04T05:36:28.7065152Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7065583Z               "line": 151
2026-06-04T05:36:28.7066004Z             },
2026-06-04T05:36:28.7066407Z             {
2026-06-04T05:36:28.7066990Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7067428Z               "line": 171
2026-06-04T05:36:28.7067833Z             },
2026-06-04T05:36:28.7068239Z             {
2026-06-04T05:36:28.7068864Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7069412Z               "line": 209
2026-06-04T05:36:28.7069842Z             },
2026-06-04T05:36:28.7070263Z             {
2026-06-04T05:36:28.7070866Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7071309Z               "line": 232
2026-06-04T05:36:28.7071718Z             }
2026-06-04T05:36:28.7072116Z           ]
2026-06-04T05:36:28.7072522Z         },
2026-06-04T05:36:28.7072933Z         "int": {
2026-06-04T05:36:28.7073383Z           "complete": false,
2026-06-04T05:36:28.7073827Z           "evidence": []
2026-06-04T05:36:28.7074219Z         },
2026-06-04T05:36:28.7074640Z         "unit": {
2026-06-04T05:36:28.7075084Z           "complete": true,
2026-06-04T05:36:28.7075521Z           "evidence": [
2026-06-04T05:36:28.7075930Z             {
2026-06-04T05:36:28.7076521Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7076962Z               "line": 253
2026-06-04T05:36:28.7077369Z             },
2026-06-04T05:36:28.7077778Z             {
2026-06-04T05:36:28.7078370Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7078822Z               "line": 272
2026-06-04T05:36:28.7082366Z             },
2026-06-04T05:36:28.7082848Z             {
2026-06-04T05:36:28.7083510Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7083949Z               "line": 284
2026-06-04T05:36:28.7084355Z             },
2026-06-04T05:36:28.7084752Z             {
2026-06-04T05:36:28.7085347Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7085791Z               "line": 303
2026-06-04T05:36:28.7086192Z             },
2026-06-04T05:36:28.7086600Z             {
2026-06-04T05:36:28.7087195Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7087637Z               "line": 319
2026-06-04T05:36:28.7088035Z             },
2026-06-04T05:36:28.7088443Z             {
2026-06-04T05:36:28.7089042Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7089562Z               "line": 331
2026-06-04T05:36:28.7089975Z             },
2026-06-04T05:36:28.7090630Z             {
2026-06-04T05:36:28.7091261Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7091699Z               "line": 343
2026-06-04T05:36:28.7092245Z             },
2026-06-04T05:36:28.7092646Z             {
2026-06-04T05:36:28.7093243Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7093682Z               "line": 356
2026-06-04T05:36:28.7094086Z             },
2026-06-04T05:36:28.7094499Z             {
2026-06-04T05:36:28.7095094Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T05:36:28.7095522Z               "line": 370
2026-06-04T05:36:28.7095927Z             }
2026-06-04T05:36:28.7096327Z           ]
2026-06-04T05:36:28.7096729Z         }
2026-06-04T05:36:28.7097119Z       }
2026-06-04T05:36:28.7097517Z     },
2026-06-04T05:36:28.7097907Z     {
2026-06-04T05:36:28.7098368Z       "id": "REQ-PAIR-3",
2026-06-04T05:36:28.7099211Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T05:36:28.7099689Z       "requiredStages": [
2026-06-04T05:36:28.7100109Z         "impl",
2026-06-04T05:36:28.7100513Z         "unit"
2026-06-04T05:36:28.7100926Z       ],
2026-06-04T05:36:28.7101346Z       "stages": {
2026-06-04T05:36:28.7101766Z         "doc": {
2026-06-04T05:36:28.7102227Z           "complete": false,
2026-06-04T05:36:28.7102661Z           "evidence": []
2026-06-04T05:36:28.7103067Z         },
2026-06-04T05:36:28.7103482Z         "impl": {
2026-06-04T05:36:28.7103947Z           "complete": true,
2026-06-04T05:36:28.7104381Z           "evidence": [
2026-06-04T05:36:28.7104788Z             {
2026-06-04T05:36:28.7105322Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7105753Z               "line": 499
2026-06-04T05:36:28.7106160Z             },
2026-06-04T05:36:28.7106560Z             {
2026-06-04T05:36:28.7107102Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7107552Z               "line": 535
2026-06-04T05:36:28.7107982Z             },
2026-06-04T05:36:28.7108384Z             {
2026-06-04T05:36:28.7108935Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7109430Z               "line": 595
2026-06-04T05:36:28.7109842Z             }
2026-06-04T05:36:28.7110245Z           ]
2026-06-04T05:36:28.7110639Z         },
2026-06-04T05:36:28.7111049Z         "int": {
2026-06-04T05:36:28.7111508Z           "complete": false,
2026-06-04T05:36:28.7111945Z           "evidence": []
2026-06-04T05:36:28.7112344Z         },
2026-06-04T05:36:28.7112747Z         "unit": {
2026-06-04T05:36:28.7113204Z           "complete": true,
2026-06-04T05:36:28.7113634Z           "evidence": [
2026-06-04T05:36:28.7114039Z             {
2026-06-04T05:36:28.7114584Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7115016Z               "line": 907
2026-06-04T05:36:28.7115418Z             },
2026-06-04T05:36:28.7115812Z             {
2026-06-04T05:36:28.7116354Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7116842Z               "line": 924
2026-06-04T05:36:28.7117253Z             },
2026-06-04T05:36:28.7117659Z             {
2026-06-04T05:36:28.7118192Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7118643Z               "line": 938
2026-06-04T05:36:28.7119042Z             },
2026-06-04T05:36:28.7119703Z             {
2026-06-04T05:36:28.7120259Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7120709Z               "line": 954
2026-06-04T05:36:28.7121126Z             },
2026-06-04T05:36:28.7121533Z             {
2026-06-04T05:36:28.7122095Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7122539Z               "line": 975
2026-06-04T05:36:28.7122962Z             },
2026-06-04T05:36:28.7123381Z             {
2026-06-04T05:36:28.7123927Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7124377Z               "line": 991
2026-06-04T05:36:28.7124789Z             },
2026-06-04T05:36:28.7125206Z             {
2026-06-04T05:36:28.7125743Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7126367Z               "line": 1004
2026-06-04T05:36:28.7126810Z             },
2026-06-04T05:36:28.7127219Z             {
2026-06-04T05:36:28.7127916Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7128365Z               "line": 1013
2026-06-04T05:36:28.7128790Z             }
2026-06-04T05:36:28.7129255Z           ]
2026-06-04T05:36:28.7129674Z         }
2026-06-04T05:36:28.7130090Z       }
2026-06-04T05:36:28.7130488Z     },
2026-06-04T05:36:28.7130896Z     {
2026-06-04T05:36:28.7131355Z       "id": "REQ-PAIR-4",
2026-06-04T05:36:28.7131969Z       "title": "Subnet naming on first pairing",
2026-06-04T05:36:28.7132443Z       "requiredStages": [
2026-06-04T05:36:28.7132867Z         "impl",
2026-06-04T05:36:28.7133291Z         "unit"
2026-06-04T05:36:28.7133702Z       ],
2026-06-04T05:36:28.7134145Z       "stages": {
2026-06-04T05:36:28.7134564Z         "doc": {
2026-06-04T05:36:28.7135039Z           "complete": false,
2026-06-04T05:36:28.7135493Z           "evidence": []
2026-06-04T05:36:28.7135925Z         },
2026-06-04T05:36:28.7136361Z         "impl": {
2026-06-04T05:36:28.7136825Z           "complete": true,
2026-06-04T05:36:28.7137287Z           "evidence": [
2026-06-04T05:36:28.7137702Z             {
2026-06-04T05:36:28.7138324Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T05:36:28.7138766Z               "line": 154
2026-06-04T05:36:28.7139226Z             }
2026-06-04T05:36:28.7139642Z           ]
2026-06-04T05:36:28.7140046Z         },
2026-06-04T05:36:28.7140464Z         "int": {
2026-06-04T05:36:28.7140934Z           "complete": false,
2026-06-04T05:36:28.7141392Z           "evidence": []
2026-06-04T05:36:28.7141797Z         },
2026-06-04T05:36:28.7142225Z         "unit": {
2026-06-04T05:36:28.7142687Z           "complete": true,
2026-06-04T05:36:28.7143134Z           "evidence": [
2026-06-04T05:36:28.7143553Z             {
2026-06-04T05:36:28.7144248Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7144714Z               "line": 972
2026-06-04T05:36:28.7145127Z             }
2026-06-04T05:36:28.7145546Z           ]
2026-06-04T05:36:28.7145961Z         }
2026-06-04T05:36:28.7146375Z       }
2026-06-04T05:36:28.7146784Z     },
2026-06-04T05:36:28.7147191Z     {
2026-06-04T05:36:28.7147666Z       "id": "REQ-PAIR-5",
2026-06-04T05:36:28.7149573Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T05:36:28.7150071Z       "requiredStages": [
2026-06-04T05:36:28.7150503Z         "impl",
2026-06-04T05:36:28.7150925Z         "unit"
2026-06-04T05:36:28.7151343Z       ],
2026-06-04T05:36:28.7151767Z       "stages": {
2026-06-04T05:36:28.7152187Z         "doc": {
2026-06-04T05:36:28.7152650Z           "complete": false,
2026-06-04T05:36:28.7153110Z           "evidence": []
2026-06-04T05:36:28.7153530Z         },
2026-06-04T05:36:28.7153951Z         "impl": {
2026-06-04T05:36:28.7154413Z           "complete": true,
2026-06-04T05:36:28.7154869Z           "evidence": [
2026-06-04T05:36:28.7155291Z             {
2026-06-04T05:36:28.7156082Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7156545Z               "line": 33
2026-06-04T05:36:28.7156970Z             },
2026-06-04T05:36:28.7157379Z             {
2026-06-04T05:36:28.7158183Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7161651Z               "line": 45
2026-06-04T05:36:28.7162149Z             },
2026-06-04T05:36:28.7162552Z             {
2026-06-04T05:36:28.7163352Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7163795Z               "line": 59
2026-06-04T05:36:28.7164198Z             },
2026-06-04T05:36:28.7164606Z             {
2026-06-04T05:36:28.7165286Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7165734Z               "line": 306
2026-06-04T05:36:28.7166137Z             }
2026-06-04T05:36:28.7166544Z           ]
2026-06-04T05:36:28.7167188Z         },
2026-06-04T05:36:28.7167627Z         "int": {
2026-06-04T05:36:28.7168099Z           "complete": false,
2026-06-04T05:36:28.7168685Z           "evidence": []
2026-06-04T05:36:28.7169083Z         },
2026-06-04T05:36:28.7169547Z         "unit": {
2026-06-04T05:36:28.7170004Z           "complete": true,
2026-06-04T05:36:28.7170437Z           "evidence": [
2026-06-04T05:36:28.7170836Z             {
2026-06-04T05:36:28.7171623Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7172045Z               "line": 72
2026-06-04T05:36:28.7172449Z             },
2026-06-04T05:36:28.7172845Z             {
2026-06-04T05:36:28.7173837Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7174403Z               "line": 82
2026-06-04T05:36:28.7174907Z             },
2026-06-04T05:36:28.7175502Z             {
2026-06-04T05:36:28.7176339Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7176873Z               "line": 92
2026-06-04T05:36:28.7177345Z             },
2026-06-04T05:36:28.7177761Z             {
2026-06-04T05:36:28.7178601Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7179062Z               "line": 102
2026-06-04T05:36:28.7179720Z             },
2026-06-04T05:36:28.7180306Z             {
2026-06-04T05:36:28.7181107Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T05:36:28.7181566Z               "line": 117
2026-06-04T05:36:28.7181989Z             },
2026-06-04T05:36:28.7182442Z             {
2026-06-04T05:36:28.7183173Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7183655Z               "line": 750
2026-06-04T05:36:28.7184095Z             },
2026-06-04T05:36:28.7184543Z             {
2026-06-04T05:36:28.7185347Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7185812Z               "line": 806
2026-06-04T05:36:28.7186235Z             },
2026-06-04T05:36:28.7186665Z             {
2026-06-04T05:36:28.7187421Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T05:36:28.7187900Z               "line": 1026
2026-06-04T05:36:28.7188355Z             }
2026-06-04T05:36:28.7188798Z           ]
2026-06-04T05:36:28.7189317Z         }
2026-06-04T05:36:28.7189764Z       }
2026-06-04T05:36:28.7190180Z     },
2026-06-04T05:36:28.7190628Z     {
2026-06-04T05:36:28.7191135Z       "id": "REQ-PAIR-6",
2026-06-04T05:36:28.7192997Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T05:36:28.7193596Z       "requiredStages": [
2026-06-04T05:36:28.7194085Z         "impl",
2026-06-04T05:36:28.7194562Z         "unit"
2026-06-04T05:36:28.7195018Z       ],
2026-06-04T05:36:28.7195624Z       "stages": {
2026-06-04T05:36:28.7196037Z         "doc": {
2026-06-04T05:36:28.7196512Z           "complete": false,
2026-06-04T05:36:28.7196967Z           "evidence": []
2026-06-04T05:36:28.7197396Z         },
2026-06-04T05:36:28.7197834Z         "impl": {
2026-06-04T05:36:28.7198698Z           "complete": true,
2026-06-04T05:36:28.7199231Z           "evidence": [
2026-06-04T05:36:28.7199641Z             {
2026-06-04T05:36:28.7200198Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7200645Z               "line": 535
2026-06-04T05:36:28.7201050Z             },
2026-06-04T05:36:28.7201465Z             {
2026-06-04T05:36:28.7201999Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7202445Z               "line": 595
2026-06-04T05:36:28.7202843Z             },
2026-06-04T05:36:28.7203260Z             {
2026-06-04T05:36:28.7203852Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T05:36:28.7204287Z               "line": 18
2026-06-04T05:36:28.7204702Z             },
2026-06-04T05:36:28.7205118Z             {
2026-06-04T05:36:28.7205820Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T05:36:28.7206254Z               "line": 49
2026-06-04T05:36:28.7207041Z             },
2026-06-04T05:36:28.7207498Z             {
2026-06-04T05:36:28.7208082Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T05:36:28.7208721Z               "line": 70
2026-06-04T05:36:28.7209122Z             }
2026-06-04T05:36:28.7209569Z           ]
2026-06-04T05:36:28.7209972Z         },
2026-06-04T05:36:28.7210398Z         "int": {
2026-06-04T05:36:28.7210867Z           "complete": false,
2026-06-04T05:36:28.7211306Z           "evidence": []
2026-06-04T05:36:28.7211710Z         },
2026-06-04T05:36:28.7212119Z         "unit": {
2026-06-04T05:36:28.7212583Z           "complete": true,
2026-06-04T05:36:28.7213022Z           "evidence": [
2026-06-04T05:36:28.7213442Z             {
2026-06-04T05:36:28.7213997Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7214430Z               "line": 1026
2026-06-04T05:36:28.7214847Z             },
2026-06-04T05:36:28.7215249Z             {
2026-06-04T05:36:28.7215796Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7216337Z               "line": 1043
2026-06-04T05:36:28.7216761Z             },
2026-06-04T05:36:28.7217184Z             {
2026-06-04T05:36:28.7217761Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T05:36:28.7218208Z               "line": 132
2026-06-04T05:36:28.7218613Z             },
2026-06-04T05:36:28.7219018Z             {
2026-06-04T05:36:28.7219633Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T05:36:28.7220081Z               "line": 141
2026-06-04T05:36:28.7220488Z             }
2026-06-04T05:36:28.7220886Z           ]
2026-06-04T05:36:28.7221301Z         }
2026-06-04T05:36:28.7221696Z       }
2026-06-04T05:36:28.7222090Z     },
2026-06-04T05:36:28.7222476Z     {
2026-06-04T05:36:28.7222934Z       "id": "REQ-PAIR-7",
2026-06-04T05:36:28.7223829Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T05:36:28.7224299Z       "requiredStages": [],
2026-06-04T05:36:28.7224724Z       "stages": {
2026-06-04T05:36:28.7225143Z         "doc": {
2026-06-04T05:36:28.7225609Z           "complete": false,
2026-06-04T05:36:28.7226048Z           "evidence": []
2026-06-04T05:36:28.7226465Z         },
2026-06-04T05:36:28.7226894Z         "impl": {
2026-06-04T05:36:28.7227355Z           "complete": false,
2026-06-04T05:36:28.7227798Z           "evidence": []
2026-06-04T05:36:28.7228193Z         },
2026-06-04T05:36:28.7228661Z         "int": {
2026-06-04T05:36:28.7229118Z           "complete": false,
2026-06-04T05:36:28.7229609Z           "evidence": []
2026-06-04T05:36:28.7230015Z         },
2026-06-04T05:36:28.7230425Z         "unit": {
2026-06-04T05:36:28.7230893Z           "complete": false,
2026-06-04T05:36:28.7231332Z           "evidence": []
2026-06-04T05:36:28.7231743Z         }
2026-06-04T05:36:28.7232133Z       }
2026-06-04T05:36:28.7232538Z     },
2026-06-04T05:36:28.7232940Z     {
2026-06-04T05:36:28.7233386Z       "id": "REQ-REACH-1",
2026-06-04T05:36:28.7234192Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T05:36:28.7234661Z       "requiredStages": [
2026-06-04T05:36:28.7235087Z         "impl",
2026-06-04T05:36:28.7235508Z         "unit"
2026-06-04T05:36:28.7235911Z       ],
2026-06-04T05:36:28.7236334Z       "stages": {
2026-06-04T05:36:28.7236756Z         "doc": {
2026-06-04T05:36:28.7237227Z           "complete": false,
2026-06-04T05:36:28.7237666Z           "evidence": []
2026-06-04T05:36:28.7243426Z         },
2026-06-04T05:36:28.7243951Z         "impl": {
2026-06-04T05:36:28.7244427Z           "complete": true,
2026-06-04T05:36:28.7244879Z           "evidence": [
2026-06-04T05:36:28.7245299Z             {
2026-06-04T05:36:28.7246426Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T05:36:28.7246932Z               "line": 122
2026-06-04T05:36:28.7247422Z             },
2026-06-04T05:36:28.7247886Z             {
2026-06-04T05:36:28.7248587Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.7249094Z               "line": 76
2026-06-04T05:36:28.7249999Z             },
2026-06-04T05:36:28.7250528Z             {
2026-06-04T05:36:28.7251359Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.7252045Z               "line": 209
2026-06-04T05:36:28.7252502Z             },
2026-06-04T05:36:28.7252952Z             {
2026-06-04T05:36:28.7253607Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.7254197Z               "line": 383
2026-06-04T05:36:28.7254645Z             },
2026-06-04T05:36:28.7255079Z             {
2026-06-04T05:36:28.7255725Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.7256195Z               "line": 475
2026-06-04T05:36:28.7256632Z             },
2026-06-04T05:36:28.7257064Z             {
2026-06-04T05:36:28.7257701Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T05:36:28.7258173Z               "line": 39
2026-06-04T05:36:28.7258611Z             },
2026-06-04T05:36:28.7259055Z             {
2026-06-04T05:36:28.7260110Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.7260584Z               "line": 129
2026-06-04T05:36:28.7261025Z             },
2026-06-04T05:36:28.7261457Z             {
2026-06-04T05:36:28.7262121Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T05:36:28.7262612Z               "line": 82
2026-06-04T05:36:28.7263074Z             },
2026-06-04T05:36:28.7263517Z             {
2026-06-04T05:36:28.7264157Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T05:36:28.7264659Z               "line": 92
2026-06-04T05:36:28.7265108Z             },
2026-06-04T05:36:28.7265581Z             {
2026-06-04T05:36:28.7266250Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.7266698Z               "line": 118
2026-06-04T05:36:28.7267121Z             }
2026-06-04T05:36:28.7267582Z           ]
2026-06-04T05:36:28.7267997Z         },
2026-06-04T05:36:28.7268449Z         "int": {
2026-06-04T05:36:28.7268938Z           "complete": false,
2026-06-04T05:36:28.7269674Z           "evidence": []
2026-06-04T05:36:28.7270453Z         },
2026-06-04T05:36:28.7270943Z         "unit": {
2026-06-04T05:36:28.7271513Z           "complete": true,
2026-06-04T05:36:28.7272027Z           "evidence": [
2026-06-04T05:36:28.7272488Z             {
2026-06-04T05:36:28.7273166Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.7273676Z               "line": 573
2026-06-04T05:36:28.7274136Z             },
2026-06-04T05:36:28.7274579Z             {
2026-06-04T05:36:28.7275226Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T05:36:28.7275679Z               "line": 594
2026-06-04T05:36:28.7276134Z             },
2026-06-04T05:36:28.7276563Z             {
2026-06-04T05:36:28.7277249Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T05:36:28.7277737Z               "line": 337
2026-06-04T05:36:28.7278200Z             },
2026-06-04T05:36:28.7278690Z             {
2026-06-04T05:36:28.7279499Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T05:36:28.7280041Z               "line": 92
2026-06-04T05:36:28.7280497Z             },
2026-06-04T05:36:28.7280958Z             {
2026-06-04T05:36:28.7281694Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T05:36:28.7282194Z               "line": 174
2026-06-04T05:36:28.7282636Z             },
2026-06-04T05:36:28.7283052Z             {
2026-06-04T05:36:28.7283707Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T05:36:28.7284157Z               "line": 78
2026-06-04T05:36:28.7284588Z             },
2026-06-04T05:36:28.7285013Z             {
2026-06-04T05:36:28.7285636Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T05:36:28.7286101Z               "line": 109
2026-06-04T05:36:28.7286518Z             },
2026-06-04T05:36:28.7286949Z             {
2026-06-04T05:36:28.7287555Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.7288390Z               "line": 277
2026-06-04T05:36:28.7288844Z             },
2026-06-04T05:36:28.7289674Z             {
2026-06-04T05:36:28.7290341Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T05:36:28.7290963Z               "line": 112
2026-06-04T05:36:28.7291400Z             },
2026-06-04T05:36:28.7291820Z             {
2026-06-04T05:36:28.7292449Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T05:36:28.7292912Z               "line": 136
2026-06-04T05:36:28.7293335Z             },
2026-06-04T05:36:28.7293761Z             {
2026-06-04T05:36:28.7294414Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.7294871Z               "line": 305
2026-06-04T05:36:28.7295287Z             }
2026-06-04T05:36:28.7295721Z           ]
2026-06-04T05:36:28.7296146Z         }
2026-06-04T05:36:28.7296557Z       }
2026-06-04T05:36:28.7296976Z     },
2026-06-04T05:36:28.7297384Z     {
2026-06-04T05:36:28.7297872Z       "id": "REQ-REACH-2",
2026-06-04T05:36:28.7298750Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T05:36:28.7299312Z       "requiredStages": [],
2026-06-04T05:36:28.7299918Z       "stages": {
2026-06-04T05:36:28.7300330Z         "doc": {
2026-06-04T05:36:28.7300814Z           "complete": false,
2026-06-04T05:36:28.7301255Z           "evidence": []
2026-06-04T05:36:28.7301674Z         },
2026-06-04T05:36:28.7302090Z         "impl": {
2026-06-04T05:36:28.7302553Z           "complete": false,
2026-06-04T05:36:28.7303006Z           "evidence": []
2026-06-04T05:36:28.7303416Z         },
2026-06-04T05:36:28.7303836Z         "int": {
2026-06-04T05:36:28.7304298Z           "complete": false,
2026-06-04T05:36:28.7304750Z           "evidence": []
2026-06-04T05:36:28.7305153Z         },
2026-06-04T05:36:28.7305579Z         "unit": {
2026-06-04T05:36:28.7306046Z           "complete": false,
2026-06-04T05:36:28.7306491Z           "evidence": []
2026-06-04T05:36:28.7306900Z         }
2026-06-04T05:36:28.7307296Z       }
2026-06-04T05:36:28.7307704Z     },
2026-06-04T05:36:28.7308099Z     {
2026-06-04T05:36:28.7308603Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T05:36:28.7310054Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T05:36:28.7310536Z       "requiredStages": [
2026-06-04T05:36:28.7310960Z         "impl",
2026-06-04T05:36:28.7311366Z         "unit"
2026-06-04T05:36:28.7311776Z       ],
2026-06-04T05:36:28.7312196Z       "stages": {
2026-06-04T05:36:28.7312611Z         "doc": {
2026-06-04T05:36:28.7313077Z           "complete": false,
2026-06-04T05:36:28.7313516Z           "evidence": []
2026-06-04T05:36:28.7313921Z         },
2026-06-04T05:36:28.7314336Z         "impl": {
2026-06-04T05:36:28.7314793Z           "complete": true,
2026-06-04T05:36:28.7315224Z           "evidence": [
2026-06-04T05:36:28.7315641Z             {
2026-06-04T05:36:28.7316260Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7316695Z               "line": 18
2026-06-04T05:36:28.7317107Z             },
2026-06-04T05:36:28.7317509Z             {
2026-06-04T05:36:28.7318131Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7318566Z               "line": 35
2026-06-04T05:36:28.7318977Z             },
2026-06-04T05:36:28.7319615Z             {
2026-06-04T05:36:28.7320377Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7320823Z               "line": 65
2026-06-04T05:36:28.7321223Z             }
2026-06-04T05:36:28.7321629Z           ]
2026-06-04T05:36:28.7322034Z         },
2026-06-04T05:36:28.7322457Z         "int": {
2026-06-04T05:36:28.7322927Z           "complete": false,
2026-06-04T05:36:28.7323365Z           "evidence": []
2026-06-04T05:36:28.7323784Z         },
2026-06-04T05:36:28.7324203Z         "unit": {
2026-06-04T05:36:28.7324662Z           "complete": true,
2026-06-04T05:36:28.7331440Z           "evidence": [
2026-06-04T05:36:28.7331958Z             {
2026-06-04T05:36:28.7332602Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7333044Z               "line": 170
2026-06-04T05:36:28.7333460Z             },
2026-06-04T05:36:28.7334136Z             {
2026-06-04T05:36:28.7334774Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7335350Z               "line": 184
2026-06-04T05:36:28.7335768Z             },
2026-06-04T05:36:28.7336244Z             {
2026-06-04T05:36:28.7336849Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7337309Z               "line": 193
2026-06-04T05:36:28.7337713Z             }
2026-06-04T05:36:28.7338128Z           ]
2026-06-04T05:36:28.7338530Z         }
2026-06-04T05:36:28.7338936Z       }
2026-06-04T05:36:28.7339593Z     },
2026-06-04T05:36:28.7340146Z     {
2026-06-04T05:36:28.7340662Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T05:36:28.7341459Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T05:36:28.7341941Z       "requiredStages": [
2026-06-04T05:36:28.7342350Z         "impl",
2026-06-04T05:36:28.7342771Z         "unit"
2026-06-04T05:36:28.7343174Z       ],
2026-06-04T05:36:28.7343595Z       "stages": {
2026-06-04T05:36:28.7344031Z         "doc": {
2026-06-04T05:36:28.7344491Z           "complete": false,
2026-06-04T05:36:28.7344952Z           "evidence": []
2026-06-04T05:36:28.7345348Z         },
2026-06-04T05:36:28.7345775Z         "impl": {
2026-06-04T05:36:28.7346330Z           "complete": true,
2026-06-04T05:36:28.7346766Z           "evidence": [
2026-06-04T05:36:28.7347170Z             {
2026-06-04T05:36:28.7347801Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.7348244Z               "line": 203
2026-06-04T05:36:28.7348645Z             }
2026-06-04T05:36:28.7349052Z           ]
2026-06-04T05:36:28.7349681Z         },
2026-06-04T05:36:28.7350244Z         "int": {
2026-06-04T05:36:28.7350710Z           "complete": false,
2026-06-04T05:36:28.7351147Z           "evidence": []
2026-06-04T05:36:28.7351558Z         },
2026-06-04T05:36:28.7351963Z         "unit": {
2026-06-04T05:36:28.7352431Z           "complete": true,
2026-06-04T05:36:28.7352872Z           "evidence": [
2026-06-04T05:36:28.7353283Z             {
2026-06-04T05:36:28.7353930Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.7354376Z               "line": 338
2026-06-04T05:36:28.7354786Z             }
2026-06-04T05:36:28.7355181Z           ]
2026-06-04T05:36:28.7355588Z         }
2026-06-04T05:36:28.7355992Z       }
2026-06-04T05:36:28.7356387Z     },
2026-06-04T05:36:28.7356787Z     {
2026-06-04T05:36:28.7357253Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T05:36:28.7358294Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T05:36:28.7358760Z       "requiredStages": [
2026-06-04T05:36:28.7359246Z         "impl",
2026-06-04T05:36:28.7359857Z         "unit",
2026-06-04T05:36:28.7360432Z         "int"
2026-06-04T05:36:28.7360841Z       ],
2026-06-04T05:36:28.7361257Z       "stages": {
2026-06-04T05:36:28.7361667Z         "doc": {
2026-06-04T05:36:28.7362122Z           "complete": false,
2026-06-04T05:36:28.7362572Z           "evidence": []
2026-06-04T05:36:28.7362996Z         },
2026-06-04T05:36:28.7363411Z         "impl": {
2026-06-04T05:36:28.7363869Z           "complete": true,
2026-06-04T05:36:28.7364313Z           "evidence": [
2026-06-04T05:36:28.7364720Z             {
2026-06-04T05:36:28.7365298Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.7365730Z               "line": 24
2026-06-04T05:36:28.7366138Z             },
2026-06-04T05:36:28.7366537Z             {
2026-06-04T05:36:28.7367149Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7367575Z               "line": 22
2026-06-04T05:36:28.7367990Z             }
2026-06-04T05:36:28.7368395Z           ]
2026-06-04T05:36:28.7368807Z         },
2026-06-04T05:36:28.7369267Z         "int": {
2026-06-04T05:36:28.7369904Z           "complete": true,
2026-06-04T05:36:28.7370363Z           "evidence": [
2026-06-04T05:36:28.7370774Z             {
2026-06-04T05:36:28.7371430Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.7372034Z               "line": 202
2026-06-04T05:36:28.7372478Z             }
2026-06-04T05:36:28.7372900Z           ]
2026-06-04T05:36:28.7373451Z         },
2026-06-04T05:36:28.7373901Z         "unit": {
2026-06-04T05:36:28.7374386Z           "complete": true,
2026-06-04T05:36:28.7374869Z           "evidence": [
2026-06-04T05:36:28.7375559Z             {
2026-06-04T05:36:28.7376153Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.7376599Z               "line": 163
2026-06-04T05:36:28.7377005Z             },
2026-06-04T05:36:28.7377413Z             {
2026-06-04T05:36:28.7377984Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.7378425Z               "line": 186
2026-06-04T05:36:28.7378828Z             },
2026-06-04T05:36:28.7379284Z             {
2026-06-04T05:36:28.7380156Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T05:36:28.7380591Z               "line": 195
2026-06-04T05:36:28.7381004Z             },
2026-06-04T05:36:28.7381406Z             {
2026-06-04T05:36:28.7382030Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7382462Z               "line": 195
2026-06-04T05:36:28.7382886Z             },
2026-06-04T05:36:28.7383301Z             {
2026-06-04T05:36:28.7383907Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7384345Z               "line": 209
2026-06-04T05:36:28.7384742Z             },
2026-06-04T05:36:28.7385147Z             {
2026-06-04T05:36:28.7385743Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7386189Z               "line": 228
2026-06-04T05:36:28.7386609Z             },
2026-06-04T05:36:28.7387006Z             {
2026-06-04T05:36:28.7387618Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7388048Z               "line": 248
2026-06-04T05:36:28.7388464Z             },
2026-06-04T05:36:28.7388860Z             {
2026-06-04T05:36:28.7389522Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7389989Z               "line": 264
2026-06-04T05:36:28.7390396Z             },
2026-06-04T05:36:28.7390812Z             {
2026-06-04T05:36:28.7391419Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T05:36:28.7391868Z               "line": 279
2026-06-04T05:36:28.7392275Z             }
2026-06-04T05:36:28.7392676Z           ]
2026-06-04T05:36:28.7393085Z         }
2026-06-04T05:36:28.7393477Z       }
2026-06-04T05:36:28.7393877Z     },
2026-06-04T05:36:28.7394262Z     {
2026-06-04T05:36:28.7394736Z       "id": "REQ-SEAM-INJECT",
2026-06-04T05:36:28.7395629Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T05:36:28.7396092Z       "requiredStages": [
2026-06-04T05:36:28.7396511Z         "impl",
2026-06-04T05:36:28.7396915Z         "unit"
2026-06-04T05:36:28.7397316Z       ],
2026-06-04T05:36:28.7397725Z       "stages": {
2026-06-04T05:36:28.7398138Z         "doc": {
2026-06-04T05:36:28.7398591Z           "complete": false,
2026-06-04T05:36:28.7399047Z           "evidence": []
2026-06-04T05:36:28.7399506Z         },
2026-06-04T05:36:28.7399926Z         "impl": {
2026-06-04T05:36:28.7400388Z           "complete": true,
2026-06-04T05:36:28.7400832Z           "evidence": [
2026-06-04T05:36:28.7401247Z             {
2026-06-04T05:36:28.7401853Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7402297Z               "line": 19
2026-06-04T05:36:28.7402706Z             },
2026-06-04T05:36:28.7403107Z             {
2026-06-04T05:36:28.7403714Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7404147Z               "line": 104
2026-06-04T05:36:28.7404557Z             }
2026-06-04T05:36:28.7404971Z           ]
2026-06-04T05:36:28.7405371Z         },
2026-06-04T05:36:28.7405784Z         "int": {
2026-06-04T05:36:28.7406245Z           "complete": false,
2026-06-04T05:36:28.7406687Z           "evidence": []
2026-06-04T05:36:28.7407087Z         },
2026-06-04T05:36:28.7407507Z         "unit": {
2026-06-04T05:36:28.7408122Z           "complete": true,
2026-06-04T05:36:28.7413539Z           "evidence": [
2026-06-04T05:36:28.7414126Z             {
2026-06-04T05:36:28.7415262Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7415714Z               "line": 222
2026-06-04T05:36:28.7416114Z             },
2026-06-04T05:36:28.7416534Z             {
2026-06-04T05:36:28.7417136Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T05:36:28.7417567Z               "line": 236
2026-06-04T05:36:28.7417978Z             }
2026-06-04T05:36:28.7418377Z           ]
2026-06-04T05:36:28.7418782Z         }
2026-06-04T05:36:28.7419255Z       }
2026-06-04T05:36:28.7419660Z     },
2026-06-04T05:36:28.7420052Z     {
2026-06-04T05:36:28.7420548Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T05:36:28.7421279Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T05:36:28.7421737Z       "requiredStages": [
2026-06-04T05:36:28.7422156Z         "impl",
2026-06-04T05:36:28.7422554Z         "unit"
2026-06-04T05:36:28.7422976Z       ],
2026-06-04T05:36:28.7423394Z       "stages": {
2026-06-04T05:36:28.7423821Z         "doc": {
2026-06-04T05:36:28.7424305Z           "complete": false,
2026-06-04T05:36:28.7424740Z           "evidence": []
2026-06-04T05:36:28.7425146Z         },
2026-06-04T05:36:28.7425554Z         "impl": {
2026-06-04T05:36:28.7426026Z           "complete": true,
2026-06-04T05:36:28.7426453Z           "evidence": [
2026-06-04T05:36:28.7426859Z             {
2026-06-04T05:36:28.7427459Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7427892Z               "line": 18
2026-06-04T05:36:28.7428295Z             },
2026-06-04T05:36:28.7428690Z             {
2026-06-04T05:36:28.7429338Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7429788Z               "line": 257
2026-06-04T05:36:28.7430188Z             }
2026-06-04T05:36:28.7430603Z           ]
2026-06-04T05:36:28.7430996Z         },
2026-06-04T05:36:28.7431415Z         "int": {
2026-06-04T05:36:28.7431882Z           "complete": false,
2026-06-04T05:36:28.7432331Z           "evidence": []
2026-06-04T05:36:28.7432726Z         },
2026-06-04T05:36:28.7433156Z         "unit": {
2026-06-04T05:36:28.7433618Z           "complete": true,
2026-06-04T05:36:28.7434047Z           "evidence": [
2026-06-04T05:36:28.7434461Z             {
2026-06-04T05:36:28.7435059Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7435516Z               "line": 420
2026-06-04T05:36:28.7435920Z             },
2026-06-04T05:36:28.7436432Z             {
2026-06-04T05:36:28.7437032Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7437467Z               "line": 430
2026-06-04T05:36:28.7437870Z             }
2026-06-04T05:36:28.7438272Z           ]
2026-06-04T05:36:28.7438675Z         }
2026-06-04T05:36:28.7439071Z       }
2026-06-04T05:36:28.7439517Z     },
2026-06-04T05:36:28.7439917Z     {
2026-06-04T05:36:28.7440391Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T05:36:28.7441168Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T05:36:28.7441631Z       "requiredStages": [
2026-06-04T05:36:28.7442060Z         "impl",
2026-06-04T05:36:28.7442465Z         "unit",
2026-06-04T05:36:28.7442881Z         "int"
2026-06-04T05:36:28.7443289Z       ],
2026-06-04T05:36:28.7443702Z       "stages": {
2026-06-04T05:36:28.7444116Z         "doc": {
2026-06-04T05:36:28.7444568Z           "complete": false,
2026-06-04T05:36:28.7445012Z           "evidence": []
2026-06-04T05:36:28.7445404Z         },
2026-06-04T05:36:28.7445831Z         "impl": {
2026-06-04T05:36:28.7446291Z           "complete": true,
2026-06-04T05:36:28.7446724Z           "evidence": [
2026-06-04T05:36:28.7447129Z             {
2026-06-04T05:36:28.7447720Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T05:36:28.7448158Z               "line": 19
2026-06-04T05:36:28.7448564Z             },
2026-06-04T05:36:28.7448976Z             {
2026-06-04T05:36:28.7449600Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T05:36:28.7450219Z               "line": 12
2026-06-04T05:36:28.7450642Z             },
2026-06-04T05:36:28.7451203Z             {
2026-06-04T05:36:28.7451810Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7452256Z               "line": 164
2026-06-04T05:36:28.7452658Z             }
2026-06-04T05:36:28.7453061Z           ]
2026-06-04T05:36:28.7453459Z         },
2026-06-04T05:36:28.7453875Z         "int": {
2026-06-04T05:36:28.7454323Z           "complete": true,
2026-06-04T05:36:28.7454761Z           "evidence": [
2026-06-04T05:36:28.7455157Z             {
2026-06-04T05:36:28.7455852Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.7456293Z               "line": 201
2026-06-04T05:36:28.7456702Z             }
2026-06-04T05:36:28.7457106Z           ]
2026-06-04T05:36:28.7457501Z         },
2026-06-04T05:36:28.7457918Z         "unit": {
2026-06-04T05:36:28.7458368Z           "complete": true,
2026-06-04T05:36:28.7458823Z           "evidence": [
2026-06-04T05:36:28.7459325Z             {
2026-06-04T05:36:28.7459922Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T05:36:28.7460373Z               "line": 161
2026-06-04T05:36:28.7460787Z             },
2026-06-04T05:36:28.7461669Z             {
2026-06-04T05:36:28.7462391Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T05:36:28.7462908Z               "line": 168
2026-06-04T05:36:28.7463427Z             },
2026-06-04T05:36:28.7463888Z             {
2026-06-04T05:36:28.7464729Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T05:36:28.7465209Z               "line": 191
2026-06-04T05:36:28.7465647Z             },
2026-06-04T05:36:28.7466568Z             {
2026-06-04T05:36:28.7467255Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T05:36:28.7467749Z               "line": 106
2026-06-04T05:36:28.7468200Z             },
2026-06-04T05:36:28.7468687Z             {
2026-06-04T05:36:28.7469475Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T05:36:28.7470100Z               "line": 123
2026-06-04T05:36:28.7470517Z             },
2026-06-04T05:36:28.7470939Z             {
2026-06-04T05:36:28.7471535Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T05:36:28.7472283Z               "line": 137
2026-06-04T05:36:28.7472849Z             }
2026-06-04T05:36:28.7473255Z           ]
2026-06-04T05:36:28.7473666Z         }
2026-06-04T05:36:28.7474077Z       }
2026-06-04T05:36:28.7474473Z     },
2026-06-04T05:36:28.7474876Z     {
2026-06-04T05:36:28.7475342Z       "id": "REQ-SEAM-RESUME",
2026-06-04T05:36:28.7476395Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T05:36:28.7476858Z       "requiredStages": [
2026-06-04T05:36:28.7477281Z         "impl",
2026-06-04T05:36:28.7477696Z         "unit"
2026-06-04T05:36:28.7478089Z       ],
2026-06-04T05:36:28.7478514Z       "stages": {
2026-06-04T05:36:28.7478923Z         "doc": {
2026-06-04T05:36:28.7479590Z           "complete": false,
2026-06-04T05:36:28.7480194Z           "evidence": []
2026-06-04T05:36:28.7480608Z         },
2026-06-04T05:36:28.7481031Z         "impl": {
2026-06-04T05:36:28.7481492Z           "complete": true,
2026-06-04T05:36:28.7481937Z           "evidence": [
2026-06-04T05:36:28.7482339Z             {
2026-06-04T05:36:28.7482949Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T05:36:28.7483380Z               "line": 19
2026-06-04T05:36:28.7483792Z             }
2026-06-04T05:36:28.7484204Z           ]
2026-06-04T05:36:28.7484604Z         },
2026-06-04T05:36:28.7485022Z         "int": {
2026-06-04T05:36:28.7485505Z           "complete": false,
2026-06-04T05:36:28.7485958Z           "evidence": []
2026-06-04T05:36:28.7486355Z         },
2026-06-04T05:36:28.7486784Z         "unit": {
2026-06-04T05:36:28.7487240Z           "complete": true,
2026-06-04T05:36:28.7487673Z           "evidence": [
2026-06-04T05:36:28.7488090Z             {
2026-06-04T05:36:28.7489009Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T05:36:28.7489830Z               "line": 168
2026-06-04T05:36:28.7490243Z             },
2026-06-04T05:36:28.7490808Z             {
2026-06-04T05:36:28.7491418Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T05:36:28.7491864Z               "line": 187
2026-06-04T05:36:28.7497066Z             },
2026-06-04T05:36:28.7497575Z             {
2026-06-04T05:36:28.7498223Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T05:36:28.7498662Z               "line": 205
2026-06-04T05:36:28.7499079Z             }
2026-06-04T05:36:28.7499746Z           ]
2026-06-04T05:36:28.7500168Z         }
2026-06-04T05:36:28.7500592Z       }
2026-06-04T05:36:28.7500999Z     },
2026-06-04T05:36:28.7501414Z     {
2026-06-04T05:36:28.7501900Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T05:36:28.7502427Z       "title": "spawn-session seam",
2026-06-04T05:36:28.7502915Z       "requiredStages": [
2026-06-04T05:36:28.7503345Z         "impl",
2026-06-04T05:36:28.7503778Z         "unit"
2026-06-04T05:36:28.7504221Z       ],
2026-06-04T05:36:28.7504674Z       "stages": {
2026-06-04T05:36:28.7505095Z         "doc": {
2026-06-04T05:36:28.7505592Z           "complete": false,
2026-06-04T05:36:28.7506062Z           "evidence": []
2026-06-04T05:36:28.7506479Z         },
2026-06-04T05:36:28.7506914Z         "impl": {
2026-06-04T05:36:28.7507390Z           "complete": true,
2026-06-04T05:36:28.7507856Z           "evidence": [
2026-06-04T05:36:28.7508276Z             {
2026-06-04T05:36:28.7508970Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7509641Z               "line": 20
2026-06-04T05:36:28.7510056Z             }
2026-06-04T05:36:28.7510470Z           ]
2026-06-04T05:36:28.7510872Z         },
2026-06-04T05:36:28.7511291Z         "int": {
2026-06-04T05:36:28.7511749Z           "complete": false,
2026-06-04T05:36:28.7512197Z           "evidence": []
2026-06-04T05:36:28.7512606Z         },
2026-06-04T05:36:28.7513020Z         "unit": {
2026-06-04T05:36:28.7513490Z           "complete": true,
2026-06-04T05:36:28.7513930Z           "evidence": [
2026-06-04T05:36:28.7514339Z             {
2026-06-04T05:36:28.7515005Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7515450Z               "line": 397
2026-06-04T05:36:28.7515863Z             },
2026-06-04T05:36:28.7516269Z             {
2026-06-04T05:36:28.7516915Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7517354Z               "line": 404
2026-06-04T05:36:28.7517768Z             },
2026-06-04T05:36:28.7518174Z             {
2026-06-04T05:36:28.7518829Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7519319Z               "line": 414
2026-06-04T05:36:28.7520036Z             },
2026-06-04T05:36:28.7520449Z             {
2026-06-04T05:36:28.7521088Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7521536Z               "line": 420
2026-06-04T05:36:28.7521935Z             },
2026-06-04T05:36:28.7522364Z             {
2026-06-04T05:36:28.7523016Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7523472Z               "line": 440
2026-06-04T05:36:28.7523883Z             },
2026-06-04T05:36:28.7524287Z             {
2026-06-04T05:36:28.7524934Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T05:36:28.7525370Z               "line": 473
2026-06-04T05:36:28.7525784Z             }
2026-06-04T05:36:28.7526204Z           ]
2026-06-04T05:36:28.7526602Z         }
2026-06-04T05:36:28.7527005Z       }
2026-06-04T05:36:28.7527401Z     },
2026-06-04T05:36:28.7527807Z     {
2026-06-04T05:36:28.7528283Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T05:36:28.7529232Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T05:36:28.7529712Z       "requiredStages": [
2026-06-04T05:36:28.7530127Z         "impl",
2026-06-04T05:36:28.7530538Z         "unit"
2026-06-04T05:36:28.7530935Z       ],
2026-06-04T05:36:28.7531364Z       "stages": {
2026-06-04T05:36:28.7532012Z         "doc": {
2026-06-04T05:36:28.7532528Z           "complete": false,
2026-06-04T05:36:28.7532977Z           "evidence": []
2026-06-04T05:36:28.7533510Z         },
2026-06-04T05:36:28.7533935Z         "impl": {
2026-06-04T05:36:28.7534394Z           "complete": true,
2026-06-04T05:36:28.7534841Z           "evidence": [
2026-06-04T05:36:28.7535245Z             {
2026-06-04T05:36:28.7536064Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.7536505Z               "line": 28
2026-06-04T05:36:28.7536906Z             },
2026-06-04T05:36:28.7537316Z             {
2026-06-04T05:36:28.7538015Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.7538460Z               "line": 83
2026-06-04T05:36:28.7538862Z             }
2026-06-04T05:36:28.7539314Z           ]
2026-06-04T05:36:28.7539721Z         },
2026-06-04T05:36:28.7540136Z         "int": {
2026-06-04T05:36:28.7540605Z           "complete": false,
2026-06-04T05:36:28.7541056Z           "evidence": []
2026-06-04T05:36:28.7541471Z         },
2026-06-04T05:36:28.7541881Z         "unit": {
2026-06-04T05:36:28.7542348Z           "complete": true,
2026-06-04T05:36:28.7542792Z           "evidence": [
2026-06-04T05:36:28.7543191Z             {
2026-06-04T05:36:28.7543899Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.7544334Z               "line": 248
2026-06-04T05:36:28.7544743Z             },
2026-06-04T05:36:28.7545243Z             {
2026-06-04T05:36:28.7545960Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.7546405Z               "line": 259
2026-06-04T05:36:28.7546804Z             }
2026-06-04T05:36:28.7547220Z           ]
2026-06-04T05:36:28.7547619Z         }
2026-06-04T05:36:28.7548030Z       }
2026-06-04T05:36:28.7548426Z     },
2026-06-04T05:36:28.7548825Z     {
2026-06-04T05:36:28.7549315Z       "id": "REQ-SEC-1",
2026-06-04T05:36:28.7551854Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T05:36:28.7552334Z       "requiredStages": [
2026-06-04T05:36:28.7552756Z         "impl",
2026-06-04T05:36:28.7553170Z         "unit"
2026-06-04T05:36:28.7553566Z       ],
2026-06-04T05:36:28.7553997Z       "stages": {
2026-06-04T05:36:28.7554419Z         "doc": {
2026-06-04T05:36:28.7554873Z           "complete": false,
2026-06-04T05:36:28.7555322Z           "evidence": []
2026-06-04T05:36:28.7555715Z         },
2026-06-04T05:36:28.7556162Z         "impl": {
2026-06-04T05:36:28.7556608Z           "complete": true,
2026-06-04T05:36:28.7557049Z           "evidence": [
2026-06-04T05:36:28.7557455Z             {
2026-06-04T05:36:28.7558079Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.7558514Z               "line": 84
2026-06-04T05:36:28.7558914Z             },
2026-06-04T05:36:28.7559360Z             {
2026-06-04T05:36:28.7559990Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.7560430Z               "line": 114
2026-06-04T05:36:28.7560838Z             },
2026-06-04T05:36:28.7561242Z             {
2026-06-04T05:36:28.7561871Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.7562310Z               "line": 128
2026-06-04T05:36:28.7562720Z             },
2026-06-04T05:36:28.7563123Z             {
2026-06-04T05:36:28.7563738Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7564181Z               "line": 108
2026-06-04T05:36:28.7564588Z             },
2026-06-04T05:36:28.7564994Z             {
2026-06-04T05:36:28.7565589Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7566040Z               "line": 129
2026-06-04T05:36:28.7566452Z             },
2026-06-04T05:36:28.7566853Z             {
2026-06-04T05:36:28.7567463Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7567895Z               "line": 142
2026-06-04T05:36:28.7568308Z             },
2026-06-04T05:36:28.7568847Z             {
2026-06-04T05:36:28.7569518Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7570094Z               "line": 208
2026-06-04T05:36:28.7570503Z             },
2026-06-04T05:36:28.7570912Z             {
2026-06-04T05:36:28.7571507Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7571944Z               "line": 234
2026-06-04T05:36:28.7572347Z             },
2026-06-04T05:36:28.7572760Z             {
2026-06-04T05:36:28.7573305Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7573739Z               "line": 625
2026-06-04T05:36:28.7574149Z             }
2026-06-04T05:36:28.7574550Z           ]
2026-06-04T05:36:28.7574964Z         },
2026-06-04T05:36:28.7578827Z         "int": {
2026-06-04T05:36:28.7579486Z           "complete": false,
2026-06-04T05:36:28.7579951Z           "evidence": []
2026-06-04T05:36:28.7580355Z         },
2026-06-04T05:36:28.7580776Z         "unit": {
2026-06-04T05:36:28.7581266Z           "complete": true,
2026-06-04T05:36:28.7581714Z           "evidence": [
2026-06-04T05:36:28.7582116Z             {
2026-06-04T05:36:28.7582778Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.7583228Z               "line": 140
2026-06-04T05:36:28.7583635Z             },
2026-06-04T05:36:28.7584041Z             {
2026-06-04T05:36:28.7584670Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.7585115Z               "line": 186
2026-06-04T05:36:28.7585518Z             },
2026-06-04T05:36:28.7585921Z             {
2026-06-04T05:36:28.7586543Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T05:36:28.7586979Z               "line": 218
2026-06-04T05:36:28.7587387Z             },
2026-06-04T05:36:28.7587787Z             {
2026-06-04T05:36:28.7588439Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T05:36:28.7588874Z               "line": 128
2026-06-04T05:36:28.7589326Z             },
2026-06-04T05:36:28.7589751Z             {
2026-06-04T05:36:28.7590347Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7590797Z               "line": 248
2026-06-04T05:36:28.7591211Z             },
2026-06-04T05:36:28.7591614Z             {
2026-06-04T05:36:28.7592217Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7592664Z               "line": 275
2026-06-04T05:36:28.7593074Z             },
2026-06-04T05:36:28.7593478Z             {
2026-06-04T05:36:28.7594084Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7594519Z               "line": 299
2026-06-04T05:36:28.7594934Z             },
2026-06-04T05:36:28.7595336Z             {
2026-06-04T05:36:28.7595951Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7596392Z               "line": 310
2026-06-04T05:36:28.7596795Z             },
2026-06-04T05:36:28.7597206Z             {
2026-06-04T05:36:28.7597809Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7598260Z               "line": 334
2026-06-04T05:36:28.7598664Z             },
2026-06-04T05:36:28.7599073Z             {
2026-06-04T05:36:28.7599736Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T05:36:28.7600171Z               "line": 350
2026-06-04T05:36:28.7600588Z             },
2026-06-04T05:36:28.7600985Z             {
2026-06-04T05:36:28.7601528Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7601961Z               "line": 830
2026-06-04T05:36:28.7602360Z             }
2026-06-04T05:36:28.7602765Z           ]
2026-06-04T05:36:28.7603168Z         }
2026-06-04T05:36:28.7603570Z       }
2026-06-04T05:36:28.7603963Z     },
2026-06-04T05:36:28.7604370Z     {
2026-06-04T05:36:28.7604816Z       "id": "REQ-START-1",
2026-06-04T05:36:28.7606005Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T05:36:28.7606481Z       "requiredStages": [
2026-06-04T05:36:28.7606889Z         "impl",
2026-06-04T05:36:28.7607307Z         "unit"
2026-06-04T05:36:28.7607966Z       ],
2026-06-04T05:36:28.7608423Z       "stages": {
2026-06-04T05:36:28.7608832Z         "doc": {
2026-06-04T05:36:28.7609474Z           "complete": false,
2026-06-04T05:36:28.7609925Z           "evidence": []
2026-06-04T05:36:28.7610320Z         },
2026-06-04T05:36:28.7610739Z         "impl": {
2026-06-04T05:36:28.7611190Z           "complete": true,
2026-06-04T05:36:28.7611636Z           "evidence": [
2026-06-04T05:36:28.7612038Z             {
2026-06-04T05:36:28.7612629Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T05:36:28.7613063Z               "line": 16
2026-06-04T05:36:28.7613459Z             }
2026-06-04T05:36:28.7613866Z           ]
2026-06-04T05:36:28.7614266Z         },
2026-06-04T05:36:28.7614678Z         "int": {
2026-06-04T05:36:28.7615136Z           "complete": false,
2026-06-04T05:36:28.7615582Z           "evidence": []
2026-06-04T05:36:28.7615991Z         },
2026-06-04T05:36:28.7616394Z         "unit": {
2026-06-04T05:36:28.7616861Z           "complete": true,
2026-06-04T05:36:28.7617301Z           "evidence": [
2026-06-04T05:36:28.7617707Z             {
2026-06-04T05:36:28.7618299Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T05:36:28.7618732Z               "line": 43
2026-06-04T05:36:28.7619142Z             },
2026-06-04T05:36:28.7619578Z             {
2026-06-04T05:36:28.7620175Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T05:36:28.7620602Z               "line": 59
2026-06-04T05:36:28.7621019Z             }
2026-06-04T05:36:28.7621414Z           ]
2026-06-04T05:36:28.7621818Z         }
2026-06-04T05:36:28.7622228Z       }
2026-06-04T05:36:28.7622617Z     },
2026-06-04T05:36:28.7623013Z     {
2026-06-04T05:36:28.7623466Z       "id": "REQ-START-2",
2026-06-04T05:36:28.7624235Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T05:36:28.7624692Z       "requiredStages": [
2026-06-04T05:36:28.7625113Z         "impl",
2026-06-04T05:36:28.7625525Z         "unit",
2026-06-04T05:36:28.7625936Z         "int"
2026-06-04T05:36:28.7626343Z       ],
2026-06-04T05:36:28.7626762Z       "stages": {
2026-06-04T05:36:28.7627185Z         "doc": {
2026-06-04T05:36:28.7627635Z           "complete": false,
2026-06-04T05:36:28.7628083Z           "evidence": []
2026-06-04T05:36:28.7628486Z         },
2026-06-04T05:36:28.7628899Z         "impl": {
2026-06-04T05:36:28.7629388Z           "complete": true,
2026-06-04T05:36:28.7629821Z           "evidence": [
2026-06-04T05:36:28.7630236Z             {
2026-06-04T05:36:28.7630827Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7631264Z               "line": 16
2026-06-04T05:36:28.7631670Z             },
2026-06-04T05:36:28.7632063Z             {
2026-06-04T05:36:28.7632667Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7633092Z               "line": 94
2026-06-04T05:36:28.7633503Z             },
2026-06-04T05:36:28.7633907Z             {
2026-06-04T05:36:28.7634519Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7634967Z               "line": 163
2026-06-04T05:36:28.7635362Z             }
2026-06-04T05:36:28.7635858Z           ]
2026-06-04T05:36:28.7636248Z         },
2026-06-04T05:36:28.7636656Z         "int": {
2026-06-04T05:36:28.7637103Z           "complete": true,
2026-06-04T05:36:28.7637545Z           "evidence": [
2026-06-04T05:36:28.7637948Z             {
2026-06-04T05:36:28.7638566Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.7639005Z               "line": 150
2026-06-04T05:36:28.7639432Z             }
2026-06-04T05:36:28.7639838Z           ]
2026-06-04T05:36:28.7640235Z         },
2026-06-04T05:36:28.7640655Z         "unit": {
2026-06-04T05:36:28.7641113Z           "complete": true,
2026-06-04T05:36:28.7641549Z           "evidence": [
2026-06-04T05:36:28.7641958Z             {
2026-06-04T05:36:28.7642553Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7642994Z               "line": 354
2026-06-04T05:36:28.7643537Z             },
2026-06-04T05:36:28.7643958Z             {
2026-06-04T05:36:28.7644579Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7645139Z               "line": 387
2026-06-04T05:36:28.7645551Z             }
2026-06-04T05:36:28.7645948Z           ]
2026-06-04T05:36:28.7646356Z         }
2026-06-04T05:36:28.7646749Z       }
2026-06-04T05:36:28.7647147Z     },
2026-06-04T05:36:28.7647547Z     {
2026-06-04T05:36:28.7647992Z       "id": "REQ-START-3",
2026-06-04T05:36:28.7648953Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T05:36:28.7649456Z       "requiredStages": [
2026-06-04T05:36:28.7649876Z         "impl",
2026-06-04T05:36:28.7650280Z         "unit",
2026-06-04T05:36:28.7650690Z         "int"
2026-06-04T05:36:28.7651098Z       ],
2026-06-04T05:36:28.7651512Z       "stages": {
2026-06-04T05:36:28.7651927Z         "doc": {
2026-06-04T05:36:28.7652383Z           "complete": false,
2026-06-04T05:36:28.7652831Z           "evidence": []
2026-06-04T05:36:28.7653242Z         },
2026-06-04T05:36:28.7656802Z         "impl": {
2026-06-04T05:36:28.7657337Z           "complete": true,
2026-06-04T05:36:28.7657820Z           "evidence": [
2026-06-04T05:36:28.7658230Z             {
2026-06-04T05:36:28.7658876Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T05:36:28.7659392Z               "line": 23
2026-06-04T05:36:28.7659794Z             },
2026-06-04T05:36:28.7660202Z             {
2026-06-04T05:36:28.7660837Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T05:36:28.7661272Z               "line": 167
2026-06-04T05:36:28.7661686Z             },
2026-06-04T05:36:28.7662081Z             {
2026-06-04T05:36:28.7662713Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T05:36:28.7663155Z               "line": 180
2026-06-04T05:36:28.7663559Z             },
2026-06-04T05:36:28.7663963Z             {
2026-06-04T05:36:28.7664551Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7664997Z               "line": 17
2026-06-04T05:36:28.7665395Z             },
2026-06-04T05:36:28.7665803Z             {
2026-06-04T05:36:28.7666410Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7666836Z               "line": 43
2026-06-04T05:36:28.7667237Z             },
2026-06-04T05:36:28.7667630Z             {
2026-06-04T05:36:28.7668232Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7668657Z               "line": 95
2026-06-04T05:36:28.7669064Z             }
2026-06-04T05:36:28.7669509Z           ]
2026-06-04T05:36:28.7669907Z         },
2026-06-04T05:36:28.7670324Z         "int": {
2026-06-04T05:36:28.7670777Z           "complete": true,
2026-06-04T05:36:28.7671216Z           "evidence": [
2026-06-04T05:36:28.7671611Z             {
2026-06-04T05:36:28.7672244Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T05:36:28.7672685Z               "line": 321
2026-06-04T05:36:28.7673089Z             }
2026-06-04T05:36:28.7673506Z           ]
2026-06-04T05:36:28.7673909Z         },
2026-06-04T05:36:28.7674326Z         "unit": {
2026-06-04T05:36:28.7674791Z           "complete": true,
2026-06-04T05:36:28.7675232Z           "evidence": [
2026-06-04T05:36:28.7675640Z             {
2026-06-04T05:36:28.7676266Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T05:36:28.7676710Z               "line": 245
2026-06-04T05:36:28.7677128Z             },
2026-06-04T05:36:28.7677587Z             {
2026-06-04T05:36:28.7678244Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T05:36:28.7678686Z               "line": 263
2026-06-04T05:36:28.7679094Z             },
2026-06-04T05:36:28.7679534Z             {
2026-06-04T05:36:28.7680172Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T05:36:28.7680601Z               "line": 273
2026-06-04T05:36:28.7681013Z             },
2026-06-04T05:36:28.7681413Z             {
2026-06-04T05:36:28.7682011Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7682679Z               "line": 355
2026-06-04T05:36:28.7683126Z             },
2026-06-04T05:36:28.7683690Z             {
2026-06-04T05:36:28.7684300Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7684752Z               "line": 388
2026-06-04T05:36:28.7685166Z             },
2026-06-04T05:36:28.7685594Z             {
2026-06-04T05:36:28.7686211Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T05:36:28.7686656Z               "line": 396
2026-06-04T05:36:28.7687076Z             }
2026-06-04T05:36:28.7687481Z           ]
2026-06-04T05:36:28.7687896Z         }
2026-06-04T05:36:28.7688302Z       }
2026-06-04T05:36:28.7688711Z     },
2026-06-04T05:36:28.7689126Z     {
2026-06-04T05:36:28.7689629Z       "id": "REQ-START-4",
2026-06-04T05:36:28.7690401Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T05:36:28.7690877Z       "requiredStages": [
2026-06-04T05:36:28.7691306Z         "impl",
2026-06-04T05:36:28.7691740Z         "unit"
2026-06-04T05:36:28.7692158Z       ],
2026-06-04T05:36:28.7692594Z       "stages": {
2026-06-04T05:36:28.7693014Z         "doc": {
2026-06-04T05:36:28.7693506Z           "complete": false,
2026-06-04T05:36:28.7693963Z           "evidence": []
2026-06-04T05:36:28.7694379Z         },
2026-06-04T05:36:28.7694803Z         "impl": {
2026-06-04T05:36:28.7695271Z           "complete": true,
2026-06-04T05:36:28.7695724Z           "evidence": [
2026-06-04T05:36:28.7696234Z             {
2026-06-04T05:36:28.7696872Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.7697315Z               "line": 190
2026-06-04T05:36:28.7697732Z             }
2026-06-04T05:36:28.7698146Z           ]
2026-06-04T05:36:28.7698564Z         },
2026-06-04T05:36:28.7698996Z         "int": {
2026-06-04T05:36:28.7699504Z           "complete": false,
2026-06-04T05:36:28.7699967Z           "evidence": []
2026-06-04T05:36:28.7700384Z         },
2026-06-04T05:36:28.7700816Z         "unit": {
2026-06-04T05:36:28.7701284Z           "complete": true,
2026-06-04T05:36:28.7701736Z           "evidence": [
2026-06-04T05:36:28.7702150Z             {
2026-06-04T05:36:28.7702796Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T05:36:28.7703247Z               "line": 351
2026-06-04T05:36:28.7703662Z             }
2026-06-04T05:36:28.7704077Z           ]
2026-06-04T05:36:28.7704481Z         }
2026-06-04T05:36:28.7704901Z       }
2026-06-04T05:36:28.7705318Z     },
2026-06-04T05:36:28.7705719Z     {
2026-06-04T05:36:28.7706186Z       "id": "REQ-STORE-1",
2026-06-04T05:36:28.7712059Z       "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-04T05:36:28.7712557Z       "requiredStages": [
2026-06-04T05:36:28.7712984Z         "impl",
2026-06-04T05:36:28.7713412Z         "unit"
2026-06-04T05:36:28.7713836Z       ],
2026-06-04T05:36:28.7714261Z       "stages": {
2026-06-04T05:36:28.7714704Z         "doc": {
2026-06-04T05:36:28.7715179Z           "complete": false,
2026-06-04T05:36:28.7715634Z           "evidence": []
2026-06-04T05:36:28.7716054Z         },
2026-06-04T05:36:28.7716474Z         "impl": {
2026-06-04T05:36:28.7716940Z           "complete": true,
2026-06-04T05:36:28.7717388Z           "evidence": [
2026-06-04T05:36:28.7717806Z             {
2026-06-04T05:36:28.7718488Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7718937Z               "line": 23
2026-06-04T05:36:28.7719393Z             },
2026-06-04T05:36:28.7719804Z             {
2026-06-04T05:36:28.7720480Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7720919Z               "line": 40
2026-06-04T05:36:28.7721337Z             },
2026-06-04T05:36:28.7721741Z             {
2026-06-04T05:36:28.7722568Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7723030Z               "line": 82
2026-06-04T05:36:28.7723563Z             },
2026-06-04T05:36:28.7723976Z             {
2026-06-04T05:36:28.7724648Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7725097Z               "line": 103
2026-06-04T05:36:28.7725521Z             },
2026-06-04T05:36:28.7725929Z             {
2026-06-04T05:36:28.7726610Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7727056Z               "line": 130
2026-06-04T05:36:28.7727478Z             },
2026-06-04T05:36:28.7727892Z             {
2026-06-04T05:36:28.7728577Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7729049Z               "line": 143
2026-06-04T05:36:28.7729502Z             },
2026-06-04T05:36:28.7730114Z             {
2026-06-04T05:36:28.7731201Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7731826Z               "line": 158
2026-06-04T05:36:28.7732342Z             },
2026-06-04T05:36:28.7732781Z             {
2026-06-04T05:36:28.7733517Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7733992Z               "line": 25
2026-06-04T05:36:28.7734422Z             },
2026-06-04T05:36:28.7734855Z             {
2026-06-04T05:36:28.7735568Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7736026Z               "line": 92
2026-06-04T05:36:28.7736819Z             },
2026-06-04T05:36:28.7737310Z             {
2026-06-04T05:36:28.7738036Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7738509Z               "line": 117
2026-06-04T05:36:28.7738945Z             },
2026-06-04T05:36:28.7739575Z             {
2026-06-04T05:36:28.7740270Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7744343Z               "line": 131
2026-06-04T05:36:28.7744875Z             },
2026-06-04T05:36:28.7745282Z             {
2026-06-04T05:36:28.7746032Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7746481Z               "line": 145
2026-06-04T05:36:28.7746905Z             },
2026-06-04T05:36:28.7747309Z             {
2026-06-04T05:36:28.7747993Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7748433Z               "line": 154
2026-06-04T05:36:28.7748843Z             },
2026-06-04T05:36:28.7749375Z             {
2026-06-04T05:36:28.7750012Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T05:36:28.7750449Z               "line": 16
2026-06-04T05:36:28.7750854Z             },
2026-06-04T05:36:28.7751266Z             {
2026-06-04T05:36:28.7751898Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T05:36:28.7752327Z               "line": 63
2026-06-04T05:36:28.7752738Z             }
2026-06-04T05:36:28.7753133Z           ]
2026-06-04T05:36:28.7753540Z         },
2026-06-04T05:36:28.7753953Z         "int": {
2026-06-04T05:36:28.7754427Z           "complete": false,
2026-06-04T05:36:28.7754876Z           "evidence": []
2026-06-04T05:36:28.7755277Z         },
2026-06-04T05:36:28.7755714Z         "unit": {
2026-06-04T05:36:28.7756166Z           "complete": true,
2026-06-04T05:36:28.7756609Z           "evidence": [
2026-06-04T05:36:28.7757008Z             {
2026-06-04T05:36:28.7757670Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7758110Z               "line": 196
2026-06-04T05:36:28.7758515Z             },
2026-06-04T05:36:28.7758920Z             {
2026-06-04T05:36:28.7759607Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7760052Z               "line": 206
2026-06-04T05:36:28.7760470Z             },
2026-06-04T05:36:28.7760873Z             {
2026-06-04T05:36:28.7761537Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7761970Z               "line": 226
2026-06-04T05:36:28.7762382Z             },
2026-06-04T05:36:28.7762784Z             {
2026-06-04T05:36:28.7763786Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7764260Z               "line": 242
2026-06-04T05:36:28.7764806Z             },
2026-06-04T05:36:28.7765220Z             {
2026-06-04T05:36:28.7765883Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T05:36:28.7766329Z               "line": 263
2026-06-04T05:36:28.7766736Z             },
2026-06-04T05:36:28.7767151Z             {
2026-06-04T05:36:28.7767834Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7768266Z               "line": 312
2026-06-04T05:36:28.7768671Z             },
2026-06-04T05:36:28.7769064Z             {
2026-06-04T05:36:28.7769792Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T05:36:28.7770231Z               "line": 342
2026-06-04T05:36:28.7770644Z             },
2026-06-04T05:36:28.7771054Z             {
2026-06-04T05:36:28.7771672Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T05:36:28.7772129Z               "line": 116
2026-06-04T05:36:28.7772530Z             },
2026-06-04T05:36:28.7772936Z             {
2026-06-04T05:36:28.7773573Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T05:36:28.7774024Z               "line": 124
2026-06-04T05:36:28.7774433Z             }
2026-06-04T05:36:28.7774927Z           ]
2026-06-04T05:36:28.7775337Z         }
2026-06-04T05:36:28.7775727Z       }
2026-06-04T05:36:28.7776129Z     },
2026-06-04T05:36:28.7776517Z     {
2026-06-04T05:36:28.7776971Z       "id": "REQ-TERM-1",
2026-06-04T05:36:28.7777917Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T05:36:28.7778374Z       "requiredStages": [
2026-06-04T05:36:28.7778795Z         "impl",
2026-06-04T05:36:28.7779231Z         "unit"
2026-06-04T05:36:28.7779634Z       ],
2026-06-04T05:36:28.7780046Z       "stages": {
2026-06-04T05:36:28.7780464Z         "doc": {
2026-06-04T05:36:28.7780926Z           "complete": false,
2026-06-04T05:36:28.7781367Z           "evidence": []
2026-06-04T05:36:28.7781782Z         },
2026-06-04T05:36:28.7782204Z         "impl": {
2026-06-04T05:36:28.7782669Z           "complete": true,
2026-06-04T05:36:28.7783097Z           "evidence": [
2026-06-04T05:36:28.7783509Z             {
2026-06-04T05:36:28.7784099Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T05:36:28.7784523Z               "line": 61
2026-06-04T05:36:28.7784932Z             },
2026-06-04T05:36:28.7785332Z             {
2026-06-04T05:36:28.7785910Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T05:36:28.7786349Z               "line": 169
2026-06-04T05:36:28.7786760Z             },
2026-06-04T05:36:28.7787172Z             {
2026-06-04T05:36:28.7787782Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T05:36:28.7788228Z               "line": 95
2026-06-04T05:36:28.7788635Z             }
2026-06-04T05:36:28.7789039Z           ]
2026-06-04T05:36:28.7789469Z         },
2026-06-04T05:36:28.7789885Z         "int": {
2026-06-04T05:36:28.7790358Z           "complete": false,
2026-06-04T05:36:28.7790796Z           "evidence": []
2026-06-04T05:36:28.7791216Z         },
2026-06-04T05:36:28.7791627Z         "unit": {
2026-06-04T05:36:28.7792086Z           "complete": true,
2026-06-04T05:36:28.7792521Z           "evidence": [
2026-06-04T05:36:28.7792929Z             {
2026-06-04T05:36:28.7793560Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T05:36:28.7793995Z               "line": 28
2026-06-04T05:36:28.7794402Z             },
2026-06-04T05:36:28.7794800Z             {
2026-06-04T05:36:28.7795504Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T05:36:28.7795933Z               "line": 60
2026-06-04T05:36:28.7796335Z             }
2026-06-04T05:36:28.7796747Z           ]
2026-06-04T05:36:28.7797142Z         }
2026-06-04T05:36:28.7797547Z       }
2026-06-04T05:36:28.7797946Z     },
2026-06-04T05:36:28.7798343Z     {
2026-06-04T05:36:28.7798783Z       "id": "REQ-TERM-2",
2026-06-04T05:36:28.7800003Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T05:36:28.7800493Z       "requiredStages": [
2026-06-04T05:36:28.7801033Z         "impl",
2026-06-04T05:36:28.7801448Z         "unit"
2026-06-04T05:36:28.7801849Z       ],
2026-06-04T05:36:28.7802268Z       "stages": {
2026-06-04T05:36:28.7802673Z         "doc": {
2026-06-04T05:36:28.7803133Z           "complete": false,
2026-06-04T05:36:28.7803572Z           "evidence": []
2026-06-04T05:36:28.7803971Z         },
2026-06-04T05:36:28.7804393Z         "impl": {
2026-06-04T05:36:28.7804839Z           "complete": true,
2026-06-04T05:36:28.7805280Z           "evidence": [
2026-06-04T05:36:28.7805680Z             {
2026-06-04T05:36:28.7806287Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T05:36:28.7806731Z               "line": 112
2026-06-04T05:36:28.7807138Z             },
2026-06-04T05:36:28.7807545Z             {
2026-06-04T05:36:28.7808143Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T05:36:28.7808594Z               "line": 122
2026-06-04T05:36:28.7808999Z             }
2026-06-04T05:36:28.7809452Z           ]
2026-06-04T05:36:28.7809870Z         },
2026-06-04T05:36:28.7810274Z         "int": {
2026-06-04T05:36:28.7810740Z           "complete": false,
2026-06-04T05:36:28.7811180Z           "evidence": []
2026-06-04T05:36:28.7811588Z         },
2026-06-04T05:36:28.7811997Z         "unit": {
2026-06-04T05:36:28.7812460Z           "complete": true,
2026-06-04T05:36:28.7812894Z           "evidence": [
2026-06-04T05:36:28.7813295Z             {
2026-06-04T05:36:28.7813929Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T05:36:28.7814358Z               "line": 46
2026-06-04T05:36:28.7814767Z             },
2026-06-04T05:36:28.7815164Z             {
2026-06-04T05:36:28.7815787Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T05:36:28.7816220Z               "line": 71
2026-06-04T05:36:28.7816619Z             }
2026-06-04T05:36:28.7817036Z           ]
2026-06-04T05:36:28.7817433Z         }
2026-06-04T05:36:28.7817834Z       }
2026-06-04T05:36:28.7818222Z     },
2026-06-04T05:36:28.7818631Z     {
2026-06-04T05:36:28.7819081Z       "id": "REQ-TERM-3",
2026-06-04T05:36:28.7819860Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T05:36:28.7823489Z       "requiredStages": [
2026-06-04T05:36:28.7824001Z         "impl",
2026-06-04T05:36:28.7824422Z         "unit"
2026-06-04T05:36:28.7824821Z       ],
2026-06-04T05:36:28.7825250Z       "stages": {
2026-06-04T05:36:28.7825663Z         "doc": {
2026-06-04T05:36:28.7826212Z           "complete": false,
2026-06-04T05:36:28.7826661Z           "evidence": []
2026-06-04T05:36:28.7827061Z         },
2026-06-04T05:36:28.7827490Z         "impl": {
2026-06-04T05:36:28.7827939Z           "complete": true,
2026-06-04T05:36:28.7828377Z           "evidence": [
2026-06-04T05:36:28.7828784Z             {
2026-06-04T05:36:28.7829471Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T05:36:28.7829958Z               "line": 71
2026-06-04T05:36:28.7830372Z             }
2026-06-04T05:36:28.7830781Z           ]
2026-06-04T05:36:28.7831194Z         },
2026-06-04T05:36:28.7831611Z         "int": {
2026-06-04T05:36:28.7832089Z           "complete": false,
2026-06-04T05:36:28.7832528Z           "evidence": []
2026-06-04T05:36:28.7832940Z         },
2026-06-04T05:36:28.7833353Z         "unit": {
2026-06-04T05:36:28.7833813Z           "complete": true,
2026-06-04T05:36:28.7834247Z           "evidence": [
2026-06-04T05:36:28.7834659Z             {
2026-06-04T05:36:28.7835291Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T05:36:28.7835927Z               "line": 37
2026-06-04T05:36:28.7836406Z             },
2026-06-04T05:36:28.7836890Z             {
2026-06-04T05:36:28.7837632Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T05:36:28.7838152Z               "line": 67
2026-06-04T05:36:28.7838611Z             }
2026-06-04T05:36:28.7839063Z           ]
2026-06-04T05:36:28.7839926Z         }
2026-06-04T05:36:28.7840365Z       }
2026-06-04T05:36:28.7840764Z     },
2026-06-04T05:36:28.7841314Z     {
2026-06-04T05:36:28.7841778Z       "id": "REQ-TERM-4",
2026-06-04T05:36:28.7844024Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T05:36:28.7844504Z       "requiredStages": [
2026-06-04T05:36:28.7844919Z         "impl",
2026-06-04T05:36:28.7845337Z         "unit",
2026-06-04T05:36:28.7845744Z         "int"
2026-06-04T05:36:28.7846157Z       ],
2026-06-04T05:36:28.7846592Z       "stages": {
2026-06-04T05:36:28.7847003Z         "doc": {
2026-06-04T05:36:28.7847467Z           "complete": true,
2026-06-04T05:36:28.7847896Z           "evidence": [
2026-06-04T05:36:28.7848307Z             {
2026-06-04T05:36:28.7848804Z               "path": "docs/MANIFEST.md",
2026-06-04T05:36:28.7849299Z               "line": 106
2026-06-04T05:36:28.7850079Z             }
2026-06-04T05:36:28.7850491Z           ]
2026-06-04T05:36:28.7850900Z         },
2026-06-04T05:36:28.7851320Z         "impl": {
2026-06-04T05:36:28.7851785Z           "complete": true,
2026-06-04T05:36:28.7852219Z           "evidence": [
2026-06-04T05:36:28.7852635Z             {
2026-06-04T05:36:28.7853258Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T05:36:28.7853693Z               "line": 448
2026-06-04T05:36:28.7854103Z             },
2026-06-04T05:36:28.7854505Z             {
2026-06-04T05:36:28.7855135Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7855565Z               "line": 41
2026-06-04T05:36:28.7855973Z             },
2026-06-04T05:36:28.7856383Z             {
2026-06-04T05:36:28.7857006Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7857445Z               "line": 91
2026-06-04T05:36:28.7857847Z             },
2026-06-04T05:36:28.7858252Z             {
2026-06-04T05:36:28.7858894Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7859543Z               "line": 152
2026-06-04T05:36:28.7860144Z             },
2026-06-04T05:36:28.7860554Z             {
2026-06-04T05:36:28.7861186Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7861620Z               "line": 212
2026-06-04T05:36:28.7862036Z             },
2026-06-04T05:36:28.7862439Z             {
2026-06-04T05:36:28.7863089Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7863527Z               "line": 20
2026-06-04T05:36:28.7863935Z             },
2026-06-04T05:36:28.7864348Z             {
2026-06-04T05:36:28.7864987Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7865424Z               "line": 212
2026-06-04T05:36:28.7865822Z             },
2026-06-04T05:36:28.7866237Z             {
2026-06-04T05:36:28.7866900Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7867339Z               "line": 226
2026-06-04T05:36:28.7867760Z             },
2026-06-04T05:36:28.7868168Z             {
2026-06-04T05:36:28.7868825Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.7869322Z               "line": 574
2026-06-04T05:36:28.7869935Z             },
2026-06-04T05:36:28.7870356Z             {
2026-06-04T05:36:28.7870973Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7871427Z               "line": 157
2026-06-04T05:36:28.7871839Z             },
2026-06-04T05:36:28.7872263Z             {
2026-06-04T05:36:28.7872881Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7873334Z               "line": 199
2026-06-04T05:36:28.7873766Z             },
2026-06-04T05:36:28.7874184Z             {
2026-06-04T05:36:28.7874956Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7875404Z               "line": 226
2026-06-04T05:36:28.7875845Z             },
2026-06-04T05:36:28.7876256Z             {
2026-06-04T05:36:28.7876950Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7877412Z               "line": 211
2026-06-04T05:36:28.7877820Z             }
2026-06-04T05:36:28.7878395Z           ]
2026-06-04T05:36:28.7878794Z         },
2026-06-04T05:36:28.7879255Z         "int": {
2026-06-04T05:36:28.7880024Z           "complete": true,
2026-06-04T05:36:28.7880463Z           "evidence": [
2026-06-04T05:36:28.7880878Z             {
2026-06-04T05:36:28.7881528Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T05:36:28.7881969Z               "line": 18
2026-06-04T05:36:28.7882370Z             }
2026-06-04T05:36:28.7882784Z           ]
2026-06-04T05:36:28.7883193Z         },
2026-06-04T05:36:28.7883601Z         "unit": {
2026-06-04T05:36:28.7884061Z           "complete": true,
2026-06-04T05:36:28.7884496Z           "evidence": [
2026-06-04T05:36:28.7884906Z             {
2026-06-04T05:36:28.7885529Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7885973Z               "line": 250
2026-06-04T05:36:28.7886404Z             },
2026-06-04T05:36:28.7886802Z             {
2026-06-04T05:36:28.7887431Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7887880Z               "line": 263
2026-06-04T05:36:28.7888286Z             },
2026-06-04T05:36:28.7888681Z             {
2026-06-04T05:36:28.7889353Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7889798Z               "line": 275
2026-06-04T05:36:28.7890207Z             },
2026-06-04T05:36:28.7890620Z             {
2026-06-04T05:36:28.7891250Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7891694Z               "line": 290
2026-06-04T05:36:28.7892098Z             },
2026-06-04T05:36:28.7892512Z             {
2026-06-04T05:36:28.7893152Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7893593Z               "line": 305
2026-06-04T05:36:28.7894005Z             },
2026-06-04T05:36:28.7894405Z             {
2026-06-04T05:36:28.7895047Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7895489Z               "line": 327
2026-06-04T05:36:28.7895908Z             },
2026-06-04T05:36:28.7896325Z             {
2026-06-04T05:36:28.7896946Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7897389Z               "line": 337
2026-06-04T05:36:28.7897791Z             },
2026-06-04T05:36:28.7898197Z             {
2026-06-04T05:36:28.7898825Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T05:36:28.7899305Z               "line": 364
2026-06-04T05:36:28.7899728Z             },
2026-06-04T05:36:28.7900129Z             {
2026-06-04T05:36:28.7900791Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7901235Z               "line": 338
2026-06-04T05:36:28.7901654Z             },
2026-06-04T05:36:28.7902073Z             {
2026-06-04T05:36:28.7906816Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7907381Z               "line": 350
2026-06-04T05:36:28.7907825Z             },
2026-06-04T05:36:28.7908242Z             {
2026-06-04T05:36:28.7908889Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7909448Z               "line": 367
2026-06-04T05:36:28.7909867Z             },
2026-06-04T05:36:28.7910275Z             {
2026-06-04T05:36:28.7910937Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T05:36:28.7911373Z               "line": 378
2026-06-04T05:36:28.7911787Z             },
2026-06-04T05:36:28.7912190Z             {
2026-06-04T05:36:28.7912843Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.7913295Z               "line": 759
2026-06-04T05:36:28.7913694Z             },
2026-06-04T05:36:28.7914104Z             {
2026-06-04T05:36:28.7914740Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.7915189Z               "line": 766
2026-06-04T05:36:28.7915587Z             },
2026-06-04T05:36:28.7916000Z             {
2026-06-04T05:36:28.7916928Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.7917378Z               "line": 781
2026-06-04T05:36:28.7917928Z             },
2026-06-04T05:36:28.7918325Z             {
2026-06-04T05:36:28.7918928Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7919404Z               "line": 381
2026-06-04T05:36:28.7919820Z             },
2026-06-04T05:36:28.7920232Z             {
2026-06-04T05:36:28.7920822Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7921268Z               "line": 402
2026-06-04T05:36:28.7921673Z             },
2026-06-04T05:36:28.7922080Z             {
2026-06-04T05:36:28.7922666Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7923108Z               "line": 415
2026-06-04T05:36:28.7923520Z             },
2026-06-04T05:36:28.7923923Z             {
2026-06-04T05:36:28.7924519Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7924951Z               "line": 434
2026-06-04T05:36:28.7925374Z             },
2026-06-04T05:36:28.7925774Z             {
2026-06-04T05:36:28.7926369Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T05:36:28.7926827Z               "line": 461
2026-06-04T05:36:28.7927232Z             },
2026-06-04T05:36:28.7927641Z             {
2026-06-04T05:36:28.7928250Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T05:36:28.7928695Z               "line": 32
2026-06-04T05:36:28.7929112Z             },
2026-06-04T05:36:28.7929556Z             {
2026-06-04T05:36:28.7930103Z               "path": "crates/spt/src/cli.rs",
2026-06-04T05:36:28.7930534Z               "line": 857
2026-06-04T05:36:28.7930942Z             }
2026-06-04T05:36:28.7931361Z           ]
2026-06-04T05:36:28.7931840Z         }
2026-06-04T05:36:28.7932248Z       }
2026-06-04T05:36:28.7932651Z     },
2026-06-04T05:36:28.7933053Z     {
2026-06-04T05:36:28.7933504Z       "id": "REQ-UPD-1",
2026-06-04T05:36:28.7934123Z       "title": "Peer-propagated update over P2P",
2026-06-04T05:36:28.7934611Z       "requiredStages": [],
2026-06-04T05:36:28.7935040Z       "stages": {
2026-06-04T05:36:28.7935461Z         "doc": {
2026-06-04T05:36:28.7935974Z           "complete": false,
2026-06-04T05:36:28.7936417Z           "evidence": []
2026-06-04T05:36:28.7936822Z         },
2026-06-04T05:36:28.7937235Z         "impl": {
2026-06-04T05:36:28.7937691Z           "complete": false,
2026-06-04T05:36:28.7938134Z           "evidence": []
2026-06-04T05:36:28.7938531Z         },
2026-06-04T05:36:28.7938948Z         "int": {
2026-06-04T05:36:28.7939466Z           "complete": false,
2026-06-04T05:36:28.7939901Z           "evidence": []
2026-06-04T05:36:28.7940308Z         },
2026-06-04T05:36:28.7940719Z         "unit": {
2026-06-04T05:36:28.7941178Z           "complete": false,
2026-06-04T05:36:28.7941610Z           "evidence": []
2026-06-04T05:36:28.7942014Z         }
2026-06-04T05:36:28.7942420Z       }
2026-06-04T05:36:28.7942813Z     },
2026-06-04T05:36:28.7943216Z     {
2026-06-04T05:36:28.7943661Z       "id": "REQ-UPD-2",
2026-06-04T05:36:28.7944454Z       "title": "All binaries signature-verified before handoff",
2026-06-04T05:36:28.7944924Z       "requiredStages": [
2026-06-04T05:36:28.7945435Z         "impl",
2026-06-04T05:36:28.7945853Z         "unit"
2026-06-04T05:36:28.7946251Z       ],
2026-06-04T05:36:28.7946680Z       "stages": {
2026-06-04T05:36:28.7947088Z         "doc": {
2026-06-04T05:36:28.7947557Z           "complete": false,
2026-06-04T05:36:28.7947998Z           "evidence": []
2026-06-04T05:36:28.7948417Z         },
2026-06-04T05:36:28.7948840Z         "impl": {
2026-06-04T05:36:28.7949331Z           "complete": true,
2026-06-04T05:36:28.7949778Z           "evidence": [
2026-06-04T05:36:28.7950179Z             {
2026-06-04T05:36:28.7950810Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7951237Z               "line": 29
2026-06-04T05:36:28.7951648Z             },
2026-06-04T05:36:28.7952054Z             {
2026-06-04T05:36:28.7952840Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7953288Z               "line": 158
2026-06-04T05:36:28.7953812Z             },
2026-06-04T05:36:28.7954221Z             {
2026-06-04T05:36:28.7954845Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7955291Z               "line": 239
2026-06-04T05:36:28.7955702Z             },
2026-06-04T05:36:28.7956098Z             {
2026-06-04T05:36:28.7956725Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.7957157Z               "line": 149
2026-06-04T05:36:28.7957564Z             }
2026-06-04T05:36:28.7957971Z           ]
2026-06-04T05:36:28.7958370Z         },
2026-06-04T05:36:28.7958785Z         "int": {
2026-06-04T05:36:28.7959282Z           "complete": false,
2026-06-04T05:36:28.7959734Z           "evidence": []
2026-06-04T05:36:28.7960138Z         },
2026-06-04T05:36:28.7960559Z         "unit": {
2026-06-04T05:36:28.7961004Z           "complete": true,
2026-06-04T05:36:28.7961455Z           "evidence": [
2026-06-04T05:36:28.7961868Z             {
2026-06-04T05:36:28.7962495Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7962952Z               "line": 336
2026-06-04T05:36:28.7963350Z             },
2026-06-04T05:36:28.7963756Z             {
2026-06-04T05:36:28.7964374Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7964809Z               "line": 350
2026-06-04T05:36:28.7965213Z             },
2026-06-04T05:36:28.7965604Z             {
2026-06-04T05:36:28.7966232Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7966664Z               "line": 361
2026-06-04T05:36:28.7967076Z             },
2026-06-04T05:36:28.7967476Z             {
2026-06-04T05:36:28.7968097Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.7968536Z               "line": 437
2026-06-04T05:36:28.7968936Z             },
2026-06-04T05:36:28.7969413Z             {
2026-06-04T05:36:28.7970054Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.7970504Z               "line": 326
2026-06-04T05:36:28.7970914Z             },
2026-06-04T05:36:28.7971326Z             {
2026-06-04T05:36:28.7971957Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.7972391Z               "line": 339
2026-06-04T05:36:28.7972800Z             }
2026-06-04T05:36:28.7973204Z           ]
2026-06-04T05:36:28.7973617Z         }
2026-06-04T05:36:28.7974024Z       }
2026-06-04T05:36:28.7974418Z     },
2026-06-04T05:36:28.7974820Z     {
2026-06-04T05:36:28.7975258Z       "id": "REQ-UPD-3",
2026-06-04T05:36:28.7976241Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T05:36:28.7976698Z       "requiredStages": [
2026-06-04T05:36:28.7977112Z         "impl",
2026-06-04T05:36:28.7977520Z         "unit",
2026-06-04T05:36:28.7977925Z         "int"
2026-06-04T05:36:28.7978325Z       ],
2026-06-04T05:36:28.7978741Z       "stages": {
2026-06-04T05:36:28.7979198Z         "doc": {
2026-06-04T05:36:28.7979671Z           "complete": false,
2026-06-04T05:36:28.7980120Z           "evidence": []
2026-06-04T05:36:28.7980544Z         },
2026-06-04T05:36:28.7980959Z         "impl": {
2026-06-04T05:36:28.7981416Z           "complete": true,
2026-06-04T05:36:28.7981848Z           "evidence": [
2026-06-04T05:36:28.7985494Z             {
2026-06-04T05:36:28.7986229Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.7986716Z               "line": 26
2026-06-04T05:36:28.7987341Z             },
2026-06-04T05:36:28.7987804Z             {
2026-06-04T05:36:28.7988587Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.7989111Z               "line": 111
2026-06-04T05:36:28.7989836Z             },
2026-06-04T05:36:28.7990248Z             {
2026-06-04T05:36:28.7990897Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.7991352Z               "line": 213
2026-06-04T05:36:28.7991754Z             }
2026-06-04T05:36:28.7992462Z           ]
2026-06-04T05:36:28.7992887Z         },
2026-06-04T05:36:28.7993314Z         "int": {
2026-06-04T05:36:28.7993915Z           "complete": true,
2026-06-04T05:36:28.7994356Z           "evidence": [
2026-06-04T05:36:28.7994765Z             {
2026-06-04T05:36:28.7995456Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T05:36:28.7995902Z               "line": 23
2026-06-04T05:36:28.7996304Z             }
2026-06-04T05:36:28.7996827Z           ]
2026-06-04T05:36:28.7997220Z         },
2026-06-04T05:36:28.7997637Z         "unit": {
2026-06-04T05:36:28.7998101Z           "complete": true,
2026-06-04T05:36:28.7998537Z           "evidence": [
2026-06-04T05:36:28.7998944Z             {
2026-06-04T05:36:28.7999619Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.8000064Z               "line": 238
2026-06-04T05:36:28.8000463Z             },
2026-06-04T05:36:28.8000867Z             {
2026-06-04T05:36:28.8001513Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.8001950Z               "line": 262
2026-06-04T05:36:28.8002366Z             },
2026-06-04T05:36:28.8002774Z             {
2026-06-04T05:36:28.8003405Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.8003836Z               "line": 273
2026-06-04T05:36:28.8004249Z             },
2026-06-04T05:36:28.8004658Z             {
2026-06-04T05:36:28.8005280Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T05:36:28.8005719Z               "line": 286
2026-06-04T05:36:28.8006121Z             }
2026-06-04T05:36:28.8006583Z           ]
2026-06-04T05:36:28.8006975Z         }
2026-06-04T05:36:28.8007375Z       }
2026-06-04T05:36:28.8007780Z     },
2026-06-04T05:36:28.8008176Z     {
2026-06-04T05:36:28.8008626Z       "id": "REQ-UPD-4",
2026-06-04T05:36:28.8009701Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T05:36:28.8010167Z       "requiredStages": [
2026-06-04T05:36:28.8010578Z         "impl",
2026-06-04T05:36:28.8011003Z         "unit"
2026-06-04T05:36:28.8011415Z       ],
2026-06-04T05:36:28.8011833Z       "stages": {
2026-06-04T05:36:28.8012251Z         "doc": {
2026-06-04T05:36:28.8012703Z           "complete": false,
2026-06-04T05:36:28.8013144Z           "evidence": []
2026-06-04T05:36:28.8013539Z         },
2026-06-04T05:36:28.8013961Z         "impl": {
2026-06-04T05:36:28.8014418Z           "complete": true,
2026-06-04T05:36:28.8014847Z           "evidence": [
2026-06-04T05:36:28.8015256Z             {
2026-06-04T05:36:28.8015882Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T05:36:28.8016323Z               "line": 23
2026-06-04T05:36:28.8016728Z             },
2026-06-04T05:36:28.8017132Z             {
2026-06-04T05:36:28.8017765Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T05:36:28.8018201Z               "line": 60
2026-06-04T05:36:28.8018612Z             },
2026-06-04T05:36:28.8019016Z             {
2026-06-04T05:36:28.8019701Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T05:36:28.8020134Z               "line": 79
2026-06-04T05:36:28.8020544Z             },
2026-06-04T05:36:28.8020958Z             {
2026-06-04T05:36:28.8021599Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T05:36:28.8022045Z               "line": 179
2026-06-04T05:36:28.8022444Z             },
2026-06-04T05:36:28.8022851Z             {
2026-06-04T05:36:28.8023429Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.8023876Z               "line": 114
2026-06-04T05:36:28.8024280Z             }
2026-06-04T05:36:28.8024671Z           ]
2026-06-04T05:36:28.8025076Z         },
2026-06-04T05:36:28.8025489Z         "int": {
2026-06-04T05:36:28.8025950Z           "complete": false,
2026-06-04T05:36:28.8026382Z           "evidence": []
2026-06-04T05:36:28.8026787Z         },
2026-06-04T05:36:28.8027203Z         "unit": {
2026-06-04T05:36:28.8027657Z           "complete": true,
2026-06-04T05:36:28.8028258Z           "evidence": [
2026-06-04T05:36:28.8028677Z             {
2026-06-04T05:36:28.8029356Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T05:36:28.8029975Z               "line": 217
2026-06-04T05:36:28.8030392Z             },
2026-06-04T05:36:28.8030796Z             {
2026-06-04T05:36:28.8031423Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T05:36:28.8031867Z               "line": 118
2026-06-04T05:36:28.8032269Z             },
2026-06-04T05:36:28.8032676Z             {
2026-06-04T05:36:28.8033303Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T05:36:28.8033756Z               "line": 133
2026-06-04T05:36:28.8034165Z             },
2026-06-04T05:36:28.8034562Z             {
2026-06-04T05:36:28.8035193Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T05:36:28.8035622Z               "line": 152
2026-06-04T05:36:28.8036028Z             },
2026-06-04T05:36:28.8036422Z             {
2026-06-04T05:36:28.8037023Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T05:36:28.8037475Z               "line": 258
2026-06-04T05:36:28.8037877Z             },
2026-06-04T05:36:28.8038294Z             {
2026-06-04T05:36:28.8038881Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T05:36:28.8039366Z               "line": 433
2026-06-04T05:36:28.8039778Z             }
2026-06-04T05:36:28.8040183Z           ]
2026-06-04T05:36:28.8040583Z         }
2026-06-04T05:36:28.8040980Z       }
2026-06-04T05:36:28.8041382Z     },
2026-06-04T05:36:28.8041771Z     {
2026-06-04T05:36:28.8042220Z       "id": "REQ-UPD-5",
2026-06-04T05:36:28.8042977Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T05:36:28.8043450Z       "requiredStages": [
2026-06-04T05:36:28.8043867Z         "impl",
2026-06-04T05:36:28.8044267Z         "unit"
2026-06-04T05:36:28.8044668Z       ],
2026-06-04T05:36:28.8045079Z       "stages": {
2026-06-04T05:36:28.8045485Z         "doc": {
2026-06-04T05:36:28.8045928Z           "complete": false,
2026-06-04T05:36:28.8046384Z           "evidence": []
2026-06-04T05:36:28.8046796Z         },
2026-06-04T05:36:28.8047202Z         "impl": {
2026-06-04T05:36:28.8047665Z           "complete": true,
2026-06-04T05:36:28.8048092Z           "evidence": [
2026-06-04T05:36:28.8048497Z             {
2026-06-04T05:36:28.8049227Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8049664Z               "line": 27
2026-06-04T05:36:28.8050073Z             },
2026-06-04T05:36:28.8050482Z             {
2026-06-04T05:36:28.8051191Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8051619Z               "line": 82
2026-06-04T05:36:28.8052026Z             },
2026-06-04T05:36:28.8052435Z             {
2026-06-04T05:36:28.8053137Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8053586Z               "line": 134
2026-06-04T05:36:28.8053984Z             },
2026-06-04T05:36:28.8054392Z             {
2026-06-04T05:36:28.8055024Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.8055472Z               "line": 198
2026-06-04T05:36:28.8055896Z             },
2026-06-04T05:36:28.8056390Z             {
2026-06-04T05:36:28.8057021Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T05:36:28.8057452Z               "line": 226
2026-06-04T05:36:28.8057861Z             }
2026-06-04T05:36:28.8058263Z           ]
2026-06-04T05:36:28.8058672Z         },
2026-06-04T05:36:28.8059085Z         "int": {
2026-06-04T05:36:28.8059577Z           "complete": false,
2026-06-04T05:36:28.8060022Z           "evidence": []
2026-06-04T05:36:28.8060424Z         },
2026-06-04T05:36:28.8060847Z         "unit": {
2026-06-04T05:36:28.8061300Z           "complete": true,
2026-06-04T05:36:28.8061741Z           "evidence": [
2026-06-04T05:36:28.8065649Z             {
2026-06-04T05:36:28.8066500Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8066955Z               "line": 194
2026-06-04T05:36:28.8067608Z             },
2026-06-04T05:36:28.8068040Z             {
2026-06-04T05:36:28.8068742Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8069407Z               "line": 208
2026-06-04T05:36:28.8069826Z             },
2026-06-04T05:36:28.8070223Z             {
2026-06-04T05:36:28.8070934Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8071369Z               "line": 222
2026-06-04T05:36:28.8071778Z             },
2026-06-04T05:36:28.8072174Z             {
2026-06-04T05:36:28.8072890Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8073331Z               "line": 236
2026-06-04T05:36:28.8073735Z             },
2026-06-04T05:36:28.8074145Z             {
2026-06-04T05:36:28.8074843Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T05:36:28.8075288Z               "line": 270
2026-06-04T05:36:28.8075694Z             },
2026-06-04T05:36:28.8076107Z             {
2026-06-04T05:36:28.8076772Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T05:36:28.8077210Z               "line": 729
2026-06-04T05:36:28.8077632Z             }
2026-06-04T05:36:28.8078030Z           ]
2026-06-04T05:36:28.8078442Z         }
2026-06-04T05:36:28.8078839Z       }
2026-06-04T05:36:28.8079269Z     }
2026-06-04T05:36:28.8079668Z   ],
2026-06-04T05:36:28.8080097Z   "findings": []
2026-06-04T05:36:28.8080501Z }
2026-06-04T05:36:28.8167377Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T05:36:28.8167964Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T05:36:28.8190982Z shell: /usr/bin/bash -e {0}
2026-06-04T05:36:28.8191405Z ##[endgroup]
2026-06-04T05:36:28.8393905Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T05:36:28.8398532Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8415774Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T05:36:28.8420401Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T05:36:28.8425535Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8431147Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8435614Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T05:36:28.8439864Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T05:36:28.8444601Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8450229Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8455250Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T05:36:28.8459561Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T05:36:28.8463082Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T05:36:28.8466310Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T05:36:28.8470636Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8475211Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T05:36:28.8479125Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T05:36:28.8482718Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T05:36:28.8484950Z 
2026-06-04T05:36:28.8485535Z # Requirement quality review
2026-06-04T05:36:28.8486337Z 
2026-06-04T05:36:28.8487481Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T05:36:28.8490367Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T05:36:28.8493161Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T05:36:28.8495575Z this command's output. Your task is the rubric items below.
2026-06-04T05:36:28.8496830Z 
2026-06-04T05:36:28.8497245Z ## Rubric
2026-06-04T05:36:28.8497779Z 
2026-06-04T05:36:28.8499120Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T05:36:28.8502478Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T05:36:28.8505107Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T05:36:28.8507325Z - **active-voice** — clear subject and active verb.
2026-06-04T05:36:28.8508437Z 
2026-06-04T05:36:28.8509650Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T05:36:28.8511665Z clear concerns.
2026-06-04T05:36:28.8512592Z 
2026-06-04T05:36:28.8513327Z ## Requirements
2026-06-04T05:36:28.8513960Z 
2026-06-04T05:36:28.8514386Z ### REQ-ARCH-1
2026-06-04T05:36:28.8515549Z - Title: Many small acyclically-layered crates
2026-06-04T05:36:28.8517070Z - Required stages: impl
2026-06-04T05:36:28.8517766Z 
2026-06-04T05:36:28.8518198Z ### REQ-ARCH-2
2026-06-04T05:36:28.8519629Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T05:36:28.8521380Z - Required stages: impl
2026-06-04T05:36:28.8522085Z 
2026-06-04T05:36:28.8522505Z ### REQ-ARCH-3
2026-06-04T05:36:28.8524139Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T05:36:28.8526195Z - Required stages: impl, unit
2026-06-04T05:36:28.8527051Z 
2026-06-04T05:36:28.8527479Z ### REQ-ARCH-4
2026-06-04T05:36:28.8528920Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T05:36:28.8531168Z - Required stages: impl, unit
2026-06-04T05:36:28.8531969Z 
2026-06-04T05:36:28.8532403Z ### REQ-DAEMON-1
2026-06-04T05:36:28.8533827Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T05:36:28.8535638Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8536516Z 
2026-06-04T05:36:28.8536943Z ### REQ-DAEMON-2
2026-06-04T05:36:28.8538204Z - Title: Broker/brain split for seamless self-update
2026-06-04T05:36:28.8539862Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8540726Z 
2026-06-04T05:36:28.8541158Z ### REQ-DAEMON-3
2026-06-04T05:36:28.8542515Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T05:36:28.8544246Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8545129Z 
2026-06-04T05:36:28.8545552Z ### REQ-DAEMON-4
2026-06-04T05:36:28.8546704Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T05:36:28.8548225Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8549103Z 
2026-06-04T05:36:28.8549572Z ### REQ-STORE-1
2026-06-04T05:36:28.8555704Z - 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-04T05:36:28.8562147Z - Required stages: impl, unit
2026-06-04T05:36:28.8562958Z 
2026-06-04T05:36:28.8563386Z ### REQ-MANIFEST-1
2026-06-04T05:36:28.8564948Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T05:36:28.8566912Z - Required stages: doc, impl, unit
2026-06-04T05:36:28.8567773Z 
2026-06-04T05:36:28.8568216Z ### REQ-SEAM-SPAWN
2026-06-04T05:36:28.8569327Z - Title: spawn-session seam
2026-06-04T05:36:28.8570556Z - Required stages: impl, unit
2026-06-04T05:36:28.8571584Z 
2026-06-04T05:36:28.8572048Z ### REQ-SEAM-POSTSPAWN
2026-06-04T05:36:28.8573351Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T05:36:28.8574955Z - Required stages: impl, unit
2026-06-04T05:36:28.8575766Z 
2026-06-04T05:36:28.8576223Z ### REQ-SEAM-PSYCHE
2026-06-04T05:36:28.8577522Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T05:36:28.8579153Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8580065Z 
2026-06-04T05:36:28.8580514Z ### REQ-SEAM-HISTORY
2026-06-04T05:36:28.8582089Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T05:36:28.8584035Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8584908Z 
2026-06-04T05:36:28.8585353Z ### REQ-SEAM-ACTIVITY
2026-06-04T05:36:28.8586951Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T05:36:28.8588862Z - Required stages: impl, unit
2026-06-04T05:36:28.8589696Z 
2026-06-04T05:36:28.8596265Z ### REQ-SEAM-INJECT
2026-06-04T05:36:28.8597908Z - Title: inject-input methods configurable per activity-state
2026-06-04T05:36:28.8599810Z - Required stages: impl, unit
2026-06-04T05:36:28.8600625Z 
2026-06-04T05:36:28.8601067Z ### REQ-SEAM-RESUME
2026-06-04T05:36:28.8602635Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T05:36:28.8604849Z - Required stages: impl, unit
2026-06-04T05:36:28.8605674Z 
2026-06-04T05:36:28.8606145Z ### REQ-SEAM-CAPABILITY
2026-06-04T05:36:28.8607549Z - Title: Hostable endpoint-types capability declaration
2026-06-04T05:36:28.8609255Z - Required stages: impl, unit
2026-06-04T05:36:28.8610074Z 
2026-06-04T05:36:28.8610512Z ### REQ-SEAM-UPDATE
2026-06-04T05:36:28.8611950Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T05:36:28.8613730Z - Required stages: impl, unit
2026-06-04T05:36:28.8614544Z 
2026-06-04T05:36:28.8614967Z ### REQ-API-1
2026-06-04T05:36:28.8616368Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T05:36:28.8618208Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8619073Z 
2026-06-04T05:36:28.8619529Z ### REQ-API-2
2026-06-04T05:36:28.8621178Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T05:36:28.8623267Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8624153Z 
2026-06-04T05:36:28.8624567Z ### REQ-API-3
2026-06-04T05:36:28.8625793Z - Title: commune/signoff are file-drops, not commands
2026-06-04T05:36:28.8627424Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8628298Z 
2026-06-04T05:36:28.8628730Z ### REQ-START-1
2026-06-04T05:36:28.8630350Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T05:36:28.8632345Z - Required stages: impl, unit
2026-06-04T05:36:28.8633156Z 
2026-06-04T05:36:28.8633577Z ### REQ-START-2
2026-06-04T05:36:28.8634817Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T05:36:28.8636455Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8637331Z 
2026-06-04T05:36:28.8637775Z ### REQ-START-3
2026-06-04T05:36:28.8639270Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T05:36:28.8641125Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8642001Z 
2026-06-04T05:36:28.8642419Z ### REQ-START-4
2026-06-04T05:36:28.8643651Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T05:36:28.8645252Z - Required stages: impl, unit
2026-06-04T05:36:28.8646122Z 
2026-06-04T05:36:28.8646535Z ### REQ-EP-1
2026-06-04T05:36:28.8647693Z - Title: Day-one endpoint types; open type system
2026-06-04T05:36:28.8649295Z - Required stages: impl, unit
2026-06-04T05:36:28.8650103Z 
2026-06-04T05:36:28.8650523Z ### REQ-EP-2
2026-06-04T05:36:28.8651908Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T05:36:28.8653715Z - Required stages: impl, unit
2026-06-04T05:36:28.8654520Z 
2026-06-04T05:36:28.8654920Z ### REQ-EP-3
2026-06-04T05:36:28.8656441Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T05:36:28.8658630Z - Required stages: impl, unit
2026-06-04T05:36:28.8659482Z 
2026-06-04T05:36:28.8659909Z ### REQ-EP-4
2026-06-04T05:36:28.8661179Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T05:36:28.8662838Z - Required stages: impl, unit
2026-06-04T05:36:28.8663653Z 
2026-06-04T05:36:28.8664071Z ### REQ-EP-5
2026-06-04T05:36:28.8668847Z - 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-04T05:36:28.8674112Z - Required stages: 
2026-06-04T05:36:28.8674736Z 
2026-06-04T05:36:28.8675167Z ### REQ-INST-1
2026-06-04T05:36:28.8676511Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T05:36:28.8678205Z - Required stages: 
2026-06-04T05:36:28.8678847Z 
2026-06-04T05:36:28.8679294Z ### REQ-INST-2
2026-06-04T05:36:28.8680420Z - Title: Per-node files, synced Psyche mind
2026-06-04T05:36:28.8681897Z - Required stages: impl, unit
2026-06-04T05:36:28.8682707Z 
2026-06-04T05:36:28.8683128Z ### REQ-INST-3
2026-06-04T05:36:28.8684410Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T05:36:28.8686021Z - Required stages: 
2026-06-04T05:36:28.8686643Z 
2026-06-04T05:36:28.8687211Z ### REQ-INST-4
2026-06-04T05:36:28.8688686Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T05:36:28.8690552Z - Required stages: 
2026-06-04T05:36:28.8691187Z 
2026-06-04T05:36:28.8691601Z ### REQ-INST-5
2026-06-04T05:36:28.8693068Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T05:36:28.8694890Z - Required stages: 
2026-06-04T05:36:28.8695515Z 
2026-06-04T05:36:28.8695934Z ### REQ-INST-6
2026-06-04T05:36:28.8697452Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T05:36:28.8699369Z - Required stages: 
2026-06-04T05:36:28.8700008Z 
2026-06-04T05:36:28.8700420Z ### REQ-INST-7
2026-06-04T05:36:28.8701636Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T05:36:28.8703278Z - Required stages: impl, unit
2026-06-04T05:36:28.8704092Z 
2026-06-04T05:36:28.8704512Z ### REQ-INST-8
2026-06-04T05:36:28.8705826Z - Title: Remote-control mode distinct from local operation
2026-06-04T05:36:28.8707537Z - Required stages: impl, unit
2026-06-04T05:36:28.8708351Z 
2026-06-04T05:36:28.8708774Z ### REQ-INST-9
2026-06-04T05:36:28.8710345Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T05:36:28.8712301Z - Required stages: impl, unit
2026-06-04T05:36:28.8713112Z 
2026-06-04T05:36:28.8713538Z ### REQ-INST-10
2026-06-04T05:36:28.8715243Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T05:36:28.8717355Z - Required stages: impl, unit
2026-06-04T05:36:28.8718159Z 
2026-06-04T05:36:28.8718765Z ### REQ-INST-11
2026-06-04T05:36:28.8720655Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T05:36:28.8723259Z - Required stages: impl, unit
2026-06-04T05:36:28.8724150Z 
2026-06-04T05:36:28.8724618Z ### REQ-INST-12
2026-06-04T05:36:28.8734567Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T05:36:28.8737269Z - Required stages: impl, unit
2026-06-04T05:36:28.8738111Z 
2026-06-04T05:36:28.8738539Z ### REQ-INST-13
2026-06-04T05:36:28.8740123Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T05:36:28.8742034Z - Required stages: impl, unit
2026-06-04T05:36:28.8742837Z 
2026-06-04T05:36:28.8743251Z ### REQ-INST-14
2026-06-04T05:36:28.8746047Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T05:36:28.8749249Z - Required stages: 
2026-06-04T05:36:28.8749878Z 
2026-06-04T05:36:28.8750302Z ### REQ-INST-15
2026-06-04T05:36:28.8755458Z - 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-04T05:36:28.8761920Z - Required stages: 
2026-06-04T05:36:28.8762599Z 
2026-06-04T05:36:28.8763043Z ### REQ-REACH-1
2026-06-04T05:36:28.8764429Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T05:36:28.8766309Z - Required stages: impl, unit
2026-06-04T05:36:28.8767159Z 
2026-06-04T05:36:28.8767633Z ### REQ-REACH-2
2026-06-04T05:36:28.8769014Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T05:36:28.8771265Z - Required stages: 
2026-06-04T05:36:28.8771961Z 
2026-06-04T05:36:28.8772400Z ### REQ-MSG-1
2026-06-04T05:36:28.8775821Z - 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-04T05:36:28.8780087Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8781063Z 
2026-06-04T05:36:28.8781522Z ### REQ-MSG-2
2026-06-04T05:36:28.8783602Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T05:36:28.8786102Z - Required stages: impl, unit
2026-06-04T05:36:28.8786917Z 
2026-06-04T05:36:28.8805193Z ### REQ-MSG-3
2026-06-04T05:36:28.8808687Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T05:36:28.8812507Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8813477Z 
2026-06-04T05:36:28.8813985Z ### REQ-NODE-IDENTITY
2026-06-04T05:36:28.8815883Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T05:36:28.8818061Z - Required stages: impl, unit
2026-06-04T05:36:28.8818844Z 
2026-06-04T05:36:28.8819337Z ### REQ-NET-1
2026-06-04T05:36:28.8820800Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T05:36:28.8822680Z - Required stages: impl, unit
2026-06-04T05:36:28.8823518Z 
2026-06-04T05:36:28.8823928Z ### REQ-NET-2
2026-06-04T05:36:28.8825375Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T05:36:28.8827184Z - Required stages: impl
2026-06-04T05:36:28.8827860Z 
2026-06-04T05:36:28.8828288Z ### REQ-NET-3
2026-06-04T05:36:28.8829682Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T05:36:28.8831379Z - Required stages: 
2026-06-04T05:36:28.8832008Z 
2026-06-04T05:36:28.8832427Z ### REQ-PAIR-1
2026-06-04T05:36:28.8833478Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T05:36:28.8834823Z - Required stages: impl, unit
2026-06-04T05:36:28.8835602Z 
2026-06-04T05:36:28.8836026Z ### REQ-PAIR-2
2026-06-04T05:36:28.8837221Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T05:36:28.8838785Z - Required stages: impl, unit
2026-06-04T05:36:28.8839612Z 
2026-06-04T05:36:28.8840032Z ### REQ-PAIR-3
2026-06-04T05:36:28.8841288Z - Title: Fetch current pairing code from any paired node
2026-06-04T05:36:28.8842921Z - Required stages: impl, unit
2026-06-04T05:36:28.8843714Z 
2026-06-04T05:36:28.8844139Z ### REQ-PAIR-4
2026-06-04T05:36:28.8845203Z - Title: Subnet naming on first pairing
2026-06-04T05:36:28.8846581Z - Required stages: impl, unit
2026-06-04T05:36:28.8847364Z 
2026-06-04T05:36:28.8847807Z ### REQ-PAIR-5
2026-06-04T05:36:28.8850091Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T05:36:28.8852737Z - Required stages: impl, unit
2026-06-04T05:36:28.8853531Z 
2026-06-04T05:36:28.8853949Z ### REQ-PAIR-6
2026-06-04T05:36:28.8855933Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T05:36:28.8858309Z - Required stages: impl, unit
2026-06-04T05:36:28.8859095Z 
2026-06-04T05:36:28.8859556Z ### REQ-PAIR-7
2026-06-04T05:36:28.8860911Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T05:36:28.8862594Z - Required stages: 
2026-06-04T05:36:28.8863511Z 
2026-06-04T05:36:28.8863928Z ### REQ-SEC-1
2026-06-04T05:36:28.8866774Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T05:36:28.8870119Z - Required stages: impl, unit
2026-06-04T05:36:28.8870910Z 
2026-06-04T05:36:28.8871335Z ### REQ-NOTIF-1
2026-06-04T05:36:28.8873968Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T05:36:28.8877148Z - Required stages: 
2026-06-04T05:36:28.8877803Z 
2026-06-04T05:36:28.8878234Z ### REQ-NOTIF-2
2026-06-04T05:36:28.8880466Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T05:36:28.8882856Z - Required stages: 
2026-06-04T05:36:28.8883482Z 
2026-06-04T05:36:28.8883897Z ### REQ-UPD-1
2026-06-04T05:36:28.8884975Z - Title: Peer-propagated update over P2P
2026-06-04T05:36:28.8886368Z - Required stages: 
2026-06-04T05:36:28.8886988Z 
2026-06-04T05:36:28.8887407Z ### REQ-UPD-2
2026-06-04T05:36:28.8888631Z - Title: All binaries signature-verified before handoff
2026-06-04T05:36:28.8890294Z - Required stages: impl, unit
2026-06-04T05:36:28.8891101Z 
2026-06-04T05:36:28.8891660Z ### REQ-UPD-3
2026-06-04T05:36:28.8893111Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T05:36:28.8894944Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8895797Z 
2026-06-04T05:36:28.8896221Z ### REQ-UPD-4
2026-06-04T05:36:28.8897687Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T05:36:28.8899610Z - Required stages: impl, unit
2026-06-04T05:36:28.8900415Z 
2026-06-04T05:36:28.8900831Z ### REQ-UPD-5
2026-06-04T05:36:28.8907546Z - Title: spt-core ripple-updates registered adapters
2026-06-04T05:36:28.8909345Z - Required stages: impl, unit
2026-06-04T05:36:28.8910156Z 
2026-06-04T05:36:28.8910594Z ### REQ-TERM-1
2026-06-04T05:36:28.8912089Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T05:36:28.8913947Z - Required stages: impl, unit
2026-06-04T05:36:28.8914768Z 
2026-06-04T05:36:28.8915189Z ### REQ-TERM-2
2026-06-04T05:36:28.8916787Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T05:36:28.8918732Z - Required stages: impl, unit
2026-06-04T05:36:28.8919608Z 
2026-06-04T05:36:28.8920065Z ### REQ-TERM-3
2026-06-04T05:36:28.8921612Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T05:36:28.8923410Z - Required stages: impl, unit
2026-06-04T05:36:28.8924255Z 
2026-06-04T05:36:28.8924708Z ### REQ-TERM-4
2026-06-04T05:36:28.8927504Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T05:36:28.8930807Z - Required stages: impl, unit, int
2026-06-04T05:36:28.8931721Z 
2026-06-04T05:36:28.8932156Z ### REQ-FRONT-1
2026-06-04T05:36:28.8933730Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T05:36:28.8935642Z - Required stages: 
2026-06-04T05:36:28.8936405Z 
2026-06-04T05:36:28.8936862Z ### REQ-INSTALL-1
2026-06-04T05:36:28.8938528Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T05:36:28.8940726Z - Required stages: 
2026-06-04T05:36:28.8941402Z 
2026-06-04T05:36:28.8941836Z ### REQ-INSTALL-2
2026-06-04T05:36:28.8943117Z - Title: Marketplace-repackaging-friendly install
2026-06-04T05:36:28.8944713Z - Required stages: 
2026-06-04T05:36:28.8945359Z 
2026-06-04T05:36:28.8945882Z ### REQ-INSTALL-3
2026-06-04T05:36:28.8947138Z - Title: Idempotent + interactive-optional first run
2026-06-04T05:36:28.8948714Z - Required stages: 
2026-06-04T05:36:28.8949545Z 
2026-06-04T05:36:28.8950120Z ### REQ-INSTALL-4
2026-06-04T05:36:28.8954731Z - 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-04T05:36:28.8960318Z - Required stages: 
2026-06-04T05:36:28.8960992Z 
2026-06-04T05:36:28.8961442Z ### REQ-MIGRATE-1
2026-06-04T05:36:28.8962977Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T05:36:28.8964821Z - Required stages: 
2026-06-04T05:36:28.8965485Z 
2026-06-04T05:36:28.8965942Z ### REQ-INFRA-1
2026-06-04T05:36:28.8967505Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T05:36:28.8969618Z - Required stages: 
2026-06-04T05:36:28.8970264Z 
2026-06-04T05:36:28.8970678Z ### REQ-DOCS-1
2026-06-04T05:36:28.8972285Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T05:36:28.8974526Z - Required stages: 
2026-06-04T05:36:28.8975180Z 
2026-06-04T05:36:28.8975732Z ### REQ-DOCS-2
2026-06-04T05:36:28.8977167Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T05:36:28.8978935Z - Required stages: 
2026-06-04T05:36:28.8979648Z 
2026-06-04T05:36:28.8980101Z ### REQ-DOCS-3
2026-06-04T05:36:28.8981756Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T05:36:28.8983419Z - Required stages: 
2026-06-04T05:36:28.8984076Z 
2026-06-04T05:36:28.8984527Z ### REQ-DOCS-4
2026-06-04T05:36:28.8986382Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T05:36:28.8988472Z - Required stages: 
2026-06-04T05:36:28.8989132Z 
2026-06-04T05:36:28.8989754Z ### REQ-DOCS-5
2026-06-04T05:36:28.8991339Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T05:36:28.8993489Z - Required stages: 
2026-06-04T05:36:28.8994170Z 
2026-06-04T05:36:28.8994720Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T05:36:28.8996668Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T05:36:28.8998712Z - Required stages: impl, unit
2026-06-04T05:36:28.8999712Z 
2026-06-04T05:36:28.9000259Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T05:36:28.9001891Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T05:36:28.9003623Z - Required stages: impl, unit
2026-06-04T05:36:28.9004440Z 
2026-06-04T05:36:28.9004940Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T05:36:28.9006400Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T05:36:28.9007941Z - Required stages: 
2026-06-04T05:36:28.9008584Z 
2026-06-04T05:36:28.9009092Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T05:36:28.9010900Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T05:36:28.9012853Z - Required stages: impl, unit
2026-06-04T05:36:28.9013655Z 
2026-06-04T05:36:28.9014134Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T05:36:28.9015809Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T05:36:28.9017739Z - Required stages: impl, unit
2026-06-04T05:36:28.9018545Z 
2026-06-04T05:36:28.9019077Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T05:36:28.9020964Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T05:36:28.9022924Z - Required stages: 
2026-06-04T05:36:28.9023563Z 
2026-06-04T05:36:28.9024066Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T05:36:28.9025520Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T05:36:28.9027066Z - Required stages: 
2026-06-04T05:36:28.9027718Z 
2026-06-04T05:36:28.9028263Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T05:36:28.9030005Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T05:36:28.9031817Z - Required stages: impl, unit
2026-06-04T05:36:28.9032631Z 
2026-06-04T05:36:28.9033136Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T05:36:28.9034636Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T05:36:28.9036303Z - Required stages: impl, int
2026-06-04T05:36:28.9037100Z 
2026-06-04T05:36:28.9037618Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T05:36:28.9039488Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T05:36:28.9041479Z - Required stages: impl, unit
2026-06-04T05:36:28.9042282Z 
2026-06-04T05:36:28.9043037Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T05:36:28.9049526Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T05:36:28.9051395Z - Required stages: impl, unit
2026-06-04T05:36:28.9052222Z 
2026-06-04T05:36:28.9052750Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T05:36:28.9054654Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T05:36:28.9056670Z - Required stages: impl, unit
2026-06-04T05:36:28.9057477Z 
2026-06-04T05:36:28.9058023Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T05:36:28.9060118Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T05:36:28.9061877Z - Required stages: impl, unit
2026-06-04T05:36:28.9062694Z 
2026-06-04T05:36:28.9063233Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T05:36:28.9065040Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T05:36:28.9066927Z - Required stages: impl, unit
2026-06-04T05:36:28.9067955Z 
2026-06-04T05:36:28.9068558Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T05:36:28.9071041Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T05:36:28.9073246Z - Required stages: impl, unit
2026-06-04T05:36:28.9074056Z 
2026-06-04T05:36:28.9074524Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T05:36:28.9076858Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T05:36:28.9079330Z - Required stages: impl, unit
2026-06-04T05:36:28.9080727Z 
2026-06-04T05:36:28.9081364Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T05:36:28.9083461Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T05:36:28.9085587Z - Required stages: impl, unit
2026-06-04T05:36:28.9086429Z 
2026-06-04T05:36:28.9086987Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T05:36:28.9089465Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T05:36:28.9092456Z - Required stages: impl, unit
2026-06-04T05:36:28.9093306Z 
2026-06-04T05:36:28.9093829Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T05:36:28.9096846Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T05:36:28.9100018Z - Required stages: doc, impl, unit
2026-06-04T05:36:28.9100898Z 
2026-06-04T05:36:28.9101460Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T05:36:28.9104696Z - 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-04T05:36:28.9108198Z - Required stages: impl, unit
2026-06-04T05:36:28.9109039Z 
2026-06-04T05:36:28.9109844Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T05:36:28.9111945Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T05:36:28.9113824Z - Required stages: impl, unit
2026-06-04T05:36:28.9114675Z 
2026-06-04T05:36:28.9115222Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T05:36:28.9117047Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T05:36:28.9118907Z - Required stages: impl, unit
2026-06-04T05:36:28.9119958Z 
2026-06-04T05:36:28.9120591Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T05:36:28.9122525Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T05:36:28.9124931Z - Required stages: impl, unit
2026-06-04T05:36:28.9125862Z 
2026-06-04T05:36:28.9126427Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T05:36:28.9128272Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T05:36:28.9130585Z - Required stages: impl, unit
2026-06-04T05:36:28.9131499Z 
2026-06-04T05:36:28.9132050Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T05:36:28.9133724Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T05:36:28.9135499Z - Required stages: impl, unit
2026-06-04T05:36:28.9136354Z 
2026-06-04T05:36:28.9136878Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T05:36:28.9138579Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T05:36:28.9140488Z - Required stages: impl, unit
2026-06-04T05:36:28.9141789Z 
2026-06-04T05:36:28.9142401Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T05:36:28.9144518Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T05:36:28.9146894Z - Required stages: impl, unit
2026-06-04T05:36:28.9147747Z 
2026-06-04T05:36:28.9148272Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T05:36:28.9150515Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T05:36:28.9152730Z - Required stages: impl, unit
2026-06-04T05:36:28.9153591Z 
2026-06-04T05:36:28.9154139Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T05:36:28.9155890Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T05:36:28.9157781Z - Required stages: impl, unit
2026-06-04T05:36:28.9158622Z 
2026-06-04T05:36:28.9159313Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T05:36:28.9161338Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T05:36:28.9163002Z - Required stages: impl, unit
2026-06-04T05:36:28.9163798Z 
2026-06-04T05:36:28.9164387Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T05:36:28.9166509Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T05:36:28.9168652Z - Required stages: impl, unit
2026-06-04T05:36:28.9169503Z 
2026-06-04T05:36:28.9170338Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T05:36:28.9174861Z - 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-04T05:36:28.9179397Z - Required stages: impl, unit
2026-06-04T05:36:28.9180197Z 
2026-06-04T05:36:28.9180675Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T05:36:28.9182546Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T05:36:28.9184797Z - Required stages: impl, unit
2026-06-04T05:36:28.9185601Z 
2026-06-04T05:36:28.9186147Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T05:36:28.9188085Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T05:36:28.9190273Z - Required stages: impl, unit
2026-06-04T05:36:28.9191075Z 
2026-06-04T05:36:28.9191600Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T05:36:28.9193949Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T05:36:28.9196443Z - Required stages: impl, unit, int
2026-06-04T05:36:28.9197325Z 
2026-06-04T05:36:28.9197825Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T05:36:28.9200104Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T05:36:28.9202555Z - Required stages: impl, unit
2026-06-04T05:36:28.9203372Z 
2026-06-04T05:36:28.9203923Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T05:36:28.9207381Z - 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-04T05:36:28.9216205Z - Required stages: impl, unit, int
2026-06-04T05:36:28.9217319Z 
2026-06-04T05:36:28.9217882Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T05:36:28.9223706Z - 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-04T05:36:28.9228933Z - Required stages: 
2026-06-04T05:36:28.9229611Z 
2026-06-04T05:36:28.9230168Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T05:36:28.9235271Z - 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-04T05:36:28.9240414Z - Required stages: 
2026-06-04T05:36:28.9241057Z 
2026-06-04T05:36:28.9241593Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T05:36:28.9246188Z - 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-04T05:36:28.9251139Z - Required stages: impl, unit
2026-06-04T05:36:28.9251947Z 
2026-06-04T05:36:28.9252532Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T05:36:28.9256806Z - 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-04T05:36:28.9261173Z - Required stages: impl, unit
2026-06-04T05:36:28.9261987Z 
2026-06-04T05:36:28.9262480Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T05:36:28.9268360Z - 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-04T05:36:28.9274258Z - Required stages: impl, unit
2026-06-04T05:36:28.9275056Z 
2026-06-04T05:36:28.9275561Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T05:36:28.9281259Z - 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-04T05:36:28.9286598Z - Required stages: doc, impl, unit
2026-06-04T05:36:28.9287487Z 
2026-06-04T05:36:28.9287924Z ## How to report back
2026-06-04T05:36:28.9288599Z 
2026-06-04T05:36:28.9289521Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T05:36:28.9290881Z 
2026-06-04T05:36:28.9291291Z     {
2026-06-04T05:36:28.9292289Z       "code": "requirement_quality",
2026-06-04T05:36:28.9293650Z       "requirementId": "REQ-...",
2026-06-04T05:36:28.9295354Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T05:36:28.9297261Z       "message": "<short reason>",
2026-06-04T05:36:28.9298676Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T05:36:28.9300154Z     }
2026-06-04T05:36:28.9300654Z 
2026-06-04T05:36:28.9301698Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T05:36:28.9303920Z deterministic findings above don't need to be repeated.
2026-06-04T05:36:28.9606238Z Post job cleanup.
2026-06-04T05:36:29.0864877Z [command]/usr/bin/git version
2026-06-04T05:36:29.0927957Z git version 2.34.1
2026-06-04T05:36:29.0975801Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/9dc7bb4e-4b6f-45ce-9a7e-2761aac7f6e5/.gitconfig'
2026-06-04T05:36:29.1000310Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/9dc7bb4e-4b6f-45ce-9a7e-2761aac7f6e5' before making global git config changes
2026-06-04T05:36:29.1004722Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T05:36:29.1008375Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T05:36:29.1056955Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T05:36:29.1104829Z [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-04T05:36:29.1348314Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T05:36:29.1381595Z http.https://github.com/.extraheader
2026-06-04T05:36:29.1396023Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T05:36:29.1443422Z [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-04T05:36:29.1686348Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T05:36:29.1727598Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T05:36:29.2164052Z Cleaning up orphan processes
