﻿2026-06-04T07:59:19.2213451Z Current runner version: '2.334.0'
2026-06-04T07:59:19.2224068Z Runner name: 'gravity'
2026-06-04T07:59:19.2225390Z Runner group name: 'Default'
2026-06-04T07:59:19.2226816Z Machine name: 'gravity-linux'
2026-06-04T07:59:19.2231710Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T07:59:19.2236033Z Contents: read
2026-06-04T07:59:19.2237085Z Metadata: read
2026-06-04T07:59:19.2238229Z Packages: read
2026-06-04T07:59:19.2239150Z ##[endgroup]
2026-06-04T07:59:19.2242855Z Secret source: Actions
2026-06-04T07:59:19.2244261Z Prepare workflow directory
2026-06-04T07:59:19.2987779Z Prepare all required actions
2026-06-04T07:59:19.3048174Z Getting action download info
2026-06-04T07:59:19.9655081Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T07:59:21.1204892Z Complete job name: traceability
2026-06-04T07:59:21.2738625Z ##[group]Run actions/checkout@v5
2026-06-04T07:59:21.2740985Z with:
2026-06-04T07:59:21.2742230Z   repository: SaberMage/spt-core
2026-06-04T07:59:21.2758484Z   token: ***
2026-06-04T07:59:21.2759821Z   ssh-strict: true
2026-06-04T07:59:21.2761088Z   ssh-user: git
2026-06-04T07:59:21.2762376Z   persist-credentials: true
2026-06-04T07:59:21.2763813Z   clean: true
2026-06-04T07:59:21.2765106Z   sparse-checkout-cone-mode: true
2026-06-04T07:59:21.2766653Z   fetch-depth: 1
2026-06-04T07:59:21.2767906Z   fetch-tags: false
2026-06-04T07:59:21.2769246Z   show-progress: true
2026-06-04T07:59:21.2770576Z   lfs: false
2026-06-04T07:59:21.2771803Z   submodules: false
2026-06-04T07:59:21.2773111Z   set-safe-directory: true
2026-06-04T07:59:21.2775157Z ##[endgroup]
2026-06-04T07:59:21.4367123Z Syncing repository: SaberMage/spt-core
2026-06-04T07:59:21.4372368Z ##[group]Getting Git version info
2026-06-04T07:59:21.4374871Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T07:59:21.4378179Z [command]/usr/bin/git version
2026-06-04T07:59:21.4379817Z git version 2.34.1
2026-06-04T07:59:21.4385040Z ##[endgroup]
2026-06-04T07:59:21.4396739Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/b2b7eade-ba02-42a8-9f31-ca4989f869e8/.gitconfig'
2026-06-04T07:59:21.4402788Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/b2b7eade-ba02-42a8-9f31-ca4989f869e8' before making global git config changes
2026-06-04T07:59:21.4407702Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T07:59:21.4411909Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T07:59:21.4444185Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T07:59:21.4473890Z https://github.com/SaberMage/spt-core
2026-06-04T07:59:21.4492982Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T07:59:21.4498780Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T07:59:21.4531886Z refs/heads/dev-freeform
2026-06-04T07:59:21.4544174Z [command]/usr/bin/git checkout --detach
2026-06-04T07:59:21.4603636Z HEAD is now at 9b5c39c docs(plan): mark M4-D7 complete (both slices CI-green)
2026-06-04T07:59:21.4659830Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T07:59:21.4698066Z Deleted branch dev-freeform (was 9b5c39c).
2026-06-04T07:59:21.4751912Z ##[endgroup]
2026-06-04T07:59:21.4753912Z [command]/usr/bin/git submodule status
2026-06-04T07:59:21.4994639Z ##[group]Cleaning the repository
2026-06-04T07:59:21.4997981Z [command]/usr/bin/git clean -ffdx
2026-06-04T07:59:21.5035069Z Removing traceable-reqs
2026-06-04T07:59:21.5047496Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T07:59:21.5101369Z HEAD is now at 9b5c39c docs(plan): mark M4-D7 complete (both slices CI-green)
2026-06-04T07:59:21.5108160Z ##[endgroup]
2026-06-04T07:59:21.5111016Z ##[group]Disabling automatic garbage collection
2026-06-04T07:59:21.5117473Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T07:59:21.5155448Z ##[endgroup]
2026-06-04T07:59:21.5157702Z ##[group]Setting up auth
2026-06-04T07:59:21.5165050Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T07:59:21.5207374Z [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-04T07:59:21.5450222Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T07:59:21.5494533Z [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-04T07:59:21.5746195Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T07:59:21.5788544Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T07:59:21.6026808Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T07:59:21.6088073Z ##[endgroup]
2026-06-04T07:59:21.6090593Z ##[group]Fetching the repository
2026-06-04T07:59:21.6101592Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +6fac5390690ed9c6ed759cca15e289d854009783:refs/remotes/origin/dev-freeform
2026-06-04T07:59:22.1598882Z From https://github.com/SaberMage/spt-core
2026-06-04T07:59:22.1602646Z  + 9b5c39c...6fac539 6fac5390690ed9c6ed759cca15e289d854009783 -> origin/dev-freeform  (forced update)
2026-06-04T07:59:22.1629351Z ##[endgroup]
2026-06-04T07:59:22.1631603Z ##[group]Determining the checkout info
2026-06-04T07:59:22.1634024Z ##[endgroup]
2026-06-04T07:59:22.1639689Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T07:59:22.1715519Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T07:59:22.1765205Z ##[group]Checking out the ref
2026-06-04T07:59:22.1773187Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T07:59:22.1835656Z Warning: you are leaving 1 commit behind, not connected to
2026-06-04T07:59:22.1837504Z any of your branches:
2026-06-04T07:59:22.1838263Z 
2026-06-04T07:59:22.1839141Z   9b5c39c docs(plan): mark M4-D7 complete (both slices CI-green)
2026-06-04T07:59:22.1840609Z 
2026-06-04T07:59:22.1841576Z If you want to keep it by creating a new branch, this may be a good time
2026-06-04T07:59:22.1843475Z to do so with:
2026-06-04T07:59:22.1844230Z 
2026-06-04T07:59:22.1844906Z  git branch <new-branch-name> 9b5c39c
2026-06-04T07:59:22.1846010Z 
2026-06-04T07:59:22.1846749Z Switched to a new branch 'dev-freeform'
2026-06-04T07:59:22.1848943Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T07:59:22.1864020Z ##[endgroup]
2026-06-04T07:59:22.1903432Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T07:59:22.1937734Z 6fac5390690ed9c6ed759cca15e289d854009783
2026-06-04T07:59:22.2367513Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T07:59:22.2369660Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T07:59:22.2371462Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T07:59:22.2373044Z [36;1melse[0m
2026-06-04T07:59:22.2374403Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T07:59:22.2376360Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T07:59:22.2377952Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T07:59:22.2379220Z [36;1mfi[0m
2026-06-04T07:59:22.2405520Z shell: /usr/bin/bash -e {0}
2026-06-04T07:59:22.2406706Z env:
2026-06-04T07:59:22.2408964Z   GH_TOKEN: ***
2026-06-04T07:59:22.2410151Z ##[endgroup]
2026-06-04T07:59:22.2605476Z ##[group]Run ./traceable-reqs check --json
2026-06-04T07:59:22.2607039Z [36;1m./traceable-reqs check --json[0m
2026-06-04T07:59:22.2630849Z shell: /usr/bin/bash -e {0}
2026-06-04T07:59:22.2632343Z ##[endgroup]
2026-06-04T07:59:22.2833228Z {
2026-06-04T07:59:22.2834394Z   "schemaVersion": 1,
2026-06-04T07:59:22.2835613Z   "summary": {
2026-06-04T07:59:22.2836782Z     "requirementCount": 129,
2026-06-04T07:59:22.2838191Z     "completeCount": 129,
2026-06-04T07:59:22.2839682Z     "incompleteCount": 0,
2026-06-04T07:59:22.2840988Z     "findingCount": 0
2026-06-04T07:59:22.2842204Z   },
2026-06-04T07:59:22.2843262Z   "requirements": [
2026-06-04T07:59:22.2844482Z     {
2026-06-04T07:59:22.2845561Z       "id": "REQ-API-1",
2026-06-04T07:59:22.2847252Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T07:59:22.2849144Z       "requiredStages": [
2026-06-04T07:59:22.2850546Z         "impl",
2026-06-04T07:59:22.2851560Z         "unit",
2026-06-04T07:59:22.2852716Z         "int"
2026-06-04T07:59:22.2853713Z       ],
2026-06-04T07:59:22.2854654Z       "stages": {
2026-06-04T07:59:22.2855653Z         "doc": {
2026-06-04T07:59:22.2856682Z           "complete": false,
2026-06-04T07:59:22.2857935Z           "evidence": []
2026-06-04T07:59:22.2859019Z         },
2026-06-04T07:59:22.2860892Z         "impl": {
2026-06-04T07:59:22.2862084Z           "complete": true,
2026-06-04T07:59:22.2887900Z           "evidence": [
2026-06-04T07:59:22.2889138Z             {
2026-06-04T07:59:22.2890461Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T07:59:22.2891934Z               "line": 15
2026-06-04T07:59:22.2893049Z             }
2026-06-04T07:59:22.2894075Z           ]
2026-06-04T07:59:22.2895082Z         },
2026-06-04T07:59:22.2896078Z         "int": {
2026-06-04T07:59:22.2901748Z           "complete": true,
2026-06-04T07:59:22.2903016Z           "evidence": [
2026-06-04T07:59:22.2904205Z             {
2026-06-04T07:59:22.2905611Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.2907168Z               "line": 13
2026-06-04T07:59:22.2908301Z             }
2026-06-04T07:59:22.2912045Z           ]
2026-06-04T07:59:22.2913246Z         },
2026-06-04T07:59:22.2914348Z         "unit": {
2026-06-04T07:59:22.2915550Z           "complete": true,
2026-06-04T07:59:22.2916865Z           "evidence": [
2026-06-04T07:59:22.2918081Z             {
2026-06-04T07:59:22.2919437Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T07:59:22.2921007Z               "line": 336
2026-06-04T07:59:22.2922224Z             },
2026-06-04T07:59:22.2923285Z             {
2026-06-04T07:59:22.2924479Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T07:59:22.2925990Z               "line": 342
2026-06-04T07:59:22.2927247Z             },
2026-06-04T07:59:22.2928346Z             {
2026-06-04T07:59:22.2929682Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T07:59:22.2931186Z               "line": 353
2026-06-04T07:59:22.2932380Z             }
2026-06-04T07:59:22.2933431Z           ]
2026-06-04T07:59:22.2934439Z         }
2026-06-04T07:59:22.2935493Z       }
2026-06-04T07:59:22.2936481Z     },
2026-06-04T07:59:22.2937418Z     {
2026-06-04T07:59:22.2938421Z       "id": "REQ-API-2",
2026-06-04T07:59:22.2940442Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T07:59:22.2942605Z       "requiredStages": [
2026-06-04T07:59:22.2943807Z         "impl",
2026-06-04T07:59:22.2944873Z         "unit",
2026-06-04T07:59:22.2945973Z         "int"
2026-06-04T07:59:22.2947059Z       ],
2026-06-04T07:59:22.2948060Z       "stages": {
2026-06-04T07:59:22.2949103Z         "doc": {
2026-06-04T07:59:22.2950326Z           "complete": false,
2026-06-04T07:59:22.2970305Z           "evidence": []
2026-06-04T07:59:22.2971776Z         },
2026-06-04T07:59:22.2972792Z         "impl": {
2026-06-04T07:59:22.2973901Z           "complete": true,
2026-06-04T07:59:22.2975113Z           "evidence": [
2026-06-04T07:59:22.2976969Z             {
2026-06-04T07:59:22.2978319Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T07:59:22.2979940Z               "line": 15
2026-06-04T07:59:22.2981084Z             },
2026-06-04T07:59:22.2982386Z             {
2026-06-04T07:59:22.2983572Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.2985064Z               "line": 20
2026-06-04T07:59:22.2986238Z             },
2026-06-04T07:59:22.2987314Z             {
2026-06-04T07:59:22.2988488Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.2990054Z               "line": 125
2026-06-04T07:59:22.2991208Z             },
2026-06-04T07:59:22.2992212Z             {
2026-06-04T07:59:22.2993405Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.2994938Z               "line": 21
2026-06-04T07:59:22.2996122Z             },
2026-06-04T07:59:22.2997126Z             {
2026-06-04T07:59:22.2998334Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3000071Z               "line": 36
2026-06-04T07:59:22.3001249Z             },
2026-06-04T07:59:22.3002286Z             {
2026-06-04T07:59:22.3003541Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3005076Z               "line": 101
2026-06-04T07:59:22.3006209Z             },
2026-06-04T07:59:22.3007263Z             {
2026-06-04T07:59:22.3008471Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3010098Z               "line": 140
2026-06-04T07:59:22.3011245Z             },
2026-06-04T07:59:22.3012269Z             {
2026-06-04T07:59:22.3013484Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3015043Z               "line": 164
2026-06-04T07:59:22.3016183Z             },
2026-06-04T07:59:22.3017179Z             {
2026-06-04T07:59:22.3018345Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.3020037Z               "line": 17
2026-06-04T07:59:22.3021133Z             },
2026-06-04T07:59:22.3022167Z             {
2026-06-04T07:59:22.3023364Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.3024806Z               "line": 30
2026-06-04T07:59:22.3025933Z             },
2026-06-04T07:59:22.3026921Z             {
2026-06-04T07:59:22.3028073Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.3029795Z               "line": 63
2026-06-04T07:59:22.3031213Z             },
2026-06-04T07:59:22.3032205Z             {
2026-06-04T07:59:22.3033361Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.3034797Z               "line": 76
2026-06-04T07:59:22.3035905Z             }
2026-06-04T07:59:22.3036890Z           ]
2026-06-04T07:59:22.3037883Z         },
2026-06-04T07:59:22.3038832Z         "int": {
2026-06-04T07:59:22.3040312Z           "complete": true,
2026-06-04T07:59:22.3041521Z           "evidence": [
2026-06-04T07:59:22.3042636Z             {
2026-06-04T07:59:22.3043827Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.3045374Z               "line": 14
2026-06-04T07:59:22.3046495Z             },
2026-06-04T07:59:22.3047484Z             {
2026-06-04T07:59:22.3048646Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.3050370Z               "line": 151
2026-06-04T07:59:22.3051495Z             }
2026-06-04T07:59:22.3052554Z           ]
2026-06-04T07:59:22.3053536Z         },
2026-06-04T07:59:22.3054535Z         "unit": {
2026-06-04T07:59:22.3055642Z           "complete": true,
2026-06-04T07:59:22.3056888Z           "evidence": [
2026-06-04T07:59:22.3057987Z             {
2026-06-04T07:59:22.3059305Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T07:59:22.3061097Z               "line": 42
2026-06-04T07:59:22.3062210Z             },
2026-06-04T07:59:22.3063206Z             {
2026-06-04T07:59:22.3064398Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.3065885Z               "line": 204
2026-06-04T07:59:22.3077212Z             },
2026-06-04T07:59:22.3079023Z             {
2026-06-04T07:59:22.3080602Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3082040Z               "line": 237
2026-06-04T07:59:22.3083108Z             },
2026-06-04T07:59:22.3084322Z             {
2026-06-04T07:59:22.3085508Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3086993Z               "line": 248
2026-06-04T07:59:22.3088100Z             },
2026-06-04T07:59:22.3089145Z             {
2026-06-04T07:59:22.3090714Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3092307Z               "line": 284
2026-06-04T07:59:22.3093418Z             },
2026-06-04T07:59:22.3094362Z             {
2026-06-04T07:59:22.3095507Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3096959Z               "line": 296
2026-06-04T07:59:22.3098042Z             },
2026-06-04T07:59:22.3099036Z             {
2026-06-04T07:59:22.3100577Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.3102035Z               "line": 137
2026-06-04T07:59:22.3103173Z             },
2026-06-04T07:59:22.3104151Z             {
2026-06-04T07:59:22.3105286Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.3106722Z               "line": 172
2026-06-04T07:59:22.3107805Z             }
2026-06-04T07:59:22.3108769Z           ]
2026-06-04T07:59:22.3110099Z         }
2026-06-04T07:59:22.3111069Z       }
2026-06-04T07:59:22.3111980Z     },
2026-06-04T07:59:22.3112915Z     {
2026-06-04T07:59:22.3113871Z       "id": "REQ-API-3",
2026-06-04T07:59:22.3115305Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T07:59:22.3116905Z       "requiredStages": [
2026-06-04T07:59:22.3118040Z         "impl",
2026-06-04T07:59:22.3119043Z         "unit",
2026-06-04T07:59:22.3120404Z         "int"
2026-06-04T07:59:22.3121361Z       ],
2026-06-04T07:59:22.3122307Z       "stages": {
2026-06-04T07:59:22.3123337Z         "doc": {
2026-06-04T07:59:22.3124385Z           "complete": false,
2026-06-04T07:59:22.3125619Z           "evidence": []
2026-06-04T07:59:22.3126765Z         },
2026-06-04T07:59:22.3127724Z         "impl": {
2026-06-04T07:59:22.3128773Z           "complete": true,
2026-06-04T07:59:22.3130347Z           "evidence": [
2026-06-04T07:59:22.3131580Z             {
2026-06-04T07:59:22.3132733Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.3134188Z               "line": 27
2026-06-04T07:59:22.3135279Z             },
2026-06-04T07:59:22.3136269Z             {
2026-06-04T07:59:22.3137422Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3138905Z               "line": 174
2026-06-04T07:59:22.3140413Z             }
2026-06-04T07:59:22.3141385Z           ]
2026-06-04T07:59:22.3142360Z         },
2026-06-04T07:59:22.3143291Z         "int": {
2026-06-04T07:59:22.3144318Z           "complete": true,
2026-06-04T07:59:22.3145496Z           "evidence": [
2026-06-04T07:59:22.3146565Z             {
2026-06-04T07:59:22.3147729Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.3149272Z               "line": 203
2026-06-04T07:59:22.3150724Z             }
2026-06-04T07:59:22.3151692Z           ]
2026-06-04T07:59:22.3152615Z         },
2026-06-04T07:59:22.3153580Z         "unit": {
2026-06-04T07:59:22.3154609Z           "complete": true,
2026-06-04T07:59:22.3155751Z           "evidence": [
2026-06-04T07:59:22.3156838Z             {
2026-06-04T07:59:22.3157983Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.3159647Z               "line": 230
2026-06-04T07:59:22.3160926Z             },
2026-06-04T07:59:22.3161895Z             {
2026-06-04T07:59:22.3163061Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.3164558Z               "line": 325
2026-06-04T07:59:22.3165686Z             }
2026-06-04T07:59:22.3166657Z           ]
2026-06-04T07:59:22.3167603Z         }
2026-06-04T07:59:22.3168547Z       }
2026-06-04T07:59:22.3169679Z     },
2026-06-04T07:59:22.3180151Z     {
2026-06-04T07:59:22.3181911Z       "id": "REQ-ARCH-1",
2026-06-04T07:59:22.3183290Z       "title": "Many small acyclically-layered crates",
2026-06-04T07:59:22.3184816Z       "requiredStages": [
2026-06-04T07:59:22.3185931Z         "impl"
2026-06-04T07:59:22.3187122Z       ],
2026-06-04T07:59:22.3188057Z       "stages": {
2026-06-04T07:59:22.3189080Z         "doc": {
2026-06-04T07:59:22.3190493Z           "complete": false,
2026-06-04T07:59:22.3191880Z           "evidence": []
2026-06-04T07:59:22.3193051Z         },
2026-06-04T07:59:22.3194116Z         "impl": {
2026-06-04T07:59:22.3195289Z           "complete": true,
2026-06-04T07:59:22.3196564Z           "evidence": [
2026-06-04T07:59:22.3197787Z             {
2026-06-04T07:59:22.3199091Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T07:59:22.3200874Z               "line": 16
2026-06-04T07:59:22.3202063Z             },
2026-06-04T07:59:22.3203110Z             {
2026-06-04T07:59:22.3204426Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T07:59:22.3206035Z               "line": 12
2026-06-04T07:59:22.3207248Z             },
2026-06-04T07:59:22.3208425Z             {
2026-06-04T07:59:22.3209851Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T07:59:22.3211452Z               "line": 12
2026-06-04T07:59:22.3212641Z             }
2026-06-04T07:59:22.3213691Z           ]
2026-06-04T07:59:22.3214798Z         },
2026-06-04T07:59:22.3215921Z         "int": {
2026-06-04T07:59:22.3217107Z           "complete": false,
2026-06-04T07:59:22.3218374Z           "evidence": []
2026-06-04T07:59:22.3219760Z         },
2026-06-04T07:59:22.3220862Z         "unit": {
2026-06-04T07:59:22.3222134Z           "complete": false,
2026-06-04T07:59:22.3223429Z           "evidence": []
2026-06-04T07:59:22.3224622Z         }
2026-06-04T07:59:22.3225612Z       }
2026-06-04T07:59:22.3226573Z     },
2026-06-04T07:59:22.3227534Z     {
2026-06-04T07:59:22.3228511Z       "id": "REQ-ARCH-2",
2026-06-04T07:59:22.3230265Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T07:59:22.3232157Z       "requiredStages": [
2026-06-04T07:59:22.3233360Z         "impl"
2026-06-04T07:59:22.3234395Z       ],
2026-06-04T07:59:22.3235359Z       "stages": {
2026-06-04T07:59:22.3236452Z         "doc": {
2026-06-04T07:59:22.3237548Z           "complete": false,
2026-06-04T07:59:22.3238797Z           "evidence": []
2026-06-04T07:59:22.3240075Z         },
2026-06-04T07:59:22.3241069Z         "impl": {
2026-06-04T07:59:22.3242160Z           "complete": true,
2026-06-04T07:59:22.3243374Z           "evidence": [
2026-06-04T07:59:22.3244489Z             {
2026-06-04T07:59:22.3245678Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T07:59:22.3247165Z               "line": 18
2026-06-04T07:59:22.3248266Z             }
2026-06-04T07:59:22.3249312Z           ]
2026-06-04T07:59:22.3250427Z         },
2026-06-04T07:59:22.3251363Z         "int": {
2026-06-04T07:59:22.3252395Z           "complete": false,
2026-06-04T07:59:22.3253630Z           "evidence": []
2026-06-04T07:59:22.3254746Z         },
2026-06-04T07:59:22.3255682Z         "unit": {
2026-06-04T07:59:22.3256763Z           "complete": false,
2026-06-04T07:59:22.3257948Z           "evidence": []
2026-06-04T07:59:22.3259055Z         }
2026-06-04T07:59:22.3260273Z       }
2026-06-04T07:59:22.3261239Z     },
2026-06-04T07:59:22.3262193Z     {
2026-06-04T07:59:22.3263182Z       "id": "REQ-ARCH-3",
2026-06-04T07:59:22.3265087Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T07:59:22.3267189Z       "requiredStages": [
2026-06-04T07:59:22.3268362Z         "impl",
2026-06-04T07:59:22.3269452Z         "unit"
2026-06-04T07:59:22.3270592Z       ],
2026-06-04T07:59:22.3281658Z       "stages": {
2026-06-04T07:59:22.3283040Z         "doc": {
2026-06-04T07:59:22.3284046Z           "complete": false,
2026-06-04T07:59:22.3285189Z           "evidence": []
2026-06-04T07:59:22.3286234Z         },
2026-06-04T07:59:22.3287138Z         "impl": {
2026-06-04T07:59:22.3288681Z           "complete": true,
2026-06-04T07:59:22.3290899Z           "evidence": [
2026-06-04T07:59:22.3292025Z             {
2026-06-04T07:59:22.3293279Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T07:59:22.3295096Z               "line": 34
2026-06-04T07:59:22.3296199Z             },
2026-06-04T07:59:22.3297210Z             {
2026-06-04T07:59:22.3298405Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T07:59:22.3300095Z               "line": 41
2026-06-04T07:59:22.3301173Z             }
2026-06-04T07:59:22.3302119Z           ]
2026-06-04T07:59:22.3303097Z         },
2026-06-04T07:59:22.3304041Z         "int": {
2026-06-04T07:59:22.3305076Z           "complete": false,
2026-06-04T07:59:22.3306236Z           "evidence": []
2026-06-04T07:59:22.3307322Z         },
2026-06-04T07:59:22.3308280Z         "unit": {
2026-06-04T07:59:22.3309537Z           "complete": true,
2026-06-04T07:59:22.3310909Z           "evidence": [
2026-06-04T07:59:22.3311962Z             {
2026-06-04T07:59:22.3313141Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T07:59:22.3314584Z               "line": 51
2026-06-04T07:59:22.3315659Z             },
2026-06-04T07:59:22.3316638Z             {
2026-06-04T07:59:22.3317846Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T07:59:22.3319513Z               "line": 65
2026-06-04T07:59:22.3320760Z             },
2026-06-04T07:59:22.3321723Z             {
2026-06-04T07:59:22.3322853Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T07:59:22.3324352Z               "line": 74
2026-06-04T07:59:22.3325438Z             }
2026-06-04T07:59:22.3326393Z           ]
2026-06-04T07:59:22.3327306Z         }
2026-06-04T07:59:22.3328216Z       }
2026-06-04T07:59:22.3329101Z     },
2026-06-04T07:59:22.3330380Z     {
2026-06-04T07:59:22.3331320Z       "id": "REQ-ARCH-4",
2026-06-04T07:59:22.3332912Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T07:59:22.3334752Z       "requiredStages": [
2026-06-04T07:59:22.3335879Z         "impl",
2026-06-04T07:59:22.3336863Z         "unit"
2026-06-04T07:59:22.3337846Z       ],
2026-06-04T07:59:22.3338758Z       "stages": {
2026-06-04T07:59:22.3340148Z         "doc": {
2026-06-04T07:59:22.3341203Z           "complete": false,
2026-06-04T07:59:22.3342371Z           "evidence": []
2026-06-04T07:59:22.3343514Z         },
2026-06-04T07:59:22.3344457Z         "impl": {
2026-06-04T07:59:22.3345493Z           "complete": true,
2026-06-04T07:59:22.3346643Z           "evidence": [
2026-06-04T07:59:22.3347704Z             {
2026-06-04T07:59:22.3348819Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3350635Z               "line": 63
2026-06-04T07:59:22.3351840Z             },
2026-06-04T07:59:22.3352795Z             {
2026-06-04T07:59:22.3353939Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3355364Z               "line": 77
2026-06-04T07:59:22.3356469Z             },
2026-06-04T07:59:22.3357462Z             {
2026-06-04T07:59:22.3358610Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3360426Z               "line": 97
2026-06-04T07:59:22.3361631Z             },
2026-06-04T07:59:22.3362665Z             {
2026-06-04T07:59:22.3363875Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3365326Z               "line": 112
2026-06-04T07:59:22.3366438Z             },
2026-06-04T07:59:22.3367456Z             {
2026-06-04T07:59:22.3368609Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3370310Z               "line": 162
2026-06-04T07:59:22.3371373Z             }
2026-06-04T07:59:22.3372315Z           ]
2026-06-04T07:59:22.3373242Z         },
2026-06-04T07:59:22.3374172Z         "int": {
2026-06-04T07:59:22.3375190Z           "complete": false,
2026-06-04T07:59:22.3376355Z           "evidence": []
2026-06-04T07:59:22.3377485Z         },
2026-06-04T07:59:22.3389043Z         "unit": {
2026-06-04T07:59:22.3391121Z           "complete": true,
2026-06-04T07:59:22.3392450Z           "evidence": [
2026-06-04T07:59:22.3393490Z             {
2026-06-04T07:59:22.3394622Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3396033Z               "line": 226
2026-06-04T07:59:22.3397350Z             },
2026-06-04T07:59:22.3398308Z             {
2026-06-04T07:59:22.3399657Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3401251Z               "line": 236
2026-06-04T07:59:22.3402334Z             },
2026-06-04T07:59:22.3403437Z             {
2026-06-04T07:59:22.3404707Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3406187Z               "line": 247
2026-06-04T07:59:22.3407301Z             },
2026-06-04T07:59:22.3408311Z             {
2026-06-04T07:59:22.3411334Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3412888Z               "line": 258
2026-06-04T07:59:22.3414001Z             },
2026-06-04T07:59:22.3414990Z             {
2026-06-04T07:59:22.3416162Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3417640Z               "line": 270
2026-06-04T07:59:22.3418738Z             },
2026-06-04T07:59:22.3419948Z             {
2026-06-04T07:59:22.3421107Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3422514Z               "line": 283
2026-06-04T07:59:22.3423604Z             },
2026-06-04T07:59:22.3424564Z             {
2026-06-04T07:59:22.3425697Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3427131Z               "line": 294
2026-06-04T07:59:22.3428181Z             },
2026-06-04T07:59:22.3429138Z             {
2026-06-04T07:59:22.3430619Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3432072Z               "line": 308
2026-06-04T07:59:22.3433147Z             },
2026-06-04T07:59:22.3434111Z             {
2026-06-04T07:59:22.3435257Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.3436741Z               "line": 336
2026-06-04T07:59:22.3437882Z             }
2026-06-04T07:59:22.3438883Z           ]
2026-06-04T07:59:22.3440235Z         }
2026-06-04T07:59:22.3441298Z       }
2026-06-04T07:59:22.3442214Z     },
2026-06-04T07:59:22.3443136Z     {
2026-06-04T07:59:22.3444166Z       "id": "REQ-DAEMON-1",
2026-06-04T07:59:22.3445745Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T07:59:22.3447594Z       "requiredStages": [
2026-06-04T07:59:22.3448713Z         "impl",
2026-06-04T07:59:22.3450158Z         "unit",
2026-06-04T07:59:22.3451130Z         "int"
2026-06-04T07:59:22.3452113Z       ],
2026-06-04T07:59:22.3453025Z       "stages": {
2026-06-04T07:59:22.3454023Z         "doc": {
2026-06-04T07:59:22.3455066Z           "complete": false,
2026-06-04T07:59:22.3456263Z           "evidence": []
2026-06-04T07:59:22.3457356Z         },
2026-06-04T07:59:22.3458320Z         "impl": {
2026-06-04T07:59:22.3459609Z           "complete": true,
2026-06-04T07:59:22.3460961Z           "evidence": [
2026-06-04T07:59:22.3462061Z             {
2026-06-04T07:59:22.3463227Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.3464661Z               "line": 12
2026-06-04T07:59:22.3465750Z             },
2026-06-04T07:59:22.3466741Z             {
2026-06-04T07:59:22.3467933Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3469680Z               "line": 16
2026-06-04T07:59:22.3470952Z             },
2026-06-04T07:59:22.3471935Z             {
2026-06-04T07:59:22.3473066Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T07:59:22.3474489Z               "line": 15
2026-06-04T07:59:22.3475560Z             },
2026-06-04T07:59:22.3476523Z             {
2026-06-04T07:59:22.3477652Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T07:59:22.3479032Z               "line": 13
2026-06-04T07:59:22.3480552Z             }
2026-06-04T07:59:22.3481517Z           ]
2026-06-04T07:59:22.3482449Z         },
2026-06-04T07:59:22.3483391Z         "int": {
2026-06-04T07:59:22.3484895Z           "complete": true,
2026-06-04T07:59:22.3486133Z           "evidence": [
2026-06-04T07:59:22.3487245Z             {
2026-06-04T07:59:22.3499532Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T07:59:22.3501979Z               "line": 32
2026-06-04T07:59:22.3503011Z             }
2026-06-04T07:59:22.3503940Z           ]
2026-06-04T07:59:22.3504837Z         },
2026-06-04T07:59:22.3505753Z         "unit": {
2026-06-04T07:59:22.3506758Z           "complete": true,
2026-06-04T07:59:22.3507906Z           "evidence": [
2026-06-04T07:59:22.3508982Z             {
2026-06-04T07:59:22.3510563Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.3512019Z               "line": 173
2026-06-04T07:59:22.3513105Z             },
2026-06-04T07:59:22.3514044Z             {
2026-06-04T07:59:22.3515174Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.3516600Z               "line": 181
2026-06-04T07:59:22.3517693Z             },
2026-06-04T07:59:22.3518661Z             {
2026-06-04T07:59:22.3520185Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.3521688Z               "line": 194
2026-06-04T07:59:22.3522802Z             },
2026-06-04T07:59:22.3523809Z             {
2026-06-04T07:59:22.3524973Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.3526417Z               "line": 202
2026-06-04T07:59:22.3527498Z             },
2026-06-04T07:59:22.3528471Z             {
2026-06-04T07:59:22.3529741Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3531197Z               "line": 468
2026-06-04T07:59:22.3532262Z             },
2026-06-04T07:59:22.3533206Z             {
2026-06-04T07:59:22.3534350Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3535878Z               "line": 527
2026-06-04T07:59:22.3536972Z             },
2026-06-04T07:59:22.3537952Z             {
2026-06-04T07:59:22.3539124Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T07:59:22.3540637Z               "line": 100
2026-06-04T07:59:22.3541770Z             },
2026-06-04T07:59:22.3542780Z             {
2026-06-04T07:59:22.3543916Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T07:59:22.3545379Z               "line": 125
2026-06-04T07:59:22.3546454Z             }
2026-06-04T07:59:22.3547455Z           ]
2026-06-04T07:59:22.3548440Z         }
2026-06-04T07:59:22.3549615Z       }
2026-06-04T07:59:22.3550714Z     },
2026-06-04T07:59:22.3551633Z     {
2026-06-04T07:59:22.3552588Z       "id": "REQ-DAEMON-2",
2026-06-04T07:59:22.3554025Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T07:59:22.3555619Z       "requiredStages": [
2026-06-04T07:59:22.3556735Z         "impl",
2026-06-04T07:59:22.3557718Z         "unit",
2026-06-04T07:59:22.3558684Z         "int"
2026-06-04T07:59:22.3559851Z       ],
2026-06-04T07:59:22.3560956Z       "stages": {
2026-06-04T07:59:22.3561941Z         "doc": {
2026-06-04T07:59:22.3562997Z           "complete": false,
2026-06-04T07:59:22.3564180Z           "evidence": []
2026-06-04T07:59:22.3565295Z         },
2026-06-04T07:59:22.3566246Z         "impl": {
2026-06-04T07:59:22.3567279Z           "complete": true,
2026-06-04T07:59:22.3568458Z           "evidence": [
2026-06-04T07:59:22.3569599Z             {
2026-06-04T07:59:22.3570747Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.3572198Z               "line": 23
2026-06-04T07:59:22.3573277Z             },
2026-06-04T07:59:22.3574235Z             {
2026-06-04T07:59:22.3575349Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.3576758Z               "line": 474
2026-06-04T07:59:22.3577874Z             },
2026-06-04T07:59:22.3578833Z             {
2026-06-04T07:59:22.3580059Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.3581497Z               "line": 584
2026-06-04T07:59:22.3582610Z             },
2026-06-04T07:59:22.3583584Z             {
2026-06-04T07:59:22.3585130Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.3586664Z               "line": 32
2026-06-04T07:59:22.3587755Z             },
2026-06-04T07:59:22.3588720Z             {
2026-06-04T07:59:22.3590613Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.3592076Z               "line": 187
2026-06-04T07:59:22.3593157Z             },
2026-06-04T07:59:22.3594104Z             {
2026-06-04T07:59:22.3595272Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.3608587Z               "line": 485
2026-06-04T07:59:22.3610159Z             },
2026-06-04T07:59:22.3611128Z             {
2026-06-04T07:59:22.3612323Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.3613749Z               "line": 654
2026-06-04T07:59:22.3614836Z             },
2026-06-04T07:59:22.3615786Z             {
2026-06-04T07:59:22.3616908Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T07:59:22.3618383Z               "line": 11
2026-06-04T07:59:22.3619730Z             },
2026-06-04T07:59:22.3620845Z             {
2026-06-04T07:59:22.3622177Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T07:59:22.3623822Z               "line": 53
2026-06-04T07:59:22.3625039Z             },
2026-06-04T07:59:22.3626164Z             {
2026-06-04T07:59:22.3627441Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.3628989Z               "line": 13
2026-06-04T07:59:22.3630340Z             },
2026-06-04T07:59:22.3631410Z             {
2026-06-04T07:59:22.3632603Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3634146Z               "line": 27
2026-06-04T07:59:22.3635291Z             },
2026-06-04T07:59:22.3636295Z             {
2026-06-04T07:59:22.3637525Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3639014Z               "line": 94
2026-06-04T07:59:22.3640332Z             },
2026-06-04T07:59:22.3641320Z             {
2026-06-04T07:59:22.3642521Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3643978Z               "line": 383
2026-06-04T07:59:22.3645053Z             },
2026-06-04T07:59:22.3646018Z             {
2026-06-04T07:59:22.3647175Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3648629Z               "line": 450
2026-06-04T07:59:22.3650120Z             },
2026-06-04T07:59:22.3651089Z             {
2026-06-04T07:59:22.3652253Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3653695Z               "line": 484
2026-06-04T07:59:22.3654775Z             },
2026-06-04T07:59:22.3655735Z             {
2026-06-04T07:59:22.3656877Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3658293Z               "line": 526
2026-06-04T07:59:22.3659590Z             },
2026-06-04T07:59:22.3660720Z             {
2026-06-04T07:59:22.3661906Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3663383Z               "line": 570
2026-06-04T07:59:22.3664483Z             },
2026-06-04T07:59:22.3665434Z             {
2026-06-04T07:59:22.3666590Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T07:59:22.3668061Z               "line": 10
2026-06-04T07:59:22.3669135Z             }
2026-06-04T07:59:22.3670368Z           ]
2026-06-04T07:59:22.3671328Z         },
2026-06-04T07:59:22.3672266Z         "int": {
2026-06-04T07:59:22.3673301Z           "complete": true,
2026-06-04T07:59:22.3674472Z           "evidence": [
2026-06-04T07:59:22.3675542Z             {
2026-06-04T07:59:22.3676717Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T07:59:22.3678206Z               "line": 17
2026-06-04T07:59:22.3679345Z             },
2026-06-04T07:59:22.3680477Z             {
2026-06-04T07:59:22.3681766Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T07:59:22.3683269Z               "line": 33
2026-06-04T07:59:22.3684322Z             },
2026-06-04T07:59:22.3685754Z             {
2026-06-04T07:59:22.3687033Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T07:59:22.3688505Z               "line": 19
2026-06-04T07:59:22.3689975Z             },
2026-06-04T07:59:22.3691229Z             {
2026-06-04T07:59:22.3692434Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T07:59:22.3693942Z               "line": 70
2026-06-04T07:59:22.3694990Z             },
2026-06-04T07:59:22.3695946Z             {
2026-06-04T07:59:22.3697146Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T07:59:22.3698611Z               "line": 90
2026-06-04T07:59:22.3700044Z             },
2026-06-04T07:59:22.3701000Z             {
2026-06-04T07:59:22.3702186Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T07:59:22.3703692Z               "line": 160
2026-06-04T07:59:22.3704765Z             },
2026-06-04T07:59:22.3705730Z             {
2026-06-04T07:59:22.3717289Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T07:59:22.3719093Z               "line": 196
2026-06-04T07:59:22.3720414Z             },
2026-06-04T07:59:22.3721535Z             {
2026-06-04T07:59:22.3722860Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T07:59:22.3724345Z               "line": 121
2026-06-04T07:59:22.3725376Z             }
2026-06-04T07:59:22.3726282Z           ]
2026-06-04T07:59:22.3727157Z         },
2026-06-04T07:59:22.3728037Z         "unit": {
2026-06-04T07:59:22.3729012Z           "complete": true,
2026-06-04T07:59:22.3730160Z           "evidence": [
2026-06-04T07:59:22.3731169Z             {
2026-06-04T07:59:22.3732248Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T07:59:22.3733620Z               "line": 62
2026-06-04T07:59:22.3734637Z             },
2026-06-04T07:59:22.3735542Z             {
2026-06-04T07:59:22.3736615Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T07:59:22.3737970Z               "line": 76
2026-06-04T07:59:22.3738997Z             },
2026-06-04T07:59:22.3740162Z             {
2026-06-04T07:59:22.3741281Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T07:59:22.3742699Z               "line": 88
2026-06-04T07:59:22.3743760Z             },
2026-06-04T07:59:22.3744727Z             {
2026-06-04T07:59:22.3745868Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T07:59:22.3747300Z               "line": 264
2026-06-04T07:59:22.3748390Z             },
2026-06-04T07:59:22.3749524Z             {
2026-06-04T07:59:22.3750592Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.3751953Z               "line": 471
2026-06-04T07:59:22.3752984Z             },
2026-06-04T07:59:22.3753896Z             {
2026-06-04T07:59:22.3754959Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.3756305Z               "line": 479
2026-06-04T07:59:22.3757341Z             },
2026-06-04T07:59:22.3758249Z             {
2026-06-04T07:59:22.3759348Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.3761041Z               "line": 496
2026-06-04T07:59:22.3762063Z             },
2026-06-04T07:59:22.3762984Z             {
2026-06-04T07:59:22.3764041Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.3765397Z               "line": 541
2026-06-04T07:59:22.3766418Z             },
2026-06-04T07:59:22.3767316Z             {
2026-06-04T07:59:22.3768419Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3770182Z               "line": 637
2026-06-04T07:59:22.3771235Z             },
2026-06-04T07:59:22.3772156Z             {
2026-06-04T07:59:22.3773253Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.3774647Z               "line": 649
2026-06-04T07:59:22.3775906Z             },
2026-06-04T07:59:22.3776933Z             {
2026-06-04T07:59:22.3778165Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T07:59:22.3779922Z               "line": 112
2026-06-04T07:59:22.3781441Z             }
2026-06-04T07:59:22.3782411Z           ]
2026-06-04T07:59:22.3783285Z         }
2026-06-04T07:59:22.3784148Z       }
2026-06-04T07:59:22.3785200Z     },
2026-06-04T07:59:22.3786221Z     {
2026-06-04T07:59:22.3787316Z       "id": "REQ-DAEMON-3",
2026-06-04T07:59:22.3789309Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T07:59:22.3791231Z       "requiredStages": [
2026-06-04T07:59:22.3792348Z         "impl",
2026-06-04T07:59:22.3793312Z         "unit",
2026-06-04T07:59:22.3794268Z         "int"
2026-06-04T07:59:22.3795198Z       ],
2026-06-04T07:59:22.3796102Z       "stages": {
2026-06-04T07:59:22.3797077Z         "doc": {
2026-06-04T07:59:22.3798093Z           "complete": false,
2026-06-04T07:59:22.3799297Z           "evidence": []
2026-06-04T07:59:22.3800378Z         },
2026-06-04T07:59:22.3801290Z         "impl": {
2026-06-04T07:59:22.3802301Z           "complete": true,
2026-06-04T07:59:22.3803410Z           "evidence": [
2026-06-04T07:59:22.3804453Z             {
2026-06-04T07:59:22.3805601Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T07:59:22.3807028Z               "line": 14
2026-06-04T07:59:22.3808088Z             },
2026-06-04T07:59:22.3809026Z             {
2026-06-04T07:59:22.3810255Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T07:59:22.3819275Z               "line": 11
2026-06-04T07:59:22.3820657Z             },
2026-06-04T07:59:22.3821571Z             {
2026-06-04T07:59:22.3822612Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T07:59:22.3823944Z               "line": 209
2026-06-04T07:59:22.3824961Z             },
2026-06-04T07:59:22.3825877Z             {
2026-06-04T07:59:22.3826908Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.3828204Z               "line": 268
2026-06-04T07:59:22.3829439Z             }
2026-06-04T07:59:22.3830518Z           ]
2026-06-04T07:59:22.3831395Z         },
2026-06-04T07:59:22.3832272Z         "int": {
2026-06-04T07:59:22.3833271Z           "complete": true,
2026-06-04T07:59:22.3834363Z           "evidence": [
2026-06-04T07:59:22.3835360Z             {
2026-06-04T07:59:22.3836462Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.3837835Z               "line": 43
2026-06-04T07:59:22.3838850Z             },
2026-06-04T07:59:22.3840104Z             {
2026-06-04T07:59:22.3841198Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.3842571Z               "line": 320
2026-06-04T07:59:22.3843595Z             }
2026-06-04T07:59:22.3844494Z           ]
2026-06-04T07:59:22.3845375Z         },
2026-06-04T07:59:22.3846254Z         "unit": {
2026-06-04T07:59:22.3847222Z           "complete": true,
2026-06-04T07:59:22.3848317Z           "evidence": [
2026-06-04T07:59:22.3849538Z             {
2026-06-04T07:59:22.3850786Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T07:59:22.3852158Z               "line": 217
2026-06-04T07:59:22.3853191Z             }
2026-06-04T07:59:22.3854083Z           ]
2026-06-04T07:59:22.3854970Z         }
2026-06-04T07:59:22.3855827Z       }
2026-06-04T07:59:22.3856668Z     },
2026-06-04T07:59:22.3857514Z     {
2026-06-04T07:59:22.3858398Z       "id": "REQ-DAEMON-4",
2026-06-04T07:59:22.3860007Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T07:59:22.3861416Z       "requiredStages": [
2026-06-04T07:59:22.3862473Z         "impl",
2026-06-04T07:59:22.3863397Z         "unit",
2026-06-04T07:59:22.3864322Z         "int"
2026-06-04T07:59:22.3865212Z       ],
2026-06-04T07:59:22.3866083Z       "stages": {
2026-06-04T07:59:22.3867029Z         "doc": {
2026-06-04T07:59:22.3868004Z           "complete": false,
2026-06-04T07:59:22.3869123Z           "evidence": []
2026-06-04T07:59:22.3870541Z         },
2026-06-04T07:59:22.3871415Z         "impl": {
2026-06-04T07:59:22.3872398Z           "complete": true,
2026-06-04T07:59:22.3873494Z           "evidence": [
2026-06-04T07:59:22.3874497Z             {
2026-06-04T07:59:22.3876007Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3877473Z               "line": 279
2026-06-04T07:59:22.3878508Z             },
2026-06-04T07:59:22.3879485Z             {
2026-06-04T07:59:22.3880955Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3882563Z               "line": 341
2026-06-04T07:59:22.3883602Z             },
2026-06-04T07:59:22.3884513Z             {
2026-06-04T07:59:22.3885619Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3887021Z               "line": 363
2026-06-04T07:59:22.3888034Z             }
2026-06-04T07:59:22.3888926Z           ]
2026-06-04T07:59:22.3890191Z         },
2026-06-04T07:59:22.3891069Z         "int": {
2026-06-04T07:59:22.3892048Z           "complete": true,
2026-06-04T07:59:22.3893129Z           "evidence": [
2026-06-04T07:59:22.3894119Z             {
2026-06-04T07:59:22.3895252Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T07:59:22.3896692Z               "line": 34
2026-06-04T07:59:22.3897722Z             }
2026-06-04T07:59:22.3898623Z           ]
2026-06-04T07:59:22.3899544Z         },
2026-06-04T07:59:22.3900430Z         "unit": {
2026-06-04T07:59:22.3901413Z           "complete": true,
2026-06-04T07:59:22.3902503Z           "evidence": [
2026-06-04T07:59:22.3903501Z             {
2026-06-04T07:59:22.3904600Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.3905969Z               "line": 248
2026-06-04T07:59:22.3906990Z             },
2026-06-04T07:59:22.3914736Z             {
2026-06-04T07:59:22.3915912Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3917345Z               "line": 550
2026-06-04T07:59:22.3918376Z             },
2026-06-04T07:59:22.3919373Z             {
2026-06-04T07:59:22.3920483Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3921891Z               "line": 601
2026-06-04T07:59:22.3922914Z             },
2026-06-04T07:59:22.3924004Z             {
2026-06-04T07:59:22.3925353Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3926997Z               "line": 625
2026-06-04T07:59:22.3928193Z             },
2026-06-04T07:59:22.3929100Z             {
2026-06-04T07:59:22.3930285Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.3931699Z               "line": 655
2026-06-04T07:59:22.3932733Z             }
2026-06-04T07:59:22.3933638Z           ]
2026-06-04T07:59:22.3934517Z         }
2026-06-04T07:59:22.3935383Z       }
2026-06-04T07:59:22.3936245Z     },
2026-06-04T07:59:22.3937106Z     {
2026-06-04T07:59:22.3938043Z       "id": "REQ-DOCS-1",
2026-06-04T07:59:22.3939716Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T07:59:22.3941598Z       "requiredStages": [],
2026-06-04T07:59:22.3942685Z       "stages": {
2026-06-04T07:59:22.3943631Z         "doc": {
2026-06-04T07:59:22.3944608Z           "complete": false,
2026-06-04T07:59:22.3945736Z           "evidence": []
2026-06-04T07:59:22.3946779Z         },
2026-06-04T07:59:22.3947660Z         "impl": {
2026-06-04T07:59:22.3948641Z           "complete": false,
2026-06-04T07:59:22.3949849Z           "evidence": []
2026-06-04T07:59:22.3950912Z         },
2026-06-04T07:59:22.3951796Z         "int": {
2026-06-04T07:59:22.3952777Z           "complete": false,
2026-06-04T07:59:22.3954145Z           "evidence": []
2026-06-04T07:59:22.3955395Z         },
2026-06-04T07:59:22.3956474Z         "unit": {
2026-06-04T07:59:22.3957600Z           "complete": false,
2026-06-04T07:59:22.3958866Z           "evidence": []
2026-06-04T07:59:22.3960143Z         }
2026-06-04T07:59:22.3961173Z       }
2026-06-04T07:59:22.3962177Z     },
2026-06-04T07:59:22.3963166Z     {
2026-06-04T07:59:22.3964132Z       "id": "REQ-DOCS-2",
2026-06-04T07:59:22.3965648Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T07:59:22.3967392Z       "requiredStages": [],
2026-06-04T07:59:22.3968524Z       "stages": {
2026-06-04T07:59:22.3970171Z         "doc": {
2026-06-04T07:59:22.3971301Z           "complete": false,
2026-06-04T07:59:22.3972470Z           "evidence": []
2026-06-04T07:59:22.3973531Z         },
2026-06-04T07:59:22.3974453Z         "impl": {
2026-06-04T07:59:22.3975678Z           "complete": false,
2026-06-04T07:59:22.3976860Z           "evidence": []
2026-06-04T07:59:22.3977924Z         },
2026-06-04T07:59:22.3978832Z         "int": {
2026-06-04T07:59:22.3979911Z           "complete": false,
2026-06-04T07:59:22.3981076Z           "evidence": []
2026-06-04T07:59:22.3982145Z         },
2026-06-04T07:59:22.3983057Z         "unit": {
2026-06-04T07:59:22.3984078Z           "complete": false,
2026-06-04T07:59:22.3985245Z           "evidence": []
2026-06-04T07:59:22.3986312Z         }
2026-06-04T07:59:22.3987244Z       }
2026-06-04T07:59:22.3988179Z     },
2026-06-04T07:59:22.3989088Z     {
2026-06-04T07:59:22.3990082Z       "id": "REQ-DOCS-3",
2026-06-04T07:59:22.3992120Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T07:59:22.3993787Z       "requiredStages": [],
2026-06-04T07:59:22.3994937Z       "stages": {
2026-06-04T07:59:22.3995965Z         "doc": {
2026-06-04T07:59:22.3996985Z           "complete": false,
2026-06-04T07:59:22.3998202Z           "evidence": []
2026-06-04T07:59:22.3999309Z         },
2026-06-04T07:59:22.4000245Z         "impl": {
2026-06-04T07:59:22.4001276Z           "complete": false,
2026-06-04T07:59:22.4002436Z           "evidence": []
2026-06-04T07:59:22.4003512Z         },
2026-06-04T07:59:22.4004434Z         "int": {
2026-06-04T07:59:22.4005455Z           "complete": false,
2026-06-04T07:59:22.4006611Z           "evidence": []
2026-06-04T07:59:22.4015884Z         },
2026-06-04T07:59:22.4016835Z         "unit": {
2026-06-04T07:59:22.4017819Z           "complete": false,
2026-06-04T07:59:22.4018947Z           "evidence": []
2026-06-04T07:59:22.4020378Z         }
2026-06-04T07:59:22.4021245Z       }
2026-06-04T07:59:22.4022096Z     },
2026-06-04T07:59:22.4022974Z     {
2026-06-04T07:59:22.4023888Z       "id": "REQ-DOCS-4",
2026-06-04T07:59:22.4025525Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T07:59:22.4027393Z       "requiredStages": [],
2026-06-04T07:59:22.4028500Z       "stages": {
2026-06-04T07:59:22.4029484Z         "doc": {
2026-06-04T07:59:22.4030471Z           "complete": false,
2026-06-04T07:59:22.4031581Z           "evidence": []
2026-06-04T07:59:22.4032776Z         },
2026-06-04T07:59:22.4033768Z         "impl": {
2026-06-04T07:59:22.4034907Z           "complete": false,
2026-06-04T07:59:22.4036270Z           "evidence": []
2026-06-04T07:59:22.4037301Z         },
2026-06-04T07:59:22.4038179Z         "int": {
2026-06-04T07:59:22.4039550Z           "complete": false,
2026-06-04T07:59:22.4040668Z           "evidence": []
2026-06-04T07:59:22.4041996Z         },
2026-06-04T07:59:22.4043103Z         "unit": {
2026-06-04T07:59:22.4044242Z           "complete": false,
2026-06-04T07:59:22.4045358Z           "evidence": []
2026-06-04T07:59:22.4046589Z         }
2026-06-04T07:59:22.4047624Z       }
2026-06-04T07:59:22.4048466Z     },
2026-06-04T07:59:22.4049357Z     {
2026-06-04T07:59:22.4050255Z       "id": "REQ-DOCS-5",
2026-06-04T07:59:22.4051934Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T07:59:22.4054215Z       "requiredStages": [],
2026-06-04T07:59:22.4055303Z       "stages": {
2026-06-04T07:59:22.4056241Z         "doc": {
2026-06-04T07:59:22.4057206Z           "complete": false,
2026-06-04T07:59:22.4058320Z           "evidence": []
2026-06-04T07:59:22.4059384Z         },
2026-06-04T07:59:22.4060432Z         "impl": {
2026-06-04T07:59:22.4061617Z           "complete": false,
2026-06-04T07:59:22.4062738Z           "evidence": []
2026-06-04T07:59:22.4063757Z         },
2026-06-04T07:59:22.4064631Z         "int": {
2026-06-04T07:59:22.4065618Z           "complete": false,
2026-06-04T07:59:22.4066726Z           "evidence": []
2026-06-04T07:59:22.4067739Z         },
2026-06-04T07:59:22.4069077Z         "unit": {
2026-06-04T07:59:22.4070172Z           "complete": false,
2026-06-04T07:59:22.4071295Z           "evidence": []
2026-06-04T07:59:22.4072329Z         }
2026-06-04T07:59:22.4073193Z       }
2026-06-04T07:59:22.4074216Z     },
2026-06-04T07:59:22.4075068Z     {
2026-06-04T07:59:22.4075963Z       "id": "REQ-EP-1",
2026-06-04T07:59:22.4077215Z       "title": "Day-one endpoint types; open type system",
2026-06-04T07:59:22.4078669Z       "requiredStages": [
2026-06-04T07:59:22.4079798Z         "impl",
2026-06-04T07:59:22.4080735Z         "unit"
2026-06-04T07:59:22.4081646Z       ],
2026-06-04T07:59:22.4082515Z       "stages": {
2026-06-04T07:59:22.4083454Z         "doc": {
2026-06-04T07:59:22.4084422Z           "complete": false,
2026-06-04T07:59:22.4085523Z           "evidence": []
2026-06-04T07:59:22.4086539Z         },
2026-06-04T07:59:22.4087416Z         "impl": {
2026-06-04T07:59:22.4088387Z           "complete": true,
2026-06-04T07:59:22.4089525Z           "evidence": [
2026-06-04T07:59:22.4090530Z             {
2026-06-04T07:59:22.4091643Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4093044Z               "line": 77
2026-06-04T07:59:22.4094594Z             },
2026-06-04T07:59:22.4095697Z             {
2026-06-04T07:59:22.4096799Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4098184Z               "line": 94
2026-06-04T07:59:22.4099239Z             }
2026-06-04T07:59:22.4100162Z           ]
2026-06-04T07:59:22.4101028Z         },
2026-06-04T07:59:22.4101895Z         "int": {
2026-06-04T07:59:22.4102865Z           "complete": false,
2026-06-04T07:59:22.4103964Z           "evidence": []
2026-06-04T07:59:22.4104985Z         },
2026-06-04T07:59:22.4114393Z         "unit": {
2026-06-04T07:59:22.4115781Z           "complete": true,
2026-06-04T07:59:22.4117093Z           "evidence": [
2026-06-04T07:59:22.4118190Z             {
2026-06-04T07:59:22.4119489Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4121123Z               "line": 161
2026-06-04T07:59:22.4122297Z             },
2026-06-04T07:59:22.4123240Z             {
2026-06-04T07:59:22.4124385Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4125867Z               "line": 178
2026-06-04T07:59:22.4126929Z             }
2026-06-04T07:59:22.4127868Z           ]
2026-06-04T07:59:22.4128766Z         }
2026-06-04T07:59:22.4129726Z       }
2026-06-04T07:59:22.4130608Z     },
2026-06-04T07:59:22.4131496Z     {
2026-06-04T07:59:22.4132397Z       "id": "REQ-EP-2",
2026-06-04T07:59:22.4133868Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T07:59:22.4135618Z       "requiredStages": [
2026-06-04T07:59:22.4136707Z         "impl",
2026-06-04T07:59:22.4137651Z         "unit"
2026-06-04T07:59:22.4138584Z       ],
2026-06-04T07:59:22.4139579Z       "stages": {
2026-06-04T07:59:22.4140562Z         "doc": {
2026-06-04T07:59:22.4141567Z           "complete": false,
2026-06-04T07:59:22.4142730Z           "evidence": []
2026-06-04T07:59:22.4143794Z         },
2026-06-04T07:59:22.4144692Z         "impl": {
2026-06-04T07:59:22.4145705Z           "complete": true,
2026-06-04T07:59:22.4146822Z           "evidence": [
2026-06-04T07:59:22.4147860Z             {
2026-06-04T07:59:22.4148995Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4150609Z               "line": 114
2026-06-04T07:59:22.4151634Z             },
2026-06-04T07:59:22.4152534Z             {
2026-06-04T07:59:22.4153631Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4155032Z               "line": 131
2026-06-04T07:59:22.4156058Z             },
2026-06-04T07:59:22.4156970Z             {
2026-06-04T07:59:22.4158054Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4159684Z               "line": 138
2026-06-04T07:59:22.4160743Z             }
2026-06-04T07:59:22.4161662Z           ]
2026-06-04T07:59:22.4162565Z         },
2026-06-04T07:59:22.4163467Z         "int": {
2026-06-04T07:59:22.4164914Z           "complete": false,
2026-06-04T07:59:22.4166120Z           "evidence": []
2026-06-04T07:59:22.4167188Z         },
2026-06-04T07:59:22.4168097Z         "unit": {
2026-06-04T07:59:22.4169104Z           "complete": true,
2026-06-04T07:59:22.4170633Z           "evidence": [
2026-06-04T07:59:22.4171702Z             {
2026-06-04T07:59:22.4172879Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4174284Z               "line": 193
2026-06-04T07:59:22.4175307Z             },
2026-06-04T07:59:22.4176209Z             {
2026-06-04T07:59:22.4177310Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4178696Z               "line": 211
2026-06-04T07:59:22.4179791Z             },
2026-06-04T07:59:22.4180699Z             {
2026-06-04T07:59:22.4181788Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T07:59:22.4183172Z               "line": 224
2026-06-04T07:59:22.4184205Z             }
2026-06-04T07:59:22.4185106Z           ]
2026-06-04T07:59:22.4185979Z         }
2026-06-04T07:59:22.4186833Z       }
2026-06-04T07:59:22.4187683Z     },
2026-06-04T07:59:22.4188534Z     {
2026-06-04T07:59:22.4189462Z       "id": "REQ-EP-3",
2026-06-04T07:59:22.4191044Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T07:59:22.4192872Z       "requiredStages": [
2026-06-04T07:59:22.4193937Z         "impl",
2026-06-04T07:59:22.4194851Z         "unit"
2026-06-04T07:59:22.4195750Z       ],
2026-06-04T07:59:22.4196619Z       "stages": {
2026-06-04T07:59:22.4197572Z         "doc": {
2026-06-04T07:59:22.4198533Z           "complete": false,
2026-06-04T07:59:22.4199705Z           "evidence": []
2026-06-04T07:59:22.4200723Z         },
2026-06-04T07:59:22.4201608Z         "impl": {
2026-06-04T07:59:22.4210239Z           "complete": true,
2026-06-04T07:59:22.4211526Z           "evidence": [
2026-06-04T07:59:22.4212534Z             {
2026-06-04T07:59:22.4213670Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4215042Z               "line": 31
2026-06-04T07:59:22.4216057Z             },
2026-06-04T07:59:22.4216962Z             {
2026-06-04T07:59:22.4218050Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4219493Z               "line": 49
2026-06-04T07:59:22.4220503Z             }
2026-06-04T07:59:22.4221386Z           ]
2026-06-04T07:59:22.4222253Z         },
2026-06-04T07:59:22.4223124Z         "int": {
2026-06-04T07:59:22.4224084Z           "complete": false,
2026-06-04T07:59:22.4225188Z           "evidence": []
2026-06-04T07:59:22.4226198Z         },
2026-06-04T07:59:22.4227084Z         "unit": {
2026-06-04T07:59:22.4228047Z           "complete": true,
2026-06-04T07:59:22.4229111Z           "evidence": [
2026-06-04T07:59:22.4230131Z             {
2026-06-04T07:59:22.4231217Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4232590Z               "line": 156
2026-06-04T07:59:22.4233597Z             },
2026-06-04T07:59:22.4234502Z             {
2026-06-04T07:59:22.4235594Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4236986Z               "line": 164
2026-06-04T07:59:22.4238000Z             },
2026-06-04T07:59:22.4238901Z             {
2026-06-04T07:59:22.4240037Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4241408Z               "line": 177
2026-06-04T07:59:22.4242427Z             },
2026-06-04T07:59:22.4243328Z             {
2026-06-04T07:59:22.4244415Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4245796Z               "line": 197
2026-06-04T07:59:22.4246816Z             },
2026-06-04T07:59:22.4247710Z             {
2026-06-04T07:59:22.4248798Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4250204Z               "line": 213
2026-06-04T07:59:22.4251216Z             },
2026-06-04T07:59:22.4252108Z             {
2026-06-04T07:59:22.4253189Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T07:59:22.4254893Z               "line": 227
2026-06-04T07:59:22.4255946Z             }
2026-06-04T07:59:22.4256841Z           ]
2026-06-04T07:59:22.4257703Z         }
2026-06-04T07:59:22.4258557Z       }
2026-06-04T07:59:22.4259618Z     },
2026-06-04T07:59:22.4260463Z     {
2026-06-04T07:59:22.4261340Z       "id": "REQ-EP-4",
2026-06-04T07:59:22.4262671Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T07:59:22.4264224Z       "requiredStages": [
2026-06-04T07:59:22.4265270Z         "impl",
2026-06-04T07:59:22.4266176Z         "unit"
2026-06-04T07:59:22.4267078Z       ],
2026-06-04T07:59:22.4267943Z       "stages": {
2026-06-04T07:59:22.4268877Z         "doc": {
2026-06-04T07:59:22.4269891Z           "complete": false,
2026-06-04T07:59:22.4270993Z           "evidence": []
2026-06-04T07:59:22.4271998Z         },
2026-06-04T07:59:22.4272873Z         "impl": {
2026-06-04T07:59:22.4273836Z           "complete": true,
2026-06-04T07:59:22.4274908Z           "evidence": [
2026-06-04T07:59:22.4275909Z             {
2026-06-04T07:59:22.4276971Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.4278323Z               "line": 404
2026-06-04T07:59:22.4279371Z             },
2026-06-04T07:59:22.4280288Z             {
2026-06-04T07:59:22.4281351Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.4282710Z               "line": 603
2026-06-04T07:59:22.4283720Z             },
2026-06-04T07:59:22.4284623Z             {
2026-06-04T07:59:22.4285696Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.4287059Z               "line": 671
2026-06-04T07:59:22.4288064Z             },
2026-06-04T07:59:22.4288957Z             {
2026-06-04T07:59:22.4290044Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.4291382Z               "line": 83
2026-06-04T07:59:22.4292390Z             },
2026-06-04T07:59:22.4293289Z             {
2026-06-04T07:59:22.4294333Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.4295682Z               "line": 372
2026-06-04T07:59:22.4296711Z             },
2026-06-04T07:59:22.4303605Z             {
2026-06-04T07:59:22.4304797Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.4306205Z               "line": 443
2026-06-04T07:59:22.4307252Z             },
2026-06-04T07:59:22.4308173Z             {
2026-06-04T07:59:22.4309349Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.4310753Z               "line": 181
2026-06-04T07:59:22.4311798Z             },
2026-06-04T07:59:22.4312715Z             {
2026-06-04T07:59:22.4313820Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.4315221Z               "line": 300
2026-06-04T07:59:22.4316276Z             },
2026-06-04T07:59:22.4317196Z             {
2026-06-04T07:59:22.4318298Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T07:59:22.4319734Z               "line": 602
2026-06-04T07:59:22.4320765Z             }
2026-06-04T07:59:22.4321681Z           ]
2026-06-04T07:59:22.4322572Z         },
2026-06-04T07:59:22.4323455Z         "int": {
2026-06-04T07:59:22.4324449Z           "complete": false,
2026-06-04T07:59:22.4325566Z           "evidence": []
2026-06-04T07:59:22.4326620Z         },
2026-06-04T07:59:22.4327508Z         "unit": {
2026-06-04T07:59:22.4328493Z           "complete": true,
2026-06-04T07:59:22.4329622Z           "evidence": [
2026-06-04T07:59:22.4330638Z             {
2026-06-04T07:59:22.4331708Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T07:59:22.4333066Z               "line": 516
2026-06-04T07:59:22.4334113Z             },
2026-06-04T07:59:22.4335033Z             {
2026-06-04T07:59:22.4336167Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T07:59:22.4337589Z               "line": 75
2026-06-04T07:59:22.4338620Z             },
2026-06-04T07:59:22.4339586Z             {
2026-06-04T07:59:22.4340729Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T07:59:22.4342490Z               "line": 131
2026-06-04T07:59:22.4343577Z             }
2026-06-04T07:59:22.4344492Z           ]
2026-06-04T07:59:22.4345381Z         }
2026-06-04T07:59:22.4346250Z       }
2026-06-04T07:59:22.4347108Z     },
2026-06-04T07:59:22.4348136Z     {
2026-06-04T07:59:22.4349032Z       "id": "REQ-EP-5",
2026-06-04T07:59:22.4353365Z       "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-04T07:59:22.4357971Z       "requiredStages": [],
2026-06-04T07:59:22.4359044Z       "stages": {
2026-06-04T07:59:22.4360011Z         "doc": {
2026-06-04T07:59:22.4360974Z           "complete": false,
2026-06-04T07:59:22.4362067Z           "evidence": []
2026-06-04T07:59:22.4363077Z         },
2026-06-04T07:59:22.4363931Z         "impl": {
2026-06-04T07:59:22.4364894Z           "complete": false,
2026-06-04T07:59:22.4366000Z           "evidence": []
2026-06-04T07:59:22.4367008Z         },
2026-06-04T07:59:22.4367870Z         "int": {
2026-06-04T07:59:22.4368827Z           "complete": false,
2026-06-04T07:59:22.4369967Z           "evidence": []
2026-06-04T07:59:22.4370985Z         },
2026-06-04T07:59:22.4371839Z         "unit": {
2026-06-04T07:59:22.4372807Z           "complete": false,
2026-06-04T07:59:22.4373893Z           "evidence": []
2026-06-04T07:59:22.4374904Z         }
2026-06-04T07:59:22.4375741Z       }
2026-06-04T07:59:22.4376563Z     },
2026-06-04T07:59:22.4377392Z     {
2026-06-04T07:59:22.4378262Z       "id": "REQ-FRONT-1",
2026-06-04T07:59:22.4379831Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T07:59:22.4381555Z       "requiredStages": [],
2026-06-04T07:59:22.4382617Z       "stages": {
2026-06-04T07:59:22.4383558Z         "doc": {
2026-06-04T07:59:22.4384515Z           "complete": false,
2026-06-04T07:59:22.4385598Z           "evidence": []
2026-06-04T07:59:22.4386613Z         },
2026-06-04T07:59:22.4387480Z         "impl": {
2026-06-04T07:59:22.4388442Z           "complete": false,
2026-06-04T07:59:22.4389573Z           "evidence": []
2026-06-04T07:59:22.4390585Z         },
2026-06-04T07:59:22.4391454Z         "int": {
2026-06-04T07:59:22.4392421Z           "complete": false,
2026-06-04T07:59:22.4393510Z           "evidence": []
2026-06-04T07:59:22.4394512Z         },
2026-06-04T07:59:22.4395372Z         "unit": {
2026-06-04T07:59:22.4402385Z           "complete": false,
2026-06-04T07:59:22.4403571Z           "evidence": []
2026-06-04T07:59:22.4404570Z         }
2026-06-04T07:59:22.4405410Z       }
2026-06-04T07:59:22.4406225Z     },
2026-06-04T07:59:22.4407073Z     {
2026-06-04T07:59:22.4408051Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T07:59:22.4409864Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T07:59:22.4411580Z       "requiredStages": [
2026-06-04T07:59:22.4412621Z         "impl",
2026-06-04T07:59:22.4413565Z         "unit"
2026-06-04T07:59:22.4414461Z       ],
2026-06-04T07:59:22.4415322Z       "stages": {
2026-06-04T07:59:22.4416252Z         "doc": {
2026-06-04T07:59:22.4417225Z           "complete": false,
2026-06-04T07:59:22.4418326Z           "evidence": []
2026-06-04T07:59:22.4419370Z         },
2026-06-04T07:59:22.4420240Z         "impl": {
2026-06-04T07:59:22.4421191Z           "complete": true,
2026-06-04T07:59:22.4422256Z           "evidence": [
2026-06-04T07:59:22.4423228Z             {
2026-06-04T07:59:22.4424297Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.4425661Z               "line": 60
2026-06-04T07:59:22.4426653Z             },
2026-06-04T07:59:22.4427549Z             {
2026-06-04T07:59:22.4428583Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.4429939Z               "line": 18
2026-06-04T07:59:22.4430934Z             },
2026-06-04T07:59:22.4431826Z             {
2026-06-04T07:59:22.4433136Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.4434492Z               "line": 94
2026-06-04T07:59:22.4435512Z             }
2026-06-04T07:59:22.4436400Z           ]
2026-06-04T07:59:22.4437261Z         },
2026-06-04T07:59:22.4438118Z         "int": {
2026-06-04T07:59:22.4439292Z           "complete": false,
2026-06-04T07:59:22.4440394Z           "evidence": []
2026-06-04T07:59:22.4441411Z         },
2026-06-04T07:59:22.4442274Z         "unit": {
2026-06-04T07:59:22.4443240Z           "complete": true,
2026-06-04T07:59:22.4444304Z           "evidence": [
2026-06-04T07:59:22.4445283Z             {
2026-06-04T07:59:22.4446358Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.4447726Z               "line": 272
2026-06-04T07:59:22.4448744Z             },
2026-06-04T07:59:22.4449680Z             {
2026-06-04T07:59:22.4450723Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.4452047Z               "line": 152
2026-06-04T07:59:22.4453064Z             },
2026-06-04T07:59:22.4453960Z             {
2026-06-04T07:59:22.4454994Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.4456323Z               "line": 188
2026-06-04T07:59:22.4457330Z             }
2026-06-04T07:59:22.4458215Z           ]
2026-06-04T07:59:22.4459059Z         }
2026-06-04T07:59:22.4459993Z       }
2026-06-04T07:59:22.4460836Z     },
2026-06-04T07:59:22.4461685Z     {
2026-06-04T07:59:22.4462707Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T07:59:22.4466788Z       "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-04T07:59:22.4470848Z       "requiredStages": [
2026-06-04T07:59:22.4471898Z         "impl",
2026-06-04T07:59:22.4472815Z         "unit"
2026-06-04T07:59:22.4473714Z       ],
2026-06-04T07:59:22.4474114Z       "stages": {
2026-06-04T07:59:22.4474507Z         "doc": {
2026-06-04T07:59:22.4474942Z           "complete": false,
2026-06-04T07:59:22.4475363Z           "evidence": []
2026-06-04T07:59:22.4475744Z         },
2026-06-04T07:59:22.4476140Z         "impl": {
2026-06-04T07:59:22.4476555Z           "complete": true,
2026-06-04T07:59:22.4476982Z           "evidence": [
2026-06-04T07:59:22.4477369Z             {
2026-06-04T07:59:22.4477956Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T07:59:22.4478358Z               "line": 22
2026-06-04T07:59:22.4478737Z             },
2026-06-04T07:59:22.4479123Z             {
2026-06-04T07:59:22.4479715Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.4480136Z               "line": 417
2026-06-04T07:59:22.4480527Z             },
2026-06-04T07:59:22.4480901Z             {
2026-06-04T07:59:22.4481480Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T07:59:22.4481881Z               "line": 17
2026-06-04T07:59:22.4482272Z             },
2026-06-04T07:59:22.4482649Z             {
2026-06-04T07:59:22.4483233Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T07:59:22.4483648Z               "line": 125
2026-06-04T07:59:22.4484026Z             },
2026-06-04T07:59:22.4484414Z             {
2026-06-04T07:59:22.4485033Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.4485444Z               "line": 169
2026-06-04T07:59:22.4485835Z             },
2026-06-04T07:59:22.4486206Z             {
2026-06-04T07:59:22.4486823Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.4487230Z               "line": 197
2026-06-04T07:59:22.4487613Z             },
2026-06-04T07:59:22.4487990Z             {
2026-06-04T07:59:22.4488613Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.4489027Z               "line": 223
2026-06-04T07:59:22.4489446Z             },
2026-06-04T07:59:22.4489838Z             {
2026-06-04T07:59:22.4490410Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.4491007Z               "line": 122
2026-06-04T07:59:22.4491417Z             },
2026-06-04T07:59:22.4491803Z             {
2026-06-04T07:59:22.4492390Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.4492935Z               "line": 222
2026-06-04T07:59:22.4498142Z             }
2026-06-04T07:59:22.4498621Z           ]
2026-06-04T07:59:22.4499009Z         },
2026-06-04T07:59:22.4499496Z         "int": {
2026-06-04T07:59:22.4499933Z           "complete": false,
2026-06-04T07:59:22.4500347Z           "evidence": []
2026-06-04T07:59:22.4500719Z         },
2026-06-04T07:59:22.4501106Z         "unit": {
2026-06-04T07:59:22.4501519Z           "complete": true,
2026-06-04T07:59:22.4501936Z           "evidence": [
2026-06-04T07:59:22.4502312Z             {
2026-06-04T07:59:22.4502910Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T07:59:22.4503319Z               "line": 53
2026-06-04T07:59:22.4503698Z             },
2026-06-04T07:59:22.4504074Z             {
2026-06-04T07:59:22.4504682Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T07:59:22.4505095Z               "line": 60
2026-06-04T07:59:22.4505475Z             },
2026-06-04T07:59:22.4505849Z             {
2026-06-04T07:59:22.4506446Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T07:59:22.4506842Z               "line": 72
2026-06-04T07:59:22.4507229Z             },
2026-06-04T07:59:22.4507599Z             {
2026-06-04T07:59:22.4508162Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T07:59:22.4508572Z               "line": 295
2026-06-04T07:59:22.4508952Z             },
2026-06-04T07:59:22.4509372Z             {
2026-06-04T07:59:22.4509937Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T07:59:22.4510359Z               "line": 247
2026-06-04T07:59:22.4510735Z             },
2026-06-04T07:59:22.4511120Z             {
2026-06-04T07:59:22.4511690Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T07:59:22.4512096Z               "line": 282
2026-06-04T07:59:22.4512480Z             },
2026-06-04T07:59:22.4512847Z             {
2026-06-04T07:59:22.4513419Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T07:59:22.4513834Z               "line": 313
2026-06-04T07:59:22.4514210Z             },
2026-06-04T07:59:22.4514593Z             {
2026-06-04T07:59:22.4515208Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.4515619Z               "line": 400
2026-06-04T07:59:22.4515993Z             },
2026-06-04T07:59:22.4516371Z             {
2026-06-04T07:59:22.4516954Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.4517358Z               "line": 383
2026-06-04T07:59:22.4517739Z             },
2026-06-04T07:59:22.4518108Z             {
2026-06-04T07:59:22.4518695Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.4519089Z               "line": 420
2026-06-04T07:59:22.4519504Z             }
2026-06-04T07:59:22.4520062Z           ]
2026-06-04T07:59:22.4520629Z         }
2026-06-04T07:59:22.4521210Z       }
2026-06-04T07:59:22.4521651Z     },
2026-06-04T07:59:22.4522117Z     {
2026-06-04T07:59:22.4522684Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T07:59:22.4523976Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T07:59:22.4524427Z       "requiredStages": [
2026-06-04T07:59:22.4524813Z         "impl",
2026-06-04T07:59:22.4525384Z         "unit"
2026-06-04T07:59:22.4525906Z       ],
2026-06-04T07:59:22.4526300Z       "stages": {
2026-06-04T07:59:22.4526675Z         "doc": {
2026-06-04T07:59:22.4527104Z           "complete": false,
2026-06-04T07:59:22.4527515Z           "evidence": []
2026-06-04T07:59:22.4527883Z         },
2026-06-04T07:59:22.4528274Z         "impl": {
2026-06-04T07:59:22.4528688Z           "complete": true,
2026-06-04T07:59:22.4529093Z           "evidence": [
2026-06-04T07:59:22.4529521Z             {
2026-06-04T07:59:22.4530417Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T07:59:22.4530867Z               "line": 164
2026-06-04T07:59:22.4531246Z             }
2026-06-04T07:59:22.4531634Z           ]
2026-06-04T07:59:22.4532013Z         },
2026-06-04T07:59:22.4532607Z         "int": {
2026-06-04T07:59:22.4533030Z           "complete": true,
2026-06-04T07:59:22.4533432Z           "evidence": [
2026-06-04T07:59:22.4533820Z             {
2026-06-04T07:59:22.4534356Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T07:59:22.4534760Z               "line": 44
2026-06-04T07:59:22.4535138Z             },
2026-06-04T07:59:22.4535519Z             {
2026-06-04T07:59:22.4536053Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T07:59:22.4536459Z               "line": 66
2026-06-04T07:59:22.4536842Z             }
2026-06-04T07:59:22.4537212Z           ]
2026-06-04T07:59:22.4537596Z         },
2026-06-04T07:59:22.4537980Z         "unit": {
2026-06-04T07:59:22.4538404Z           "complete": true,
2026-06-04T07:59:22.4538812Z           "evidence": [
2026-06-04T07:59:22.4539244Z             {
2026-06-04T07:59:22.4539797Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T07:59:22.4540199Z               "line": 181
2026-06-04T07:59:22.4540597Z             },
2026-06-04T07:59:22.4540967Z             {
2026-06-04T07:59:22.4541520Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T07:59:22.4541930Z               "line": 233
2026-06-04T07:59:22.4542317Z             },
2026-06-04T07:59:22.4542700Z             {
2026-06-04T07:59:22.4543234Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T07:59:22.4543647Z               "line": 261
2026-06-04T07:59:22.4544022Z             }
2026-06-04T07:59:22.4544402Z           ]
2026-06-04T07:59:22.4544777Z         }
2026-06-04T07:59:22.4545157Z       }
2026-06-04T07:59:22.4545536Z     },
2026-06-04T07:59:22.4545904Z     {
2026-06-04T07:59:22.4546470Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T07:59:22.4548825Z       "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-04T07:59:22.4549333Z       "requiredStages": [
2026-06-04T07:59:22.4549726Z         "impl",
2026-06-04T07:59:22.4550117Z         "unit",
2026-06-04T07:59:22.4550500Z         "int"
2026-06-04T07:59:22.4550877Z       ],
2026-06-04T07:59:22.4551272Z       "stages": {
2026-06-04T07:59:22.4551652Z         "doc": {
2026-06-04T07:59:22.4552087Z           "complete": false,
2026-06-04T07:59:22.4552500Z           "evidence": []
2026-06-04T07:59:22.4552891Z         },
2026-06-04T07:59:22.4553288Z         "impl": {
2026-06-04T07:59:22.4553713Z           "complete": true,
2026-06-04T07:59:22.4554120Z           "evidence": [
2026-06-04T07:59:22.4554494Z             {
2026-06-04T07:59:22.4555090Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.4555489Z               "line": 150
2026-06-04T07:59:22.4555871Z             },
2026-06-04T07:59:22.4556261Z             {
2026-06-04T07:59:22.4556851Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.4557260Z               "line": 169
2026-06-04T07:59:22.4557631Z             },
2026-06-04T07:59:22.4558021Z             {
2026-06-04T07:59:22.4558560Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.4558970Z               "line": 79
2026-06-04T07:59:22.4559396Z             },
2026-06-04T07:59:22.4559774Z             {
2026-06-04T07:59:22.4560296Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.4560692Z               "line": 51
2026-06-04T07:59:22.4561073Z             },
2026-06-04T07:59:22.4561451Z             {
2026-06-04T07:59:22.4561990Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.4562396Z               "line": 101
2026-06-04T07:59:22.4562768Z             },
2026-06-04T07:59:22.4563161Z             {
2026-06-04T07:59:22.4563738Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4564316Z               "line": 27
2026-06-04T07:59:22.4564728Z             },
2026-06-04T07:59:22.4565104Z             {
2026-06-04T07:59:22.4565688Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4566228Z               "line": 79
2026-06-04T07:59:22.4566618Z             },
2026-06-04T07:59:22.4566992Z             {
2026-06-04T07:59:22.4567579Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4567998Z               "line": 102
2026-06-04T07:59:22.4568375Z             },
2026-06-04T07:59:22.4568758Z             {
2026-06-04T07:59:22.4569390Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.4569810Z               "line": 108
2026-06-04T07:59:22.4570183Z             }
2026-06-04T07:59:22.4570566Z           ]
2026-06-04T07:59:22.4570949Z         },
2026-06-04T07:59:22.4571329Z         "int": {
2026-06-04T07:59:22.4576535Z           "complete": true,
2026-06-04T07:59:22.4577043Z           "evidence": [
2026-06-04T07:59:22.4577466Z             {
2026-06-04T07:59:22.4578105Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T07:59:22.4578520Z               "line": 35
2026-06-04T07:59:22.4578914Z             }
2026-06-04T07:59:22.4579406Z           ]
2026-06-04T07:59:22.4579795Z         },
2026-06-04T07:59:22.4580177Z         "unit": {
2026-06-04T07:59:22.4580607Z           "complete": true,
2026-06-04T07:59:22.4581008Z           "evidence": [
2026-06-04T07:59:22.4581400Z             {
2026-06-04T07:59:22.4581997Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.4582393Z               "line": 484
2026-06-04T07:59:22.4582777Z             },
2026-06-04T07:59:22.4583148Z             {
2026-06-04T07:59:22.4583685Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.4584085Z               "line": 236
2026-06-04T07:59:22.4584468Z             },
2026-06-04T07:59:22.4584853Z             {
2026-06-04T07:59:22.4585429Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4585848Z               "line": 124
2026-06-04T07:59:22.4586223Z             },
2026-06-04T07:59:22.4586604Z             {
2026-06-04T07:59:22.4587177Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4587594Z               "line": 136
2026-06-04T07:59:22.4587981Z             },
2026-06-04T07:59:22.4588347Z             {
2026-06-04T07:59:22.4588925Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4589363Z               "line": 146
2026-06-04T07:59:22.4589754Z             },
2026-06-04T07:59:22.4590129Z             {
2026-06-04T07:59:22.4590707Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4591121Z               "line": 159
2026-06-04T07:59:22.4591493Z             },
2026-06-04T07:59:22.4591878Z             {
2026-06-04T07:59:22.4592450Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T07:59:22.4592861Z               "line": 171
2026-06-04T07:59:22.4593244Z             },
2026-06-04T07:59:22.4593625Z             {
2026-06-04T07:59:22.4594212Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.4594606Z               "line": 207
2026-06-04T07:59:22.4594989Z             }
2026-06-04T07:59:22.4595374Z           ]
2026-06-04T07:59:22.4595756Z         }
2026-06-04T07:59:22.4596130Z       }
2026-06-04T07:59:22.4596513Z     },
2026-06-04T07:59:22.4596895Z     {
2026-06-04T07:59:22.4597463Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T07:59:22.4601131Z       "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-04T07:59:22.4601579Z       "requiredStages": [],
2026-06-04T07:59:22.4601985Z       "stages": {
2026-06-04T07:59:22.4602377Z         "doc": {
2026-06-04T07:59:22.4602798Z           "complete": false,
2026-06-04T07:59:22.4603472Z           "evidence": []
2026-06-04T07:59:22.4603880Z         },
2026-06-04T07:59:22.4604276Z         "impl": {
2026-06-04T07:59:22.4604695Z           "complete": false,
2026-06-04T07:59:22.4605111Z           "evidence": []
2026-06-04T07:59:22.4605655Z         },
2026-06-04T07:59:22.4606044Z         "int": {
2026-06-04T07:59:22.4606478Z           "complete": false,
2026-06-04T07:59:22.4606881Z           "evidence": []
2026-06-04T07:59:22.4607263Z         },
2026-06-04T07:59:22.4607648Z         "unit": {
2026-06-04T07:59:22.4608078Z           "complete": false,
2026-06-04T07:59:22.4608489Z           "evidence": []
2026-06-04T07:59:22.4608860Z         }
2026-06-04T07:59:22.4609284Z       }
2026-06-04T07:59:22.4609652Z     },
2026-06-04T07:59:22.4610027Z     {
2026-06-04T07:59:22.4610515Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T07:59:22.4611436Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T07:59:22.4611878Z       "requiredStages": [
2026-06-04T07:59:22.4612277Z         "impl",
2026-06-04T07:59:22.4612667Z         "unit"
2026-06-04T07:59:22.4613037Z       ],
2026-06-04T07:59:22.4613434Z       "stages": {
2026-06-04T07:59:22.4613816Z         "doc": {
2026-06-04T07:59:22.4614255Z           "complete": false,
2026-06-04T07:59:22.4614673Z           "evidence": []
2026-06-04T07:59:22.4615044Z         },
2026-06-04T07:59:22.4615444Z         "impl": {
2026-06-04T07:59:22.4615860Z           "complete": true,
2026-06-04T07:59:22.4616265Z           "evidence": [
2026-06-04T07:59:22.4616639Z             {
2026-06-04T07:59:22.4617193Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4617597Z               "line": 40
2026-06-04T07:59:22.4617969Z             },
2026-06-04T07:59:22.4618345Z             {
2026-06-04T07:59:22.4618885Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4619334Z               "line": 98
2026-06-04T07:59:22.4619712Z             },
2026-06-04T07:59:22.4620099Z             {
2026-06-04T07:59:22.4620660Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4621069Z               "line": 209
2026-06-04T07:59:22.4621459Z             },
2026-06-04T07:59:22.4621828Z             {
2026-06-04T07:59:22.4622383Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4622783Z               "line": 291
2026-06-04T07:59:22.4623168Z             }
2026-06-04T07:59:22.4623553Z           ]
2026-06-04T07:59:22.4623927Z         },
2026-06-04T07:59:22.4624320Z         "int": {
2026-06-04T07:59:22.4624743Z           "complete": false,
2026-06-04T07:59:22.4625156Z           "evidence": []
2026-06-04T07:59:22.4625530Z         },
2026-06-04T07:59:22.4625918Z         "unit": {
2026-06-04T07:59:22.4626342Z           "complete": true,
2026-06-04T07:59:22.4626751Z           "evidence": [
2026-06-04T07:59:22.4627138Z             {
2026-06-04T07:59:22.4627678Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4628080Z               "line": 326
2026-06-04T07:59:22.4628467Z             },
2026-06-04T07:59:22.4628856Z             {
2026-06-04T07:59:22.4629443Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4629848Z               "line": 372
2026-06-04T07:59:22.4630243Z             },
2026-06-04T07:59:22.4630616Z             {
2026-06-04T07:59:22.4631164Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4631566Z               "line": 413
2026-06-04T07:59:22.4631953Z             },
2026-06-04T07:59:22.4632332Z             {
2026-06-04T07:59:22.4632870Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4633282Z               "line": 432
2026-06-04T07:59:22.4633655Z             }
2026-06-04T07:59:22.4634035Z           ]
2026-06-04T07:59:22.4634408Z         }
2026-06-04T07:59:22.4634797Z       }
2026-06-04T07:59:22.4635173Z     },
2026-06-04T07:59:22.4635541Z     {
2026-06-04T07:59:22.4636105Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T07:59:22.4636848Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T07:59:22.4637302Z       "requiredStages": [
2026-06-04T07:59:22.4637688Z         "impl",
2026-06-04T07:59:22.4638074Z         "unit"
2026-06-04T07:59:22.4638453Z       ],
2026-06-04T07:59:22.4638977Z       "stages": {
2026-06-04T07:59:22.4639410Z         "doc": {
2026-06-04T07:59:22.4639853Z           "complete": false,
2026-06-04T07:59:22.4640294Z           "evidence": []
2026-06-04T07:59:22.4640671Z         },
2026-06-04T07:59:22.4641066Z         "impl": {
2026-06-04T07:59:22.4641495Z           "complete": true,
2026-06-04T07:59:22.4641898Z           "evidence": [
2026-06-04T07:59:22.4642285Z             {
2026-06-04T07:59:22.4642829Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4643238Z               "line": 111
2026-06-04T07:59:22.4643612Z             },
2026-06-04T07:59:22.4643993Z             {
2026-06-04T07:59:22.4644537Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4644953Z               "line": 202
2026-06-04T07:59:22.4645338Z             }
2026-06-04T07:59:22.4645711Z           ]
2026-06-04T07:59:22.4646092Z         },
2026-06-04T07:59:22.4646469Z         "int": {
2026-06-04T07:59:22.4646900Z           "complete": false,
2026-06-04T07:59:22.4647328Z           "evidence": []
2026-06-04T07:59:22.4647701Z         },
2026-06-04T07:59:22.4648101Z         "unit": {
2026-06-04T07:59:22.4648519Z           "complete": true,
2026-06-04T07:59:22.4648927Z           "evidence": [
2026-06-04T07:59:22.4653309Z             {
2026-06-04T07:59:22.4653967Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4654386Z               "line": 347
2026-06-04T07:59:22.4654768Z             },
2026-06-04T07:59:22.4655158Z             {
2026-06-04T07:59:22.4655697Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.4656115Z               "line": 391
2026-06-04T07:59:22.4656491Z             }
2026-06-04T07:59:22.4656872Z           ]
2026-06-04T07:59:22.4657263Z         }
2026-06-04T07:59:22.4657660Z       }
2026-06-04T07:59:22.4658042Z     },
2026-06-04T07:59:22.4658417Z     {
2026-06-04T07:59:22.4658995Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T07:59:22.4660169Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T07:59:22.4660620Z       "requiredStages": [
2026-06-04T07:59:22.4661017Z         "impl",
2026-06-04T07:59:22.4661395Z         "unit"
2026-06-04T07:59:22.4661783Z       ],
2026-06-04T07:59:22.4662163Z       "stages": {
2026-06-04T07:59:22.4662554Z         "doc": {
2026-06-04T07:59:22.4662974Z           "complete": false,
2026-06-04T07:59:22.4663390Z           "evidence": []
2026-06-04T07:59:22.4663768Z         },
2026-06-04T07:59:22.4664155Z         "impl": {
2026-06-04T07:59:22.4664572Z           "complete": true,
2026-06-04T07:59:22.4664977Z           "evidence": [
2026-06-04T07:59:22.4665363Z             {
2026-06-04T07:59:22.4665907Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4666323Z               "line": 26
2026-06-04T07:59:22.4666709Z             },
2026-06-04T07:59:22.4667082Z             {
2026-06-04T07:59:22.4667632Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4668040Z               "line": 126
2026-06-04T07:59:22.4668422Z             },
2026-06-04T07:59:22.4668794Z             {
2026-06-04T07:59:22.4669440Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T07:59:22.4669844Z               "line": 26
2026-06-04T07:59:22.4670224Z             },
2026-06-04T07:59:22.4670602Z             {
2026-06-04T07:59:22.4671203Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T07:59:22.4671609Z               "line": 233
2026-06-04T07:59:22.4671989Z             }
2026-06-04T07:59:22.4672360Z           ]
2026-06-04T07:59:22.4672743Z         },
2026-06-04T07:59:22.4673124Z         "int": {
2026-06-04T07:59:22.4673548Z           "complete": false,
2026-06-04T07:59:22.4673957Z           "evidence": []
2026-06-04T07:59:22.4674575Z         },
2026-06-04T07:59:22.4674990Z         "unit": {
2026-06-04T07:59:22.4675411Z           "complete": true,
2026-06-04T07:59:22.4675831Z           "evidence": [
2026-06-04T07:59:22.4676202Z             {
2026-06-04T07:59:22.4676964Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4677367Z               "line": 152
2026-06-04T07:59:22.4677765Z             },
2026-06-04T07:59:22.4678145Z             {
2026-06-04T07:59:22.4678695Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4679103Z               "line": 161
2026-06-04T07:59:22.4679529Z             },
2026-06-04T07:59:22.4679914Z             {
2026-06-04T07:59:22.4680457Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4680862Z               "line": 170
2026-06-04T07:59:22.4681247Z             },
2026-06-04T07:59:22.4681621Z             {
2026-06-04T07:59:22.4682174Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4682587Z               "line": 179
2026-06-04T07:59:22.4682973Z             },
2026-06-04T07:59:22.4683347Z             {
2026-06-04T07:59:22.4683898Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4684311Z               "line": 188
2026-06-04T07:59:22.4684703Z             },
2026-06-04T07:59:22.4685086Z             {
2026-06-04T07:59:22.4685630Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4686038Z               "line": 199
2026-06-04T07:59:22.4686414Z             },
2026-06-04T07:59:22.4686800Z             {
2026-06-04T07:59:22.4687342Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T07:59:22.4687740Z               "line": 225
2026-06-04T07:59:22.4688131Z             },
2026-06-04T07:59:22.4688508Z             {
2026-06-04T07:59:22.4689052Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.4689494Z               "line": 245
2026-06-04T07:59:22.4689875Z             },
2026-06-04T07:59:22.4690268Z             {
2026-06-04T07:59:22.4690827Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.4691236Z               "line": 212
2026-06-04T07:59:22.4691617Z             },
2026-06-04T07:59:22.4691996Z             {
2026-06-04T07:59:22.4692602Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T07:59:22.4693011Z               "line": 256
2026-06-04T07:59:22.4693391Z             },
2026-06-04T07:59:22.4693762Z             {
2026-06-04T07:59:22.4694380Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T07:59:22.4694778Z               "line": 281
2026-06-04T07:59:22.4695163Z             },
2026-06-04T07:59:22.4695540Z             {
2026-06-04T07:59:22.4696146Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T07:59:22.4696557Z               "line": 293
2026-06-04T07:59:22.4696926Z             },
2026-06-04T07:59:22.4697313Z             {
2026-06-04T07:59:22.4697909Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T07:59:22.4698329Z               "line": 303
2026-06-04T07:59:22.4698717Z             },
2026-06-04T07:59:22.4699091Z             {
2026-06-04T07:59:22.4699721Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.4700143Z               "line": 502
2026-06-04T07:59:22.4700521Z             }
2026-06-04T07:59:22.4700894Z           ]
2026-06-04T07:59:22.4701276Z         }
2026-06-04T07:59:22.4701661Z       }
2026-06-04T07:59:22.4702039Z     },
2026-06-04T07:59:22.4702411Z     {
2026-06-04T07:59:22.4702976Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T07:59:22.4703689Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T07:59:22.4704118Z       "requiredStages": [
2026-06-04T07:59:22.4704508Z         "impl",
2026-06-04T07:59:22.4704899Z         "unit"
2026-06-04T07:59:22.4705273Z       ],
2026-06-04T07:59:22.4705672Z       "stages": {
2026-06-04T07:59:22.4706058Z         "doc": {
2026-06-04T07:59:22.4706489Z           "complete": false,
2026-06-04T07:59:22.4707044Z           "evidence": []
2026-06-04T07:59:22.4707449Z         },
2026-06-04T07:59:22.4707846Z         "impl": {
2026-06-04T07:59:22.4708260Z           "complete": true,
2026-06-04T07:59:22.4708670Z           "evidence": [
2026-06-04T07:59:22.4709225Z             {
2026-06-04T07:59:22.4709763Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.4710160Z               "line": 25
2026-06-04T07:59:22.4710540Z             },
2026-06-04T07:59:22.4710923Z             {
2026-06-04T07:59:22.4711460Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.4711865Z               "line": 26
2026-06-04T07:59:22.4712236Z             },
2026-06-04T07:59:22.4712614Z             {
2026-06-04T07:59:22.4713145Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.4713557Z               "line": 153
2026-06-04T07:59:22.4713943Z             }
2026-06-04T07:59:22.4714327Z           ]
2026-06-04T07:59:22.4714708Z         },
2026-06-04T07:59:22.4715096Z         "int": {
2026-06-04T07:59:22.4715526Z           "complete": false,
2026-06-04T07:59:22.4715931Z           "evidence": []
2026-06-04T07:59:22.4716313Z         },
2026-06-04T07:59:22.4716703Z         "unit": {
2026-06-04T07:59:22.4717129Z           "complete": true,
2026-06-04T07:59:22.4717534Z           "evidence": [
2026-06-04T07:59:22.4717906Z             {
2026-06-04T07:59:22.4718434Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.4718842Z               "line": 180
2026-06-04T07:59:22.4719268Z             },
2026-06-04T07:59:22.4719665Z             {
2026-06-04T07:59:22.4720203Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.4720606Z               "line": 205
2026-06-04T07:59:22.4720983Z             },
2026-06-04T07:59:22.4721365Z             {
2026-06-04T07:59:22.4721896Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.4722311Z               "line": 180
2026-06-04T07:59:22.4722695Z             }
2026-06-04T07:59:22.4723083Z           ]
2026-06-04T07:59:22.4723475Z         }
2026-06-04T07:59:22.4727684Z       }
2026-06-04T07:59:22.4728156Z     },
2026-06-04T07:59:22.4728544Z     {
2026-06-04T07:59:22.4729051Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T07:59:22.4730005Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T07:59:22.4730442Z       "requiredStages": [
2026-06-04T07:59:22.4730836Z         "impl",
2026-06-04T07:59:22.4731221Z         "unit"
2026-06-04T07:59:22.4731605Z       ],
2026-06-04T07:59:22.4731994Z       "stages": {
2026-06-04T07:59:22.4732386Z         "doc": {
2026-06-04T07:59:22.4732815Z           "complete": false,
2026-06-04T07:59:22.4733227Z           "evidence": []
2026-06-04T07:59:22.4733612Z         },
2026-06-04T07:59:22.4734000Z         "impl": {
2026-06-04T07:59:22.4734426Z           "complete": true,
2026-06-04T07:59:22.4734828Z           "evidence": [
2026-06-04T07:59:22.4735213Z             {
2026-06-04T07:59:22.4735783Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4736186Z               "line": 48
2026-06-04T07:59:22.4736573Z             },
2026-06-04T07:59:22.4736952Z             {
2026-06-04T07:59:22.4737505Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4737914Z               "line": 55
2026-06-04T07:59:22.4738298Z             },
2026-06-04T07:59:22.4738675Z             {
2026-06-04T07:59:22.4739253Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4739671Z               "line": 74
2026-06-04T07:59:22.4740052Z             },
2026-06-04T07:59:22.4740436Z             {
2026-06-04T07:59:22.4740983Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4741396Z               "line": 91
2026-06-04T07:59:22.4741786Z             }
2026-06-04T07:59:22.4742167Z           ]
2026-06-04T07:59:22.4742550Z         },
2026-06-04T07:59:22.4742937Z         "int": {
2026-06-04T07:59:22.4743367Z           "complete": false,
2026-06-04T07:59:22.4744032Z           "evidence": []
2026-06-04T07:59:22.4744447Z         },
2026-06-04T07:59:22.4744841Z         "unit": {
2026-06-04T07:59:22.4745259Z           "complete": true,
2026-06-04T07:59:22.4745670Z           "evidence": [
2026-06-04T07:59:22.4746188Z             {
2026-06-04T07:59:22.4746746Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4747152Z               "line": 149
2026-06-04T07:59:22.4747539Z             },
2026-06-04T07:59:22.4747924Z             {
2026-06-04T07:59:22.4748485Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4748940Z               "line": 163
2026-06-04T07:59:22.4749375Z             },
2026-06-04T07:59:22.4749760Z             {
2026-06-04T07:59:22.4750308Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4750723Z               "line": 173
2026-06-04T07:59:22.4751107Z             },
2026-06-04T07:59:22.4751481Z             {
2026-06-04T07:59:22.4752039Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4752458Z               "line": 191
2026-06-04T07:59:22.4752852Z             },
2026-06-04T07:59:22.4753222Z             {
2026-06-04T07:59:22.4753775Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.4754198Z               "line": 204
2026-06-04T07:59:22.4754580Z             }
2026-06-04T07:59:22.4754965Z           ]
2026-06-04T07:59:22.4755345Z         }
2026-06-04T07:59:22.4755735Z       }
2026-06-04T07:59:22.4756110Z     },
2026-06-04T07:59:22.4756494Z     {
2026-06-04T07:59:22.4757081Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T07:59:22.4758011Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T07:59:22.4758449Z       "requiredStages": [
2026-06-04T07:59:22.4758832Z         "impl",
2026-06-04T07:59:22.4759267Z         "unit"
2026-06-04T07:59:22.4759648Z       ],
2026-06-04T07:59:22.4760056Z       "stages": {
2026-06-04T07:59:22.4760451Z         "doc": {
2026-06-04T07:59:22.4760872Z           "complete": false,
2026-06-04T07:59:22.4761299Z           "evidence": []
2026-06-04T07:59:22.4761678Z         },
2026-06-04T07:59:22.4762072Z         "impl": {
2026-06-04T07:59:22.4762490Z           "complete": true,
2026-06-04T07:59:22.4762900Z           "evidence": [
2026-06-04T07:59:22.4763297Z             {
2026-06-04T07:59:22.4763886Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.4764291Z               "line": 281
2026-06-04T07:59:22.4764669Z             },
2026-06-04T07:59:22.4765055Z             {
2026-06-04T07:59:22.4765601Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.4766013Z               "line": 26
2026-06-04T07:59:22.4766398Z             }
2026-06-04T07:59:22.4766775Z           ]
2026-06-04T07:59:22.4767159Z         },
2026-06-04T07:59:22.4767541Z         "int": {
2026-06-04T07:59:22.4767970Z           "complete": false,
2026-06-04T07:59:22.4768377Z           "evidence": []
2026-06-04T07:59:22.4768766Z         },
2026-06-04T07:59:22.4769205Z         "unit": {
2026-06-04T07:59:22.4769635Z           "complete": true,
2026-06-04T07:59:22.4770049Z           "evidence": [
2026-06-04T07:59:22.4770421Z             {
2026-06-04T07:59:22.4770974Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.4771395Z               "line": 139
2026-06-04T07:59:22.4771786Z             },
2026-06-04T07:59:22.4772170Z             {
2026-06-04T07:59:22.4772713Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.4773131Z               "line": 182
2026-06-04T07:59:22.4773512Z             }
2026-06-04T07:59:22.4773897Z           ]
2026-06-04T07:59:22.4774278Z         }
2026-06-04T07:59:22.4774661Z       }
2026-06-04T07:59:22.4775044Z     },
2026-06-04T07:59:22.4775416Z     {
2026-06-04T07:59:22.4775981Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T07:59:22.4776736Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T07:59:22.4777180Z       "requiredStages": [
2026-06-04T07:59:22.4777725Z         "impl",
2026-06-04T07:59:22.4778145Z         "unit"
2026-06-04T07:59:22.4778539Z       ],
2026-06-04T07:59:22.4778933Z       "stages": {
2026-06-04T07:59:22.4779371Z         "doc": {
2026-06-04T07:59:22.4779806Z           "complete": false,
2026-06-04T07:59:22.4780381Z           "evidence": []
2026-06-04T07:59:22.4780761Z         },
2026-06-04T07:59:22.4781160Z         "impl": {
2026-06-04T07:59:22.4781583Z           "complete": true,
2026-06-04T07:59:22.4781988Z           "evidence": [
2026-06-04T07:59:22.4782372Z             {
2026-06-04T07:59:22.4782953Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4783361Z               "line": 36
2026-06-04T07:59:22.4783742Z             },
2026-06-04T07:59:22.4784131Z             {
2026-06-04T07:59:22.4784707Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4785110Z               "line": 68
2026-06-04T07:59:22.4785494Z             }
2026-06-04T07:59:22.4785874Z           ]
2026-06-04T07:59:22.4786266Z         },
2026-06-04T07:59:22.4786649Z         "int": {
2026-06-04T07:59:22.4787079Z           "complete": false,
2026-06-04T07:59:22.4787491Z           "evidence": []
2026-06-04T07:59:22.4787869Z         },
2026-06-04T07:59:22.4788279Z         "unit": {
2026-06-04T07:59:22.4788700Z           "complete": true,
2026-06-04T07:59:22.4789114Z           "evidence": [
2026-06-04T07:59:22.4789538Z             {
2026-06-04T07:59:22.4790151Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4790581Z               "line": 143
2026-06-04T07:59:22.4790966Z             },
2026-06-04T07:59:22.4791346Z             {
2026-06-04T07:59:22.4791931Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4792343Z               "line": 160
2026-06-04T07:59:22.4792725Z             },
2026-06-04T07:59:22.4793116Z             {
2026-06-04T07:59:22.4793704Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4794112Z               "line": 168
2026-06-04T07:59:22.4794511Z             }
2026-06-04T07:59:22.4794892Z           ]
2026-06-04T07:59:22.4795274Z         }
2026-06-04T07:59:22.4795651Z       }
2026-06-04T07:59:22.4796034Z     },
2026-06-04T07:59:22.4796418Z     {
2026-06-04T07:59:22.4796987Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T07:59:22.4797843Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T07:59:22.4798275Z       "requiredStages": [
2026-06-04T07:59:22.4802576Z         "impl",
2026-06-04T07:59:22.4803079Z         "unit"
2026-06-04T07:59:22.4803481Z       ],
2026-06-04T07:59:22.4803876Z       "stages": {
2026-06-04T07:59:22.4804260Z         "doc": {
2026-06-04T07:59:22.4804692Z           "complete": false,
2026-06-04T07:59:22.4805104Z           "evidence": []
2026-06-04T07:59:22.4805490Z         },
2026-06-04T07:59:22.4805872Z         "impl": {
2026-06-04T07:59:22.4806300Z           "complete": true,
2026-06-04T07:59:22.4806707Z           "evidence": [
2026-06-04T07:59:22.4807078Z             {
2026-06-04T07:59:22.4807706Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4808116Z               "line": 107
2026-06-04T07:59:22.4808491Z             }
2026-06-04T07:59:22.4808866Z           ]
2026-06-04T07:59:22.4809341Z         },
2026-06-04T07:59:22.4809736Z         "int": {
2026-06-04T07:59:22.4810154Z           "complete": false,
2026-06-04T07:59:22.4810563Z           "evidence": []
2026-06-04T07:59:22.4810933Z         },
2026-06-04T07:59:22.4811324Z         "unit": {
2026-06-04T07:59:22.4811743Z           "complete": true,
2026-06-04T07:59:22.4812152Z           "evidence": [
2026-06-04T07:59:22.4812532Z             {
2026-06-04T07:59:22.4813120Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4813534Z               "line": 184
2026-06-04T07:59:22.4813911Z             },
2026-06-04T07:59:22.4814295Z             {
2026-06-04T07:59:22.4814869Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4815563Z               "line": 193
2026-06-04T07:59:22.4815984Z             },
2026-06-04T07:59:22.4816361Z             {
2026-06-04T07:59:22.4816951Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4817352Z               "line": 201
2026-06-04T07:59:22.4817874Z             },
2026-06-04T07:59:22.4818259Z             {
2026-06-04T07:59:22.4818838Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4819304Z               "line": 210
2026-06-04T07:59:22.4819687Z             },
2026-06-04T07:59:22.4820064Z             {
2026-06-04T07:59:22.4820636Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T07:59:22.4821043Z               "line": 219
2026-06-04T07:59:22.4821425Z             }
2026-06-04T07:59:22.4821794Z           ]
2026-06-04T07:59:22.4822181Z         }
2026-06-04T07:59:22.4822557Z       }
2026-06-04T07:59:22.4822933Z     },
2026-06-04T07:59:22.4823300Z     {
2026-06-04T07:59:22.4823814Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T07:59:22.4824635Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T07:59:22.4825065Z       "requiredStages": [
2026-06-04T07:59:22.4825455Z         "impl",
2026-06-04T07:59:22.4825831Z         "unit"
2026-06-04T07:59:22.4826217Z       ],
2026-06-04T07:59:22.4826604Z       "stages": {
2026-06-04T07:59:22.4826994Z         "doc": {
2026-06-04T07:59:22.4827424Z           "complete": false,
2026-06-04T07:59:22.4827834Z           "evidence": []
2026-06-04T07:59:22.4828216Z         },
2026-06-04T07:59:22.4828595Z         "impl": {
2026-06-04T07:59:22.4829014Z           "complete": true,
2026-06-04T07:59:22.4829463Z           "evidence": [
2026-06-04T07:59:22.4829859Z             {
2026-06-04T07:59:22.4830384Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.4830779Z               "line": 14
2026-06-04T07:59:22.4831164Z             },
2026-06-04T07:59:22.4831528Z             {
2026-06-04T07:59:22.4832041Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.4832449Z               "line": 62
2026-06-04T07:59:22.4832831Z             }
2026-06-04T07:59:22.4833214Z           ]
2026-06-04T07:59:22.4833588Z         },
2026-06-04T07:59:22.4833977Z         "int": {
2026-06-04T07:59:22.4834417Z           "complete": false,
2026-06-04T07:59:22.4834837Z           "evidence": []
2026-06-04T07:59:22.4835206Z         },
2026-06-04T07:59:22.4835596Z         "unit": {
2026-06-04T07:59:22.4836022Z           "complete": true,
2026-06-04T07:59:22.4836419Z           "evidence": [
2026-06-04T07:59:22.4836801Z             {
2026-06-04T07:59:22.4837309Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.4837722Z               "line": 160
2026-06-04T07:59:22.4838094Z             },
2026-06-04T07:59:22.4838476Z             {
2026-06-04T07:59:22.4838999Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.4839443Z               "line": 197
2026-06-04T07:59:22.4839832Z             },
2026-06-04T07:59:22.4840208Z             {
2026-06-04T07:59:22.4840729Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.4841127Z               "line": 213
2026-06-04T07:59:22.4841508Z             }
2026-06-04T07:59:22.4841886Z           ]
2026-06-04T07:59:22.4842261Z         }
2026-06-04T07:59:22.4842645Z       }
2026-06-04T07:59:22.4843014Z     },
2026-06-04T07:59:22.4843398Z     {
2026-06-04T07:59:22.4843957Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T07:59:22.4845039Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T07:59:22.4845475Z       "requiredStages": [
2026-06-04T07:59:22.4845859Z         "impl",
2026-06-04T07:59:22.4846242Z         "unit"
2026-06-04T07:59:22.4846613Z       ],
2026-06-04T07:59:22.4847006Z       "stages": {
2026-06-04T07:59:22.4847390Z         "doc": {
2026-06-04T07:59:22.4847827Z           "complete": false,
2026-06-04T07:59:22.4848241Z           "evidence": []
2026-06-04T07:59:22.4848614Z         },
2026-06-04T07:59:22.4849005Z         "impl": {
2026-06-04T07:59:22.4849619Z           "complete": true,
2026-06-04T07:59:22.4850049Z           "evidence": [
2026-06-04T07:59:22.4850422Z             {
2026-06-04T07:59:22.4850971Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4851514Z               "line": 76
2026-06-04T07:59:22.4851897Z             },
2026-06-04T07:59:22.4852284Z             {
2026-06-04T07:59:22.4852817Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4853231Z               "line": 163
2026-06-04T07:59:22.4853605Z             },
2026-06-04T07:59:22.4853990Z             {
2026-06-04T07:59:22.4854534Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4854935Z               "line": 229
2026-06-04T07:59:22.4855313Z             },
2026-06-04T07:59:22.4855681Z             {
2026-06-04T07:59:22.4856221Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4856616Z               "line": 265
2026-06-04T07:59:22.4856994Z             }
2026-06-04T07:59:22.4857387Z           ]
2026-06-04T07:59:22.4857773Z         },
2026-06-04T07:59:22.4858246Z         "int": {
2026-06-04T07:59:22.4859062Z           "complete": false,
2026-06-04T07:59:22.4859785Z           "evidence": []
2026-06-04T07:59:22.4860281Z         },
2026-06-04T07:59:22.4860776Z         "unit": {
2026-06-04T07:59:22.4861339Z           "complete": true,
2026-06-04T07:59:22.4861876Z           "evidence": [
2026-06-04T07:59:22.4862403Z             {
2026-06-04T07:59:22.4863134Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4863669Z               "line": 310
2026-06-04T07:59:22.4864111Z             },
2026-06-04T07:59:22.4864569Z             {
2026-06-04T07:59:22.4865181Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4865632Z               "line": 318
2026-06-04T07:59:22.4866070Z             },
2026-06-04T07:59:22.4866498Z             {
2026-06-04T07:59:22.4867105Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4867627Z               "line": 341
2026-06-04T07:59:22.4868109Z             },
2026-06-04T07:59:22.4868542Z             {
2026-06-04T07:59:22.4869117Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4869791Z               "line": 378
2026-06-04T07:59:22.4870199Z             },
2026-06-04T07:59:22.4870596Z             {
2026-06-04T07:59:22.4871446Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4871863Z               "line": 389
2026-06-04T07:59:22.4872253Z             },
2026-06-04T07:59:22.4872631Z             {
2026-06-04T07:59:22.4873189Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4873593Z               "line": 401
2026-06-04T07:59:22.4873983Z             },
2026-06-04T07:59:22.4874358Z             {
2026-06-04T07:59:22.4874913Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T07:59:22.4881702Z               "line": 413
2026-06-04T07:59:22.4882339Z             }
2026-06-04T07:59:22.4883042Z           ]
2026-06-04T07:59:22.4883638Z         }
2026-06-04T07:59:22.4884029Z       }
2026-06-04T07:59:22.4884399Z     },
2026-06-04T07:59:22.4884777Z     {
2026-06-04T07:59:22.4885292Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T07:59:22.4886219Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T07:59:22.4886723Z       "requiredStages": [
2026-06-04T07:59:22.4887131Z         "impl",
2026-06-04T07:59:22.4887530Z         "int"
2026-06-04T07:59:22.4887920Z       ],
2026-06-04T07:59:22.4888331Z       "stages": {
2026-06-04T07:59:22.4888742Z         "doc": {
2026-06-04T07:59:22.4889240Z           "complete": false,
2026-06-04T07:59:22.4889838Z           "evidence": []
2026-06-04T07:59:22.4890210Z         },
2026-06-04T07:59:22.4890600Z         "impl": {
2026-06-04T07:59:22.4891023Z           "complete": true,
2026-06-04T07:59:22.4891435Z           "evidence": [
2026-06-04T07:59:22.4891823Z             {
2026-06-04T07:59:22.4892372Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.4893196Z               "line": 22
2026-06-04T07:59:22.4893617Z             }
2026-06-04T07:59:22.4894003Z           ]
2026-06-04T07:59:22.4894381Z         },
2026-06-04T07:59:22.4894772Z         "int": {
2026-06-04T07:59:22.4895362Z           "complete": true,
2026-06-04T07:59:22.4895765Z           "evidence": [
2026-06-04T07:59:22.4896147Z             {
2026-06-04T07:59:22.4896724Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T07:59:22.4897127Z               "line": 18
2026-06-04T07:59:22.4897500Z             }
2026-06-04T07:59:22.4897886Z           ]
2026-06-04T07:59:22.4898274Z         },
2026-06-04T07:59:22.4898656Z         "unit": {
2026-06-04T07:59:22.4899093Z           "complete": false,
2026-06-04T07:59:22.4899564Z           "evidence": []
2026-06-04T07:59:22.4899946Z         }
2026-06-04T07:59:22.4900319Z       }
2026-06-04T07:59:22.4900702Z     },
2026-06-04T07:59:22.4901086Z     {
2026-06-04T07:59:22.4901633Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T07:59:22.4902589Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T07:59:22.4903024Z       "requiredStages": [
2026-06-04T07:59:22.4903418Z         "impl",
2026-06-04T07:59:22.4903805Z         "unit"
2026-06-04T07:59:22.4904187Z       ],
2026-06-04T07:59:22.4904591Z       "stages": {
2026-06-04T07:59:22.4904972Z         "doc": {
2026-06-04T07:59:22.4905404Z           "complete": false,
2026-06-04T07:59:22.4905815Z           "evidence": []
2026-06-04T07:59:22.4906198Z         },
2026-06-04T07:59:22.4906582Z         "impl": {
2026-06-04T07:59:22.4907016Z           "complete": true,
2026-06-04T07:59:22.4907429Z           "evidence": [
2026-06-04T07:59:22.4907805Z             {
2026-06-04T07:59:22.4908400Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.4908806Z               "line": 280
2026-06-04T07:59:22.4909229Z             },
2026-06-04T07:59:22.4909612Z             {
2026-06-04T07:59:22.4910173Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.4910581Z               "line": 27
2026-06-04T07:59:22.4910960Z             }
2026-06-04T07:59:22.4911347Z           ]
2026-06-04T07:59:22.4911723Z         },
2026-06-04T07:59:22.4912126Z         "int": {
2026-06-04T07:59:22.4912545Z           "complete": false,
2026-06-04T07:59:22.4912964Z           "evidence": []
2026-06-04T07:59:22.4913350Z         },
2026-06-04T07:59:22.4913734Z         "unit": {
2026-06-04T07:59:22.4914169Z           "complete": true,
2026-06-04T07:59:22.4914569Z           "evidence": [
2026-06-04T07:59:22.4914955Z             {
2026-06-04T07:59:22.4915535Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.4915941Z               "line": 578
2026-06-04T07:59:22.4916331Z             },
2026-06-04T07:59:22.4916707Z             {
2026-06-04T07:59:22.4917256Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.4917666Z               "line": 164
2026-06-04T07:59:22.4918054Z             }
2026-06-04T07:59:22.4918443Z           ]
2026-06-04T07:59:22.4918831Z         }
2026-06-04T07:59:22.4919267Z       }
2026-06-04T07:59:22.4919644Z     },
2026-06-04T07:59:22.4920026Z     {
2026-06-04T07:59:22.4920604Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T07:59:22.4921417Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T07:59:22.4921858Z       "requiredStages": [
2026-06-04T07:59:22.4922258Z         "impl",
2026-06-04T07:59:22.4922644Z         "unit"
2026-06-04T07:59:22.4923024Z       ],
2026-06-04T07:59:22.4923422Z       "stages": {
2026-06-04T07:59:22.4923803Z         "doc": {
2026-06-04T07:59:22.4924237Z           "complete": false,
2026-06-04T07:59:22.4924647Z           "evidence": []
2026-06-04T07:59:22.4925034Z         },
2026-06-04T07:59:22.4925428Z         "impl": {
2026-06-04T07:59:22.4925850Z           "complete": true,
2026-06-04T07:59:22.4926263Z           "evidence": [
2026-06-04T07:59:22.4926643Z             {
2026-06-04T07:59:22.4927372Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4927789Z               "line": 20
2026-06-04T07:59:22.4928180Z             },
2026-06-04T07:59:22.4928569Z             {
2026-06-04T07:59:22.4929118Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4929729Z               "line": 94
2026-06-04T07:59:22.4930106Z             },
2026-06-04T07:59:22.4930514Z             {
2026-06-04T07:59:22.4931103Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T07:59:22.4931515Z               "line": 70
2026-06-04T07:59:22.4931901Z             },
2026-06-04T07:59:22.4932273Z             {
2026-06-04T07:59:22.4932864Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T07:59:22.4933269Z               "line": 82
2026-06-04T07:59:22.4933656Z             }
2026-06-04T07:59:22.4934033Z           ]
2026-06-04T07:59:22.4934431Z         },
2026-06-04T07:59:22.4934825Z         "int": {
2026-06-04T07:59:22.4935251Z           "complete": false,
2026-06-04T07:59:22.4935680Z           "evidence": []
2026-06-04T07:59:22.4936063Z         },
2026-06-04T07:59:22.4936457Z         "unit": {
2026-06-04T07:59:22.4936874Z           "complete": true,
2026-06-04T07:59:22.4937291Z           "evidence": [
2026-06-04T07:59:22.4937685Z             {
2026-06-04T07:59:22.4938227Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4938638Z               "line": 139
2026-06-04T07:59:22.4939016Z             },
2026-06-04T07:59:22.4939439Z             {
2026-06-04T07:59:22.4939986Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4940404Z               "line": 162
2026-06-04T07:59:22.4940791Z             },
2026-06-04T07:59:22.4941166Z             {
2026-06-04T07:59:22.4941720Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4942123Z               "line": 173
2026-06-04T07:59:22.4942516Z             },
2026-06-04T07:59:22.4942902Z             {
2026-06-04T07:59:22.4943467Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4943883Z               "line": 189
2026-06-04T07:59:22.4944264Z             },
2026-06-04T07:59:22.4944650Z             {
2026-06-04T07:59:22.4945197Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T07:59:22.4945620Z               "line": 200
2026-06-04T07:59:22.4946013Z             },
2026-06-04T07:59:22.4946384Z             {
2026-06-04T07:59:22.4946979Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T07:59:22.4947380Z               "line": 139
2026-06-04T07:59:22.4947769Z             }
2026-06-04T07:59:22.4948143Z           ]
2026-06-04T07:59:22.4948524Z         }
2026-06-04T07:59:22.4948908Z       }
2026-06-04T07:59:22.4949323Z     },
2026-06-04T07:59:22.4949706Z     {
2026-06-04T07:59:22.4950168Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T07:59:22.4951455Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T07:59:22.4951886Z       "requiredStages": [
2026-06-04T07:59:22.4952295Z         "impl",
2026-06-04T07:59:22.4952696Z         "unit"
2026-06-04T07:59:22.4953072Z       ],
2026-06-04T07:59:22.4953475Z       "stages": {
2026-06-04T07:59:22.4958947Z         "doc": {
2026-06-04T07:59:22.4959633Z           "complete": true,
2026-06-04T07:59:22.4960040Z           "evidence": [
2026-06-04T07:59:22.4960444Z             {
2026-06-04T07:59:22.4960961Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T07:59:22.4961367Z               "line": 131
2026-06-04T07:59:22.4961749Z             }
2026-06-04T07:59:22.4962127Z           ]
2026-06-04T07:59:22.4962518Z         },
2026-06-04T07:59:22.4962910Z         "impl": {
2026-06-04T07:59:22.4963340Z           "complete": true,
2026-06-04T07:59:22.4963752Z           "evidence": [
2026-06-04T07:59:22.4964131Z             {
2026-06-04T07:59:22.4964668Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.4965065Z               "line": 50
2026-06-04T07:59:22.4965452Z             },
2026-06-04T07:59:22.4966136Z             {
2026-06-04T07:59:22.4966698Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4967107Z               "line": 17
2026-06-04T07:59:22.4967485Z             },
2026-06-04T07:59:22.4968010Z             {
2026-06-04T07:59:22.4968548Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.4968959Z               "line": 171
2026-06-04T07:59:22.4969385Z             },
2026-06-04T07:59:22.4969778Z             {
2026-06-04T07:59:22.4970324Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.4970734Z               "line": 259
2026-06-04T07:59:22.4971119Z             },
2026-06-04T07:59:22.4971496Z             {
2026-06-04T07:59:22.4972042Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T07:59:22.4972437Z               "line": 32
2026-06-04T07:59:22.4972820Z             }
2026-06-04T07:59:22.4973206Z           ]
2026-06-04T07:59:22.4973584Z         },
2026-06-04T07:59:22.4973975Z         "int": {
2026-06-04T07:59:22.4974404Z           "complete": false,
2026-06-04T07:59:22.4974822Z           "evidence": []
2026-06-04T07:59:22.4975198Z         },
2026-06-04T07:59:22.4975590Z         "unit": {
2026-06-04T07:59:22.4976016Z           "complete": true,
2026-06-04T07:59:22.4976425Z           "evidence": [
2026-06-04T07:59:22.4976807Z             {
2026-06-04T07:59:22.4977320Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4977723Z               "line": 94
2026-06-04T07:59:22.4978098Z             },
2026-06-04T07:59:22.4978477Z             {
2026-06-04T07:59:22.4978998Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4979439Z               "line": 111
2026-06-04T07:59:22.4979827Z             },
2026-06-04T07:59:22.4980208Z             {
2026-06-04T07:59:22.4980730Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4981134Z               "line": 124
2026-06-04T07:59:22.4981524Z             },
2026-06-04T07:59:22.4981908Z             {
2026-06-04T07:59:22.4982429Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4982844Z               "line": 134
2026-06-04T07:59:22.4983222Z             },
2026-06-04T07:59:22.4983607Z             {
2026-06-04T07:59:22.4984129Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4984555Z               "line": 142
2026-06-04T07:59:22.4984953Z             },
2026-06-04T07:59:22.4985332Z             {
2026-06-04T07:59:22.4985855Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T07:59:22.4986257Z               "line": 154
2026-06-04T07:59:22.4986654Z             },
2026-06-04T07:59:22.4987029Z             {
2026-06-04T07:59:22.4987660Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.4988073Z               "line": 432
2026-06-04T07:59:22.4988469Z             }
2026-06-04T07:59:22.4988913Z           ]
2026-06-04T07:59:22.4989352Z         }
2026-06-04T07:59:22.4989749Z       }
2026-06-04T07:59:22.4990119Z     },
2026-06-04T07:59:22.4990512Z     {
2026-06-04T07:59:22.4991027Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T07:59:22.4991653Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T07:59:22.4992094Z       "requiredStages": [
2026-06-04T07:59:22.4992490Z         "impl",
2026-06-04T07:59:22.4992879Z         "unit"
2026-06-04T07:59:22.4993252Z       ],
2026-06-04T07:59:22.4993651Z       "stages": {
2026-06-04T07:59:22.4994046Z         "doc": {
2026-06-04T07:59:22.4994469Z           "complete": false,
2026-06-04T07:59:22.4994893Z           "evidence": []
2026-06-04T07:59:22.4995272Z         },
2026-06-04T07:59:22.4995669Z         "impl": {
2026-06-04T07:59:22.4996092Z           "complete": true,
2026-06-04T07:59:22.4996507Z           "evidence": [
2026-06-04T07:59:22.4996894Z             {
2026-06-04T07:59:22.4997451Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.4997863Z               "line": 128
2026-06-04T07:59:22.4998237Z             }
2026-06-04T07:59:22.4998622Z           ]
2026-06-04T07:59:22.4999235Z         },
2026-06-04T07:59:22.4999660Z         "int": {
2026-06-04T07:59:22.5000103Z           "complete": false,
2026-06-04T07:59:22.5000518Z           "evidence": []
2026-06-04T07:59:22.5000905Z         },
2026-06-04T07:59:22.5001425Z         "unit": {
2026-06-04T07:59:22.5001856Z           "complete": true,
2026-06-04T07:59:22.5002260Z           "evidence": [
2026-06-04T07:59:22.5002646Z             {
2026-06-04T07:59:22.5003199Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.5003610Z               "line": 205
2026-06-04T07:59:22.5003999Z             }
2026-06-04T07:59:22.5004381Z           ]
2026-06-04T07:59:22.5004766Z         }
2026-06-04T07:59:22.5005139Z       }
2026-06-04T07:59:22.5005522Z     },
2026-06-04T07:59:22.5005903Z     {
2026-06-04T07:59:22.5006437Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T07:59:22.5007172Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T07:59:22.5007609Z       "requiredStages": [
2026-06-04T07:59:22.5008012Z         "impl",
2026-06-04T07:59:22.5008391Z         "unit"
2026-06-04T07:59:22.5008779Z       ],
2026-06-04T07:59:22.5009214Z       "stages": {
2026-06-04T07:59:22.5009600Z         "doc": {
2026-06-04T07:59:22.5010042Z           "complete": false,
2026-06-04T07:59:22.5010449Z           "evidence": []
2026-06-04T07:59:22.5010837Z         },
2026-06-04T07:59:22.5011222Z         "impl": {
2026-06-04T07:59:22.5011649Z           "complete": true,
2026-06-04T07:59:22.5012053Z           "evidence": [
2026-06-04T07:59:22.5012431Z             {
2026-06-04T07:59:22.5012968Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5013370Z               "line": 143
2026-06-04T07:59:22.5013758Z             },
2026-06-04T07:59:22.5014128Z             {
2026-06-04T07:59:22.5014666Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5015073Z               "line": 154
2026-06-04T07:59:22.5015447Z             },
2026-06-04T07:59:22.5015831Z             {
2026-06-04T07:59:22.5016362Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5016772Z               "line": 172
2026-06-04T07:59:22.5017148Z             }
2026-06-04T07:59:22.5017530Z           ]
2026-06-04T07:59:22.5017922Z         },
2026-06-04T07:59:22.5018334Z         "int": {
2026-06-04T07:59:22.5018760Z           "complete": false,
2026-06-04T07:59:22.5019212Z           "evidence": []
2026-06-04T07:59:22.5019603Z         },
2026-06-04T07:59:22.5019986Z         "unit": {
2026-06-04T07:59:22.5020419Z           "complete": true,
2026-06-04T07:59:22.5020838Z           "evidence": [
2026-06-04T07:59:22.5021214Z             {
2026-06-04T07:59:22.5021751Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5022152Z               "line": 196
2026-06-04T07:59:22.5022535Z             },
2026-06-04T07:59:22.5022913Z             {
2026-06-04T07:59:22.5023447Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5023857Z               "line": 214
2026-06-04T07:59:22.5024246Z             },
2026-06-04T07:59:22.5024629Z             {
2026-06-04T07:59:22.5025152Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5025566Z               "line": 308
2026-06-04T07:59:22.5025952Z             },
2026-06-04T07:59:22.5026342Z             {
2026-06-04T07:59:22.5026883Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5027285Z               "line": 319
2026-06-04T07:59:22.5027671Z             },
2026-06-04T07:59:22.5028046Z             {
2026-06-04T07:59:22.5032840Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.5033355Z               "line": 332
2026-06-04T07:59:22.5033742Z             }
2026-06-04T07:59:22.5034132Z           ]
2026-06-04T07:59:22.5034511Z         }
2026-06-04T07:59:22.5034900Z       }
2026-06-04T07:59:22.5035272Z     },
2026-06-04T07:59:22.5035647Z     {
2026-06-04T07:59:22.5036149Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T07:59:22.5037553Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T07:59:22.5038017Z       "requiredStages": [
2026-06-04T07:59:22.5038405Z         "impl",
2026-06-04T07:59:22.5038799Z         "unit"
2026-06-04T07:59:22.5039406Z       ],
2026-06-04T07:59:22.5039815Z       "stages": {
2026-06-04T07:59:22.5040209Z         "doc": {
2026-06-04T07:59:22.5040631Z           "complete": false,
2026-06-04T07:59:22.5041049Z           "evidence": []
2026-06-04T07:59:22.5041429Z         },
2026-06-04T07:59:22.5041822Z         "impl": {
2026-06-04T07:59:22.5042239Z           "complete": true,
2026-06-04T07:59:22.5042652Z           "evidence": [
2026-06-04T07:59:22.5043040Z             {
2026-06-04T07:59:22.5043553Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5043962Z               "line": 14
2026-06-04T07:59:22.5044343Z             },
2026-06-04T07:59:22.5044730Z             {
2026-06-04T07:59:22.5045235Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T07:59:22.5045662Z               "line": 305
2026-06-04T07:59:22.5046051Z             }
2026-06-04T07:59:22.5046428Z           ]
2026-06-04T07:59:22.5046813Z         },
2026-06-04T07:59:22.5047198Z         "int": {
2026-06-04T07:59:22.5047629Z           "complete": false,
2026-06-04T07:59:22.5048052Z           "evidence": []
2026-06-04T07:59:22.5048436Z         },
2026-06-04T07:59:22.5048830Z         "unit": {
2026-06-04T07:59:22.5049297Z           "complete": true,
2026-06-04T07:59:22.5049712Z           "evidence": [
2026-06-04T07:59:22.5050090Z             {
2026-06-04T07:59:22.5050613Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5051022Z               "line": 130
2026-06-04T07:59:22.5051413Z             },
2026-06-04T07:59:22.5051802Z             {
2026-06-04T07:59:22.5052315Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5052726Z               "line": 138
2026-06-04T07:59:22.5053100Z             },
2026-06-04T07:59:22.5053481Z             {
2026-06-04T07:59:22.5054000Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5054411Z               "line": 146
2026-06-04T07:59:22.5054795Z             },
2026-06-04T07:59:22.5055167Z             {
2026-06-04T07:59:22.5055689Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5056101Z               "line": 154
2026-06-04T07:59:22.5056487Z             },
2026-06-04T07:59:22.5056859Z             {
2026-06-04T07:59:22.5057383Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5057792Z               "line": 162
2026-06-04T07:59:22.5058171Z             },
2026-06-04T07:59:22.5058548Z             {
2026-06-04T07:59:22.5059065Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T07:59:22.5059516Z               "line": 170
2026-06-04T07:59:22.5059895Z             }
2026-06-04T07:59:22.5060282Z           ]
2026-06-04T07:59:22.5060670Z         }
2026-06-04T07:59:22.5061045Z       }
2026-06-04T07:59:22.5061424Z     },
2026-06-04T07:59:22.5061798Z     {
2026-06-04T07:59:22.5062311Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T07:59:22.5067093Z       "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-04T07:59:22.5067559Z       "requiredStages": [
2026-06-04T07:59:22.5067960Z         "impl",
2026-06-04T07:59:22.5068346Z         "unit"
2026-06-04T07:59:22.5068735Z       ],
2026-06-04T07:59:22.5069125Z       "stages": {
2026-06-04T07:59:22.5069565Z         "doc": {
2026-06-04T07:59:22.5070003Z           "complete": false,
2026-06-04T07:59:22.5070415Z           "evidence": []
2026-06-04T07:59:22.5070798Z         },
2026-06-04T07:59:22.5071179Z         "impl": {
2026-06-04T07:59:22.5071602Z           "complete": true,
2026-06-04T07:59:22.5072003Z           "evidence": [
2026-06-04T07:59:22.5072389Z             {
2026-06-04T07:59:22.5073277Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5073698Z               "line": 34
2026-06-04T07:59:22.5074082Z             }
2026-06-04T07:59:22.5074456Z           ]
2026-06-04T07:59:22.5075024Z         },
2026-06-04T07:59:22.5075414Z         "int": {
2026-06-04T07:59:22.5075850Z           "complete": false,
2026-06-04T07:59:22.5076265Z           "evidence": []
2026-06-04T07:59:22.5076640Z         },
2026-06-04T07:59:22.5077030Z         "unit": {
2026-06-04T07:59:22.5077448Z           "complete": true,
2026-06-04T07:59:22.5077861Z           "evidence": [
2026-06-04T07:59:22.5078238Z             {
2026-06-04T07:59:22.5078936Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5079408Z               "line": 188
2026-06-04T07:59:22.5079791Z             },
2026-06-04T07:59:22.5080178Z             {
2026-06-04T07:59:22.5080866Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5081290Z               "line": 200
2026-06-04T07:59:22.5081673Z             },
2026-06-04T07:59:22.5082059Z             {
2026-06-04T07:59:22.5082756Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5083171Z               "line": 211
2026-06-04T07:59:22.5083562Z             },
2026-06-04T07:59:22.5083934Z             {
2026-06-04T07:59:22.5084629Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5085031Z               "line": 245
2026-06-04T07:59:22.5085416Z             },
2026-06-04T07:59:22.5085797Z             {
2026-06-04T07:59:22.5086480Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5086894Z               "line": 267
2026-06-04T07:59:22.5087273Z             },
2026-06-04T07:59:22.5087660Z             {
2026-06-04T07:59:22.5088340Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5088759Z               "line": 288
2026-06-04T07:59:22.5089149Z             },
2026-06-04T07:59:22.5089576Z             {
2026-06-04T07:59:22.5090266Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T07:59:22.5090669Z               "line": 304
2026-06-04T07:59:22.5091051Z             }
2026-06-04T07:59:22.5091437Z           ]
2026-06-04T07:59:22.5091813Z         }
2026-06-04T07:59:22.5092194Z       }
2026-06-04T07:59:22.5092561Z     },
2026-06-04T07:59:22.5092936Z     {
2026-06-04T07:59:22.5093452Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T07:59:22.5096463Z       "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-04T07:59:22.5096904Z       "requiredStages": [
2026-06-04T07:59:22.5097290Z         "impl",
2026-06-04T07:59:22.5097682Z         "unit"
2026-06-04T07:59:22.5098055Z       ],
2026-06-04T07:59:22.5098453Z       "stages": {
2026-06-04T07:59:22.5098838Z         "doc": {
2026-06-04T07:59:22.5099314Z           "complete": false,
2026-06-04T07:59:22.5099730Z           "evidence": []
2026-06-04T07:59:22.5100102Z         },
2026-06-04T07:59:22.5100496Z         "impl": {
2026-06-04T07:59:22.5100922Z           "complete": true,
2026-06-04T07:59:22.5101332Z           "evidence": [
2026-06-04T07:59:22.5101704Z             {
2026-06-04T07:59:22.5102260Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5102665Z               "line": 29
2026-06-04T07:59:22.5103040Z             },
2026-06-04T07:59:22.5103426Z             {
2026-06-04T07:59:22.5103978Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5104389Z               "line": 154
2026-06-04T07:59:22.5104762Z             },
2026-06-04T07:59:22.5105145Z             {
2026-06-04T07:59:22.5105699Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5106101Z               "line": 173
2026-06-04T07:59:22.5106492Z             },
2026-06-04T07:59:22.5107022Z             {
2026-06-04T07:59:22.5107594Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5107999Z               "line": 200
2026-06-04T07:59:22.5108383Z             }
2026-06-04T07:59:22.5108769Z           ]
2026-06-04T07:59:22.5109316Z         },
2026-06-04T07:59:22.5109720Z         "int": {
2026-06-04T07:59:22.5110147Z           "complete": false,
2026-06-04T07:59:22.5114542Z           "evidence": []
2026-06-04T07:59:22.5115017Z         },
2026-06-04T07:59:22.5115424Z         "unit": {
2026-06-04T07:59:22.5115855Z           "complete": true,
2026-06-04T07:59:22.5116255Z           "evidence": [
2026-06-04T07:59:22.5116641Z             {
2026-06-04T07:59:22.5117206Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5117619Z               "line": 276
2026-06-04T07:59:22.5117996Z             },
2026-06-04T07:59:22.5118385Z             {
2026-06-04T07:59:22.5118939Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5119461Z               "line": 291
2026-06-04T07:59:22.5119860Z             },
2026-06-04T07:59:22.5120236Z             {
2026-06-04T07:59:22.5120785Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5121191Z               "line": 310
2026-06-04T07:59:22.5121586Z             },
2026-06-04T07:59:22.5121968Z             {
2026-06-04T07:59:22.5122512Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5122917Z               "line": 326
2026-06-04T07:59:22.5123295Z             },
2026-06-04T07:59:22.5123683Z             {
2026-06-04T07:59:22.5124233Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5124637Z               "line": 376
2026-06-04T07:59:22.5125019Z             },
2026-06-04T07:59:22.5125392Z             {
2026-06-04T07:59:22.5125948Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5126349Z               "line": 390
2026-06-04T07:59:22.5126733Z             },
2026-06-04T07:59:22.5127104Z             {
2026-06-04T07:59:22.5127668Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5128081Z               "line": 401
2026-06-04T07:59:22.5128460Z             },
2026-06-04T07:59:22.5128842Z             {
2026-06-04T07:59:22.5129443Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5129857Z               "line": 412
2026-06-04T07:59:22.5130232Z             }
2026-06-04T07:59:22.5130618Z           ]
2026-06-04T07:59:22.5131000Z         }
2026-06-04T07:59:22.5131372Z       }
2026-06-04T07:59:22.5131745Z     },
2026-06-04T07:59:22.5132114Z     {
2026-06-04T07:59:22.5132676Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T07:59:22.5136145Z       "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-04T07:59:22.5136583Z       "requiredStages": [
2026-06-04T07:59:22.5136978Z         "impl",
2026-06-04T07:59:22.5137370Z         "unit"
2026-06-04T07:59:22.5137755Z       ],
2026-06-04T07:59:22.5138141Z       "stages": {
2026-06-04T07:59:22.5138529Z         "doc": {
2026-06-04T07:59:22.5138959Z           "complete": false,
2026-06-04T07:59:22.5139416Z           "evidence": []
2026-06-04T07:59:22.5139800Z         },
2026-06-04T07:59:22.5140181Z         "impl": {
2026-06-04T07:59:22.5140609Z           "complete": true,
2026-06-04T07:59:22.5141006Z           "evidence": [
2026-06-04T07:59:22.5141393Z             {
2026-06-04T07:59:22.5142042Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5142444Z               "line": 27
2026-06-04T07:59:22.5142834Z             },
2026-06-04T07:59:22.5143219Z             {
2026-06-04T07:59:22.5143858Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5144263Z               "line": 110
2026-06-04T07:59:22.5144653Z             },
2026-06-04T07:59:22.5145036Z             {
2026-06-04T07:59:22.5145917Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5146360Z               "line": 153
2026-06-04T07:59:22.5146737Z             },
2026-06-04T07:59:22.5147116Z             {
2026-06-04T07:59:22.5147897Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5148315Z               "line": 182
2026-06-04T07:59:22.5148702Z             },
2026-06-04T07:59:22.5149077Z             {
2026-06-04T07:59:22.5149842Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5150247Z               "line": 31
2026-06-04T07:59:22.5150632Z             },
2026-06-04T07:59:22.5151007Z             {
2026-06-04T07:59:22.5151711Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5152124Z               "line": 113
2026-06-04T07:59:22.5152498Z             },
2026-06-04T07:59:22.5152885Z             {
2026-06-04T07:59:22.5153578Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5153998Z               "line": 138
2026-06-04T07:59:22.5154387Z             }
2026-06-04T07:59:22.5154763Z           ]
2026-06-04T07:59:22.5155144Z         },
2026-06-04T07:59:22.5155523Z         "int": {
2026-06-04T07:59:22.5155961Z           "complete": false,
2026-06-04T07:59:22.5156365Z           "evidence": []
2026-06-04T07:59:22.5156745Z         },
2026-06-04T07:59:22.5157129Z         "unit": {
2026-06-04T07:59:22.5157555Z           "complete": true,
2026-06-04T07:59:22.5157968Z           "evidence": [
2026-06-04T07:59:22.5158343Z             {
2026-06-04T07:59:22.5158991Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5159434Z               "line": 261
2026-06-04T07:59:22.5159827Z             },
2026-06-04T07:59:22.5160208Z             {
2026-06-04T07:59:22.5160843Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5161257Z               "line": 276
2026-06-04T07:59:22.5161633Z             },
2026-06-04T07:59:22.5162026Z             {
2026-06-04T07:59:22.5162657Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5163069Z               "line": 293
2026-06-04T07:59:22.5163458Z             },
2026-06-04T07:59:22.5163844Z             {
2026-06-04T07:59:22.5164484Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5164885Z               "line": 310
2026-06-04T07:59:22.5165267Z             },
2026-06-04T07:59:22.5165638Z             {
2026-06-04T07:59:22.5166281Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5166688Z               "line": 327
2026-06-04T07:59:22.5167064Z             },
2026-06-04T07:59:22.5167444Z             {
2026-06-04T07:59:22.5168076Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.5168488Z               "line": 366
2026-06-04T07:59:22.5168862Z             },
2026-06-04T07:59:22.5169288Z             {
2026-06-04T07:59:22.5170018Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5170425Z               "line": 179
2026-06-04T07:59:22.5170814Z             },
2026-06-04T07:59:22.5171193Z             {
2026-06-04T07:59:22.5171903Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5172315Z               "line": 194
2026-06-04T07:59:22.5172700Z             },
2026-06-04T07:59:22.5173087Z             {
2026-06-04T07:59:22.5173783Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5174194Z               "line": 204
2026-06-04T07:59:22.5174566Z             },
2026-06-04T07:59:22.5174949Z             {
2026-06-04T07:59:22.5175663Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5176066Z               "line": 259
2026-06-04T07:59:22.5176453Z             },
2026-06-04T07:59:22.5176836Z             {
2026-06-04T07:59:22.5177545Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5178107Z               "line": 269
2026-06-04T07:59:22.5178518Z             },
2026-06-04T07:59:22.5178906Z             {
2026-06-04T07:59:22.5179657Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.5180219Z               "line": 283
2026-06-04T07:59:22.5180597Z             }
2026-06-04T07:59:22.5180987Z           ]
2026-06-04T07:59:22.5181362Z         }
2026-06-04T07:59:22.5181743Z       }
2026-06-04T07:59:22.5182119Z     },
2026-06-04T07:59:22.5182493Z     {
2026-06-04T07:59:22.5183017Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T07:59:22.5183972Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T07:59:22.5184418Z       "requiredStages": [],
2026-06-04T07:59:22.5184806Z       "stages": {
2026-06-04T07:59:22.5185197Z         "doc": {
2026-06-04T07:59:22.5185627Z           "complete": false,
2026-06-04T07:59:22.5186033Z           "evidence": []
2026-06-04T07:59:22.5186414Z         },
2026-06-04T07:59:22.5186807Z         "impl": {
2026-06-04T07:59:22.5187241Z           "complete": false,
2026-06-04T07:59:22.5187647Z           "evidence": []
2026-06-04T07:59:22.5188028Z         },
2026-06-04T07:59:22.5188422Z         "int": {
2026-06-04T07:59:22.5188853Z           "complete": false,
2026-06-04T07:59:22.5189325Z           "evidence": []
2026-06-04T07:59:22.5189714Z         },
2026-06-04T07:59:22.5194066Z         "unit": {
2026-06-04T07:59:22.5194595Z           "complete": false,
2026-06-04T07:59:22.5195011Z           "evidence": []
2026-06-04T07:59:22.5195397Z         }
2026-06-04T07:59:22.5195771Z       }
2026-06-04T07:59:22.5196149Z     },
2026-06-04T07:59:22.5196514Z     {
2026-06-04T07:59:22.5197092Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T07:59:22.5207745Z       "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-04T07:59:22.5208254Z       "requiredStages": [],
2026-06-04T07:59:22.5208658Z       "stages": {
2026-06-04T07:59:22.5209040Z         "doc": {
2026-06-04T07:59:22.5209575Z           "complete": false,
2026-06-04T07:59:22.5209995Z           "evidence": []
2026-06-04T07:59:22.5210380Z         },
2026-06-04T07:59:22.5210768Z         "impl": {
2026-06-04T07:59:22.5211192Z           "complete": true,
2026-06-04T07:59:22.5211599Z           "evidence": [
2026-06-04T07:59:22.5211970Z             {
2026-06-04T07:59:22.5212552Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5212954Z               "line": 19
2026-06-04T07:59:22.5213343Z             },
2026-06-04T07:59:22.5213734Z             {
2026-06-04T07:59:22.5214298Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5214710Z               "line": 50
2026-06-04T07:59:22.5215083Z             },
2026-06-04T07:59:22.5215470Z             {
2026-06-04T07:59:22.5215995Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T07:59:22.5216402Z               "line": 18
2026-06-04T07:59:22.5216792Z             },
2026-06-04T07:59:22.5217162Z             {
2026-06-04T07:59:22.5217688Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T07:59:22.5218094Z               "line": 65
2026-06-04T07:59:22.5218483Z             },
2026-06-04T07:59:22.5218858Z             {
2026-06-04T07:59:22.5219438Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.5219845Z               "line": 51
2026-06-04T07:59:22.5220225Z             }
2026-06-04T07:59:22.5220607Z           ]
2026-06-04T07:59:22.5220979Z         },
2026-06-04T07:59:22.5221364Z         "int": {
2026-06-04T07:59:22.5221786Z           "complete": false,
2026-06-04T07:59:22.5222200Z           "evidence": []
2026-06-04T07:59:22.5222582Z         },
2026-06-04T07:59:22.5222964Z         "unit": {
2026-06-04T07:59:22.5223387Z           "complete": true,
2026-06-04T07:59:22.5223790Z           "evidence": [
2026-06-04T07:59:22.5224585Z             {
2026-06-04T07:59:22.5225183Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5225593Z               "line": 77
2026-06-04T07:59:22.5225988Z             },
2026-06-04T07:59:22.5226566Z             {
2026-06-04T07:59:22.5227139Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5227531Z               "line": 95
2026-06-04T07:59:22.5227913Z             },
2026-06-04T07:59:22.5228297Z             {
2026-06-04T07:59:22.5228870Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5229326Z               "line": 106
2026-06-04T07:59:22.5229709Z             },
2026-06-04T07:59:22.5230095Z             {
2026-06-04T07:59:22.5230660Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5231072Z               "line": 117
2026-06-04T07:59:22.5231454Z             },
2026-06-04T07:59:22.5231842Z             {
2026-06-04T07:59:22.5232411Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5232824Z               "line": 124
2026-06-04T07:59:22.5233214Z             },
2026-06-04T07:59:22.5233587Z             {
2026-06-04T07:59:22.5234160Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T07:59:22.5234585Z               "line": 137
2026-06-04T07:59:22.5234965Z             },
2026-06-04T07:59:22.5235349Z             {
2026-06-04T07:59:22.5235864Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T07:59:22.5236278Z               "line": 106
2026-06-04T07:59:22.5236663Z             },
2026-06-04T07:59:22.5237045Z             {
2026-06-04T07:59:22.5237572Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T07:59:22.5237976Z               "line": 118
2026-06-04T07:59:22.5238363Z             },
2026-06-04T07:59:22.5238741Z             {
2026-06-04T07:59:22.5239332Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T07:59:22.5239738Z               "line": 317
2026-06-04T07:59:22.5240126Z             }
2026-06-04T07:59:22.5240518Z           ]
2026-06-04T07:59:22.5240899Z         }
2026-06-04T07:59:22.5241278Z       }
2026-06-04T07:59:22.5241652Z     },
2026-06-04T07:59:22.5242033Z     {
2026-06-04T07:59:22.5242557Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T07:59:22.5243887Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T07:59:22.5244331Z       "requiredStages": [
2026-06-04T07:59:22.5244720Z         "impl",
2026-06-04T07:59:22.5245110Z         "unit"
2026-06-04T07:59:22.5245492Z       ],
2026-06-04T07:59:22.5245899Z       "stages": {
2026-06-04T07:59:22.5246287Z         "doc": {
2026-06-04T07:59:22.5246722Z           "complete": true,
2026-06-04T07:59:22.5247137Z           "evidence": [
2026-06-04T07:59:22.5247511Z             {
2026-06-04T07:59:22.5248027Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T07:59:22.5248434Z               "line": 137
2026-06-04T07:59:22.5248819Z             }
2026-06-04T07:59:22.5249233Z           ]
2026-06-04T07:59:22.5249631Z         },
2026-06-04T07:59:22.5250038Z         "impl": {
2026-06-04T07:59:22.5250459Z           "complete": true,
2026-06-04T07:59:22.5250867Z           "evidence": [
2026-06-04T07:59:22.5251241Z             {
2026-06-04T07:59:22.5251776Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T07:59:22.5252177Z               "line": 29
2026-06-04T07:59:22.5252568Z             },
2026-06-04T07:59:22.5252957Z             {
2026-06-04T07:59:22.5253531Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5253935Z               "line": 30
2026-06-04T07:59:22.5254313Z             },
2026-06-04T07:59:22.5254696Z             {
2026-06-04T07:59:22.5255237Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.5255651Z               "line": 48
2026-06-04T07:59:22.5256036Z             }
2026-06-04T07:59:22.5256408Z           ]
2026-06-04T07:59:22.5256792Z         },
2026-06-04T07:59:22.5257172Z         "int": {
2026-06-04T07:59:22.5257757Z           "complete": false,
2026-06-04T07:59:22.5258182Z           "evidence": []
2026-06-04T07:59:22.5258567Z         },
2026-06-04T07:59:22.5258959Z         "unit": {
2026-06-04T07:59:22.5259406Z           "complete": true,
2026-06-04T07:59:22.5259958Z           "evidence": [
2026-06-04T07:59:22.5260331Z             {
2026-06-04T07:59:22.5260912Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5261314Z               "line": 152
2026-06-04T07:59:22.5261691Z             }
2026-06-04T07:59:22.5262071Z           ]
2026-06-04T07:59:22.5262444Z         }
2026-06-04T07:59:22.5262821Z       }
2026-06-04T07:59:22.5263191Z     },
2026-06-04T07:59:22.5263568Z     {
2026-06-04T07:59:22.5264087Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T07:59:22.5265943Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T07:59:22.5266391Z       "requiredStages": [
2026-06-04T07:59:22.5266786Z         "doc",
2026-06-04T07:59:22.5267179Z         "impl",
2026-06-04T07:59:22.5267560Z         "unit"
2026-06-04T07:59:22.5267948Z       ],
2026-06-04T07:59:22.5268337Z       "stages": {
2026-06-04T07:59:22.5268727Z         "doc": {
2026-06-04T07:59:22.5269199Z           "complete": true,
2026-06-04T07:59:22.5269609Z           "evidence": [
2026-06-04T07:59:22.5269992Z             {
2026-06-04T07:59:22.5270496Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T07:59:22.5270909Z               "line": 149
2026-06-04T07:59:22.5271280Z             }
2026-06-04T07:59:22.5271666Z           ]
2026-06-04T07:59:22.5272051Z         },
2026-06-04T07:59:22.5272435Z         "impl": {
2026-06-04T07:59:22.5272860Z           "complete": true,
2026-06-04T07:59:22.5273263Z           "evidence": [
2026-06-04T07:59:22.5273677Z             {
2026-06-04T07:59:22.5274290Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5274716Z               "line": 22
2026-06-04T07:59:22.5275105Z             }
2026-06-04T07:59:22.5275485Z           ]
2026-06-04T07:59:22.5281149Z         },
2026-06-04T07:59:22.5281648Z         "int": {
2026-06-04T07:59:22.5282099Z           "complete": false,
2026-06-04T07:59:22.5282508Z           "evidence": []
2026-06-04T07:59:22.5282928Z         },
2026-06-04T07:59:22.5283324Z         "unit": {
2026-06-04T07:59:22.5283748Z           "complete": true,
2026-06-04T07:59:22.5284159Z           "evidence": [
2026-06-04T07:59:22.5284530Z             {
2026-06-04T07:59:22.5285112Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5285519Z               "line": 257
2026-06-04T07:59:22.5285908Z             }
2026-06-04T07:59:22.5286293Z           ]
2026-06-04T07:59:22.5286666Z         }
2026-06-04T07:59:22.5287046Z       }
2026-06-04T07:59:22.5287426Z     },
2026-06-04T07:59:22.5288003Z     {
2026-06-04T07:59:22.5288616Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T07:59:22.5291091Z       "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-04T07:59:22.5291537Z       "requiredStages": [
2026-06-04T07:59:22.5291924Z         "impl",
2026-06-04T07:59:22.5292319Z         "unit"
2026-06-04T07:59:22.5292719Z       ],
2026-06-04T07:59:22.5293112Z       "stages": {
2026-06-04T07:59:22.5293494Z         "doc": {
2026-06-04T07:59:22.5293922Z           "complete": true,
2026-06-04T07:59:22.5294327Z           "evidence": [
2026-06-04T07:59:22.5294701Z             {
2026-06-04T07:59:22.5295205Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T07:59:22.5295606Z               "line": 143
2026-06-04T07:59:22.5295993Z             }
2026-06-04T07:59:22.5296370Z           ]
2026-06-04T07:59:22.5296750Z         },
2026-06-04T07:59:22.5297145Z         "impl": {
2026-06-04T07:59:22.5297557Z           "complete": true,
2026-06-04T07:59:22.5297965Z           "evidence": [
2026-06-04T07:59:22.5298341Z             {
2026-06-04T07:59:22.5299265Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5299695Z               "line": 117
2026-06-04T07:59:22.5300081Z             },
2026-06-04T07:59:22.5300462Z             {
2026-06-04T07:59:22.5300996Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T07:59:22.5301539Z               "line": 15
2026-06-04T07:59:22.5301911Z             }
2026-06-04T07:59:22.5302288Z           ]
2026-06-04T07:59:22.5302657Z         },
2026-06-04T07:59:22.5303039Z         "int": {
2026-06-04T07:59:22.5303465Z           "complete": false,
2026-06-04T07:59:22.5303873Z           "evidence": []
2026-06-04T07:59:22.5304253Z         },
2026-06-04T07:59:22.5304631Z         "unit": {
2026-06-04T07:59:22.5305058Z           "complete": true,
2026-06-04T07:59:22.5305455Z           "evidence": [
2026-06-04T07:59:22.5305832Z             {
2026-06-04T07:59:22.5306449Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T07:59:22.5306844Z               "line": 87
2026-06-04T07:59:22.5307229Z             },
2026-06-04T07:59:22.5307604Z             {
2026-06-04T07:59:22.5308190Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5308593Z               "line": 508
2026-06-04T07:59:22.5308982Z             },
2026-06-04T07:59:22.5309420Z             {
2026-06-04T07:59:22.5310009Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5310424Z               "line": 527
2026-06-04T07:59:22.5310800Z             },
2026-06-04T07:59:22.5311188Z             {
2026-06-04T07:59:22.5311783Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.5312202Z               "line": 148
2026-06-04T07:59:22.5312590Z             },
2026-06-04T07:59:22.5312962Z             {
2026-06-04T07:59:22.5313507Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T07:59:22.5313909Z               "line": 74
2026-06-04T07:59:22.5314298Z             },
2026-06-04T07:59:22.5314695Z             {
2026-06-04T07:59:22.5315248Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T07:59:22.5315658Z               "line": 88
2026-06-04T07:59:22.5316034Z             },
2026-06-04T07:59:22.5316413Z             {
2026-06-04T07:59:22.5316944Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T07:59:22.5317367Z               "line": 104
2026-06-04T07:59:22.5317755Z             }
2026-06-04T07:59:22.5318126Z           ]
2026-06-04T07:59:22.5318510Z         }
2026-06-04T07:59:22.5318887Z       }
2026-06-04T07:59:22.5319306Z     },
2026-06-04T07:59:22.5319680Z     {
2026-06-04T07:59:22.5320228Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T07:59:22.5321181Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T07:59:22.5321615Z       "requiredStages": [
2026-06-04T07:59:22.5322009Z         "impl",
2026-06-04T07:59:22.5322390Z         "unit"
2026-06-04T07:59:22.5322776Z       ],
2026-06-04T07:59:22.5323166Z       "stages": {
2026-06-04T07:59:22.5323558Z         "doc": {
2026-06-04T07:59:22.5323997Z           "complete": false,
2026-06-04T07:59:22.5324408Z           "evidence": []
2026-06-04T07:59:22.5324787Z         },
2026-06-04T07:59:22.5325171Z         "impl": {
2026-06-04T07:59:22.5325595Z           "complete": true,
2026-06-04T07:59:22.5326004Z           "evidence": [
2026-06-04T07:59:22.5326390Z             {
2026-06-04T07:59:22.5326934Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T07:59:22.5327332Z               "line": 15
2026-06-04T07:59:22.5327718Z             },
2026-06-04T07:59:22.5328093Z             {
2026-06-04T07:59:22.5328668Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5329060Z               "line": 55
2026-06-04T07:59:22.5329485Z             },
2026-06-04T07:59:22.5329870Z             {
2026-06-04T07:59:22.5330438Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5330847Z               "line": 62
2026-06-04T07:59:22.5331219Z             },
2026-06-04T07:59:22.5331597Z             {
2026-06-04T07:59:22.5332314Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5332740Z               "line": 107
2026-06-04T07:59:22.5333130Z             },
2026-06-04T07:59:22.5333504Z             {
2026-06-04T07:59:22.5334223Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5334627Z               "line": 128
2026-06-04T07:59:22.5335013Z             }
2026-06-04T07:59:22.5335395Z           ]
2026-06-04T07:59:22.5335784Z         },
2026-06-04T07:59:22.5336172Z         "int": {
2026-06-04T07:59:22.5336597Z           "complete": false,
2026-06-04T07:59:22.5337011Z           "evidence": []
2026-06-04T07:59:22.5337387Z         },
2026-06-04T07:59:22.5337779Z         "unit": {
2026-06-04T07:59:22.5338199Z           "complete": true,
2026-06-04T07:59:22.5338607Z           "evidence": [
2026-06-04T07:59:22.5338998Z             {
2026-06-04T07:59:22.5339589Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T07:59:22.5340002Z               "line": 113
2026-06-04T07:59:22.5340389Z             },
2026-06-04T07:59:22.5340773Z             {
2026-06-04T07:59:22.5341310Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T07:59:22.5341722Z               "line": 119
2026-06-04T07:59:22.5342116Z             },
2026-06-04T07:59:22.5342492Z             {
2026-06-04T07:59:22.5343033Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T07:59:22.5343435Z               "line": 130
2026-06-04T07:59:22.5343827Z             },
2026-06-04T07:59:22.5344201Z             {
2026-06-04T07:59:22.5344775Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5345188Z               "line": 183
2026-06-04T07:59:22.5345568Z             },
2026-06-04T07:59:22.5345952Z             {
2026-06-04T07:59:22.5346522Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5346940Z               "line": 193
2026-06-04T07:59:22.5347320Z             },
2026-06-04T07:59:22.5347712Z             {
2026-06-04T07:59:22.5348296Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5348697Z               "line": 237
2026-06-04T07:59:22.5349089Z             },
2026-06-04T07:59:22.5349518Z             {
2026-06-04T07:59:22.5350098Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5350528Z               "line": 249
2026-06-04T07:59:22.5350906Z             },
2026-06-04T07:59:22.5351293Z             {
2026-06-04T07:59:22.5351862Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.5352281Z               "line": 275
2026-06-04T07:59:22.5352655Z             }
2026-06-04T07:59:22.5353041Z           ]
2026-06-04T07:59:22.5353427Z         }
2026-06-04T07:59:22.5360729Z       }
2026-06-04T07:59:22.5361116Z     },
2026-06-04T07:59:22.5361490Z     {
2026-06-04T07:59:22.5362039Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T07:59:22.5363403Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T07:59:22.5363874Z       "requiredStages": [
2026-06-04T07:59:22.5364278Z         "impl",
2026-06-04T07:59:22.5364659Z         "unit",
2026-06-04T07:59:22.5365050Z         "int"
2026-06-04T07:59:22.5365425Z       ],
2026-06-04T07:59:22.5365818Z       "stages": {
2026-06-04T07:59:22.5366207Z         "doc": {
2026-06-04T07:59:22.5366645Z           "complete": false,
2026-06-04T07:59:22.5367056Z           "evidence": []
2026-06-04T07:59:22.5367434Z         },
2026-06-04T07:59:22.5367830Z         "impl": {
2026-06-04T07:59:22.5368245Z           "complete": true,
2026-06-04T07:59:22.5368654Z           "evidence": [
2026-06-04T07:59:22.5369029Z             {
2026-06-04T07:59:22.5369683Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.5370107Z               "line": 236
2026-06-04T07:59:22.5370488Z             },
2026-06-04T07:59:22.5370871Z             {
2026-06-04T07:59:22.5371417Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.5371826Z               "line": 491
2026-06-04T07:59:22.5372448Z             },
2026-06-04T07:59:22.5372855Z             {
2026-06-04T07:59:22.5373413Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.5373817Z               "line": 514
2026-06-04T07:59:22.5374331Z             },
2026-06-04T07:59:22.5374712Z             {
2026-06-04T07:59:22.5375267Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.5375675Z               "line": 538
2026-06-04T07:59:22.5376069Z             },
2026-06-04T07:59:22.5376451Z             {
2026-06-04T07:59:22.5377013Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.5377422Z               "line": 438
2026-06-04T07:59:22.5377803Z             },
2026-06-04T07:59:22.5378183Z             {
2026-06-04T07:59:22.5378741Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.5379151Z               "line": 519
2026-06-04T07:59:22.5379590Z             },
2026-06-04T07:59:22.5379962Z             {
2026-06-04T07:59:22.5380537Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.5380938Z               "line": 563
2026-06-04T07:59:22.5381324Z             },
2026-06-04T07:59:22.5381694Z             {
2026-06-04T07:59:22.5382256Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T07:59:22.5382670Z               "line": 606
2026-06-04T07:59:22.5383040Z             },
2026-06-04T07:59:22.5383418Z             {
2026-06-04T07:59:22.5383972Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T07:59:22.5384370Z               "line": 46
2026-06-04T07:59:22.5384741Z             },
2026-06-04T07:59:22.5385131Z             {
2026-06-04T07:59:22.5385701Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T07:59:22.5386105Z               "line": 160
2026-06-04T07:59:22.5386489Z             },
2026-06-04T07:59:22.5386858Z             {
2026-06-04T07:59:22.5387397Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T07:59:22.5387797Z               "line": 71
2026-06-04T07:59:22.5388196Z             },
2026-06-04T07:59:22.5388577Z             {
2026-06-04T07:59:22.5389109Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.5389573Z               "line": 128
2026-06-04T07:59:22.5389964Z             },
2026-06-04T07:59:22.5390347Z             {
2026-06-04T07:59:22.5390886Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.5391299Z               "line": 174
2026-06-04T07:59:22.5391681Z             }
2026-06-04T07:59:22.5392056Z           ]
2026-06-04T07:59:22.5392437Z         },
2026-06-04T07:59:22.5392818Z         "int": {
2026-06-04T07:59:22.5393241Z           "complete": true,
2026-06-04T07:59:22.5393639Z           "evidence": [
2026-06-04T07:59:22.5394018Z             {
2026-06-04T07:59:22.5394657Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T07:59:22.5395055Z               "line": 27
2026-06-04T07:59:22.5395442Z             },
2026-06-04T07:59:22.5395814Z             {
2026-06-04T07:59:22.5396435Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T07:59:22.5396846Z               "line": 125
2026-06-04T07:59:22.5397221Z             },
2026-06-04T07:59:22.5397602Z             {
2026-06-04T07:59:22.5398208Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T07:59:22.5398628Z               "line": 189
2026-06-04T07:59:22.5399002Z             }
2026-06-04T07:59:22.5399425Z           ]
2026-06-04T07:59:22.5399817Z         },
2026-06-04T07:59:22.5400200Z         "unit": {
2026-06-04T07:59:22.5400620Z           "complete": true,
2026-06-04T07:59:22.5401018Z           "evidence": [
2026-06-04T07:59:22.5401408Z             {
2026-06-04T07:59:22.5401970Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T07:59:22.5402384Z               "line": 282
2026-06-04T07:59:22.5402775Z             },
2026-06-04T07:59:22.5403151Z             {
2026-06-04T07:59:22.5403714Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T07:59:22.5404277Z               "line": 300
2026-06-04T07:59:22.5404675Z             },
2026-06-04T07:59:22.5405049Z             {
2026-06-04T07:59:22.5405620Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T07:59:22.5406031Z               "line": 318
2026-06-04T07:59:22.5406532Z             },
2026-06-04T07:59:22.5406917Z             {
2026-06-04T07:59:22.5407486Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T07:59:22.5407892Z               "line": 221
2026-06-04T07:59:22.5408262Z             },
2026-06-04T07:59:22.5408644Z             {
2026-06-04T07:59:22.5409324Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T07:59:22.5409732Z               "line": 204
2026-06-04T07:59:22.5410115Z             },
2026-06-04T07:59:22.5410489Z             {
2026-06-04T07:59:22.5411068Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T07:59:22.5411477Z               "line": 180
2026-06-04T07:59:22.5411863Z             },
2026-06-04T07:59:22.5412250Z             {
2026-06-04T07:59:22.5412789Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.5413200Z               "line": 441
2026-06-04T07:59:22.5413576Z             },
2026-06-04T07:59:22.5413952Z             {
2026-06-04T07:59:22.5414495Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.5414901Z               "line": 465
2026-06-04T07:59:22.5415288Z             }
2026-06-04T07:59:22.5415658Z           ]
2026-06-04T07:59:22.5416038Z         }
2026-06-04T07:59:22.5416414Z       }
2026-06-04T07:59:22.5416786Z     },
2026-06-04T07:59:22.5417156Z     {
2026-06-04T07:59:22.5417705Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T07:59:22.5418642Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T07:59:22.5419066Z       "requiredStages": [
2026-06-04T07:59:22.5419567Z         "impl",
2026-06-04T07:59:22.5419950Z         "unit"
2026-06-04T07:59:22.5420329Z       ],
2026-06-04T07:59:22.5420719Z       "stages": {
2026-06-04T07:59:22.5421113Z         "doc": {
2026-06-04T07:59:22.5421545Z           "complete": false,
2026-06-04T07:59:22.5421959Z           "evidence": []
2026-06-04T07:59:22.5422344Z         },
2026-06-04T07:59:22.5422723Z         "impl": {
2026-06-04T07:59:22.5423152Z           "complete": true,
2026-06-04T07:59:22.5423550Z           "evidence": [
2026-06-04T07:59:22.5423938Z             {
2026-06-04T07:59:22.5424558Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.5424949Z               "line": 56
2026-06-04T07:59:22.5425328Z             },
2026-06-04T07:59:22.5425698Z             {
2026-06-04T07:59:22.5426314Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.5426711Z               "line": 63
2026-06-04T07:59:22.5427095Z             },
2026-06-04T07:59:22.5427476Z             {
2026-06-04T07:59:22.5428010Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5428409Z               "line": 33
2026-06-04T07:59:22.5428777Z             },
2026-06-04T07:59:22.5429204Z             {
2026-06-04T07:59:22.5429749Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5430160Z               "line": 61
2026-06-04T07:59:22.5430544Z             },
2026-06-04T07:59:22.5430922Z             {
2026-06-04T07:59:22.5431462Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5431860Z               "line": 70
2026-06-04T07:59:22.5436822Z             },
2026-06-04T07:59:22.5437260Z             {
2026-06-04T07:59:22.5437832Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5438245Z               "line": 79
2026-06-04T07:59:22.5438625Z             },
2026-06-04T07:59:22.5439005Z             {
2026-06-04T07:59:22.5439822Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5440401Z               "line": 88
2026-06-04T07:59:22.5440786Z             },
2026-06-04T07:59:22.5441159Z             {
2026-06-04T07:59:22.5441700Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5442346Z               "line": 97
2026-06-04T07:59:22.5442757Z             },
2026-06-04T07:59:22.5443134Z             {
2026-06-04T07:59:22.5443680Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5444224Z               "line": 105
2026-06-04T07:59:22.5444601Z             },
2026-06-04T07:59:22.5444985Z             {
2026-06-04T07:59:22.5445521Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5445929Z               "line": 114
2026-06-04T07:59:22.5446307Z             },
2026-06-04T07:59:22.5446697Z             {
2026-06-04T07:59:22.5447234Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5447639Z               "line": 121
2026-06-04T07:59:22.5448025Z             },
2026-06-04T07:59:22.5448398Z             {
2026-06-04T07:59:22.5448948Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5449554Z               "line": 128
2026-06-04T07:59:22.5449964Z             },
2026-06-04T07:59:22.5450370Z             {
2026-06-04T07:59:22.5450930Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5451354Z               "line": 136
2026-06-04T07:59:22.5451746Z             },
2026-06-04T07:59:22.5452156Z             {
2026-06-04T07:59:22.5452711Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5453137Z               "line": 145
2026-06-04T07:59:22.5453536Z             },
2026-06-04T07:59:22.5453924Z             {
2026-06-04T07:59:22.5454485Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5454896Z               "line": 212
2026-06-04T07:59:22.5455291Z             },
2026-06-04T07:59:22.5455676Z             {
2026-06-04T07:59:22.5456233Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5456658Z               "line": 224
2026-06-04T07:59:22.5457053Z             },
2026-06-04T07:59:22.5457451Z             {
2026-06-04T07:59:22.5458004Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5458439Z               "line": 311
2026-06-04T07:59:22.5458825Z             }
2026-06-04T07:59:22.5459262Z           ]
2026-06-04T07:59:22.5459695Z         },
2026-06-04T07:59:22.5460130Z         "int": {
2026-06-04T07:59:22.5460730Z           "complete": false,
2026-06-04T07:59:22.5461136Z           "evidence": []
2026-06-04T07:59:22.5461523Z         },
2026-06-04T07:59:22.5461914Z         "unit": {
2026-06-04T07:59:22.5462343Z           "complete": true,
2026-06-04T07:59:22.5462752Z           "evidence": [
2026-06-04T07:59:22.5463125Z             {
2026-06-04T07:59:22.5463675Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5464078Z               "line": 381
2026-06-04T07:59:22.5464462Z             },
2026-06-04T07:59:22.5464837Z             {
2026-06-04T07:59:22.5465382Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5465792Z               "line": 407
2026-06-04T07:59:22.5466169Z             },
2026-06-04T07:59:22.5466555Z             {
2026-06-04T07:59:22.5467103Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5467512Z               "line": 420
2026-06-04T07:59:22.5467887Z             },
2026-06-04T07:59:22.5468271Z             {
2026-06-04T07:59:22.5468847Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5469304Z               "line": 462
2026-06-04T07:59:22.5469989Z             }
2026-06-04T07:59:22.5470365Z           ]
2026-06-04T07:59:22.5470746Z         }
2026-06-04T07:59:22.5471118Z       }
2026-06-04T07:59:22.5471498Z     },
2026-06-04T07:59:22.5471877Z     {
2026-06-04T07:59:22.5472363Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T07:59:22.5473327Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T07:59:22.5473754Z       "requiredStages": [
2026-06-04T07:59:22.5474144Z         "impl",
2026-06-04T07:59:22.5474537Z         "unit"
2026-06-04T07:59:22.5474918Z       ],
2026-06-04T07:59:22.5475318Z       "stages": {
2026-06-04T07:59:22.5475878Z         "doc": {
2026-06-04T07:59:22.5476331Z           "complete": false,
2026-06-04T07:59:22.5476744Z           "evidence": []
2026-06-04T07:59:22.5477127Z         },
2026-06-04T07:59:22.5477505Z         "impl": {
2026-06-04T07:59:22.5478137Z           "complete": true,
2026-06-04T07:59:22.5478553Z           "evidence": [
2026-06-04T07:59:22.5478931Z             {
2026-06-04T07:59:22.5479514Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.5479918Z               "line": 107
2026-06-04T07:59:22.5480308Z             },
2026-06-04T07:59:22.5480679Z             {
2026-06-04T07:59:22.5481254Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.5481661Z               "line": 59
2026-06-04T07:59:22.5482038Z             }
2026-06-04T07:59:22.5482417Z           ]
2026-06-04T07:59:22.5482786Z         },
2026-06-04T07:59:22.5483173Z         "int": {
2026-06-04T07:59:22.5483592Z           "complete": false,
2026-06-04T07:59:22.5484005Z           "evidence": []
2026-06-04T07:59:22.5484396Z         },
2026-06-04T07:59:22.5484778Z         "unit": {
2026-06-04T07:59:22.5485204Z           "complete": true,
2026-06-04T07:59:22.5485606Z           "evidence": [
2026-06-04T07:59:22.5485990Z             {
2026-06-04T07:59:22.5486520Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.5486931Z               "line": 225
2026-06-04T07:59:22.5487315Z             },
2026-06-04T07:59:22.5487688Z             {
2026-06-04T07:59:22.5488256Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.5488660Z               "line": 254
2026-06-04T07:59:22.5489049Z             },
2026-06-04T07:59:22.5489496Z             {
2026-06-04T07:59:22.5490070Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.5490475Z               "line": 264
2026-06-04T07:59:22.5490848Z             }
2026-06-04T07:59:22.5491227Z           ]
2026-06-04T07:59:22.5491598Z         }
2026-06-04T07:59:22.5491975Z       }
2026-06-04T07:59:22.5492343Z     },
2026-06-04T07:59:22.5492730Z     {
2026-06-04T07:59:22.5493237Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T07:59:22.5493882Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T07:59:22.5494321Z       "requiredStages": [],
2026-06-04T07:59:22.5494715Z       "stages": {
2026-06-04T07:59:22.5495103Z         "doc": {
2026-06-04T07:59:22.5495530Z           "complete": false,
2026-06-04T07:59:22.5495937Z           "evidence": []
2026-06-04T07:59:22.5496319Z         },
2026-06-04T07:59:22.5496701Z         "impl": {
2026-06-04T07:59:22.5497132Z           "complete": false,
2026-06-04T07:59:22.5497535Z           "evidence": []
2026-06-04T07:59:22.5497931Z         },
2026-06-04T07:59:22.5498325Z         "int": {
2026-06-04T07:59:22.5498746Z           "complete": false,
2026-06-04T07:59:22.5499192Z           "evidence": []
2026-06-04T07:59:22.5499588Z         },
2026-06-04T07:59:22.5500011Z         "unit": {
2026-06-04T07:59:22.5500433Z           "complete": false,
2026-06-04T07:59:22.5500850Z           "evidence": []
2026-06-04T07:59:22.5501223Z         }
2026-06-04T07:59:22.5501607Z       }
2026-06-04T07:59:22.5501984Z     },
2026-06-04T07:59:22.5502350Z     {
2026-06-04T07:59:22.5502916Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T07:59:22.5503725Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T07:59:22.5504165Z       "requiredStages": [
2026-06-04T07:59:22.5504553Z         "impl",
2026-06-04T07:59:22.5504926Z         "unit"
2026-06-04T07:59:22.5505310Z       ],
2026-06-04T07:59:22.5505696Z       "stages": {
2026-06-04T07:59:22.5506085Z         "doc": {
2026-06-04T07:59:22.5506502Z           "complete": false,
2026-06-04T07:59:22.5506920Z           "evidence": []
2026-06-04T07:59:22.5507288Z         },
2026-06-04T07:59:22.5507676Z         "impl": {
2026-06-04T07:59:22.5512573Z           "complete": true,
2026-06-04T07:59:22.5513076Z           "evidence": [
2026-06-04T07:59:22.5513471Z             {
2026-06-04T07:59:22.5514370Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.5514812Z               "line": 364
2026-06-04T07:59:22.5515187Z             },
2026-06-04T07:59:22.5515575Z             {
2026-06-04T07:59:22.5516126Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.5516673Z               "line": 28
2026-06-04T07:59:22.5517058Z             }
2026-06-04T07:59:22.5517438Z           ]
2026-06-04T07:59:22.5517819Z         },
2026-06-04T07:59:22.5518202Z         "int": {
2026-06-04T07:59:22.5518633Z           "complete": false,
2026-06-04T07:59:22.5519045Z           "evidence": []
2026-06-04T07:59:22.5519503Z         },
2026-06-04T07:59:22.5519909Z         "unit": {
2026-06-04T07:59:22.5520325Z           "complete": true,
2026-06-04T07:59:22.5520733Z           "evidence": [
2026-06-04T07:59:22.5521107Z             {
2026-06-04T07:59:22.5521666Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.5522083Z               "line": 200
2026-06-04T07:59:22.5522470Z             }
2026-06-04T07:59:22.5522851Z           ]
2026-06-04T07:59:22.5523231Z         }
2026-06-04T07:59:22.5523613Z       }
2026-06-04T07:59:22.5523983Z     },
2026-06-04T07:59:22.5524365Z     {
2026-06-04T07:59:22.5524886Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T07:59:22.5525530Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T07:59:22.5525974Z       "requiredStages": [],
2026-06-04T07:59:22.5526363Z       "stages": {
2026-06-04T07:59:22.5526755Z         "doc": {
2026-06-04T07:59:22.5527179Z           "complete": false,
2026-06-04T07:59:22.5527592Z           "evidence": []
2026-06-04T07:59:22.5527980Z         },
2026-06-04T07:59:22.5528364Z         "impl": {
2026-06-04T07:59:22.5528793Z           "complete": false,
2026-06-04T07:59:22.5529238Z           "evidence": []
2026-06-04T07:59:22.5529627Z         },
2026-06-04T07:59:22.5530008Z         "int": {
2026-06-04T07:59:22.5530434Z           "complete": false,
2026-06-04T07:59:22.5530838Z           "evidence": []
2026-06-04T07:59:22.5531216Z         },
2026-06-04T07:59:22.5531605Z         "unit": {
2026-06-04T07:59:22.5532026Z           "complete": false,
2026-06-04T07:59:22.5532441Z           "evidence": []
2026-06-04T07:59:22.5532809Z         }
2026-06-04T07:59:22.5533201Z       }
2026-06-04T07:59:22.5533574Z     },
2026-06-04T07:59:22.5533946Z     {
2026-06-04T07:59:22.5534467Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T07:59:22.5535175Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T07:59:22.5535603Z       "requiredStages": [
2026-06-04T07:59:22.5535982Z         "impl",
2026-06-04T07:59:22.5536374Z         "unit"
2026-06-04T07:59:22.5536756Z       ],
2026-06-04T07:59:22.5537141Z       "stages": {
2026-06-04T07:59:22.5537526Z         "doc": {
2026-06-04T07:59:22.5537939Z           "complete": false,
2026-06-04T07:59:22.5538360Z           "evidence": []
2026-06-04T07:59:22.5538731Z         },
2026-06-04T07:59:22.5539126Z         "impl": {
2026-06-04T07:59:22.5539603Z           "complete": true,
2026-06-04T07:59:22.5540006Z           "evidence": [
2026-06-04T07:59:22.5540387Z             {
2026-06-04T07:59:22.5540910Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T07:59:22.5541317Z               "line": 19
2026-06-04T07:59:22.5541702Z             },
2026-06-04T07:59:22.5542081Z             {
2026-06-04T07:59:22.5542666Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.5543071Z               "line": 325
2026-06-04T07:59:22.5543461Z             },
2026-06-04T07:59:22.5543833Z             {
2026-06-04T07:59:22.5544420Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.5544821Z               "line": 361
2026-06-04T07:59:22.5545205Z             },
2026-06-04T07:59:22.5545585Z             {
2026-06-04T07:59:22.5546126Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T07:59:22.5546536Z               "line": 15
2026-06-04T07:59:22.5546909Z             },
2026-06-04T07:59:22.5547289Z             {
2026-06-04T07:59:22.5548004Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T07:59:22.5548414Z               "line": 48
2026-06-04T07:59:22.5548800Z             },
2026-06-04T07:59:22.5549216Z             {
2026-06-04T07:59:22.5549912Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T07:59:22.5550318Z               "line": 106
2026-06-04T07:59:22.5550701Z             }
2026-06-04T07:59:22.5551090Z           ]
2026-06-04T07:59:22.5551464Z         },
2026-06-04T07:59:22.5551851Z         "int": {
2026-06-04T07:59:22.5552270Z           "complete": false,
2026-06-04T07:59:22.5552683Z           "evidence": []
2026-06-04T07:59:22.5553053Z         },
2026-06-04T07:59:22.5553444Z         "unit": {
2026-06-04T07:59:22.5553868Z           "complete": true,
2026-06-04T07:59:22.5554273Z           "evidence": [
2026-06-04T07:59:22.5554653Z             {
2026-06-04T07:59:22.5555229Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.5555651Z               "line": 453
2026-06-04T07:59:22.5556029Z             },
2026-06-04T07:59:22.5556414Z             {
2026-06-04T07:59:22.5556962Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T07:59:22.5557367Z               "line": 149
2026-06-04T07:59:22.5557759Z             },
2026-06-04T07:59:22.5558126Z             {
2026-06-04T07:59:22.5558678Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T07:59:22.5559079Z               "line": 156
2026-06-04T07:59:22.5559510Z             }
2026-06-04T07:59:22.5559894Z           ]
2026-06-04T07:59:22.5560264Z         }
2026-06-04T07:59:22.5560646Z       }
2026-06-04T07:59:22.5561011Z     },
2026-06-04T07:59:22.5561384Z     {
2026-06-04T07:59:22.5561876Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T07:59:22.5562624Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T07:59:22.5563062Z       "requiredStages": [
2026-06-04T07:59:22.5563443Z         "impl",
2026-06-04T07:59:22.5563828Z         "unit"
2026-06-04T07:59:22.5564205Z       ],
2026-06-04T07:59:22.5564598Z       "stages": {
2026-06-04T07:59:22.5564980Z         "doc": {
2026-06-04T07:59:22.5565404Z           "complete": false,
2026-06-04T07:59:22.5565815Z           "evidence": []
2026-06-04T07:59:22.5566193Z         },
2026-06-04T07:59:22.5566592Z         "impl": {
2026-06-04T07:59:22.5567002Z           "complete": true,
2026-06-04T07:59:22.5567404Z           "evidence": [
2026-06-04T07:59:22.5567775Z             {
2026-06-04T07:59:22.5568327Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.5568723Z               "line": 35
2026-06-04T07:59:22.5569090Z             }
2026-06-04T07:59:22.5569504Z           ]
2026-06-04T07:59:22.5569874Z         },
2026-06-04T07:59:22.5570259Z         "int": {
2026-06-04T07:59:22.5570675Z           "complete": false,
2026-06-04T07:59:22.5571084Z           "evidence": []
2026-06-04T07:59:22.5571463Z         },
2026-06-04T07:59:22.5571847Z         "unit": {
2026-06-04T07:59:22.5572274Z           "complete": true,
2026-06-04T07:59:22.5572670Z           "evidence": [
2026-06-04T07:59:22.5573050Z             {
2026-06-04T07:59:22.5573600Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T07:59:22.5574011Z               "line": 217
2026-06-04T07:59:22.5574401Z             }
2026-06-04T07:59:22.5574773Z           ]
2026-06-04T07:59:22.5575151Z         }
2026-06-04T07:59:22.5575520Z       }
2026-06-04T07:59:22.5575895Z     },
2026-06-04T07:59:22.5576262Z     {
2026-06-04T07:59:22.5576759Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T07:59:22.5578090Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T07:59:22.5578517Z       "requiredStages": [
2026-06-04T07:59:22.5578908Z         "impl",
2026-06-04T07:59:22.5579327Z         "unit"
2026-06-04T07:59:22.5579712Z       ],
2026-06-04T07:59:22.5580098Z       "stages": {
2026-06-04T07:59:22.5580487Z         "doc": {
2026-06-04T07:59:22.5580917Z           "complete": false,
2026-06-04T07:59:22.5581473Z           "evidence": []
2026-06-04T07:59:22.5581876Z         },
2026-06-04T07:59:22.5586260Z         "impl": {
2026-06-04T07:59:22.5586795Z           "complete": true,
2026-06-04T07:59:22.5587203Z           "evidence": [
2026-06-04T07:59:22.5587837Z             {
2026-06-04T07:59:22.5588461Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.5588868Z               "line": 256
2026-06-04T07:59:22.5589357Z             },
2026-06-04T07:59:22.5589737Z             {
2026-06-04T07:59:22.5590311Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.5590715Z               "line": 159
2026-06-04T07:59:22.5591102Z             },
2026-06-04T07:59:22.5591484Z             {
2026-06-04T07:59:22.5592045Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.5592453Z               "line": 150
2026-06-04T07:59:22.5592824Z             }
2026-06-04T07:59:22.5593204Z           ]
2026-06-04T07:59:22.5593584Z         },
2026-06-04T07:59:22.5593983Z         "int": {
2026-06-04T07:59:22.5594421Z           "complete": false,
2026-06-04T07:59:22.5594823Z           "evidence": []
2026-06-04T07:59:22.5595205Z         },
2026-06-04T07:59:22.5595588Z         "unit": {
2026-06-04T07:59:22.5596024Z           "complete": true,
2026-06-04T07:59:22.5596419Z           "evidence": [
2026-06-04T07:59:22.5596803Z             {
2026-06-04T07:59:22.5597378Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.5597777Z               "line": 382
2026-06-04T07:59:22.5598161Z             },
2026-06-04T07:59:22.5598533Z             {
2026-06-04T07:59:22.5599104Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.5599538Z               "line": 393
2026-06-04T07:59:22.5599927Z             },
2026-06-04T07:59:22.5600312Z             {
2026-06-04T07:59:22.5600875Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.5601279Z               "line": 409
2026-06-04T07:59:22.5601664Z             },
2026-06-04T07:59:22.5602045Z             {
2026-06-04T07:59:22.5602605Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.5603012Z               "line": 423
2026-06-04T07:59:22.5603397Z             },
2026-06-04T07:59:22.5603775Z             {
2026-06-04T07:59:22.5604383Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T07:59:22.5604785Z               "line": 265
2026-06-04T07:59:22.5605163Z             }
2026-06-04T07:59:22.5605533Z           ]
2026-06-04T07:59:22.5605916Z         }
2026-06-04T07:59:22.5606292Z       }
2026-06-04T07:59:22.5606656Z     },
2026-06-04T07:59:22.5607027Z     {
2026-06-04T07:59:22.5607515Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T07:59:22.5611790Z       "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-04T07:59:22.5612264Z       "requiredStages": [
2026-06-04T07:59:22.5612651Z         "doc",
2026-06-04T07:59:22.5613046Z         "impl",
2026-06-04T07:59:22.5613430Z         "unit"
2026-06-04T07:59:22.5613818Z       ],
2026-06-04T07:59:22.5614370Z       "stages": {
2026-06-04T07:59:22.5614789Z         "doc": {
2026-06-04T07:59:22.5615237Z           "complete": true,
2026-06-04T07:59:22.5615666Z           "evidence": [
2026-06-04T07:59:22.5616073Z             {
2026-06-04T07:59:22.5616595Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T07:59:22.5617051Z               "line": 259
2026-06-04T07:59:22.5617523Z             }
2026-06-04T07:59:22.5617997Z           ]
2026-06-04T07:59:22.5618508Z         },
2026-06-04T07:59:22.5619388Z         "impl": {
2026-06-04T07:59:22.5619976Z           "complete": true,
2026-06-04T07:59:22.5620518Z           "evidence": [
2026-06-04T07:59:22.5621005Z             {
2026-06-04T07:59:22.5621677Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.5622541Z               "line": 85
2026-06-04T07:59:22.5623044Z             },
2026-06-04T07:59:22.5623490Z             {
2026-06-04T07:59:22.5624123Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T07:59:22.5624735Z               "line": 88
2026-06-04T07:59:22.5625152Z             },
2026-06-04T07:59:22.5625556Z             {
2026-06-04T07:59:22.5626194Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.5626632Z               "line": 29
2026-06-04T07:59:22.5627043Z             },
2026-06-04T07:59:22.5627452Z             {
2026-06-04T07:59:22.5628075Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.5628514Z               "line": 75
2026-06-04T07:59:22.5628918Z             },
2026-06-04T07:59:22.5629405Z             {
2026-06-04T07:59:22.5630121Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.5630528Z               "line": 40
2026-06-04T07:59:22.5630923Z             },
2026-06-04T07:59:22.5631322Z             {
2026-06-04T07:59:22.5631878Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.5632281Z               "line": 161
2026-06-04T07:59:22.5632667Z             },
2026-06-04T07:59:22.5633065Z             {
2026-06-04T07:59:22.5633600Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T07:59:22.5634012Z               "line": 70
2026-06-04T07:59:22.5634393Z             },
2026-06-04T07:59:22.5634776Z             {
2026-06-04T07:59:22.5635309Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.5635727Z               "line": 210
2026-06-04T07:59:22.5636141Z             },
2026-06-04T07:59:22.5636564Z             {
2026-06-04T07:59:22.5637326Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T07:59:22.5637816Z               "line": 37
2026-06-04T07:59:22.5638286Z             },
2026-06-04T07:59:22.5638722Z             {
2026-06-04T07:59:22.5639799Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T07:59:22.5640234Z               "line": 38
2026-06-04T07:59:22.5640626Z             },
2026-06-04T07:59:22.5641023Z             {
2026-06-04T07:59:22.5641893Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T07:59:22.5642321Z               "line": 36
2026-06-04T07:59:22.5642714Z             },
2026-06-04T07:59:22.5643100Z             {
2026-06-04T07:59:22.5643658Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T07:59:22.5644056Z               "line": 40
2026-06-04T07:59:22.5644450Z             }
2026-06-04T07:59:22.5644833Z           ]
2026-06-04T07:59:22.5645228Z         },
2026-06-04T07:59:22.5645623Z         "int": {
2026-06-04T07:59:22.5646061Z           "complete": false,
2026-06-04T07:59:22.5646478Z           "evidence": []
2026-06-04T07:59:22.5646855Z         },
2026-06-04T07:59:22.5647252Z         "unit": {
2026-06-04T07:59:22.5647671Z           "complete": true,
2026-06-04T07:59:22.5648081Z           "evidence": [
2026-06-04T07:59:22.5648462Z             {
2026-06-04T07:59:22.5649103Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T07:59:22.5649558Z               "line": 341
2026-06-04T07:59:22.5649940Z             },
2026-06-04T07:59:22.5650322Z             {
2026-06-04T07:59:22.5650891Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T07:59:22.5651308Z               "line": 201
2026-06-04T07:59:22.5651703Z             },
2026-06-04T07:59:22.5652081Z             {
2026-06-04T07:59:22.5652671Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T07:59:22.5653074Z               "line": 147
2026-06-04T07:59:22.5653463Z             },
2026-06-04T07:59:22.5653845Z             {
2026-06-04T07:59:22.5654401Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T07:59:22.5654811Z               "line": 142
2026-06-04T07:59:22.5655193Z             },
2026-06-04T07:59:22.5655584Z             {
2026-06-04T07:59:22.5656150Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T07:59:22.5656783Z               "line": 139
2026-06-04T07:59:22.5657194Z             },
2026-06-04T07:59:22.5657585Z             {
2026-06-04T07:59:22.5658161Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T07:59:22.5658722Z               "line": 126
2026-06-04T07:59:22.5659112Z             },
2026-06-04T07:59:22.5659548Z             {
2026-06-04T07:59:22.5660102Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T07:59:22.5660506Z               "line": 121
2026-06-04T07:59:22.5660896Z             }
2026-06-04T07:59:22.5661288Z           ]
2026-06-04T07:59:22.5661666Z         }
2026-06-04T07:59:22.5662058Z       }
2026-06-04T07:59:22.5662440Z     },
2026-06-04T07:59:22.5662838Z     {
2026-06-04T07:59:22.5663367Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T07:59:22.5664140Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T07:59:22.5670488Z       "requiredStages": [
2026-06-04T07:59:22.5671063Z         "impl",
2026-06-04T07:59:22.5671501Z         "unit"
2026-06-04T07:59:22.5671887Z       ],
2026-06-04T07:59:22.5672298Z       "stages": {
2026-06-04T07:59:22.5672690Z         "doc": {
2026-06-04T07:59:22.5673128Z           "complete": false,
2026-06-04T07:59:22.5673550Z           "evidence": []
2026-06-04T07:59:22.5673940Z         },
2026-06-04T07:59:22.5674346Z         "impl": {
2026-06-04T07:59:22.5674776Z           "complete": true,
2026-06-04T07:59:22.5675200Z           "evidence": [
2026-06-04T07:59:22.5675581Z             {
2026-06-04T07:59:22.5676146Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.5676563Z               "line": 95
2026-06-04T07:59:22.5676951Z             },
2026-06-04T07:59:22.5677339Z             {
2026-06-04T07:59:22.5677881Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.5678294Z               "line": 96
2026-06-04T07:59:22.5678678Z             }
2026-06-04T07:59:22.5679069Z           ]
2026-06-04T07:59:22.5679514Z         },
2026-06-04T07:59:22.5679903Z         "int": {
2026-06-04T07:59:22.5680348Z           "complete": false,
2026-06-04T07:59:22.5680772Z           "evidence": []
2026-06-04T07:59:22.5681165Z         },
2026-06-04T07:59:22.5681556Z         "unit": {
2026-06-04T07:59:22.5682010Z           "complete": true,
2026-06-04T07:59:22.5682426Z           "evidence": [
2026-06-04T07:59:22.5682807Z             {
2026-06-04T07:59:22.5683364Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.5683767Z               "line": 250
2026-06-04T07:59:22.5684165Z             },
2026-06-04T07:59:22.5684542Z             {
2026-06-04T07:59:22.5685092Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T07:59:22.5685509Z               "line": 139
2026-06-04T07:59:22.5685902Z             },
2026-06-04T07:59:22.5686290Z             {
2026-06-04T07:59:22.5686832Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.5687250Z               "line": 375
2026-06-04T07:59:22.5687632Z             },
2026-06-04T07:59:22.5688026Z             {
2026-06-04T07:59:22.5688569Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.5688974Z               "line": 405
2026-06-04T07:59:22.5689400Z             }
2026-06-04T07:59:22.5689780Z           ]
2026-06-04T07:59:22.5690180Z         }
2026-06-04T07:59:22.5690559Z       }
2026-06-04T07:59:22.5690947Z     },
2026-06-04T07:59:22.5691341Z     {
2026-06-04T07:59:22.5691819Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T07:59:22.5692714Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T07:59:22.5693145Z       "requiredStages": [
2026-06-04T07:59:22.5693544Z         "impl",
2026-06-04T07:59:22.5693929Z         "unit"
2026-06-04T07:59:22.5694319Z       ],
2026-06-04T07:59:22.5694721Z       "stages": {
2026-06-04T07:59:22.5695108Z         "doc": {
2026-06-04T07:59:22.5695544Z           "complete": false,
2026-06-04T07:59:22.5695955Z           "evidence": []
2026-06-04T07:59:22.5696341Z         },
2026-06-04T07:59:22.5696734Z         "impl": {
2026-06-04T07:59:22.5697431Z           "complete": true,
2026-06-04T07:59:22.5697879Z           "evidence": [
2026-06-04T07:59:22.5698260Z             {
2026-06-04T07:59:22.5698816Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5699414Z               "line": 168
2026-06-04T07:59:22.5699808Z             },
2026-06-04T07:59:22.5700188Z             {
2026-06-04T07:59:22.5700739Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5701149Z               "line": 213
2026-06-04T07:59:22.5701535Z             },
2026-06-04T07:59:22.5701924Z             {
2026-06-04T07:59:22.5702461Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5702877Z               "line": 225
2026-06-04T07:59:22.5703263Z             }
2026-06-04T07:59:22.5703651Z           ]
2026-06-04T07:59:22.5704037Z         },
2026-06-04T07:59:22.5704419Z         "int": {
2026-06-04T07:59:22.5704850Z           "complete": false,
2026-06-04T07:59:22.5705270Z           "evidence": []
2026-06-04T07:59:22.5705659Z         },
2026-06-04T07:59:22.5706049Z         "unit": {
2026-06-04T07:59:22.5706483Z           "complete": true,
2026-06-04T07:59:22.5706893Z           "evidence": [
2026-06-04T07:59:22.5707288Z             {
2026-06-04T07:59:22.5707834Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5708240Z               "line": 361
2026-06-04T07:59:22.5708627Z             },
2026-06-04T07:59:22.5709001Z             {
2026-06-04T07:59:22.5709601Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.5710015Z               "line": 390
2026-06-04T07:59:22.5710393Z             }
2026-06-04T07:59:22.5710784Z           ]
2026-06-04T07:59:22.5711167Z         }
2026-06-04T07:59:22.5711560Z       }
2026-06-04T07:59:22.5711938Z     },
2026-06-04T07:59:22.5712321Z     {
2026-06-04T07:59:22.5712754Z       "id": "REQ-INFRA-1",
2026-06-04T07:59:22.5713628Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T07:59:22.5714083Z       "requiredStages": [],
2026-06-04T07:59:22.5714479Z       "stages": {
2026-06-04T07:59:22.5714872Z         "doc": {
2026-06-04T07:59:22.5715298Z           "complete": false,
2026-06-04T07:59:22.5715721Z           "evidence": []
2026-06-04T07:59:22.5716123Z         },
2026-06-04T07:59:22.5716510Z         "impl": {
2026-06-04T07:59:22.5716941Z           "complete": false,
2026-06-04T07:59:22.5717349Z           "evidence": []
2026-06-04T07:59:22.5717739Z         },
2026-06-04T07:59:22.5718130Z         "int": {
2026-06-04T07:59:22.5718566Z           "complete": false,
2026-06-04T07:59:22.5718989Z           "evidence": []
2026-06-04T07:59:22.5719409Z         },
2026-06-04T07:59:22.5719812Z         "unit": {
2026-06-04T07:59:22.5720242Z           "complete": false,
2026-06-04T07:59:22.5720661Z           "evidence": []
2026-06-04T07:59:22.5721041Z         }
2026-06-04T07:59:22.5721432Z       }
2026-06-04T07:59:22.5721824Z     },
2026-06-04T07:59:22.5722199Z     {
2026-06-04T07:59:22.5722632Z       "id": "REQ-INST-1",
2026-06-04T07:59:22.5723394Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T07:59:22.5723839Z       "requiredStages": [],
2026-06-04T07:59:22.5724240Z       "stages": {
2026-06-04T07:59:22.5724812Z         "doc": {
2026-06-04T07:59:22.5725304Z           "complete": false,
2026-06-04T07:59:22.5726621Z           "evidence": []
2026-06-04T07:59:22.5727756Z         },
2026-06-04T07:59:22.5728683Z         "impl": {
2026-06-04T07:59:22.5729915Z           "complete": false,
2026-06-04T07:59:22.5731107Z           "evidence": []
2026-06-04T07:59:22.5732400Z         },
2026-06-04T07:59:22.5733447Z         "int": {
2026-06-04T07:59:22.5734573Z           "complete": false,
2026-06-04T07:59:22.5735751Z           "evidence": []
2026-06-04T07:59:22.5736937Z         },
2026-06-04T07:59:22.5737929Z         "unit": {
2026-06-04T07:59:22.5738948Z           "complete": false,
2026-06-04T07:59:22.5740223Z           "evidence": []
2026-06-04T07:59:22.5749060Z         }
2026-06-04T07:59:22.5751055Z       }
2026-06-04T07:59:22.5751951Z     },
2026-06-04T07:59:22.5752825Z     {
2026-06-04T07:59:22.5753954Z       "id": "REQ-INST-10",
2026-06-04T07:59:22.5755820Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T07:59:22.5758172Z       "requiredStages": [
2026-06-04T07:59:22.5759482Z         "impl",
2026-06-04T07:59:22.5760659Z         "unit"
2026-06-04T07:59:22.5761755Z       ],
2026-06-04T07:59:22.5762814Z       "stages": {
2026-06-04T07:59:22.5763739Z         "doc": {
2026-06-04T07:59:22.5764905Z           "complete": false,
2026-06-04T07:59:22.5766048Z           "evidence": []
2026-06-04T07:59:22.5767097Z         },
2026-06-04T07:59:22.5767999Z         "impl": {
2026-06-04T07:59:22.5769000Z           "complete": true,
2026-06-04T07:59:22.5770287Z           "evidence": [
2026-06-04T07:59:22.5771287Z             {
2026-06-04T07:59:22.5772670Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5774074Z               "line": 351
2026-06-04T07:59:22.5775114Z             },
2026-06-04T07:59:22.5776021Z             {
2026-06-04T07:59:22.5777109Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5778485Z               "line": 406
2026-06-04T07:59:22.5779569Z             },
2026-06-04T07:59:22.5780467Z             {
2026-06-04T07:59:22.5781498Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T07:59:22.5782815Z               "line": 13
2026-06-04T07:59:22.5783829Z             },
2026-06-04T07:59:22.5784720Z             {
2026-06-04T07:59:22.5785763Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T07:59:22.5787093Z               "line": 67
2026-06-04T07:59:22.5788086Z             }
2026-06-04T07:59:22.5788971Z           ]
2026-06-04T07:59:22.5789880Z         },
2026-06-04T07:59:22.5790743Z         "int": {
2026-06-04T07:59:22.5791704Z           "complete": false,
2026-06-04T07:59:22.5792819Z           "evidence": []
2026-06-04T07:59:22.5793828Z         },
2026-06-04T07:59:22.5794701Z         "unit": {
2026-06-04T07:59:22.5795664Z           "complete": true,
2026-06-04T07:59:22.5796732Z           "evidence": [
2026-06-04T07:59:22.5797713Z             {
2026-06-04T07:59:22.5798811Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5800256Z               "line": 550
2026-06-04T07:59:22.5801396Z             },
2026-06-04T07:59:22.5802301Z             {
2026-06-04T07:59:22.5803393Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5804775Z               "line": 559
2026-06-04T07:59:22.5805797Z             },
2026-06-04T07:59:22.5806704Z             {
2026-06-04T07:59:22.5807800Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5809224Z               "line": 567
2026-06-04T07:59:22.5810265Z             },
2026-06-04T07:59:22.5811167Z             {
2026-06-04T07:59:22.5812256Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5813642Z               "line": 580
2026-06-04T07:59:22.5814670Z             },
2026-06-04T07:59:22.5815572Z             {
2026-06-04T07:59:22.5816656Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5818031Z               "line": 593
2026-06-04T07:59:22.5819058Z             },
2026-06-04T07:59:22.5820019Z             {
2026-06-04T07:59:22.5821117Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5822501Z               "line": 609
2026-06-04T07:59:22.5823519Z             },
2026-06-04T07:59:22.5824425Z             {
2026-06-04T07:59:22.5825521Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5826905Z               "line": 838
2026-06-04T07:59:22.5827920Z             },
2026-06-04T07:59:22.5828824Z             {
2026-06-04T07:59:22.5829906Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T07:59:22.5831224Z               "line": 121
2026-06-04T07:59:22.5832234Z             },
2026-06-04T07:59:22.5833140Z             {
2026-06-04T07:59:22.5834524Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T07:59:22.5835909Z               "line": 142
2026-06-04T07:59:22.5836926Z             },
2026-06-04T07:59:22.5844406Z             {
2026-06-04T07:59:22.5845897Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T07:59:22.5847246Z               "line": 150
2026-06-04T07:59:22.5848261Z             },
2026-06-04T07:59:22.5849266Z             {
2026-06-04T07:59:22.5850345Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T07:59:22.5851672Z               "line": 158
2026-06-04T07:59:22.5852695Z             }
2026-06-04T07:59:22.5853583Z           ]
2026-06-04T07:59:22.5854446Z         }
2026-06-04T07:59:22.5855298Z       }
2026-06-04T07:59:22.5856127Z     },
2026-06-04T07:59:22.5856974Z     {
2026-06-04T07:59:22.5857862Z       "id": "REQ-INST-11",
2026-06-04T07:59:22.5859633Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T07:59:22.5861576Z       "requiredStages": [
2026-06-04T07:59:22.5862629Z         "impl",
2026-06-04T07:59:22.5863546Z         "unit"
2026-06-04T07:59:22.5864445Z       ],
2026-06-04T07:59:22.5865304Z       "stages": {
2026-06-04T07:59:22.5866233Z         "doc": {
2026-06-04T07:59:22.5867198Z           "complete": false,
2026-06-04T07:59:22.5868296Z           "evidence": []
2026-06-04T07:59:22.5869343Z         },
2026-06-04T07:59:22.5870211Z         "impl": {
2026-06-04T07:59:22.5871170Z           "complete": true,
2026-06-04T07:59:22.5872235Z           "evidence": [
2026-06-04T07:59:22.5873222Z             {
2026-06-04T07:59:22.5874311Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5875692Z               "line": 253
2026-06-04T07:59:22.5876712Z             },
2026-06-04T07:59:22.5877611Z             {
2026-06-04T07:59:22.5878722Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.5880163Z               "line": 243
2026-06-04T07:59:22.5881167Z             },
2026-06-04T07:59:22.5882075Z             {
2026-06-04T07:59:22.5883135Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T07:59:22.5884460Z               "line": 59
2026-06-04T07:59:22.5885471Z             },
2026-06-04T07:59:22.5886380Z             {
2026-06-04T07:59:22.5887367Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.5888649Z               "line": 621
2026-06-04T07:59:22.5889710Z             },
2026-06-04T07:59:22.5890608Z             {
2026-06-04T07:59:22.5891600Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.5892865Z               "line": 726
2026-06-04T07:59:22.5893871Z             }
2026-06-04T07:59:22.5894768Z           ]
2026-06-04T07:59:22.5895631Z         },
2026-06-04T07:59:22.5896494Z         "int": {
2026-06-04T07:59:22.5897450Z           "complete": false,
2026-06-04T07:59:22.5898550Z           "evidence": []
2026-06-04T07:59:22.5899602Z         },
2026-06-04T07:59:22.5900466Z         "unit": {
2026-06-04T07:59:22.5901435Z           "complete": true,
2026-06-04T07:59:22.5902510Z           "evidence": [
2026-06-04T07:59:22.5903760Z             {
2026-06-04T07:59:22.5905128Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5906562Z               "line": 702
2026-06-04T07:59:22.5907660Z             },
2026-06-04T07:59:22.5908568Z             {
2026-06-04T07:59:22.5909723Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5911100Z               "line": 725
2026-06-04T07:59:22.5912114Z             },
2026-06-04T07:59:22.5913027Z             {
2026-06-04T07:59:22.5914142Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.5915552Z               "line": 356
2026-06-04T07:59:22.5916566Z             },
2026-06-04T07:59:22.5917468Z             {
2026-06-04T07:59:22.5918532Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T07:59:22.5919909Z               "line": 156
2026-06-04T07:59:22.5920933Z             },
2026-06-04T07:59:22.5922068Z             {
2026-06-04T07:59:22.5923149Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T07:59:22.5924485Z               "line": 177
2026-06-04T07:59:22.5925495Z             },
2026-06-04T07:59:22.5926392Z             {
2026-06-04T07:59:22.5927595Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T07:59:22.5928938Z               "line": 209
2026-06-04T07:59:22.5930007Z             },
2026-06-04T07:59:22.5930913Z             {
2026-06-04T07:59:22.5931924Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.5938454Z               "line": 819
2026-06-04T07:59:22.5939618Z             }
2026-06-04T07:59:22.5940520Z           ]
2026-06-04T07:59:22.5941385Z         }
2026-06-04T07:59:22.5942240Z       }
2026-06-04T07:59:22.5943082Z     },
2026-06-04T07:59:22.5943927Z     {
2026-06-04T07:59:22.5944818Z       "id": "REQ-INST-12",
2026-06-04T07:59:22.5946954Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T07:59:22.5949357Z       "requiredStages": [
2026-06-04T07:59:22.5950407Z         "impl",
2026-06-04T07:59:22.5951320Z         "unit"
2026-06-04T07:59:22.5952218Z       ],
2026-06-04T07:59:22.5953075Z       "stages": {
2026-06-04T07:59:22.5954018Z         "doc": {
2026-06-04T07:59:22.5954967Z           "complete": false,
2026-06-04T07:59:22.5956058Z           "evidence": []
2026-06-04T07:59:22.5957062Z         },
2026-06-04T07:59:22.5957931Z         "impl": {
2026-06-04T07:59:22.5958882Z           "complete": true,
2026-06-04T07:59:22.5959976Z           "evidence": [
2026-06-04T07:59:22.5960952Z             {
2026-06-04T07:59:22.5962038Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5963415Z               "line": 305
2026-06-04T07:59:22.5964432Z             },
2026-06-04T07:59:22.5965324Z             {
2026-06-04T07:59:22.5966411Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5967775Z               "line": 362
2026-06-04T07:59:22.5968791Z             },
2026-06-04T07:59:22.5969732Z             {
2026-06-04T07:59:22.5970820Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5972191Z               "line": 420
2026-06-04T07:59:22.5973213Z             },
2026-06-04T07:59:22.5974103Z             {
2026-06-04T07:59:22.5975146Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5976468Z               "line": 87
2026-06-04T07:59:22.5977461Z             },
2026-06-04T07:59:22.5978345Z             {
2026-06-04T07:59:22.5979433Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.5980759Z               "line": 216
2026-06-04T07:59:22.5981758Z             },
2026-06-04T07:59:22.5982665Z             {
2026-06-04T07:59:22.5983749Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.5985118Z               "line": 132
2026-06-04T07:59:22.5986121Z             }
2026-06-04T07:59:22.5987008Z           ]
2026-06-04T07:59:22.5987866Z         },
2026-06-04T07:59:22.5988731Z         "int": {
2026-06-04T07:59:22.5989727Z           "complete": false,
2026-06-04T07:59:22.5990893Z           "evidence": []
2026-06-04T07:59:22.5991908Z         },
2026-06-04T07:59:22.5992780Z         "unit": {
2026-06-04T07:59:22.5993741Z           "complete": true,
2026-06-04T07:59:22.5994805Z           "evidence": [
2026-06-04T07:59:22.5995783Z             {
2026-06-04T07:59:22.5996857Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.5998234Z               "line": 760
2026-06-04T07:59:22.5999307Z             },
2026-06-04T07:59:22.6000243Z             {
2026-06-04T07:59:22.6001346Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6002715Z               "line": 777
2026-06-04T07:59:22.6003714Z             },
2026-06-04T07:59:22.6004612Z             {
2026-06-04T07:59:22.6005687Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6007048Z               "line": 808
2026-06-04T07:59:22.6008330Z             },
2026-06-04T07:59:22.6009332Z             {
2026-06-04T07:59:22.6010397Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.6011732Z               "line": 350
2026-06-04T07:59:22.6012896Z             },
2026-06-04T07:59:22.6013791Z             {
2026-06-04T07:59:22.6014891Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.6016260Z               "line": 169
2026-06-04T07:59:22.6017263Z             },
2026-06-04T07:59:22.6018168Z             {
2026-06-04T07:59:22.6019303Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.6020681Z               "line": 181
2026-06-04T07:59:22.6021694Z             },
2026-06-04T07:59:22.6022589Z             {
2026-06-04T07:59:22.6023677Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.6025054Z               "line": 198
2026-06-04T07:59:22.6026056Z             }
2026-06-04T07:59:22.6032154Z           ]
2026-06-04T07:59:22.6033074Z         }
2026-06-04T07:59:22.6033949Z       }
2026-06-04T07:59:22.6034786Z     },
2026-06-04T07:59:22.6035631Z     {
2026-06-04T07:59:22.6036504Z       "id": "REQ-INST-13",
2026-06-04T07:59:22.6038043Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T07:59:22.6039867Z       "requiredStages": [
2026-06-04T07:59:22.6040900Z         "impl",
2026-06-04T07:59:22.6041825Z         "unit"
2026-06-04T07:59:22.6042712Z       ],
2026-06-04T07:59:22.6043569Z       "stages": {
2026-06-04T07:59:22.6044492Z         "doc": {
2026-06-04T07:59:22.6045446Z           "complete": false,
2026-06-04T07:59:22.6046538Z           "evidence": []
2026-06-04T07:59:22.6047544Z         },
2026-06-04T07:59:22.6048415Z         "impl": {
2026-06-04T07:59:22.6049418Z           "complete": true,
2026-06-04T07:59:22.6050481Z           "evidence": [
2026-06-04T07:59:22.6051447Z             {
2026-06-04T07:59:22.6052479Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6053800Z               "line": 94
2026-06-04T07:59:22.6054798Z             },
2026-06-04T07:59:22.6055683Z             {
2026-06-04T07:59:22.6056762Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.6058136Z               "line": 155
2026-06-04T07:59:22.6059142Z             }
2026-06-04T07:59:22.6060104Z           ]
2026-06-04T07:59:22.6060960Z         },
2026-06-04T07:59:22.6061813Z         "int": {
2026-06-04T07:59:22.6062759Z           "complete": false,
2026-06-04T07:59:22.6063838Z           "evidence": []
2026-06-04T07:59:22.6064836Z         },
2026-06-04T07:59:22.6065694Z         "unit": {
2026-06-04T07:59:22.6066642Z           "complete": true,
2026-06-04T07:59:22.6067714Z           "evidence": [
2026-06-04T07:59:22.6068685Z             {
2026-06-04T07:59:22.6069812Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.6071199Z               "line": 221
2026-06-04T07:59:22.6072206Z             },
2026-06-04T07:59:22.6073099Z             {
2026-06-04T07:59:22.6074189Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T07:59:22.6075566Z               "line": 233
2026-06-04T07:59:22.6076564Z             }
2026-06-04T07:59:22.6077456Z           ]
2026-06-04T07:59:22.6078304Z         }
2026-06-04T07:59:22.6079150Z       }
2026-06-04T07:59:22.6080030Z     },
2026-06-04T07:59:22.6080860Z     {
2026-06-04T07:59:22.6081719Z       "id": "REQ-INST-14",
2026-06-04T07:59:22.6084348Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T07:59:22.6087191Z       "requiredStages": [],
2026-06-04T07:59:22.6088265Z       "stages": {
2026-06-04T07:59:22.6089222Z         "doc": {
2026-06-04T07:59:22.6090174Z           "complete": false,
2026-06-04T07:59:22.6091263Z           "evidence": []
2026-06-04T07:59:22.6092266Z         },
2026-06-04T07:59:22.6093123Z         "impl": {
2026-06-04T07:59:22.6094087Z           "complete": false,
2026-06-04T07:59:22.6095424Z           "evidence": []
2026-06-04T07:59:22.6096484Z         },
2026-06-04T07:59:22.6097372Z         "int": {
2026-06-04T07:59:22.6098341Z           "complete": false,
2026-06-04T07:59:22.6099506Z           "evidence": []
2026-06-04T07:59:22.6100733Z         },
2026-06-04T07:59:22.6101617Z         "unit": {
2026-06-04T07:59:22.6102592Z           "complete": false,
2026-06-04T07:59:22.6103706Z           "evidence": []
2026-06-04T07:59:22.6104743Z         }
2026-06-04T07:59:22.6105626Z       }
2026-06-04T07:59:22.6106483Z     },
2026-06-04T07:59:22.6107339Z     {
2026-06-04T07:59:22.6108231Z       "id": "REQ-INST-15",
2026-06-04T07:59:22.6112876Z       "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-04T07:59:22.6117755Z       "requiredStages": [],
2026-06-04T07:59:22.6118831Z       "stages": {
2026-06-04T07:59:22.6119789Z         "doc": {
2026-06-04T07:59:22.6120749Z           "complete": false,
2026-06-04T07:59:22.6121840Z           "evidence": []
2026-06-04T07:59:22.6122838Z         },
2026-06-04T07:59:22.6123708Z         "impl": {
2026-06-04T07:59:22.6129591Z           "complete": false,
2026-06-04T07:59:22.6130820Z           "evidence": []
2026-06-04T07:59:22.6131823Z         },
2026-06-04T07:59:22.6132680Z         "int": {
2026-06-04T07:59:22.6133645Z           "complete": false,
2026-06-04T07:59:22.6134730Z           "evidence": []
2026-06-04T07:59:22.6135726Z         },
2026-06-04T07:59:22.6136576Z         "unit": {
2026-06-04T07:59:22.6137518Z           "complete": false,
2026-06-04T07:59:22.6138605Z           "evidence": []
2026-06-04T07:59:22.6139656Z         }
2026-06-04T07:59:22.6140498Z       }
2026-06-04T07:59:22.6141327Z     },
2026-06-04T07:59:22.6142162Z     {
2026-06-04T07:59:22.6143021Z       "id": "REQ-INST-2",
2026-06-04T07:59:22.6144239Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T07:59:22.6145612Z       "requiredStages": [
2026-06-04T07:59:22.6146649Z         "impl",
2026-06-04T07:59:22.6147543Z         "unit"
2026-06-04T07:59:22.6148425Z       ],
2026-06-04T07:59:22.6149327Z       "stages": {
2026-06-04T07:59:22.6150257Z         "doc": {
2026-06-04T07:59:22.6151212Z           "complete": false,
2026-06-04T07:59:22.6152290Z           "evidence": []
2026-06-04T07:59:22.6153289Z         },
2026-06-04T07:59:22.6154135Z         "impl": {
2026-06-04T07:59:22.6155087Z           "complete": true,
2026-06-04T07:59:22.6156144Z           "evidence": [
2026-06-04T07:59:22.6157120Z             {
2026-06-04T07:59:22.6158223Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.6159645Z               "line": 86
2026-06-04T07:59:22.6160666Z             },
2026-06-04T07:59:22.6161553Z             {
2026-06-04T07:59:22.6162591Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.6163901Z               "line": 28
2026-06-04T07:59:22.6164905Z             },
2026-06-04T07:59:22.6165793Z             {
2026-06-04T07:59:22.6166823Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.6168131Z               "line": 74
2026-06-04T07:59:22.6169145Z             },
2026-06-04T07:59:22.6170069Z             {
2026-06-04T07:59:22.6171098Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.6172413Z               "line": 96
2026-06-04T07:59:22.6173397Z             },
2026-06-04T07:59:22.6174276Z             {
2026-06-04T07:59:22.6175306Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T07:59:22.6176623Z               "line": 81
2026-06-04T07:59:22.6177632Z             },
2026-06-04T07:59:22.6178505Z             {
2026-06-04T07:59:22.6179587Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T07:59:22.6180926Z               "line": 118
2026-06-04T07:59:22.6181928Z             }
2026-06-04T07:59:22.6182795Z           ]
2026-06-04T07:59:22.6183634Z         },
2026-06-04T07:59:22.6184742Z         "int": {
2026-06-04T07:59:22.6185745Z           "complete": false,
2026-06-04T07:59:22.6186840Z           "evidence": []
2026-06-04T07:59:22.6187833Z         },
2026-06-04T07:59:22.6188684Z         "unit": {
2026-06-04T07:59:22.6189829Z           "complete": true,
2026-06-04T07:59:22.6190885Z           "evidence": [
2026-06-04T07:59:22.6191855Z             {
2026-06-04T07:59:22.6192887Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T07:59:22.6194202Z               "line": 203
2026-06-04T07:59:22.6195208Z             },
2026-06-04T07:59:22.6196087Z             {
2026-06-04T07:59:22.6197118Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T07:59:22.6198433Z               "line": 232
2026-06-04T07:59:22.6199494Z             }
2026-06-04T07:59:22.6200380Z           ]
2026-06-04T07:59:22.6201233Z         }
2026-06-04T07:59:22.6202066Z       }
2026-06-04T07:59:22.6202891Z     },
2026-06-04T07:59:22.6203730Z     {
2026-06-04T07:59:22.6204610Z       "id": "REQ-INST-3",
2026-06-04T07:59:22.6205947Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T07:59:22.6207477Z       "requiredStages": [],
2026-06-04T07:59:22.6208540Z       "stages": {
2026-06-04T07:59:22.6209518Z         "doc": {
2026-06-04T07:59:22.6210464Z           "complete": false,
2026-06-04T07:59:22.6211542Z           "evidence": []
2026-06-04T07:59:22.6212551Z         },
2026-06-04T07:59:22.6218243Z         "impl": {
2026-06-04T07:59:22.6219429Z           "complete": false,
2026-06-04T07:59:22.6220538Z           "evidence": []
2026-06-04T07:59:22.6221548Z         },
2026-06-04T07:59:22.6222406Z         "int": {
2026-06-04T07:59:22.6223354Z           "complete": false,
2026-06-04T07:59:22.6224442Z           "evidence": []
2026-06-04T07:59:22.6225440Z         },
2026-06-04T07:59:22.6226302Z         "unit": {
2026-06-04T07:59:22.6227255Z           "complete": false,
2026-06-04T07:59:22.6228332Z           "evidence": []
2026-06-04T07:59:22.6229373Z         }
2026-06-04T07:59:22.6230242Z       }
2026-06-04T07:59:22.6231073Z     },
2026-06-04T07:59:22.6231902Z     {
2026-06-04T07:59:22.6232769Z       "id": "REQ-INST-4",
2026-06-04T07:59:22.6234256Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T07:59:22.6235981Z       "requiredStages": [],
2026-06-04T07:59:22.6237031Z       "stages": {
2026-06-04T07:59:22.6237949Z         "doc": {
2026-06-04T07:59:22.6238898Z           "complete": false,
2026-06-04T07:59:22.6240011Z           "evidence": []
2026-06-04T07:59:22.6241009Z         },
2026-06-04T07:59:22.6241875Z         "impl": {
2026-06-04T07:59:22.6242828Z           "complete": false,
2026-06-04T07:59:22.6243904Z           "evidence": []
2026-06-04T07:59:22.6244916Z         },
2026-06-04T07:59:22.6245764Z         "int": {
2026-06-04T07:59:22.6246716Z           "complete": false,
2026-06-04T07:59:22.6247793Z           "evidence": []
2026-06-04T07:59:22.6248781Z         },
2026-06-04T07:59:22.6249678Z         "unit": {
2026-06-04T07:59:22.6250635Z           "complete": false,
2026-06-04T07:59:22.6251714Z           "evidence": []
2026-06-04T07:59:22.6252719Z         }
2026-06-04T07:59:22.6253556Z       }
2026-06-04T07:59:22.6254369Z     },
2026-06-04T07:59:22.6255206Z     {
2026-06-04T07:59:22.6256072Z       "id": "REQ-INST-5",
2026-06-04T07:59:22.6257569Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T07:59:22.6259324Z       "requiredStages": [
2026-06-04T07:59:22.6260363Z         "impl",
2026-06-04T07:59:22.6261270Z         "unit"
2026-06-04T07:59:22.6262162Z       ],
2026-06-04T07:59:22.6263014Z       "stages": {
2026-06-04T07:59:22.6263939Z         "doc": {
2026-06-04T07:59:22.6264896Z           "complete": false,
2026-06-04T07:59:22.6265985Z           "evidence": []
2026-06-04T07:59:22.6266979Z         },
2026-06-04T07:59:22.6267837Z         "impl": {
2026-06-04T07:59:22.6268783Z           "complete": true,
2026-06-04T07:59:22.6269890Z           "evidence": [
2026-06-04T07:59:22.6270868Z             {
2026-06-04T07:59:22.6272168Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6273520Z               "line": 68
2026-06-04T07:59:22.6274517Z             },
2026-06-04T07:59:22.6275409Z             {
2026-06-04T07:59:22.6276589Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6277918Z               "line": 93
2026-06-04T07:59:22.6278917Z             },
2026-06-04T07:59:22.6279870Z             {
2026-06-04T07:59:22.6280904Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6282232Z               "line": 160
2026-06-04T07:59:22.6283225Z             },
2026-06-04T07:59:22.6284105Z             {
2026-06-04T07:59:22.6285143Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6286454Z               "line": 271
2026-06-04T07:59:22.6287457Z             }
2026-06-04T07:59:22.6288344Z           ]
2026-06-04T07:59:22.6289233Z         },
2026-06-04T07:59:22.6290089Z         "int": {
2026-06-04T07:59:22.6291058Z           "complete": false,
2026-06-04T07:59:22.6292151Z           "evidence": []
2026-06-04T07:59:22.6293149Z         },
2026-06-04T07:59:22.6294006Z         "unit": {
2026-06-04T07:59:22.6294955Z           "complete": true,
2026-06-04T07:59:22.6296025Z           "evidence": [
2026-06-04T07:59:22.6297018Z             {
2026-06-04T07:59:22.6298065Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6299429Z               "line": 461
2026-06-04T07:59:22.6300436Z             },
2026-06-04T07:59:22.6301319Z             {
2026-06-04T07:59:22.6306617Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6307110Z               "line": 495
2026-06-04T07:59:22.6307499Z             },
2026-06-04T07:59:22.6307882Z             {
2026-06-04T07:59:22.6308473Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T07:59:22.6308880Z               "line": 196
2026-06-04T07:59:22.6309352Z             }
2026-06-04T07:59:22.6309742Z           ]
2026-06-04T07:59:22.6310137Z         }
2026-06-04T07:59:22.6310518Z       }
2026-06-04T07:59:22.6310885Z     },
2026-06-04T07:59:22.6311262Z     {
2026-06-04T07:59:22.6311673Z       "id": "REQ-INST-6",
2026-06-04T07:59:22.6312593Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T07:59:22.6313043Z       "requiredStages": [],
2026-06-04T07:59:22.6313428Z       "stages": {
2026-06-04T07:59:22.6313816Z         "doc": {
2026-06-04T07:59:22.6314236Z           "complete": false,
2026-06-04T07:59:22.6314644Z           "evidence": []
2026-06-04T07:59:22.6315010Z         },
2026-06-04T07:59:22.6315402Z         "impl": {
2026-06-04T07:59:22.6315823Z           "complete": false,
2026-06-04T07:59:22.6316226Z           "evidence": []
2026-06-04T07:59:22.6316605Z         },
2026-06-04T07:59:22.6316980Z         "int": {
2026-06-04T07:59:22.6317403Z           "complete": false,
2026-06-04T07:59:22.6317802Z           "evidence": []
2026-06-04T07:59:22.6318187Z         },
2026-06-04T07:59:22.6318574Z         "unit": {
2026-06-04T07:59:22.6319001Z           "complete": false,
2026-06-04T07:59:22.6319456Z           "evidence": []
2026-06-04T07:59:22.6319828Z         }
2026-06-04T07:59:22.6320207Z       }
2026-06-04T07:59:22.6320575Z     },
2026-06-04T07:59:22.6320953Z     {
2026-06-04T07:59:22.6321365Z       "id": "REQ-INST-7",
2026-06-04T07:59:22.6322025Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T07:59:22.6322451Z       "requiredStages": [
2026-06-04T07:59:22.6322827Z         "impl",
2026-06-04T07:59:22.6323216Z         "unit"
2026-06-04T07:59:22.6323582Z       ],
2026-06-04T07:59:22.6323975Z       "stages": {
2026-06-04T07:59:22.6324355Z         "doc": {
2026-06-04T07:59:22.6324771Z           "complete": false,
2026-06-04T07:59:22.6325181Z           "evidence": []
2026-06-04T07:59:22.6325556Z         },
2026-06-04T07:59:22.6325940Z         "impl": {
2026-06-04T07:59:22.6326350Z           "complete": true,
2026-06-04T07:59:22.6326754Z           "evidence": [
2026-06-04T07:59:22.6327350Z             {
2026-06-04T07:59:22.6327936Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T07:59:22.6328347Z               "line": 56
2026-06-04T07:59:22.6328755Z             },
2026-06-04T07:59:22.6329138Z             {
2026-06-04T07:59:22.6329928Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6330333Z               "line": 41
2026-06-04T07:59:22.6330718Z             },
2026-06-04T07:59:22.6331095Z             {
2026-06-04T07:59:22.6331694Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.6332088Z               "line": 27
2026-06-04T07:59:22.6332472Z             },
2026-06-04T07:59:22.6332845Z             {
2026-06-04T07:59:22.6333446Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.6333852Z               "line": 59
2026-06-04T07:59:22.6334228Z             },
2026-06-04T07:59:22.6334617Z             {
2026-06-04T07:59:22.6335199Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.6335613Z               "line": 68
2026-06-04T07:59:22.6335990Z             },
2026-06-04T07:59:22.6336377Z             {
2026-06-04T07:59:22.6336959Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T07:59:22.6337369Z               "line": 129
2026-06-04T07:59:22.6337751Z             }
2026-06-04T07:59:22.6338119Z           ]
2026-06-04T07:59:22.6338495Z         },
2026-06-04T07:59:22.6338867Z         "int": {
2026-06-04T07:59:22.6339386Z           "complete": false,
2026-06-04T07:59:22.6339838Z           "evidence": []
2026-06-04T07:59:22.6340258Z         },
2026-06-04T07:59:22.6340669Z         "unit": {
2026-06-04T07:59:22.6341087Z           "complete": true,
2026-06-04T07:59:22.6341491Z           "evidence": [
2026-06-04T07:59:22.6341866Z             {
2026-06-04T07:59:22.6342483Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T07:59:22.6342890Z               "line": 83
2026-06-04T07:59:22.6343258Z             },
2026-06-04T07:59:22.6343652Z             {
2026-06-04T07:59:22.6344229Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6344634Z               "line": 475
2026-06-04T07:59:22.6345007Z             },
2026-06-04T07:59:22.6345394Z             {
2026-06-04T07:59:22.6345992Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6346385Z               "line": 486
2026-06-04T07:59:22.6346769Z             },
2026-06-04T07:59:22.6347138Z             {
2026-06-04T07:59:22.6347723Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6348130Z               "line": 495
2026-06-04T07:59:22.6348502Z             },
2026-06-04T07:59:22.6348877Z             {
2026-06-04T07:59:22.6349521Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.6349925Z               "line": 90
2026-06-04T07:59:22.6350302Z             },
2026-06-04T07:59:22.6350678Z             {
2026-06-04T07:59:22.6351273Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.6351677Z               "line": 105
2026-06-04T07:59:22.6352065Z             },
2026-06-04T07:59:22.6352435Z             {
2026-06-04T07:59:22.6353032Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T07:59:22.6353436Z               "line": 131
2026-06-04T07:59:22.6353812Z             }
2026-06-04T07:59:22.6354188Z           ]
2026-06-04T07:59:22.6354555Z         }
2026-06-04T07:59:22.6354930Z       }
2026-06-04T07:59:22.6355294Z     },
2026-06-04T07:59:22.6355666Z     {
2026-06-04T07:59:22.6356078Z       "id": "REQ-INST-8",
2026-06-04T07:59:22.6356814Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T07:59:22.6357246Z       "requiredStages": [
2026-06-04T07:59:22.6357627Z         "impl",
2026-06-04T07:59:22.6358007Z         "unit"
2026-06-04T07:59:22.6358375Z       ],
2026-06-04T07:59:22.6358770Z       "stages": {
2026-06-04T07:59:22.6359146Z         "doc": {
2026-06-04T07:59:22.6359613Z           "complete": false,
2026-06-04T07:59:22.6360182Z           "evidence": []
2026-06-04T07:59:22.6360574Z         },
2026-06-04T07:59:22.6360965Z         "impl": {
2026-06-04T07:59:22.6361380Z           "complete": true,
2026-06-04T07:59:22.6361785Z           "evidence": [
2026-06-04T07:59:22.6362348Z             {
2026-06-04T07:59:22.6362921Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T07:59:22.6363322Z               "line": 87
2026-06-04T07:59:22.6363692Z             },
2026-06-04T07:59:22.6364067Z             {
2026-06-04T07:59:22.6364633Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T07:59:22.6365040Z               "line": 184
2026-06-04T07:59:22.6365416Z             },
2026-06-04T07:59:22.6365792Z             {
2026-06-04T07:59:22.6366357Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T07:59:22.6366761Z               "line": 202
2026-06-04T07:59:22.6367144Z             },
2026-06-04T07:59:22.6367519Z             {
2026-06-04T07:59:22.6368095Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T07:59:22.6368495Z               "line": 35
2026-06-04T07:59:22.6368874Z             }
2026-06-04T07:59:22.6369292Z           ]
2026-06-04T07:59:22.6369661Z         },
2026-06-04T07:59:22.6370044Z         "int": {
2026-06-04T07:59:22.6370472Z           "complete": false,
2026-06-04T07:59:22.6370890Z           "evidence": []
2026-06-04T07:59:22.6371269Z         },
2026-06-04T07:59:22.6371654Z         "unit": {
2026-06-04T07:59:22.6372077Z           "complete": true,
2026-06-04T07:59:22.6372478Z           "evidence": [
2026-06-04T07:59:22.6372861Z             {
2026-06-04T07:59:22.6373434Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T07:59:22.6373840Z               "line": 172
2026-06-04T07:59:22.6374214Z             },
2026-06-04T07:59:22.6374594Z             {
2026-06-04T07:59:22.6375169Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T07:59:22.6375570Z               "line": 226
2026-06-04T07:59:22.6375950Z             },
2026-06-04T07:59:22.6376330Z             {
2026-06-04T07:59:22.6381815Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T07:59:22.6382298Z               "line": 70
2026-06-04T07:59:22.6382684Z             },
2026-06-04T07:59:22.6383094Z             {
2026-06-04T07:59:22.6383668Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T07:59:22.6384078Z               "line": 101
2026-06-04T07:59:22.6384453Z             }
2026-06-04T07:59:22.6384835Z           ]
2026-06-04T07:59:22.6385210Z         }
2026-06-04T07:59:22.6385587Z       }
2026-06-04T07:59:22.6385958Z     },
2026-06-04T07:59:22.6386326Z     {
2026-06-04T07:59:22.6386743Z       "id": "REQ-INST-9",
2026-06-04T07:59:22.6387667Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T07:59:22.6388099Z       "requiredStages": [
2026-06-04T07:59:22.6388481Z         "impl",
2026-06-04T07:59:22.6388875Z         "unit"
2026-06-04T07:59:22.6389327Z       ],
2026-06-04T07:59:22.6389735Z       "stages": {
2026-06-04T07:59:22.6390165Z         "doc": {
2026-06-04T07:59:22.6390579Z           "complete": false,
2026-06-04T07:59:22.6390989Z           "evidence": []
2026-06-04T07:59:22.6391365Z         },
2026-06-04T07:59:22.6391771Z         "impl": {
2026-06-04T07:59:22.6392192Z           "complete": true,
2026-06-04T07:59:22.6392591Z           "evidence": [
2026-06-04T07:59:22.6392980Z             {
2026-06-04T07:59:22.6393557Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6393965Z               "line": 191
2026-06-04T07:59:22.6394339Z             }
2026-06-04T07:59:22.6394714Z           ]
2026-06-04T07:59:22.6395093Z         },
2026-06-04T07:59:22.6395468Z         "int": {
2026-06-04T07:59:22.6395894Z           "complete": false,
2026-06-04T07:59:22.6396291Z           "evidence": []
2026-06-04T07:59:22.6396669Z         },
2026-06-04T07:59:22.6397048Z         "unit": {
2026-06-04T07:59:22.6397465Z           "complete": true,
2026-06-04T07:59:22.6397871Z           "evidence": [
2026-06-04T07:59:22.6398502Z             {
2026-06-04T07:59:22.6399134Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6399593Z               "line": 626
2026-06-04T07:59:22.6399978Z             },
2026-06-04T07:59:22.6400499Z             {
2026-06-04T07:59:22.6401090Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6401503Z               "line": 635
2026-06-04T07:59:22.6401883Z             },
2026-06-04T07:59:22.6402267Z             {
2026-06-04T07:59:22.6402834Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6403240Z               "line": 649
2026-06-04T07:59:22.6403613Z             },
2026-06-04T07:59:22.6403999Z             {
2026-06-04T07:59:22.6404579Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6404979Z               "line": 659
2026-06-04T07:59:22.6405359Z             },
2026-06-04T07:59:22.6405728Z             {
2026-06-04T07:59:22.6406323Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T07:59:22.6406726Z               "line": 678
2026-06-04T07:59:22.6407114Z             }
2026-06-04T07:59:22.6407492Z           ]
2026-06-04T07:59:22.6407864Z         }
2026-06-04T07:59:22.6408252Z       }
2026-06-04T07:59:22.6408620Z     },
2026-06-04T07:59:22.6408990Z     {
2026-06-04T07:59:22.6409466Z       "id": "REQ-INSTALL-1",
2026-06-04T07:59:22.6410421Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T07:59:22.6410866Z       "requiredStages": [],
2026-06-04T07:59:22.6411258Z       "stages": {
2026-06-04T07:59:22.6411656Z         "doc": {
2026-06-04T07:59:22.6412079Z           "complete": false,
2026-06-04T07:59:22.6412488Z           "evidence": []
2026-06-04T07:59:22.6412856Z         },
2026-06-04T07:59:22.6413246Z         "impl": {
2026-06-04T07:59:22.6413671Z           "complete": false,
2026-06-04T07:59:22.6414072Z           "evidence": []
2026-06-04T07:59:22.6414456Z         },
2026-06-04T07:59:22.6414842Z         "int": {
2026-06-04T07:59:22.6415265Z           "complete": false,
2026-06-04T07:59:22.6415666Z           "evidence": []
2026-06-04T07:59:22.6416047Z         },
2026-06-04T07:59:22.6416438Z         "unit": {
2026-06-04T07:59:22.6416859Z           "complete": false,
2026-06-04T07:59:22.6417270Z           "evidence": []
2026-06-04T07:59:22.6417645Z         }
2026-06-04T07:59:22.6418017Z       }
2026-06-04T07:59:22.6418386Z     },
2026-06-04T07:59:22.6418763Z     {
2026-06-04T07:59:22.6419238Z       "id": "REQ-INSTALL-2",
2026-06-04T07:59:22.6419908Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T07:59:22.6420345Z       "requiredStages": [],
2026-06-04T07:59:22.6420735Z       "stages": {
2026-06-04T07:59:22.6421122Z         "doc": {
2026-06-04T07:59:22.6421540Z           "complete": false,
2026-06-04T07:59:22.6421947Z           "evidence": []
2026-06-04T07:59:22.6422327Z         },
2026-06-04T07:59:22.6422721Z         "impl": {
2026-06-04T07:59:22.6423155Z           "complete": false,
2026-06-04T07:59:22.6423652Z           "evidence": []
2026-06-04T07:59:22.6424383Z         },
2026-06-04T07:59:22.6424951Z         "int": {
2026-06-04T07:59:22.6425479Z           "complete": false,
2026-06-04T07:59:22.6425983Z           "evidence": []
2026-06-04T07:59:22.6426455Z         },
2026-06-04T07:59:22.6427197Z         "unit": {
2026-06-04T07:59:22.6427703Z           "complete": false,
2026-06-04T07:59:22.6428247Z           "evidence": []
2026-06-04T07:59:22.6428725Z         }
2026-06-04T07:59:22.6429298Z       }
2026-06-04T07:59:22.6429783Z     },
2026-06-04T07:59:22.6430210Z     {
2026-06-04T07:59:22.6430725Z       "id": "REQ-INSTALL-3",
2026-06-04T07:59:22.6431475Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T07:59:22.6431939Z       "requiredStages": [],
2026-06-04T07:59:22.6432341Z       "stages": {
2026-06-04T07:59:22.6432760Z         "doc": {
2026-06-04T07:59:22.6433230Z           "complete": false,
2026-06-04T07:59:22.6433684Z           "evidence": []
2026-06-04T07:59:22.6434418Z         },
2026-06-04T07:59:22.6434877Z         "impl": {
2026-06-04T07:59:22.6435328Z           "complete": false,
2026-06-04T07:59:22.6435753Z           "evidence": []
2026-06-04T07:59:22.6436170Z         },
2026-06-04T07:59:22.6436758Z         "int": {
2026-06-04T07:59:22.6437198Z           "complete": false,
2026-06-04T07:59:22.6437634Z           "evidence": []
2026-06-04T07:59:22.6438031Z         },
2026-06-04T07:59:22.6438440Z         "unit": {
2026-06-04T07:59:22.6438872Z           "complete": false,
2026-06-04T07:59:22.6439392Z           "evidence": []
2026-06-04T07:59:22.6439840Z         }
2026-06-04T07:59:22.6440252Z       }
2026-06-04T07:59:22.6440660Z     },
2026-06-04T07:59:22.6441059Z     {
2026-06-04T07:59:22.6441519Z       "id": "REQ-INSTALL-4",
2026-06-04T07:59:22.6445234Z       "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-04T07:59:22.6445728Z       "requiredStages": [],
2026-06-04T07:59:22.6446138Z       "stages": {
2026-06-04T07:59:22.6446536Z         "doc": {
2026-06-04T07:59:22.6446990Z           "complete": false,
2026-06-04T07:59:22.6447422Z           "evidence": []
2026-06-04T07:59:22.6447828Z         },
2026-06-04T07:59:22.6448222Z         "impl": {
2026-06-04T07:59:22.6448672Z           "complete": false,
2026-06-04T07:59:22.6449102Z           "evidence": []
2026-06-04T07:59:22.6449693Z         },
2026-06-04T07:59:22.6450092Z         "int": {
2026-06-04T07:59:22.6450509Z           "complete": false,
2026-06-04T07:59:22.6450933Z           "evidence": []
2026-06-04T07:59:22.6451322Z         },
2026-06-04T07:59:22.6451742Z         "unit": {
2026-06-04T07:59:22.6452391Z           "complete": false,
2026-06-04T07:59:22.6452922Z           "evidence": []
2026-06-04T07:59:22.6453371Z         }
2026-06-04T07:59:22.6453800Z       }
2026-06-04T07:59:22.6454243Z     },
2026-06-04T07:59:22.6454683Z     {
2026-06-04T07:59:22.6455190Z       "id": "REQ-MANIFEST-1",
2026-06-04T07:59:22.6456252Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T07:59:22.6456753Z       "requiredStages": [
2026-06-04T07:59:22.6457174Z         "doc",
2026-06-04T07:59:22.6457578Z         "impl",
2026-06-04T07:59:22.6469712Z         "unit"
2026-06-04T07:59:22.6470426Z       ],
2026-06-04T07:59:22.6470852Z       "stages": {
2026-06-04T07:59:22.6471366Z         "doc": {
2026-06-04T07:59:22.6471812Z           "complete": true,
2026-06-04T07:59:22.6472233Z           "evidence": [
2026-06-04T07:59:22.6472781Z             {
2026-06-04T07:59:22.6473308Z               "path": "docs/MANIFEST.md",
2026-06-04T07:59:22.6473781Z               "line": 19
2026-06-04T07:59:22.6474248Z             }
2026-06-04T07:59:22.6474701Z           ]
2026-06-04T07:59:22.6475107Z         },
2026-06-04T07:59:22.6475522Z         "impl": {
2026-06-04T07:59:22.6475953Z           "complete": true,
2026-06-04T07:59:22.6476427Z           "evidence": [
2026-06-04T07:59:22.6476828Z             {
2026-06-04T07:59:22.6477480Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6477907Z               "line": 18
2026-06-04T07:59:22.6478314Z             }
2026-06-04T07:59:22.6478715Z           ]
2026-06-04T07:59:22.6479107Z         },
2026-06-04T07:59:22.6479719Z         "int": {
2026-06-04T07:59:22.6480148Z           "complete": false,
2026-06-04T07:59:22.6480567Z           "evidence": []
2026-06-04T07:59:22.6480954Z         },
2026-06-04T07:59:22.6481345Z         "unit": {
2026-06-04T07:59:22.6481782Z           "complete": true,
2026-06-04T07:59:22.6482218Z           "evidence": [
2026-06-04T07:59:22.6482635Z             {
2026-06-04T07:59:22.6483250Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6483679Z               "line": 695
2026-06-04T07:59:22.6484068Z             },
2026-06-04T07:59:22.6484444Z             {
2026-06-04T07:59:22.6485477Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6485925Z               "line": 791
2026-06-04T07:59:22.6486315Z             },
2026-06-04T07:59:22.6486692Z             {
2026-06-04T07:59:22.6487293Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6487875Z               "line": 803
2026-06-04T07:59:22.6488258Z             },
2026-06-04T07:59:22.6488668Z             {
2026-06-04T07:59:22.6489344Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6490124Z               "line": 811
2026-06-04T07:59:22.6490533Z             },
2026-06-04T07:59:22.6490942Z             {
2026-06-04T07:59:22.6491716Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6492185Z               "line": 828
2026-06-04T07:59:22.6492628Z             },
2026-06-04T07:59:22.6493076Z             {
2026-06-04T07:59:22.6493754Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6494228Z               "line": 842
2026-06-04T07:59:22.6494683Z             },
2026-06-04T07:59:22.6495133Z             {
2026-06-04T07:59:22.6495791Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6496261Z               "line": 857
2026-06-04T07:59:22.6496699Z             },
2026-06-04T07:59:22.6497112Z             {
2026-06-04T07:59:22.6497742Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6498182Z               "line": 872
2026-06-04T07:59:22.6498591Z             },
2026-06-04T07:59:22.6498991Z             {
2026-06-04T07:59:22.6499720Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6500158Z               "line": 887
2026-06-04T07:59:22.6500588Z             },
2026-06-04T07:59:22.6501016Z             {
2026-06-04T07:59:22.6501831Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.6502269Z               "line": 898
2026-06-04T07:59:22.6502657Z             }
2026-06-04T07:59:22.6503056Z           ]
2026-06-04T07:59:22.6503451Z         }
2026-06-04T07:59:22.6503861Z       }
2026-06-04T07:59:22.6504251Z     },
2026-06-04T07:59:22.6504627Z     {
2026-06-04T07:59:22.6505072Z       "id": "REQ-MIGRATE-1",
2026-06-04T07:59:22.6505937Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T07:59:22.6506480Z       "requiredStages": [],
2026-06-04T07:59:22.6506904Z       "stages": {
2026-06-04T07:59:22.6507329Z         "doc": {
2026-06-04T07:59:22.6507800Z           "complete": false,
2026-06-04T07:59:22.6508236Z           "evidence": []
2026-06-04T07:59:22.6508647Z         },
2026-06-04T07:59:22.6509083Z         "impl": {
2026-06-04T07:59:22.6509824Z           "complete": false,
2026-06-04T07:59:22.6510353Z           "evidence": []
2026-06-04T07:59:22.6510823Z         },
2026-06-04T07:59:22.6511309Z         "int": {
2026-06-04T07:59:22.6511798Z           "complete": false,
2026-06-04T07:59:22.6512277Z           "evidence": []
2026-06-04T07:59:22.6512694Z         },
2026-06-04T07:59:22.6513143Z         "unit": {
2026-06-04T07:59:22.6513603Z           "complete": false,
2026-06-04T07:59:22.6514055Z           "evidence": []
2026-06-04T07:59:22.6514481Z         }
2026-06-04T07:59:22.6514883Z       }
2026-06-04T07:59:22.6515312Z     },
2026-06-04T07:59:22.6515715Z     {
2026-06-04T07:59:22.6516225Z       "id": "REQ-MSG-1",
2026-06-04T07:59:22.6518819Z       "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-04T07:59:22.6519426Z       "requiredStages": [
2026-06-04T07:59:22.6519885Z         "impl",
2026-06-04T07:59:22.6520312Z         "unit",
2026-06-04T07:59:22.6520739Z         "int"
2026-06-04T07:59:22.6521155Z       ],
2026-06-04T07:59:22.6521588Z       "stages": {
2026-06-04T07:59:22.6521998Z         "doc": {
2026-06-04T07:59:22.6522480Z           "complete": false,
2026-06-04T07:59:22.6522935Z           "evidence": []
2026-06-04T07:59:22.6523375Z         },
2026-06-04T07:59:22.6524182Z         "impl": {
2026-06-04T07:59:22.6524729Z           "complete": true,
2026-06-04T07:59:22.6525196Z           "evidence": [
2026-06-04T07:59:22.6525618Z             {
2026-06-04T07:59:22.6526234Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6526981Z               "line": 28
2026-06-04T07:59:22.6527392Z             },
2026-06-04T07:59:22.6527804Z             {
2026-06-04T07:59:22.6528381Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6528825Z               "line": 94
2026-06-04T07:59:22.6529340Z             },
2026-06-04T07:59:22.6529794Z             {
2026-06-04T07:59:22.6530399Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6530853Z               "line": 127
2026-06-04T07:59:22.6531326Z             },
2026-06-04T07:59:22.6531758Z             {
2026-06-04T07:59:22.6532366Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6532806Z               "line": 149
2026-06-04T07:59:22.6533251Z             },
2026-06-04T07:59:22.6533671Z             {
2026-06-04T07:59:22.6534246Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6534701Z               "line": 174
2026-06-04T07:59:22.6535111Z             },
2026-06-04T07:59:22.6535562Z             {
2026-06-04T07:59:22.6536199Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T07:59:22.6536642Z               "line": 18
2026-06-04T07:59:22.6537055Z             },
2026-06-04T07:59:22.6537463Z             {
2026-06-04T07:59:22.6538021Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.6538454Z               "line": 13
2026-06-04T07:59:22.6538891Z             },
2026-06-04T07:59:22.6539413Z             {
2026-06-04T07:59:22.6540053Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.6540571Z               "line": 61
2026-06-04T07:59:22.6541028Z             },
2026-06-04T07:59:22.6541526Z             {
2026-06-04T07:59:22.6542138Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T07:59:22.6542610Z               "line": 10
2026-06-04T07:59:22.6543072Z             }
2026-06-04T07:59:22.6543581Z           ]
2026-06-04T07:59:22.6544009Z         },
2026-06-04T07:59:22.6544457Z         "int": {
2026-06-04T07:59:22.6544956Z           "complete": true,
2026-06-04T07:59:22.6545405Z           "evidence": [
2026-06-04T07:59:22.6545816Z             {
2026-06-04T07:59:22.6546528Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T07:59:22.6546967Z               "line": 9
2026-06-04T07:59:22.6547382Z             },
2026-06-04T07:59:22.6555590Z             {
2026-06-04T07:59:22.6556434Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T07:59:22.6556881Z               "line": 66
2026-06-04T07:59:22.6557301Z             },
2026-06-04T07:59:22.6557738Z             {
2026-06-04T07:59:22.6558432Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T07:59:22.6558893Z               "line": 116
2026-06-04T07:59:22.6559409Z             }
2026-06-04T07:59:22.6559851Z           ]
2026-06-04T07:59:22.6560274Z         },
2026-06-04T07:59:22.6560672Z         "unit": {
2026-06-04T07:59:22.6561123Z           "complete": true,
2026-06-04T07:59:22.6561575Z           "evidence": [
2026-06-04T07:59:22.6562003Z             {
2026-06-04T07:59:22.6562619Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6563076Z               "line": 203
2026-06-04T07:59:22.6563509Z             },
2026-06-04T07:59:22.6563979Z             {
2026-06-04T07:59:22.6564624Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6565117Z               "line": 232
2026-06-04T07:59:22.6565537Z             },
2026-06-04T07:59:22.6565960Z             {
2026-06-04T07:59:22.6566559Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6567002Z               "line": 277
2026-06-04T07:59:22.6567468Z             },
2026-06-04T07:59:22.6567899Z             {
2026-06-04T07:59:22.6568991Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6569548Z               "line": 300
2026-06-04T07:59:22.6569967Z             },
2026-06-04T07:59:22.6570365Z             {
2026-06-04T07:59:22.6570935Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T07:59:22.6571565Z               "line": 322
2026-06-04T07:59:22.6571982Z             },
2026-06-04T07:59:22.6572388Z             {
2026-06-04T07:59:22.6572954Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T07:59:22.6573379Z               "line": 203
2026-06-04T07:59:22.6573777Z             },
2026-06-04T07:59:22.6574172Z             {
2026-06-04T07:59:22.6574753Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T07:59:22.6575172Z               "line": 233
2026-06-04T07:59:22.6575573Z             },
2026-06-04T07:59:22.6575974Z             {
2026-06-04T07:59:22.6576533Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T07:59:22.6576962Z               "line": 247
2026-06-04T07:59:22.6577360Z             },
2026-06-04T07:59:22.6577761Z             {
2026-06-04T07:59:22.6578323Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T07:59:22.6578751Z               "line": 259
2026-06-04T07:59:22.6579212Z             },
2026-06-04T07:59:22.6579609Z             {
2026-06-04T07:59:22.6580151Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.6580568Z               "line": 158
2026-06-04T07:59:22.6580963Z             },
2026-06-04T07:59:22.6581352Z             {
2026-06-04T07:59:22.6581888Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T07:59:22.6582315Z               "line": 235
2026-06-04T07:59:22.6582713Z             },
2026-06-04T07:59:22.6583112Z             {
2026-06-04T07:59:22.6583658Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T07:59:22.6584113Z               "line": 68
2026-06-04T07:59:22.6584547Z             },
2026-06-04T07:59:22.6584979Z             {
2026-06-04T07:59:22.6585534Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T07:59:22.6585950Z               "line": 74
2026-06-04T07:59:22.6586349Z             },
2026-06-04T07:59:22.6586733Z             {
2026-06-04T07:59:22.6587267Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T07:59:22.6587691Z               "line": 80
2026-06-04T07:59:22.6588088Z             },
2026-06-04T07:59:22.6588486Z             {
2026-06-04T07:59:22.6589012Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T07:59:22.6589492Z               "line": 99
2026-06-04T07:59:22.6589887Z             }
2026-06-04T07:59:22.6590284Z           ]
2026-06-04T07:59:22.6590670Z         }
2026-06-04T07:59:22.6591069Z       }
2026-06-04T07:59:22.6591464Z     },
2026-06-04T07:59:22.6591848Z     {
2026-06-04T07:59:22.6592281Z       "id": "REQ-MSG-2",
2026-06-04T07:59:22.6593689Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T07:59:22.6594155Z       "requiredStages": [
2026-06-04T07:59:22.6594559Z         "impl",
2026-06-04T07:59:22.6594964Z         "unit"
2026-06-04T07:59:22.6595365Z       ],
2026-06-04T07:59:22.6595765Z       "stages": {
2026-06-04T07:59:22.6596167Z         "doc": {
2026-06-04T07:59:22.6596606Z           "complete": false,
2026-06-04T07:59:22.6597036Z           "evidence": []
2026-06-04T07:59:22.6597424Z         },
2026-06-04T07:59:22.6597829Z         "impl": {
2026-06-04T07:59:22.6598270Z           "complete": true,
2026-06-04T07:59:22.6598687Z           "evidence": [
2026-06-04T07:59:22.6599083Z             {
2026-06-04T07:59:22.6599634Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6600057Z               "line": 11
2026-06-04T07:59:22.6600444Z             },
2026-06-04T07:59:22.6600840Z             {
2026-06-04T07:59:22.6601354Z               "path": "crates/spt/src/main.rs",
2026-06-04T07:59:22.6601756Z               "line": 8
2026-06-04T07:59:22.6602168Z             }
2026-06-04T07:59:22.6602596Z           ]
2026-06-04T07:59:22.6603012Z         },
2026-06-04T07:59:22.6603661Z         "int": {
2026-06-04T07:59:22.6604150Z           "complete": false,
2026-06-04T07:59:22.6604586Z           "evidence": []
2026-06-04T07:59:22.6604976Z         },
2026-06-04T07:59:22.6605523Z         "unit": {
2026-06-04T07:59:22.6605961Z           "complete": true,
2026-06-04T07:59:22.6606416Z           "evidence": [
2026-06-04T07:59:22.6606809Z             {
2026-06-04T07:59:22.6607327Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6607754Z               "line": 806
2026-06-04T07:59:22.6608140Z             },
2026-06-04T07:59:22.6608538Z             {
2026-06-04T07:59:22.6609040Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6609517Z               "line": 870
2026-06-04T07:59:22.6609903Z             },
2026-06-04T07:59:22.6610302Z             {
2026-06-04T07:59:22.6610807Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6611222Z               "line": 879
2026-06-04T07:59:22.6611622Z             },
2026-06-04T07:59:22.6612019Z             {
2026-06-04T07:59:22.6612533Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6612968Z               "line": 891
2026-06-04T07:59:22.6613394Z             }
2026-06-04T07:59:22.6613810Z           ]
2026-06-04T07:59:22.6614194Z         }
2026-06-04T07:59:22.6614592Z       }
2026-06-04T07:59:22.6614977Z     },
2026-06-04T07:59:22.6615370Z     {
2026-06-04T07:59:22.6615789Z       "id": "REQ-MSG-3",
2026-06-04T07:59:22.6617923Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T07:59:22.6618384Z       "requiredStages": [
2026-06-04T07:59:22.6618780Z         "impl",
2026-06-04T07:59:22.6619243Z         "unit",
2026-06-04T07:59:22.6619802Z         "int"
2026-06-04T07:59:22.6620190Z       ],
2026-06-04T07:59:22.6620752Z       "stages": {
2026-06-04T07:59:22.6621447Z         "doc": {
2026-06-04T07:59:22.6621927Z           "complete": false,
2026-06-04T07:59:22.6622498Z           "evidence": []
2026-06-04T07:59:22.6622982Z         },
2026-06-04T07:59:22.6623372Z         "impl": {
2026-06-04T07:59:22.6623799Z           "complete": true,
2026-06-04T07:59:22.6624203Z           "evidence": [
2026-06-04T07:59:22.6624602Z             {
2026-06-04T07:59:22.6625161Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T07:59:22.6625556Z               "line": 19
2026-06-04T07:59:22.6625942Z             },
2026-06-04T07:59:22.6626318Z             {
2026-06-04T07:59:22.6626845Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.6627246Z               "line": 21
2026-06-04T07:59:22.6627635Z             },
2026-06-04T07:59:22.6628019Z             {
2026-06-04T07:59:22.6628539Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.6628951Z               "line": 48
2026-06-04T07:59:22.6629370Z             },
2026-06-04T07:59:22.6637522Z             {
2026-06-04T07:59:22.6638260Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.6638725Z               "line": 106
2026-06-04T07:59:22.6639133Z             }
2026-06-04T07:59:22.6639780Z           ]
2026-06-04T07:59:22.6640170Z         },
2026-06-04T07:59:22.6640551Z         "int": {
2026-06-04T07:59:22.6640994Z           "complete": true,
2026-06-04T07:59:22.6641395Z           "evidence": [
2026-06-04T07:59:22.6641788Z             {
2026-06-04T07:59:22.6642458Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T07:59:22.6642856Z               "line": 10
2026-06-04T07:59:22.6643243Z             },
2026-06-04T07:59:22.6643614Z             {
2026-06-04T07:59:22.6644277Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T07:59:22.6644687Z               "line": 66
2026-06-04T07:59:22.6645064Z             }
2026-06-04T07:59:22.6645444Z           ]
2026-06-04T07:59:22.6645817Z         },
2026-06-04T07:59:22.6646213Z         "unit": {
2026-06-04T07:59:22.6646631Z           "complete": true,
2026-06-04T07:59:22.6647354Z           "evidence": [
2026-06-04T07:59:22.6647765Z             {
2026-06-04T07:59:22.6648300Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.6648717Z               "line": 160
2026-06-04T07:59:22.6649278Z             },
2026-06-04T07:59:22.6649670Z             {
2026-06-04T07:59:22.6650186Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.6650600Z               "line": 179
2026-06-04T07:59:22.6650993Z             },
2026-06-04T07:59:22.6651368Z             {
2026-06-04T07:59:22.6651898Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T07:59:22.6652303Z               "line": 198
2026-06-04T07:59:22.6652683Z             }
2026-06-04T07:59:22.6653054Z           ]
2026-06-04T07:59:22.6653433Z         }
2026-06-04T07:59:22.6653818Z       }
2026-06-04T07:59:22.6654186Z     },
2026-06-04T07:59:22.6654563Z     {
2026-06-04T07:59:22.6654965Z       "id": "REQ-NET-1",
2026-06-04T07:59:22.6655874Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T07:59:22.6656304Z       "requiredStages": [
2026-06-04T07:59:22.6656706Z         "impl",
2026-06-04T07:59:22.6657097Z         "unit"
2026-06-04T07:59:22.6657478Z       ],
2026-06-04T07:59:22.6657892Z       "stages": {
2026-06-04T07:59:22.6658273Z         "doc": {
2026-06-04T07:59:22.6658701Z           "complete": false,
2026-06-04T07:59:22.6659108Z           "evidence": []
2026-06-04T07:59:22.6659537Z         },
2026-06-04T07:59:22.6659927Z         "impl": {
2026-06-04T07:59:22.6660363Z           "complete": true,
2026-06-04T07:59:22.6660775Z           "evidence": [
2026-06-04T07:59:22.6661154Z             {
2026-06-04T07:59:22.6661697Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T07:59:22.6662093Z               "line": 69
2026-06-04T07:59:22.6662474Z             },
2026-06-04T07:59:22.6662859Z             {
2026-06-04T07:59:22.6663437Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6663844Z               "line": 65
2026-06-04T07:59:22.6664231Z             },
2026-06-04T07:59:22.6664613Z             {
2026-06-04T07:59:22.6665190Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6665604Z               "line": 122
2026-06-04T07:59:22.6665999Z             },
2026-06-04T07:59:22.6666373Z             {
2026-06-04T07:59:22.6666958Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6667361Z               "line": 138
2026-06-04T07:59:22.6667743Z             },
2026-06-04T07:59:22.6668119Z             {
2026-06-04T07:59:22.6668710Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6669123Z               "line": 153
2026-06-04T07:59:22.6669540Z             },
2026-06-04T07:59:22.6669924Z             {
2026-06-04T07:59:22.6670505Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6670921Z               "line": 207
2026-06-04T07:59:22.6671300Z             },
2026-06-04T07:59:22.6671693Z             {
2026-06-04T07:59:22.6672292Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6672697Z               "line": 242
2026-06-04T07:59:22.6673086Z             },
2026-06-04T07:59:22.6673462Z             {
2026-06-04T07:59:22.6674056Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6674455Z               "line": 248
2026-06-04T07:59:22.6674845Z             },
2026-06-04T07:59:22.6675232Z             {
2026-06-04T07:59:22.6675808Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6676217Z               "line": 254
2026-06-04T07:59:22.6676592Z             },
2026-06-04T07:59:22.6676977Z             {
2026-06-04T07:59:22.6677547Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6677959Z               "line": 270
2026-06-04T07:59:22.6678346Z             },
2026-06-04T07:59:22.6678717Z             {
2026-06-04T07:59:22.6679397Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T07:59:22.6680039Z               "line": 35
2026-06-04T07:59:22.6680463Z             },
2026-06-04T07:59:22.6680849Z             {
2026-06-04T07:59:22.6681429Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T07:59:22.6681976Z               "line": 82
2026-06-04T07:59:22.6682358Z             },
2026-06-04T07:59:22.6682745Z             {
2026-06-04T07:59:22.6683284Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.6683694Z               "line": 129
2026-06-04T07:59:22.6684078Z             }
2026-06-04T07:59:22.6684453Z           ]
2026-06-04T07:59:22.6684836Z         },
2026-06-04T07:59:22.6685218Z         "int": {
2026-06-04T07:59:22.6685646Z           "complete": false,
2026-06-04T07:59:22.6686056Z           "evidence": []
2026-06-04T07:59:22.6686438Z         },
2026-06-04T07:59:22.6686823Z         "unit": {
2026-06-04T07:59:22.6687252Z           "complete": true,
2026-06-04T07:59:22.6687669Z           "evidence": [
2026-06-04T07:59:22.6688042Z             {
2026-06-04T07:59:22.6688630Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T07:59:22.6689032Z               "line": 142
2026-06-04T07:59:22.6689487Z             },
2026-06-04T07:59:22.6689876Z             {
2026-06-04T07:59:22.6690468Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6690881Z               "line": 331
2026-06-04T07:59:22.6691263Z             },
2026-06-04T07:59:22.6691647Z             {
2026-06-04T07:59:22.6692225Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6692638Z               "line": 345
2026-06-04T07:59:22.6693025Z             },
2026-06-04T07:59:22.6693402Z             {
2026-06-04T07:59:22.6693993Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6694398Z               "line": 364
2026-06-04T07:59:22.6694792Z             },
2026-06-04T07:59:22.6695173Z             {
2026-06-04T07:59:22.6695742Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T07:59:22.6696161Z               "line": 106
2026-06-04T07:59:22.6696537Z             },
2026-06-04T07:59:22.6696920Z             {
2026-06-04T07:59:22.6697476Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T07:59:22.6697892Z               "line": 148
2026-06-04T07:59:22.6698279Z             },
2026-06-04T07:59:22.6698668Z             {
2026-06-04T07:59:22.6699251Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T07:59:22.6699653Z               "line": 445
2026-06-04T07:59:22.6700036Z             }
2026-06-04T07:59:22.6700409Z           ]
2026-06-04T07:59:22.6700788Z         }
2026-06-04T07:59:22.6701166Z       }
2026-06-04T07:59:22.6701542Z     },
2026-06-04T07:59:22.6701919Z     {
2026-06-04T07:59:22.6702333Z       "id": "REQ-NET-2",
2026-06-04T07:59:22.6703213Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T07:59:22.6703640Z       "requiredStages": [
2026-06-04T07:59:22.6704035Z         "impl"
2026-06-04T07:59:22.6704412Z       ],
2026-06-04T07:59:22.6704818Z       "stages": {
2026-06-04T07:59:22.6705206Z         "doc": {
2026-06-04T07:59:22.6705623Z           "complete": false,
2026-06-04T07:59:22.6706035Z           "evidence": []
2026-06-04T07:59:22.6706405Z         },
2026-06-04T07:59:22.6706809Z         "impl": {
2026-06-04T07:59:22.6707221Z           "complete": true,
2026-06-04T07:59:22.6707627Z           "evidence": [
2026-06-04T07:59:22.6708010Z             {
2026-06-04T07:59:22.6708574Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.6715283Z               "line": 40
2026-06-04T07:59:22.6715766Z             },
2026-06-04T07:59:22.6716159Z             {
2026-06-04T07:59:22.6716771Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6717179Z               "line": 39
2026-06-04T07:59:22.6717562Z             },
2026-06-04T07:59:22.6717936Z             {
2026-06-04T07:59:22.6718524Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6719323Z               "line": 49
2026-06-04T07:59:22.6719742Z             },
2026-06-04T07:59:22.6720122Z             {
2026-06-04T07:59:22.6720720Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6721143Z               "line": 122
2026-06-04T07:59:22.6721679Z             },
2026-06-04T07:59:22.6722065Z             {
2026-06-04T07:59:22.6722647Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6723060Z               "line": 138
2026-06-04T07:59:22.6723442Z             },
2026-06-04T07:59:22.6723825Z             {
2026-06-04T07:59:22.6724415Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T07:59:22.6724817Z               "line": 153
2026-06-04T07:59:22.6725202Z             }
2026-06-04T07:59:22.6725579Z           ]
2026-06-04T07:59:22.6725965Z         },
2026-06-04T07:59:22.6726342Z         "int": {
2026-06-04T07:59:22.6726770Z           "complete": false,
2026-06-04T07:59:22.6727188Z           "evidence": []
2026-06-04T07:59:22.6727559Z         },
2026-06-04T07:59:22.6727965Z         "unit": {
2026-06-04T07:59:22.6728390Z           "complete": true,
2026-06-04T07:59:22.6728803Z           "evidence": [
2026-06-04T07:59:22.6729220Z             {
2026-06-04T07:59:22.6729801Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.6730227Z               "line": 229
2026-06-04T07:59:22.6730598Z             }
2026-06-04T07:59:22.6730980Z           ]
2026-06-04T07:59:22.6731361Z         }
2026-06-04T07:59:22.6731743Z       }
2026-06-04T07:59:22.6732108Z     },
2026-06-04T07:59:22.6732486Z     {
2026-06-04T07:59:22.6732905Z       "id": "REQ-NET-3",
2026-06-04T07:59:22.6733724Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T07:59:22.6734165Z       "requiredStages": [
2026-06-04T07:59:22.6734547Z         "impl",
2026-06-04T07:59:22.6734936Z         "unit"
2026-06-04T07:59:22.6735308Z       ],
2026-06-04T07:59:22.6735705Z       "stages": {
2026-06-04T07:59:22.6736099Z         "doc": {
2026-06-04T07:59:22.6736525Z           "complete": false,
2026-06-04T07:59:22.6736941Z           "evidence": []
2026-06-04T07:59:22.6737313Z         },
2026-06-04T07:59:22.6737712Z         "impl": {
2026-06-04T07:59:22.6738126Z           "complete": true,
2026-06-04T07:59:22.6738548Z           "evidence": [
2026-06-04T07:59:22.6738932Z             {
2026-06-04T07:59:22.6739505Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6739914Z               "line": 39
2026-06-04T07:59:22.6740291Z             },
2026-06-04T07:59:22.6740678Z             {
2026-06-04T07:59:22.6741209Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6741619Z               "line": 159
2026-06-04T07:59:22.6742005Z             },
2026-06-04T07:59:22.6742377Z             {
2026-06-04T07:59:22.6742921Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T07:59:22.6743319Z               "line": 290
2026-06-04T07:59:22.6743709Z             },
2026-06-04T07:59:22.6744085Z             {
2026-06-04T07:59:22.6744643Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T07:59:22.6745047Z               "line": 36
2026-06-04T07:59:22.6745424Z             },
2026-06-04T07:59:22.6745807Z             {
2026-06-04T07:59:22.6746409Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6746826Z               "line": 135
2026-06-04T07:59:22.6747207Z             },
2026-06-04T07:59:22.6747593Z             {
2026-06-04T07:59:22.6748193Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6748595Z               "line": 172
2026-06-04T07:59:22.6748990Z             },
2026-06-04T07:59:22.6749405Z             {
2026-06-04T07:59:22.6750018Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6750442Z               "line": 184
2026-06-04T07:59:22.6750835Z             },
2026-06-04T07:59:22.6751219Z             {
2026-06-04T07:59:22.6751825Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6752394Z               "line": 222
2026-06-04T07:59:22.6752788Z             },
2026-06-04T07:59:22.6753175Z             {
2026-06-04T07:59:22.6753787Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6754192Z               "line": 237
2026-06-04T07:59:22.6754715Z             },
2026-06-04T07:59:22.6755091Z             {
2026-06-04T07:59:22.6755693Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6756090Z               "line": 273
2026-06-04T07:59:22.6756476Z             },
2026-06-04T07:59:22.6756859Z             {
2026-06-04T07:59:22.6757454Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6757863Z               "line": 314
2026-06-04T07:59:22.6758240Z             },
2026-06-04T07:59:22.6758621Z             {
2026-06-04T07:59:22.6759257Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.6759671Z               "line": 327
2026-06-04T07:59:22.6760057Z             },
2026-06-04T07:59:22.6760443Z             {
2026-06-04T07:59:22.6761032Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.6761431Z               "line": 29
2026-06-04T07:59:22.6761819Z             },
2026-06-04T07:59:22.6762194Z             {
2026-06-04T07:59:22.6762794Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.6763203Z               "line": 70
2026-06-04T07:59:22.6763584Z             },
2026-06-04T07:59:22.6763969Z             {
2026-06-04T07:59:22.6764542Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.6764956Z               "line": 121
2026-06-04T07:59:22.6765328Z             }
2026-06-04T07:59:22.6765713Z           ]
2026-06-04T07:59:22.6766094Z         },
2026-06-04T07:59:22.6766475Z         "int": {
2026-06-04T07:59:22.6766901Z           "complete": false,
2026-06-04T07:59:22.6767314Z           "evidence": []
2026-06-04T07:59:22.6767698Z         },
2026-06-04T07:59:22.6768076Z         "unit": {
2026-06-04T07:59:22.6768514Z           "complete": true,
2026-06-04T07:59:22.6768928Z           "evidence": [
2026-06-04T07:59:22.6769345Z             {
2026-06-04T07:59:22.6769917Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T07:59:22.6770326Z               "line": 200
2026-06-04T07:59:22.6770726Z             },
2026-06-04T07:59:22.6771095Z             {
2026-06-04T07:59:22.6771657Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T07:59:22.6772072Z               "line": 300
2026-06-04T07:59:22.6772454Z             },
2026-06-04T07:59:22.6772840Z             {
2026-06-04T07:59:22.6773401Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T07:59:22.6773815Z               "line": 396
2026-06-04T07:59:22.6774194Z             },
2026-06-04T07:59:22.6774572Z             {
2026-06-04T07:59:22.6775114Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T07:59:22.6775515Z               "line": 93
2026-06-04T07:59:22.6775901Z             },
2026-06-04T07:59:22.6776275Z             {
2026-06-04T07:59:22.6776833Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T07:59:22.6777247Z               "line": 131
2026-06-04T07:59:22.6777626Z             },
2026-06-04T07:59:22.6778008Z             {
2026-06-04T07:59:22.6778596Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.6779011Z               "line": 308
2026-06-04T07:59:22.6779432Z             },
2026-06-04T07:59:22.6779815Z             {
2026-06-04T07:59:22.6780399Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.6780799Z               "line": 345
2026-06-04T07:59:22.6781192Z             },
2026-06-04T07:59:22.6781564Z             {
2026-06-04T07:59:22.6782152Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T07:59:22.6782555Z               "line": 469
2026-06-04T07:59:22.6782944Z             }
2026-06-04T07:59:22.6783328Z           ]
2026-06-04T07:59:22.6783701Z         }
2026-06-04T07:59:22.6784086Z       }
2026-06-04T07:59:22.6784459Z     },
2026-06-04T07:59:22.6784995Z     {
2026-06-04T07:59:22.6785463Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T07:59:22.6786636Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T07:59:22.6792687Z       "requiredStages": [
2026-06-04T07:59:22.6793157Z         "impl",
2026-06-04T07:59:22.6793552Z         "unit"
2026-06-04T07:59:22.6793927Z       ],
2026-06-04T07:59:22.6794326Z       "stages": {
2026-06-04T07:59:22.6794711Z         "doc": {
2026-06-04T07:59:22.6795144Z           "complete": false,
2026-06-04T07:59:22.6795559Z           "evidence": []
2026-06-04T07:59:22.6795934Z         },
2026-06-04T07:59:22.6796325Z         "impl": {
2026-06-04T07:59:22.6796735Z           "complete": true,
2026-06-04T07:59:22.6797137Z           "evidence": [
2026-06-04T07:59:22.6797507Z             {
2026-06-04T07:59:22.6798108Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6798516Z               "line": 60
2026-06-04T07:59:22.6798918Z             },
2026-06-04T07:59:22.6799369Z             {
2026-06-04T07:59:22.6799956Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6800364Z               "line": 68
2026-06-04T07:59:22.6800741Z             },
2026-06-04T07:59:22.6801136Z             {
2026-06-04T07:59:22.6801713Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6802100Z               "line": 86
2026-06-04T07:59:22.6802488Z             },
2026-06-04T07:59:22.6802859Z             {
2026-06-04T07:59:22.6803435Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6803839Z               "line": 120
2026-06-04T07:59:22.6804222Z             },
2026-06-04T07:59:22.6804601Z             {
2026-06-04T07:59:22.6805174Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6805588Z               "line": 127
2026-06-04T07:59:22.6805960Z             },
2026-06-04T07:59:22.6806342Z             {
2026-06-04T07:59:22.6806915Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6807328Z               "line": 143
2026-06-04T07:59:22.6807720Z             },
2026-06-04T07:59:22.6808096Z             {
2026-06-04T07:59:22.6808647Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T07:59:22.6809047Z               "line": 16
2026-06-04T07:59:22.6809476Z             }
2026-06-04T07:59:22.6809850Z           ]
2026-06-04T07:59:22.6810232Z         },
2026-06-04T07:59:22.6810620Z         "int": {
2026-06-04T07:59:22.6811044Z           "complete": false,
2026-06-04T07:59:22.6811456Z           "evidence": []
2026-06-04T07:59:22.6811831Z         },
2026-06-04T07:59:22.6812221Z         "unit": {
2026-06-04T07:59:22.6812639Z           "complete": true,
2026-06-04T07:59:22.6813054Z           "evidence": [
2026-06-04T07:59:22.6813439Z             {
2026-06-04T07:59:22.6814010Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6814418Z               "line": 199
2026-06-04T07:59:22.6814793Z             },
2026-06-04T07:59:22.6815190Z             {
2026-06-04T07:59:22.6815761Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6816172Z               "line": 218
2026-06-04T07:59:22.6816551Z             },
2026-06-04T07:59:22.6816933Z             {
2026-06-04T07:59:22.6817508Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6817905Z               "line": 232
2026-06-04T07:59:22.6818290Z             },
2026-06-04T07:59:22.6818666Z             {
2026-06-04T07:59:22.6819279Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T07:59:22.6819689Z               "line": 248
2026-06-04T07:59:22.6820060Z             },
2026-06-04T07:59:22.6820440Z             {
2026-06-04T07:59:22.6820983Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T07:59:22.6821391Z               "line": 125
2026-06-04T07:59:22.6821773Z             },
2026-06-04T07:59:22.6822141Z             {
2026-06-04T07:59:22.6822948Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T07:59:22.6823373Z               "line": 141
2026-06-04T07:59:22.6823761Z             },
2026-06-04T07:59:22.6824132Z             {
2026-06-04T07:59:22.6824680Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T07:59:22.6825228Z               "line": 153
2026-06-04T07:59:22.6825610Z             }
2026-06-04T07:59:22.6825991Z           ]
2026-06-04T07:59:22.6826363Z         }
2026-06-04T07:59:22.6826749Z       }
2026-06-04T07:59:22.6827122Z     },
2026-06-04T07:59:22.6827499Z     {
2026-06-04T07:59:22.6827913Z       "id": "REQ-NOTIF-1",
2026-06-04T07:59:22.6829860Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T07:59:22.6830307Z       "requiredStages": [],
2026-06-04T07:59:22.6830692Z       "stages": {
2026-06-04T07:59:22.6831081Z         "doc": {
2026-06-04T07:59:22.6831499Z           "complete": false,
2026-06-04T07:59:22.6831911Z           "evidence": []
2026-06-04T07:59:22.6832307Z         },
2026-06-04T07:59:22.6832695Z         "impl": {
2026-06-04T07:59:22.6833152Z           "complete": false,
2026-06-04T07:59:22.6833560Z           "evidence": []
2026-06-04T07:59:22.6833944Z         },
2026-06-04T07:59:22.6834329Z         "int": {
2026-06-04T07:59:22.6834758Z           "complete": false,
2026-06-04T07:59:22.6835174Z           "evidence": []
2026-06-04T07:59:22.6835544Z         },
2026-06-04T07:59:22.6835930Z         "unit": {
2026-06-04T07:59:22.6836345Z           "complete": false,
2026-06-04T07:59:22.6836754Z           "evidence": []
2026-06-04T07:59:22.6837122Z         }
2026-06-04T07:59:22.6837502Z       }
2026-06-04T07:59:22.6837879Z     },
2026-06-04T07:59:22.6838248Z     {
2026-06-04T07:59:22.6838670Z       "id": "REQ-NOTIF-2",
2026-06-04T07:59:22.6840057Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T07:59:22.6840506Z       "requiredStages": [],
2026-06-04T07:59:22.6840899Z       "stages": {
2026-06-04T07:59:22.6841294Z         "doc": {
2026-06-04T07:59:22.6841717Z           "complete": false,
2026-06-04T07:59:22.6842118Z           "evidence": []
2026-06-04T07:59:22.6842504Z         },
2026-06-04T07:59:22.6842895Z         "impl": {
2026-06-04T07:59:22.6843326Z           "complete": false,
2026-06-04T07:59:22.6843725Z           "evidence": []
2026-06-04T07:59:22.6844111Z         },
2026-06-04T07:59:22.6844495Z         "int": {
2026-06-04T07:59:22.6844915Z           "complete": false,
2026-06-04T07:59:22.6845333Z           "evidence": []
2026-06-04T07:59:22.6845704Z         },
2026-06-04T07:59:22.6846090Z         "unit": {
2026-06-04T07:59:22.6846508Z           "complete": false,
2026-06-04T07:59:22.6846922Z           "evidence": []
2026-06-04T07:59:22.6847302Z         }
2026-06-04T07:59:22.6847672Z       }
2026-06-04T07:59:22.6848049Z     },
2026-06-04T07:59:22.6848420Z     {
2026-06-04T07:59:22.6848849Z       "id": "REQ-PAIR-1",
2026-06-04T07:59:22.6849388Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T07:59:22.6849826Z       "requiredStages": [
2026-06-04T07:59:22.6850217Z         "impl",
2026-06-04T07:59:22.6850601Z         "unit"
2026-06-04T07:59:22.6850983Z       ],
2026-06-04T07:59:22.6851372Z       "stages": {
2026-06-04T07:59:22.6851756Z         "doc": {
2026-06-04T07:59:22.6852180Z           "complete": false,
2026-06-04T07:59:22.6852593Z           "evidence": []
2026-06-04T07:59:22.6852975Z         },
2026-06-04T07:59:22.6853362Z         "impl": {
2026-06-04T07:59:22.6853788Z           "complete": true,
2026-06-04T07:59:22.6854187Z           "evidence": [
2026-06-04T07:59:22.6854570Z             {
2026-06-04T07:59:22.6855205Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6855613Z               "line": 27
2026-06-04T07:59:22.6855996Z             },
2026-06-04T07:59:22.6856371Z             {
2026-06-04T07:59:22.6856998Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6857551Z               "line": 88
2026-06-04T07:59:22.6857953Z             },
2026-06-04T07:59:22.6858324Z             {
2026-06-04T07:59:22.6858972Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6859424Z               "line": 110
2026-06-04T07:59:22.6859941Z             },
2026-06-04T07:59:22.6860328Z             {
2026-06-04T07:59:22.6860955Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6861366Z               "line": 153
2026-06-04T07:59:22.6861741Z             },
2026-06-04T07:59:22.6862126Z             {
2026-06-04T07:59:22.6862762Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6863164Z               "line": 182
2026-06-04T07:59:22.6863546Z             },
2026-06-04T07:59:22.6869079Z             {
2026-06-04T07:59:22.6869907Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6870311Z               "line": 29
2026-06-04T07:59:22.6870700Z             },
2026-06-04T07:59:22.6871112Z             {
2026-06-04T07:59:22.6871808Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T07:59:22.6872207Z               "line": 31
2026-06-04T07:59:22.6872574Z             },
2026-06-04T07:59:22.6872965Z             {
2026-06-04T07:59:22.6873582Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6873984Z               "line": 40
2026-06-04T07:59:22.6874367Z             },
2026-06-04T07:59:22.6874737Z             {
2026-06-04T07:59:22.6875353Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6875754Z               "line": 131
2026-06-04T07:59:22.6876135Z             },
2026-06-04T07:59:22.6876503Z             {
2026-06-04T07:59:22.6877115Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6877519Z               "line": 306
2026-06-04T07:59:22.6877894Z             }
2026-06-04T07:59:22.6878273Z           ]
2026-06-04T07:59:22.6878642Z         },
2026-06-04T07:59:22.6879029Z         "int": {
2026-06-04T07:59:22.6879489Z           "complete": false,
2026-06-04T07:59:22.6879906Z           "evidence": []
2026-06-04T07:59:22.6880288Z         },
2026-06-04T07:59:22.6880669Z         "unit": {
2026-06-04T07:59:22.6881099Z           "complete": true,
2026-06-04T07:59:22.6881497Z           "evidence": [
2026-06-04T07:59:22.6881872Z             {
2026-06-04T07:59:22.6882496Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6882905Z               "line": 236
2026-06-04T07:59:22.6883291Z             },
2026-06-04T07:59:22.6883661Z             {
2026-06-04T07:59:22.6884289Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T07:59:22.6884685Z               "line": 349
2026-06-04T07:59:22.6885066Z             },
2026-06-04T07:59:22.6885446Z             {
2026-06-04T07:59:22.6886052Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6886460Z               "line": 194
2026-06-04T07:59:22.6886845Z             },
2026-06-04T07:59:22.6887233Z             {
2026-06-04T07:59:22.6887840Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6888253Z               "line": 216
2026-06-04T07:59:22.6888638Z             },
2026-06-04T07:59:22.6889023Z             {
2026-06-04T07:59:22.6889672Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6890073Z               "line": 230
2026-06-04T07:59:22.6890458Z             },
2026-06-04T07:59:22.6890839Z             {
2026-06-04T07:59:22.6891463Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6891869Z               "line": 242
2026-06-04T07:59:22.6892245Z             },
2026-06-04T07:59:22.6892625Z             {
2026-06-04T07:59:22.6893235Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6893641Z               "line": 256
2026-06-04T07:59:22.6894012Z             },
2026-06-04T07:59:22.6894394Z             {
2026-06-04T07:59:22.6895241Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6895663Z               "line": 270
2026-06-04T07:59:22.6896046Z             },
2026-06-04T07:59:22.6896418Z             {
2026-06-04T07:59:22.6897034Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6897569Z               "line": 277
2026-06-04T07:59:22.6897954Z             },
2026-06-04T07:59:22.6898338Z             {
2026-06-04T07:59:22.6898945Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T07:59:22.6899398Z               "line": 295
2026-06-04T07:59:22.6899773Z             },
2026-06-04T07:59:22.6900152Z             {
2026-06-04T07:59:22.6900757Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6901170Z               "line": 696
2026-06-04T07:59:22.6901553Z             },
2026-06-04T07:59:22.6901932Z             {
2026-06-04T07:59:22.6902545Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6902955Z               "line": 757
2026-06-04T07:59:22.6903341Z             },
2026-06-04T07:59:22.6903726Z             {
2026-06-04T07:59:22.6904334Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6904756Z               "line": 814
2026-06-04T07:59:22.6905128Z             },
2026-06-04T07:59:22.6905514Z             {
2026-06-04T07:59:22.6906125Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6906537Z               "line": 868
2026-06-04T07:59:22.6906920Z             },
2026-06-04T07:59:22.6907290Z             {
2026-06-04T07:59:22.6907906Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6908309Z               "line": 920
2026-06-04T07:59:22.6908689Z             },
2026-06-04T07:59:22.6909060Z             {
2026-06-04T07:59:22.6909717Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6910126Z               "line": 1084
2026-06-04T07:59:22.6910499Z             }
2026-06-04T07:59:22.6910886Z           ]
2026-06-04T07:59:22.6911265Z         }
2026-06-04T07:59:22.6911647Z       }
2026-06-04T07:59:22.6912015Z     },
2026-06-04T07:59:22.6912391Z     {
2026-06-04T07:59:22.6912815Z       "id": "REQ-PAIR-2",
2026-06-04T07:59:22.6913487Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T07:59:22.6913918Z       "requiredStages": [
2026-06-04T07:59:22.6914298Z         "impl",
2026-06-04T07:59:22.6914682Z         "unit"
2026-06-04T07:59:22.6915058Z       ],
2026-06-04T07:59:22.6915456Z       "stages": {
2026-06-04T07:59:22.6915843Z         "doc": {
2026-06-04T07:59:22.6916268Z           "complete": false,
2026-06-04T07:59:22.6916684Z           "evidence": []
2026-06-04T07:59:22.6917060Z         },
2026-06-04T07:59:22.6917453Z         "impl": {
2026-06-04T07:59:22.6917867Z           "complete": true,
2026-06-04T07:59:22.6918279Z           "evidence": [
2026-06-04T07:59:22.6918663Z             {
2026-06-04T07:59:22.6919249Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6919655Z               "line": 42
2026-06-04T07:59:22.6920032Z             },
2026-06-04T07:59:22.6920413Z             {
2026-06-04T07:59:22.6920938Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6921353Z               "line": 151
2026-06-04T07:59:22.6921735Z             },
2026-06-04T07:59:22.6922104Z             {
2026-06-04T07:59:22.6922643Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6923039Z               "line": 171
2026-06-04T07:59:22.6923419Z             },
2026-06-04T07:59:22.6923790Z             {
2026-06-04T07:59:22.6924325Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6924728Z               "line": 209
2026-06-04T07:59:22.6925100Z             },
2026-06-04T07:59:22.6925478Z             {
2026-06-04T07:59:22.6926010Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6926418Z               "line": 232
2026-06-04T07:59:22.6926794Z             }
2026-06-04T07:59:22.6927322Z           ]
2026-06-04T07:59:22.6927717Z         },
2026-06-04T07:59:22.6928094Z         "int": {
2026-06-04T07:59:22.6928516Z           "complete": false,
2026-06-04T07:59:22.6928918Z           "evidence": []
2026-06-04T07:59:22.6929519Z         },
2026-06-04T07:59:22.6929904Z         "unit": {
2026-06-04T07:59:22.6930332Z           "complete": true,
2026-06-04T07:59:22.6930742Z           "evidence": [
2026-06-04T07:59:22.6931118Z             {
2026-06-04T07:59:22.6931664Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6932062Z               "line": 253
2026-06-04T07:59:22.6932439Z             },
2026-06-04T07:59:22.6932812Z             {
2026-06-04T07:59:22.6933350Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6933760Z               "line": 272
2026-06-04T07:59:22.6934130Z             },
2026-06-04T07:59:22.6934507Z             {
2026-06-04T07:59:22.6935040Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6935464Z               "line": 284
2026-06-04T07:59:22.6935841Z             },
2026-06-04T07:59:22.6936223Z             {
2026-06-04T07:59:22.6936769Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6937180Z               "line": 303
2026-06-04T07:59:22.6937564Z             },
2026-06-04T07:59:22.6939864Z             {
2026-06-04T07:59:22.6940424Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6946158Z               "line": 319
2026-06-04T07:59:22.6946634Z             },
2026-06-04T07:59:22.6947023Z             {
2026-06-04T07:59:22.6947581Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6947989Z               "line": 331
2026-06-04T07:59:22.6948368Z             },
2026-06-04T07:59:22.6948745Z             {
2026-06-04T07:59:22.6949405Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6949820Z               "line": 343
2026-06-04T07:59:22.6950211Z             },
2026-06-04T07:59:22.6950580Z             {
2026-06-04T07:59:22.6951154Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6951562Z               "line": 356
2026-06-04T07:59:22.6951951Z             },
2026-06-04T07:59:22.6952339Z             {
2026-06-04T07:59:22.6952879Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T07:59:22.6953283Z               "line": 370
2026-06-04T07:59:22.6953653Z             }
2026-06-04T07:59:22.6954044Z           ]
2026-06-04T07:59:22.6954417Z         }
2026-06-04T07:59:22.6954801Z       }
2026-06-04T07:59:22.6955182Z     },
2026-06-04T07:59:22.6955551Z     {
2026-06-04T07:59:22.6955980Z       "id": "REQ-PAIR-3",
2026-06-04T07:59:22.6956679Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T07:59:22.6957121Z       "requiredStages": [
2026-06-04T07:59:22.6957499Z         "impl",
2026-06-04T07:59:22.6957884Z         "unit"
2026-06-04T07:59:22.6958270Z       ],
2026-06-04T07:59:22.6958658Z       "stages": {
2026-06-04T07:59:22.6959044Z         "doc": {
2026-06-04T07:59:22.6959524Z           "complete": false,
2026-06-04T07:59:22.6959951Z           "evidence": []
2026-06-04T07:59:22.6960320Z         },
2026-06-04T07:59:22.6960710Z         "impl": {
2026-06-04T07:59:22.6961133Z           "complete": true,
2026-06-04T07:59:22.6961540Z           "evidence": [
2026-06-04T07:59:22.6961925Z             {
2026-06-04T07:59:22.6962409Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6962820Z               "line": 499
2026-06-04T07:59:22.6963192Z             },
2026-06-04T07:59:22.6963579Z             {
2026-06-04T07:59:22.6964071Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6964472Z               "line": 535
2026-06-04T07:59:22.6964853Z             },
2026-06-04T07:59:22.6965223Z             {
2026-06-04T07:59:22.6965711Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6966109Z               "line": 595
2026-06-04T07:59:22.6966496Z             }
2026-06-04T07:59:22.6966875Z           ]
2026-06-04T07:59:22.6967513Z         },
2026-06-04T07:59:22.6967931Z         "int": {
2026-06-04T07:59:22.6968355Z           "complete": false,
2026-06-04T07:59:22.6968766Z           "evidence": []
2026-06-04T07:59:22.6969145Z         },
2026-06-04T07:59:22.6969730Z         "unit": {
2026-06-04T07:59:22.6970159Z           "complete": true,
2026-06-04T07:59:22.6970562Z           "evidence": [
2026-06-04T07:59:22.6970948Z             {
2026-06-04T07:59:22.6971435Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6971842Z               "line": 907
2026-06-04T07:59:22.6972215Z             },
2026-06-04T07:59:22.6972601Z             {
2026-06-04T07:59:22.6973087Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6973491Z               "line": 924
2026-06-04T07:59:22.6973878Z             },
2026-06-04T07:59:22.6974251Z             {
2026-06-04T07:59:22.6974740Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6975139Z               "line": 938
2026-06-04T07:59:22.6975521Z             },
2026-06-04T07:59:22.6975917Z             {
2026-06-04T07:59:22.6976405Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6976814Z               "line": 954
2026-06-04T07:59:22.6977189Z             },
2026-06-04T07:59:22.6977579Z             {
2026-06-04T07:59:22.6978053Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6978468Z               "line": 975
2026-06-04T07:59:22.6978852Z             },
2026-06-04T07:59:22.6979265Z             {
2026-06-04T07:59:22.6979766Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6980172Z               "line": 991
2026-06-04T07:59:22.6980561Z             },
2026-06-04T07:59:22.6980933Z             {
2026-06-04T07:59:22.6981427Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6981837Z               "line": 1004
2026-06-04T07:59:22.6982211Z             },
2026-06-04T07:59:22.6982599Z             {
2026-06-04T07:59:22.6983082Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.6983499Z               "line": 1013
2026-06-04T07:59:22.6983879Z             }
2026-06-04T07:59:22.6984260Z           ]
2026-06-04T07:59:22.6984641Z         }
2026-06-04T07:59:22.6985017Z       }
2026-06-04T07:59:22.6985394Z     },
2026-06-04T07:59:22.6985773Z     {
2026-06-04T07:59:22.6986197Z       "id": "REQ-PAIR-4",
2026-06-04T07:59:22.6986724Z       "title": "Subnet naming on first pairing",
2026-06-04T07:59:22.6987170Z       "requiredStages": [
2026-06-04T07:59:22.6987560Z         "impl",
2026-06-04T07:59:22.6987941Z         "unit"
2026-06-04T07:59:22.6988320Z       ],
2026-06-04T07:59:22.6988703Z       "stages": {
2026-06-04T07:59:22.6989091Z         "doc": {
2026-06-04T07:59:22.6989548Z           "complete": false,
2026-06-04T07:59:22.6989966Z           "evidence": []
2026-06-04T07:59:22.6990347Z         },
2026-06-04T07:59:22.6990731Z         "impl": {
2026-06-04T07:59:22.6991195Z           "complete": true,
2026-06-04T07:59:22.6991668Z           "evidence": [
2026-06-04T07:59:22.6992073Z             {
2026-06-04T07:59:22.6992632Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T07:59:22.6993054Z               "line": 154
2026-06-04T07:59:22.6993437Z             }
2026-06-04T07:59:22.6993808Z           ]
2026-06-04T07:59:22.6994196Z         },
2026-06-04T07:59:22.6994575Z         "int": {
2026-06-04T07:59:22.6995001Z           "complete": false,
2026-06-04T07:59:22.6995405Z           "evidence": []
2026-06-04T07:59:22.6995786Z         },
2026-06-04T07:59:22.6996175Z         "unit": {
2026-06-04T07:59:22.6996585Z           "complete": true,
2026-06-04T07:59:22.6996992Z           "evidence": [
2026-06-04T07:59:22.6997361Z             {
2026-06-04T07:59:22.6997984Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.6998384Z               "line": 972
2026-06-04T07:59:22.6998767Z             }
2026-06-04T07:59:22.6999149Z           ]
2026-06-04T07:59:22.6999573Z         }
2026-06-04T07:59:22.6999954Z       }
2026-06-04T07:59:22.7000327Z     },
2026-06-04T07:59:22.7000902Z     {
2026-06-04T07:59:22.7001343Z       "id": "REQ-PAIR-5",
2026-06-04T07:59:22.7002956Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T07:59:22.7003547Z       "requiredStages": [
2026-06-04T07:59:22.7003935Z         "impl",
2026-06-04T07:59:22.7004325Z         "unit"
2026-06-04T07:59:22.7004711Z       ],
2026-06-04T07:59:22.7005109Z       "stages": {
2026-06-04T07:59:22.7005482Z         "doc": {
2026-06-04T07:59:22.7005911Z           "complete": false,
2026-06-04T07:59:22.7006324Z           "evidence": []
2026-06-04T07:59:22.7006695Z         },
2026-06-04T07:59:22.7007085Z         "impl": {
2026-06-04T07:59:22.7007499Z           "complete": true,
2026-06-04T07:59:22.7007909Z           "evidence": [
2026-06-04T07:59:22.7008285Z             {
2026-06-04T07:59:22.7008987Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7009455Z               "line": 33
2026-06-04T07:59:22.7009887Z             },
2026-06-04T07:59:22.7010302Z             {
2026-06-04T07:59:22.7011005Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7011412Z               "line": 45
2026-06-04T07:59:22.7011798Z             },
2026-06-04T07:59:22.7012183Z             {
2026-06-04T07:59:22.7012886Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7013288Z               "line": 59
2026-06-04T07:59:22.7013672Z             },
2026-06-04T07:59:22.7014045Z             {
2026-06-04T07:59:22.7014665Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.7015080Z               "line": 306
2026-06-04T07:59:22.7015452Z             }
2026-06-04T07:59:22.7015840Z           ]
2026-06-04T07:59:22.7016219Z         },
2026-06-04T07:59:22.7022393Z         "int": {
2026-06-04T07:59:22.7022927Z           "complete": false,
2026-06-04T07:59:22.7023352Z           "evidence": []
2026-06-04T07:59:22.7023730Z         },
2026-06-04T07:59:22.7024157Z         "unit": {
2026-06-04T07:59:22.7024589Z           "complete": true,
2026-06-04T07:59:22.7024987Z           "evidence": [
2026-06-04T07:59:22.7025369Z             {
2026-06-04T07:59:22.7026058Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7026477Z               "line": 72
2026-06-04T07:59:22.7026851Z             },
2026-06-04T07:59:22.7027228Z             {
2026-06-04T07:59:22.7027927Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7028324Z               "line": 82
2026-06-04T07:59:22.7028704Z             },
2026-06-04T07:59:22.7029082Z             {
2026-06-04T07:59:22.7029838Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7030245Z               "line": 92
2026-06-04T07:59:22.7030615Z             },
2026-06-04T07:59:22.7030993Z             {
2026-06-04T07:59:22.7031673Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7032093Z               "line": 102
2026-06-04T07:59:22.7032471Z             },
2026-06-04T07:59:22.7032855Z             {
2026-06-04T07:59:22.7033543Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T07:59:22.7033947Z               "line": 117
2026-06-04T07:59:22.7034335Z             },
2026-06-04T07:59:22.7034705Z             {
2026-06-04T07:59:22.7035322Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.7035726Z               "line": 750
2026-06-04T07:59:22.7036107Z             },
2026-06-04T07:59:22.7036486Z             {
2026-06-04T07:59:22.7037090Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.7037497Z               "line": 806
2026-06-04T07:59:22.7037873Z             },
2026-06-04T07:59:22.7038251Z             {
2026-06-04T07:59:22.7038854Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T07:59:22.7039307Z               "line": 1026
2026-06-04T07:59:22.7039688Z             }
2026-06-04T07:59:22.7040305Z           ]
2026-06-04T07:59:22.7040715Z         }
2026-06-04T07:59:22.7041095Z       }
2026-06-04T07:59:22.7041477Z     },
2026-06-04T07:59:22.7041851Z     {
2026-06-04T07:59:22.7042273Z       "id": "REQ-PAIR-6",
2026-06-04T07:59:22.7043737Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T07:59:22.7044166Z       "requiredStages": [
2026-06-04T07:59:22.7044560Z         "impl",
2026-06-04T07:59:22.7044936Z         "unit"
2026-06-04T07:59:22.7045319Z       ],
2026-06-04T07:59:22.7045705Z       "stages": {
2026-06-04T07:59:22.7046091Z         "doc": {
2026-06-04T07:59:22.7046519Z           "complete": false,
2026-06-04T07:59:22.7046926Z           "evidence": []
2026-06-04T07:59:22.7047306Z         },
2026-06-04T07:59:22.7047687Z         "impl": {
2026-06-04T07:59:22.7048109Z           "complete": true,
2026-06-04T07:59:22.7048508Z           "evidence": [
2026-06-04T07:59:22.7048886Z             {
2026-06-04T07:59:22.7049443Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7049844Z               "line": 535
2026-06-04T07:59:22.7050226Z             },
2026-06-04T07:59:22.7050597Z             {
2026-06-04T07:59:22.7051104Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7051503Z               "line": 595
2026-06-04T07:59:22.7051887Z             },
2026-06-04T07:59:22.7052270Z             {
2026-06-04T07:59:22.7052785Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T07:59:22.7053182Z               "line": 18
2026-06-04T07:59:22.7053551Z             },
2026-06-04T07:59:22.7053931Z             {
2026-06-04T07:59:22.7054451Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T07:59:22.7054853Z               "line": 49
2026-06-04T07:59:22.7055231Z             },
2026-06-04T07:59:22.7055602Z             {
2026-06-04T07:59:22.7056131Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T07:59:22.7056523Z               "line": 70
2026-06-04T07:59:22.7056915Z             }
2026-06-04T07:59:22.7057292Z           ]
2026-06-04T07:59:22.7057677Z         },
2026-06-04T07:59:22.7058066Z         "int": {
2026-06-04T07:59:22.7058487Z           "complete": false,
2026-06-04T07:59:22.7058905Z           "evidence": []
2026-06-04T07:59:22.7059316Z         },
2026-06-04T07:59:22.7059709Z         "unit": {
2026-06-04T07:59:22.7060129Z           "complete": true,
2026-06-04T07:59:22.7060536Z           "evidence": [
2026-06-04T07:59:22.7060916Z             {
2026-06-04T07:59:22.7061392Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7061798Z               "line": 1026
2026-06-04T07:59:22.7062173Z             },
2026-06-04T07:59:22.7062554Z             {
2026-06-04T07:59:22.7063029Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7063440Z               "line": 1043
2026-06-04T07:59:22.7063823Z             },
2026-06-04T07:59:22.7064194Z             {
2026-06-04T07:59:22.7064722Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T07:59:22.7065125Z               "line": 132
2026-06-04T07:59:22.7065506Z             },
2026-06-04T07:59:22.7065876Z             {
2026-06-04T07:59:22.7066401Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T07:59:22.7066815Z               "line": 141
2026-06-04T07:59:22.7067188Z             }
2026-06-04T07:59:22.7067568Z           ]
2026-06-04T07:59:22.7067938Z         }
2026-06-04T07:59:22.7068313Z       }
2026-06-04T07:59:22.7068690Z     },
2026-06-04T07:59:22.7069065Z     {
2026-06-04T07:59:22.7069529Z       "id": "REQ-PAIR-7",
2026-06-04T07:59:22.7070304Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T07:59:22.7070747Z       "requiredStages": [],
2026-06-04T07:59:22.7071139Z       "stages": {
2026-06-04T07:59:22.7071530Z         "doc": {
2026-06-04T07:59:22.7071945Z           "complete": false,
2026-06-04T07:59:22.7072358Z           "evidence": []
2026-06-04T07:59:22.7072736Z         },
2026-06-04T07:59:22.7073113Z         "impl": {
2026-06-04T07:59:22.7073753Z           "complete": false,
2026-06-04T07:59:22.7074193Z           "evidence": []
2026-06-04T07:59:22.7074576Z         },
2026-06-04T07:59:22.7074955Z         "int": {
2026-06-04T07:59:22.7075386Z           "complete": false,
2026-06-04T07:59:22.7075947Z           "evidence": []
2026-06-04T07:59:22.7076322Z         },
2026-06-04T07:59:22.7076715Z         "unit": {
2026-06-04T07:59:22.7077132Z           "complete": false,
2026-06-04T07:59:22.7077546Z           "evidence": []
2026-06-04T07:59:22.7077919Z         }
2026-06-04T07:59:22.7078303Z       }
2026-06-04T07:59:22.7078680Z     },
2026-06-04T07:59:22.7079050Z     {
2026-06-04T07:59:22.7079534Z       "id": "REQ-REACH-1",
2026-06-04T07:59:22.7080247Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T07:59:22.7080674Z       "requiredStages": [
2026-06-04T07:59:22.7081056Z         "impl",
2026-06-04T07:59:22.7081441Z         "unit"
2026-06-04T07:59:22.7081823Z       ],
2026-06-04T07:59:22.7082207Z       "stages": {
2026-06-04T07:59:22.7082610Z         "doc": {
2026-06-04T07:59:22.7083033Z           "complete": false,
2026-06-04T07:59:22.7083440Z           "evidence": []
2026-06-04T07:59:22.7083817Z         },
2026-06-04T07:59:22.7084215Z         "impl": {
2026-06-04T07:59:22.7084646Z           "complete": true,
2026-06-04T07:59:22.7085042Z           "evidence": [
2026-06-04T07:59:22.7085427Z             {
2026-06-04T07:59:22.7085984Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T07:59:22.7086393Z               "line": 122
2026-06-04T07:59:22.7086766Z             },
2026-06-04T07:59:22.7087152Z             {
2026-06-04T07:59:22.7087694Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.7088087Z               "line": 76
2026-06-04T07:59:22.7088472Z             },
2026-06-04T07:59:22.7088854Z             {
2026-06-04T07:59:22.7089432Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.7089832Z               "line": 209
2026-06-04T07:59:22.7090224Z             },
2026-06-04T07:59:22.7090608Z             {
2026-06-04T07:59:22.7091140Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.7091547Z               "line": 383
2026-06-04T07:59:22.7091924Z             },
2026-06-04T07:59:22.7092323Z             {
2026-06-04T07:59:22.7098155Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.7098666Z               "line": 475
2026-06-04T07:59:22.7099061Z             },
2026-06-04T07:59:22.7099552Z             {
2026-06-04T07:59:22.7100112Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T07:59:22.7100505Z               "line": 39
2026-06-04T07:59:22.7100887Z             },
2026-06-04T07:59:22.7101273Z             {
2026-06-04T07:59:22.7101807Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.7102214Z               "line": 129
2026-06-04T07:59:22.7102585Z             },
2026-06-04T07:59:22.7102967Z             {
2026-06-04T07:59:22.7103515Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T07:59:22.7103926Z               "line": 82
2026-06-04T07:59:22.7104309Z             },
2026-06-04T07:59:22.7104682Z             {
2026-06-04T07:59:22.7105210Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T07:59:22.7105613Z               "line": 92
2026-06-04T07:59:22.7105994Z             },
2026-06-04T07:59:22.7106368Z             {
2026-06-04T07:59:22.7106941Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.7107347Z               "line": 118
2026-06-04T07:59:22.7107717Z             }
2026-06-04T07:59:22.7108096Z           ]
2026-06-04T07:59:22.7108466Z         },
2026-06-04T07:59:22.7108848Z         "int": {
2026-06-04T07:59:22.7109306Z           "complete": false,
2026-06-04T07:59:22.7109714Z           "evidence": []
2026-06-04T07:59:22.7110095Z         },
2026-06-04T07:59:22.7110475Z         "unit": {
2026-06-04T07:59:22.7110893Z           "complete": true,
2026-06-04T07:59:22.7111288Z           "evidence": [
2026-06-04T07:59:22.7111900Z             {
2026-06-04T07:59:22.7112453Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.7112862Z               "line": 573
2026-06-04T07:59:22.7113242Z             },
2026-06-04T07:59:22.7113751Z             {
2026-06-04T07:59:22.7114292Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T07:59:22.7114694Z               "line": 594
2026-06-04T07:59:22.7115082Z             },
2026-06-04T07:59:22.7115454Z             {
2026-06-04T07:59:22.7116032Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T07:59:22.7116438Z               "line": 337
2026-06-04T07:59:22.7116810Z             },
2026-06-04T07:59:22.7117185Z             {
2026-06-04T07:59:22.7117734Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T07:59:22.7118138Z               "line": 92
2026-06-04T07:59:22.7118514Z             },
2026-06-04T07:59:22.7118891Z             {
2026-06-04T07:59:22.7119503Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T07:59:22.7119915Z               "line": 174
2026-06-04T07:59:22.7120310Z             },
2026-06-04T07:59:22.7120687Z             {
2026-06-04T07:59:22.7121238Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T07:59:22.7121645Z               "line": 78
2026-06-04T07:59:22.7122033Z             },
2026-06-04T07:59:22.7122417Z             {
2026-06-04T07:59:22.7122952Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T07:59:22.7123362Z               "line": 109
2026-06-04T07:59:22.7123738Z             },
2026-06-04T07:59:22.7124117Z             {
2026-06-04T07:59:22.7124632Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.7125044Z               "line": 277
2026-06-04T07:59:22.7125430Z             },
2026-06-04T07:59:22.7125804Z             {
2026-06-04T07:59:22.7126336Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T07:59:22.7126733Z               "line": 112
2026-06-04T07:59:22.7127121Z             },
2026-06-04T07:59:22.7127504Z             {
2026-06-04T07:59:22.7128044Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T07:59:22.7128449Z               "line": 136
2026-06-04T07:59:22.7128831Z             },
2026-06-04T07:59:22.7129253Z             {
2026-06-04T07:59:22.7129827Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.7130235Z               "line": 305
2026-06-04T07:59:22.7130624Z             }
2026-06-04T07:59:22.7131004Z           ]
2026-06-04T07:59:22.7131385Z         }
2026-06-04T07:59:22.7131764Z       }
2026-06-04T07:59:22.7132142Z     },
2026-06-04T07:59:22.7132513Z     {
2026-06-04T07:59:22.7132937Z       "id": "REQ-REACH-2",
2026-06-04T07:59:22.7133681Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T07:59:22.7134120Z       "requiredStages": [],
2026-06-04T07:59:22.7134521Z       "stages": {
2026-06-04T07:59:22.7134899Z         "doc": {
2026-06-04T07:59:22.7135325Z           "complete": false,
2026-06-04T07:59:22.7135732Z           "evidence": []
2026-06-04T07:59:22.7136124Z         },
2026-06-04T07:59:22.7136505Z         "impl": {
2026-06-04T07:59:22.7136935Z           "complete": false,
2026-06-04T07:59:22.7137347Z           "evidence": []
2026-06-04T07:59:22.7137717Z         },
2026-06-04T07:59:22.7138112Z         "int": {
2026-06-04T07:59:22.7138530Z           "complete": false,
2026-06-04T07:59:22.7138947Z           "evidence": []
2026-06-04T07:59:22.7139361Z         },
2026-06-04T07:59:22.7139754Z         "unit": {
2026-06-04T07:59:22.7140176Z           "complete": false,
2026-06-04T07:59:22.7140579Z           "evidence": []
2026-06-04T07:59:22.7140955Z         }
2026-06-04T07:59:22.7141322Z       }
2026-06-04T07:59:22.7141701Z     },
2026-06-04T07:59:22.7142069Z     {
2026-06-04T07:59:22.7142571Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T07:59:22.7143465Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T07:59:22.7143893Z       "requiredStages": [
2026-06-04T07:59:22.7144286Z         "impl",
2026-06-04T07:59:22.7144821Z         "unit"
2026-06-04T07:59:22.7145214Z       ],
2026-06-04T07:59:22.7145610Z       "stages": {
2026-06-04T07:59:22.7146004Z         "doc": {
2026-06-04T07:59:22.7146430Z           "complete": false,
2026-06-04T07:59:22.7148536Z           "evidence": []
2026-06-04T07:59:22.7149025Z         },
2026-06-04T07:59:22.7149737Z         "impl": {
2026-06-04T07:59:22.7150348Z           "complete": true,
2026-06-04T07:59:22.7150765Z           "evidence": [
2026-06-04T07:59:22.7151154Z             {
2026-06-04T07:59:22.7151719Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7152113Z               "line": 18
2026-06-04T07:59:22.7152500Z             },
2026-06-04T07:59:22.7152879Z             {
2026-06-04T07:59:22.7153429Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7153822Z               "line": 35
2026-06-04T07:59:22.7154211Z             },
2026-06-04T07:59:22.7154592Z             {
2026-06-04T07:59:22.7155154Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7155567Z               "line": 65
2026-06-04T07:59:22.7155942Z             }
2026-06-04T07:59:22.7156323Z           ]
2026-06-04T07:59:22.7156698Z         },
2026-06-04T07:59:22.7157100Z         "int": {
2026-06-04T07:59:22.7157531Z           "complete": false,
2026-06-04T07:59:22.7157933Z           "evidence": []
2026-06-04T07:59:22.7158318Z         },
2026-06-04T07:59:22.7158704Z         "unit": {
2026-06-04T07:59:22.7159128Z           "complete": true,
2026-06-04T07:59:22.7159740Z           "evidence": [
2026-06-04T07:59:22.7160301Z             {
2026-06-04T07:59:22.7160852Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7161254Z               "line": 170
2026-06-04T07:59:22.7161638Z             },
2026-06-04T07:59:22.7162012Z             {
2026-06-04T07:59:22.7162562Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7162956Z               "line": 184
2026-06-04T07:59:22.7163342Z             },
2026-06-04T07:59:22.7163732Z             {
2026-06-04T07:59:22.7164277Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7164694Z               "line": 193
2026-06-04T07:59:22.7165069Z             }
2026-06-04T07:59:22.7165470Z           ]
2026-06-04T07:59:22.7165843Z         }
2026-06-04T07:59:22.7166225Z       }
2026-06-04T07:59:22.7166609Z     },
2026-06-04T07:59:22.7166980Z     {
2026-06-04T07:59:22.7167447Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T07:59:22.7168158Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T07:59:22.7168600Z       "requiredStages": [
2026-06-04T07:59:22.7168983Z         "impl",
2026-06-04T07:59:22.7169423Z         "unit"
2026-06-04T07:59:22.7169812Z       ],
2026-06-04T07:59:22.7176245Z       "stages": {
2026-06-04T07:59:22.7176778Z         "doc": {
2026-06-04T07:59:22.7177214Z           "complete": false,
2026-06-04T07:59:22.7177634Z           "evidence": []
2026-06-04T07:59:22.7178017Z         },
2026-06-04T07:59:22.7178440Z         "impl": {
2026-06-04T07:59:22.7178869Z           "complete": true,
2026-06-04T07:59:22.7179383Z           "evidence": [
2026-06-04T07:59:22.7179778Z             {
2026-06-04T07:59:22.7180355Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.7180779Z               "line": 203
2026-06-04T07:59:22.7181157Z             }
2026-06-04T07:59:22.7181556Z           ]
2026-06-04T07:59:22.7181943Z         },
2026-06-04T07:59:22.7182327Z         "int": {
2026-06-04T07:59:22.7182760Z           "complete": false,
2026-06-04T07:59:22.7183164Z           "evidence": []
2026-06-04T07:59:22.7183547Z         },
2026-06-04T07:59:22.7183940Z         "unit": {
2026-06-04T07:59:22.7184368Z           "complete": true,
2026-06-04T07:59:22.7184777Z           "evidence": [
2026-06-04T07:59:22.7185157Z             {
2026-06-04T07:59:22.7185734Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.7186137Z               "line": 338
2026-06-04T07:59:22.7186521Z             }
2026-06-04T07:59:22.7187241Z           ]
2026-06-04T07:59:22.7187660Z         }
2026-06-04T07:59:22.7188043Z       }
2026-06-04T07:59:22.7188418Z     },
2026-06-04T07:59:22.7188802Z     {
2026-06-04T07:59:22.7189285Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T07:59:22.7190368Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T07:59:22.7190806Z       "requiredStages": [
2026-06-04T07:59:22.7191204Z         "impl",
2026-06-04T07:59:22.7191592Z         "unit",
2026-06-04T07:59:22.7191967Z         "int"
2026-06-04T07:59:22.7192351Z       ],
2026-06-04T07:59:22.7192744Z       "stages": {
2026-06-04T07:59:22.7193133Z         "doc": {
2026-06-04T07:59:22.7193557Z           "complete": false,
2026-06-04T07:59:22.7193972Z           "evidence": []
2026-06-04T07:59:22.7194358Z         },
2026-06-04T07:59:22.7194748Z         "impl": {
2026-06-04T07:59:22.7195176Z           "complete": true,
2026-06-04T07:59:22.7195576Z           "evidence": [
2026-06-04T07:59:22.7195953Z             {
2026-06-04T07:59:22.7196478Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.7196884Z               "line": 24
2026-06-04T07:59:22.7197276Z             },
2026-06-04T07:59:22.7197656Z             {
2026-06-04T07:59:22.7198226Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7198625Z               "line": 22
2026-06-04T07:59:22.7199022Z             }
2026-06-04T07:59:22.7199489Z           ]
2026-06-04T07:59:22.7199883Z         },
2026-06-04T07:59:22.7200275Z         "int": {
2026-06-04T07:59:22.7200699Z           "complete": true,
2026-06-04T07:59:22.7201107Z           "evidence": [
2026-06-04T07:59:22.7201481Z             {
2026-06-04T07:59:22.7202052Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.7202461Z               "line": 202
2026-06-04T07:59:22.7202850Z             }
2026-06-04T07:59:22.7203233Z           ]
2026-06-04T07:59:22.7203611Z         },
2026-06-04T07:59:22.7204010Z         "unit": {
2026-06-04T07:59:22.7204434Z           "complete": true,
2026-06-04T07:59:22.7204846Z           "evidence": [
2026-06-04T07:59:22.7205224Z             {
2026-06-04T07:59:22.7205753Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.7206171Z               "line": 163
2026-06-04T07:59:22.7206545Z             },
2026-06-04T07:59:22.7206935Z             {
2026-06-04T07:59:22.7207456Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.7207871Z               "line": 186
2026-06-04T07:59:22.7208246Z             },
2026-06-04T07:59:22.7208640Z             {
2026-06-04T07:59:22.7209212Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T07:59:22.7209621Z               "line": 195
2026-06-04T07:59:22.7210010Z             },
2026-06-04T07:59:22.7210390Z             {
2026-06-04T07:59:22.7210943Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7211345Z               "line": 195
2026-06-04T07:59:22.7211734Z             },
2026-06-04T07:59:22.7212118Z             {
2026-06-04T07:59:22.7212675Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7213095Z               "line": 209
2026-06-04T07:59:22.7213475Z             },
2026-06-04T07:59:22.7213862Z             {
2026-06-04T07:59:22.7214425Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7214824Z               "line": 228
2026-06-04T07:59:22.7215216Z             },
2026-06-04T07:59:22.7215593Z             {
2026-06-04T07:59:22.7216145Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7216548Z               "line": 248
2026-06-04T07:59:22.7216934Z             },
2026-06-04T07:59:22.7217319Z             {
2026-06-04T07:59:22.7217862Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7218272Z               "line": 264
2026-06-04T07:59:22.7218650Z             },
2026-06-04T07:59:22.7219031Z             {
2026-06-04T07:59:22.7219616Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T07:59:22.7220237Z               "line": 279
2026-06-04T07:59:22.7220643Z             }
2026-06-04T07:59:22.7221024Z           ]
2026-06-04T07:59:22.7221412Z         }
2026-06-04T07:59:22.7221788Z       }
2026-06-04T07:59:22.7222173Z     },
2026-06-04T07:59:22.7222707Z     {
2026-06-04T07:59:22.7223520Z       "id": "REQ-SEAM-INJECT",
2026-06-04T07:59:22.7224574Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T07:59:22.7225108Z       "requiredStages": [
2026-06-04T07:59:22.7225562Z         "impl",
2026-06-04T07:59:22.7225997Z         "unit"
2026-06-04T07:59:22.7226454Z       ],
2026-06-04T07:59:22.7226939Z       "stages": {
2026-06-04T07:59:22.7227530Z         "doc": {
2026-06-04T07:59:22.7227996Z           "complete": false,
2026-06-04T07:59:22.7228412Z           "evidence": []
2026-06-04T07:59:22.7228799Z         },
2026-06-04T07:59:22.7229262Z         "impl": {
2026-06-04T07:59:22.7229698Z           "complete": true,
2026-06-04T07:59:22.7230100Z           "evidence": [
2026-06-04T07:59:22.7230506Z             {
2026-06-04T07:59:22.7231078Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7231478Z               "line": 19
2026-06-04T07:59:22.7231862Z             },
2026-06-04T07:59:22.7232237Z             {
2026-06-04T07:59:22.7232805Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7233207Z               "line": 104
2026-06-04T07:59:22.7233588Z             }
2026-06-04T07:59:22.7233979Z           ]
2026-06-04T07:59:22.7234360Z         },
2026-06-04T07:59:22.7234753Z         "int": {
2026-06-04T07:59:22.7235172Z           "complete": false,
2026-06-04T07:59:22.7235588Z           "evidence": []
2026-06-04T07:59:22.7235965Z         },
2026-06-04T07:59:22.7236360Z         "unit": {
2026-06-04T07:59:22.7236788Z           "complete": true,
2026-06-04T07:59:22.7237186Z           "evidence": [
2026-06-04T07:59:22.7237575Z             {
2026-06-04T07:59:22.7238119Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7238539Z               "line": 222
2026-06-04T07:59:22.7238920Z             },
2026-06-04T07:59:22.7239354Z             {
2026-06-04T07:59:22.7239909Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T07:59:22.7240312Z               "line": 236
2026-06-04T07:59:22.7240710Z             }
2026-06-04T07:59:22.7241086Z           ]
2026-06-04T07:59:22.7241471Z         }
2026-06-04T07:59:22.7241848Z       }
2026-06-04T07:59:22.7242238Z     },
2026-06-04T07:59:22.7242617Z     {
2026-06-04T07:59:22.7243072Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T07:59:22.7243729Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T07:59:22.7244154Z       "requiredStages": [
2026-06-04T07:59:22.7244551Z         "impl",
2026-06-04T07:59:22.7244933Z         "unit"
2026-06-04T07:59:22.7245321Z       ],
2026-06-04T07:59:22.7245719Z       "stages": {
2026-06-04T07:59:22.7246102Z         "doc": {
2026-06-04T07:59:22.7246536Z           "complete": false,
2026-06-04T07:59:22.7246942Z           "evidence": []
2026-06-04T07:59:22.7253968Z         },
2026-06-04T07:59:22.7254499Z         "impl": {
2026-06-04T07:59:22.7254935Z           "complete": true,
2026-06-04T07:59:22.7255358Z           "evidence": [
2026-06-04T07:59:22.7255742Z             {
2026-06-04T07:59:22.7256313Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7256714Z               "line": 18
2026-06-04T07:59:22.7257101Z             },
2026-06-04T07:59:22.7257478Z             {
2026-06-04T07:59:22.7258026Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7258435Z               "line": 257
2026-06-04T07:59:22.7258811Z             }
2026-06-04T07:59:22.7259288Z           ]
2026-06-04T07:59:22.7259672Z         },
2026-06-04T07:59:22.7260065Z         "int": {
2026-06-04T07:59:22.7260492Z           "complete": false,
2026-06-04T07:59:22.7260906Z           "evidence": []
2026-06-04T07:59:22.7261296Z         },
2026-06-04T07:59:22.7261681Z         "unit": {
2026-06-04T07:59:22.7262109Z           "complete": true,
2026-06-04T07:59:22.7262898Z           "evidence": [
2026-06-04T07:59:22.7263318Z             {
2026-06-04T07:59:22.7263863Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7264277Z               "line": 420
2026-06-04T07:59:22.7264806Z             },
2026-06-04T07:59:22.7265181Z             {
2026-06-04T07:59:22.7265730Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7266137Z               "line": 430
2026-06-04T07:59:22.7266524Z             }
2026-06-04T07:59:22.7266901Z           ]
2026-06-04T07:59:22.7267288Z         }
2026-06-04T07:59:22.7267675Z       }
2026-06-04T07:59:22.7268054Z     },
2026-06-04T07:59:22.7268437Z     {
2026-06-04T07:59:22.7268876Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T07:59:22.7269630Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T07:59:22.7270065Z       "requiredStages": [
2026-06-04T07:59:22.7270459Z         "impl",
2026-06-04T07:59:22.7270852Z         "unit",
2026-06-04T07:59:22.7271246Z         "int"
2026-06-04T07:59:22.7271632Z       ],
2026-06-04T07:59:22.7272028Z       "stages": {
2026-06-04T07:59:22.7272418Z         "doc": {
2026-06-04T07:59:22.7272838Z           "complete": false,
2026-06-04T07:59:22.7273254Z           "evidence": []
2026-06-04T07:59:22.7273651Z         },
2026-06-04T07:59:22.7274034Z         "impl": {
2026-06-04T07:59:22.7274464Z           "complete": true,
2026-06-04T07:59:22.7274864Z           "evidence": [
2026-06-04T07:59:22.7275248Z             {
2026-06-04T07:59:22.7275788Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T07:59:22.7276201Z               "line": 19
2026-06-04T07:59:22.7276590Z             },
2026-06-04T07:59:22.7276970Z             {
2026-06-04T07:59:22.7277500Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T07:59:22.7277899Z               "line": 12
2026-06-04T07:59:22.7278288Z             },
2026-06-04T07:59:22.7278665Z             {
2026-06-04T07:59:22.7279254Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7279678Z               "line": 164
2026-06-04T07:59:22.7280057Z             }
2026-06-04T07:59:22.7280445Z           ]
2026-06-04T07:59:22.7280819Z         },
2026-06-04T07:59:22.7281210Z         "int": {
2026-06-04T07:59:22.7281643Z           "complete": true,
2026-06-04T07:59:22.7282059Z           "evidence": [
2026-06-04T07:59:22.7282443Z             {
2026-06-04T07:59:22.7283007Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.7283422Z               "line": 201
2026-06-04T07:59:22.7283800Z             }
2026-06-04T07:59:22.7284185Z           ]
2026-06-04T07:59:22.7284570Z         },
2026-06-04T07:59:22.7284963Z         "unit": {
2026-06-04T07:59:22.7285421Z           "complete": true,
2026-06-04T07:59:22.7286182Z           "evidence": [
2026-06-04T07:59:22.7286763Z             {
2026-06-04T07:59:22.7287412Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T07:59:22.7288318Z               "line": 161
2026-06-04T07:59:22.7288704Z             },
2026-06-04T07:59:22.7289108Z             {
2026-06-04T07:59:22.7289730Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T07:59:22.7290302Z               "line": 168
2026-06-04T07:59:22.7290730Z             },
2026-06-04T07:59:22.7291305Z             {
2026-06-04T07:59:22.7291861Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T07:59:22.7292277Z               "line": 191
2026-06-04T07:59:22.7292671Z             },
2026-06-04T07:59:22.7293056Z             {
2026-06-04T07:59:22.7293589Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T07:59:22.7293999Z               "line": 106
2026-06-04T07:59:22.7294375Z             },
2026-06-04T07:59:22.7294763Z             {
2026-06-04T07:59:22.7295293Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T07:59:22.7295705Z               "line": 123
2026-06-04T07:59:22.7296093Z             },
2026-06-04T07:59:22.7296469Z             {
2026-06-04T07:59:22.7297022Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T07:59:22.7297614Z               "line": 137
2026-06-04T07:59:22.7298030Z             }
2026-06-04T07:59:22.7298414Z           ]
2026-06-04T07:59:22.7298812Z         }
2026-06-04T07:59:22.7299245Z       }
2026-06-04T07:59:22.7299782Z     },
2026-06-04T07:59:22.7300170Z     {
2026-06-04T07:59:22.7300603Z       "id": "REQ-SEAM-RESUME",
2026-06-04T07:59:22.7301523Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T07:59:22.7301950Z       "requiredStages": [
2026-06-04T07:59:22.7302346Z         "impl",
2026-06-04T07:59:22.7302741Z         "unit"
2026-06-04T07:59:22.7303115Z       ],
2026-06-04T07:59:22.7303523Z       "stages": {
2026-06-04T07:59:22.7303909Z         "doc": {
2026-06-04T07:59:22.7304341Z           "complete": false,
2026-06-04T07:59:22.7304747Z           "evidence": []
2026-06-04T07:59:22.7305131Z         },
2026-06-04T07:59:22.7305524Z         "impl": {
2026-06-04T07:59:22.7305939Z           "complete": true,
2026-06-04T07:59:22.7306361Z           "evidence": [
2026-06-04T07:59:22.7306739Z             {
2026-06-04T07:59:22.7307286Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T07:59:22.7307681Z               "line": 19
2026-06-04T07:59:22.7308070Z             }
2026-06-04T07:59:22.7308464Z           ]
2026-06-04T07:59:22.7308835Z         },
2026-06-04T07:59:22.7309269Z         "int": {
2026-06-04T07:59:22.7309689Z           "complete": false,
2026-06-04T07:59:22.7310102Z           "evidence": []
2026-06-04T07:59:22.7310477Z         },
2026-06-04T07:59:22.7310874Z         "unit": {
2026-06-04T07:59:22.7311300Z           "complete": true,
2026-06-04T07:59:22.7311703Z           "evidence": [
2026-06-04T07:59:22.7312089Z             {
2026-06-04T07:59:22.7312628Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T07:59:22.7313036Z               "line": 168
2026-06-04T07:59:22.7313412Z             },
2026-06-04T07:59:22.7313798Z             {
2026-06-04T07:59:22.7314352Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T07:59:22.7314754Z               "line": 187
2026-06-04T07:59:22.7315138Z             },
2026-06-04T07:59:22.7315512Z             {
2026-06-04T07:59:22.7316053Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T07:59:22.7316462Z               "line": 205
2026-06-04T07:59:22.7316844Z             }
2026-06-04T07:59:22.7317226Z           ]
2026-06-04T07:59:22.7317600Z         }
2026-06-04T07:59:22.7317981Z       }
2026-06-04T07:59:22.7318354Z     },
2026-06-04T07:59:22.7318735Z     {
2026-06-04T07:59:22.7319206Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T07:59:22.7319676Z       "title": "spawn-session seam",
2026-06-04T07:59:22.7320117Z       "requiredStages": [
2026-06-04T07:59:22.7320502Z         "impl",
2026-06-04T07:59:22.7320890Z         "unit"
2026-06-04T07:59:22.7321265Z       ],
2026-06-04T07:59:22.7321664Z       "stages": {
2026-06-04T07:59:22.7322045Z         "doc": {
2026-06-04T07:59:22.7322473Z           "complete": false,
2026-06-04T07:59:22.7322895Z           "evidence": []
2026-06-04T07:59:22.7323276Z         },
2026-06-04T07:59:22.7323670Z         "impl": {
2026-06-04T07:59:22.7324085Z           "complete": true,
2026-06-04T07:59:22.7324497Z           "evidence": [
2026-06-04T07:59:22.7331147Z             {
2026-06-04T07:59:22.7331870Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7332288Z               "line": 20
2026-06-04T07:59:22.7332673Z             }
2026-06-04T07:59:22.7333058Z           ]
2026-06-04T07:59:22.7333438Z         },
2026-06-04T07:59:22.7333831Z         "int": {
2026-06-04T07:59:22.7334252Z           "complete": false,
2026-06-04T07:59:22.7334667Z           "evidence": []
2026-06-04T07:59:22.7335057Z         },
2026-06-04T07:59:22.7335444Z         "unit": {
2026-06-04T07:59:22.7335871Z           "complete": true,
2026-06-04T07:59:22.7336277Z           "evidence": [
2026-06-04T07:59:22.7336670Z             {
2026-06-04T07:59:22.7337248Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7337940Z               "line": 397
2026-06-04T07:59:22.7338353Z             },
2026-06-04T07:59:22.7338729Z             {
2026-06-04T07:59:22.7339385Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7339992Z               "line": 404
2026-06-04T07:59:22.7340383Z             },
2026-06-04T07:59:22.7340761Z             {
2026-06-04T07:59:22.7341346Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7341758Z               "line": 414
2026-06-04T07:59:22.7342134Z             },
2026-06-04T07:59:22.7342513Z             {
2026-06-04T07:59:22.7343085Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7343507Z               "line": 420
2026-06-04T07:59:22.7343887Z             },
2026-06-04T07:59:22.7344273Z             {
2026-06-04T07:59:22.7344855Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7345262Z               "line": 440
2026-06-04T07:59:22.7345656Z             },
2026-06-04T07:59:22.7346041Z             {
2026-06-04T07:59:22.7346631Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T07:59:22.7347033Z               "line": 473
2026-06-04T07:59:22.7347424Z             }
2026-06-04T07:59:22.7347814Z           ]
2026-06-04T07:59:22.7348201Z         }
2026-06-04T07:59:22.7348592Z       }
2026-06-04T07:59:22.7348967Z     },
2026-06-04T07:59:22.7349401Z     {
2026-06-04T07:59:22.7349844Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T07:59:22.7350640Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T07:59:22.7351080Z       "requiredStages": [
2026-06-04T07:59:22.7351463Z         "impl",
2026-06-04T07:59:22.7351854Z         "unit"
2026-06-04T07:59:22.7352231Z       ],
2026-06-04T07:59:22.7352628Z       "stages": {
2026-06-04T07:59:22.7353005Z         "doc": {
2026-06-04T07:59:22.7353434Z           "complete": false,
2026-06-04T07:59:22.7353852Z           "evidence": []
2026-06-04T07:59:22.7354228Z         },
2026-06-04T07:59:22.7354628Z         "impl": {
2026-06-04T07:59:22.7355052Z           "complete": true,
2026-06-04T07:59:22.7355474Z           "evidence": [
2026-06-04T07:59:22.7355881Z             {
2026-06-04T07:59:22.7357040Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7357539Z               "line": 28
2026-06-04T07:59:22.7358088Z             },
2026-06-04T07:59:22.7358478Z             {
2026-06-04T07:59:22.7359112Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7359568Z               "line": 83
2026-06-04T07:59:22.7359949Z             }
2026-06-04T07:59:22.7360339Z           ]
2026-06-04T07:59:22.7360726Z         },
2026-06-04T07:59:22.7361104Z         "int": {
2026-06-04T07:59:22.7361536Z           "complete": false,
2026-06-04T07:59:22.7361951Z           "evidence": []
2026-06-04T07:59:22.7362805Z         },
2026-06-04T07:59:22.7363241Z         "unit": {
2026-06-04T07:59:22.7364028Z           "complete": true,
2026-06-04T07:59:22.7364499Z           "evidence": [
2026-06-04T07:59:22.7364980Z             {
2026-06-04T07:59:22.7365767Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7366287Z               "line": 248
2026-06-04T07:59:22.7366755Z             },
2026-06-04T07:59:22.7367221Z             {
2026-06-04T07:59:22.7367968Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7368474Z               "line": 259
2026-06-04T07:59:22.7368915Z             }
2026-06-04T07:59:22.7369428Z           ]
2026-06-04T07:59:22.7369977Z         }
2026-06-04T07:59:22.7370392Z       }
2026-06-04T07:59:22.7370795Z     },
2026-06-04T07:59:22.7371213Z     {
2026-06-04T07:59:22.7371664Z       "id": "REQ-SEC-1",
2026-06-04T07:59:22.7373817Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T07:59:22.7374297Z       "requiredStages": [
2026-06-04T07:59:22.7374704Z         "impl",
2026-06-04T07:59:22.7375486Z         "unit"
2026-06-04T07:59:22.7375957Z       ],
2026-06-04T07:59:22.7376387Z       "stages": {
2026-06-04T07:59:22.7376800Z         "doc": {
2026-06-04T07:59:22.7377234Z           "complete": false,
2026-06-04T07:59:22.7377676Z           "evidence": []
2026-06-04T07:59:22.7378268Z         },
2026-06-04T07:59:22.7378685Z         "impl": {
2026-06-04T07:59:22.7379111Z           "complete": true,
2026-06-04T07:59:22.7379813Z           "evidence": [
2026-06-04T07:59:22.7380376Z             {
2026-06-04T07:59:22.7380973Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.7381425Z               "line": 84
2026-06-04T07:59:22.7381820Z             },
2026-06-04T07:59:22.7382224Z             {
2026-06-04T07:59:22.7382842Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.7383284Z               "line": 114
2026-06-04T07:59:22.7383697Z             },
2026-06-04T07:59:22.7384094Z             {
2026-06-04T07:59:22.7384703Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.7385127Z               "line": 128
2026-06-04T07:59:22.7385543Z             },
2026-06-04T07:59:22.7385940Z             {
2026-06-04T07:59:22.7386505Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7386969Z               "line": 108
2026-06-04T07:59:22.7387375Z             },
2026-06-04T07:59:22.7387777Z             {
2026-06-04T07:59:22.7388377Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7388848Z               "line": 129
2026-06-04T07:59:22.7389332Z             },
2026-06-04T07:59:22.7390064Z             {
2026-06-04T07:59:22.7390684Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7391113Z               "line": 142
2026-06-04T07:59:22.7391527Z             },
2026-06-04T07:59:22.7391930Z             {
2026-06-04T07:59:22.7392513Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7392946Z               "line": 208
2026-06-04T07:59:22.7393363Z             },
2026-06-04T07:59:22.7393806Z             {
2026-06-04T07:59:22.7394399Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7394859Z               "line": 234
2026-06-04T07:59:22.7395256Z             },
2026-06-04T07:59:22.7395683Z             {
2026-06-04T07:59:22.7396221Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7396651Z               "line": 625
2026-06-04T07:59:22.7397053Z             }
2026-06-04T07:59:22.7397450Z           ]
2026-06-04T07:59:22.7397874Z         },
2026-06-04T07:59:22.7398263Z         "int": {
2026-06-04T07:59:22.7398707Z           "complete": false,
2026-06-04T07:59:22.7399141Z           "evidence": []
2026-06-04T07:59:22.7399904Z         },
2026-06-04T07:59:22.7400338Z         "unit": {
2026-06-04T07:59:22.7400802Z           "complete": true,
2026-06-04T07:59:22.7401239Z           "evidence": [
2026-06-04T07:59:22.7401648Z             {
2026-06-04T07:59:22.7402264Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.7402717Z               "line": 140
2026-06-04T07:59:22.7403122Z             },
2026-06-04T07:59:22.7403524Z             {
2026-06-04T07:59:22.7404109Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.7404560Z               "line": 186
2026-06-04T07:59:22.7404961Z             },
2026-06-04T07:59:22.7405388Z             {
2026-06-04T07:59:22.7405969Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T07:59:22.7406394Z               "line": 218
2026-06-04T07:59:22.7406810Z             },
2026-06-04T07:59:22.7407206Z             {
2026-06-04T07:59:22.7407830Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T07:59:22.7408263Z               "line": 128
2026-06-04T07:59:22.7408673Z             },
2026-06-04T07:59:22.7418707Z             {
2026-06-04T07:59:22.7419740Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7420205Z               "line": 248
2026-06-04T07:59:22.7420607Z             },
2026-06-04T07:59:22.7421627Z             {
2026-06-04T07:59:22.7422246Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7422702Z               "line": 275
2026-06-04T07:59:22.7423143Z             },
2026-06-04T07:59:22.7423565Z             {
2026-06-04T07:59:22.7424376Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7424821Z               "line": 299
2026-06-04T07:59:22.7425241Z             },
2026-06-04T07:59:22.7425664Z             {
2026-06-04T07:59:22.7426261Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7426720Z               "line": 310
2026-06-04T07:59:22.7427131Z             },
2026-06-04T07:59:22.7427561Z             {
2026-06-04T07:59:22.7428149Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7428592Z               "line": 334
2026-06-04T07:59:22.7429005Z             },
2026-06-04T07:59:22.7429480Z             {
2026-06-04T07:59:22.7430086Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T07:59:22.7430533Z               "line": 350
2026-06-04T07:59:22.7430960Z             },
2026-06-04T07:59:22.7431375Z             {
2026-06-04T07:59:22.7431912Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7432358Z               "line": 830
2026-06-04T07:59:22.7432788Z             }
2026-06-04T07:59:22.7433214Z           ]
2026-06-04T07:59:22.7433622Z         }
2026-06-04T07:59:22.7434034Z       }
2026-06-04T07:59:22.7434429Z     },
2026-06-04T07:59:22.7434841Z     {
2026-06-04T07:59:22.7435300Z       "id": "REQ-START-1",
2026-06-04T07:59:22.7436325Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T07:59:22.7436816Z       "requiredStages": [
2026-06-04T07:59:22.7437234Z         "impl",
2026-06-04T07:59:22.7437657Z         "unit"
2026-06-04T07:59:22.7438062Z       ],
2026-06-04T07:59:22.7438492Z       "stages": {
2026-06-04T07:59:22.7438921Z         "doc": {
2026-06-04T07:59:22.7439445Z           "complete": false,
2026-06-04T07:59:22.7440066Z           "evidence": []
2026-06-04T07:59:22.7440468Z         },
2026-06-04T07:59:22.7440882Z         "impl": {
2026-06-04T07:59:22.7441320Z           "complete": true,
2026-06-04T07:59:22.7441745Z           "evidence": [
2026-06-04T07:59:22.7442170Z             {
2026-06-04T07:59:22.7442746Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T07:59:22.7443292Z               "line": 16
2026-06-04T07:59:22.7443691Z             }
2026-06-04T07:59:22.7444100Z           ]
2026-06-04T07:59:22.7444491Z         },
2026-06-04T07:59:22.7444899Z         "int": {
2026-06-04T07:59:22.7445346Z           "complete": false,
2026-06-04T07:59:22.7445764Z           "evidence": []
2026-06-04T07:59:22.7446160Z         },
2026-06-04T07:59:22.7446559Z         "unit": {
2026-06-04T07:59:22.7447018Z           "complete": true,
2026-06-04T07:59:22.7447452Z           "evidence": [
2026-06-04T07:59:22.7447848Z             {
2026-06-04T07:59:22.7448418Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T07:59:22.7448846Z               "line": 43
2026-06-04T07:59:22.7449489Z             },
2026-06-04T07:59:22.7449935Z             {
2026-06-04T07:59:22.7450651Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T07:59:22.7451071Z               "line": 59
2026-06-04T07:59:22.7451498Z             }
2026-06-04T07:59:22.7451908Z           ]
2026-06-04T07:59:22.7452301Z         }
2026-06-04T07:59:22.7452695Z       }
2026-06-04T07:59:22.7453081Z     },
2026-06-04T07:59:22.7453473Z     {
2026-06-04T07:59:22.7453935Z       "id": "REQ-START-2",
2026-06-04T07:59:22.7454652Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T07:59:22.7455127Z       "requiredStages": [
2026-06-04T07:59:22.7455524Z         "impl",
2026-06-04T07:59:22.7455918Z         "unit",
2026-06-04T07:59:22.7456309Z         "int"
2026-06-04T07:59:22.7456697Z       ],
2026-06-04T07:59:22.7457101Z       "stages": {
2026-06-04T07:59:22.7457507Z         "doc": {
2026-06-04T07:59:22.7457968Z           "complete": false,
2026-06-04T07:59:22.7458689Z           "evidence": []
2026-06-04T07:59:22.7459153Z         },
2026-06-04T07:59:22.7459968Z         "impl": {
2026-06-04T07:59:22.7460426Z           "complete": true,
2026-06-04T07:59:22.7460859Z           "evidence": [
2026-06-04T07:59:22.7461501Z             {
2026-06-04T07:59:22.7462098Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7462534Z               "line": 16
2026-06-04T07:59:22.7462941Z             },
2026-06-04T07:59:22.7463332Z             {
2026-06-04T07:59:22.7463899Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7464327Z               "line": 94
2026-06-04T07:59:22.7464755Z             },
2026-06-04T07:59:22.7465190Z             {
2026-06-04T07:59:22.7465760Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7466190Z               "line": 163
2026-06-04T07:59:22.7466578Z             }
2026-06-04T07:59:22.7466987Z           ]
2026-06-04T07:59:22.7467383Z         },
2026-06-04T07:59:22.7467817Z         "int": {
2026-06-04T07:59:22.7468275Z           "complete": true,
2026-06-04T07:59:22.7468701Z           "evidence": [
2026-06-04T07:59:22.7469109Z             {
2026-06-04T07:59:22.7469969Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.7470450Z               "line": 150
2026-06-04T07:59:22.7471022Z             }
2026-06-04T07:59:22.7471454Z           ]
2026-06-04T07:59:22.7471877Z         },
2026-06-04T07:59:22.7472303Z         "unit": {
2026-06-04T07:59:22.7472762Z           "complete": true,
2026-06-04T07:59:22.7473209Z           "evidence": [
2026-06-04T07:59:22.7473654Z             {
2026-06-04T07:59:22.7474261Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7474722Z               "line": 354
2026-06-04T07:59:22.7475150Z             },
2026-06-04T07:59:22.7475554Z             {
2026-06-04T07:59:22.7476132Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7476571Z               "line": 387
2026-06-04T07:59:22.7477000Z             }
2026-06-04T07:59:22.7477408Z           ]
2026-06-04T07:59:22.7477842Z         }
2026-06-04T07:59:22.7478274Z       }
2026-06-04T07:59:22.7478672Z     },
2026-06-04T07:59:22.7479087Z     {
2026-06-04T07:59:22.7479756Z       "id": "REQ-START-3",
2026-06-04T07:59:22.7480660Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T07:59:22.7481118Z       "requiredStages": [
2026-06-04T07:59:22.7481566Z         "impl",
2026-06-04T07:59:22.7482002Z         "unit",
2026-06-04T07:59:22.7482405Z         "int"
2026-06-04T07:59:22.7482817Z       ],
2026-06-04T07:59:22.7483240Z       "stages": {
2026-06-04T07:59:22.7483686Z         "doc": {
2026-06-04T07:59:22.7484148Z           "complete": false,
2026-06-04T07:59:22.7484609Z           "evidence": []
2026-06-04T07:59:22.7485024Z         },
2026-06-04T07:59:22.7485431Z         "impl": {
2026-06-04T07:59:22.7485894Z           "complete": true,
2026-06-04T07:59:22.7486314Z           "evidence": [
2026-06-04T07:59:22.7486738Z             {
2026-06-04T07:59:22.7487354Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T07:59:22.7487816Z               "line": 23
2026-06-04T07:59:22.7488238Z             },
2026-06-04T07:59:22.7488644Z             {
2026-06-04T07:59:22.7489550Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T07:59:22.7490132Z               "line": 167
2026-06-04T07:59:22.7490542Z             },
2026-06-04T07:59:22.7490943Z             {
2026-06-04T07:59:22.7491544Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T07:59:22.7491983Z               "line": 180
2026-06-04T07:59:22.7492409Z             },
2026-06-04T07:59:22.7492829Z             {
2026-06-04T07:59:22.7493397Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7493851Z               "line": 17
2026-06-04T07:59:22.7494259Z             },
2026-06-04T07:59:22.7494670Z             {
2026-06-04T07:59:22.7495243Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7495988Z               "line": 43
2026-06-04T07:59:22.7496462Z             },
2026-06-04T07:59:22.7507993Z             {
2026-06-04T07:59:22.7508826Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7509880Z               "line": 95
2026-06-04T07:59:22.7510351Z             }
2026-06-04T07:59:22.7510798Z           ]
2026-06-04T07:59:22.7511227Z         },
2026-06-04T07:59:22.7511784Z         "int": {
2026-06-04T07:59:22.7512278Z           "complete": true,
2026-06-04T07:59:22.7512758Z           "evidence": [
2026-06-04T07:59:22.7513204Z             {
2026-06-04T07:59:22.7513876Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T07:59:22.7514372Z               "line": 321
2026-06-04T07:59:22.7514811Z             }
2026-06-04T07:59:22.7515240Z           ]
2026-06-04T07:59:22.7515662Z         },
2026-06-04T07:59:22.7516128Z         "unit": {
2026-06-04T07:59:22.7516650Z           "complete": true,
2026-06-04T07:59:22.7517147Z           "evidence": [
2026-06-04T07:59:22.7517617Z             {
2026-06-04T07:59:22.7518279Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T07:59:22.7518753Z               "line": 245
2026-06-04T07:59:22.7519255Z             },
2026-06-04T07:59:22.7519764Z             {
2026-06-04T07:59:22.7520441Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T07:59:22.7520922Z               "line": 263
2026-06-04T07:59:22.7521404Z             },
2026-06-04T07:59:22.7521888Z             {
2026-06-04T07:59:22.7522590Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T07:59:22.7523111Z               "line": 273
2026-06-04T07:59:22.7523554Z             },
2026-06-04T07:59:22.7523984Z             {
2026-06-04T07:59:22.7524598Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7525082Z               "line": 355
2026-06-04T07:59:22.7525513Z             },
2026-06-04T07:59:22.7525946Z             {
2026-06-04T07:59:22.7526551Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7527030Z               "line": 388
2026-06-04T07:59:22.7527467Z             },
2026-06-04T07:59:22.7527906Z             {
2026-06-04T07:59:22.7528514Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T07:59:22.7528984Z               "line": 396
2026-06-04T07:59:22.7529503Z             }
2026-06-04T07:59:22.7530074Z           ]
2026-06-04T07:59:22.7530499Z         }
2026-06-04T07:59:22.7530916Z       }
2026-06-04T07:59:22.7531359Z     },
2026-06-04T07:59:22.7531800Z     {
2026-06-04T07:59:22.7532291Z       "id": "REQ-START-4",
2026-06-04T07:59:22.7533070Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T07:59:22.7533569Z       "requiredStages": [
2026-06-04T07:59:22.7534037Z         "impl",
2026-06-04T07:59:22.7534454Z         "unit"
2026-06-04T07:59:22.7534852Z       ],
2026-06-04T07:59:22.7535310Z       "stages": {
2026-06-04T07:59:22.7535734Z         "doc": {
2026-06-04T07:59:22.7536205Z           "complete": false,
2026-06-04T07:59:22.7536700Z           "evidence": []
2026-06-04T07:59:22.7537131Z         },
2026-06-04T07:59:22.7537582Z         "impl": {
2026-06-04T07:59:22.7538048Z           "complete": true,
2026-06-04T07:59:22.7538504Z           "evidence": [
2026-06-04T07:59:22.7538952Z             {
2026-06-04T07:59:22.7539853Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.7540468Z               "line": 190
2026-06-04T07:59:22.7540869Z             }
2026-06-04T07:59:22.7541300Z           ]
2026-06-04T07:59:22.7541704Z         },
2026-06-04T07:59:22.7542128Z         "int": {
2026-06-04T07:59:22.7542589Z           "complete": false,
2026-06-04T07:59:22.7543016Z           "evidence": []
2026-06-04T07:59:22.7543420Z         },
2026-06-04T07:59:22.7543818Z         "unit": {
2026-06-04T07:59:22.7544278Z           "complete": true,
2026-06-04T07:59:22.7544704Z           "evidence": [
2026-06-04T07:59:22.7545130Z             {
2026-06-04T07:59:22.7545764Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T07:59:22.7546609Z               "line": 351
2026-06-04T07:59:22.7547102Z             }
2026-06-04T07:59:22.7547523Z           ]
2026-06-04T07:59:22.7547958Z         }
2026-06-04T07:59:22.7548376Z       }
2026-06-04T07:59:22.7548827Z     },
2026-06-04T07:59:22.7549759Z     {
2026-06-04T07:59:22.7550397Z       "id": "REQ-STORE-1",
2026-06-04T07:59:22.7555154Z       "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-04T07:59:22.7555653Z       "requiredStages": [
2026-06-04T07:59:22.7556053Z         "impl",
2026-06-04T07:59:22.7556456Z         "unit"
2026-06-04T07:59:22.7556845Z       ],
2026-06-04T07:59:22.7557254Z       "stages": {
2026-06-04T07:59:22.7557651Z         "doc": {
2026-06-04T07:59:22.7558104Z           "complete": false,
2026-06-04T07:59:22.7558572Z           "evidence": []
2026-06-04T07:59:22.7559133Z         },
2026-06-04T07:59:22.7559696Z         "impl": {
2026-06-04T07:59:22.7560206Z           "complete": true,
2026-06-04T07:59:22.7560711Z           "evidence": [
2026-06-04T07:59:22.7561207Z             {
2026-06-04T07:59:22.7561984Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7562515Z               "line": 23
2026-06-04T07:59:22.7562967Z             },
2026-06-04T07:59:22.7563433Z             {
2026-06-04T07:59:22.7564143Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7564655Z               "line": 46
2026-06-04T07:59:22.7565110Z             },
2026-06-04T07:59:22.7565609Z             {
2026-06-04T07:59:22.7566354Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7566842Z               "line": 88
2026-06-04T07:59:22.7567306Z             },
2026-06-04T07:59:22.7567762Z             {
2026-06-04T07:59:22.7568511Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7569015Z               "line": 109
2026-06-04T07:59:22.7569620Z             },
2026-06-04T07:59:22.7570099Z             {
2026-06-04T07:59:22.7570793Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7571274Z               "line": 152
2026-06-04T07:59:22.7571682Z             },
2026-06-04T07:59:22.7572092Z             {
2026-06-04T07:59:22.7572732Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7573210Z               "line": 165
2026-06-04T07:59:22.7573641Z             },
2026-06-04T07:59:22.7574050Z             {
2026-06-04T07:59:22.7574732Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7575188Z               "line": 353
2026-06-04T07:59:22.7575610Z             },
2026-06-04T07:59:22.7576009Z             {
2026-06-04T07:59:22.7576677Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7577136Z               "line": 25
2026-06-04T07:59:22.7577550Z             },
2026-06-04T07:59:22.7577957Z             {
2026-06-04T07:59:22.7578607Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7579044Z               "line": 92
2026-06-04T07:59:22.7579572Z             },
2026-06-04T07:59:22.7579988Z             {
2026-06-04T07:59:22.7580661Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7581091Z               "line": 117
2026-06-04T07:59:22.7581493Z             },
2026-06-04T07:59:22.7581881Z             {
2026-06-04T07:59:22.7582521Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7582949Z               "line": 131
2026-06-04T07:59:22.7583341Z             },
2026-06-04T07:59:22.7583744Z             {
2026-06-04T07:59:22.7584373Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7584793Z               "line": 145
2026-06-04T07:59:22.7585185Z             },
2026-06-04T07:59:22.7585592Z             {
2026-06-04T07:59:22.7586551Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7587023Z               "line": 154
2026-06-04T07:59:22.7587427Z             },
2026-06-04T07:59:22.7587814Z             {
2026-06-04T07:59:22.7588574Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T07:59:22.7588999Z               "line": 16
2026-06-04T07:59:22.7589467Z             },
2026-06-04T07:59:22.7598896Z             {
2026-06-04T07:59:22.7599894Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T07:59:22.7600469Z               "line": 63
2026-06-04T07:59:22.7600873Z             }
2026-06-04T07:59:22.7601277Z           ]
2026-06-04T07:59:22.7601695Z         },
2026-06-04T07:59:22.7602131Z         "int": {
2026-06-04T07:59:22.7602634Z           "complete": false,
2026-06-04T07:59:22.7603130Z           "evidence": []
2026-06-04T07:59:22.7603587Z         },
2026-06-04T07:59:22.7604022Z         "unit": {
2026-06-04T07:59:22.7604514Z           "complete": true,
2026-06-04T07:59:22.7605006Z           "evidence": [
2026-06-04T07:59:22.7605459Z             {
2026-06-04T07:59:22.7606192Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7606689Z               "line": 391
2026-06-04T07:59:22.7607160Z             },
2026-06-04T07:59:22.7607593Z             {
2026-06-04T07:59:22.7608277Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7608728Z               "line": 401
2026-06-04T07:59:22.7609144Z             },
2026-06-04T07:59:22.7609649Z             {
2026-06-04T07:59:22.7610298Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7610772Z               "line": 421
2026-06-04T07:59:22.7611238Z             },
2026-06-04T07:59:22.7611670Z             {
2026-06-04T07:59:22.7612312Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7612740Z               "line": 437
2026-06-04T07:59:22.7613128Z             },
2026-06-04T07:59:22.7613528Z             {
2026-06-04T07:59:22.7614153Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T07:59:22.7614589Z               "line": 458
2026-06-04T07:59:22.7614993Z             },
2026-06-04T07:59:22.7615386Z             {
2026-06-04T07:59:22.7616031Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7616451Z               "line": 312
2026-06-04T07:59:22.7616847Z             },
2026-06-04T07:59:22.7617234Z             {
2026-06-04T07:59:22.7617868Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T07:59:22.7618293Z               "line": 342
2026-06-04T07:59:22.7618689Z             },
2026-06-04T07:59:22.7619092Z             {
2026-06-04T07:59:22.7619746Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T07:59:22.7620326Z               "line": 116
2026-06-04T07:59:22.7620702Z             },
2026-06-04T07:59:22.7621083Z             {
2026-06-04T07:59:22.7621655Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T07:59:22.7622067Z               "line": 124
2026-06-04T07:59:22.7622455Z             }
2026-06-04T07:59:22.7622843Z           ]
2026-06-04T07:59:22.7623229Z         }
2026-06-04T07:59:22.7623603Z       }
2026-06-04T07:59:22.7623993Z     },
2026-06-04T07:59:22.7624369Z     {
2026-06-04T07:59:22.7624784Z       "id": "REQ-TERM-1",
2026-06-04T07:59:22.7625627Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T07:59:22.7626053Z       "requiredStages": [
2026-06-04T07:59:22.7626451Z         "impl",
2026-06-04T07:59:22.7626829Z         "unit"
2026-06-04T07:59:22.7627217Z       ],
2026-06-04T07:59:22.7627613Z       "stages": {
2026-06-04T07:59:22.7627995Z         "doc": {
2026-06-04T07:59:22.7628424Z           "complete": false,
2026-06-04T07:59:22.7628828Z           "evidence": []
2026-06-04T07:59:22.7629252Z         },
2026-06-04T07:59:22.7629927Z         "impl": {
2026-06-04T07:59:22.7630355Z           "complete": true,
2026-06-04T07:59:22.7630762Z           "evidence": [
2026-06-04T07:59:22.7631875Z             {
2026-06-04T07:59:22.7632499Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T07:59:22.7632903Z               "line": 61
2026-06-04T07:59:22.7633287Z             },
2026-06-04T07:59:22.7633833Z             {
2026-06-04T07:59:22.7634354Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T07:59:22.7634768Z               "line": 169
2026-06-04T07:59:22.7635145Z             },
2026-06-04T07:59:22.7635529Z             {
2026-06-04T07:59:22.7636072Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T07:59:22.7636479Z               "line": 95
2026-06-04T07:59:22.7636858Z             }
2026-06-04T07:59:22.7637242Z           ]
2026-06-04T07:59:22.7637625Z         },
2026-06-04T07:59:22.7638003Z         "int": {
2026-06-04T07:59:22.7638431Z           "complete": false,
2026-06-04T07:59:22.7638839Z           "evidence": []
2026-06-04T07:59:22.7639423Z         },
2026-06-04T07:59:22.7639963Z         "unit": {
2026-06-04T07:59:22.7640405Z           "complete": true,
2026-06-04T07:59:22.7640826Z           "evidence": [
2026-06-04T07:59:22.7641204Z             {
2026-06-04T07:59:22.7641780Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T07:59:22.7642192Z               "line": 28
2026-06-04T07:59:22.7642578Z             },
2026-06-04T07:59:22.7642960Z             {
2026-06-04T07:59:22.7643535Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T07:59:22.7643939Z               "line": 60
2026-06-04T07:59:22.7644315Z             }
2026-06-04T07:59:22.7644699Z           ]
2026-06-04T07:59:22.7645072Z         }
2026-06-04T07:59:22.7645462Z       }
2026-06-04T07:59:22.7645835Z     },
2026-06-04T07:59:22.7646219Z     {
2026-06-04T07:59:22.7646640Z       "id": "REQ-TERM-2",
2026-06-04T07:59:22.7647529Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T07:59:22.7647962Z       "requiredStages": [
2026-06-04T07:59:22.7648338Z         "impl",
2026-06-04T07:59:22.7648733Z         "unit"
2026-06-04T07:59:22.7649115Z       ],
2026-06-04T07:59:22.7649561Z       "stages": {
2026-06-04T07:59:22.7649954Z         "doc": {
2026-06-04T07:59:22.7650372Z           "complete": false,
2026-06-04T07:59:22.7650788Z           "evidence": []
2026-06-04T07:59:22.7651170Z         },
2026-06-04T07:59:22.7651568Z         "impl": {
2026-06-04T07:59:22.7651984Z           "complete": true,
2026-06-04T07:59:22.7652395Z           "evidence": [
2026-06-04T07:59:22.7652783Z             {
2026-06-04T07:59:22.7653335Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T07:59:22.7653749Z               "line": 112
2026-06-04T07:59:22.7654129Z             },
2026-06-04T07:59:22.7654515Z             {
2026-06-04T07:59:22.7655056Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T07:59:22.7655469Z               "line": 122
2026-06-04T07:59:22.7655855Z             }
2026-06-04T07:59:22.7656230Z           ]
2026-06-04T07:59:22.7656619Z         },
2026-06-04T07:59:22.7656994Z         "int": {
2026-06-04T07:59:22.7657429Z           "complete": false,
2026-06-04T07:59:22.7657837Z           "evidence": []
2026-06-04T07:59:22.7658223Z         },
2026-06-04T07:59:22.7658612Z         "unit": {
2026-06-04T07:59:22.7659029Z           "complete": true,
2026-06-04T07:59:22.7659489Z           "evidence": [
2026-06-04T07:59:22.7659870Z             {
2026-06-04T07:59:22.7660444Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T07:59:22.7660839Z               "line": 46
2026-06-04T07:59:22.7661231Z             },
2026-06-04T07:59:22.7661620Z             {
2026-06-04T07:59:22.7662290Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T07:59:22.7662704Z               "line": 71
2026-06-04T07:59:22.7663084Z             }
2026-06-04T07:59:22.7663474Z           ]
2026-06-04T07:59:22.7663850Z         }
2026-06-04T07:59:22.7664233Z       }
2026-06-04T07:59:22.7664615Z     },
2026-06-04T07:59:22.7664985Z     {
2026-06-04T07:59:22.7665409Z       "id": "REQ-TERM-3",
2026-06-04T07:59:22.7666259Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T07:59:22.7666720Z       "requiredStages": [
2026-06-04T07:59:22.7667107Z         "impl",
2026-06-04T07:59:22.7667495Z         "unit"
2026-06-04T07:59:22.7668024Z       ],
2026-06-04T07:59:22.7668421Z       "stages": {
2026-06-04T07:59:22.7668813Z         "doc": {
2026-06-04T07:59:22.7669287Z           "complete": false,
2026-06-04T07:59:22.7669705Z           "evidence": []
2026-06-04T07:59:22.7670080Z         },
2026-06-04T07:59:22.7670481Z         "impl": {
2026-06-04T07:59:22.7670914Z           "complete": true,
2026-06-04T07:59:22.7671329Z           "evidence": [
2026-06-04T07:59:22.7671721Z             {
2026-06-04T07:59:22.7672257Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T07:59:22.7672668Z               "line": 71
2026-06-04T07:59:22.7673046Z             }
2026-06-04T07:59:22.7673437Z           ]
2026-06-04T07:59:22.7673825Z         },
2026-06-04T07:59:22.7674213Z         "int": {
2026-06-04T07:59:22.7674658Z           "complete": false,
2026-06-04T07:59:22.7675067Z           "evidence": []
2026-06-04T07:59:22.7675465Z         },
2026-06-04T07:59:22.7675852Z         "unit": {
2026-06-04T07:59:22.7676284Z           "complete": true,
2026-06-04T07:59:22.7676710Z           "evidence": [
2026-06-04T07:59:22.7677089Z             {
2026-06-04T07:59:22.7677674Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T07:59:22.7678075Z               "line": 37
2026-06-04T07:59:22.7678461Z             },
2026-06-04T07:59:22.7678843Z             {
2026-06-04T07:59:22.7679460Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T07:59:22.7679875Z               "line": 67
2026-06-04T07:59:22.7680254Z             }
2026-06-04T07:59:22.7680647Z           ]
2026-06-04T07:59:22.7681029Z         }
2026-06-04T07:59:22.7681412Z       }
2026-06-04T07:59:22.7681783Z     },
2026-06-04T07:59:22.7682170Z     {
2026-06-04T07:59:22.7682597Z       "id": "REQ-TERM-4",
2026-06-04T07:59:22.7684459Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T07:59:22.7684903Z       "requiredStages": [
2026-06-04T07:59:22.7685294Z         "impl",
2026-06-04T07:59:22.7685702Z         "unit",
2026-06-04T07:59:22.7686081Z         "int"
2026-06-04T07:59:22.7686467Z       ],
2026-06-04T07:59:22.7686874Z       "stages": {
2026-06-04T07:59:22.7687259Z         "doc": {
2026-06-04T07:59:22.7687691Z           "complete": true,
2026-06-04T07:59:22.7688097Z           "evidence": [
2026-06-04T07:59:22.7688482Z             {
2026-06-04T07:59:22.7688941Z               "path": "docs/MANIFEST.md",
2026-06-04T07:59:22.7689397Z               "line": 106
2026-06-04T07:59:22.7689792Z             }
2026-06-04T07:59:22.7690172Z           ]
2026-06-04T07:59:22.7690555Z         },
2026-06-04T07:59:22.7690948Z         "impl": {
2026-06-04T07:59:22.7691380Z           "complete": true,
2026-06-04T07:59:22.7691786Z           "evidence": [
2026-06-04T07:59:22.7692189Z             {
2026-06-04T07:59:22.7692753Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T07:59:22.7693154Z               "line": 448
2026-06-04T07:59:22.7693539Z             },
2026-06-04T07:59:22.7693924Z             {
2026-06-04T07:59:22.7702616Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7703201Z               "line": 41
2026-06-04T07:59:22.7703579Z             },
2026-06-04T07:59:22.7703963Z             {
2026-06-04T07:59:22.7704538Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7704943Z               "line": 91
2026-06-04T07:59:22.7705328Z             },
2026-06-04T07:59:22.7705710Z             {
2026-06-04T07:59:22.7706742Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7707177Z               "line": 152
2026-06-04T07:59:22.7707587Z             },
2026-06-04T07:59:22.7707975Z             {
2026-06-04T07:59:22.7709018Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7709575Z               "line": 212
2026-06-04T07:59:22.7710010Z             },
2026-06-04T07:59:22.7710474Z             {
2026-06-04T07:59:22.7711143Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7711992Z               "line": 20
2026-06-04T07:59:22.7712406Z             },
2026-06-04T07:59:22.7712829Z             {
2026-06-04T07:59:22.7713464Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7713922Z               "line": 212
2026-06-04T07:59:22.7714335Z             },
2026-06-04T07:59:22.7714721Z             {
2026-06-04T07:59:22.7715334Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7715755Z               "line": 226
2026-06-04T07:59:22.7716163Z             },
2026-06-04T07:59:22.7716559Z             {
2026-06-04T07:59:22.7717164Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.7717605Z               "line": 574
2026-06-04T07:59:22.7718013Z             },
2026-06-04T07:59:22.7718408Z             {
2026-06-04T07:59:22.7718960Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7719447Z               "line": 157
2026-06-04T07:59:22.7719980Z             },
2026-06-04T07:59:22.7720365Z             {
2026-06-04T07:59:22.7720915Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7721320Z               "line": 199
2026-06-04T07:59:22.7721710Z             },
2026-06-04T07:59:22.7722084Z             {
2026-06-04T07:59:22.7722632Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7723044Z               "line": 226
2026-06-04T07:59:22.7723421Z             },
2026-06-04T07:59:22.7723810Z             {
2026-06-04T07:59:22.7724294Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7724710Z               "line": 211
2026-06-04T07:59:22.7725086Z             }
2026-06-04T07:59:22.7725466Z           ]
2026-06-04T07:59:22.7725847Z         },
2026-06-04T07:59:22.7726228Z         "int": {
2026-06-04T07:59:22.7726663Z           "complete": true,
2026-06-04T07:59:22.7727072Z           "evidence": [
2026-06-04T07:59:22.7727460Z             {
2026-06-04T07:59:22.7728032Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T07:59:22.7728453Z               "line": 18
2026-06-04T07:59:22.7728843Z             }
2026-06-04T07:59:22.7729259Z           ]
2026-06-04T07:59:22.7729948Z         },
2026-06-04T07:59:22.7730326Z         "unit": {
2026-06-04T07:59:22.7730759Z           "complete": true,
2026-06-04T07:59:22.7731164Z           "evidence": [
2026-06-04T07:59:22.7731553Z             {
2026-06-04T07:59:22.7732125Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7732524Z               "line": 250
2026-06-04T07:59:22.7733085Z             },
2026-06-04T07:59:22.7733496Z             {
2026-06-04T07:59:22.7734122Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7734609Z               "line": 263
2026-06-04T07:59:22.7735112Z             },
2026-06-04T07:59:22.7735580Z             {
2026-06-04T07:59:22.7736209Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7736675Z               "line": 275
2026-06-04T07:59:22.7737092Z             },
2026-06-04T07:59:22.7737558Z             {
2026-06-04T07:59:22.7738199Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7738666Z               "line": 290
2026-06-04T07:59:22.7739123Z             },
2026-06-04T07:59:22.7739638Z             {
2026-06-04T07:59:22.7740299Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7740762Z               "line": 305
2026-06-04T07:59:22.7741189Z             },
2026-06-04T07:59:22.7741592Z             {
2026-06-04T07:59:22.7742175Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7742598Z               "line": 327
2026-06-04T07:59:22.7742993Z             },
2026-06-04T07:59:22.7743403Z             {
2026-06-04T07:59:22.7744298Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7744782Z               "line": 337
2026-06-04T07:59:22.7745189Z             },
2026-06-04T07:59:22.7745592Z             {
2026-06-04T07:59:22.7746184Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T07:59:22.7746759Z               "line": 364
2026-06-04T07:59:22.7747167Z             },
2026-06-04T07:59:22.7747562Z             {
2026-06-04T07:59:22.7748194Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7748629Z               "line": 338
2026-06-04T07:59:22.7749022Z             },
2026-06-04T07:59:22.7749481Z             {
2026-06-04T07:59:22.7750110Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7750540Z               "line": 350
2026-06-04T07:59:22.7750933Z             },
2026-06-04T07:59:22.7751352Z             {
2026-06-04T07:59:22.7751973Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7752392Z               "line": 367
2026-06-04T07:59:22.7752805Z             },
2026-06-04T07:59:22.7753200Z             {
2026-06-04T07:59:22.7753821Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T07:59:22.7754236Z               "line": 378
2026-06-04T07:59:22.7754650Z             },
2026-06-04T07:59:22.7755059Z             {
2026-06-04T07:59:22.7755659Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.7756095Z               "line": 759
2026-06-04T07:59:22.7756490Z             },
2026-06-04T07:59:22.7756889Z             {
2026-06-04T07:59:22.7757500Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.7757932Z               "line": 766
2026-06-04T07:59:22.7758334Z             },
2026-06-04T07:59:22.7758719Z             {
2026-06-04T07:59:22.7759379Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.7759806Z               "line": 781
2026-06-04T07:59:22.7760216Z             },
2026-06-04T07:59:22.7760614Z             {
2026-06-04T07:59:22.7761178Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7761602Z               "line": 381
2026-06-04T07:59:22.7761995Z             },
2026-06-04T07:59:22.7762412Z             {
2026-06-04T07:59:22.7762978Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7763424Z               "line": 402
2026-06-04T07:59:22.7763827Z             },
2026-06-04T07:59:22.7764219Z             {
2026-06-04T07:59:22.7764782Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7765195Z               "line": 415
2026-06-04T07:59:22.7765597Z             },
2026-06-04T07:59:22.7765984Z             {
2026-06-04T07:59:22.7766548Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7766968Z               "line": 434
2026-06-04T07:59:22.7767360Z             },
2026-06-04T07:59:22.7767758Z             {
2026-06-04T07:59:22.7768306Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T07:59:22.7768734Z               "line": 461
2026-06-04T07:59:22.7769133Z             },
2026-06-04T07:59:22.7769714Z             {
2026-06-04T07:59:22.7770282Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T07:59:22.7770677Z               "line": 32
2026-06-04T07:59:22.7771069Z             },
2026-06-04T07:59:22.7771444Z             {
2026-06-04T07:59:22.7771946Z               "path": "crates/spt/src/cli.rs",
2026-06-04T07:59:22.7772344Z               "line": 857
2026-06-04T07:59:22.7772723Z             }
2026-06-04T07:59:22.7773105Z           ]
2026-06-04T07:59:22.7773475Z         }
2026-06-04T07:59:22.7773861Z       }
2026-06-04T07:59:22.7774232Z     },
2026-06-04T07:59:22.7774612Z     {
2026-06-04T07:59:22.7775019Z       "id": "REQ-UPD-1",
2026-06-04T07:59:22.7775582Z       "title": "Peer-propagated update over P2P",
2026-06-04T07:59:22.7776021Z       "requiredStages": [
2026-06-04T07:59:22.7776409Z         "impl",
2026-06-04T07:59:22.7776800Z         "unit"
2026-06-04T07:59:22.7777178Z       ],
2026-06-04T07:59:22.7777572Z       "stages": {
2026-06-04T07:59:22.7778142Z         "doc": {
2026-06-04T07:59:22.7784940Z           "complete": false,
2026-06-04T07:59:22.7785526Z           "evidence": []
2026-06-04T07:59:22.7785923Z         },
2026-06-04T07:59:22.7786351Z         "impl": {
2026-06-04T07:59:22.7787096Z           "complete": true,
2026-06-04T07:59:22.7787523Z           "evidence": [
2026-06-04T07:59:22.7787913Z             {
2026-06-04T07:59:22.7788544Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.7788966Z               "line": 28
2026-06-04T07:59:22.7789468Z             },
2026-06-04T07:59:22.7789883Z             {
2026-06-04T07:59:22.7790492Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.7790914Z               "line": 74
2026-06-04T07:59:22.7791306Z             },
2026-06-04T07:59:22.7791707Z             {
2026-06-04T07:59:22.7792316Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.7792734Z               "line": 209
2026-06-04T07:59:22.7793153Z             },
2026-06-04T07:59:22.7793542Z             {
2026-06-04T07:59:22.7794143Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T07:59:22.7794558Z               "line": 22
2026-06-04T07:59:22.7794973Z             },
2026-06-04T07:59:22.7795374Z             {
2026-06-04T07:59:22.7795967Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T07:59:22.7796391Z               "line": 67
2026-06-04T07:59:22.7796786Z             },
2026-06-04T07:59:22.7797185Z             {
2026-06-04T07:59:22.7797773Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T07:59:22.7798197Z               "line": 80
2026-06-04T07:59:22.7798599Z             },
2026-06-04T07:59:22.7798984Z             {
2026-06-04T07:59:22.7799622Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T07:59:22.7800166Z               "line": 37
2026-06-04T07:59:22.7800554Z             }
2026-06-04T07:59:22.7800930Z           ]
2026-06-04T07:59:22.7801320Z         },
2026-06-04T07:59:22.7801723Z         "int": {
2026-06-04T07:59:22.7802146Z           "complete": false,
2026-06-04T07:59:22.7802561Z           "evidence": []
2026-06-04T07:59:22.7802936Z         },
2026-06-04T07:59:22.7803327Z         "unit": {
2026-06-04T07:59:22.7803749Z           "complete": true,
2026-06-04T07:59:22.7804162Z           "evidence": [
2026-06-04T07:59:22.7804544Z             {
2026-06-04T07:59:22.7805118Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T07:59:22.7805529Z               "line": 108
2026-06-04T07:59:22.7805908Z             },
2026-06-04T07:59:22.7806292Z             {
2026-06-04T07:59:22.7806865Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T07:59:22.7807284Z               "line": 125
2026-06-04T07:59:22.7807667Z             },
2026-06-04T07:59:22.7808039Z             {
2026-06-04T07:59:22.7808663Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T07:59:22.7809069Z               "line": 198
2026-06-04T07:59:22.7809817Z             },
2026-06-04T07:59:22.7810209Z             {
2026-06-04T07:59:22.7810778Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T07:59:22.7811183Z               "line": 92
2026-06-04T07:59:22.7811571Z             },
2026-06-04T07:59:22.7811961Z             {
2026-06-04T07:59:22.7812520Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T07:59:22.7812935Z               "line": 128
2026-06-04T07:59:22.7813318Z             }
2026-06-04T07:59:22.7813692Z           ]
2026-06-04T07:59:22.7814076Z         }
2026-06-04T07:59:22.7814449Z       }
2026-06-04T07:59:22.7814835Z     },
2026-06-04T07:59:22.7815206Z     {
2026-06-04T07:59:22.7815625Z       "id": "REQ-UPD-2",
2026-06-04T07:59:22.7816339Z       "title": "All binaries signature-verified before handoff",
2026-06-04T07:59:22.7816764Z       "requiredStages": [
2026-06-04T07:59:22.7817161Z         "impl",
2026-06-04T07:59:22.7817548Z         "unit"
2026-06-04T07:59:22.7817942Z       ],
2026-06-04T07:59:22.7818532Z       "stages": {
2026-06-04T07:59:22.7818943Z         "doc": {
2026-06-04T07:59:22.7819584Z           "complete": false,
2026-06-04T07:59:22.7820171Z           "evidence": []
2026-06-04T07:59:22.7820558Z         },
2026-06-04T07:59:22.7821083Z         "impl": {
2026-06-04T07:59:22.7821512Z           "complete": true,
2026-06-04T07:59:22.7821912Z           "evidence": [
2026-06-04T07:59:22.7822295Z             {
2026-06-04T07:59:22.7822895Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.7823300Z               "line": 210
2026-06-04T07:59:22.7823692Z             },
2026-06-04T07:59:22.7824069Z             {
2026-06-04T07:59:22.7824666Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T07:59:22.7825076Z               "line": 294
2026-06-04T07:59:22.7825467Z             },
2026-06-04T07:59:22.7825852Z             {
2026-06-04T07:59:22.7826419Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7826822Z               "line": 29
2026-06-04T07:59:22.7827210Z             },
2026-06-04T07:59:22.7827602Z             {
2026-06-04T07:59:22.7828168Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7828587Z               "line": 158
2026-06-04T07:59:22.7828981Z             },
2026-06-04T07:59:22.7829403Z             {
2026-06-04T07:59:22.7829981Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7830379Z               "line": 239
2026-06-04T07:59:22.7830766Z             },
2026-06-04T07:59:22.7831140Z             {
2026-06-04T07:59:22.7831718Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7832138Z               "line": 149
2026-06-04T07:59:22.7832515Z             }
2026-06-04T07:59:22.7832904Z           ]
2026-06-04T07:59:22.7833276Z         },
2026-06-04T07:59:22.7833665Z         "int": {
2026-06-04T07:59:22.7834088Z           "complete": false,
2026-06-04T07:59:22.7834509Z           "evidence": []
2026-06-04T07:59:22.7834896Z         },
2026-06-04T07:59:22.7835289Z         "unit": {
2026-06-04T07:59:22.7835720Z           "complete": true,
2026-06-04T07:59:22.7836119Z           "evidence": [
2026-06-04T07:59:22.7836503Z             {
2026-06-04T07:59:22.7837070Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7837493Z               "line": 336
2026-06-04T07:59:22.7837878Z             },
2026-06-04T07:59:22.7838255Z             {
2026-06-04T07:59:22.7838833Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7839279Z               "line": 350
2026-06-04T07:59:22.7839674Z             },
2026-06-04T07:59:22.7840048Z             {
2026-06-04T07:59:22.7840632Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7841039Z               "line": 361
2026-06-04T07:59:22.7841416Z             },
2026-06-04T07:59:22.7841830Z             {
2026-06-04T07:59:22.7842399Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7842812Z               "line": 437
2026-06-04T07:59:22.7843194Z             },
2026-06-04T07:59:22.7843582Z             {
2026-06-04T07:59:22.7844151Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7844551Z               "line": 326
2026-06-04T07:59:22.7844952Z             },
2026-06-04T07:59:22.7845326Z             {
2026-06-04T07:59:22.7845901Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7846300Z               "line": 339
2026-06-04T07:59:22.7846691Z             },
2026-06-04T07:59:22.7847077Z             {
2026-06-04T07:59:22.7847682Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T07:59:22.7848090Z               "line": 239
2026-06-04T07:59:22.7848468Z             }
2026-06-04T07:59:22.7848855Z           ]
2026-06-04T07:59:22.7849272Z         }
2026-06-04T07:59:22.7849655Z       }
2026-06-04T07:59:22.7850036Z     },
2026-06-04T07:59:22.7850398Z     {
2026-06-04T07:59:22.7850808Z       "id": "REQ-UPD-3",
2026-06-04T07:59:22.7851876Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T07:59:22.7852351Z       "requiredStages": [
2026-06-04T07:59:22.7852735Z         "impl",
2026-06-04T07:59:22.7853124Z         "unit",
2026-06-04T07:59:22.7853511Z         "int"
2026-06-04T07:59:22.7854019Z       ],
2026-06-04T07:59:22.7854420Z       "stages": {
2026-06-04T07:59:22.7854799Z         "doc": {
2026-06-04T07:59:22.7855227Z           "complete": false,
2026-06-04T07:59:22.7855630Z           "evidence": []
2026-06-04T07:59:22.7856019Z         },
2026-06-04T07:59:22.7856409Z         "impl": {
2026-06-04T07:59:22.7856817Z           "complete": true,
2026-06-04T07:59:22.7862050Z           "evidence": [
2026-06-04T07:59:22.7862530Z             {
2026-06-04T07:59:22.7863134Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7863535Z               "line": 26
2026-06-04T07:59:22.7863925Z             },
2026-06-04T07:59:22.7864314Z             {
2026-06-04T07:59:22.7864873Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7865308Z               "line": 111
2026-06-04T07:59:22.7865687Z             },
2026-06-04T07:59:22.7866073Z             {
2026-06-04T07:59:22.7866645Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7867070Z               "line": 213
2026-06-04T07:59:22.7867453Z             }
2026-06-04T07:59:22.7867835Z           ]
2026-06-04T07:59:22.7868216Z         },
2026-06-04T07:59:22.7868595Z         "int": {
2026-06-04T07:59:22.7869025Z           "complete": true,
2026-06-04T07:59:22.7869486Z           "evidence": [
2026-06-04T07:59:22.7869871Z             {
2026-06-04T07:59:22.7870493Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T07:59:22.7870892Z               "line": 23
2026-06-04T07:59:22.7871277Z             }
2026-06-04T07:59:22.7871651Z           ]
2026-06-04T07:59:22.7872031Z         },
2026-06-04T07:59:22.7872410Z         "unit": {
2026-06-04T07:59:22.7872832Z           "complete": true,
2026-06-04T07:59:22.7873252Z           "evidence": [
2026-06-04T07:59:22.7873631Z             {
2026-06-04T07:59:22.7874235Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7874823Z               "line": 238
2026-06-04T07:59:22.7875268Z             },
2026-06-04T07:59:22.7875720Z             {
2026-06-04T07:59:22.7876376Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7876822Z               "line": 262
2026-06-04T07:59:22.7877350Z             },
2026-06-04T07:59:22.7877736Z             {
2026-06-04T07:59:22.7878299Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7878709Z               "line": 273
2026-06-04T07:59:22.7879101Z             },
2026-06-04T07:59:22.7879544Z             {
2026-06-04T07:59:22.7880120Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T07:59:22.7880525Z               "line": 286
2026-06-04T07:59:22.7880908Z             }
2026-06-04T07:59:22.7881284Z           ]
2026-06-04T07:59:22.7881669Z         }
2026-06-04T07:59:22.7882063Z       }
2026-06-04T07:59:22.7882436Z     },
2026-06-04T07:59:22.7882816Z     {
2026-06-04T07:59:22.7883225Z       "id": "REQ-UPD-4",
2026-06-04T07:59:22.7884122Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T07:59:22.7884570Z       "requiredStages": [
2026-06-04T07:59:22.7884969Z         "impl",
2026-06-04T07:59:22.7885362Z         "unit"
2026-06-04T07:59:22.7885730Z       ],
2026-06-04T07:59:22.7886124Z       "stages": {
2026-06-04T07:59:22.7886499Z         "doc": {
2026-06-04T07:59:22.7886932Z           "complete": false,
2026-06-04T07:59:22.7887335Z           "evidence": []
2026-06-04T07:59:22.7887719Z         },
2026-06-04T07:59:22.7888113Z         "impl": {
2026-06-04T07:59:22.7888535Z           "complete": true,
2026-06-04T07:59:22.7888943Z           "evidence": [
2026-06-04T07:59:22.7889359Z             {
2026-06-04T07:59:22.7889947Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T07:59:22.7890500Z               "line": 23
2026-06-04T07:59:22.7891537Z             },
2026-06-04T07:59:22.7892039Z             {
2026-06-04T07:59:22.7892702Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T07:59:22.7893182Z               "line": 60
2026-06-04T07:59:22.7893828Z             },
2026-06-04T07:59:22.7894282Z             {
2026-06-04T07:59:22.7894913Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T07:59:22.7895380Z               "line": 79
2026-06-04T07:59:22.7895837Z             },
2026-06-04T07:59:22.7896271Z             {
2026-06-04T07:59:22.7896945Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T07:59:22.7897434Z               "line": 179
2026-06-04T07:59:22.7897903Z             },
2026-06-04T07:59:22.7898362Z             {
2026-06-04T07:59:22.7898965Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.7899478Z               "line": 114
2026-06-04T07:59:22.7900039Z             }
2026-06-04T07:59:22.7900433Z           ]
2026-06-04T07:59:22.7900812Z         },
2026-06-04T07:59:22.7901241Z         "int": {
2026-06-04T07:59:22.7901661Z           "complete": false,
2026-06-04T07:59:22.7902081Z           "evidence": []
2026-06-04T07:59:22.7902469Z         },
2026-06-04T07:59:22.7902857Z         "unit": {
2026-06-04T07:59:22.7903293Z           "complete": true,
2026-06-04T07:59:22.7903695Z           "evidence": [
2026-06-04T07:59:22.7904087Z             {
2026-06-04T07:59:22.7904811Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T07:59:22.7905412Z               "line": 217
2026-06-04T07:59:22.7905798Z             },
2026-06-04T07:59:22.7906173Z             {
2026-06-04T07:59:22.7906747Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T07:59:22.7907145Z               "line": 118
2026-06-04T07:59:22.7907537Z             },
2026-06-04T07:59:22.7907911Z             {
2026-06-04T07:59:22.7908486Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T07:59:22.7908901Z               "line": 133
2026-06-04T07:59:22.7909499Z             },
2026-06-04T07:59:22.7910039Z             {
2026-06-04T07:59:22.7910610Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T07:59:22.7911026Z               "line": 152
2026-06-04T07:59:22.7911413Z             },
2026-06-04T07:59:22.7911797Z             {
2026-06-04T07:59:22.7912333Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T07:59:22.7912742Z               "line": 258
2026-06-04T07:59:22.7913132Z             },
2026-06-04T07:59:22.7913508Z             {
2026-06-04T07:59:22.7914056Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T07:59:22.7914454Z               "line": 433
2026-06-04T07:59:22.7914850Z             }
2026-06-04T07:59:22.7915232Z           ]
2026-06-04T07:59:22.7915611Z         }
2026-06-04T07:59:22.7915995Z       }
2026-06-04T07:59:22.7916373Z     },
2026-06-04T07:59:22.7916756Z     {
2026-06-04T07:59:22.7917160Z       "id": "REQ-UPD-5",
2026-06-04T07:59:22.7917875Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T07:59:22.7918315Z       "requiredStages": [
2026-06-04T07:59:22.7918700Z         "impl",
2026-06-04T07:59:22.7919089Z         "unit"
2026-06-04T07:59:22.7919661Z       ],
2026-06-04T07:59:22.7920211Z       "stages": {
2026-06-04T07:59:22.7920597Z         "doc": {
2026-06-04T07:59:22.7921028Z           "complete": false,
2026-06-04T07:59:22.7921441Z           "evidence": []
2026-06-04T07:59:22.7921813Z         },
2026-06-04T07:59:22.7922212Z         "impl": {
2026-06-04T07:59:22.7922625Z           "complete": true,
2026-06-04T07:59:22.7923042Z           "evidence": [
2026-06-04T07:59:22.7923418Z             {
2026-06-04T07:59:22.7924066Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7924465Z               "line": 27
2026-06-04T07:59:22.7924843Z             },
2026-06-04T07:59:22.7925227Z             {
2026-06-04T07:59:22.7925858Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7926267Z               "line": 82
2026-06-04T07:59:22.7926889Z             },
2026-06-04T07:59:22.7927310Z             {
2026-06-04T07:59:22.7927957Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7928357Z               "line": 134
2026-06-04T07:59:22.7928904Z             },
2026-06-04T07:59:22.7929462Z             {
2026-06-04T07:59:22.7930193Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7930590Z               "line": 198
2026-06-04T07:59:22.7930982Z             },
2026-06-04T07:59:22.7931368Z             {
2026-06-04T07:59:22.7931935Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T07:59:22.7932349Z               "line": 226
2026-06-04T07:59:22.7932727Z             }
2026-06-04T07:59:22.7933156Z           ]
2026-06-04T07:59:22.7933529Z         },
2026-06-04T07:59:22.7933931Z         "int": {
2026-06-04T07:59:22.7934361Z           "complete": false,
2026-06-04T07:59:22.7934766Z           "evidence": []
2026-06-04T07:59:22.7935155Z         },
2026-06-04T07:59:22.7935549Z         "unit": {
2026-06-04T07:59:22.7935979Z           "complete": true,
2026-06-04T07:59:22.7942424Z           "evidence": [
2026-06-04T07:59:22.7942951Z             {
2026-06-04T07:59:22.7943625Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7944063Z               "line": 194
2026-06-04T07:59:22.7944449Z             },
2026-06-04T07:59:22.7944823Z             {
2026-06-04T07:59:22.7945469Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7945885Z               "line": 208
2026-06-04T07:59:22.7946261Z             },
2026-06-04T07:59:22.7946649Z             {
2026-06-04T07:59:22.7947274Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7947686Z               "line": 222
2026-06-04T07:59:22.7948063Z             },
2026-06-04T07:59:22.7948446Z             {
2026-06-04T07:59:22.7949083Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7949626Z               "line": 236
2026-06-04T07:59:22.7950034Z             },
2026-06-04T07:59:22.7950409Z             {
2026-06-04T07:59:22.7951059Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T07:59:22.7951463Z               "line": 270
2026-06-04T07:59:22.7951861Z             },
2026-06-04T07:59:22.7952253Z             {
2026-06-04T07:59:22.7952823Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T07:59:22.7953236Z               "line": 729
2026-06-04T07:59:22.7953614Z             }
2026-06-04T07:59:22.7954000Z           ]
2026-06-04T07:59:22.7954376Z         }
2026-06-04T07:59:22.7954762Z       }
2026-06-04T07:59:22.7955142Z     }
2026-06-04T07:59:22.7955506Z   ],
2026-06-04T07:59:22.7955907Z   "findings": []
2026-06-04T07:59:22.7956274Z }
2026-06-04T07:59:22.8029920Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T07:59:22.8030495Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T07:59:22.8051795Z shell: /usr/bin/bash -e {0}
2026-06-04T07:59:22.8052190Z ##[endgroup]
2026-06-04T07:59:22.8255158Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T07:59:22.8257268Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8259370Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T07:59:22.8261233Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T07:59:22.8263498Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8282927Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8287054Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T07:59:22.8290736Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T07:59:22.8295620Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8301201Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8305531Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T07:59:22.8309082Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T07:59:22.8312311Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T07:59:22.8315167Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T07:59:22.8318659Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8322735Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T07:59:22.8326213Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T07:59:22.8329074Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T07:59:22.8330846Z 
2026-06-04T07:59:22.8331304Z # Requirement quality review
2026-06-04T07:59:22.8332024Z 
2026-06-04T07:59:22.8333007Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T07:59:22.8335405Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T07:59:22.8337788Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T07:59:22.8340232Z this command's output. Your task is the rubric items below.
2026-06-04T07:59:22.8341313Z 
2026-06-04T07:59:22.8341830Z ## Rubric
2026-06-04T07:59:22.8342314Z 
2026-06-04T07:59:22.8343528Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T07:59:22.8346130Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T07:59:22.8348439Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T07:59:22.8350715Z - **active-voice** — clear subject and active verb.
2026-06-04T07:59:22.8351688Z 
2026-06-04T07:59:22.8352726Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T07:59:22.8354494Z clear concerns.
2026-06-04T07:59:22.8355048Z 
2026-06-04T07:59:22.8355841Z ## Requirements
2026-06-04T07:59:22.8356456Z 
2026-06-04T07:59:22.8356859Z ### REQ-ARCH-1
2026-06-04T07:59:22.8357939Z - Title: Many small acyclically-layered crates
2026-06-04T07:59:22.8359355Z - Required stages: impl
2026-06-04T07:59:22.8360013Z 
2026-06-04T07:59:22.8360415Z ### REQ-ARCH-2
2026-06-04T07:59:22.8361679Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T07:59:22.8363212Z - Required stages: impl
2026-06-04T07:59:22.8363875Z 
2026-06-04T07:59:22.8364278Z ### REQ-ARCH-3
2026-06-04T07:59:22.8365738Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T07:59:22.8367563Z - Required stages: impl, unit
2026-06-04T07:59:22.8368304Z 
2026-06-04T07:59:22.8368698Z ### REQ-ARCH-4
2026-06-04T07:59:22.8370080Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T07:59:22.8371709Z - Required stages: impl, unit
2026-06-04T07:59:22.8372429Z 
2026-06-04T07:59:22.8372844Z ### REQ-DAEMON-1
2026-06-04T07:59:22.8374151Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T07:59:22.8375762Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8376555Z 
2026-06-04T07:59:22.8376955Z ### REQ-DAEMON-2
2026-06-04T07:59:22.8378097Z - Title: Broker/brain split for seamless self-update
2026-06-04T07:59:22.8379608Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8380392Z 
2026-06-04T07:59:22.8380800Z ### REQ-DAEMON-3
2026-06-04T07:59:22.8382234Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T07:59:22.8383779Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8384568Z 
2026-06-04T07:59:22.8384968Z ### REQ-DAEMON-4
2026-06-04T07:59:22.8386036Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T07:59:22.8387380Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8388167Z 
2026-06-04T07:59:22.8388574Z ### REQ-STORE-1
2026-06-04T07:59:22.8393733Z - 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-04T07:59:22.8399269Z - Required stages: impl, unit
2026-06-04T07:59:22.8400016Z 
2026-06-04T07:59:22.8400429Z ### REQ-MANIFEST-1
2026-06-04T07:59:22.8401849Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T07:59:22.8403619Z - Required stages: doc, impl, unit
2026-06-04T07:59:22.8404468Z 
2026-06-04T07:59:22.8404919Z ### REQ-SEAM-SPAWN
2026-06-04T07:59:22.8405953Z - Title: spawn-session seam
2026-06-04T07:59:22.8407088Z - Required stages: impl, unit
2026-06-04T07:59:22.8407815Z 
2026-06-04T07:59:22.8408253Z ### REQ-SEAM-POSTSPAWN
2026-06-04T07:59:22.8409490Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T07:59:22.8410928Z - Required stages: impl, unit
2026-06-04T07:59:22.8411661Z 
2026-06-04T07:59:22.8412074Z ### REQ-SEAM-PSYCHE
2026-06-04T07:59:22.8413285Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T07:59:22.8414759Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8415542Z 
2026-06-04T07:59:22.8415963Z ### REQ-SEAM-HISTORY
2026-06-04T07:59:22.8417380Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T07:59:22.8419093Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8419933Z 
2026-06-04T07:59:22.8420348Z ### REQ-SEAM-ACTIVITY
2026-06-04T07:59:22.8421778Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T07:59:22.8423464Z - Required stages: impl, unit
2026-06-04T07:59:22.8424202Z 
2026-06-04T07:59:22.8424626Z ### REQ-SEAM-INJECT
2026-06-04T07:59:22.8425935Z - Title: inject-input methods configurable per activity-state
2026-06-04T07:59:22.8427506Z - Required stages: impl, unit
2026-06-04T07:59:22.8428238Z 
2026-06-04T07:59:22.8428654Z ### REQ-SEAM-RESUME
2026-06-04T07:59:22.8430105Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T07:59:22.8432046Z - Required stages: impl, unit
2026-06-04T07:59:22.8432821Z 
2026-06-04T07:59:22.8433263Z ### REQ-SEAM-CAPABILITY
2026-06-04T07:59:22.8434557Z - Title: Hostable endpoint-types capability declaration
2026-06-04T07:59:22.8436034Z - Required stages: impl, unit
2026-06-04T07:59:22.8436758Z 
2026-06-04T07:59:22.8437180Z ### REQ-SEAM-UPDATE
2026-06-04T07:59:22.8438473Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T07:59:22.8440108Z - Required stages: impl, unit
2026-06-04T07:59:22.8440842Z 
2026-06-04T07:59:22.8441235Z ### REQ-API-1
2026-06-04T07:59:22.8442527Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T07:59:22.8444175Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8444953Z 
2026-06-04T07:59:22.8445350Z ### REQ-API-2
2026-06-04T07:59:22.8446809Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T07:59:22.8448657Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8449503Z 
2026-06-04T07:59:22.8449895Z ### REQ-API-3
2026-06-04T07:59:22.8451022Z - Title: commune/signoff are file-drops, not commands
2026-06-04T07:59:22.8452475Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8453264Z 
2026-06-04T07:59:22.8453666Z ### REQ-START-1
2026-06-04T07:59:22.8455106Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T07:59:22.8456867Z - Required stages: impl, unit
2026-06-04T07:59:22.8457599Z 
2026-06-04T07:59:22.8458171Z ### REQ-START-2
2026-06-04T07:59:22.8459374Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T07:59:22.8460844Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8461635Z 
2026-06-04T07:59:22.8462027Z ### REQ-START-3
2026-06-04T07:59:22.8463351Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T07:59:22.8465009Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8465794Z 
2026-06-04T07:59:22.8466199Z ### REQ-START-4
2026-06-04T07:59:22.8467347Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T07:59:22.8468785Z - Required stages: impl, unit
2026-06-04T07:59:22.8469565Z 
2026-06-04T07:59:22.8469962Z ### REQ-EP-1
2026-06-04T07:59:22.8471042Z - Title: Day-one endpoint types; open type system
2026-06-04T07:59:22.8472462Z - Required stages: impl, unit
2026-06-04T07:59:22.8473183Z 
2026-06-04T07:59:22.8473580Z ### REQ-EP-2
2026-06-04T07:59:22.8474830Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T07:59:22.8476453Z - Required stages: impl, unit
2026-06-04T07:59:22.8477193Z 
2026-06-04T07:59:22.8477576Z ### REQ-EP-3
2026-06-04T07:59:22.8478933Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T07:59:22.8480705Z - Required stages: impl, unit
2026-06-04T07:59:22.8481445Z 
2026-06-04T07:59:22.8481843Z ### REQ-EP-4
2026-06-04T07:59:22.8482993Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T07:59:22.8484472Z - Required stages: impl, unit
2026-06-04T07:59:22.8485190Z 
2026-06-04T07:59:22.8485597Z ### REQ-EP-5
2026-06-04T07:59:22.8489696Z - 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-04T07:59:22.8494078Z - Required stages: 
2026-06-04T07:59:22.8494674Z 
2026-06-04T07:59:22.8495076Z ### REQ-INST-1
2026-06-04T07:59:22.8496305Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T07:59:22.8497826Z - Required stages: 
2026-06-04T07:59:22.8498404Z 
2026-06-04T07:59:22.8498812Z ### REQ-INST-2
2026-06-04T07:59:22.8499898Z - Title: Per-node files, synced Psyche mind
2026-06-04T07:59:22.8501222Z - Required stages: impl, unit
2026-06-04T07:59:22.8501956Z 
2026-06-04T07:59:22.8502343Z ### REQ-INST-3
2026-06-04T07:59:22.8510891Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T07:59:22.8512562Z - Required stages: 
2026-06-04T07:59:22.8513151Z 
2026-06-04T07:59:22.8513864Z ### REQ-INST-4
2026-06-04T07:59:22.8515197Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T07:59:22.8516824Z - Required stages: 
2026-06-04T07:59:22.8517415Z 
2026-06-04T07:59:22.8517808Z ### REQ-INST-5
2026-06-04T07:59:22.8519126Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T07:59:22.8520845Z - Required stages: impl, unit
2026-06-04T07:59:22.8521588Z 
2026-06-04T07:59:22.8521992Z ### REQ-INST-6
2026-06-04T07:59:22.8523385Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T07:59:22.8525066Z - Required stages: 
2026-06-04T07:59:22.8525649Z 
2026-06-04T07:59:22.8526054Z ### REQ-INST-7
2026-06-04T07:59:22.8527184Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T07:59:22.8528614Z - Required stages: impl, unit
2026-06-04T07:59:22.8529388Z 
2026-06-04T07:59:22.8529781Z ### REQ-INST-8
2026-06-04T07:59:22.8530994Z - Title: Remote-control mode distinct from local operation
2026-06-04T07:59:22.8532516Z - Required stages: impl, unit
2026-06-04T07:59:22.8533247Z 
2026-06-04T07:59:22.8533652Z ### REQ-INST-9
2026-06-04T07:59:22.8535022Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T07:59:22.8536748Z - Required stages: impl, unit
2026-06-04T07:59:22.8537480Z 
2026-06-04T07:59:22.8537875Z ### REQ-INST-10
2026-06-04T07:59:22.8539428Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T07:59:22.8541454Z - Required stages: impl, unit
2026-06-04T07:59:22.8542190Z 
2026-06-04T07:59:22.8542584Z ### REQ-INST-11
2026-06-04T07:59:22.8544105Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T07:59:22.8545980Z - Required stages: impl, unit
2026-06-04T07:59:22.8546712Z 
2026-06-04T07:59:22.8547100Z ### REQ-INST-12
2026-06-04T07:59:22.8549055Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T07:59:22.8551405Z - Required stages: impl, unit
2026-06-04T07:59:22.8552146Z 
2026-06-04T07:59:22.8552543Z ### REQ-INST-13
2026-06-04T07:59:22.8553896Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T07:59:22.8555572Z - Required stages: impl, unit
2026-06-04T07:59:22.8556288Z 
2026-06-04T07:59:22.8556687Z ### REQ-INST-14
2026-06-04T07:59:22.8559094Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T07:59:22.8561903Z - Required stages: 
2026-06-04T07:59:22.8562503Z 
2026-06-04T07:59:22.8562897Z ### REQ-INST-15
2026-06-04T07:59:22.8567215Z - 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-04T07:59:22.8571910Z - Required stages: 
2026-06-04T07:59:22.8572493Z 
2026-06-04T07:59:22.8572914Z ### REQ-REACH-1
2026-06-04T07:59:22.8574099Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T07:59:22.8575564Z - Required stages: impl, unit
2026-06-04T07:59:22.8576301Z 
2026-06-04T07:59:22.8576694Z ### REQ-REACH-2
2026-06-04T07:59:22.8577927Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T07:59:22.8579430Z - Required stages: 
2026-06-04T07:59:22.8580018Z 
2026-06-04T07:59:22.8580413Z ### REQ-MSG-1
2026-06-04T07:59:22.8583222Z - 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-04T07:59:22.8586426Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8587223Z 
2026-06-04T07:59:22.8587609Z ### REQ-MSG-2
2026-06-04T07:59:22.8589430Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T07:59:22.8591618Z - Required stages: impl, unit
2026-06-04T07:59:22.8592337Z 
2026-06-04T07:59:22.8592948Z ### REQ-MSG-3
2026-06-04T07:59:22.8595400Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T07:59:22.8598234Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8599023Z 
2026-06-04T07:59:22.8599478Z ### REQ-NODE-IDENTITY
2026-06-04T07:59:22.8601121Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T07:59:22.8603100Z - Required stages: impl, unit
2026-06-04T07:59:22.8603823Z 
2026-06-04T07:59:22.8604216Z ### REQ-NET-1
2026-06-04T07:59:22.8605553Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T07:59:22.8607245Z - Required stages: impl, unit
2026-06-04T07:59:22.8607977Z 
2026-06-04T07:59:22.8608356Z ### REQ-NET-2
2026-06-04T07:59:22.8609708Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T07:59:22.8611352Z - Required stages: impl
2026-06-04T07:59:22.8612003Z 
2026-06-04T07:59:22.8612415Z ### REQ-NET-3
2026-06-04T07:59:22.8613660Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T07:59:22.8615234Z - Required stages: impl, unit
2026-06-04T07:59:22.8615952Z 
2026-06-04T07:59:22.8616358Z ### REQ-PAIR-1
2026-06-04T07:59:22.8617359Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T07:59:22.8618573Z - Required stages: impl, unit
2026-06-04T07:59:22.8619337Z 
2026-06-04T07:59:22.8619733Z ### REQ-PAIR-2
2026-06-04T07:59:22.8621034Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T07:59:22.8622463Z - Required stages: impl, unit
2026-06-04T07:59:22.8623187Z 
2026-06-04T07:59:22.8623595Z ### REQ-PAIR-3
2026-06-04T07:59:22.8624764Z - Title: Fetch current pairing code from any paired node
2026-06-04T07:59:22.8626240Z - Required stages: impl, unit
2026-06-04T07:59:22.8626976Z 
2026-06-04T07:59:22.8627372Z ### REQ-PAIR-4
2026-06-04T07:59:22.8628373Z - Title: Subnet naming on first pairing
2026-06-04T07:59:22.8629678Z - Required stages: impl, unit
2026-06-04T07:59:22.8630429Z 
2026-06-04T07:59:22.8630838Z ### REQ-PAIR-5
2026-06-04T07:59:22.8632852Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T07:59:22.8635211Z - Required stages: impl, unit
2026-06-04T07:59:22.8635942Z 
2026-06-04T07:59:22.8636337Z ### REQ-PAIR-6
2026-06-04T07:59:22.8643031Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T07:59:22.8645327Z - Required stages: impl, unit
2026-06-04T07:59:22.8646065Z 
2026-06-04T07:59:22.8646469Z ### REQ-PAIR-7
2026-06-04T07:59:22.8647708Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T07:59:22.8649318Z - Required stages: 
2026-06-04T07:59:22.8649912Z 
2026-06-04T07:59:22.8650313Z ### REQ-SEC-1
2026-06-04T07:59:22.8653332Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T07:59:22.8656501Z - Required stages: impl, unit
2026-06-04T07:59:22.8657251Z 
2026-06-04T07:59:22.8657642Z ### REQ-NOTIF-1
2026-06-04T07:59:22.8660878Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T07:59:22.8663818Z - Required stages: 
2026-06-04T07:59:22.8664789Z 
2026-06-04T07:59:22.8665245Z ### REQ-NOTIF-2
2026-06-04T07:59:22.8667179Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T07:59:22.8669705Z - Required stages: 
2026-06-04T07:59:22.8670313Z 
2026-06-04T07:59:22.8670697Z ### REQ-UPD-1
2026-06-04T07:59:22.8671712Z - Title: Peer-propagated update over P2P
2026-06-04T07:59:22.8673034Z - Required stages: impl, unit
2026-06-04T07:59:22.8673754Z 
2026-06-04T07:59:22.8674157Z ### REQ-UPD-2
2026-06-04T07:59:22.8675462Z - Title: All binaries signature-verified before handoff
2026-06-04T07:59:22.8676971Z - Required stages: impl, unit
2026-06-04T07:59:22.8677729Z 
2026-06-04T07:59:22.8678534Z ### REQ-UPD-3
2026-06-04T07:59:22.8680131Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T07:59:22.8681782Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8682573Z 
2026-06-04T07:59:22.8682969Z ### REQ-UPD-4
2026-06-04T07:59:22.8684284Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T07:59:22.8685962Z - Required stages: impl, unit
2026-06-04T07:59:22.8686688Z 
2026-06-04T07:59:22.8687107Z ### REQ-UPD-5
2026-06-04T07:59:22.8688223Z - Title: spt-core ripple-updates registered adapters
2026-06-04T07:59:22.8689698Z - Required stages: impl, unit
2026-06-04T07:59:22.8690428Z 
2026-06-04T07:59:22.8690823Z ### REQ-TERM-1
2026-06-04T07:59:22.8692130Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T07:59:22.8693740Z - Required stages: impl, unit
2026-06-04T07:59:22.8694460Z 
2026-06-04T07:59:22.8694857Z ### REQ-TERM-2
2026-06-04T07:59:22.8696201Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T07:59:22.8697881Z - Required stages: impl, unit
2026-06-04T07:59:22.8698603Z 
2026-06-04T07:59:22.8698989Z ### REQ-TERM-3
2026-06-04T07:59:22.8700160Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T07:59:22.8701594Z - Required stages: impl, unit
2026-06-04T07:59:22.8702316Z 
2026-06-04T07:59:22.8702711Z ### REQ-TERM-4
2026-06-04T07:59:22.8704989Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T07:59:22.8707856Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8708641Z 
2026-06-04T07:59:22.8709032Z ### REQ-FRONT-1
2026-06-04T07:59:22.8710459Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T07:59:22.8712058Z - Required stages: 
2026-06-04T07:59:22.8712652Z 
2026-06-04T07:59:22.8713064Z ### REQ-INSTALL-1
2026-06-04T07:59:22.8714481Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T07:59:22.8716198Z - Required stages: 
2026-06-04T07:59:22.8716783Z 
2026-06-04T07:59:22.8717195Z ### REQ-INSTALL-2
2026-06-04T07:59:22.8718354Z - Title: Marketplace-repackaging-friendly install
2026-06-04T07:59:22.8719794Z - Required stages: 
2026-06-04T07:59:22.8720438Z 
2026-06-04T07:59:22.8720840Z ### REQ-INSTALL-3
2026-06-04T07:59:22.8722004Z - Title: Idempotent + interactive-optional first run
2026-06-04T07:59:22.8723392Z - Required stages: 
2026-06-04T07:59:22.8723993Z 
2026-06-04T07:59:22.8724410Z ### REQ-INSTALL-4
2026-06-04T07:59:22.8728220Z - 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-04T07:59:22.8733079Z - Required stages: 
2026-06-04T07:59:22.8733683Z 
2026-06-04T07:59:22.8734083Z ### REQ-MIGRATE-1
2026-06-04T07:59:22.8735392Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T07:59:22.8736982Z - Required stages: 
2026-06-04T07:59:22.8737565Z 
2026-06-04T07:59:22.8737965Z ### REQ-INFRA-1
2026-06-04T07:59:22.8739374Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T07:59:22.8741024Z - Required stages: 
2026-06-04T07:59:22.8741616Z 
2026-06-04T07:59:22.8742009Z ### REQ-DOCS-1
2026-06-04T07:59:22.8743432Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T07:59:22.8745166Z - Required stages: 
2026-06-04T07:59:22.8745766Z 
2026-06-04T07:59:22.8746170Z ### REQ-DOCS-2
2026-06-04T07:59:22.8747408Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T07:59:22.8748930Z - Required stages: 
2026-06-04T07:59:22.8749557Z 
2026-06-04T07:59:22.8749967Z ### REQ-DOCS-3
2026-06-04T07:59:22.8751471Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T07:59:22.8752948Z - Required stages: 
2026-06-04T07:59:22.8753624Z 
2026-06-04T07:59:22.8754125Z ### REQ-DOCS-4
2026-06-04T07:59:22.8755907Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T07:59:22.8757802Z - Required stages: 
2026-06-04T07:59:22.8758442Z 
2026-06-04T07:59:22.8758878Z ### REQ-DOCS-5
2026-06-04T07:59:22.8760786Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T07:59:22.8762626Z - Required stages: 
2026-06-04T07:59:22.8763275Z 
2026-06-04T07:59:22.8763800Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T07:59:22.8765565Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T07:59:22.8767438Z - Required stages: impl, unit
2026-06-04T07:59:22.8768229Z 
2026-06-04T07:59:22.8768751Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T07:59:22.8777773Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T07:59:22.8779779Z - Required stages: impl, unit
2026-06-04T07:59:22.8780708Z 
2026-06-04T07:59:22.8781186Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T07:59:22.8782524Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T07:59:22.8783957Z - Required stages: 
2026-06-04T07:59:22.8784577Z 
2026-06-04T07:59:22.8785056Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T07:59:22.8786640Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T07:59:22.8788381Z - Required stages: impl, unit
2026-06-04T07:59:22.8789133Z 
2026-06-04T07:59:22.8789973Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T07:59:22.8791509Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T07:59:22.8793785Z - Required stages: impl, unit
2026-06-04T07:59:22.8794710Z 
2026-06-04T07:59:22.8795267Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T07:59:22.8797170Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T07:59:22.8799072Z - Required stages: 
2026-06-04T07:59:22.8799911Z 
2026-06-04T07:59:22.8800397Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T07:59:22.8801794Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T07:59:22.8803223Z - Required stages: 
2026-06-04T07:59:22.8803863Z 
2026-06-04T07:59:22.8804384Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T07:59:22.8805942Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T07:59:22.8807558Z - Required stages: impl, unit
2026-06-04T07:59:22.8808283Z 
2026-06-04T07:59:22.8808748Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T07:59:22.8810217Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T07:59:22.8811707Z - Required stages: impl, int
2026-06-04T07:59:22.8812461Z 
2026-06-04T07:59:22.8812947Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T07:59:22.8814487Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T07:59:22.8816095Z - Required stages: impl, unit
2026-06-04T07:59:22.8816869Z 
2026-06-04T07:59:22.8817400Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T07:59:22.8819039Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T07:59:22.8820761Z - Required stages: impl, unit
2026-06-04T07:59:22.8821505Z 
2026-06-04T07:59:22.8822038Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T07:59:22.8823718Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T07:59:22.8825471Z - Required stages: impl, unit
2026-06-04T07:59:22.8826224Z 
2026-06-04T07:59:22.8826730Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T07:59:22.8828289Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T07:59:22.8829895Z - Required stages: impl, unit
2026-06-04T07:59:22.8830637Z 
2026-06-04T07:59:22.8831182Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T07:59:22.8832795Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T07:59:22.8834459Z - Required stages: impl, unit
2026-06-04T07:59:22.8835202Z 
2026-06-04T07:59:22.8835699Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T07:59:22.8837528Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T07:59:22.8839672Z - Required stages: impl, unit
2026-06-04T07:59:22.8840589Z 
2026-06-04T07:59:22.8841045Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T07:59:22.8843276Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T07:59:22.8845489Z - Required stages: impl, unit
2026-06-04T07:59:22.8846243Z 
2026-06-04T07:59:22.8846738Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T07:59:22.8848418Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T07:59:22.8852564Z - Required stages: impl, unit
2026-06-04T07:59:22.8853326Z 
2026-06-04T07:59:22.8853860Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T07:59:22.8855874Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T07:59:22.8858004Z - Required stages: impl, unit
2026-06-04T07:59:22.8858757Z 
2026-06-04T07:59:22.8859312Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T07:59:22.8862394Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T07:59:22.8864859Z - Required stages: doc, impl, unit
2026-06-04T07:59:22.8865697Z 
2026-06-04T07:59:22.8866214Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T07:59:22.8869079Z - 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-04T07:59:22.8872120Z - Required stages: impl, unit
2026-06-04T07:59:22.8872909Z 
2026-06-04T07:59:22.8873448Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T07:59:22.8874942Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T07:59:22.8877024Z - Required stages: impl, unit
2026-06-04T07:59:22.8877829Z 
2026-06-04T07:59:22.8878328Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T07:59:22.8879936Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T07:59:22.8881381Z - Required stages: impl, unit
2026-06-04T07:59:22.8882134Z 
2026-06-04T07:59:22.8882647Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T07:59:22.8884211Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T07:59:22.8885876Z - Required stages: impl, unit
2026-06-04T07:59:22.8886677Z 
2026-06-04T07:59:22.8887156Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T07:59:22.8888670Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T07:59:22.8890747Z - Required stages: impl, unit
2026-06-04T07:59:22.8891524Z 
2026-06-04T07:59:22.8892049Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T07:59:22.8893600Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T07:59:22.8895123Z - Required stages: impl, unit
2026-06-04T07:59:22.8895908Z 
2026-06-04T07:59:22.8896378Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T07:59:22.8897924Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T07:59:22.8899593Z - Required stages: impl, unit
2026-06-04T07:59:22.8900405Z 
2026-06-04T07:59:22.8900910Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T07:59:22.8902313Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T07:59:22.8903877Z - Required stages: impl, unit
2026-06-04T07:59:22.8904533Z 
2026-06-04T07:59:22.8904993Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T07:59:22.8906318Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T07:59:22.8907794Z - Required stages: impl, unit
2026-06-04T07:59:22.8908438Z 
2026-06-04T07:59:22.8908946Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T07:59:22.8917901Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T07:59:22.8919608Z - Required stages: impl, unit
2026-06-04T07:59:22.8920396Z 
2026-06-04T07:59:22.8920886Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T07:59:22.8922087Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T07:59:22.8923284Z - Required stages: impl, unit
2026-06-04T07:59:22.8923896Z 
2026-06-04T07:59:22.8924366Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T07:59:22.8925749Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T07:59:22.8927112Z - Required stages: impl, unit
2026-06-04T07:59:22.8927697Z 
2026-06-04T07:59:22.8928625Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T07:59:22.8931352Z - 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-04T07:59:22.8933789Z - Required stages: impl, unit
2026-06-04T07:59:22.8934415Z 
2026-06-04T07:59:22.8934852Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T07:59:22.8936196Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T07:59:22.8937646Z - Required stages: impl, unit
2026-06-04T07:59:22.8938253Z 
2026-06-04T07:59:22.8938762Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T07:59:22.8940314Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T07:59:22.8941901Z - Required stages: impl, unit
2026-06-04T07:59:22.8942492Z 
2026-06-04T07:59:22.8942929Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T07:59:22.8944373Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T07:59:22.8946038Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8946626Z 
2026-06-04T07:59:22.8947023Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T07:59:22.8948393Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T07:59:22.8949887Z - Required stages: impl, unit
2026-06-04T07:59:22.8950411Z 
2026-06-04T07:59:22.8950796Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T07:59:22.8953167Z - 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-04T07:59:22.8955078Z - Required stages: impl, unit, int
2026-06-04T07:59:22.8955611Z 
2026-06-04T07:59:22.8955989Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T07:59:22.8959014Z - 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-04T07:59:22.8961485Z - Required stages: 
2026-06-04T07:59:22.8961882Z 
2026-06-04T07:59:22.8962217Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T07:59:22.8964280Z - 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-04T07:59:22.8966365Z - Required stages: 
2026-06-04T07:59:22.8966748Z 
2026-06-04T07:59:22.8967081Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T07:59:22.8969242Z - 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-04T07:59:22.8971457Z - Required stages: impl, unit
2026-06-04T07:59:22.8971902Z 
2026-06-04T07:59:22.8972261Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T07:59:22.8974004Z - 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-04T07:59:22.8975754Z - Required stages: impl, unit
2026-06-04T07:59:22.8976180Z 
2026-06-04T07:59:22.8976491Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T07:59:22.8978985Z - 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-04T07:59:22.8981641Z - Required stages: impl, unit
2026-06-04T07:59:22.8982061Z 
2026-06-04T07:59:22.8982377Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T07:59:22.8984891Z - 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-04T07:59:22.8986986Z - Required stages: doc, impl, unit
2026-06-04T07:59:22.8987442Z 
2026-06-04T07:59:22.8987730Z ## How to report back
2026-06-04T07:59:22.8988112Z 
2026-06-04T07:59:22.8988560Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T07:59:22.8989243Z 
2026-06-04T07:59:22.8989684Z     {
2026-06-04T07:59:22.8990330Z       "code": "requirement_quality",
2026-06-04T07:59:22.8991096Z       "requirementId": "REQ-...",
2026-06-04T07:59:22.8991993Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T07:59:22.8992947Z       "message": "<short reason>",
2026-06-04T07:59:22.8993931Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T07:59:22.8994694Z     }
2026-06-04T07:59:22.8995014Z 
2026-06-04T07:59:22.8995522Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T07:59:22.8996552Z deterministic findings above don't need to be repeated.
2026-06-04T07:59:22.9168023Z Post job cleanup.
2026-06-04T07:59:23.0425776Z [command]/usr/bin/git version
2026-06-04T07:59:23.0480262Z git version 2.34.1
2026-06-04T07:59:23.0526535Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/2ae936ac-d876-440e-b93c-05c49e3fdbe9/.gitconfig'
2026-06-04T07:59:23.0551624Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/2ae936ac-d876-440e-b93c-05c49e3fdbe9' before making global git config changes
2026-06-04T07:59:23.0554206Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T07:59:23.0559789Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T07:59:23.0608202Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T07:59:23.0655788Z [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-04T07:59:23.0915720Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T07:59:23.0945880Z http.https://github.com/.extraheader
2026-06-04T07:59:23.0960392Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T07:59:23.1009491Z [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-04T07:59:23.1289832Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T07:59:23.1336916Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T07:59:23.1819681Z Cleaning up orphan processes
