﻿2026-06-07T04:24:17.1582921Z Current runner version: '2.334.0'
2026-06-07T04:24:17.1592377Z Runner name: 'gravity'
2026-06-07T04:24:17.1593490Z Runner group name: 'Default'
2026-06-07T04:24:17.1594889Z Machine name: 'gravity-linux'
2026-06-07T04:24:17.1598929Z ##[group]GITHUB_TOKEN Permissions
2026-06-07T04:24:17.1603418Z Contents: read
2026-06-07T04:24:17.1604313Z Metadata: read
2026-06-07T04:24:17.1605266Z Packages: read
2026-06-07T04:24:17.1606250Z ##[endgroup]
2026-06-07T04:24:17.1610410Z Secret source: Actions
2026-06-07T04:24:17.1611506Z Prepare workflow directory
2026-06-07T04:24:17.2384564Z Prepare all required actions
2026-06-07T04:24:17.2445166Z Getting action download info
2026-06-07T04:24:17.8622200Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-07T04:24:18.7873439Z Complete job name: traceability
2026-06-07T04:24:18.9503993Z ##[group]Run actions/checkout@v5
2026-06-07T04:24:18.9506487Z with:
2026-06-07T04:24:18.9507586Z   repository: SaberMage/spt-core
2026-06-07T04:24:18.9523478Z   token: ***
2026-06-07T04:24:18.9524567Z   ssh-strict: true
2026-06-07T04:24:18.9525644Z   ssh-user: git
2026-06-07T04:24:18.9526752Z   persist-credentials: true
2026-06-07T04:24:18.9528002Z   clean: true
2026-06-07T04:24:18.9529109Z   sparse-checkout-cone-mode: true
2026-06-07T04:24:18.9530838Z   fetch-depth: 1
2026-06-07T04:24:18.9531922Z   fetch-tags: false
2026-06-07T04:24:18.9533042Z   show-progress: true
2026-06-07T04:24:18.9534158Z   lfs: false
2026-06-07T04:24:18.9535235Z   submodules: false
2026-06-07T04:24:18.9536357Z   set-safe-directory: true
2026-06-07T04:24:18.9538129Z ##[endgroup]
2026-06-07T04:24:19.1195481Z Syncing repository: SaberMage/spt-core
2026-06-07T04:24:19.1200237Z ##[group]Getting Git version info
2026-06-07T04:24:19.1202863Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-07T04:24:19.1206261Z [command]/usr/bin/git version
2026-06-07T04:24:19.1207740Z git version 2.34.1
2026-06-07T04:24:19.1213011Z ##[endgroup]
2026-06-07T04:24:19.1224165Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/949fa962-1552-4f97-adfe-0c0cc72252eb/.gitconfig'
2026-06-07T04:24:19.1229269Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/949fa962-1552-4f97-adfe-0c0cc72252eb' before making global git config changes
2026-06-07T04:24:19.1233551Z Adding repository directory to the temporary git global config as a safe directory
2026-06-07T04:24:19.1237215Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-07T04:24:19.1481044Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-07T04:24:19.1509821Z https://github.com/SaberMage/spt-core
2026-06-07T04:24:19.1529403Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-07T04:24:19.1535086Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-07T04:24:19.1565295Z refs/heads/dev-freeform
2026-06-07T04:24:19.1579047Z [command]/usr/bin/git checkout --detach
2026-06-07T04:24:19.1934645Z HEAD is now at de3e311 chore(release): bump workspace version to 0.1.1
2026-06-07T04:24:19.1995078Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-07T04:24:19.2040246Z Deleted branch dev-freeform (was de3e311).
2026-06-07T04:24:19.2099533Z ##[endgroup]
2026-06-07T04:24:19.2101758Z [command]/usr/bin/git submodule status
2026-06-07T04:24:19.2385660Z ##[group]Cleaning the repository
2026-06-07T04:24:19.2391194Z [command]/usr/bin/git clean -ffdx
2026-06-07T04:24:20.4619004Z Removing .adapter-notify/
2026-06-07T04:24:20.4621456Z Removing target/
2026-06-07T04:24:20.4636488Z [command]/usr/bin/git reset --hard HEAD
2026-06-07T04:24:20.4754636Z HEAD is now at de3e311 chore(release): bump workspace version to 0.1.1
2026-06-07T04:24:20.4762451Z ##[endgroup]
2026-06-07T04:24:20.4764938Z ##[group]Disabling automatic garbage collection
2026-06-07T04:24:20.4772472Z [command]/usr/bin/git config --local gc.auto 0
2026-06-07T04:24:20.4811243Z ##[endgroup]
2026-06-07T04:24:20.4814647Z ##[group]Setting up auth
2026-06-07T04:24:20.4821297Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-07T04:24:20.4863839Z [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-07T04:24:20.5108326Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-07T04:24:20.5148983Z [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-07T04:24:20.5391301Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-07T04:24:20.5434141Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-07T04:24:20.5687300Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-07T04:24:20.5748463Z ##[endgroup]
2026-06-07T04:24:20.5750948Z ##[group]Fetching the repository
2026-06-07T04:24:20.5773984Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +de3e311871e31ef0b9deaf0ac661f0adaeddc981:refs/remotes/origin/dev-freeform
2026-06-07T04:24:21.1435986Z ##[endgroup]
2026-06-07T04:24:21.1438870Z ##[group]Determining the checkout info
2026-06-07T04:24:21.1440831Z ##[endgroup]
2026-06-07T04:24:21.1441938Z [command]/usr/bin/git sparse-checkout disable
2026-06-07T04:24:21.1445086Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-07T04:24:21.1448625Z ##[group]Checking out the ref
2026-06-07T04:24:21.1450810Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-07T04:24:21.1506635Z Switched to a new branch 'dev-freeform'
2026-06-07T04:24:21.1508582Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-07T04:24:21.1517031Z ##[endgroup]
2026-06-07T04:24:21.1564428Z [command]/usr/bin/git log -1 --format=%H
2026-06-07T04:24:21.1600419Z de3e311871e31ef0b9deaf0ac661f0adaeddc981
2026-06-07T04:24:21.1969744Z ##[group]Run WANT=0.1.2
2026-06-07T04:24:21.1970639Z [36;1mWANT=0.1.2[0m
2026-06-07T04:24:21.1971452Z [36;1mBIN="$HOME/.local/bin/traceable-reqs"[0m
2026-06-07T04:24:21.1972773Z [36;1mif [ -x "$BIN" ] && "$BIN" --version | grep -q " $WANT\$"; then[0m
2026-06-07T04:24:21.1974041Z [36;1m  ln -sf "$BIN" ./traceable-reqs[0m
2026-06-07T04:24:21.1974924Z [36;1melse[0m
2026-06-07T04:24:21.1975911Z [36;1m  # Build OUTSIDE the checkout: a clone inside it gets adopted by[0m
2026-06-07T04:24:21.1977479Z [36;1m  # the spt-core cargo workspace and refuses to build.[0m
2026-06-07T04:24:21.1978658Z [36;1m  SRC="$RUNNER_TEMP/tr-src"[0m
2026-06-07T04:24:21.1979557Z [36;1m  rm -rf "$SRC"[0m
2026-06-07T04:24:21.1980460Z [36;1m  git clone --depth 1 --branch "v$WANT" \[0m
2026-06-07T04:24:21.1982171Z [36;1m    "https://x-access-token:${GH_TOKEN}@github.com/BigscreenVR/traceable-reqs" "$SRC"[0m
2026-06-07T04:24:21.1984202Z [36;1m  cargo build --release --manifest-path "$SRC/rust/Cargo.toml"[0m
2026-06-07T04:24:21.1985540Z [36;1m  mkdir -p "$HOME/.local/bin"[0m
2026-06-07T04:24:21.1987606Z [36;1m  cp "$SRC/rust/target/release/traceable-reqs" "$BIN"[0m
2026-06-07T04:24:21.1988960Z [36;1m  ln -sf "$BIN" ./traceable-reqs[0m
2026-06-07T04:24:21.2006257Z [36;1mfi[0m
2026-06-07T04:24:21.2006985Z [36;1m./traceable-reqs --version[0m
2026-06-07T04:24:21.2038937Z shell: /usr/bin/bash -e {0}
2026-06-07T04:24:21.2039946Z env:
2026-06-07T04:24:21.2041995Z   GH_TOKEN: ***
2026-06-07T04:24:21.2042629Z ##[endgroup]
2026-06-07T04:24:21.2259588Z traceable-reqs 0.1.2
2026-06-07T04:24:21.2420728Z ##[group]Run ./traceable-reqs check --json
2026-06-07T04:24:21.2421830Z [36;1m./traceable-reqs check --json[0m
2026-06-07T04:24:21.2445160Z shell: /usr/bin/bash -e {0}
2026-06-07T04:24:21.2445914Z ##[endgroup]
2026-06-07T04:24:21.2907397Z {
2026-06-07T04:24:21.2908152Z   "schemaVersion": 1,
2026-06-07T04:24:21.2908941Z   "summary": {
2026-06-07T04:24:21.2909850Z     "requirementCount": 148,
2026-06-07T04:24:21.2910791Z     "completeCount": 148,
2026-06-07T04:24:21.2911710Z     "incompleteCount": 0,
2026-06-07T04:24:21.2912608Z     "findingCount": 0
2026-06-07T04:24:21.2913344Z   },
2026-06-07T04:24:21.2913967Z   "requirements": [
2026-06-07T04:24:21.2914689Z     {
2026-06-07T04:24:21.2915383Z       "id": "REQ-API-1",
2026-06-07T04:24:21.2916644Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-07T04:24:21.2918204Z       "requiredStages": [
2026-06-07T04:24:21.2918999Z         "impl",
2026-06-07T04:24:21.2919812Z         "unit",
2026-06-07T04:24:21.2920643Z         "int"
2026-06-07T04:24:21.2921299Z       ],
2026-06-07T04:24:21.2921918Z       "stages": {
2026-06-07T04:24:21.2922650Z         "doc": {
2026-06-07T04:24:21.2923401Z           "complete": false,
2026-06-07T04:24:21.2924301Z           "evidence": []
2026-06-07T04:24:21.2925092Z         },
2026-06-07T04:24:21.2925733Z         "impl": {
2026-06-07T04:24:21.2926456Z           "complete": true,
2026-06-07T04:24:21.2927293Z           "evidence": [
2026-06-07T04:24:21.2927990Z             {
2026-06-07T04:24:21.2928715Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.2931197Z               "line": 15
2026-06-07T04:24:21.2931993Z             }
2026-06-07T04:24:21.2932726Z           ]
2026-06-07T04:24:21.2933364Z         },
2026-06-07T04:24:21.2933963Z         "int": {
2026-06-07T04:24:21.2934654Z           "complete": true,
2026-06-07T04:24:21.2936615Z           "evidence": [
2026-06-07T04:24:21.2937380Z             {
2026-06-07T04:24:21.2938255Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.2939751Z               "line": 13
2026-06-07T04:24:21.2941263Z             }
2026-06-07T04:24:21.2942032Z           ]
2026-06-07T04:24:21.2942715Z         },
2026-06-07T04:24:21.2943403Z         "unit": {
2026-06-07T04:24:21.2944260Z           "complete": true,
2026-06-07T04:24:21.2945703Z           "evidence": [
2026-06-07T04:24:21.2965764Z             {
2026-06-07T04:24:21.2966903Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.2968115Z               "line": 442
2026-06-07T04:24:21.2968847Z             },
2026-06-07T04:24:21.2969648Z             {
2026-06-07T04:24:21.2970391Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.2971445Z               "line": 448
2026-06-07T04:24:21.2972191Z             },
2026-06-07T04:24:21.2972801Z             {
2026-06-07T04:24:21.2973524Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.2974589Z               "line": 515
2026-06-07T04:24:21.2975398Z             }
2026-06-07T04:24:21.2987555Z           ]
2026-06-07T04:24:21.2988210Z         }
2026-06-07T04:24:21.2988796Z       }
2026-06-07T04:24:21.2989486Z     },
2026-06-07T04:24:21.2990059Z     {
2026-06-07T04:24:21.2990685Z       "id": "REQ-API-2",
2026-06-07T04:24:21.2992136Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-07T04:24:21.2993951Z       "requiredStages": [
2026-06-07T04:24:21.2994780Z         "impl",
2026-06-07T04:24:21.2995424Z         "unit",
2026-06-07T04:24:21.2996080Z         "int"
2026-06-07T04:24:21.2996686Z       ],
2026-06-07T04:24:21.2997266Z       "stages": {
2026-06-07T04:24:21.2997928Z         "doc": {
2026-06-07T04:24:21.2998612Z           "complete": false,
2026-06-07T04:24:21.3003190Z           "evidence": []
2026-06-07T04:24:21.3003988Z         },
2026-06-07T04:24:21.3004585Z         "impl": {
2026-06-07T04:24:21.3005251Z           "complete": true,
2026-06-07T04:24:21.3006041Z           "evidence": [
2026-06-07T04:24:21.3007182Z             {
2026-06-07T04:24:21.3008110Z               "path": "crates/spt-store/src/history.rs",
2026-06-07T04:24:21.3009300Z               "line": 15
2026-06-07T04:24:21.3010284Z             },
2026-06-07T04:24:21.3010884Z             {
2026-06-07T04:24:21.3011648Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.3013772Z               "line": 20
2026-06-07T04:24:21.3014554Z             },
2026-06-07T04:24:21.3015213Z             {
2026-06-07T04:24:21.3016032Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.3017209Z               "line": 139
2026-06-07T04:24:21.3018012Z             },
2026-06-07T04:24:21.3018746Z             {
2026-06-07T04:24:21.3019738Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3020969Z               "line": 21
2026-06-07T04:24:21.3021763Z             },
2026-06-07T04:24:21.3022424Z             {
2026-06-07T04:24:21.3023266Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3024506Z               "line": 38
2026-06-07T04:24:21.3027909Z             },
2026-06-07T04:24:21.3028524Z             {
2026-06-07T04:24:21.3029483Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3030675Z               "line": 190
2026-06-07T04:24:21.3031438Z             },
2026-06-07T04:24:21.3032065Z             {
2026-06-07T04:24:21.3032840Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3033956Z               "line": 232
2026-06-07T04:24:21.3034663Z             },
2026-06-07T04:24:21.3035258Z             {
2026-06-07T04:24:21.3036015Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3037115Z               "line": 262
2026-06-07T04:24:21.3037816Z             },
2026-06-07T04:24:21.3038389Z             {
2026-06-07T04:24:21.3039115Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.3040228Z               "line": 17
2026-06-07T04:24:21.3040934Z             },
2026-06-07T04:24:21.3041554Z             {
2026-06-07T04:24:21.3042292Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.3043347Z               "line": 30
2026-06-07T04:24:21.3044083Z             },
2026-06-07T04:24:21.3044698Z             {
2026-06-07T04:24:21.3045438Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.3046477Z               "line": 63
2026-06-07T04:24:21.3047184Z             },
2026-06-07T04:24:21.3047770Z             {
2026-06-07T04:24:21.3048495Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.3050271Z               "line": 76
2026-06-07T04:24:21.3050978Z             }
2026-06-07T04:24:21.3051536Z           ]
2026-06-07T04:24:21.3052061Z         },
2026-06-07T04:24:21.3052599Z         "int": {
2026-06-07T04:24:21.3053224Z           "complete": true,
2026-06-07T04:24:21.3053973Z           "evidence": [
2026-06-07T04:24:21.3054635Z             {
2026-06-07T04:24:21.3055374Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.3056443Z               "line": 14
2026-06-07T04:24:21.3057151Z             },
2026-06-07T04:24:21.3057720Z             {
2026-06-07T04:24:21.3058472Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.3059994Z               "line": 183
2026-06-07T04:24:21.3060717Z             }
2026-06-07T04:24:21.3061287Z           ]
2026-06-07T04:24:21.3061837Z         },
2026-06-07T04:24:21.3062393Z         "unit": {
2026-06-07T04:24:21.3063059Z           "complete": true,
2026-06-07T04:24:21.3063836Z           "evidence": [
2026-06-07T04:24:21.3064521Z             {
2026-06-07T04:24:21.3065299Z               "path": "crates/spt-store/src/history.rs",
2026-06-07T04:24:21.3066411Z               "line": 42
2026-06-07T04:24:21.3067118Z             },
2026-06-07T04:24:21.3067708Z             {
2026-06-07T04:24:21.3068453Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.3069598Z               "line": 254
2026-06-07T04:24:21.3070446Z             },
2026-06-07T04:24:21.3071410Z             {
2026-06-07T04:24:21.3072226Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3073374Z               "line": 438
2026-06-07T04:24:21.3074236Z             },
2026-06-07T04:24:21.3074799Z             {
2026-06-07T04:24:21.3075545Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3076602Z               "line": 449
2026-06-07T04:24:21.3077304Z             },
2026-06-07T04:24:21.3077884Z             {
2026-06-07T04:24:21.3078644Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3080096Z               "line": 581
2026-06-07T04:24:21.3080831Z             },
2026-06-07T04:24:21.3081418Z             {
2026-06-07T04:24:21.3082186Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3083276Z               "line": 593
2026-06-07T04:24:21.3083998Z             },
2026-06-07T04:24:21.3084594Z             {
2026-06-07T04:24:21.3085329Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.3086399Z               "line": 141
2026-06-07T04:24:21.3087120Z             },
2026-06-07T04:24:21.3087717Z             {
2026-06-07T04:24:21.3088529Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.3089652Z               "line": 185
2026-06-07T04:24:21.3090390Z             }
2026-06-07T04:24:21.3090964Z           ]
2026-06-07T04:24:21.3091513Z         }
2026-06-07T04:24:21.3092051Z       }
2026-06-07T04:24:21.3092570Z     },
2026-06-07T04:24:21.3093090Z     {
2026-06-07T04:24:21.3093666Z       "id": "REQ-API-3",
2026-06-07T04:24:21.3094697Z       "title": "commune/signoff are file-drops, not commands",
2026-06-07T04:24:21.3095957Z       "requiredStages": [
2026-06-07T04:24:21.3096703Z         "impl",
2026-06-07T04:24:21.3097316Z         "unit",
2026-06-07T04:24:21.3097910Z         "int"
2026-06-07T04:24:21.3098478Z       ],
2026-06-07T04:24:21.3099115Z       "stages": {
2026-06-07T04:24:21.3099930Z         "doc": {
2026-06-07T04:24:21.3100554Z           "complete": false,
2026-06-07T04:24:21.3101352Z           "evidence": []
2026-06-07T04:24:21.3102032Z         },
2026-06-07T04:24:21.3102578Z         "impl": {
2026-06-07T04:24:21.3103229Z           "complete": true,
2026-06-07T04:24:21.3103981Z           "evidence": [
2026-06-07T04:24:21.3104641Z             {
2026-06-07T04:24:21.3105367Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.3106412Z               "line": 27
2026-06-07T04:24:21.3107318Z             },
2026-06-07T04:24:21.3107922Z             {
2026-06-07T04:24:21.3108738Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3110052Z               "line": 372
2026-06-07T04:24:21.3110745Z             }
2026-06-07T04:24:21.3111302Z           ]
2026-06-07T04:24:21.3111833Z         },
2026-06-07T04:24:21.3112368Z         "int": {
2026-06-07T04:24:21.3113006Z           "complete": true,
2026-06-07T04:24:21.3113765Z           "evidence": [
2026-06-07T04:24:21.3114422Z             {
2026-06-07T04:24:21.3115199Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.3116254Z               "line": 257
2026-06-07T04:24:21.3116933Z             }
2026-06-07T04:24:21.3117495Z           ]
2026-06-07T04:24:21.3118020Z         },
2026-06-07T04:24:21.3118639Z         "unit": {
2026-06-07T04:24:21.3119327Z           "complete": true,
2026-06-07T04:24:21.3120439Z           "evidence": [
2026-06-07T04:24:21.3121104Z             {
2026-06-07T04:24:21.3121845Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.3122873Z               "line": 242
2026-06-07T04:24:21.3123552Z             },
2026-06-07T04:24:21.3124111Z             {
2026-06-07T04:24:21.3124856Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3125908Z               "line": 622
2026-06-07T04:24:21.3126587Z             }
2026-06-07T04:24:21.3127147Z           ]
2026-06-07T04:24:21.3127683Z         }
2026-06-07T04:24:21.3128196Z       }
2026-06-07T04:24:21.3128885Z     },
2026-06-07T04:24:21.3130118Z     {
2026-06-07T04:24:21.3130878Z       "id": "REQ-ARCH-1",
2026-06-07T04:24:21.3131829Z       "title": "Many small acyclically-layered crates",
2026-06-07T04:24:21.3133092Z       "requiredStages": [
2026-06-07T04:24:21.3133822Z         "impl"
2026-06-07T04:24:21.3134391Z       ],
2026-06-07T04:24:21.3134935Z       "stages": {
2026-06-07T04:24:21.3135533Z         "doc": {
2026-06-07T04:24:21.3136161Z           "complete": false,
2026-06-07T04:24:21.3136927Z           "evidence": []
2026-06-07T04:24:21.3137609Z         },
2026-06-07T04:24:21.3138157Z         "impl": {
2026-06-07T04:24:21.3138794Z           "complete": true,
2026-06-07T04:24:21.3139751Z           "evidence": [
2026-06-07T04:24:21.3165742Z             {
2026-06-07T04:24:21.3166557Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-07T04:24:21.3167552Z               "line": 16
2026-06-07T04:24:21.3168214Z             },
2026-06-07T04:24:21.3168757Z             {
2026-06-07T04:24:21.3169716Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-07T04:24:21.3170952Z               "line": 12
2026-06-07T04:24:21.3171632Z             },
2026-06-07T04:24:21.3172181Z             {
2026-06-07T04:24:21.3172880Z               "path": "crates/spt-store/src/lib.rs",
2026-06-07T04:24:21.3173905Z               "line": 12
2026-06-07T04:24:21.3174559Z             }
2026-06-07T04:24:21.3175101Z           ]
2026-06-07T04:24:21.3175605Z         },
2026-06-07T04:24:21.3176122Z         "int": {
2026-06-07T04:24:21.3176733Z           "complete": false,
2026-06-07T04:24:21.3177489Z           "evidence": []
2026-06-07T04:24:21.3178149Z         },
2026-06-07T04:24:21.3178674Z         "unit": {
2026-06-07T04:24:21.3179423Z           "complete": false,
2026-06-07T04:24:21.3180185Z           "evidence": []
2026-06-07T04:24:21.3180841Z         }
2026-06-07T04:24:21.3181337Z       }
2026-06-07T04:24:21.3181826Z     },
2026-06-07T04:24:21.3182310Z     {
2026-06-07T04:24:21.3182845Z       "id": "REQ-ARCH-2",
2026-06-07T04:24:21.3183941Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-07T04:24:21.3185278Z       "requiredStages": [
2026-06-07T04:24:21.3185985Z         "impl"
2026-06-07T04:24:21.3186553Z       ],
2026-06-07T04:24:21.3187067Z       "stages": {
2026-06-07T04:24:21.3187653Z         "doc": {
2026-06-07T04:24:21.3188324Z           "complete": false,
2026-06-07T04:24:21.3189079Z           "evidence": []
2026-06-07T04:24:21.3189786Z         },
2026-06-07T04:24:21.3190311Z         "impl": {
2026-06-07T04:24:21.3190927Z           "complete": true,
2026-06-07T04:24:21.3191657Z           "evidence": [
2026-06-07T04:24:21.3192309Z             {
2026-06-07T04:24:21.3193022Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-07T04:24:21.3194042Z               "line": 18
2026-06-07T04:24:21.3194704Z             }
2026-06-07T04:24:21.3195246Z           ]
2026-06-07T04:24:21.3195756Z         },
2026-06-07T04:24:21.3196273Z         "int": {
2026-06-07T04:24:21.3196898Z           "complete": false,
2026-06-07T04:24:21.3197674Z           "evidence": []
2026-06-07T04:24:21.3198337Z         },
2026-06-07T04:24:21.3198858Z         "unit": {
2026-06-07T04:24:21.3199530Z           "complete": false,
2026-06-07T04:24:21.3200321Z           "evidence": []
2026-06-07T04:24:21.3200999Z         }
2026-06-07T04:24:21.3201513Z       }
2026-06-07T04:24:21.3202009Z     },
2026-06-07T04:24:21.3202521Z     {
2026-06-07T04:24:21.3203073Z       "id": "REQ-ARCH-3",
2026-06-07T04:24:21.3204360Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-07T04:24:21.3206091Z       "requiredStages": [
2026-06-07T04:24:21.3206828Z         "impl",
2026-06-07T04:24:21.3207422Z         "unit"
2026-06-07T04:24:21.3207991Z       ],
2026-06-07T04:24:21.3208524Z       "stages": {
2026-06-07T04:24:21.3209133Z         "doc": {
2026-06-07T04:24:21.3209885Z           "complete": false,
2026-06-07T04:24:21.3210676Z           "evidence": []
2026-06-07T04:24:21.3211355Z         },
2026-06-07T04:24:21.3211895Z         "impl": {
2026-06-07T04:24:21.3213045Z           "complete": true,
2026-06-07T04:24:21.3214062Z           "evidence": [
2026-06-07T04:24:21.3214897Z             {
2026-06-07T04:24:21.3215847Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T04:24:21.3216905Z               "line": 34
2026-06-07T04:24:21.3217771Z             },
2026-06-07T04:24:21.3218369Z             {
2026-06-07T04:24:21.3219206Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T04:24:21.3220631Z               "line": 41
2026-06-07T04:24:21.3221317Z             }
2026-06-07T04:24:21.3221870Z           ]
2026-06-07T04:24:21.3222397Z         },
2026-06-07T04:24:21.3222920Z         "int": {
2026-06-07T04:24:21.3223555Z           "complete": false,
2026-06-07T04:24:21.3224342Z           "evidence": []
2026-06-07T04:24:21.3225036Z         },
2026-06-07T04:24:21.3225576Z         "unit": {
2026-06-07T04:24:21.3226235Z           "complete": true,
2026-06-07T04:24:21.3226993Z           "evidence": [
2026-06-07T04:24:21.3227647Z             {
2026-06-07T04:24:21.3228432Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T04:24:21.3229772Z               "line": 51
2026-06-07T04:24:21.3230610Z             },
2026-06-07T04:24:21.3231164Z             {
2026-06-07T04:24:21.3231906Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T04:24:21.3232958Z               "line": 71
2026-06-07T04:24:21.3233628Z             },
2026-06-07T04:24:21.3234182Z             {
2026-06-07T04:24:21.3235081Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T04:24:21.3236287Z               "line": 83
2026-06-07T04:24:21.3236961Z             }
2026-06-07T04:24:21.3237512Z           ]
2026-06-07T04:24:21.3238043Z         }
2026-06-07T04:24:21.3238565Z       }
2026-06-07T04:24:21.3239124Z     },
2026-06-07T04:24:21.3239829Z     {
2026-06-07T04:24:21.3240398Z       "id": "REQ-ARCH-4",
2026-06-07T04:24:21.3241586Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-07T04:24:21.3243070Z       "requiredStages": [
2026-06-07T04:24:21.3243892Z         "impl",
2026-06-07T04:24:21.3244570Z         "unit"
2026-06-07T04:24:21.3245227Z       ],
2026-06-07T04:24:21.3245888Z       "stages": {
2026-06-07T04:24:21.3246591Z         "doc": {
2026-06-07T04:24:21.3247318Z           "complete": false,
2026-06-07T04:24:21.3248196Z           "evidence": []
2026-06-07T04:24:21.3248965Z         },
2026-06-07T04:24:21.3249658Z         "impl": {
2026-06-07T04:24:21.3250357Z           "complete": true,
2026-06-07T04:24:21.3251126Z           "evidence": [
2026-06-07T04:24:21.3251811Z             {
2026-06-07T04:24:21.3252563Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3253623Z               "line": 82
2026-06-07T04:24:21.3254316Z             },
2026-06-07T04:24:21.3254897Z             {
2026-06-07T04:24:21.3255661Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3256742Z               "line": 96
2026-06-07T04:24:21.3257463Z             },
2026-06-07T04:24:21.3258075Z             {
2026-06-07T04:24:21.3258832Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3260245Z               "line": 116
2026-06-07T04:24:21.3260955Z             },
2026-06-07T04:24:21.3261526Z             {
2026-06-07T04:24:21.3262249Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3263271Z               "line": 131
2026-06-07T04:24:21.3263957Z             },
2026-06-07T04:24:21.3264523Z             {
2026-06-07T04:24:21.3265237Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3266269Z               "line": 181
2026-06-07T04:24:21.3266959Z             }
2026-06-07T04:24:21.3267679Z           ]
2026-06-07T04:24:21.3268403Z         },
2026-06-07T04:24:21.3268939Z         "int": {
2026-06-07T04:24:21.3270188Z           "complete": false,
2026-06-07T04:24:21.3270979Z           "evidence": []
2026-06-07T04:24:21.3271671Z         },
2026-06-07T04:24:21.3272204Z         "unit": {
2026-06-07T04:24:21.3273108Z           "complete": true,
2026-06-07T04:24:21.3273905Z           "evidence": [
2026-06-07T04:24:21.3274560Z             {
2026-06-07T04:24:21.3275290Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3276463Z               "line": 242
2026-06-07T04:24:21.3277158Z             },
2026-06-07T04:24:21.3277730Z             {
2026-06-07T04:24:21.3278456Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3279733Z               "line": 252
2026-06-07T04:24:21.3280567Z             },
2026-06-07T04:24:21.3281136Z             {
2026-06-07T04:24:21.3281863Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3282900Z               "line": 263
2026-06-07T04:24:21.3283593Z             },
2026-06-07T04:24:21.3284152Z             {
2026-06-07T04:24:21.3284865Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3285899Z               "line": 274
2026-06-07T04:24:21.3286592Z             },
2026-06-07T04:24:21.3287157Z             {
2026-06-07T04:24:21.3287923Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3288980Z               "line": 286
2026-06-07T04:24:21.3290031Z             },
2026-06-07T04:24:21.3290597Z             {
2026-06-07T04:24:21.3291315Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3292361Z               "line": 299
2026-06-07T04:24:21.3293051Z             },
2026-06-07T04:24:21.3293615Z             {
2026-06-07T04:24:21.3294329Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3295345Z               "line": 310
2026-06-07T04:24:21.3296035Z             },
2026-06-07T04:24:21.3296600Z             {
2026-06-07T04:24:21.3297316Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3298358Z               "line": 327
2026-06-07T04:24:21.3299052Z             },
2026-06-07T04:24:21.3300101Z             {
2026-06-07T04:24:21.3300822Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.3301856Z               "line": 358
2026-06-07T04:24:21.3302562Z             }
2026-06-07T04:24:21.3303123Z           ]
2026-06-07T04:24:21.3303651Z         }
2026-06-07T04:24:21.3304181Z       }
2026-06-07T04:24:21.3304708Z     },
2026-06-07T04:24:21.3305225Z     {
2026-06-07T04:24:21.3305786Z       "id": "REQ-CONSENT-1",
2026-06-07T04:24:21.3312018Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-07T04:24:21.3318338Z       "requiredStages": [
2026-06-07T04:24:21.3319218Z         "impl",
2026-06-07T04:24:21.3319860Z         "unit"
2026-06-07T04:24:21.3320462Z       ],
2026-06-07T04:24:21.3321006Z       "stages": {
2026-06-07T04:24:21.3321621Z         "doc": {
2026-06-07T04:24:21.3322277Z           "complete": false,
2026-06-07T04:24:21.3323121Z           "evidence": []
2026-06-07T04:24:21.3323859Z         },
2026-06-07T04:24:21.3324438Z         "impl": {
2026-06-07T04:24:21.3325115Z           "complete": true,
2026-06-07T04:24:21.3325890Z           "evidence": [
2026-06-07T04:24:21.3326561Z             {
2026-06-07T04:24:21.3327332Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3328413Z               "line": 27
2026-06-07T04:24:21.3329102Z             },
2026-06-07T04:24:21.3329889Z             {
2026-06-07T04:24:21.3330620Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3331651Z               "line": 75
2026-06-07T04:24:21.3332324Z             },
2026-06-07T04:24:21.3332910Z             {
2026-06-07T04:24:21.3333642Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3334667Z               "line": 98
2026-06-07T04:24:21.3335336Z             },
2026-06-07T04:24:21.3335937Z             {
2026-06-07T04:24:21.3336924Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3337973Z               "line": 82
2026-06-07T04:24:21.3338742Z             },
2026-06-07T04:24:21.3339659Z             {
2026-06-07T04:24:21.3340528Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3341546Z               "line": 109
2026-06-07T04:24:21.3342226Z             },
2026-06-07T04:24:21.3342839Z             {
2026-06-07T04:24:21.3343588Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3344767Z               "line": 127
2026-06-07T04:24:21.3345605Z             },
2026-06-07T04:24:21.3346178Z             {
2026-06-07T04:24:21.3346899Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3347925Z               "line": 142
2026-06-07T04:24:21.3348695Z             },
2026-06-07T04:24:21.3349284Z             {
2026-06-07T04:24:21.3349948Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3350904Z               "line": 3572
2026-06-07T04:24:21.3351599Z             }
2026-06-07T04:24:21.3352166Z           ]
2026-06-07T04:24:21.3352717Z         },
2026-06-07T04:24:21.3353254Z         "int": {
2026-06-07T04:24:21.3353898Z           "complete": false,
2026-06-07T04:24:21.3354676Z           "evidence": []
2026-06-07T04:24:21.3355511Z         },
2026-06-07T04:24:21.3356199Z         "unit": {
2026-06-07T04:24:21.3356832Z           "complete": true,
2026-06-07T04:24:21.3357571Z           "evidence": [
2026-06-07T04:24:21.3358249Z             {
2026-06-07T04:24:21.3358985Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3360112Z               "line": 334
2026-06-07T04:24:21.3371859Z             },
2026-06-07T04:24:21.3372485Z             {
2026-06-07T04:24:21.3373236Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3374278Z               "line": 380
2026-06-07T04:24:21.3374952Z             },
2026-06-07T04:24:21.3375507Z             {
2026-06-07T04:24:21.3376240Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3377477Z               "line": 391
2026-06-07T04:24:21.3378320Z             },
2026-06-07T04:24:21.3378878Z             {
2026-06-07T04:24:21.3379970Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3380993Z               "line": 165
2026-06-07T04:24:21.3381667Z             },
2026-06-07T04:24:21.3382225Z             {
2026-06-07T04:24:21.3382945Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3383969Z               "line": 184
2026-06-07T04:24:21.3384641Z             },
2026-06-07T04:24:21.3385190Z             {
2026-06-07T04:24:21.3385895Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T04:24:21.3386908Z               "line": 204
2026-06-07T04:24:21.3387576Z             },
2026-06-07T04:24:21.3388124Z             {
2026-06-07T04:24:21.3388762Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3390123Z               "line": 4082
2026-06-07T04:24:21.3390804Z             }
2026-06-07T04:24:21.3391341Z           ]
2026-06-07T04:24:21.3391873Z         }
2026-06-07T04:24:21.3392375Z       }
2026-06-07T04:24:21.3392859Z     },
2026-06-07T04:24:21.3393348Z     {
2026-06-07T04:24:21.3393906Z       "id": "REQ-CONSENT-2",
2026-06-07T04:24:21.3398593Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-07T04:24:21.3404440Z       "requiredStages": [
2026-06-07T04:24:21.3405200Z         "impl",
2026-06-07T04:24:21.3405831Z         "unit"
2026-06-07T04:24:21.3406427Z       ],
2026-06-07T04:24:21.3407104Z       "stages": {
2026-06-07T04:24:21.3407687Z         "doc": {
2026-06-07T04:24:21.3408319Z           "complete": false,
2026-06-07T04:24:21.3409075Z           "evidence": []
2026-06-07T04:24:21.3409783Z         },
2026-06-07T04:24:21.3410743Z         "impl": {
2026-06-07T04:24:21.3411408Z           "complete": true,
2026-06-07T04:24:21.3412141Z           "evidence": [
2026-06-07T04:24:21.3412933Z             {
2026-06-07T04:24:21.3413653Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3414682Z               "line": 140
2026-06-07T04:24:21.3415363Z             },
2026-06-07T04:24:21.3415913Z             {
2026-06-07T04:24:21.3416634Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3417661Z               "line": 165
2026-06-07T04:24:21.3418335Z             },
2026-06-07T04:24:21.3418876Z             {
2026-06-07T04:24:21.3419657Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3420702Z               "line": 199
2026-06-07T04:24:21.3421388Z             },
2026-06-07T04:24:21.3421936Z             {
2026-06-07T04:24:21.3422655Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3423683Z               "line": 241
2026-06-07T04:24:21.3424369Z             },
2026-06-07T04:24:21.3424920Z             {
2026-06-07T04:24:21.3425755Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3426794Z               "line": 269
2026-06-07T04:24:21.3427478Z             },
2026-06-07T04:24:21.3428022Z             {
2026-06-07T04:24:21.3428743Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3429815Z               "line": 300
2026-06-07T04:24:21.3430483Z             },
2026-06-07T04:24:21.3431025Z             {
2026-06-07T04:24:21.3431666Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3432607Z               "line": 3440
2026-06-07T04:24:21.3433293Z             },
2026-06-07T04:24:21.3433855Z             {
2026-06-07T04:24:21.3434507Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3435446Z               "line": 3495
2026-06-07T04:24:21.3436126Z             }
2026-06-07T04:24:21.3436688Z           ]
2026-06-07T04:24:21.3437208Z         },
2026-06-07T04:24:21.3437736Z         "int": {
2026-06-07T04:24:21.3438358Z           "complete": false,
2026-06-07T04:24:21.3439134Z           "evidence": []
2026-06-07T04:24:21.3475479Z         },
2026-06-07T04:24:21.3476484Z         "unit": {
2026-06-07T04:24:21.3477164Z           "complete": true,
2026-06-07T04:24:21.3477971Z           "evidence": [
2026-06-07T04:24:21.3478647Z             {
2026-06-07T04:24:21.3479777Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3480826Z               "line": 419
2026-06-07T04:24:21.3481509Z             },
2026-06-07T04:24:21.3482061Z             {
2026-06-07T04:24:21.3482805Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3483838Z               "line": 436
2026-06-07T04:24:21.3484694Z             },
2026-06-07T04:24:21.3485272Z             {
2026-06-07T04:24:21.3486035Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3487111Z               "line": 472
2026-06-07T04:24:21.3487803Z             },
2026-06-07T04:24:21.3488456Z             {
2026-06-07T04:24:21.3489279Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.3490469Z               "line": 516
2026-06-07T04:24:21.3491181Z             },
2026-06-07T04:24:21.3491738Z             {
2026-06-07T04:24:21.3492399Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3493355Z               "line": 4977
2026-06-07T04:24:21.3494032Z             },
2026-06-07T04:24:21.3494580Z             {
2026-06-07T04:24:21.3495241Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3496191Z               "line": 5059
2026-06-07T04:24:21.3496878Z             }
2026-06-07T04:24:21.3497428Z           ]
2026-06-07T04:24:21.3497945Z         }
2026-06-07T04:24:21.3498445Z       }
2026-06-07T04:24:21.3498935Z     },
2026-06-07T04:24:21.3499664Z     {
2026-06-07T04:24:21.3500401Z       "id": "REQ-DAEMON-1",
2026-06-07T04:24:21.3501532Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-07T04:24:21.3503344Z       "requiredStages": [
2026-06-07T04:24:21.3504107Z         "impl",
2026-06-07T04:24:21.3504674Z         "unit",
2026-06-07T04:24:21.3505242Z         "int"
2026-06-07T04:24:21.3505949Z       ],
2026-06-07T04:24:21.3506473Z       "stages": {
2026-06-07T04:24:21.3507060Z         "doc": {
2026-06-07T04:24:21.3507695Z           "complete": false,
2026-06-07T04:24:21.3508471Z           "evidence": []
2026-06-07T04:24:21.3509141Z         },
2026-06-07T04:24:21.3510494Z         "impl": {
2026-06-07T04:24:21.3511134Z           "complete": true,
2026-06-07T04:24:21.3511866Z           "evidence": [
2026-06-07T04:24:21.3512519Z             {
2026-06-07T04:24:21.3513263Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.3514291Z               "line": 12
2026-06-07T04:24:21.3514959Z             },
2026-06-07T04:24:21.3515525Z             {
2026-06-07T04:24:21.3516281Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3517349Z               "line": 16
2026-06-07T04:24:21.3518034Z             },
2026-06-07T04:24:21.3518586Z             {
2026-06-07T04:24:21.3519508Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-07T04:24:21.3520553Z               "line": 15
2026-06-07T04:24:21.3521229Z             },
2026-06-07T04:24:21.3521785Z             {
2026-06-07T04:24:21.3522468Z               "path": "crates/spt/src/api/live.rs",
2026-06-07T04:24:21.3523459Z               "line": 13
2026-06-07T04:24:21.3524123Z             }
2026-06-07T04:24:21.3524661Z           ]
2026-06-07T04:24:21.3525172Z         },
2026-06-07T04:24:21.3525689Z         "int": {
2026-06-07T04:24:21.3526313Z           "complete": true,
2026-06-07T04:24:21.3527062Z           "evidence": [
2026-06-07T04:24:21.3527705Z             {
2026-06-07T04:24:21.3528481Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T04:24:21.3529619Z               "line": 32
2026-06-07T04:24:21.3530287Z             }
2026-06-07T04:24:21.3530828Z           ]
2026-06-07T04:24:21.3531352Z         },
2026-06-07T04:24:21.3531897Z         "unit": {
2026-06-07T04:24:21.3532525Z           "complete": true,
2026-06-07T04:24:21.3533274Z           "evidence": [
2026-06-07T04:24:21.3533931Z             {
2026-06-07T04:24:21.3534653Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.3535691Z               "line": 275
2026-06-07T04:24:21.3536361Z             },
2026-06-07T04:24:21.3543395Z             {
2026-06-07T04:24:21.3544191Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.3545224Z               "line": 283
2026-06-07T04:24:21.3545908Z             },
2026-06-07T04:24:21.3546461Z             {
2026-06-07T04:24:21.3547189Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.3548217Z               "line": 299
2026-06-07T04:24:21.3548886Z             },
2026-06-07T04:24:21.3549835Z             {
2026-06-07T04:24:21.3550623Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.3551680Z               "line": 307
2026-06-07T04:24:21.3552409Z             },
2026-06-07T04:24:21.3552967Z             {
2026-06-07T04:24:21.3553720Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3554803Z               "line": 560
2026-06-07T04:24:21.3555474Z             },
2026-06-07T04:24:21.3556036Z             {
2026-06-07T04:24:21.3556940Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3558083Z               "line": 630
2026-06-07T04:24:21.3558795Z             },
2026-06-07T04:24:21.3559693Z             {
2026-06-07T04:24:21.3560412Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-07T04:24:21.3561423Z               "line": 104
2026-06-07T04:24:21.3562087Z             },
2026-06-07T04:24:21.3562635Z             {
2026-06-07T04:24:21.3563341Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-07T04:24:21.3564349Z               "line": 129
2026-06-07T04:24:21.3565016Z             }
2026-06-07T04:24:21.3565568Z           ]
2026-06-07T04:24:21.3566410Z         }
2026-06-07T04:24:21.3566946Z       }
2026-06-07T04:24:21.3567438Z     },
2026-06-07T04:24:21.3567935Z     {
2026-06-07T04:24:21.3568686Z       "id": "REQ-DAEMON-2",
2026-06-07T04:24:21.3570074Z       "title": "Broker/brain split for seamless self-update",
2026-06-07T04:24:21.3571252Z       "requiredStages": [
2026-06-07T04:24:21.3571957Z         "impl",
2026-06-07T04:24:21.3572534Z         "unit",
2026-06-07T04:24:21.3573106Z         "int"
2026-06-07T04:24:21.3573653Z       ],
2026-06-07T04:24:21.3574175Z       "stages": {
2026-06-07T04:24:21.3574768Z         "doc": {
2026-06-07T04:24:21.3575393Z           "complete": false,
2026-06-07T04:24:21.3576155Z           "evidence": []
2026-06-07T04:24:21.3576832Z         },
2026-06-07T04:24:21.3577370Z         "impl": {
2026-06-07T04:24:21.3578017Z           "complete": true,
2026-06-07T04:24:21.3578749Z           "evidence": [
2026-06-07T04:24:21.3579644Z             {
2026-06-07T04:24:21.3580592Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.3581607Z               "line": 23
2026-06-07T04:24:21.3582279Z             },
2026-06-07T04:24:21.3582836Z             {
2026-06-07T04:24:21.3583566Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.3584602Z               "line": 531
2026-06-07T04:24:21.3585281Z             },
2026-06-07T04:24:21.3585858Z             {
2026-06-07T04:24:21.3586580Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.3587595Z               "line": 684
2026-06-07T04:24:21.3588272Z             },
2026-06-07T04:24:21.3588832Z             {
2026-06-07T04:24:21.3589849Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.3591218Z               "line": 32
2026-06-07T04:24:21.3592070Z             },
2026-06-07T04:24:21.3592624Z             {
2026-06-07T04:24:21.3593348Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.3594380Z               "line": 191
2026-06-07T04:24:21.3595058Z             },
2026-06-07T04:24:21.3595638Z             {
2026-06-07T04:24:21.3596364Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.3597408Z               "line": 546
2026-06-07T04:24:21.3598099Z             },
2026-06-07T04:24:21.3598649Z             {
2026-06-07T04:24:21.3599652Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.3600861Z               "line": 783
2026-06-07T04:24:21.3601537Z             },
2026-06-07T04:24:21.3602092Z             {
2026-06-07T04:24:21.3602808Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T04:24:21.3603803Z               "line": 11
2026-06-07T04:24:21.3604476Z             },
2026-06-07T04:24:21.3605026Z             {
2026-06-07T04:24:21.3605746Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.3611915Z               "line": 124
2026-06-07T04:24:21.3612620Z             },
2026-06-07T04:24:21.3613161Z             {
2026-06-07T04:24:21.3613856Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3614869Z               "line": 13
2026-06-07T04:24:21.3615539Z             },
2026-06-07T04:24:21.3616092Z             {
2026-06-07T04:24:21.3616830Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3617845Z               "line": 27
2026-06-07T04:24:21.3618551Z             },
2026-06-07T04:24:21.3619105Z             {
2026-06-07T04:24:21.3620150Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3621241Z               "line": 94
2026-06-07T04:24:21.3622057Z             },
2026-06-07T04:24:21.3622623Z             {
2026-06-07T04:24:21.3623355Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3624391Z               "line": 415
2026-06-07T04:24:21.3625064Z             },
2026-06-07T04:24:21.3625612Z             {
2026-06-07T04:24:21.3626340Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3627371Z               "line": 530
2026-06-07T04:24:21.3628045Z             },
2026-06-07T04:24:21.3628898Z             {
2026-06-07T04:24:21.3629744Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3630949Z               "line": 569
2026-06-07T04:24:21.3631625Z             },
2026-06-07T04:24:21.3632176Z             {
2026-06-07T04:24:21.3632915Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3633944Z               "line": 618
2026-06-07T04:24:21.3634619Z             },
2026-06-07T04:24:21.3635179Z             {
2026-06-07T04:24:21.3635910Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3636941Z               "line": 666
2026-06-07T04:24:21.3637608Z             },
2026-06-07T04:24:21.3638159Z             {
2026-06-07T04:24:21.3638901Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T04:24:21.3640041Z               "line": 10
2026-06-07T04:24:21.3640694Z             }
2026-06-07T04:24:21.3641234Z           ]
2026-06-07T04:24:21.3641759Z         },
2026-06-07T04:24:21.3642291Z         "int": {
2026-06-07T04:24:21.3642903Z           "complete": true,
2026-06-07T04:24:21.3643628Z           "evidence": [
2026-06-07T04:24:21.3644281Z             {
2026-06-07T04:24:21.3645018Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-07T04:24:21.3646059Z               "line": 17
2026-06-07T04:24:21.3646723Z             },
2026-06-07T04:24:21.3647288Z             {
2026-06-07T04:24:21.3648051Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T04:24:21.3649254Z               "line": 33
2026-06-07T04:24:21.3649912Z             },
2026-06-07T04:24:21.3650468Z             {
2026-06-07T04:24:21.3651206Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-07T04:24:21.3652252Z               "line": 19
2026-06-07T04:24:21.3652912Z             },
2026-06-07T04:24:21.3653460Z             {
2026-06-07T04:24:21.3654238Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T04:24:21.3655314Z               "line": 70
2026-06-07T04:24:21.3655982Z             },
2026-06-07T04:24:21.3656539Z             {
2026-06-07T04:24:21.3657315Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T04:24:21.3658395Z               "line": 90
2026-06-07T04:24:21.3659055Z             },
2026-06-07T04:24:21.3659657Z             {
2026-06-07T04:24:21.3660422Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T04:24:21.3661500Z               "line": 166
2026-06-07T04:24:21.3662168Z             },
2026-06-07T04:24:21.3662716Z             {
2026-06-07T04:24:21.3663672Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T04:24:21.3664967Z               "line": 208
2026-06-07T04:24:21.3665638Z             },
2026-06-07T04:24:21.3666188Z             {
2026-06-07T04:24:21.3666960Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-07T04:24:21.3668034Z               "line": 127
2026-06-07T04:24:21.3668706Z             }
2026-06-07T04:24:21.3669298Z           ]
2026-06-07T04:24:21.3669827Z         },
2026-06-07T04:24:21.3670356Z         "unit": {
2026-06-07T04:24:21.3670964Z           "complete": true,
2026-06-07T04:24:21.3671693Z           "evidence": [
2026-06-07T04:24:21.3672345Z             {
2026-06-07T04:24:21.3677394Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T04:24:21.3678577Z               "line": 62
2026-06-07T04:24:21.3680224Z             },
2026-06-07T04:24:21.3680869Z             {
2026-06-07T04:24:21.3681649Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T04:24:21.3682724Z               "line": 76
2026-06-07T04:24:21.3683401Z             },
2026-06-07T04:24:21.3683960Z             {
2026-06-07T04:24:21.3684686Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T04:24:21.3685937Z               "line": 88
2026-06-07T04:24:21.3686658Z             },
2026-06-07T04:24:21.3687299Z             {
2026-06-07T04:24:21.3688135Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T04:24:21.3689498Z               "line": 294
2026-06-07T04:24:21.3690626Z             },
2026-06-07T04:24:21.3691262Z             {
2026-06-07T04:24:21.3692017Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3693237Z               "line": 571
2026-06-07T04:24:21.3693948Z             },
2026-06-07T04:24:21.3694536Z             {
2026-06-07T04:24:21.3695266Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3696442Z               "line": 579
2026-06-07T04:24:21.3697586Z             },
2026-06-07T04:24:21.3698136Z             {
2026-06-07T04:24:21.3698825Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3700183Z               "line": 596
2026-06-07T04:24:21.3700861Z             },
2026-06-07T04:24:21.3701413Z             {
2026-06-07T04:24:21.3702100Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3703094Z               "line": 641
2026-06-07T04:24:21.3703769Z             },
2026-06-07T04:24:21.3704316Z             {
2026-06-07T04:24:21.3705063Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3706098Z               "line": 736
2026-06-07T04:24:21.3706763Z             },
2026-06-07T04:24:21.3707326Z             {
2026-06-07T04:24:21.3708248Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3709468Z               "line": 748
2026-06-07T04:24:21.3710135Z             },
2026-06-07T04:24:21.3710686Z             {
2026-06-07T04:24:21.3711430Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T04:24:21.3712500Z               "line": 110
2026-06-07T04:24:21.3713164Z             }
2026-06-07T04:24:21.3713707Z           ]
2026-06-07T04:24:21.3714228Z         }
2026-06-07T04:24:21.3714746Z       }
2026-06-07T04:24:21.3715255Z     },
2026-06-07T04:24:21.3715751Z     {
2026-06-07T04:24:21.3716298Z       "id": "REQ-DAEMON-3",
2026-06-07T04:24:21.3717354Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-07T04:24:21.3718643Z       "requiredStages": [
2026-06-07T04:24:21.3719404Z         "impl",
2026-06-07T04:24:21.3719980Z         "unit",
2026-06-07T04:24:21.3720547Z         "int"
2026-06-07T04:24:21.3721091Z       ],
2026-06-07T04:24:21.3721627Z       "stages": {
2026-06-07T04:24:21.3722215Z         "doc": {
2026-06-07T04:24:21.3722828Z           "complete": false,
2026-06-07T04:24:21.3723583Z           "evidence": []
2026-06-07T04:24:21.3724261Z         },
2026-06-07T04:24:21.3724782Z         "impl": {
2026-06-07T04:24:21.3725400Z           "complete": true,
2026-06-07T04:24:21.3726132Z           "evidence": [
2026-06-07T04:24:21.3726790Z             {
2026-06-07T04:24:21.3727504Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.3728523Z               "line": 14
2026-06-07T04:24:21.3729224Z             },
2026-06-07T04:24:21.3729787Z             {
2026-06-07T04:24:21.3730524Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-07T04:24:21.3731559Z               "line": 11
2026-06-07T04:24:21.3732216Z             },
2026-06-07T04:24:21.3732778Z             {
2026-06-07T04:24:21.3733447Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.3734409Z               "line": 247
2026-06-07T04:24:21.3735083Z             },
2026-06-07T04:24:21.3735636Z             {
2026-06-07T04:24:21.3736293Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3737228Z               "line": 1063
2026-06-07T04:24:21.3737909Z             },
2026-06-07T04:24:21.3738455Z             {
2026-06-07T04:24:21.3739108Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3740106Z               "line": 2114
2026-06-07T04:24:21.3745829Z             },
2026-06-07T04:24:21.3746651Z             {
2026-06-07T04:24:21.3747317Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3748263Z               "line": 2135
2026-06-07T04:24:21.3748935Z             }
2026-06-07T04:24:21.3749560Z           ]
2026-06-07T04:24:21.3750088Z         },
2026-06-07T04:24:21.3750608Z         "int": {
2026-06-07T04:24:21.3751536Z           "complete": true,
2026-06-07T04:24:21.3752321Z           "evidence": [
2026-06-07T04:24:21.3752965Z             {
2026-06-07T04:24:21.3753924Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.3754949Z               "line": 46
2026-06-07T04:24:21.3755615Z             },
2026-06-07T04:24:21.3756169Z             {
2026-06-07T04:24:21.3756900Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.3757934Z               "line": 435
2026-06-07T04:24:21.3758593Z             }
2026-06-07T04:24:21.3759129Z           ]
2026-06-07T04:24:21.3759843Z         },
2026-06-07T04:24:21.3760364Z         "unit": {
2026-06-07T04:24:21.3760981Z           "complete": true,
2026-06-07T04:24:21.3761713Z           "evidence": [
2026-06-07T04:24:21.3762349Z             {
2026-06-07T04:24:21.3763065Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.3764083Z               "line": 530
2026-06-07T04:24:21.3764749Z             },
2026-06-07T04:24:21.3765317Z             {
2026-06-07T04:24:21.3765981Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3766918Z               "line": 5673
2026-06-07T04:24:21.3767607Z             }
2026-06-07T04:24:21.3768141Z           ]
2026-06-07T04:24:21.3768655Z         }
2026-06-07T04:24:21.3769197Z       }
2026-06-07T04:24:21.3769694Z     },
2026-06-07T04:24:21.3770378Z     {
2026-06-07T04:24:21.3770980Z       "id": "REQ-DAEMON-4",
2026-06-07T04:24:21.3772089Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-07T04:24:21.3773141Z       "requiredStages": [
2026-06-07T04:24:21.3773846Z         "impl",
2026-06-07T04:24:21.3774415Z         "unit",
2026-06-07T04:24:21.3774981Z         "int"
2026-06-07T04:24:21.3775510Z       ],
2026-06-07T04:24:21.3776029Z       "stages": {
2026-06-07T04:24:21.3776609Z         "doc": {
2026-06-07T04:24:21.3777236Z           "complete": false,
2026-06-07T04:24:21.3777998Z           "evidence": []
2026-06-07T04:24:21.3778660Z         },
2026-06-07T04:24:21.3779246Z         "impl": {
2026-06-07T04:24:21.3779893Z           "complete": true,
2026-06-07T04:24:21.3780626Z           "evidence": [
2026-06-07T04:24:21.3781280Z             {
2026-06-07T04:24:21.3782028Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3783086Z               "line": 366
2026-06-07T04:24:21.3783765Z             },
2026-06-07T04:24:21.3784319Z             {
2026-06-07T04:24:21.3785044Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3786088Z               "line": 431
2026-06-07T04:24:21.3786751Z             },
2026-06-07T04:24:21.3787295Z             {
2026-06-07T04:24:21.3788031Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3789075Z               "line": 453
2026-06-07T04:24:21.3789797Z             }
2026-06-07T04:24:21.3790344Z           ]
2026-06-07T04:24:21.3790860Z         },
2026-06-07T04:24:21.3791379Z         "int": {
2026-06-07T04:24:21.3792163Z           "complete": true,
2026-06-07T04:24:21.3793076Z           "evidence": [
2026-06-07T04:24:21.3793716Z             {
2026-06-07T04:24:21.3794484Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T04:24:21.3795579Z               "line": 34
2026-06-07T04:24:21.3796226Z             }
2026-06-07T04:24:21.3796832Z           ]
2026-06-07T04:24:21.3797348Z         },
2026-06-07T04:24:21.3797870Z         "unit": {
2026-06-07T04:24:21.3798496Z           "complete": true,
2026-06-07T04:24:21.3799255Z           "evidence": [
2026-06-07T04:24:21.3799901Z             {
2026-06-07T04:24:21.3800613Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.3801645Z               "line": 398
2026-06-07T04:24:21.3802302Z             },
2026-06-07T04:24:21.3807501Z             {
2026-06-07T04:24:21.3808413Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3809563Z               "line": 779
2026-06-07T04:24:21.3810230Z             },
2026-06-07T04:24:21.3810773Z             {
2026-06-07T04:24:21.3811807Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3812901Z               "line": 849
2026-06-07T04:24:21.3813722Z             },
2026-06-07T04:24:21.3814466Z             {
2026-06-07T04:24:21.3815358Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3816402Z               "line": 879
2026-06-07T04:24:21.3817066Z             },
2026-06-07T04:24:21.3817611Z             {
2026-06-07T04:24:21.3818347Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.3819541Z               "line": 912
2026-06-07T04:24:21.3820200Z             }
2026-06-07T04:24:21.3820742Z           ]
2026-06-07T04:24:21.3821252Z         }
2026-06-07T04:24:21.3821757Z       }
2026-06-07T04:24:21.3822248Z     },
2026-06-07T04:24:21.3822738Z     {
2026-06-07T04:24:21.3823311Z       "id": "REQ-DOCS-1",
2026-06-07T04:24:21.3824533Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-07T04:24:21.3824815Z       "requiredStages": [
2026-06-07T04:24:21.3825031Z         "doc",
2026-06-07T04:24:21.3825235Z         "impl"
2026-06-07T04:24:21.3825442Z       ],
2026-06-07T04:24:21.3825666Z       "stages": {
2026-06-07T04:24:21.3825881Z         "doc": {
2026-06-07T04:24:21.3826128Z           "complete": true,
2026-06-07T04:24:21.3826366Z           "evidence": [
2026-06-07T04:24:21.3826579Z             {
2026-06-07T04:24:21.3826902Z               "path": "docs-site/src/index.md",
2026-06-07T04:24:21.3827136Z               "line": 50
2026-06-07T04:24:21.3827337Z             }
2026-06-07T04:24:21.3827546Z           ]
2026-06-07T04:24:21.3827748Z         },
2026-06-07T04:24:21.3827972Z         "impl": {
2026-06-07T04:24:21.3828225Z           "complete": true,
2026-06-07T04:24:21.3828452Z           "evidence": [
2026-06-07T04:24:21.3828662Z             {
2026-06-07T04:24:21.3829065Z               "path": ".github/workflows/docs-publish.yml",
2026-06-07T04:24:21.3829341Z               "line": 12
2026-06-07T04:24:21.3829555Z             },
2026-06-07T04:24:21.3829764Z             {
2026-06-07T04:24:21.3830099Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.3830334Z               "line": 14
2026-06-07T04:24:21.3830543Z             }
2026-06-07T04:24:21.3830747Z           ]
2026-06-07T04:24:21.3830953Z         },
2026-06-07T04:24:21.3831160Z         "int": {
2026-06-07T04:24:21.3831410Z           "complete": false,
2026-06-07T04:24:21.3831653Z           "evidence": []
2026-06-07T04:24:21.3831850Z         },
2026-06-07T04:24:21.3832069Z         "unit": {
2026-06-07T04:24:21.3832317Z           "complete": false,
2026-06-07T04:24:21.3832559Z           "evidence": []
2026-06-07T04:24:21.3832757Z         }
2026-06-07T04:24:21.3832961Z       }
2026-06-07T04:24:21.3833163Z     },
2026-06-07T04:24:21.3833361Z     {
2026-06-07T04:24:21.3833609Z       "id": "REQ-DOCS-2",
2026-06-07T04:24:21.3834182Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-07T04:24:21.3834443Z       "requiredStages": [
2026-06-07T04:24:21.3834658Z         "doc",
2026-06-07T04:24:21.3834872Z         "int"
2026-06-07T04:24:21.3835079Z       ],
2026-06-07T04:24:21.3835305Z       "stages": {
2026-06-07T04:24:21.3835527Z         "doc": {
2026-06-07T04:24:21.3835774Z           "complete": true,
2026-06-07T04:24:21.3836009Z           "evidence": [
2026-06-07T04:24:21.3836207Z             {
2026-06-07T04:24:21.3836620Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-07T04:24:21.3836851Z               "line": 3
2026-06-07T04:24:21.3837055Z             },
2026-06-07T04:24:21.3837271Z             {
2026-06-07T04:24:21.3837708Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-07T04:24:21.3837945Z               "line": 3
2026-06-07T04:24:21.3838145Z             }
2026-06-07T04:24:21.3838351Z           ]
2026-06-07T04:24:21.3838558Z         },
2026-06-07T04:24:21.3838774Z         "impl": {
2026-06-07T04:24:21.3839031Z           "complete": false,
2026-06-07T04:24:21.3839496Z           "evidence": []
2026-06-07T04:24:21.3839724Z         },
2026-06-07T04:24:21.3840037Z         "int": {
2026-06-07T04:24:21.3840299Z           "complete": true,
2026-06-07T04:24:21.3840668Z           "evidence": [
2026-06-07T04:24:21.3840872Z             {
2026-06-07T04:24:21.3841271Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-07T04:24:21.3841500Z               "line": 14
2026-06-07T04:24:21.3841709Z             }
2026-06-07T04:24:21.3841909Z           ]
2026-06-07T04:24:21.3842117Z         },
2026-06-07T04:24:21.3842334Z         "unit": {
2026-06-07T04:24:21.3842588Z           "complete": false,
2026-06-07T04:24:21.3842828Z           "evidence": []
2026-06-07T04:24:21.3843027Z         }
2026-06-07T04:24:21.3843236Z       }
2026-06-07T04:24:21.3843431Z     },
2026-06-07T04:24:21.3843636Z     {
2026-06-07T04:24:21.3843890Z       "id": "REQ-DOCS-3",
2026-06-07T04:24:21.3844927Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-07T04:24:21.3845203Z       "requiredStages": [
2026-06-07T04:24:21.3845434Z         "doc"
2026-06-07T04:24:21.3845642Z       ],
2026-06-07T04:24:21.3845856Z       "stages": {
2026-06-07T04:24:21.3846087Z         "doc": {
2026-06-07T04:24:21.3846338Z           "complete": true,
2026-06-07T04:24:21.3846566Z           "evidence": [
2026-06-07T04:24:21.3846779Z             {
2026-06-07T04:24:21.3847097Z               "path": "docs-site/src/index.md",
2026-06-07T04:24:21.3847327Z               "line": 42
2026-06-07T04:24:21.3847529Z             }
2026-06-07T04:24:21.3847737Z           ]
2026-06-07T04:24:21.3847948Z         },
2026-06-07T04:24:21.3848158Z         "impl": {
2026-06-07T04:24:21.3848409Z           "complete": false,
2026-06-07T04:24:21.3848641Z           "evidence": []
2026-06-07T04:24:21.3848847Z         },
2026-06-07T04:24:21.3849150Z         "int": {
2026-06-07T04:24:21.3849466Z           "complete": false,
2026-06-07T04:24:21.3849705Z           "evidence": []
2026-06-07T04:24:21.3849903Z         },
2026-06-07T04:24:21.3850122Z         "unit": {
2026-06-07T04:24:21.3850379Z           "complete": false,
2026-06-07T04:24:21.3850622Z           "evidence": []
2026-06-07T04:24:21.3850822Z         }
2026-06-07T04:24:21.3851047Z       }
2026-06-07T04:24:21.3851241Z     },
2026-06-07T04:24:21.3851448Z     {
2026-06-07T04:24:21.3851692Z       "id": "REQ-DOCS-4",
2026-06-07T04:24:21.3852431Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-07T04:24:21.3852690Z       "requiredStages": [
2026-06-07T04:24:21.3852892Z         "doc",
2026-06-07T04:24:21.3853109Z         "impl",
2026-06-07T04:24:21.3853312Z         "unit"
2026-06-07T04:24:21.3853520Z       ],
2026-06-07T04:24:21.3853744Z       "stages": {
2026-06-07T04:24:21.3853950Z         "doc": {
2026-06-07T04:24:21.3854203Z           "complete": true,
2026-06-07T04:24:21.3858606Z           "evidence": [
2026-06-07T04:24:21.3858918Z             {
2026-06-07T04:24:21.3859334Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-07T04:24:21.3859578Z               "line": 35
2026-06-07T04:24:21.3859821Z             }
2026-06-07T04:24:21.3860026Z           ]
2026-06-07T04:24:21.3860235Z         },
2026-06-07T04:24:21.3860461Z         "impl": {
2026-06-07T04:24:21.3860714Z           "complete": true,
2026-06-07T04:24:21.3860941Z           "evidence": [
2026-06-07T04:24:21.3861155Z             {
2026-06-07T04:24:21.3861571Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.3861804Z               "line": 522
2026-06-07T04:24:21.3862013Z             },
2026-06-07T04:24:21.3862213Z             {
2026-06-07T04:24:21.3862552Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.3862772Z               "line": 15
2026-06-07T04:24:21.3862981Z             }
2026-06-07T04:24:21.3863190Z           ]
2026-06-07T04:24:21.3863386Z         },
2026-06-07T04:24:21.3863600Z         "int": {
2026-06-07T04:24:21.3863849Z           "complete": false,
2026-06-07T04:24:21.3864089Z           "evidence": []
2026-06-07T04:24:21.3864289Z         },
2026-06-07T04:24:21.3864732Z         "unit": {
2026-06-07T04:24:21.3865010Z           "complete": true,
2026-06-07T04:24:21.3865243Z           "evidence": [
2026-06-07T04:24:21.3865589Z             {
2026-06-07T04:24:21.3865988Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.3866226Z               "line": 978
2026-06-07T04:24:21.3866425Z             }
2026-06-07T04:24:21.3866637Z           ]
2026-06-07T04:24:21.3866843Z         }
2026-06-07T04:24:21.3867039Z       }
2026-06-07T04:24:21.3867249Z     },
2026-06-07T04:24:21.3867471Z     {
2026-06-07T04:24:21.3867729Z       "id": "REQ-DOCS-5",
2026-06-07T04:24:21.3868461Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-07T04:24:21.3868729Z       "requiredStages": [
2026-06-07T04:24:21.3868943Z         "impl",
2026-06-07T04:24:21.3869147Z         "int"
2026-06-07T04:24:21.3869411Z       ],
2026-06-07T04:24:21.3869631Z       "stages": {
2026-06-07T04:24:21.3869850Z         "doc": {
2026-06-07T04:24:21.3870110Z           "complete": false,
2026-06-07T04:24:21.3870350Z           "evidence": []
2026-06-07T04:24:21.3870558Z         },
2026-06-07T04:24:21.3870777Z         "impl": {
2026-06-07T04:24:21.3871024Z           "complete": true,
2026-06-07T04:24:21.3871249Z           "evidence": [
2026-06-07T04:24:21.3871458Z             {
2026-06-07T04:24:21.3871863Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.3872105Z               "line": 523
2026-06-07T04:24:21.3872312Z             },
2026-06-07T04:24:21.3872512Z             {
2026-06-07T04:24:21.3872843Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.3873078Z               "line": 112
2026-06-07T04:24:21.3873287Z             }
2026-06-07T04:24:21.3873490Z           ]
2026-06-07T04:24:21.3873699Z         },
2026-06-07T04:24:21.3873911Z         "int": {
2026-06-07T04:24:21.3874153Z           "complete": true,
2026-06-07T04:24:21.3874390Z           "evidence": [
2026-06-07T04:24:21.3874589Z             {
2026-06-07T04:24:21.3874929Z               "path": ".github/workflows/ci.yml",
2026-06-07T04:24:21.3875151Z               "line": 84
2026-06-07T04:24:21.3875370Z             },
2026-06-07T04:24:21.3875570Z             {
2026-06-07T04:24:21.3875960Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.3876206Z               "line": 1015
2026-06-07T04:24:21.3876405Z             }
2026-06-07T04:24:21.3876614Z           ]
2026-06-07T04:24:21.3876811Z         },
2026-06-07T04:24:21.3877027Z         "unit": {
2026-06-07T04:24:21.3877281Z           "complete": false,
2026-06-07T04:24:21.3877513Z           "evidence": []
2026-06-07T04:24:21.3877717Z         }
2026-06-07T04:24:21.3877914Z       }
2026-06-07T04:24:21.3878118Z     },
2026-06-07T04:24:21.3878313Z     {
2026-06-07T04:24:21.3878560Z       "id": "REQ-DOCS-6",
2026-06-07T04:24:21.3880033Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-07T04:24:21.3880299Z       "requiredStages": [
2026-06-07T04:24:21.3880519Z         "impl",
2026-06-07T04:24:21.3880724Z         "unit",
2026-06-07T04:24:21.3880943Z         "int"
2026-06-07T04:24:21.3881152Z       ],
2026-06-07T04:24:21.3881368Z       "stages": {
2026-06-07T04:24:21.3881583Z         "doc": {
2026-06-07T04:24:21.3881832Z           "complete": true,
2026-06-07T04:24:21.3882074Z           "evidence": [
2026-06-07T04:24:21.3882277Z             {
2026-06-07T04:24:21.3882727Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-07T04:24:21.3882960Z               "line": 4
2026-06-07T04:24:21.3883160Z             }
2026-06-07T04:24:21.3883367Z           ]
2026-06-07T04:24:21.3883564Z         },
2026-06-07T04:24:21.3883792Z         "impl": {
2026-06-07T04:24:21.3884032Z           "complete": true,
2026-06-07T04:24:21.3884268Z           "evidence": [
2026-06-07T04:24:21.3884466Z             {
2026-06-07T04:24:21.3884781Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3885212Z               "line": 2526
2026-06-07T04:24:21.3885440Z             }
2026-06-07T04:24:21.3885648Z           ]
2026-06-07T04:24:21.3885972Z         },
2026-06-07T04:24:21.3886209Z         "int": {
2026-06-07T04:24:21.3886626Z           "complete": true,
2026-06-07T04:24:21.3886906Z           "evidence": [
2026-06-07T04:24:21.3887143Z             {
2026-06-07T04:24:21.3887581Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-07T04:24:21.3887983Z               "line": 34
2026-06-07T04:24:21.3888185Z             }
2026-06-07T04:24:21.3888396Z           ]
2026-06-07T04:24:21.3888595Z         },
2026-06-07T04:24:21.3888816Z         "unit": {
2026-06-07T04:24:21.3889065Z           "complete": true,
2026-06-07T04:24:21.3889344Z           "evidence": [
2026-06-07T04:24:21.3889562Z             {
2026-06-07T04:24:21.3889874Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3890123Z               "line": 5700
2026-06-07T04:24:21.3890336Z             }
2026-06-07T04:24:21.3890559Z           ]
2026-06-07T04:24:21.3890769Z         }
2026-06-07T04:24:21.3890970Z       }
2026-06-07T04:24:21.3891178Z     },
2026-06-07T04:24:21.3891386Z     {
2026-06-07T04:24:21.3891643Z       "id": "REQ-EP-1",
2026-06-07T04:24:21.3892071Z       "title": "Day-one endpoint types; open type system",
2026-06-07T04:24:21.3892327Z       "requiredStages": [
2026-06-07T04:24:21.3892544Z         "impl",
2026-06-07T04:24:21.3892749Z         "unit"
2026-06-07T04:24:21.3892952Z       ],
2026-06-07T04:24:21.3893165Z       "stages": {
2026-06-07T04:24:21.3893378Z         "doc": {
2026-06-07T04:24:21.3893624Z           "complete": false,
2026-06-07T04:24:21.3893870Z           "evidence": []
2026-06-07T04:24:21.3894078Z         },
2026-06-07T04:24:21.3894288Z         "impl": {
2026-06-07T04:24:21.3894535Z           "complete": true,
2026-06-07T04:24:21.3894760Z           "evidence": [
2026-06-07T04:24:21.3894978Z             {
2026-06-07T04:24:21.3895376Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3895621Z               "line": 77
2026-06-07T04:24:21.3895834Z             },
2026-06-07T04:24:21.3896030Z             {
2026-06-07T04:24:21.3896436Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3896662Z               "line": 94
2026-06-07T04:24:21.3896874Z             }
2026-06-07T04:24:21.3897081Z           ]
2026-06-07T04:24:21.3897289Z         },
2026-06-07T04:24:21.3897505Z         "int": {
2026-06-07T04:24:21.3897757Z           "complete": false,
2026-06-07T04:24:21.3898000Z           "evidence": []
2026-06-07T04:24:21.3898203Z         },
2026-06-07T04:24:21.3898418Z         "unit": {
2026-06-07T04:24:21.3898662Z           "complete": true,
2026-06-07T04:24:21.3898893Z           "evidence": [
2026-06-07T04:24:21.3899099Z             {
2026-06-07T04:24:21.3899549Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3899790Z               "line": 161
2026-06-07T04:24:21.3899992Z             },
2026-06-07T04:24:21.3903992Z             {
2026-06-07T04:24:21.3904499Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3904750Z               "line": 178
2026-06-07T04:24:21.3904973Z             }
2026-06-07T04:24:21.3905173Z           ]
2026-06-07T04:24:21.3905381Z         }
2026-06-07T04:24:21.3905580Z       }
2026-06-07T04:24:21.3905784Z     },
2026-06-07T04:24:21.3905978Z     {
2026-06-07T04:24:21.3906221Z       "id": "REQ-EP-2",
2026-06-07T04:24:21.3906837Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-07T04:24:21.3907099Z       "requiredStages": [
2026-06-07T04:24:21.3907324Z         "impl",
2026-06-07T04:24:21.3907529Z         "unit"
2026-06-07T04:24:21.3907735Z       ],
2026-06-07T04:24:21.3907945Z       "stages": {
2026-06-07T04:24:21.3908161Z         "doc": {
2026-06-07T04:24:21.3908596Z           "complete": false,
2026-06-07T04:24:21.3908870Z           "evidence": []
2026-06-07T04:24:21.3909107Z         },
2026-06-07T04:24:21.3909586Z         "impl": {
2026-06-07T04:24:21.3910081Z           "complete": true,
2026-06-07T04:24:21.3910336Z           "evidence": [
2026-06-07T04:24:21.3910546Z             {
2026-06-07T04:24:21.3911090Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3911321Z               "line": 114
2026-06-07T04:24:21.3911536Z             },
2026-06-07T04:24:21.3911743Z             {
2026-06-07T04:24:21.3912149Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3912373Z               "line": 131
2026-06-07T04:24:21.3912585Z             },
2026-06-07T04:24:21.3912788Z             {
2026-06-07T04:24:21.3913187Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3913424Z               "line": 138
2026-06-07T04:24:21.3913626Z             }
2026-06-07T04:24:21.3913838Z           ]
2026-06-07T04:24:21.3914040Z         },
2026-06-07T04:24:21.3914255Z         "int": {
2026-06-07T04:24:21.3914510Z           "complete": false,
2026-06-07T04:24:21.3914742Z           "evidence": []
2026-06-07T04:24:21.3914958Z         },
2026-06-07T04:24:21.3915176Z         "unit": {
2026-06-07T04:24:21.3915423Z           "complete": true,
2026-06-07T04:24:21.3915666Z           "evidence": [
2026-06-07T04:24:21.3915876Z             {
2026-06-07T04:24:21.3916270Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3916500Z               "line": 190
2026-06-07T04:24:21.3916706Z             },
2026-06-07T04:24:21.3916901Z             {
2026-06-07T04:24:21.3917297Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3917536Z               "line": 208
2026-06-07T04:24:21.3917743Z             },
2026-06-07T04:24:21.3917950Z             {
2026-06-07T04:24:21.3918342Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T04:24:21.3918582Z               "line": 221
2026-06-07T04:24:21.3918784Z             }
2026-06-07T04:24:21.3918991Z           ]
2026-06-07T04:24:21.3919254Z         }
2026-06-07T04:24:21.3919457Z       }
2026-06-07T04:24:21.3919679Z     },
2026-06-07T04:24:21.3920030Z     {
2026-06-07T04:24:21.3920306Z       "id": "REQ-EP-3",
2026-06-07T04:24:21.3921199Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-07T04:24:21.3921480Z       "requiredStages": [
2026-06-07T04:24:21.3921695Z         "impl",
2026-06-07T04:24:21.3921898Z         "unit"
2026-06-07T04:24:21.3922101Z       ],
2026-06-07T04:24:21.3922313Z       "stages": {
2026-06-07T04:24:21.3922522Z         "doc": {
2026-06-07T04:24:21.3922770Z           "complete": false,
2026-06-07T04:24:21.3923015Z           "evidence": []
2026-06-07T04:24:21.3923213Z         },
2026-06-07T04:24:21.3923433Z         "impl": {
2026-06-07T04:24:21.3923680Z           "complete": true,
2026-06-07T04:24:21.3923905Z           "evidence": [
2026-06-07T04:24:21.3924114Z             {
2026-06-07T04:24:21.3924516Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3924746Z               "line": 31
2026-06-07T04:24:21.3924957Z             },
2026-06-07T04:24:21.3925166Z             {
2026-06-07T04:24:21.3925558Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3925787Z               "line": 49
2026-06-07T04:24:21.3925997Z             }
2026-06-07T04:24:21.3926197Z           ]
2026-06-07T04:24:21.3926401Z         },
2026-06-07T04:24:21.3926613Z         "int": {
2026-06-07T04:24:21.3926858Z           "complete": false,
2026-06-07T04:24:21.3927097Z           "evidence": []
2026-06-07T04:24:21.3927306Z         },
2026-06-07T04:24:21.3927529Z         "unit": {
2026-06-07T04:24:21.3927781Z           "complete": true,
2026-06-07T04:24:21.3928022Z           "evidence": [
2026-06-07T04:24:21.3928221Z             {
2026-06-07T04:24:21.3928611Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3928850Z               "line": 156
2026-06-07T04:24:21.3929205Z             },
2026-06-07T04:24:21.3929414Z             {
2026-06-07T04:24:21.3929817Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3930216Z               "line": 164
2026-06-07T04:24:21.3930442Z             },
2026-06-07T04:24:21.3930647Z             {
2026-06-07T04:24:21.3931181Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3931411Z               "line": 177
2026-06-07T04:24:21.3931624Z             },
2026-06-07T04:24:21.3931828Z             {
2026-06-07T04:24:21.3932221Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3932463Z               "line": 200
2026-06-07T04:24:21.3932666Z             },
2026-06-07T04:24:21.3932880Z             {
2026-06-07T04:24:21.3933261Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3933494Z               "line": 216
2026-06-07T04:24:21.3933696Z             },
2026-06-07T04:24:21.3933910Z             {
2026-06-07T04:24:21.3934305Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T04:24:21.3934536Z               "line": 233
2026-06-07T04:24:21.3934742Z             }
2026-06-07T04:24:21.3934953Z           ]
2026-06-07T04:24:21.3935166Z         }
2026-06-07T04:24:21.3935366Z       }
2026-06-07T04:24:21.3935568Z     },
2026-06-07T04:24:21.3935780Z     {
2026-06-07T04:24:21.3936019Z       "id": "REQ-EP-4",
2026-06-07T04:24:21.3936545Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-07T04:24:21.3936811Z       "requiredStages": [
2026-06-07T04:24:21.3937031Z         "impl",
2026-06-07T04:24:21.3937233Z         "unit"
2026-06-07T04:24:21.3937437Z       ],
2026-06-07T04:24:21.3937657Z       "stages": {
2026-06-07T04:24:21.3937865Z         "doc": {
2026-06-07T04:24:21.3938116Z           "complete": false,
2026-06-07T04:24:21.3938349Z           "evidence": []
2026-06-07T04:24:21.3938553Z         },
2026-06-07T04:24:21.3938763Z         "impl": {
2026-06-07T04:24:21.3939013Z           "complete": true,
2026-06-07T04:24:21.3939295Z           "evidence": [
2026-06-07T04:24:21.3939499Z             {
2026-06-07T04:24:21.3939876Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.3940114Z               "line": 461
2026-06-07T04:24:21.3940323Z             },
2026-06-07T04:24:21.3940517Z             {
2026-06-07T04:24:21.3940908Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.3941142Z               "line": 706
2026-06-07T04:24:21.3941352Z             },
2026-06-07T04:24:21.3941555Z             {
2026-06-07T04:24:21.3941929Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.3942166Z               "line": 800
2026-06-07T04:24:21.3942366Z             },
2026-06-07T04:24:21.3942571Z             {
2026-06-07T04:24:21.3942930Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3943158Z               "line": 83
2026-06-07T04:24:21.3943368Z             },
2026-06-07T04:24:21.3943567Z             {
2026-06-07T04:24:21.3943920Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3944146Z               "line": 452
2026-06-07T04:24:21.3944357Z             },
2026-06-07T04:24:21.3944567Z             {
2026-06-07T04:24:21.3944912Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3945151Z               "line": 538
2026-06-07T04:24:21.3945358Z             },
2026-06-07T04:24:21.3945567Z             {
2026-06-07T04:24:21.3945951Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3946191Z               "line": 181
2026-06-07T04:24:21.3950209Z             },
2026-06-07T04:24:21.3950510Z             {
2026-06-07T04:24:21.3950923Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3951160Z               "line": 317
2026-06-07T04:24:21.3951372Z             },
2026-06-07T04:24:21.3951572Z             {
2026-06-07T04:24:21.3951966Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.3952204Z               "line": 701
2026-06-07T04:24:21.3952403Z             }
2026-06-07T04:24:21.3952611Z           ]
2026-06-07T04:24:21.3952809Z         },
2026-06-07T04:24:21.3953024Z         "int": {
2026-06-07T04:24:21.3953513Z           "complete": false,
2026-06-07T04:24:21.3953778Z           "evidence": []
2026-06-07T04:24:21.3953984Z         },
2026-06-07T04:24:21.3954325Z         "unit": {
2026-06-07T04:24:21.3954573Z           "complete": true,
2026-06-07T04:24:21.3954801Z           "evidence": [
2026-06-07T04:24:21.3955011Z             {
2026-06-07T04:24:21.3955358Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T04:24:21.3955590Z               "line": 616
2026-06-07T04:24:21.3955796Z             },
2026-06-07T04:24:21.3955992Z             {
2026-06-07T04:24:21.3956410Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-07T04:24:21.3956630Z               "line": 75
2026-06-07T04:24:21.3956836Z             },
2026-06-07T04:24:21.3957034Z             {
2026-06-07T04:24:21.3957454Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-07T04:24:21.3957693Z               "line": 146
2026-06-07T04:24:21.3957888Z             }
2026-06-07T04:24:21.3958092Z           ]
2026-06-07T04:24:21.3958301Z         }
2026-06-07T04:24:21.3958510Z       }
2026-06-07T04:24:21.3958705Z     },
2026-06-07T04:24:21.3958909Z     {
2026-06-07T04:24:21.3959255Z       "id": "REQ-EP-5",
2026-06-07T04:24:21.3962511Z       "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-07T04:24:21.3962777Z       "requiredStages": [
2026-06-07T04:24:21.3962990Z         "impl",
2026-06-07T04:24:21.3963206Z         "unit",
2026-06-07T04:24:21.3963413Z         "int"
2026-06-07T04:24:21.3963624Z       ],
2026-06-07T04:24:21.3963846Z       "stages": {
2026-06-07T04:24:21.3964053Z         "doc": {
2026-06-07T04:24:21.3964306Z           "complete": false,
2026-06-07T04:24:21.3964540Z           "evidence": []
2026-06-07T04:24:21.3964743Z         },
2026-06-07T04:24:21.3964960Z         "impl": {
2026-06-07T04:24:21.3965211Z           "complete": true,
2026-06-07T04:24:21.3965446Z           "evidence": [
2026-06-07T04:24:21.3965642Z             {
2026-06-07T04:24:21.3966099Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.3966327Z               "line": 265
2026-06-07T04:24:21.3966540Z             },
2026-06-07T04:24:21.3966742Z             {
2026-06-07T04:24:21.3967143Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3967378Z               "line": 18
2026-06-07T04:24:21.3967580Z             },
2026-06-07T04:24:21.3967786Z             {
2026-06-07T04:24:21.3968183Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3968414Z               "line": 63
2026-06-07T04:24:21.3968625Z             },
2026-06-07T04:24:21.3968821Z             {
2026-06-07T04:24:21.3969272Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3969517Z               "line": 92
2026-06-07T04:24:21.3969727Z             },
2026-06-07T04:24:21.3969932Z             {
2026-06-07T04:24:21.3970329Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3970571Z               "line": 167
2026-06-07T04:24:21.3970775Z             },
2026-06-07T04:24:21.3970981Z             {
2026-06-07T04:24:21.3971374Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3971606Z               "line": 179
2026-06-07T04:24:21.3971802Z             },
2026-06-07T04:24:21.3972009Z             {
2026-06-07T04:24:21.3972406Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.3972638Z               "line": 114
2026-06-07T04:24:21.3972851Z             },
2026-06-07T04:24:21.3973050Z             {
2026-06-07T04:24:21.3973446Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3973681Z               "line": 22
2026-06-07T04:24:21.3973881Z             },
2026-06-07T04:24:21.3974085Z             {
2026-06-07T04:24:21.3974673Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3974932Z               "line": 129
2026-06-07T04:24:21.3975134Z             },
2026-06-07T04:24:21.3975476Z             {
2026-06-07T04:24:21.3975878Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3976111Z               "line": 156
2026-06-07T04:24:21.3976320Z             },
2026-06-07T04:24:21.3976526Z             {
2026-06-07T04:24:21.3976927Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3977161Z               "line": 178
2026-06-07T04:24:21.3977369Z             },
2026-06-07T04:24:21.3977576Z             {
2026-06-07T04:24:21.3977967Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3978205Z               "line": 203
2026-06-07T04:24:21.3978408Z             },
2026-06-07T04:24:21.3978617Z             {
2026-06-07T04:24:21.3979013Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3979304Z               "line": 229
2026-06-07T04:24:21.3979653Z             },
2026-06-07T04:24:21.3979852Z             {
2026-06-07T04:24:21.3980253Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3980500Z               "line": 252
2026-06-07T04:24:21.3980712Z             },
2026-06-07T04:24:21.3980913Z             {
2026-06-07T04:24:21.3981301Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.3981543Z               "line": 81
2026-06-07T04:24:21.3981750Z             },
2026-06-07T04:24:21.3981957Z             {
2026-06-07T04:24:21.3982263Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3982503Z               "line": 2831
2026-06-07T04:24:21.3982704Z             },
2026-06-07T04:24:21.3982910Z             {
2026-06-07T04:24:21.3983223Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3983451Z               "line": 2954
2026-06-07T04:24:21.3983664Z             },
2026-06-07T04:24:21.3983860Z             {
2026-06-07T04:24:21.3984174Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3984415Z               "line": 3115
2026-06-07T04:24:21.3984634Z             },
2026-06-07T04:24:21.3984840Z             {
2026-06-07T04:24:21.3985161Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.3985398Z               "line": 3494
2026-06-07T04:24:21.3985602Z             }
2026-06-07T04:24:21.3985811Z           ]
2026-06-07T04:24:21.3986009Z         },
2026-06-07T04:24:21.3986217Z         "int": {
2026-06-07T04:24:21.3986461Z           "complete": true,
2026-06-07T04:24:21.3986687Z           "evidence": [
2026-06-07T04:24:21.3986890Z             {
2026-06-07T04:24:21.3987306Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-07T04:24:21.3987535Z               "line": 16
2026-06-07T04:24:21.3987732Z             },
2026-06-07T04:24:21.3987939Z             {
2026-06-07T04:24:21.3988300Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-07T04:24:21.3988520Z               "line": 15
2026-06-07T04:24:21.3988723Z             }
2026-06-07T04:24:21.3988929Z           ]
2026-06-07T04:24:21.3989133Z         },
2026-06-07T04:24:21.3989396Z         "unit": {
2026-06-07T04:24:21.3989669Z           "complete": true,
2026-06-07T04:24:21.3989903Z           "evidence": [
2026-06-07T04:24:21.3990099Z             {
2026-06-07T04:24:21.3990506Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3990736Z               "line": 246
2026-06-07T04:24:21.3990947Z             },
2026-06-07T04:24:21.3991145Z             {
2026-06-07T04:24:21.3991563Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3991796Z               "line": 306
2026-06-07T04:24:21.3991995Z             },
2026-06-07T04:24:21.3992200Z             {
2026-06-07T04:24:21.3992611Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T04:24:21.3993044Z               "line": 361
2026-06-07T04:24:21.3993292Z             },
2026-06-07T04:24:21.3993516Z             {
2026-06-07T04:24:21.3994261Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3994514Z               "line": 268
2026-06-07T04:24:21.3994724Z             },
2026-06-07T04:24:21.3995045Z             {
2026-06-07T04:24:21.3995454Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.3999476Z               "line": 291
2026-06-07T04:24:21.3999782Z             },
2026-06-07T04:24:21.3999988Z             {
2026-06-07T04:24:21.4000386Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.4000620Z               "line": 491
2026-06-07T04:24:21.4000822Z             },
2026-06-07T04:24:21.4001026Z             {
2026-06-07T04:24:21.4001342Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.4001570Z               "line": 4196
2026-06-07T04:24:21.4001781Z             },
2026-06-07T04:24:21.4001979Z             {
2026-06-07T04:24:21.4002292Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.4002518Z               "line": 4320
2026-06-07T04:24:21.4002732Z             },
2026-06-07T04:24:21.4002968Z             {
2026-06-07T04:24:21.4003272Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.4003520Z               "line": 4907
2026-06-07T04:24:21.4003717Z             },
2026-06-07T04:24:21.4003927Z             {
2026-06-07T04:24:21.4004233Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.4004461Z               "line": 4972
2026-06-07T04:24:21.4004662Z             }
2026-06-07T04:24:21.4004859Z           ]
2026-06-07T04:24:21.4005059Z         }
2026-06-07T04:24:21.4005250Z       }
2026-06-07T04:24:21.4005450Z     },
2026-06-07T04:24:21.4005644Z     {
2026-06-07T04:24:21.4005893Z       "id": "REQ-FRONT-1",
2026-06-07T04:24:21.4006561Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-07T04:24:21.4006817Z       "requiredStages": [],
2026-06-07T04:24:21.4007036Z       "stages": {
2026-06-07T04:24:21.4007242Z         "doc": {
2026-06-07T04:24:21.4007504Z           "complete": false,
2026-06-07T04:24:21.4007753Z           "evidence": []
2026-06-07T04:24:21.4007958Z         },
2026-06-07T04:24:21.4008180Z         "impl": {
2026-06-07T04:24:21.4008430Z           "complete": false,
2026-06-07T04:24:21.4008679Z           "evidence": []
2026-06-07T04:24:21.4008879Z         },
2026-06-07T04:24:21.4009095Z         "int": {
2026-06-07T04:24:21.4009392Z           "complete": false,
2026-06-07T04:24:21.4009638Z           "evidence": []
2026-06-07T04:24:21.4009849Z         },
2026-06-07T04:24:21.4010060Z         "unit": {
2026-06-07T04:24:21.4010316Z           "complete": false,
2026-06-07T04:24:21.4010547Z           "evidence": []
2026-06-07T04:24:21.4010754Z         }
2026-06-07T04:24:21.4010947Z       }
2026-06-07T04:24:21.4011145Z     },
2026-06-07T04:24:21.4011346Z     {
2026-06-07T04:24:21.4011684Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-07T04:24:21.4012333Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-07T04:24:21.4012585Z       "requiredStages": [
2026-06-07T04:24:21.4012814Z         "impl",
2026-06-07T04:24:21.4013018Z         "unit"
2026-06-07T04:24:21.4013223Z       ],
2026-06-07T04:24:21.4013451Z       "stages": {
2026-06-07T04:24:21.4013676Z         "doc": {
2026-06-07T04:24:21.4013932Z           "complete": false,
2026-06-07T04:24:21.4014167Z           "evidence": []
2026-06-07T04:24:21.4014525Z         },
2026-06-07T04:24:21.4014768Z         "impl": {
2026-06-07T04:24:21.4015187Z           "complete": true,
2026-06-07T04:24:21.4015428Z           "evidence": [
2026-06-07T04:24:21.4015628Z             {
2026-06-07T04:24:21.4016029Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.4016261Z               "line": 149
2026-06-07T04:24:21.4016467Z             },
2026-06-07T04:24:21.4016666Z             {
2026-06-07T04:24:21.4017024Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.4017259Z               "line": 18
2026-06-07T04:24:21.4017457Z             },
2026-06-07T04:24:21.4017662Z             {
2026-06-07T04:24:21.4018343Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.4018605Z               "line": 98
2026-06-07T04:24:21.4018963Z             }
2026-06-07T04:24:21.4019224Z           ]
2026-06-07T04:24:21.4019442Z         },
2026-06-07T04:24:21.4019649Z         "int": {
2026-06-07T04:24:21.4019906Z           "complete": false,
2026-06-07T04:24:21.4020135Z           "evidence": []
2026-06-07T04:24:21.4020341Z         },
2026-06-07T04:24:21.4020546Z         "unit": {
2026-06-07T04:24:21.4020795Z           "complete": true,
2026-06-07T04:24:21.4021024Z           "evidence": [
2026-06-07T04:24:21.4021228Z             {
2026-06-07T04:24:21.4021613Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.4021840Z               "line": 565
2026-06-07T04:24:21.4022053Z             },
2026-06-07T04:24:21.4022257Z             {
2026-06-07T04:24:21.4022621Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.4022855Z               "line": 159
2026-06-07T04:24:21.4023068Z             },
2026-06-07T04:24:21.4023277Z             {
2026-06-07T04:24:21.4023627Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.4023875Z               "line": 231
2026-06-07T04:24:21.4024072Z             }
2026-06-07T04:24:21.4024280Z           ]
2026-06-07T04:24:21.4024488Z         }
2026-06-07T04:24:21.4024693Z       }
2026-06-07T04:24:21.4024896Z     },
2026-06-07T04:24:21.4025091Z     {
2026-06-07T04:24:21.4025625Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-07T04:24:21.4027818Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-07T04:24:21.4028085Z       "requiredStages": [
2026-06-07T04:24:21.4028300Z         "impl",
2026-06-07T04:24:21.4028507Z         "unit"
2026-06-07T04:24:21.4028719Z       ],
2026-06-07T04:24:21.4029022Z       "stages": {
2026-06-07T04:24:21.4029277Z         "doc": {
2026-06-07T04:24:21.4029536Z           "complete": true,
2026-06-07T04:24:21.4029772Z           "evidence": [
2026-06-07T04:24:21.4029982Z             {
2026-06-07T04:24:21.4030317Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4030555Z               "line": 209
2026-06-07T04:24:21.4030757Z             }
2026-06-07T04:24:21.4030966Z           ]
2026-06-07T04:24:21.4031167Z         },
2026-06-07T04:24:21.4031385Z         "impl": {
2026-06-07T04:24:21.4031638Z           "complete": true,
2026-06-07T04:24:21.4031867Z           "evidence": [
2026-06-07T04:24:21.4032075Z             {
2026-06-07T04:24:21.4032483Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.4032725Z               "line": 302
2026-06-07T04:24:21.4032934Z             },
2026-06-07T04:24:21.4033141Z             {
2026-06-07T04:24:21.4033549Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.4033781Z               "line": 257
2026-06-07T04:24:21.4033985Z             },
2026-06-07T04:24:21.4034199Z             {
2026-06-07T04:24:21.4034596Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.4034834Z               "line": 405
2026-06-07T04:24:21.4035055Z             },
2026-06-07T04:24:21.4035264Z             {
2026-06-07T04:24:21.4035636Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.4035869Z               "line": 77
2026-06-07T04:24:21.4036070Z             }
2026-06-07T04:24:21.4036427Z           ]
2026-06-07T04:24:21.4036659Z         },
2026-06-07T04:24:21.4036900Z         "int": {
2026-06-07T04:24:21.4037177Z           "complete": false,
2026-06-07T04:24:21.4037421Z           "evidence": []
2026-06-07T04:24:21.4037632Z         },
2026-06-07T04:24:21.4037843Z         "unit": {
2026-06-07T04:24:21.4038104Z           "complete": true,
2026-06-07T04:24:21.4038349Z           "evidence": [
2026-06-07T04:24:21.4038554Z             {
2026-06-07T04:24:21.4038974Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.4039648Z               "line": 478
2026-06-07T04:24:21.4039896Z             },
2026-06-07T04:24:21.4040097Z             {
2026-06-07T04:24:21.4040504Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.4040930Z               "line": 516
2026-06-07T04:24:21.4041136Z             },
2026-06-07T04:24:21.4041341Z             {
2026-06-07T04:24:21.4041706Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.4041940Z               "line": 166
2026-06-07T04:24:21.4042141Z             }
2026-06-07T04:24:21.4042346Z           ]
2026-06-07T04:24:21.4042555Z         }
2026-06-07T04:24:21.4042754Z       }
2026-06-07T04:24:21.4042962Z     },
2026-06-07T04:24:21.4043152Z     {
2026-06-07T04:24:21.4047285Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-07T04:24:21.4050480Z       "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-07T04:24:21.4050768Z       "requiredStages": [
2026-06-07T04:24:21.4050985Z         "impl",
2026-06-07T04:24:21.4051211Z         "unit"
2026-06-07T04:24:21.4051421Z       ],
2026-06-07T04:24:21.4051664Z       "stages": {
2026-06-07T04:24:21.4051915Z         "doc": {
2026-06-07T04:24:21.4052176Z           "complete": false,
2026-06-07T04:24:21.4052426Z           "evidence": []
2026-06-07T04:24:21.4052637Z         },
2026-06-07T04:24:21.4052847Z         "impl": {
2026-06-07T04:24:21.4053102Z           "complete": true,
2026-06-07T04:24:21.4053331Z           "evidence": [
2026-06-07T04:24:21.4053539Z             {
2026-06-07T04:24:21.4053949Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T04:24:21.4054181Z               "line": 22
2026-06-07T04:24:21.4054391Z             },
2026-06-07T04:24:21.4054585Z             {
2026-06-07T04:24:21.4054945Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.4055173Z               "line": 476
2026-06-07T04:24:21.4055389Z             },
2026-06-07T04:24:21.4055589Z             {
2026-06-07T04:24:21.4055984Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T04:24:21.4056225Z               "line": 17
2026-06-07T04:24:21.4056428Z             },
2026-06-07T04:24:21.4056639Z             {
2026-06-07T04:24:21.4057018Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T04:24:21.4057252Z               "line": 140
2026-06-07T04:24:21.4057457Z             },
2026-06-07T04:24:21.4057657Z             {
2026-06-07T04:24:21.4058084Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.4058316Z               "line": 194
2026-06-07T04:24:21.4058521Z             },
2026-06-07T04:24:21.4058721Z             {
2026-06-07T04:24:21.4059235Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.4059787Z               "line": 219
2026-06-07T04:24:21.4059991Z             },
2026-06-07T04:24:21.4060200Z             {
2026-06-07T04:24:21.4060624Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.4060863Z               "line": 245
2026-06-07T04:24:21.4061075Z             },
2026-06-07T04:24:21.4061280Z             {
2026-06-07T04:24:21.4061679Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.4061905Z               "line": 124
2026-06-07T04:24:21.4062112Z             },
2026-06-07T04:24:21.4062307Z             {
2026-06-07T04:24:21.4062696Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.4062919Z               "line": 224
2026-06-07T04:24:21.4063125Z             }
2026-06-07T04:24:21.4063335Z           ]
2026-06-07T04:24:21.4063535Z         },
2026-06-07T04:24:21.4063749Z         "int": {
2026-06-07T04:24:21.4063998Z           "complete": false,
2026-06-07T04:24:21.4064238Z           "evidence": []
2026-06-07T04:24:21.4064439Z         },
2026-06-07T04:24:21.4064658Z         "unit": {
2026-06-07T04:24:21.4064909Z           "complete": true,
2026-06-07T04:24:21.4065369Z           "evidence": [
2026-06-07T04:24:21.4065612Z             {
2026-06-07T04:24:21.4066010Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T04:24:21.4066390Z               "line": 61
2026-06-07T04:24:21.4066591Z             },
2026-06-07T04:24:21.4066797Z             {
2026-06-07T04:24:21.4067197Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T04:24:21.4067420Z               "line": 71
2026-06-07T04:24:21.4067628Z             },
2026-06-07T04:24:21.4067822Z             {
2026-06-07T04:24:21.4068217Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T04:24:21.4068441Z               "line": 83
2026-06-07T04:24:21.4068648Z             },
2026-06-07T04:24:21.4068851Z             {
2026-06-07T04:24:21.4069263Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T04:24:21.4069693Z               "line": 337
2026-06-07T04:24:21.4070041Z             },
2026-06-07T04:24:21.4070250Z             {
2026-06-07T04:24:21.4070643Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T04:24:21.4070884Z               "line": 274
2026-06-07T04:24:21.4071103Z             },
2026-06-07T04:24:21.4071311Z             {
2026-06-07T04:24:21.4071697Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T04:24:21.4071925Z               "line": 315
2026-06-07T04:24:21.4072135Z             },
2026-06-07T04:24:21.4072330Z             {
2026-06-07T04:24:21.4072718Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T04:24:21.4072952Z               "line": 353
2026-06-07T04:24:21.4073151Z             },
2026-06-07T04:24:21.4073362Z             {
2026-06-07T04:24:21.4073777Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.4074015Z               "line": 656
2026-06-07T04:24:21.4074230Z             },
2026-06-07T04:24:21.4074429Z             {
2026-06-07T04:24:21.4074827Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.4075071Z               "line": 397
2026-06-07T04:24:21.4075283Z             },
2026-06-07T04:24:21.4075482Z             {
2026-06-07T04:24:21.4075879Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.4076136Z               "line": 440
2026-06-07T04:24:21.4076332Z             }
2026-06-07T04:24:21.4076539Z           ]
2026-06-07T04:24:21.4076735Z         }
2026-06-07T04:24:21.4076937Z       }
2026-06-07T04:24:21.4077136Z     },
2026-06-07T04:24:21.4077339Z     {
2026-06-07T04:24:21.4077687Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-07T04:24:21.4078532Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-07T04:24:21.4078792Z       "requiredStages": [
2026-06-07T04:24:21.4079007Z         "impl",
2026-06-07T04:24:21.4079256Z         "unit"
2026-06-07T04:24:21.4079773Z       ],
2026-06-07T04:24:21.4080013Z       "stages": {
2026-06-07T04:24:21.4080228Z         "doc": {
2026-06-07T04:24:21.4080474Z           "complete": false,
2026-06-07T04:24:21.4080723Z           "evidence": []
2026-06-07T04:24:21.4080925Z         },
2026-06-07T04:24:21.4081148Z         "impl": {
2026-06-07T04:24:21.4081388Z           "complete": true,
2026-06-07T04:24:21.4081637Z           "evidence": [
2026-06-07T04:24:21.4081847Z             {
2026-06-07T04:24:21.4082198Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T04:24:21.4082431Z               "line": 169
2026-06-07T04:24:21.4082632Z             }
2026-06-07T04:24:21.4082841Z           ]
2026-06-07T04:24:21.4083037Z         },
2026-06-07T04:24:21.4083251Z         "int": {
2026-06-07T04:24:21.4083505Z           "complete": true,
2026-06-07T04:24:21.4083731Z           "evidence": [
2026-06-07T04:24:21.4083936Z             {
2026-06-07T04:24:21.4084279Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-07T04:24:21.4084506Z               "line": 44
2026-06-07T04:24:21.4084705Z             },
2026-06-07T04:24:21.4084916Z             {
2026-06-07T04:24:21.4085436Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-07T04:24:21.4085675Z               "line": 66
2026-06-07T04:24:21.4085887Z             }
2026-06-07T04:24:21.4086091Z           ]
2026-06-07T04:24:21.4086424Z         },
2026-06-07T04:24:21.4086632Z         "unit": {
2026-06-07T04:24:21.4086878Z           "complete": true,
2026-06-07T04:24:21.4087110Z           "evidence": [
2026-06-07T04:24:21.4087310Z             {
2026-06-07T04:24:21.4087664Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T04:24:21.4087889Z               "line": 186
2026-06-07T04:24:21.4088094Z             },
2026-06-07T04:24:21.4088292Z             {
2026-06-07T04:24:21.4088650Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T04:24:21.4088887Z               "line": 238
2026-06-07T04:24:21.4089085Z             },
2026-06-07T04:24:21.4089342Z             {
2026-06-07T04:24:21.4089703Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T04:24:21.4089938Z               "line": 266
2026-06-07T04:24:21.4090142Z             }
2026-06-07T04:24:21.4090371Z           ]
2026-06-07T04:24:21.4090589Z         }
2026-06-07T04:24:21.4090783Z       }
2026-06-07T04:24:21.4090988Z     },
2026-06-07T04:24:21.4091184Z     {
2026-06-07T04:24:21.4091560Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-07T04:24:21.4093494Z       "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-07T04:24:21.4093757Z       "requiredStages": [
2026-06-07T04:24:21.4093974Z         "impl",
2026-06-07T04:24:21.4094178Z         "unit",
2026-06-07T04:24:21.4098110Z         "int"
2026-06-07T04:24:21.4098393Z       ],
2026-06-07T04:24:21.4098625Z       "stages": {
2026-06-07T04:24:21.4098829Z         "doc": {
2026-06-07T04:24:21.4099269Z           "complete": false,
2026-06-07T04:24:21.4099516Z           "evidence": []
2026-06-07T04:24:21.4099713Z         },
2026-06-07T04:24:21.4099932Z         "impl": {
2026-06-07T04:24:21.4100205Z           "complete": true,
2026-06-07T04:24:21.4100444Z           "evidence": [
2026-06-07T04:24:21.4100646Z             {
2026-06-07T04:24:21.4101066Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.4101317Z               "line": 150
2026-06-07T04:24:21.4101518Z             },
2026-06-07T04:24:21.4101725Z             {
2026-06-07T04:24:21.4102117Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.4102350Z               "line": 174
2026-06-07T04:24:21.4102548Z             },
2026-06-07T04:24:21.4102756Z             {
2026-06-07T04:24:21.4103113Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.4103336Z               "line": 79
2026-06-07T04:24:21.4103547Z             },
2026-06-07T04:24:21.4103743Z             {
2026-06-07T04:24:21.4104080Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.4104300Z               "line": 51
2026-06-07T04:24:21.4104518Z             },
2026-06-07T04:24:21.4104727Z             {
2026-06-07T04:24:21.4105087Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4105324Z               "line": 154
2026-06-07T04:24:21.4105535Z             },
2026-06-07T04:24:21.4105742Z             {
2026-06-07T04:24:21.4106139Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4106363Z               "line": 27
2026-06-07T04:24:21.4106577Z             },
2026-06-07T04:24:21.4106777Z             {
2026-06-07T04:24:21.4107169Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4107393Z               "line": 79
2026-06-07T04:24:21.4107600Z             },
2026-06-07T04:24:21.4107807Z             {
2026-06-07T04:24:21.4108187Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4108441Z               "line": 102
2026-06-07T04:24:21.4108829Z             },
2026-06-07T04:24:21.4109066Z             {
2026-06-07T04:24:21.4109567Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4110274Z               "line": 116
2026-06-07T04:24:21.4110535Z             }
2026-06-07T04:24:21.4110730Z           ]
2026-06-07T04:24:21.4110935Z         },
2026-06-07T04:24:21.4111288Z         "int": {
2026-06-07T04:24:21.4111540Z           "complete": true,
2026-06-07T04:24:21.4111772Z           "evidence": [
2026-06-07T04:24:21.4111984Z             {
2026-06-07T04:24:21.4112426Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T04:24:21.4112651Z               "line": 35
2026-06-07T04:24:21.4112858Z             }
2026-06-07T04:24:21.4113060Z           ]
2026-06-07T04:24:21.4113270Z         },
2026-06-07T04:24:21.4113479Z         "unit": {
2026-06-07T04:24:21.4113735Z           "complete": true,
2026-06-07T04:24:21.4113973Z           "evidence": [
2026-06-07T04:24:21.4114171Z             {
2026-06-07T04:24:21.4114582Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.4114808Z               "line": 579
2026-06-07T04:24:21.4115016Z             },
2026-06-07T04:24:21.4115226Z             {
2026-06-07T04:24:21.4115584Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4115818Z               "line": 351
2026-06-07T04:24:21.4116026Z             },
2026-06-07T04:24:21.4116233Z             {
2026-06-07T04:24:21.4116616Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4116845Z               "line": 124
2026-06-07T04:24:21.4117042Z             },
2026-06-07T04:24:21.4117245Z             {
2026-06-07T04:24:21.4117630Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4117857Z               "line": 143
2026-06-07T04:24:21.4118073Z             },
2026-06-07T04:24:21.4118276Z             {
2026-06-07T04:24:21.4118664Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4118894Z               "line": 160
2026-06-07T04:24:21.4119102Z             },
2026-06-07T04:24:21.4119367Z             {
2026-06-07T04:24:21.4120216Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4120472Z               "line": 187
2026-06-07T04:24:21.4120833Z             },
2026-06-07T04:24:21.4121190Z             {
2026-06-07T04:24:21.4121578Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T04:24:21.4121815Z               "line": 206
2026-06-07T04:24:21.4122033Z             },
2026-06-07T04:24:21.4122233Z             {
2026-06-07T04:24:21.4122625Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4122862Z               "line": 229
2026-06-07T04:24:21.4123067Z             }
2026-06-07T04:24:21.4123265Z           ]
2026-06-07T04:24:21.4123469Z         }
2026-06-07T04:24:21.4123672Z       }
2026-06-07T04:24:21.4123866Z     },
2026-06-07T04:24:21.4124074Z     {
2026-06-07T04:24:21.4124462Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-07T04:24:21.4127612Z       "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-07T04:24:21.4127878Z       "requiredStages": [
2026-06-07T04:24:21.4128097Z         "impl",
2026-06-07T04:24:21.4128306Z         "unit"
2026-06-07T04:24:21.4128505Z       ],
2026-06-07T04:24:21.4128729Z       "stages": {
2026-06-07T04:24:21.4128933Z         "doc": {
2026-06-07T04:24:21.4129235Z           "complete": false,
2026-06-07T04:24:21.4129596Z           "evidence": []
2026-06-07T04:24:21.4129953Z         },
2026-06-07T04:24:21.4130332Z         "impl": {
2026-06-07T04:24:21.4130576Z           "complete": true,
2026-06-07T04:24:21.4130809Z           "evidence": [
2026-06-07T04:24:21.4131008Z             {
2026-06-07T04:24:21.4131408Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.4131831Z               "line": 222
2026-06-07T04:24:21.4132051Z             },
2026-06-07T04:24:21.4132264Z             {
2026-06-07T04:24:21.4132847Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.4133104Z               "line": 389
2026-06-07T04:24:21.4133318Z             }
2026-06-07T04:24:21.4133532Z           ]
2026-06-07T04:24:21.4133940Z         },
2026-06-07T04:24:21.4134161Z         "int": {
2026-06-07T04:24:21.4134433Z           "complete": false,
2026-06-07T04:24:21.4134673Z           "evidence": []
2026-06-07T04:24:21.4134891Z         },
2026-06-07T04:24:21.4135111Z         "unit": {
2026-06-07T04:24:21.4135363Z           "complete": true,
2026-06-07T04:24:21.4135604Z           "evidence": [
2026-06-07T04:24:21.4135810Z             {
2026-06-07T04:24:21.4136259Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-07T04:24:21.4136496Z               "line": 161
2026-06-07T04:24:21.4136713Z             }
2026-06-07T04:24:21.4136920Z           ]
2026-06-07T04:24:21.4137129Z         }
2026-06-07T04:24:21.4137344Z       }
2026-06-07T04:24:21.4137548Z     },
2026-06-07T04:24:21.4137754Z     {
2026-06-07T04:24:21.4138078Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-07T04:24:21.4138792Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-07T04:24:21.4139066Z       "requiredStages": [
2026-06-07T04:24:21.4139349Z         "impl",
2026-06-07T04:24:21.4139878Z         "unit"
2026-06-07T04:24:21.4140072Z       ],
2026-06-07T04:24:21.4140292Z       "stages": {
2026-06-07T04:24:21.4140497Z         "doc": {
2026-06-07T04:24:21.4140755Z           "complete": false,
2026-06-07T04:24:21.4140984Z           "evidence": []
2026-06-07T04:24:21.4141192Z         },
2026-06-07T04:24:21.4141418Z         "impl": {
2026-06-07T04:24:21.4141665Z           "complete": true,
2026-06-07T04:24:21.4141902Z           "evidence": [
2026-06-07T04:24:21.4142100Z             {
2026-06-07T04:24:21.4142470Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4142857Z               "line": 40
2026-06-07T04:24:21.4143089Z             },
2026-06-07T04:24:21.4143449Z             {
2026-06-07T04:24:21.4143823Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4144060Z               "line": 100
2026-06-07T04:24:21.4144265Z             },
2026-06-07T04:24:21.4144489Z             {
2026-06-07T04:24:21.4144841Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4145079Z               "line": 215
2026-06-07T04:24:21.4149236Z             },
2026-06-07T04:24:21.4149550Z             {
2026-06-07T04:24:21.4149950Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4150178Z               "line": 314
2026-06-07T04:24:21.4150390Z             }
2026-06-07T04:24:21.4150591Z           ]
2026-06-07T04:24:21.4150798Z         },
2026-06-07T04:24:21.4151006Z         "int": {
2026-06-07T04:24:21.4151255Z           "complete": false,
2026-06-07T04:24:21.4151498Z           "evidence": []
2026-06-07T04:24:21.4151701Z         },
2026-06-07T04:24:21.4151924Z         "unit": {
2026-06-07T04:24:21.4152174Z           "complete": true,
2026-06-07T04:24:21.4152404Z           "evidence": [
2026-06-07T04:24:21.4152640Z             {
2026-06-07T04:24:21.4153009Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4153257Z               "line": 352
2026-06-07T04:24:21.4153456Z             },
2026-06-07T04:24:21.4153661Z             {
2026-06-07T04:24:21.4154018Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4154252Z               "line": 409
2026-06-07T04:24:21.4154460Z             },
2026-06-07T04:24:21.4154658Z             {
2026-06-07T04:24:21.4155020Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4155247Z               "line": 458
2026-06-07T04:24:21.4155458Z             },
2026-06-07T04:24:21.4155656Z             {
2026-06-07T04:24:21.4156024Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4156259Z               "line": 479
2026-06-07T04:24:21.4156459Z             }
2026-06-07T04:24:21.4156665Z           ]
2026-06-07T04:24:21.4156867Z         }
2026-06-07T04:24:21.4157074Z       }
2026-06-07T04:24:21.4157495Z     },
2026-06-07T04:24:21.4157716Z     {
2026-06-07T04:24:21.4158113Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-07T04:24:21.4158660Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-07T04:24:21.4158922Z       "requiredStages": [
2026-06-07T04:24:21.4159134Z         "impl",
2026-06-07T04:24:21.4159560Z         "unit"
2026-06-07T04:24:21.4159799Z       ],
2026-06-07T04:24:21.4160240Z       "stages": {
2026-06-07T04:24:21.4160455Z         "doc": {
2026-06-07T04:24:21.4160711Z           "complete": false,
2026-06-07T04:24:21.4160955Z           "evidence": []
2026-06-07T04:24:21.4161151Z         },
2026-06-07T04:24:21.4161369Z         "impl": {
2026-06-07T04:24:21.4161615Z           "complete": true,
2026-06-07T04:24:21.4161849Z           "evidence": [
2026-06-07T04:24:21.4162055Z             {
2026-06-07T04:24:21.4162416Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4162656Z               "line": 113
2026-06-07T04:24:21.4162879Z             },
2026-06-07T04:24:21.4163088Z             {
2026-06-07T04:24:21.4163449Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4163699Z               "line": 208
2026-06-07T04:24:21.4163913Z             }
2026-06-07T04:24:21.4164112Z           ]
2026-06-07T04:24:21.4164320Z         },
2026-06-07T04:24:21.4164526Z         "int": {
2026-06-07T04:24:21.4164781Z           "complete": false,
2026-06-07T04:24:21.4165009Z           "evidence": []
2026-06-07T04:24:21.4165257Z         },
2026-06-07T04:24:21.4165473Z         "unit": {
2026-06-07T04:24:21.4165710Z           "complete": true,
2026-06-07T04:24:21.4165944Z           "evidence": [
2026-06-07T04:24:21.4166141Z             {
2026-06-07T04:24:21.4166503Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4166729Z               "line": 373
2026-06-07T04:24:21.4166948Z             },
2026-06-07T04:24:21.4167151Z             {
2026-06-07T04:24:21.4167505Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4167748Z               "line": 436
2026-06-07T04:24:21.4167947Z             }
2026-06-07T04:24:21.4168153Z           ]
2026-06-07T04:24:21.4168362Z         }
2026-06-07T04:24:21.4168568Z       }
2026-06-07T04:24:21.4168768Z     },
2026-06-07T04:24:21.4168959Z     {
2026-06-07T04:24:21.4169401Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-07T04:24:21.4174810Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-07T04:24:21.4175089Z       "requiredStages": [
2026-06-07T04:24:21.4175312Z         "impl",
2026-06-07T04:24:21.4175515Z         "unit"
2026-06-07T04:24:21.4175721Z       ],
2026-06-07T04:24:21.4175934Z       "stages": {
2026-06-07T04:24:21.4176160Z         "doc": {
2026-06-07T04:24:21.4176406Z           "complete": true,
2026-06-07T04:24:21.4176644Z           "evidence": [
2026-06-07T04:24:21.4176872Z             {
2026-06-07T04:24:21.4177193Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4177434Z               "line": 195
2026-06-07T04:24:21.4177636Z             }
2026-06-07T04:24:21.4177841Z           ]
2026-06-07T04:24:21.4178036Z         },
2026-06-07T04:24:21.4178254Z         "impl": {
2026-06-07T04:24:21.4178507Z           "complete": true,
2026-06-07T04:24:21.4178734Z           "evidence": [
2026-06-07T04:24:21.4178941Z             {
2026-06-07T04:24:21.4179367Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.4179606Z               "line": 367
2026-06-07T04:24:21.4179806Z             },
2026-06-07T04:24:21.4180018Z             {
2026-06-07T04:24:21.4180407Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.4180640Z               "line": 459
2026-06-07T04:24:21.4181015Z             },
2026-06-07T04:24:21.4181232Z             {
2026-06-07T04:24:21.4181647Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.4182019Z               "line": 183
2026-06-07T04:24:21.4182216Z             }
2026-06-07T04:24:21.4182421Z           ]
2026-06-07T04:24:21.4182615Z         },
2026-06-07T04:24:21.4182826Z         "int": {
2026-06-07T04:24:21.4183073Z           "complete": false,
2026-06-07T04:24:21.4183314Z           "evidence": []
2026-06-07T04:24:21.4183508Z         },
2026-06-07T04:24:21.4183739Z         "unit": {
2026-06-07T04:24:21.4184190Z           "complete": true,
2026-06-07T04:24:21.4184626Z           "evidence": [
2026-06-07T04:24:21.4184883Z             {
2026-06-07T04:24:21.4185295Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.4185540Z               "line": 497
2026-06-07T04:24:21.4185759Z             },
2026-06-07T04:24:21.4185962Z             {
2026-06-07T04:24:21.4186418Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-07T04:24:21.4186654Z               "line": 44
2026-06-07T04:24:21.4186857Z             },
2026-06-07T04:24:21.4187053Z             {
2026-06-07T04:24:21.4187428Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-07T04:24:21.4187659Z               "line": 54
2026-06-07T04:24:21.4187857Z             },
2026-06-07T04:24:21.4188063Z             {
2026-06-07T04:24:21.4188507Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-07T04:24:21.4188738Z               "line": 51
2026-06-07T04:24:21.4188938Z             }
2026-06-07T04:24:21.4189148Z           ]
2026-06-07T04:24:21.4189421Z         }
2026-06-07T04:24:21.4189618Z       }
2026-06-07T04:24:21.4189815Z     },
2026-06-07T04:24:21.4190006Z     {
2026-06-07T04:24:21.4190394Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-07T04:24:21.4191262Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-07T04:24:21.4191530Z       "requiredStages": [
2026-06-07T04:24:21.4191756Z         "impl",
2026-06-07T04:24:21.4191957Z         "unit"
2026-06-07T04:24:21.4192162Z       ],
2026-06-07T04:24:21.4192387Z       "stages": {
2026-06-07T04:24:21.4192604Z         "doc": {
2026-06-07T04:24:21.4192849Z           "complete": false,
2026-06-07T04:24:21.4193096Z           "evidence": []
2026-06-07T04:24:21.4193305Z         },
2026-06-07T04:24:21.4193517Z         "impl": {
2026-06-07T04:24:21.4193765Z           "complete": true,
2026-06-07T04:24:21.4193995Z           "evidence": [
2026-06-07T04:24:21.4194203Z             {
2026-06-07T04:24:21.4194564Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4194803Z               "line": 26
2026-06-07T04:24:21.4195010Z             },
2026-06-07T04:24:21.4195208Z             {
2026-06-07T04:24:21.4195581Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4195815Z               "line": 135
2026-06-07T04:24:21.4196025Z             },
2026-06-07T04:24:21.4200214Z             {
2026-06-07T04:24:21.4200789Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T04:24:21.4201037Z               "line": 26
2026-06-07T04:24:21.4201262Z             },
2026-06-07T04:24:21.4201473Z             {
2026-06-07T04:24:21.4201887Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T04:24:21.4202125Z               "line": 237
2026-06-07T04:24:21.4202326Z             }
2026-06-07T04:24:21.4202534Z           ]
2026-06-07T04:24:21.4202744Z         },
2026-06-07T04:24:21.4202951Z         "int": {
2026-06-07T04:24:21.4203217Z           "complete": false,
2026-06-07T04:24:21.4203452Z           "evidence": []
2026-06-07T04:24:21.4203659Z         },
2026-06-07T04:24:21.4203866Z         "unit": {
2026-06-07T04:24:21.4204116Z           "complete": true,
2026-06-07T04:24:21.4204349Z           "evidence": [
2026-06-07T04:24:21.4204548Z             {
2026-06-07T04:24:21.4204918Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4205380Z               "line": 161
2026-06-07T04:24:21.4205615Z             },
2026-06-07T04:24:21.4205811Z             {
2026-06-07T04:24:21.4206202Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4206637Z               "line": 170
2026-06-07T04:24:21.4206882Z             },
2026-06-07T04:24:21.4207277Z             {
2026-06-07T04:24:21.4208012Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4208328Z               "line": 179
2026-06-07T04:24:21.4208587Z             },
2026-06-07T04:24:21.4208978Z             {
2026-06-07T04:24:21.4209526Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4210124Z               "line": 190
2026-06-07T04:24:21.4210412Z             },
2026-06-07T04:24:21.4210796Z             {
2026-06-07T04:24:21.4211369Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4211649Z               "line": 199
2026-06-07T04:24:21.4211919Z             },
2026-06-07T04:24:21.4212180Z             {
2026-06-07T04:24:21.4212655Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4212921Z               "line": 216
2026-06-07T04:24:21.4213144Z             },
2026-06-07T04:24:21.4213369Z             {
2026-06-07T04:24:21.4213747Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T04:24:21.4214008Z               "line": 242
2026-06-07T04:24:21.4214230Z             },
2026-06-07T04:24:21.4214437Z             {
2026-06-07T04:24:21.4214819Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.4215057Z               "line": 257
2026-06-07T04:24:21.4215306Z             },
2026-06-07T04:24:21.4215526Z             {
2026-06-07T04:24:21.4215916Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.4216175Z               "line": 244
2026-06-07T04:24:21.4216385Z             },
2026-06-07T04:24:21.4216604Z             {
2026-06-07T04:24:21.4217042Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T04:24:21.4217306Z               "line": 265
2026-06-07T04:24:21.4217534Z             },
2026-06-07T04:24:21.4217749Z             {
2026-06-07T04:24:21.4218198Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T04:24:21.4218452Z               "line": 293
2026-06-07T04:24:21.4218672Z             },
2026-06-07T04:24:21.4218878Z             {
2026-06-07T04:24:21.4219390Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T04:24:21.4219787Z               "line": 317
2026-06-07T04:24:21.4219992Z             },
2026-06-07T04:24:21.4220207Z             {
2026-06-07T04:24:21.4220626Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T04:24:21.4220867Z               "line": 327
2026-06-07T04:24:21.4221066Z             },
2026-06-07T04:24:21.4221288Z             {
2026-06-07T04:24:21.4221688Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.4221920Z               "line": 540
2026-06-07T04:24:21.4222136Z             }
2026-06-07T04:24:21.4222347Z           ]
2026-06-07T04:24:21.4222736Z         }
2026-06-07T04:24:21.4222986Z       }
2026-06-07T04:24:21.4223217Z     },
2026-06-07T04:24:21.4223450Z     {
2026-06-07T04:24:21.4224024Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-07T04:24:21.4224556Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-07T04:24:21.4224810Z       "requiredStages": [
2026-06-07T04:24:21.4225026Z         "impl",
2026-06-07T04:24:21.4225247Z         "unit"
2026-06-07T04:24:21.4225457Z       ],
2026-06-07T04:24:21.4225685Z       "stages": {
2026-06-07T04:24:21.4225892Z         "doc": {
2026-06-07T04:24:21.4226150Z           "complete": false,
2026-06-07T04:24:21.4226384Z           "evidence": []
2026-06-07T04:24:21.4226603Z         },
2026-06-07T04:24:21.4226818Z         "impl": {
2026-06-07T04:24:21.4227080Z           "complete": true,
2026-06-07T04:24:21.4227317Z           "evidence": [
2026-06-07T04:24:21.4227516Z             {
2026-06-07T04:24:21.4227873Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.4228392Z               "line": 25
2026-06-07T04:24:21.4228648Z             },
2026-06-07T04:24:21.4228854Z             {
2026-06-07T04:24:21.4229507Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.4229755Z               "line": 26
2026-06-07T04:24:21.4229968Z             },
2026-06-07T04:24:21.4230179Z             {
2026-06-07T04:24:21.4230537Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.4230778Z               "line": 159
2026-06-07T04:24:21.4230982Z             }
2026-06-07T04:24:21.4231196Z           ]
2026-06-07T04:24:21.4231405Z         },
2026-06-07T04:24:21.4231613Z         "int": {
2026-06-07T04:24:21.4231877Z           "complete": false,
2026-06-07T04:24:21.4232118Z           "evidence": []
2026-06-07T04:24:21.4232335Z         },
2026-06-07T04:24:21.4232548Z         "unit": {
2026-06-07T04:24:21.4232803Z           "complete": true,
2026-06-07T04:24:21.4233049Z           "evidence": [
2026-06-07T04:24:21.4233254Z             {
2026-06-07T04:24:21.4233617Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.4233850Z               "line": 184
2026-06-07T04:24:21.4234084Z             },
2026-06-07T04:24:21.4234291Z             {
2026-06-07T04:24:21.4234802Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.4235182Z               "line": 236
2026-06-07T04:24:21.4235390Z             },
2026-06-07T04:24:21.4235601Z             {
2026-06-07T04:24:21.4235969Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.4236209Z               "line": 186
2026-06-07T04:24:21.4236414Z             }
2026-06-07T04:24:21.4236632Z           ]
2026-06-07T04:24:21.4236843Z         }
2026-06-07T04:24:21.4237040Z       }
2026-06-07T04:24:21.4237242Z     },
2026-06-07T04:24:21.4237431Z     {
2026-06-07T04:24:21.4237939Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-07T04:24:21.4238749Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-07T04:24:21.4239072Z       "requiredStages": [
2026-06-07T04:24:21.4239404Z         "impl",
2026-06-07T04:24:21.4240118Z         "unit"
2026-06-07T04:24:21.4240755Z       ],
2026-06-07T04:24:21.4241378Z       "stages": {
2026-06-07T04:24:21.4242053Z         "doc": {
2026-06-07T04:24:21.4242762Z           "complete": false,
2026-06-07T04:24:21.4243642Z           "evidence": []
2026-06-07T04:24:21.4244423Z         },
2026-06-07T04:24:21.4245033Z         "impl": {
2026-06-07T04:24:21.4245765Z           "complete": true,
2026-06-07T04:24:21.4246603Z           "evidence": [
2026-06-07T04:24:21.4247320Z             {
2026-06-07T04:24:21.4248174Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4261249Z               "line": 48
2026-06-07T04:24:21.4261999Z             },
2026-06-07T04:24:21.4262560Z             {
2026-06-07T04:24:21.4263276Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4264293Z               "line": 55
2026-06-07T04:24:21.4264953Z             },
2026-06-07T04:24:21.4265534Z             {
2026-06-07T04:24:21.4266258Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4267482Z               "line": 74
2026-06-07T04:24:21.4268311Z             },
2026-06-07T04:24:21.4268974Z             {
2026-06-07T04:24:21.4269821Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4271030Z               "line": 91
2026-06-07T04:24:21.4271922Z             }
2026-06-07T04:24:21.4272619Z           ]
2026-06-07T04:24:21.4273244Z         },
2026-06-07T04:24:21.4273799Z         "int": {
2026-06-07T04:24:21.4274454Z           "complete": false,
2026-06-07T04:24:21.4275312Z           "evidence": []
2026-06-07T04:24:21.4276056Z         },
2026-06-07T04:24:21.4276649Z         "unit": {
2026-06-07T04:24:21.4277303Z           "complete": true,
2026-06-07T04:24:21.4278059Z           "evidence": [
2026-06-07T04:24:21.4278781Z             {
2026-06-07T04:24:21.4279770Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4281196Z               "line": 149
2026-06-07T04:24:21.4281969Z             },
2026-06-07T04:24:21.4282537Z             {
2026-06-07T04:24:21.4283299Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4284717Z               "line": 166
2026-06-07T04:24:21.4285589Z             },
2026-06-07T04:24:21.4286140Z             {
2026-06-07T04:24:21.4286843Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4287867Z               "line": 176
2026-06-07T04:24:21.4288533Z             },
2026-06-07T04:24:21.4289087Z             {
2026-06-07T04:24:21.4289845Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4290858Z               "line": 194
2026-06-07T04:24:21.4291537Z             },
2026-06-07T04:24:21.4292088Z             {
2026-06-07T04:24:21.4292785Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.4293785Z               "line": 207
2026-06-07T04:24:21.4294472Z             }
2026-06-07T04:24:21.4295014Z           ]
2026-06-07T04:24:21.4295540Z         }
2026-06-07T04:24:21.4296063Z       }
2026-06-07T04:24:21.4296554Z     },
2026-06-07T04:24:21.4297057Z     {
2026-06-07T04:24:21.4297757Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-07T04:24:21.4299236Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-07T04:24:21.4300714Z       "requiredStages": [
2026-06-07T04:24:21.4301419Z         "impl",
2026-06-07T04:24:21.4301990Z         "unit"
2026-06-07T04:24:21.4302535Z       ],
2026-06-07T04:24:21.4303053Z       "stages": {
2026-06-07T04:24:21.4303645Z         "doc": {
2026-06-07T04:24:21.4304254Z           "complete": false,
2026-06-07T04:24:21.4305010Z           "evidence": []
2026-06-07T04:24:21.4305674Z         },
2026-06-07T04:24:21.4306206Z         "impl": {
2026-06-07T04:24:21.4306826Z           "complete": true,
2026-06-07T04:24:21.4307549Z           "evidence": [
2026-06-07T04:24:21.4308190Z             {
2026-06-07T04:24:21.4308938Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.4310032Z               "line": 368
2026-06-07T04:24:21.4310704Z             },
2026-06-07T04:24:21.4311260Z             {
2026-06-07T04:24:21.4311978Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.4312979Z               "line": 26
2026-06-07T04:24:21.4313640Z             }
2026-06-07T04:24:21.4314174Z           ]
2026-06-07T04:24:21.4314695Z         },
2026-06-07T04:24:21.4315209Z         "int": {
2026-06-07T04:24:21.4315820Z           "complete": false,
2026-06-07T04:24:21.4316699Z           "evidence": []
2026-06-07T04:24:21.4323367Z         },
2026-06-07T04:24:21.4323944Z         "unit": {
2026-06-07T04:24:21.4324565Z           "complete": true,
2026-06-07T04:24:21.4325301Z           "evidence": [
2026-06-07T04:24:21.4325943Z             {
2026-06-07T04:24:21.4326647Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.4327655Z               "line": 150
2026-06-07T04:24:21.4328318Z             },
2026-06-07T04:24:21.4328903Z             {
2026-06-07T04:24:21.4329678Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.4330681Z               "line": 208
2026-06-07T04:24:21.4331357Z             }
2026-06-07T04:24:21.4331896Z           ]
2026-06-07T04:24:21.4332410Z         }
2026-06-07T04:24:21.4332909Z       }
2026-06-07T04:24:21.4333389Z     },
2026-06-07T04:24:21.4333869Z     {
2026-06-07T04:24:21.4334521Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-07T04:24:21.4341970Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-07T04:24:21.4349080Z       "requiredStages": [
2026-06-07T04:24:21.4350232Z         "doc",
2026-06-07T04:24:21.4350845Z         "impl",
2026-06-07T04:24:21.4351582Z         "unit"
2026-06-07T04:24:21.4352300Z       ],
2026-06-07T04:24:21.4353009Z       "stages": {
2026-06-07T04:24:21.4353595Z         "doc": {
2026-06-07T04:24:21.4354208Z           "complete": true,
2026-06-07T04:24:21.4354940Z           "evidence": [
2026-06-07T04:24:21.4355583Z             {
2026-06-07T04:24:21.4356241Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4357190Z               "line": 203
2026-06-07T04:24:21.4357851Z             }
2026-06-07T04:24:21.4358383Z           ]
2026-06-07T04:24:21.4358902Z         },
2026-06-07T04:24:21.4359480Z         "impl": {
2026-06-07T04:24:21.4360102Z           "complete": true,
2026-06-07T04:24:21.4360822Z           "evidence": [
2026-06-07T04:24:21.4361468Z             {
2026-06-07T04:24:21.4362184Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.4363408Z               "line": 54
2026-06-07T04:24:21.4364083Z             },
2026-06-07T04:24:21.4364676Z             {
2026-06-07T04:24:21.4365417Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.4366482Z               "line": 287
2026-06-07T04:24:21.4367173Z             },
2026-06-07T04:24:21.4367740Z             {
2026-06-07T04:24:21.4368495Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4369807Z               "line": 36
2026-06-07T04:24:21.4370532Z             },
2026-06-07T04:24:21.4371555Z             {
2026-06-07T04:24:21.4372436Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4373624Z               "line": 59
2026-06-07T04:24:21.4374328Z             },
2026-06-07T04:24:21.4374900Z             {
2026-06-07T04:24:21.4375660Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4376728Z               "line": 87
2026-06-07T04:24:21.4377397Z             },
2026-06-07T04:24:21.4377953Z             {
2026-06-07T04:24:21.4378731Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4380054Z               "line": 106
2026-06-07T04:24:21.4380730Z             },
2026-06-07T04:24:21.4381299Z             {
2026-06-07T04:24:21.4382026Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4383066Z               "line": 189
2026-06-07T04:24:21.4383733Z             },
2026-06-07T04:24:21.4384276Z             {
2026-06-07T04:24:21.4385014Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4386066Z               "line": 331
2026-06-07T04:24:21.4386729Z             },
2026-06-07T04:24:21.4387275Z             {
2026-06-07T04:24:21.4388000Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4389054Z               "line": 377
2026-06-07T04:24:21.4390138Z             },
2026-06-07T04:24:21.4390684Z             {
2026-06-07T04:24:21.4391366Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T04:24:21.4392356Z               "line": 73
2026-06-07T04:24:21.4393034Z             },
2026-06-07T04:24:21.4393591Z             {
2026-06-07T04:24:21.4394238Z               "path": "crates/spt/src/main.rs",
2026-06-07T04:24:21.4395186Z               "line": 29
2026-06-07T04:24:21.4395841Z             }
2026-06-07T04:24:21.4396378Z           ]
2026-06-07T04:24:21.4402743Z         },
2026-06-07T04:24:21.4403309Z         "int": {
2026-06-07T04:24:21.4403946Z           "complete": false,
2026-06-07T04:24:21.4404706Z           "evidence": []
2026-06-07T04:24:21.4405366Z         },
2026-06-07T04:24:21.4405892Z         "unit": {
2026-06-07T04:24:21.4406505Z           "complete": true,
2026-06-07T04:24:21.4407235Z           "evidence": [
2026-06-07T04:24:21.4407875Z             {
2026-06-07T04:24:21.4408603Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4410023Z               "line": 519
2026-06-07T04:24:21.4410684Z             },
2026-06-07T04:24:21.4411233Z             {
2026-06-07T04:24:21.4412302Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T04:24:21.4413380Z               "line": 531
2026-06-07T04:24:21.4414049Z             }
2026-06-07T04:24:21.4414594Z           ]
2026-06-07T04:24:21.4415580Z         }
2026-06-07T04:24:21.4416103Z       }
2026-06-07T04:24:21.4416593Z     },
2026-06-07T04:24:21.4417087Z     {
2026-06-07T04:24:21.4417735Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-07T04:24:21.4419047Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-07T04:24:21.4420657Z       "requiredStages": [
2026-06-07T04:24:21.4421357Z         "impl",
2026-06-07T04:24:21.4421936Z         "unit"
2026-06-07T04:24:21.4422474Z       ],
2026-06-07T04:24:21.4423002Z       "stages": {
2026-06-07T04:24:21.4423587Z         "doc": {
2026-06-07T04:24:21.4424192Z           "complete": false,
2026-06-07T04:24:21.4424942Z           "evidence": []
2026-06-07T04:24:21.4425609Z         },
2026-06-07T04:24:21.4426125Z         "impl": {
2026-06-07T04:24:21.4426738Z           "complete": true,
2026-06-07T04:24:21.4427471Z           "evidence": [
2026-06-07T04:24:21.4428110Z             {
2026-06-07T04:24:21.4428833Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4429933Z               "line": 36
2026-06-07T04:24:21.4430590Z             },
2026-06-07T04:24:21.4431145Z             {
2026-06-07T04:24:21.4431864Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4432890Z               "line": 68
2026-06-07T04:24:21.4433536Z             }
2026-06-07T04:24:21.4434072Z           ]
2026-06-07T04:24:21.4434602Z         },
2026-06-07T04:24:21.4435120Z         "int": {
2026-06-07T04:24:21.4435731Z           "complete": false,
2026-06-07T04:24:21.4436489Z           "evidence": []
2026-06-07T04:24:21.4437162Z         },
2026-06-07T04:24:21.4437702Z         "unit": {
2026-06-07T04:24:21.4438310Z           "complete": true,
2026-06-07T04:24:21.4439029Z           "evidence": [
2026-06-07T04:24:21.4439714Z             {
2026-06-07T04:24:21.4440470Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4441519Z               "line": 143
2026-06-07T04:24:21.4442176Z             },
2026-06-07T04:24:21.4442736Z             {
2026-06-07T04:24:21.4443454Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4444488Z               "line": 160
2026-06-07T04:24:21.4445158Z             },
2026-06-07T04:24:21.4445707Z             {
2026-06-07T04:24:21.4446442Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4447470Z               "line": 168
2026-06-07T04:24:21.4448133Z             }
2026-06-07T04:24:21.4448668Z           ]
2026-06-07T04:24:21.4449215Z         }
2026-06-07T04:24:21.4449720Z       }
2026-06-07T04:24:21.4450205Z     },
2026-06-07T04:24:21.4450691Z     {
2026-06-07T04:24:21.4451365Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-07T04:24:21.4452788Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-07T04:24:21.4454182Z       "requiredStages": [
2026-06-07T04:24:21.4454886Z         "impl",
2026-06-07T04:24:21.4455457Z         "unit"
2026-06-07T04:24:21.4456173Z       ],
2026-06-07T04:24:21.4456773Z       "stages": {
2026-06-07T04:24:21.4457568Z         "doc": {
2026-06-07T04:24:21.4458176Z           "complete": false,
2026-06-07T04:24:21.4458935Z           "evidence": []
2026-06-07T04:24:21.4459655Z         },
2026-06-07T04:24:21.4460176Z         "impl": {
2026-06-07T04:24:21.4465382Z           "complete": true,
2026-06-07T04:24:21.4466237Z           "evidence": [
2026-06-07T04:24:21.4466887Z             {
2026-06-07T04:24:21.4467613Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4468959Z               "line": 107
2026-06-07T04:24:21.4469711Z             }
2026-06-07T04:24:21.4470259Z           ]
2026-06-07T04:24:21.4470761Z         },
2026-06-07T04:24:21.4471261Z         "int": {
2026-06-07T04:24:21.4471857Z           "complete": false,
2026-06-07T04:24:21.4472598Z           "evidence": []
2026-06-07T04:24:21.4473257Z         },
2026-06-07T04:24:21.4474103Z         "unit": {
2026-06-07T04:24:21.4474751Z           "complete": true,
2026-06-07T04:24:21.4475483Z           "evidence": [
2026-06-07T04:24:21.4476258Z             {
2026-06-07T04:24:21.4476989Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4478025Z               "line": 184
2026-06-07T04:24:21.4478688Z             },
2026-06-07T04:24:21.4479285Z             {
2026-06-07T04:24:21.4480414Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4481452Z               "line": 193
2026-06-07T04:24:21.4482126Z             },
2026-06-07T04:24:21.4482672Z             {
2026-06-07T04:24:21.4483389Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4484417Z               "line": 201
2026-06-07T04:24:21.4485086Z             },
2026-06-07T04:24:21.4485635Z             {
2026-06-07T04:24:21.4486363Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4487395Z               "line": 211
2026-06-07T04:24:21.4488062Z             },
2026-06-07T04:24:21.4488615Z             {
2026-06-07T04:24:21.4489615Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T04:24:21.4490828Z               "line": 221
2026-06-07T04:24:21.4491481Z             }
2026-06-07T04:24:21.4492024Z           ]
2026-06-07T04:24:21.4492527Z         }
2026-06-07T04:24:21.4493033Z       }
2026-06-07T04:24:21.4493525Z     },
2026-06-07T04:24:21.4494013Z     {
2026-06-07T04:24:21.4494644Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-07T04:24:21.4495921Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-07T04:24:21.4497232Z       "requiredStages": [
2026-06-07T04:24:21.4497928Z         "impl",
2026-06-07T04:24:21.4498503Z         "unit"
2026-06-07T04:24:21.4499192Z       ],
2026-06-07T04:24:21.4500060Z       "stages": {
2026-06-07T04:24:21.4500640Z         "doc": {
2026-06-07T04:24:21.4501257Z           "complete": false,
2026-06-07T04:24:21.4502013Z           "evidence": []
2026-06-07T04:24:21.4502687Z         },
2026-06-07T04:24:21.4503206Z         "impl": {
2026-06-07T04:24:21.4503819Z           "complete": true,
2026-06-07T04:24:21.4504554Z           "evidence": [
2026-06-07T04:24:21.4505199Z             {
2026-06-07T04:24:21.4505869Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.4506830Z               "line": 14
2026-06-07T04:24:21.4507486Z             },
2026-06-07T04:24:21.4508033Z             {
2026-06-07T04:24:21.4508700Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.4510043Z               "line": 62
2026-06-07T04:24:21.4510716Z             }
2026-06-07T04:24:21.4511254Z           ]
2026-06-07T04:24:21.4511778Z         },
2026-06-07T04:24:21.4512287Z         "int": {
2026-06-07T04:24:21.4512900Z           "complete": false,
2026-06-07T04:24:21.4513693Z           "evidence": []
2026-06-07T04:24:21.4514360Z         },
2026-06-07T04:24:21.4514876Z         "unit": {
2026-06-07T04:24:21.4515477Z           "complete": true,
2026-06-07T04:24:21.4516207Z           "evidence": [
2026-06-07T04:24:21.4516848Z             {
2026-06-07T04:24:21.4517506Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.4518489Z               "line": 160
2026-06-07T04:24:21.4519203Z             },
2026-06-07T04:24:21.4519932Z             {
2026-06-07T04:24:21.4520618Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.4521623Z               "line": 197
2026-06-07T04:24:21.4522307Z             },
2026-06-07T04:24:21.4522867Z             {
2026-06-07T04:24:21.4523556Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.4524746Z               "line": 219
2026-06-07T04:24:21.4530015Z             }
2026-06-07T04:24:21.4530683Z           ]
2026-06-07T04:24:21.4531199Z         }
2026-06-07T04:24:21.4531690Z       }
2026-06-07T04:24:21.4532176Z     },
2026-06-07T04:24:21.4532659Z     {
2026-06-07T04:24:21.4533308Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-07T04:24:21.4535219Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-07T04:24:21.4536903Z       "requiredStages": [
2026-06-07T04:24:21.4537746Z         "impl",
2026-06-07T04:24:21.4538307Z         "unit"
2026-06-07T04:24:21.4538843Z       ],
2026-06-07T04:24:21.4539404Z       "stages": {
2026-06-07T04:24:21.4539977Z         "doc": {
2026-06-07T04:24:21.4540572Z           "complete": false,
2026-06-07T04:24:21.4541312Z           "evidence": []
2026-06-07T04:24:21.4541967Z         },
2026-06-07T04:24:21.4542480Z         "impl": {
2026-06-07T04:24:21.4543106Z           "complete": true,
2026-06-07T04:24:21.4543825Z           "evidence": [
2026-06-07T04:24:21.4544462Z             {
2026-06-07T04:24:21.4545147Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4546130Z               "line": 76
2026-06-07T04:24:21.4546765Z             },
2026-06-07T04:24:21.4547302Z             {
2026-06-07T04:24:21.4548000Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4549017Z               "line": 167
2026-06-07T04:24:21.4549736Z             },
2026-06-07T04:24:21.4550278Z             {
2026-06-07T04:24:21.4550970Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4551956Z               "line": 233
2026-06-07T04:24:21.4552615Z             },
2026-06-07T04:24:21.4553213Z             {
2026-06-07T04:24:21.4553919Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4554913Z               "line": 272
2026-06-07T04:24:21.4555577Z             }
2026-06-07T04:24:21.4556107Z           ]
2026-06-07T04:24:21.4556614Z         },
2026-06-07T04:24:21.4557127Z         "int": {
2026-06-07T04:24:21.4557731Z           "complete": false,
2026-06-07T04:24:21.4558472Z           "evidence": []
2026-06-07T04:24:21.4559130Z         },
2026-06-07T04:24:21.4559697Z         "unit": {
2026-06-07T04:24:21.4560319Z           "complete": true,
2026-06-07T04:24:21.4561042Z           "evidence": [
2026-06-07T04:24:21.4561703Z             {
2026-06-07T04:24:21.4562622Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4563836Z               "line": 321
2026-06-07T04:24:21.4564516Z             },
2026-06-07T04:24:21.4565066Z             {
2026-06-07T04:24:21.4565761Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4566755Z               "line": 329
2026-06-07T04:24:21.4567421Z             },
2026-06-07T04:24:21.4567965Z             {
2026-06-07T04:24:21.4568653Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4569686Z               "line": 356
2026-06-07T04:24:21.4570353Z             },
2026-06-07T04:24:21.4570900Z             {
2026-06-07T04:24:21.4571592Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4572586Z               "line": 395
2026-06-07T04:24:21.4573263Z             },
2026-06-07T04:24:21.4573818Z             {
2026-06-07T04:24:21.4574716Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4575760Z               "line": 406
2026-06-07T04:24:21.4576442Z             },
2026-06-07T04:24:21.4577001Z             {
2026-06-07T04:24:21.4577713Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4578751Z               "line": 418
2026-06-07T04:24:21.4579629Z             },
2026-06-07T04:24:21.4580164Z             {
2026-06-07T04:24:21.4580844Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T04:24:21.4581841Z               "line": 442
2026-06-07T04:24:21.4582500Z             }
2026-06-07T04:24:21.4583039Z           ]
2026-06-07T04:24:21.4583556Z         }
2026-06-07T04:24:21.4584050Z       }
2026-06-07T04:24:21.4584536Z     },
2026-06-07T04:24:21.4585029Z     {
2026-06-07T04:24:21.4585615Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-07T04:24:21.4586771Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-07T04:24:21.4587971Z       "requiredStages": [
2026-06-07T04:24:21.4588675Z         "impl",
2026-06-07T04:24:21.4596687Z         "int"
2026-06-07T04:24:21.4597614Z       ],
2026-06-07T04:24:21.4598164Z       "stages": {
2026-06-07T04:24:21.4598774Z         "doc": {
2026-06-07T04:24:21.4599814Z           "complete": false,
2026-06-07T04:24:21.4600571Z           "evidence": []
2026-06-07T04:24:21.4601231Z         },
2026-06-07T04:24:21.4601741Z         "impl": {
2026-06-07T04:24:21.4602347Z           "complete": true,
2026-06-07T04:24:21.4603060Z           "evidence": [
2026-06-07T04:24:21.4603687Z             {
2026-06-07T04:24:21.4604370Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.4605374Z               "line": 22
2026-06-07T04:24:21.4606014Z             }
2026-06-07T04:24:21.4606552Z           ]
2026-06-07T04:24:21.4607062Z         },
2026-06-07T04:24:21.4607566Z         "int": {
2026-06-07T04:24:21.4608164Z           "complete": true,
2026-06-07T04:24:21.4608883Z           "evidence": [
2026-06-07T04:24:21.4609569Z             {
2026-06-07T04:24:21.4610299Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-07T04:24:21.4611376Z               "line": 18
2026-06-07T04:24:21.4612024Z             }
2026-06-07T04:24:21.4612551Z           ]
2026-06-07T04:24:21.4613077Z         },
2026-06-07T04:24:21.4613591Z         "unit": {
2026-06-07T04:24:21.4614190Z           "complete": false,
2026-06-07T04:24:21.4614928Z           "evidence": []
2026-06-07T04:24:21.4615584Z         }
2026-06-07T04:24:21.4616088Z       }
2026-06-07T04:24:21.4616567Z     },
2026-06-07T04:24:21.4617040Z     {
2026-06-07T04:24:21.4617664Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-07T04:24:21.4619125Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-07T04:24:21.4621007Z       "requiredStages": [
2026-06-07T04:24:21.4621726Z         "impl",
2026-06-07T04:24:21.4622312Z         "unit"
2026-06-07T04:24:21.4622880Z       ],
2026-06-07T04:24:21.4623426Z       "stages": {
2026-06-07T04:24:21.4624030Z         "doc": {
2026-06-07T04:24:21.4624664Z           "complete": false,
2026-06-07T04:24:21.4625442Z           "evidence": []
2026-06-07T04:24:21.4626125Z         },
2026-06-07T04:24:21.4626682Z         "impl": {
2026-06-07T04:24:21.4627347Z           "complete": true,
2026-06-07T04:24:21.4628094Z           "evidence": [
2026-06-07T04:24:21.4628730Z             {
2026-06-07T04:24:21.4629516Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.4630579Z               "line": 367
2026-06-07T04:24:21.4631245Z             },
2026-06-07T04:24:21.4631790Z             {
2026-06-07T04:24:21.4632490Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.4633485Z               "line": 27
2026-06-07T04:24:21.4634137Z             }
2026-06-07T04:24:21.4634668Z           ]
2026-06-07T04:24:21.4635178Z         },
2026-06-07T04:24:21.4635686Z         "int": {
2026-06-07T04:24:21.4636290Z           "complete": false,
2026-06-07T04:24:21.4637036Z           "evidence": []
2026-06-07T04:24:21.4637693Z         },
2026-06-07T04:24:21.4638208Z         "unit": {
2026-06-07T04:24:21.4638840Z           "complete": true,
2026-06-07T04:24:21.4639614Z           "evidence": [
2026-06-07T04:24:21.4640256Z             {
2026-06-07T04:24:21.4640994Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.4642080Z               "line": 812
2026-06-07T04:24:21.4642774Z             },
2026-06-07T04:24:21.4643347Z             {
2026-06-07T04:24:21.4644066Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.4645090Z               "line": 181
2026-06-07T04:24:21.4645779Z             }
2026-06-07T04:24:21.4646342Z           ]
2026-06-07T04:24:21.4646885Z         }
2026-06-07T04:24:21.4647405Z       }
2026-06-07T04:24:21.4647920Z     },
2026-06-07T04:24:21.4648443Z     {
2026-06-07T04:24:21.4649133Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-07T04:24:21.4650568Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-07T04:24:21.4651915Z       "requiredStages": [
2026-06-07T04:24:21.4652643Z         "impl",
2026-06-07T04:24:21.4653427Z         "unit"
2026-06-07T04:24:21.4654047Z       ],
2026-06-07T04:24:21.4659793Z       "stages": {
2026-06-07T04:24:21.4660651Z         "doc": {
2026-06-07T04:24:21.4661253Z           "complete": false,
2026-06-07T04:24:21.4662004Z           "evidence": []
2026-06-07T04:24:21.4662662Z         },
2026-06-07T04:24:21.4662883Z         "impl": {
2026-06-07T04:24:21.4663123Z           "complete": true,
2026-06-07T04:24:21.4663356Z           "evidence": [
2026-06-07T04:24:21.4663552Z             {
2026-06-07T04:24:21.4663917Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4664147Z               "line": 20
2026-06-07T04:24:21.4664344Z             },
2026-06-07T04:24:21.4664547Z             {
2026-06-07T04:24:21.4664904Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4665133Z               "line": 100
2026-06-07T04:24:21.4665331Z             },
2026-06-07T04:24:21.4665533Z             {
2026-06-07T04:24:21.4665946Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T04:24:21.4666167Z               "line": 68
2026-06-07T04:24:21.4666374Z             },
2026-06-07T04:24:21.4666577Z             {
2026-06-07T04:24:21.4666976Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T04:24:21.4667191Z               "line": 80
2026-06-07T04:24:21.4667400Z             }
2026-06-07T04:24:21.4667607Z           ]
2026-06-07T04:24:21.4667806Z         },
2026-06-07T04:24:21.4668016Z         "int": {
2026-06-07T04:24:21.4668259Z           "complete": false,
2026-06-07T04:24:21.4668496Z           "evidence": []
2026-06-07T04:24:21.4668692Z         },
2026-06-07T04:24:21.4668904Z         "unit": {
2026-06-07T04:24:21.4669208Z           "complete": true,
2026-06-07T04:24:21.4669439Z           "evidence": [
2026-06-07T04:24:21.4669651Z             {
2026-06-07T04:24:21.4670015Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4670252Z               "line": 152
2026-06-07T04:24:21.4670458Z             },
2026-06-07T04:24:21.4670665Z             {
2026-06-07T04:24:21.4671019Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4671253Z               "line": 175
2026-06-07T04:24:21.4671457Z             },
2026-06-07T04:24:21.4671654Z             {
2026-06-07T04:24:21.4672013Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4672248Z               "line": 186
2026-06-07T04:24:21.4672452Z             },
2026-06-07T04:24:21.4672657Z             {
2026-06-07T04:24:21.4673007Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4673239Z               "line": 202
2026-06-07T04:24:21.4673440Z             },
2026-06-07T04:24:21.4673647Z             {
2026-06-07T04:24:21.4674007Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T04:24:21.4674238Z               "line": 216
2026-06-07T04:24:21.4674442Z             },
2026-06-07T04:24:21.4674638Z             {
2026-06-07T04:24:21.4675046Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T04:24:21.4675274Z               "line": 137
2026-06-07T04:24:21.4675478Z             }
2026-06-07T04:24:21.4675690Z           ]
2026-06-07T04:24:21.4675887Z         }
2026-06-07T04:24:21.4676087Z       }
2026-06-07T04:24:21.4676273Z     },
2026-06-07T04:24:21.4676467Z     {
2026-06-07T04:24:21.4676749Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-07T04:24:21.4677729Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-07T04:24:21.4678005Z       "requiredStages": [
2026-06-07T04:24:21.4678369Z         "impl",
2026-06-07T04:24:21.4678608Z         "unit"
2026-06-07T04:24:21.4678832Z       ],
2026-06-07T04:24:21.4679078Z       "stages": {
2026-06-07T04:24:21.4679371Z         "doc": {
2026-06-07T04:24:21.4679672Z           "complete": true,
2026-06-07T04:24:21.4680079Z           "evidence": [
2026-06-07T04:24:21.4680278Z             {
2026-06-07T04:24:21.4680603Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4681009Z               "line": 131
2026-06-07T04:24:21.4681244Z             }
2026-06-07T04:24:21.4681447Z           ]
2026-06-07T04:24:21.4681790Z         },
2026-06-07T04:24:21.4682012Z         "impl": {
2026-06-07T04:24:21.4682252Z           "complete": true,
2026-06-07T04:24:21.4682495Z           "evidence": [
2026-06-07T04:24:21.4682696Z             {
2026-06-07T04:24:21.4683052Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.4683282Z               "line": 65
2026-06-07T04:24:21.4683498Z             },
2026-06-07T04:24:21.4683705Z             {
2026-06-07T04:24:21.4684038Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4684272Z               "line": 17
2026-06-07T04:24:21.4684475Z             },
2026-06-07T04:24:21.4684687Z             {
2026-06-07T04:24:21.4685036Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.4685280Z               "line": 217
2026-06-07T04:24:21.4685487Z             },
2026-06-07T04:24:21.4685697Z             {
2026-06-07T04:24:21.4686057Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.4686286Z               "line": 317
2026-06-07T04:24:21.4686515Z             },
2026-06-07T04:24:21.4686719Z             {
2026-06-07T04:24:21.4687073Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.4687304Z               "line": 32
2026-06-07T04:24:21.4687506Z             },
2026-06-07T04:24:21.4687717Z             {
2026-06-07T04:24:21.4688021Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.4688256Z               "line": 2922
2026-06-07T04:24:21.4688455Z             },
2026-06-07T04:24:21.4688663Z             {
2026-06-07T04:24:21.4688975Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.4689257Z               "line": 3190
2026-06-07T04:24:21.4689670Z             }
2026-06-07T04:24:21.4690020Z           ]
2026-06-07T04:24:21.4690227Z         },
2026-06-07T04:24:21.4690438Z         "int": {
2026-06-07T04:24:21.4690711Z           "complete": false,
2026-06-07T04:24:21.4690955Z           "evidence": []
2026-06-07T04:24:21.4691163Z         },
2026-06-07T04:24:21.4691382Z         "unit": {
2026-06-07T04:24:21.4691644Z           "complete": true,
2026-06-07T04:24:21.4691881Z           "evidence": [
2026-06-07T04:24:21.4692082Z             {
2026-06-07T04:24:21.4692429Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4692664Z               "line": 94
2026-06-07T04:24:21.4692865Z             },
2026-06-07T04:24:21.4693071Z             {
2026-06-07T04:24:21.4693400Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4693631Z               "line": 111
2026-06-07T04:24:21.4693835Z             },
2026-06-07T04:24:21.4694041Z             {
2026-06-07T04:24:21.4694380Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4694606Z               "line": 124
2026-06-07T04:24:21.4694816Z             },
2026-06-07T04:24:21.4695016Z             {
2026-06-07T04:24:21.4695355Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4695582Z               "line": 134
2026-06-07T04:24:21.4695792Z             },
2026-06-07T04:24:21.4696006Z             {
2026-06-07T04:24:21.4696337Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4696580Z               "line": 144
2026-06-07T04:24:21.4696805Z             },
2026-06-07T04:24:21.4697221Z             {
2026-06-07T04:24:21.4697595Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T04:24:21.4697895Z               "line": 156
2026-06-07T04:24:21.4698142Z             },
2026-06-07T04:24:21.4698374Z             {
2026-06-07T04:24:21.4698852Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.4699117Z               "line": 714
2026-06-07T04:24:21.4699431Z             }
2026-06-07T04:24:21.4699795Z           ]
2026-06-07T04:24:21.4700036Z         }
2026-06-07T04:24:21.4700429Z       }
2026-06-07T04:24:21.4700650Z     },
2026-06-07T04:24:21.4700875Z     {
2026-06-07T04:24:21.4701593Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-07T04:24:21.4702076Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-07T04:24:21.4702536Z       "requiredStages": [
2026-06-07T04:24:21.4702774Z         "impl",
2026-06-07T04:24:21.4703004Z         "unit"
2026-06-07T04:24:21.4703213Z       ],
2026-06-07T04:24:21.4710143Z       "stages": {
2026-06-07T04:24:21.4710540Z         "doc": {
2026-06-07T04:24:21.4710809Z           "complete": false,
2026-06-07T04:24:21.4711038Z           "evidence": []
2026-06-07T04:24:21.4711245Z         },
2026-06-07T04:24:21.4711465Z         "impl": {
2026-06-07T04:24:21.4711705Z           "complete": true,
2026-06-07T04:24:21.4711940Z           "evidence": [
2026-06-07T04:24:21.4712136Z             {
2026-06-07T04:24:21.4712507Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.4712729Z               "line": 128
2026-06-07T04:24:21.4712941Z             }
2026-06-07T04:24:21.4713155Z           ]
2026-06-07T04:24:21.4713353Z         },
2026-06-07T04:24:21.4713618Z         "int": {
2026-06-07T04:24:21.4713865Z           "complete": false,
2026-06-07T04:24:21.4714102Z           "evidence": []
2026-06-07T04:24:21.4714312Z         },
2026-06-07T04:24:21.4714526Z         "unit": {
2026-06-07T04:24:21.4714776Z           "complete": true,
2026-06-07T04:24:21.4715002Z           "evidence": [
2026-06-07T04:24:21.4715209Z             {
2026-06-07T04:24:21.4715555Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.4715790Z               "line": 205
2026-06-07T04:24:21.4715991Z             }
2026-06-07T04:24:21.4716265Z           ]
2026-06-07T04:24:21.4716470Z         }
2026-06-07T04:24:21.4716664Z       }
2026-06-07T04:24:21.4716864Z     },
2026-06-07T04:24:21.4717054Z     {
2026-06-07T04:24:21.4717406Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-07T04:24:21.4717917Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-07T04:24:21.4718177Z       "requiredStages": [
2026-06-07T04:24:21.4718404Z         "impl",
2026-06-07T04:24:21.4718608Z         "unit"
2026-06-07T04:24:21.4718813Z       ],
2026-06-07T04:24:21.4719027Z       "stages": {
2026-06-07T04:24:21.4719605Z         "doc": {
2026-06-07T04:24:21.4720030Z           "complete": false,
2026-06-07T04:24:21.4720270Z           "evidence": []
2026-06-07T04:24:21.4720476Z         },
2026-06-07T04:24:21.4720688Z         "impl": {
2026-06-07T04:24:21.4720937Z           "complete": true,
2026-06-07T04:24:21.4721157Z           "evidence": [
2026-06-07T04:24:21.4721363Z             {
2026-06-07T04:24:21.4721711Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4721943Z               "line": 246
2026-06-07T04:24:21.4722148Z             },
2026-06-07T04:24:21.4722342Z             {
2026-06-07T04:24:21.4722693Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4722918Z               "line": 257
2026-06-07T04:24:21.4723122Z             },
2026-06-07T04:24:21.4723321Z             {
2026-06-07T04:24:21.4723680Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4723914Z               "line": 275
2026-06-07T04:24:21.4724109Z             }
2026-06-07T04:24:21.4724330Z           ]
2026-06-07T04:24:21.4724526Z         },
2026-06-07T04:24:21.4724735Z         "int": {
2026-06-07T04:24:21.4724976Z           "complete": false,
2026-06-07T04:24:21.4725217Z           "evidence": []
2026-06-07T04:24:21.4725419Z         },
2026-06-07T04:24:21.4725624Z         "unit": {
2026-06-07T04:24:21.4725867Z           "complete": true,
2026-06-07T04:24:21.4726086Z           "evidence": [
2026-06-07T04:24:21.4726289Z             {
2026-06-07T04:24:21.4726625Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4726860Z               "line": 299
2026-06-07T04:24:21.4727065Z             },
2026-06-07T04:24:21.4727258Z             {
2026-06-07T04:24:21.4727600Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4727820Z               "line": 320
2026-06-07T04:24:21.4728324Z             },
2026-06-07T04:24:21.4728551Z             {
2026-06-07T04:24:21.4728906Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4729321Z               "line": 547
2026-06-07T04:24:21.4729525Z             },
2026-06-07T04:24:21.4729730Z             {
2026-06-07T04:24:21.4730070Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4730302Z               "line": 558
2026-06-07T04:24:21.4730511Z             },
2026-06-07T04:24:21.4730708Z             {
2026-06-07T04:24:21.4731056Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.4731280Z               "line": 571
2026-06-07T04:24:21.4731485Z             }
2026-06-07T04:24:21.4731687Z           ]
2026-06-07T04:24:21.4731903Z         }
2026-06-07T04:24:21.4732121Z       }
2026-06-07T04:24:21.4732319Z     },
2026-06-07T04:24:21.4732517Z     {
2026-06-07T04:24:21.4732820Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-07T04:24:21.4733676Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-07T04:24:21.4733926Z       "requiredStages": [
2026-06-07T04:24:21.4734143Z         "impl",
2026-06-07T04:24:21.4734373Z         "unit"
2026-06-07T04:24:21.4734584Z       ],
2026-06-07T04:24:21.4734815Z       "stages": {
2026-06-07T04:24:21.4735021Z         "doc": {
2026-06-07T04:24:21.4735272Z           "complete": false,
2026-06-07T04:24:21.4735497Z           "evidence": []
2026-06-07T04:24:21.4735705Z         },
2026-06-07T04:24:21.4735925Z         "impl": {
2026-06-07T04:24:21.4736166Z           "complete": true,
2026-06-07T04:24:21.4736393Z           "evidence": [
2026-06-07T04:24:21.4736589Z             {
2026-06-07T04:24:21.4736919Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4737137Z               "line": 14
2026-06-07T04:24:21.4737348Z             },
2026-06-07T04:24:21.4737554Z             {
2026-06-07T04:24:21.4737870Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.4738114Z               "line": 411
2026-06-07T04:24:21.4738312Z             }
2026-06-07T04:24:21.4738513Z           ]
2026-06-07T04:24:21.4738739Z         },
2026-06-07T04:24:21.4738972Z         "int": {
2026-06-07T04:24:21.4739369Z           "complete": false,
2026-06-07T04:24:21.4739596Z           "evidence": []
2026-06-07T04:24:21.4739805Z         },
2026-06-07T04:24:21.4740010Z         "unit": {
2026-06-07T04:24:21.4740263Z           "complete": true,
2026-06-07T04:24:21.4740485Z           "evidence": [
2026-06-07T04:24:21.4740691Z             {
2026-06-07T04:24:21.4741032Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4741260Z               "line": 130
2026-06-07T04:24:21.4741469Z             },
2026-06-07T04:24:21.4741663Z             {
2026-06-07T04:24:21.4741999Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4742220Z               "line": 138
2026-06-07T04:24:21.4742427Z             },
2026-06-07T04:24:21.4742636Z             {
2026-06-07T04:24:21.4742968Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4743201Z               "line": 146
2026-06-07T04:24:21.4743396Z             },
2026-06-07T04:24:21.4743608Z             {
2026-06-07T04:24:21.4743927Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4744158Z               "line": 154
2026-06-07T04:24:21.4744366Z             },
2026-06-07T04:24:21.4744560Z             {
2026-06-07T04:24:21.4744885Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4745267Z               "line": 162
2026-06-07T04:24:21.4745524Z             },
2026-06-07T04:24:21.4745776Z             {
2026-06-07T04:24:21.4746146Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T04:24:21.4746414Z               "line": 170
2026-06-07T04:24:21.4746635Z             }
2026-06-07T04:24:21.4746865Z           ]
2026-06-07T04:24:21.4747094Z         }
2026-06-07T04:24:21.4747322Z       }
2026-06-07T04:24:21.4747537Z     },
2026-06-07T04:24:21.4747784Z     {
2026-06-07T04:24:21.4748504Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-07T04:24:21.4753139Z       "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-07T04:24:21.4753577Z       "requiredStages": [
2026-06-07T04:24:21.4753783Z         "impl",
2026-06-07T04:24:21.4753999Z         "unit"
2026-06-07T04:24:21.4754208Z       ],
2026-06-07T04:24:21.4754579Z       "stages": {
2026-06-07T04:24:21.4754814Z         "doc": {
2026-06-07T04:24:21.4755074Z           "complete": false,
2026-06-07T04:24:21.4755321Z           "evidence": []
2026-06-07T04:24:21.4755527Z         },
2026-06-07T04:24:21.4755754Z         "impl": {
2026-06-07T04:24:21.4761550Z           "complete": true,
2026-06-07T04:24:21.4761911Z           "evidence": [
2026-06-07T04:24:21.4762127Z             {
2026-06-07T04:24:21.4762665Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4762909Z               "line": 34
2026-06-07T04:24:21.4763107Z             }
2026-06-07T04:24:21.4763335Z           ]
2026-06-07T04:24:21.4763538Z         },
2026-06-07T04:24:21.4763737Z         "int": {
2026-06-07T04:24:21.4763993Z           "complete": false,
2026-06-07T04:24:21.4764224Z           "evidence": []
2026-06-07T04:24:21.4764434Z         },
2026-06-07T04:24:21.4764642Z         "unit": {
2026-06-07T04:24:21.4764888Z           "complete": true,
2026-06-07T04:24:21.4765118Z           "evidence": [
2026-06-07T04:24:21.4765313Z             {
2026-06-07T04:24:21.4765803Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4766031Z               "line": 188
2026-06-07T04:24:21.4766239Z             },
2026-06-07T04:24:21.4766434Z             {
2026-06-07T04:24:21.4766918Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4767157Z               "line": 200
2026-06-07T04:24:21.4767370Z             },
2026-06-07T04:24:21.4767582Z             {
2026-06-07T04:24:21.4768067Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4768317Z               "line": 211
2026-06-07T04:24:21.4768522Z             },
2026-06-07T04:24:21.4768730Z             {
2026-06-07T04:24:21.4769282Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4769512Z               "line": 253
2026-06-07T04:24:21.4769726Z             },
2026-06-07T04:24:21.4769925Z             {
2026-06-07T04:24:21.4770404Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4770634Z               "line": 277
2026-06-07T04:24:21.4770851Z             },
2026-06-07T04:24:21.4771061Z             {
2026-06-07T04:24:21.4771536Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4771776Z               "line": 300
2026-06-07T04:24:21.4771980Z             },
2026-06-07T04:24:21.4772203Z             {
2026-06-07T04:24:21.4772686Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T04:24:21.4772946Z               "line": 316
2026-06-07T04:24:21.4773161Z             }
2026-06-07T04:24:21.4773361Z           ]
2026-06-07T04:24:21.4773571Z         }
2026-06-07T04:24:21.4773770Z       }
2026-06-07T04:24:21.4773975Z     },
2026-06-07T04:24:21.4774173Z     {
2026-06-07T04:24:21.4774511Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-07T04:24:21.4777017Z       "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-07T04:24:21.4777276Z       "requiredStages": [
2026-06-07T04:24:21.4777496Z         "impl",
2026-06-07T04:24:21.4777702Z         "unit"
2026-06-07T04:24:21.4777913Z       ],
2026-06-07T04:24:21.4778138Z       "stages": {
2026-06-07T04:24:21.4778342Z         "doc": {
2026-06-07T04:24:21.4778855Z           "complete": false,
2026-06-07T04:24:21.4779110Z           "evidence": []
2026-06-07T04:24:21.4779360Z         },
2026-06-07T04:24:21.4779732Z         "impl": {
2026-06-07T04:24:21.4779984Z           "complete": true,
2026-06-07T04:24:21.4780221Z           "evidence": [
2026-06-07T04:24:21.4780425Z             {
2026-06-07T04:24:21.4780801Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4781026Z               "line": 29
2026-06-07T04:24:21.4781235Z             },
2026-06-07T04:24:21.4781434Z             {
2026-06-07T04:24:21.4781809Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4782051Z               "line": 154
2026-06-07T04:24:21.4782253Z             },
2026-06-07T04:24:21.4782462Z             {
2026-06-07T04:24:21.4782976Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4783244Z               "line": 173
2026-06-07T04:24:21.4783483Z             },
2026-06-07T04:24:21.4783702Z             {
2026-06-07T04:24:21.4784097Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4784339Z               "line": 200
2026-06-07T04:24:21.4784574Z             }
2026-06-07T04:24:21.4784779Z           ]
2026-06-07T04:24:21.4784996Z         },
2026-06-07T04:24:21.4785206Z         "int": {
2026-06-07T04:24:21.4785469Z           "complete": false,
2026-06-07T04:24:21.4785716Z           "evidence": []
2026-06-07T04:24:21.4785920Z         },
2026-06-07T04:24:21.4786141Z         "unit": {
2026-06-07T04:24:21.4786397Z           "complete": true,
2026-06-07T04:24:21.4786640Z           "evidence": [
2026-06-07T04:24:21.4786851Z             {
2026-06-07T04:24:21.4787238Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4787486Z               "line": 276
2026-06-07T04:24:21.4787693Z             },
2026-06-07T04:24:21.4787907Z             {
2026-06-07T04:24:21.4788287Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4788531Z               "line": 291
2026-06-07T04:24:21.4788751Z             },
2026-06-07T04:24:21.4788972Z             {
2026-06-07T04:24:21.4789420Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4789978Z               "line": 310
2026-06-07T04:24:21.4790197Z             },
2026-06-07T04:24:21.4790396Z             {
2026-06-07T04:24:21.4790766Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4791002Z               "line": 326
2026-06-07T04:24:21.4791221Z             },
2026-06-07T04:24:21.4791426Z             {
2026-06-07T04:24:21.4791789Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4792039Z               "line": 385
2026-06-07T04:24:21.4792242Z             },
2026-06-07T04:24:21.4792456Z             {
2026-06-07T04:24:21.4792812Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4793048Z               "line": 399
2026-06-07T04:24:21.4793257Z             },
2026-06-07T04:24:21.4793460Z             {
2026-06-07T04:24:21.4793837Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4794078Z               "line": 410
2026-06-07T04:24:21.4794293Z             },
2026-06-07T04:24:21.4794664Z             {
2026-06-07T04:24:21.4795078Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.4795334Z               "line": 421
2026-06-07T04:24:21.4795551Z             }
2026-06-07T04:24:21.4795922Z           ]
2026-06-07T04:24:21.4796125Z         }
2026-06-07T04:24:21.4796332Z       }
2026-06-07T04:24:21.4796534Z     },
2026-06-07T04:24:21.4796742Z     {
2026-06-07T04:24:21.4797117Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-07T04:24:21.4800268Z       "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-07T04:24:21.4800543Z       "requiredStages": [
2026-06-07T04:24:21.4800751Z         "impl",
2026-06-07T04:24:21.4801197Z         "unit"
2026-06-07T04:24:21.4801432Z       ],
2026-06-07T04:24:21.4801649Z       "stages": {
2026-06-07T04:24:21.4801866Z         "doc": {
2026-06-07T04:24:21.4802253Z           "complete": false,
2026-06-07T04:24:21.4802494Z           "evidence": []
2026-06-07T04:24:21.4802694Z         },
2026-06-07T04:24:21.4802918Z         "impl": {
2026-06-07T04:24:21.4803174Z           "complete": true,
2026-06-07T04:24:21.4803400Z           "evidence": [
2026-06-07T04:24:21.4803612Z             {
2026-06-07T04:24:21.4804051Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4804288Z               "line": 27
2026-06-07T04:24:21.4804492Z             },
2026-06-07T04:24:21.4804699Z             {
2026-06-07T04:24:21.4805150Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4805377Z               "line": 110
2026-06-07T04:24:21.4805587Z             },
2026-06-07T04:24:21.4805788Z             {
2026-06-07T04:24:21.4806242Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4806468Z               "line": 153
2026-06-07T04:24:21.4806690Z             },
2026-06-07T04:24:21.4806907Z             {
2026-06-07T04:24:21.4807342Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4807582Z               "line": 182
2026-06-07T04:24:21.4807783Z             },
2026-06-07T04:24:21.4807992Z             {
2026-06-07T04:24:21.4808490Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4808731Z               "line": 31
2026-06-07T04:24:21.4808944Z             },
2026-06-07T04:24:21.4809142Z             {
2026-06-07T04:24:21.4809709Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4809944Z               "line": 113
2026-06-07T04:24:21.4810155Z             },
2026-06-07T04:24:21.4814923Z             {
2026-06-07T04:24:21.4815613Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4815892Z               "line": 138
2026-06-07T04:24:21.4816114Z             }
2026-06-07T04:24:21.4816485Z           ]
2026-06-07T04:24:21.4816696Z         },
2026-06-07T04:24:21.4816955Z         "int": {
2026-06-07T04:24:21.4817369Z           "complete": false,
2026-06-07T04:24:21.4817603Z           "evidence": []
2026-06-07T04:24:21.4817811Z         },
2026-06-07T04:24:21.4818020Z         "unit": {
2026-06-07T04:24:21.4818263Z           "complete": true,
2026-06-07T04:24:21.4818482Z           "evidence": [
2026-06-07T04:24:21.4818688Z             {
2026-06-07T04:24:21.4819123Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4819423Z               "line": 261
2026-06-07T04:24:21.4819632Z             },
2026-06-07T04:24:21.4819829Z             {
2026-06-07T04:24:21.4820261Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4820490Z               "line": 276
2026-06-07T04:24:21.4820703Z             },
2026-06-07T04:24:21.4820909Z             {
2026-06-07T04:24:21.4821342Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4821581Z               "line": 293
2026-06-07T04:24:21.4821794Z             },
2026-06-07T04:24:21.4822010Z             {
2026-06-07T04:24:21.4822432Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4822670Z               "line": 310
2026-06-07T04:24:21.4822880Z             },
2026-06-07T04:24:21.4823076Z             {
2026-06-07T04:24:21.4823509Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4823744Z               "line": 327
2026-06-07T04:24:21.4823956Z             },
2026-06-07T04:24:21.4824155Z             {
2026-06-07T04:24:21.4824590Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.4824824Z               "line": 366
2026-06-07T04:24:21.4825031Z             },
2026-06-07T04:24:21.4825237Z             {
2026-06-07T04:24:21.4825939Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4826206Z               "line": 179
2026-06-07T04:24:21.4826409Z             },
2026-06-07T04:24:21.4826752Z             {
2026-06-07T04:24:21.4827250Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4827475Z               "line": 194
2026-06-07T04:24:21.4827686Z             },
2026-06-07T04:24:21.4827884Z             {
2026-06-07T04:24:21.4828372Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4828611Z               "line": 204
2026-06-07T04:24:21.4828816Z             },
2026-06-07T04:24:21.4829027Z             {
2026-06-07T04:24:21.4829559Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4829796Z               "line": 259
2026-06-07T04:24:21.4829999Z             },
2026-06-07T04:24:21.4830213Z             {
2026-06-07T04:24:21.4830702Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4830948Z               "line": 269
2026-06-07T04:24:21.4831168Z             },
2026-06-07T04:24:21.4831370Z             {
2026-06-07T04:24:21.4831855Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.4832100Z               "line": 283
2026-06-07T04:24:21.4832316Z             }
2026-06-07T04:24:21.4832522Z           ]
2026-06-07T04:24:21.4832717Z         }
2026-06-07T04:24:21.4832918Z       }
2026-06-07T04:24:21.4833108Z     },
2026-06-07T04:24:21.4833306Z     {
2026-06-07T04:24:21.4833633Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-07T04:24:21.4834346Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-07T04:24:21.4834608Z       "requiredStages": [],
2026-06-07T04:24:21.4834820Z       "stages": {
2026-06-07T04:24:21.4835031Z         "doc": {
2026-06-07T04:24:21.4835271Z           "complete": false,
2026-06-07T04:24:21.4835511Z           "evidence": []
2026-06-07T04:24:21.4835708Z         },
2026-06-07T04:24:21.4835930Z         "impl": {
2026-06-07T04:24:21.4836187Z           "complete": false,
2026-06-07T04:24:21.4836414Z           "evidence": []
2026-06-07T04:24:21.4836623Z         },
2026-06-07T04:24:21.4836837Z         "int": {
2026-06-07T04:24:21.4837088Z           "complete": false,
2026-06-07T04:24:21.4837312Z           "evidence": []
2026-06-07T04:24:21.4837515Z         },
2026-06-07T04:24:21.4837723Z         "unit": {
2026-06-07T04:24:21.4837961Z           "complete": false,
2026-06-07T04:24:21.4838195Z           "evidence": []
2026-06-07T04:24:21.4838391Z         }
2026-06-07T04:24:21.4838597Z       }
2026-06-07T04:24:21.4838795Z     },
2026-06-07T04:24:21.4838994Z     {
2026-06-07T04:24:21.4839445Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-07T04:24:21.4849954Z       "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-07T04:24:21.4850335Z       "requiredStages": [
2026-06-07T04:24:21.4850548Z         "impl",
2026-06-07T04:24:21.4850759Z         "unit"
2026-06-07T04:24:21.4850986Z       ],
2026-06-07T04:24:21.4851199Z       "stages": {
2026-06-07T04:24:21.4851417Z         "doc": {
2026-06-07T04:24:21.4851657Z           "complete": false,
2026-06-07T04:24:21.4851896Z           "evidence": []
2026-06-07T04:24:21.4852091Z         },
2026-06-07T04:24:21.4852311Z         "impl": {
2026-06-07T04:24:21.4852557Z           "complete": true,
2026-06-07T04:24:21.4852777Z           "evidence": [
2026-06-07T04:24:21.4852984Z             {
2026-06-07T04:24:21.4853370Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4853599Z               "line": 26
2026-06-07T04:24:21.4853799Z             },
2026-06-07T04:24:21.4854010Z             {
2026-06-07T04:24:21.4854407Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4854625Z               "line": 95
2026-06-07T04:24:21.4855085Z             },
2026-06-07T04:24:21.4855299Z             {
2026-06-07T04:24:21.4855700Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4856060Z               "line": 166
2026-06-07T04:24:21.4856272Z             },
2026-06-07T04:24:21.4856481Z             {
2026-06-07T04:24:21.4856853Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4857086Z               "line": 19
2026-06-07T04:24:21.4857283Z             },
2026-06-07T04:24:21.4857494Z             {
2026-06-07T04:24:21.4857862Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4858092Z               "line": 50
2026-06-07T04:24:21.4858304Z             },
2026-06-07T04:24:21.4858503Z             {
2026-06-07T04:24:21.4858948Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T04:24:21.4859218Z               "line": 18
2026-06-07T04:24:21.4859429Z             },
2026-06-07T04:24:21.4859623Z             {
2026-06-07T04:24:21.4859973Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T04:24:21.4860207Z               "line": 71
2026-06-07T04:24:21.4860403Z             },
2026-06-07T04:24:21.4860617Z             {
2026-06-07T04:24:21.4860964Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.4861197Z               "line": 70
2026-06-07T04:24:21.4861402Z             }
2026-06-07T04:24:21.4861598Z           ]
2026-06-07T04:24:21.4861799Z         },
2026-06-07T04:24:21.4861999Z         "int": {
2026-06-07T04:24:21.4862248Z           "complete": false,
2026-06-07T04:24:21.4862473Z           "evidence": []
2026-06-07T04:24:21.4862677Z         },
2026-06-07T04:24:21.4862880Z         "unit": {
2026-06-07T04:24:21.4863123Z           "complete": true,
2026-06-07T04:24:21.4863353Z           "evidence": [
2026-06-07T04:24:21.4863550Z             {
2026-06-07T04:24:21.4863949Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4864175Z               "line": 289
2026-06-07T04:24:21.4864390Z             },
2026-06-07T04:24:21.4864590Z             {
2026-06-07T04:24:21.4864988Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4865231Z               "line": 308
2026-06-07T04:24:21.4865428Z             },
2026-06-07T04:24:21.4865631Z             {
2026-06-07T04:24:21.4866013Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4866247Z               "line": 336
2026-06-07T04:24:21.4866454Z             },
2026-06-07T04:24:21.4866648Z             {
2026-06-07T04:24:21.4867039Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4867265Z               "line": 399
2026-06-07T04:24:21.4867477Z             },
2026-06-07T04:24:21.4867678Z             {
2026-06-07T04:24:21.4868069Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4873691Z               "line": 410
2026-06-07T04:24:21.4874049Z             },
2026-06-07T04:24:21.4874282Z             {
2026-06-07T04:24:21.4874760Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4875017Z               "line": 441
2026-06-07T04:24:21.4875227Z             },
2026-06-07T04:24:21.4875442Z             {
2026-06-07T04:24:21.4875871Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.4876104Z               "line": 452
2026-06-07T04:24:21.4876320Z             },
2026-06-07T04:24:21.4876523Z             {
2026-06-07T04:24:21.4876926Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4877152Z               "line": 77
2026-06-07T04:24:21.4877368Z             },
2026-06-07T04:24:21.4877582Z             {
2026-06-07T04:24:21.4877967Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4878201Z               "line": 97
2026-06-07T04:24:21.4878406Z             },
2026-06-07T04:24:21.4878616Z             {
2026-06-07T04:24:21.4879099Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4879703Z               "line": 112
2026-06-07T04:24:21.4879927Z             },
2026-06-07T04:24:21.4880409Z             {
2026-06-07T04:24:21.4880854Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4881234Z               "line": 123
2026-06-07T04:24:21.4881455Z             },
2026-06-07T04:24:21.4881665Z             {
2026-06-07T04:24:21.4882060Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4882304Z               "line": 130
2026-06-07T04:24:21.4882510Z             },
2026-06-07T04:24:21.4882726Z             {
2026-06-07T04:24:21.4883102Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T04:24:21.4883344Z               "line": 145
2026-06-07T04:24:21.4883549Z             },
2026-06-07T04:24:21.4883770Z             {
2026-06-07T04:24:21.4884122Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T04:24:21.4884351Z               "line": 115
2026-06-07T04:24:21.4884570Z             },
2026-06-07T04:24:21.4884772Z             {
2026-06-07T04:24:21.4885131Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T04:24:21.4885382Z               "line": 130
2026-06-07T04:24:21.4885589Z             },
2026-06-07T04:24:21.4885803Z             {
2026-06-07T04:24:21.4886170Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T04:24:21.4886410Z               "line": 336
2026-06-07T04:24:21.4886611Z             }
2026-06-07T04:24:21.4886821Z           ]
2026-06-07T04:24:21.4887033Z         }
2026-06-07T04:24:21.4887236Z       }
2026-06-07T04:24:21.4887444Z     },
2026-06-07T04:24:21.4887647Z     {
2026-06-07T04:24:21.4888003Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-07T04:24:21.4889068Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-07T04:24:21.4889395Z       "requiredStages": [
2026-06-07T04:24:21.4889621Z         "impl",
2026-06-07T04:24:21.4889831Z         "unit"
2026-06-07T04:24:21.4890045Z       ],
2026-06-07T04:24:21.4890259Z       "stages": {
2026-06-07T04:24:21.4890479Z         "doc": {
2026-06-07T04:24:21.4890734Z           "complete": true,
2026-06-07T04:24:21.4890983Z           "evidence": [
2026-06-07T04:24:21.4891198Z             {
2026-06-07T04:24:21.4891533Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4891777Z               "line": 137
2026-06-07T04:24:21.4892123Z             }
2026-06-07T04:24:21.4892329Z           ]
2026-06-07T04:24:21.4892523Z         },
2026-06-07T04:24:21.4892743Z         "impl": {
2026-06-07T04:24:21.4892997Z           "complete": true,
2026-06-07T04:24:21.4893219Z           "evidence": [
2026-06-07T04:24:21.4893429Z             {
2026-06-07T04:24:21.4893753Z               "path": "crates/spt-store/src/db.rs",
2026-06-07T04:24:21.4893983Z               "line": 29
2026-06-07T04:24:21.4894183Z             },
2026-06-07T04:24:21.4894391Z             {
2026-06-07T04:24:21.4894749Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.4894975Z               "line": 101
2026-06-07T04:24:21.4895190Z             },
2026-06-07T04:24:21.4895394Z             {
2026-06-07T04:24:21.4895775Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4895993Z               "line": 30
2026-06-07T04:24:21.4896209Z             },
2026-06-07T04:24:21.4896417Z             {
2026-06-07T04:24:21.4896761Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.4896990Z               "line": 48
2026-06-07T04:24:21.4897188Z             }
2026-06-07T04:24:21.4897396Z           ]
2026-06-07T04:24:21.4897592Z         },
2026-06-07T04:24:21.4897810Z         "int": {
2026-06-07T04:24:21.4898062Z           "complete": false,
2026-06-07T04:24:21.4898298Z           "evidence": []
2026-06-07T04:24:21.4898671Z         },
2026-06-07T04:24:21.4898902Z         "unit": {
2026-06-07T04:24:21.4899542Z           "complete": true,
2026-06-07T04:24:21.4899799Z           "evidence": [
2026-06-07T04:24:21.4900037Z             {
2026-06-07T04:24:21.4900456Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4900885Z               "line": 162
2026-06-07T04:24:21.4901301Z             }
2026-06-07T04:24:21.4901496Z           ]
2026-06-07T04:24:21.4901701Z         }
2026-06-07T04:24:21.4902035Z       }
2026-06-07T04:24:21.4902238Z     },
2026-06-07T04:24:21.4902444Z     {
2026-06-07T04:24:21.4902782Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-07T04:24:21.4904406Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-07T04:24:21.4904659Z       "requiredStages": [
2026-06-07T04:24:21.4904875Z         "doc",
2026-06-07T04:24:21.4905085Z         "impl",
2026-06-07T04:24:21.4905298Z         "unit"
2026-06-07T04:24:21.4905500Z       ],
2026-06-07T04:24:21.4905711Z       "stages": {
2026-06-07T04:24:21.4905924Z         "doc": {
2026-06-07T04:24:21.4906166Z           "complete": true,
2026-06-07T04:24:21.4906399Z           "evidence": [
2026-06-07T04:24:21.4906601Z             {
2026-06-07T04:24:21.4906939Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4907180Z               "line": 149
2026-06-07T04:24:21.4907383Z             }
2026-06-07T04:24:21.4907591Z           ]
2026-06-07T04:24:21.4907802Z         },
2026-06-07T04:24:21.4908025Z         "impl": {
2026-06-07T04:24:21.4908265Z           "complete": true,
2026-06-07T04:24:21.4908498Z           "evidence": [
2026-06-07T04:24:21.4908706Z             {
2026-06-07T04:24:21.4909085Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4909410Z               "line": 22
2026-06-07T04:24:21.4909761Z             }
2026-06-07T04:24:21.4910142Z           ]
2026-06-07T04:24:21.4910336Z         },
2026-06-07T04:24:21.4910555Z         "int": {
2026-06-07T04:24:21.4910809Z           "complete": false,
2026-06-07T04:24:21.4911037Z           "evidence": []
2026-06-07T04:24:21.4911241Z         },
2026-06-07T04:24:21.4911449Z         "unit": {
2026-06-07T04:24:21.4911698Z           "complete": true,
2026-06-07T04:24:21.4911918Z           "evidence": [
2026-06-07T04:24:21.4912135Z             {
2026-06-07T04:24:21.4912522Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4912747Z               "line": 298
2026-06-07T04:24:21.4912967Z             }
2026-06-07T04:24:21.4913162Z           ]
2026-06-07T04:24:21.4913364Z         }
2026-06-07T04:24:21.4913563Z       }
2026-06-07T04:24:21.4913765Z     },
2026-06-07T04:24:21.4913965Z     {
2026-06-07T04:24:21.4914316Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-07T04:24:21.4916061Z       "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-07T04:24:21.4916312Z       "requiredStages": [
2026-06-07T04:24:21.4916526Z         "impl",
2026-06-07T04:24:21.4916733Z         "unit"
2026-06-07T04:24:21.4916937Z       ],
2026-06-07T04:24:21.4917154Z       "stages": {
2026-06-07T04:24:21.4917355Z         "doc": {
2026-06-07T04:24:21.4917602Z           "complete": true,
2026-06-07T04:24:21.4917838Z           "evidence": [
2026-06-07T04:24:21.4918049Z             {
2026-06-07T04:24:21.4918358Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4918605Z               "line": 143
2026-06-07T04:24:21.4918812Z             }
2026-06-07T04:24:21.4919011Z           ]
2026-06-07T04:24:21.4919273Z         },
2026-06-07T04:24:21.4919807Z         "impl": {
2026-06-07T04:24:21.4925517Z           "complete": true,
2026-06-07T04:24:21.4925839Z           "evidence": [
2026-06-07T04:24:21.4926051Z             {
2026-06-07T04:24:21.4926454Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.4926684Z               "line": 195
2026-06-07T04:24:21.4926900Z             },
2026-06-07T04:24:21.4927097Z             {
2026-06-07T04:24:21.4927457Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T04:24:21.4927676Z               "line": 15
2026-06-07T04:24:21.4927884Z             }
2026-06-07T04:24:21.4928091Z           ]
2026-06-07T04:24:21.4928289Z         },
2026-06-07T04:24:21.4928820Z         "int": {
2026-06-07T04:24:21.4929080Z           "complete": false,
2026-06-07T04:24:21.4929396Z           "evidence": []
2026-06-07T04:24:21.4929743Z         },
2026-06-07T04:24:21.4929962Z         "unit": {
2026-06-07T04:24:21.4930211Z           "complete": true,
2026-06-07T04:24:21.4930431Z           "evidence": [
2026-06-07T04:24:21.4930636Z             {
2026-06-07T04:24:21.4931051Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-07T04:24:21.4931278Z               "line": 87
2026-06-07T04:24:21.4931477Z             },
2026-06-07T04:24:21.4931685Z             {
2026-06-07T04:24:21.4932069Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.4932294Z               "line": 714
2026-06-07T04:24:21.4932504Z             },
2026-06-07T04:24:21.4932701Z             {
2026-06-07T04:24:21.4933096Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.4933324Z               "line": 733
2026-06-07T04:24:21.4933557Z             },
2026-06-07T04:24:21.4933767Z             {
2026-06-07T04:24:21.4934164Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.4934409Z               "line": 166
2026-06-07T04:24:21.4934606Z             },
2026-06-07T04:24:21.4934816Z             {
2026-06-07T04:24:21.4935171Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T04:24:21.4935389Z               "line": 77
2026-06-07T04:24:21.4935595Z             },
2026-06-07T04:24:21.4935791Z             {
2026-06-07T04:24:21.4936150Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T04:24:21.4936374Z               "line": 94
2026-06-07T04:24:21.4936583Z             },
2026-06-07T04:24:21.4936789Z             {
2026-06-07T04:24:21.4937135Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T04:24:21.4937370Z               "line": 114
2026-06-07T04:24:21.4937569Z             }
2026-06-07T04:24:21.4937777Z           ]
2026-06-07T04:24:21.4937973Z         }
2026-06-07T04:24:21.4938187Z       }
2026-06-07T04:24:21.4938387Z     },
2026-06-07T04:24:21.4938581Z     {
2026-06-07T04:24:21.4938936Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-07T04:24:21.4945191Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-07T04:24:21.4945679Z       "requiredStages": [
2026-06-07T04:24:21.4945933Z         "doc",
2026-06-07T04:24:21.4946170Z         "impl",
2026-06-07T04:24:21.4946403Z         "unit"
2026-06-07T04:24:21.4946614Z       ],
2026-06-07T04:24:21.4946848Z       "stages": {
2026-06-07T04:24:21.4947059Z         "doc": {
2026-06-07T04:24:21.4947316Z           "complete": true,
2026-06-07T04:24:21.4947583Z           "evidence": [
2026-06-07T04:24:21.4947791Z             {
2026-06-07T04:24:21.4948132Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.4948401Z               "line": 155
2026-06-07T04:24:21.4948631Z             }
2026-06-07T04:24:21.4948836Z           ]
2026-06-07T04:24:21.4949055Z         },
2026-06-07T04:24:21.4949329Z         "impl": {
2026-06-07T04:24:21.4949713Z           "complete": true,
2026-06-07T04:24:21.4949948Z           "evidence": [
2026-06-07T04:24:21.4950147Z             {
2026-06-07T04:24:21.4950550Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T04:24:21.4950779Z               "line": 268
2026-06-07T04:24:21.4950989Z             },
2026-06-07T04:24:21.4951202Z             {
2026-06-07T04:24:21.4951627Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.4951866Z               "line": 372
2026-06-07T04:24:21.4952067Z             },
2026-06-07T04:24:21.4952278Z             {
2026-06-07T04:24:21.4952887Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.4953145Z               "line": 379
2026-06-07T04:24:21.4953488Z             },
2026-06-07T04:24:21.4953682Z             {
2026-06-07T04:24:21.4954079Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.4954306Z               "line": 177
2026-06-07T04:24:21.4954517Z             }
2026-06-07T04:24:21.4954714Z           ]
2026-06-07T04:24:21.4954917Z         },
2026-06-07T04:24:21.4955126Z         "int": {
2026-06-07T04:24:21.4955372Z           "complete": false,
2026-06-07T04:24:21.4955611Z           "evidence": []
2026-06-07T04:24:21.4955811Z         },
2026-06-07T04:24:21.4956029Z         "unit": {
2026-06-07T04:24:21.4956271Z           "complete": true,
2026-06-07T04:24:21.4956505Z           "evidence": [
2026-06-07T04:24:21.4956709Z             {
2026-06-07T04:24:21.4957131Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.4957364Z               "line": 898
2026-06-07T04:24:21.4957580Z             },
2026-06-07T04:24:21.4957793Z             {
2026-06-07T04:24:21.4958208Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.4958456Z               "line": 956
2026-06-07T04:24:21.4958661Z             },
2026-06-07T04:24:21.4958865Z             {
2026-06-07T04:24:21.4959304Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.4959541Z               "line": 746
2026-06-07T04:24:21.4959746Z             }
2026-06-07T04:24:21.4959939Z           ]
2026-06-07T04:24:21.4960149Z         }
2026-06-07T04:24:21.4960350Z       }
2026-06-07T04:24:21.4960540Z     },
2026-06-07T04:24:21.4960744Z     {
2026-06-07T04:24:21.4961098Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-07T04:24:21.4961813Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-07T04:24:21.4962073Z       "requiredStages": [
2026-06-07T04:24:21.4962281Z         "impl",
2026-06-07T04:24:21.4962502Z         "unit"
2026-06-07T04:24:21.4962701Z       ],
2026-06-07T04:24:21.4962924Z       "stages": {
2026-06-07T04:24:21.4963128Z         "doc": {
2026-06-07T04:24:21.4963393Z           "complete": false,
2026-06-07T04:24:21.4963621Z           "evidence": []
2026-06-07T04:24:21.4963826Z         },
2026-06-07T04:24:21.4964044Z         "impl": {
2026-06-07T04:24:21.4964281Z           "complete": true,
2026-06-07T04:24:21.4964512Z           "evidence": [
2026-06-07T04:24:21.4964708Z             {
2026-06-07T04:24:21.4965063Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T04:24:21.4965279Z               "line": 15
2026-06-07T04:24:21.4965487Z             },
2026-06-07T04:24:21.4965692Z             {
2026-06-07T04:24:21.4966067Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4966298Z               "line": 55
2026-06-07T04:24:21.4966495Z             },
2026-06-07T04:24:21.4966699Z             {
2026-06-07T04:24:21.4967097Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4967320Z               "line": 66
2026-06-07T04:24:21.4967528Z             },
2026-06-07T04:24:21.4967727Z             {
2026-06-07T04:24:21.4968117Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4968340Z               "line": 115
2026-06-07T04:24:21.4968552Z             },
2026-06-07T04:24:21.4968820Z             {
2026-06-07T04:24:21.4969231Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4969467Z               "line": 138
2026-06-07T04:24:21.4969667Z             }
2026-06-07T04:24:21.4969872Z           ]
2026-06-07T04:24:21.4970070Z         },
2026-06-07T04:24:21.4970280Z         "int": {
2026-06-07T04:24:21.4970532Z           "complete": false,
2026-06-07T04:24:21.4970753Z           "evidence": []
2026-06-07T04:24:21.4970959Z         },
2026-06-07T04:24:21.4971163Z         "unit": {
2026-06-07T04:24:21.4971410Z           "complete": true,
2026-06-07T04:24:21.4971633Z           "evidence": [
2026-06-07T04:24:21.4972002Z             {
2026-06-07T04:24:21.4972378Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T04:24:21.4972607Z               "line": 149
2026-06-07T04:24:21.4972943Z             },
2026-06-07T04:24:21.4973145Z             {
2026-06-07T04:24:21.4978343Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T04:24:21.4978670Z               "line": 155
2026-06-07T04:24:21.4978889Z             },
2026-06-07T04:24:21.4979100Z             {
2026-06-07T04:24:21.4979555Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T04:24:21.4979796Z               "line": 169
2026-06-07T04:24:21.4979995Z             },
2026-06-07T04:24:21.4980203Z             {
2026-06-07T04:24:21.4980552Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T04:24:21.4980787Z               "line": 178
2026-06-07T04:24:21.4980996Z             },
2026-06-07T04:24:21.4981194Z             {
2026-06-07T04:24:21.4981590Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4981853Z               "line": 195
2026-06-07T04:24:21.4982061Z             },
2026-06-07T04:24:21.4982261Z             {
2026-06-07T04:24:21.4982666Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4982900Z               "line": 208
2026-06-07T04:24:21.4983102Z             },
2026-06-07T04:24:21.4983311Z             {
2026-06-07T04:24:21.4983689Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4983919Z               "line": 271
2026-06-07T04:24:21.4984119Z             },
2026-06-07T04:24:21.4984329Z             {
2026-06-07T04:24:21.4984709Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4984937Z               "line": 290
2026-06-07T04:24:21.4985147Z             },
2026-06-07T04:24:21.4985349Z             {
2026-06-07T04:24:21.4985734Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.4985960Z               "line": 319
2026-06-07T04:24:21.4986170Z             }
2026-06-07T04:24:21.4986391Z           ]
2026-06-07T04:24:21.4986590Z         }
2026-06-07T04:24:21.4986798Z       }
2026-06-07T04:24:21.4986992Z     },
2026-06-07T04:24:21.4987206Z     {
2026-06-07T04:24:21.4987535Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-07T04:24:21.4988635Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-07T04:24:21.4988894Z       "requiredStages": [
2026-06-07T04:24:21.4989108Z         "impl",
2026-06-07T04:24:21.4989372Z         "unit",
2026-06-07T04:24:21.4989581Z         "int"
2026-06-07T04:24:21.4989785Z       ],
2026-06-07T04:24:21.4989998Z       "stages": {
2026-06-07T04:24:21.4990210Z         "doc": {
2026-06-07T04:24:21.4990462Z           "complete": false,
2026-06-07T04:24:21.4990692Z           "evidence": []
2026-06-07T04:24:21.4990901Z         },
2026-06-07T04:24:21.4991116Z         "impl": {
2026-06-07T04:24:21.4991365Z           "complete": true,
2026-06-07T04:24:21.4991588Z           "evidence": [
2026-06-07T04:24:21.4991812Z             {
2026-06-07T04:24:21.4992180Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.4992406Z               "line": 269
2026-06-07T04:24:21.4992627Z             },
2026-06-07T04:24:21.4992826Z             {
2026-06-07T04:24:21.4993190Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.4993424Z               "line": 578
2026-06-07T04:24:21.4993628Z             },
2026-06-07T04:24:21.4993835Z             {
2026-06-07T04:24:21.4994193Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.4994423Z               "line": 601
2026-06-07T04:24:21.4994622Z             },
2026-06-07T04:24:21.4994829Z             {
2026-06-07T04:24:21.4995188Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.4995408Z               "line": 625
2026-06-07T04:24:21.4995618Z             },
2026-06-07T04:24:21.4995814Z             {
2026-06-07T04:24:21.4996183Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.4996662Z               "line": 492
2026-06-07T04:24:21.4996895Z             },
2026-06-07T04:24:21.4997107Z             {
2026-06-07T04:24:21.4997619Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.4997856Z               "line": 580
2026-06-07T04:24:21.4998056Z             },
2026-06-07T04:24:21.4998260Z             {
2026-06-07T04:24:21.4998630Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.4998863Z               "line": 685
2026-06-07T04:24:21.4999070Z             },
2026-06-07T04:24:21.4999311Z             {
2026-06-07T04:24:21.4999699Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.4999918Z               "line": 733
2026-06-07T04:24:21.5000125Z             },
2026-06-07T04:24:21.5000320Z             {
2026-06-07T04:24:21.5000698Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T04:24:21.5000943Z               "line": 46
2026-06-07T04:24:21.5001153Z             },
2026-06-07T04:24:21.5001380Z             {
2026-06-07T04:24:21.5001762Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T04:24:21.5001999Z               "line": 167
2026-06-07T04:24:21.5002210Z             },
2026-06-07T04:24:21.5002416Z             {
2026-06-07T04:24:21.5002766Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-07T04:24:21.5002986Z               "line": 71
2026-06-07T04:24:21.5003193Z             },
2026-06-07T04:24:21.5003400Z             {
2026-06-07T04:24:21.5003796Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.5004033Z               "line": 134
2026-06-07T04:24:21.5004247Z             },
2026-06-07T04:24:21.5004452Z             {
2026-06-07T04:24:21.5004806Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.5005036Z               "line": 180
2026-06-07T04:24:21.5005232Z             }
2026-06-07T04:24:21.5005440Z           ]
2026-06-07T04:24:21.5005640Z         },
2026-06-07T04:24:21.5005855Z         "int": {
2026-06-07T04:24:21.5006117Z           "complete": true,
2026-06-07T04:24:21.5006336Z           "evidence": [
2026-06-07T04:24:21.5006541Z             {
2026-06-07T04:24:21.5006989Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-07T04:24:21.5007219Z               "line": 27
2026-06-07T04:24:21.5007418Z             },
2026-06-07T04:24:21.5007630Z             {
2026-06-07T04:24:21.5008051Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T04:24:21.5008277Z               "line": 128
2026-06-07T04:24:21.5008484Z             },
2026-06-07T04:24:21.5008680Z             {
2026-06-07T04:24:21.5009105Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-07T04:24:21.5009397Z               "line": 199
2026-06-07T04:24:21.5009601Z             }
2026-06-07T04:24:21.5009809Z           ]
2026-06-07T04:24:21.5010015Z         },
2026-06-07T04:24:21.5010230Z         "unit": {
2026-06-07T04:24:21.5010471Z           "complete": true,
2026-06-07T04:24:21.5010705Z           "evidence": [
2026-06-07T04:24:21.5010911Z             {
2026-06-07T04:24:21.5011292Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T04:24:21.5011534Z               "line": 313
2026-06-07T04:24:21.5011735Z             },
2026-06-07T04:24:21.5011943Z             {
2026-06-07T04:24:21.5012309Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T04:24:21.5012542Z               "line": 345
2026-06-07T04:24:21.5012752Z             },
2026-06-07T04:24:21.5012954Z             {
2026-06-07T04:24:21.5013330Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T04:24:21.5013552Z               "line": 366
2026-06-07T04:24:21.5013756Z             },
2026-06-07T04:24:21.5013949Z             {
2026-06-07T04:24:21.5014345Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T04:24:21.5014597Z               "line": 253
2026-06-07T04:24:21.5014954Z             },
2026-06-07T04:24:21.5015191Z             {
2026-06-07T04:24:21.5015825Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-07T04:24:21.5016126Z               "line": 238
2026-06-07T04:24:21.5016476Z             },
2026-06-07T04:24:21.5016817Z             {
2026-06-07T04:24:21.5017208Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-07T04:24:21.5017437Z               "line": 229
2026-06-07T04:24:21.5017646Z             },
2026-06-07T04:24:21.5017848Z             {
2026-06-07T04:24:21.5018207Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.5018433Z               "line": 488
2026-06-07T04:24:21.5018641Z             },
2026-06-07T04:24:21.5018845Z             {
2026-06-07T04:24:21.5019235Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.5019472Z               "line": 518
2026-06-07T04:24:21.5019677Z             }
2026-06-07T04:24:21.5019884Z           ]
2026-06-07T04:24:21.5020079Z         }
2026-06-07T04:24:21.5020282Z       }
2026-06-07T04:24:21.5020485Z     },
2026-06-07T04:24:21.5020678Z     {
2026-06-07T04:24:21.5025393Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-07T04:24:21.5026200Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-07T04:24:21.5026482Z       "requiredStages": [
2026-06-07T04:24:21.5026694Z         "impl",
2026-06-07T04:24:21.5026907Z         "unit"
2026-06-07T04:24:21.5027115Z       ],
2026-06-07T04:24:21.5027328Z       "stages": {
2026-06-07T04:24:21.5027545Z         "doc": {
2026-06-07T04:24:21.5027790Z           "complete": false,
2026-06-07T04:24:21.5028032Z           "evidence": []
2026-06-07T04:24:21.5028230Z         },
2026-06-07T04:24:21.5028449Z         "impl": {
2026-06-07T04:24:21.5028695Z           "complete": true,
2026-06-07T04:24:21.5028918Z           "evidence": [
2026-06-07T04:24:21.5029124Z             {
2026-06-07T04:24:21.5029760Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5029995Z               "line": 56
2026-06-07T04:24:21.5030192Z             },
2026-06-07T04:24:21.5030398Z             {
2026-06-07T04:24:21.5030832Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5031058Z               "line": 65
2026-06-07T04:24:21.5031273Z             },
2026-06-07T04:24:21.5031476Z             {
2026-06-07T04:24:21.5031898Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5032120Z               "line": 72
2026-06-07T04:24:21.5032331Z             },
2026-06-07T04:24:21.5032539Z             {
2026-06-07T04:24:21.5032885Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5033123Z               "line": 33
2026-06-07T04:24:21.5033328Z             },
2026-06-07T04:24:21.5033538Z             {
2026-06-07T04:24:21.5033891Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5034123Z               "line": 65
2026-06-07T04:24:21.5034337Z             },
2026-06-07T04:24:21.5034540Z             {
2026-06-07T04:24:21.5034900Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5035137Z               "line": 74
2026-06-07T04:24:21.5035343Z             },
2026-06-07T04:24:21.5035544Z             {
2026-06-07T04:24:21.5035911Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5036153Z               "line": 83
2026-06-07T04:24:21.5036354Z             },
2026-06-07T04:24:21.5036564Z             {
2026-06-07T04:24:21.5037076Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5037331Z               "line": 92
2026-06-07T04:24:21.5037561Z             },
2026-06-07T04:24:21.5037768Z             {
2026-06-07T04:24:21.5038150Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5038390Z               "line": 101
2026-06-07T04:24:21.5038610Z             },
2026-06-07T04:24:21.5038820Z             {
2026-06-07T04:24:21.5039312Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5039747Z               "line": 109
2026-06-07T04:24:21.5039959Z             },
2026-06-07T04:24:21.5040170Z             {
2026-06-07T04:24:21.5040756Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5041021Z               "line": 118
2026-06-07T04:24:21.5041223Z             },
2026-06-07T04:24:21.5041575Z             {
2026-06-07T04:24:21.5041935Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5042161Z               "line": 127
2026-06-07T04:24:21.5042371Z             },
2026-06-07T04:24:21.5042568Z             {
2026-06-07T04:24:21.5042927Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5043153Z               "line": 134
2026-06-07T04:24:21.5043360Z             },
2026-06-07T04:24:21.5043569Z             {
2026-06-07T04:24:21.5043916Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5044145Z               "line": 141
2026-06-07T04:24:21.5044346Z             },
2026-06-07T04:24:21.5044551Z             {
2026-06-07T04:24:21.5044897Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5045133Z               "line": 149
2026-06-07T04:24:21.5045362Z             },
2026-06-07T04:24:21.5045558Z             {
2026-06-07T04:24:21.5045925Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5046168Z               "line": 158
2026-06-07T04:24:21.5046375Z             },
2026-06-07T04:24:21.5046573Z             {
2026-06-07T04:24:21.5046930Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5047165Z               "line": 167
2026-06-07T04:24:21.5047365Z             },
2026-06-07T04:24:21.5047572Z             {
2026-06-07T04:24:21.5047927Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5048159Z               "line": 176
2026-06-07T04:24:21.5048364Z             },
2026-06-07T04:24:21.5048683Z             {
2026-06-07T04:24:21.5049045Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5049328Z               "line": 188
2026-06-07T04:24:21.5049743Z             },
2026-06-07T04:24:21.5050087Z             {
2026-06-07T04:24:21.5050465Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5050708Z               "line": 195
2026-06-07T04:24:21.5050908Z             },
2026-06-07T04:24:21.5051129Z             {
2026-06-07T04:24:21.5051490Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5051722Z               "line": 204
2026-06-07T04:24:21.5051928Z             },
2026-06-07T04:24:21.5052136Z             {
2026-06-07T04:24:21.5052491Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5052718Z               "line": 211
2026-06-07T04:24:21.5052928Z             },
2026-06-07T04:24:21.5053125Z             {
2026-06-07T04:24:21.5053480Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5053719Z               "line": 278
2026-06-07T04:24:21.5053969Z             },
2026-06-07T04:24:21.5054206Z             {
2026-06-07T04:24:21.5054561Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5054796Z               "line": 290
2026-06-07T04:24:21.5055013Z             },
2026-06-07T04:24:21.5055226Z             {
2026-06-07T04:24:21.5055575Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5055824Z               "line": 377
2026-06-07T04:24:21.5056040Z             }
2026-06-07T04:24:21.5056237Z           ]
2026-06-07T04:24:21.5056442Z         },
2026-06-07T04:24:21.5056646Z         "int": {
2026-06-07T04:24:21.5056905Z           "complete": false,
2026-06-07T04:24:21.5057137Z           "evidence": []
2026-06-07T04:24:21.5057346Z         },
2026-06-07T04:24:21.5057566Z         "unit": {
2026-06-07T04:24:21.5057811Z           "complete": true,
2026-06-07T04:24:21.5058044Z           "evidence": [
2026-06-07T04:24:21.5058245Z             {
2026-06-07T04:24:21.5058605Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5058834Z               "line": 459
2026-06-07T04:24:21.5059042Z             },
2026-06-07T04:24:21.5059300Z             {
2026-06-07T04:24:21.5059823Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5060076Z               "line": 500
2026-06-07T04:24:21.5060278Z             },
2026-06-07T04:24:21.5060485Z             {
2026-06-07T04:24:21.5060983Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5061223Z               "line": 513
2026-06-07T04:24:21.5061431Z             },
2026-06-07T04:24:21.5061625Z             {
2026-06-07T04:24:21.5061984Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5062206Z               "line": 599
2026-06-07T04:24:21.5062415Z             }
2026-06-07T04:24:21.5062618Z           ]
2026-06-07T04:24:21.5062864Z         }
2026-06-07T04:24:21.5063069Z       }
2026-06-07T04:24:21.5063260Z     },
2026-06-07T04:24:21.5063460Z     {
2026-06-07T04:24:21.5063764Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-07T04:24:21.5064483Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-07T04:24:21.5064728Z       "requiredStages": [
2026-06-07T04:24:21.5064960Z         "impl",
2026-06-07T04:24:21.5065176Z         "unit"
2026-06-07T04:24:21.5065373Z       ],
2026-06-07T04:24:21.5065590Z       "stages": {
2026-06-07T04:24:21.5065807Z         "doc": {
2026-06-07T04:24:21.5066059Z           "complete": false,
2026-06-07T04:24:21.5066287Z           "evidence": []
2026-06-07T04:24:21.5066490Z         },
2026-06-07T04:24:21.5066705Z         "impl": {
2026-06-07T04:24:21.5066948Z           "complete": true,
2026-06-07T04:24:21.5067177Z           "evidence": [
2026-06-07T04:24:21.5067377Z             {
2026-06-07T04:24:21.5067721Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5067955Z               "line": 143
2026-06-07T04:24:21.5068179Z             },
2026-06-07T04:24:21.5073374Z             {
2026-06-07T04:24:21.5073996Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.5074287Z               "line": 148
2026-06-07T04:24:21.5074524Z             }
2026-06-07T04:24:21.5074784Z           ]
2026-06-07T04:24:21.5075034Z         },
2026-06-07T04:24:21.5075355Z         "int": {
2026-06-07T04:24:21.5075677Z           "complete": false,
2026-06-07T04:24:21.5075948Z           "evidence": []
2026-06-07T04:24:21.5076206Z         },
2026-06-07T04:24:21.5076438Z         "unit": {
2026-06-07T04:24:21.5076717Z           "complete": true,
2026-06-07T04:24:21.5076958Z           "evidence": [
2026-06-07T04:24:21.5077176Z             {
2026-06-07T04:24:21.5077542Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5077780Z               "line": 264
2026-06-07T04:24:21.5077997Z             },
2026-06-07T04:24:21.5078204Z             {
2026-06-07T04:24:21.5078608Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.5078940Z               "line": 544
2026-06-07T04:24:21.5079261Z             },
2026-06-07T04:24:21.5079638Z             {
2026-06-07T04:24:21.5080020Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.5080259Z               "line": 557
2026-06-07T04:24:21.5080477Z             }
2026-06-07T04:24:21.5080691Z           ]
2026-06-07T04:24:21.5080889Z         }
2026-06-07T04:24:21.5081100Z       }
2026-06-07T04:24:21.5081316Z     },
2026-06-07T04:24:21.5081510Z     {
2026-06-07T04:24:21.5081833Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-07T04:24:21.5082438Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-07T04:24:21.5082899Z       "requiredStages": [
2026-06-07T04:24:21.5083287Z         "impl",
2026-06-07T04:24:21.5083532Z         "unit"
2026-06-07T04:24:21.5083764Z       ],
2026-06-07T04:24:21.5083988Z       "stages": {
2026-06-07T04:24:21.5084213Z         "doc": {
2026-06-07T04:24:21.5084468Z           "complete": false,
2026-06-07T04:24:21.5084728Z           "evidence": []
2026-06-07T04:24:21.5084939Z         },
2026-06-07T04:24:21.5085169Z         "impl": {
2026-06-07T04:24:21.5085426Z           "complete": true,
2026-06-07T04:24:21.5085660Z           "evidence": [
2026-06-07T04:24:21.5085877Z             {
2026-06-07T04:24:21.5086639Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.5086929Z               "line": 109
2026-06-07T04:24:21.5087138Z             },
2026-06-07T04:24:21.5087567Z             {
2026-06-07T04:24:21.5088002Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5088241Z               "line": 481
2026-06-07T04:24:21.5088468Z             }
2026-06-07T04:24:21.5088685Z           ]
2026-06-07T04:24:21.5088990Z         },
2026-06-07T04:24:21.5089257Z         "int": {
2026-06-07T04:24:21.5089662Z           "complete": false,
2026-06-07T04:24:21.5089907Z           "evidence": []
2026-06-07T04:24:21.5090114Z         },
2026-06-07T04:24:21.5090338Z         "unit": {
2026-06-07T04:24:21.5090577Z           "complete": true,
2026-06-07T04:24:21.5090819Z           "evidence": [
2026-06-07T04:24:21.5091025Z             {
2026-06-07T04:24:21.5091441Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5091677Z               "line": 515
2026-06-07T04:24:21.5091895Z             }
2026-06-07T04:24:21.5092113Z           ]
2026-06-07T04:24:21.5092313Z         }
2026-06-07T04:24:21.5092520Z       }
2026-06-07T04:24:21.5092728Z     },
2026-06-07T04:24:21.5092934Z     {
2026-06-07T04:24:21.5093310Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-07T04:24:21.5093903Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-07T04:24:21.5094167Z       "requiredStages": [
2026-06-07T04:24:21.5094385Z         "impl",
2026-06-07T04:24:21.5094605Z         "unit"
2026-06-07T04:24:21.5094806Z       ],
2026-06-07T04:24:21.5095032Z       "stages": {
2026-06-07T04:24:21.5095251Z         "doc": {
2026-06-07T04:24:21.5095501Z           "complete": false,
2026-06-07T04:24:21.5095746Z           "evidence": []
2026-06-07T04:24:21.5095949Z         },
2026-06-07T04:24:21.5096179Z         "impl": {
2026-06-07T04:24:21.5096428Z           "complete": true,
2026-06-07T04:24:21.5096670Z           "evidence": [
2026-06-07T04:24:21.5096884Z             {
2026-06-07T04:24:21.5097297Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5097543Z               "line": 454
2026-06-07T04:24:21.5097763Z             },
2026-06-07T04:24:21.5097982Z             {
2026-06-07T04:24:21.5098346Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.5098586Z               "line": 28
2026-06-07T04:24:21.5098805Z             }
2026-06-07T04:24:21.5099017Z           ]
2026-06-07T04:24:21.5099275Z         },
2026-06-07T04:24:21.5099491Z         "int": {
2026-06-07T04:24:21.5099750Z           "complete": false,
2026-06-07T04:24:21.5099986Z           "evidence": []
2026-06-07T04:24:21.5100198Z         },
2026-06-07T04:24:21.5100421Z         "unit": {
2026-06-07T04:24:21.5100663Z           "complete": true,
2026-06-07T04:24:21.5100904Z           "evidence": [
2026-06-07T04:24:21.5101111Z             {
2026-06-07T04:24:21.5101482Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.5101721Z               "line": 229
2026-06-07T04:24:21.5101937Z             }
2026-06-07T04:24:21.5102151Z           ]
2026-06-07T04:24:21.5102354Z         }
2026-06-07T04:24:21.5102583Z       }
2026-06-07T04:24:21.5102780Z     },
2026-06-07T04:24:21.5102986Z     {
2026-06-07T04:24:21.5103301Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-07T04:24:21.5103758Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-07T04:24:21.5104028Z       "requiredStages": [],
2026-06-07T04:24:21.5104242Z       "stages": {
2026-06-07T04:24:21.5104465Z         "doc": {
2026-06-07T04:24:21.5104711Z           "complete": false,
2026-06-07T04:24:21.5104959Z           "evidence": []
2026-06-07T04:24:21.5105164Z         },
2026-06-07T04:24:21.5105392Z         "impl": {
2026-06-07T04:24:21.5105656Z           "complete": false,
2026-06-07T04:24:21.5105893Z           "evidence": []
2026-06-07T04:24:21.5106109Z         },
2026-06-07T04:24:21.5106326Z         "int": {
2026-06-07T04:24:21.5106592Z           "complete": false,
2026-06-07T04:24:21.5107018Z           "evidence": []
2026-06-07T04:24:21.5107262Z         },
2026-06-07T04:24:21.5107488Z         "unit": {
2026-06-07T04:24:21.5107867Z           "complete": false,
2026-06-07T04:24:21.5108109Z           "evidence": []
2026-06-07T04:24:21.5108312Z         }
2026-06-07T04:24:21.5108526Z       }
2026-06-07T04:24:21.5108728Z     },
2026-06-07T04:24:21.5108935Z     {
2026-06-07T04:24:21.5109346Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-07T04:24:21.5109857Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-07T04:24:21.5110120Z       "requiredStages": [
2026-06-07T04:24:21.5110329Z         "impl",
2026-06-07T04:24:21.5110547Z         "unit"
2026-06-07T04:24:21.5110753Z       ],
2026-06-07T04:24:21.5110985Z       "stages": {
2026-06-07T04:24:21.5111207Z         "doc": {
2026-06-07T04:24:21.5111457Z           "complete": false,
2026-06-07T04:24:21.5111697Z           "evidence": []
2026-06-07T04:24:21.5111901Z         },
2026-06-07T04:24:21.5112129Z         "impl": {
2026-06-07T04:24:21.5112395Z           "complete": true,
2026-06-07T04:24:21.5112644Z           "evidence": [
2026-06-07T04:24:21.5112862Z             {
2026-06-07T04:24:21.5113211Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T04:24:21.5113453Z               "line": 19
2026-06-07T04:24:21.5113658Z             },
2026-06-07T04:24:21.5113878Z             {
2026-06-07T04:24:21.5114267Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.5114507Z               "line": 347
2026-06-07T04:24:21.5114727Z             },
2026-06-07T04:24:21.5114935Z             {
2026-06-07T04:24:21.5115335Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.5115569Z               "line": 383
2026-06-07T04:24:21.5115787Z             },
2026-06-07T04:24:21.5115993Z             {
2026-06-07T04:24:21.5116364Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.5116599Z               "line": 15
2026-06-07T04:24:21.5122896Z             },
2026-06-07T04:24:21.5123305Z             {
2026-06-07T04:24:21.5123698Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.5123953Z               "line": 48
2026-06-07T04:24:21.5124157Z             },
2026-06-07T04:24:21.5124364Z             {
2026-06-07T04:24:21.5124733Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.5124961Z               "line": 119
2026-06-07T04:24:21.5125175Z             }
2026-06-07T04:24:21.5125374Z           ]
2026-06-07T04:24:21.5125579Z         },
2026-06-07T04:24:21.5125782Z         "int": {
2026-06-07T04:24:21.5126040Z           "complete": false,
2026-06-07T04:24:21.5126280Z           "evidence": []
2026-06-07T04:24:21.5126473Z         },
2026-06-07T04:24:21.5126691Z         "unit": {
2026-06-07T04:24:21.5126929Z           "complete": true,
2026-06-07T04:24:21.5127162Z           "evidence": [
2026-06-07T04:24:21.5127359Z             {
2026-06-07T04:24:21.5127758Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.5128005Z               "line": 496
2026-06-07T04:24:21.5128205Z             },
2026-06-07T04:24:21.5128412Z             {
2026-06-07T04:24:21.5128782Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.5129016Z               "line": 165
2026-06-07T04:24:21.5129304Z             },
2026-06-07T04:24:21.5129523Z             {
2026-06-07T04:24:21.5129887Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T04:24:21.5130113Z               "line": 175
2026-06-07T04:24:21.5130325Z             }
2026-06-07T04:24:21.5130525Z           ]
2026-06-07T04:24:21.5130730Z         }
2026-06-07T04:24:21.5130929Z       }
2026-06-07T04:24:21.5131134Z     },
2026-06-07T04:24:21.5131336Z     {
2026-06-07T04:24:21.5131672Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-07T04:24:21.5132226Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-07T04:24:21.5132474Z       "requiredStages": [
2026-06-07T04:24:21.5132691Z         "impl",
2026-06-07T04:24:21.5133149Z         "unit"
2026-06-07T04:24:21.5133373Z       ],
2026-06-07T04:24:21.5133594Z       "stages": {
2026-06-07T04:24:21.5133797Z         "doc": {
2026-06-07T04:24:21.5134184Z           "complete": false,
2026-06-07T04:24:21.5134414Z           "evidence": []
2026-06-07T04:24:21.5134619Z         },
2026-06-07T04:24:21.5134827Z         "impl": {
2026-06-07T04:24:21.5135071Z           "complete": true,
2026-06-07T04:24:21.5135304Z           "evidence": [
2026-06-07T04:24:21.5135502Z             {
2026-06-07T04:24:21.5135873Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.5136091Z               "line": 35
2026-06-07T04:24:21.5136299Z             }
2026-06-07T04:24:21.5136498Z           ]
2026-06-07T04:24:21.5136707Z         },
2026-06-07T04:24:21.5136918Z         "int": {
2026-06-07T04:24:21.5137166Z           "complete": false,
2026-06-07T04:24:21.5137403Z           "evidence": []
2026-06-07T04:24:21.5137602Z         },
2026-06-07T04:24:21.5137817Z         "unit": {
2026-06-07T04:24:21.5138070Z           "complete": true,
2026-06-07T04:24:21.5138305Z           "evidence": [
2026-06-07T04:24:21.5138510Z             {
2026-06-07T04:24:21.5138878Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T04:24:21.5139113Z               "line": 220
2026-06-07T04:24:21.5139354Z             }
2026-06-07T04:24:21.5139563Z           ]
2026-06-07T04:24:21.5139760Z         }
2026-06-07T04:24:21.5139967Z       }
2026-06-07T04:24:21.5140168Z     },
2026-06-07T04:24:21.5140357Z     {
2026-06-07T04:24:21.5140675Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-07T04:24:21.5141778Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-07T04:24:21.5142043Z       "requiredStages": [
2026-06-07T04:24:21.5142403Z         "impl",
2026-06-07T04:24:21.5142644Z         "unit"
2026-06-07T04:24:21.5142879Z       ],
2026-06-07T04:24:21.5143105Z       "stages": {
2026-06-07T04:24:21.5143330Z         "doc": {
2026-06-07T04:24:21.5143594Z           "complete": false,
2026-06-07T04:24:21.5143847Z           "evidence": []
2026-06-07T04:24:21.5144057Z         },
2026-06-07T04:24:21.5144304Z         "impl": {
2026-06-07T04:24:21.5144589Z           "complete": true,
2026-06-07T04:24:21.5144855Z           "evidence": [
2026-06-07T04:24:21.5145103Z             {
2026-06-07T04:24:21.5145585Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.5145869Z               "line": 357
2026-06-07T04:24:21.5146092Z             },
2026-06-07T04:24:21.5146317Z             {
2026-06-07T04:24:21.5146721Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.5146961Z               "line": 396
2026-06-07T04:24:21.5147184Z             },
2026-06-07T04:24:21.5147390Z             {
2026-06-07T04:24:21.5147792Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.5148047Z               "line": 156
2026-06-07T04:24:21.5148256Z             }
2026-06-07T04:24:21.5148471Z           ]
2026-06-07T04:24:21.5148685Z         },
2026-06-07T04:24:21.5148907Z         "int": {
2026-06-07T04:24:21.5149220Z           "complete": false,
2026-06-07T04:24:21.5149664Z           "evidence": []
2026-06-07T04:24:21.5149866Z         },
2026-06-07T04:24:21.5150089Z         "unit": {
2026-06-07T04:24:21.5150342Z           "complete": true,
2026-06-07T04:24:21.5150568Z           "evidence": [
2026-06-07T04:24:21.5150780Z             {
2026-06-07T04:24:21.5151162Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.5151396Z               "line": 797
2026-06-07T04:24:21.5151608Z             },
2026-06-07T04:24:21.5151808Z             {
2026-06-07T04:24:21.5152196Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.5152423Z               "line": 811
2026-06-07T04:24:21.5152634Z             },
2026-06-07T04:24:21.5152840Z             {
2026-06-07T04:24:21.5153229Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.5153472Z               "line": 830
2026-06-07T04:24:21.5153847Z             },
2026-06-07T04:24:21.5154078Z             {
2026-06-07T04:24:21.5154465Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.5154835Z               "line": 847
2026-06-07T04:24:21.5155039Z             },
2026-06-07T04:24:21.5155250Z             {
2026-06-07T04:24:21.5155682Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T04:24:21.5155912Z               "line": 427
2026-06-07T04:24:21.5156124Z             }
2026-06-07T04:24:21.5156325Z           ]
2026-06-07T04:24:21.5156531Z         }
2026-06-07T04:24:21.5156727Z       }
2026-06-07T04:24:21.5156934Z     },
2026-06-07T04:24:21.5157139Z     {
2026-06-07T04:24:21.5157455Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-07T04:24:21.5161783Z       "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-07T04:24:21.5162056Z       "requiredStages": [
2026-06-07T04:24:21.5162273Z         "doc",
2026-06-07T04:24:21.5162514Z         "impl",
2026-06-07T04:24:21.5162718Z         "unit"
2026-06-07T04:24:21.5162924Z       ],
2026-06-07T04:24:21.5163140Z       "stages": {
2026-06-07T04:24:21.5163362Z         "doc": {
2026-06-07T04:24:21.5163610Z           "complete": true,
2026-06-07T04:24:21.5163853Z           "evidence": [
2026-06-07T04:24:21.5164056Z             {
2026-06-07T04:24:21.5164384Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T04:24:21.5164631Z               "line": 288
2026-06-07T04:24:21.5164840Z             }
2026-06-07T04:24:21.5165054Z           ]
2026-06-07T04:24:21.5165259Z         },
2026-06-07T04:24:21.5165483Z         "impl": {
2026-06-07T04:24:21.5165734Z           "complete": true,
2026-06-07T04:24:21.5165975Z           "evidence": [
2026-06-07T04:24:21.5166186Z             {
2026-06-07T04:24:21.5166577Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.5166807Z               "line": 85
2026-06-07T04:24:21.5167013Z             },
2026-06-07T04:24:21.5167235Z             {
2026-06-07T04:24:21.5167623Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T04:24:21.5167852Z               "line": 99
2026-06-07T04:24:21.5168067Z             },
2026-06-07T04:24:21.5168271Z             {
2026-06-07T04:24:21.5168681Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5168905Z               "line": 55
2026-06-07T04:24:21.5173896Z             },
2026-06-07T04:24:21.5174217Z             {
2026-06-07T04:24:21.5174634Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.5174875Z               "line": 31
2026-06-07T04:24:21.5175077Z             },
2026-06-07T04:24:21.5175285Z             {
2026-06-07T04:24:21.5175674Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.5175913Z               "line": 187
2026-06-07T04:24:21.5176159Z             },
2026-06-07T04:24:21.5176369Z             {
2026-06-07T04:24:21.5176777Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5177015Z               "line": 92
2026-06-07T04:24:21.5177227Z             },
2026-06-07T04:24:21.5177424Z             {
2026-06-07T04:24:21.5177829Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.5178147Z               "line": 29
2026-06-07T04:24:21.5178343Z             },
2026-06-07T04:24:21.5178554Z             {
2026-06-07T04:24:21.5178954Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.5179268Z               "line": 100
2026-06-07T04:24:21.5179479Z             },
2026-06-07T04:24:21.5179686Z             {
2026-06-07T04:24:21.5180118Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5180348Z               "line": 153
2026-06-07T04:24:21.5180559Z             },
2026-06-07T04:24:21.5180761Z             {
2026-06-07T04:24:21.5181402Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T04:24:21.5181646Z               "line": 28
2026-06-07T04:24:21.5181860Z             },
2026-06-07T04:24:21.5182245Z             {
2026-06-07T04:24:21.5182638Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T04:24:21.5182871Z               "line": 74
2026-06-07T04:24:21.5183077Z             },
2026-06-07T04:24:21.5183288Z             {
2026-06-07T04:24:21.5183648Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5183885Z               "line": 40
2026-06-07T04:24:21.5184097Z             },
2026-06-07T04:24:21.5184296Z             {
2026-06-07T04:24:21.5184653Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5184881Z               "line": 181
2026-06-07T04:24:21.5185094Z             },
2026-06-07T04:24:21.5185295Z             {
2026-06-07T04:24:21.5185654Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-07T04:24:21.5185885Z               "line": 70
2026-06-07T04:24:21.5186101Z             },
2026-06-07T04:24:21.5186310Z             {
2026-06-07T04:24:21.5186658Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.5186903Z               "line": 223
2026-06-07T04:24:21.5187113Z             },
2026-06-07T04:24:21.5187311Z             {
2026-06-07T04:24:21.5187673Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T04:24:21.5187895Z               "line": 37
2026-06-07T04:24:21.5188108Z             },
2026-06-07T04:24:21.5188309Z             {
2026-06-07T04:24:21.5188700Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T04:24:21.5188932Z               "line": 38
2026-06-07T04:24:21.5189140Z             },
2026-06-07T04:24:21.5189479Z             {
2026-06-07T04:24:21.5189862Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T04:24:21.5190098Z               "line": 36
2026-06-07T04:24:21.5190302Z             },
2026-06-07T04:24:21.5190511Z             {
2026-06-07T04:24:21.5190887Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T04:24:21.5191110Z               "line": 40
2026-06-07T04:24:21.5191317Z             }
2026-06-07T04:24:21.5191524Z           ]
2026-06-07T04:24:21.5191728Z         },
2026-06-07T04:24:21.5191933Z         "int": {
2026-06-07T04:24:21.5192190Z           "complete": false,
2026-06-07T04:24:21.5192433Z           "evidence": []
2026-06-07T04:24:21.5192629Z         },
2026-06-07T04:24:21.5192846Z         "unit": {
2026-06-07T04:24:21.5193088Z           "complete": true,
2026-06-07T04:24:21.5193327Z           "evidence": [
2026-06-07T04:24:21.5193529Z             {
2026-06-07T04:24:21.5193934Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5194175Z               "line": 195
2026-06-07T04:24:21.5194377Z             },
2026-06-07T04:24:21.5194581Z             {
2026-06-07T04:24:21.5194997Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-07T04:24:21.5195231Z               "line": 122
2026-06-07T04:24:21.5195443Z             },
2026-06-07T04:24:21.5195651Z             {
2026-06-07T04:24:21.5196082Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T04:24:21.5196319Z               "line": 521
2026-06-07T04:24:21.5196536Z             },
2026-06-07T04:24:21.5196739Z             {
2026-06-07T04:24:21.5197121Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T04:24:21.5197356Z               "line": 215
2026-06-07T04:24:21.5197564Z             },
2026-06-07T04:24:21.5197770Z             {
2026-06-07T04:24:21.5198159Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-07T04:24:21.5198401Z               "line": 156
2026-06-07T04:24:21.5198600Z             },
2026-06-07T04:24:21.5198856Z             {
2026-06-07T04:24:21.5199282Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T04:24:21.5199527Z               "line": 112
2026-06-07T04:24:21.5199744Z             },
2026-06-07T04:24:21.5199942Z             {
2026-06-07T04:24:21.5200468Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T04:24:21.5200708Z               "line": 157
2026-06-07T04:24:21.5200921Z             },
2026-06-07T04:24:21.5201258Z             {
2026-06-07T04:24:21.5201647Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T04:24:21.5201886Z               "line": 169
2026-06-07T04:24:21.5202089Z             },
2026-06-07T04:24:21.5202300Z             {
2026-06-07T04:24:21.5202678Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T04:24:21.5202918Z               "line": 139
2026-06-07T04:24:21.5203123Z             },
2026-06-07T04:24:21.5203321Z             {
2026-06-07T04:24:21.5203688Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T04:24:21.5203917Z               "line": 162
2026-06-07T04:24:21.5204125Z             }
2026-06-07T04:24:21.5204330Z           ]
2026-06-07T04:24:21.5204536Z         }
2026-06-07T04:24:21.5204742Z       }
2026-06-07T04:24:21.5204936Z     },
2026-06-07T04:24:21.5205142Z     {
2026-06-07T04:24:21.5205515Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-07T04:24:21.5206103Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-07T04:24:21.5206360Z       "requiredStages": [
2026-06-07T04:24:21.5206579Z         "impl",
2026-06-07T04:24:21.5206798Z         "unit"
2026-06-07T04:24:21.5206994Z       ],
2026-06-07T04:24:21.5207218Z       "stages": {
2026-06-07T04:24:21.5207424Z         "doc": {
2026-06-07T04:24:21.5207683Z           "complete": false,
2026-06-07T04:24:21.5207915Z           "evidence": []
2026-06-07T04:24:21.5208122Z         },
2026-06-07T04:24:21.5208331Z         "impl": {
2026-06-07T04:24:21.5208579Z           "complete": true,
2026-06-07T04:24:21.5208809Z           "evidence": [
2026-06-07T04:24:21.5209008Z             {
2026-06-07T04:24:21.5209427Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5209648Z               "line": 95
2026-06-07T04:24:21.5209855Z             },
2026-06-07T04:24:21.5210060Z             {
2026-06-07T04:24:21.5210426Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.5210659Z               "line": 102
2026-06-07T04:24:21.5210865Z             }
2026-06-07T04:24:21.5211067Z           ]
2026-06-07T04:24:21.5211266Z         },
2026-06-07T04:24:21.5211479Z         "int": {
2026-06-07T04:24:21.5211736Z           "complete": false,
2026-06-07T04:24:21.5211965Z           "evidence": []
2026-06-07T04:24:21.5212173Z         },
2026-06-07T04:24:21.5212383Z         "unit": {
2026-06-07T04:24:21.5212631Z           "complete": true,
2026-06-07T04:24:21.5212855Z           "evidence": [
2026-06-07T04:24:21.5213070Z             {
2026-06-07T04:24:21.5213436Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5213664Z               "line": 250
2026-06-07T04:24:21.5213872Z             },
2026-06-07T04:24:21.5214073Z             {
2026-06-07T04:24:21.5214425Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T04:24:21.5214655Z               "line": 198
2026-06-07T04:24:21.5214877Z             },
2026-06-07T04:24:21.5215085Z             {
2026-06-07T04:24:21.5215440Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.5215685Z               "line": 437
2026-06-07T04:24:21.5215885Z             },
2026-06-07T04:24:21.5220396Z             {
2026-06-07T04:24:21.5220867Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.5221110Z               "line": 470
2026-06-07T04:24:21.5221322Z             }
2026-06-07T04:24:21.5221520Z           ]
2026-06-07T04:24:21.5221726Z         }
2026-06-07T04:24:21.5221925Z       }
2026-06-07T04:24:21.5222129Z     },
2026-06-07T04:24:21.5222323Z     {
2026-06-07T04:24:21.5222634Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-07T04:24:21.5223322Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-07T04:24:21.5223573Z       "requiredStages": [
2026-06-07T04:24:21.5223788Z         "impl",
2026-06-07T04:24:21.5223991Z         "unit"
2026-06-07T04:24:21.5224192Z       ],
2026-06-07T04:24:21.5224639Z       "stages": {
2026-06-07T04:24:21.5224868Z         "doc": {
2026-06-07T04:24:21.5225123Z           "complete": false,
2026-06-07T04:24:21.5225490Z           "evidence": []
2026-06-07T04:24:21.5225694Z         },
2026-06-07T04:24:21.5225903Z         "impl": {
2026-06-07T04:24:21.5226147Z           "complete": true,
2026-06-07T04:24:21.5226369Z           "evidence": [
2026-06-07T04:24:21.5226575Z             {
2026-06-07T04:24:21.5226943Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5227173Z               "line": 234
2026-06-07T04:24:21.5227384Z             },
2026-06-07T04:24:21.5227585Z             {
2026-06-07T04:24:21.5227943Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5228167Z               "line": 279
2026-06-07T04:24:21.5228379Z             },
2026-06-07T04:24:21.5228585Z             {
2026-06-07T04:24:21.5228936Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5229258Z               "line": 291
2026-06-07T04:24:21.5229465Z             }
2026-06-07T04:24:21.5229756Z           ]
2026-06-07T04:24:21.5229959Z         },
2026-06-07T04:24:21.5230186Z         "int": {
2026-06-07T04:24:21.5230442Z           "complete": false,
2026-06-07T04:24:21.5230675Z           "evidence": []
2026-06-07T04:24:21.5230878Z         },
2026-06-07T04:24:21.5231087Z         "unit": {
2026-06-07T04:24:21.5231336Z           "complete": true,
2026-06-07T04:24:21.5231562Z           "evidence": [
2026-06-07T04:24:21.5231771Z             {
2026-06-07T04:24:21.5232130Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5232354Z               "line": 427
2026-06-07T04:24:21.5232559Z             },
2026-06-07T04:24:21.5232763Z             {
2026-06-07T04:24:21.5233128Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.5233355Z               "line": 471
2026-06-07T04:24:21.5233568Z             }
2026-06-07T04:24:21.5233775Z           ]
2026-06-07T04:24:21.5233973Z         }
2026-06-07T04:24:21.5234189Z       }
2026-06-07T04:24:21.5234392Z     },
2026-06-07T04:24:21.5234605Z     {
2026-06-07T04:24:21.5234859Z       "id": "REQ-INFRA-1",
2026-06-07T04:24:21.5235737Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-07T04:24:21.5236037Z       "requiredStages": [],
2026-06-07T04:24:21.5236287Z       "stages": {
2026-06-07T04:24:21.5236532Z         "doc": {
2026-06-07T04:24:21.5236791Z           "complete": false,
2026-06-07T04:24:21.5237036Z           "evidence": []
2026-06-07T04:24:21.5237242Z         },
2026-06-07T04:24:21.5237465Z         "impl": {
2026-06-07T04:24:21.5237723Z           "complete": false,
2026-06-07T04:24:21.5237960Z           "evidence": []
2026-06-07T04:24:21.5238179Z         },
2026-06-07T04:24:21.5238392Z         "int": {
2026-06-07T04:24:21.5238652Z           "complete": false,
2026-06-07T04:24:21.5238889Z           "evidence": []
2026-06-07T04:24:21.5239103Z         },
2026-06-07T04:24:21.5239397Z         "unit": {
2026-06-07T04:24:21.5239812Z           "complete": false,
2026-06-07T04:24:21.5240053Z           "evidence": []
2026-06-07T04:24:21.5240254Z         }
2026-06-07T04:24:21.5240470Z       }
2026-06-07T04:24:21.5240665Z     },
2026-06-07T04:24:21.5240867Z     {
2026-06-07T04:24:21.5241110Z       "id": "REQ-INST-1",
2026-06-07T04:24:21.5241656Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-07T04:24:21.5241921Z       "requiredStages": [],
2026-06-07T04:24:21.5242136Z       "stages": {
2026-06-07T04:24:21.5242352Z         "doc": {
2026-06-07T04:24:21.5242600Z           "complete": false,
2026-06-07T04:24:21.5242844Z           "evidence": []
2026-06-07T04:24:21.5243064Z         },
2026-06-07T04:24:21.5243274Z         "impl": {
2026-06-07T04:24:21.5243524Z           "complete": false,
2026-06-07T04:24:21.5243754Z           "evidence": []
2026-06-07T04:24:21.5243959Z         },
2026-06-07T04:24:21.5244165Z         "int": {
2026-06-07T04:24:21.5244421Z           "complete": false,
2026-06-07T04:24:21.5244835Z           "evidence": []
2026-06-07T04:24:21.5245054Z         },
2026-06-07T04:24:21.5245278Z         "unit": {
2026-06-07T04:24:21.5245702Z           "complete": false,
2026-06-07T04:24:21.5245939Z           "evidence": []
2026-06-07T04:24:21.5246132Z         }
2026-06-07T04:24:21.5246337Z       }
2026-06-07T04:24:21.5246544Z     },
2026-06-07T04:24:21.5246738Z     {
2026-06-07T04:24:21.5246989Z       "id": "REQ-INST-10",
2026-06-07T04:24:21.5247804Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-07T04:24:21.5248071Z       "requiredStages": [
2026-06-07T04:24:21.5248283Z         "impl",
2026-06-07T04:24:21.5248497Z         "unit"
2026-06-07T04:24:21.5248702Z       ],
2026-06-07T04:24:21.5248915Z       "stages": {
2026-06-07T04:24:21.5249131Z         "doc": {
2026-06-07T04:24:21.5249609Z           "complete": false,
2026-06-07T04:24:21.5249858Z           "evidence": []
2026-06-07T04:24:21.5250065Z         },
2026-06-07T04:24:21.5250312Z         "impl": {
2026-06-07T04:24:21.5250576Z           "complete": true,
2026-06-07T04:24:21.5250807Z           "evidence": [
2026-06-07T04:24:21.5251035Z             {
2026-06-07T04:24:21.5251441Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5251692Z               "line": 513
2026-06-07T04:24:21.5251906Z             },
2026-06-07T04:24:21.5252142Z             {
2026-06-07T04:24:21.5252597Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5252863Z               "line": 590
2026-06-07T04:24:21.5253093Z             },
2026-06-07T04:24:21.5253315Z             {
2026-06-07T04:24:21.5253735Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T04:24:21.5254006Z               "line": 13
2026-06-07T04:24:21.5254248Z             },
2026-06-07T04:24:21.5254489Z             {
2026-06-07T04:24:21.5254895Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T04:24:21.5255166Z               "line": 67
2026-06-07T04:24:21.5255422Z             },
2026-06-07T04:24:21.5255660Z             {
2026-06-07T04:24:21.5256034Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5256312Z               "line": 18
2026-06-07T04:24:21.5256536Z             },
2026-06-07T04:24:21.5256758Z             {
2026-06-07T04:24:21.5257135Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5257390Z               "line": 432
2026-06-07T04:24:21.5257623Z             }
2026-06-07T04:24:21.5257873Z           ]
2026-06-07T04:24:21.5258131Z         },
2026-06-07T04:24:21.5258418Z         "int": {
2026-06-07T04:24:21.5258712Z           "complete": false,
2026-06-07T04:24:21.5258974Z           "evidence": []
2026-06-07T04:24:21.5259244Z         },
2026-06-07T04:24:21.5259656Z         "unit": {
2026-06-07T04:24:21.5260038Z           "complete": true,
2026-06-07T04:24:21.5260271Z           "evidence": [
2026-06-07T04:24:21.5260483Z             {
2026-06-07T04:24:21.5260885Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5261140Z               "line": 795
2026-06-07T04:24:21.5261348Z             },
2026-06-07T04:24:21.5261560Z             {
2026-06-07T04:24:21.5261958Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5262197Z               "line": 1057
2026-06-07T04:24:21.5262416Z             },
2026-06-07T04:24:21.5262616Z             {
2026-06-07T04:24:21.5263007Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5263234Z               "line": 1068
2026-06-07T04:24:21.5263448Z             },
2026-06-07T04:24:21.5263647Z             {
2026-06-07T04:24:21.5269298Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5269732Z               "line": 1084
2026-06-07T04:24:21.5269942Z             },
2026-06-07T04:24:21.5270166Z             {
2026-06-07T04:24:21.5270575Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5270824Z               "line": 1100
2026-06-07T04:24:21.5271032Z             },
2026-06-07T04:24:21.5271609Z             {
2026-06-07T04:24:21.5272043Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5272450Z               "line": 1122
2026-06-07T04:24:21.5272675Z             },
2026-06-07T04:24:21.5272883Z             {
2026-06-07T04:24:21.5273292Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5273682Z               "line": 1427
2026-06-07T04:24:21.5273908Z             },
2026-06-07T04:24:21.5274124Z             {
2026-06-07T04:24:21.5274497Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T04:24:21.5274744Z               "line": 130
2026-06-07T04:24:21.5274949Z             },
2026-06-07T04:24:21.5275164Z             {
2026-06-07T04:24:21.5275535Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T04:24:21.5275769Z               "line": 167
2026-06-07T04:24:21.5275986Z             },
2026-06-07T04:24:21.5276200Z             {
2026-06-07T04:24:21.5276592Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T04:24:21.5276832Z               "line": 175
2026-06-07T04:24:21.5277050Z             },
2026-06-07T04:24:21.5277270Z             {
2026-06-07T04:24:21.5277641Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T04:24:21.5277882Z               "line": 183
2026-06-07T04:24:21.5278092Z             },
2026-06-07T04:24:21.5278311Z             {
2026-06-07T04:24:21.5278647Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5278893Z               "line": 881
2026-06-07T04:24:21.5279114Z             }
2026-06-07T04:24:21.5279377Z           ]
2026-06-07T04:24:21.5279748Z         }
2026-06-07T04:24:21.5279950Z       }
2026-06-07T04:24:21.5280158Z     },
2026-06-07T04:24:21.5280358Z     {
2026-06-07T04:24:21.5280612Z       "id": "REQ-INST-11",
2026-06-07T04:24:21.5281454Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-07T04:24:21.5281705Z       "requiredStages": [
2026-06-07T04:24:21.5281934Z         "impl",
2026-06-07T04:24:21.5282139Z         "unit"
2026-06-07T04:24:21.5282346Z       ],
2026-06-07T04:24:21.5282560Z       "stages": {
2026-06-07T04:24:21.5282788Z         "doc": {
2026-06-07T04:24:21.5283051Z           "complete": false,
2026-06-07T04:24:21.5283282Z           "evidence": []
2026-06-07T04:24:21.5283488Z         },
2026-06-07T04:24:21.5283701Z         "impl": {
2026-06-07T04:24:21.5283952Z           "complete": true,
2026-06-07T04:24:21.5284180Z           "evidence": [
2026-06-07T04:24:21.5284395Z             {
2026-06-07T04:24:21.5284794Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5285022Z               "line": 379
2026-06-07T04:24:21.5285233Z             },
2026-06-07T04:24:21.5285431Z             {
2026-06-07T04:24:21.5285862Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5286090Z               "line": 265
2026-06-07T04:24:21.5286303Z             },
2026-06-07T04:24:21.5286514Z             {
2026-06-07T04:24:21.5286879Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T04:24:21.5287108Z               "line": 59
2026-06-07T04:24:21.5287309Z             },
2026-06-07T04:24:21.5287540Z             {
2026-06-07T04:24:21.5287844Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5288081Z               "line": 2565
2026-06-07T04:24:21.5288293Z             },
2026-06-07T04:24:21.5288492Z             {
2026-06-07T04:24:21.5288802Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5289039Z               "line": 3661
2026-06-07T04:24:21.5289306Z             }
2026-06-07T04:24:21.5289696Z           ]
2026-06-07T04:24:21.5290074Z         },
2026-06-07T04:24:21.5290295Z         "int": {
2026-06-07T04:24:21.5290543Z           "complete": false,
2026-06-07T04:24:21.5290782Z           "evidence": []
2026-06-07T04:24:21.5290983Z         },
2026-06-07T04:24:21.5291201Z         "unit": {
2026-06-07T04:24:21.5291440Z           "complete": true,
2026-06-07T04:24:21.5291677Z           "evidence": [
2026-06-07T04:24:21.5292120Z             {
2026-06-07T04:24:21.5292540Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5292911Z               "line": 1227
2026-06-07T04:24:21.5293117Z             },
2026-06-07T04:24:21.5293329Z             {
2026-06-07T04:24:21.5293724Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5293975Z               "line": 1260
2026-06-07T04:24:21.5294185Z             },
2026-06-07T04:24:21.5294383Z             {
2026-06-07T04:24:21.5294806Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5295038Z               "line": 495
2026-06-07T04:24:21.5295252Z             },
2026-06-07T04:24:21.5295459Z             {
2026-06-07T04:24:21.5295829Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T04:24:21.5296068Z               "line": 160
2026-06-07T04:24:21.5296271Z             },
2026-06-07T04:24:21.5296479Z             {
2026-06-07T04:24:21.5296855Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T04:24:21.5297094Z               "line": 190
2026-06-07T04:24:21.5297294Z             },
2026-06-07T04:24:21.5297516Z             {
2026-06-07T04:24:21.5297882Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T04:24:21.5298115Z               "line": 225
2026-06-07T04:24:21.5298331Z             },
2026-06-07T04:24:21.5298607Z             {
2026-06-07T04:24:21.5298921Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5299207Z               "line": 3844
2026-06-07T04:24:21.5299585Z             }
2026-06-07T04:24:21.5299815Z           ]
2026-06-07T04:24:21.5300161Z         }
2026-06-07T04:24:21.5300370Z       }
2026-06-07T04:24:21.5300567Z     },
2026-06-07T04:24:21.5300772Z     {
2026-06-07T04:24:21.5301012Z       "id": "REQ-INST-12",
2026-06-07T04:24:21.5302243Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-07T04:24:21.5302507Z       "requiredStages": [
2026-06-07T04:24:21.5302728Z         "impl",
2026-06-07T04:24:21.5302945Z         "unit"
2026-06-07T04:24:21.5303150Z       ],
2026-06-07T04:24:21.5303385Z       "stages": {
2026-06-07T04:24:21.5303602Z         "doc": {
2026-06-07T04:24:21.5303850Z           "complete": false,
2026-06-07T04:24:21.5304089Z           "evidence": []
2026-06-07T04:24:21.5304285Z         },
2026-06-07T04:24:21.5304505Z         "impl": {
2026-06-07T04:24:21.5304747Z           "complete": true,
2026-06-07T04:24:21.5304981Z           "evidence": [
2026-06-07T04:24:21.5305182Z             {
2026-06-07T04:24:21.5305581Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5305814Z               "line": 431
2026-06-07T04:24:21.5306019Z             },
2026-06-07T04:24:21.5306227Z             {
2026-06-07T04:24:21.5306611Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5306843Z               "line": 524
2026-06-07T04:24:21.5307049Z             },
2026-06-07T04:24:21.5307256Z             {
2026-06-07T04:24:21.5307650Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5307882Z               "line": 604
2026-06-07T04:24:21.5308101Z             },
2026-06-07T04:24:21.5308299Z             {
2026-06-07T04:24:21.5308667Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.5308904Z               "line": 87
2026-06-07T04:24:21.5309102Z             },
2026-06-07T04:24:21.5309530Z             {
2026-06-07T04:24:21.5309906Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.5310146Z               "line": 216
2026-06-07T04:24:21.5310349Z             },
2026-06-07T04:24:21.5310558Z             {
2026-06-07T04:24:21.5310960Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5311184Z               "line": 135
2026-06-07T04:24:21.5311393Z             }
2026-06-07T04:24:21.5311597Z           ]
2026-06-07T04:24:21.5311803Z         },
2026-06-07T04:24:21.5312009Z         "int": {
2026-06-07T04:24:21.5312432Z           "complete": false,
2026-06-07T04:24:21.5312688Z           "evidence": []
2026-06-07T04:24:21.5312890Z         },
2026-06-07T04:24:21.5313236Z         "unit": {
2026-06-07T04:24:21.5313480Z           "complete": true,
2026-06-07T04:24:21.5318295Z           "evidence": [
2026-06-07T04:24:21.5318589Z             {
2026-06-07T04:24:21.5319019Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5319376Z               "line": 1302
2026-06-07T04:24:21.5319579Z             },
2026-06-07T04:24:21.5319785Z             {
2026-06-07T04:24:21.5320174Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5320422Z               "line": 1325
2026-06-07T04:24:21.5320627Z             },
2026-06-07T04:24:21.5320838Z             {
2026-06-07T04:24:21.5321229Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5321460Z               "line": 1362
2026-06-07T04:24:21.5321670Z             },
2026-06-07T04:24:21.5321903Z             {
2026-06-07T04:24:21.5322278Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.5322513Z               "line": 350
2026-06-07T04:24:21.5322733Z             },
2026-06-07T04:24:21.5322944Z             {
2026-06-07T04:24:21.5323331Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5323566Z               "line": 172
2026-06-07T04:24:21.5323767Z             },
2026-06-07T04:24:21.5323974Z             {
2026-06-07T04:24:21.5324367Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5324611Z               "line": 193
2026-06-07T04:24:21.5324824Z             },
2026-06-07T04:24:21.5325024Z             {
2026-06-07T04:24:21.5325424Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5325647Z               "line": 219
2026-06-07T04:24:21.5325859Z             }
2026-06-07T04:24:21.5326071Z           ]
2026-06-07T04:24:21.5326268Z         }
2026-06-07T04:24:21.5326478Z       }
2026-06-07T04:24:21.5326687Z     },
2026-06-07T04:24:21.5326903Z     {
2026-06-07T04:24:21.5327141Z       "id": "REQ-INST-13",
2026-06-07T04:24:21.5327825Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-07T04:24:21.5328102Z       "requiredStages": [
2026-06-07T04:24:21.5328310Z         "impl",
2026-06-07T04:24:21.5328521Z         "unit"
2026-06-07T04:24:21.5328722Z       ],
2026-06-07T04:24:21.5328945Z       "stages": {
2026-06-07T04:24:21.5329205Z         "doc": {
2026-06-07T04:24:21.5329464Z           "complete": false,
2026-06-07T04:24:21.5329694Z           "evidence": []
2026-06-07T04:24:21.5329905Z         },
2026-06-07T04:24:21.5330122Z         "impl": {
2026-06-07T04:24:21.5330362Z           "complete": true,
2026-06-07T04:24:21.5330595Z           "evidence": [
2026-06-07T04:24:21.5330799Z             {
2026-06-07T04:24:21.5331163Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5331388Z               "line": 98
2026-06-07T04:24:21.5331604Z             },
2026-06-07T04:24:21.5331824Z             {
2026-06-07T04:24:21.5332222Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5332476Z               "line": 158
2026-06-07T04:24:21.5332680Z             }
2026-06-07T04:24:21.5332889Z           ]
2026-06-07T04:24:21.5333084Z         },
2026-06-07T04:24:21.5333297Z         "int": {
2026-06-07T04:24:21.5333551Z           "complete": false,
2026-06-07T04:24:21.5333779Z           "evidence": []
2026-06-07T04:24:21.5333986Z         },
2026-06-07T04:24:21.5334196Z         "unit": {
2026-06-07T04:24:21.5334449Z           "complete": true,
2026-06-07T04:24:21.5334669Z           "evidence": [
2026-06-07T04:24:21.5334877Z             {
2026-06-07T04:24:21.5335280Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5335504Z               "line": 248
2026-06-07T04:24:21.5335712Z             },
2026-06-07T04:24:21.5335910Z             {
2026-06-07T04:24:21.5336300Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T04:24:21.5336775Z               "line": 266
2026-06-07T04:24:21.5336996Z             }
2026-06-07T04:24:21.5337208Z           ]
2026-06-07T04:24:21.5337544Z         }
2026-06-07T04:24:21.5337756Z       }
2026-06-07T04:24:21.5337955Z     },
2026-06-07T04:24:21.5338156Z     {
2026-06-07T04:24:21.5338393Z       "id": "REQ-INST-14",
2026-06-07T04:24:21.5340106Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-07T04:24:21.5340387Z       "requiredStages": [
2026-06-07T04:24:21.5340610Z         "doc",
2026-06-07T04:24:21.5341003Z         "impl",
2026-06-07T04:24:21.5341231Z         "unit"
2026-06-07T04:24:21.5341459Z       ],
2026-06-07T04:24:21.5341712Z       "stages": {
2026-06-07T04:24:21.5341946Z         "doc": {
2026-06-07T04:24:21.5342369Z           "complete": true,
2026-06-07T04:24:21.5342599Z           "evidence": [
2026-06-07T04:24:21.5342811Z             {
2026-06-07T04:24:21.5343087Z               "path": "CONTEXT.md",
2026-06-07T04:24:21.5343320Z               "line": 425
2026-06-07T04:24:21.5343536Z             },
2026-06-07T04:24:21.5343753Z             {
2026-06-07T04:24:21.5344038Z               "path": "docs/STORAGE.md",
2026-06-07T04:24:21.5344264Z               "line": 49
2026-06-07T04:24:21.5344477Z             }
2026-06-07T04:24:21.5344676Z           ]
2026-06-07T04:24:21.5344877Z         },
2026-06-07T04:24:21.5345100Z         "impl": {
2026-06-07T04:24:21.5345344Z           "complete": true,
2026-06-07T04:24:21.5345580Z           "evidence": [
2026-06-07T04:24:21.5345778Z             {
2026-06-07T04:24:21.5346212Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5346433Z               "line": 302
2026-06-07T04:24:21.5346649Z             },
2026-06-07T04:24:21.5346859Z             {
2026-06-07T04:24:21.5347239Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5347473Z               "line": 243
2026-06-07T04:24:21.5347682Z             },
2026-06-07T04:24:21.5347890Z             {
2026-06-07T04:24:21.5348233Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.5348487Z               "line": 211
2026-06-07T04:24:21.5348696Z             },
2026-06-07T04:24:21.5348894Z             {
2026-06-07T04:24:21.5349259Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5349492Z               "line": 863
2026-06-07T04:24:21.5349706Z             }
2026-06-07T04:24:21.5349909Z           ]
2026-06-07T04:24:21.5350119Z         },
2026-06-07T04:24:21.5350338Z         "int": {
2026-06-07T04:24:21.5350586Z           "complete": false,
2026-06-07T04:24:21.5350827Z           "evidence": []
2026-06-07T04:24:21.5351031Z         },
2026-06-07T04:24:21.5351245Z         "unit": {
2026-06-07T04:24:21.5351482Z           "complete": true,
2026-06-07T04:24:21.5351716Z           "evidence": [
2026-06-07T04:24:21.5351921Z             {
2026-06-07T04:24:21.5352355Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5352592Z               "line": 558
2026-06-07T04:24:21.5352794Z             },
2026-06-07T04:24:21.5352999Z             {
2026-06-07T04:24:21.5353389Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5353624Z               "line": 807
2026-06-07T04:24:21.5353831Z             },
2026-06-07T04:24:21.5354025Z             {
2026-06-07T04:24:21.5354410Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5354635Z               "line": 999
2026-06-07T04:24:21.5354842Z             },
2026-06-07T04:24:21.5355041Z             {
2026-06-07T04:24:21.5355387Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.5355618Z               "line": 463
2026-06-07T04:24:21.5355816Z             },
2026-06-07T04:24:21.5356026Z             {
2026-06-07T04:24:21.5356325Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5356565Z               "line": 3885
2026-06-07T04:24:21.5356767Z             }
2026-06-07T04:24:21.5357191Z           ]
2026-06-07T04:24:21.5357424Z         }
2026-06-07T04:24:21.5357630Z       }
2026-06-07T04:24:21.5357831Z     },
2026-06-07T04:24:21.5358166Z     {
2026-06-07T04:24:21.5358415Z       "id": "REQ-INST-15",
2026-06-07T04:24:21.5361883Z       "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-07T04:24:21.5362151Z       "requiredStages": [
2026-06-07T04:24:21.5362364Z         "doc",
2026-06-07T04:24:21.5362582Z         "impl",
2026-06-07T04:24:21.5362974Z         "unit"
2026-06-07T04:24:21.5363201Z       ],
2026-06-07T04:24:21.5363459Z       "stages": {
2026-06-07T04:24:21.5363859Z         "doc": {
2026-06-07T04:24:21.5364103Z           "complete": true,
2026-06-07T04:24:21.5368626Z           "evidence": [
2026-06-07T04:24:21.5368909Z             {
2026-06-07T04:24:21.5369734Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-07T04:24:21.5369962Z               "line": 3
2026-06-07T04:24:21.5370188Z             }
2026-06-07T04:24:21.5370424Z           ]
2026-06-07T04:24:21.5370620Z         },
2026-06-07T04:24:21.5370846Z         "impl": {
2026-06-07T04:24:21.5371095Z           "complete": true,
2026-06-07T04:24:21.5371333Z           "evidence": [
2026-06-07T04:24:21.5371531Z             {
2026-06-07T04:24:21.5371969Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5372208Z               "line": 251
2026-06-07T04:24:21.5372404Z             },
2026-06-07T04:24:21.5372611Z             {
2026-06-07T04:24:21.5372950Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5373187Z               "line": 60
2026-06-07T04:24:21.5373386Z             },
2026-06-07T04:24:21.5373600Z             {
2026-06-07T04:24:21.5374037Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5374269Z               "line": 336
2026-06-07T04:24:21.5374477Z             },
2026-06-07T04:24:21.5374680Z             {
2026-06-07T04:24:21.5375117Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5375348Z               "line": 385
2026-06-07T04:24:21.5375561Z             },
2026-06-07T04:24:21.5375764Z             {
2026-06-07T04:24:21.5376103Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5376336Z               "line": 19
2026-06-07T04:24:21.5376546Z             },
2026-06-07T04:24:21.5376753Z             {
2026-06-07T04:24:21.5377095Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5377331Z               "line": 70
2026-06-07T04:24:21.5377543Z             },
2026-06-07T04:24:21.5377747Z             {
2026-06-07T04:24:21.5378106Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5378328Z               "line": 96
2026-06-07T04:24:21.5378541Z             },
2026-06-07T04:24:21.5378749Z             {
2026-06-07T04:24:21.5379107Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5379397Z               "line": 121
2026-06-07T04:24:21.5379613Z             },
2026-06-07T04:24:21.5379819Z             {
2026-06-07T04:24:21.5380164Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5380394Z               "line": 172
2026-06-07T04:24:21.5380602Z             },
2026-06-07T04:24:21.5380801Z             {
2026-06-07T04:24:21.5381166Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.5381395Z               "line": 143
2026-06-07T04:24:21.5381605Z             },
2026-06-07T04:24:21.5381806Z             {
2026-06-07T04:24:21.5382118Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5382354Z               "line": 755
2026-06-07T04:24:21.5382560Z             }
2026-06-07T04:24:21.5382764Z           ]
2026-06-07T04:24:21.5382967Z         },
2026-06-07T04:24:21.5383180Z         "int": {
2026-06-07T04:24:21.5383664Z           "complete": false,
2026-06-07T04:24:21.5383931Z           "evidence": []
2026-06-07T04:24:21.5384138Z         },
2026-06-07T04:24:21.5384482Z         "unit": {
2026-06-07T04:24:21.5384737Z           "complete": true,
2026-06-07T04:24:21.5384963Z           "evidence": [
2026-06-07T04:24:21.5385174Z             {
2026-06-07T04:24:21.5385592Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5385826Z               "line": 545
2026-06-07T04:24:21.5386035Z             },
2026-06-07T04:24:21.5386235Z             {
2026-06-07T04:24:21.5386657Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.5386881Z               "line": 606
2026-06-07T04:24:21.5387091Z             },
2026-06-07T04:24:21.5387287Z             {
2026-06-07T04:24:21.5387641Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5387879Z               "line": 213
2026-06-07T04:24:21.5388079Z             },
2026-06-07T04:24:21.5388286Z             {
2026-06-07T04:24:21.5388649Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5388889Z               "line": 249
2026-06-07T04:24:21.5389100Z             },
2026-06-07T04:24:21.5389362Z             {
2026-06-07T04:24:21.5389722Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5389946Z               "line": 262
2026-06-07T04:24:21.5390155Z             },
2026-06-07T04:24:21.5390349Z             {
2026-06-07T04:24:21.5390698Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T04:24:21.5390926Z               "line": 338
2026-06-07T04:24:21.5391147Z             },
2026-06-07T04:24:21.5391354Z             {
2026-06-07T04:24:21.5391711Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.5391949Z               "line": 491
2026-06-07T04:24:21.5392149Z             },
2026-06-07T04:24:21.5392356Z             {
2026-06-07T04:24:21.5392663Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5392911Z               "line": 3853
2026-06-07T04:24:21.5393127Z             },
2026-06-07T04:24:21.5393331Z             {
2026-06-07T04:24:21.5393648Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5393886Z               "line": 5198
2026-06-07T04:24:21.5394089Z             }
2026-06-07T04:24:21.5394284Z           ]
2026-06-07T04:24:21.5394490Z         }
2026-06-07T04:24:21.5394697Z       }
2026-06-07T04:24:21.5394888Z     },
2026-06-07T04:24:21.5395091Z     {
2026-06-07T04:24:21.5395327Z       "id": "REQ-INST-2",
2026-06-07T04:24:21.5395714Z       "title": "Per-node files, synced Psyche mind",
2026-06-07T04:24:21.5395963Z       "requiredStages": [
2026-06-07T04:24:21.5396177Z         "impl",
2026-06-07T04:24:21.5396387Z         "unit"
2026-06-07T04:24:21.5396583Z       ],
2026-06-07T04:24:21.5396801Z       "stages": {
2026-06-07T04:24:21.5397005Z         "doc": {
2026-06-07T04:24:21.5397264Z           "complete": false,
2026-06-07T04:24:21.5397495Z           "evidence": []
2026-06-07T04:24:21.5397707Z         },
2026-06-07T04:24:21.5397936Z         "impl": {
2026-06-07T04:24:21.5398177Z           "complete": true,
2026-06-07T04:24:21.5398415Z           "evidence": [
2026-06-07T04:24:21.5398628Z             {
2026-06-07T04:24:21.5399037Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5399306Z               "line": 86
2026-06-07T04:24:21.5399523Z             },
2026-06-07T04:24:21.5399738Z             {
2026-06-07T04:24:21.5400087Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.5400316Z               "line": 28
2026-06-07T04:24:21.5400515Z             },
2026-06-07T04:24:21.5400725Z             {
2026-06-07T04:24:21.5401075Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.5401304Z               "line": 74
2026-06-07T04:24:21.5401515Z             },
2026-06-07T04:24:21.5401708Z             {
2026-06-07T04:24:21.5402068Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.5402287Z               "line": 96
2026-06-07T04:24:21.5402653Z             },
2026-06-07T04:24:21.5402865Z             {
2026-06-07T04:24:21.5403227Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T04:24:21.5403605Z               "line": 81
2026-06-07T04:24:21.5403809Z             },
2026-06-07T04:24:21.5404014Z             {
2026-06-07T04:24:21.5404390Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T04:24:21.5404639Z               "line": 118
2026-06-07T04:24:21.5404838Z             }
2026-06-07T04:24:21.5405043Z           ]
2026-06-07T04:24:21.5405248Z         },
2026-06-07T04:24:21.5405453Z         "int": {
2026-06-07T04:24:21.5405707Z           "complete": false,
2026-06-07T04:24:21.5405949Z           "evidence": []
2026-06-07T04:24:21.5406154Z         },
2026-06-07T04:24:21.5406358Z         "unit": {
2026-06-07T04:24:21.5406610Z           "complete": true,
2026-06-07T04:24:21.5406840Z           "evidence": [
2026-06-07T04:24:21.5407041Z             {
2026-06-07T04:24:21.5407408Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T04:24:21.5407633Z               "line": 212
2026-06-07T04:24:21.5407843Z             },
2026-06-07T04:24:21.5408051Z             {
2026-06-07T04:24:21.5408407Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T04:24:21.5408641Z               "line": 258
2026-06-07T04:24:21.5408839Z             }
2026-06-07T04:24:21.5409046Z           ]
2026-06-07T04:24:21.5409291Z         }
2026-06-07T04:24:21.5409601Z       }
2026-06-07T04:24:21.5413922Z     },
2026-06-07T04:24:21.5414210Z     {
2026-06-07T04:24:21.5414477Z       "id": "REQ-INST-3",
2026-06-07T04:24:21.5414989Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-07T04:24:21.5415251Z       "requiredStages": [
2026-06-07T04:24:21.5415454Z         "doc",
2026-06-07T04:24:21.5415669Z         "impl",
2026-06-07T04:24:21.5415874Z         "unit"
2026-06-07T04:24:21.5416088Z       ],
2026-06-07T04:24:21.5416312Z       "stages": {
2026-06-07T04:24:21.5416516Z         "doc": {
2026-06-07T04:24:21.5416791Z           "complete": true,
2026-06-07T04:24:21.5417018Z           "evidence": [
2026-06-07T04:24:21.5417223Z             {
2026-06-07T04:24:21.5417564Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-07T04:24:21.5417791Z               "line": 3
2026-06-07T04:24:21.5417998Z             }
2026-06-07T04:24:21.5418196Z           ]
2026-06-07T04:24:21.5418396Z         },
2026-06-07T04:24:21.5418605Z         "impl": {
2026-06-07T04:24:21.5418853Z           "complete": true,
2026-06-07T04:24:21.5419080Z           "evidence": [
2026-06-07T04:24:21.5419381Z             {
2026-06-07T04:24:21.5419774Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T04:24:21.5420002Z               "line": 70
2026-06-07T04:24:21.5420212Z             },
2026-06-07T04:24:21.5420407Z             {
2026-06-07T04:24:21.5420804Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5421029Z               "line": 437
2026-06-07T04:24:21.5421248Z             },
2026-06-07T04:24:21.5421469Z             {
2026-06-07T04:24:21.5421870Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5422120Z               "line": 202
2026-06-07T04:24:21.5422323Z             },
2026-06-07T04:24:21.5422531Z             {
2026-06-07T04:24:21.5422914Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5423159Z               "line": 291
2026-06-07T04:24:21.5423368Z             },
2026-06-07T04:24:21.5423565Z             {
2026-06-07T04:24:21.5423976Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5424205Z               "line": 320
2026-06-07T04:24:21.5424414Z             },
2026-06-07T04:24:21.5424619Z             {
2026-06-07T04:24:21.5425007Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T04:24:21.5425238Z               "line": 241
2026-06-07T04:24:21.5425445Z             },
2026-06-07T04:24:21.5425686Z             {
2026-06-07T04:24:21.5426614Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5426986Z               "line": 179
2026-06-07T04:24:21.5427254Z             },
2026-06-07T04:24:21.5427694Z             {
2026-06-07T04:24:21.5428223Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5428507Z               "line": 288
2026-06-07T04:24:21.5428794Z             },
2026-06-07T04:24:21.5429111Z             {
2026-06-07T04:24:21.5429619Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5429883Z               "line": 45
2026-06-07T04:24:21.5430117Z             },
2026-06-07T04:24:21.5430341Z             {
2026-06-07T04:24:21.5430761Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5431031Z               "line": 114
2026-06-07T04:24:21.5431268Z             },
2026-06-07T04:24:21.5431486Z             {
2026-06-07T04:24:21.5431908Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5432165Z               "line": 152
2026-06-07T04:24:21.5432395Z             },
2026-06-07T04:24:21.5432646Z             {
2026-06-07T04:24:21.5433071Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5433384Z               "line": 168
2026-06-07T04:24:21.5433636Z             },
2026-06-07T04:24:21.5433880Z             {
2026-06-07T04:24:21.5434336Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5434608Z               "line": 178
2026-06-07T04:24:21.5434854Z             },
2026-06-07T04:24:21.5435089Z             {
2026-06-07T04:24:21.5435536Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5435790Z               "line": 210
2026-06-07T04:24:21.5436023Z             },
2026-06-07T04:24:21.5436236Z             {
2026-06-07T04:24:21.5436662Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5436915Z               "line": 287
2026-06-07T04:24:21.5437146Z             },
2026-06-07T04:24:21.5437372Z             {
2026-06-07T04:24:21.5437837Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5438121Z               "line": 311
2026-06-07T04:24:21.5438370Z             },
2026-06-07T04:24:21.5438629Z             {
2026-06-07T04:24:21.5439079Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5439622Z               "line": 382
2026-06-07T04:24:21.5439893Z             },
2026-06-07T04:24:21.5440129Z             {
2026-06-07T04:24:21.5440573Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5440867Z               "line": 431
2026-06-07T04:24:21.5441113Z             },
2026-06-07T04:24:21.5441372Z             {
2026-06-07T04:24:21.5441841Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-07T04:24:21.5442125Z               "line": 37
2026-06-07T04:24:21.5442356Z             },
2026-06-07T04:24:21.5442599Z             {
2026-06-07T04:24:21.5443058Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5443319Z               "line": 62
2026-06-07T04:24:21.5443599Z             },
2026-06-07T04:24:21.5443844Z             {
2026-06-07T04:24:21.5444279Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.5444601Z               "line": 190
2026-06-07T04:24:21.5444910Z             },
2026-06-07T04:24:21.5445172Z             {
2026-06-07T04:24:21.5445575Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5445892Z               "line": 965
2026-06-07T04:24:21.5446152Z             }
2026-06-07T04:24:21.5446538Z           ]
2026-06-07T04:24:21.5446754Z         },
2026-06-07T04:24:21.5446985Z         "int": {
2026-06-07T04:24:21.5447259Z           "complete": false,
2026-06-07T04:24:21.5447506Z           "evidence": []
2026-06-07T04:24:21.5447723Z         },
2026-06-07T04:24:21.5447943Z         "unit": {
2026-06-07T04:24:21.5448202Z           "complete": true,
2026-06-07T04:24:21.5448440Z           "evidence": [
2026-06-07T04:24:21.5448655Z             {
2026-06-07T04:24:21.5449445Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.5450058Z               "line": 330
2026-06-07T04:24:21.5450278Z             },
2026-06-07T04:24:21.5450483Z             {
2026-06-07T04:24:21.5451057Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5451304Z               "line": 659
2026-06-07T04:24:21.5451517Z             },
2026-06-07T04:24:21.5451732Z             {
2026-06-07T04:24:21.5452133Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5452375Z               "line": 716
2026-06-07T04:24:21.5452581Z             },
2026-06-07T04:24:21.5452792Z             {
2026-06-07T04:24:21.5453222Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5453465Z               "line": 659
2026-06-07T04:24:21.5453674Z             },
2026-06-07T04:24:21.5453875Z             {
2026-06-07T04:24:21.5454322Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5454554Z               "line": 749
2026-06-07T04:24:21.5454784Z             },
2026-06-07T04:24:21.5454996Z             {
2026-06-07T04:24:21.5455409Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5455826Z               "line": 442
2026-06-07T04:24:21.5456065Z             },
2026-06-07T04:24:21.5456311Z             {
2026-06-07T04:24:21.5456754Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5457029Z               "line": 478
2026-06-07T04:24:21.5457274Z             },
2026-06-07T04:24:21.5457493Z             {
2026-06-07T04:24:21.5457907Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5458148Z               "line": 533
2026-06-07T04:24:21.5458373Z             },
2026-06-07T04:24:21.5458585Z             {
2026-06-07T04:24:21.5465544Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5465913Z               "line": 690
2026-06-07T04:24:21.5466131Z             },
2026-06-07T04:24:21.5466333Z             {
2026-06-07T04:24:21.5466767Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5467000Z               "line": 924
2026-06-07T04:24:21.5467218Z             },
2026-06-07T04:24:21.5467434Z             {
2026-06-07T04:24:21.5467825Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5468068Z               "line": 938
2026-06-07T04:24:21.5468268Z             },
2026-06-07T04:24:21.5468475Z             {
2026-06-07T04:24:21.5468866Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5469105Z               "line": 1038
2026-06-07T04:24:21.5469708Z             },
2026-06-07T04:24:21.5470060Z             {
2026-06-07T04:24:21.5470419Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.5470649Z               "line": 413
2026-06-07T04:24:21.5470862Z             },
2026-06-07T04:24:21.5471061Z             {
2026-06-07T04:24:21.5471372Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5471614Z               "line": 3912
2026-06-07T04:24:21.5471826Z             }
2026-06-07T04:24:21.5472038Z           ]
2026-06-07T04:24:21.5472239Z         }
2026-06-07T04:24:21.5472447Z       }
2026-06-07T04:24:21.5472659Z     },
2026-06-07T04:24:21.5472863Z     {
2026-06-07T04:24:21.5473101Z       "id": "REQ-INST-4",
2026-06-07T04:24:21.5473751Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-07T04:24:21.5474010Z       "requiredStages": [
2026-06-07T04:24:21.5474216Z         "impl",
2026-06-07T04:24:21.5474433Z         "unit"
2026-06-07T04:24:21.5474634Z       ],
2026-06-07T04:24:21.5474856Z       "stages": {
2026-06-07T04:24:21.5475074Z         "doc": {
2026-06-07T04:24:21.5475320Z           "complete": false,
2026-06-07T04:24:21.5475562Z           "evidence": []
2026-06-07T04:24:21.5475763Z         },
2026-06-07T04:24:21.5475984Z         "impl": {
2026-06-07T04:24:21.5476225Z           "complete": true,
2026-06-07T04:24:21.5476459Z           "evidence": [
2026-06-07T04:24:21.5476667Z             {
2026-06-07T04:24:21.5477322Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5477575Z               "line": 292
2026-06-07T04:24:21.5477783Z             },
2026-06-07T04:24:21.5478479Z             {
2026-06-07T04:24:21.5478907Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5479216Z               "line": 202
2026-06-07T04:24:21.5479597Z             },
2026-06-07T04:24:21.5479795Z             {
2026-06-07T04:24:21.5480188Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5480418Z               "line": 234
2026-06-07T04:24:21.5480632Z             },
2026-06-07T04:24:21.5480833Z             {
2026-06-07T04:24:21.5481221Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5481454Z               "line": 274
2026-06-07T04:24:21.5481651Z             }
2026-06-07T04:24:21.5481860Z           ]
2026-06-07T04:24:21.5482060Z         },
2026-06-07T04:24:21.5482274Z         "int": {
2026-06-07T04:24:21.5482519Z           "complete": false,
2026-06-07T04:24:21.5482777Z           "evidence": []
2026-06-07T04:24:21.5482989Z         },
2026-06-07T04:24:21.5483197Z         "unit": {
2026-06-07T04:24:21.5483462Z           "complete": true,
2026-06-07T04:24:21.5483687Z           "evidence": [
2026-06-07T04:24:21.5483897Z             {
2026-06-07T04:24:21.5484288Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.5484525Z               "line": 711
2026-06-07T04:24:21.5484738Z             },
2026-06-07T04:24:21.5484938Z             {
2026-06-07T04:24:21.5485326Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5485553Z               "line": 554
2026-06-07T04:24:21.5485763Z             },
2026-06-07T04:24:21.5485967Z             {
2026-06-07T04:24:21.5486350Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5486587Z               "line": 661
2026-06-07T04:24:21.5486794Z             },
2026-06-07T04:24:21.5487005Z             {
2026-06-07T04:24:21.5487392Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5487637Z               "line": 743
2026-06-07T04:24:21.5487834Z             }
2026-06-07T04:24:21.5488060Z           ]
2026-06-07T04:24:21.5488271Z         }
2026-06-07T04:24:21.5488480Z       }
2026-06-07T04:24:21.5488689Z     },
2026-06-07T04:24:21.5488883Z     {
2026-06-07T04:24:21.5489130Z       "id": "REQ-INST-5",
2026-06-07T04:24:21.5490221Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-07T04:24:21.5490489Z       "requiredStages": [
2026-06-07T04:24:21.5490705Z         "impl",
2026-06-07T04:24:21.5490910Z         "unit",
2026-06-07T04:24:21.5491123Z         "int"
2026-06-07T04:24:21.5491327Z       ],
2026-06-07T04:24:21.5491555Z       "stages": {
2026-06-07T04:24:21.5491761Z         "doc": {
2026-06-07T04:24:21.5492016Z           "complete": false,
2026-06-07T04:24:21.5492255Z           "evidence": []
2026-06-07T04:24:21.5492457Z         },
2026-06-07T04:24:21.5492683Z         "impl": {
2026-06-07T04:24:21.5492933Z           "complete": true,
2026-06-07T04:24:21.5493166Z           "evidence": [
2026-06-07T04:24:21.5493368Z             {
2026-06-07T04:24:21.5493792Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T04:24:21.5494031Z               "line": 39
2026-06-07T04:24:21.5494235Z             },
2026-06-07T04:24:21.5494446Z             {
2026-06-07T04:24:21.5494795Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5495031Z               "line": 68
2026-06-07T04:24:21.5495234Z             },
2026-06-07T04:24:21.5495443Z             {
2026-06-07T04:24:21.5495796Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5496021Z               "line": 97
2026-06-07T04:24:21.5496232Z             },
2026-06-07T04:24:21.5496428Z             {
2026-06-07T04:24:21.5496790Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5497019Z               "line": 180
2026-06-07T04:24:21.5497236Z             },
2026-06-07T04:24:21.5497607Z             {
2026-06-07T04:24:21.5497984Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5498225Z               "line": 311
2026-06-07T04:24:21.5498555Z             }
2026-06-07T04:24:21.5498769Z           ]
2026-06-07T04:24:21.5498974Z         },
2026-06-07T04:24:21.5499239Z         "int": {
2026-06-07T04:24:21.5499685Z           "complete": true,
2026-06-07T04:24:21.5499920Z           "evidence": [
2026-06-07T04:24:21.5500281Z             {
2026-06-07T04:24:21.5500689Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.5500925Z               "line": 146
2026-06-07T04:24:21.5501127Z             },
2026-06-07T04:24:21.5501341Z             {
2026-06-07T04:24:21.5501752Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-07T04:24:21.5501979Z               "line": 102
2026-06-07T04:24:21.5502186Z             },
2026-06-07T04:24:21.5502383Z             {
2026-06-07T04:24:21.5502794Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5503022Z               "line": 632
2026-06-07T04:24:21.5503237Z             },
2026-06-07T04:24:21.5503456Z             {
2026-06-07T04:24:21.5503850Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5504090Z               "line": 969
2026-06-07T04:24:21.5504291Z             }
2026-06-07T04:24:21.5504499Z           ]
2026-06-07T04:24:21.5504700Z         },
2026-06-07T04:24:21.5504917Z         "unit": {
2026-06-07T04:24:21.5505167Z           "complete": true,
2026-06-07T04:24:21.5505394Z           "evidence": [
2026-06-07T04:24:21.5505607Z             {
2026-06-07T04:24:21.5505959Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5506195Z               "line": 520
2026-06-07T04:24:21.5506408Z             },
2026-06-07T04:24:21.5506612Z             {
2026-06-07T04:24:21.5506966Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5507191Z               "line": 563
2026-06-07T04:24:21.5507414Z             },
2026-06-07T04:24:21.5507615Z             {
2026-06-07T04:24:21.5507994Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T04:24:21.5508240Z               "line": 210
2026-06-07T04:24:21.5508439Z             }
2026-06-07T04:24:21.5508650Z           ]
2026-06-07T04:24:21.5514115Z         }
2026-06-07T04:24:21.5514410Z       }
2026-06-07T04:24:21.5514610Z     },
2026-06-07T04:24:21.5514812Z     {
2026-06-07T04:24:21.5515074Z       "id": "REQ-INST-6",
2026-06-07T04:24:21.5515880Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-07T04:24:21.5516143Z       "requiredStages": [
2026-06-07T04:24:21.5516354Z         "impl",
2026-06-07T04:24:21.5516569Z         "unit",
2026-06-07T04:24:21.5516775Z         "int"
2026-06-07T04:24:21.5516979Z       ],
2026-06-07T04:24:21.5517202Z       "stages": {
2026-06-07T04:24:21.5517404Z         "doc": {
2026-06-07T04:24:21.5517654Z           "complete": true,
2026-06-07T04:24:21.5517887Z           "evidence": [
2026-06-07T04:24:21.5518131Z             {
2026-06-07T04:24:21.5518415Z               "path": "docs/DEFERRED.md",
2026-06-07T04:24:21.5518652Z               "line": 13
2026-06-07T04:24:21.5518878Z             }
2026-06-07T04:24:21.5519079Z           ]
2026-06-07T04:24:21.5519366Z         },
2026-06-07T04:24:21.5519583Z         "impl": {
2026-06-07T04:24:21.5519836Z           "complete": true,
2026-06-07T04:24:21.5520064Z           "evidence": [
2026-06-07T04:24:21.5520273Z             {
2026-06-07T04:24:21.5520677Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5520901Z               "line": 374
2026-06-07T04:24:21.5521117Z             },
2026-06-07T04:24:21.5521318Z             {
2026-06-07T04:24:21.5521720Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T04:24:21.5521945Z               "line": 27
2026-06-07T04:24:21.5522164Z             },
2026-06-07T04:24:21.5522375Z             {
2026-06-07T04:24:21.5522997Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T04:24:21.5523255Z               "line": 73
2026-06-07T04:24:21.5523462Z             },
2026-06-07T04:24:21.5523674Z             {
2026-06-07T04:24:21.5524255Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T04:24:21.5524498Z               "line": 182
2026-06-07T04:24:21.5524710Z             },
2026-06-07T04:24:21.5524916Z             {
2026-06-07T04:24:21.5525300Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5525524Z               "line": 419
2026-06-07T04:24:21.5525741Z             },
2026-06-07T04:24:21.5525937Z             {
2026-06-07T04:24:21.5526297Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-07T04:24:21.5526527Z               "line": 31
2026-06-07T04:24:21.5526730Z             },
2026-06-07T04:24:21.5526937Z             {
2026-06-07T04:24:21.5527297Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.5527533Z               "line": 182
2026-06-07T04:24:21.5527736Z             },
2026-06-07T04:24:21.5527957Z             {
2026-06-07T04:24:21.5528316Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.5528548Z               "line": 81
2026-06-07T04:24:21.5528758Z             },
2026-06-07T04:24:21.5528956Z             {
2026-06-07T04:24:21.5529324Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5529553Z               "line": 966
2026-06-07T04:24:21.5529773Z             },
2026-06-07T04:24:21.5529983Z             {
2026-06-07T04:24:21.5530309Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5530550Z               "line": 179
2026-06-07T04:24:21.5530753Z             },
2026-06-07T04:24:21.5530958Z             {
2026-06-07T04:24:21.5531280Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5531521Z               "line": 215
2026-06-07T04:24:21.5531730Z             }
2026-06-07T04:24:21.5531927Z           ]
2026-06-07T04:24:21.5532128Z         },
2026-06-07T04:24:21.5532333Z         "int": {
2026-06-07T04:24:21.5532593Z           "complete": true,
2026-06-07T04:24:21.5532830Z           "evidence": [
2026-06-07T04:24:21.5533037Z             {
2026-06-07T04:24:21.5533456Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5533684Z               "line": 646
2026-06-07T04:24:21.5533894Z             },
2026-06-07T04:24:21.5534090Z             {
2026-06-07T04:24:21.5534490Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5534719Z               "line": 1014
2026-06-07T04:24:21.5534926Z             },
2026-06-07T04:24:21.5535138Z             {
2026-06-07T04:24:21.5535464Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5535702Z               "line": 711
2026-06-07T04:24:21.5535907Z             }
2026-06-07T04:24:21.5536118Z           ]
2026-06-07T04:24:21.5536318Z         },
2026-06-07T04:24:21.5536536Z         "unit": {
2026-06-07T04:24:21.5536784Z           "complete": true,
2026-06-07T04:24:21.5537008Z           "evidence": [
2026-06-07T04:24:21.5537236Z             {
2026-06-07T04:24:21.5537649Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5537905Z               "line": 617
2026-06-07T04:24:21.5538123Z             },
2026-06-07T04:24:21.5538328Z             {
2026-06-07T04:24:21.5538715Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.5538941Z               "line": 892
2026-06-07T04:24:21.5539151Z             },
2026-06-07T04:24:21.5539393Z             {
2026-06-07T04:24:21.5539760Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-07T04:24:21.5539996Z               "line": 66
2026-06-07T04:24:21.5540194Z             },
2026-06-07T04:24:21.5540405Z             {
2026-06-07T04:24:21.5540766Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.5540998Z               "line": 272
2026-06-07T04:24:21.5541203Z             },
2026-06-07T04:24:21.5541411Z             {
2026-06-07T04:24:21.5541913Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T04:24:21.5542153Z               "line": 201
2026-06-07T04:24:21.5542363Z             }
2026-06-07T04:24:21.5542562Z           ]
2026-06-07T04:24:21.5542890Z         }
2026-06-07T04:24:21.5543088Z       }
2026-06-07T04:24:21.5543296Z     },
2026-06-07T04:24:21.5543497Z     {
2026-06-07T04:24:21.5543734Z       "id": "REQ-INST-7",
2026-06-07T04:24:21.5544371Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-07T04:24:21.5544643Z       "requiredStages": [
2026-06-07T04:24:21.5544873Z         "impl",
2026-06-07T04:24:21.5545091Z         "unit",
2026-06-07T04:24:21.5545311Z         "int"
2026-06-07T04:24:21.5545524Z       ],
2026-06-07T04:24:21.5545747Z       "stages": {
2026-06-07T04:24:21.5545972Z         "doc": {
2026-06-07T04:24:21.5546227Z           "complete": false,
2026-06-07T04:24:21.5546469Z           "evidence": []
2026-06-07T04:24:21.5546675Z         },
2026-06-07T04:24:21.5546911Z         "impl": {
2026-06-07T04:24:21.5547171Z           "complete": true,
2026-06-07T04:24:21.5547417Z           "evidence": [
2026-06-07T04:24:21.5547634Z             {
2026-06-07T04:24:21.5548043Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5548342Z               "line": 409
2026-06-07T04:24:21.5548576Z             },
2026-06-07T04:24:21.5548790Z             {
2026-06-07T04:24:21.5549270Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T04:24:21.5549517Z               "line": 40
2026-06-07T04:24:21.5549733Z             },
2026-06-07T04:24:21.5549944Z             {
2026-06-07T04:24:21.5550402Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5550637Z               "line": 27
2026-06-07T04:24:21.5550851Z             },
2026-06-07T04:24:21.5551066Z             {
2026-06-07T04:24:21.5551501Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5551745Z               "line": 152
2026-06-07T04:24:21.5551963Z             },
2026-06-07T04:24:21.5552181Z             {
2026-06-07T04:24:21.5552629Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5552880Z               "line": 242
2026-06-07T04:24:21.5553112Z             },
2026-06-07T04:24:21.5553322Z             {
2026-06-07T04:24:21.5553724Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-07T04:24:21.5553955Z               "line": 59
2026-06-07T04:24:21.5554176Z             },
2026-06-07T04:24:21.5554381Z             {
2026-06-07T04:24:21.5554802Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5555067Z               "line": 41
2026-06-07T04:24:21.5555283Z             },
2026-06-07T04:24:21.5555498Z             {
2026-06-07T04:24:21.5555922Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.5556165Z               "line": 27
2026-06-07T04:24:21.5556378Z             },
2026-06-07T04:24:21.5561670Z             {
2026-06-07T04:24:21.5562248Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.5562538Z               "line": 59
2026-06-07T04:24:21.5562764Z             },
2026-06-07T04:24:21.5562966Z             {
2026-06-07T04:24:21.5563411Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.5563645Z               "line": 68
2026-06-07T04:24:21.5563866Z             },
2026-06-07T04:24:21.5564083Z             {
2026-06-07T04:24:21.5564479Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T04:24:21.5564724Z               "line": 139
2026-06-07T04:24:21.5564932Z             }
2026-06-07T04:24:21.5565144Z           ]
2026-06-07T04:24:21.5565353Z         },
2026-06-07T04:24:21.5565576Z         "int": {
2026-06-07T04:24:21.5565834Z           "complete": true,
2026-06-07T04:24:21.5566066Z           "evidence": [
2026-06-07T04:24:21.5566277Z             {
2026-06-07T04:24:21.5566700Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-07T04:24:21.5566946Z               "line": 102
2026-06-07T04:24:21.5567160Z             },
2026-06-07T04:24:21.5567618Z             {
2026-06-07T04:24:21.5568052Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5568287Z               "line": 590
2026-06-07T04:24:21.5568655Z             },
2026-06-07T04:24:21.5568859Z             {
2026-06-07T04:24:21.5569355Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5569902Z               "line": 864
2026-06-07T04:24:21.5570114Z             }
2026-06-07T04:24:21.5570323Z           ]
2026-06-07T04:24:21.5570519Z         },
2026-06-07T04:24:21.5570738Z         "unit": {
2026-06-07T04:24:21.5570981Z           "complete": true,
2026-06-07T04:24:21.5571218Z           "evidence": [
2026-06-07T04:24:21.5571430Z             {
2026-06-07T04:24:21.5571859Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5572091Z               "line": 529
2026-06-07T04:24:21.5572288Z             },
2026-06-07T04:24:21.5572502Z             {
2026-06-07T04:24:21.5572935Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.5573170Z               "line": 810
2026-06-07T04:24:21.5573378Z             },
2026-06-07T04:24:21.5573585Z             {
2026-06-07T04:24:21.5573995Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-07T04:24:21.5574212Z               "line": 83
2026-06-07T04:24:21.5574424Z             },
2026-06-07T04:24:21.5574620Z             {
2026-06-07T04:24:21.5575014Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5575251Z               "line": 675
2026-06-07T04:24:21.5575453Z             },
2026-06-07T04:24:21.5575658Z             {
2026-06-07T04:24:21.5576038Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5576273Z               "line": 686
2026-06-07T04:24:21.5576470Z             },
2026-06-07T04:24:21.5576683Z             {
2026-06-07T04:24:21.5577072Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5577297Z               "line": 701
2026-06-07T04:24:21.5577518Z             },
2026-06-07T04:24:21.5577719Z             {
2026-06-07T04:24:21.5578130Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.5578364Z               "line": 98
2026-06-07T04:24:21.5578612Z             },
2026-06-07T04:24:21.5578815Z             {
2026-06-07T04:24:21.5579297Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.5579725Z               "line": 113
2026-06-07T04:24:21.5579956Z             },
2026-06-07T04:24:21.5580186Z             {
2026-06-07T04:24:21.5580618Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T04:24:21.5580875Z               "line": 146
2026-06-07T04:24:21.5581091Z             }
2026-06-07T04:24:21.5581299Z           ]
2026-06-07T04:24:21.5581514Z         }
2026-06-07T04:24:21.5581717Z       }
2026-06-07T04:24:21.5581929Z     },
2026-06-07T04:24:21.5582125Z     {
2026-06-07T04:24:21.5582381Z       "id": "REQ-INST-8",
2026-06-07T04:24:21.5582974Z       "title": "Remote-control mode distinct from local operation",
2026-06-07T04:24:21.5583243Z       "requiredStages": [
2026-06-07T04:24:21.5583469Z         "impl",
2026-06-07T04:24:21.5583694Z         "unit",
2026-06-07T04:24:21.5583913Z         "int"
2026-06-07T04:24:21.5584114Z       ],
2026-06-07T04:24:21.5584344Z       "stages": {
2026-06-07T04:24:21.5584564Z         "doc": {
2026-06-07T04:24:21.5584822Z           "complete": false,
2026-06-07T04:24:21.5585073Z           "evidence": []
2026-06-07T04:24:21.5585277Z         },
2026-06-07T04:24:21.5585507Z         "impl": {
2026-06-07T04:24:21.5585753Z           "complete": true,
2026-06-07T04:24:21.5585999Z           "evidence": [
2026-06-07T04:24:21.5586231Z             {
2026-06-07T04:24:21.5586768Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T04:24:21.5586998Z               "line": 98
2026-06-07T04:24:21.5587198Z             },
2026-06-07T04:24:21.5587413Z             {
2026-06-07T04:24:21.5587790Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T04:24:21.5588192Z               "line": 209
2026-06-07T04:24:21.5588419Z             },
2026-06-07T04:24:21.5588617Z             {
2026-06-07T04:24:21.5589126Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T04:24:21.5589408Z               "line": 230
2026-06-07T04:24:21.5589624Z             },
2026-06-07T04:24:21.5589820Z             {
2026-06-07T04:24:21.5590276Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-07T04:24:21.5590513Z               "line": 35
2026-06-07T04:24:21.5590710Z             }
2026-06-07T04:24:21.5590919Z           ]
2026-06-07T04:24:21.5591123Z         },
2026-06-07T04:24:21.5591337Z         "int": {
2026-06-07T04:24:21.5591576Z           "complete": true,
2026-06-07T04:24:21.5591809Z           "evidence": [
2026-06-07T04:24:21.5592021Z             {
2026-06-07T04:24:21.5592420Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.5592659Z               "line": 404
2026-06-07T04:24:21.5592866Z             },
2026-06-07T04:24:21.5593090Z             {
2026-06-07T04:24:21.5593651Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5593923Z               "line": 928
2026-06-07T04:24:21.5594283Z             }
2026-06-07T04:24:21.5594485Z           ]
2026-06-07T04:24:21.5594692Z         },
2026-06-07T04:24:21.5594905Z         "unit": {
2026-06-07T04:24:21.5595155Z           "complete": true,
2026-06-07T04:24:21.5595390Z           "evidence": [
2026-06-07T04:24:21.5595595Z             {
2026-06-07T04:24:21.5595980Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T04:24:21.5596206Z               "line": 180
2026-06-07T04:24:21.5596418Z             },
2026-06-07T04:24:21.5596617Z             {
2026-06-07T04:24:21.5597001Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T04:24:21.5597240Z               "line": 258
2026-06-07T04:24:21.5597442Z             },
2026-06-07T04:24:21.5597652Z             {
2026-06-07T04:24:21.5598030Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-07T04:24:21.5598263Z               "line": 70
2026-06-07T04:24:21.5598461Z             },
2026-06-07T04:24:21.5598676Z             {
2026-06-07T04:24:21.5599054Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-07T04:24:21.5599322Z               "line": 110
2026-06-07T04:24:21.5599532Z             }
2026-06-07T04:24:21.5599728Z           ]
2026-06-07T04:24:21.5599932Z         }
2026-06-07T04:24:21.5600129Z       }
2026-06-07T04:24:21.5600333Z     },
2026-06-07T04:24:21.5600537Z     {
2026-06-07T04:24:21.5600778Z       "id": "REQ-INST-9",
2026-06-07T04:24:21.5601464Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-07T04:24:21.5601709Z       "requiredStages": [
2026-06-07T04:24:21.5601930Z         "impl",
2026-06-07T04:24:21.5602144Z         "unit"
2026-06-07T04:24:21.5602355Z       ],
2026-06-07T04:24:21.5602576Z       "stages": {
2026-06-07T04:24:21.5602780Z         "doc": {
2026-06-07T04:24:21.5603044Z           "complete": false,
2026-06-07T04:24:21.5603273Z           "evidence": []
2026-06-07T04:24:21.5603481Z         },
2026-06-07T04:24:21.5603689Z         "impl": {
2026-06-07T04:24:21.5603950Z           "complete": true,
2026-06-07T04:24:21.5604187Z           "evidence": [
2026-06-07T04:24:21.5604387Z             {
2026-06-07T04:24:21.5604786Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5605012Z               "line": 314
2026-06-07T04:24:21.5610245Z             }
2026-06-07T04:24:21.5610556Z           ]
2026-06-07T04:24:21.5610770Z         },
2026-06-07T04:24:21.5610998Z         "int": {
2026-06-07T04:24:21.5611251Z           "complete": false,
2026-06-07T04:24:21.5611490Z           "evidence": []
2026-06-07T04:24:21.5611691Z         },
2026-06-07T04:24:21.5611912Z         "unit": {
2026-06-07T04:24:21.5612159Z           "complete": true,
2026-06-07T04:24:21.5612395Z           "evidence": [
2026-06-07T04:24:21.5612601Z             {
2026-06-07T04:24:21.5613298Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5613564Z               "line": 1145
2026-06-07T04:24:21.5613761Z             },
2026-06-07T04:24:21.5614111Z             {
2026-06-07T04:24:21.5614499Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5614738Z               "line": 1154
2026-06-07T04:24:21.5614947Z             },
2026-06-07T04:24:21.5615147Z             {
2026-06-07T04:24:21.5615540Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5615769Z               "line": 1170
2026-06-07T04:24:21.5615980Z             },
2026-06-07T04:24:21.5616178Z             {
2026-06-07T04:24:21.5616572Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5616812Z               "line": 1182
2026-06-07T04:24:21.5617011Z             },
2026-06-07T04:24:21.5617219Z             {
2026-06-07T04:24:21.5617600Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.5617841Z               "line": 1202
2026-06-07T04:24:21.5618068Z             }
2026-06-07T04:24:21.5618279Z           ]
2026-06-07T04:24:21.5618486Z         }
2026-06-07T04:24:21.5618704Z       }
2026-06-07T04:24:21.5618907Z     },
2026-06-07T04:24:21.5619254Z     {
2026-06-07T04:24:21.5619520Z       "id": "REQ-INSTALL-1",
2026-06-07T04:24:21.5620231Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-07T04:24:21.5620491Z       "requiredStages": [
2026-06-07T04:24:21.5620718Z         "doc",
2026-06-07T04:24:21.5620922Z         "impl",
2026-06-07T04:24:21.5621128Z         "int"
2026-06-07T04:24:21.5621323Z       ],
2026-06-07T04:24:21.5621543Z       "stages": {
2026-06-07T04:24:21.5621743Z         "doc": {
2026-06-07T04:24:21.5621989Z           "complete": true,
2026-06-07T04:24:21.5622220Z           "evidence": [
2026-06-07T04:24:21.5622421Z             {
2026-06-07T04:24:21.5622688Z               "path": "CONTEXT.md",
2026-06-07T04:24:21.5622916Z               "line": 560
2026-06-07T04:24:21.5623133Z             }
2026-06-07T04:24:21.5623331Z           ]
2026-06-07T04:24:21.5623543Z         },
2026-06-07T04:24:21.5623766Z         "impl": {
2026-06-07T04:24:21.5624021Z           "complete": true,
2026-06-07T04:24:21.5624253Z           "evidence": [
2026-06-07T04:24:21.5624464Z             {
2026-06-07T04:24:21.5624804Z               "path": "installer/install.ps1",
2026-06-07T04:24:21.5625031Z               "line": 54
2026-06-07T04:24:21.5625241Z             },
2026-06-07T04:24:21.5625448Z             {
2026-06-07T04:24:21.5625749Z               "path": "installer/install.sh",
2026-06-07T04:24:21.5625977Z               "line": 49
2026-06-07T04:24:21.5626182Z             }
2026-06-07T04:24:21.5626390Z           ]
2026-06-07T04:24:21.5626584Z         },
2026-06-07T04:24:21.5626795Z         "int": {
2026-06-07T04:24:21.5627045Z           "complete": true,
2026-06-07T04:24:21.5627268Z           "evidence": [
2026-06-07T04:24:21.5627473Z             {
2026-06-07T04:24:21.5627856Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-07T04:24:21.5628089Z               "line": 21
2026-06-07T04:24:21.5628286Z             }
2026-06-07T04:24:21.5628569Z           ]
2026-06-07T04:24:21.5628781Z         },
2026-06-07T04:24:21.5628994Z         "unit": {
2026-06-07T04:24:21.5629298Z           "complete": false,
2026-06-07T04:24:21.5629535Z           "evidence": []
2026-06-07T04:24:21.5629740Z         }
2026-06-07T04:24:21.5629938Z       }
2026-06-07T04:24:21.5630144Z     },
2026-06-07T04:24:21.5630346Z     {
2026-06-07T04:24:21.5630598Z       "id": "REQ-INSTALL-2",
2026-06-07T04:24:21.5631073Z       "title": "Marketplace-repackaging-friendly install",
2026-06-07T04:24:21.5631323Z       "requiredStages": [
2026-06-07T04:24:21.5631542Z         "doc"
2026-06-07T04:24:21.5631741Z       ],
2026-06-07T04:24:21.5631970Z       "stages": {
2026-06-07T04:24:21.5632190Z         "doc": {
2026-06-07T04:24:21.5632435Z           "complete": true,
2026-06-07T04:24:21.5632668Z           "evidence": [
2026-06-07T04:24:21.5633029Z             {
2026-06-07T04:24:21.5633315Z               "path": "CONTEXT.md",
2026-06-07T04:24:21.5633542Z               "line": 561
2026-06-07T04:24:21.5633885Z             }
2026-06-07T04:24:21.5634098Z           ]
2026-06-07T04:24:21.5634295Z         },
2026-06-07T04:24:21.5634515Z         "impl": {
2026-06-07T04:24:21.5634757Z           "complete": false,
2026-06-07T04:24:21.5634989Z           "evidence": []
2026-06-07T04:24:21.5635187Z         },
2026-06-07T04:24:21.5635401Z         "int": {
2026-06-07T04:24:21.5635657Z           "complete": false,
2026-06-07T04:24:21.5635886Z           "evidence": []
2026-06-07T04:24:21.5636095Z         },
2026-06-07T04:24:21.5636302Z         "unit": {
2026-06-07T04:24:21.5636556Z           "complete": false,
2026-06-07T04:24:21.5636788Z           "evidence": []
2026-06-07T04:24:21.5636996Z         }
2026-06-07T04:24:21.5637204Z       }
2026-06-07T04:24:21.5637398Z     },
2026-06-07T04:24:21.5637601Z     {
2026-06-07T04:24:21.5637856Z       "id": "REQ-INSTALL-3",
2026-06-07T04:24:21.5638374Z       "title": "Idempotent + interactive-optional first run",
2026-06-07T04:24:21.5638630Z       "requiredStages": [
2026-06-07T04:24:21.5638861Z         "impl",
2026-06-07T04:24:21.5639074Z         "int"
2026-06-07T04:24:21.5639329Z       ],
2026-06-07T04:24:21.5639561Z       "stages": {
2026-06-07T04:24:21.5639770Z         "doc": {
2026-06-07T04:24:21.5640030Z           "complete": false,
2026-06-07T04:24:21.5640261Z           "evidence": []
2026-06-07T04:24:21.5640467Z         },
2026-06-07T04:24:21.5640677Z         "impl": {
2026-06-07T04:24:21.5640928Z           "complete": true,
2026-06-07T04:24:21.5641162Z           "evidence": [
2026-06-07T04:24:21.5641364Z             {
2026-06-07T04:24:21.5641685Z               "path": "installer/install.ps1",
2026-06-07T04:24:21.5641911Z               "line": 97
2026-06-07T04:24:21.5642123Z             },
2026-06-07T04:24:21.5642320Z             {
2026-06-07T04:24:21.5642640Z               "path": "installer/install.ps1",
2026-06-07T04:24:21.5642884Z               "line": 108
2026-06-07T04:24:21.5643086Z             },
2026-06-07T04:24:21.5643298Z             {
2026-06-07T04:24:21.5643604Z               "path": "installer/install.sh",
2026-06-07T04:24:21.5643830Z               "line": 76
2026-06-07T04:24:21.5644033Z             }
2026-06-07T04:24:21.5644231Z           ]
2026-06-07T04:24:21.5644438Z         },
2026-06-07T04:24:21.5644640Z         "int": {
2026-06-07T04:24:21.5644891Z           "complete": true,
2026-06-07T04:24:21.5645113Z           "evidence": [
2026-06-07T04:24:21.5645321Z             {
2026-06-07T04:24:21.5645714Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-07T04:24:21.5645940Z               "line": 161
2026-06-07T04:24:21.5646157Z             }
2026-06-07T04:24:21.5646354Z           ]
2026-06-07T04:24:21.5646560Z         },
2026-06-07T04:24:21.5646771Z         "unit": {
2026-06-07T04:24:21.5647018Z           "complete": false,
2026-06-07T04:24:21.5647259Z           "evidence": []
2026-06-07T04:24:21.5647467Z         }
2026-06-07T04:24:21.5647668Z       }
2026-06-07T04:24:21.5647864Z     },
2026-06-07T04:24:21.5648064Z     {
2026-06-07T04:24:21.5648322Z       "id": "REQ-INSTALL-4",
2026-06-07T04:24:21.5651390Z       "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-07T04:24:21.5651658Z       "requiredStages": [
2026-06-07T04:24:21.5651866Z         "impl",
2026-06-07T04:24:21.5652080Z         "unit"
2026-06-07T04:24:21.5652277Z       ],
2026-06-07T04:24:21.5652502Z       "stages": {
2026-06-07T04:24:21.5652708Z         "doc": {
2026-06-07T04:24:21.5657625Z           "complete": false,
2026-06-07T04:24:21.5657914Z           "evidence": []
2026-06-07T04:24:21.5658117Z         },
2026-06-07T04:24:21.5658337Z         "impl": {
2026-06-07T04:24:21.5658577Z           "complete": true,
2026-06-07T04:24:21.5659132Z           "evidence": [
2026-06-07T04:24:21.5659438Z             {
2026-06-07T04:24:21.5659912Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.5660300Z               "line": 154
2026-06-07T04:24:21.5660507Z             },
2026-06-07T04:24:21.5660716Z             {
2026-06-07T04:24:21.5661107Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5661337Z               "line": 29
2026-06-07T04:24:21.5661539Z             },
2026-06-07T04:24:21.5661750Z             {
2026-06-07T04:24:21.5662143Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5662372Z               "line": 117
2026-06-07T04:24:21.5662583Z             },
2026-06-07T04:24:21.5662782Z             {
2026-06-07T04:24:21.5663178Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5663405Z               "line": 161
2026-06-07T04:24:21.5663620Z             },
2026-06-07T04:24:21.5663827Z             {
2026-06-07T04:24:21.5664229Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5664468Z               "line": 191
2026-06-07T04:24:21.5664672Z             },
2026-06-07T04:24:21.5664888Z             {
2026-06-07T04:24:21.5665275Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5665518Z               "line": 223
2026-06-07T04:24:21.5665726Z             },
2026-06-07T04:24:21.5665927Z             {
2026-06-07T04:24:21.5666242Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5666472Z               "line": 2670
2026-06-07T04:24:21.5666682Z             }
2026-06-07T04:24:21.5666888Z           ]
2026-06-07T04:24:21.5667081Z         },
2026-06-07T04:24:21.5667289Z         "int": {
2026-06-07T04:24:21.5667538Z           "complete": false,
2026-06-07T04:24:21.5667776Z           "evidence": []
2026-06-07T04:24:21.5667971Z         },
2026-06-07T04:24:21.5668191Z         "unit": {
2026-06-07T04:24:21.5668430Z           "complete": true,
2026-06-07T04:24:21.5668694Z           "evidence": [
2026-06-07T04:24:21.5668905Z             {
2026-06-07T04:24:21.5669383Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.5669636Z               "line": 334
2026-06-07T04:24:21.5669840Z             },
2026-06-07T04:24:21.5670049Z             {
2026-06-07T04:24:21.5670446Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5670673Z               "line": 269
2026-06-07T04:24:21.5670880Z             },
2026-06-07T04:24:21.5671079Z             {
2026-06-07T04:24:21.5671470Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5671693Z               "line": 310
2026-06-07T04:24:21.5671907Z             },
2026-06-07T04:24:21.5672109Z             {
2026-06-07T04:24:21.5672497Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T04:24:21.5672728Z               "line": 330
2026-06-07T04:24:21.5672936Z             },
2026-06-07T04:24:21.5673138Z             {
2026-06-07T04:24:21.5673447Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5673684Z               "line": 4150
2026-06-07T04:24:21.5673888Z             }
2026-06-07T04:24:21.5674093Z           ]
2026-06-07T04:24:21.5674295Z         }
2026-06-07T04:24:21.5674493Z       }
2026-06-07T04:24:21.5674691Z     },
2026-06-07T04:24:21.5674883Z     {
2026-06-07T04:24:21.5675137Z       "id": "REQ-INSTALL-5",
2026-06-07T04:24:21.5677575Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-07T04:24:21.5677883Z       "requiredStages": [
2026-06-07T04:24:21.5678111Z         "impl",
2026-06-07T04:24:21.5678328Z         "int"
2026-06-07T04:24:21.5678548Z       ],
2026-06-07T04:24:21.5678772Z       "stages": {
2026-06-07T04:24:21.5678997Z         "doc": {
2026-06-07T04:24:21.5679327Z           "complete": false,
2026-06-07T04:24:21.5679760Z           "evidence": []
2026-06-07T04:24:21.5679968Z         },
2026-06-07T04:24:21.5680356Z         "impl": {
2026-06-07T04:24:21.5680625Z           "complete": true,
2026-06-07T04:24:21.5680856Z           "evidence": [
2026-06-07T04:24:21.5681206Z             {
2026-06-07T04:24:21.5681543Z               "path": "installer/install.ps1",
2026-06-07T04:24:21.5681766Z               "line": 5
2026-06-07T04:24:21.5681983Z             },
2026-06-07T04:24:21.5682184Z             {
2026-06-07T04:24:21.5682500Z               "path": "installer/install.sh",
2026-06-07T04:24:21.5682720Z               "line": 6
2026-06-07T04:24:21.5682935Z             }
2026-06-07T04:24:21.5683146Z           ]
2026-06-07T04:24:21.5683348Z         },
2026-06-07T04:24:21.5683567Z         "int": {
2026-06-07T04:24:21.5683814Z           "complete": true,
2026-06-07T04:24:21.5684056Z           "evidence": [
2026-06-07T04:24:21.5684255Z             {
2026-06-07T04:24:21.5684651Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-07T04:24:21.5684883Z               "line": 22
2026-06-07T04:24:21.5685104Z             }
2026-06-07T04:24:21.5685319Z           ]
2026-06-07T04:24:21.5685525Z         },
2026-06-07T04:24:21.5685743Z         "unit": {
2026-06-07T04:24:21.5686000Z           "complete": false,
2026-06-07T04:24:21.5686242Z           "evidence": []
2026-06-07T04:24:21.5686457Z         }
2026-06-07T04:24:21.5686659Z       }
2026-06-07T04:24:21.5686866Z     },
2026-06-07T04:24:21.5687065Z     {
2026-06-07T04:24:21.5687331Z       "id": "REQ-MANIFEST-1",
2026-06-07T04:24:21.5688046Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-07T04:24:21.5688308Z       "requiredStages": [
2026-06-07T04:24:21.5688524Z         "doc",
2026-06-07T04:24:21.5688738Z         "impl",
2026-06-07T04:24:21.5688954Z         "unit"
2026-06-07T04:24:21.5689209Z       ],
2026-06-07T04:24:21.5689619Z       "stages": {
2026-06-07T04:24:21.5689842Z         "doc": {
2026-06-07T04:24:21.5690247Z           "complete": true,
2026-06-07T04:24:21.5690486Z           "evidence": [
2026-06-07T04:24:21.5690703Z             {
2026-06-07T04:24:21.5690995Z               "path": "docs/MANIFEST.md",
2026-06-07T04:24:21.5691221Z               "line": 19
2026-06-07T04:24:21.5691446Z             }
2026-06-07T04:24:21.5691646Z           ]
2026-06-07T04:24:21.5691861Z         },
2026-06-07T04:24:21.5692080Z         "impl": {
2026-06-07T04:24:21.5692322Z           "complete": true,
2026-06-07T04:24:21.5692560Z           "evidence": [
2026-06-07T04:24:21.5692769Z             {
2026-06-07T04:24:21.5693177Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5693399Z               "line": 18
2026-06-07T04:24:21.5693610Z             }
2026-06-07T04:24:21.5693831Z           ]
2026-06-07T04:24:21.5694031Z         },
2026-06-07T04:24:21.5694244Z         "int": {
2026-06-07T04:24:21.5694490Z           "complete": false,
2026-06-07T04:24:21.5694730Z           "evidence": []
2026-06-07T04:24:21.5694932Z         },
2026-06-07T04:24:21.5695157Z         "unit": {
2026-06-07T04:24:21.5695429Z           "complete": true,
2026-06-07T04:24:21.5695655Z           "evidence": [
2026-06-07T04:24:21.5695868Z             {
2026-06-07T04:24:21.5696281Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5696525Z               "line": 746
2026-06-07T04:24:21.5696729Z             },
2026-06-07T04:24:21.5696955Z             {
2026-06-07T04:24:21.5697357Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5697591Z               "line": 860
2026-06-07T04:24:21.5697811Z             },
2026-06-07T04:24:21.5698024Z             {
2026-06-07T04:24:21.5698605Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5698849Z               "line": 872
2026-06-07T04:24:21.5699075Z             },
2026-06-07T04:24:21.5699334Z             {
2026-06-07T04:24:21.5699897Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5700139Z               "line": 883
2026-06-07T04:24:21.5700342Z             },
2026-06-07T04:24:21.5700762Z             {
2026-06-07T04:24:21.5701171Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5701421Z               "line": 900
2026-06-07T04:24:21.5701780Z             },
2026-06-07T04:24:21.5701990Z             {
2026-06-07T04:24:21.5707142Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5707463Z               "line": 914
2026-06-07T04:24:21.5707680Z             },
2026-06-07T04:24:21.5707880Z             {
2026-06-07T04:24:21.5708284Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5708518Z               "line": 929
2026-06-07T04:24:21.5708721Z             },
2026-06-07T04:24:21.5708927Z             {
2026-06-07T04:24:21.5709541Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5709804Z               "line": 944
2026-06-07T04:24:21.5710039Z             },
2026-06-07T04:24:21.5710378Z             {
2026-06-07T04:24:21.5710816Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5711045Z               "line": 959
2026-06-07T04:24:21.5711260Z             },
2026-06-07T04:24:21.5711461Z             {
2026-06-07T04:24:21.5711867Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.5712101Z               "line": 970
2026-06-07T04:24:21.5712301Z             }
2026-06-07T04:24:21.5712509Z           ]
2026-06-07T04:24:21.5712705Z         }
2026-06-07T04:24:21.5712913Z       }
2026-06-07T04:24:21.5713110Z     },
2026-06-07T04:24:21.5713314Z     {
2026-06-07T04:24:21.5713570Z       "id": "REQ-MIGRATE-1",
2026-06-07T04:24:21.5714168Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-07T04:24:21.5714425Z       "requiredStages": [],
2026-06-07T04:24:21.5714639Z       "stages": {
2026-06-07T04:24:21.5714854Z         "doc": {
2026-06-07T04:24:21.5715101Z           "complete": false,
2026-06-07T04:24:21.5715342Z           "evidence": []
2026-06-07T04:24:21.5715582Z         },
2026-06-07T04:24:21.5716277Z         "impl": {
2026-06-07T04:24:21.5716594Z           "complete": false,
2026-06-07T04:24:21.5717023Z           "evidence": []
2026-06-07T04:24:21.5717281Z         },
2026-06-07T04:24:21.5717522Z         "int": {
2026-06-07T04:24:21.5717820Z           "complete": false,
2026-06-07T04:24:21.5718090Z           "evidence": []
2026-06-07T04:24:21.5718321Z         },
2026-06-07T04:24:21.5718565Z         "unit": {
2026-06-07T04:24:21.5718838Z           "complete": false,
2026-06-07T04:24:21.5719098Z           "evidence": []
2026-06-07T04:24:21.5719755Z         }
2026-06-07T04:24:21.5719999Z       }
2026-06-07T04:24:21.5720354Z     },
2026-06-07T04:24:21.5720551Z     {
2026-06-07T04:24:21.5720802Z       "id": "REQ-MSG-1",
2026-06-07T04:24:21.5722808Z       "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-07T04:24:21.5723089Z       "requiredStages": [
2026-06-07T04:24:21.5723340Z         "impl",
2026-06-07T04:24:21.5723576Z         "unit",
2026-06-07T04:24:21.5723795Z         "int"
2026-06-07T04:24:21.5724001Z       ],
2026-06-07T04:24:21.5724436Z       "stages": {
2026-06-07T04:24:21.5724679Z         "doc": {
2026-06-07T04:24:21.5724988Z           "complete": false,
2026-06-07T04:24:21.5725269Z           "evidence": []
2026-06-07T04:24:21.5725524Z         },
2026-06-07T04:24:21.5725928Z         "impl": {
2026-06-07T04:24:21.5726199Z           "complete": true,
2026-06-07T04:24:21.5726608Z           "evidence": [
2026-06-07T04:24:21.5726967Z             {
2026-06-07T04:24:21.5727343Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5727571Z               "line": 28
2026-06-07T04:24:21.5727792Z             },
2026-06-07T04:24:21.5728010Z             {
2026-06-07T04:24:21.5728362Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5728596Z               "line": 94
2026-06-07T04:24:21.5728797Z             },
2026-06-07T04:24:21.5729705Z             {
2026-06-07T04:24:21.5730128Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5730396Z               "line": 127
2026-06-07T04:24:21.5730818Z             },
2026-06-07T04:24:21.5731164Z             {
2026-06-07T04:24:21.5731535Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5731759Z               "line": 149
2026-06-07T04:24:21.5731972Z             },
2026-06-07T04:24:21.5732182Z             {
2026-06-07T04:24:21.5732563Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5732802Z               "line": 174
2026-06-07T04:24:21.5733011Z             },
2026-06-07T04:24:21.5733226Z             {
2026-06-07T04:24:21.5733591Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T04:24:21.5733839Z               "line": 18
2026-06-07T04:24:21.5734056Z             },
2026-06-07T04:24:21.5734268Z             {
2026-06-07T04:24:21.5734606Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.5734845Z               "line": 13
2026-06-07T04:24:21.5735060Z             },
2026-06-07T04:24:21.5735260Z             {
2026-06-07T04:24:21.5735598Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.5735833Z               "line": 61
2026-06-07T04:24:21.5736051Z             },
2026-06-07T04:24:21.5736277Z             {
2026-06-07T04:24:21.5736603Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T04:24:21.5736835Z               "line": 10
2026-06-07T04:24:21.5737033Z             }
2026-06-07T04:24:21.5737240Z           ]
2026-06-07T04:24:21.5737444Z         },
2026-06-07T04:24:21.5737673Z         "int": {
2026-06-07T04:24:21.5737922Z           "complete": true,
2026-06-07T04:24:21.5738154Z           "evidence": [
2026-06-07T04:24:21.5738366Z             {
2026-06-07T04:24:21.5738830Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T04:24:21.5739068Z               "line": 9
2026-06-07T04:24:21.5739333Z             },
2026-06-07T04:24:21.5739563Z             {
2026-06-07T04:24:21.5740031Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T04:24:21.5740260Z               "line": 70
2026-06-07T04:24:21.5740481Z             },
2026-06-07T04:24:21.5740685Z             {
2026-06-07T04:24:21.5741148Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T04:24:21.5741393Z               "line": 129
2026-06-07T04:24:21.5741599Z             }
2026-06-07T04:24:21.5741807Z           ]
2026-06-07T04:24:21.5742010Z         },
2026-06-07T04:24:21.5742235Z         "unit": {
2026-06-07T04:24:21.5742480Z           "complete": true,
2026-06-07T04:24:21.5742719Z           "evidence": [
2026-06-07T04:24:21.5742938Z             {
2026-06-07T04:24:21.5743291Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5743531Z               "line": 203
2026-06-07T04:24:21.5743733Z             },
2026-06-07T04:24:21.5743951Z             {
2026-06-07T04:24:21.5744304Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5744547Z               "line": 232
2026-06-07T04:24:21.5744763Z             },
2026-06-07T04:24:21.5744963Z             {
2026-06-07T04:24:21.5745335Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5745564Z               "line": 277
2026-06-07T04:24:21.5745779Z             },
2026-06-07T04:24:21.5745977Z             {
2026-06-07T04:24:21.5746334Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5746569Z               "line": 300
2026-06-07T04:24:21.5746772Z             },
2026-06-07T04:24:21.5746978Z             {
2026-06-07T04:24:21.5747322Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T04:24:21.5747561Z               "line": 324
2026-06-07T04:24:21.5747767Z             },
2026-06-07T04:24:21.5747977Z             {
2026-06-07T04:24:21.5748344Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T04:24:21.5748575Z               "line": 203
2026-06-07T04:24:21.5748791Z             },
2026-06-07T04:24:21.5749219Z             {
2026-06-07T04:24:21.5749625Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T04:24:21.5749852Z               "line": 236
2026-06-07T04:24:21.5750220Z             },
2026-06-07T04:24:21.5750433Z             {
2026-06-07T04:24:21.5750794Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T04:24:21.5751035Z               "line": 250
2026-06-07T04:24:21.5751233Z             },
2026-06-07T04:24:21.5751446Z             {
2026-06-07T04:24:21.5751804Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T04:24:21.5752047Z               "line": 262
2026-06-07T04:24:21.5752263Z             },
2026-06-07T04:24:21.5752461Z             {
2026-06-07T04:24:21.5752799Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.5753026Z               "line": 158
2026-06-07T04:24:21.5753237Z             },
2026-06-07T04:24:21.5753436Z             {
2026-06-07T04:24:21.5753778Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T04:24:21.5760101Z               "line": 241
2026-06-07T04:24:21.5760436Z             },
2026-06-07T04:24:21.5760650Z             {
2026-06-07T04:24:21.5761014Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T04:24:21.5761266Z               "line": 68
2026-06-07T04:24:21.5761471Z             },
2026-06-07T04:24:21.5761691Z             {
2026-06-07T04:24:21.5762035Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T04:24:21.5762266Z               "line": 77
2026-06-07T04:24:21.5762479Z             },
2026-06-07T04:24:21.5762680Z             {
2026-06-07T04:24:21.5763020Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T04:24:21.5763250Z               "line": 83
2026-06-07T04:24:21.5763451Z             },
2026-06-07T04:24:21.5763659Z             {
2026-06-07T04:24:21.5763986Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T04:24:21.5764222Z               "line": 102
2026-06-07T04:24:21.5764425Z             }
2026-06-07T04:24:21.5764640Z           ]
2026-06-07T04:24:21.5764863Z         }
2026-06-07T04:24:21.5765063Z       }
2026-06-07T04:24:21.5765269Z     },
2026-06-07T04:24:21.5765465Z     {
2026-06-07T04:24:21.5765718Z       "id": "REQ-MSG-2",
2026-06-07T04:24:21.5766809Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-07T04:24:21.5767072Z       "requiredStages": [
2026-06-07T04:24:21.5767296Z         "impl",
2026-06-07T04:24:21.5767502Z         "unit"
2026-06-07T04:24:21.5767715Z       ],
2026-06-07T04:24:21.5767934Z       "stages": {
2026-06-07T04:24:21.5768150Z         "doc": {
2026-06-07T04:24:21.5768397Z           "complete": false,
2026-06-07T04:24:21.5768642Z           "evidence": []
2026-06-07T04:24:21.5768853Z         },
2026-06-07T04:24:21.5769069Z         "impl": {
2026-06-07T04:24:21.5769373Z           "complete": true,
2026-06-07T04:24:21.5769600Z           "evidence": [
2026-06-07T04:24:21.5769813Z             {
2026-06-07T04:24:21.5770210Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5770443Z               "line": 11
2026-06-07T04:24:21.5770656Z             },
2026-06-07T04:24:21.5770855Z             {
2026-06-07T04:24:21.5771180Z               "path": "crates/spt/src/main.rs",
2026-06-07T04:24:21.5771394Z               "line": 8
2026-06-07T04:24:21.5771599Z             }
2026-06-07T04:24:21.5771796Z           ]
2026-06-07T04:24:21.5772010Z         },
2026-06-07T04:24:21.5772228Z         "int": {
2026-06-07T04:24:21.5772470Z           "complete": false,
2026-06-07T04:24:21.5772707Z           "evidence": []
2026-06-07T04:24:21.5772907Z         },
2026-06-07T04:24:21.5773127Z         "unit": {
2026-06-07T04:24:21.5773368Z           "complete": true,
2026-06-07T04:24:21.5773601Z           "evidence": [
2026-06-07T04:24:21.5773809Z             {
2026-06-07T04:24:21.5774109Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5774348Z               "line": 3748
2026-06-07T04:24:21.5774549Z             },
2026-06-07T04:24:21.5774998Z             {
2026-06-07T04:24:21.5775321Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5775556Z               "line": 3797
2026-06-07T04:24:21.5775964Z             },
2026-06-07T04:24:21.5776164Z             {
2026-06-07T04:24:21.5776470Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5776698Z               "line": 3820
2026-06-07T04:24:21.5776911Z             },
2026-06-07T04:24:21.5777107Z             {
2026-06-07T04:24:21.5777418Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5777649Z               "line": 5168
2026-06-07T04:24:21.5777854Z             },
2026-06-07T04:24:21.5778065Z             {
2026-06-07T04:24:21.5778363Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5778601Z               "line": 5177
2026-06-07T04:24:21.5778804Z             },
2026-06-07T04:24:21.5779013Z             {
2026-06-07T04:24:21.5779376Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5779684Z               "line": 5191
2026-06-07T04:24:21.5779907Z             }
2026-06-07T04:24:21.5780106Z           ]
2026-06-07T04:24:21.5780315Z         }
2026-06-07T04:24:21.5780513Z       }
2026-06-07T04:24:21.5780730Z     },
2026-06-07T04:24:21.5780934Z     {
2026-06-07T04:24:21.5781166Z       "id": "REQ-MSG-3",
2026-06-07T04:24:21.5783058Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-07T04:24:21.5783362Z       "requiredStages": [
2026-06-07T04:24:21.5783618Z         "impl",
2026-06-07T04:24:21.5783987Z         "unit",
2026-06-07T04:24:21.5784204Z         "int"
2026-06-07T04:24:21.5784417Z       ],
2026-06-07T04:24:21.5784629Z       "stages": {
2026-06-07T04:24:21.5784846Z         "doc": {
2026-06-07T04:24:21.5785094Z           "complete": false,
2026-06-07T04:24:21.5785338Z           "evidence": []
2026-06-07T04:24:21.5785547Z         },
2026-06-07T04:24:21.5785772Z         "impl": {
2026-06-07T04:24:21.5786040Z           "complete": true,
2026-06-07T04:24:21.5786269Z           "evidence": [
2026-06-07T04:24:21.5786482Z             {
2026-06-07T04:24:21.5786862Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T04:24:21.5787113Z               "line": 19
2026-06-07T04:24:21.5787320Z             },
2026-06-07T04:24:21.5787536Z             {
2026-06-07T04:24:21.5787890Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5788123Z               "line": 21
2026-06-07T04:24:21.5788336Z             },
2026-06-07T04:24:21.5788539Z             {
2026-06-07T04:24:21.5788885Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5789259Z               "line": 48
2026-06-07T04:24:21.5789488Z             },
2026-06-07T04:24:21.5789701Z             {
2026-06-07T04:24:21.5790042Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5790284Z               "line": 142
2026-06-07T04:24:21.5790491Z             }
2026-06-07T04:24:21.5790706Z           ]
2026-06-07T04:24:21.5790925Z         },
2026-06-07T04:24:21.5791151Z         "int": {
2026-06-07T04:24:21.5791408Z           "complete": true,
2026-06-07T04:24:21.5791650Z           "evidence": [
2026-06-07T04:24:21.5791860Z             {
2026-06-07T04:24:21.5792326Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T04:24:21.5792564Z               "line": 10
2026-06-07T04:24:21.5792772Z             },
2026-06-07T04:24:21.5792980Z             {
2026-06-07T04:24:21.5793437Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T04:24:21.5793667Z               "line": 70
2026-06-07T04:24:21.5793879Z             }
2026-06-07T04:24:21.5794081Z           ]
2026-06-07T04:24:21.5794292Z         },
2026-06-07T04:24:21.5794503Z         "unit": {
2026-06-07T04:24:21.5794755Z           "complete": true,
2026-06-07T04:24:21.5794990Z           "evidence": [
2026-06-07T04:24:21.5795199Z             {
2026-06-07T04:24:21.5795543Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5795945Z               "line": 196
2026-06-07T04:24:21.5796174Z             },
2026-06-07T04:24:21.5796379Z             {
2026-06-07T04:24:21.5796867Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5797107Z               "line": 215
2026-06-07T04:24:21.5797309Z             },
2026-06-07T04:24:21.5797518Z             {
2026-06-07T04:24:21.5797852Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T04:24:21.5798090Z               "line": 237
2026-06-07T04:24:21.5798385Z             }
2026-06-07T04:24:21.5798597Z           ]
2026-06-07T04:24:21.5798810Z         }
2026-06-07T04:24:21.5799011Z       }
2026-06-07T04:24:21.5799280Z     },
2026-06-07T04:24:21.5799490Z     {
2026-06-07T04:24:21.5799733Z       "id": "REQ-NET-1",
2026-06-07T04:24:21.5800416Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-07T04:24:21.5800676Z       "requiredStages": [
2026-06-07T04:24:21.5800896Z         "impl",
2026-06-07T04:24:21.5801108Z         "unit",
2026-06-07T04:24:21.5801338Z         "int"
2026-06-07T04:24:21.5801545Z       ],
2026-06-07T04:24:21.5801772Z       "stages": {
2026-06-07T04:24:21.5801992Z         "doc": {
2026-06-07T04:24:21.5802252Z           "complete": false,
2026-06-07T04:24:21.5802500Z           "evidence": []
2026-06-07T04:24:21.5802703Z         },
2026-06-07T04:24:21.5802926Z         "impl": {
2026-06-07T04:24:21.5808502Z           "complete": true,
2026-06-07T04:24:21.5808842Z           "evidence": [
2026-06-07T04:24:21.5809045Z             {
2026-06-07T04:24:21.5809534Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5809775Z               "line": 54
2026-06-07T04:24:21.5809976Z             },
2026-06-07T04:24:21.5810189Z             {
2026-06-07T04:24:21.5810577Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5810816Z               "line": 551
2026-06-07T04:24:21.5811022Z             },
2026-06-07T04:24:21.5811232Z             {
2026-06-07T04:24:21.5811618Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-07T04:24:21.5811849Z               "line": 69
2026-06-07T04:24:21.5812058Z             },
2026-06-07T04:24:21.5812268Z             {
2026-06-07T04:24:21.5812662Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5812886Z               "line": 65
2026-06-07T04:24:21.5813101Z             },
2026-06-07T04:24:21.5813312Z             {
2026-06-07T04:24:21.5813697Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5813932Z               "line": 127
2026-06-07T04:24:21.5814132Z             },
2026-06-07T04:24:21.5814344Z             {
2026-06-07T04:24:21.5814738Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5814971Z               "line": 143
2026-06-07T04:24:21.5815184Z             },
2026-06-07T04:24:21.5815381Z             {
2026-06-07T04:24:21.5815770Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5815996Z               "line": 158
2026-06-07T04:24:21.5816222Z             },
2026-06-07T04:24:21.5816435Z             {
2026-06-07T04:24:21.5816815Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5817068Z               "line": 235
2026-06-07T04:24:21.5817270Z             },
2026-06-07T04:24:21.5817476Z             {
2026-06-07T04:24:21.5817854Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5818092Z               "line": 270
2026-06-07T04:24:21.5818304Z             },
2026-06-07T04:24:21.5818503Z             {
2026-06-07T04:24:21.5818889Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5819120Z               "line": 276
2026-06-07T04:24:21.5819377Z             },
2026-06-07T04:24:21.5819580Z             {
2026-06-07T04:24:21.5819973Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5820207Z               "line": 282
2026-06-07T04:24:21.5820412Z             },
2026-06-07T04:24:21.5820616Z             {
2026-06-07T04:24:21.5821235Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5821507Z               "line": 298
2026-06-07T04:24:21.5821838Z             },
2026-06-07T04:24:21.5822049Z             {
2026-06-07T04:24:21.5822445Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5822673Z               "line": 318
2026-06-07T04:24:21.5822884Z             },
2026-06-07T04:24:21.5823084Z             {
2026-06-07T04:24:21.5823460Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T04:24:21.5823685Z               "line": 35
2026-06-07T04:24:21.5823893Z             },
2026-06-07T04:24:21.5824105Z             {
2026-06-07T04:24:21.5824471Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T04:24:21.5824700Z               "line": 85
2026-06-07T04:24:21.5824899Z             },
2026-06-07T04:24:21.5825111Z             {
2026-06-07T04:24:21.5825626Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.5825917Z               "line": 135
2026-06-07T04:24:21.5826282Z             },
2026-06-07T04:24:21.5826481Z             {
2026-06-07T04:24:21.5826789Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.5827031Z               "line": 1365
2026-06-07T04:24:21.5827238Z             },
2026-06-07T04:24:21.5827448Z             {
2026-06-07T04:24:21.5827766Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5828002Z               "line": 17
2026-06-07T04:24:21.5828198Z             }
2026-06-07T04:24:21.5828407Z           ]
2026-06-07T04:24:21.5828605Z         },
2026-06-07T04:24:21.5828818Z         "int": {
2026-06-07T04:24:21.5829060Z           "complete": true,
2026-06-07T04:24:21.5829338Z           "evidence": [
2026-06-07T04:24:21.5829550Z             {
2026-06-07T04:24:21.5829952Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.5830187Z               "line": 330
2026-06-07T04:24:21.5830385Z             },
2026-06-07T04:24:21.5830592Z             {
2026-06-07T04:24:21.5830999Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5831229Z               "line": 600
2026-06-07T04:24:21.5831453Z             },
2026-06-07T04:24:21.5831655Z             {
2026-06-07T04:24:21.5832051Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5832275Z               "line": 873
2026-06-07T04:24:21.5832485Z             }
2026-06-07T04:24:21.5832692Z           ]
2026-06-07T04:24:21.5832891Z         },
2026-06-07T04:24:21.5833108Z         "unit": {
2026-06-07T04:24:21.5833352Z           "complete": true,
2026-06-07T04:24:21.5833589Z           "evidence": [
2026-06-07T04:24:21.5833788Z             {
2026-06-07T04:24:21.5834173Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5834411Z               "line": 607
2026-06-07T04:24:21.5834613Z             },
2026-06-07T04:24:21.5834826Z             {
2026-06-07T04:24:21.5835211Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5835462Z               "line": 642
2026-06-07T04:24:21.5835664Z             },
2026-06-07T04:24:21.5835876Z             {
2026-06-07T04:24:21.5836300Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.5836526Z               "line": 802
2026-06-07T04:24:21.5836739Z             },
2026-06-07T04:24:21.5836938Z             {
2026-06-07T04:24:21.5837326Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-07T04:24:21.5837551Z               "line": 151
2026-06-07T04:24:21.5837759Z             },
2026-06-07T04:24:21.5837966Z             {
2026-06-07T04:24:21.5838359Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5838591Z               "line": 372
2026-06-07T04:24:21.5838791Z             },
2026-06-07T04:24:21.5839002Z             {
2026-06-07T04:24:21.5839441Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5839686Z               "line": 386
2026-06-07T04:24:21.5839901Z             },
2026-06-07T04:24:21.5840260Z             {
2026-06-07T04:24:21.5840673Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5840899Z               "line": 405
2026-06-07T04:24:21.5841250Z             },
2026-06-07T04:24:21.5841458Z             {
2026-06-07T04:24:21.5841847Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T04:24:21.5842080Z               "line": 118
2026-06-07T04:24:21.5842282Z             },
2026-06-07T04:24:21.5842488Z             {
2026-06-07T04:24:21.5842859Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T04:24:21.5843095Z               "line": 161
2026-06-07T04:24:21.5843310Z             },
2026-06-07T04:24:21.5843509Z             {
2026-06-07T04:24:21.5843863Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T04:24:21.5844084Z               "line": 492
2026-06-07T04:24:21.5844289Z             },
2026-06-07T04:24:21.5844488Z             {
2026-06-07T04:24:21.5844818Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5845074Z               "line": 601
2026-06-07T04:24:21.5845274Z             },
2026-06-07T04:24:21.5845480Z             {
2026-06-07T04:24:21.5845814Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.5846047Z               "line": 989
2026-06-07T04:24:21.5846249Z             }
2026-06-07T04:24:21.5846464Z           ]
2026-06-07T04:24:21.5846678Z         }
2026-06-07T04:24:21.5846877Z       }
2026-06-07T04:24:21.5847078Z     },
2026-06-07T04:24:21.5847272Z     {
2026-06-07T04:24:21.5847509Z       "id": "REQ-NET-2",
2026-06-07T04:24:21.5848160Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-07T04:24:21.5848417Z       "requiredStages": [
2026-06-07T04:24:21.5848629Z         "impl"
2026-06-07T04:24:21.5848827Z       ],
2026-06-07T04:24:21.5849050Z       "stages": {
2026-06-07T04:24:21.5849305Z         "doc": {
2026-06-07T04:24:21.5849558Z           "complete": false,
2026-06-07T04:24:21.5849792Z           "evidence": []
2026-06-07T04:24:21.5850010Z         },
2026-06-07T04:24:21.5850234Z         "impl": {
2026-06-07T04:24:21.5850472Z           "complete": true,
2026-06-07T04:24:21.5850714Z           "evidence": [
2026-06-07T04:24:21.5855639Z             {
2026-06-07T04:24:21.5856120Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.5856351Z               "line": 57
2026-06-07T04:24:21.5856566Z             },
2026-06-07T04:24:21.5856778Z             {
2026-06-07T04:24:21.5857166Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5857398Z               "line": 39
2026-06-07T04:24:21.5857600Z             },
2026-06-07T04:24:21.5857811Z             {
2026-06-07T04:24:21.5858195Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5858428Z               "line": 49
2026-06-07T04:24:21.5858636Z             },
2026-06-07T04:24:21.5858832Z             {
2026-06-07T04:24:21.5859331Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5859599Z               "line": 127
2026-06-07T04:24:21.5859808Z             },
2026-06-07T04:24:21.5860005Z             {
2026-06-07T04:24:21.5860411Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5860649Z               "line": 143
2026-06-07T04:24:21.5860857Z             },
2026-06-07T04:24:21.5861067Z             {
2026-06-07T04:24:21.5861448Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T04:24:21.5861684Z               "line": 158
2026-06-07T04:24:21.5861884Z             }
2026-06-07T04:24:21.5862091Z           ]
2026-06-07T04:24:21.5862296Z         },
2026-06-07T04:24:21.5862494Z         "int": {
2026-06-07T04:24:21.5862747Z           "complete": false,
2026-06-07T04:24:21.5862982Z           "evidence": []
2026-06-07T04:24:21.5863191Z         },
2026-06-07T04:24:21.5863395Z         "unit": {
2026-06-07T04:24:21.5863647Z           "complete": true,
2026-06-07T04:24:21.5863881Z           "evidence": [
2026-06-07T04:24:21.5864079Z             {
2026-06-07T04:24:21.5864677Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.5864929Z               "line": 372
2026-06-07T04:24:21.5865320Z             }
2026-06-07T04:24:21.5865525Z           ]
2026-06-07T04:24:21.5865735Z         }
2026-06-07T04:24:21.5865940Z       }
2026-06-07T04:24:21.5866133Z     },
2026-06-07T04:24:21.5866333Z     {
2026-06-07T04:24:21.5866558Z       "id": "REQ-NET-3",
2026-06-07T04:24:21.5867171Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-07T04:24:21.5867419Z       "requiredStages": [
2026-06-07T04:24:21.5867633Z         "impl",
2026-06-07T04:24:21.5867842Z         "unit"
2026-06-07T04:24:21.5868044Z       ],
2026-06-07T04:24:21.5868270Z       "stages": {
2026-06-07T04:24:21.5868475Z         "doc": {
2026-06-07T04:24:21.5868723Z           "complete": false,
2026-06-07T04:24:21.5868951Z           "evidence": []
2026-06-07T04:24:21.5869207Z         },
2026-06-07T04:24:21.5869434Z         "impl": {
2026-06-07T04:24:21.5869693Z           "complete": true,
2026-06-07T04:24:21.5869929Z           "evidence": [
2026-06-07T04:24:21.5870127Z             {
2026-06-07T04:24:21.5870497Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5870720Z               "line": 39
2026-06-07T04:24:21.5870932Z             },
2026-06-07T04:24:21.5871143Z             {
2026-06-07T04:24:21.5871490Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5871725Z               "line": 179
2026-06-07T04:24:21.5871923Z             },
2026-06-07T04:24:21.5872126Z             {
2026-06-07T04:24:21.5872468Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T04:24:21.5872705Z               "line": 330
2026-06-07T04:24:21.5872910Z             },
2026-06-07T04:24:21.5873107Z             {
2026-06-07T04:24:21.5873457Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T04:24:21.5873677Z               "line": 36
2026-06-07T04:24:21.5873890Z             },
2026-06-07T04:24:21.5874094Z             {
2026-06-07T04:24:21.5874510Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5874745Z               "line": 158
2026-06-07T04:24:21.5874960Z             },
2026-06-07T04:24:21.5875165Z             {
2026-06-07T04:24:21.5875562Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5875798Z               "line": 212
2026-06-07T04:24:21.5875999Z             },
2026-06-07T04:24:21.5876205Z             {
2026-06-07T04:24:21.5876605Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5876828Z               "line": 233
2026-06-07T04:24:21.5877039Z             },
2026-06-07T04:24:21.5877239Z             {
2026-06-07T04:24:21.5877642Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5877871Z               "line": 291
2026-06-07T04:24:21.5878090Z             },
2026-06-07T04:24:21.5878296Z             {
2026-06-07T04:24:21.5878690Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5878937Z               "line": 310
2026-06-07T04:24:21.5879140Z             },
2026-06-07T04:24:21.5879394Z             {
2026-06-07T04:24:21.5879817Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5880053Z               "line": 348
2026-06-07T04:24:21.5880263Z             },
2026-06-07T04:24:21.5880468Z             {
2026-06-07T04:24:21.5880867Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5881091Z               "line": 393
2026-06-07T04:24:21.5881305Z             },
2026-06-07T04:24:21.5881516Z             {
2026-06-07T04:24:21.5881909Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.5882146Z               "line": 406
2026-06-07T04:24:21.5882345Z             },
2026-06-07T04:24:21.5882556Z             {
2026-06-07T04:24:21.5882936Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.5883168Z               "line": 29
2026-06-07T04:24:21.5883377Z             },
2026-06-07T04:24:21.5883733Z             {
2026-06-07T04:24:21.5884138Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.5884506Z               "line": 72
2026-06-07T04:24:21.5884720Z             },
2026-06-07T04:24:21.5884917Z             {
2026-06-07T04:24:21.5885313Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.5885547Z               "line": 123
2026-06-07T04:24:21.5885750Z             }
2026-06-07T04:24:21.5885963Z           ]
2026-06-07T04:24:21.5886161Z         },
2026-06-07T04:24:21.5886378Z         "int": {
2026-06-07T04:24:21.5886624Z           "complete": false,
2026-06-07T04:24:21.5886865Z           "evidence": []
2026-06-07T04:24:21.5887076Z         },
2026-06-07T04:24:21.5887286Z         "unit": {
2026-06-07T04:24:21.5887535Z           "complete": true,
2026-06-07T04:24:21.5887780Z           "evidence": [
2026-06-07T04:24:21.5887996Z             {
2026-06-07T04:24:21.5888368Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T04:24:21.5888625Z               "line": 214
2026-06-07T04:24:21.5888843Z             },
2026-06-07T04:24:21.5889038Z             {
2026-06-07T04:24:21.5889481Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T04:24:21.5889716Z               "line": 342
2026-06-07T04:24:21.5889927Z             },
2026-06-07T04:24:21.5890130Z             {
2026-06-07T04:24:21.5890500Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T04:24:21.5890734Z               "line": 491
2026-06-07T04:24:21.5890933Z             },
2026-06-07T04:24:21.5891138Z             {
2026-06-07T04:24:21.5891487Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T04:24:21.5891715Z               "line": 93
2026-06-07T04:24:21.5891917Z             },
2026-06-07T04:24:21.5892121Z             {
2026-06-07T04:24:21.5892483Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T04:24:21.5892710Z               "line": 142
2026-06-07T04:24:21.5892923Z             },
2026-06-07T04:24:21.5893136Z             {
2026-06-07T04:24:21.5893531Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.5893758Z               "line": 315
2026-06-07T04:24:21.5893976Z             },
2026-06-07T04:24:21.5894184Z             {
2026-06-07T04:24:21.5894625Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.5894916Z               "line": 355
2026-06-07T04:24:21.5895287Z             },
2026-06-07T04:24:21.5895543Z             {
2026-06-07T04:24:21.5896038Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T04:24:21.5896356Z               "line": 494
2026-06-07T04:24:21.5896629Z             }
2026-06-07T04:24:21.5896886Z           ]
2026-06-07T04:24:21.5897116Z         }
2026-06-07T04:24:21.5897323Z       }
2026-06-07T04:24:21.5897544Z     },
2026-06-07T04:24:21.5897886Z     {
2026-06-07T04:24:21.5904481Z       "id": "REQ-NODE-IDENTITY",
2026-06-07T04:24:21.5905770Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-07T04:24:21.5906058Z       "requiredStages": [
2026-06-07T04:24:21.5906295Z         "impl",
2026-06-07T04:24:21.5906529Z         "unit"
2026-06-07T04:24:21.5906747Z       ],
2026-06-07T04:24:21.5906988Z       "stages": {
2026-06-07T04:24:21.5907202Z         "doc": {
2026-06-07T04:24:21.5907461Z           "complete": false,
2026-06-07T04:24:21.5907699Z           "evidence": []
2026-06-07T04:24:21.5907913Z         },
2026-06-07T04:24:21.5908132Z         "impl": {
2026-06-07T04:24:21.5908389Z           "complete": true,
2026-06-07T04:24:21.5908622Z           "evidence": [
2026-06-07T04:24:21.5908839Z             {
2026-06-07T04:24:21.5909356Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5909594Z               "line": 60
2026-06-07T04:24:21.5909815Z             },
2026-06-07T04:24:21.5910022Z             {
2026-06-07T04:24:21.5910429Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5910668Z               "line": 68
2026-06-07T04:24:21.5911460Z             },
2026-06-07T04:24:21.5911712Z             {
2026-06-07T04:24:21.5912107Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5912503Z               "line": 86
2026-06-07T04:24:21.5912709Z             },
2026-06-07T04:24:21.5912921Z             {
2026-06-07T04:24:21.5913313Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5913550Z               "line": 120
2026-06-07T04:24:21.5913765Z             },
2026-06-07T04:24:21.5913969Z             {
2026-06-07T04:24:21.5914358Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5914592Z               "line": 127
2026-06-07T04:24:21.5914809Z             },
2026-06-07T04:24:21.5915024Z             {
2026-06-07T04:24:21.5915413Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5915656Z               "line": 143
2026-06-07T04:24:21.5915864Z             },
2026-06-07T04:24:21.5916075Z             {
2026-06-07T04:24:21.5916450Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T04:24:21.5916690Z               "line": 16
2026-06-07T04:24:21.5916900Z             }
2026-06-07T04:24:21.5917126Z           ]
2026-06-07T04:24:21.5917359Z         },
2026-06-07T04:24:21.5917724Z         "int": {
2026-06-07T04:24:21.5918008Z           "complete": false,
2026-06-07T04:24:21.5918287Z           "evidence": []
2026-06-07T04:24:21.5918549Z         },
2026-06-07T04:24:21.5918814Z         "unit": {
2026-06-07T04:24:21.5919080Z           "complete": true,
2026-06-07T04:24:21.5919529Z           "evidence": [
2026-06-07T04:24:21.5919742Z             {
2026-06-07T04:24:21.5920143Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5920374Z               "line": 199
2026-06-07T04:24:21.5920594Z             },
2026-06-07T04:24:21.5920810Z             {
2026-06-07T04:24:21.5921184Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5921423Z               "line": 218
2026-06-07T04:24:21.5921650Z             },
2026-06-07T04:24:21.5921868Z             {
2026-06-07T04:24:21.5922247Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5922501Z               "line": 234
2026-06-07T04:24:21.5922716Z             },
2026-06-07T04:24:21.5922922Z             {
2026-06-07T04:24:21.5923317Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T04:24:21.5923548Z               "line": 256
2026-06-07T04:24:21.5923767Z             },
2026-06-07T04:24:21.5923969Z             {
2026-06-07T04:24:21.5924345Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T04:24:21.5924582Z               "line": 124
2026-06-07T04:24:21.5924790Z             },
2026-06-07T04:24:21.5925004Z             {
2026-06-07T04:24:21.5925368Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T04:24:21.5925607Z               "line": 140
2026-06-07T04:24:21.5925815Z             },
2026-06-07T04:24:21.5926037Z             {
2026-06-07T04:24:21.5926417Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T04:24:21.5926654Z               "line": 155
2026-06-07T04:24:21.5926874Z             }
2026-06-07T04:24:21.5927248Z           ]
2026-06-07T04:24:21.5927491Z         }
2026-06-07T04:24:21.5927731Z       }
2026-06-07T04:24:21.5927982Z     },
2026-06-07T04:24:21.5928207Z     {
2026-06-07T04:24:21.5928467Z       "id": "REQ-NOTIF-1",
2026-06-07T04:24:21.5930296Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-07T04:24:21.5930553Z       "requiredStages": [
2026-06-07T04:24:21.5930775Z         "impl",
2026-06-07T04:24:21.5930995Z         "unit",
2026-06-07T04:24:21.5931199Z         "int"
2026-06-07T04:24:21.5931406Z       ],
2026-06-07T04:24:21.5931621Z       "stages": {
2026-06-07T04:24:21.5931850Z         "doc": {
2026-06-07T04:24:21.5932277Z           "complete": false,
2026-06-07T04:24:21.5932552Z           "evidence": []
2026-06-07T04:24:21.5932772Z         },
2026-06-07T04:24:21.5933216Z         "impl": {
2026-06-07T04:24:21.5933513Z           "complete": true,
2026-06-07T04:24:21.5933745Z           "evidence": [
2026-06-07T04:24:21.5934105Z             {
2026-06-07T04:24:21.5934518Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.5934767Z               "line": 471
2026-06-07T04:24:21.5934991Z             },
2026-06-07T04:24:21.5935199Z             {
2026-06-07T04:24:21.5935577Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5935815Z               "line": 30
2026-06-07T04:24:21.5936037Z             },
2026-06-07T04:24:21.5936247Z             {
2026-06-07T04:24:21.5936627Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5936870Z               "line": 62
2026-06-07T04:24:21.5937080Z             },
2026-06-07T04:24:21.5937298Z             {
2026-06-07T04:24:21.5937668Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5937912Z               "line": 86
2026-06-07T04:24:21.5938138Z             },
2026-06-07T04:24:21.5938358Z             {
2026-06-07T04:24:21.5938748Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5938995Z               "line": 100
2026-06-07T04:24:21.5939277Z             },
2026-06-07T04:24:21.5939625Z             {
2026-06-07T04:24:21.5940000Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5940227Z               "line": 135
2026-06-07T04:24:21.5940441Z             },
2026-06-07T04:24:21.5940646Z             {
2026-06-07T04:24:21.5941009Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5941244Z               "line": 180
2026-06-07T04:24:21.5941446Z             },
2026-06-07T04:24:21.5941655Z             {
2026-06-07T04:24:21.5942011Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5942250Z               "line": 251
2026-06-07T04:24:21.5942468Z             },
2026-06-07T04:24:21.5942669Z             {
2026-06-07T04:24:21.5943045Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5943272Z               "line": 361
2026-06-07T04:24:21.5943487Z             },
2026-06-07T04:24:21.5943698Z             {
2026-06-07T04:24:21.5944063Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5944300Z               "line": 421
2026-06-07T04:24:21.5944507Z             },
2026-06-07T04:24:21.5944716Z             {
2026-06-07T04:24:21.5945102Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5945337Z               "line": 24
2026-06-07T04:24:21.5945539Z             },
2026-06-07T04:24:21.5945753Z             {
2026-06-07T04:24:21.5946154Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5946384Z               "line": 34
2026-06-07T04:24:21.5946601Z             },
2026-06-07T04:24:21.5946804Z             {
2026-06-07T04:24:21.5947204Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5947439Z               "line": 58
2026-06-07T04:24:21.5947656Z             },
2026-06-07T04:24:21.5947869Z             {
2026-06-07T04:24:21.5948257Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5948502Z               "line": 79
2026-06-07T04:24:21.5948704Z             },
2026-06-07T04:24:21.5948916Z             {
2026-06-07T04:24:21.5949502Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5949747Z               "line": 91
2026-06-07T04:24:21.5950108Z             },
2026-06-07T04:24:21.5950310Z             {
2026-06-07T04:24:21.5950718Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T04:24:21.5950949Z               "line": 41
2026-06-07T04:24:21.5956836Z             },
2026-06-07T04:24:21.5957183Z             {
2026-06-07T04:24:21.5957590Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.5957831Z               "line": 96
2026-06-07T04:24:21.5958039Z             },
2026-06-07T04:24:21.5958248Z             {
2026-06-07T04:24:21.5958962Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T04:24:21.5959314Z               "line": 20
2026-06-07T04:24:21.5959977Z             },
2026-06-07T04:24:21.5960187Z             {
2026-06-07T04:24:21.5960576Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T04:24:21.5960801Z               "line": 30
2026-06-07T04:24:21.5961008Z             },
2026-06-07T04:24:21.5961209Z             {
2026-06-07T04:24:21.5961593Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T04:24:21.5961826Z               "line": 50
2026-06-07T04:24:21.5962032Z             },
2026-06-07T04:24:21.5962246Z             {
2026-06-07T04:24:21.5962594Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5962827Z               "line": 28
2026-06-07T04:24:21.5963030Z             },
2026-06-07T04:24:21.5963241Z             {
2026-06-07T04:24:21.5963605Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5963836Z               "line": 126
2026-06-07T04:24:21.5964069Z             },
2026-06-07T04:24:21.5964276Z             {
2026-06-07T04:24:21.5964637Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5964875Z               "line": 161
2026-06-07T04:24:21.5965094Z             },
2026-06-07T04:24:21.5965307Z             {
2026-06-07T04:24:21.5965659Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5965900Z               "line": 202
2026-06-07T04:24:21.5966104Z             },
2026-06-07T04:24:21.5966314Z             {
2026-06-07T04:24:21.5966661Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5966907Z               "line": 213
2026-06-07T04:24:21.5967119Z             },
2026-06-07T04:24:21.5967321Z             {
2026-06-07T04:24:21.5967681Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5967906Z               "line": 238
2026-06-07T04:24:21.5968121Z             },
2026-06-07T04:24:21.5968322Z             {
2026-06-07T04:24:21.5968683Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5968917Z               "line": 261
2026-06-07T04:24:21.5969117Z             },
2026-06-07T04:24:21.5969400Z             {
2026-06-07T04:24:21.5969779Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.5970017Z               "line": 63
2026-06-07T04:24:21.5970226Z             }
2026-06-07T04:24:21.5970433Z           ]
2026-06-07T04:24:21.5970639Z         },
2026-06-07T04:24:21.5970845Z         "int": {
2026-06-07T04:24:21.5971097Z           "complete": true,
2026-06-07T04:24:21.5971325Z           "evidence": [
2026-06-07T04:24:21.5971535Z             {
2026-06-07T04:24:21.5971954Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.5972180Z               "line": 274
2026-06-07T04:24:21.5972390Z             },
2026-06-07T04:24:21.5972589Z             {
2026-06-07T04:24:21.5973004Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-07T04:24:21.5973241Z               "line": 102
2026-06-07T04:24:21.5973455Z             },
2026-06-07T04:24:21.5973667Z             {
2026-06-07T04:24:21.5974057Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5974305Z               "line": 609
2026-06-07T04:24:21.5974508Z             },
2026-06-07T04:24:21.5974723Z             {
2026-06-07T04:24:21.5975103Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.5975340Z               "line": 1002
2026-06-07T04:24:21.5975548Z             }
2026-06-07T04:24:21.5975776Z           ]
2026-06-07T04:24:21.5975988Z         },
2026-06-07T04:24:21.5976198Z         "unit": {
2026-06-07T04:24:21.5976446Z           "complete": true,
2026-06-07T04:24:21.5976670Z           "evidence": [
2026-06-07T04:24:21.5976890Z             {
2026-06-07T04:24:21.5977254Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5977484Z               "line": 514
2026-06-07T04:24:21.5977702Z             },
2026-06-07T04:24:21.5977904Z             {
2026-06-07T04:24:21.5978435Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5978681Z               "line": 563
2026-06-07T04:24:21.5979015Z             },
2026-06-07T04:24:21.5979285Z             {
2026-06-07T04:24:21.5979645Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5979885Z               "line": 665
2026-06-07T04:24:21.5980089Z             },
2026-06-07T04:24:21.5980302Z             {
2026-06-07T04:24:21.5980661Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5980897Z               "line": 697
2026-06-07T04:24:21.5981111Z             },
2026-06-07T04:24:21.5981316Z             {
2026-06-07T04:24:21.5981676Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5981907Z               "line": 765
2026-06-07T04:24:21.5982126Z             },
2026-06-07T04:24:21.5982328Z             {
2026-06-07T04:24:21.5982694Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5982947Z               "line": 823
2026-06-07T04:24:21.5983147Z             },
2026-06-07T04:24:21.5983363Z             {
2026-06-07T04:24:21.5983728Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.5983979Z               "line": 1044
2026-06-07T04:24:21.5984184Z             },
2026-06-07T04:24:21.5984399Z             {
2026-06-07T04:24:21.5984801Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5985034Z               "line": 140
2026-06-07T04:24:21.5985248Z             },
2026-06-07T04:24:21.5985451Z             {
2026-06-07T04:24:21.5985851Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5986078Z               "line": 233
2026-06-07T04:24:21.5986291Z             },
2026-06-07T04:24:21.5986500Z             {
2026-06-07T04:24:21.5986887Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T04:24:21.5987131Z               "line": 256
2026-06-07T04:24:21.5987334Z             },
2026-06-07T04:24:21.5987561Z             {
2026-06-07T04:24:21.5987963Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.5988196Z               "line": 341
2026-06-07T04:24:21.5988421Z             },
2026-06-07T04:24:21.5988625Z             {
2026-06-07T04:24:21.5989023Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T04:24:21.5989302Z               "line": 373
2026-06-07T04:24:21.5989522Z             },
2026-06-07T04:24:21.5989732Z             {
2026-06-07T04:24:21.5990142Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-07T04:24:21.5990377Z               "line": 117
2026-06-07T04:24:21.5990578Z             },
2026-06-07T04:24:21.5990791Z             {
2026-06-07T04:24:21.5991155Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T04:24:21.5991385Z               "line": 72
2026-06-07T04:24:21.5991598Z             },
2026-06-07T04:24:21.5991793Z             {
2026-06-07T04:24:21.5992160Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T04:24:21.5992392Z               "line": 97
2026-06-07T04:24:21.5992604Z             },
2026-06-07T04:24:21.5992801Z             {
2026-06-07T04:24:21.5993170Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5993403Z               "line": 379
2026-06-07T04:24:21.5993607Z             },
2026-06-07T04:24:21.5993817Z             {
2026-06-07T04:24:21.5994160Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5994396Z               "line": 417
2026-06-07T04:24:21.5994595Z             },
2026-06-07T04:24:21.5994810Z             {
2026-06-07T04:24:21.5995166Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5995392Z               "line": 433
2026-06-07T04:24:21.5995603Z             },
2026-06-07T04:24:21.5995804Z             {
2026-06-07T04:24:21.5996165Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5996394Z               "line": 472
2026-06-07T04:24:21.5996609Z             },
2026-06-07T04:24:21.5996992Z             {
2026-06-07T04:24:21.5997353Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5997591Z               "line": 489
2026-06-07T04:24:21.5997918Z             },
2026-06-07T04:24:21.5998128Z             {
2026-06-07T04:24:21.5998473Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5998714Z               "line": 517
2026-06-07T04:24:21.5998925Z             },
2026-06-07T04:24:21.5999131Z             {
2026-06-07T04:24:21.5999532Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T04:24:21.5999761Z               "line": 548
2026-06-07T04:24:21.6004763Z             },
2026-06-07T04:24:21.6005050Z             {
2026-06-07T04:24:21.6005459Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6005702Z               "line": 455
2026-06-07T04:24:21.6005902Z             }
2026-06-07T04:24:21.6006110Z           ]
2026-06-07T04:24:21.6006308Z         }
2026-06-07T04:24:21.6006516Z       }
2026-06-07T04:24:21.6006710Z     },
2026-06-07T04:24:21.6006952Z     {
2026-06-07T04:24:21.6007210Z       "id": "REQ-NOTIF-2",
2026-06-07T04:24:21.6008303Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-07T04:24:21.6008571Z       "requiredStages": [
2026-06-07T04:24:21.6008772Z         "doc",
2026-06-07T04:24:21.6008986Z         "impl",
2026-06-07T04:24:21.6009285Z         "unit",
2026-06-07T04:24:21.6009491Z         "int"
2026-06-07T04:24:21.6009694Z       ],
2026-06-07T04:24:21.6009909Z       "stages": {
2026-06-07T04:24:21.6010123Z         "doc": {
2026-06-07T04:24:21.6010364Z           "complete": true,
2026-06-07T04:24:21.6010599Z           "evidence": [
2026-06-07T04:24:21.6010795Z             {
2026-06-07T04:24:21.6011063Z               "path": "CONTEXT.md",
2026-06-07T04:24:21.6011294Z               "line": 346
2026-06-07T04:24:21.6011496Z             },
2026-06-07T04:24:21.6011704Z             {
2026-06-07T04:24:21.6011988Z               "path": "docs/MANIFEST.md",
2026-06-07T04:24:21.6012229Z               "line": 62
2026-06-07T04:24:21.6012444Z             }
2026-06-07T04:24:21.6012645Z           ]
2026-06-07T04:24:21.6012862Z         },
2026-06-07T04:24:21.6013072Z         "impl": {
2026-06-07T04:24:21.6013319Z           "complete": true,
2026-06-07T04:24:21.6013548Z           "evidence": [
2026-06-07T04:24:21.6013756Z             {
2026-06-07T04:24:21.6014127Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6014383Z               "line": 280
2026-06-07T04:24:21.6014756Z             },
2026-06-07T04:24:21.6014985Z             {
2026-06-07T04:24:21.6015387Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6015640Z               "line": 294
2026-06-07T04:24:21.6015861Z             },
2026-06-07T04:24:21.6016090Z             {
2026-06-07T04:24:21.6016590Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6016822Z               "line": 319
2026-06-07T04:24:21.6017023Z             },
2026-06-07T04:24:21.6017239Z             {
2026-06-07T04:24:21.6017637Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.6017895Z               "line": 126
2026-06-07T04:24:21.6018108Z             },
2026-06-07T04:24:21.6018306Z             {
2026-06-07T04:24:21.6018688Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6018917Z               "line": 72
2026-06-07T04:24:21.6019128Z             },
2026-06-07T04:24:21.6019394Z             {
2026-06-07T04:24:21.6019711Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6019952Z               "line": 1084
2026-06-07T04:24:21.6020152Z             },
2026-06-07T04:24:21.6020368Z             {
2026-06-07T04:24:21.6020667Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6020901Z               "line": 1116
2026-06-07T04:24:21.6021102Z             },
2026-06-07T04:24:21.6021311Z             {
2026-06-07T04:24:21.6021613Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6022112Z               "line": 1191
2026-06-07T04:24:21.6022354Z             },
2026-06-07T04:24:21.6022553Z             {
2026-06-07T04:24:21.6023004Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6023229Z               "line": 1230
2026-06-07T04:24:21.6023440Z             }
2026-06-07T04:24:21.6023646Z           ]
2026-06-07T04:24:21.6023850Z         },
2026-06-07T04:24:21.6024065Z         "int": {
2026-06-07T04:24:21.6024304Z           "complete": true,
2026-06-07T04:24:21.6024538Z           "evidence": [
2026-06-07T04:24:21.6024744Z             {
2026-06-07T04:24:21.6025144Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6025380Z               "line": 735
2026-06-07T04:24:21.6025584Z             },
2026-06-07T04:24:21.6025793Z             {
2026-06-07T04:24:21.6026178Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6026414Z               "line": 1155
2026-06-07T04:24:21.6026761Z             }
2026-06-07T04:24:21.6027024Z           ]
2026-06-07T04:24:21.6027254Z         },
2026-06-07T04:24:21.6027473Z         "unit": {
2026-06-07T04:24:21.6027734Z           "complete": true,
2026-06-07T04:24:21.6027986Z           "evidence": [
2026-06-07T04:24:21.6028200Z             {
2026-06-07T04:24:21.6028564Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6028813Z               "line": 893
2026-06-07T04:24:21.6029129Z             },
2026-06-07T04:24:21.6029527Z             {
2026-06-07T04:24:21.6029891Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6030121Z               "line": 961
2026-06-07T04:24:21.6030339Z             },
2026-06-07T04:24:21.6030538Z             {
2026-06-07T04:24:21.6030842Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6031079Z               "line": 3949
2026-06-07T04:24:21.6031286Z             },
2026-06-07T04:24:21.6031490Z             {
2026-06-07T04:24:21.6031790Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6032036Z               "line": 3998
2026-06-07T04:24:21.6032240Z             }
2026-06-07T04:24:21.6032450Z           ]
2026-06-07T04:24:21.6032672Z         }
2026-06-07T04:24:21.6032871Z       }
2026-06-07T04:24:21.6033078Z     },
2026-06-07T04:24:21.6033270Z     {
2026-06-07T04:24:21.6033522Z       "id": "REQ-PAIR-1",
2026-06-07T04:24:21.6033829Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-07T04:24:21.6034082Z       "requiredStages": [
2026-06-07T04:24:21.6034300Z         "impl",
2026-06-07T04:24:21.6034504Z         "unit",
2026-06-07T04:24:21.6034717Z         "int"
2026-06-07T04:24:21.6034911Z       ],
2026-06-07T04:24:21.6035135Z       "stages": {
2026-06-07T04:24:21.6035341Z         "doc": {
2026-06-07T04:24:21.6035595Z           "complete": false,
2026-06-07T04:24:21.6035832Z           "evidence": []
2026-06-07T04:24:21.6036032Z         },
2026-06-07T04:24:21.6036253Z         "impl": {
2026-06-07T04:24:21.6036490Z           "complete": true,
2026-06-07T04:24:21.6036732Z           "evidence": [
2026-06-07T04:24:21.6036931Z             {
2026-06-07T04:24:21.6037381Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6037627Z               "line": 27
2026-06-07T04:24:21.6037835Z             },
2026-06-07T04:24:21.6038044Z             {
2026-06-07T04:24:21.6038470Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6038778Z               "line": 88
2026-06-07T04:24:21.6038976Z             },
2026-06-07T04:24:21.6039223Z             {
2026-06-07T04:24:21.6039993Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6040220Z               "line": 110
2026-06-07T04:24:21.6040429Z             },
2026-06-07T04:24:21.6040628Z             {
2026-06-07T04:24:21.6041060Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6041285Z               "line": 153
2026-06-07T04:24:21.6041499Z             },
2026-06-07T04:24:21.6041702Z             {
2026-06-07T04:24:21.6042330Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6042589Z               "line": 182
2026-06-07T04:24:21.6042916Z             },
2026-06-07T04:24:21.6043135Z             {
2026-06-07T04:24:21.6043559Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6043782Z               "line": 29
2026-06-07T04:24:21.6043994Z             },
2026-06-07T04:24:21.6044192Z             {
2026-06-07T04:24:21.6044688Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T04:24:21.6044910Z               "line": 31
2026-06-07T04:24:21.6045114Z             },
2026-06-07T04:24:21.6045323Z             {
2026-06-07T04:24:21.6045733Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6045963Z               "line": 40
2026-06-07T04:24:21.6046162Z             },
2026-06-07T04:24:21.6046371Z             {
2026-06-07T04:24:21.6046784Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6047039Z               "line": 131
2026-06-07T04:24:21.6047250Z             },
2026-06-07T04:24:21.6047449Z             {
2026-06-07T04:24:21.6053243Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6053587Z               "line": 315
2026-06-07T04:24:21.6053808Z             }
2026-06-07T04:24:21.6054011Z           ]
2026-06-07T04:24:21.6054221Z         },
2026-06-07T04:24:21.6054435Z         "int": {
2026-06-07T04:24:21.6054679Z           "complete": true,
2026-06-07T04:24:21.6054916Z           "evidence": [
2026-06-07T04:24:21.6055115Z             {
2026-06-07T04:24:21.6055527Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6055767Z               "line": 570
2026-06-07T04:24:21.6055995Z             },
2026-06-07T04:24:21.6056207Z             {
2026-06-07T04:24:21.6056597Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6056833Z               "line": 787
2026-06-07T04:24:21.6057031Z             }
2026-06-07T04:24:21.6057278Z           ]
2026-06-07T04:24:21.6057478Z         },
2026-06-07T04:24:21.6057696Z         "unit": {
2026-06-07T04:24:21.6057956Z           "complete": true,
2026-06-07T04:24:21.6058179Z           "evidence": [
2026-06-07T04:24:21.6058386Z             {
2026-06-07T04:24:21.6058823Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6059060Z               "line": 236
2026-06-07T04:24:21.6059317Z             },
2026-06-07T04:24:21.6059574Z             {
2026-06-07T04:24:21.6060013Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T04:24:21.6060242Z               "line": 349
2026-06-07T04:24:21.6060456Z             },
2026-06-07T04:24:21.6060653Z             {
2026-06-07T04:24:21.6061083Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6061315Z               "line": 194
2026-06-07T04:24:21.6061535Z             },
2026-06-07T04:24:21.6061745Z             {
2026-06-07T04:24:21.6062172Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6062417Z               "line": 216
2026-06-07T04:24:21.6062626Z             },
2026-06-07T04:24:21.6062849Z             {
2026-06-07T04:24:21.6063263Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6063502Z               "line": 230
2026-06-07T04:24:21.6063713Z             },
2026-06-07T04:24:21.6063917Z             {
2026-06-07T04:24:21.6064340Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6064566Z               "line": 242
2026-06-07T04:24:21.6064777Z             },
2026-06-07T04:24:21.6064981Z             {
2026-06-07T04:24:21.6065396Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6065633Z               "line": 256
2026-06-07T04:24:21.6065840Z             },
2026-06-07T04:24:21.6066049Z             {
2026-06-07T04:24:21.6066466Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6066937Z               "line": 270
2026-06-07T04:24:21.6067174Z             },
2026-06-07T04:24:21.6067379Z             {
2026-06-07T04:24:21.6067809Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6068178Z               "line": 277
2026-06-07T04:24:21.6068393Z             },
2026-06-07T04:24:21.6068692Z             {
2026-06-07T04:24:21.6069140Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T04:24:21.6069426Z               "line": 295
2026-06-07T04:24:21.6069630Z             },
2026-06-07T04:24:21.6069840Z             {
2026-06-07T04:24:21.6070260Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6070500Z               "line": 742
2026-06-07T04:24:21.6070702Z             },
2026-06-07T04:24:21.6070913Z             {
2026-06-07T04:24:21.6071342Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6071575Z               "line": 819
2026-06-07T04:24:21.6071787Z             },
2026-06-07T04:24:21.6072000Z             {
2026-06-07T04:24:21.6072432Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6072667Z               "line": 887
2026-06-07T04:24:21.6072902Z             },
2026-06-07T04:24:21.6073123Z             {
2026-06-07T04:24:21.6073544Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6073786Z               "line": 949
2026-06-07T04:24:21.6073989Z             },
2026-06-07T04:24:21.6074200Z             {
2026-06-07T04:24:21.6074621Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6074853Z               "line": 1006
2026-06-07T04:24:21.6075064Z             },
2026-06-07T04:24:21.6075267Z             {
2026-06-07T04:24:21.6075693Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6075922Z               "line": 1197
2026-06-07T04:24:21.6076137Z             }
2026-06-07T04:24:21.6076347Z           ]
2026-06-07T04:24:21.6076551Z         }
2026-06-07T04:24:21.6076778Z       }
2026-06-07T04:24:21.6076976Z     },
2026-06-07T04:24:21.6077182Z     {
2026-06-07T04:24:21.6077425Z       "id": "REQ-PAIR-2",
2026-06-07T04:24:21.6077907Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-07T04:24:21.6078171Z       "requiredStages": [
2026-06-07T04:24:21.6078380Z         "impl",
2026-06-07T04:24:21.6078599Z         "unit"
2026-06-07T04:24:21.6078808Z       ],
2026-06-07T04:24:21.6079029Z       "stages": {
2026-06-07T04:24:21.6079277Z         "doc": {
2026-06-07T04:24:21.6079719Z           "complete": false,
2026-06-07T04:24:21.6079957Z           "evidence": []
2026-06-07T04:24:21.6080170Z         },
2026-06-07T04:24:21.6080391Z         "impl": {
2026-06-07T04:24:21.6080634Z           "complete": true,
2026-06-07T04:24:21.6080873Z           "evidence": [
2026-06-07T04:24:21.6081079Z             {
2026-06-07T04:24:21.6081442Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6081679Z               "line": 42
2026-06-07T04:24:21.6081893Z             },
2026-06-07T04:24:21.6082102Z             {
2026-06-07T04:24:21.6082455Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6082707Z               "line": 150
2026-06-07T04:24:21.6082908Z             },
2026-06-07T04:24:21.6083119Z             {
2026-06-07T04:24:21.6083485Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6083714Z               "line": 170
2026-06-07T04:24:21.6083930Z             },
2026-06-07T04:24:21.6084136Z             {
2026-06-07T04:24:21.6084501Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6084734Z               "line": 208
2026-06-07T04:24:21.6084955Z             },
2026-06-07T04:24:21.6085168Z             {
2026-06-07T04:24:21.6085519Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6085757Z               "line": 231
2026-06-07T04:24:21.6085959Z             }
2026-06-07T04:24:21.6086167Z           ]
2026-06-07T04:24:21.6086371Z         },
2026-06-07T04:24:21.6086740Z         "int": {
2026-06-07T04:24:21.6087006Z           "complete": false,
2026-06-07T04:24:21.6087241Z           "evidence": []
2026-06-07T04:24:21.6087583Z         },
2026-06-07T04:24:21.6087794Z         "unit": {
2026-06-07T04:24:21.6088046Z           "complete": true,
2026-06-07T04:24:21.6088273Z           "evidence": [
2026-06-07T04:24:21.6088490Z             {
2026-06-07T04:24:21.6088852Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6089075Z               "line": 252
2026-06-07T04:24:21.6089453Z             },
2026-06-07T04:24:21.6089655Z             {
2026-06-07T04:24:21.6090027Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6090251Z               "line": 271
2026-06-07T04:24:21.6090467Z             },
2026-06-07T04:24:21.6090680Z             {
2026-06-07T04:24:21.6091029Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6091265Z               "line": 286
2026-06-07T04:24:21.6091470Z             },
2026-06-07T04:24:21.6091701Z             {
2026-06-07T04:24:21.6092060Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6092303Z               "line": 308
2026-06-07T04:24:21.6092531Z             },
2026-06-07T04:24:21.6092733Z             {
2026-06-07T04:24:21.6093095Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6093333Z               "line": 324
2026-06-07T04:24:21.6093551Z             },
2026-06-07T04:24:21.6093751Z             {
2026-06-07T04:24:21.6094110Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6094347Z               "line": 342
2026-06-07T04:24:21.6094552Z             },
2026-06-07T04:24:21.6094766Z             {
2026-06-07T04:24:21.6095121Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6095364Z               "line": 357
2026-06-07T04:24:21.6095567Z             },
2026-06-07T04:24:21.6095782Z             {
2026-06-07T04:24:21.6100861Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6101232Z               "line": 370
2026-06-07T04:24:21.6101455Z             },
2026-06-07T04:24:21.6101655Z             {
2026-06-07T04:24:21.6102046Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T04:24:21.6102274Z               "line": 384
2026-06-07T04:24:21.6102484Z             }
2026-06-07T04:24:21.6102693Z           ]
2026-06-07T04:24:21.6102893Z         }
2026-06-07T04:24:21.6103097Z       }
2026-06-07T04:24:21.6103292Z     },
2026-06-07T04:24:21.6103493Z     {
2026-06-07T04:24:21.6103733Z       "id": "REQ-PAIR-3",
2026-06-07T04:24:21.6104239Z       "title": "Fetch current pairing code from any paired node",
2026-06-07T04:24:21.6104497Z       "requiredStages": [
2026-06-07T04:24:21.6104709Z         "impl",
2026-06-07T04:24:21.6104920Z         "unit"
2026-06-07T04:24:21.6105120Z       ],
2026-06-07T04:24:21.6105346Z       "stages": {
2026-06-07T04:24:21.6105551Z         "doc": {
2026-06-07T04:24:21.6105802Z           "complete": false,
2026-06-07T04:24:21.6106050Z           "evidence": []
2026-06-07T04:24:21.6106248Z         },
2026-06-07T04:24:21.6106465Z         "impl": {
2026-06-07T04:24:21.6106705Z           "complete": true,
2026-06-07T04:24:21.6106946Z           "evidence": [
2026-06-07T04:24:21.6107144Z             {
2026-06-07T04:24:21.6107458Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6107695Z               "line": 1592
2026-06-07T04:24:21.6107896Z             },
2026-06-07T04:24:21.6108103Z             {
2026-06-07T04:24:21.6108406Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6108644Z               "line": 1661
2026-06-07T04:24:21.6108844Z             },
2026-06-07T04:24:21.6109058Z             {
2026-06-07T04:24:21.6109435Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6109667Z               "line": 1835
2026-06-07T04:24:21.6109884Z             }
2026-06-07T04:24:21.6110088Z           ]
2026-06-07T04:24:21.6110293Z         },
2026-06-07T04:24:21.6110494Z         "int": {
2026-06-07T04:24:21.6111010Z           "complete": false,
2026-06-07T04:24:21.6111279Z           "evidence": []
2026-06-07T04:24:21.6111478Z         },
2026-06-07T04:24:21.6111879Z         "unit": {
2026-06-07T04:24:21.6112118Z           "complete": true,
2026-06-07T04:24:21.6112351Z           "evidence": [
2026-06-07T04:24:21.6112552Z             {
2026-06-07T04:24:21.6112861Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6113100Z               "line": 5323
2026-06-07T04:24:21.6113304Z             },
2026-06-07T04:24:21.6113510Z             {
2026-06-07T04:24:21.6113815Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6114049Z               "line": 5441
2026-06-07T04:24:21.6114248Z             },
2026-06-07T04:24:21.6114458Z             {
2026-06-07T04:24:21.6114758Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6114984Z               "line": 5749
2026-06-07T04:24:21.6115191Z             },
2026-06-07T04:24:21.6115387Z             {
2026-06-07T04:24:21.6115712Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6115939Z               "line": 5768
2026-06-07T04:24:21.6116148Z             },
2026-06-07T04:24:21.6116362Z             {
2026-06-07T04:24:21.6116659Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6116890Z               "line": 5792
2026-06-07T04:24:21.6117093Z             },
2026-06-07T04:24:21.6117294Z             {
2026-06-07T04:24:21.6117586Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6117818Z               "line": 5811
2026-06-07T04:24:21.6118026Z             },
2026-06-07T04:24:21.6118227Z             {
2026-06-07T04:24:21.6118535Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6118759Z               "line": 5824
2026-06-07T04:24:21.6118963Z             },
2026-06-07T04:24:21.6119237Z             {
2026-06-07T04:24:21.6119538Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6119780Z               "line": 5833
2026-06-07T04:24:21.6119984Z             }
2026-06-07T04:24:21.6120374Z           ]
2026-06-07T04:24:21.6120604Z         }
2026-06-07T04:24:21.6120842Z       }
2026-06-07T04:24:21.6121061Z     },
2026-06-07T04:24:21.6121302Z     {
2026-06-07T04:24:21.6121582Z       "id": "REQ-PAIR-4",
2026-06-07T04:24:21.6122120Z       "title": "Subnet naming on first pairing",
2026-06-07T04:24:21.6122382Z       "requiredStages": [
2026-06-07T04:24:21.6122591Z         "impl",
2026-06-07T04:24:21.6122801Z         "unit"
2026-06-07T04:24:21.6122994Z       ],
2026-06-07T04:24:21.6123225Z       "stages": {
2026-06-07T04:24:21.6123438Z         "doc": {
2026-06-07T04:24:21.6123679Z           "complete": false,
2026-06-07T04:24:21.6123914Z           "evidence": []
2026-06-07T04:24:21.6124111Z         },
2026-06-07T04:24:21.6124333Z         "impl": {
2026-06-07T04:24:21.6124571Z           "complete": true,
2026-06-07T04:24:21.6124800Z           "evidence": [
2026-06-07T04:24:21.6125001Z             {
2026-06-07T04:24:21.6125367Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T04:24:21.6125611Z               "line": 154
2026-06-07T04:24:21.6125811Z             }
2026-06-07T04:24:21.6126014Z           ]
2026-06-07T04:24:21.6126229Z         },
2026-06-07T04:24:21.6126448Z         "int": {
2026-06-07T04:24:21.6126701Z           "complete": false,
2026-06-07T04:24:21.6126931Z           "evidence": []
2026-06-07T04:24:21.6127139Z         },
2026-06-07T04:24:21.6127341Z         "unit": {
2026-06-07T04:24:21.6127588Z           "complete": true,
2026-06-07T04:24:21.6127812Z           "evidence": [
2026-06-07T04:24:21.6128023Z             {
2026-06-07T04:24:21.6128457Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6128687Z               "line": 1063
2026-06-07T04:24:21.6128896Z             }
2026-06-07T04:24:21.6129099Z           ]
2026-06-07T04:24:21.6129448Z         }
2026-06-07T04:24:21.6129654Z       }
2026-06-07T04:24:21.6129856Z     },
2026-06-07T04:24:21.6130069Z     {
2026-06-07T04:24:21.6130310Z       "id": "REQ-PAIR-5",
2026-06-07T04:24:21.6131809Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-07T04:24:21.6132234Z       "requiredStages": [
2026-06-07T04:24:21.6132620Z         "impl",
2026-06-07T04:24:21.6132980Z         "unit",
2026-06-07T04:24:21.6133193Z         "int"
2026-06-07T04:24:21.6133396Z       ],
2026-06-07T04:24:21.6133608Z       "stages": {
2026-06-07T04:24:21.6133823Z         "doc": {
2026-06-07T04:24:21.6134065Z           "complete": false,
2026-06-07T04:24:21.6134296Z           "evidence": []
2026-06-07T04:24:21.6134492Z         },
2026-06-07T04:24:21.6134714Z         "impl": {
2026-06-07T04:24:21.6134965Z           "complete": true,
2026-06-07T04:24:21.6135184Z           "evidence": [
2026-06-07T04:24:21.6135388Z             {
2026-06-07T04:24:21.6135807Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6136036Z               "line": 44
2026-06-07T04:24:21.6136239Z             },
2026-06-07T04:24:21.6136462Z             {
2026-06-07T04:24:21.6136891Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6137110Z               "line": 96
2026-06-07T04:24:21.6137327Z             },
2026-06-07T04:24:21.6137525Z             {
2026-06-07T04:24:21.6137956Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6138193Z               "line": 107
2026-06-07T04:24:21.6138395Z             },
2026-06-07T04:24:21.6138599Z             {
2026-06-07T04:24:21.6139013Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6139290Z               "line": 124
2026-06-07T04:24:21.6139495Z             },
2026-06-07T04:24:21.6139701Z             {
2026-06-07T04:24:21.6140119Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6140347Z               "line": 155
2026-06-07T04:24:21.6140556Z             },
2026-06-07T04:24:21.6140755Z             {
2026-06-07T04:24:21.6141191Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6141418Z               "line": 195
2026-06-07T04:24:21.6141630Z             },
2026-06-07T04:24:21.6141851Z             {
2026-06-07T04:24:21.6142269Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6142505Z               "line": 251
2026-06-07T04:24:21.6142705Z             },
2026-06-07T04:24:21.6147663Z             {
2026-06-07T04:24:21.6148246Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6148490Z               "line": 33
2026-06-07T04:24:21.6148703Z             },
2026-06-07T04:24:21.6148904Z             {
2026-06-07T04:24:21.6149492Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6149730Z               "line": 45
2026-06-07T04:24:21.6149947Z             },
2026-06-07T04:24:21.6150145Z             {
2026-06-07T04:24:21.6150652Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6150885Z               "line": 59
2026-06-07T04:24:21.6151119Z             },
2026-06-07T04:24:21.6151328Z             {
2026-06-07T04:24:21.6151745Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6152000Z               "line": 315
2026-06-07T04:24:21.6152198Z             }
2026-06-07T04:24:21.6152411Z           ]
2026-06-07T04:24:21.6152615Z         },
2026-06-07T04:24:21.6152819Z         "int": {
2026-06-07T04:24:21.6153070Z           "complete": true,
2026-06-07T04:24:21.6153308Z           "evidence": [
2026-06-07T04:24:21.6153692Z             {
2026-06-07T04:24:21.6154253Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6154502Z               "line": 787
2026-06-07T04:24:21.6154711Z             },
2026-06-07T04:24:21.6154911Z             {
2026-06-07T04:24:21.6155330Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6155557Z               "line": 342
2026-06-07T04:24:21.6155771Z             }
2026-06-07T04:24:21.6155983Z           ]
2026-06-07T04:24:21.6156423Z         },
2026-06-07T04:24:21.6156668Z         "unit": {
2026-06-07T04:24:21.6156913Z           "complete": true,
2026-06-07T04:24:21.6157287Z           "evidence": [
2026-06-07T04:24:21.6157492Z             {
2026-06-07T04:24:21.6157910Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6158146Z               "line": 293
2026-06-07T04:24:21.6158353Z             },
2026-06-07T04:24:21.6158561Z             {
2026-06-07T04:24:21.6158974Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6159256Z               "line": 304
2026-06-07T04:24:21.6159460Z             },
2026-06-07T04:24:21.6159669Z             {
2026-06-07T04:24:21.6160105Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6160332Z               "line": 406
2026-06-07T04:24:21.6160543Z             },
2026-06-07T04:24:21.6160748Z             {
2026-06-07T04:24:21.6161260Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6161492Z               "line": 72
2026-06-07T04:24:21.6161701Z             },
2026-06-07T04:24:21.6161920Z             {
2026-06-07T04:24:21.6162399Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6162631Z               "line": 82
2026-06-07T04:24:21.6162832Z             },
2026-06-07T04:24:21.6163042Z             {
2026-06-07T04:24:21.6163522Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6163759Z               "line": 100
2026-06-07T04:24:21.6163967Z             },
2026-06-07T04:24:21.6164165Z             {
2026-06-07T04:24:21.6164647Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6164876Z               "line": 110
2026-06-07T04:24:21.6165085Z             },
2026-06-07T04:24:21.6165287Z             {
2026-06-07T04:24:21.6165777Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T04:24:21.6166018Z               "line": 125
2026-06-07T04:24:21.6166226Z             },
2026-06-07T04:24:21.6166439Z             {
2026-06-07T04:24:21.6166849Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6167093Z               "line": 812
2026-06-07T04:24:21.6167304Z             },
2026-06-07T04:24:21.6167506Z             {
2026-06-07T04:24:21.6167927Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6168156Z               "line": 876
2026-06-07T04:24:21.6168363Z             },
2026-06-07T04:24:21.6168564Z             {
2026-06-07T04:24:21.6168993Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T04:24:21.6169272Z               "line": 1126
2026-06-07T04:24:21.6169475Z             }
2026-06-07T04:24:21.6169681Z           ]
2026-06-07T04:24:21.6169882Z         }
2026-06-07T04:24:21.6170086Z       }
2026-06-07T04:24:21.6170280Z     },
2026-06-07T04:24:21.6170481Z     {
2026-06-07T04:24:21.6170731Z       "id": "REQ-PAIR-6",
2026-06-07T04:24:21.6171789Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-07T04:24:21.6172065Z       "requiredStages": [
2026-06-07T04:24:21.6172275Z         "impl",
2026-06-07T04:24:21.6172491Z         "unit"
2026-06-07T04:24:21.6172689Z       ],
2026-06-07T04:24:21.6172913Z       "stages": {
2026-06-07T04:24:21.6173128Z         "doc": {
2026-06-07T04:24:21.6173368Z           "complete": false,
2026-06-07T04:24:21.6173606Z           "evidence": []
2026-06-07T04:24:21.6173803Z         },
2026-06-07T04:24:21.6174030Z         "impl": {
2026-06-07T04:24:21.6174272Z           "complete": true,
2026-06-07T04:24:21.6174503Z           "evidence": [
2026-06-07T04:24:21.6174707Z             {
2026-06-07T04:24:21.6175013Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6175252Z               "line": 1661
2026-06-07T04:24:21.6175458Z             },
2026-06-07T04:24:21.6175661Z             {
2026-06-07T04:24:21.6176115Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6176376Z               "line": 1835
2026-06-07T04:24:21.6176594Z             },
2026-06-07T04:24:21.6176926Z             {
2026-06-07T04:24:21.6177274Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T04:24:21.6177497Z               "line": 18
2026-06-07T04:24:21.6177704Z             },
2026-06-07T04:24:21.6177901Z             {
2026-06-07T04:24:21.6178245Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T04:24:21.6178472Z               "line": 49
2026-06-07T04:24:21.6178677Z             },
2026-06-07T04:24:21.6178889Z             {
2026-06-07T04:24:21.6179282Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T04:24:21.6179517Z               "line": 91
2026-06-07T04:24:21.6179722Z             }
2026-06-07T04:24:21.6179939Z           ]
2026-06-07T04:24:21.6180146Z         },
2026-06-07T04:24:21.6180353Z         "int": {
2026-06-07T04:24:21.6180608Z           "complete": false,
2026-06-07T04:24:21.6180840Z           "evidence": []
2026-06-07T04:24:21.6181059Z         },
2026-06-07T04:24:21.6181272Z         "unit": {
2026-06-07T04:24:21.6181516Z           "complete": true,
2026-06-07T04:24:21.6181762Z           "evidence": [
2026-06-07T04:24:21.6181961Z             {
2026-06-07T04:24:21.6182272Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6182503Z               "line": 5846
2026-06-07T04:24:21.6182709Z             },
2026-06-07T04:24:21.6182905Z             {
2026-06-07T04:24:21.6183218Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6183454Z               "line": 5863
2026-06-07T04:24:21.6183653Z             },
2026-06-07T04:24:21.6183859Z             {
2026-06-07T04:24:21.6184186Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T04:24:21.6184419Z               "line": 156
2026-06-07T04:24:21.6184630Z             },
2026-06-07T04:24:21.6184847Z             {
2026-06-07T04:24:21.6185193Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T04:24:21.6185429Z               "line": 165
2026-06-07T04:24:21.6185638Z             }
2026-06-07T04:24:21.6185841Z           ]
2026-06-07T04:24:21.6186053Z         }
2026-06-07T04:24:21.6186258Z       }
2026-06-07T04:24:21.6186467Z     },
2026-06-07T04:24:21.6186668Z     {
2026-06-07T04:24:21.6186909Z       "id": "REQ-PAIR-7",
2026-06-07T04:24:21.6187491Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-07T04:24:21.6187748Z       "requiredStages": [],
2026-06-07T04:24:21.6187965Z       "stages": {
2026-06-07T04:24:21.6188164Z         "doc": {
2026-06-07T04:24:21.6188418Z           "complete": false,
2026-06-07T04:24:21.6188658Z           "evidence": []
2026-06-07T04:24:21.6188853Z         },
2026-06-07T04:24:21.6189071Z         "impl": {
2026-06-07T04:24:21.6189355Z           "complete": false,
2026-06-07T04:24:21.6189596Z           "evidence": []
2026-06-07T04:24:21.6189800Z         },
2026-06-07T04:24:21.6190011Z         "int": {
2026-06-07T04:24:21.6190259Z           "complete": false,
2026-06-07T04:24:21.6190502Z           "evidence": []
2026-06-07T04:24:21.6195361Z         },
2026-06-07T04:24:21.6195664Z         "unit": {
2026-06-07T04:24:21.6195956Z           "complete": false,
2026-06-07T04:24:21.6196198Z           "evidence": []
2026-06-07T04:24:21.6196404Z         }
2026-06-07T04:24:21.6196608Z       }
2026-06-07T04:24:21.6196802Z     },
2026-06-07T04:24:21.6197007Z     {
2026-06-07T04:24:21.6197250Z       "id": "REQ-PRES-1",
2026-06-07T04:24:21.6203953Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-07T04:24:21.6204230Z       "requiredStages": [
2026-06-07T04:24:21.6204441Z         "impl",
2026-06-07T04:24:21.6204886Z         "unit",
2026-06-07T04:24:21.6205115Z         "int"
2026-06-07T04:24:21.6205321Z       ],
2026-06-07T04:24:21.6205714Z       "stages": {
2026-06-07T04:24:21.6205923Z         "doc": {
2026-06-07T04:24:21.6206166Z           "complete": true,
2026-06-07T04:24:21.6206387Z           "evidence": [
2026-06-07T04:24:21.6206595Z             {
2026-06-07T04:24:21.6206869Z               "path": "docs/DEFERRED.md",
2026-06-07T04:24:21.6207105Z               "line": 11
2026-06-07T04:24:21.6207312Z             }
2026-06-07T04:24:21.6207523Z           ]
2026-06-07T04:24:21.6207736Z         },
2026-06-07T04:24:21.6207949Z         "impl": {
2026-06-07T04:24:21.6208197Z           "complete": true,
2026-06-07T04:24:21.6208421Z           "evidence": [
2026-06-07T04:24:21.6208633Z             {
2026-06-07T04:24:21.6209029Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.6209313Z               "line": 472
2026-06-07T04:24:21.6209531Z             },
2026-06-07T04:24:21.6209750Z             {
2026-06-07T04:24:21.6210147Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.6210373Z               "line": 524
2026-06-07T04:24:21.6210603Z             },
2026-06-07T04:24:21.6210804Z             {
2026-06-07T04:24:21.6211174Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6211417Z               "line": 181
2026-06-07T04:24:21.6211619Z             },
2026-06-07T04:24:21.6211827Z             {
2026-06-07T04:24:21.6212180Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6212412Z               "line": 207
2026-06-07T04:24:21.6212613Z             },
2026-06-07T04:24:21.6212819Z             {
2026-06-07T04:24:21.6213211Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6213435Z               "line": 28
2026-06-07T04:24:21.6213647Z             },
2026-06-07T04:24:21.6213853Z             {
2026-06-07T04:24:21.6214254Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6214492Z               "line": 105
2026-06-07T04:24:21.6214709Z             },
2026-06-07T04:24:21.6214920Z             {
2026-06-07T04:24:21.6215319Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6215555Z               "line": 161
2026-06-07T04:24:21.6215758Z             },
2026-06-07T04:24:21.6215964Z             {
2026-06-07T04:24:21.6216353Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6216580Z               "line": 180
2026-06-07T04:24:21.6216791Z             },
2026-06-07T04:24:21.6216990Z             {
2026-06-07T04:24:21.6217419Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6217649Z               "line": 313
2026-06-07T04:24:21.6217856Z             },
2026-06-07T04:24:21.6218060Z             {
2026-06-07T04:24:21.6218448Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6218680Z               "line": 289
2026-06-07T04:24:21.6218880Z             },
2026-06-07T04:24:21.6219095Z             {
2026-06-07T04:24:21.6219536Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6219789Z               "line": 336
2026-06-07T04:24:21.6220017Z             },
2026-06-07T04:24:21.6220255Z             {
2026-06-07T04:24:21.6220681Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6220911Z               "line": 362
2026-06-07T04:24:21.6221122Z             },
2026-06-07T04:24:21.6221320Z             {
2026-06-07T04:24:21.6221711Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6221947Z               "line": 100
2026-06-07T04:24:21.6222150Z             }
2026-06-07T04:24:21.6222353Z           ]
2026-06-07T04:24:21.6222551Z         },
2026-06-07T04:24:21.6222766Z         "int": {
2026-06-07T04:24:21.6223006Z           "complete": true,
2026-06-07T04:24:21.6223245Z           "evidence": [
2026-06-07T04:24:21.6223457Z             {
2026-06-07T04:24:21.6224025Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.6224285Z               "line": 546
2026-06-07T04:24:21.6224484Z             },
2026-06-07T04:24:21.6224846Z             {
2026-06-07T04:24:21.6225233Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6225473Z               "line": 672
2026-06-07T04:24:21.6225689Z             },
2026-06-07T04:24:21.6225893Z             {
2026-06-07T04:24:21.6226291Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6226523Z               "line": 1065
2026-06-07T04:24:21.6226733Z             }
2026-06-07T04:24:21.6226929Z           ]
2026-06-07T04:24:21.6227137Z         },
2026-06-07T04:24:21.6227355Z         "unit": {
2026-06-07T04:24:21.6227594Z           "complete": true,
2026-06-07T04:24:21.6227820Z           "evidence": [
2026-06-07T04:24:21.6228018Z             {
2026-06-07T04:24:21.6228383Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.6228612Z               "line": 601
2026-06-07T04:24:21.6228853Z             },
2026-06-07T04:24:21.6229060Z             {
2026-06-07T04:24:21.6229511Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6230069Z               "line": 236
2026-06-07T04:24:21.6230284Z             },
2026-06-07T04:24:21.6230555Z             {
2026-06-07T04:24:21.6231020Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6231311Z               "line": 267
2026-06-07T04:24:21.6231538Z             },
2026-06-07T04:24:21.6231740Z             {
2026-06-07T04:24:21.6232135Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6232362Z               "line": 303
2026-06-07T04:24:21.6232577Z             },
2026-06-07T04:24:21.6232787Z             {
2026-06-07T04:24:21.6233174Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T04:24:21.6233417Z               "line": 334
2026-06-07T04:24:21.6233621Z             },
2026-06-07T04:24:21.6233825Z             {
2026-06-07T04:24:21.6234261Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6234504Z               "line": 612
2026-06-07T04:24:21.6234727Z             },
2026-06-07T04:24:21.6234929Z             {
2026-06-07T04:24:21.6235335Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6235591Z               "line": 959
2026-06-07T04:24:21.6235961Z             }
2026-06-07T04:24:21.6236199Z           ]
2026-06-07T04:24:21.6236438Z         }
2026-06-07T04:24:21.6236669Z       }
2026-06-07T04:24:21.6236890Z     },
2026-06-07T04:24:21.6237119Z     {
2026-06-07T04:24:21.6237526Z       "id": "REQ-REACH-1",
2026-06-07T04:24:21.6238037Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-07T04:24:21.6238285Z       "requiredStages": [
2026-06-07T04:24:21.6238507Z         "impl",
2026-06-07T04:24:21.6238724Z         "unit",
2026-06-07T04:24:21.6238928Z         "int"
2026-06-07T04:24:21.6239138Z       ],
2026-06-07T04:24:21.6239425Z       "stages": {
2026-06-07T04:24:21.6239670Z         "doc": {
2026-06-07T04:24:21.6239923Z           "complete": false,
2026-06-07T04:24:21.6240175Z           "evidence": []
2026-06-07T04:24:21.6240394Z         },
2026-06-07T04:24:21.6240610Z         "impl": {
2026-06-07T04:24:21.6240867Z           "complete": true,
2026-06-07T04:24:21.6241095Z           "evidence": [
2026-06-07T04:24:21.6241303Z             {
2026-06-07T04:24:21.6241675Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T04:24:21.6241911Z               "line": 140
2026-06-07T04:24:21.6242124Z             },
2026-06-07T04:24:21.6242322Z             {
2026-06-07T04:24:21.6242679Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.6242902Z               "line": 76
2026-06-07T04:24:21.6243120Z             },
2026-06-07T04:24:21.6243326Z             {
2026-06-07T04:24:21.6243696Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.6243941Z               "line": 222
2026-06-07T04:24:21.6244141Z             },
2026-06-07T04:24:21.6250206Z             {
2026-06-07T04:24:21.6250714Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.6251101Z               "line": 422
2026-06-07T04:24:21.6251306Z             },
2026-06-07T04:24:21.6251514Z             {
2026-06-07T04:24:21.6251870Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.6252098Z               "line": 529
2026-06-07T04:24:21.6252312Z             },
2026-06-07T04:24:21.6252509Z             {
2026-06-07T04:24:21.6252871Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T04:24:21.6253092Z               "line": 39
2026-06-07T04:24:21.6253297Z             },
2026-06-07T04:24:21.6253499Z             {
2026-06-07T04:24:21.6253835Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.6254067Z               "line": 229
2026-06-07T04:24:21.6254270Z             },
2026-06-07T04:24:21.6254473Z             {
2026-06-07T04:24:21.6254819Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T04:24:21.6255092Z               "line": 88
2026-06-07T04:24:21.6255331Z             },
2026-06-07T04:24:21.6255696Z             {
2026-06-07T04:24:21.6256102Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T04:24:21.6256359Z               "line": 98
2026-06-07T04:24:21.6256641Z             },
2026-06-07T04:24:21.6256922Z             {
2026-06-07T04:24:21.6257387Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6257677Z               "line": 210
2026-06-07T04:24:21.6257891Z             }
2026-06-07T04:24:21.6258114Z           ]
2026-06-07T04:24:21.6258325Z         },
2026-06-07T04:24:21.6258556Z         "int": {
2026-06-07T04:24:21.6258813Z           "complete": true,
2026-06-07T04:24:21.6259087Z           "evidence": [
2026-06-07T04:24:21.6259395Z             {
2026-06-07T04:24:21.6259971Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.6260216Z               "line": 404
2026-06-07T04:24:21.6260418Z             },
2026-06-07T04:24:21.6260649Z             {
2026-06-07T04:24:21.6261064Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.6261318Z               "line": 503
2026-06-07T04:24:21.6261530Z             },
2026-06-07T04:24:21.6261725Z             {
2026-06-07T04:24:21.6262120Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6262344Z               "line": 898
2026-06-07T04:24:21.6262558Z             },
2026-06-07T04:24:21.6262769Z             {
2026-06-07T04:24:21.6263159Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6263401Z               "line": 1193
2026-06-07T04:24:21.6263601Z             }
2026-06-07T04:24:21.6263813Z           ]
2026-06-07T04:24:21.6264013Z         },
2026-06-07T04:24:21.6264232Z         "unit": {
2026-06-07T04:24:21.6264485Z           "complete": true,
2026-06-07T04:24:21.6264713Z           "evidence": [
2026-06-07T04:24:21.6264923Z             {
2026-06-07T04:24:21.6265284Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.6265518Z               "line": 639
2026-06-07T04:24:21.6265721Z             },
2026-06-07T04:24:21.6265939Z             {
2026-06-07T04:24:21.6266295Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T04:24:21.6266520Z               "line": 660
2026-06-07T04:24:21.6266733Z             },
2026-06-07T04:24:21.6266931Z             {
2026-06-07T04:24:21.6267326Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T04:24:21.6267551Z               "line": 390
2026-06-07T04:24:21.6267764Z             },
2026-06-07T04:24:21.6267972Z             {
2026-06-07T04:24:21.6268338Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-07T04:24:21.6268567Z               "line": 92
2026-06-07T04:24:21.6268766Z             },
2026-06-07T04:24:21.6268979Z             {
2026-06-07T04:24:21.6269557Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-07T04:24:21.6269853Z               "line": 223
2026-06-07T04:24:21.6270442Z             },
2026-06-07T04:24:21.6270662Z             {
2026-06-07T04:24:21.6271035Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T04:24:21.6271393Z               "line": 96
2026-06-07T04:24:21.6271606Z             },
2026-06-07T04:24:21.6271806Z             {
2026-06-07T04:24:21.6272179Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T04:24:21.6272420Z               "line": 146
2026-06-07T04:24:21.6272621Z             },
2026-06-07T04:24:21.6272832Z             {
2026-06-07T04:24:21.6273179Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.6273417Z               "line": 502
2026-06-07T04:24:21.6273621Z             },
2026-06-07T04:24:21.6273835Z             {
2026-06-07T04:24:21.6274191Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T04:24:21.6274417Z               "line": 118
2026-06-07T04:24:21.6274627Z             },
2026-06-07T04:24:21.6274828Z             {
2026-06-07T04:24:21.6275193Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T04:24:21.6275429Z               "line": 148
2026-06-07T04:24:21.6275645Z             },
2026-06-07T04:24:21.6275876Z             {
2026-06-07T04:24:21.6276254Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6276497Z               "line": 602
2026-06-07T04:24:21.6276735Z             }
2026-06-07T04:24:21.6276942Z           ]
2026-06-07T04:24:21.6277149Z         }
2026-06-07T04:24:21.6277366Z       }
2026-06-07T04:24:21.6277572Z     },
2026-06-07T04:24:21.6277768Z     {
2026-06-07T04:24:21.6278019Z       "id": "REQ-REACH-2",
2026-06-07T04:24:21.6278563Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-07T04:24:21.6278844Z       "requiredStages": [],
2026-06-07T04:24:21.6279064Z       "stages": {
2026-06-07T04:24:21.6279330Z         "doc": {
2026-06-07T04:24:21.6279589Z           "complete": false,
2026-06-07T04:24:21.6279820Z           "evidence": []
2026-06-07T04:24:21.6280031Z         },
2026-06-07T04:24:21.6280252Z         "impl": {
2026-06-07T04:24:21.6280508Z           "complete": false,
2026-06-07T04:24:21.6280744Z           "evidence": []
2026-06-07T04:24:21.6280968Z         },
2026-06-07T04:24:21.6281191Z         "int": {
2026-06-07T04:24:21.6281436Z           "complete": false,
2026-06-07T04:24:21.6281678Z           "evidence": []
2026-06-07T04:24:21.6281882Z         },
2026-06-07T04:24:21.6282109Z         "unit": {
2026-06-07T04:24:21.6282358Z           "complete": false,
2026-06-07T04:24:21.6282603Z           "evidence": []
2026-06-07T04:24:21.6282813Z         }
2026-06-07T04:24:21.6283011Z       }
2026-06-07T04:24:21.6283213Z     },
2026-06-07T04:24:21.6283408Z     {
2026-06-07T04:24:21.6283652Z       "id": "REQ-REL-1",
2026-06-07T04:24:21.6285375Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-07T04:24:21.6285638Z       "requiredStages": [
2026-06-07T04:24:21.6285854Z         "doc",
2026-06-07T04:24:21.6286072Z         "impl"
2026-06-07T04:24:21.6286283Z       ],
2026-06-07T04:24:21.6286497Z       "stages": {
2026-06-07T04:24:21.6286708Z         "doc": {
2026-06-07T04:24:21.6286960Z           "complete": true,
2026-06-07T04:24:21.6287192Z           "evidence": [
2026-06-07T04:24:21.6287400Z             {
2026-06-07T04:24:21.6288255Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-07T04:24:21.6288485Z               "line": 3
2026-06-07T04:24:21.6288696Z             }
2026-06-07T04:24:21.6288905Z           ]
2026-06-07T04:24:21.6289104Z         },
2026-06-07T04:24:21.6289387Z         "impl": {
2026-06-07T04:24:21.6289645Z           "complete": true,
2026-06-07T04:24:21.6289874Z           "evidence": [
2026-06-07T04:24:21.6290088Z             {
2026-06-07T04:24:21.6290501Z               "path": ".github/workflows/docs-publish.yml",
2026-06-07T04:24:21.6290748Z               "line": 11
2026-06-07T04:24:21.6290965Z             },
2026-06-07T04:24:21.6291374Z             {
2026-06-07T04:24:21.6291732Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6291959Z               "line": 264
2026-06-07T04:24:21.6292290Z             }
2026-06-07T04:24:21.6292494Z           ]
2026-06-07T04:24:21.6292706Z         },
2026-06-07T04:24:21.6292926Z         "int": {
2026-06-07T04:24:21.6293175Z           "complete": false,
2026-06-07T04:24:21.6293420Z           "evidence": []
2026-06-07T04:24:21.6293625Z         },
2026-06-07T04:24:21.6293848Z         "unit": {
2026-06-07T04:24:21.6294091Z           "complete": false,
2026-06-07T04:24:21.6294336Z           "evidence": []
2026-06-07T04:24:21.6300031Z         }
2026-06-07T04:24:21.6300348Z       }
2026-06-07T04:24:21.6300556Z     },
2026-06-07T04:24:21.6300752Z     {
2026-06-07T04:24:21.6301010Z       "id": "REQ-REL-2",
2026-06-07T04:24:21.6303327Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-07T04:24:21.6303602Z       "requiredStages": [
2026-06-07T04:24:21.6303819Z         "impl",
2026-06-07T04:24:21.6304046Z         "int"
2026-06-07T04:24:21.6304257Z       ],
2026-06-07T04:24:21.6304470Z       "stages": {
2026-06-07T04:24:21.6304685Z         "doc": {
2026-06-07T04:24:21.6304926Z           "complete": true,
2026-06-07T04:24:21.6305157Z           "evidence": [
2026-06-07T04:24:21.6305366Z             {
2026-06-07T04:24:21.6305701Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-07T04:24:21.6305927Z               "line": 6
2026-06-07T04:24:21.6306127Z             }
2026-06-07T04:24:21.6306336Z           ]
2026-06-07T04:24:21.6306534Z         },
2026-06-07T04:24:21.6306752Z         "impl": {
2026-06-07T04:24:21.6307002Z           "complete": true,
2026-06-07T04:24:21.6307230Z           "evidence": [
2026-06-07T04:24:21.6307443Z             {
2026-06-07T04:24:21.6307799Z               "path": ".github/workflows/release.yml",
2026-06-07T04:24:21.6308040Z               "line": 16
2026-06-07T04:24:21.6308240Z             },
2026-06-07T04:24:21.6308448Z             {
2026-06-07T04:24:21.6308780Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6309020Z               "line": 351
2026-06-07T04:24:21.6309289Z             },
2026-06-07T04:24:21.6309491Z             {
2026-06-07T04:24:21.6309820Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6310052Z               "line": 423
2026-06-07T04:24:21.6310264Z             },
2026-06-07T04:24:21.6310480Z             {
2026-06-07T04:24:21.6310793Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6311029Z               "line": 483
2026-06-07T04:24:21.6311232Z             },
2026-06-07T04:24:21.6311438Z             {
2026-06-07T04:24:21.6311753Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6311985Z               "line": 590
2026-06-07T04:24:21.6312193Z             }
2026-06-07T04:24:21.6312395Z           ]
2026-06-07T04:24:21.6312612Z         },
2026-06-07T04:24:21.6312817Z         "int": {
2026-06-07T04:24:21.6313068Z           "complete": true,
2026-06-07T04:24:21.6313296Z           "evidence": [
2026-06-07T04:24:21.6313521Z             {
2026-06-07T04:24:21.6313950Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-07T04:24:21.6314174Z               "line": 13
2026-06-07T04:24:21.6314385Z             }
2026-06-07T04:24:21.6314587Z           ]
2026-06-07T04:24:21.6314795Z         },
2026-06-07T04:24:21.6315004Z         "unit": {
2026-06-07T04:24:21.6315257Z           "complete": false,
2026-06-07T04:24:21.6315494Z           "evidence": []
2026-06-07T04:24:21.6315691Z         }
2026-06-07T04:24:21.6315899Z       }
2026-06-07T04:24:21.6316093Z     },
2026-06-07T04:24:21.6316295Z     {
2026-06-07T04:24:21.6316525Z       "id": "REQ-REL-3",
2026-06-07T04:24:21.6318786Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-07T04:24:21.6319069Z       "requiredStages": [
2026-06-07T04:24:21.6319316Z         "impl",
2026-06-07T04:24:21.6319672Z         "unit"
2026-06-07T04:24:21.6319871Z       ],
2026-06-07T04:24:21.6320095Z       "stages": {
2026-06-07T04:24:21.6320300Z         "doc": {
2026-06-07T04:24:21.6320553Z           "complete": false,
2026-06-07T04:24:21.6320795Z           "evidence": []
2026-06-07T04:24:21.6320996Z         },
2026-06-07T04:24:21.6321221Z         "impl": {
2026-06-07T04:24:21.6321462Z           "complete": true,
2026-06-07T04:24:21.6321697Z           "evidence": [
2026-06-07T04:24:21.6321899Z             {
2026-06-07T04:24:21.6322296Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.6322533Z               "line": 224
2026-06-07T04:24:21.6322734Z             },
2026-06-07T04:24:21.6322941Z             {
2026-06-07T04:24:21.6323318Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.6323553Z               "line": 276
2026-06-07T04:24:21.6323767Z             },
2026-06-07T04:24:21.6323981Z             {
2026-06-07T04:24:21.6324306Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6324545Z               "line": 328
2026-06-07T04:24:21.6324763Z             },
2026-06-07T04:24:21.6324964Z             {
2026-06-07T04:24:21.6325286Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6325519Z               "line": 352
2026-06-07T04:24:21.6325723Z             },
2026-06-07T04:24:21.6325931Z             {
2026-06-07T04:24:21.6326245Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.6326482Z               "line": 391
2026-06-07T04:24:21.6326688Z             }
2026-06-07T04:24:21.6326898Z           ]
2026-06-07T04:24:21.6327096Z         },
2026-06-07T04:24:21.6327311Z         "int": {
2026-06-07T04:24:21.6327563Z           "complete": false,
2026-06-07T04:24:21.6327799Z           "evidence": []
2026-06-07T04:24:21.6328007Z         },
2026-06-07T04:24:21.6328216Z         "unit": {
2026-06-07T04:24:21.6328478Z           "complete": true,
2026-06-07T04:24:21.6328707Z           "evidence": [
2026-06-07T04:24:21.6328927Z             {
2026-06-07T04:24:21.6329483Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.6329711Z               "line": 977
2026-06-07T04:24:21.6329920Z             },
2026-06-07T04:24:21.6330121Z             {
2026-06-07T04:24:21.6330509Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.6330749Z               "line": 1036
2026-06-07T04:24:21.6330956Z             }
2026-06-07T04:24:21.6331167Z           ]
2026-06-07T04:24:21.6331367Z         }
2026-06-07T04:24:21.6331575Z       }
2026-06-07T04:24:21.6331770Z     },
2026-06-07T04:24:21.6331975Z     {
2026-06-07T04:24:21.6332279Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-07T04:24:21.6332963Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-07T04:24:21.6333227Z       "requiredStages": [
2026-06-07T04:24:21.6333436Z         "impl",
2026-06-07T04:24:21.6333662Z         "unit"
2026-06-07T04:24:21.6333863Z       ],
2026-06-07T04:24:21.6334088Z       "stages": {
2026-06-07T04:24:21.6334303Z         "doc": {
2026-06-07T04:24:21.6334552Z           "complete": false,
2026-06-07T04:24:21.6334786Z           "evidence": []
2026-06-07T04:24:21.6334982Z         },
2026-06-07T04:24:21.6335200Z         "impl": {
2026-06-07T04:24:21.6335434Z           "complete": true,
2026-06-07T04:24:21.6335666Z           "evidence": [
2026-06-07T04:24:21.6335864Z             {
2026-06-07T04:24:21.6336236Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6336466Z               "line": 18
2026-06-07T04:24:21.6336666Z             },
2026-06-07T04:24:21.6336874Z             {
2026-06-07T04:24:21.6337231Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6337463Z               "line": 35
2026-06-07T04:24:21.6337672Z             },
2026-06-07T04:24:21.6337872Z             {
2026-06-07T04:24:21.6338390Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6338627Z               "line": 72
2026-06-07T04:24:21.6338837Z             }
2026-06-07T04:24:21.6339210Z           ]
2026-06-07T04:24:21.6339422Z         },
2026-06-07T04:24:21.6339703Z         "int": {
2026-06-07T04:24:21.6339947Z           "complete": false,
2026-06-07T04:24:21.6340184Z           "evidence": []
2026-06-07T04:24:21.6340389Z         },
2026-06-07T04:24:21.6340605Z         "unit": {
2026-06-07T04:24:21.6340844Z           "complete": true,
2026-06-07T04:24:21.6341075Z           "evidence": [
2026-06-07T04:24:21.6341282Z             {
2026-06-07T04:24:21.6341657Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6341910Z               "line": 214
2026-06-07T04:24:21.6342271Z             },
2026-06-07T04:24:21.6342504Z             {
2026-06-07T04:24:21.6342907Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6343172Z               "line": 231
2026-06-07T04:24:21.6343439Z             },
2026-06-07T04:24:21.6343664Z             {
2026-06-07T04:24:21.6344180Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6349632Z               "line": 240
2026-06-07T04:24:21.6349941Z             }
2026-06-07T04:24:21.6350142Z           ]
2026-06-07T04:24:21.6350346Z         }
2026-06-07T04:24:21.6350553Z       }
2026-06-07T04:24:21.6350745Z     },
2026-06-07T04:24:21.6350945Z     {
2026-06-07T04:24:21.6351236Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-07T04:24:21.6351788Z       "title": "Hostable endpoint-types capability declaration",
2026-06-07T04:24:21.6352043Z       "requiredStages": [
2026-06-07T04:24:21.6352260Z         "impl",
2026-06-07T04:24:21.6352470Z         "unit"
2026-06-07T04:24:21.6352665Z       ],
2026-06-07T04:24:21.6352881Z       "stages": {
2026-06-07T04:24:21.6353086Z         "doc": {
2026-06-07T04:24:21.6353333Z           "complete": false,
2026-06-07T04:24:21.6353562Z           "evidence": []
2026-06-07T04:24:21.6353769Z         },
2026-06-07T04:24:21.6354026Z         "impl": {
2026-06-07T04:24:21.6354428Z           "complete": true,
2026-06-07T04:24:21.6354689Z           "evidence": [
2026-06-07T04:24:21.6355046Z             {
2026-06-07T04:24:21.6355441Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6355667Z               "line": 404
2026-06-07T04:24:21.6355879Z             }
2026-06-07T04:24:21.6356086Z           ]
2026-06-07T04:24:21.6356286Z         },
2026-06-07T04:24:21.6356503Z         "int": {
2026-06-07T04:24:21.6356750Z           "complete": false,
2026-06-07T04:24:21.6356991Z           "evidence": []
2026-06-07T04:24:21.6357192Z         },
2026-06-07T04:24:21.6357413Z         "unit": {
2026-06-07T04:24:21.6357654Z           "complete": true,
2026-06-07T04:24:21.6357891Z           "evidence": [
2026-06-07T04:24:21.6358103Z             {
2026-06-07T04:24:21.6358484Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6358716Z               "line": 641
2026-06-07T04:24:21.6358920Z             }
2026-06-07T04:24:21.6359142Z           ]
2026-06-07T04:24:21.6359402Z         }
2026-06-07T04:24:21.6359609Z       }
2026-06-07T04:24:21.6359824Z     },
2026-06-07T04:24:21.6360016Z     {
2026-06-07T04:24:21.6360278Z       "id": "REQ-SEAM-HISTORY",
2026-06-07T04:24:21.6360972Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-07T04:24:21.6361229Z       "requiredStages": [
2026-06-07T04:24:21.6361443Z         "impl",
2026-06-07T04:24:21.6361648Z         "unit",
2026-06-07T04:24:21.6361862Z         "int"
2026-06-07T04:24:21.6362062Z       ],
2026-06-07T04:24:21.6362282Z       "stages": {
2026-06-07T04:24:21.6362487Z         "doc": {
2026-06-07T04:24:21.6362742Z           "complete": false,
2026-06-07T04:24:21.6362976Z           "evidence": []
2026-06-07T04:24:21.6363182Z         },
2026-06-07T04:24:21.6363405Z         "impl": {
2026-06-07T04:24:21.6363644Z           "complete": true,
2026-06-07T04:24:21.6363876Z           "evidence": [
2026-06-07T04:24:21.6364341Z             {
2026-06-07T04:24:21.6364722Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.6364946Z               "line": 24
2026-06-07T04:24:21.6365290Z             },
2026-06-07T04:24:21.6365503Z             {
2026-06-07T04:24:21.6365870Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6366098Z               "line": 22
2026-06-07T04:24:21.6366296Z             }
2026-06-07T04:24:21.6366507Z           ]
2026-06-07T04:24:21.6366710Z         },
2026-06-07T04:24:21.6366924Z         "int": {
2026-06-07T04:24:21.6367174Z           "complete": true,
2026-06-07T04:24:21.6367402Z           "evidence": [
2026-06-07T04:24:21.6367613Z             {
2026-06-07T04:24:21.6368000Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.6368236Z               "line": 256
2026-06-07T04:24:21.6368447Z             }
2026-06-07T04:24:21.6368650Z           ]
2026-06-07T04:24:21.6368856Z         },
2026-06-07T04:24:21.6369066Z         "unit": {
2026-06-07T04:24:21.6369392Z           "complete": true,
2026-06-07T04:24:21.6369621Z           "evidence": [
2026-06-07T04:24:21.6369828Z             {
2026-06-07T04:24:21.6370177Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.6370416Z               "line": 167
2026-06-07T04:24:21.6370629Z             },
2026-06-07T04:24:21.6370835Z             {
2026-06-07T04:24:21.6371184Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.6371412Z               "line": 196
2026-06-07T04:24:21.6371627Z             },
2026-06-07T04:24:21.6371834Z             {
2026-06-07T04:24:21.6372172Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T04:24:21.6372406Z               "line": 216
2026-06-07T04:24:21.6372610Z             },
2026-06-07T04:24:21.6372819Z             {
2026-06-07T04:24:21.6373184Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6373450Z               "line": 199
2026-06-07T04:24:21.6373695Z             },
2026-06-07T04:24:21.6374083Z             {
2026-06-07T04:24:21.6374514Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6374803Z               "line": 219
2026-06-07T04:24:21.6375083Z             },
2026-06-07T04:24:21.6375338Z             {
2026-06-07T04:24:21.6375780Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6376095Z               "line": 244
2026-06-07T04:24:21.6376369Z             },
2026-06-07T04:24:21.6376682Z             {
2026-06-07T04:24:21.6377153Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6377456Z               "line": 269
2026-06-07T04:24:21.6377699Z             },
2026-06-07T04:24:21.6377953Z             {
2026-06-07T04:24:21.6378388Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6378662Z               "line": 290
2026-06-07T04:24:21.6378929Z             },
2026-06-07T04:24:21.6379247Z             {
2026-06-07T04:24:21.6379702Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T04:24:21.6380025Z               "line": 317
2026-06-07T04:24:21.6380305Z             }
2026-06-07T04:24:21.6380581Z           ]
2026-06-07T04:24:21.6380846Z         }
2026-06-07T04:24:21.6381122Z       }
2026-06-07T04:24:21.6381349Z     },
2026-06-07T04:24:21.6381551Z     {
2026-06-07T04:24:21.6381834Z       "id": "REQ-SEAM-INJECT",
2026-06-07T04:24:21.6382496Z       "title": "inject-input methods configurable per activity-state",
2026-06-07T04:24:21.6382779Z       "requiredStages": [
2026-06-07T04:24:21.6383025Z         "impl",
2026-06-07T04:24:21.6383257Z         "unit"
2026-06-07T04:24:21.6383467Z       ],
2026-06-07T04:24:21.6383727Z       "stages": {
2026-06-07T04:24:21.6383968Z         "doc": {
2026-06-07T04:24:21.6384244Z           "complete": false,
2026-06-07T04:24:21.6384518Z           "evidence": []
2026-06-07T04:24:21.6384743Z         },
2026-06-07T04:24:21.6384994Z         "impl": {
2026-06-07T04:24:21.6385283Z           "complete": true,
2026-06-07T04:24:21.6385590Z           "evidence": [
2026-06-07T04:24:21.6386280Z             {
2026-06-07T04:24:21.6386863Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6387116Z               "line": 19
2026-06-07T04:24:21.6387500Z             },
2026-06-07T04:24:21.6387720Z             {
2026-06-07T04:24:21.6388101Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6388351Z               "line": 111
2026-06-07T04:24:21.6388580Z             }
2026-06-07T04:24:21.6388792Z           ]
2026-06-07T04:24:21.6389013Z         },
2026-06-07T04:24:21.6389286Z         "int": {
2026-06-07T04:24:21.6389688Z           "complete": false,
2026-06-07T04:24:21.6389922Z           "evidence": []
2026-06-07T04:24:21.6390133Z         },
2026-06-07T04:24:21.6390356Z         "unit": {
2026-06-07T04:24:21.6390595Z           "complete": true,
2026-06-07T04:24:21.6390832Z           "evidence": [
2026-06-07T04:24:21.6391036Z             {
2026-06-07T04:24:21.6391408Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6391647Z               "line": 320
2026-06-07T04:24:21.6391861Z             },
2026-06-07T04:24:21.6397861Z             {
2026-06-07T04:24:21.6398371Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6398614Z               "line": 340
2026-06-07T04:24:21.6398816Z             }
2026-06-07T04:24:21.6399024Z           ]
2026-06-07T04:24:21.6399315Z         }
2026-06-07T04:24:21.6399531Z       }
2026-06-07T04:24:21.6399746Z     },
2026-06-07T04:24:21.6399940Z     {
2026-06-07T04:24:21.6400225Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-07T04:24:21.6400682Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-07T04:24:21.6400945Z       "requiredStages": [
2026-06-07T04:24:21.6401152Z         "impl",
2026-06-07T04:24:21.6401365Z         "unit"
2026-06-07T04:24:21.6401574Z       ],
2026-06-07T04:24:21.6401784Z       "stages": {
2026-06-07T04:24:21.6401997Z         "doc": {
2026-06-07T04:24:21.6402240Z           "complete": false,
2026-06-07T04:24:21.6402494Z           "evidence": []
2026-06-07T04:24:21.6402697Z         },
2026-06-07T04:24:21.6402918Z         "impl": {
2026-06-07T04:24:21.6403167Z           "complete": true,
2026-06-07T04:24:21.6403405Z           "evidence": [
2026-06-07T04:24:21.6403615Z             {
2026-06-07T04:24:21.6403972Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6404202Z               "line": 18
2026-06-07T04:24:21.6404409Z             },
2026-06-07T04:24:21.6404620Z             {
2026-06-07T04:24:21.6404978Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6405205Z               "line": 309
2026-06-07T04:24:21.6405418Z             }
2026-06-07T04:24:21.6405616Z           ]
2026-06-07T04:24:21.6405829Z         },
2026-06-07T04:24:21.6406038Z         "int": {
2026-06-07T04:24:21.6406289Z           "complete": false,
2026-06-07T04:24:21.6406528Z           "evidence": []
2026-06-07T04:24:21.6406737Z         },
2026-06-07T04:24:21.6406961Z         "unit": {
2026-06-07T04:24:21.6407214Z           "complete": true,
2026-06-07T04:24:21.6407447Z           "evidence": [
2026-06-07T04:24:21.6407644Z             {
2026-06-07T04:24:21.6408006Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6408253Z               "line": 554
2026-06-07T04:24:21.6408454Z             },
2026-06-07T04:24:21.6408664Z             {
2026-06-07T04:24:21.6409019Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6409308Z               "line": 564
2026-06-07T04:24:21.6409511Z             }
2026-06-07T04:24:21.6409725Z           ]
2026-06-07T04:24:21.6409933Z         }
2026-06-07T04:24:21.6410132Z       }
2026-06-07T04:24:21.6410335Z     },
2026-06-07T04:24:21.6410528Z     {
2026-06-07T04:24:21.6410802Z       "id": "REQ-SEAM-PSYCHE",
2026-06-07T04:24:21.6411286Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-07T04:24:21.6411546Z       "requiredStages": [
2026-06-07T04:24:21.6411766Z         "impl",
2026-06-07T04:24:21.6411973Z         "unit",
2026-06-07T04:24:21.6412445Z         "int"
2026-06-07T04:24:21.6412677Z       ],
2026-06-07T04:24:21.6412905Z       "stages": {
2026-06-07T04:24:21.6413114Z         "doc": {
2026-06-07T04:24:21.6413501Z           "complete": false,
2026-06-07T04:24:21.6413743Z           "evidence": []
2026-06-07T04:24:21.6413943Z         },
2026-06-07T04:24:21.6414162Z         "impl": {
2026-06-07T04:24:21.6414403Z           "complete": true,
2026-06-07T04:24:21.6414635Z           "evidence": [
2026-06-07T04:24:21.6414833Z             {
2026-06-07T04:24:21.6415205Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T04:24:21.6415436Z               "line": 19
2026-06-07T04:24:21.6415643Z             },
2026-06-07T04:24:21.6415856Z             {
2026-06-07T04:24:21.6416178Z               "path": "crates/spt/src/api/live.rs",
2026-06-07T04:24:21.6416411Z               "line": 12
2026-06-07T04:24:21.6416617Z             },
2026-06-07T04:24:21.6416825Z             {
2026-06-07T04:24:21.6417208Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6417441Z               "line": 209
2026-06-07T04:24:21.6417656Z             }
2026-06-07T04:24:21.6417853Z           ]
2026-06-07T04:24:21.6418074Z         },
2026-06-07T04:24:21.6418284Z         "int": {
2026-06-07T04:24:21.6418538Z           "complete": true,
2026-06-07T04:24:21.6418775Z           "evidence": [
2026-06-07T04:24:21.6418979Z             {
2026-06-07T04:24:21.6419412Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.6419649Z               "line": 255
2026-06-07T04:24:21.6419858Z             }
2026-06-07T04:24:21.6420059Z           ]
2026-06-07T04:24:21.6420276Z         },
2026-06-07T04:24:21.6420498Z         "unit": {
2026-06-07T04:24:21.6420747Z           "complete": true,
2026-06-07T04:24:21.6420982Z           "evidence": [
2026-06-07T04:24:21.6421183Z             {
2026-06-07T04:24:21.6421549Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T04:24:21.6421777Z               "line": 161
2026-06-07T04:24:21.6422000Z             },
2026-06-07T04:24:21.6422213Z             {
2026-06-07T04:24:21.6422570Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T04:24:21.6422818Z               "line": 168
2026-06-07T04:24:21.6423020Z             },
2026-06-07T04:24:21.6423236Z             {
2026-06-07T04:24:21.6423588Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T04:24:21.6423823Z               "line": 191
2026-06-07T04:24:21.6424028Z             },
2026-06-07T04:24:21.6424226Z             {
2026-06-07T04:24:21.6424580Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-07T04:24:21.6424804Z               "line": 106
2026-06-07T04:24:21.6425013Z             },
2026-06-07T04:24:21.6425211Z             {
2026-06-07T04:24:21.6425572Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-07T04:24:21.6425807Z               "line": 137
2026-06-07T04:24:21.6426006Z             },
2026-06-07T04:24:21.6426215Z             {
2026-06-07T04:24:21.6426576Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-07T04:24:21.6426813Z               "line": 161
2026-06-07T04:24:21.6427032Z             }
2026-06-07T04:24:21.6427253Z           ]
2026-06-07T04:24:21.6427462Z         }
2026-06-07T04:24:21.6427662Z       }
2026-06-07T04:24:21.6427865Z     },
2026-06-07T04:24:21.6428058Z     {
2026-06-07T04:24:21.6428319Z       "id": "REQ-SEAM-RESUME",
2026-06-07T04:24:21.6429003Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-07T04:24:21.6429305Z       "requiredStages": [
2026-06-07T04:24:21.6429532Z         "impl",
2026-06-07T04:24:21.6429739Z         "unit"
2026-06-07T04:24:21.6429945Z       ],
2026-06-07T04:24:21.6430161Z       "stages": {
2026-06-07T04:24:21.6430378Z         "doc": {
2026-06-07T04:24:21.6430629Z           "complete": false,
2026-06-07T04:24:21.6430868Z           "evidence": []
2026-06-07T04:24:21.6431077Z         },
2026-06-07T04:24:21.6431285Z         "impl": {
2026-06-07T04:24:21.6431531Z           "complete": true,
2026-06-07T04:24:21.6431917Z           "evidence": [
2026-06-07T04:24:21.6432146Z             {
2026-06-07T04:24:21.6432503Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T04:24:21.6432877Z               "line": 19
2026-06-07T04:24:21.6433084Z             }
2026-06-07T04:24:21.6433283Z           ]
2026-06-07T04:24:21.6433489Z         },
2026-06-07T04:24:21.6433696Z         "int": {
2026-06-07T04:24:21.6433947Z           "complete": false,
2026-06-07T04:24:21.6434180Z           "evidence": []
2026-06-07T04:24:21.6434387Z         },
2026-06-07T04:24:21.6434600Z         "unit": {
2026-06-07T04:24:21.6434839Z           "complete": true,
2026-06-07T04:24:21.6435072Z           "evidence": [
2026-06-07T04:24:21.6435272Z             {
2026-06-07T04:24:21.6435631Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T04:24:21.6435854Z               "line": 179
2026-06-07T04:24:21.6436066Z             },
2026-06-07T04:24:21.6436274Z             {
2026-06-07T04:24:21.6436637Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T04:24:21.6436873Z               "line": 201
2026-06-07T04:24:21.6437074Z             },
2026-06-07T04:24:21.6437293Z             {
2026-06-07T04:24:21.6437656Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T04:24:21.6437883Z               "line": 222
2026-06-07T04:24:21.6438097Z             }
2026-06-07T04:24:21.6438297Z           ]
2026-06-07T04:24:21.6443125Z         }
2026-06-07T04:24:21.6443391Z       }
2026-06-07T04:24:21.6443597Z     },
2026-06-07T04:24:21.6443788Z     {
2026-06-07T04:24:21.6444067Z       "id": "REQ-SEAM-SPAWN",
2026-06-07T04:24:21.6444353Z       "title": "spawn-session seam",
2026-06-07T04:24:21.6444601Z       "requiredStages": [
2026-06-07T04:24:21.6444813Z         "impl",
2026-06-07T04:24:21.6445019Z         "unit"
2026-06-07T04:24:21.6445222Z       ],
2026-06-07T04:24:21.6445434Z       "stages": {
2026-06-07T04:24:21.6445647Z         "doc": {
2026-06-07T04:24:21.6445897Z           "complete": false,
2026-06-07T04:24:21.6446160Z           "evidence": []
2026-06-07T04:24:21.6446365Z         },
2026-06-07T04:24:21.6446668Z         "impl": {
2026-06-07T04:24:21.6446915Z           "complete": true,
2026-06-07T04:24:21.6447151Z           "evidence": [
2026-06-07T04:24:21.6447358Z             {
2026-06-07T04:24:21.6447763Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6447988Z               "line": 20
2026-06-07T04:24:21.6448195Z             }
2026-06-07T04:24:21.6448396Z           ]
2026-06-07T04:24:21.6448598Z         },
2026-06-07T04:24:21.6448800Z         "int": {
2026-06-07T04:24:21.6449054Z           "complete": false,
2026-06-07T04:24:21.6449360Z           "evidence": []
2026-06-07T04:24:21.6449557Z         },
2026-06-07T04:24:21.6449778Z         "unit": {
2026-06-07T04:24:21.6450022Z           "complete": true,
2026-06-07T04:24:21.6450249Z           "evidence": [
2026-06-07T04:24:21.6450447Z             {
2026-06-07T04:24:21.6450838Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6451083Z               "line": 435
2026-06-07T04:24:21.6451287Z             },
2026-06-07T04:24:21.6451501Z             {
2026-06-07T04:24:21.6451895Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6452130Z               "line": 442
2026-06-07T04:24:21.6452331Z             },
2026-06-07T04:24:21.6452535Z             {
2026-06-07T04:24:21.6452922Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6453146Z               "line": 452
2026-06-07T04:24:21.6453353Z             },
2026-06-07T04:24:21.6453550Z             {
2026-06-07T04:24:21.6453944Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6454179Z               "line": 458
2026-06-07T04:24:21.6454378Z             },
2026-06-07T04:24:21.6454584Z             {
2026-06-07T04:24:21.6454964Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6455200Z               "line": 483
2026-06-07T04:24:21.6455401Z             },
2026-06-07T04:24:21.6455850Z             {
2026-06-07T04:24:21.6456263Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T04:24:21.6456492Z               "line": 520
2026-06-07T04:24:21.6456877Z             }
2026-06-07T04:24:21.6457075Z           ]
2026-06-07T04:24:21.6457288Z         }
2026-06-07T04:24:21.6457495Z       }
2026-06-07T04:24:21.6457710Z     },
2026-06-07T04:24:21.6458075Z     {
2026-06-07T04:24:21.6458373Z       "id": "REQ-SEAM-UPDATE",
2026-06-07T04:24:21.6459024Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-07T04:24:21.6459362Z       "requiredStages": [
2026-06-07T04:24:21.6459622Z         "impl",
2026-06-07T04:24:21.6459864Z         "unit"
2026-06-07T04:24:21.6460251Z       ],
2026-06-07T04:24:21.6460475Z       "stages": {
2026-06-07T04:24:21.6460683Z         "doc": {
2026-06-07T04:24:21.6460938Z           "complete": false,
2026-06-07T04:24:21.6461176Z           "evidence": []
2026-06-07T04:24:21.6461390Z         },
2026-06-07T04:24:21.6461622Z         "impl": {
2026-06-07T04:24:21.6461878Z           "complete": true,
2026-06-07T04:24:21.6462110Z           "evidence": [
2026-06-07T04:24:21.6462322Z             {
2026-06-07T04:24:21.6462775Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.6463006Z               "line": 28
2026-06-07T04:24:21.6463213Z             },
2026-06-07T04:24:21.6463410Z             {
2026-06-07T04:24:21.6463855Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.6464093Z               "line": 83
2026-06-07T04:24:21.6464294Z             }
2026-06-07T04:24:21.6464503Z           ]
2026-06-07T04:24:21.6464708Z         },
2026-06-07T04:24:21.6464930Z         "int": {
2026-06-07T04:24:21.6465172Z           "complete": false,
2026-06-07T04:24:21.6465413Z           "evidence": []
2026-06-07T04:24:21.6465624Z         },
2026-06-07T04:24:21.6465839Z         "unit": {
2026-06-07T04:24:21.6466090Z           "complete": true,
2026-06-07T04:24:21.6466317Z           "evidence": [
2026-06-07T04:24:21.6466544Z             {
2026-06-07T04:24:21.6466985Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.6467234Z               "line": 285
2026-06-07T04:24:21.6467446Z             },
2026-06-07T04:24:21.6467645Z             {
2026-06-07T04:24:21.6468087Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.6468314Z               "line": 296
2026-06-07T04:24:21.6468528Z             }
2026-06-07T04:24:21.6468726Z           ]
2026-06-07T04:24:21.6468939Z         }
2026-06-07T04:24:21.6469147Z       }
2026-06-07T04:24:21.6469548Z     },
2026-06-07T04:24:21.6469906Z     {
2026-06-07T04:24:21.6470136Z       "id": "REQ-SEC-1",
2026-06-07T04:24:21.6471868Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-07T04:24:21.6472122Z       "requiredStages": [
2026-06-07T04:24:21.6472342Z         "impl",
2026-06-07T04:24:21.6472573Z         "unit"
2026-06-07T04:24:21.6472773Z       ],
2026-06-07T04:24:21.6472998Z       "stages": {
2026-06-07T04:24:21.6473206Z         "doc": {
2026-06-07T04:24:21.6473472Z           "complete": false,
2026-06-07T04:24:21.6473705Z           "evidence": []
2026-06-07T04:24:21.6473920Z         },
2026-06-07T04:24:21.6474141Z         "impl": {
2026-06-07T04:24:21.6474384Z           "complete": true,
2026-06-07T04:24:21.6474618Z           "evidence": [
2026-06-07T04:24:21.6474828Z             {
2026-06-07T04:24:21.6475216Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.6475442Z               "line": 84
2026-06-07T04:24:21.6475657Z             },
2026-06-07T04:24:21.6475865Z             {
2026-06-07T04:24:21.6476234Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.6476471Z               "line": 114
2026-06-07T04:24:21.6476675Z             },
2026-06-07T04:24:21.6476892Z             {
2026-06-07T04:24:21.6477436Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.6477696Z               "line": 128
2026-06-07T04:24:21.6477912Z             },
2026-06-07T04:24:21.6478264Z             {
2026-06-07T04:24:21.6478637Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6478864Z               "line": 108
2026-06-07T04:24:21.6479077Z             },
2026-06-07T04:24:21.6479381Z             {
2026-06-07T04:24:21.6480115Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6480358Z               "line": 129
2026-06-07T04:24:21.6480558Z             },
2026-06-07T04:24:21.6480767Z             {
2026-06-07T04:24:21.6481126Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6481365Z               "line": 142
2026-06-07T04:24:21.6481571Z             },
2026-06-07T04:24:21.6481782Z             {
2026-06-07T04:24:21.6482153Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6482379Z               "line": 208
2026-06-07T04:24:21.6482589Z             },
2026-06-07T04:24:21.6482809Z             {
2026-06-07T04:24:21.6483178Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6483426Z               "line": 234
2026-06-07T04:24:21.6483628Z             },
2026-06-07T04:24:21.6483834Z             {
2026-06-07T04:24:21.6484135Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6484370Z               "line": 2569
2026-06-07T04:24:21.6484571Z             }
2026-06-07T04:24:21.6484778Z           ]
2026-06-07T04:24:21.6484984Z         },
2026-06-07T04:24:21.6485191Z         "int": {
2026-06-07T04:24:21.6485446Z           "complete": false,
2026-06-07T04:24:21.6485680Z           "evidence": []
2026-06-07T04:24:21.6485890Z         },
2026-06-07T04:24:21.6486102Z         "unit": {
2026-06-07T04:24:21.6486358Z           "complete": true,
2026-06-07T04:24:21.6491628Z           "evidence": [
2026-06-07T04:24:21.6491933Z             {
2026-06-07T04:24:21.6492340Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.6492604Z               "line": 140
2026-06-07T04:24:21.6492832Z             },
2026-06-07T04:24:21.6493034Z             {
2026-06-07T04:24:21.6493423Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.6493656Z               "line": 192
2026-06-07T04:24:21.6493856Z             },
2026-06-07T04:24:21.6494064Z             {
2026-06-07T04:24:21.6494433Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T04:24:21.6494666Z               "line": 233
2026-06-07T04:24:21.6494864Z             },
2026-06-07T04:24:21.6495064Z             {
2026-06-07T04:24:21.6495449Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-07T04:24:21.6495675Z               "line": 137
2026-06-07T04:24:21.6495882Z             },
2026-06-07T04:24:21.6496081Z             {
2026-06-07T04:24:21.6496440Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6496671Z               "line": 246
2026-06-07T04:24:21.6496883Z             },
2026-06-07T04:24:21.6497093Z             {
2026-06-07T04:24:21.6497449Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6497682Z               "line": 276
2026-06-07T04:24:21.6497892Z             },
2026-06-07T04:24:21.6498102Z             {
2026-06-07T04:24:21.6498464Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6498699Z               "line": 309
2026-06-07T04:24:21.6498910Z             },
2026-06-07T04:24:21.6499106Z             {
2026-06-07T04:24:21.6499535Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6499763Z               "line": 328
2026-06-07T04:24:21.6499975Z             },
2026-06-07T04:24:21.6500169Z             {
2026-06-07T04:24:21.6500529Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6500768Z               "line": 361
2026-06-07T04:24:21.6500968Z             },
2026-06-07T04:24:21.6501172Z             {
2026-06-07T04:24:21.6501531Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T04:24:21.6501991Z               "line": 385
2026-06-07T04:24:21.6502207Z             },
2026-06-07T04:24:21.6502415Z             {
2026-06-07T04:24:21.6502848Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6503073Z               "line": 4038
2026-06-07T04:24:21.6503282Z             }
2026-06-07T04:24:21.6503480Z           ]
2026-06-07T04:24:21.6503685Z         }
2026-06-07T04:24:21.6503884Z       }
2026-06-07T04:24:21.6504086Z     },
2026-06-07T04:24:21.6504290Z     {
2026-06-07T04:24:21.6504531Z       "id": "REQ-SHELL-1",
2026-06-07T04:24:21.6508785Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-07T04:24:21.6509039Z       "requiredStages": [
2026-06-07T04:24:21.6509301Z         "impl",
2026-06-07T04:24:21.6509530Z         "unit",
2026-06-07T04:24:21.6509733Z         "int"
2026-06-07T04:24:21.6509940Z       ],
2026-06-07T04:24:21.6510167Z       "stages": {
2026-06-07T04:24:21.6510375Z         "doc": {
2026-06-07T04:24:21.6510624Z           "complete": false,
2026-06-07T04:24:21.6510865Z           "evidence": []
2026-06-07T04:24:21.6511069Z         },
2026-06-07T04:24:21.6511274Z         "impl": {
2026-06-07T04:24:21.6511517Z           "complete": true,
2026-06-07T04:24:21.6511748Z           "evidence": [
2026-06-07T04:24:21.6511954Z             {
2026-06-07T04:24:21.6512337Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6512565Z               "line": 94
2026-06-07T04:24:21.6512777Z             },
2026-06-07T04:24:21.6512976Z             {
2026-06-07T04:24:21.6513366Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6513591Z               "line": 119
2026-06-07T04:24:21.6513800Z             },
2026-06-07T04:24:21.6514003Z             {
2026-06-07T04:24:21.6514401Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6514631Z               "line": 27
2026-06-07T04:24:21.6514839Z             },
2026-06-07T04:24:21.6515039Z             {
2026-06-07T04:24:21.6515425Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6515657Z               "line": 52
2026-06-07T04:24:21.6515855Z             },
2026-06-07T04:24:21.6516063Z             {
2026-06-07T04:24:21.6516461Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6516689Z               "line": 132
2026-06-07T04:24:21.6516897Z             },
2026-06-07T04:24:21.6517098Z             {
2026-06-07T04:24:21.6517495Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6517728Z               "line": 164
2026-06-07T04:24:21.6517926Z             },
2026-06-07T04:24:21.6518134Z             {
2026-06-07T04:24:21.6518515Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6518763Z               "line": 22
2026-06-07T04:24:21.6518968Z             },
2026-06-07T04:24:21.6519214Z             {
2026-06-07T04:24:21.6519624Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6519843Z               "line": 65
2026-06-07T04:24:21.6520052Z             },
2026-06-07T04:24:21.6520256Z             {
2026-06-07T04:24:21.6520651Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6520870Z               "line": 76
2026-06-07T04:24:21.6521078Z             },
2026-06-07T04:24:21.6521284Z             {
2026-06-07T04:24:21.6521671Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6521905Z               "line": 150
2026-06-07T04:24:21.6522104Z             },
2026-06-07T04:24:21.6522307Z             {
2026-06-07T04:24:21.6522704Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6522941Z               "line": 209
2026-06-07T04:24:21.6523149Z             },
2026-06-07T04:24:21.6523495Z             {
2026-06-07T04:24:21.6523910Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6524279Z               "line": 246
2026-06-07T04:24:21.6524497Z             },
2026-06-07T04:24:21.6524699Z             {
2026-06-07T04:24:21.6525101Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6525337Z               "line": 267
2026-06-07T04:24:21.6525540Z             },
2026-06-07T04:24:21.6525751Z             {
2026-06-07T04:24:21.6526139Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6526378Z               "line": 280
2026-06-07T04:24:21.6526575Z             },
2026-06-07T04:24:21.6526780Z             {
2026-06-07T04:24:21.6527140Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.6527363Z               "line": 189
2026-06-07T04:24:21.6527569Z             },
2026-06-07T04:24:21.6527768Z             {
2026-06-07T04:24:21.6528141Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.6528365Z               "line": 205
2026-06-07T04:24:21.6528574Z             },
2026-06-07T04:24:21.6528782Z             {
2026-06-07T04:24:21.6529227Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.6529461Z               "line": 41
2026-06-07T04:24:21.6529664Z             },
2026-06-07T04:24:21.6529868Z             {
2026-06-07T04:24:21.6530242Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.6530483Z               "line": 204
2026-06-07T04:24:21.6530689Z             },
2026-06-07T04:24:21.6530887Z             {
2026-06-07T04:24:21.6531249Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T04:24:21.6531473Z               "line": 156
2026-06-07T04:24:21.6531682Z             },
2026-06-07T04:24:21.6531890Z             {
2026-06-07T04:24:21.6532210Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.6532446Z               "line": 295
2026-06-07T04:24:21.6532646Z             },
2026-06-07T04:24:21.6532865Z             {
2026-06-07T04:24:21.6533181Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T04:24:21.6533421Z               "line": 345
2026-06-07T04:24:21.6533631Z             },
2026-06-07T04:24:21.6533826Z             {
2026-06-07T04:24:21.6534208Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6534428Z               "line": 261
2026-06-07T04:24:21.6534635Z             },
2026-06-07T04:24:21.6534832Z             {
2026-06-07T04:24:21.6535140Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6535372Z               "line": 3067
2026-06-07T04:24:21.6535574Z             },
2026-06-07T04:24:21.6535782Z             {
2026-06-07T04:24:21.6536084Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6536322Z               "line": 3217
2026-06-07T04:24:21.6536527Z             },
2026-06-07T04:24:21.6536735Z             {
2026-06-07T04:24:21.6541723Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6542066Z               "line": 3254
2026-06-07T04:24:21.6542285Z             }
2026-06-07T04:24:21.6542483Z           ]
2026-06-07T04:24:21.6542709Z         },
2026-06-07T04:24:21.6542914Z         "int": {
2026-06-07T04:24:21.6543167Z           "complete": true,
2026-06-07T04:24:21.6543396Z           "evidence": [
2026-06-07T04:24:21.6543597Z             {
2026-06-07T04:24:21.6544025Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.6544255Z               "line": 694
2026-06-07T04:24:21.6544464Z             },
2026-06-07T04:24:21.6544663Z             {
2026-06-07T04:24:21.6545086Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-07T04:24:21.6545308Z               "line": 8
2026-06-07T04:24:21.6545506Z             },
2026-06-07T04:24:21.6545713Z             {
2026-06-07T04:24:21.6546132Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-07T04:24:21.6546361Z               "line": 49
2026-06-07T04:24:21.6546562Z             },
2026-06-07T04:24:21.6546988Z             {
2026-06-07T04:24:21.6547408Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6547851Z               "line": 703
2026-06-07T04:24:21.6548057Z             },
2026-06-07T04:24:21.6548252Z             {
2026-06-07T04:24:21.6548649Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6548884Z               "line": 1113
2026-06-07T04:24:21.6549093Z             },
2026-06-07T04:24:21.6549370Z             {
2026-06-07T04:24:21.6549929Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-07T04:24:21.6550160Z               "line": 17
2026-06-07T04:24:21.6550363Z             },
2026-06-07T04:24:21.6550571Z             {
2026-06-07T04:24:21.6550916Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-07T04:24:21.6551144Z               "line": 14
2026-06-07T04:24:21.6551361Z             }
2026-06-07T04:24:21.6551556Z           ]
2026-06-07T04:24:21.6551762Z         },
2026-06-07T04:24:21.6551984Z         "unit": {
2026-06-07T04:24:21.6552235Z           "complete": true,
2026-06-07T04:24:21.6552459Z           "evidence": [
2026-06-07T04:24:21.6552675Z             {
2026-06-07T04:24:21.6553065Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6553288Z               "line": 234
2026-06-07T04:24:21.6553499Z             },
2026-06-07T04:24:21.6553703Z             {
2026-06-07T04:24:21.6554104Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6554340Z               "line": 267
2026-06-07T04:24:21.6554543Z             },
2026-06-07T04:24:21.6554755Z             {
2026-06-07T04:24:21.6555143Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6555379Z               "line": 307
2026-06-07T04:24:21.6555577Z             },
2026-06-07T04:24:21.6555785Z             {
2026-06-07T04:24:21.6556178Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6556404Z               "line": 519
2026-06-07T04:24:21.6556636Z             },
2026-06-07T04:24:21.6556873Z             {
2026-06-07T04:24:21.6557274Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6557515Z               "line": 592
2026-06-07T04:24:21.6557725Z             },
2026-06-07T04:24:21.6557927Z             {
2026-06-07T04:24:21.6558311Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6558545Z               "line": 736
2026-06-07T04:24:21.6558743Z             },
2026-06-07T04:24:21.6558947Z             {
2026-06-07T04:24:21.6559335Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.6559569Z               "line": 567
2026-06-07T04:24:21.6559780Z             },
2026-06-07T04:24:21.6559981Z             {
2026-06-07T04:24:21.6560369Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T04:24:21.6560595Z               "line": 352
2026-06-07T04:24:21.6560810Z             },
2026-06-07T04:24:21.6561008Z             {
2026-06-07T04:24:21.6561327Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6561561Z               "line": 4392
2026-06-07T04:24:21.6561763Z             },
2026-06-07T04:24:21.6561975Z             {
2026-06-07T04:24:21.6562274Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6562505Z               "line": 4714
2026-06-07T04:24:21.6562705Z             },
2026-06-07T04:24:21.6562914Z             {
2026-06-07T04:24:21.6563226Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6563462Z               "line": 5080
2026-06-07T04:24:21.6563843Z             }
2026-06-07T04:24:21.6564071Z           ]
2026-06-07T04:24:21.6564295Z         }
2026-06-07T04:24:21.6564497Z       }
2026-06-07T04:24:21.6564709Z     },
2026-06-07T04:24:21.6564921Z     {
2026-06-07T04:24:21.6565171Z       "id": "REQ-SHELL-2",
2026-06-07T04:24:21.6572991Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-07T04:24:21.6573398Z       "requiredStages": [
2026-06-07T04:24:21.6573609Z         "impl",
2026-06-07T04:24:21.6573822Z         "unit",
2026-06-07T04:24:21.6574019Z         "int"
2026-06-07T04:24:21.6574224Z       ],
2026-06-07T04:24:21.6574440Z       "stages": {
2026-06-07T04:24:21.6574659Z         "doc": {
2026-06-07T04:24:21.6574911Z           "complete": false,
2026-06-07T04:24:21.6575345Z           "evidence": []
2026-06-07T04:24:21.6575582Z         },
2026-06-07T04:24:21.6575817Z         "impl": {
2026-06-07T04:24:21.6576093Z           "complete": true,
2026-06-07T04:24:21.6576466Z           "evidence": [
2026-06-07T04:24:21.6576672Z             {
2026-06-07T04:24:21.6577075Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T04:24:21.6577315Z               "line": 213
2026-06-07T04:24:21.6577525Z             },
2026-06-07T04:24:21.6577739Z             {
2026-06-07T04:24:21.6578140Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T04:24:21.6578366Z               "line": 386
2026-06-07T04:24:21.6578577Z             },
2026-06-07T04:24:21.6578793Z             {
2026-06-07T04:24:21.6579280Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T04:24:21.6579530Z               "line": 250
2026-06-07T04:24:21.6579738Z             },
2026-06-07T04:24:21.6579945Z             {
2026-06-07T04:24:21.6580337Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.6580577Z               "line": 310
2026-06-07T04:24:21.6580788Z             },
2026-06-07T04:24:21.6580988Z             {
2026-06-07T04:24:21.6581388Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6581619Z               "line": 30
2026-06-07T04:24:21.6581842Z             },
2026-06-07T04:24:21.6582044Z             {
2026-06-07T04:24:21.6582445Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6582693Z               "line": 150
2026-06-07T04:24:21.6582896Z             },
2026-06-07T04:24:21.6583109Z             {
2026-06-07T04:24:21.6598575Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6598856Z               "line": 186
2026-06-07T04:24:21.6599058Z             },
2026-06-07T04:24:21.6599357Z             {
2026-06-07T04:24:21.6599752Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6599978Z               "line": 345
2026-06-07T04:24:21.6600186Z             },
2026-06-07T04:24:21.6600382Z             {
2026-06-07T04:24:21.6600769Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.6600990Z               "line": 343
2026-06-07T04:24:21.6601202Z             },
2026-06-07T04:24:21.6601408Z             {
2026-06-07T04:24:21.6601863Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T04:24:21.6602102Z               "line": 115
2026-06-07T04:24:21.6602299Z             },
2026-06-07T04:24:21.6602521Z             {
2026-06-07T04:24:21.6602906Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6603142Z               "line": 120
2026-06-07T04:24:21.6603350Z             },
2026-06-07T04:24:21.6603543Z             {
2026-06-07T04:24:21.6603935Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6604156Z               "line": 360
2026-06-07T04:24:21.6604360Z             },
2026-06-07T04:24:21.6604554Z             {
2026-06-07T04:24:21.6604947Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6605177Z               "line": 464
2026-06-07T04:24:21.6605375Z             },
2026-06-07T04:24:21.6605582Z             {
2026-06-07T04:24:21.6605969Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6606604Z               "line": 24
2026-06-07T04:24:21.6606839Z             },
2026-06-07T04:24:21.6607191Z             {
2026-06-07T04:24:21.6614261Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6614827Z               "line": 76
2026-06-07T04:24:21.6615042Z             },
2026-06-07T04:24:21.6615241Z             {
2026-06-07T04:24:21.6615658Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6615893Z               "line": 154
2026-06-07T04:24:21.6616094Z             },
2026-06-07T04:24:21.6616302Z             {
2026-06-07T04:24:21.6616690Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6616924Z               "line": 177
2026-06-07T04:24:21.6617120Z             },
2026-06-07T04:24:21.6617328Z             {
2026-06-07T04:24:21.6617728Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6617953Z               "line": 273
2026-06-07T04:24:21.6618161Z             },
2026-06-07T04:24:21.6618359Z             {
2026-06-07T04:24:21.6618781Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6619014Z               "line": 450
2026-06-07T04:24:21.6619362Z             },
2026-06-07T04:24:21.6619721Z             {
2026-06-07T04:24:21.6620265Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6620503Z               "line": 532
2026-06-07T04:24:21.6620702Z             },
2026-06-07T04:24:21.6620907Z             {
2026-06-07T04:24:21.6621301Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-07T04:24:21.6621533Z               "line": 27
2026-06-07T04:24:21.6621742Z             },
2026-06-07T04:24:21.6621939Z             {
2026-06-07T04:24:21.6622341Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-07T04:24:21.6622564Z               "line": 43
2026-06-07T04:24:21.6622771Z             },
2026-06-07T04:24:21.6622968Z             {
2026-06-07T04:24:21.6623345Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6623593Z               "line": 323
2026-06-07T04:24:21.6623793Z             },
2026-06-07T04:24:21.6624005Z             {
2026-06-07T04:24:21.6624317Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6624555Z               "line": 1038
2026-06-07T04:24:21.6624756Z             },
2026-06-07T04:24:21.6624960Z             {
2026-06-07T04:24:21.6625261Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6625483Z               "line": 3081
2026-06-07T04:24:21.6625690Z             },
2026-06-07T04:24:21.6625890Z             {
2026-06-07T04:24:21.6626195Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6626431Z               "line": 3142
2026-06-07T04:24:21.6626627Z             },
2026-06-07T04:24:21.6626834Z             {
2026-06-07T04:24:21.6627127Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6627364Z               "line": 3170
2026-06-07T04:24:21.6627563Z             },
2026-06-07T04:24:21.6627772Z             {
2026-06-07T04:24:21.6628094Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6628322Z               "line": 3224
2026-06-07T04:24:21.6628531Z             },
2026-06-07T04:24:21.6628739Z             {
2026-06-07T04:24:21.6629052Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6629320Z               "line": 3340
2026-06-07T04:24:21.6629528Z             },
2026-06-07T04:24:21.6629734Z             {
2026-06-07T04:24:21.6630027Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6630258Z               "line": 3393
2026-06-07T04:24:21.6630454Z             },
2026-06-07T04:24:21.6630660Z             {
2026-06-07T04:24:21.6630976Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.6631206Z               "line": 298
2026-06-07T04:24:21.6631408Z             },
2026-06-07T04:24:21.6631602Z             {
2026-06-07T04:24:21.6631929Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.6632152Z               "line": 339
2026-06-07T04:24:21.6632535Z             }
2026-06-07T04:24:21.6632748Z           ]
2026-06-07T04:24:21.6632955Z         },
2026-06-07T04:24:21.6633168Z         "int": {
2026-06-07T04:24:21.6633542Z           "complete": true,
2026-06-07T04:24:21.6633774Z           "evidence": [
2026-06-07T04:24:21.6633969Z             {
2026-06-07T04:24:21.6634386Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.6634613Z               "line": 687
2026-06-07T04:24:21.6634820Z             },
2026-06-07T04:24:21.6635026Z             {
2026-06-07T04:24:21.6635406Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6635643Z               "line": 703
2026-06-07T04:24:21.6635846Z             },
2026-06-07T04:24:21.6636060Z             {
2026-06-07T04:24:21.6636441Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6636677Z               "line": 1113
2026-06-07T04:24:21.6636886Z             },
2026-06-07T04:24:21.6637083Z             {
2026-06-07T04:24:21.6637541Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-07T04:24:21.6637762Z               "line": 18
2026-06-07T04:24:21.6637973Z             }
2026-06-07T04:24:21.6638183Z           ]
2026-06-07T04:24:21.6638391Z         },
2026-06-07T04:24:21.6638611Z         "unit": {
2026-06-07T04:24:21.6638847Z           "complete": true,
2026-06-07T04:24:21.6639134Z           "evidence": [
2026-06-07T04:24:21.6639391Z             {
2026-06-07T04:24:21.6639785Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T04:24:21.6640007Z               "line": 429
2026-06-07T04:24:21.6640213Z             },
2026-06-07T04:24:21.6640419Z             {
2026-06-07T04:24:21.6640789Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T04:24:21.6641024Z               "line": 789
2026-06-07T04:24:21.6641225Z             },
2026-06-07T04:24:21.6641433Z             {
2026-06-07T04:24:21.6641812Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6642058Z               "line": 625
2026-06-07T04:24:21.6642264Z             },
2026-06-07T04:24:21.6642460Z             {
2026-06-07T04:24:21.6642849Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6643085Z               "line": 674
2026-06-07T04:24:21.6643291Z             },
2026-06-07T04:24:21.6643482Z             {
2026-06-07T04:24:21.6643876Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T04:24:21.6644105Z               "line": 698
2026-06-07T04:24:21.6644302Z             },
2026-06-07T04:24:21.6644510Z             {
2026-06-07T04:24:21.6644894Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6645128Z               "line": 596
2026-06-07T04:24:21.6645335Z             },
2026-06-07T04:24:21.6645526Z             {
2026-06-07T04:24:21.6645918Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6646141Z               "line": 617
2026-06-07T04:24:21.6646348Z             },
2026-06-07T04:24:21.6646546Z             {
2026-06-07T04:24:21.6646948Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6647178Z               "line": 653
2026-06-07T04:24:21.6647388Z             },
2026-06-07T04:24:21.6647592Z             {
2026-06-07T04:24:21.6647972Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6648205Z               "line": 707
2026-06-07T04:24:21.6648398Z             },
2026-06-07T04:24:21.6648598Z             {
2026-06-07T04:24:21.6648987Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6649251Z               "line": 725
2026-06-07T04:24:21.6649458Z             },
2026-06-07T04:24:21.6649652Z             {
2026-06-07T04:24:21.6650047Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6650264Z               "line": 759
2026-06-07T04:24:21.6650473Z             },
2026-06-07T04:24:21.6650685Z             {
2026-06-07T04:24:21.6651071Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T04:24:21.6651473Z               "line": 834
2026-06-07T04:24:21.6651688Z             },
2026-06-07T04:24:21.6651892Z             {
2026-06-07T04:24:21.6652411Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-07T04:24:21.6652637Z               "line": 80
2026-06-07T04:24:21.6652844Z             },
2026-06-07T04:24:21.6653036Z             {
2026-06-07T04:24:21.6653341Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6653563Z               "line": 3921
2026-06-07T04:24:21.6653769Z             },
2026-06-07T04:24:21.6653966Z             {
2026-06-07T04:24:21.6654272Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6654505Z               "line": 4469
2026-06-07T04:24:21.6654707Z             },
2026-06-07T04:24:21.6654911Z             {
2026-06-07T04:24:21.6655207Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6655439Z               "line": 4539
2026-06-07T04:24:21.6655636Z             },
2026-06-07T04:24:21.6655840Z             {
2026-06-07T04:24:21.6661363Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6661684Z               "line": 4577
2026-06-07T04:24:21.6661909Z             }
2026-06-07T04:24:21.6662110Z           ]
2026-06-07T04:24:21.6662325Z         }
2026-06-07T04:24:21.6662521Z       }
2026-06-07T04:24:21.6662724Z     },
2026-06-07T04:24:21.6662920Z     {
2026-06-07T04:24:21.6663162Z       "id": "REQ-START-1",
2026-06-07T04:24:21.6663920Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-07T04:24:21.6664168Z       "requiredStages": [
2026-06-07T04:24:21.6664383Z         "impl",
2026-06-07T04:24:21.6664585Z         "unit"
2026-06-07T04:24:21.6664788Z       ],
2026-06-07T04:24:21.6665007Z       "stages": {
2026-06-07T04:24:21.6665210Z         "doc": {
2026-06-07T04:24:21.6665458Z           "complete": false,
2026-06-07T04:24:21.6665684Z           "evidence": []
2026-06-07T04:24:21.6665887Z         },
2026-06-07T04:24:21.6666096Z         "impl": {
2026-06-07T04:24:21.6666353Z           "complete": true,
2026-06-07T04:24:21.6666585Z           "evidence": [
2026-06-07T04:24:21.6666783Z             {
2026-06-07T04:24:21.6667145Z               "path": "crates/spt-store/src/seed.rs",
2026-06-07T04:24:21.6667362Z               "line": 16
2026-06-07T04:24:21.6667571Z             }
2026-06-07T04:24:21.6667770Z           ]
2026-06-07T04:24:21.6667975Z         },
2026-06-07T04:24:21.6668186Z         "int": {
2026-06-07T04:24:21.6668426Z           "complete": false,
2026-06-07T04:24:21.6668660Z           "evidence": []
2026-06-07T04:24:21.6668853Z         },
2026-06-07T04:24:21.6669065Z         "unit": {
2026-06-07T04:24:21.6669422Z           "complete": true,
2026-06-07T04:24:21.6669659Z           "evidence": [
2026-06-07T04:24:21.6669869Z             {
2026-06-07T04:24:21.6670214Z               "path": "crates/spt-store/src/seed.rs",
2026-06-07T04:24:21.6670443Z               "line": 43
2026-06-07T04:24:21.6670639Z             },
2026-06-07T04:24:21.6670841Z             {
2026-06-07T04:24:21.6671184Z               "path": "crates/spt-store/src/seed.rs",
2026-06-07T04:24:21.6671412Z               "line": 59
2026-06-07T04:24:21.6671624Z             }
2026-06-07T04:24:21.6671819Z           ]
2026-06-07T04:24:21.6672019Z         }
2026-06-07T04:24:21.6672212Z       }
2026-06-07T04:24:21.6672410Z     },
2026-06-07T04:24:21.6672600Z     {
2026-06-07T04:24:21.6672846Z       "id": "REQ-START-2",
2026-06-07T04:24:21.6673335Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-07T04:24:21.6673590Z       "requiredStages": [
2026-06-07T04:24:21.6673802Z         "impl",
2026-06-07T04:24:21.6674008Z         "unit",
2026-06-07T04:24:21.6674220Z         "int"
2026-06-07T04:24:21.6674417Z       ],
2026-06-07T04:24:21.6674639Z       "stages": {
2026-06-07T04:24:21.6674854Z         "doc": {
2026-06-07T04:24:21.6675097Z           "complete": false,
2026-06-07T04:24:21.6675330Z           "evidence": []
2026-06-07T04:24:21.6675525Z         },
2026-06-07T04:24:21.6675742Z         "impl": {
2026-06-07T04:24:21.6676236Z           "complete": true,
2026-06-07T04:24:21.6676498Z           "evidence": [
2026-06-07T04:24:21.6676704Z             {
2026-06-07T04:24:21.6677190Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6677422Z               "line": 16
2026-06-07T04:24:21.6677622Z             },
2026-06-07T04:24:21.6677824Z             {
2026-06-07T04:24:21.6678177Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6678414Z               "line": 100
2026-06-07T04:24:21.6678627Z             },
2026-06-07T04:24:21.6678821Z             {
2026-06-07T04:24:21.6679235Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6679630Z               "line": 208
2026-06-07T04:24:21.6680151Z             }
2026-06-07T04:24:21.6680379Z           ]
2026-06-07T04:24:21.6680605Z         },
2026-06-07T04:24:21.6680838Z         "int": {
2026-06-07T04:24:21.6681095Z           "complete": true,
2026-06-07T04:24:21.6681357Z           "evidence": [
2026-06-07T04:24:21.6681605Z             {
2026-06-07T04:24:21.6682178Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.6682423Z               "line": 182
2026-06-07T04:24:21.6682635Z             }
2026-06-07T04:24:21.6682846Z           ]
2026-06-07T04:24:21.6683045Z         },
2026-06-07T04:24:21.6683264Z         "unit": {
2026-06-07T04:24:21.6683501Z           "complete": true,
2026-06-07T04:24:21.6683735Z           "evidence": [
2026-06-07T04:24:21.6683939Z             {
2026-06-07T04:24:21.6684305Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6684542Z               "line": 416
2026-06-07T04:24:21.6684747Z             },
2026-06-07T04:24:21.6684955Z             {
2026-06-07T04:24:21.6685308Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6685545Z               "line": 449
2026-06-07T04:24:21.6685743Z             }
2026-06-07T04:24:21.6685955Z           ]
2026-06-07T04:24:21.6686163Z         }
2026-06-07T04:24:21.6686374Z       }
2026-06-07T04:24:21.6686584Z     },
2026-06-07T04:24:21.6686779Z     {
2026-06-07T04:24:21.6687030Z       "id": "REQ-START-3",
2026-06-07T04:24:21.6687670Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-07T04:24:21.6687932Z       "requiredStages": [
2026-06-07T04:24:21.6688148Z         "impl",
2026-06-07T04:24:21.6688353Z         "unit",
2026-06-07T04:24:21.6688562Z         "int"
2026-06-07T04:24:21.6688760Z       ],
2026-06-07T04:24:21.6688985Z       "stages": {
2026-06-07T04:24:21.6689247Z         "doc": {
2026-06-07T04:24:21.6689655Z           "complete": false,
2026-06-07T04:24:21.6690046Z           "evidence": []
2026-06-07T04:24:21.6690244Z         },
2026-06-07T04:24:21.6690466Z         "impl": {
2026-06-07T04:24:21.6690707Z           "complete": true,
2026-06-07T04:24:21.6690942Z           "evidence": [
2026-06-07T04:24:21.6691144Z             {
2026-06-07T04:24:21.6691540Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T04:24:21.6691782Z               "line": 23
2026-06-07T04:24:21.6691987Z             },
2026-06-07T04:24:21.6692192Z             {
2026-06-07T04:24:21.6692571Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T04:24:21.6692816Z               "line": 172
2026-06-07T04:24:21.6693015Z             },
2026-06-07T04:24:21.6693224Z             {
2026-06-07T04:24:21.6693622Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T04:24:21.6693846Z               "line": 188
2026-06-07T04:24:21.6694056Z             },
2026-06-07T04:24:21.6694256Z             {
2026-06-07T04:24:21.6694615Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6694836Z               "line": 17
2026-06-07T04:24:21.6695046Z             },
2026-06-07T04:24:21.6695255Z             {
2026-06-07T04:24:21.6695605Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6695836Z               "line": 43
2026-06-07T04:24:21.6696039Z             },
2026-06-07T04:24:21.6696245Z             {
2026-06-07T04:24:21.6696829Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6697079Z               "line": 101
2026-06-07T04:24:21.6697413Z             }
2026-06-07T04:24:21.6697617Z           ]
2026-06-07T04:24:21.6697826Z         },
2026-06-07T04:24:21.6698043Z         "int": {
2026-06-07T04:24:21.6698290Z           "complete": true,
2026-06-07T04:24:21.6698522Z           "evidence": [
2026-06-07T04:24:21.6698727Z             {
2026-06-07T04:24:21.6699108Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T04:24:21.6699571Z               "line": 436
2026-06-07T04:24:21.6699795Z             }
2026-06-07T04:24:21.6700189Z           ]
2026-06-07T04:24:21.6700397Z         },
2026-06-07T04:24:21.6700612Z         "unit": {
2026-06-07T04:24:21.6700852Z           "complete": true,
2026-06-07T04:24:21.6701104Z           "evidence": [
2026-06-07T04:24:21.6701333Z             {
2026-06-07T04:24:21.6701913Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T04:24:21.6702193Z               "line": 256
2026-06-07T04:24:21.6702443Z             },
2026-06-07T04:24:21.6702687Z             {
2026-06-07T04:24:21.6703111Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T04:24:21.6703361Z               "line": 277
2026-06-07T04:24:21.6708515Z             },
2026-06-07T04:24:21.6708826Z             {
2026-06-07T04:24:21.6709330Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T04:24:21.6709580Z               "line": 287
2026-06-07T04:24:21.6709803Z             },
2026-06-07T04:24:21.6710008Z             {
2026-06-07T04:24:21.6710380Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6710613Z               "line": 417
2026-06-07T04:24:21.6710828Z             },
2026-06-07T04:24:21.6711029Z             {
2026-06-07T04:24:21.6711396Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6711634Z               "line": 450
2026-06-07T04:24:21.6711838Z             },
2026-06-07T04:24:21.6712088Z             {
2026-06-07T04:24:21.6712482Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T04:24:21.6712741Z               "line": 458
2026-06-07T04:24:21.6712964Z             }
2026-06-07T04:24:21.6713176Z           ]
2026-06-07T04:24:21.6713385Z         }
2026-06-07T04:24:21.6713589Z       }
2026-06-07T04:24:21.6713802Z     },
2026-06-07T04:24:21.6714004Z     {
2026-06-07T04:24:21.6714270Z       "id": "REQ-START-4",
2026-06-07T04:24:21.6714750Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-07T04:24:21.6715013Z       "requiredStages": [
2026-06-07T04:24:21.6715235Z         "impl",
2026-06-07T04:24:21.6715448Z         "unit"
2026-06-07T04:24:21.6715658Z       ],
2026-06-07T04:24:21.6715880Z       "stages": {
2026-06-07T04:24:21.6716104Z         "doc": {
2026-06-07T04:24:21.6716359Z           "complete": false,
2026-06-07T04:24:21.6716603Z           "evidence": []
2026-06-07T04:24:21.6716821Z         },
2026-06-07T04:24:21.6717035Z         "impl": {
2026-06-07T04:24:21.6717302Z           "complete": true,
2026-06-07T04:24:21.6717534Z           "evidence": [
2026-06-07T04:24:21.6717754Z             {
2026-06-07T04:24:21.6718149Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6718388Z               "line": 391
2026-06-07T04:24:21.6718598Z             }
2026-06-07T04:24:21.6718797Z           ]
2026-06-07T04:24:21.6719007Z         },
2026-06-07T04:24:21.6719260Z         "int": {
2026-06-07T04:24:21.6719535Z           "complete": false,
2026-06-07T04:24:21.6719915Z           "evidence": []
2026-06-07T04:24:21.6720124Z         },
2026-06-07T04:24:21.6720342Z         "unit": {
2026-06-07T04:24:21.6720578Z           "complete": true,
2026-06-07T04:24:21.6720810Z           "evidence": [
2026-06-07T04:24:21.6721011Z             {
2026-06-07T04:24:21.6721396Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T04:24:21.6721622Z               "line": 660
2026-06-07T04:24:21.6721829Z             }
2026-06-07T04:24:21.6722043Z           ]
2026-06-07T04:24:21.6722489Z         }
2026-06-07T04:24:21.6722711Z       }
2026-06-07T04:24:21.6722905Z     },
2026-06-07T04:24:21.6723108Z     {
2026-06-07T04:24:21.6723523Z       "id": "REQ-STORE-1",
2026-06-07T04:24:21.6727498Z       "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-07T04:24:21.6727761Z       "requiredStages": [
2026-06-07T04:24:21.6727964Z         "impl",
2026-06-07T04:24:21.6728173Z         "unit"
2026-06-07T04:24:21.6728367Z       ],
2026-06-07T04:24:21.6728587Z       "stages": {
2026-06-07T04:24:21.6728802Z         "doc": {
2026-06-07T04:24:21.6729043Z           "complete": false,
2026-06-07T04:24:21.6729492Z           "evidence": []
2026-06-07T04:24:21.6729720Z         },
2026-06-07T04:24:21.6729979Z         "impl": {
2026-06-07T04:24:21.6730232Z           "complete": true,
2026-06-07T04:24:21.6730474Z           "evidence": [
2026-06-07T04:24:21.6730704Z             {
2026-06-07T04:24:21.6731123Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6731367Z               "line": 23
2026-06-07T04:24:21.6731573Z             },
2026-06-07T04:24:21.6731788Z             {
2026-06-07T04:24:21.6732203Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6732446Z               "line": 46
2026-06-07T04:24:21.6732662Z             },
2026-06-07T04:24:21.6732869Z             {
2026-06-07T04:24:21.6733299Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6733540Z               "line": 97
2026-06-07T04:24:21.6733756Z             },
2026-06-07T04:24:21.6733966Z             {
2026-06-07T04:24:21.6734403Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6734676Z               "line": 125
2026-06-07T04:24:21.6734912Z             },
2026-06-07T04:24:21.6735152Z             {
2026-06-07T04:24:21.6735639Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6735945Z               "line": 181
2026-06-07T04:24:21.6736193Z             },
2026-06-07T04:24:21.6736433Z             {
2026-06-07T04:24:21.6736883Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6737149Z               "line": 205
2026-06-07T04:24:21.6737401Z             },
2026-06-07T04:24:21.6737624Z             {
2026-06-07T04:24:21.6738081Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6738332Z               "line": 441
2026-06-07T04:24:21.6738539Z             },
2026-06-07T04:24:21.6738762Z             {
2026-06-07T04:24:21.6739266Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6739528Z               "line": 25
2026-06-07T04:24:21.6739742Z             },
2026-06-07T04:24:21.6739966Z             {
2026-06-07T04:24:21.6740421Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6740667Z               "line": 104
2026-06-07T04:24:21.6740908Z             },
2026-06-07T04:24:21.6741124Z             {
2026-06-07T04:24:21.6741567Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6741813Z               "line": 132
2026-06-07T04:24:21.6742044Z             },
2026-06-07T04:24:21.6742274Z             {
2026-06-07T04:24:21.6742760Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6743054Z               "line": 148
2026-06-07T04:24:21.6743291Z             },
2026-06-07T04:24:21.6743545Z             {
2026-06-07T04:24:21.6744318Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6744594Z               "line": 166
2026-06-07T04:24:21.6744948Z             },
2026-06-07T04:24:21.6745152Z             {
2026-06-07T04:24:21.6745568Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6746009Z               "line": 175
2026-06-07T04:24:21.6746252Z             },
2026-06-07T04:24:21.6746455Z             {
2026-06-07T04:24:21.6746848Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T04:24:21.6747237Z               "line": 16
2026-06-07T04:24:21.6747439Z             },
2026-06-07T04:24:21.6747654Z             {
2026-06-07T04:24:21.6748036Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T04:24:21.6748281Z               "line": 63
2026-06-07T04:24:21.6748482Z             }
2026-06-07T04:24:21.6748694Z           ]
2026-06-07T04:24:21.6748901Z         },
2026-06-07T04:24:21.6749110Z         "int": {
2026-06-07T04:24:21.6749592Z           "complete": false,
2026-06-07T04:24:21.6749851Z           "evidence": []
2026-06-07T04:24:21.6750221Z         },
2026-06-07T04:24:21.6750434Z         "unit": {
2026-06-07T04:24:21.6750694Z           "complete": true,
2026-06-07T04:24:21.6750939Z           "evidence": [
2026-06-07T04:24:21.6751143Z             {
2026-06-07T04:24:21.6751582Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6751828Z               "line": 558
2026-06-07T04:24:21.6752053Z             },
2026-06-07T04:24:21.6752248Z             {
2026-06-07T04:24:21.6752663Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6752904Z               "line": 568
2026-06-07T04:24:21.6753103Z             },
2026-06-07T04:24:21.6753309Z             {
2026-06-07T04:24:21.6753704Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6753946Z               "line": 590
2026-06-07T04:24:21.6754154Z             },
2026-06-07T04:24:21.6754353Z             {
2026-06-07T04:24:21.6754760Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6754994Z               "line": 606
2026-06-07T04:24:21.6755213Z             },
2026-06-07T04:24:21.6755415Z             {
2026-06-07T04:24:21.6755829Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T04:24:21.6756081Z               "line": 629
2026-06-07T04:24:21.6756288Z             },
2026-06-07T04:24:21.6756494Z             {
2026-06-07T04:24:21.6762947Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6763354Z               "line": 440
2026-06-07T04:24:21.6763566Z             },
2026-06-07T04:24:21.6763775Z             {
2026-06-07T04:24:21.6764213Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T04:24:21.6764438Z               "line": 475
2026-06-07T04:24:21.6764645Z             },
2026-06-07T04:24:21.6764845Z             {
2026-06-07T04:24:21.6765230Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T04:24:21.6765460Z               "line": 120
2026-06-07T04:24:21.6765667Z             },
2026-06-07T04:24:21.6765873Z             {
2026-06-07T04:24:21.6766248Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T04:24:21.6766481Z               "line": 128
2026-06-07T04:24:21.6766680Z             }
2026-06-07T04:24:21.6766899Z           ]
2026-06-07T04:24:21.6767097Z         }
2026-06-07T04:24:21.6767303Z       }
2026-06-07T04:24:21.6767506Z     },
2026-06-07T04:24:21.6767712Z     {
2026-06-07T04:24:21.6767967Z       "id": "REQ-SUBNET-1",
2026-06-07T04:24:21.6769556Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-07T04:24:21.6769979Z       "requiredStages": [
2026-06-07T04:24:21.6770181Z         "impl",
2026-06-07T04:24:21.6770395Z         "unit"
2026-06-07T04:24:21.6770607Z       ],
2026-06-07T04:24:21.6770822Z       "stages": {
2026-06-07T04:24:21.6771033Z         "doc": {
2026-06-07T04:24:21.6771275Z           "complete": false,
2026-06-07T04:24:21.6771517Z           "evidence": []
2026-06-07T04:24:21.6771716Z         },
2026-06-07T04:24:21.6771939Z         "impl": {
2026-06-07T04:24:21.6772187Z           "complete": true,
2026-06-07T04:24:21.6772407Z           "evidence": [
2026-06-07T04:24:21.6772613Z             {
2026-06-07T04:24:21.6773325Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6773590Z               "line": 225
2026-06-07T04:24:21.6773978Z             },
2026-06-07T04:24:21.6774186Z             {
2026-06-07T04:24:21.6774615Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6774843Z               "line": 459
2026-06-07T04:24:21.6775050Z             },
2026-06-07T04:24:21.6775245Z             {
2026-06-07T04:24:21.6775556Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6775782Z               "line": 1732
2026-06-07T04:24:21.6775996Z             },
2026-06-07T04:24:21.6776203Z             {
2026-06-07T04:24:21.6776501Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6776735Z               "line": 1835
2026-06-07T04:24:21.6776934Z             },
2026-06-07T04:24:21.6777143Z             {
2026-06-07T04:24:21.6777439Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6777675Z               "line": 1847
2026-06-07T04:24:21.6777900Z             },
2026-06-07T04:24:21.6778100Z             {
2026-06-07T04:24:21.6778407Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6778642Z               "line": 1898
2026-06-07T04:24:21.6778854Z             },
2026-06-07T04:24:21.6779061Z             {
2026-06-07T04:24:21.6779727Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6779968Z               "line": 1939
2026-06-07T04:24:21.6780165Z             },
2026-06-07T04:24:21.6780366Z             {
2026-06-07T04:24:21.6780654Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6780887Z               "line": 2015
2026-06-07T04:24:21.6781092Z             },
2026-06-07T04:24:21.6781289Z             {
2026-06-07T04:24:21.6781590Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6781814Z               "line": 2072
2026-06-07T04:24:21.6782021Z             },
2026-06-07T04:24:21.6782220Z             {
2026-06-07T04:24:21.6782537Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6782771Z               "line": 2179
2026-06-07T04:24:21.6782967Z             },
2026-06-07T04:24:21.6783171Z             {
2026-06-07T04:24:21.6783503Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.6783740Z               "line": 412
2026-06-07T04:24:21.6783937Z             }
2026-06-07T04:24:21.6784142Z           ]
2026-06-07T04:24:21.6784348Z         },
2026-06-07T04:24:21.6784548Z         "int": {
2026-06-07T04:24:21.6784800Z           "complete": false,
2026-06-07T04:24:21.6785035Z           "evidence": []
2026-06-07T04:24:21.6785244Z         },
2026-06-07T04:24:21.6785461Z         "unit": {
2026-06-07T04:24:21.6785709Z           "complete": true,
2026-06-07T04:24:21.6785937Z           "evidence": [
2026-06-07T04:24:21.6786134Z             {
2026-06-07T04:24:21.6786564Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6786788Z               "line": 860
2026-06-07T04:24:21.6786994Z             },
2026-06-07T04:24:21.6787207Z             {
2026-06-07T04:24:21.6787539Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6787952Z               "line": 5323
2026-06-07T04:24:21.6788188Z             },
2026-06-07T04:24:21.6788432Z             {
2026-06-07T04:24:21.6789258Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6790217Z               "line": 5396
2026-06-07T04:24:21.6790943Z             },
2026-06-07T04:24:21.6791523Z             {
2026-06-07T04:24:21.6792169Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6793062Z               "line": 5403
2026-06-07T04:24:21.6793801Z             },
2026-06-07T04:24:21.6794409Z             {
2026-06-07T04:24:21.6795168Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6796220Z               "line": 5456
2026-06-07T04:24:21.6797075Z             },
2026-06-07T04:24:21.6797778Z             {
2026-06-07T04:24:21.6798544Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6800074Z               "line": 5473
2026-06-07T04:24:21.6800931Z             },
2026-06-07T04:24:21.6801520Z             {
2026-06-07T04:24:21.6802330Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6803686Z               "line": 5487
2026-06-07T04:24:21.6804458Z             },
2026-06-07T04:24:21.6805036Z             {
2026-06-07T04:24:21.6805677Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6806616Z               "line": 5570
2026-06-07T04:24:21.6807466Z             }
2026-06-07T04:24:21.6808104Z           ]
2026-06-07T04:24:21.6808667Z         }
2026-06-07T04:24:21.6809253Z       }
2026-06-07T04:24:21.6809907Z     },
2026-06-07T04:24:21.6821644Z     {
2026-06-07T04:24:21.6822407Z       "id": "REQ-SUBNET-2",
2026-06-07T04:24:21.6823981Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-07T04:24:21.6825796Z       "requiredStages": [
2026-06-07T04:24:21.6826501Z         "impl",
2026-06-07T04:24:21.6827132Z         "unit",
2026-06-07T04:24:21.6827858Z         "int"
2026-06-07T04:24:21.6828536Z       ],
2026-06-07T04:24:21.6829337Z       "stages": {
2026-06-07T04:24:21.6830372Z         "doc": {
2026-06-07T04:24:21.6831163Z           "complete": true,
2026-06-07T04:24:21.6832050Z           "evidence": [
2026-06-07T04:24:21.6832864Z             {
2026-06-07T04:24:21.6833835Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-07T04:24:21.6835028Z               "line": 60
2026-06-07T04:24:21.6835676Z             }
2026-06-07T04:24:21.6836204Z           ]
2026-06-07T04:24:21.6836710Z         },
2026-06-07T04:24:21.6837219Z         "impl": {
2026-06-07T04:24:21.6837829Z           "complete": true,
2026-06-07T04:24:21.6838526Z           "evidence": [
2026-06-07T04:24:21.6839152Z             {
2026-06-07T04:24:21.6840058Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.6841149Z               "line": 548
2026-06-07T04:24:21.6841790Z             },
2026-06-07T04:24:21.6842331Z             {
2026-06-07T04:24:21.6843057Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T04:24:21.6844028Z               "line": 631
2026-06-07T04:24:21.6844681Z             },
2026-06-07T04:24:21.6845216Z             {
2026-06-07T04:24:21.6845940Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.6846900Z               "line": 416
2026-06-07T04:24:21.6847549Z             },
2026-06-07T04:24:21.6848098Z             {
2026-06-07T04:24:21.6848852Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T04:24:21.6850000Z               "line": 494
2026-06-07T04:24:21.6850633Z             },
2026-06-07T04:24:21.6851156Z             {
2026-06-07T04:24:21.6851864Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T04:24:21.6852802Z               "line": 26
2026-06-07T04:24:21.6853411Z             },
2026-06-07T04:24:21.6853935Z             {
2026-06-07T04:24:21.6854637Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T04:24:21.6855591Z               "line": 60
2026-06-07T04:24:21.6856217Z             },
2026-06-07T04:24:21.6856732Z             {
2026-06-07T04:24:21.6857446Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T04:24:21.6858390Z               "line": 120
2026-06-07T04:24:21.6859016Z             },
2026-06-07T04:24:21.6859594Z             {
2026-06-07T04:24:21.6860294Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T04:24:21.6861230Z               "line": 241
2026-06-07T04:24:21.6861869Z             },
2026-06-07T04:24:21.6862392Z             {
2026-06-07T04:24:21.6863092Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T04:24:21.6864047Z               "line": 325
2026-06-07T04:24:21.6864677Z             },
2026-06-07T04:24:21.6865202Z             {
2026-06-07T04:24:21.6865935Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T04:24:21.6866910Z               "line": 252
2026-06-07T04:24:21.6867533Z             },
2026-06-07T04:24:21.6868426Z             {
2026-06-07T04:24:21.6869088Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6870093Z               "line": 1864
2026-06-07T04:24:21.6870887Z             },
2026-06-07T04:24:21.6871416Z             {
2026-06-07T04:24:21.6872028Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6872880Z               "line": 2135
2026-06-07T04:24:21.6873511Z             },
2026-06-07T04:24:21.6874045Z             {
2026-06-07T04:24:21.6874657Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6875630Z               "line": 2300
2026-06-07T04:24:21.6876258Z             }
2026-06-07T04:24:21.6876774Z           ]
2026-06-07T04:24:21.6877269Z         },
2026-06-07T04:24:21.6877776Z         "int": {
2026-06-07T04:24:21.6878363Z           "complete": true,
2026-06-07T04:24:21.6879049Z           "evidence": [
2026-06-07T04:24:21.6879729Z             {
2026-06-07T04:24:21.6880463Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-07T04:24:21.6881448Z               "line": 22
2026-06-07T04:24:21.6882074Z             },
2026-06-07T04:24:21.6882599Z             {
2026-06-07T04:24:21.6890536Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6891546Z               "line": 570
2026-06-07T04:24:21.6892175Z             },
2026-06-07T04:24:21.6892695Z             {
2026-06-07T04:24:21.6893396Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.6894366Z               "line": 787
2026-06-07T04:24:21.6894983Z             }
2026-06-07T04:24:21.6895493Z           ]
2026-06-07T04:24:21.6896002Z         },
2026-06-07T04:24:21.6896502Z         "unit": {
2026-06-07T04:24:21.6897080Z           "complete": true,
2026-06-07T04:24:21.6897752Z           "evidence": [
2026-06-07T04:24:21.6898352Z             {
2026-06-07T04:24:21.6899065Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T04:24:21.6900067Z               "line": 378
2026-06-07T04:24:21.6900687Z             },
2026-06-07T04:24:21.6901257Z             {
2026-06-07T04:24:21.6901870Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6902710Z               "line": 5363
2026-06-07T04:24:21.6903354Z             },
2026-06-07T04:24:21.6903877Z             {
2026-06-07T04:24:21.6904485Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6905373Z               "line": 5673
2026-06-07T04:24:21.6905997Z             }
2026-06-07T04:24:21.6906515Z           ]
2026-06-07T04:24:21.6907011Z         }
2026-06-07T04:24:21.6907494Z       }
2026-06-07T04:24:21.6907962Z     },
2026-06-07T04:24:21.6908431Z     {
2026-06-07T04:24:21.6909035Z       "id": "REQ-SUBNET-3",
2026-06-07T04:24:21.6910907Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-07T04:24:21.6912881Z       "requiredStages": [
2026-06-07T04:24:21.6913531Z         "impl",
2026-06-07T04:24:21.6914065Z         "unit"
2026-06-07T04:24:21.6914583Z       ],
2026-06-07T04:24:21.6915089Z       "stages": {
2026-06-07T04:24:21.6915641Z         "doc": {
2026-06-07T04:24:21.6916222Z           "complete": false,
2026-06-07T04:24:21.6916914Z           "evidence": []
2026-06-07T04:24:21.6917553Z         },
2026-06-07T04:24:21.6918060Z         "impl": {
2026-06-07T04:24:21.6918709Z           "complete": true,
2026-06-07T04:24:21.6919431Z           "evidence": [
2026-06-07T04:24:21.6920043Z             {
2026-06-07T04:24:21.6920786Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6921775Z               "line": 139
2026-06-07T04:24:21.6922391Z             },
2026-06-07T04:24:21.6922917Z             {
2026-06-07T04:24:21.6923651Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6924627Z               "line": 327
2026-06-07T04:24:21.6925253Z             },
2026-06-07T04:24:21.6925776Z             {
2026-06-07T04:24:21.6926469Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6927411Z               "line": 125
2026-06-07T04:24:21.6928341Z             },
2026-06-07T04:24:21.6928906Z             {
2026-06-07T04:24:21.6929686Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6930795Z               "line": 486
2026-06-07T04:24:21.6931433Z             },
2026-06-07T04:24:21.6931950Z             {
2026-06-07T04:24:21.6932839Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6933832Z               "line": 545
2026-06-07T04:24:21.6934483Z             },
2026-06-07T04:24:21.6935024Z             {
2026-06-07T04:24:21.6935763Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-07T04:24:21.6936725Z               "line": 9
2026-06-07T04:24:21.6937343Z             },
2026-06-07T04:24:21.6937882Z             {
2026-06-07T04:24:21.6938511Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6939614Z               "line": 2072
2026-06-07T04:24:21.6940258Z             },
2026-06-07T04:24:21.6940775Z             {
2026-06-07T04:24:21.6941435Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T04:24:21.6942320Z               "line": 433
2026-06-07T04:24:21.6942938Z             }
2026-06-07T04:24:21.6943463Z           ]
2026-06-07T04:24:21.6943953Z         },
2026-06-07T04:24:21.6944447Z         "int": {
2026-06-07T04:24:21.6945023Z           "complete": false,
2026-06-07T04:24:21.6945714Z           "evidence": []
2026-06-07T04:24:21.6966886Z         },
2026-06-07T04:24:21.6974409Z         "unit": {
2026-06-07T04:24:21.6975050Z           "complete": true,
2026-06-07T04:24:21.6975744Z           "evidence": [
2026-06-07T04:24:21.6976352Z             {
2026-06-07T04:24:21.6977089Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T04:24:21.6978077Z               "line": 989
2026-06-07T04:24:21.6978702Z             },
2026-06-07T04:24:21.6979283Z             {
2026-06-07T04:24:21.6980034Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6980987Z               "line": 852
2026-06-07T04:24:21.6981666Z             },
2026-06-07T04:24:21.6982191Z             {
2026-06-07T04:24:21.6982880Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T04:24:21.6983851Z               "line": 897
2026-06-07T04:24:21.6984472Z             },
2026-06-07T04:24:21.6984993Z             {
2026-06-07T04:24:21.6985705Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-07T04:24:21.6986639Z               "line": 49
2026-06-07T04:24:21.6987250Z             },
2026-06-07T04:24:21.6987767Z             {
2026-06-07T04:24:21.6988373Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.6989378Z               "line": 5570
2026-06-07T04:24:21.6990021Z             }
2026-06-07T04:24:21.6990545Z           ]
2026-06-07T04:24:21.6991036Z         }
2026-06-07T04:24:21.6991515Z       }
2026-06-07T04:24:21.6991979Z     },
2026-06-07T04:24:21.6992441Z     {
2026-06-07T04:24:21.6992950Z       "id": "REQ-SUBNET-4",
2026-06-07T04:24:21.6994591Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-07T04:24:21.6996383Z       "requiredStages": [
2026-06-07T04:24:21.6997041Z         "impl",
2026-06-07T04:24:21.6997574Z         "unit"
2026-06-07T04:24:21.6998168Z       ],
2026-06-07T04:24:21.6998656Z       "stages": {
2026-06-07T04:24:21.6999249Z         "doc": {
2026-06-07T04:24:21.6999816Z           "complete": true,
2026-06-07T04:24:21.7000487Z           "evidence": [
2026-06-07T04:24:21.7001077Z             {
2026-06-07T04:24:21.7001923Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-07T04:24:21.7003049Z               "line": 60
2026-06-07T04:24:21.7003661Z             }
2026-06-07T04:24:21.7004165Z           ]
2026-06-07T04:24:21.7004648Z         },
2026-06-07T04:24:21.7005141Z         "impl": {
2026-06-07T04:24:21.7005717Z           "complete": true,
2026-06-07T04:24:21.7006377Z           "evidence": [
2026-06-07T04:24:21.7006969Z             {
2026-06-07T04:24:21.7008033Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7008919Z               "line": 1732
2026-06-07T04:24:21.7009699Z             },
2026-06-07T04:24:21.7010447Z             {
2026-06-07T04:24:21.7011053Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7011900Z               "line": 2267
2026-06-07T04:24:21.7012534Z             },
2026-06-07T04:24:21.7013048Z             {
2026-06-07T04:24:21.7013646Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7014489Z               "line": 2300
2026-06-07T04:24:21.7015112Z             }
2026-06-07T04:24:21.7015625Z           ]
2026-06-07T04:24:21.7016102Z         },
2026-06-07T04:24:21.7016585Z         "int": {
2026-06-07T04:24:21.7017158Z           "complete": false,
2026-06-07T04:24:21.7017846Z           "evidence": []
2026-06-07T04:24:21.7018453Z         },
2026-06-07T04:24:21.7018938Z         "unit": {
2026-06-07T04:24:21.7019555Z           "complete": true,
2026-06-07T04:24:21.7020229Z           "evidence": [
2026-06-07T04:24:21.7020832Z             {
2026-06-07T04:24:21.7021437Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7022284Z               "line": 5382
2026-06-07T04:24:21.7022916Z             },
2026-06-07T04:24:21.7023428Z             {
2026-06-07T04:24:21.7024019Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7024887Z               "line": 5456
2026-06-07T04:24:21.7025716Z             }
2026-06-07T04:24:21.7026266Z           ]
2026-06-07T04:24:21.7026877Z         }
2026-06-07T04:24:21.7027525Z       }
2026-06-07T04:24:21.7028000Z     },
2026-06-07T04:24:21.7028469Z     {
2026-06-07T04:24:21.7028982Z       "id": "REQ-TERM-1",
2026-06-07T04:24:21.7036327Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-07T04:24:21.7037666Z       "requiredStages": [
2026-06-07T04:24:21.7038311Z         "impl",
2026-06-07T04:24:21.7038836Z         "unit"
2026-06-07T04:24:21.7039442Z       ],
2026-06-07T04:24:21.7039941Z       "stages": {
2026-06-07T04:24:21.7040553Z         "doc": {
2026-06-07T04:24:21.7041135Z           "complete": false,
2026-06-07T04:24:21.7041835Z           "evidence": []
2026-06-07T04:24:21.7042471Z         },
2026-06-07T04:24:21.7042975Z         "impl": {
2026-06-07T04:24:21.7043556Z           "complete": true,
2026-06-07T04:24:21.7044235Z           "evidence": [
2026-06-07T04:24:21.7044832Z             {
2026-06-07T04:24:21.7045506Z               "path": "crates/spt-term/src/pty.rs",
2026-06-07T04:24:21.7046395Z               "line": 59
2026-06-07T04:24:21.7047012Z             },
2026-06-07T04:24:21.7047740Z             {
2026-06-07T04:24:21.7048554Z               "path": "crates/spt-term/src/pty.rs",
2026-06-07T04:24:21.7049498Z               "line": 171
2026-06-07T04:24:21.7050118Z             },
2026-06-07T04:24:21.7050641Z             {
2026-06-07T04:24:21.7051316Z               "path": "crates/spt-term/src/surface.rs",
2026-06-07T04:24:21.7052230Z               "line": 100
2026-06-07T04:24:21.7052842Z             }
2026-06-07T04:24:21.7053375Z           ]
2026-06-07T04:24:21.7053880Z         },
2026-06-07T04:24:21.7054374Z         "int": {
2026-06-07T04:24:21.7054964Z           "complete": false,
2026-06-07T04:24:21.7055673Z           "evidence": []
2026-06-07T04:24:21.7056299Z         },
2026-06-07T04:24:21.7056800Z         "unit": {
2026-06-07T04:24:21.7057396Z           "complete": true,
2026-06-07T04:24:21.7058112Z           "evidence": [
2026-06-07T04:24:21.7058711Z             {
2026-06-07T04:24:21.7059453Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-07T04:24:21.7060385Z               "line": 24
2026-06-07T04:24:21.7060994Z             },
2026-06-07T04:24:21.7061522Z             {
2026-06-07T04:24:21.7062204Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-07T04:24:21.7063140Z               "line": 56
2026-06-07T04:24:21.7063755Z             }
2026-06-07T04:24:21.7064266Z           ]
2026-06-07T04:24:21.7064758Z         }
2026-06-07T04:24:21.7065239Z       }
2026-06-07T04:24:21.7065718Z     },
2026-06-07T04:24:21.7066517Z     {
2026-06-07T04:24:21.7067075Z       "id": "REQ-TERM-2",
2026-06-07T04:24:21.7068172Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-07T04:24:21.7069685Z       "requiredStages": [
2026-06-07T04:24:21.7070338Z         "impl",
2026-06-07T04:24:21.7070876Z         "unit"
2026-06-07T04:24:21.7071407Z       ],
2026-06-07T04:24:21.7071899Z       "stages": {
2026-06-07T04:24:21.7072453Z         "doc": {
2026-06-07T04:24:21.7073040Z           "complete": false,
2026-06-07T04:24:21.7073732Z           "evidence": []
2026-06-07T04:24:21.7074354Z         },
2026-06-07T04:24:21.7074867Z         "impl": {
2026-06-07T04:24:21.7075454Z           "complete": true,
2026-06-07T04:24:21.7076137Z           "evidence": [
2026-06-07T04:24:21.7076736Z             {
2026-06-07T04:24:21.7077413Z               "path": "crates/spt-term/src/surface.rs",
2026-06-07T04:24:21.7078329Z               "line": 117
2026-06-07T04:24:21.7078947Z             },
2026-06-07T04:24:21.7079532Z             {
2026-06-07T04:24:21.7080214Z               "path": "crates/spt-term/src/surface.rs",
2026-06-07T04:24:21.7081118Z               "line": 127
2026-06-07T04:24:21.7081752Z             }
2026-06-07T04:24:21.7082263Z           ]
2026-06-07T04:24:21.7082756Z         },
2026-06-07T04:24:21.7083252Z         "int": {
2026-06-07T04:24:21.7083832Z           "complete": false,
2026-06-07T04:24:21.7084523Z           "evidence": []
2026-06-07T04:24:21.7085143Z         },
2026-06-07T04:24:21.7085662Z         "unit": {
2026-06-07T04:24:21.7086243Z           "complete": true,
2026-06-07T04:24:21.7086916Z           "evidence": [
2026-06-07T04:24:21.7087520Z             {
2026-06-07T04:24:21.7088204Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-07T04:24:21.7089203Z               "line": 46
2026-06-07T04:24:21.7089843Z             },
2026-06-07T04:24:21.7090371Z             {
2026-06-07T04:24:21.7091061Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-07T04:24:21.7091984Z               "line": 77
2026-06-07T04:24:21.7092596Z             }
2026-06-07T04:24:21.7093111Z           ]
2026-06-07T04:24:21.7098431Z         }
2026-06-07T04:24:21.7099054Z       }
2026-06-07T04:24:21.7099607Z     },
2026-06-07T04:24:21.7100076Z     {
2026-06-07T04:24:21.7100581Z       "id": "REQ-TERM-3",
2026-06-07T04:24:21.7101498Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-07T04:24:21.7102542Z       "requiredStages": [
2026-06-07T04:24:21.7103187Z         "impl",
2026-06-07T04:24:21.7103714Z         "unit"
2026-06-07T04:24:21.7104231Z       ],
2026-06-07T04:24:21.7104723Z       "stages": {
2026-06-07T04:24:21.7105271Z         "doc": {
2026-06-07T04:24:21.7105843Z           "complete": false,
2026-06-07T04:24:21.7106539Z           "evidence": []
2026-06-07T04:24:21.7107163Z         },
2026-06-07T04:24:21.7107659Z         "impl": {
2026-06-07T04:24:21.7108245Z           "complete": true,
2026-06-07T04:24:21.7108923Z           "evidence": [
2026-06-07T04:24:21.7109570Z             {
2026-06-07T04:24:21.7110248Z               "path": "crates/spt-term/src/stream.rs",
2026-06-07T04:24:21.7111140Z               "line": 71
2026-06-07T04:24:21.7111764Z             }
2026-06-07T04:24:21.7112285Z           ]
2026-06-07T04:24:21.7112775Z         },
2026-06-07T04:24:21.7113261Z         "int": {
2026-06-07T04:24:21.7113838Z           "complete": false,
2026-06-07T04:24:21.7114545Z           "evidence": []
2026-06-07T04:24:21.7115164Z         },
2026-06-07T04:24:21.7115661Z         "unit": {
2026-06-07T04:24:21.7116251Z           "complete": true,
2026-06-07T04:24:21.7116916Z           "evidence": [
2026-06-07T04:24:21.7117515Z             {
2026-06-07T04:24:21.7118192Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-07T04:24:21.7119115Z               "line": 37
2026-06-07T04:24:21.7119765Z             },
2026-06-07T04:24:21.7120279Z             {
2026-06-07T04:24:21.7120953Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-07T04:24:21.7122131Z               "line": 67
2026-06-07T04:24:21.7122787Z             }
2026-06-07T04:24:21.7123311Z           ]
2026-06-07T04:24:21.7123797Z         }
2026-06-07T04:24:21.7124426Z       }
2026-06-07T04:24:21.7124892Z     },
2026-06-07T04:24:21.7125362Z     {
2026-06-07T04:24:21.7125874Z       "id": "REQ-TERM-4",
2026-06-07T04:24:21.7127885Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-07T04:24:21.7130139Z       "requiredStages": [
2026-06-07T04:24:21.7130785Z         "impl",
2026-06-07T04:24:21.7131343Z         "unit",
2026-06-07T04:24:21.7131889Z         "int"
2026-06-07T04:24:21.7132399Z       ],
2026-06-07T04:24:21.7132887Z       "stages": {
2026-06-07T04:24:21.7133434Z         "doc": {
2026-06-07T04:24:21.7134008Z           "complete": true,
2026-06-07T04:24:21.7134689Z           "evidence": [
2026-06-07T04:24:21.7135286Z             {
2026-06-07T04:24:21.7135890Z               "path": "docs/MANIFEST.md",
2026-06-07T04:24:21.7136718Z               "line": 115
2026-06-07T04:24:21.7137342Z             }
2026-06-07T04:24:21.7137854Z           ]
2026-06-07T04:24:21.7138360Z         },
2026-06-07T04:24:21.7138858Z         "impl": {
2026-06-07T04:24:21.7139667Z           "complete": true,
2026-06-07T04:24:21.7140715Z           "evidence": [
2026-06-07T04:24:21.7141382Z             {
2026-06-07T04:24:21.7142252Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T04:24:21.7143186Z               "line": 507
2026-06-07T04:24:21.7143812Z             },
2026-06-07T04:24:21.7144333Z             {
2026-06-07T04:24:21.7145015Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7145951Z               "line": 41
2026-06-07T04:24:21.7146561Z             },
2026-06-07T04:24:21.7147080Z             {
2026-06-07T04:24:21.7147767Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7148687Z               "line": 91
2026-06-07T04:24:21.7149366Z             },
2026-06-07T04:24:21.7149912Z             {
2026-06-07T04:24:21.7150595Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7151520Z               "line": 152
2026-06-07T04:24:21.7152159Z             },
2026-06-07T04:24:21.7153033Z             {
2026-06-07T04:24:21.7153718Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7159131Z               "line": 221
2026-06-07T04:24:21.7160020Z             },
2026-06-07T04:24:21.7160542Z             {
2026-06-07T04:24:21.7161257Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7162213Z               "line": 20
2026-06-07T04:24:21.7162828Z             },
2026-06-07T04:24:21.7163368Z             {
2026-06-07T04:24:21.7164174Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7165154Z               "line": 222
2026-06-07T04:24:21.7165770Z             },
2026-06-07T04:24:21.7166286Z             {
2026-06-07T04:24:21.7166982Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7167985Z               "line": 242
2026-06-07T04:24:21.7168694Z             },
2026-06-07T04:24:21.7169257Z             {
2026-06-07T04:24:21.7169988Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.7171005Z               "line": 625
2026-06-07T04:24:21.7171634Z             },
2026-06-07T04:24:21.7172156Z             {
2026-06-07T04:24:21.7172822Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7173728Z               "line": 162
2026-06-07T04:24:21.7174364Z             },
2026-06-07T04:24:21.7174892Z             {
2026-06-07T04:24:21.7175546Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7176448Z               "line": 206
2026-06-07T04:24:21.7177077Z             },
2026-06-07T04:24:21.7177600Z             {
2026-06-07T04:24:21.7178257Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7179207Z               "line": 233
2026-06-07T04:24:21.7179841Z             },
2026-06-07T04:24:21.7180653Z             {
2026-06-07T04:24:21.7181299Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7182146Z               "line": 685
2026-06-07T04:24:21.7182928Z             }
2026-06-07T04:24:21.7183440Z           ]
2026-06-07T04:24:21.7183927Z         },
2026-06-07T04:24:21.7184409Z         "int": {
2026-06-07T04:24:21.7184987Z           "complete": true,
2026-06-07T04:24:21.7185674Z           "evidence": [
2026-06-07T04:24:21.7186269Z             {
2026-06-07T04:24:21.7186961Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-07T04:24:21.7187894Z               "line": 18
2026-06-07T04:24:21.7188510Z             }
2026-06-07T04:24:21.7189012Z           ]
2026-06-07T04:24:21.7189560Z         },
2026-06-07T04:24:21.7190060Z         "unit": {
2026-06-07T04:24:21.7190639Z           "complete": true,
2026-06-07T04:24:21.7191309Z           "evidence": [
2026-06-07T04:24:21.7191911Z             {
2026-06-07T04:24:21.7192612Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7193547Z               "line": 259
2026-06-07T04:24:21.7194171Z             },
2026-06-07T04:24:21.7194693Z             {
2026-06-07T04:24:21.7195380Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7196298Z               "line": 277
2026-06-07T04:24:21.7196913Z             },
2026-06-07T04:24:21.7197434Z             {
2026-06-07T04:24:21.7198107Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7199036Z               "line": 289
2026-06-07T04:24:21.7199281Z             },
2026-06-07T04:24:21.7199488Z             {
2026-06-07T04:24:21.7199854Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7200090Z               "line": 304
2026-06-07T04:24:21.7200300Z             },
2026-06-07T04:24:21.7200514Z             {
2026-06-07T04:24:21.7200895Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7201119Z               "line": 320
2026-06-07T04:24:21.7201332Z             },
2026-06-07T04:24:21.7201542Z             {
2026-06-07T04:24:21.7201913Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7202150Z               "line": 346
2026-06-07T04:24:21.7202357Z             },
2026-06-07T04:24:21.7202560Z             {
2026-06-07T04:24:21.7202922Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7203159Z               "line": 361
2026-06-07T04:24:21.7203356Z             },
2026-06-07T04:24:21.7203559Z             {
2026-06-07T04:24:21.7203915Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T04:24:21.7204148Z               "line": 391
2026-06-07T04:24:21.7204352Z             },
2026-06-07T04:24:21.7204546Z             {
2026-06-07T04:24:21.7204932Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7205152Z               "line": 365
2026-06-07T04:24:21.7205362Z             },
2026-06-07T04:24:21.7205557Z             {
2026-06-07T04:24:21.7205950Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7206184Z               "line": 382
2026-06-07T04:24:21.7206386Z             },
2026-06-07T04:24:21.7206600Z             {
2026-06-07T04:24:21.7206986Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7207220Z               "line": 411
2026-06-07T04:24:21.7207425Z             },
2026-06-07T04:24:21.7207631Z             {
2026-06-07T04:24:21.7208020Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T04:24:21.7208246Z               "line": 428
2026-06-07T04:24:21.7208451Z             },
2026-06-07T04:24:21.7208650Z             {
2026-06-07T04:24:21.7209031Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.7209378Z               "line": 828
2026-06-07T04:24:21.7209592Z             },
2026-06-07T04:24:21.7209798Z             {
2026-06-07T04:24:21.7210175Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.7210409Z               "line": 835
2026-06-07T04:24:21.7210831Z             },
2026-06-07T04:24:21.7211066Z             {
2026-06-07T04:24:21.7215977Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.7216546Z               "line": 850
2026-06-07T04:24:21.7216757Z             },
2026-06-07T04:24:21.7216952Z             {
2026-06-07T04:24:21.7217324Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7217546Z               "line": 420
2026-06-07T04:24:21.7217753Z             },
2026-06-07T04:24:21.7217956Z             {
2026-06-07T04:24:21.7218302Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7218538Z               "line": 458
2026-06-07T04:24:21.7218735Z             },
2026-06-07T04:24:21.7219006Z             {
2026-06-07T04:24:21.7219444Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7219676Z               "line": 471
2026-06-07T04:24:21.7219879Z             },
2026-06-07T04:24:21.7220070Z             {
2026-06-07T04:24:21.7220444Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7220666Z               "line": 497
2026-06-07T04:24:21.7220869Z             },
2026-06-07T04:24:21.7221093Z             {
2026-06-07T04:24:21.7221460Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T04:24:21.7221699Z               "line": 524
2026-06-07T04:24:21.7221892Z             },
2026-06-07T04:24:21.7222093Z             {
2026-06-07T04:24:21.7222457Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-07T04:24:21.7222687Z               "line": 32
2026-06-07T04:24:21.7222883Z             },
2026-06-07T04:24:21.7223086Z             {
2026-06-07T04:24:21.7223382Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7223602Z               "line": 5155
2026-06-07T04:24:21.7223812Z             }
2026-06-07T04:24:21.7224014Z           ]
2026-06-07T04:24:21.7224210Z         }
2026-06-07T04:24:21.7224401Z       }
2026-06-07T04:24:21.7224600Z     },
2026-06-07T04:24:21.7224796Z     {
2026-06-07T04:24:21.7225041Z       "id": "REQ-UPD-1",
2026-06-07T04:24:21.7225409Z       "title": "Peer-propagated update over P2P",
2026-06-07T04:24:21.7225652Z       "requiredStages": [
2026-06-07T04:24:21.7225875Z         "impl",
2026-06-07T04:24:21.7226080Z         "unit",
2026-06-07T04:24:21.7226289Z         "int"
2026-06-07T04:24:21.7226494Z       ],
2026-06-07T04:24:21.7226705Z       "stages": {
2026-06-07T04:24:21.7226913Z         "doc": {
2026-06-07T04:24:21.7227150Z           "complete": false,
2026-06-07T04:24:21.7227382Z           "evidence": []
2026-06-07T04:24:21.7227575Z         },
2026-06-07T04:24:21.7227787Z         "impl": {
2026-06-07T04:24:21.7228036Z           "complete": true,
2026-06-07T04:24:21.7228256Z           "evidence": [
2026-06-07T04:24:21.7228457Z             {
2026-06-07T04:24:21.7228927Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7229149Z               "line": 28
2026-06-07T04:24:21.7229395Z             },
2026-06-07T04:24:21.7229609Z             {
2026-06-07T04:24:21.7230018Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7230235Z               "line": 99
2026-06-07T04:24:21.7230447Z             },
2026-06-07T04:24:21.7230641Z             {
2026-06-07T04:24:21.7231030Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7231250Z               "line": 301
2026-06-07T04:24:21.7231456Z             },
2026-06-07T04:24:21.7231661Z             {
2026-06-07T04:24:21.7232036Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7232262Z               "line": 22
2026-06-07T04:24:21.7232458Z             },
2026-06-07T04:24:21.7232658Z             {
2026-06-07T04:24:21.7233033Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7233262Z               "line": 117
2026-06-07T04:24:21.7233464Z             },
2026-06-07T04:24:21.7233655Z             {
2026-06-07T04:24:21.7234032Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7234422Z               "line": 150
2026-06-07T04:24:21.7234653Z             },
2026-06-07T04:24:21.7234849Z             {
2026-06-07T04:24:21.7235233Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7235591Z               "line": 207
2026-06-07T04:24:21.7235791Z             },
2026-06-07T04:24:21.7235991Z             {
2026-06-07T04:24:21.7236354Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T04:24:21.7236581Z               "line": 37
2026-06-07T04:24:21.7236773Z             }
2026-06-07T04:24:21.7236972Z           ]
2026-06-07T04:24:21.7237174Z         },
2026-06-07T04:24:21.7237376Z         "int": {
2026-06-07T04:24:21.7237622Z           "complete": true,
2026-06-07T04:24:21.7237848Z           "evidence": [
2026-06-07T04:24:21.7238052Z             {
2026-06-07T04:24:21.7238450Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T04:24:21.7238682Z               "line": 197
2026-06-07T04:24:21.7238887Z             },
2026-06-07T04:24:21.7239098Z             {
2026-06-07T04:24:21.7239681Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T04:24:21.7239910Z               "line": 982
2026-06-07T04:24:21.7240129Z             }
2026-06-07T04:24:21.7240329Z           ]
2026-06-07T04:24:21.7240537Z         },
2026-06-07T04:24:21.7240746Z         "unit": {
2026-06-07T04:24:21.7240986Z           "complete": true,
2026-06-07T04:24:21.7241209Z           "evidence": [
2026-06-07T04:24:21.7241404Z             {
2026-06-07T04:24:21.7241814Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7242070Z               "line": 253
2026-06-07T04:24:21.7242276Z             },
2026-06-07T04:24:21.7242480Z             {
2026-06-07T04:24:21.7242855Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7243089Z               "line": 276
2026-06-07T04:24:21.7243286Z             },
2026-06-07T04:24:21.7243486Z             {
2026-06-07T04:24:21.7243901Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T04:24:21.7244137Z               "line": 263
2026-06-07T04:24:21.7244341Z             },
2026-06-07T04:24:21.7244534Z             {
2026-06-07T04:24:21.7244914Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T04:24:21.7245138Z               "line": 96
2026-06-07T04:24:21.7245339Z             },
2026-06-07T04:24:21.7245543Z             {
2026-06-07T04:24:21.7245907Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T04:24:21.7246140Z               "line": 154
2026-06-07T04:24:21.7246339Z             }
2026-06-07T04:24:21.7246542Z           ]
2026-06-07T04:24:21.7246740Z         }
2026-06-07T04:24:21.7246940Z       }
2026-06-07T04:24:21.7247140Z     },
2026-06-07T04:24:21.7247329Z     {
2026-06-07T04:24:21.7247568Z       "id": "REQ-UPD-2",
2026-06-07T04:24:21.7248052Z       "title": "All binaries signature-verified before handoff",
2026-06-07T04:24:21.7248302Z       "requiredStages": [
2026-06-07T04:24:21.7248508Z         "impl",
2026-06-07T04:24:21.7248728Z         "unit"
2026-06-07T04:24:21.7248929Z       ],
2026-06-07T04:24:21.7249323Z       "stages": {
2026-06-07T04:24:21.7249573Z         "doc": {
2026-06-07T04:24:21.7249842Z           "complete": false,
2026-06-07T04:24:21.7250085Z           "evidence": []
2026-06-07T04:24:21.7250291Z         },
2026-06-07T04:24:21.7250518Z         "impl": {
2026-06-07T04:24:21.7250768Z           "complete": true,
2026-06-07T04:24:21.7250998Z           "evidence": [
2026-06-07T04:24:21.7251205Z             {
2026-06-07T04:24:21.7251606Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7251849Z               "line": 302
2026-06-07T04:24:21.7252050Z             },
2026-06-07T04:24:21.7252256Z             {
2026-06-07T04:24:21.7252701Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7252992Z               "line": 428
2026-06-07T04:24:21.7253260Z             },
2026-06-07T04:24:21.7253496Z             {
2026-06-07T04:24:21.7254188Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7254519Z               "line": 29
2026-06-07T04:24:21.7254815Z             },
2026-06-07T04:24:21.7255345Z             {
2026-06-07T04:24:21.7255827Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7256145Z               "line": 258
2026-06-07T04:24:21.7256420Z             },
2026-06-07T04:24:21.7256699Z             {
2026-06-07T04:24:21.7257174Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7257480Z               "line": 275
2026-06-07T04:24:21.7257790Z             },
2026-06-07T04:24:21.7258043Z             {
2026-06-07T04:24:21.7258539Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7265023Z               "line": 395
2026-06-07T04:24:21.7265414Z             },
2026-06-07T04:24:21.7265625Z             {
2026-06-07T04:24:21.7266112Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7266359Z               "line": 527
2026-06-07T04:24:21.7266633Z             },
2026-06-07T04:24:21.7266849Z             {
2026-06-07T04:24:21.7267225Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7267479Z               "line": 155
2026-06-07T04:24:21.7267679Z             }
2026-06-07T04:24:21.7267888Z           ]
2026-06-07T04:24:21.7268096Z         },
2026-06-07T04:24:21.7268303Z         "int": {
2026-06-07T04:24:21.7268575Z           "complete": false,
2026-06-07T04:24:21.7268820Z           "evidence": []
2026-06-07T04:24:21.7269132Z         },
2026-06-07T04:24:21.7269604Z         "unit": {
2026-06-07T04:24:21.7269856Z           "complete": true,
2026-06-07T04:24:21.7270085Z           "evidence": [
2026-06-07T04:24:21.7270277Z             {
2026-06-07T04:24:21.7270654Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7270878Z               "line": 682
2026-06-07T04:24:21.7271084Z             },
2026-06-07T04:24:21.7271279Z             {
2026-06-07T04:24:21.7271665Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7271902Z               "line": 743
2026-06-07T04:24:21.7272102Z             },
2026-06-07T04:24:21.7272308Z             {
2026-06-07T04:24:21.7272685Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7272918Z               "line": 757
2026-06-07T04:24:21.7273115Z             },
2026-06-07T04:24:21.7273324Z             {
2026-06-07T04:24:21.7273693Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7273913Z               "line": 773
2026-06-07T04:24:21.7274119Z             },
2026-06-07T04:24:21.7274312Z             {
2026-06-07T04:24:21.7274686Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7274914Z               "line": 864
2026-06-07T04:24:21.7275111Z             },
2026-06-07T04:24:21.7275315Z             {
2026-06-07T04:24:21.7275678Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7275907Z               "line": 412
2026-06-07T04:24:21.7276100Z             },
2026-06-07T04:24:21.7276314Z             {
2026-06-07T04:24:21.7276688Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7276923Z               "line": 425
2026-06-07T04:24:21.7277127Z             },
2026-06-07T04:24:21.7277321Z             {
2026-06-07T04:24:21.7277738Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T04:24:21.7277961Z               "line": 396
2026-06-07T04:24:21.7278163Z             }
2026-06-07T04:24:21.7278369Z           ]
2026-06-07T04:24:21.7278562Z         }
2026-06-07T04:24:21.7278763Z       }
2026-06-07T04:24:21.7278951Z     },
2026-06-07T04:24:21.7279150Z     {
2026-06-07T04:24:21.7279730Z       "id": "REQ-UPD-3",
2026-06-07T04:24:21.7280398Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-07T04:24:21.7280662Z       "requiredStages": [
2026-06-07T04:24:21.7280871Z         "impl",
2026-06-07T04:24:21.7281087Z         "unit",
2026-06-07T04:24:21.7281293Z         "int"
2026-06-07T04:24:21.7281816Z       ],
2026-06-07T04:24:21.7282056Z       "stages": {
2026-06-07T04:24:21.7282273Z         "doc": {
2026-06-07T04:24:21.7282530Z           "complete": false,
2026-06-07T04:24:21.7282917Z           "evidence": []
2026-06-07T04:24:21.7283125Z         },
2026-06-07T04:24:21.7283339Z         "impl": {
2026-06-07T04:24:21.7283589Z           "complete": true,
2026-06-07T04:24:21.7283818Z           "evidence": [
2026-06-07T04:24:21.7284030Z             {
2026-06-07T04:24:21.7284436Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7284661Z               "line": 39
2026-06-07T04:24:21.7284873Z             },
2026-06-07T04:24:21.7285073Z             {
2026-06-07T04:24:21.7285480Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7285704Z               "line": 71
2026-06-07T04:24:21.7285917Z             },
2026-06-07T04:24:21.7286125Z             {
2026-06-07T04:24:21.7286497Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7286749Z               "line": 26
2026-06-07T04:24:21.7286953Z             },
2026-06-07T04:24:21.7287162Z             {
2026-06-07T04:24:21.7287534Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7287783Z               "line": 114
2026-06-07T04:24:21.7288001Z             },
2026-06-07T04:24:21.7288202Z             {
2026-06-07T04:24:21.7288585Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7288820Z               "line": 246
2026-06-07T04:24:21.7289035Z             },
2026-06-07T04:24:21.7289274Z             {
2026-06-07T04:24:21.7289592Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7289832Z               "line": 1257
2026-06-07T04:24:21.7290032Z             }
2026-06-07T04:24:21.7290241Z           ]
2026-06-07T04:24:21.7290443Z         },
2026-06-07T04:24:21.7290663Z         "int": {
2026-06-07T04:24:21.7290915Z           "complete": true,
2026-06-07T04:24:21.7291176Z           "evidence": [
2026-06-07T04:24:21.7291387Z             {
2026-06-07T04:24:21.7291824Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-07T04:24:21.7292061Z               "line": 23
2026-06-07T04:24:21.7292274Z             }
2026-06-07T04:24:21.7292484Z           ]
2026-06-07T04:24:21.7292683Z         },
2026-06-07T04:24:21.7292906Z         "unit": {
2026-06-07T04:24:21.7293162Z           "complete": true,
2026-06-07T04:24:21.7293391Z           "evidence": [
2026-06-07T04:24:21.7293600Z             {
2026-06-07T04:24:21.7293998Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7294238Z               "line": 386
2026-06-07T04:24:21.7294440Z             },
2026-06-07T04:24:21.7294650Z             {
2026-06-07T04:24:21.7295054Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7295284Z               "line": 454
2026-06-07T04:24:21.7295499Z             },
2026-06-07T04:24:21.7295703Z             {
2026-06-07T04:24:21.7296085Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7296326Z               "line": 271
2026-06-07T04:24:21.7296546Z             },
2026-06-07T04:24:21.7296759Z             {
2026-06-07T04:24:21.7297147Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7297383Z               "line": 295
2026-06-07T04:24:21.7297587Z             },
2026-06-07T04:24:21.7297799Z             {
2026-06-07T04:24:21.7298175Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7298416Z               "line": 316
2026-06-07T04:24:21.7298627Z             },
2026-06-07T04:24:21.7298826Z             {
2026-06-07T04:24:21.7299259Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7299500Z               "line": 332
2026-06-07T04:24:21.7299861Z             }
2026-06-07T04:24:21.7300062Z           ]
2026-06-07T04:24:21.7300274Z         }
2026-06-07T04:24:21.7300476Z       }
2026-06-07T04:24:21.7300665Z     },
2026-06-07T04:24:21.7300861Z     {
2026-06-07T04:24:21.7301087Z       "id": "REQ-UPD-4",
2026-06-07T04:24:21.7301975Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-07T04:24:21.7302230Z       "requiredStages": [
2026-06-07T04:24:21.7302595Z         "impl",
2026-06-07T04:24:21.7302810Z         "unit"
2026-06-07T04:24:21.7303004Z       ],
2026-06-07T04:24:21.7303219Z       "stages": {
2026-06-07T04:24:21.7303420Z         "doc": {
2026-06-07T04:24:21.7303670Z           "complete": false,
2026-06-07T04:24:21.7303892Z           "evidence": []
2026-06-07T04:24:21.7304097Z         },
2026-06-07T04:24:21.7304307Z         "impl": {
2026-06-07T04:24:21.7304544Z           "complete": true,
2026-06-07T04:24:21.7304771Z           "evidence": [
2026-06-07T04:24:21.7304965Z             {
2026-06-07T04:24:21.7305363Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7305578Z               "line": 40
2026-06-07T04:24:21.7305783Z             },
2026-06-07T04:24:21.7305985Z             {
2026-06-07T04:24:21.7306381Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7306610Z               "line": 72
2026-06-07T04:24:21.7306806Z             },
2026-06-07T04:24:21.7307025Z             {
2026-06-07T04:24:21.7307395Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T04:24:21.7313036Z               "line": 23
2026-06-07T04:24:21.7313337Z             },
2026-06-07T04:24:21.7313536Z             {
2026-06-07T04:24:21.7313938Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T04:24:21.7314160Z               "line": 56
2026-06-07T04:24:21.7314365Z             },
2026-06-07T04:24:21.7314560Z             {
2026-06-07T04:24:21.7314939Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T04:24:21.7315169Z               "line": 77
2026-06-07T04:24:21.7315490Z             },
2026-06-07T04:24:21.7315694Z             {
2026-06-07T04:24:21.7316085Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T04:24:21.7316324Z               "line": 184
2026-06-07T04:24:21.7316564Z             },
2026-06-07T04:24:21.7316764Z             {
2026-06-07T04:24:21.7317121Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T04:24:21.7317357Z               "line": 101
2026-06-07T04:24:21.7317564Z             },
2026-06-07T04:24:21.7317763Z             {
2026-06-07T04:24:21.7318113Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.7318343Z               "line": 170
2026-06-07T04:24:21.7318541Z             },
2026-06-07T04:24:21.7318743Z             {
2026-06-07T04:24:21.7319037Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7319628Z               "line": 1256
2026-06-07T04:24:21.7319830Z             }
2026-06-07T04:24:21.7320034Z           ]
2026-06-07T04:24:21.7320241Z         },
2026-06-07T04:24:21.7320442Z         "int": {
2026-06-07T04:24:21.7320690Z           "complete": false,
2026-06-07T04:24:21.7320915Z           "evidence": []
2026-06-07T04:24:21.7321123Z         },
2026-06-07T04:24:21.7321326Z         "unit": {
2026-06-07T04:24:21.7321579Z           "complete": true,
2026-06-07T04:24:21.7321809Z           "evidence": [
2026-06-07T04:24:21.7322003Z             {
2026-06-07T04:24:21.7322409Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7322635Z               "line": 382
2026-06-07T04:24:21.7322849Z             },
2026-06-07T04:24:21.7323044Z             {
2026-06-07T04:24:21.7323439Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7323672Z               "line": 507
2026-06-07T04:24:21.7323867Z             },
2026-06-07T04:24:21.7324070Z             {
2026-06-07T04:24:21.7324428Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T04:24:21.7324662Z               "line": 354
2026-06-07T04:24:21.7324857Z             },
2026-06-07T04:24:21.7325060Z             {
2026-06-07T04:24:21.7325430Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T04:24:21.7325657Z               "line": 102
2026-06-07T04:24:21.7325864Z             },
2026-06-07T04:24:21.7326304Z             {
2026-06-07T04:24:21.7326700Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T04:24:21.7327058Z               "line": 123
2026-06-07T04:24:21.7327265Z             },
2026-06-07T04:24:21.7327473Z             {
2026-06-07T04:24:21.7327836Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T04:24:21.7328071Z               "line": 142
2026-06-07T04:24:21.7328273Z             },
2026-06-07T04:24:21.7328476Z             {
2026-06-07T04:24:21.7328809Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T04:24:21.7329041Z               "line": 386
2026-06-07T04:24:21.7329642Z             },
2026-06-07T04:24:21.7330001Z             {
2026-06-07T04:24:21.7330390Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T04:24:21.7330778Z               "line": 538
2026-06-07T04:24:21.7331010Z             },
2026-06-07T04:24:21.7331232Z             {
2026-06-07T04:24:21.7331590Z               "path": "crates/spt/src/cli.rs",
2026-06-07T04:24:21.7331891Z               "line": 3989
2026-06-07T04:24:21.7332126Z             }
2026-06-07T04:24:21.7332370Z           ]
2026-06-07T04:24:21.7332591Z         }
2026-06-07T04:24:21.7332809Z       }
2026-06-07T04:24:21.7333008Z     },
2026-06-07T04:24:21.7333217Z     {
2026-06-07T04:24:21.7333470Z       "id": "REQ-UPD-5",
2026-06-07T04:24:21.7333967Z       "title": "spt-core ripple-updates registered adapters",
2026-06-07T04:24:21.7334237Z       "requiredStages": [
2026-06-07T04:24:21.7334448Z         "impl",
2026-06-07T04:24:21.7334670Z         "unit"
2026-06-07T04:24:21.7334871Z       ],
2026-06-07T04:24:21.7335117Z       "stages": {
2026-06-07T04:24:21.7335339Z         "doc": {
2026-06-07T04:24:21.7335590Z           "complete": false,
2026-06-07T04:24:21.7335833Z           "evidence": []
2026-06-07T04:24:21.7336035Z         },
2026-06-07T04:24:21.7336261Z         "impl": {
2026-06-07T04:24:21.7336506Z           "complete": true,
2026-06-07T04:24:21.7336749Z           "evidence": [
2026-06-07T04:24:21.7336977Z             {
2026-06-07T04:24:21.7337426Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7337671Z               "line": 27
2026-06-07T04:24:21.7337875Z             },
2026-06-07T04:24:21.7338085Z             {
2026-06-07T04:24:21.7338529Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7338772Z               "line": 82
2026-06-07T04:24:21.7338989Z             },
2026-06-07T04:24:21.7339249Z             {
2026-06-07T04:24:21.7339861Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7340087Z               "line": 134
2026-06-07T04:24:21.7340298Z             },
2026-06-07T04:24:21.7340506Z             {
2026-06-07T04:24:21.7340887Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7341118Z               "line": 479
2026-06-07T04:24:21.7341315Z             },
2026-06-07T04:24:21.7341521Z             {
2026-06-07T04:24:21.7341907Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7342145Z               "line": 515
2026-06-07T04:24:21.7342353Z             }
2026-06-07T04:24:21.7342559Z           ]
2026-06-07T04:24:21.7342765Z         },
2026-06-07T04:24:21.7342966Z         "int": {
2026-06-07T04:24:21.7343213Z           "complete": false,
2026-06-07T04:24:21.7343442Z           "evidence": []
2026-06-07T04:24:21.7343648Z         },
2026-06-07T04:24:21.7343863Z         "unit": {
2026-06-07T04:24:21.7344101Z           "complete": true,
2026-06-07T04:24:21.7344334Z           "evidence": [
2026-06-07T04:24:21.7344532Z             {
2026-06-07T04:24:21.7344963Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7345192Z               "line": 231
2026-06-07T04:24:21.7345398Z             },
2026-06-07T04:24:21.7345732Z             {
2026-06-07T04:24:21.7346151Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7346382Z               "line": 245
2026-06-07T04:24:21.7346756Z             },
2026-06-07T04:24:21.7346982Z             {
2026-06-07T04:24:21.7347415Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7347774Z               "line": 259
2026-06-07T04:24:21.7347986Z             },
2026-06-07T04:24:21.7348183Z             {
2026-06-07T04:24:21.7348617Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7348840Z               "line": 273
2026-06-07T04:24:21.7349051Z             },
2026-06-07T04:24:21.7349296Z             {
2026-06-07T04:24:21.7349927Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T04:24:21.7350172Z               "line": 307
2026-06-07T04:24:21.7350374Z             },
2026-06-07T04:24:21.7350588Z             {
2026-06-07T04:24:21.7350985Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T04:24:21.7351229Z               "line": 792
2026-06-07T04:24:21.7351431Z             }
2026-06-07T04:24:21.7351641Z           ]
2026-06-07T04:24:21.7351867Z         }
2026-06-07T04:24:21.7352067Z       }
2026-06-07T04:24:21.7352271Z     },
2026-06-07T04:24:21.7352465Z     {
2026-06-07T04:24:21.7352718Z       "id": "REQ-UPD-6",
2026-06-07T04:24:21.7356911Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-07T04:24:21.7357182Z       "requiredStages": [
2026-06-07T04:24:21.7357400Z         "doc",
2026-06-07T04:24:21.7357611Z         "impl",
2026-06-07T04:24:21.7357829Z         "unit"
2026-06-07T04:24:21.7358026Z       ],
2026-06-07T04:24:21.7358254Z       "stages": {
2026-06-07T04:24:21.7358471Z         "doc": {
2026-06-07T04:24:21.7358711Z           "complete": true,
2026-06-07T04:24:21.7358947Z           "evidence": [
2026-06-07T04:24:21.7359148Z             {
2026-06-07T04:24:21.7359785Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-07T04:24:21.7360004Z               "line": 3
2026-06-07T04:24:21.7365339Z             },
2026-06-07T04:24:21.7365734Z             {
2026-06-07T04:24:21.7366073Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-07T04:24:21.7366307Z               "line": 3
2026-06-07T04:24:21.7366515Z             },
2026-06-07T04:24:21.7366727Z             {
2026-06-07T04:24:21.7367270Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-07T04:24:21.7367503Z               "line": 3
2026-06-07T04:24:21.7367719Z             }
2026-06-07T04:24:21.7367924Z           ]
2026-06-07T04:24:21.7368136Z         },
2026-06-07T04:24:21.7368354Z         "impl": {
2026-06-07T04:24:21.7368610Z           "complete": true,
2026-06-07T04:24:21.7368838Z           "evidence": [
2026-06-07T04:24:21.7369050Z             {
2026-06-07T04:24:21.7369967Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7370197Z               "line": 202
2026-06-07T04:24:21.7370420Z             },
2026-06-07T04:24:21.7370618Z             {
2026-06-07T04:24:21.7371014Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T04:24:21.7371248Z               "line": 358
2026-06-07T04:24:21.7371456Z             },
2026-06-07T04:24:21.7371661Z             {
2026-06-07T04:24:21.7372037Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7372267Z               "line": 41
2026-06-07T04:24:21.7372464Z             },
2026-06-07T04:24:21.7372666Z             {
2026-06-07T04:24:21.7373039Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7373266Z               "line": 99
2026-06-07T04:24:21.7373645Z             },
2026-06-07T04:24:21.7373852Z             {
2026-06-07T04:24:21.7374255Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7374486Z               "line": 130
2026-06-07T04:24:21.7374700Z             },
2026-06-07T04:24:21.7374900Z             {
2026-06-07T04:24:21.7375558Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7375812Z               "line": 159
2026-06-07T04:24:21.7376195Z             },
2026-06-07T04:24:21.7376404Z             {
2026-06-07T04:24:21.7376791Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7377036Z               "line": 190
2026-06-07T04:24:21.7377257Z             },
2026-06-07T04:24:21.7377458Z             {
2026-06-07T04:24:21.7377860Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7378086Z               "line": 213
2026-06-07T04:24:21.7378296Z             },
2026-06-07T04:24:21.7378491Z             {
2026-06-07T04:24:21.7378889Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7379123Z               "line": 87
2026-06-07T04:24:21.7379382Z             },
2026-06-07T04:24:21.7379594Z             {
2026-06-07T04:24:21.7379980Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7380242Z               "line": 113
2026-06-07T04:24:21.7380447Z             },
2026-06-07T04:24:21.7380657Z             {
2026-06-07T04:24:21.7381050Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7381289Z               "line": 128
2026-06-07T04:24:21.7381499Z             },
2026-06-07T04:24:21.7381698Z             {
2026-06-07T04:24:21.7382087Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7382315Z               "line": 149
2026-06-07T04:24:21.7382529Z             },
2026-06-07T04:24:21.7382741Z             {
2026-06-07T04:24:21.7383116Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7383357Z               "line": 161
2026-06-07T04:24:21.7383559Z             },
2026-06-07T04:24:21.7383768Z             {
2026-06-07T04:24:21.7384147Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7384404Z               "line": 172
2026-06-07T04:24:21.7384759Z             },
2026-06-07T04:24:21.7384956Z             {
2026-06-07T04:24:21.7385342Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7385567Z               "line": 438
2026-06-07T04:24:21.7385789Z             },
2026-06-07T04:24:21.7385986Z             {
2026-06-07T04:24:21.7386366Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7386599Z               "line": 542
2026-06-07T04:24:21.7386798Z             },
2026-06-07T04:24:21.7387007Z             {
2026-06-07T04:24:21.7387369Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7387598Z               "line": 171
2026-06-07T04:24:21.7387796Z             },
2026-06-07T04:24:21.7387998Z             {
2026-06-07T04:24:21.7388373Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T04:24:21.7388595Z               "line": 65
2026-06-07T04:24:21.7388796Z             },
2026-06-07T04:24:21.7388990Z             {
2026-06-07T04:24:21.7389461Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.7389718Z               "line": 648
2026-06-07T04:24:21.7389918Z             },
2026-06-07T04:24:21.7390126Z             {
2026-06-07T04:24:21.7390437Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.7390679Z               "line": 665
2026-06-07T04:24:21.7390875Z             },
2026-06-07T04:24:21.7391078Z             {
2026-06-07T04:24:21.7391394Z               "path": "crates/xtask/src/main.rs",
2026-06-07T04:24:21.7391616Z               "line": 708
2026-06-07T04:24:21.7391831Z             }
2026-06-07T04:24:21.7392026Z           ]
2026-06-07T04:24:21.7392228Z         },
2026-06-07T04:24:21.7392427Z         "int": {
2026-06-07T04:24:21.7392668Z           "complete": true,
2026-06-07T04:24:21.7392899Z           "evidence": [
2026-06-07T04:24:21.7393093Z             {
2026-06-07T04:24:21.7393449Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-07T04:24:21.7393672Z               "line": 129
2026-06-07T04:24:21.7393882Z             }
2026-06-07T04:24:21.7394075Z           ]
2026-06-07T04:24:21.7394437Z         },
2026-06-07T04:24:21.7394663Z         "unit": {
2026-06-07T04:24:21.7394903Z           "complete": true,
2026-06-07T04:24:21.7395294Z           "evidence": [
2026-06-07T04:24:21.7395493Z             {
2026-06-07T04:24:21.7395889Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7396118Z               "line": 427
2026-06-07T04:24:21.7396328Z             },
2026-06-07T04:24:21.7396536Z             {
2026-06-07T04:24:21.7396919Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T04:24:21.7397150Z               "line": 476
2026-06-07T04:24:21.7397349Z             },
2026-06-07T04:24:21.7397554Z             {
2026-06-07T04:24:21.7397932Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7398164Z               "line": 298
2026-06-07T04:24:21.7398367Z             },
2026-06-07T04:24:21.7398562Z             {
2026-06-07T04:24:21.7398944Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T04:24:21.7399228Z               "line": 335
2026-06-07T04:24:21.7399438Z             },
2026-06-07T04:24:21.7399632Z             {
2026-06-07T04:24:21.7400025Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7400259Z               "line": 879
2026-06-07T04:24:21.7400458Z             },
2026-06-07T04:24:21.7400658Z             {
2026-06-07T04:24:21.7401025Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7401256Z               "line": 901
2026-06-07T04:24:21.7401454Z             },
2026-06-07T04:24:21.7401659Z             {
2026-06-07T04:24:21.7402032Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7402254Z               "line": 918
2026-06-07T04:24:21.7402462Z             },
2026-06-07T04:24:21.7402653Z             {
2026-06-07T04:24:21.7403033Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7403251Z               "line": 933
2026-06-07T04:24:21.7403460Z             },
2026-06-07T04:24:21.7403671Z             {
2026-06-07T04:24:21.7404041Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T04:24:21.7404274Z               "line": 959
2026-06-07T04:24:21.7404479Z             },
2026-06-07T04:24:21.7404685Z             {
2026-06-07T04:24:21.7405048Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T04:24:21.7405280Z               "line": 455
2026-06-07T04:24:21.7405486Z             },
2026-06-07T04:24:21.7405677Z             {
2026-06-07T04:24:21.7406095Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T04:24:21.7406318Z               "line": 324
2026-06-07T04:24:21.7406520Z             },
2026-06-07T04:24:21.7406724Z             {
2026-06-07T04:24:21.7407065Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-07T04:24:21.7407297Z               "line": 124
2026-06-07T04:24:21.7407491Z             }
2026-06-07T04:24:21.7407692Z           ]
2026-06-07T04:24:21.7407885Z         }
2026-06-07T04:24:21.7412645Z       }
2026-06-07T04:24:21.7412961Z     }
2026-06-07T04:24:21.7413166Z   ],
2026-06-07T04:24:21.7413405Z   "findings": []
2026-06-07T04:24:21.7413595Z }
2026-06-07T04:24:21.7479909Z ##[group]Run ./traceable-reqs lint || true
2026-06-07T04:24:21.7480296Z [36;1m./traceable-reqs lint || true[0m
2026-06-07T04:24:21.7503202Z shell: /usr/bin/bash -e {0}
2026-06-07T04:24:21.7503422Z ##[endgroup]
2026-06-07T04:24:21.7792143Z Requirement quality findings (30); 148 requirements queued for agent review:
2026-06-07T04:24:21.7794223Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7795298Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-07T04:24:21.7796355Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-07T04:24:21.7797967Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-07T04:24:21.7799644Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-07T04:24:21.7801426Z   [must] requirement_quality REQ-HAZARD-DETACHED-PIPE-INHERIT criterion=length — title is 52 words; want 3..=25
2026-06-07T04:24:21.7803283Z   [must] requirement_quality REQ-HAZARD-ELEVATED-DAEMON-SPAWN criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7804664Z   [must] requirement_quality REQ-HAZARD-ELEVATED-DAEMON-SPAWN criterion=length — title is 58 words; want 3..=25
2026-06-07T04:24:21.7806543Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7808273Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7809564Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-07T04:24:21.7810892Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-07T04:24:21.7812744Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7814596Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7815951Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-07T04:24:21.7817760Z   [must] requirement_quality REQ-HAZARD-REGISTRY-GHOST-ROWS criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7819058Z   [must] requirement_quality REQ-HAZARD-REGISTRY-GHOST-ROWS criterion=length — title is 66 words; want 3..=25
2026-06-07T04:24:21.7820332Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-07T04:24:21.7821305Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-07T04:24:21.7822330Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-07T04:24:21.7823858Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7825347Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7826787Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7827741Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-07T04:24:21.7828774Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-07T04:24:21.7830077Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-07T04:24:21.7842526Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-07T04:24:21.7843849Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-07T04:24:21.7845278Z   [must] requirement_quality REQ-UPD-6 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7846195Z   [must] requirement_quality REQ-UPD-6 criterion=length — title is 32 words; want 3..=25
2026-06-07T04:24:21.7846223Z 
2026-06-07T04:24:21.7846501Z # Requirement quality review
2026-06-07T04:24:21.7846524Z 
2026-06-07T04:24:21.7847296Z You are reviewing 148 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-07T04:24:21.7848066Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-07T04:24:21.7848860Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-07T04:24:21.7849626Z this command's output. Your task is the rubric items below.
2026-06-07T04:24:21.7850003Z 
2026-06-07T04:24:21.7850213Z ## Rubric
2026-06-07T04:24:21.7850246Z 
2026-06-07T04:24:21.7851172Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-07T04:24:21.7851966Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-07T04:24:21.7852668Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-07T04:24:21.7853119Z - **active-voice** — clear subject and active verb.
2026-06-07T04:24:21.7853142Z 
2026-06-07T04:24:21.7853931Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-07T04:24:21.7854153Z clear concerns.
2026-06-07T04:24:21.7854173Z 
2026-06-07T04:24:21.7854397Z ## Requirements
2026-06-07T04:24:21.7854417Z 
2026-06-07T04:24:21.7854628Z ### REQ-ARCH-1
2026-06-07T04:24:21.7854991Z - Title: Many small acyclically-layered crates
2026-06-07T04:24:21.7855234Z - Required stages: impl
2026-06-07T04:24:21.7855283Z 
2026-06-07T04:24:21.7855508Z ### REQ-ARCH-2
2026-06-07T04:24:21.7856036Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-07T04:24:21.7856281Z - Required stages: impl
2026-06-07T04:24:21.7856301Z 
2026-06-07T04:24:21.7856523Z ### REQ-ARCH-3
2026-06-07T04:24:21.7857228Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-07T04:24:21.7857505Z - Required stages: impl, unit
2026-06-07T04:24:21.7857525Z 
2026-06-07T04:24:21.7857746Z ### REQ-ARCH-4
2026-06-07T04:24:21.7858306Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-07T04:24:21.7858579Z - Required stages: impl, unit
2026-06-07T04:24:21.7858599Z 
2026-06-07T04:24:21.7858814Z ### REQ-DAEMON-1
2026-06-07T04:24:21.7859496Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-07T04:24:21.7859997Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7860020Z 
2026-06-07T04:24:21.7860281Z ### REQ-DAEMON-2
2026-06-07T04:24:21.7860772Z - Title: Broker/brain split for seamless self-update
2026-06-07T04:24:21.7861088Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7861112Z 
2026-06-07T04:24:21.7861373Z ### REQ-DAEMON-3
2026-06-07T04:24:21.7861912Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-07T04:24:21.7862239Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7862263Z 
2026-06-07T04:24:21.7862519Z ### REQ-DAEMON-4
2026-06-07T04:24:21.7862869Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-07T04:24:21.7863166Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7863187Z 
2026-06-07T04:24:21.7863422Z ### REQ-STORE-1
2026-06-07T04:24:21.7867571Z - 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-07T04:24:21.7868118Z - Required stages: impl, unit
2026-06-07T04:24:21.7868161Z 
2026-06-07T04:24:21.7868488Z ### REQ-MANIFEST-1
2026-06-07T04:24:21.7869150Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-07T04:24:21.7869517Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7869538Z 
2026-06-07T04:24:21.7869779Z ### REQ-SEAM-SPAWN
2026-06-07T04:24:21.7870057Z - Title: spawn-session seam
2026-06-07T04:24:21.7870328Z - Required stages: impl, unit
2026-06-07T04:24:21.7870349Z 
2026-06-07T04:24:21.7870615Z ### REQ-SEAM-POSTSPAWN
2026-06-07T04:24:21.7871028Z - Title: post-spawn / api bind seam with boot nonce
2026-06-07T04:24:21.7871309Z - Required stages: impl, unit
2026-06-07T04:24:21.7871330Z 
2026-06-07T04:24:21.7871628Z ### REQ-SEAM-PSYCHE
2026-06-07T04:24:21.7872110Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-07T04:24:21.7872446Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7872469Z 
2026-06-07T04:24:21.7872739Z ### REQ-SEAM-HISTORY
2026-06-07T04:24:21.7873414Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-07T04:24:21.7873918Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7873937Z 
2026-06-07T04:24:21.7874179Z ### REQ-SEAM-ACTIVITY
2026-06-07T04:24:21.7874820Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-07T04:24:21.7875096Z - Required stages: impl, unit
2026-06-07T04:24:21.7875130Z 
2026-06-07T04:24:21.7875367Z ### REQ-SEAM-INJECT
2026-06-07T04:24:21.7875915Z - Title: inject-input methods configurable per activity-state
2026-06-07T04:24:21.7876202Z - Required stages: impl, unit
2026-06-07T04:24:21.7876224Z 
2026-06-07T04:24:21.7876480Z ### REQ-SEAM-RESUME
2026-06-07T04:24:21.7877111Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-07T04:24:21.7877393Z - Required stages: impl, unit
2026-06-07T04:24:21.7877411Z 
2026-06-07T04:24:21.7877674Z ### REQ-SEAM-CAPABILITY
2026-06-07T04:24:21.7878133Z - Title: Hostable endpoint-types capability declaration
2026-06-07T04:24:21.7878429Z - Required stages: impl, unit
2026-06-07T04:24:21.7878459Z 
2026-06-07T04:24:21.7878700Z ### REQ-SEAM-UPDATE
2026-06-07T04:24:21.7879316Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-07T04:24:21.7879752Z - Required stages: impl, unit
2026-06-07T04:24:21.7879773Z 
2026-06-07T04:24:21.7879987Z ### REQ-API-1
2026-06-07T04:24:21.7880547Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-07T04:24:21.7880822Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7880844Z 
2026-06-07T04:24:21.7881062Z ### REQ-API-2
2026-06-07T04:24:21.7881796Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-07T04:24:21.7882071Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7882090Z 
2026-06-07T04:24:21.7882310Z ### REQ-API-3
2026-06-07T04:24:21.7882725Z - Title: commune/signoff are file-drops, not commands
2026-06-07T04:24:21.7883017Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7883036Z 
2026-06-07T04:24:21.7883277Z ### REQ-START-1
2026-06-07T04:24:21.7883937Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-07T04:24:21.7884213Z - Required stages: impl, unit
2026-06-07T04:24:21.7884233Z 
2026-06-07T04:24:21.7884448Z ### REQ-START-2
2026-06-07T04:24:21.7884874Z - Title: Harness-hosted startup: api seed then listen
2026-06-07T04:24:21.7885155Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7885186Z 
2026-06-07T04:24:21.7885410Z ### REQ-START-3
2026-06-07T04:24:21.7885975Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-07T04:24:21.7886250Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7886269Z 
2026-06-07T04:24:21.7886490Z ### REQ-START-4
2026-06-07T04:24:21.7886891Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-07T04:24:21.7887168Z - Required stages: impl, unit
2026-06-07T04:24:21.7887187Z 
2026-06-07T04:24:21.7887404Z ### REQ-EP-1
2026-06-07T04:24:21.7887777Z - Title: Day-one endpoint types; open type system
2026-06-07T04:24:21.7888212Z - Required stages: impl, unit
2026-06-07T04:24:21.7888250Z 
2026-06-07T04:24:21.7888472Z ### REQ-EP-2
2026-06-07T04:24:21.7889022Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-07T04:24:21.7889497Z - Required stages: impl, unit
2026-06-07T04:24:21.7889522Z 
2026-06-07T04:24:21.7889746Z ### REQ-EP-3
2026-06-07T04:24:21.7890408Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-07T04:24:21.7890681Z - Required stages: impl, unit
2026-06-07T04:24:21.7890700Z 
2026-06-07T04:24:21.7890924Z ### REQ-EP-4
2026-06-07T04:24:21.7891398Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-07T04:24:21.7891679Z - Required stages: impl, unit
2026-06-07T04:24:21.7891699Z 
2026-06-07T04:24:21.7891923Z ### REQ-EP-5
2026-06-07T04:24:21.7895058Z - 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-07T04:24:21.7895531Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7895550Z 
2026-06-07T04:24:21.7895779Z ### REQ-INST-1
2026-06-07T04:24:21.7896295Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-07T04:24:21.7896543Z - Required stages: 
2026-06-07T04:24:21.7896563Z 
2026-06-07T04:24:21.7896866Z ### REQ-INST-2
2026-06-07T04:24:21.7897211Z - Title: Per-node files, synced Psyche mind
2026-06-07T04:24:21.7897496Z - Required stages: impl, unit
2026-06-07T04:24:21.7897515Z 
2026-06-07T04:24:21.7897744Z ### REQ-INST-3
2026-06-07T04:24:21.7898220Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-07T04:24:21.7898512Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7898532Z 
2026-06-07T04:24:21.7898759Z ### REQ-INST-4
2026-06-07T04:24:21.7899423Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-07T04:24:21.7899837Z - Required stages: impl, unit
2026-06-07T04:24:21.7899857Z 
2026-06-07T04:24:21.7900092Z ### REQ-INST-5
2026-06-07T04:24:21.7900686Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-07T04:24:21.7900972Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7900993Z 
2026-06-07T04:24:21.7901208Z ### REQ-INST-6
2026-06-07T04:24:21.7901839Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-07T04:24:21.7902121Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7902141Z 
2026-06-07T04:24:21.7902356Z ### REQ-INST-7
2026-06-07T04:24:21.7902766Z - Title: Subnet registry + bare-id resolution policy
2026-06-07T04:24:21.7903045Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7903064Z 
2026-06-07T04:24:21.7903286Z ### REQ-INST-8
2026-06-07T04:24:21.7903770Z - Title: Remote-control mode distinct from local operation
2026-06-07T04:24:21.7904050Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7904069Z 
2026-06-07T04:24:21.7904295Z ### REQ-INST-9
2026-06-07T04:24:21.7904927Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-07T04:24:21.7905212Z - Required stages: impl, unit
2026-06-07T04:24:21.7905232Z 
2026-06-07T04:24:21.7905457Z ### REQ-INST-10
2026-06-07T04:24:21.7906186Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-07T04:24:21.7906459Z - Required stages: impl, unit
2026-06-07T04:24:21.7906477Z 
2026-06-07T04:24:21.7906695Z ### REQ-INST-11
2026-06-07T04:24:21.7907452Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-07T04:24:21.7907728Z - Required stages: impl, unit
2026-06-07T04:24:21.7907748Z 
2026-06-07T04:24:21.7907969Z ### REQ-INST-12
2026-06-07T04:24:21.7909094Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-07T04:24:21.7909440Z - Required stages: impl, unit
2026-06-07T04:24:21.7909459Z 
2026-06-07T04:24:21.7909692Z ### REQ-INST-13
2026-06-07T04:24:21.7910318Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-07T04:24:21.7910797Z - Required stages: impl, unit
2026-06-07T04:24:21.7910837Z 
2026-06-07T04:24:21.7911078Z ### REQ-INST-14
2026-06-07T04:24:21.7912635Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-07T04:24:21.7912942Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7912966Z 
2026-06-07T04:24:21.7913369Z ### REQ-INST-15
2026-06-07T04:24:21.7916918Z - 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-07T04:24:21.7917214Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7917236Z 
2026-06-07T04:24:21.7917456Z ### REQ-REACH-1
2026-06-07T04:24:21.7917914Z - Title: Off-node remote-drive detection + file transfer
2026-06-07T04:24:21.7918217Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7918392Z 
2026-06-07T04:24:21.7918626Z ### REQ-REACH-2
2026-06-07T04:24:21.7919114Z - Title: Remote command execution (deferred, consent-gated)
2026-06-07T04:24:21.7919695Z - Required stages: 
2026-06-07T04:24:21.7919718Z 
2026-06-07T04:24:21.7919938Z ### REQ-MSG-1
2026-06-07T04:24:21.7921869Z - 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-07T04:24:21.7922147Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7922165Z 
2026-06-07T04:24:21.7922387Z ### REQ-MSG-2
2026-06-07T04:24:21.7923399Z - Title: spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes
2026-06-07T04:24:21.7923684Z - Required stages: impl, unit
2026-06-07T04:24:21.7923703Z 
2026-06-07T04:24:21.7923923Z ### REQ-MSG-3
2026-06-07T04:24:21.7925522Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-07T04:24:21.7925824Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7925842Z 
2026-06-07T04:24:21.7926080Z ### REQ-NODE-IDENTITY
2026-06-07T04:24:21.7926892Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-07T04:24:21.7927170Z - Required stages: impl, unit
2026-06-07T04:24:21.7927189Z 
2026-06-07T04:24:21.7927398Z ### REQ-NET-1
2026-06-07T04:24:21.7928020Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-07T04:24:21.7928296Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7928315Z 
2026-06-07T04:24:21.7928567Z ### REQ-NET-2
2026-06-07T04:24:21.7929193Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-07T04:24:21.7929445Z - Required stages: impl
2026-06-07T04:24:21.7929467Z 
2026-06-07T04:24:21.7929690Z ### REQ-NET-3
2026-06-07T04:24:21.7930220Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-07T04:24:21.7930514Z - Required stages: impl, unit
2026-06-07T04:24:21.7930541Z 
2026-06-07T04:24:21.7931266Z ### REQ-PAIR-1
2026-06-07T04:24:21.7931555Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-07T04:24:21.7931843Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7931866Z 
2026-06-07T04:24:21.7932088Z ### REQ-PAIR-2
2026-06-07T04:24:21.7932503Z - Title: Local trust store with TOFU + warn-on-change
2026-06-07T04:24:21.7932778Z - Required stages: impl, unit
2026-06-07T04:24:21.7932796Z 
2026-06-07T04:24:21.7933018Z ### REQ-PAIR-3
2026-06-07T04:24:21.7933473Z - Title: Fetch current pairing code from any paired node
2026-06-07T04:24:21.7933744Z - Required stages: impl, unit
2026-06-07T04:24:21.7933762Z 
2026-06-07T04:24:21.7933992Z ### REQ-PAIR-4
2026-06-07T04:24:21.7934293Z - Title: Subnet naming on first pairing
2026-06-07T04:24:21.7934578Z - Required stages: impl, unit
2026-06-07T04:24:21.7934595Z 
2026-06-07T04:24:21.7934831Z ### REQ-PAIR-5
2026-06-07T04:24:21.7936574Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-07T04:24:21.7936905Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7936926Z 
2026-06-07T04:24:21.7937145Z ### REQ-PAIR-6
2026-06-07T04:24:21.7938153Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-07T04:24:21.7938429Z - Required stages: impl, unit
2026-06-07T04:24:21.7938448Z 
2026-06-07T04:24:21.7938668Z ### REQ-PAIR-7
2026-06-07T04:24:21.7939240Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-07T04:24:21.7939551Z - Required stages: 
2026-06-07T04:24:21.7939574Z 
2026-06-07T04:24:21.7939803Z ### REQ-SUBNET-1
2026-06-07T04:24:21.7941148Z - Title: spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted
2026-06-07T04:24:21.7941410Z - Required stages: impl, unit
2026-06-07T04:24:21.7941432Z 
2026-06-07T04:24:21.7941662Z ### REQ-SUBNET-2
2026-06-07T04:24:21.7942519Z - Title: Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder
2026-06-07T04:24:21.7942967Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7942990Z 
2026-06-07T04:24:21.7943225Z ### REQ-SUBNET-3
2026-06-07T04:24:21.7944282Z - Title: Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)
2026-06-07T04:24:21.7944561Z - Required stages: impl, unit
2026-06-07T04:24:21.7944582Z 
2026-06-07T04:24:21.7944803Z ### REQ-SUBNET-4
2026-06-07T04:24:21.7945952Z - Title: Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)
2026-06-07T04:24:21.7946227Z - Required stages: impl, unit
2026-06-07T04:24:21.7946245Z 
2026-06-07T04:24:21.7946460Z ### REQ-DOCS-6
2026-06-07T04:24:21.7947775Z - Title: spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)
2026-06-07T04:24:21.7948054Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7948072Z 
2026-06-07T04:24:21.7948311Z ### REQ-SEC-1
2026-06-07T04:24:21.7950050Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-07T04:24:21.7950320Z - Required stages: impl, unit
2026-06-07T04:24:21.7950340Z 
2026-06-07T04:24:21.7950570Z ### REQ-NOTIF-1
2026-06-07T04:24:21.7952069Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-07T04:24:21.7952359Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7952378Z 
2026-06-07T04:24:21.7952604Z ### REQ-NOTIF-2
2026-06-07T04:24:21.7953625Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-07T04:24:21.7953936Z - Required stages: doc, impl, unit, int
2026-06-07T04:24:21.7953955Z 
2026-06-07T04:24:21.7954166Z ### REQ-UPD-1
2026-06-07T04:24:21.7954496Z - Title: Peer-propagated update over P2P
2026-06-07T04:24:21.7954789Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7954819Z 
2026-06-07T04:24:21.7955032Z ### REQ-UPD-2
2026-06-07T04:24:21.7955485Z - Title: All binaries signature-verified before handoff
2026-06-07T04:24:21.7955745Z - Required stages: impl, unit
2026-06-07T04:24:21.7955763Z 
2026-06-07T04:24:21.7955981Z ### REQ-UPD-3
2026-06-07T04:24:21.7956570Z - Title: No endpoint process terminates/suspends during self-update
2026-06-07T04:24:21.7956847Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7956866Z 
2026-06-07T04:24:21.7957089Z ### REQ-UPD-4
2026-06-07T04:24:21.7957699Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-07T04:24:21.7957977Z - Required stages: impl, unit
2026-06-07T04:24:21.7957995Z 
2026-06-07T04:24:21.7958218Z ### REQ-UPD-5
2026-06-07T04:24:21.7958645Z - Title: spt-core ripple-updates registered adapters
2026-06-07T04:24:21.7958915Z - Required stages: impl, unit
2026-06-07T04:24:21.7958935Z 
2026-06-07T04:24:21.7959142Z ### REQ-UPD-6
2026-06-07T04:24:21.7963371Z - Title: Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)
2026-06-07T04:24:21.7963688Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7963709Z 
2026-06-07T04:24:21.7963924Z ### REQ-TERM-1
2026-06-07T04:24:21.7964510Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-07T04:24:21.7964776Z - Required stages: impl, unit
2026-06-07T04:24:21.7964796Z 
2026-06-07T04:24:21.7965020Z ### REQ-TERM-2
2026-06-07T04:24:21.7965651Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-07T04:24:21.7965912Z - Required stages: impl, unit
2026-06-07T04:24:21.7965931Z 
2026-06-07T04:24:21.7966152Z ### REQ-TERM-3
2026-06-07T04:24:21.7966767Z - Title: Byte-stream remote terminal streaming for v1
2026-06-07T04:24:21.7967139Z - Required stages: impl, unit
2026-06-07T04:24:21.7967362Z 
2026-06-07T04:24:21.7967679Z ### REQ-TERM-4
2026-06-07T04:24:21.7969558Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-07T04:24:21.7970040Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7970062Z 
2026-06-07T04:24:21.7970280Z ### REQ-FRONT-1
2026-06-07T04:24:21.7970874Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-07T04:24:21.7971121Z - Required stages: 
2026-06-07T04:24:21.7971140Z 
2026-06-07T04:24:21.7971362Z ### REQ-INSTALL-1
2026-06-07T04:24:21.7972036Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-07T04:24:21.7972473Z - Required stages: doc, impl, int
2026-06-07T04:24:21.7972496Z 
2026-06-07T04:24:21.7980072Z ### REQ-INSTALL-2
2026-06-07T04:24:21.7980850Z - Title: Marketplace-repackaging-friendly install
2026-06-07T04:24:21.7981110Z - Required stages: doc
2026-06-07T04:24:21.7981200Z 
2026-06-07T04:24:21.7981612Z ### REQ-INSTALL-3
2026-06-07T04:24:21.7982038Z - Title: Idempotent + interactive-optional first run
2026-06-07T04:24:21.7982301Z - Required stages: impl, int
2026-06-07T04:24:21.7982321Z 
2026-06-07T04:24:21.7982550Z ### REQ-INSTALL-4
2026-06-07T04:24:21.7985572Z - 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-07T04:24:21.7985857Z - Required stages: impl, unit
2026-06-07T04:24:21.7985877Z 
2026-06-07T04:24:21.7986115Z ### REQ-MIGRATE-1
2026-06-07T04:24:21.7986676Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-07T04:24:21.7986923Z - Required stages: 
2026-06-07T04:24:21.7986942Z 
2026-06-07T04:24:21.7987161Z ### REQ-INFRA-1
2026-06-07T04:24:21.7987784Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-07T04:24:21.7988041Z - Required stages: 
2026-06-07T04:24:21.7988069Z 
2026-06-07T04:24:21.7988297Z ### REQ-INSTALL-5
2026-06-07T04:24:21.7990664Z - Title: Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration
2026-06-07T04:24:21.7990929Z - Required stages: impl, int
2026-06-07T04:24:21.7990948Z 
2026-06-07T04:24:21.7991169Z ### REQ-REL-1
2026-06-07T04:24:21.7992763Z - Title: spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)
2026-06-07T04:24:21.7993024Z - Required stages: doc, impl
2026-06-07T04:24:21.7993043Z 
2026-06-07T04:24:21.7993259Z ### REQ-REL-2
2026-06-07T04:24:21.7995391Z - Title: Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline
2026-06-07T04:24:21.7995663Z - Required stages: impl, int
2026-06-07T04:24:21.7996055Z 
2026-06-07T04:24:21.7996307Z ### REQ-REL-3
2026-06-07T04:24:21.7998192Z - Title: Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)
2026-06-07T04:24:21.7998464Z - Required stages: impl, unit
2026-06-07T04:24:21.7998482Z 
2026-06-07T04:24:21.7998707Z ### REQ-DOCS-1
2026-06-07T04:24:21.7999739Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-07T04:24:21.8000187Z - Required stages: doc, impl
2026-06-07T04:24:21.8000208Z 
2026-06-07T04:24:21.8000424Z ### REQ-DOCS-2
2026-06-07T04:24:21.8000948Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-07T04:24:21.8001200Z - Required stages: doc, int
2026-06-07T04:24:21.8001231Z 
2026-06-07T04:24:21.8001443Z ### REQ-DOCS-3
2026-06-07T04:24:21.8002216Z - Title: Diátaxis structure; one canonical way to do X
2026-06-07T04:24:21.8002467Z - Required stages: doc
2026-06-07T04:24:21.8002487Z 
2026-06-07T04:24:21.8002735Z ### REQ-DOCS-4
2026-06-07T04:24:21.8003632Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-07T04:24:21.8003917Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8003937Z 
2026-06-07T04:24:21.8004163Z ### REQ-DOCS-5
2026-06-07T04:24:21.8004817Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-07T04:24:21.8005087Z - Required stages: impl, int
2026-06-07T04:24:21.8005105Z 
2026-06-07T04:24:21.8005403Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-07T04:24:21.8006049Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-07T04:24:21.8006321Z - Required stages: impl, unit
2026-06-07T04:24:21.8006340Z 
2026-06-07T04:24:21.8006635Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-07T04:24:21.8007108Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-07T04:24:21.8007374Z - Required stages: impl, unit
2026-06-07T04:24:21.8007393Z 
2026-06-07T04:24:21.8007695Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-07T04:24:21.8008099Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-07T04:24:21.8008365Z - Required stages: impl, unit
2026-06-07T04:24:21.8008384Z 
2026-06-07T04:24:21.8008663Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-07T04:24:21.8009321Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-07T04:24:21.8009808Z - Required stages: impl, unit
2026-06-07T04:24:21.8009832Z 
2026-06-07T04:24:21.8010269Z ### REQ-HAZARD-WORKER-PATH
2026-06-07T04:24:21.8010861Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-07T04:24:21.8011132Z - Required stages: impl, unit
2026-06-07T04:24:21.8011157Z 
2026-06-07T04:24:21.8011451Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-07T04:24:21.8012088Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-07T04:24:21.8012316Z - Required stages: 
2026-06-07T04:24:21.8012347Z 
2026-06-07T04:24:21.8012627Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-07T04:24:21.8013033Z - Title: Stdin session_id precedence over env (2.2)
2026-06-07T04:24:21.8013272Z - Required stages: 
2026-06-07T04:24:21.8013292Z 
2026-06-07T04:24:21.8013594Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-07T04:24:21.8014104Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-07T04:24:21.8014376Z - Required stages: impl, unit
2026-06-07T04:24:21.8014394Z 
2026-06-07T04:24:21.8014665Z ### REQ-HAZARD-GEN-START-NOW
2026-06-07T04:24:21.8015104Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-07T04:24:21.8015373Z - Required stages: impl, int
2026-06-07T04:24:21.8015392Z 
2026-06-07T04:24:21.8015674Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-07T04:24:21.8016196Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-07T04:24:21.8016466Z - Required stages: impl, unit
2026-06-07T04:24:21.8016485Z 
2026-06-07T04:24:21.8016790Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-07T04:24:21.8017326Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-07T04:24:21.8017747Z - Required stages: impl, unit
2026-06-07T04:24:21.8017780Z 
2026-06-07T04:24:21.8018090Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-07T04:24:21.8018726Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-07T04:24:21.8018992Z - Required stages: impl, unit
2026-06-07T04:24:21.8019011Z 
2026-06-07T04:24:21.8019682Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-07T04:24:21.8020332Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-07T04:24:21.8020781Z - Required stages: impl, unit
2026-06-07T04:24:21.8020800Z 
2026-06-07T04:24:21.8021146Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-07T04:24:21.8021748Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-07T04:24:21.8022054Z - Required stages: impl, unit
2026-06-07T04:24:21.8022075Z 
2026-06-07T04:24:21.8022520Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-07T04:24:21.8023292Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-07T04:24:21.8023723Z - Required stages: impl, unit
2026-06-07T04:24:21.8023928Z 
2026-06-07T04:24:21.8024220Z ### REQ-HAZARD-ID-CHARSET
2026-06-07T04:24:21.8025216Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-07T04:24:21.8025546Z - Required stages: impl, unit
2026-06-07T04:24:21.8025565Z 
2026-06-07T04:24:21.8025920Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-07T04:24:21.8026605Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-07T04:24:21.8026877Z - Required stages: impl, unit
2026-06-07T04:24:21.8026897Z 
2026-06-07T04:24:21.8027217Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-07T04:24:21.8028194Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-07T04:24:21.8028479Z - Required stages: impl, unit
2026-06-07T04:24:21.8028499Z 
2026-06-07T04:24:21.8028819Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-07T04:24:21.8030565Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-07T04:24:21.8030879Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8030902Z 
2026-06-07T04:24:21.8031201Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-07T04:24:21.8032858Z - 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-07T04:24:21.8033142Z - Required stages: impl, unit
2026-06-07T04:24:21.8033161Z 
2026-06-07T04:24:21.8033478Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-07T04:24:21.8033845Z - Title: Deferred rows survive poll drain (4.4)
2026-06-07T04:24:21.8034109Z - Required stages: impl, unit
2026-06-07T04:24:21.8034127Z 
2026-06-07T04:24:21.8034414Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-07T04:24:21.8034808Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-07T04:24:21.8035079Z - Required stages: impl, unit
2026-06-07T04:24:21.8035098Z 
2026-06-07T04:24:21.8035402Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-07T04:24:21.8035916Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-07T04:24:21.8036207Z - Required stages: impl, unit
2026-06-07T04:24:21.8036226Z 
2026-06-07T04:24:21.8036500Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-07T04:24:21.8037034Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-07T04:24:21.8037305Z - Required stages: impl, unit
2026-06-07T04:24:21.8037323Z 
2026-06-07T04:24:21.8037618Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-07T04:24:21.8038076Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-07T04:24:21.8038347Z - Required stages: impl, unit
2026-06-07T04:24:21.8038367Z 
2026-06-07T04:24:21.8038644Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-07T04:24:21.8039130Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-07T04:24:21.8039586Z - Required stages: impl, unit
2026-06-07T04:24:21.8039607Z 
2026-06-07T04:24:21.8040072Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-07T04:24:21.8040901Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-07T04:24:21.8041191Z - Required stages: impl, unit
2026-06-07T04:24:21.8041211Z 
2026-06-07T04:24:21.8041486Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-07T04:24:21.8042150Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-07T04:24:21.8042425Z - Required stages: impl, unit
2026-06-07T04:24:21.8042443Z 
2026-06-07T04:24:21.8042740Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-07T04:24:21.8043511Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-07T04:24:21.8043810Z - Required stages: impl, unit
2026-06-07T04:24:21.8043832Z 
2026-06-07T04:24:21.8044193Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-07T04:24:21.8044709Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-07T04:24:21.8045002Z - Required stages: impl, unit
2026-06-07T04:24:21.8045022Z 
2026-06-07T04:24:21.8045364Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-07T04:24:21.8046172Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-07T04:24:21.8046662Z - Required stages: impl, unit
2026-06-07T04:24:21.8046684Z 
2026-06-07T04:24:21.8047033Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-07T04:24:21.8049859Z - 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-07T04:24:21.8050160Z - Required stages: impl, unit
2026-06-07T04:24:21.8050183Z 
2026-06-07T04:24:21.8050500Z ### REQ-HAZARD-DETACHED-PIPE-INHERIT
2026-06-07T04:24:21.8055364Z - Title: Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)
2026-06-07T04:24:21.8055651Z - Required stages: impl, unit
2026-06-07T04:24:21.8055685Z 
2026-06-07T04:24:21.8055967Z ### REQ-HAZARD-CONPTY-DSR
2026-06-07T04:24:21.8056734Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-07T04:24:21.8057012Z - Required stages: impl, unit
2026-06-07T04:24:21.8057032Z 
2026-06-07T04:24:21.8057327Z ### REQ-HAZARD-CHILD-CONSOLE-FLASH
2026-06-07T04:24:21.8059227Z - Title: Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)
2026-06-07T04:24:21.8059700Z - Required stages: impl, unit
2026-06-07T04:24:21.8059726Z 
2026-06-07T04:24:21.8060179Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-07T04:24:21.8060954Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-07T04:24:21.8061226Z - Required stages: impl, unit
2026-06-07T04:24:21.8061255Z 
2026-06-07T04:24:21.8061547Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-07T04:24:21.8062568Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-07T04:24:21.8062856Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8062874Z 
2026-06-07T04:24:21.8063163Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-07T04:24:21.8064141Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-07T04:24:21.8064418Z - Required stages: impl, unit
2026-06-07T04:24:21.8064437Z 
2026-06-07T04:24:21.8064763Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-07T04:24:21.8066594Z - 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-07T04:24:21.8066884Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8066903Z 
2026-06-07T04:24:21.8073546Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-07T04:24:21.8077459Z - 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-07T04:24:21.8077797Z - Required stages: impl, unit
2026-06-07T04:24:21.8077821Z 
2026-06-07T04:24:21.8078148Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-07T04:24:21.8081590Z - 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-07T04:24:21.8081880Z - Required stages: impl, unit
2026-06-07T04:24:21.8081901Z 
2026-06-07T04:24:21.8082214Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-07T04:24:21.8084974Z - 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-07T04:24:21.8085251Z - Required stages: impl, unit
2026-06-07T04:24:21.8085271Z 
2026-06-07T04:24:21.8085739Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-07T04:24:21.8088162Z - 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-07T04:24:21.8088432Z - Required stages: impl, unit
2026-06-07T04:24:21.8088450Z 
2026-06-07T04:24:21.8088750Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-07T04:24:21.8092895Z - 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-07T04:24:21.8093171Z - Required stages: impl, unit
2026-06-07T04:24:21.8093192Z 
2026-06-07T04:24:21.8093481Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-07T04:24:21.8096903Z - 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-07T04:24:21.8097204Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8097226Z 
2026-06-07T04:24:21.8097463Z ### REQ-CONSENT-1
2026-06-07T04:24:21.8101930Z - Title: Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)
2026-06-07T04:24:21.8102209Z - Required stages: impl, unit
2026-06-07T04:24:21.8102229Z 
2026-06-07T04:24:21.8102463Z ### REQ-CONSENT-2
2026-06-07T04:24:21.8106484Z - Title: Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)
2026-06-07T04:24:21.8106775Z - Required stages: impl, unit
2026-06-07T04:24:21.8106795Z 
2026-06-07T04:24:21.8107025Z ### REQ-PRES-1
2026-06-07T04:24:21.8113327Z - Title: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)
2026-06-07T04:24:21.8113627Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8113648Z 
2026-06-07T04:24:21.8113879Z ### REQ-SHELL-1
2026-06-07T04:24:21.8118378Z - Title: Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)
2026-06-07T04:24:21.8118704Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8118723Z 
2026-06-07T04:24:21.8118937Z ### REQ-SHELL-2
2026-06-07T04:24:21.8125708Z - Title: Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)
2026-06-07T04:24:21.8126012Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8126031Z 
2026-06-07T04:24:21.8126358Z ### REQ-HAZARD-ELEVATED-DAEMON-SPAWN
2026-06-07T04:24:21.8132534Z - Title: The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)
2026-06-07T04:24:21.8132831Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8132852Z 
2026-06-07T04:24:21.8133157Z ### REQ-HAZARD-REGISTRY-GHOST-ROWS
2026-06-07T04:24:21.8140032Z - Title: A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)
2026-06-07T04:24:21.8140373Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8140391Z 
2026-06-07T04:24:21.8140636Z ## How to report back
2026-06-07T04:24:21.8140655Z 
2026-06-07T04:24:21.8141248Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-07T04:24:21.8141267Z 
2026-06-07T04:24:21.8141471Z     {
2026-06-07T04:24:21.8141744Z       "code": "requirement_quality",
2026-06-07T04:24:21.8142019Z       "requirementId": "REQ-...",
2026-06-07T04:24:21.8142587Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-07T04:24:21.8142857Z       "message": "<short reason>",
2026-06-07T04:24:21.8143214Z       "suggestedRevision": "<optional rewrite>"
2026-06-07T04:24:21.8143419Z     }
2026-06-07T04:24:21.8143438Z 
2026-06-07T04:24:21.8144093Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-07T04:24:21.8144564Z deterministic findings above don't need to be repeated.
2026-06-07T04:24:21.8385490Z Post job cleanup.
2026-06-07T04:24:21.9740313Z [command]/usr/bin/git version
2026-06-07T04:24:21.9795753Z git version 2.34.1
2026-06-07T04:24:21.9844684Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/2456c2b2-03ee-4a51-befd-dca023c28dd2/.gitconfig'
2026-06-07T04:24:21.9870472Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/2456c2b2-03ee-4a51-befd-dca023c28dd2' before making global git config changes
2026-06-07T04:24:21.9874584Z Adding repository directory to the temporary git global config as a safe directory
2026-06-07T04:24:21.9877691Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-07T04:24:21.9928908Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-07T04:24:21.9975612Z [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-07T04:24:22.0234519Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-07T04:24:22.0265054Z http.https://github.com/.extraheader
2026-06-07T04:24:22.0279557Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-07T04:24:22.0324545Z [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-07T04:24:22.0593337Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-07T04:24:22.0642528Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-07T04:24:22.1218231Z Cleaning up orphan processes
