﻿2026-06-05T23:17:21.6586502Z Current runner version: '2.334.0'
2026-06-05T23:17:21.6596076Z Runner name: 'gravity'
2026-06-05T23:17:21.6597168Z Runner group name: 'Default'
2026-06-05T23:17:21.6598542Z Machine name: 'gravity-linux'
2026-06-05T23:17:21.6602583Z ##[group]GITHUB_TOKEN Permissions
2026-06-05T23:17:21.6606596Z Contents: read
2026-06-05T23:17:21.6607415Z Metadata: read
2026-06-05T23:17:21.6608182Z Packages: read
2026-06-05T23:17:21.6608979Z ##[endgroup]
2026-06-05T23:17:21.6612428Z Secret source: Actions
2026-06-05T23:17:21.6613652Z Prepare workflow directory
2026-06-05T23:17:21.7355026Z Prepare all required actions
2026-06-05T23:17:21.7418544Z Getting action download info
2026-06-05T23:17:22.3249139Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-05T23:17:23.1749956Z Complete job name: traceability
2026-06-05T23:17:23.3164360Z ##[group]Run actions/checkout@v5
2026-06-05T23:17:23.3166154Z with:
2026-06-05T23:17:23.3166992Z   repository: SaberMage/spt-core
2026-06-05T23:17:23.3174655Z   token: ***
2026-06-05T23:17:23.3175441Z   ssh-strict: true
2026-06-05T23:17:23.3176351Z   ssh-user: git
2026-06-05T23:17:23.3177144Z   persist-credentials: true
2026-06-05T23:17:23.3178026Z   clean: true
2026-06-05T23:17:23.3178833Z   sparse-checkout-cone-mode: true
2026-06-05T23:17:23.3179812Z   fetch-depth: 1
2026-06-05T23:17:23.3180613Z   fetch-tags: false
2026-06-05T23:17:23.3181420Z   show-progress: true
2026-06-05T23:17:23.3182226Z   lfs: false
2026-06-05T23:17:23.3182994Z   submodules: false
2026-06-05T23:17:23.3183851Z   set-safe-directory: true
2026-06-05T23:17:23.3185308Z ##[endgroup]
2026-06-05T23:17:23.4713111Z Syncing repository: SaberMage/spt-core
2026-06-05T23:17:23.4716818Z ##[group]Getting Git version info
2026-06-05T23:17:23.4718640Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-05T23:17:23.4721064Z [command]/usr/bin/git version
2026-06-05T23:17:23.4722106Z git version 2.34.1
2026-06-05T23:17:23.4731418Z ##[endgroup]
2026-06-05T23:17:23.4741281Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/4bcfe6c5-32af-494f-947f-62395dbe8a02/.gitconfig'
2026-06-05T23:17:23.4761864Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/4bcfe6c5-32af-494f-947f-62395dbe8a02' before making global git config changes
2026-06-05T23:17:23.4764640Z Adding repository directory to the temporary git global config as a safe directory
2026-06-05T23:17:23.4768899Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-05T23:17:23.4819755Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-05T23:17:23.4847887Z https://github.com/SaberMage/spt-core
2026-06-05T23:17:23.4866201Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-05T23:17:23.4872786Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-05T23:17:23.4901344Z refs/heads/dev-freeform
2026-06-05T23:17:23.4913784Z [command]/usr/bin/git checkout --detach
2026-06-05T23:17:23.4971402Z HEAD is now at 3f0904d feat(release): D6 — release pipeline, two-key trust anchor, signing tooling
2026-06-05T23:17:23.5027596Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-05T23:17:23.5065859Z Deleted branch dev-freeform (was 3f0904d).
2026-06-05T23:17:23.5120766Z ##[endgroup]
2026-06-05T23:17:23.5122837Z [command]/usr/bin/git submodule status
2026-06-05T23:17:23.5371699Z ##[group]Cleaning the repository
2026-06-05T23:17:23.5378051Z [command]/usr/bin/git clean -ffdx
2026-06-05T23:17:24.6290382Z Removing .adapter-notify/
2026-06-05T23:17:24.6292107Z Removing target/
2026-06-05T23:17:24.6311416Z [command]/usr/bin/git reset --hard HEAD
2026-06-05T23:17:24.6388434Z HEAD is now at 3f0904d feat(release): D6 — release pipeline, two-key trust anchor, signing tooling
2026-06-05T23:17:24.6397757Z ##[endgroup]
2026-06-05T23:17:24.6400473Z ##[group]Disabling automatic garbage collection
2026-06-05T23:17:24.6404491Z [command]/usr/bin/git config --local gc.auto 0
2026-06-05T23:17:24.6442905Z ##[endgroup]
2026-06-05T23:17:24.6445231Z ##[group]Setting up auth
2026-06-05T23:17:24.6453066Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-05T23:17:24.6495191Z [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-05T23:17:24.6735510Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-05T23:17:24.6777676Z [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-05T23:17:24.7017566Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-05T23:17:24.7057762Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-05T23:17:24.7299552Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-05T23:17:24.7359042Z ##[endgroup]
2026-06-05T23:17:24.7362021Z ##[group]Fetching the repository
2026-06-05T23:17:24.7373762Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +c8334dc73d24e46e2912d09a8ecffc0cecdb4d93:refs/remotes/origin/dev-freeform
2026-06-05T23:17:25.4610375Z From https://github.com/SaberMage/spt-core
2026-06-05T23:17:25.4615979Z  + 3f0904d...c8334dc c8334dc73d24e46e2912d09a8ecffc0cecdb4d93 -> origin/dev-freeform  (forced update)
2026-06-05T23:17:25.4653141Z ##[endgroup]
2026-06-05T23:17:25.4656031Z ##[group]Determining the checkout info
2026-06-05T23:17:25.4659017Z ##[endgroup]
2026-06-05T23:17:25.4662322Z [command]/usr/bin/git sparse-checkout disable
2026-06-05T23:17:25.4717049Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-05T23:17:25.4757867Z ##[group]Checking out the ref
2026-06-05T23:17:25.4764265Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-05T23:17:25.4864133Z Warning: you are leaving 1 commit behind, not connected to
2026-06-05T23:17:25.4866168Z any of your branches:
2026-06-05T23:17:25.4866980Z 
2026-06-05T23:17:25.4868594Z   3f0904d feat(release): D6 — release pipeline, two-key trust anchor, signing tooling
2026-06-05T23:17:25.4870564Z 
2026-06-05T23:17:25.4871668Z If you want to keep it by creating a new branch, this may be a good time
2026-06-05T23:17:25.4873998Z to do so with:
2026-06-05T23:17:25.4874779Z 
2026-06-05T23:17:25.4876976Z  git branch <new-branch-name> 3f0904d
2026-06-05T23:17:25.4878037Z 
2026-06-05T23:17:25.4878951Z Switched to a new branch 'dev-freeform'
2026-06-05T23:17:25.4989462Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-05T23:17:25.4995094Z ##[endgroup]
2026-06-05T23:17:25.4999895Z [command]/usr/bin/git log -1 --format=%H
2026-06-05T23:17:25.5001704Z c8334dc73d24e46e2912d09a8ecffc0cecdb4d93
2026-06-05T23:17:25.5330464Z ##[group]Run WANT=0.1.2
2026-06-05T23:17:25.5331807Z [36;1mWANT=0.1.2[0m
2026-06-05T23:17:25.5333079Z [36;1mBIN="$HOME/.local/bin/traceable-reqs"[0m
2026-06-05T23:17:25.5334911Z [36;1mif [ -x "$BIN" ] && "$BIN" --version | grep -q " $WANT\$"; then[0m
2026-06-05T23:17:25.5336709Z [36;1m  ln -sf "$BIN" ./traceable-reqs[0m
2026-06-05T23:17:25.5338079Z [36;1melse[0m
2026-06-05T23:17:25.5339642Z [36;1m  # Build OUTSIDE the checkout: a clone inside it gets adopted by[0m
2026-06-05T23:17:25.5341761Z [36;1m  # the spt-core cargo workspace and refuses to build.[0m
2026-06-05T23:17:25.5343428Z [36;1m  SRC="$RUNNER_TEMP/tr-src"[0m
2026-06-05T23:17:25.5344712Z [36;1m  rm -rf "$SRC"[0m
2026-06-05T23:17:25.5346043Z [36;1m  git clone --depth 1 --branch "v$WANT" \[0m
2026-06-05T23:17:25.5348316Z [36;1m    "https://x-access-token:${GH_TOKEN}@github.com/BigscreenVR/traceable-reqs" "$SRC"[0m
2026-06-05T23:17:25.5351402Z [36;1m  cargo build --release --manifest-path "$SRC/rust/Cargo.toml"[0m
2026-06-05T23:17:25.5353433Z [36;1m  mkdir -p "$HOME/.local/bin"[0m
2026-06-05T23:17:25.5355160Z [36;1m  cp "$SRC/rust/target/release/traceable-reqs" "$BIN"[0m
2026-06-05T23:17:25.5356860Z [36;1m  ln -sf "$BIN" ./traceable-reqs[0m
2026-06-05T23:17:25.5358196Z [36;1mfi[0m
2026-06-05T23:17:25.5359315Z [36;1m./traceable-reqs --version[0m
2026-06-05T23:17:25.5390046Z shell: /usr/bin/bash -e {0}
2026-06-05T23:17:25.5391320Z env:
2026-06-05T23:17:25.5393998Z   GH_TOKEN: ***
2026-06-05T23:17:25.5395060Z ##[endgroup]
2026-06-05T23:17:25.5548291Z traceable-reqs 0.1.2
2026-06-05T23:17:25.5642933Z ##[group]Run ./traceable-reqs check --json
2026-06-05T23:17:25.5644533Z [36;1m./traceable-reqs check --json[0m
2026-06-05T23:17:25.5669631Z shell: /usr/bin/bash -e {0}
2026-06-05T23:17:25.5671050Z ##[endgroup]
2026-06-05T23:17:25.5921934Z {
2026-06-05T23:17:25.5923683Z   "schemaVersion": 1,
2026-06-05T23:17:25.5925061Z   "summary": {
2026-06-05T23:17:25.5926328Z     "requirementCount": 139,
2026-06-05T23:17:25.5927767Z     "completeCount": 139,
2026-06-05T23:17:25.5939723Z     "incompleteCount": 0,
2026-06-05T23:17:25.5941285Z     "findingCount": 0
2026-06-05T23:17:25.5942482Z   },
2026-06-05T23:17:25.5943547Z   "requirements": [
2026-06-05T23:17:25.5944726Z     {
2026-06-05T23:17:25.5945891Z       "id": "REQ-API-1",
2026-06-05T23:17:25.5947694Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-05T23:17:25.5951198Z       "requiredStages": [
2026-06-05T23:17:25.5952504Z         "impl",
2026-06-05T23:17:25.5953651Z         "unit",
2026-06-05T23:17:25.5954891Z         "int"
2026-06-05T23:17:25.5955995Z       ],
2026-06-05T23:17:25.5957049Z       "stages": {
2026-06-05T23:17:25.5958184Z         "doc": {
2026-06-05T23:17:25.5959444Z           "complete": false,
2026-06-05T23:17:25.5960793Z           "evidence": []
2026-06-05T23:17:25.5962044Z         },
2026-06-05T23:17:25.5963114Z         "impl": {
2026-06-05T23:17:25.5964284Z           "complete": true,
2026-06-05T23:17:25.5965578Z           "evidence": [
2026-06-05T23:17:25.5966778Z             {
2026-06-05T23:17:25.5968010Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:25.5969647Z               "line": 15
2026-06-05T23:17:25.5970882Z             }
2026-06-05T23:17:25.5971967Z           ]
2026-06-05T23:17:25.5973013Z         },
2026-06-05T23:17:25.5974070Z         "int": {
2026-06-05T23:17:25.5975246Z           "complete": true,
2026-06-05T23:17:25.5976588Z           "evidence": [
2026-06-05T23:17:25.5977851Z             {
2026-06-05T23:17:25.5980394Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:25.5982087Z               "line": 13
2026-06-05T23:17:25.5983289Z             }
2026-06-05T23:17:25.5984357Z           ]
2026-06-05T23:17:25.5985399Z         },
2026-06-05T23:17:25.5986442Z         "unit": {
2026-06-05T23:17:25.5987589Z           "complete": true,
2026-06-05T23:17:25.5988891Z           "evidence": [
2026-06-05T23:17:25.5990234Z             {
2026-06-05T23:17:25.5991524Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:25.5993145Z               "line": 403
2026-06-05T23:17:25.5994398Z             },
2026-06-05T23:17:25.5995487Z             {
2026-06-05T23:17:25.5996703Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:25.5998258Z               "line": 409
2026-06-05T23:17:25.5999650Z             },
2026-06-05T23:17:25.6000845Z             {
2026-06-05T23:17:25.6002148Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:25.6033616Z               "line": 429
2026-06-05T23:17:25.6034972Z             }
2026-06-05T23:17:25.6036094Z           ]
2026-06-05T23:17:25.6037110Z         }
2026-06-05T23:17:25.6038104Z       }
2026-06-05T23:17:25.6039082Z     },
2026-06-05T23:17:25.6040147Z     {
2026-06-05T23:17:25.6041171Z       "id": "REQ-API-2",
2026-06-05T23:17:25.6043061Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-05T23:17:25.6045544Z       "requiredStages": [
2026-06-05T23:17:25.6046730Z         "impl",
2026-06-05T23:17:25.6047782Z         "unit",
2026-06-05T23:17:25.6048822Z         "int"
2026-06-05T23:17:25.6049900Z       ],
2026-06-05T23:17:25.6050898Z       "stages": {
2026-06-05T23:17:25.6051955Z         "doc": {
2026-06-05T23:17:25.6053057Z           "complete": false,
2026-06-05T23:17:25.6054288Z           "evidence": []
2026-06-05T23:17:25.6055445Z         },
2026-06-05T23:17:25.6056443Z         "impl": {
2026-06-05T23:17:25.6084004Z           "complete": true,
2026-06-05T23:17:25.6085270Z           "evidence": [
2026-06-05T23:17:25.6086842Z             {
2026-06-05T23:17:25.6088043Z               "path": "crates/spt-store/src/history.rs",
2026-06-05T23:17:25.6089805Z               "line": 15
2026-06-05T23:17:25.6090923Z             },
2026-06-05T23:17:25.6091922Z             {
2026-06-05T23:17:25.6093115Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:25.6094619Z               "line": 20
2026-06-05T23:17:25.6095732Z             },
2026-06-05T23:17:25.6096725Z             {
2026-06-05T23:17:25.6097925Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:25.6099613Z               "line": 125
2026-06-05T23:17:25.6100693Z             },
2026-06-05T23:17:25.6101649Z             {
2026-06-05T23:17:25.6102814Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6104248Z               "line": 21
2026-06-05T23:17:25.6105327Z             },
2026-06-05T23:17:25.6106279Z             {
2026-06-05T23:17:25.6107446Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6108901Z               "line": 38
2026-06-05T23:17:25.6110259Z             },
2026-06-05T23:17:25.6111255Z             {
2026-06-05T23:17:25.6112467Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6113978Z               "line": 187
2026-06-05T23:17:25.6115094Z             },
2026-06-05T23:17:25.6116120Z             {
2026-06-05T23:17:25.6117343Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6118848Z               "line": 226
2026-06-05T23:17:25.6120155Z             },
2026-06-05T23:17:25.6121118Z             {
2026-06-05T23:17:25.6122278Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6123726Z               "line": 256
2026-06-05T23:17:25.6124815Z             },
2026-06-05T23:17:25.6125767Z             {
2026-06-05T23:17:25.6126888Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.6128291Z               "line": 17
2026-06-05T23:17:25.6129563Z             },
2026-06-05T23:17:25.6130696Z             {
2026-06-05T23:17:25.6131834Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.6133238Z               "line": 30
2026-06-05T23:17:25.6134301Z             },
2026-06-05T23:17:25.6135326Z             {
2026-06-05T23:17:25.6136458Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.6137881Z               "line": 63
2026-06-05T23:17:25.6138963Z             },
2026-06-05T23:17:25.6140313Z             {
2026-06-05T23:17:25.6141455Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.6142873Z               "line": 76
2026-06-05T23:17:25.6143947Z             }
2026-06-05T23:17:25.6144900Z           ]
2026-06-05T23:17:25.6145825Z         },
2026-06-05T23:17:25.6146768Z         "int": {
2026-06-05T23:17:25.6147803Z           "complete": true,
2026-06-05T23:17:25.6148955Z           "evidence": [
2026-06-05T23:17:25.6150459Z             {
2026-06-05T23:17:25.6151634Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:25.6153101Z               "line": 14
2026-06-05T23:17:25.6154172Z             },
2026-06-05T23:17:25.6155136Z             {
2026-06-05T23:17:25.6156323Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:25.6157776Z               "line": 151
2026-06-05T23:17:25.6158849Z             }
2026-06-05T23:17:25.6160345Z           ]
2026-06-05T23:17:25.6161303Z         },
2026-06-05T23:17:25.6162267Z         "unit": {
2026-06-05T23:17:25.6163346Z           "complete": true,
2026-06-05T23:17:25.6164535Z           "evidence": [
2026-06-05T23:17:25.6165623Z             {
2026-06-05T23:17:25.6166838Z               "path": "crates/spt-store/src/history.rs",
2026-06-05T23:17:25.6168317Z               "line": 42
2026-06-05T23:17:25.6169466Z             },
2026-06-05T23:17:25.6170600Z             {
2026-06-05T23:17:25.6171744Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:25.6173157Z               "line": 234
2026-06-05T23:17:25.6174241Z             },
2026-06-05T23:17:25.6175383Z             {
2026-06-05T23:17:25.6176566Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6178010Z               "line": 425
2026-06-05T23:17:25.6179083Z             },
2026-06-05T23:17:25.6180449Z             {
2026-06-05T23:17:25.6181619Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6183069Z               "line": 436
2026-06-05T23:17:25.6184139Z             },
2026-06-05T23:17:25.6185084Z             {
2026-06-05T23:17:25.6186237Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6187655Z               "line": 542
2026-06-05T23:17:25.6188724Z             },
2026-06-05T23:17:25.6190059Z             {
2026-06-05T23:17:25.6191199Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6192628Z               "line": 554
2026-06-05T23:17:25.6193676Z             },
2026-06-05T23:17:25.6194609Z             {
2026-06-05T23:17:25.6195710Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.6197103Z               "line": 141
2026-06-05T23:17:25.6198149Z             },
2026-06-05T23:17:25.6199082Z             {
2026-06-05T23:17:25.6200549Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.6201914Z               "line": 176
2026-06-05T23:17:25.6202953Z             }
2026-06-05T23:17:25.6203879Z           ]
2026-06-05T23:17:25.6204774Z         }
2026-06-05T23:17:25.6205661Z       }
2026-06-05T23:17:25.6206519Z     },
2026-06-05T23:17:25.6207397Z     {
2026-06-05T23:17:25.6208375Z       "id": "REQ-API-3",
2026-06-05T23:17:25.6210094Z       "title": "commune/signoff are file-drops, not commands",
2026-06-05T23:17:25.6211660Z       "requiredStages": [
2026-06-05T23:17:25.6212734Z         "impl",
2026-06-05T23:17:25.6213694Z         "unit",
2026-06-05T23:17:25.6214635Z         "int"
2026-06-05T23:17:25.6215555Z       ],
2026-06-05T23:17:25.6216446Z       "stages": {
2026-06-05T23:17:25.6217414Z         "doc": {
2026-06-05T23:17:25.6218419Z           "complete": false,
2026-06-05T23:17:25.6219614Z           "evidence": []
2026-06-05T23:17:25.6220674Z         },
2026-06-05T23:17:25.6221570Z         "impl": {
2026-06-05T23:17:25.6222598Z           "complete": true,
2026-06-05T23:17:25.6223713Z           "evidence": [
2026-06-05T23:17:25.6224725Z             {
2026-06-05T23:17:25.6225843Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.6227208Z               "line": 27
2026-06-05T23:17:25.6229446Z             },
2026-06-05T23:17:25.6230651Z             {
2026-06-05T23:17:25.6231801Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6233216Z               "line": 362
2026-06-05T23:17:25.6234262Z             }
2026-06-05T23:17:25.6235180Z           ]
2026-06-05T23:17:25.6236075Z         },
2026-06-05T23:17:25.6236973Z         "int": {
2026-06-05T23:17:25.6237969Z           "complete": true,
2026-06-05T23:17:25.6239572Z           "evidence": [
2026-06-05T23:17:25.6240791Z             {
2026-06-05T23:17:25.6241950Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:25.6243383Z               "line": 203
2026-06-05T23:17:25.6244447Z             }
2026-06-05T23:17:25.6245364Z           ]
2026-06-05T23:17:25.6246253Z         },
2026-06-05T23:17:25.6247145Z         "unit": {
2026-06-05T23:17:25.6248134Z           "complete": true,
2026-06-05T23:17:25.6249560Z           "evidence": [
2026-06-05T23:17:25.6250581Z             {
2026-06-05T23:17:25.6251699Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.6253075Z               "line": 230
2026-06-05T23:17:25.6254118Z             },
2026-06-05T23:17:25.6255050Z             {
2026-06-05T23:17:25.6256296Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.6257703Z               "line": 583
2026-06-05T23:17:25.6258740Z             }
2026-06-05T23:17:25.6259686Z           ]
2026-06-05T23:17:25.6260575Z         }
2026-06-05T23:17:25.6261453Z       }
2026-06-05T23:17:25.6262313Z     },
2026-06-05T23:17:25.6263178Z     {
2026-06-05T23:17:25.6264242Z       "id": "REQ-ARCH-1",
2026-06-05T23:17:25.6265574Z       "title": "Many small acyclically-layered crates",
2026-06-05T23:17:25.6267020Z       "requiredStages": [
2026-06-05T23:17:25.6268103Z         "impl"
2026-06-05T23:17:25.6269024Z       ],
2026-06-05T23:17:25.6269973Z       "stages": {
2026-06-05T23:17:25.6270954Z         "doc": {
2026-06-05T23:17:25.6271955Z           "complete": false,
2026-06-05T23:17:25.6273081Z           "evidence": []
2026-06-05T23:17:25.6274122Z         },
2026-06-05T23:17:25.6275015Z         "impl": {
2026-06-05T23:17:25.6276016Z           "complete": true,
2026-06-05T23:17:25.6277122Z           "evidence": [
2026-06-05T23:17:25.6278130Z             {
2026-06-05T23:17:25.6279267Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-05T23:17:25.6280613Z               "line": 16
2026-06-05T23:17:25.6281645Z             },
2026-06-05T23:17:25.6282560Z             {
2026-06-05T23:17:25.6283650Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-05T23:17:25.6285017Z               "line": 12
2026-06-05T23:17:25.6286060Z             },
2026-06-05T23:17:25.6286985Z             {
2026-06-05T23:17:25.6288064Z               "path": "crates/spt-store/src/lib.rs",
2026-06-05T23:17:25.6289469Z               "line": 12
2026-06-05T23:17:25.6290515Z             }
2026-06-05T23:17:25.6291443Z           ]
2026-06-05T23:17:25.6292339Z         },
2026-06-05T23:17:25.6293230Z         "int": {
2026-06-05T23:17:25.6294223Z           "complete": false,
2026-06-05T23:17:25.6295360Z           "evidence": []
2026-06-05T23:17:25.6296396Z         },
2026-06-05T23:17:25.6297306Z         "unit": {
2026-06-05T23:17:25.6298305Z           "complete": false,
2026-06-05T23:17:25.6299489Z           "evidence": []
2026-06-05T23:17:25.6300545Z         }
2026-06-05T23:17:25.6301412Z       }
2026-06-05T23:17:25.6302272Z     },
2026-06-05T23:17:25.6303129Z     {
2026-06-05T23:17:25.6304030Z       "id": "REQ-ARCH-2",
2026-06-05T23:17:25.6305526Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-05T23:17:25.6307215Z       "requiredStages": [
2026-06-05T23:17:25.6308284Z         "impl"
2026-06-05T23:17:25.6309255Z       ],
2026-06-05T23:17:25.6310149Z       "stages": {
2026-06-05T23:17:25.6311115Z         "doc": {
2026-06-05T23:17:25.6312109Z           "complete": false,
2026-06-05T23:17:25.6313246Z           "evidence": []
2026-06-05T23:17:25.6314281Z         },
2026-06-05T23:17:25.6315187Z         "impl": {
2026-06-05T23:17:25.6316197Z           "complete": true,
2026-06-05T23:17:25.6317301Z           "evidence": [
2026-06-05T23:17:25.6318308Z             {
2026-06-05T23:17:25.6320100Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-05T23:17:25.6321485Z               "line": 18
2026-06-05T23:17:25.6322517Z             }
2026-06-05T23:17:25.6323429Z           ]
2026-06-05T23:17:25.6324328Z         },
2026-06-05T23:17:25.6325233Z         "int": {
2026-06-05T23:17:25.6326231Z           "complete": false,
2026-06-05T23:17:25.6327375Z           "evidence": []
2026-06-05T23:17:25.6328422Z         },
2026-06-05T23:17:25.6329357Z         "unit": {
2026-06-05T23:17:25.6330372Z           "complete": false,
2026-06-05T23:17:25.6365131Z           "evidence": []
2026-06-05T23:17:25.6366257Z         }
2026-06-05T23:17:25.6367133Z       }
2026-06-05T23:17:25.6367987Z     },
2026-06-05T23:17:25.6369450Z     {
2026-06-05T23:17:25.6370371Z       "id": "REQ-ARCH-3",
2026-06-05T23:17:25.6373234Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-05T23:17:25.6375476Z       "requiredStages": [
2026-06-05T23:17:25.6376675Z         "impl",
2026-06-05T23:17:25.6377817Z         "unit"
2026-06-05T23:17:25.6378839Z       ],
2026-06-05T23:17:25.6379879Z       "stages": {
2026-06-05T23:17:25.6380962Z         "doc": {
2026-06-05T23:17:25.6382039Z           "complete": false,
2026-06-05T23:17:25.6383297Z           "evidence": []
2026-06-05T23:17:25.6384418Z         },
2026-06-05T23:17:25.6385360Z         "impl": {
2026-06-05T23:17:25.6386884Z           "complete": true,
2026-06-05T23:17:25.6388091Z           "evidence": [
2026-06-05T23:17:25.6389208Z             {
2026-06-05T23:17:25.6390411Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T23:17:25.6391857Z               "line": 34
2026-06-05T23:17:25.6392946Z             },
2026-06-05T23:17:25.6393953Z             {
2026-06-05T23:17:25.6395148Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T23:17:25.6396581Z               "line": 41
2026-06-05T23:17:25.6397659Z             }
2026-06-05T23:17:25.6398775Z           ]
2026-06-05T23:17:25.6400067Z         },
2026-06-05T23:17:25.6400980Z         "int": {
2026-06-05T23:17:25.6401991Z           "complete": false,
2026-06-05T23:17:25.6403133Z           "evidence": []
2026-06-05T23:17:25.6404176Z         },
2026-06-05T23:17:25.6405110Z         "unit": {
2026-06-05T23:17:25.6406120Z           "complete": true,
2026-06-05T23:17:25.6407217Z           "evidence": [
2026-06-05T23:17:25.6408238Z             {
2026-06-05T23:17:25.6409441Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T23:17:25.6410835Z               "line": 51
2026-06-05T23:17:25.6411890Z             },
2026-06-05T23:17:25.6412852Z             {
2026-06-05T23:17:25.6414005Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T23:17:25.6415418Z               "line": 65
2026-06-05T23:17:25.6416462Z             },
2026-06-05T23:17:25.6417392Z             {
2026-06-05T23:17:25.6418544Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T23:17:25.6419964Z               "line": 74
2026-06-05T23:17:25.6421008Z             }
2026-06-05T23:17:25.6421938Z           ]
2026-06-05T23:17:25.6422840Z         }
2026-06-05T23:17:25.6423731Z       }
2026-06-05T23:17:25.6424601Z     },
2026-06-05T23:17:25.6425476Z     {
2026-06-05T23:17:25.6426395Z       "id": "REQ-ARCH-4",
2026-06-05T23:17:25.6427932Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-05T23:17:25.6429715Z       "requiredStages": [
2026-06-05T23:17:25.6430805Z         "impl",
2026-06-05T23:17:25.6431762Z         "unit"
2026-06-05T23:17:25.6432697Z       ],
2026-06-05T23:17:25.6433596Z       "stages": {
2026-06-05T23:17:25.6434670Z         "doc": {
2026-06-05T23:17:25.6435666Z           "complete": false,
2026-06-05T23:17:25.6436813Z           "evidence": []
2026-06-05T23:17:25.6437851Z         },
2026-06-05T23:17:25.6438757Z         "impl": {
2026-06-05T23:17:25.6441878Z           "complete": true,
2026-06-05T23:17:25.6443014Z           "evidence": [
2026-06-05T23:17:25.6444050Z             {
2026-06-05T23:17:25.6445167Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6446543Z               "line": 82
2026-06-05T23:17:25.6447583Z             },
2026-06-05T23:17:25.6448521Z             {
2026-06-05T23:17:25.6449707Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6451085Z               "line": 96
2026-06-05T23:17:25.6452126Z             },
2026-06-05T23:17:25.6453104Z             {
2026-06-05T23:17:25.6454226Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6455594Z               "line": 116
2026-06-05T23:17:25.6456652Z             },
2026-06-05T23:17:25.6457589Z             {
2026-06-05T23:17:25.6466666Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6468531Z               "line": 131
2026-06-05T23:17:25.6469686Z             },
2026-06-05T23:17:25.6470611Z             {
2026-06-05T23:17:25.6471718Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6473078Z               "line": 181
2026-06-05T23:17:25.6474104Z             }
2026-06-05T23:17:25.6475014Z           ]
2026-06-05T23:17:25.6475907Z         },
2026-06-05T23:17:25.6476801Z         "int": {
2026-06-05T23:17:25.6477804Z           "complete": false,
2026-06-05T23:17:25.6478940Z           "evidence": []
2026-06-05T23:17:25.6480035Z         },
2026-06-05T23:17:25.6480944Z         "unit": {
2026-06-05T23:17:25.6482125Z           "complete": true,
2026-06-05T23:17:25.6483250Z           "evidence": [
2026-06-05T23:17:25.6484279Z             {
2026-06-05T23:17:25.6485397Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6486775Z               "line": 245
2026-06-05T23:17:25.6487819Z             },
2026-06-05T23:17:25.6488753Z             {
2026-06-05T23:17:25.6489948Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6491313Z               "line": 255
2026-06-05T23:17:25.6492368Z             },
2026-06-05T23:17:25.6493294Z             {
2026-06-05T23:17:25.6494417Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6495800Z               "line": 266
2026-06-05T23:17:25.6496850Z             },
2026-06-05T23:17:25.6497786Z             {
2026-06-05T23:17:25.6498911Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6500320Z               "line": 277
2026-06-05T23:17:25.6501377Z             },
2026-06-05T23:17:25.6502314Z             {
2026-06-05T23:17:25.6503443Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6504824Z               "line": 289
2026-06-05T23:17:25.6505872Z             },
2026-06-05T23:17:25.6506802Z             {
2026-06-05T23:17:25.6507913Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6509347Z               "line": 302
2026-06-05T23:17:25.6510401Z             },
2026-06-05T23:17:25.6511329Z             {
2026-06-05T23:17:25.6512433Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6513798Z               "line": 313
2026-06-05T23:17:25.6514850Z             },
2026-06-05T23:17:25.6515784Z             {
2026-06-05T23:17:25.6516890Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6518269Z               "line": 327
2026-06-05T23:17:25.6519344Z             },
2026-06-05T23:17:25.6520276Z             {
2026-06-05T23:17:25.6521387Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.6522756Z               "line": 355
2026-06-05T23:17:25.6523814Z             }
2026-06-05T23:17:25.6524743Z           ]
2026-06-05T23:17:25.6525637Z         }
2026-06-05T23:17:25.6526530Z       }
2026-06-05T23:17:25.6527406Z     },
2026-06-05T23:17:25.6528291Z     {
2026-06-05T23:17:25.6529261Z       "id": "REQ-CONSENT-1",
2026-06-05T23:17:25.6535070Z       "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-05T23:17:25.6541170Z       "requiredStages": [
2026-06-05T23:17:25.6542247Z         "impl",
2026-06-05T23:17:25.6543194Z         "unit"
2026-06-05T23:17:25.6544120Z       ],
2026-06-05T23:17:25.6545060Z       "stages": {
2026-06-05T23:17:25.6546012Z         "doc": {
2026-06-05T23:17:25.6547003Z           "complete": false,
2026-06-05T23:17:25.6548145Z           "evidence": []
2026-06-05T23:17:25.6549216Z         },
2026-06-05T23:17:25.6550098Z         "impl": {
2026-06-05T23:17:25.6551084Z           "complete": true,
2026-06-05T23:17:25.6552177Z           "evidence": [
2026-06-05T23:17:25.6553176Z             {
2026-06-05T23:17:25.6554293Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6555859Z               "line": 27
2026-06-05T23:17:25.6556884Z             },
2026-06-05T23:17:25.6557800Z             {
2026-06-05T23:17:25.6558916Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6560335Z               "line": 75
2026-06-05T23:17:25.6561371Z             },
2026-06-05T23:17:25.6562287Z             {
2026-06-05T23:17:25.6563398Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6569313Z               "line": 98
2026-06-05T23:17:25.6570409Z             },
2026-06-05T23:17:25.6571337Z             {
2026-06-05T23:17:25.6572683Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6574051Z               "line": 82
2026-06-05T23:17:25.6575072Z             },
2026-06-05T23:17:25.6575996Z             {
2026-06-05T23:17:25.6577086Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6578433Z               "line": 109
2026-06-05T23:17:25.6579537Z             },
2026-06-05T23:17:25.6580459Z             {
2026-06-05T23:17:25.6581558Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6582926Z               "line": 127
2026-06-05T23:17:25.6583958Z             },
2026-06-05T23:17:25.6584899Z             {
2026-06-05T23:17:25.6586000Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6587364Z               "line": 142
2026-06-05T23:17:25.6588408Z             },
2026-06-05T23:17:25.6589356Z             {
2026-06-05T23:17:25.6590387Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.6591683Z               "line": 2455
2026-06-05T23:17:25.6592703Z             }
2026-06-05T23:17:25.6593624Z           ]
2026-06-05T23:17:25.6594501Z         },
2026-06-05T23:17:25.6595392Z         "int": {
2026-06-05T23:17:25.6596375Z           "complete": false,
2026-06-05T23:17:25.6597487Z           "evidence": []
2026-06-05T23:17:25.6598508Z         },
2026-06-05T23:17:25.6599423Z         "unit": {
2026-06-05T23:17:25.6600428Z           "complete": true,
2026-06-05T23:17:25.6601501Z           "evidence": [
2026-06-05T23:17:25.6602527Z             {
2026-06-05T23:17:25.6603648Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6605019Z               "line": 318
2026-06-05T23:17:25.6606040Z             },
2026-06-05T23:17:25.6606957Z             {
2026-06-05T23:17:25.6608073Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6609483Z               "line": 343
2026-06-05T23:17:25.6610519Z             },
2026-06-05T23:17:25.6611444Z             {
2026-06-05T23:17:25.6612552Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6613922Z               "line": 354
2026-06-05T23:17:25.6614935Z             },
2026-06-05T23:17:25.6615840Z             {
2026-06-05T23:17:25.6616928Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6618266Z               "line": 165
2026-06-05T23:17:25.6619310Z             },
2026-06-05T23:17:25.6620231Z             {
2026-06-05T23:17:25.6621324Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6622664Z               "line": 184
2026-06-05T23:17:25.6623674Z             },
2026-06-05T23:17:25.6624575Z             {
2026-06-05T23:17:25.6625642Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T23:17:25.6626964Z               "line": 204
2026-06-05T23:17:25.6627973Z             },
2026-06-05T23:17:25.6628868Z             {
2026-06-05T23:17:25.6629922Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.6631194Z               "line": 2754
2026-06-05T23:17:25.6632210Z             }
2026-06-05T23:17:25.6633091Z           ]
2026-06-05T23:17:25.6633961Z         }
2026-06-05T23:17:25.6634816Z       }
2026-06-05T23:17:25.6635644Z     },
2026-06-05T23:17:25.6636498Z     {
2026-06-05T23:17:25.6637416Z       "id": "REQ-CONSENT-2",
2026-06-05T23:17:25.6643118Z       "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-05T23:17:25.6648743Z       "requiredStages": [
2026-06-05T23:17:25.6649844Z         "impl",
2026-06-05T23:17:25.6650776Z         "unit"
2026-06-05T23:17:25.6651687Z       ],
2026-06-05T23:17:25.6652562Z       "stages": {
2026-06-05T23:17:25.6653509Z         "doc": {
2026-06-05T23:17:25.6654501Z           "complete": false,
2026-06-05T23:17:25.6655622Z           "evidence": []
2026-06-05T23:17:25.6656645Z         },
2026-06-05T23:17:25.6657750Z         "impl": {
2026-06-05T23:17:25.6658756Z           "complete": true,
2026-06-05T23:17:25.6659889Z           "evidence": [
2026-06-05T23:17:25.6660896Z             {
2026-06-05T23:17:25.6661997Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6663369Z               "line": 140
2026-06-05T23:17:25.6664414Z             },
2026-06-05T23:17:25.6669564Z             {
2026-06-05T23:17:25.6670733Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6672105Z               "line": 158
2026-06-05T23:17:25.6673119Z             },
2026-06-05T23:17:25.6674030Z             {
2026-06-05T23:17:25.6675134Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6676498Z               "line": 192
2026-06-05T23:17:25.6677527Z             },
2026-06-05T23:17:25.6678439Z             {
2026-06-05T23:17:25.6679580Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6680939Z               "line": 234
2026-06-05T23:17:25.6682000Z             },
2026-06-05T23:17:25.6682924Z             {
2026-06-05T23:17:25.6684026Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6685381Z               "line": 262
2026-06-05T23:17:25.6686413Z             },
2026-06-05T23:17:25.6687333Z             {
2026-06-05T23:17:25.6688434Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6689845Z               "line": 293
2026-06-05T23:17:25.6690861Z             },
2026-06-05T23:17:25.6691780Z             {
2026-06-05T23:17:25.6692793Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.6694076Z               "line": 2348
2026-06-05T23:17:25.6695113Z             },
2026-06-05T23:17:25.6696022Z             {
2026-06-05T23:17:25.6697049Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.6698336Z               "line": 2388
2026-06-05T23:17:25.6699391Z             }
2026-06-05T23:17:25.6700292Z           ]
2026-06-05T23:17:25.6701164Z         },
2026-06-05T23:17:25.6702060Z         "int": {
2026-06-05T23:17:25.6703041Z           "complete": false,
2026-06-05T23:17:25.6704165Z           "evidence": []
2026-06-05T23:17:25.6705185Z         },
2026-06-05T23:17:25.6706070Z         "unit": {
2026-06-05T23:17:25.6707052Z           "complete": true,
2026-06-05T23:17:25.6708126Z           "evidence": [
2026-06-05T23:17:25.6709133Z             {
2026-06-05T23:17:25.6710329Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6711687Z               "line": 382
2026-06-05T23:17:25.6712708Z             },
2026-06-05T23:17:25.6713619Z             {
2026-06-05T23:17:25.6714720Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6716071Z               "line": 396
2026-06-05T23:17:25.6717104Z             },
2026-06-05T23:17:25.6718009Z             {
2026-06-05T23:17:25.6719108Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6720540Z               "line": 432
2026-06-05T23:17:25.6721582Z             },
2026-06-05T23:17:25.6722517Z             {
2026-06-05T23:17:25.6723628Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:25.6724974Z               "line": 464
2026-06-05T23:17:25.6725990Z             },
2026-06-05T23:17:25.6726909Z             {
2026-06-05T23:17:25.6727927Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.6729538Z               "line": 3425
2026-06-05T23:17:25.6730579Z             },
2026-06-05T23:17:25.6731500Z             {
2026-06-05T23:17:25.6732528Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.6733813Z               "line": 3485
2026-06-05T23:17:25.6734837Z             }
2026-06-05T23:17:25.6735740Z           ]
2026-06-05T23:17:25.6736610Z         }
2026-06-05T23:17:25.6737474Z       }
2026-06-05T23:17:25.6738321Z     },
2026-06-05T23:17:25.6739214Z     {
2026-06-05T23:17:25.6740132Z       "id": "REQ-DAEMON-1",
2026-06-05T23:17:25.6741625Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-05T23:17:25.6743417Z       "requiredStages": [
2026-06-05T23:17:25.6744490Z         "impl",
2026-06-05T23:17:25.6745417Z         "unit",
2026-06-05T23:17:25.6746333Z         "int"
2026-06-05T23:17:25.6747231Z       ],
2026-06-05T23:17:25.6748107Z       "stages": {
2026-06-05T23:17:25.6749044Z         "doc": {
2026-06-05T23:17:25.6750080Z           "complete": false,
2026-06-05T23:17:25.6751205Z           "evidence": []
2026-06-05T23:17:25.6752221Z         },
2026-06-05T23:17:25.6753112Z         "impl": {
2026-06-05T23:17:25.6754095Z           "complete": true,
2026-06-05T23:17:25.6755170Z           "evidence": [
2026-06-05T23:17:25.6756155Z             {
2026-06-05T23:17:25.6761420Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.6762811Z               "line": 12
2026-06-05T23:17:25.6763812Z             },
2026-06-05T23:17:25.6764710Z             {
2026-06-05T23:17:25.6765817Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.6767181Z               "line": 16
2026-06-05T23:17:25.6768204Z             },
2026-06-05T23:17:25.6769092Z             {
2026-06-05T23:17:25.6770217Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-05T23:17:25.6771540Z               "line": 15
2026-06-05T23:17:25.6772543Z             },
2026-06-05T23:17:25.6773424Z             {
2026-06-05T23:17:25.6774481Z               "path": "crates/spt/src/api/live.rs",
2026-06-05T23:17:25.6775764Z               "line": 13
2026-06-05T23:17:25.6776753Z             }
2026-06-05T23:17:25.6777628Z           ]
2026-06-05T23:17:25.6778488Z         },
2026-06-05T23:17:25.6779385Z         "int": {
2026-06-05T23:17:25.6780356Z           "complete": true,
2026-06-05T23:17:25.6781416Z           "evidence": [
2026-06-05T23:17:25.6782384Z             {
2026-06-05T23:17:25.6783527Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T23:17:25.6784912Z               "line": 32
2026-06-05T23:17:25.6785913Z             }
2026-06-05T23:17:25.6786791Z           ]
2026-06-05T23:17:25.6787649Z         },
2026-06-05T23:17:25.6788526Z         "unit": {
2026-06-05T23:17:25.6789532Z           "complete": true,
2026-06-05T23:17:25.6790595Z           "evidence": [
2026-06-05T23:17:25.6791565Z             {
2026-06-05T23:17:25.6792653Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.6793991Z               "line": 254
2026-06-05T23:17:25.6795206Z             },
2026-06-05T23:17:25.6796582Z             {
2026-06-05T23:17:25.6797888Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.6799629Z               "line": 262
2026-06-05T23:17:25.6800897Z             },
2026-06-05T23:17:25.6801902Z             {
2026-06-05T23:17:25.6803336Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.6805115Z               "line": 275
2026-06-05T23:17:25.6806220Z             },
2026-06-05T23:17:25.6807350Z             {
2026-06-05T23:17:25.6808634Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.6810325Z               "line": 283
2026-06-05T23:17:25.6811740Z             },
2026-06-05T23:17:25.6812883Z             {
2026-06-05T23:17:25.6814255Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.6815914Z               "line": 536
2026-06-05T23:17:25.6817082Z             },
2026-06-05T23:17:25.6818200Z             {
2026-06-05T23:17:25.6820056Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.6821608Z               "line": 595
2026-06-05T23:17:25.6822840Z             },
2026-06-05T23:17:25.6823912Z             {
2026-06-05T23:17:25.6825181Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-05T23:17:25.6826562Z               "line": 100
2026-06-05T23:17:25.6827613Z             },
2026-06-05T23:17:25.6828704Z             {
2026-06-05T23:17:25.6830334Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-05T23:17:25.6831681Z               "line": 125
2026-06-05T23:17:25.6832718Z             }
2026-06-05T23:17:25.6833646Z           ]
2026-06-05T23:17:25.6834820Z         }
2026-06-05T23:17:25.6836106Z       }
2026-06-05T23:17:25.6836950Z     },
2026-06-05T23:17:25.6837802Z     {
2026-06-05T23:17:25.6838701Z       "id": "REQ-DAEMON-2",
2026-06-05T23:17:25.6840122Z       "title": "Broker/brain split for seamless self-update",
2026-06-05T23:17:25.6841602Z       "requiredStages": [
2026-06-05T23:17:25.6842673Z         "impl",
2026-06-05T23:17:25.6843587Z         "unit",
2026-06-05T23:17:25.6844501Z         "int"
2026-06-05T23:17:25.6851591Z       ],
2026-06-05T23:17:25.6852507Z       "stages": {
2026-06-05T23:17:25.6853448Z         "doc": {
2026-06-05T23:17:25.6854419Z           "complete": false,
2026-06-05T23:17:25.6855519Z           "evidence": []
2026-06-05T23:17:25.6856526Z         },
2026-06-05T23:17:25.6857395Z         "impl": {
2026-06-05T23:17:25.6858363Z           "complete": true,
2026-06-05T23:17:25.6859496Z           "evidence": [
2026-06-05T23:17:25.6860472Z             {
2026-06-05T23:17:25.6861578Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.6862903Z               "line": 23
2026-06-05T23:17:25.6863900Z             },
2026-06-05T23:17:25.6864792Z             {
2026-06-05T23:17:25.6865858Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.6867176Z               "line": 489
2026-06-05T23:17:25.6868190Z             },
2026-06-05T23:17:25.6869095Z             {
2026-06-05T23:17:25.6870198Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.6871503Z               "line": 612
2026-06-05T23:17:25.6872506Z             },
2026-06-05T23:17:25.6873402Z             {
2026-06-05T23:17:25.6874477Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.6875803Z               "line": 32
2026-06-05T23:17:25.6876806Z             },
2026-06-05T23:17:25.6877704Z             {
2026-06-05T23:17:25.6878784Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.6880164Z               "line": 191
2026-06-05T23:17:25.6881170Z             },
2026-06-05T23:17:25.6882076Z             {
2026-06-05T23:17:25.6883158Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.6884502Z               "line": 519
2026-06-05T23:17:25.6885507Z             },
2026-06-05T23:17:25.6886408Z             {
2026-06-05T23:17:25.6887477Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.6888828Z               "line": 688
2026-06-05T23:17:25.6889865Z             },
2026-06-05T23:17:25.6890751Z             {
2026-06-05T23:17:25.6891807Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T23:17:25.6893127Z               "line": 11
2026-06-05T23:17:25.6894127Z             },
2026-06-05T23:17:25.6895030Z             {
2026-06-05T23:17:25.6896108Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.6897435Z               "line": 69
2026-06-05T23:17:25.6898433Z             },
2026-06-05T23:17:25.6899536Z             {
2026-06-05T23:17:25.6900773Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.6902109Z               "line": 13
2026-06-05T23:17:25.6903119Z             },
2026-06-05T23:17:25.6904041Z             {
2026-06-05T23:17:25.6905173Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6906531Z               "line": 27
2026-06-05T23:17:25.6907535Z             },
2026-06-05T23:17:25.6908832Z             {
2026-06-05T23:17:25.6910000Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6911350Z               "line": 94
2026-06-05T23:17:25.6912348Z             },
2026-06-05T23:17:25.6913290Z             {
2026-06-05T23:17:25.6914402Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6915765Z               "line": 393
2026-06-05T23:17:25.6916759Z             },
2026-06-05T23:17:25.6917651Z             {
2026-06-05T23:17:25.6918743Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6920134Z               "line": 460
2026-06-05T23:17:25.6921137Z             },
2026-06-05T23:17:25.6922196Z             {
2026-06-05T23:17:25.6923308Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6924651Z               "line": 494
2026-06-05T23:17:25.6925655Z             },
2026-06-05T23:17:25.6926543Z             {
2026-06-05T23:17:25.6927624Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6928987Z               "line": 536
2026-06-05T23:17:25.6930029Z             },
2026-06-05T23:17:25.6930923Z             {
2026-06-05T23:17:25.6932025Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.6933356Z               "line": 581
2026-06-05T23:17:25.6934356Z             },
2026-06-05T23:17:25.6935250Z             {
2026-06-05T23:17:25.6936356Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T23:17:25.6937712Z               "line": 10
2026-06-05T23:17:25.6938701Z             }
2026-06-05T23:17:25.6939618Z           ]
2026-06-05T23:17:25.6945555Z         },
2026-06-05T23:17:25.6946492Z         "int": {
2026-06-05T23:17:25.6947480Z           "complete": true,
2026-06-05T23:17:25.6948548Z           "evidence": [
2026-06-05T23:17:25.6949668Z             {
2026-06-05T23:17:25.6950778Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-05T23:17:25.6952126Z               "line": 17
2026-06-05T23:17:25.6953149Z             },
2026-06-05T23:17:25.6954044Z             {
2026-06-05T23:17:25.6955182Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T23:17:25.6956570Z               "line": 33
2026-06-05T23:17:25.6957555Z             },
2026-06-05T23:17:25.6958438Z             {
2026-06-05T23:17:25.6959589Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-05T23:17:25.6960960Z               "line": 19
2026-06-05T23:17:25.6961939Z             },
2026-06-05T23:17:25.6962835Z             {
2026-06-05T23:17:25.6963968Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T23:17:25.6965341Z               "line": 70
2026-06-05T23:17:25.6966350Z             },
2026-06-05T23:17:25.6967237Z             {
2026-06-05T23:17:25.6968357Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T23:17:25.6969787Z               "line": 90
2026-06-05T23:17:25.6970787Z             },
2026-06-05T23:17:25.6971679Z             {
2026-06-05T23:17:25.6972802Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T23:17:25.6974225Z               "line": 160
2026-06-05T23:17:25.6975232Z             },
2026-06-05T23:17:25.6976112Z             {
2026-06-05T23:17:25.6977235Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T23:17:25.6978623Z               "line": 196
2026-06-05T23:17:25.6979678Z             },
2026-06-05T23:17:25.6980579Z             {
2026-06-05T23:17:25.6981705Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-05T23:17:25.6983116Z               "line": 121
2026-06-05T23:17:25.6984118Z             }
2026-06-05T23:17:25.6984993Z           ]
2026-06-05T23:17:25.6985846Z         },
2026-06-05T23:17:25.6986719Z         "unit": {
2026-06-05T23:17:25.6987679Z           "complete": true,
2026-06-05T23:17:25.6988726Z           "evidence": [
2026-06-05T23:17:25.6989740Z             {
2026-06-05T23:17:25.6990809Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T23:17:25.6992113Z               "line": 62
2026-06-05T23:17:25.6993391Z             },
2026-06-05T23:17:25.6994277Z             {
2026-06-05T23:17:25.6995353Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T23:17:25.6996662Z               "line": 76
2026-06-05T23:17:25.6997654Z             },
2026-06-05T23:17:25.6998541Z             {
2026-06-05T23:17:25.6999689Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T23:17:25.7001036Z               "line": 88
2026-06-05T23:17:25.7002027Z             },
2026-06-05T23:17:25.7002907Z             {
2026-06-05T23:17:25.7003974Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T23:17:25.7005301Z               "line": 264
2026-06-05T23:17:25.7006448Z             },
2026-06-05T23:17:25.7007362Z             {
2026-06-05T23:17:25.7008416Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7009757Z               "line": 506
2026-06-05T23:17:25.7010756Z             },
2026-06-05T23:17:25.7011648Z             {
2026-06-05T23:17:25.7012706Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7014006Z               "line": 514
2026-06-05T23:17:25.7015001Z             },
2026-06-05T23:17:25.7015890Z             {
2026-06-05T23:17:25.7016927Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7018235Z               "line": 531
2026-06-05T23:17:25.7019263Z             },
2026-06-05T23:17:25.7020150Z             {
2026-06-05T23:17:25.7021185Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7022483Z               "line": 576
2026-06-05T23:17:25.7023480Z             },
2026-06-05T23:17:25.7024364Z             {
2026-06-05T23:17:25.7025462Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.7026787Z               "line": 648
2026-06-05T23:17:25.7027793Z             },
2026-06-05T23:17:25.7028686Z             {
2026-06-05T23:17:25.7029798Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.7031139Z               "line": 660
2026-06-05T23:17:25.7032148Z             },
2026-06-05T23:17:25.7037109Z             {
2026-06-05T23:17:25.7038320Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T23:17:25.7039766Z               "line": 112
2026-06-05T23:17:25.7040773Z             }
2026-06-05T23:17:25.7041643Z           ]
2026-06-05T23:17:25.7042496Z         }
2026-06-05T23:17:25.7043332Z       }
2026-06-05T23:17:25.7044155Z     },
2026-06-05T23:17:25.7044985Z     {
2026-06-05T23:17:25.7045864Z       "id": "REQ-DAEMON-3",
2026-06-05T23:17:25.7047253Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-05T23:17:25.7048801Z       "requiredStages": [
2026-06-05T23:17:25.7049905Z         "impl",
2026-06-05T23:17:25.7050818Z         "unit",
2026-06-05T23:17:25.7051714Z         "int"
2026-06-05T23:17:25.7052582Z       ],
2026-06-05T23:17:25.7053429Z       "stages": {
2026-06-05T23:17:25.7054362Z         "doc": {
2026-06-05T23:17:25.7055311Z           "complete": false,
2026-06-05T23:17:25.7056394Z           "evidence": []
2026-06-05T23:17:25.7057382Z         },
2026-06-05T23:17:25.7058248Z         "impl": {
2026-06-05T23:17:25.7059226Z           "complete": true,
2026-06-05T23:17:25.7060270Z           "evidence": [
2026-06-05T23:17:25.7061243Z             {
2026-06-05T23:17:25.7062317Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.7063649Z               "line": 14
2026-06-05T23:17:25.7064637Z             },
2026-06-05T23:17:25.7065518Z             {
2026-06-05T23:17:25.7066609Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-05T23:17:25.7067933Z               "line": 11
2026-06-05T23:17:25.7068916Z             },
2026-06-05T23:17:25.7069849Z             {
2026-06-05T23:17:25.7070851Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:25.7072112Z               "line": 247
2026-06-05T23:17:25.7073105Z             },
2026-06-05T23:17:25.7073981Z             {
2026-06-05T23:17:25.7074973Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7076594Z               "line": 904
2026-06-05T23:17:25.7077669Z             }
2026-06-05T23:17:25.7078607Z           ]
2026-06-05T23:17:25.7079746Z         },
2026-06-05T23:17:25.7080818Z         "int": {
2026-06-05T23:17:25.7081839Z           "complete": true,
2026-06-05T23:17:25.7082967Z           "evidence": [
2026-06-05T23:17:25.7084016Z             {
2026-06-05T23:17:25.7085187Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:25.7086842Z               "line": 43
2026-06-05T23:17:25.7088021Z             },
2026-06-05T23:17:25.7089137Z             {
2026-06-05T23:17:25.7090384Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:25.7149055Z               "line": 320
2026-06-05T23:17:25.7151324Z             }
2026-06-05T23:17:25.7152258Z           ]
2026-06-05T23:17:25.7153138Z         },
2026-06-05T23:17:25.7154044Z         "unit": {
2026-06-05T23:17:25.7155047Z           "complete": true,
2026-06-05T23:17:25.7156159Z           "evidence": [
2026-06-05T23:17:25.7157251Z             {
2026-06-05T23:17:25.7158376Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.7160042Z               "line": 400
2026-06-05T23:17:25.7161182Z             }
2026-06-05T23:17:25.7162049Z           ]
2026-06-05T23:17:25.7162895Z         }
2026-06-05T23:17:25.7163728Z       }
2026-06-05T23:17:25.7164547Z     },
2026-06-05T23:17:25.7165400Z     {
2026-06-05T23:17:25.7166290Z       "id": "REQ-DAEMON-4",
2026-06-05T23:17:25.7167524Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-05T23:17:25.7168876Z       "requiredStages": [
2026-06-05T23:17:25.7170266Z         "impl",
2026-06-05T23:17:25.7171205Z         "unit",
2026-06-05T23:17:25.7172126Z         "int"
2026-06-05T23:17:25.7173021Z       ],
2026-06-05T23:17:25.7173885Z       "stages": {
2026-06-05T23:17:25.7174811Z         "doc": {
2026-06-05T23:17:25.7175782Z           "complete": false,
2026-06-05T23:17:25.7176867Z           "evidence": []
2026-06-05T23:17:25.7177888Z         },
2026-06-05T23:17:25.7178761Z         "impl": {
2026-06-05T23:17:25.7179759Z           "complete": true,
2026-06-05T23:17:25.7180837Z           "evidence": [
2026-06-05T23:17:25.7188653Z             {
2026-06-05T23:17:25.7190025Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7191407Z               "line": 347
2026-06-05T23:17:25.7192435Z             },
2026-06-05T23:17:25.7193342Z             {
2026-06-05T23:17:25.7194446Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7195817Z               "line": 409
2026-06-05T23:17:25.7196844Z             },
2026-06-05T23:17:25.7197753Z             {
2026-06-05T23:17:25.7198904Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7200379Z               "line": 431
2026-06-05T23:17:25.7201390Z             }
2026-06-05T23:17:25.7202285Z           ]
2026-06-05T23:17:25.7203175Z         },
2026-06-05T23:17:25.7204054Z         "int": {
2026-06-05T23:17:25.7205047Z           "complete": true,
2026-06-05T23:17:25.7206145Z           "evidence": [
2026-06-05T23:17:25.7207139Z             {
2026-06-05T23:17:25.7208279Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T23:17:25.7209709Z               "line": 34
2026-06-05T23:17:25.7210715Z             }
2026-06-05T23:17:25.7211613Z           ]
2026-06-05T23:17:25.7212488Z         },
2026-06-05T23:17:25.7213361Z         "unit": {
2026-06-05T23:17:25.7214353Z           "complete": true,
2026-06-05T23:17:25.7215429Z           "evidence": [
2026-06-05T23:17:25.7216419Z             {
2026-06-05T23:17:25.7217507Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.7218856Z               "line": 353
2026-06-05T23:17:25.7219920Z             },
2026-06-05T23:17:25.7220825Z             {
2026-06-05T23:17:25.7221939Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7223319Z               "line": 725
2026-06-05T23:17:25.7224324Z             },
2026-06-05T23:17:25.7225765Z             {
2026-06-05T23:17:25.7226876Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7228241Z               "line": 776
2026-06-05T23:17:25.7229293Z             },
2026-06-05T23:17:25.7230202Z             {
2026-06-05T23:17:25.7231317Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7232694Z               "line": 800
2026-06-05T23:17:25.7233711Z             },
2026-06-05T23:17:25.7234626Z             {
2026-06-05T23:17:25.7235731Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7237107Z               "line": 830
2026-06-05T23:17:25.7238117Z             }
2026-06-05T23:17:25.7239227Z           ]
2026-06-05T23:17:25.7240137Z         }
2026-06-05T23:17:25.7241007Z       }
2026-06-05T23:17:25.7241879Z     },
2026-06-05T23:17:25.7242731Z     {
2026-06-05T23:17:25.7243644Z       "id": "REQ-DOCS-1",
2026-06-05T23:17:25.7245237Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-05T23:17:25.7247043Z       "requiredStages": [
2026-06-05T23:17:25.7248072Z         "doc",
2026-06-05T23:17:25.7248980Z         "impl"
2026-06-05T23:17:25.7249962Z       ],
2026-06-05T23:17:25.7250844Z       "stages": {
2026-06-05T23:17:25.7251784Z         "doc": {
2026-06-05T23:17:25.7252746Z           "complete": true,
2026-06-05T23:17:25.7253812Z           "evidence": [
2026-06-05T23:17:25.7254784Z             {
2026-06-05T23:17:25.7255793Z               "path": "docs-site/src/index.md",
2026-06-05T23:17:25.7257048Z               "line": 50
2026-06-05T23:17:25.7258049Z             }
2026-06-05T23:17:25.7258942Z           ]
2026-06-05T23:17:25.7259852Z         },
2026-06-05T23:17:25.7260736Z         "impl": {
2026-06-05T23:17:25.7261700Z           "complete": true,
2026-06-05T23:17:25.7262756Z           "evidence": [
2026-06-05T23:17:25.7263730Z             {
2026-06-05T23:17:25.7264842Z               "path": ".github/workflows/docs-publish.yml",
2026-06-05T23:17:25.7266204Z               "line": 12
2026-06-05T23:17:25.7267215Z             },
2026-06-05T23:17:25.7268128Z             {
2026-06-05T23:17:25.7269146Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:25.7270458Z               "line": 14
2026-06-05T23:17:25.7271457Z             }
2026-06-05T23:17:25.7272344Z           ]
2026-06-05T23:17:25.7273208Z         },
2026-06-05T23:17:25.7274070Z         "int": {
2026-06-05T23:17:25.7279468Z           "complete": false,
2026-06-05T23:17:25.7280679Z           "evidence": []
2026-06-05T23:17:25.7281707Z         },
2026-06-05T23:17:25.7282569Z         "unit": {
2026-06-05T23:17:25.7283535Z           "complete": false,
2026-06-05T23:17:25.7284645Z           "evidence": []
2026-06-05T23:17:25.7285648Z         }
2026-06-05T23:17:25.7286485Z       }
2026-06-05T23:17:25.7287311Z     },
2026-06-05T23:17:25.7288138Z     {
2026-06-05T23:17:25.7289008Z       "id": "REQ-DOCS-2",
2026-06-05T23:17:25.7290469Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-05T23:17:25.7292082Z       "requiredStages": [
2026-06-05T23:17:25.7293104Z         "doc",
2026-06-05T23:17:25.7294003Z         "int"
2026-06-05T23:17:25.7294874Z       ],
2026-06-05T23:17:25.7295735Z       "stages": {
2026-06-05T23:17:25.7296649Z         "doc": {
2026-06-05T23:17:25.7297591Z           "complete": true,
2026-06-05T23:17:25.7298643Z           "evidence": [
2026-06-05T23:17:25.7299654Z             {
2026-06-05T23:17:25.7300760Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-05T23:17:25.7302104Z               "line": 3
2026-06-05T23:17:25.7303071Z             },
2026-06-05T23:17:25.7303955Z             {
2026-06-05T23:17:25.7305093Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-05T23:17:25.7306465Z               "line": 3
2026-06-05T23:17:25.7307417Z             }
2026-06-05T23:17:25.7308296Z           ]
2026-06-05T23:17:25.7309134Z         },
2026-06-05T23:17:25.7310039Z         "impl": {
2026-06-05T23:17:25.7311005Z           "complete": false,
2026-06-05T23:17:25.7312369Z           "evidence": []
2026-06-05T23:17:25.7313357Z         },
2026-06-05T23:17:25.7314213Z         "int": {
2026-06-05T23:17:25.7315153Z           "complete": true,
2026-06-05T23:17:25.7316206Z           "evidence": [
2026-06-05T23:17:25.7317189Z             {
2026-06-05T23:17:25.7318291Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-05T23:17:25.7319672Z               "line": 11
2026-06-05T23:17:25.7320645Z             }
2026-06-05T23:17:25.7321512Z           ]
2026-06-05T23:17:25.7322359Z         },
2026-06-05T23:17:25.7323214Z         "unit": {
2026-06-05T23:17:25.7324175Z           "complete": false,
2026-06-05T23:17:25.7325453Z           "evidence": []
2026-06-05T23:17:25.7326475Z         }
2026-06-05T23:17:25.7327320Z       }
2026-06-05T23:17:25.7328148Z     },
2026-06-05T23:17:25.7328987Z     {
2026-06-05T23:17:25.7329896Z       "id": "REQ-DOCS-3",
2026-06-05T23:17:25.7331726Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-05T23:17:25.7333222Z       "requiredStages": [
2026-06-05T23:17:25.7334239Z         "doc"
2026-06-05T23:17:25.7335117Z       ],
2026-06-05T23:17:25.7335960Z       "stages": {
2026-06-05T23:17:25.7336872Z         "doc": {
2026-06-05T23:17:25.7337818Z           "complete": true,
2026-06-05T23:17:25.7338866Z           "evidence": [
2026-06-05T23:17:25.7339877Z             {
2026-06-05T23:17:25.7340886Z               "path": "docs-site/src/index.md",
2026-06-05T23:17:25.7342141Z               "line": 42
2026-06-05T23:17:25.7343123Z             }
2026-06-05T23:17:25.7344006Z           ]
2026-06-05T23:17:25.7344858Z         },
2026-06-05T23:17:25.7345714Z         "impl": {
2026-06-05T23:17:25.7346708Z           "complete": false,
2026-06-05T23:17:25.7347783Z           "evidence": []
2026-06-05T23:17:25.7348767Z         },
2026-06-05T23:17:25.7349650Z         "int": {
2026-06-05T23:17:25.7350594Z           "complete": false,
2026-06-05T23:17:25.7351677Z           "evidence": []
2026-06-05T23:17:25.7352669Z         },
2026-06-05T23:17:25.7353542Z         "unit": {
2026-06-05T23:17:25.7354508Z           "complete": false,
2026-06-05T23:17:25.7355580Z           "evidence": []
2026-06-05T23:17:25.7356569Z         }
2026-06-05T23:17:25.7357412Z       }
2026-06-05T23:17:25.7358234Z     },
2026-06-05T23:17:25.7359064Z     {
2026-06-05T23:17:25.7359978Z       "id": "REQ-DOCS-4",
2026-06-05T23:17:25.7361574Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-05T23:17:25.7367484Z       "requiredStages": [
2026-06-05T23:17:25.7368622Z         "doc",
2026-06-05T23:17:25.7369608Z         "impl",
2026-06-05T23:17:25.7370506Z         "unit"
2026-06-05T23:17:25.7371386Z       ],
2026-06-05T23:17:25.7372265Z       "stages": {
2026-06-05T23:17:25.7373187Z         "doc": {
2026-06-05T23:17:25.7374154Z           "complete": true,
2026-06-05T23:17:25.7375209Z           "evidence": [
2026-06-05T23:17:25.7376174Z             {
2026-06-05T23:17:25.7377174Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-05T23:17:25.7378473Z               "line": 35
2026-06-05T23:17:25.7379624Z             }
2026-06-05T23:17:25.7380527Z           ]
2026-06-05T23:17:25.7381384Z         },
2026-06-05T23:17:25.7382251Z         "impl": {
2026-06-05T23:17:25.7383221Z           "complete": true,
2026-06-05T23:17:25.7384272Z           "evidence": [
2026-06-05T23:17:25.7385229Z             {
2026-06-05T23:17:25.7386319Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:25.7387663Z               "line": 522
2026-06-05T23:17:25.7388648Z             },
2026-06-05T23:17:25.7389568Z             {
2026-06-05T23:17:25.7390590Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:25.7391882Z               "line": 15
2026-06-05T23:17:25.7392873Z             }
2026-06-05T23:17:25.7393739Z           ]
2026-06-05T23:17:25.7394590Z         },
2026-06-05T23:17:25.7395437Z         "int": {
2026-06-05T23:17:25.7396388Z           "complete": false,
2026-06-05T23:17:25.7397468Z           "evidence": []
2026-06-05T23:17:25.7398795Z         },
2026-06-05T23:17:25.7399708Z         "unit": {
2026-06-05T23:17:25.7400713Z           "complete": true,
2026-06-05T23:17:25.7401761Z           "evidence": [
2026-06-05T23:17:25.7402722Z             {
2026-06-05T23:17:25.7403813Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:25.7405173Z               "line": 957
2026-06-05T23:17:25.7406169Z             }
2026-06-05T23:17:25.7407031Z           ]
2026-06-05T23:17:25.7407868Z         }
2026-06-05T23:17:25.7408708Z       }
2026-06-05T23:17:25.7409578Z     },
2026-06-05T23:17:25.7410412Z     {
2026-06-05T23:17:25.7411283Z       "id": "REQ-DOCS-5",
2026-06-05T23:17:25.7413027Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-05T23:17:25.7414866Z       "requiredStages": [
2026-06-05T23:17:25.7415901Z         "impl",
2026-06-05T23:17:25.7416801Z         "int"
2026-06-05T23:17:25.7417683Z       ],
2026-06-05T23:17:25.7418542Z       "stages": {
2026-06-05T23:17:25.7419519Z         "doc": {
2026-06-05T23:17:25.7420485Z           "complete": false,
2026-06-05T23:17:25.7421567Z           "evidence": []
2026-06-05T23:17:25.7422554Z         },
2026-06-05T23:17:25.7423420Z         "impl": {
2026-06-05T23:17:25.7424380Z           "complete": true,
2026-06-05T23:17:25.7425431Z           "evidence": [
2026-06-05T23:17:25.7426402Z             {
2026-06-05T23:17:25.7427508Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:25.7428859Z               "line": 523
2026-06-05T23:17:25.7429882Z             },
2026-06-05T23:17:25.7430775Z             {
2026-06-05T23:17:25.7431787Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:25.7433082Z               "line": 100
2026-06-05T23:17:25.7434085Z             }
2026-06-05T23:17:25.7434969Z           ]
2026-06-05T23:17:25.7435842Z         },
2026-06-05T23:17:25.7436708Z         "int": {
2026-06-05T23:17:25.7437666Z           "complete": true,
2026-06-05T23:17:25.7438719Z           "evidence": [
2026-06-05T23:17:25.7439756Z             {
2026-06-05T23:17:25.7440788Z               "path": ".github/workflows/ci.yml",
2026-06-05T23:17:25.7442051Z               "line": 84
2026-06-05T23:17:25.7443045Z             },
2026-06-05T23:17:25.7443942Z             {
2026-06-05T23:17:25.7445062Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:25.7446432Z               "line": 991
2026-06-05T23:17:25.7447437Z             }
2026-06-05T23:17:25.7448323Z           ]
2026-06-05T23:17:25.7449224Z         },
2026-06-05T23:17:25.7450094Z         "unit": {
2026-06-05T23:17:25.7455447Z           "complete": false,
2026-06-05T23:17:25.7456584Z           "evidence": []
2026-06-05T23:17:25.7457614Z         }
2026-06-05T23:17:25.7458457Z       }
2026-06-05T23:17:25.7459363Z     },
2026-06-05T23:17:25.7460187Z     {
2026-06-05T23:17:25.7461042Z       "id": "REQ-EP-1",
2026-06-05T23:17:25.7462274Z       "title": "Day-one endpoint types; open type system",
2026-06-05T23:17:25.7463668Z       "requiredStages": [
2026-06-05T23:17:25.7464704Z         "impl",
2026-06-05T23:17:25.7465599Z         "unit"
2026-06-05T23:17:25.7466483Z       ],
2026-06-05T23:17:25.7467323Z       "stages": {
2026-06-05T23:17:25.7468225Z         "doc": {
2026-06-05T23:17:25.7469197Z           "complete": false,
2026-06-05T23:17:25.7470270Z           "evidence": []
2026-06-05T23:17:25.7471246Z         },
2026-06-05T23:17:25.7472095Z         "impl": {
2026-06-05T23:17:25.7473039Z           "complete": true,
2026-06-05T23:17:25.7474081Z           "evidence": [
2026-06-05T23:17:25.7475037Z             {
2026-06-05T23:17:25.7476115Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7477451Z               "line": 77
2026-06-05T23:17:25.7478428Z             },
2026-06-05T23:17:25.7479346Z             {
2026-06-05T23:17:25.7480422Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7481740Z               "line": 94
2026-06-05T23:17:25.7482716Z             }
2026-06-05T23:17:25.7483590Z           ]
2026-06-05T23:17:25.7484723Z         },
2026-06-05T23:17:25.7485570Z         "int": {
2026-06-05T23:17:25.7486514Z           "complete": false,
2026-06-05T23:17:25.7487583Z           "evidence": []
2026-06-05T23:17:25.7488565Z         },
2026-06-05T23:17:25.7489475Z         "unit": {
2026-06-05T23:17:25.7490455Z           "complete": true,
2026-06-05T23:17:25.7491499Z           "evidence": [
2026-06-05T23:17:25.7492471Z             {
2026-06-05T23:17:25.7493556Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7494876Z               "line": 161
2026-06-05T23:17:25.7495855Z             },
2026-06-05T23:17:25.7496729Z             {
2026-06-05T23:17:25.7497939Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7499332Z               "line": 178
2026-06-05T23:17:25.7500311Z             }
2026-06-05T23:17:25.7501189Z           ]
2026-06-05T23:17:25.7502037Z         }
2026-06-05T23:17:25.7502871Z       }
2026-06-05T23:17:25.7503693Z     },
2026-06-05T23:17:25.7504531Z     {
2026-06-05T23:17:25.7505373Z       "id": "REQ-EP-2",
2026-06-05T23:17:25.7506751Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-05T23:17:25.7508345Z       "requiredStages": [
2026-06-05T23:17:25.7510532Z         "impl",
2026-06-05T23:17:25.7511518Z         "unit"
2026-06-05T23:17:25.7512395Z       ],
2026-06-05T23:17:25.7513238Z       "stages": {
2026-06-05T23:17:25.7514141Z         "doc": {
2026-06-05T23:17:25.7515082Z           "complete": false,
2026-06-05T23:17:25.7516148Z           "evidence": []
2026-06-05T23:17:25.7517114Z         },
2026-06-05T23:17:25.7517956Z         "impl": {
2026-06-05T23:17:25.7518925Z           "complete": true,
2026-06-05T23:17:25.7520093Z           "evidence": [
2026-06-05T23:17:25.7521055Z             {
2026-06-05T23:17:25.7522134Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7523459Z               "line": 114
2026-06-05T23:17:25.7524438Z             },
2026-06-05T23:17:25.7525310Z             {
2026-06-05T23:17:25.7526392Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7527713Z               "line": 131
2026-06-05T23:17:25.7528708Z             },
2026-06-05T23:17:25.7529639Z             {
2026-06-05T23:17:25.7530721Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7532045Z               "line": 138
2026-06-05T23:17:25.7533030Z             }
2026-06-05T23:17:25.7533895Z           ]
2026-06-05T23:17:25.7534740Z         },
2026-06-05T23:17:25.7535577Z         "int": {
2026-06-05T23:17:25.7536525Z           "complete": false,
2026-06-05T23:17:25.7537607Z           "evidence": []
2026-06-05T23:17:25.7538598Z         },
2026-06-05T23:17:25.7544024Z         "unit": {
2026-06-05T23:17:25.7545037Z           "complete": true,
2026-06-05T23:17:25.7546085Z           "evidence": [
2026-06-05T23:17:25.7547045Z             {
2026-06-05T23:17:25.7548108Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7549512Z               "line": 193
2026-06-05T23:17:25.7550527Z             },
2026-06-05T23:17:25.7551399Z             {
2026-06-05T23:17:25.7552469Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7553796Z               "line": 211
2026-06-05T23:17:25.7554773Z             },
2026-06-05T23:17:25.7555642Z             {
2026-06-05T23:17:25.7556706Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T23:17:25.7558009Z               "line": 224
2026-06-05T23:17:25.7558978Z             }
2026-06-05T23:17:25.7560898Z           ]
2026-06-05T23:17:25.7561764Z         }
2026-06-05T23:17:25.7562580Z       }
2026-06-05T23:17:25.7563398Z     },
2026-06-05T23:17:25.7564231Z     {
2026-06-05T23:17:25.7565075Z       "id": "REQ-EP-3",
2026-06-05T23:17:25.7566570Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-05T23:17:25.7568268Z       "requiredStages": [
2026-06-05T23:17:25.7569427Z         "impl",
2026-06-05T23:17:25.7570701Z         "unit"
2026-06-05T23:17:25.7571924Z       ],
2026-06-05T23:17:25.7572765Z       "stages": {
2026-06-05T23:17:25.7573668Z         "doc": {
2026-06-05T23:17:25.7574599Z           "complete": false,
2026-06-05T23:17:25.7575661Z           "evidence": []
2026-06-05T23:17:25.7576641Z         },
2026-06-05T23:17:25.7577478Z         "impl": {
2026-06-05T23:17:25.7578432Z           "complete": true,
2026-06-05T23:17:25.7579531Z           "evidence": [
2026-06-05T23:17:25.7580494Z             {
2026-06-05T23:17:25.7581560Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7582869Z               "line": 31
2026-06-05T23:17:25.7583845Z             },
2026-06-05T23:17:25.7584715Z             {
2026-06-05T23:17:25.7585923Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7587255Z               "line": 49
2026-06-05T23:17:25.7588227Z             }
2026-06-05T23:17:25.7589097Z           ]
2026-06-05T23:17:25.7590025Z         },
2026-06-05T23:17:25.7590881Z         "int": {
2026-06-05T23:17:25.7591862Z           "complete": false,
2026-06-05T23:17:25.7592942Z           "evidence": []
2026-06-05T23:17:25.7593926Z         },
2026-06-05T23:17:25.7594792Z         "unit": {
2026-06-05T23:17:25.7595752Z           "complete": true,
2026-06-05T23:17:25.7596793Z           "evidence": [
2026-06-05T23:17:25.7597759Z             {
2026-06-05T23:17:25.7598830Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7600190Z               "line": 156
2026-06-05T23:17:25.7601184Z             },
2026-06-05T23:17:25.7602079Z             {
2026-06-05T23:17:25.7603167Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7604507Z               "line": 164
2026-06-05T23:17:25.7605514Z             },
2026-06-05T23:17:25.7606401Z             {
2026-06-05T23:17:25.7607472Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7608790Z               "line": 177
2026-06-05T23:17:25.7609814Z             },
2026-06-05T23:17:25.7610691Z             {
2026-06-05T23:17:25.7611764Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7613069Z               "line": 197
2026-06-05T23:17:25.7614053Z             },
2026-06-05T23:17:25.7614916Z             {
2026-06-05T23:17:25.7615970Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7617266Z               "line": 213
2026-06-05T23:17:25.7618243Z             },
2026-06-05T23:17:25.7619116Z             {
2026-06-05T23:17:25.7620238Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T23:17:25.7621553Z               "line": 227
2026-06-05T23:17:25.7622537Z             }
2026-06-05T23:17:25.7623403Z           ]
2026-06-05T23:17:25.7624256Z         }
2026-06-05T23:17:25.7625081Z       }
2026-06-05T23:17:25.7625885Z     },
2026-06-05T23:17:25.7626709Z     {
2026-06-05T23:17:25.7627557Z       "id": "REQ-EP-4",
2026-06-05T23:17:25.7628856Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-05T23:17:25.7634874Z       "requiredStages": [
2026-06-05T23:17:25.7636015Z         "impl",
2026-06-05T23:17:25.7636932Z         "unit"
2026-06-05T23:17:25.7637827Z       ],
2026-06-05T23:17:25.7638690Z       "stages": {
2026-06-05T23:17:25.7639701Z         "doc": {
2026-06-05T23:17:25.7640667Z           "complete": false,
2026-06-05T23:17:25.7641747Z           "evidence": []
2026-06-05T23:17:25.7642758Z         },
2026-06-05T23:17:25.7643622Z         "impl": {
2026-06-05T23:17:25.7644593Z           "complete": true,
2026-06-05T23:17:25.7645654Z           "evidence": [
2026-06-05T23:17:25.7646638Z             {
2026-06-05T23:17:25.7647698Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.7649022Z               "line": 419
2026-06-05T23:17:25.7650063Z             },
2026-06-05T23:17:25.7650942Z             {
2026-06-05T23:17:25.7651987Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.7653303Z               "line": 631
2026-06-05T23:17:25.7654291Z             },
2026-06-05T23:17:25.7655176Z             {
2026-06-05T23:17:25.7656605Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.7657934Z               "line": 705
2026-06-05T23:17:25.7658936Z             },
2026-06-05T23:17:25.7659878Z             {
2026-06-05T23:17:25.7660909Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7662194Z               "line": 83
2026-06-05T23:17:25.7663183Z             },
2026-06-05T23:17:25.7664074Z             {
2026-06-05T23:17:25.7665111Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7666403Z               "line": 407
2026-06-05T23:17:25.7667381Z             },
2026-06-05T23:17:25.7668275Z             {
2026-06-05T23:17:25.7669483Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7670798Z               "line": 478
2026-06-05T23:17:25.7671805Z             },
2026-06-05T23:17:25.7672695Z             {
2026-06-05T23:17:25.7673772Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.7675117Z               "line": 181
2026-06-05T23:17:25.7676099Z             },
2026-06-05T23:17:25.7676980Z             {
2026-06-05T23:17:25.7678064Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.7679447Z               "line": 306
2026-06-05T23:17:25.7680500Z             },
2026-06-05T23:17:25.7681391Z             {
2026-06-05T23:17:25.7682476Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T23:17:25.7683801Z               "line": 613
2026-06-05T23:17:25.7684789Z             }
2026-06-05T23:17:25.7685674Z           ]
2026-06-05T23:17:25.7686527Z         },
2026-06-05T23:17:25.7687376Z         "int": {
2026-06-05T23:17:25.7688350Z           "complete": false,
2026-06-05T23:17:25.7689468Z           "evidence": []
2026-06-05T23:17:25.7690462Z         },
2026-06-05T23:17:25.7691327Z         "unit": {
2026-06-05T23:17:25.7692284Z           "complete": true,
2026-06-05T23:17:25.7693329Z           "evidence": [
2026-06-05T23:17:25.7694297Z             {
2026-06-05T23:17:25.7695349Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T23:17:25.7696634Z               "line": 551
2026-06-05T23:17:25.7697638Z             },
2026-06-05T23:17:25.7698526Z             {
2026-06-05T23:17:25.7699662Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-05T23:17:25.7701018Z               "line": 75
2026-06-05T23:17:25.7702002Z             },
2026-06-05T23:17:25.7702882Z             {
2026-06-05T23:17:25.7703987Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-05T23:17:25.7705348Z               "line": 131
2026-06-05T23:17:25.7706341Z             }
2026-06-05T23:17:25.7707217Z           ]
2026-06-05T23:17:25.7708081Z         }
2026-06-05T23:17:25.7708918Z       }
2026-06-05T23:17:25.7709783Z     },
2026-06-05T23:17:25.7710612Z     {
2026-06-05T23:17:25.7711478Z       "id": "REQ-EP-5",
2026-06-05T23:17:25.7715558Z       "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-05T23:17:25.7720030Z       "requiredStages": [
2026-06-05T23:17:25.7721049Z         "impl",
2026-06-05T23:17:25.7721953Z         "unit",
2026-06-05T23:17:25.7722854Z         "int"
2026-06-05T23:17:25.7723732Z       ],
2026-06-05T23:17:25.7728862Z       "stages": {
2026-06-05T23:17:25.7729988Z         "doc": {
2026-06-05T23:17:25.7730929Z           "complete": false,
2026-06-05T23:17:25.7731993Z           "evidence": []
2026-06-05T23:17:25.7732978Z         },
2026-06-05T23:17:25.7733824Z         "impl": {
2026-06-05T23:17:25.7734799Z           "complete": true,
2026-06-05T23:17:25.7735847Z           "evidence": [
2026-06-05T23:17:25.7736807Z             {
2026-06-05T23:17:25.7737917Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.7739320Z               "line": 220
2026-06-05T23:17:25.7740306Z             },
2026-06-05T23:17:25.7741183Z             {
2026-06-05T23:17:25.7742535Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7743857Z               "line": 18
2026-06-05T23:17:25.7744835Z             },
2026-06-05T23:17:25.7745711Z             {
2026-06-05T23:17:25.7746776Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7748092Z               "line": 63
2026-06-05T23:17:25.7749057Z             },
2026-06-05T23:17:25.7749965Z             {
2026-06-05T23:17:25.7751033Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7752355Z               "line": 88
2026-06-05T23:17:25.7753326Z             },
2026-06-05T23:17:25.7754196Z             {
2026-06-05T23:17:25.7755405Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7756774Z               "line": 163
2026-06-05T23:17:25.7757760Z             },
2026-06-05T23:17:25.7758628Z             {
2026-06-05T23:17:25.7759745Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7761099Z               "line": 175
2026-06-05T23:17:25.7762069Z             },
2026-06-05T23:17:25.7762935Z             {
2026-06-05T23:17:25.7764002Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.7765317Z               "line": 114
2026-06-05T23:17:25.7766285Z             },
2026-06-05T23:17:25.7767153Z             {
2026-06-05T23:17:25.7768235Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7769584Z               "line": 22
2026-06-05T23:17:25.7770558Z             },
2026-06-05T23:17:25.7771422Z             {
2026-06-05T23:17:25.7772479Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7773810Z               "line": 129
2026-06-05T23:17:25.7774789Z             },
2026-06-05T23:17:25.7775653Z             {
2026-06-05T23:17:25.7776726Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7778051Z               "line": 156
2026-06-05T23:17:25.7779023Z             },
2026-06-05T23:17:25.7779947Z             {
2026-06-05T23:17:25.7781092Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7782419Z               "line": 178
2026-06-05T23:17:25.7783441Z             },
2026-06-05T23:17:25.7784329Z             {
2026-06-05T23:17:25.7785406Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7786751Z               "line": 203
2026-06-05T23:17:25.7787726Z             },
2026-06-05T23:17:25.7788100Z             {
2026-06-05T23:17:25.7788683Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7789085Z               "line": 226
2026-06-05T23:17:25.7789664Z             },
2026-06-05T23:17:25.7790084Z             {
2026-06-05T23:17:25.7790684Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7791135Z               "line": 246
2026-06-05T23:17:25.7791699Z             },
2026-06-05T23:17:25.7792077Z             {
2026-06-05T23:17:25.7792637Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.7793061Z               "line": 81
2026-06-05T23:17:25.7793439Z             },
2026-06-05T23:17:25.7793803Z             {
2026-06-05T23:17:25.7794290Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7794684Z               "line": 1773
2026-06-05T23:17:25.7795063Z             },
2026-06-05T23:17:25.7795431Z             {
2026-06-05T23:17:25.7795919Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7796324Z               "line": 1890
2026-06-05T23:17:25.7796689Z             },
2026-06-05T23:17:25.7797065Z             {
2026-06-05T23:17:25.7797543Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7797962Z               "line": 2040
2026-06-05T23:17:25.7798331Z             },
2026-06-05T23:17:25.7798699Z             {
2026-06-05T23:17:25.7799235Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7799644Z               "line": 2387
2026-06-05T23:17:25.7800014Z             }
2026-06-05T23:17:25.7800377Z           ]
2026-06-05T23:17:25.7800984Z         },
2026-06-05T23:17:25.7801364Z         "int": {
2026-06-05T23:17:25.7801785Z           "complete": true,
2026-06-05T23:17:25.7802186Z           "evidence": [
2026-06-05T23:17:25.7802548Z             {
2026-06-05T23:17:25.7803164Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-05T23:17:25.7803550Z               "line": 16
2026-06-05T23:17:25.7803921Z             },
2026-06-05T23:17:25.7804288Z             {
2026-06-05T23:17:25.7804822Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-05T23:17:25.7805222Z               "line": 15
2026-06-05T23:17:25.7805587Z             }
2026-06-05T23:17:25.7805962Z           ]
2026-06-05T23:17:25.7806455Z         },
2026-06-05T23:17:25.7806862Z         "unit": {
2026-06-05T23:17:25.7807278Z           "complete": true,
2026-06-05T23:17:25.7807683Z           "evidence": [
2026-06-05T23:17:25.7808056Z             {
2026-06-05T23:17:25.7808634Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7809057Z               "line": 237
2026-06-05T23:17:25.7809468Z             },
2026-06-05T23:17:25.7809842Z             {
2026-06-05T23:17:25.7810419Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7815310Z               "line": 294
2026-06-05T23:17:25.7815791Z             },
2026-06-05T23:17:25.7816165Z             {
2026-06-05T23:17:25.7816775Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T23:17:25.7817176Z               "line": 342
2026-06-05T23:17:25.7817548Z             },
2026-06-05T23:17:25.7817912Z             {
2026-06-05T23:17:25.7819995Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7820651Z               "line": 262
2026-06-05T23:17:25.7821025Z             },
2026-06-05T23:17:25.7821400Z             {
2026-06-05T23:17:25.7821978Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:25.7822391Z               "line": 285
2026-06-05T23:17:25.7822771Z             },
2026-06-05T23:17:25.7823154Z             {
2026-06-05T23:17:25.7823728Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.7824124Z               "line": 474
2026-06-05T23:17:25.7824495Z             },
2026-06-05T23:17:25.7824858Z             {
2026-06-05T23:17:25.7825346Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7825749Z               "line": 2814
2026-06-05T23:17:25.7826116Z             },
2026-06-05T23:17:25.7826489Z             {
2026-06-05T23:17:25.7826972Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7827383Z               "line": 2872
2026-06-05T23:17:25.7827749Z             },
2026-06-05T23:17:25.7828133Z             {
2026-06-05T23:17:25.7828620Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7829023Z               "line": 3365
2026-06-05T23:17:25.7829451Z             },
2026-06-05T23:17:25.7829816Z             {
2026-06-05T23:17:25.7830301Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.7830713Z               "line": 3420
2026-06-05T23:17:25.7831085Z             }
2026-06-05T23:17:25.7831461Z           ]
2026-06-05T23:17:25.7831826Z         }
2026-06-05T23:17:25.7832198Z       }
2026-06-05T23:17:25.7832556Z     },
2026-06-05T23:17:25.7832918Z     {
2026-06-05T23:17:25.7833326Z       "id": "REQ-FRONT-1",
2026-06-05T23:17:25.7834185Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-05T23:17:25.7834626Z       "requiredStages": [],
2026-06-05T23:17:25.7835008Z       "stages": {
2026-06-05T23:17:25.7835398Z         "doc": {
2026-06-05T23:17:25.7835815Z           "complete": false,
2026-06-05T23:17:25.7836224Z           "evidence": []
2026-06-05T23:17:25.7836600Z         },
2026-06-05T23:17:25.7836986Z         "impl": {
2026-06-05T23:17:25.7837410Z           "complete": false,
2026-06-05T23:17:25.7837805Z           "evidence": []
2026-06-05T23:17:25.7838173Z         },
2026-06-05T23:17:25.7838551Z         "int": {
2026-06-05T23:17:25.7838984Z           "complete": false,
2026-06-05T23:17:25.7839749Z           "evidence": []
2026-06-05T23:17:25.7840133Z         },
2026-06-05T23:17:25.7840526Z         "unit": {
2026-06-05T23:17:25.7840944Z           "complete": false,
2026-06-05T23:17:25.7841363Z           "evidence": []
2026-06-05T23:17:25.7841739Z         }
2026-06-05T23:17:25.7842123Z       }
2026-06-05T23:17:25.7842493Z     },
2026-06-05T23:17:25.7842864Z     {
2026-06-05T23:17:25.7843413Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-05T23:17:25.7844243Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-05T23:17:25.7844683Z       "requiredStages": [
2026-06-05T23:17:25.7845073Z         "impl",
2026-06-05T23:17:25.7845598Z         "unit"
2026-06-05T23:17:25.7845989Z       ],
2026-06-05T23:17:25.7846387Z       "stages": {
2026-06-05T23:17:25.7846781Z         "doc": {
2026-06-05T23:17:25.7847204Z           "complete": false,
2026-06-05T23:17:25.7847617Z           "evidence": []
2026-06-05T23:17:25.7847997Z         },
2026-06-05T23:17:25.7848410Z         "impl": {
2026-06-05T23:17:25.7848830Z           "complete": true,
2026-06-05T23:17:25.7849302Z           "evidence": [
2026-06-05T23:17:25.7849687Z             {
2026-06-05T23:17:25.7850259Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.7850674Z               "line": 146
2026-06-05T23:17:25.7851048Z             },
2026-06-05T23:17:25.7851426Z             {
2026-06-05T23:17:25.7851961Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.7852376Z               "line": 18
2026-06-05T23:17:25.7852759Z             },
2026-06-05T23:17:25.7853128Z             {
2026-06-05T23:17:25.7853680Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.7854088Z               "line": 98
2026-06-05T23:17:25.7854471Z             }
2026-06-05T23:17:25.7854846Z           ]
2026-06-05T23:17:25.7855232Z         },
2026-06-05T23:17:25.7855629Z         "int": {
2026-06-05T23:17:25.7856055Z           "complete": false,
2026-06-05T23:17:25.7856482Z           "evidence": []
2026-06-05T23:17:25.7856859Z         },
2026-06-05T23:17:25.7857252Z         "unit": {
2026-06-05T23:17:25.7857673Z           "complete": true,
2026-06-05T23:17:25.7858082Z           "evidence": [
2026-06-05T23:17:25.7859420Z             {
2026-06-05T23:17:25.7860046Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.7860457Z               "line": 530
2026-06-05T23:17:25.7860830Z             },
2026-06-05T23:17:25.7861211Z             {
2026-06-05T23:17:25.7861749Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.7862167Z               "line": 156
2026-06-05T23:17:25.7862552Z             },
2026-06-05T23:17:25.7862940Z             {
2026-06-05T23:17:25.7863490Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.7863895Z               "line": 218
2026-06-05T23:17:25.7864276Z             }
2026-06-05T23:17:25.7864647Z           ]
2026-06-05T23:17:25.7865035Z         }
2026-06-05T23:17:25.7865430Z       }
2026-06-05T23:17:25.7865792Z     },
2026-06-05T23:17:25.7866166Z     {
2026-06-05T23:17:25.7866732Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-05T23:17:25.7869763Z       "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-05T23:17:25.7870218Z       "requiredStages": [
2026-06-05T23:17:25.7870610Z         "impl",
2026-06-05T23:17:25.7870994Z         "unit"
2026-06-05T23:17:25.7871366Z       ],
2026-06-05T23:17:25.7871766Z       "stages": {
2026-06-05T23:17:25.7872147Z         "doc": {
2026-06-05T23:17:25.7872591Z           "complete": false,
2026-06-05T23:17:25.7873000Z           "evidence": []
2026-06-05T23:17:25.7873378Z         },
2026-06-05T23:17:25.7873774Z         "impl": {
2026-06-05T23:17:25.7874191Z           "complete": true,
2026-06-05T23:17:25.7874599Z           "evidence": [
2026-06-05T23:17:25.7875216Z             {
2026-06-05T23:17:25.7875817Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T23:17:25.7876232Z               "line": 22
2026-06-05T23:17:25.7876607Z             },
2026-06-05T23:17:25.7876989Z             {
2026-06-05T23:17:25.7877527Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.7877928Z               "line": 417
2026-06-05T23:17:25.7878292Z             },
2026-06-05T23:17:25.7878659Z             {
2026-06-05T23:17:25.7879275Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T23:17:25.7879673Z               "line": 17
2026-06-05T23:17:25.7880048Z             },
2026-06-05T23:17:25.7880425Z             {
2026-06-05T23:17:25.7881127Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T23:17:25.7881545Z               "line": 125
2026-06-05T23:17:25.7881932Z             },
2026-06-05T23:17:25.7882322Z             {
2026-06-05T23:17:25.7882930Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.7883357Z               "line": 178
2026-06-05T23:17:25.7883735Z             },
2026-06-05T23:17:25.7884124Z             {
2026-06-05T23:17:25.7884733Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.7885144Z               "line": 206
2026-06-05T23:17:25.7885537Z             },
2026-06-05T23:17:25.7885913Z             {
2026-06-05T23:17:25.7886530Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.7886938Z               "line": 232
2026-06-05T23:17:25.7887322Z             },
2026-06-05T23:17:25.7887696Z             {
2026-06-05T23:17:25.7888289Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:25.7888711Z               "line": 122
2026-06-05T23:17:25.7889085Z             },
2026-06-05T23:17:25.7889516Z             {
2026-06-05T23:17:25.7890095Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:25.7894797Z               "line": 222
2026-06-05T23:17:25.7895280Z             }
2026-06-05T23:17:25.7895700Z           ]
2026-06-05T23:17:25.7896075Z         },
2026-06-05T23:17:25.7896456Z         "int": {
2026-06-05T23:17:25.7896882Z           "complete": false,
2026-06-05T23:17:25.7897280Z           "evidence": []
2026-06-05T23:17:25.7897649Z         },
2026-06-05T23:17:25.7898020Z         "unit": {
2026-06-05T23:17:25.7898435Z           "complete": true,
2026-06-05T23:17:25.7898832Z           "evidence": [
2026-06-05T23:17:25.7899289Z             {
2026-06-05T23:17:25.7899893Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T23:17:25.7900284Z               "line": 53
2026-06-05T23:17:25.7900662Z             },
2026-06-05T23:17:25.7901043Z             {
2026-06-05T23:17:25.7901670Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T23:17:25.7902075Z               "line": 60
2026-06-05T23:17:25.7902440Z             },
2026-06-05T23:17:25.7902810Z             {
2026-06-05T23:17:25.7903380Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T23:17:25.7903799Z               "line": 72
2026-06-05T23:17:25.7904169Z             },
2026-06-05T23:17:25.7904547Z             {
2026-06-05T23:17:25.7905113Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T23:17:25.7905510Z               "line": 298
2026-06-05T23:17:25.7905881Z             },
2026-06-05T23:17:25.7906240Z             {
2026-06-05T23:17:25.7906807Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T23:17:25.7907209Z               "line": 247
2026-06-05T23:17:25.7907588Z             },
2026-06-05T23:17:25.7907963Z             {
2026-06-05T23:17:25.7908531Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T23:17:25.7908946Z               "line": 282
2026-06-05T23:17:25.7909353Z             },
2026-06-05T23:17:25.7909736Z             {
2026-06-05T23:17:25.7910330Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T23:17:25.7910728Z               "line": 313
2026-06-05T23:17:25.7911098Z             },
2026-06-05T23:17:25.7911727Z             {
2026-06-05T23:17:25.7912340Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.7912739Z               "line": 613
2026-06-05T23:17:25.7913119Z             },
2026-06-05T23:17:25.7913498Z             {
2026-06-05T23:17:25.7914064Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:25.7914469Z               "line": 383
2026-06-05T23:17:25.7914871Z             },
2026-06-05T23:17:25.7915266Z             {
2026-06-05T23:17:25.7915839Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:25.7916251Z               "line": 420
2026-06-05T23:17:25.7916625Z             }
2026-06-05T23:17:25.7917124Z           ]
2026-06-05T23:17:25.7917515Z         }
2026-06-05T23:17:25.7917872Z       }
2026-06-05T23:17:25.7918235Z     },
2026-06-05T23:17:25.7918588Z     {
2026-06-05T23:17:25.7919073Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-05T23:17:25.7920232Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-05T23:17:25.7920676Z       "requiredStages": [
2026-06-05T23:17:25.7921068Z         "impl",
2026-06-05T23:17:25.7921437Z         "unit"
2026-06-05T23:17:25.7921800Z       ],
2026-06-05T23:17:25.7922175Z       "stages": {
2026-06-05T23:17:25.7922552Z         "doc": {
2026-06-05T23:17:25.7922971Z           "complete": false,
2026-06-05T23:17:25.7923369Z           "evidence": []
2026-06-05T23:17:25.7923736Z         },
2026-06-05T23:17:25.7924112Z         "impl": {
2026-06-05T23:17:25.7924531Z           "complete": true,
2026-06-05T23:17:25.7924924Z           "evidence": [
2026-06-05T23:17:25.7925301Z             {
2026-06-05T23:17:25.7925853Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T23:17:25.7926261Z               "line": 164
2026-06-05T23:17:25.7926636Z             }
2026-06-05T23:17:25.7927004Z           ]
2026-06-05T23:17:25.7927375Z         },
2026-06-05T23:17:25.7927749Z         "int": {
2026-06-05T23:17:25.7928159Z           "complete": true,
2026-06-05T23:17:25.7928568Z           "evidence": [
2026-06-05T23:17:25.7928935Z             {
2026-06-05T23:17:25.7929517Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-05T23:17:25.7929912Z               "line": 44
2026-06-05T23:17:25.7930284Z             },
2026-06-05T23:17:25.7930653Z             {
2026-06-05T23:17:25.7931186Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-05T23:17:25.7931582Z               "line": 66
2026-06-05T23:17:25.7931949Z             }
2026-06-05T23:17:25.7932316Z           ]
2026-06-05T23:17:25.7932680Z         },
2026-06-05T23:17:25.7933060Z         "unit": {
2026-06-05T23:17:25.7933468Z           "complete": true,
2026-06-05T23:17:25.7933874Z           "evidence": [
2026-06-05T23:17:25.7934242Z             {
2026-06-05T23:17:25.7934772Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T23:17:25.7935172Z               "line": 181
2026-06-05T23:17:25.7935534Z             },
2026-06-05T23:17:25.7935906Z             {
2026-06-05T23:17:25.7936452Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T23:17:25.7936850Z               "line": 233
2026-06-05T23:17:25.7937219Z             },
2026-06-05T23:17:25.7937576Z             {
2026-06-05T23:17:25.7938111Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T23:17:25.7938506Z               "line": 261
2026-06-05T23:17:25.7938883Z             }
2026-06-05T23:17:25.7939282Z           ]
2026-06-05T23:17:25.7939650Z         }
2026-06-05T23:17:25.7940018Z       }
2026-06-05T23:17:25.7940375Z     },
2026-06-05T23:17:25.7940737Z     {
2026-06-05T23:17:25.7941279Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-05T23:17:25.7943451Z       "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-05T23:17:25.7943874Z       "requiredStages": [
2026-06-05T23:17:25.7944254Z         "impl",
2026-06-05T23:17:25.7944628Z         "unit",
2026-06-05T23:17:25.7945163Z         "int"
2026-06-05T23:17:25.7945531Z       ],
2026-06-05T23:17:25.7945909Z       "stages": {
2026-06-05T23:17:25.7946283Z         "doc": {
2026-06-05T23:17:25.7946696Z           "complete": false,
2026-06-05T23:17:25.7947100Z           "evidence": []
2026-06-05T23:17:25.7947468Z         },
2026-06-05T23:17:25.7947845Z         "impl": {
2026-06-05T23:17:25.7948262Z           "complete": true,
2026-06-05T23:17:25.7948652Z           "evidence": [
2026-06-05T23:17:25.7949017Z             {
2026-06-05T23:17:25.7949632Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7950043Z               "line": 150
2026-06-05T23:17:25.7950417Z             },
2026-06-05T23:17:25.7950910Z             {
2026-06-05T23:17:25.7951509Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7951904Z               "line": 169
2026-06-05T23:17:25.7952284Z             },
2026-06-05T23:17:25.7952648Z             {
2026-06-05T23:17:25.7953189Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:25.7953597Z               "line": 79
2026-06-05T23:17:25.7953965Z             },
2026-06-05T23:17:25.7954332Z             {
2026-06-05T23:17:25.7954834Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:25.7955232Z               "line": 51
2026-06-05T23:17:25.7955602Z             },
2026-06-05T23:17:25.7955963Z             {
2026-06-05T23:17:25.7956483Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.7956878Z               "line": 154
2026-06-05T23:17:25.7957250Z             },
2026-06-05T23:17:25.7957623Z             {
2026-06-05T23:17:25.7958202Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7958594Z               "line": 27
2026-06-05T23:17:25.7958960Z             },
2026-06-05T23:17:25.7959375Z             {
2026-06-05T23:17:25.7959933Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7960333Z               "line": 79
2026-06-05T23:17:25.7960702Z             },
2026-06-05T23:17:25.7961086Z             {
2026-06-05T23:17:25.7961647Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7962042Z               "line": 102
2026-06-05T23:17:25.7962415Z             },
2026-06-05T23:17:25.7962778Z             {
2026-06-05T23:17:25.7963349Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.7963742Z               "line": 108
2026-06-05T23:17:25.7964113Z             }
2026-06-05T23:17:25.7964486Z           ]
2026-06-05T23:17:25.7964848Z         },
2026-06-05T23:17:25.7970062Z         "int": {
2026-06-05T23:17:25.7970652Z           "complete": true,
2026-06-05T23:17:25.7971111Z           "evidence": [
2026-06-05T23:17:25.7971480Z             {
2026-06-05T23:17:25.7972105Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T23:17:25.7972503Z               "line": 35
2026-06-05T23:17:25.7972866Z             }
2026-06-05T23:17:25.7973234Z           ]
2026-06-05T23:17:25.7973591Z         },
2026-06-05T23:17:25.7973988Z         "unit": {
2026-06-05T23:17:25.7974396Z           "complete": true,
2026-06-05T23:17:25.7974798Z           "evidence": [
2026-06-05T23:17:25.7975170Z             {
2026-06-05T23:17:25.7975743Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.7976148Z               "line": 552
2026-06-05T23:17:25.7976510Z             },
2026-06-05T23:17:25.7976880Z             {
2026-06-05T23:17:25.7977400Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.7977800Z               "line": 330
2026-06-05T23:17:25.7978170Z             },
2026-06-05T23:17:25.7978532Z             {
2026-06-05T23:17:25.7979115Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7979767Z               "line": 124
2026-06-05T23:17:25.7980315Z             },
2026-06-05T23:17:25.7980679Z             {
2026-06-05T23:17:25.7981248Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7981645Z               "line": 136
2026-06-05T23:17:25.7982309Z             },
2026-06-05T23:17:25.7982682Z             {
2026-06-05T23:17:25.7983240Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7983648Z               "line": 146
2026-06-05T23:17:25.7984012Z             },
2026-06-05T23:17:25.7984379Z             {
2026-06-05T23:17:25.7984945Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7985339Z               "line": 159
2026-06-05T23:17:25.7985713Z             },
2026-06-05T23:17:25.7986070Z             {
2026-06-05T23:17:25.7986639Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T23:17:25.7987037Z               "line": 171
2026-06-05T23:17:25.7987594Z             },
2026-06-05T23:17:25.7987981Z             {
2026-06-05T23:17:25.7988546Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.7988955Z               "line": 207
2026-06-05T23:17:25.7989565Z             }
2026-06-05T23:17:25.7990109Z           ]
2026-06-05T23:17:25.7990499Z         }
2026-06-05T23:17:25.7990865Z       }
2026-06-05T23:17:25.7991237Z     },
2026-06-05T23:17:25.7991602Z     {
2026-06-05T23:17:25.7992171Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-05T23:17:25.7995549Z       "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-05T23:17:25.7995984Z       "requiredStages": [
2026-06-05T23:17:25.7996367Z         "impl",
2026-06-05T23:17:25.7996737Z         "unit"
2026-06-05T23:17:25.7997109Z       ],
2026-06-05T23:17:25.7997500Z       "stages": {
2026-06-05T23:17:25.7997883Z         "doc": {
2026-06-05T23:17:25.7998304Z           "complete": false,
2026-06-05T23:17:25.7998709Z           "evidence": []
2026-06-05T23:17:25.7999089Z         },
2026-06-05T23:17:25.7999697Z         "impl": {
2026-06-05T23:17:25.8000291Z           "complete": true,
2026-06-05T23:17:25.8000695Z           "evidence": [
2026-06-05T23:17:25.8001073Z             {
2026-06-05T23:17:25.8001653Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.8002068Z               "line": 222
2026-06-05T23:17:25.8002448Z             },
2026-06-05T23:17:25.8002812Z             {
2026-06-05T23:17:25.8003377Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.8003776Z               "line": 382
2026-06-05T23:17:25.8004155Z             }
2026-06-05T23:17:25.8004523Z           ]
2026-06-05T23:17:25.8004899Z         },
2026-06-05T23:17:25.8005279Z         "int": {
2026-06-05T23:17:25.8005695Z           "complete": false,
2026-06-05T23:17:25.8006122Z           "evidence": []
2026-06-05T23:17:25.8006494Z         },
2026-06-05T23:17:25.8006876Z         "unit": {
2026-06-05T23:17:25.8007286Z           "complete": true,
2026-06-05T23:17:25.8007685Z           "evidence": [
2026-06-05T23:17:25.8008059Z             {
2026-06-05T23:17:25.8008661Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-05T23:17:25.8009077Z               "line": 149
2026-06-05T23:17:25.8009684Z             }
2026-06-05T23:17:25.8010231Z           ]
2026-06-05T23:17:25.8010595Z         }
2026-06-05T23:17:25.8010966Z       }
2026-06-05T23:17:25.8011333Z     },
2026-06-05T23:17:25.8011691Z     {
2026-06-05T23:17:25.8012182Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-05T23:17:25.8013068Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-05T23:17:25.8013500Z       "requiredStages": [
2026-06-05T23:17:25.8013878Z         "impl",
2026-06-05T23:17:25.8014263Z         "unit"
2026-06-05T23:17:25.8014635Z       ],
2026-06-05T23:17:25.8015026Z       "stages": {
2026-06-05T23:17:25.8015406Z         "doc": {
2026-06-05T23:17:25.8015829Z           "complete": false,
2026-06-05T23:17:25.8016240Z           "evidence": []
2026-06-05T23:17:25.8016601Z         },
2026-06-05T23:17:25.8016988Z         "impl": {
2026-06-05T23:17:25.8017407Z           "complete": true,
2026-06-05T23:17:25.8018002Z           "evidence": [
2026-06-05T23:17:25.8018383Z             {
2026-06-05T23:17:25.8018920Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8019377Z               "line": 40
2026-06-05T23:17:25.8019750Z             },
2026-06-05T23:17:25.8020128Z             {
2026-06-05T23:17:25.8020674Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8021067Z               "line": 98
2026-06-05T23:17:25.8021460Z             },
2026-06-05T23:17:25.8021825Z             {
2026-06-05T23:17:25.8022364Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8022893Z               "line": 209
2026-06-05T23:17:25.8023280Z             },
2026-06-05T23:17:25.8023654Z             {
2026-06-05T23:17:25.8024190Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8024594Z               "line": 291
2026-06-05T23:17:25.8024962Z             }
2026-06-05T23:17:25.8025331Z           ]
2026-06-05T23:17:25.8025713Z         },
2026-06-05T23:17:25.8026091Z         "int": {
2026-06-05T23:17:25.8026518Z           "complete": false,
2026-06-05T23:17:25.8026917Z           "evidence": []
2026-06-05T23:17:25.8027287Z         },
2026-06-05T23:17:25.8027662Z         "unit": {
2026-06-05T23:17:25.8028077Z           "complete": true,
2026-06-05T23:17:25.8028469Z           "evidence": [
2026-06-05T23:17:25.8028844Z             {
2026-06-05T23:17:25.8029420Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8029821Z               "line": 326
2026-06-05T23:17:25.8030193Z             },
2026-06-05T23:17:25.8030558Z             {
2026-06-05T23:17:25.8031108Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8031504Z               "line": 372
2026-06-05T23:17:25.8031883Z             },
2026-06-05T23:17:25.8032256Z             {
2026-06-05T23:17:25.8032796Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8033201Z               "line": 413
2026-06-05T23:17:25.8033585Z             },
2026-06-05T23:17:25.8033959Z             {
2026-06-05T23:17:25.8034502Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8034902Z               "line": 432
2026-06-05T23:17:25.8035274Z             }
2026-06-05T23:17:25.8035643Z           ]
2026-06-05T23:17:25.8036016Z         }
2026-06-05T23:17:25.8036379Z       }
2026-06-05T23:17:25.8036750Z     },
2026-06-05T23:17:25.8037110Z     {
2026-06-05T23:17:25.8037669Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-05T23:17:25.8038271Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-05T23:17:25.8038695Z       "requiredStages": [
2026-06-05T23:17:25.8039090Z         "impl",
2026-06-05T23:17:25.8039499Z         "unit"
2026-06-05T23:17:25.8039876Z       ],
2026-06-05T23:17:25.8040265Z       "stages": {
2026-06-05T23:17:25.8040646Z         "doc": {
2026-06-05T23:17:25.8041074Z           "complete": false,
2026-06-05T23:17:25.8041477Z           "evidence": []
2026-06-05T23:17:25.8041865Z         },
2026-06-05T23:17:25.8042244Z         "impl": {
2026-06-05T23:17:25.8042668Z           "complete": true,
2026-06-05T23:17:25.8043070Z           "evidence": [
2026-06-05T23:17:25.8047752Z             {
2026-06-05T23:17:25.8048356Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8048758Z               "line": 111
2026-06-05T23:17:25.8049140Z             },
2026-06-05T23:17:25.8049601Z             {
2026-06-05T23:17:25.8050151Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8050547Z               "line": 202
2026-06-05T23:17:25.8050926Z             }
2026-06-05T23:17:25.8051297Z           ]
2026-06-05T23:17:25.8051695Z         },
2026-06-05T23:17:25.8052085Z         "int": {
2026-06-05T23:17:25.8052507Z           "complete": false,
2026-06-05T23:17:25.8052915Z           "evidence": []
2026-06-05T23:17:25.8053281Z         },
2026-06-05T23:17:25.8053659Z         "unit": {
2026-06-05T23:17:25.8054077Z           "complete": true,
2026-06-05T23:17:25.8054722Z           "evidence": [
2026-06-05T23:17:25.8055095Z             {
2026-06-05T23:17:25.8055637Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8056038Z               "line": 347
2026-06-05T23:17:25.8056405Z             },
2026-06-05T23:17:25.8056779Z             {
2026-06-05T23:17:25.8057317Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8057714Z               "line": 391
2026-06-05T23:17:25.8058090Z             }
2026-06-05T23:17:25.8058449Z           ]
2026-06-05T23:17:25.8058826Z         }
2026-06-05T23:17:25.8059233Z       }
2026-06-05T23:17:25.8059621Z     },
2026-06-05T23:17:25.8059993Z     {
2026-06-05T23:17:25.8060672Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-05T23:17:25.8066145Z       "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-05T23:17:25.8066603Z       "requiredStages": [
2026-06-05T23:17:25.8066979Z         "impl",
2026-06-05T23:17:25.8067353Z         "unit"
2026-06-05T23:17:25.8067723Z       ],
2026-06-05T23:17:25.8068108Z       "stages": {
2026-06-05T23:17:25.8068476Z         "doc": {
2026-06-05T23:17:25.8068890Z           "complete": true,
2026-06-05T23:17:25.8069336Z           "evidence": [
2026-06-05T23:17:25.8069709Z             {
2026-06-05T23:17:25.8070212Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T23:17:25.8070613Z               "line": 188
2026-06-05T23:17:25.8071017Z             }
2026-06-05T23:17:25.8071391Z           ]
2026-06-05T23:17:25.8071764Z         },
2026-06-05T23:17:25.8072138Z         "impl": {
2026-06-05T23:17:25.8072561Z           "complete": true,
2026-06-05T23:17:25.8072969Z           "evidence": [
2026-06-05T23:17:25.8073335Z             {
2026-06-05T23:17:25.8073935Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.8074330Z               "line": 250
2026-06-05T23:17:25.8074703Z             },
2026-06-05T23:17:25.8075065Z             {
2026-06-05T23:17:25.8075622Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.8076028Z               "line": 340
2026-06-05T23:17:25.8076406Z             },
2026-06-05T23:17:25.8076778Z             {
2026-06-05T23:17:25.8077354Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:25.8077762Z               "line": 178
2026-06-05T23:17:25.8078133Z             }
2026-06-05T23:17:25.8078495Z           ]
2026-06-05T23:17:25.8078878Z         },
2026-06-05T23:17:25.8079284Z         "int": {
2026-06-05T23:17:25.8079708Z           "complete": false,
2026-06-05T23:17:25.8080108Z           "evidence": []
2026-06-05T23:17:25.8080479Z         },
2026-06-05T23:17:25.8080853Z         "unit": {
2026-06-05T23:17:25.8081273Z           "complete": true,
2026-06-05T23:17:25.8081690Z           "evidence": [
2026-06-05T23:17:25.8082053Z             {
2026-06-05T23:17:25.8082625Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.8083015Z               "line": 378
2026-06-05T23:17:25.8083386Z             },
2026-06-05T23:17:25.8083759Z             {
2026-06-05T23:17:25.8084348Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-05T23:17:25.8084744Z               "line": 44
2026-06-05T23:17:25.8085108Z             },
2026-06-05T23:17:25.8085478Z             {
2026-06-05T23:17:25.8086005Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-05T23:17:25.8086400Z               "line": 54
2026-06-05T23:17:25.8086784Z             },
2026-06-05T23:17:25.8087154Z             {
2026-06-05T23:17:25.8087780Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-05T23:17:25.8088175Z               "line": 51
2026-06-05T23:17:25.8088542Z             }
2026-06-05T23:17:25.8088904Z           ]
2026-06-05T23:17:25.8089487Z         }
2026-06-05T23:17:25.8089861Z       }
2026-06-05T23:17:25.8090228Z     },
2026-06-05T23:17:25.8090590Z     {
2026-06-05T23:17:25.8091149Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-05T23:17:25.8092206Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-05T23:17:25.8092631Z       "requiredStages": [
2026-06-05T23:17:25.8093019Z         "impl",
2026-06-05T23:17:25.8093395Z         "unit"
2026-06-05T23:17:25.8093759Z       ],
2026-06-05T23:17:25.8094144Z       "stages": {
2026-06-05T23:17:25.8094511Z         "doc": {
2026-06-05T23:17:25.8094932Z           "complete": false,
2026-06-05T23:17:25.8095464Z           "evidence": []
2026-06-05T23:17:25.8095852Z         },
2026-06-05T23:17:25.8096240Z         "impl": {
2026-06-05T23:17:25.8096648Z           "complete": true,
2026-06-05T23:17:25.8097047Z           "evidence": [
2026-06-05T23:17:25.8097411Z             {
2026-06-05T23:17:25.8097967Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8098374Z               "line": 26
2026-06-05T23:17:25.8098747Z             },
2026-06-05T23:17:25.8099126Z             {
2026-06-05T23:17:25.8099710Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8101269Z               "line": 126
2026-06-05T23:17:25.8101680Z             },
2026-06-05T23:17:25.8102057Z             {
2026-06-05T23:17:25.8102654Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T23:17:25.8103053Z               "line": 26
2026-06-05T23:17:25.8103425Z             },
2026-06-05T23:17:25.8103789Z             {
2026-06-05T23:17:25.8104410Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T23:17:25.8104808Z               "line": 233
2026-06-05T23:17:25.8105181Z             }
2026-06-05T23:17:25.8105544Z           ]
2026-06-05T23:17:25.8105917Z         },
2026-06-05T23:17:25.8106293Z         "int": {
2026-06-05T23:17:25.8106709Z           "complete": false,
2026-06-05T23:17:25.8107128Z           "evidence": []
2026-06-05T23:17:25.8107485Z         },
2026-06-05T23:17:25.8107864Z         "unit": {
2026-06-05T23:17:25.8108271Z           "complete": true,
2026-06-05T23:17:25.8108664Z           "evidence": [
2026-06-05T23:17:25.8109038Z             {
2026-06-05T23:17:25.8109688Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8110117Z               "line": 152
2026-06-05T23:17:25.8110484Z             },
2026-06-05T23:17:25.8110858Z             {
2026-06-05T23:17:25.8111396Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8111796Z               "line": 161
2026-06-05T23:17:25.8112168Z             },
2026-06-05T23:17:25.8112546Z             {
2026-06-05T23:17:25.8113101Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8113504Z               "line": 170
2026-06-05T23:17:25.8113871Z             },
2026-06-05T23:17:25.8114232Z             {
2026-06-05T23:17:25.8114786Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8115204Z               "line": 179
2026-06-05T23:17:25.8115563Z             },
2026-06-05T23:17:25.8115935Z             {
2026-06-05T23:17:25.8116473Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8116877Z               "line": 188
2026-06-05T23:17:25.8117245Z             },
2026-06-05T23:17:25.8117621Z             {
2026-06-05T23:17:25.8118170Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8118567Z               "line": 205
2026-06-05T23:17:25.8118943Z             },
2026-06-05T23:17:25.8119363Z             {
2026-06-05T23:17:25.8119922Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T23:17:25.8120328Z               "line": 231
2026-06-05T23:17:25.8120702Z             },
2026-06-05T23:17:25.8121076Z             {
2026-06-05T23:17:25.8121601Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.8122005Z               "line": 245
2026-06-05T23:17:25.8122371Z             },
2026-06-05T23:17:25.8127109Z             {
2026-06-05T23:17:25.8127738Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.8128144Z               "line": 212
2026-06-05T23:17:25.8128519Z             },
2026-06-05T23:17:25.8128890Z             {
2026-06-05T23:17:25.8129604Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T23:17:25.8130013Z               "line": 256
2026-06-05T23:17:25.8130397Z             },
2026-06-05T23:17:25.8130772Z             {
2026-06-05T23:17:25.8131365Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T23:17:25.8131775Z               "line": 281
2026-06-05T23:17:25.8132143Z             },
2026-06-05T23:17:25.8132803Z             {
2026-06-05T23:17:25.8133420Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T23:17:25.8133835Z               "line": 293
2026-06-05T23:17:25.8134214Z             },
2026-06-05T23:17:25.8134584Z             {
2026-06-05T23:17:25.8135188Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T23:17:25.8135601Z               "line": 303
2026-06-05T23:17:25.8135975Z             },
2026-06-05T23:17:25.8136344Z             {
2026-06-05T23:17:25.8136923Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:25.8137329Z               "line": 502
2026-06-05T23:17:25.8137694Z             }
2026-06-05T23:17:25.8138066Z           ]
2026-06-05T23:17:25.8138427Z         }
2026-06-05T23:17:25.8138796Z       }
2026-06-05T23:17:25.8139153Z     },
2026-06-05T23:17:25.8139581Z     {
2026-06-05T23:17:25.8140146Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-05T23:17:25.8140853Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-05T23:17:25.8141284Z       "requiredStages": [
2026-06-05T23:17:25.8141653Z         "impl",
2026-06-05T23:17:25.8142033Z         "unit"
2026-06-05T23:17:25.8142396Z       ],
2026-06-05T23:17:25.8142790Z       "stages": {
2026-06-05T23:17:25.8143172Z         "doc": {
2026-06-05T23:17:25.8143589Z           "complete": false,
2026-06-05T23:17:25.8144013Z           "evidence": []
2026-06-05T23:17:25.8144381Z         },
2026-06-05T23:17:25.8144766Z         "impl": {
2026-06-05T23:17:25.8145173Z           "complete": true,
2026-06-05T23:17:25.8145578Z           "evidence": [
2026-06-05T23:17:25.8145955Z             {
2026-06-05T23:17:25.8146477Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:25.8146878Z               "line": 25
2026-06-05T23:17:25.8147239Z             },
2026-06-05T23:17:25.8147609Z             {
2026-06-05T23:17:25.8148140Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.8148539Z               "line": 26
2026-06-05T23:17:25.8148924Z             },
2026-06-05T23:17:25.8150654Z             {
2026-06-05T23:17:25.8151241Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.8151639Z               "line": 153
2026-06-05T23:17:25.8152011Z             }
2026-06-05T23:17:25.8152379Z           ]
2026-06-05T23:17:25.8152754Z         },
2026-06-05T23:17:25.8153153Z         "int": {
2026-06-05T23:17:25.8153572Z           "complete": false,
2026-06-05T23:17:25.8153977Z           "evidence": []
2026-06-05T23:17:25.8154345Z         },
2026-06-05T23:17:25.8154722Z         "unit": {
2026-06-05T23:17:25.8155129Z           "complete": true,
2026-06-05T23:17:25.8155533Z           "evidence": [
2026-06-05T23:17:25.8155913Z             {
2026-06-05T23:17:25.8156427Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:25.8156831Z               "line": 180
2026-06-05T23:17:25.8157196Z             },
2026-06-05T23:17:25.8157567Z             {
2026-06-05T23:17:25.8158079Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:25.8158500Z               "line": 205
2026-06-05T23:17:25.8158887Z             },
2026-06-05T23:17:25.8159309Z             {
2026-06-05T23:17:25.8159852Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.8160247Z               "line": 180
2026-06-05T23:17:25.8160627Z             }
2026-06-05T23:17:25.8161207Z           ]
2026-06-05T23:17:25.8161582Z         }
2026-06-05T23:17:25.8161951Z       }
2026-06-05T23:17:25.8162310Z     },
2026-06-05T23:17:25.8162676Z     {
2026-06-05T23:17:25.8163143Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-05T23:17:25.8163941Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-05T23:17:25.8164366Z       "requiredStages": [
2026-06-05T23:17:25.8164759Z         "impl",
2026-06-05T23:17:25.8165138Z         "unit"
2026-06-05T23:17:25.8165497Z       ],
2026-06-05T23:17:25.8165885Z       "stages": {
2026-06-05T23:17:25.8166263Z         "doc": {
2026-06-05T23:17:25.8166689Z           "complete": false,
2026-06-05T23:17:25.8167219Z           "evidence": []
2026-06-05T23:17:25.8167607Z         },
2026-06-05T23:17:25.8167996Z         "impl": {
2026-06-05T23:17:25.8168411Z           "complete": true,
2026-06-05T23:17:25.8168811Z           "evidence": [
2026-06-05T23:17:25.8169219Z             {
2026-06-05T23:17:25.8169774Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8170185Z               "line": 48
2026-06-05T23:17:25.8170556Z             },
2026-06-05T23:17:25.8170928Z             {
2026-06-05T23:17:25.8171467Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8171873Z               "line": 55
2026-06-05T23:17:25.8172244Z             },
2026-06-05T23:17:25.8172612Z             {
2026-06-05T23:17:25.8173148Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8173545Z               "line": 74
2026-06-05T23:17:25.8173924Z             },
2026-06-05T23:17:25.8174296Z             {
2026-06-05T23:17:25.8174846Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8175242Z               "line": 91
2026-06-05T23:17:25.8175616Z             }
2026-06-05T23:17:25.8175980Z           ]
2026-06-05T23:17:25.8176354Z         },
2026-06-05T23:17:25.8176732Z         "int": {
2026-06-05T23:17:25.8177143Z           "complete": false,
2026-06-05T23:17:25.8177563Z           "evidence": []
2026-06-05T23:17:25.8177925Z         },
2026-06-05T23:17:25.8178307Z         "unit": {
2026-06-05T23:17:25.8178708Z           "complete": true,
2026-06-05T23:17:25.8179105Z           "evidence": [
2026-06-05T23:17:25.8179512Z             {
2026-06-05T23:17:25.8180050Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8180451Z               "line": 149
2026-06-05T23:17:25.8180817Z             },
2026-06-05T23:17:25.8181188Z             {
2026-06-05T23:17:25.8181721Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8182122Z               "line": 163
2026-06-05T23:17:25.8182500Z             },
2026-06-05T23:17:25.8182868Z             {
2026-06-05T23:17:25.8183409Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8183806Z               "line": 173
2026-06-05T23:17:25.8184175Z             },
2026-06-05T23:17:25.8184538Z             {
2026-06-05T23:17:25.8185084Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8185496Z               "line": 191
2026-06-05T23:17:25.8185864Z             },
2026-06-05T23:17:25.8186234Z             {
2026-06-05T23:17:25.8186767Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.8187183Z               "line": 204
2026-06-05T23:17:25.8187559Z             }
2026-06-05T23:17:25.8187924Z           ]
2026-06-05T23:17:25.8188291Z         }
2026-06-05T23:17:25.8188652Z       }
2026-06-05T23:17:25.8189022Z     },
2026-06-05T23:17:25.8189428Z     {
2026-06-05T23:17:25.8189971Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-05T23:17:25.8190886Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-05T23:17:25.8191309Z       "requiredStages": [
2026-06-05T23:17:25.8191689Z         "impl",
2026-06-05T23:17:25.8192058Z         "unit"
2026-06-05T23:17:25.8192432Z       ],
2026-06-05T23:17:25.8192814Z       "stages": {
2026-06-05T23:17:25.8193195Z         "doc": {
2026-06-05T23:17:25.8193811Z           "complete": false,
2026-06-05T23:17:25.8194210Z           "evidence": []
2026-06-05T23:17:25.8194583Z         },
2026-06-05T23:17:25.8194960Z         "impl": {
2026-06-05T23:17:25.8195379Z           "complete": true,
2026-06-05T23:17:25.8195771Z           "evidence": [
2026-06-05T23:17:25.8196144Z             {
2026-06-05T23:17:25.8196742Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.8197139Z               "line": 349
2026-06-05T23:17:25.8201875Z             },
2026-06-05T23:17:25.8202335Z             {
2026-06-05T23:17:25.8202921Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.8203322Z               "line": 26
2026-06-05T23:17:25.8203966Z             }
2026-06-05T23:17:25.8204366Z           ]
2026-06-05T23:17:25.8204738Z         },
2026-06-05T23:17:25.8205133Z         "int": {
2026-06-05T23:17:25.8205550Z           "complete": false,
2026-06-05T23:17:25.8205962Z           "evidence": []
2026-06-05T23:17:25.8206331Z         },
2026-06-05T23:17:25.8206738Z         "unit": {
2026-06-05T23:17:25.8207167Z           "complete": true,
2026-06-05T23:17:25.8207565Z           "evidence": [
2026-06-05T23:17:25.8207944Z             {
2026-06-05T23:17:25.8208489Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.8208896Z               "line": 139
2026-06-05T23:17:25.8209346Z             },
2026-06-05T23:17:25.8209728Z             {
2026-06-05T23:17:25.8210279Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.8210682Z               "line": 182
2026-06-05T23:17:25.8211066Z             }
2026-06-05T23:17:25.8211440Z           ]
2026-06-05T23:17:25.8211814Z         }
2026-06-05T23:17:25.8212196Z       }
2026-06-05T23:17:25.8212568Z     },
2026-06-05T23:17:25.8212933Z     {
2026-06-05T23:17:25.8213489Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-05T23:17:25.8214245Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-05T23:17:25.8214675Z       "requiredStages": [
2026-06-05T23:17:25.8215078Z         "impl",
2026-06-05T23:17:25.8215452Z         "unit"
2026-06-05T23:17:25.8215824Z       ],
2026-06-05T23:17:25.8216222Z       "stages": {
2026-06-05T23:17:25.8216600Z         "doc": {
2026-06-05T23:17:25.8217035Z           "complete": false,
2026-06-05T23:17:25.8217439Z           "evidence": []
2026-06-05T23:17:25.8217812Z         },
2026-06-05T23:17:25.8218191Z         "impl": {
2026-06-05T23:17:25.8218615Z           "complete": true,
2026-06-05T23:17:25.8219018Z           "evidence": [
2026-06-05T23:17:25.8219436Z             {
2026-06-05T23:17:25.8220034Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8220457Z               "line": 36
2026-06-05T23:17:25.8220841Z             },
2026-06-05T23:17:25.8221210Z             {
2026-06-05T23:17:25.8221788Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8222204Z               "line": 68
2026-06-05T23:17:25.8222585Z             }
2026-06-05T23:17:25.8222964Z           ]
2026-06-05T23:17:25.8223345Z         },
2026-06-05T23:17:25.8223731Z         "int": {
2026-06-05T23:17:25.8224155Z           "complete": false,
2026-06-05T23:17:25.8224567Z           "evidence": []
2026-06-05T23:17:25.8224944Z         },
2026-06-05T23:17:25.8225324Z         "unit": {
2026-06-05T23:17:25.8225746Z           "complete": true,
2026-06-05T23:17:25.8226146Z           "evidence": [
2026-06-05T23:17:25.8226525Z             {
2026-06-05T23:17:25.8227099Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8227507Z               "line": 143
2026-06-05T23:17:25.8227886Z             },
2026-06-05T23:17:25.8228260Z             {
2026-06-05T23:17:25.8228853Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8229289Z               "line": 160
2026-06-05T23:17:25.8229671Z             },
2026-06-05T23:17:25.8230040Z             {
2026-06-05T23:17:25.8230617Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8231026Z               "line": 168
2026-06-05T23:17:25.8231586Z             }
2026-06-05T23:17:25.8231968Z           ]
2026-06-05T23:17:25.8232341Z         }
2026-06-05T23:17:25.8232727Z       }
2026-06-05T23:17:25.8233098Z     },
2026-06-05T23:17:25.8233471Z     {
2026-06-05T23:17:25.8234064Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-05T23:17:25.8234909Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-05T23:17:25.8235343Z       "requiredStages": [
2026-06-05T23:17:25.8235721Z         "impl",
2026-06-05T23:17:25.8236102Z         "unit"
2026-06-05T23:17:25.8236477Z       ],
2026-06-05T23:17:25.8236874Z       "stages": {
2026-06-05T23:17:25.8237260Z         "doc": {
2026-06-05T23:17:25.8237808Z           "complete": false,
2026-06-05T23:17:25.8238233Z           "evidence": []
2026-06-05T23:17:25.8238602Z         },
2026-06-05T23:17:25.8238996Z         "impl": {
2026-06-05T23:17:25.8239455Z           "complete": true,
2026-06-05T23:17:25.8239885Z           "evidence": [
2026-06-05T23:17:25.8240301Z             {
2026-06-05T23:17:25.8240875Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8241281Z               "line": 107
2026-06-05T23:17:25.8241650Z             }
2026-06-05T23:17:25.8242025Z           ]
2026-06-05T23:17:25.8242397Z         },
2026-06-05T23:17:25.8242785Z         "int": {
2026-06-05T23:17:25.8243209Z           "complete": false,
2026-06-05T23:17:25.8243614Z           "evidence": []
2026-06-05T23:17:25.8243990Z         },
2026-06-05T23:17:25.8244369Z         "unit": {
2026-06-05T23:17:25.8244788Z           "complete": true,
2026-06-05T23:17:25.8245191Z           "evidence": [
2026-06-05T23:17:25.8245570Z             {
2026-06-05T23:17:25.8246164Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8246569Z               "line": 184
2026-06-05T23:17:25.8246948Z             },
2026-06-05T23:17:25.8247317Z             {
2026-06-05T23:17:25.8247895Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8248308Z               "line": 193
2026-06-05T23:17:25.8248694Z             },
2026-06-05T23:17:25.8249070Z             {
2026-06-05T23:17:25.8249724Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8250134Z               "line": 201
2026-06-05T23:17:25.8250506Z             },
2026-06-05T23:17:25.8250882Z             {
2026-06-05T23:17:25.8251453Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8251865Z               "line": 210
2026-06-05T23:17:25.8252248Z             },
2026-06-05T23:17:25.8252618Z             {
2026-06-05T23:17:25.8253192Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T23:17:25.8253606Z               "line": 219
2026-06-05T23:17:25.8254985Z             }
2026-06-05T23:17:25.8255631Z           ]
2026-06-05T23:17:25.8256112Z         }
2026-06-05T23:17:25.8256587Z       }
2026-06-05T23:17:25.8257066Z     },
2026-06-05T23:17:25.8258077Z     {
2026-06-05T23:17:25.8258772Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-05T23:17:25.8259819Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-05T23:17:25.8260328Z       "requiredStages": [
2026-06-05T23:17:25.8260874Z         "impl",
2026-06-05T23:17:25.8261268Z         "unit"
2026-06-05T23:17:25.8261640Z       ],
2026-06-05T23:17:25.8262362Z       "stages": {
2026-06-05T23:17:25.8262746Z         "doc": {
2026-06-05T23:17:25.8263186Z           "complete": false,
2026-06-05T23:17:25.8263590Z           "evidence": []
2026-06-05T23:17:25.8263975Z         },
2026-06-05T23:17:25.8264371Z         "impl": {
2026-06-05T23:17:25.8264790Z           "complete": true,
2026-06-05T23:17:25.8265199Z           "evidence": [
2026-06-05T23:17:25.8265591Z             {
2026-06-05T23:17:25.8266285Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:25.8266830Z               "line": 14
2026-06-05T23:17:25.8267219Z             },
2026-06-05T23:17:25.8267599Z             {
2026-06-05T23:17:25.8268108Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:25.8269110Z               "line": 62
2026-06-05T23:17:25.8269713Z             }
2026-06-05T23:17:25.8270108Z           ]
2026-06-05T23:17:25.8270488Z         },
2026-06-05T23:17:25.8270887Z         "int": {
2026-06-05T23:17:25.8271327Z           "complete": false,
2026-06-05T23:17:25.8271736Z           "evidence": []
2026-06-05T23:17:25.8272117Z         },
2026-06-05T23:17:25.8272505Z         "unit": {
2026-06-05T23:17:25.8273228Z           "complete": true,
2026-06-05T23:17:25.8273633Z           "evidence": [
2026-06-05T23:17:25.8274013Z             {
2026-06-05T23:17:25.8274540Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:25.8275192Z               "line": 160
2026-06-05T23:17:25.8275606Z             },
2026-06-05T23:17:25.8281609Z             {
2026-06-05T23:17:25.8282264Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:25.8282673Z               "line": 197
2026-06-05T23:17:25.8283068Z             },
2026-06-05T23:17:25.8283493Z             {
2026-06-05T23:17:25.8284010Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:25.8284429Z               "line": 213
2026-06-05T23:17:25.8284802Z             }
2026-06-05T23:17:25.8285185Z           ]
2026-06-05T23:17:25.8285559Z         }
2026-06-05T23:17:25.8285942Z       }
2026-06-05T23:17:25.8286325Z     },
2026-06-05T23:17:25.8286695Z     {
2026-06-05T23:17:25.8287247Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-05T23:17:25.8288300Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-05T23:17:25.8288744Z       "requiredStages": [
2026-06-05T23:17:25.8289130Z         "impl",
2026-06-05T23:17:25.8289620Z         "unit"
2026-06-05T23:17:25.8290010Z       ],
2026-06-05T23:17:25.8290401Z       "stages": {
2026-06-05T23:17:25.8290790Z         "doc": {
2026-06-05T23:17:25.8291215Z           "complete": false,
2026-06-05T23:17:25.8291630Z           "evidence": []
2026-06-05T23:17:25.8292009Z         },
2026-06-05T23:17:25.8292417Z         "impl": {
2026-06-05T23:17:25.8292848Z           "complete": true,
2026-06-05T23:17:25.8293253Z           "evidence": [
2026-06-05T23:17:25.8293635Z             {
2026-06-05T23:17:25.8294183Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8294594Z               "line": 76
2026-06-05T23:17:25.8294972Z             },
2026-06-05T23:17:25.8295356Z             {
2026-06-05T23:17:25.8295913Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8296318Z               "line": 163
2026-06-05T23:17:25.8296704Z             },
2026-06-05T23:17:25.8297077Z             {
2026-06-05T23:17:25.8297643Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8298046Z               "line": 229
2026-06-05T23:17:25.8298439Z             },
2026-06-05T23:17:25.8298821Z             {
2026-06-05T23:17:25.8299409Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8299830Z               "line": 265
2026-06-05T23:17:25.8300217Z             }
2026-06-05T23:17:25.8300603Z           ]
2026-06-05T23:17:25.8300979Z         },
2026-06-05T23:17:25.8301373Z         "int": {
2026-06-05T23:17:25.8301800Z           "complete": false,
2026-06-05T23:17:25.8302211Z           "evidence": []
2026-06-05T23:17:25.8302602Z         },
2026-06-05T23:17:25.8302993Z         "unit": {
2026-06-05T23:17:25.8303422Z           "complete": true,
2026-06-05T23:17:25.8303820Z           "evidence": [
2026-06-05T23:17:25.8304204Z             {
2026-06-05T23:17:25.8304754Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8305156Z               "line": 310
2026-06-05T23:17:25.8305541Z             },
2026-06-05T23:17:25.8305924Z             {
2026-06-05T23:17:25.8306485Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8306889Z               "line": 318
2026-06-05T23:17:25.8307277Z             },
2026-06-05T23:17:25.8307658Z             {
2026-06-05T23:17:25.8308200Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8308922Z               "line": 341
2026-06-05T23:17:25.8309350Z             },
2026-06-05T23:17:25.8309740Z             {
2026-06-05T23:17:25.8310298Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8310705Z               "line": 378
2026-06-05T23:17:25.8311085Z             },
2026-06-05T23:17:25.8311460Z             {
2026-06-05T23:17:25.8312011Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8312415Z               "line": 389
2026-06-05T23:17:25.8312798Z             },
2026-06-05T23:17:25.8313187Z             {
2026-06-05T23:17:25.8313727Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8314273Z               "line": 401
2026-06-05T23:17:25.8314666Z             },
2026-06-05T23:17:25.8315049Z             {
2026-06-05T23:17:25.8315590Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T23:17:25.8316009Z               "line": 413
2026-06-05T23:17:25.8316397Z             }
2026-06-05T23:17:25.8316782Z           ]
2026-06-05T23:17:25.8317166Z         }
2026-06-05T23:17:25.8317540Z       }
2026-06-05T23:17:25.8317920Z     },
2026-06-05T23:17:25.8318290Z     {
2026-06-05T23:17:25.8318779Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-05T23:17:25.8319522Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-05T23:17:25.8319958Z       "requiredStages": [
2026-06-05T23:17:25.8320361Z         "impl",
2026-06-05T23:17:25.8320743Z         "int"
2026-06-05T23:17:25.8321128Z       ],
2026-06-05T23:17:25.8321516Z       "stages": {
2026-06-05T23:17:25.8321910Z         "doc": {
2026-06-05T23:17:25.8322343Z           "complete": false,
2026-06-05T23:17:25.8322771Z           "evidence": []
2026-06-05T23:17:25.8323157Z         },
2026-06-05T23:17:25.8323544Z         "impl": {
2026-06-05T23:17:25.8323973Z           "complete": true,
2026-06-05T23:17:25.8324381Z           "evidence": [
2026-06-05T23:17:25.8324762Z             {
2026-06-05T23:17:25.8325318Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.8325739Z               "line": 22
2026-06-05T23:17:25.8326126Z             }
2026-06-05T23:17:25.8326505Z           ]
2026-06-05T23:17:25.8326889Z         },
2026-06-05T23:17:25.8327270Z         "int": {
2026-06-05T23:17:25.8327699Z           "complete": true,
2026-06-05T23:17:25.8328107Z           "evidence": [
2026-06-05T23:17:25.8328482Z             {
2026-06-05T23:17:25.8329087Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-05T23:17:25.8329532Z               "line": 18
2026-06-05T23:17:25.8329913Z             }
2026-06-05T23:17:25.8330291Z           ]
2026-06-05T23:17:25.8330670Z         },
2026-06-05T23:17:25.8331075Z         "unit": {
2026-06-05T23:17:25.8331508Z           "complete": false,
2026-06-05T23:17:25.8331927Z           "evidence": []
2026-06-05T23:17:25.8332297Z         }
2026-06-05T23:17:25.8332673Z       }
2026-06-05T23:17:25.8333040Z     },
2026-06-05T23:17:25.8333421Z     {
2026-06-05T23:17:25.8333962Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-05T23:17:25.8334911Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-05T23:17:25.8335349Z       "requiredStages": [
2026-06-05T23:17:25.8335732Z         "impl",
2026-06-05T23:17:25.8336119Z         "unit"
2026-06-05T23:17:25.8336491Z       ],
2026-06-05T23:17:25.8336883Z       "stages": {
2026-06-05T23:17:25.8337269Z         "doc": {
2026-06-05T23:17:25.8337691Z           "complete": false,
2026-06-05T23:17:25.8338107Z           "evidence": []
2026-06-05T23:17:25.8338476Z         },
2026-06-05T23:17:25.8338864Z         "impl": {
2026-06-05T23:17:25.8339313Z           "complete": true,
2026-06-05T23:17:25.8339732Z           "evidence": [
2026-06-05T23:17:25.8340112Z             {
2026-06-05T23:17:25.8340698Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.8341110Z               "line": 348
2026-06-05T23:17:25.8341490Z             },
2026-06-05T23:17:25.8341875Z             {
2026-06-05T23:17:25.8342594Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.8343003Z               "line": 27
2026-06-05T23:17:25.8343385Z             }
2026-06-05T23:17:25.8343756Z           ]
2026-06-05T23:17:25.8344140Z         },
2026-06-05T23:17:25.8344517Z         "int": {
2026-06-05T23:17:25.8344952Z           "complete": false,
2026-06-05T23:17:25.8345358Z           "evidence": []
2026-06-05T23:17:25.8345738Z         },
2026-06-05T23:17:25.8346127Z         "unit": {
2026-06-05T23:17:25.8346540Z           "complete": true,
2026-06-05T23:17:25.8346954Z           "evidence": [
2026-06-05T23:17:25.8347324Z             {
2026-06-05T23:17:25.8348042Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.8348457Z               "line": 753
2026-06-05T23:17:25.8348839Z             },
2026-06-05T23:17:25.8349263Z             {
2026-06-05T23:17:25.8349815Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.8350231Z               "line": 164
2026-06-05T23:17:25.8350618Z             }
2026-06-05T23:17:25.8351000Z           ]
2026-06-05T23:17:25.8351371Z         }
2026-06-05T23:17:25.8356123Z       }
2026-06-05T23:17:25.8356582Z     },
2026-06-05T23:17:25.8356953Z     {
2026-06-05T23:17:25.8357530Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-05T23:17:25.8358310Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-05T23:17:25.8358751Z       "requiredStages": [
2026-06-05T23:17:25.8359131Z         "impl",
2026-06-05T23:17:25.8359615Z         "unit"
2026-06-05T23:17:25.8359996Z       ],
2026-06-05T23:17:25.8360381Z       "stages": {
2026-06-05T23:17:25.8360764Z         "doc": {
2026-06-05T23:17:25.8361212Z           "complete": false,
2026-06-05T23:17:25.8361633Z           "evidence": []
2026-06-05T23:17:25.8362006Z         },
2026-06-05T23:17:25.8362398Z         "impl": {
2026-06-05T23:17:25.8362821Z           "complete": true,
2026-06-05T23:17:25.8363222Z           "evidence": [
2026-06-05T23:17:25.8363603Z             {
2026-06-05T23:17:25.8364167Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8364573Z               "line": 20
2026-06-05T23:17:25.8364948Z             },
2026-06-05T23:17:25.8365333Z             {
2026-06-05T23:17:25.8365886Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8366288Z               "line": 94
2026-06-05T23:17:25.8366672Z             },
2026-06-05T23:17:25.8367048Z             {
2026-06-05T23:17:25.8367644Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T23:17:25.8368041Z               "line": 70
2026-06-05T23:17:25.8368421Z             },
2026-06-05T23:17:25.8368802Z             {
2026-06-05T23:17:25.8369426Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T23:17:25.8369833Z               "line": 82
2026-06-05T23:17:25.8370203Z             }
2026-06-05T23:17:25.8370583Z           ]
2026-06-05T23:17:25.8370955Z         },
2026-06-05T23:17:25.8371343Z         "int": {
2026-06-05T23:17:25.8371774Z           "complete": false,
2026-06-05T23:17:25.8372191Z           "evidence": []
2026-06-05T23:17:25.8372570Z         },
2026-06-05T23:17:25.8372954Z         "unit": {
2026-06-05T23:17:25.8373380Z           "complete": true,
2026-06-05T23:17:25.8373781Z           "evidence": [
2026-06-05T23:17:25.8374164Z             {
2026-06-05T23:17:25.8374724Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8375135Z               "line": 139
2026-06-05T23:17:25.8375521Z             },
2026-06-05T23:17:25.8375892Z             {
2026-06-05T23:17:25.8376444Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8376846Z               "line": 162
2026-06-05T23:17:25.8377238Z             },
2026-06-05T23:17:25.8377618Z             {
2026-06-05T23:17:25.8378156Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8378569Z               "line": 173
2026-06-05T23:17:25.8378946Z             },
2026-06-05T23:17:25.8379457Z             {
2026-06-05T23:17:25.8380311Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8380768Z               "line": 189
2026-06-05T23:17:25.8381160Z             },
2026-06-05T23:17:25.8381535Z             {
2026-06-05T23:17:25.8382100Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T23:17:25.8382507Z               "line": 200
2026-06-05T23:17:25.8382890Z             },
2026-06-05T23:17:25.8383263Z             {
2026-06-05T23:17:25.8383866Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T23:17:25.8384291Z               "line": 139
2026-06-05T23:17:25.8384664Z             }
2026-06-05T23:17:25.8385039Z           ]
2026-06-05T23:17:25.8385408Z         }
2026-06-05T23:17:25.8385935Z       }
2026-06-05T23:17:25.8386322Z     },
2026-06-05T23:17:25.8386703Z     {
2026-06-05T23:17:25.8387170Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-05T23:17:25.8388401Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-05T23:17:25.8388855Z       "requiredStages": [
2026-06-05T23:17:25.8389296Z         "impl",
2026-06-05T23:17:25.8389691Z         "unit"
2026-06-05T23:17:25.8390061Z       ],
2026-06-05T23:17:25.8390451Z       "stages": {
2026-06-05T23:17:25.8390837Z         "doc": {
2026-06-05T23:17:25.8391255Z           "complete": true,
2026-06-05T23:17:25.8391660Z           "evidence": [
2026-06-05T23:17:25.8392034Z             {
2026-06-05T23:17:25.8392547Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T23:17:25.8392950Z               "line": 131
2026-06-05T23:17:25.8393333Z             }
2026-06-05T23:17:25.8393712Z           ]
2026-06-05T23:17:25.8394086Z         },
2026-06-05T23:17:25.8394493Z         "impl": {
2026-06-05T23:17:25.8394915Z           "complete": true,
2026-06-05T23:17:25.8395329Z           "evidence": [
2026-06-05T23:17:25.8395707Z             {
2026-06-05T23:17:25.8396236Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:25.8396637Z               "line": 65
2026-06-05T23:17:25.8397023Z             },
2026-06-05T23:17:25.8397402Z             {
2026-06-05T23:17:25.8397925Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8398333Z               "line": 17
2026-06-05T23:17:25.8398705Z             },
2026-06-05T23:17:25.8399081Z             {
2026-06-05T23:17:25.8399678Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.8400078Z               "line": 212
2026-06-05T23:17:25.8400468Z             },
2026-06-05T23:17:25.8400842Z             {
2026-06-05T23:17:25.8401391Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.8401795Z               "line": 312
2026-06-05T23:17:25.8402333Z             },
2026-06-05T23:17:25.8402904Z             {
2026-06-05T23:17:25.8403467Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:25.8403942Z               "line": 32
2026-06-05T23:17:25.8404347Z             },
2026-06-05T23:17:25.8404750Z             {
2026-06-05T23:17:25.8406432Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.8406884Z               "line": 1858
2026-06-05T23:17:25.8407272Z             },
2026-06-05T23:17:25.8407645Z             {
2026-06-05T23:17:25.8408142Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.8408552Z               "line": 2111
2026-06-05T23:17:25.8408934Z             }
2026-06-05T23:17:25.8409402Z           ]
2026-06-05T23:17:25.8409788Z         },
2026-06-05T23:17:25.8410177Z         "int": {
2026-06-05T23:17:25.8410601Z           "complete": false,
2026-06-05T23:17:25.8411012Z           "evidence": []
2026-06-05T23:17:25.8411378Z         },
2026-06-05T23:17:25.8411763Z         "unit": {
2026-06-05T23:17:25.8412190Z           "complete": true,
2026-06-05T23:17:25.8412597Z           "evidence": [
2026-06-05T23:17:25.8412980Z             {
2026-06-05T23:17:25.8413491Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8413892Z               "line": 94
2026-06-05T23:17:25.8414272Z             },
2026-06-05T23:17:25.8414655Z             {
2026-06-05T23:17:25.8415433Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8415866Z               "line": 111
2026-06-05T23:17:25.8416257Z             },
2026-06-05T23:17:25.8416628Z             {
2026-06-05T23:17:25.8417156Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8417554Z               "line": 124
2026-06-05T23:17:25.8417935Z             },
2026-06-05T23:17:25.8418319Z             {
2026-06-05T23:17:25.8418830Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8419291Z               "line": 134
2026-06-05T23:17:25.8419668Z             },
2026-06-05T23:17:25.8420049Z             {
2026-06-05T23:17:25.8420707Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8421141Z               "line": 142
2026-06-05T23:17:25.8421527Z             },
2026-06-05T23:17:25.8421893Z             {
2026-06-05T23:17:25.8422412Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T23:17:25.8422818Z               "line": 154
2026-06-05T23:17:25.8423217Z             },
2026-06-05T23:17:25.8424192Z             {
2026-06-05T23:17:25.8424857Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.8425310Z               "line": 645
2026-06-05T23:17:25.8425710Z             }
2026-06-05T23:17:25.8426118Z           ]
2026-06-05T23:17:25.8426512Z         }
2026-06-05T23:17:25.8426914Z       }
2026-06-05T23:17:25.8427310Z     },
2026-06-05T23:17:25.8427717Z     {
2026-06-05T23:17:25.8428254Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-05T23:17:25.8428933Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-05T23:17:25.8434602Z       "requiredStages": [
2026-06-05T23:17:25.8435184Z         "impl",
2026-06-05T23:17:25.8435586Z         "unit"
2026-06-05T23:17:25.8435957Z       ],
2026-06-05T23:17:25.8436358Z       "stages": {
2026-06-05T23:17:25.8436747Z         "doc": {
2026-06-05T23:17:25.8437178Z           "complete": false,
2026-06-05T23:17:25.8437594Z           "evidence": []
2026-06-05T23:17:25.8437984Z         },
2026-06-05T23:17:25.8438381Z         "impl": {
2026-06-05T23:17:25.8438803Z           "complete": true,
2026-06-05T23:17:25.8439307Z           "evidence": [
2026-06-05T23:17:25.8439999Z             {
2026-06-05T23:17:25.8440559Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:25.8440979Z               "line": 128
2026-06-05T23:17:25.8441351Z             }
2026-06-05T23:17:25.8441731Z           ]
2026-06-05T23:17:25.8442099Z         },
2026-06-05T23:17:25.8442487Z         "int": {
2026-06-05T23:17:25.8442918Z           "complete": false,
2026-06-05T23:17:25.8443328Z           "evidence": []
2026-06-05T23:17:25.8443712Z         },
2026-06-05T23:17:25.8444108Z         "unit": {
2026-06-05T23:17:25.8444539Z           "complete": true,
2026-06-05T23:17:25.8444939Z           "evidence": [
2026-06-05T23:17:25.8445318Z             {
2026-06-05T23:17:25.8445866Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:25.8446261Z               "line": 205
2026-06-05T23:17:25.8446659Z             }
2026-06-05T23:17:25.8447034Z           ]
2026-06-05T23:17:25.8447412Z         }
2026-06-05T23:17:25.8447785Z       }
2026-06-05T23:17:25.8448163Z     },
2026-06-05T23:17:25.8448541Z     {
2026-06-05T23:17:25.8449066Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-05T23:17:25.8449850Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-05T23:17:25.8450283Z       "requiredStages": [
2026-06-05T23:17:25.8450674Z         "impl",
2026-06-05T23:17:25.8451051Z         "unit"
2026-06-05T23:17:25.8451432Z       ],
2026-06-05T23:17:25.8451833Z       "stages": {
2026-06-05T23:17:25.8452219Z         "doc": {
2026-06-05T23:17:25.8452666Z           "complete": false,
2026-06-05T23:17:25.8453076Z           "evidence": []
2026-06-05T23:17:25.8453461Z         },
2026-06-05T23:17:25.8453843Z         "impl": {
2026-06-05T23:17:25.8454276Z           "complete": true,
2026-06-05T23:17:25.8454692Z           "evidence": [
2026-06-05T23:17:25.8455382Z             {
2026-06-05T23:17:25.8455931Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8456336Z               "line": 231
2026-06-05T23:17:25.8456722Z             },
2026-06-05T23:17:25.8457101Z             {
2026-06-05T23:17:25.8457644Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8458055Z               "line": 242
2026-06-05T23:17:25.8458430Z             },
2026-06-05T23:17:25.8458812Z             {
2026-06-05T23:17:25.8459449Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8459872Z               "line": 260
2026-06-05T23:17:25.8460246Z             }
2026-06-05T23:17:25.8460627Z           ]
2026-06-05T23:17:25.8461142Z         },
2026-06-05T23:17:25.8461538Z         "int": {
2026-06-05T23:17:25.8461976Z           "complete": false,
2026-06-05T23:17:25.8462384Z           "evidence": []
2026-06-05T23:17:25.8462762Z         },
2026-06-05T23:17:25.8463147Z         "unit": {
2026-06-05T23:17:25.8463571Z           "complete": true,
2026-06-05T23:17:25.8463994Z           "evidence": [
2026-06-05T23:17:25.8464370Z             {
2026-06-05T23:17:25.8464913Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8465313Z               "line": 284
2026-06-05T23:17:25.8465700Z             },
2026-06-05T23:17:25.8466078Z             {
2026-06-05T23:17:25.8466617Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8467029Z               "line": 302
2026-06-05T23:17:25.8467404Z             },
2026-06-05T23:17:25.8467785Z             {
2026-06-05T23:17:25.8468307Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8468720Z               "line": 467
2026-06-05T23:17:25.8469105Z             },
2026-06-05T23:17:25.8469530Z             {
2026-06-05T23:17:25.8470074Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8470479Z               "line": 478
2026-06-05T23:17:25.8470867Z             },
2026-06-05T23:17:25.8471243Z             {
2026-06-05T23:17:25.8471794Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.8472196Z               "line": 491
2026-06-05T23:17:25.8472574Z             }
2026-06-05T23:17:25.8472962Z           ]
2026-06-05T23:17:25.8473333Z         }
2026-06-05T23:17:25.8473708Z       }
2026-06-05T23:17:25.8474075Z     },
2026-06-05T23:17:25.8474453Z     {
2026-06-05T23:17:25.8474931Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-05T23:17:25.8475998Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-05T23:17:25.8476441Z       "requiredStages": [
2026-06-05T23:17:25.8476822Z         "impl",
2026-06-05T23:17:25.8477202Z         "unit"
2026-06-05T23:17:25.8477581Z       ],
2026-06-05T23:17:25.8477976Z       "stages": {
2026-06-05T23:17:25.8478353Z         "doc": {
2026-06-05T23:17:25.8478782Z           "complete": false,
2026-06-05T23:17:25.8479230Z           "evidence": []
2026-06-05T23:17:25.8479600Z         },
2026-06-05T23:17:25.8479997Z         "impl": {
2026-06-05T23:17:25.8480430Z           "complete": true,
2026-06-05T23:17:25.8480835Z           "evidence": [
2026-06-05T23:17:25.8481212Z             {
2026-06-05T23:17:25.8481735Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8482145Z               "line": 14
2026-06-05T23:17:25.8482523Z             },
2026-06-05T23:17:25.8482903Z             {
2026-06-05T23:17:25.8483411Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:25.8483821Z               "line": 372
2026-06-05T23:17:25.8484194Z             }
2026-06-05T23:17:25.8484579Z           ]
2026-06-05T23:17:25.8484958Z         },
2026-06-05T23:17:25.8485337Z         "int": {
2026-06-05T23:17:25.8485774Z           "complete": false,
2026-06-05T23:17:25.8486186Z           "evidence": []
2026-06-05T23:17:25.8486566Z         },
2026-06-05T23:17:25.8486949Z         "unit": {
2026-06-05T23:17:25.8487376Z           "complete": true,
2026-06-05T23:17:25.8487785Z           "evidence": [
2026-06-05T23:17:25.8488159Z             {
2026-06-05T23:17:25.8488849Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8489294Z               "line": 130
2026-06-05T23:17:25.8489682Z             },
2026-06-05T23:17:25.8490051Z             {
2026-06-05T23:17:25.8490566Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8490981Z               "line": 138
2026-06-05T23:17:25.8491355Z             },
2026-06-05T23:17:25.8491735Z             {
2026-06-05T23:17:25.8492240Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8492646Z               "line": 146
2026-06-05T23:17:25.8493023Z             },
2026-06-05T23:17:25.8493398Z             {
2026-06-05T23:17:25.8494046Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8494462Z               "line": 154
2026-06-05T23:17:25.8494841Z             },
2026-06-05T23:17:25.8495212Z             {
2026-06-05T23:17:25.8495736Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8496138Z               "line": 162
2026-06-05T23:17:25.8496542Z             },
2026-06-05T23:17:25.8496921Z             {
2026-06-05T23:17:25.8497431Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T23:17:25.8497836Z               "line": 170
2026-06-05T23:17:25.8498206Z             }
2026-06-05T23:17:25.8498586Z           ]
2026-06-05T23:17:25.8499779Z         }
2026-06-05T23:17:25.8500193Z       }
2026-06-05T23:17:25.8500573Z     },
2026-06-05T23:17:25.8500940Z     {
2026-06-05T23:17:25.8501462Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-05T23:17:25.8505900Z       "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-05T23:17:25.8506361Z       "requiredStages": [
2026-06-05T23:17:25.8506752Z         "impl",
2026-06-05T23:17:25.8507136Z         "unit"
2026-06-05T23:17:25.8507518Z       ],
2026-06-05T23:17:25.8507924Z       "stages": {
2026-06-05T23:17:25.8508310Z         "doc": {
2026-06-05T23:17:25.8508734Z           "complete": false,
2026-06-05T23:17:25.8513524Z           "evidence": []
2026-06-05T23:17:25.8513954Z         },
2026-06-05T23:17:25.8514345Z         "impl": {
2026-06-05T23:17:25.8514773Z           "complete": true,
2026-06-05T23:17:25.8515174Z           "evidence": [
2026-06-05T23:17:25.8515562Z             {
2026-06-05T23:17:25.8516255Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8516667Z               "line": 34
2026-06-05T23:17:25.8517050Z             }
2026-06-05T23:17:25.8517417Z           ]
2026-06-05T23:17:25.8517855Z         },
2026-06-05T23:17:25.8518239Z         "int": {
2026-06-05T23:17:25.8518673Z           "complete": false,
2026-06-05T23:17:25.8519079Z           "evidence": []
2026-06-05T23:17:25.8519543Z         },
2026-06-05T23:17:25.8519937Z         "unit": {
2026-06-05T23:17:25.8520352Z           "complete": true,
2026-06-05T23:17:25.8520776Z           "evidence": [
2026-06-05T23:17:25.8521147Z             {
2026-06-05T23:17:25.8521833Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8522236Z               "line": 188
2026-06-05T23:17:25.8522619Z             },
2026-06-05T23:17:25.8523003Z             {
2026-06-05T23:17:25.8523676Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8524095Z               "line": 200
2026-06-05T23:17:25.8524464Z             },
2026-06-05T23:17:25.8524838Z             {
2026-06-05T23:17:25.8525503Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8525932Z               "line": 211
2026-06-05T23:17:25.8526319Z             },
2026-06-05T23:17:25.8526697Z             {
2026-06-05T23:17:25.8527377Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8527775Z               "line": 245
2026-06-05T23:17:25.8528153Z             },
2026-06-05T23:17:25.8528785Z             {
2026-06-05T23:17:25.8529518Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8529931Z               "line": 267
2026-06-05T23:17:25.8530302Z             },
2026-06-05T23:17:25.8530680Z             {
2026-06-05T23:17:25.8531350Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8531763Z               "line": 288
2026-06-05T23:17:25.8532145Z             },
2026-06-05T23:17:25.8532516Z             {
2026-06-05T23:17:25.8533197Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T23:17:25.8533599Z               "line": 304
2026-06-05T23:17:25.8534158Z             }
2026-06-05T23:17:25.8534548Z           ]
2026-06-05T23:17:25.8534933Z         }
2026-06-05T23:17:25.8535315Z       }
2026-06-05T23:17:25.8535684Z     },
2026-06-05T23:17:25.8536051Z     {
2026-06-05T23:17:25.8536561Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-05T23:17:25.8539363Z       "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-05T23:17:25.8539812Z       "requiredStages": [
2026-06-05T23:17:25.8540199Z         "impl",
2026-06-05T23:17:25.8540590Z         "unit"
2026-06-05T23:17:25.8540965Z       ],
2026-06-05T23:17:25.8541363Z       "stages": {
2026-06-05T23:17:25.8541741Z         "doc": {
2026-06-05T23:17:25.8542168Z           "complete": false,
2026-06-05T23:17:25.8542570Z           "evidence": []
2026-06-05T23:17:25.8542942Z         },
2026-06-05T23:17:25.8543328Z         "impl": {
2026-06-05T23:17:25.8543758Z           "complete": true,
2026-06-05T23:17:25.8544170Z           "evidence": [
2026-06-05T23:17:25.8544544Z             {
2026-06-05T23:17:25.8545105Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8545494Z               "line": 29
2026-06-05T23:17:25.8545874Z             },
2026-06-05T23:17:25.8546270Z             {
2026-06-05T23:17:25.8546813Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8547229Z               "line": 154
2026-06-05T23:17:25.8547607Z             },
2026-06-05T23:17:25.8547993Z             {
2026-06-05T23:17:25.8548532Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8548945Z               "line": 173
2026-06-05T23:17:25.8549364Z             },
2026-06-05T23:17:25.8549735Z             {
2026-06-05T23:17:25.8550280Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8550684Z               "line": 200
2026-06-05T23:17:25.8551059Z             }
2026-06-05T23:17:25.8551448Z           ]
2026-06-05T23:17:25.8551839Z         },
2026-06-05T23:17:25.8552224Z         "int": {
2026-06-05T23:17:25.8552645Z           "complete": false,
2026-06-05T23:17:25.8553053Z           "evidence": []
2026-06-05T23:17:25.8553427Z         },
2026-06-05T23:17:25.8553814Z         "unit": {
2026-06-05T23:17:25.8554244Z           "complete": true,
2026-06-05T23:17:25.8554660Z           "evidence": [
2026-06-05T23:17:25.8555040Z             {
2026-06-05T23:17:25.8555579Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8555989Z               "line": 276
2026-06-05T23:17:25.8556362Z             },
2026-06-05T23:17:25.8556750Z             {
2026-06-05T23:17:25.8557300Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8557711Z               "line": 291
2026-06-05T23:17:25.8558091Z             },
2026-06-05T23:17:25.8558461Z             {
2026-06-05T23:17:25.8559007Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8559460Z               "line": 310
2026-06-05T23:17:25.8559851Z             },
2026-06-05T23:17:25.8560236Z             {
2026-06-05T23:17:25.8560783Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8561200Z               "line": 326
2026-06-05T23:17:25.8561573Z             },
2026-06-05T23:17:25.8561957Z             {
2026-06-05T23:17:25.8562683Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8563098Z               "line": 376
2026-06-05T23:17:25.8563488Z             },
2026-06-05T23:17:25.8563858Z             {
2026-06-05T23:17:25.8564411Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8564819Z               "line": 390
2026-06-05T23:17:25.8565201Z             },
2026-06-05T23:17:25.8565572Z             {
2026-06-05T23:17:25.8566123Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8566537Z               "line": 401
2026-06-05T23:17:25.8566918Z             },
2026-06-05T23:17:25.8567296Z             {
2026-06-05T23:17:25.8567967Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.8568400Z               "line": 412
2026-06-05T23:17:25.8568772Z             }
2026-06-05T23:17:25.8569194Z           ]
2026-06-05T23:17:25.8569581Z         }
2026-06-05T23:17:25.8569952Z       }
2026-06-05T23:17:25.8570328Z     },
2026-06-05T23:17:25.8570711Z     {
2026-06-05T23:17:25.8571266Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-05T23:17:25.8574402Z       "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-05T23:17:25.8574843Z       "requiredStages": [
2026-06-05T23:17:25.8575234Z         "impl",
2026-06-05T23:17:25.8575616Z         "unit"
2026-06-05T23:17:25.8576000Z       ],
2026-06-05T23:17:25.8576383Z       "stages": {
2026-06-05T23:17:25.8576765Z         "doc": {
2026-06-05T23:17:25.8577183Z           "complete": false,
2026-06-05T23:17:25.8577621Z           "evidence": []
2026-06-05T23:17:25.8578011Z         },
2026-06-05T23:17:25.8578395Z         "impl": {
2026-06-05T23:17:25.8578815Z           "complete": true,
2026-06-05T23:17:25.8579252Z           "evidence": [
2026-06-05T23:17:25.8579638Z             {
2026-06-05T23:17:25.8580269Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8580712Z               "line": 27
2026-06-05T23:17:25.8581112Z             },
2026-06-05T23:17:25.8581488Z             {
2026-06-05T23:17:25.8582122Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8582520Z               "line": 110
2026-06-05T23:17:25.8582905Z             },
2026-06-05T23:17:25.8583287Z             {
2026-06-05T23:17:25.8583916Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8584330Z               "line": 153
2026-06-05T23:17:25.8584701Z             },
2026-06-05T23:17:25.8585081Z             {
2026-06-05T23:17:25.8585717Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8586129Z               "line": 182
2026-06-05T23:17:25.8586510Z             },
2026-06-05T23:17:25.8586880Z             {
2026-06-05T23:17:25.8587579Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8587985Z               "line": 31
2026-06-05T23:17:25.8588366Z             },
2026-06-05T23:17:25.8588735Z             {
2026-06-05T23:17:25.8593618Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8594084Z               "line": 113
2026-06-05T23:17:25.8594464Z             },
2026-06-05T23:17:25.8594844Z             {
2026-06-05T23:17:25.8595536Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8595945Z               "line": 138
2026-06-05T23:17:25.8596315Z             }
2026-06-05T23:17:25.8596695Z           ]
2026-06-05T23:17:25.8597069Z         },
2026-06-05T23:17:25.8597444Z         "int": {
2026-06-05T23:17:25.8597908Z           "complete": false,
2026-06-05T23:17:25.8598319Z           "evidence": []
2026-06-05T23:17:25.8598705Z         },
2026-06-05T23:17:25.8599085Z         "unit": {
2026-06-05T23:17:25.8599609Z           "complete": true,
2026-06-05T23:17:25.8600023Z           "evidence": [
2026-06-05T23:17:25.8600655Z             {
2026-06-05T23:17:25.8601300Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8601705Z               "line": 261
2026-06-05T23:17:25.8602086Z             },
2026-06-05T23:17:25.8602458Z             {
2026-06-05T23:17:25.8603091Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8603509Z               "line": 276
2026-06-05T23:17:25.8603882Z             },
2026-06-05T23:17:25.8604262Z             {
2026-06-05T23:17:25.8604893Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8605300Z               "line": 293
2026-06-05T23:17:25.8605669Z             },
2026-06-05T23:17:25.8606200Z             {
2026-06-05T23:17:25.8606848Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8607251Z               "line": 310
2026-06-05T23:17:25.8607636Z             },
2026-06-05T23:17:25.8608006Z             {
2026-06-05T23:17:25.8608644Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8609080Z               "line": 327
2026-06-05T23:17:25.8609502Z             },
2026-06-05T23:17:25.8609882Z             {
2026-06-05T23:17:25.8610503Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:25.8610906Z               "line": 366
2026-06-05T23:17:25.8611281Z             },
2026-06-05T23:17:25.8611657Z             {
2026-06-05T23:17:25.8612357Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8612768Z               "line": 179
2026-06-05T23:17:25.8613156Z             },
2026-06-05T23:17:25.8613530Z             {
2026-06-05T23:17:25.8614243Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8614648Z               "line": 194
2026-06-05T23:17:25.8615034Z             },
2026-06-05T23:17:25.8615413Z             {
2026-06-05T23:17:25.8616106Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8616513Z               "line": 204
2026-06-05T23:17:25.8616910Z             },
2026-06-05T23:17:25.8617289Z             {
2026-06-05T23:17:25.8617972Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8618379Z               "line": 259
2026-06-05T23:17:25.8618763Z             },
2026-06-05T23:17:25.8619134Z             {
2026-06-05T23:17:25.8619863Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8620274Z               "line": 269
2026-06-05T23:17:25.8620660Z             },
2026-06-05T23:17:25.8621030Z             {
2026-06-05T23:17:25.8621721Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:25.8622148Z               "line": 283
2026-06-05T23:17:25.8622523Z             }
2026-06-05T23:17:25.8622899Z           ]
2026-06-05T23:17:25.8623269Z         }
2026-06-05T23:17:25.8623643Z       }
2026-06-05T23:17:25.8624009Z     },
2026-06-05T23:17:25.8624384Z     {
2026-06-05T23:17:25.8624895Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-05T23:17:25.8625836Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-05T23:17:25.8626283Z       "requiredStages": [],
2026-06-05T23:17:25.8626672Z       "stages": {
2026-06-05T23:17:25.8627058Z         "doc": {
2026-06-05T23:17:25.8627479Z           "complete": false,
2026-06-05T23:17:25.8627899Z           "evidence": []
2026-06-05T23:17:25.8628276Z         },
2026-06-05T23:17:25.8628657Z         "impl": {
2026-06-05T23:17:25.8629083Z           "complete": false,
2026-06-05T23:17:25.8629526Z           "evidence": []
2026-06-05T23:17:25.8629905Z         },
2026-06-05T23:17:25.8630280Z         "int": {
2026-06-05T23:17:25.8630722Z           "complete": false,
2026-06-05T23:17:25.8631134Z           "evidence": []
2026-06-05T23:17:25.8631505Z         },
2026-06-05T23:17:25.8631892Z         "unit": {
2026-06-05T23:17:25.8632313Z           "complete": false,
2026-06-05T23:17:25.8632720Z           "evidence": []
2026-06-05T23:17:25.8633256Z         }
2026-06-05T23:17:25.8633642Z       }
2026-06-05T23:17:25.8634009Z     },
2026-06-05T23:17:25.8634374Z     {
2026-06-05T23:17:25.8634950Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-05T23:17:25.8645175Z       "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-05T23:17:25.8645690Z       "requiredStages": [
2026-06-05T23:17:25.8646089Z         "impl",
2026-06-05T23:17:25.8646471Z         "unit"
2026-06-05T23:17:25.8646853Z       ],
2026-06-05T23:17:25.8647578Z       "stages": {
2026-06-05T23:17:25.8647993Z         "doc": {
2026-06-05T23:17:25.8648418Z           "complete": false,
2026-06-05T23:17:25.8648842Z           "evidence": []
2026-06-05T23:17:25.8649306Z         },
2026-06-05T23:17:25.8649691Z         "impl": {
2026-06-05T23:17:25.8650115Z           "complete": true,
2026-06-05T23:17:25.8650550Z           "evidence": [
2026-06-05T23:17:25.8650937Z             {
2026-06-05T23:17:25.8651533Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8651943Z               "line": 26
2026-06-05T23:17:25.8652324Z             },
2026-06-05T23:17:25.8652691Z             {
2026-06-05T23:17:25.8653272Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8653674Z               "line": 93
2026-06-05T23:17:25.8654056Z             },
2026-06-05T23:17:25.8654424Z             {
2026-06-05T23:17:25.8655005Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8655418Z               "line": 162
2026-06-05T23:17:25.8655797Z             },
2026-06-05T23:17:25.8656176Z             {
2026-06-05T23:17:25.8656735Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8657145Z               "line": 19
2026-06-05T23:17:25.8657520Z             },
2026-06-05T23:17:25.8657895Z             {
2026-06-05T23:17:25.8658471Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8658872Z               "line": 50
2026-06-05T23:17:25.8659305Z             },
2026-06-05T23:17:25.8659688Z             {
2026-06-05T23:17:25.8660220Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T23:17:25.8660632Z               "line": 18
2026-06-05T23:17:25.8661011Z             },
2026-06-05T23:17:25.8661402Z             {
2026-06-05T23:17:25.8661918Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T23:17:25.8662319Z               "line": 65
2026-06-05T23:17:25.8662691Z             },
2026-06-05T23:17:25.8663069Z             {
2026-06-05T23:17:25.8663625Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.8664021Z               "line": 70
2026-06-05T23:17:25.8664402Z             }
2026-06-05T23:17:25.8664773Z           ]
2026-06-05T23:17:25.8665155Z         },
2026-06-05T23:17:25.8665531Z         "int": {
2026-06-05T23:17:25.8665956Z           "complete": false,
2026-06-05T23:17:25.8666384Z           "evidence": []
2026-06-05T23:17:25.8666751Z         },
2026-06-05T23:17:25.8667137Z         "unit": {
2026-06-05T23:17:25.8667542Z           "complete": true,
2026-06-05T23:17:25.8667948Z           "evidence": [
2026-06-05T23:17:25.8668314Z             {
2026-06-05T23:17:25.8668901Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8669350Z               "line": 280
2026-06-05T23:17:25.8669729Z             },
2026-06-05T23:17:25.8670107Z             {
2026-06-05T23:17:25.8670681Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8671091Z               "line": 299
2026-06-05T23:17:25.8671475Z             },
2026-06-05T23:17:25.8671853Z             {
2026-06-05T23:17:25.8672437Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8672834Z               "line": 327
2026-06-05T23:17:25.8673217Z             },
2026-06-05T23:17:25.8673589Z             {
2026-06-05T23:17:25.8674175Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8674746Z               "line": 376
2026-06-05T23:17:25.8680038Z             },
2026-06-05T23:17:25.8680459Z             {
2026-06-05T23:17:25.8681058Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8681470Z               "line": 387
2026-06-05T23:17:25.8681846Z             },
2026-06-05T23:17:25.8682225Z             {
2026-06-05T23:17:25.8682802Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8683215Z               "line": 418
2026-06-05T23:17:25.8683593Z             },
2026-06-05T23:17:25.8683960Z             {
2026-06-05T23:17:25.8684844Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:25.8685268Z               "line": 429
2026-06-05T23:17:25.8685651Z             },
2026-06-05T23:17:25.8686019Z             {
2026-06-05T23:17:25.8686590Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8686994Z               "line": 77
2026-06-05T23:17:25.8687386Z             },
2026-06-05T23:17:25.8687761Z             {
2026-06-05T23:17:25.8688314Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8688723Z               "line": 95
2026-06-05T23:17:25.8689092Z             },
2026-06-05T23:17:25.8689528Z             {
2026-06-05T23:17:25.8690098Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8690500Z               "line": 106
2026-06-05T23:17:25.8690883Z             },
2026-06-05T23:17:25.8691258Z             {
2026-06-05T23:17:25.8691824Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8692239Z               "line": 117
2026-06-05T23:17:25.8692623Z             },
2026-06-05T23:17:25.8693001Z             {
2026-06-05T23:17:25.8693554Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8693966Z               "line": 124
2026-06-05T23:17:25.8694337Z             },
2026-06-05T23:17:25.8694714Z             {
2026-06-05T23:17:25.8695278Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T23:17:25.8695691Z               "line": 137
2026-06-05T23:17:25.8696070Z             },
2026-06-05T23:17:25.8696440Z             {
2026-06-05T23:17:25.8696970Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T23:17:25.8697371Z               "line": 106
2026-06-05T23:17:25.8697751Z             },
2026-06-05T23:17:25.8698130Z             {
2026-06-05T23:17:25.8698643Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T23:17:25.8699056Z               "line": 118
2026-06-05T23:17:25.8699472Z             },
2026-06-05T23:17:25.8699852Z             {
2026-06-05T23:17:25.8700404Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T23:17:25.8700817Z               "line": 336
2026-06-05T23:17:25.8701202Z             }
2026-06-05T23:17:25.8701576Z           ]
2026-06-05T23:17:25.8701954Z         }
2026-06-05T23:17:25.8702319Z       }
2026-06-05T23:17:25.8702686Z     },
2026-06-05T23:17:25.8703044Z     {
2026-06-05T23:17:25.8703583Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-05T23:17:25.8704841Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-05T23:17:25.8705268Z       "requiredStages": [
2026-06-05T23:17:25.8705655Z         "impl",
2026-06-05T23:17:25.8706026Z         "unit"
2026-06-05T23:17:25.8706408Z       ],
2026-06-05T23:17:25.8706789Z       "stages": {
2026-06-05T23:17:25.8707169Z         "doc": {
2026-06-05T23:17:25.8707592Z           "complete": true,
2026-06-05T23:17:25.8707989Z           "evidence": [
2026-06-05T23:17:25.8708364Z             {
2026-06-05T23:17:25.8708857Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T23:17:25.8709306Z               "line": 137
2026-06-05T23:17:25.8709677Z             }
2026-06-05T23:17:25.8710056Z           ]
2026-06-05T23:17:25.8710437Z         },
2026-06-05T23:17:25.8710814Z         "impl": {
2026-06-05T23:17:25.8711252Z           "complete": true,
2026-06-05T23:17:25.8711658Z           "evidence": [
2026-06-05T23:17:25.8712235Z             {
2026-06-05T23:17:25.8712747Z               "path": "crates/spt-store/src/db.rs",
2026-06-05T23:17:25.8713153Z               "line": 29
2026-06-05T23:17:25.8713532Z             },
2026-06-05T23:17:25.8713903Z             {
2026-06-05T23:17:25.8714444Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:25.8714842Z               "line": 101
2026-06-05T23:17:25.8715226Z             },
2026-06-05T23:17:25.8715604Z             {
2026-06-05T23:17:25.8716182Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8716585Z               "line": 30
2026-06-05T23:17:25.8716960Z             },
2026-06-05T23:17:25.8717470Z             {
2026-06-05T23:17:25.8718021Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8718427Z               "line": 48
2026-06-05T23:17:25.8718806Z             }
2026-06-05T23:17:25.8719237Z           ]
2026-06-05T23:17:25.8719620Z         },
2026-06-05T23:17:25.8720040Z         "int": {
2026-06-05T23:17:25.8721144Z           "complete": false,
2026-06-05T23:17:25.8721577Z           "evidence": []
2026-06-05T23:17:25.8721979Z         },
2026-06-05T23:17:25.8722376Z         "unit": {
2026-06-05T23:17:25.8722818Z           "complete": true,
2026-06-05T23:17:25.8723240Z           "evidence": [
2026-06-05T23:17:25.8723624Z             {
2026-06-05T23:17:25.8724238Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8724665Z               "line": 152
2026-06-05T23:17:25.8725064Z             }
2026-06-05T23:17:25.8725451Z           ]
2026-06-05T23:17:25.8725848Z         }
2026-06-05T23:17:25.8726248Z       }
2026-06-05T23:17:25.8726648Z     },
2026-06-05T23:17:25.8727041Z     {
2026-06-05T23:17:25.8727597Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-05T23:17:25.8729778Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-05T23:17:25.8730416Z       "requiredStages": [
2026-06-05T23:17:25.8730876Z         "doc",
2026-06-05T23:17:25.8731298Z         "impl",
2026-06-05T23:17:25.8731700Z         "unit"
2026-06-05T23:17:25.8732105Z       ],
2026-06-05T23:17:25.8732509Z       "stages": {
2026-06-05T23:17:25.8732913Z         "doc": {
2026-06-05T23:17:25.8733350Z           "complete": true,
2026-06-05T23:17:25.8733778Z           "evidence": [
2026-06-05T23:17:25.8734184Z             {
2026-06-05T23:17:25.8734707Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T23:17:25.8735138Z               "line": 149
2026-06-05T23:17:25.8735531Z             }
2026-06-05T23:17:25.8735930Z           ]
2026-06-05T23:17:25.8736321Z         },
2026-06-05T23:17:25.8736777Z         "impl": {
2026-06-05T23:17:25.8737228Z           "complete": true,
2026-06-05T23:17:25.8737640Z           "evidence": [
2026-06-05T23:17:25.8738032Z             {
2026-06-05T23:17:25.8738619Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8739032Z               "line": 22
2026-06-05T23:17:25.8739488Z             }
2026-06-05T23:17:25.8739876Z           ]
2026-06-05T23:17:25.8740271Z         },
2026-06-05T23:17:25.8740662Z         "int": {
2026-06-05T23:17:25.8741097Z           "complete": false,
2026-06-05T23:17:25.8741512Z           "evidence": []
2026-06-05T23:17:25.8741889Z         },
2026-06-05T23:17:25.8742271Z         "unit": {
2026-06-05T23:17:25.8742704Z           "complete": true,
2026-06-05T23:17:25.8743115Z           "evidence": [
2026-06-05T23:17:25.8743492Z             {
2026-06-05T23:17:25.8744075Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8744476Z               "line": 257
2026-06-05T23:17:25.8744878Z             }
2026-06-05T23:17:25.8745263Z           ]
2026-06-05T23:17:25.8745641Z         }
2026-06-05T23:17:25.8746017Z       }
2026-06-05T23:17:25.8746387Z     },
2026-06-05T23:17:25.8746760Z     {
2026-06-05T23:17:25.8747303Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-05T23:17:25.8749378Z       "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-05T23:17:25.8750152Z       "requiredStages": [
2026-06-05T23:17:25.8750537Z         "impl",
2026-06-05T23:17:25.8750937Z         "unit"
2026-06-05T23:17:25.8751309Z       ],
2026-06-05T23:17:25.8751716Z       "stages": {
2026-06-05T23:17:25.8752095Z         "doc": {
2026-06-05T23:17:25.8752525Z           "complete": true,
2026-06-05T23:17:25.8752938Z           "evidence": [
2026-06-05T23:17:25.8753311Z             {
2026-06-05T23:17:25.8753820Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T23:17:25.8754228Z               "line": 143
2026-06-05T23:17:25.8760248Z             }
2026-06-05T23:17:25.8760742Z           ]
2026-06-05T23:17:25.8761130Z         },
2026-06-05T23:17:25.8761541Z         "impl": {
2026-06-05T23:17:25.8761977Z           "complete": true,
2026-06-05T23:17:25.8762385Z           "evidence": [
2026-06-05T23:17:25.8762760Z             {
2026-06-05T23:17:25.8763411Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.8763818Z               "line": 161
2026-06-05T23:17:25.8764201Z             },
2026-06-05T23:17:25.8764582Z             {
2026-06-05T23:17:25.8765123Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T23:17:25.8765529Z               "line": 15
2026-06-05T23:17:25.8765904Z             }
2026-06-05T23:17:25.8766288Z           ]
2026-06-05T23:17:25.8766655Z         },
2026-06-05T23:17:25.8767042Z         "int": {
2026-06-05T23:17:25.8767482Z           "complete": false,
2026-06-05T23:17:25.8767885Z           "evidence": []
2026-06-05T23:17:25.8768268Z         },
2026-06-05T23:17:25.8768661Z         "unit": {
2026-06-05T23:17:25.8769087Z           "complete": true,
2026-06-05T23:17:25.8769538Z           "evidence": [
2026-06-05T23:17:25.8769916Z             {
2026-06-05T23:17:25.8770537Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-05T23:17:25.8770936Z               "line": 87
2026-06-05T23:17:25.8771329Z             },
2026-06-05T23:17:25.8771701Z             {
2026-06-05T23:17:25.8772300Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.8772703Z               "line": 597
2026-06-05T23:17:25.8773085Z             },
2026-06-05T23:17:25.8773467Z             {
2026-06-05T23:17:25.8774049Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.8774462Z               "line": 616
2026-06-05T23:17:25.8774830Z             },
2026-06-05T23:17:25.8775211Z             {
2026-06-05T23:17:25.8775805Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:25.8776215Z               "line": 148
2026-06-05T23:17:25.8776610Z             },
2026-06-05T23:17:25.8776986Z             {
2026-06-05T23:17:25.8777538Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T23:17:25.8777936Z               "line": 74
2026-06-05T23:17:25.8778317Z             },
2026-06-05T23:17:25.8778688Z             {
2026-06-05T23:17:25.8779278Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T23:17:25.8779690Z               "line": 88
2026-06-05T23:17:25.8780067Z             },
2026-06-05T23:17:25.8780451Z             {
2026-06-05T23:17:25.8780990Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T23:17:25.8781398Z               "line": 104
2026-06-05T23:17:25.8781769Z             }
2026-06-05T23:17:25.8782146Z           ]
2026-06-05T23:17:25.8782520Z         }
2026-06-05T23:17:25.8782884Z       }
2026-06-05T23:17:25.8783258Z     },
2026-06-05T23:17:25.8783623Z     {
2026-06-05T23:17:25.8784173Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-05T23:17:25.8785114Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-05T23:17:25.8785554Z       "requiredStages": [
2026-06-05T23:17:25.8785943Z         "impl",
2026-06-05T23:17:25.8786317Z         "unit"
2026-06-05T23:17:25.8786692Z       ],
2026-06-05T23:17:25.8787073Z       "stages": {
2026-06-05T23:17:25.8787462Z         "doc": {
2026-06-05T23:17:25.8788086Z           "complete": false,
2026-06-05T23:17:25.8788509Z           "evidence": []
2026-06-05T23:17:25.8788891Z         },
2026-06-05T23:17:25.8789322Z         "impl": {
2026-06-05T23:17:25.8789753Z           "complete": true,
2026-06-05T23:17:25.8790148Z           "evidence": [
2026-06-05T23:17:25.8790531Z             {
2026-06-05T23:17:25.8791071Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T23:17:25.8791480Z               "line": 15
2026-06-05T23:17:25.8791863Z             },
2026-06-05T23:17:25.8792238Z             {
2026-06-05T23:17:25.8792819Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8793349Z               "line": 55
2026-06-05T23:17:25.8793750Z             },
2026-06-05T23:17:25.8794123Z             {
2026-06-05T23:17:25.8794711Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8795130Z               "line": 62
2026-06-05T23:17:25.8795509Z             },
2026-06-05T23:17:25.8795908Z             {
2026-06-05T23:17:25.8796486Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8796899Z               "line": 107
2026-06-05T23:17:25.8797275Z             },
2026-06-05T23:17:25.8797660Z             {
2026-06-05T23:17:25.8798240Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8798646Z               "line": 128
2026-06-05T23:17:25.8799032Z             }
2026-06-05T23:17:25.8799438Z           ]
2026-06-05T23:17:25.8799819Z         },
2026-06-05T23:17:25.8800197Z         "int": {
2026-06-05T23:17:25.8800635Z           "complete": false,
2026-06-05T23:17:25.8801048Z           "evidence": []
2026-06-05T23:17:25.8801435Z         },
2026-06-05T23:17:25.8801829Z         "unit": {
2026-06-05T23:17:25.8802249Z           "complete": true,
2026-06-05T23:17:25.8802657Z           "evidence": [
2026-06-05T23:17:25.8803027Z             {
2026-06-05T23:17:25.8803566Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T23:17:25.8803996Z               "line": 145
2026-06-05T23:17:25.8804369Z             },
2026-06-05T23:17:25.8804750Z             {
2026-06-05T23:17:25.8805281Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T23:17:25.8805690Z               "line": 151
2026-06-05T23:17:25.8806065Z             },
2026-06-05T23:17:25.8806449Z             {
2026-06-05T23:17:25.8806988Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T23:17:25.8807394Z               "line": 162
2026-06-05T23:17:25.8807774Z             },
2026-06-05T23:17:25.8808142Z             {
2026-06-05T23:17:25.8808676Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T23:17:25.8809094Z               "line": 171
2026-06-05T23:17:25.8809502Z             },
2026-06-05T23:17:25.8809885Z             {
2026-06-05T23:17:25.8810451Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8810857Z               "line": 183
2026-06-05T23:17:25.8811228Z             },
2026-06-05T23:17:25.8811602Z             {
2026-06-05T23:17:25.8812190Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8812595Z               "line": 193
2026-06-05T23:17:25.8812980Z             },
2026-06-05T23:17:25.8813348Z             {
2026-06-05T23:17:25.8813924Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8814320Z               "line": 237
2026-06-05T23:17:25.8814698Z             },
2026-06-05T23:17:25.8815075Z             {
2026-06-05T23:17:25.8815637Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8816039Z               "line": 249
2026-06-05T23:17:25.8816411Z             },
2026-06-05T23:17:25.8816784Z             {
2026-06-05T23:17:25.8817358Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:25.8817767Z               "line": 275
2026-06-05T23:17:25.8818145Z             }
2026-06-05T23:17:25.8818515Z           ]
2026-06-05T23:17:25.8818887Z         }
2026-06-05T23:17:25.8819280Z       }
2026-06-05T23:17:25.8819660Z     },
2026-06-05T23:17:25.8820229Z     {
2026-06-05T23:17:25.8820754Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-05T23:17:25.8822065Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-05T23:17:25.8822493Z       "requiredStages": [
2026-06-05T23:17:25.8822883Z         "impl",
2026-06-05T23:17:25.8823259Z         "unit",
2026-06-05T23:17:25.8823639Z         "int"
2026-06-05T23:17:25.8824006Z       ],
2026-06-05T23:17:25.8824399Z       "stages": {
2026-06-05T23:17:25.8824785Z         "doc": {
2026-06-05T23:17:25.8825199Z           "complete": false,
2026-06-05T23:17:25.8825618Z           "evidence": []
2026-06-05T23:17:25.8826121Z         },
2026-06-05T23:17:25.8826520Z         "impl": {
2026-06-05T23:17:25.8826936Z           "complete": true,
2026-06-05T23:17:25.8827343Z           "evidence": [
2026-06-05T23:17:25.8827723Z             {
2026-06-05T23:17:25.8828277Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.8828704Z               "line": 246
2026-06-05T23:17:25.8829074Z             },
2026-06-05T23:17:25.8829483Z             {
2026-06-05T23:17:25.8830031Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.8830443Z               "line": 506
2026-06-05T23:17:25.8835045Z             },
2026-06-05T23:17:25.8835500Z             {
2026-06-05T23:17:25.8836077Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.8836482Z               "line": 529
2026-06-05T23:17:25.8836864Z             },
2026-06-05T23:17:25.8837235Z             {
2026-06-05T23:17:25.8837790Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:25.8838228Z               "line": 553
2026-06-05T23:17:25.8838599Z             },
2026-06-05T23:17:25.8838974Z             {
2026-06-05T23:17:25.8839624Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.8840037Z               "line": 472
2026-06-05T23:17:25.8840411Z             },
2026-06-05T23:17:25.8840795Z             {
2026-06-05T23:17:25.8841375Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.8841776Z               "line": 553
2026-06-05T23:17:25.8842151Z             },
2026-06-05T23:17:25.8842518Z             {
2026-06-05T23:17:25.8843087Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.8843485Z               "line": 597
2026-06-05T23:17:25.8843867Z             },
2026-06-05T23:17:25.8844243Z             {
2026-06-05T23:17:25.8844805Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T23:17:25.8845221Z               "line": 640
2026-06-05T23:17:25.8845598Z             },
2026-06-05T23:17:25.8845983Z             {
2026-06-05T23:17:25.8846564Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T23:17:25.8846970Z               "line": 46
2026-06-05T23:17:25.8847360Z             },
2026-06-05T23:17:25.8847737Z             {
2026-06-05T23:17:25.8848302Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T23:17:25.8848722Z               "line": 160
2026-06-05T23:17:25.8849109Z             },
2026-06-05T23:17:25.8849532Z             {
2026-06-05T23:17:25.8850063Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-05T23:17:25.8850475Z               "line": 71
2026-06-05T23:17:25.8850856Z             },
2026-06-05T23:17:25.8851240Z             {
2026-06-05T23:17:25.8851783Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8852196Z               "line": 128
2026-06-05T23:17:25.8852581Z             },
2026-06-05T23:17:25.8852957Z             {
2026-06-05T23:17:25.8853508Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8853933Z               "line": 174
2026-06-05T23:17:25.8854323Z             }
2026-06-05T23:17:25.8854703Z           ]
2026-06-05T23:17:25.8855089Z         },
2026-06-05T23:17:25.8855484Z         "int": {
2026-06-05T23:17:25.8855916Z           "complete": true,
2026-06-05T23:17:25.8856333Z           "evidence": [
2026-06-05T23:17:25.8856709Z             {
2026-06-05T23:17:25.8857597Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-05T23:17:25.8858004Z               "line": 27
2026-06-05T23:17:25.8858395Z             },
2026-06-05T23:17:25.8858784Z             {
2026-06-05T23:17:25.8859439Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T23:17:25.8859864Z               "line": 125
2026-06-05T23:17:25.8860244Z             },
2026-06-05T23:17:25.8860637Z             {
2026-06-05T23:17:25.8861255Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-05T23:17:25.8861669Z               "line": 189
2026-06-05T23:17:25.8862056Z             }
2026-06-05T23:17:25.8862430Z           ]
2026-06-05T23:17:25.8863042Z         },
2026-06-05T23:17:25.8863456Z         "unit": {
2026-06-05T23:17:25.8863894Z           "complete": true,
2026-06-05T23:17:25.8864301Z           "evidence": [
2026-06-05T23:17:25.8864690Z             {
2026-06-05T23:17:25.8865276Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T23:17:25.8865700Z               "line": 282
2026-06-05T23:17:25.8866092Z             },
2026-06-05T23:17:25.8866472Z             {
2026-06-05T23:17:25.8867045Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T23:17:25.8867458Z               "line": 300
2026-06-05T23:17:25.8867847Z             },
2026-06-05T23:17:25.8868234Z             {
2026-06-05T23:17:25.8868800Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T23:17:25.8869256Z               "line": 318
2026-06-05T23:17:25.8869639Z             },
2026-06-05T23:17:25.8870027Z             {
2026-06-05T23:17:25.8870603Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T23:17:25.8871033Z               "line": 221
2026-06-05T23:17:25.8871425Z             },
2026-06-05T23:17:25.8871805Z             {
2026-06-05T23:17:25.8872399Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-05T23:17:25.8872810Z               "line": 204
2026-06-05T23:17:25.8873202Z             },
2026-06-05T23:17:25.8873595Z             {
2026-06-05T23:17:25.8874173Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-05T23:17:25.8874598Z               "line": 182
2026-06-05T23:17:25.8874983Z             },
2026-06-05T23:17:25.8875372Z             {
2026-06-05T23:17:25.8875913Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8876331Z               "line": 441
2026-06-05T23:17:25.8876722Z             },
2026-06-05T23:17:25.8877106Z             {
2026-06-05T23:17:25.8877667Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:25.8878076Z               "line": 465
2026-06-05T23:17:25.8878460Z             }
2026-06-05T23:17:25.8878843Z           ]
2026-06-05T23:17:25.8879264Z         }
2026-06-05T23:17:25.8879654Z       }
2026-06-05T23:17:25.8880032Z     },
2026-06-05T23:17:25.8880410Z     {
2026-06-05T23:17:25.8880953Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-05T23:17:25.8881859Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-05T23:17:25.8882304Z       "requiredStages": [
2026-06-05T23:17:25.8882705Z         "impl",
2026-06-05T23:17:25.8883096Z         "unit"
2026-06-05T23:17:25.8883474Z       ],
2026-06-05T23:17:25.8883874Z       "stages": {
2026-06-05T23:17:25.8884257Z         "doc": {
2026-06-05T23:17:25.8884688Z           "complete": false,
2026-06-05T23:17:25.8885107Z           "evidence": []
2026-06-05T23:17:25.8885533Z         },
2026-06-05T23:17:25.8885948Z         "impl": {
2026-06-05T23:17:25.8886395Z           "complete": true,
2026-06-05T23:17:25.8886813Z           "evidence": [
2026-06-05T23:17:25.8887190Z             {
2026-06-05T23:17:25.8887833Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.8888235Z               "line": 56
2026-06-05T23:17:25.8888628Z             },
2026-06-05T23:17:25.8889015Z             {
2026-06-05T23:17:25.8889678Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.8890091Z               "line": 65
2026-06-05T23:17:25.8890665Z             },
2026-06-05T23:17:25.8891052Z             {
2026-06-05T23:17:25.8891662Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.8892080Z               "line": 72
2026-06-05T23:17:25.8892467Z             },
2026-06-05T23:17:25.8892845Z             {
2026-06-05T23:17:25.8893396Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8893797Z               "line": 33
2026-06-05T23:17:25.8894180Z             },
2026-06-05T23:17:25.8894556Z             {
2026-06-05T23:17:25.8895110Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8895518Z               "line": 61
2026-06-05T23:17:25.8896034Z             },
2026-06-05T23:17:25.8896434Z             {
2026-06-05T23:17:25.8896985Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8897390Z               "line": 70
2026-06-05T23:17:25.8897767Z             },
2026-06-05T23:17:25.8898155Z             {
2026-06-05T23:17:25.8898725Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8899133Z               "line": 79
2026-06-05T23:17:25.8899558Z             },
2026-06-05T23:17:25.8899931Z             {
2026-06-05T23:17:25.8900481Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8900880Z               "line": 88
2026-06-05T23:17:25.8901272Z             },
2026-06-05T23:17:25.8901662Z             {
2026-06-05T23:17:25.8902213Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8902626Z               "line": 97
2026-06-05T23:17:25.8903008Z             },
2026-06-05T23:17:25.8903410Z             {
2026-06-05T23:17:25.8903990Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8904414Z               "line": 105
2026-06-05T23:17:25.8904810Z             },
2026-06-05T23:17:25.8905190Z             {
2026-06-05T23:17:25.8905739Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8906141Z               "line": 114
2026-06-05T23:17:25.8906547Z             },
2026-06-05T23:17:25.8911125Z             {
2026-06-05T23:17:25.8911759Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8912167Z               "line": 123
2026-06-05T23:17:25.8912538Z             },
2026-06-05T23:17:25.8912917Z             {
2026-06-05T23:17:25.8913451Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8913867Z               "line": 130
2026-06-05T23:17:25.8914250Z             },
2026-06-05T23:17:25.8914618Z             {
2026-06-05T23:17:25.8915159Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8915549Z               "line": 137
2026-06-05T23:17:25.8915967Z             },
2026-06-05T23:17:25.8916342Z             {
2026-06-05T23:17:25.8916935Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8917372Z               "line": 145
2026-06-05T23:17:25.8917748Z             },
2026-06-05T23:17:25.8918122Z             {
2026-06-05T23:17:25.8918661Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8919080Z               "line": 154
2026-06-05T23:17:25.8919511Z             },
2026-06-05T23:17:25.8919894Z             {
2026-06-05T23:17:25.8920443Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8920851Z               "line": 163
2026-06-05T23:17:25.8921227Z             },
2026-06-05T23:17:25.8921598Z             {
2026-06-05T23:17:25.8922138Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8922538Z               "line": 172
2026-06-05T23:17:25.8922920Z             },
2026-06-05T23:17:25.8923302Z             {
2026-06-05T23:17:25.8923849Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8924260Z               "line": 184
2026-06-05T23:17:25.8924633Z             },
2026-06-05T23:17:25.8925009Z             {
2026-06-05T23:17:25.8925542Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8925951Z               "line": 191
2026-06-05T23:17:25.8926589Z             },
2026-06-05T23:17:25.8926967Z             {
2026-06-05T23:17:25.8927510Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8927909Z               "line": 200
2026-06-05T23:17:25.8928292Z             },
2026-06-05T23:17:25.8928666Z             {
2026-06-05T23:17:25.8929252Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8929673Z               "line": 207
2026-06-05T23:17:25.8930048Z             },
2026-06-05T23:17:25.8930429Z             {
2026-06-05T23:17:25.8930962Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8931370Z               "line": 274
2026-06-05T23:17:25.8931743Z             },
2026-06-05T23:17:25.8932257Z             {
2026-06-05T23:17:25.8932823Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8933223Z               "line": 286
2026-06-05T23:17:25.8933604Z             },
2026-06-05T23:17:25.8933972Z             {
2026-06-05T23:17:25.8934510Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8934925Z               "line": 373
2026-06-05T23:17:25.8935302Z             }
2026-06-05T23:17:25.8935679Z           ]
2026-06-05T23:17:25.8936052Z         },
2026-06-05T23:17:25.8936435Z         "int": {
2026-06-05T23:17:25.8936859Z           "complete": false,
2026-06-05T23:17:25.8937270Z           "evidence": []
2026-06-05T23:17:25.8937641Z         },
2026-06-05T23:17:25.8938025Z         "unit": {
2026-06-05T23:17:25.8938447Z           "complete": true,
2026-06-05T23:17:25.8938849Z           "evidence": [
2026-06-05T23:17:25.8939264Z             {
2026-06-05T23:17:25.8939800Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8940219Z               "line": 443
2026-06-05T23:17:25.8940591Z             },
2026-06-05T23:17:25.8940974Z             {
2026-06-05T23:17:25.8941520Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8941920Z               "line": 469
2026-06-05T23:17:25.8942313Z             },
2026-06-05T23:17:25.8942702Z             {
2026-06-05T23:17:25.8943253Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8943663Z               "line": 482
2026-06-05T23:17:25.8944039Z             },
2026-06-05T23:17:25.8944413Z             {
2026-06-05T23:17:25.8944946Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.8945350Z               "line": 547
2026-06-05T23:17:25.8945719Z             }
2026-06-05T23:17:25.8946093Z           ]
2026-06-05T23:17:25.8946471Z         }
2026-06-05T23:17:25.8946836Z       }
2026-06-05T23:17:25.8947212Z     },
2026-06-05T23:17:25.8947576Z     {
2026-06-05T23:17:25.8948054Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-05T23:17:25.8948989Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-05T23:17:25.8949467Z       "requiredStages": [
2026-06-05T23:17:25.8949866Z         "impl",
2026-06-05T23:17:25.8950245Z         "unit"
2026-06-05T23:17:25.8950618Z       ],
2026-06-05T23:17:25.8951000Z       "stages": {
2026-06-05T23:17:25.8951400Z         "doc": {
2026-06-05T23:17:25.8951823Z           "complete": false,
2026-06-05T23:17:25.8952237Z           "evidence": []
2026-06-05T23:17:25.8952607Z         },
2026-06-05T23:17:25.8953006Z         "impl": {
2026-06-05T23:17:25.8953427Z           "complete": true,
2026-06-05T23:17:25.8953823Z           "evidence": [
2026-06-05T23:17:25.8954203Z             {
2026-06-05T23:17:25.8954728Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:25.8955135Z               "line": 132
2026-06-05T23:17:25.8955517Z             },
2026-06-05T23:17:25.8955884Z             {
2026-06-05T23:17:25.8956458Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.8956866Z               "line": 145
2026-06-05T23:17:25.8957248Z             }
2026-06-05T23:17:25.8957617Z           ]
2026-06-05T23:17:25.8957999Z         },
2026-06-05T23:17:25.8958385Z         "int": {
2026-06-05T23:17:25.8958802Z           "complete": false,
2026-06-05T23:17:25.8959463Z           "evidence": []
2026-06-05T23:17:25.8959840Z         },
2026-06-05T23:17:25.8960227Z         "unit": {
2026-06-05T23:17:25.8960644Z           "complete": true,
2026-06-05T23:17:25.8961052Z           "evidence": [
2026-06-05T23:17:25.8961425Z             {
2026-06-05T23:17:25.8961951Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:25.8962358Z               "line": 250
2026-06-05T23:17:25.8962731Z             },
2026-06-05T23:17:25.8963110Z             {
2026-06-05T23:17:25.8963668Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.8964072Z               "line": 512
2026-06-05T23:17:25.8964453Z             },
2026-06-05T23:17:25.8964952Z             {
2026-06-05T23:17:25.8965541Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:25.8965945Z               "line": 522
2026-06-05T23:17:25.8966320Z             }
2026-06-05T23:17:25.8966687Z           ]
2026-06-05T23:17:25.8967067Z         }
2026-06-05T23:17:25.8967442Z       }
2026-06-05T23:17:25.8967820Z     },
2026-06-05T23:17:25.8968191Z     {
2026-06-05T23:17:25.8968682Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-05T23:17:25.8969353Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-05T23:17:25.8969776Z       "requiredStages": [
2026-06-05T23:17:25.8970163Z         "impl",
2026-06-05T23:17:25.8970552Z         "unit"
2026-06-05T23:17:25.8970924Z       ],
2026-06-05T23:17:25.8971318Z       "stages": {
2026-06-05T23:17:25.8971686Z         "doc": {
2026-06-05T23:17:25.8972114Z           "complete": false,
2026-06-05T23:17:25.8972522Z           "evidence": []
2026-06-05T23:17:25.8972897Z         },
2026-06-05T23:17:25.8973296Z         "impl": {
2026-06-05T23:17:25.8973709Z           "complete": true,
2026-06-05T23:17:25.8974119Z           "evidence": [
2026-06-05T23:17:25.8974485Z             {
2026-06-05T23:17:25.8975049Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:25.8975443Z               "line": 54
2026-06-05T23:17:25.8975838Z             },
2026-06-05T23:17:25.8976212Z             {
2026-06-05T23:17:25.8976806Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:25.8977213Z               "line": 393
2026-06-05T23:17:25.8977579Z             }
2026-06-05T23:17:25.8977954Z           ]
2026-06-05T23:17:25.8978325Z         },
2026-06-05T23:17:25.8978717Z         "int": {
2026-06-05T23:17:25.8979146Z           "complete": false,
2026-06-05T23:17:25.8979834Z           "evidence": []
2026-06-05T23:17:25.8980353Z         },
2026-06-05T23:17:25.8987338Z         "unit": {
2026-06-05T23:17:25.8987943Z           "complete": true,
2026-06-05T23:17:25.8988348Z           "evidence": [
2026-06-05T23:17:25.8988787Z             {
2026-06-05T23:17:25.8989724Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:25.8990530Z               "line": 425
2026-06-05T23:17:25.8990950Z             }
2026-06-05T23:17:25.8991353Z           ]
2026-06-05T23:17:25.8991764Z         }
2026-06-05T23:17:25.8992170Z       }
2026-06-05T23:17:25.8992561Z     },
2026-06-05T23:17:25.8992938Z     {
2026-06-05T23:17:25.8993522Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-05T23:17:25.8994333Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-05T23:17:25.8994771Z       "requiredStages": [
2026-06-05T23:17:25.8995217Z         "impl",
2026-06-05T23:17:25.8995601Z         "unit"
2026-06-05T23:17:25.8995991Z       ],
2026-06-05T23:17:25.8996395Z       "stages": {
2026-06-05T23:17:25.8996797Z         "doc": {
2026-06-05T23:17:25.8997250Z           "complete": false,
2026-06-05T23:17:25.8997674Z           "evidence": []
2026-06-05T23:17:25.8998078Z         },
2026-06-05T23:17:25.8998507Z         "impl": {
2026-06-05T23:17:25.8998960Z           "complete": true,
2026-06-05T23:17:25.8999454Z           "evidence": [
2026-06-05T23:17:25.8999976Z             {
2026-06-05T23:17:25.9000573Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9000985Z               "line": 432
2026-06-05T23:17:25.9001713Z             },
2026-06-05T23:17:25.9002100Z             {
2026-06-05T23:17:25.9002676Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.9003089Z               "line": 28
2026-06-05T23:17:25.9003469Z             }
2026-06-05T23:17:25.9003854Z           ]
2026-06-05T23:17:25.9004226Z         },
2026-06-05T23:17:25.9004621Z         "int": {
2026-06-05T23:17:25.9005045Z           "complete": false,
2026-06-05T23:17:25.9005469Z           "evidence": []
2026-06-05T23:17:25.9005856Z         },
2026-06-05T23:17:25.9006238Z         "unit": {
2026-06-05T23:17:25.9006669Z           "complete": true,
2026-06-05T23:17:25.9007214Z           "evidence": [
2026-06-05T23:17:25.9007618Z             {
2026-06-05T23:17:25.9008166Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.9008583Z               "line": 200
2026-06-05T23:17:25.9008972Z             }
2026-06-05T23:17:25.9009557Z           ]
2026-06-05T23:17:25.9010105Z         }
2026-06-05T23:17:25.9010505Z       }
2026-06-05T23:17:25.9010887Z     },
2026-06-05T23:17:25.9011254Z     {
2026-06-05T23:17:25.9011761Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-05T23:17:25.9012411Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-05T23:17:25.9012848Z       "requiredStages": [],
2026-06-05T23:17:25.9013251Z       "stages": {
2026-06-05T23:17:25.9013639Z         "doc": {
2026-06-05T23:17:25.9014081Z           "complete": false,
2026-06-05T23:17:25.9014494Z           "evidence": []
2026-06-05T23:17:25.9014883Z         },
2026-06-05T23:17:25.9015281Z         "impl": {
2026-06-05T23:17:25.9015703Z           "complete": false,
2026-06-05T23:17:25.9016126Z           "evidence": []
2026-06-05T23:17:25.9016503Z         },
2026-06-05T23:17:25.9016894Z         "int": {
2026-06-05T23:17:25.9017314Z           "complete": false,
2026-06-05T23:17:25.9017735Z           "evidence": []
2026-06-05T23:17:25.9018109Z         },
2026-06-05T23:17:25.9018505Z         "unit": {
2026-06-05T23:17:25.9018949Z           "complete": false,
2026-06-05T23:17:25.9019392Z           "evidence": []
2026-06-05T23:17:25.9020082Z         }
2026-06-05T23:17:25.9020463Z       }
2026-06-05T23:17:25.9020853Z     },
2026-06-05T23:17:25.9021229Z     {
2026-06-05T23:17:25.9021761Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-05T23:17:25.9022483Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-05T23:17:25.9022911Z       "requiredStages": [
2026-06-05T23:17:25.9023307Z         "impl",
2026-06-05T23:17:25.9023688Z         "unit"
2026-06-05T23:17:25.9024077Z       ],
2026-06-05T23:17:25.9024465Z       "stages": {
2026-06-05T23:17:25.9024855Z         "doc": {
2026-06-05T23:17:25.9025300Z           "complete": false,
2026-06-05T23:17:25.9025710Z           "evidence": []
2026-06-05T23:17:25.9026093Z         },
2026-06-05T23:17:25.9026485Z         "impl": {
2026-06-05T23:17:25.9026916Z           "complete": true,
2026-06-05T23:17:25.9027320Z           "evidence": [
2026-06-05T23:17:25.9027734Z             {
2026-06-05T23:17:25.9028260Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T23:17:25.9028655Z               "line": 19
2026-06-05T23:17:25.9029043Z             },
2026-06-05T23:17:25.9029627Z             {
2026-06-05T23:17:25.9030391Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:25.9030809Z               "line": 325
2026-06-05T23:17:25.9031187Z             },
2026-06-05T23:17:25.9031576Z             {
2026-06-05T23:17:25.9032149Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:25.9032561Z               "line": 361
2026-06-05T23:17:25.9032938Z             },
2026-06-05T23:17:25.9033336Z             {
2026-06-05T23:17:25.9033898Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T23:17:25.9034302Z               "line": 15
2026-06-05T23:17:25.9034691Z             },
2026-06-05T23:17:25.9035070Z             {
2026-06-05T23:17:25.9035624Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T23:17:25.9036217Z               "line": 48
2026-06-05T23:17:25.9036607Z             },
2026-06-05T23:17:25.9036993Z             {
2026-06-05T23:17:25.9037544Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T23:17:25.9037963Z               "line": 106
2026-06-05T23:17:25.9038341Z             }
2026-06-05T23:17:25.9038728Z           ]
2026-06-05T23:17:25.9039101Z         },
2026-06-05T23:17:25.9039614Z         "int": {
2026-06-05T23:17:25.9040049Z           "complete": false,
2026-06-05T23:17:25.9040458Z           "evidence": []
2026-06-05T23:17:25.9040841Z         },
2026-06-05T23:17:25.9041225Z         "unit": {
2026-06-05T23:17:25.9041652Z           "complete": true,
2026-06-05T23:17:25.9042176Z           "evidence": [
2026-06-05T23:17:25.9042575Z             {
2026-06-05T23:17:25.9043166Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:25.9043571Z               "line": 453
2026-06-05T23:17:25.9044059Z             },
2026-06-05T23:17:25.9044442Z             {
2026-06-05T23:17:25.9045011Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T23:17:25.9045415Z               "line": 149
2026-06-05T23:17:25.9045808Z             },
2026-06-05T23:17:25.9046197Z             {
2026-06-05T23:17:25.9046740Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T23:17:25.9047150Z               "line": 156
2026-06-05T23:17:25.9047527Z             }
2026-06-05T23:17:25.9047910Z           ]
2026-06-05T23:17:25.9048285Z         }
2026-06-05T23:17:25.9048668Z       }
2026-06-05T23:17:25.9049047Z     },
2026-06-05T23:17:25.9049463Z     {
2026-06-05T23:17:25.9049998Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-05T23:17:25.9050739Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-05T23:17:25.9051175Z       "requiredStages": [
2026-06-05T23:17:25.9051551Z         "impl",
2026-06-05T23:17:25.9051937Z         "unit"
2026-06-05T23:17:25.9052318Z       ],
2026-06-05T23:17:25.9052696Z       "stages": {
2026-06-05T23:17:25.9053087Z         "doc": {
2026-06-05T23:17:25.9053506Z           "complete": false,
2026-06-05T23:17:25.9053914Z           "evidence": []
2026-06-05T23:17:25.9054277Z         },
2026-06-05T23:17:25.9054666Z         "impl": {
2026-06-05T23:17:25.9055084Z           "complete": true,
2026-06-05T23:17:25.9055483Z           "evidence": [
2026-06-05T23:17:25.9055857Z             {
2026-06-05T23:17:25.9056405Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.9056813Z               "line": 35
2026-06-05T23:17:25.9057181Z             }
2026-06-05T23:17:25.9057554Z           ]
2026-06-05T23:17:25.9057932Z         },
2026-06-05T23:17:25.9058305Z         "int": {
2026-06-05T23:17:25.9058744Z           "complete": false,
2026-06-05T23:17:25.9059151Z           "evidence": []
2026-06-05T23:17:25.9064885Z         },
2026-06-05T23:17:25.9065404Z         "unit": {
2026-06-05T23:17:25.9065841Z           "complete": true,
2026-06-05T23:17:25.9066246Z           "evidence": [
2026-06-05T23:17:25.9066614Z             {
2026-06-05T23:17:25.9067217Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T23:17:25.9067628Z               "line": 217
2026-06-05T23:17:25.9068012Z             }
2026-06-05T23:17:25.9068378Z           ]
2026-06-05T23:17:25.9068748Z         }
2026-06-05T23:17:25.9069118Z       }
2026-06-05T23:17:25.9069792Z     },
2026-06-05T23:17:25.9070331Z     {
2026-06-05T23:17:25.9070817Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-05T23:17:25.9072096Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-05T23:17:25.9072522Z       "requiredStages": [
2026-06-05T23:17:25.9072911Z         "impl",
2026-06-05T23:17:25.9073302Z         "unit"
2026-06-05T23:17:25.9073677Z       ],
2026-06-05T23:17:25.9074064Z       "stages": {
2026-06-05T23:17:25.9074438Z         "doc": {
2026-06-05T23:17:25.9074872Z           "complete": false,
2026-06-05T23:17:25.9075275Z           "evidence": []
2026-06-05T23:17:25.9075653Z         },
2026-06-05T23:17:25.9076310Z         "impl": {
2026-06-05T23:17:25.9076727Z           "complete": true,
2026-06-05T23:17:25.9077134Z           "evidence": [
2026-06-05T23:17:25.9077501Z             {
2026-06-05T23:17:25.9078103Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:25.9078509Z               "line": 256
2026-06-05T23:17:25.9078893Z             },
2026-06-05T23:17:25.9079470Z             {
2026-06-05T23:17:25.9080180Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:25.9080580Z               "line": 275
2026-06-05T23:17:25.9080952Z             },
2026-06-05T23:17:25.9081326Z             {
2026-06-05T23:17:25.9082008Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:25.9082425Z               "line": 150
2026-06-05T23:17:25.9082802Z             }
2026-06-05T23:17:25.9083168Z           ]
2026-06-05T23:17:25.9083542Z         },
2026-06-05T23:17:25.9083915Z         "int": {
2026-06-05T23:17:25.9084342Z           "complete": false,
2026-06-05T23:17:25.9084757Z           "evidence": []
2026-06-05T23:17:25.9085134Z         },
2026-06-05T23:17:25.9085524Z         "unit": {
2026-06-05T23:17:25.9085937Z           "complete": true,
2026-06-05T23:17:25.9086340Z           "evidence": [
2026-06-05T23:17:25.9086712Z             {
2026-06-05T23:17:25.9087284Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:25.9087682Z               "line": 531
2026-06-05T23:17:25.9088062Z             },
2026-06-05T23:17:25.9088442Z             {
2026-06-05T23:17:25.9089003Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:25.9089453Z               "line": 542
2026-06-05T23:17:25.9089840Z             },
2026-06-05T23:17:25.9090215Z             {
2026-06-05T23:17:25.9090788Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:25.9091201Z               "line": 558
2026-06-05T23:17:25.9091583Z             },
2026-06-05T23:17:25.9091952Z             {
2026-06-05T23:17:25.9092523Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:25.9092932Z               "line": 572
2026-06-05T23:17:25.9093315Z             },
2026-06-05T23:17:25.9093681Z             {
2026-06-05T23:17:25.9094301Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T23:17:25.9094707Z               "line": 268
2026-06-05T23:17:25.9095082Z             }
2026-06-05T23:17:25.9095454Z           ]
2026-06-05T23:17:25.9095816Z         }
2026-06-05T23:17:25.9096191Z       }
2026-06-05T23:17:25.9096557Z     },
2026-06-05T23:17:25.9096935Z     {
2026-06-05T23:17:25.9097421Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-05T23:17:25.9101458Z       "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-05T23:17:25.9101907Z       "requiredStages": [
2026-06-05T23:17:25.9102283Z         "doc",
2026-06-05T23:17:25.9102701Z         "impl",
2026-06-05T23:17:25.9103083Z         "unit"
2026-06-05T23:17:25.9103449Z       ],
2026-06-05T23:17:25.9103840Z       "stages": {
2026-06-05T23:17:25.9104212Z         "doc": {
2026-06-05T23:17:25.9104636Z           "complete": true,
2026-06-05T23:17:25.9105031Z           "evidence": [
2026-06-05T23:17:25.9105405Z             {
2026-06-05T23:17:25.9105917Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T23:17:25.9106319Z               "line": 266
2026-06-05T23:17:25.9106694Z             }
2026-06-05T23:17:25.9107060Z           ]
2026-06-05T23:17:25.9107437Z         },
2026-06-05T23:17:25.9107827Z         "impl": {
2026-06-05T23:17:25.9108287Z           "complete": true,
2026-06-05T23:17:25.9108689Z           "evidence": [
2026-06-05T23:17:25.9109057Z             {
2026-06-05T23:17:25.9109677Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:25.9110076Z               "line": 85
2026-06-05T23:17:25.9110459Z             },
2026-06-05T23:17:25.9110983Z             {
2026-06-05T23:17:25.9111550Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T23:17:25.9111949Z               "line": 99
2026-06-05T23:17:25.9112317Z             },
2026-06-05T23:17:25.9112691Z             {
2026-06-05T23:17:25.9113267Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:25.9113675Z               "line": 55
2026-06-05T23:17:25.9114042Z             },
2026-06-05T23:17:25.9114412Z             {
2026-06-05T23:17:25.9114988Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:25.9115378Z               "line": 31
2026-06-05T23:17:25.9115758Z             },
2026-06-05T23:17:25.9116293Z             {
2026-06-05T23:17:25.9116893Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:25.9117295Z               "line": 187
2026-06-05T23:17:25.9117670Z             },
2026-06-05T23:17:25.9118048Z             {
2026-06-05T23:17:25.9118628Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:25.9119054Z               "line": 89
2026-06-05T23:17:25.9119466Z             },
2026-06-05T23:17:25.9119855Z             {
2026-06-05T23:17:25.9120442Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:25.9120841Z               "line": 29
2026-06-05T23:17:25.9121215Z             },
2026-06-05T23:17:25.9121582Z             {
2026-06-05T23:17:25.9122173Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:25.9122565Z               "line": 75
2026-06-05T23:17:25.9122943Z             },
2026-06-05T23:17:25.9123309Z             {
2026-06-05T23:17:25.9123941Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9124350Z               "line": 121
2026-06-05T23:17:25.9124717Z             },
2026-06-05T23:17:25.9125094Z             {
2026-06-05T23:17:25.9125663Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T23:17:25.9126063Z               "line": 28
2026-06-05T23:17:25.9126454Z             },
2026-06-05T23:17:25.9126817Z             {
2026-06-05T23:17:25.9127391Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T23:17:25.9127778Z               "line": 74
2026-06-05T23:17:25.9128151Z             },
2026-06-05T23:17:25.9128519Z             {
2026-06-05T23:17:25.9129059Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9129508Z               "line": 40
2026-06-05T23:17:25.9129884Z             },
2026-06-05T23:17:25.9130258Z             {
2026-06-05T23:17:25.9130782Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9131191Z               "line": 161
2026-06-05T23:17:25.9131566Z             },
2026-06-05T23:17:25.9131952Z             {
2026-06-05T23:17:25.9132484Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-05T23:17:25.9132878Z               "line": 70
2026-06-05T23:17:25.9133254Z             },
2026-06-05T23:17:25.9133619Z             {
2026-06-05T23:17:25.9134156Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:25.9134565Z               "line": 210
2026-06-05T23:17:25.9134938Z             },
2026-06-05T23:17:25.9135310Z             {
2026-06-05T23:17:25.9135846Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T23:17:25.9136246Z               "line": 37
2026-06-05T23:17:25.9136613Z             },
2026-06-05T23:17:25.9136988Z             {
2026-06-05T23:17:25.9137541Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T23:17:25.9137940Z               "line": 38
2026-06-05T23:17:25.9138318Z             },
2026-06-05T23:17:25.9138681Z             {
2026-06-05T23:17:25.9143465Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T23:17:25.9143962Z               "line": 36
2026-06-05T23:17:25.9144345Z             },
2026-06-05T23:17:25.9144712Z             {
2026-06-05T23:17:25.9145275Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T23:17:25.9145676Z               "line": 40
2026-06-05T23:17:25.9146043Z             }
2026-06-05T23:17:25.9146658Z           ]
2026-06-05T23:17:25.9147027Z         },
2026-06-05T23:17:25.9147405Z         "int": {
2026-06-05T23:17:25.9147819Z           "complete": false,
2026-06-05T23:17:25.9148220Z           "evidence": []
2026-06-05T23:17:25.9148596Z         },
2026-06-05T23:17:25.9148972Z         "unit": {
2026-06-05T23:17:25.9149478Z           "complete": true,
2026-06-05T23:17:25.9149871Z           "evidence": [
2026-06-05T23:17:25.9150239Z             {
2026-06-05T23:17:25.9150814Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:25.9151219Z               "line": 179
2026-06-05T23:17:25.9151592Z             },
2026-06-05T23:17:25.9152090Z             {
2026-06-05T23:17:25.9152718Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-05T23:17:25.9153118Z               "line": 117
2026-06-05T23:17:25.9153495Z             },
2026-06-05T23:17:25.9153857Z             {
2026-06-05T23:17:25.9154468Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T23:17:25.9154895Z               "line": 344
2026-06-05T23:17:25.9155259Z             },
2026-06-05T23:17:25.9155637Z             {
2026-06-05T23:17:25.9156195Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T23:17:25.9156601Z               "line": 204
2026-06-05T23:17:25.9156979Z             },
2026-06-05T23:17:25.9157343Z             {
2026-06-05T23:17:25.9157915Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-05T23:17:25.9158311Z               "line": 147
2026-06-05T23:17:25.9158686Z             },
2026-06-05T23:17:25.9159053Z             {
2026-06-05T23:17:25.9159660Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T23:17:25.9160066Z               "line": 106
2026-06-05T23:17:25.9160430Z             },
2026-06-05T23:17:25.9160804Z             {
2026-06-05T23:17:25.9161330Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T23:17:25.9161734Z               "line": 142
2026-06-05T23:17:25.9162103Z             },
2026-06-05T23:17:25.9162495Z             {
2026-06-05T23:17:25.9163061Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T23:17:25.9163456Z               "line": 139
2026-06-05T23:17:25.9163829Z             },
2026-06-05T23:17:25.9164197Z             {
2026-06-05T23:17:25.9164756Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T23:17:25.9165148Z               "line": 126
2026-06-05T23:17:25.9165519Z             },
2026-06-05T23:17:25.9165894Z             {
2026-06-05T23:17:25.9166419Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T23:17:25.9166822Z               "line": 135
2026-06-05T23:17:25.9167187Z             }
2026-06-05T23:17:25.9167572Z           ]
2026-06-05T23:17:25.9167943Z         }
2026-06-05T23:17:25.9168315Z       }
2026-06-05T23:17:25.9168685Z     },
2026-06-05T23:17:25.9169039Z     {
2026-06-05T23:17:25.9169600Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-05T23:17:25.9170341Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-05T23:17:25.9170782Z       "requiredStages": [
2026-06-05T23:17:25.9171159Z         "impl",
2026-06-05T23:17:25.9171537Z         "unit"
2026-06-05T23:17:25.9171911Z       ],
2026-06-05T23:17:25.9172293Z       "stages": {
2026-06-05T23:17:25.9172673Z         "doc": {
2026-06-05T23:17:25.9173082Z           "complete": false,
2026-06-05T23:17:25.9173498Z           "evidence": []
2026-06-05T23:17:25.9173863Z         },
2026-06-05T23:17:25.9174254Z         "impl": {
2026-06-05T23:17:25.9174669Z           "complete": true,
2026-06-05T23:17:25.9175061Z           "evidence": [
2026-06-05T23:17:25.9175437Z             {
2026-06-05T23:17:25.9175983Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:25.9176382Z               "line": 95
2026-06-05T23:17:25.9176750Z             },
2026-06-05T23:17:25.9177119Z             {
2026-06-05T23:17:25.9177657Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.9178047Z               "line": 99
2026-06-05T23:17:25.9178572Z             }
2026-06-05T23:17:25.9178934Z           ]
2026-06-05T23:17:25.9179342Z         },
2026-06-05T23:17:25.9179718Z         "int": {
2026-06-05T23:17:25.9180145Z           "complete": false,
2026-06-05T23:17:25.9180556Z           "evidence": []
2026-06-05T23:17:25.9180921Z         },
2026-06-05T23:17:25.9181308Z         "unit": {
2026-06-05T23:17:25.9181729Z           "complete": true,
2026-06-05T23:17:25.9182129Z           "evidence": [
2026-06-05T23:17:25.9182492Z             {
2026-06-05T23:17:25.9183033Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:25.9183435Z               "line": 250
2026-06-05T23:17:25.9183806Z             },
2026-06-05T23:17:25.9184290Z             {
2026-06-05T23:17:25.9184827Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T23:17:25.9185230Z               "line": 191
2026-06-05T23:17:25.9185596Z             },
2026-06-05T23:17:25.9185968Z             {
2026-06-05T23:17:25.9186506Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.9186918Z               "line": 432
2026-06-05T23:17:25.9187295Z             },
2026-06-05T23:17:25.9187658Z             {
2026-06-05T23:17:25.9188196Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.9188589Z               "line": 462
2026-06-05T23:17:25.9188963Z             }
2026-06-05T23:17:25.9189372Z           ]
2026-06-05T23:17:25.9189735Z         }
2026-06-05T23:17:25.9190107Z       }
2026-06-05T23:17:25.9190467Z     },
2026-06-05T23:17:25.9190833Z     {
2026-06-05T23:17:25.9191302Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-05T23:17:25.9192174Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-05T23:17:25.9192597Z       "requiredStages": [
2026-06-05T23:17:25.9192974Z         "impl",
2026-06-05T23:17:25.9193349Z         "unit"
2026-06-05T23:17:25.9193713Z       ],
2026-06-05T23:17:25.9194101Z       "stages": {
2026-06-05T23:17:25.9194472Z         "doc": {
2026-06-05T23:17:25.9194896Z           "complete": false,
2026-06-05T23:17:25.9195311Z           "evidence": []
2026-06-05T23:17:25.9195677Z         },
2026-06-05T23:17:25.9196064Z         "impl": {
2026-06-05T23:17:25.9196473Z           "complete": true,
2026-06-05T23:17:25.9196874Z           "evidence": [
2026-06-05T23:17:25.9197238Z             {
2026-06-05T23:17:25.9197777Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.9198175Z               "line": 230
2026-06-05T23:17:25.9198540Z             },
2026-06-05T23:17:25.9198913Z             {
2026-06-05T23:17:25.9199465Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.9199865Z               "line": 275
2026-06-05T23:17:25.9200239Z             },
2026-06-05T23:17:25.9200608Z             {
2026-06-05T23:17:25.9201141Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.9201529Z               "line": 287
2026-06-05T23:17:25.9201901Z             }
2026-06-05T23:17:25.9202270Z           ]
2026-06-05T23:17:25.9202650Z         },
2026-06-05T23:17:25.9203015Z         "int": {
2026-06-05T23:17:25.9203433Z           "complete": false,
2026-06-05T23:17:25.9203837Z           "evidence": []
2026-06-05T23:17:25.9204202Z         },
2026-06-05T23:17:25.9204583Z         "unit": {
2026-06-05T23:17:25.9204987Z           "complete": true,
2026-06-05T23:17:25.9205386Z           "evidence": [
2026-06-05T23:17:25.9205747Z             {
2026-06-05T23:17:25.9206290Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.9206694Z               "line": 423
2026-06-05T23:17:25.9207067Z             },
2026-06-05T23:17:25.9207435Z             {
2026-06-05T23:17:25.9207978Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:25.9208382Z               "line": 452
2026-06-05T23:17:25.9208748Z             }
2026-06-05T23:17:25.9209118Z           ]
2026-06-05T23:17:25.9209520Z         }
2026-06-05T23:17:25.9209879Z       }
2026-06-05T23:17:25.9210244Z     },
2026-06-05T23:17:25.9210599Z     {
2026-06-05T23:17:25.9211171Z       "id": "REQ-INFRA-1",
2026-06-05T23:17:25.9212023Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-05T23:17:25.9216498Z       "requiredStages": [],
2026-06-05T23:17:25.9216931Z       "stages": {
2026-06-05T23:17:25.9217311Z         "doc": {
2026-06-05T23:17:25.9217743Z           "complete": false,
2026-06-05T23:17:25.9218143Z           "evidence": []
2026-06-05T23:17:25.9218517Z         },
2026-06-05T23:17:25.9218891Z         "impl": {
2026-06-05T23:17:25.9219388Z           "complete": false,
2026-06-05T23:17:25.9219797Z           "evidence": []
2026-06-05T23:17:25.9220160Z         },
2026-06-05T23:17:25.9220543Z         "int": {
2026-06-05T23:17:25.9221179Z           "complete": false,
2026-06-05T23:17:25.9221624Z           "evidence": []
2026-06-05T23:17:25.9221993Z         },
2026-06-05T23:17:25.9222380Z         "unit": {
2026-06-05T23:17:25.9222807Z           "complete": false,
2026-06-05T23:17:25.9223203Z           "evidence": []
2026-06-05T23:17:25.9223596Z         }
2026-06-05T23:17:25.9223959Z       }
2026-06-05T23:17:25.9224329Z     },
2026-06-05T23:17:25.9224691Z     {
2026-06-05T23:17:25.9225104Z       "id": "REQ-INST-1",
2026-06-05T23:17:25.9225862Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-05T23:17:25.9226288Z       "requiredStages": [],
2026-06-05T23:17:25.9226679Z       "stages": {
2026-06-05T23:17:25.9227049Z         "doc": {
2026-06-05T23:17:25.9227467Z           "complete": false,
2026-06-05T23:17:25.9227861Z           "evidence": []
2026-06-05T23:17:25.9228238Z         },
2026-06-05T23:17:25.9228630Z         "impl": {
2026-06-05T23:17:25.9229042Z           "complete": false,
2026-06-05T23:17:25.9229492Z           "evidence": []
2026-06-05T23:17:25.9229858Z         },
2026-06-05T23:17:25.9230237Z         "int": {
2026-06-05T23:17:25.9230653Z           "complete": false,
2026-06-05T23:17:25.9231060Z           "evidence": []
2026-06-05T23:17:25.9231433Z         },
2026-06-05T23:17:25.9231807Z         "unit": {
2026-06-05T23:17:25.9232239Z           "complete": false,
2026-06-05T23:17:25.9232637Z           "evidence": []
2026-06-05T23:17:25.9233013Z         }
2026-06-05T23:17:25.9233379Z       }
2026-06-05T23:17:25.9233751Z     },
2026-06-05T23:17:25.9234128Z     {
2026-06-05T23:17:25.9234540Z       "id": "REQ-INST-10",
2026-06-05T23:17:25.9235566Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-05T23:17:25.9235985Z       "requiredStages": [
2026-06-05T23:17:25.9236371Z         "impl",
2026-06-05T23:17:25.9236742Z         "unit"
2026-06-05T23:17:25.9237114Z       ],
2026-06-05T23:17:25.9237499Z       "stages": {
2026-06-05T23:17:25.9237882Z         "doc": {
2026-06-05T23:17:25.9238306Z           "complete": false,
2026-06-05T23:17:25.9238705Z           "evidence": []
2026-06-05T23:17:25.9239074Z         },
2026-06-05T23:17:25.9239483Z         "impl": {
2026-06-05T23:17:25.9239902Z           "complete": true,
2026-06-05T23:17:25.9240302Z           "evidence": [
2026-06-05T23:17:25.9240680Z             {
2026-06-05T23:17:25.9241266Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9241662Z               "line": 440
2026-06-05T23:17:25.9242037Z             },
2026-06-05T23:17:25.9242398Z             {
2026-06-05T23:17:25.9242984Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9243390Z               "line": 495
2026-06-05T23:17:25.9243759Z             },
2026-06-05T23:17:25.9244132Z             {
2026-06-05T23:17:25.9244661Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T23:17:25.9245058Z               "line": 13
2026-06-05T23:17:25.9245426Z             },
2026-06-05T23:17:25.9245813Z             {
2026-06-05T23:17:25.9246355Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T23:17:25.9246747Z               "line": 67
2026-06-05T23:17:25.9247120Z             },
2026-06-05T23:17:25.9247483Z             {
2026-06-05T23:17:25.9247992Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:25.9248618Z               "line": 18
2026-06-05T23:17:25.9248993Z             }
2026-06-05T23:17:25.9249407Z           ]
2026-06-05T23:17:25.9249772Z         },
2026-06-05T23:17:25.9250154Z         "int": {
2026-06-05T23:17:25.9250564Z           "complete": false,
2026-06-05T23:17:25.9250974Z           "evidence": []
2026-06-05T23:17:25.9251334Z         },
2026-06-05T23:17:25.9251722Z         "unit": {
2026-06-05T23:17:25.9252137Z           "complete": true,
2026-06-05T23:17:25.9252529Z           "evidence": [
2026-06-05T23:17:25.9252897Z             {
2026-06-05T23:17:25.9253468Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9253996Z               "line": 639
2026-06-05T23:17:25.9254378Z             },
2026-06-05T23:17:25.9254749Z             {
2026-06-05T23:17:25.9255327Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9255731Z               "line": 776
2026-06-05T23:17:25.9256107Z             },
2026-06-05T23:17:25.9256489Z             {
2026-06-05T23:17:25.9257067Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9257459Z               "line": 784
2026-06-05T23:17:25.9257831Z             },
2026-06-05T23:17:25.9258204Z             {
2026-06-05T23:17:25.9258771Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9259215Z               "line": 797
2026-06-05T23:17:25.9259586Z             },
2026-06-05T23:17:25.9259955Z             {
2026-06-05T23:17:25.9260530Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9260925Z               "line": 810
2026-06-05T23:17:25.9261300Z             },
2026-06-05T23:17:25.9261679Z             {
2026-06-05T23:17:25.9262250Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9262649Z               "line": 826
2026-06-05T23:17:25.9263022Z             },
2026-06-05T23:17:25.9263394Z             {
2026-06-05T23:17:25.9263959Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9264373Z               "line": 1055
2026-06-05T23:17:25.9264743Z             },
2026-06-05T23:17:25.9265120Z             {
2026-06-05T23:17:25.9265650Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T23:17:25.9266052Z               "line": 121
2026-06-05T23:17:25.9266424Z             },
2026-06-05T23:17:25.9266787Z             {
2026-06-05T23:17:25.9267321Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T23:17:25.9267715Z               "line": 142
2026-06-05T23:17:25.9268086Z             },
2026-06-05T23:17:25.9268445Z             {
2026-06-05T23:17:25.9268978Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T23:17:25.9269419Z               "line": 150
2026-06-05T23:17:25.9269786Z             },
2026-06-05T23:17:25.9270159Z             {
2026-06-05T23:17:25.9270682Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T23:17:25.9271085Z               "line": 158
2026-06-05T23:17:25.9271450Z             }
2026-06-05T23:17:25.9271836Z           ]
2026-06-05T23:17:25.9272201Z         }
2026-06-05T23:17:25.9272564Z       }
2026-06-05T23:17:25.9272933Z     },
2026-06-05T23:17:25.9273293Z     {
2026-06-05T23:17:25.9273707Z       "id": "REQ-INST-11",
2026-06-05T23:17:25.9274739Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-05T23:17:25.9275171Z       "requiredStages": [
2026-06-05T23:17:25.9275551Z         "impl",
2026-06-05T23:17:25.9275921Z         "unit"
2026-06-05T23:17:25.9276292Z       ],
2026-06-05T23:17:25.9276667Z       "stages": {
2026-06-05T23:17:25.9277052Z         "doc": {
2026-06-05T23:17:25.9277469Z           "complete": false,
2026-06-05T23:17:25.9277881Z           "evidence": []
2026-06-05T23:17:25.9278256Z         },
2026-06-05T23:17:25.9278633Z         "impl": {
2026-06-05T23:17:25.9280279Z           "complete": true,
2026-06-05T23:17:25.9280968Z           "evidence": [
2026-06-05T23:17:25.9281475Z             {
2026-06-05T23:17:25.9282200Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9283645Z               "line": 342
2026-06-05T23:17:25.9284086Z             },
2026-06-05T23:17:25.9284641Z             {
2026-06-05T23:17:25.9285257Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.9285659Z               "line": 252
2026-06-05T23:17:25.9286035Z             },
2026-06-05T23:17:25.9286408Z             {
2026-06-05T23:17:25.9286958Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T23:17:25.9287361Z               "line": 59
2026-06-05T23:17:25.9287738Z             },
2026-06-05T23:17:25.9292996Z             {
2026-06-05T23:17:25.9293859Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9294319Z               "line": 1513
2026-06-05T23:17:25.9294703Z             },
2026-06-05T23:17:25.9295094Z             {
2026-06-05T23:17:25.9295600Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9296015Z               "line": 2536
2026-06-05T23:17:25.9296430Z             }
2026-06-05T23:17:25.9296812Z           ]
2026-06-05T23:17:25.9297198Z         },
2026-06-05T23:17:25.9297584Z         "int": {
2026-06-05T23:17:25.9298015Z           "complete": false,
2026-06-05T23:17:25.9298437Z           "evidence": []
2026-06-05T23:17:25.9298812Z         },
2026-06-05T23:17:25.9299282Z         "unit": {
2026-06-05T23:17:25.9299708Z           "complete": true,
2026-06-05T23:17:25.9300122Z           "evidence": [
2026-06-05T23:17:25.9300499Z             {
2026-06-05T23:17:25.9301098Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9301516Z               "line": 919
2026-06-05T23:17:25.9301899Z             },
2026-06-05T23:17:25.9302301Z             {
2026-06-05T23:17:25.9302889Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9303310Z               "line": 942
2026-06-05T23:17:25.9303689Z             },
2026-06-05T23:17:25.9304083Z             {
2026-06-05T23:17:25.9304696Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.9305111Z               "line": 471
2026-06-05T23:17:25.9305502Z             },
2026-06-05T23:17:25.9305890Z             {
2026-06-05T23:17:25.9306450Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T23:17:25.9306867Z               "line": 156
2026-06-05T23:17:25.9307245Z             },
2026-06-05T23:17:25.9307630Z             {
2026-06-05T23:17:25.9308181Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T23:17:25.9308600Z               "line": 177
2026-06-05T23:17:25.9308981Z             },
2026-06-05T23:17:25.9309406Z             {
2026-06-05T23:17:25.9309959Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T23:17:25.9310380Z               "line": 209
2026-06-05T23:17:25.9310771Z             },
2026-06-05T23:17:25.9311146Z             {
2026-06-05T23:17:25.9311650Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9312070Z               "line": 2629
2026-06-05T23:17:25.9312462Z             }
2026-06-05T23:17:25.9312861Z           ]
2026-06-05T23:17:25.9313241Z         }
2026-06-05T23:17:25.9313632Z       }
2026-06-05T23:17:25.9314010Z     },
2026-06-05T23:17:25.9314391Z     {
2026-06-05T23:17:25.9314813Z       "id": "REQ-INST-12",
2026-06-05T23:17:25.9316256Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-05T23:17:25.9316701Z       "requiredStages": [
2026-06-05T23:17:25.9317085Z         "impl",
2026-06-05T23:17:25.9317473Z         "unit"
2026-06-05T23:17:25.9317850Z       ],
2026-06-05T23:17:25.9318255Z       "stages": {
2026-06-05T23:17:25.9318644Z         "doc": {
2026-06-05T23:17:25.9319099Z           "complete": false,
2026-06-05T23:17:25.9319569Z           "evidence": []
2026-06-05T23:17:25.9319943Z         },
2026-06-05T23:17:25.9320340Z         "impl": {
2026-06-05T23:17:25.9320762Z           "complete": true,
2026-06-05T23:17:25.9321178Z           "evidence": [
2026-06-05T23:17:25.9321566Z             {
2026-06-05T23:17:25.9322339Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9322761Z               "line": 394
2026-06-05T23:17:25.9323144Z             },
2026-06-05T23:17:25.9323535Z             {
2026-06-05T23:17:25.9324123Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9324542Z               "line": 451
2026-06-05T23:17:25.9324926Z             },
2026-06-05T23:17:25.9325319Z             {
2026-06-05T23:17:25.9325912Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9326325Z               "line": 509
2026-06-05T23:17:25.9326720Z             },
2026-06-05T23:17:25.9327098Z             {
2026-06-05T23:17:25.9327767Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.9328189Z               "line": 87
2026-06-05T23:17:25.9328577Z             },
2026-06-05T23:17:25.9328966Z             {
2026-06-05T23:17:25.9329563Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.9329995Z               "line": 216
2026-06-05T23:17:25.9330375Z             },
2026-06-05T23:17:25.9330765Z             {
2026-06-05T23:17:25.9331347Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9331765Z               "line": 132
2026-06-05T23:17:25.9332151Z             }
2026-06-05T23:17:25.9332533Z           ]
2026-06-05T23:17:25.9332926Z         },
2026-06-05T23:17:25.9333313Z         "int": {
2026-06-05T23:17:25.9333748Z           "complete": false,
2026-06-05T23:17:25.9334158Z           "evidence": []
2026-06-05T23:17:25.9334539Z         },
2026-06-05T23:17:25.9334934Z         "unit": {
2026-06-05T23:17:25.9335362Z           "complete": true,
2026-06-05T23:17:25.9335787Z           "evidence": [
2026-06-05T23:17:25.9336167Z             {
2026-06-05T23:17:25.9336753Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9337160Z               "line": 977
2026-06-05T23:17:25.9337549Z             },
2026-06-05T23:17:25.9337936Z             {
2026-06-05T23:17:25.9338547Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9340111Z               "line": 994
2026-06-05T23:17:25.9341502Z             },
2026-06-05T23:17:25.9342462Z             {
2026-06-05T23:17:25.9343635Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9345008Z               "line": 1025
2026-06-05T23:17:25.9346111Z             },
2026-06-05T23:17:25.9347120Z             {
2026-06-05T23:17:25.9348609Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:25.9350239Z               "line": 350
2026-06-05T23:17:25.9351454Z             },
2026-06-05T23:17:25.9352626Z             {
2026-06-05T23:17:25.9354270Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9355748Z               "line": 169
2026-06-05T23:17:25.9356868Z             },
2026-06-05T23:17:25.9357870Z             {
2026-06-05T23:17:25.9359069Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9360725Z               "line": 181
2026-06-05T23:17:25.9361792Z             },
2026-06-05T23:17:25.9362873Z             {
2026-06-05T23:17:25.9364178Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9365635Z               "line": 198
2026-06-05T23:17:25.9366742Z             }
2026-06-05T23:17:25.9375123Z           ]
2026-06-05T23:17:25.9376252Z         }
2026-06-05T23:17:25.9377143Z       }
2026-06-05T23:17:25.9378028Z     },
2026-06-05T23:17:25.9378921Z     {
2026-06-05T23:17:25.9380105Z       "id": "REQ-INST-13",
2026-06-05T23:17:25.9381701Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-05T23:17:25.9383867Z       "requiredStages": [
2026-06-05T23:17:25.9384932Z         "impl",
2026-06-05T23:17:25.9385857Z         "unit"
2026-06-05T23:17:25.9387076Z       ],
2026-06-05T23:17:25.9387955Z       "stages": {
2026-06-05T23:17:25.9388902Z         "doc": {
2026-06-05T23:17:25.9390275Z           "complete": false,
2026-06-05T23:17:25.9391400Z           "evidence": []
2026-06-05T23:17:25.9392946Z         },
2026-06-05T23:17:25.9393836Z         "impl": {
2026-06-05T23:17:25.9394814Z           "complete": true,
2026-06-05T23:17:25.9395895Z           "evidence": [
2026-06-05T23:17:25.9396888Z             {
2026-06-05T23:17:25.9397960Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9399523Z               "line": 94
2026-06-05T23:17:25.9400705Z             },
2026-06-05T23:17:25.9401628Z             {
2026-06-05T23:17:25.9402743Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9404140Z               "line": 155
2026-06-05T23:17:25.9405174Z             }
2026-06-05T23:17:25.9406255Z           ]
2026-06-05T23:17:25.9407150Z         },
2026-06-05T23:17:25.9408041Z         "int": {
2026-06-05T23:17:25.9409025Z           "complete": false,
2026-06-05T23:17:25.9410500Z           "evidence": []
2026-06-05T23:17:25.9411518Z         },
2026-06-05T23:17:25.9412401Z         "unit": {
2026-06-05T23:17:25.9413406Z           "complete": true,
2026-06-05T23:17:25.9414489Z           "evidence": [
2026-06-05T23:17:25.9415504Z             {
2026-06-05T23:17:25.9416627Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9418044Z               "line": 221
2026-06-05T23:17:25.9419086Z             },
2026-06-05T23:17:25.9420051Z             {
2026-06-05T23:17:25.9421177Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T23:17:25.9422575Z               "line": 233
2026-06-05T23:17:25.9423607Z             }
2026-06-05T23:17:25.9424519Z           ]
2026-06-05T23:17:25.9425406Z         }
2026-06-05T23:17:25.9426273Z       }
2026-06-05T23:17:25.9427127Z     },
2026-06-05T23:17:25.9428021Z     {
2026-06-05T23:17:25.9428926Z       "id": "REQ-INST-14",
2026-06-05T23:17:25.9431518Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-05T23:17:25.9434375Z       "requiredStages": [
2026-06-05T23:17:25.9435434Z         "doc",
2026-06-05T23:17:25.9436355Z         "impl",
2026-06-05T23:17:25.9437278Z         "unit"
2026-06-05T23:17:25.9438182Z       ],
2026-06-05T23:17:25.9439074Z       "stages": {
2026-06-05T23:17:25.9440056Z         "doc": {
2026-06-05T23:17:25.9441030Z           "complete": true,
2026-06-05T23:17:25.9442095Z           "evidence": [
2026-06-05T23:17:25.9443091Z             {
2026-06-05T23:17:25.9444052Z               "path": "CONTEXT.md",
2026-06-05T23:17:25.9445214Z               "line": 421
2026-06-05T23:17:25.9446234Z             },
2026-06-05T23:17:25.9447149Z             {
2026-06-05T23:17:25.9448144Z               "path": "docs/STORAGE.md",
2026-06-05T23:17:25.9449407Z               "line": 49
2026-06-05T23:17:25.9450427Z             }
2026-06-05T23:17:25.9451335Z           ]
2026-06-05T23:17:25.9452208Z         },
2026-06-05T23:17:25.9453099Z         "impl": {
2026-06-05T23:17:25.9454087Z           "complete": true,
2026-06-05T23:17:25.9455182Z           "evidence": [
2026-06-05T23:17:25.9456198Z             {
2026-06-05T23:17:25.9457342Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9458770Z               "line": 258
2026-06-05T23:17:25.9461648Z             },
2026-06-05T23:17:25.9462576Z             {
2026-06-05T23:17:25.9463684Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9465077Z               "line": 209
2026-06-05T23:17:25.9466104Z             },
2026-06-05T23:17:25.9467024Z             {
2026-06-05T23:17:25.9473991Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.9475452Z               "line": 202
2026-06-05T23:17:25.9476478Z             },
2026-06-05T23:17:25.9477415Z             {
2026-06-05T23:17:25.9478448Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9479816Z               "line": 711
2026-06-05T23:17:25.9480835Z             }
2026-06-05T23:17:25.9481736Z           ]
2026-06-05T23:17:25.9482616Z         },
2026-06-05T23:17:25.9483487Z         "int": {
2026-06-05T23:17:25.9484847Z           "complete": false,
2026-06-05T23:17:25.9485943Z           "evidence": []
2026-06-05T23:17:25.9486951Z         },
2026-06-05T23:17:25.9487829Z         "unit": {
2026-06-05T23:17:25.9488796Z           "complete": true,
2026-06-05T23:17:25.9489922Z           "evidence": [
2026-06-05T23:17:25.9490908Z             {
2026-06-05T23:17:25.9492061Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9493482Z               "line": 416
2026-06-05T23:17:25.9494494Z             },
2026-06-05T23:17:25.9495393Z             {
2026-06-05T23:17:25.9496497Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9498019Z               "line": 648
2026-06-05T23:17:25.9499061Z             },
2026-06-05T23:17:25.9500023Z             {
2026-06-05T23:17:25.9501142Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9502517Z               "line": 727
2026-06-05T23:17:25.9503528Z             },
2026-06-05T23:17:25.9504447Z             {
2026-06-05T23:17:25.9505496Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.9506807Z               "line": 411
2026-06-05T23:17:25.9507815Z             },
2026-06-05T23:17:25.9508721Z             {
2026-06-05T23:17:25.9509770Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9511046Z               "line": 2645
2026-06-05T23:17:25.9512075Z             }
2026-06-05T23:17:25.9512974Z           ]
2026-06-05T23:17:25.9513846Z         }
2026-06-05T23:17:25.9514703Z       }
2026-06-05T23:17:25.9515538Z     },
2026-06-05T23:17:25.9516395Z     {
2026-06-05T23:17:25.9517282Z       "id": "REQ-INST-15",
2026-06-05T23:17:25.9521743Z       "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-05T23:17:25.9526647Z       "requiredStages": [
2026-06-05T23:17:25.9527697Z         "doc",
2026-06-05T23:17:25.9528613Z         "impl",
2026-06-05T23:17:25.9529564Z         "unit"
2026-06-05T23:17:25.9530471Z       ],
2026-06-05T23:17:25.9531335Z       "stages": {
2026-06-05T23:17:25.9532262Z         "doc": {
2026-06-05T23:17:25.9533226Z           "complete": true,
2026-06-05T23:17:25.9534289Z           "evidence": [
2026-06-05T23:17:25.9535254Z             {
2026-06-05T23:17:25.9536618Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-05T23:17:25.9538275Z               "line": 3
2026-06-05T23:17:25.9539284Z             }
2026-06-05T23:17:25.9540177Z           ]
2026-06-05T23:17:25.9541049Z         },
2026-06-05T23:17:25.9541926Z         "impl": {
2026-06-05T23:17:25.9542891Z           "complete": true,
2026-06-05T23:17:25.9543949Z           "evidence": [
2026-06-05T23:17:25.9544931Z             {
2026-06-05T23:17:25.9546059Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9547483Z               "line": 206
2026-06-05T23:17:25.9548492Z             },
2026-06-05T23:17:25.9549422Z             {
2026-06-05T23:17:25.9550461Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:25.9551777Z               "line": 60
2026-06-05T23:17:25.9552764Z             },
2026-06-05T23:17:25.9553660Z             {
2026-06-05T23:17:25.9554777Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.9556183Z               "line": 326
2026-06-05T23:17:25.9557191Z             },
2026-06-05T23:17:25.9558091Z             {
2026-06-05T23:17:25.9559241Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.9560670Z               "line": 376
2026-06-05T23:17:25.9561677Z             },
2026-06-05T23:17:25.9562569Z             {
2026-06-05T23:17:25.9563618Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9564914Z               "line": 19
2026-06-05T23:17:25.9565904Z             },
2026-06-05T23:17:25.9567005Z             {
2026-06-05T23:17:25.9573139Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9574494Z               "line": 67
2026-06-05T23:17:25.9575500Z             },
2026-06-05T23:17:25.9576402Z             {
2026-06-05T23:17:25.9577453Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9578766Z               "line": 91
2026-06-05T23:17:25.9579840Z             },
2026-06-05T23:17:25.9580742Z             {
2026-06-05T23:17:25.9581791Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9583121Z               "line": 116
2026-06-05T23:17:25.9584140Z             },
2026-06-05T23:17:25.9585037Z             {
2026-06-05T23:17:25.9586361Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9587710Z               "line": 167
2026-06-05T23:17:25.9588723Z             },
2026-06-05T23:17:25.9589668Z             {
2026-06-05T23:17:25.9590730Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.9592062Z               "line": 141
2026-06-05T23:17:25.9593078Z             },
2026-06-05T23:17:25.9593973Z             {
2026-06-05T23:17:25.9594975Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9596228Z               "line": 603
2026-06-05T23:17:25.9597234Z             }
2026-06-05T23:17:25.9598118Z           ]
2026-06-05T23:17:25.9598978Z         },
2026-06-05T23:17:25.9599887Z         "int": {
2026-06-05T23:17:25.9600856Z           "complete": false,
2026-06-05T23:17:25.9601966Z           "evidence": []
2026-06-05T23:17:25.9602989Z         },
2026-06-05T23:17:25.9603868Z         "unit": {
2026-06-05T23:17:25.9604839Z           "complete": true,
2026-06-05T23:17:25.9605934Z           "evidence": [
2026-06-05T23:17:25.9606928Z             {
2026-06-05T23:17:25.9608063Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.9609516Z               "line": 515
2026-06-05T23:17:25.9610550Z             },
2026-06-05T23:17:25.9611466Z             {
2026-06-05T23:17:25.9612613Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:25.9614018Z               "line": 571
2026-06-05T23:17:25.9615035Z             },
2026-06-05T23:17:25.9615954Z             {
2026-06-05T23:17:25.9617014Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9618336Z               "line": 206
2026-06-05T23:17:25.9619403Z             },
2026-06-05T23:17:25.9620321Z             {
2026-06-05T23:17:25.9621383Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9622705Z               "line": 239
2026-06-05T23:17:25.9623725Z             },
2026-06-05T23:17:25.9624641Z             {
2026-06-05T23:17:25.9625703Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9627030Z               "line": 252
2026-06-05T23:17:25.9628038Z             },
2026-06-05T23:17:25.9628955Z             {
2026-06-05T23:17:25.9630049Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T23:17:25.9631369Z               "line": 316
2026-06-05T23:17:25.9632408Z             },
2026-06-05T23:17:25.9633314Z             {
2026-06-05T23:17:25.9634383Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:25.9635718Z               "line": 477
2026-06-05T23:17:25.9636731Z             },
2026-06-05T23:17:25.9637651Z             {
2026-06-05T23:17:25.9638662Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9639964Z               "line": 2632
2026-06-05T23:17:25.9641006Z             },
2026-06-05T23:17:25.9641919Z             {
2026-06-05T23:17:25.9642932Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9644192Z               "line": 3618
2026-06-05T23:17:25.9645228Z             }
2026-06-05T23:17:25.9646144Z           ]
2026-06-05T23:17:25.9647024Z         }
2026-06-05T23:17:25.9647883Z       }
2026-06-05T23:17:25.9648741Z     },
2026-06-05T23:17:25.9649746Z     {
2026-06-05T23:17:25.9650643Z       "id": "REQ-INST-2",
2026-06-05T23:17:25.9651865Z       "title": "Per-node files, synced Psyche mind",
2026-06-05T23:17:25.9653470Z       "requiredStages": [
2026-06-05T23:17:25.9654523Z         "impl",
2026-06-05T23:17:25.9655463Z         "unit"
2026-06-05T23:17:25.9656377Z       ],
2026-06-05T23:17:25.9657254Z       "stages": {
2026-06-05T23:17:25.9658199Z         "doc": {
2026-06-05T23:17:25.9659233Z           "complete": false,
2026-06-05T23:17:25.9665220Z           "evidence": []
2026-06-05T23:17:25.9666292Z         },
2026-06-05T23:17:25.9667183Z         "impl": {
2026-06-05T23:17:25.9668172Z           "complete": true,
2026-06-05T23:17:25.9669366Z           "evidence": [
2026-06-05T23:17:25.9670376Z             {
2026-06-05T23:17:25.9671723Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9673137Z               "line": 86
2026-06-05T23:17:25.9674164Z             },
2026-06-05T23:17:25.9675083Z             {
2026-06-05T23:17:25.9676157Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.9677489Z               "line": 28
2026-06-05T23:17:25.9678536Z             },
2026-06-05T23:17:25.9679497Z             {
2026-06-05T23:17:25.9680563Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.9681889Z               "line": 74
2026-06-05T23:17:25.9682911Z             },
2026-06-05T23:17:25.9683821Z             {
2026-06-05T23:17:25.9684893Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.9686221Z               "line": 96
2026-06-05T23:17:25.9687237Z             },
2026-06-05T23:17:25.9688161Z             {
2026-06-05T23:17:25.9689269Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T23:17:25.9690610Z               "line": 81
2026-06-05T23:17:25.9691637Z             },
2026-06-05T23:17:25.9692554Z             {
2026-06-05T23:17:25.9693633Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T23:17:25.9694979Z               "line": 118
2026-06-05T23:17:25.9696009Z             }
2026-06-05T23:17:25.9696918Z           ]
2026-06-05T23:17:25.9697797Z         },
2026-06-05T23:17:25.9698695Z         "int": {
2026-06-05T23:17:25.9699711Z           "complete": false,
2026-06-05T23:17:25.9700807Z           "evidence": []
2026-06-05T23:17:25.9701837Z         },
2026-06-05T23:17:25.9702723Z         "unit": {
2026-06-05T23:17:25.9703706Z           "complete": true,
2026-06-05T23:17:25.9704775Z           "evidence": [
2026-06-05T23:17:25.9705772Z             {
2026-06-05T23:17:25.9706840Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T23:17:25.9708166Z               "line": 203
2026-06-05T23:17:25.9709221Z             },
2026-06-05T23:17:25.9710131Z             {
2026-06-05T23:17:25.9711200Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T23:17:25.9712543Z               "line": 232
2026-06-05T23:17:25.9713557Z             }
2026-06-05T23:17:25.9714471Z           ]
2026-06-05T23:17:25.9715346Z         }
2026-06-05T23:17:25.9716205Z       }
2026-06-05T23:17:25.9717060Z     },
2026-06-05T23:17:25.9717915Z     {
2026-06-05T23:17:25.9718807Z       "id": "REQ-INST-3",
2026-06-05T23:17:25.9720284Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-05T23:17:25.9721829Z       "requiredStages": [
2026-06-05T23:17:25.9722876Z         "doc",
2026-06-05T23:17:25.9723809Z         "impl",
2026-06-05T23:17:25.9724734Z         "unit"
2026-06-05T23:17:25.9725641Z       ],
2026-06-05T23:17:25.9726517Z       "stages": {
2026-06-05T23:17:25.9727451Z         "doc": {
2026-06-05T23:17:25.9728425Z           "complete": true,
2026-06-05T23:17:25.9729535Z           "evidence": [
2026-06-05T23:17:25.9730539Z             {
2026-06-05T23:17:25.9731584Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-05T23:17:25.9732891Z               "line": 3
2026-06-05T23:17:25.9733877Z             }
2026-06-05T23:17:25.9734780Z           ]
2026-06-05T23:17:25.9735655Z         },
2026-06-05T23:17:25.9736538Z         "impl": {
2026-06-05T23:17:25.9737514Z           "complete": true,
2026-06-05T23:17:25.9738587Z           "evidence": [
2026-06-05T23:17:25.9739839Z             {
2026-06-05T23:17:25.9740944Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T23:17:25.9742300Z               "line": 70
2026-06-05T23:17:25.9743313Z             },
2026-06-05T23:17:25.9744222Z             {
2026-06-05T23:17:25.9745338Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:25.9746711Z               "line": 422
2026-06-05T23:17:25.9747736Z             },
2026-06-05T23:17:25.9748637Z             {
2026-06-05T23:17:25.9749788Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9755937Z               "line": 197
2026-06-05T23:17:25.9757088Z             },
2026-06-05T23:17:25.9758001Z             {
2026-06-05T23:17:25.9759462Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9760912Z               "line": 272
2026-06-05T23:17:25.9761934Z             },
2026-06-05T23:17:25.9762836Z             {
2026-06-05T23:17:25.9763943Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9765341Z               "line": 301
2026-06-05T23:17:25.9766345Z             },
2026-06-05T23:17:25.9767249Z             {
2026-06-05T23:17:25.9768341Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T23:17:25.9769748Z               "line": 234
2026-06-05T23:17:25.9770754Z             },
2026-06-05T23:17:25.9771651Z             {
2026-06-05T23:17:25.9772773Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9774189Z               "line": 147
2026-06-05T23:17:25.9775200Z             },
2026-06-05T23:17:25.9776091Z             {
2026-06-05T23:17:25.9777222Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9778636Z               "line": 244
2026-06-05T23:17:25.9779683Z             },
2026-06-05T23:17:25.9780577Z             {
2026-06-05T23:17:25.9781662Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9783010Z               "line": 45
2026-06-05T23:17:25.9784006Z             },
2026-06-05T23:17:25.9784910Z             {
2026-06-05T23:17:25.9785995Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9787351Z               "line": 114
2026-06-05T23:17:25.9788353Z             },
2026-06-05T23:17:25.9789278Z             {
2026-06-05T23:17:25.9790365Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9791726Z               "line": 152
2026-06-05T23:17:25.9792735Z             },
2026-06-05T23:17:25.9793632Z             {
2026-06-05T23:17:25.9794718Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9796062Z               "line": 168
2026-06-05T23:17:25.9797072Z             },
2026-06-05T23:17:25.9797976Z             {
2026-06-05T23:17:25.9799050Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9800427Z               "line": 178
2026-06-05T23:17:25.9801438Z             },
2026-06-05T23:17:25.9802334Z             {
2026-06-05T23:17:25.9803415Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9804786Z               "line": 210
2026-06-05T23:17:25.9805787Z             },
2026-06-05T23:17:25.9806688Z             {
2026-06-05T23:17:25.9807768Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9809109Z               "line": 283
2026-06-05T23:17:25.9810146Z             },
2026-06-05T23:17:25.9811049Z             {
2026-06-05T23:17:25.9812126Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9813469Z               "line": 307
2026-06-05T23:17:25.9814465Z             },
2026-06-05T23:17:25.9815363Z             {
2026-06-05T23:17:25.9816456Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9817807Z               "line": 378
2026-06-05T23:17:25.9818815Z             },
2026-06-05T23:17:25.9819748Z             {
2026-06-05T23:17:25.9820828Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9822175Z               "line": 427
2026-06-05T23:17:25.9823172Z             },
2026-06-05T23:17:25.9824283Z             {
2026-06-05T23:17:25.9825369Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-05T23:17:25.9826720Z               "line": 37
2026-06-05T23:17:25.9827713Z             },
2026-06-05T23:17:25.9828617Z             {
2026-06-05T23:17:25.9829750Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9831110Z               "line": 62
2026-06-05T23:17:25.9832113Z             },
2026-06-05T23:17:25.9833010Z             {
2026-06-05T23:17:25.9834054Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.9835365Z               "line": 184
2026-06-05T23:17:25.9836364Z             },
2026-06-05T23:17:25.9837410Z             {
2026-06-05T23:17:25.9838434Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9839725Z               "line": 810
2026-06-05T23:17:25.9840719Z             }
2026-06-05T23:17:25.9841603Z           ]
2026-06-05T23:17:25.9842461Z         },
2026-06-05T23:17:25.9843319Z         "int": {
2026-06-05T23:17:25.9844299Z           "complete": false,
2026-06-05T23:17:25.9850284Z           "evidence": []
2026-06-05T23:17:25.9851422Z         },
2026-06-05T23:17:25.9852303Z         "unit": {
2026-06-05T23:17:25.9853273Z           "complete": true,
2026-06-05T23:17:25.9854340Z           "evidence": [
2026-06-05T23:17:25.9855339Z             {
2026-06-05T23:17:25.9856420Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:25.9857757Z               "line": 305
2026-06-05T23:17:25.9858762Z             },
2026-06-05T23:17:25.9859720Z             {
2026-06-05T23:17:25.9860823Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9862227Z               "line": 618
2026-06-05T23:17:25.9863233Z             },
2026-06-05T23:17:25.9864136Z             {
2026-06-05T23:17:25.9865226Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9866590Z               "line": 669
2026-06-05T23:17:25.9867604Z             },
2026-06-05T23:17:25.9868519Z             {
2026-06-05T23:17:25.9869689Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9871095Z               "line": 510
2026-06-05T23:17:25.9872105Z             },
2026-06-05T23:17:25.9872998Z             {
2026-06-05T23:17:25.9874128Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:25.9875532Z               "line": 557
2026-06-05T23:17:25.9876525Z             },
2026-06-05T23:17:25.9877425Z             {
2026-06-05T23:17:25.9878500Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9879885Z               "line": 438
2026-06-05T23:17:25.9880896Z             },
2026-06-05T23:17:25.9881797Z             {
2026-06-05T23:17:25.9882872Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9884213Z               "line": 467
2026-06-05T23:17:25.9885212Z             },
2026-06-05T23:17:25.9886106Z             {
2026-06-05T23:17:25.9887189Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9888546Z               "line": 500
2026-06-05T23:17:25.9889602Z             },
2026-06-05T23:17:25.9890498Z             {
2026-06-05T23:17:25.9891574Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9892925Z               "line": 608
2026-06-05T23:17:25.9893942Z             },
2026-06-05T23:17:25.9894964Z             {
2026-06-05T23:17:25.9896059Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9897413Z               "line": 808
2026-06-05T23:17:25.9898430Z             },
2026-06-05T23:17:25.9899388Z             {
2026-06-05T23:17:25.9900516Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9901868Z               "line": 822
2026-06-05T23:17:25.9902873Z             },
2026-06-05T23:17:25.9903762Z             {
2026-06-05T23:17:25.9904854Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:25.9906259Z               "line": 757
2026-06-05T23:17:25.9907572Z             },
2026-06-05T23:17:25.9908472Z             {
2026-06-05T23:17:25.9909562Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:25.9910868Z               "line": 371
2026-06-05T23:17:25.9911871Z             },
2026-06-05T23:17:25.9912763Z             {
2026-06-05T23:17:25.9913758Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:25.9915016Z               "line": 2659
2026-06-05T23:17:25.9916031Z             }
2026-06-05T23:17:25.9916907Z           ]
2026-06-05T23:17:25.9917764Z         }
2026-06-05T23:17:25.9918650Z       }
2026-06-05T23:17:25.9919833Z     },
2026-06-05T23:17:25.9920683Z     {
2026-06-05T23:17:25.9921564Z       "id": "REQ-INST-4",
2026-06-05T23:17:25.9923199Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-05T23:17:25.9924917Z       "requiredStages": [
2026-06-05T23:17:25.9925957Z         "impl",
2026-06-05T23:17:25.9926868Z         "unit"
2026-06-05T23:17:25.9927253Z       ],
2026-06-05T23:17:25.9927665Z       "stages": {
2026-06-05T23:17:25.9928077Z         "doc": {
2026-06-05T23:17:25.9928508Z           "complete": false,
2026-06-05T23:17:25.9928929Z           "evidence": []
2026-06-05T23:17:25.9929354Z         },
2026-06-05T23:17:25.9929758Z         "impl": {
2026-06-05T23:17:25.9930183Z           "complete": true,
2026-06-05T23:17:25.9930605Z           "evidence": [
2026-06-05T23:17:25.9930996Z             {
2026-06-05T23:17:25.9931592Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9932010Z               "line": 273
2026-06-05T23:17:25.9932393Z             },
2026-06-05T23:17:25.9932781Z             {
2026-06-05T23:17:25.9933370Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9933789Z               "line": 202
2026-06-05T23:17:25.9934189Z             },
2026-06-05T23:17:25.9934570Z             {
2026-06-05T23:17:25.9935165Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9935574Z               "line": 234
2026-06-05T23:17:25.9935981Z             },
2026-06-05T23:17:25.9936362Z             {
2026-06-05T23:17:25.9942220Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9942741Z               "line": 270
2026-06-05T23:17:25.9943142Z             }
2026-06-05T23:17:25.9943531Z           ]
2026-06-05T23:17:25.9943915Z         },
2026-06-05T23:17:25.9944315Z         "int": {
2026-06-05T23:17:25.9944753Z           "complete": false,
2026-06-05T23:17:25.9945175Z           "evidence": []
2026-06-05T23:17:25.9945577Z         },
2026-06-05T23:17:25.9945963Z         "unit": {
2026-06-05T23:17:25.9946397Z           "complete": true,
2026-06-05T23:17:25.9946805Z           "evidence": [
2026-06-05T23:17:25.9947240Z             {
2026-06-05T23:17:25.9947857Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:25.9948284Z               "line": 664
2026-06-05T23:17:25.9948673Z             },
2026-06-05T23:17:25.9949056Z             {
2026-06-05T23:17:25.9949721Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9950150Z               "line": 518
2026-06-05T23:17:25.9950543Z             },
2026-06-05T23:17:25.9950921Z             {
2026-06-05T23:17:25.9951506Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9951924Z               "line": 583
2026-06-05T23:17:25.9952302Z             },
2026-06-05T23:17:25.9952690Z             {
2026-06-05T23:17:25.9953264Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:25.9953680Z               "line": 650
2026-06-05T23:17:25.9954065Z             }
2026-06-05T23:17:25.9954454Z           ]
2026-06-05T23:17:25.9954838Z         }
2026-06-05T23:17:25.9955236Z       }
2026-06-05T23:17:25.9955625Z     },
2026-06-05T23:17:25.9956007Z     {
2026-06-05T23:17:25.9956436Z       "id": "REQ-INST-5",
2026-06-05T23:17:25.9957308Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-05T23:17:25.9957746Z       "requiredStages": [
2026-06-05T23:17:25.9958409Z         "impl",
2026-06-05T23:17:25.9958798Z         "unit",
2026-06-05T23:17:25.9959247Z         "int"
2026-06-05T23:17:25.9959633Z       ],
2026-06-05T23:17:25.9960045Z       "stages": {
2026-06-05T23:17:25.9960429Z         "doc": {
2026-06-05T23:17:25.9960863Z           "complete": false,
2026-06-05T23:17:25.9961287Z           "evidence": []
2026-06-05T23:17:25.9961676Z         },
2026-06-05T23:17:25.9962079Z         "impl": {
2026-06-05T23:17:25.9962505Z           "complete": true,
2026-06-05T23:17:25.9962921Z           "evidence": [
2026-06-05T23:17:25.9963301Z             {
2026-06-05T23:17:25.9963908Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T23:17:25.9964455Z               "line": 39
2026-06-05T23:17:25.9964860Z             },
2026-06-05T23:17:25.9965249Z             {
2026-06-05T23:17:25.9965800Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9966222Z               "line": 68
2026-06-05T23:17:25.9966608Z             },
2026-06-05T23:17:25.9967014Z             {
2026-06-05T23:17:25.9967563Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9967970Z               "line": 93
2026-06-05T23:17:25.9968364Z             },
2026-06-05T23:17:25.9968746Z             {
2026-06-05T23:17:25.9969336Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9969756Z               "line": 160
2026-06-05T23:17:25.9970143Z             },
2026-06-05T23:17:25.9970526Z             {
2026-06-05T23:17:25.9971076Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9971500Z               "line": 271
2026-06-05T23:17:25.9971883Z             }
2026-06-05T23:17:25.9972275Z           ]
2026-06-05T23:17:25.9972668Z         },
2026-06-05T23:17:25.9973064Z         "int": {
2026-06-05T23:17:25.9973508Z           "complete": true,
2026-06-05T23:17:25.9973921Z           "evidence": [
2026-06-05T23:17:25.9974303Z             {
2026-06-05T23:17:25.9974908Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:25.9975342Z               "line": 142
2026-06-05T23:17:25.9975725Z             },
2026-06-05T23:17:25.9976114Z             {
2026-06-05T23:17:25.9976733Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-05T23:17:25.9977156Z               "line": 102
2026-06-05T23:17:25.9977544Z             },
2026-06-05T23:17:25.9977928Z             {
2026-06-05T23:17:25.9978522Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:25.9978933Z               "line": 614
2026-06-05T23:17:25.9979373Z             },
2026-06-05T23:17:25.9979761Z             {
2026-06-05T23:17:25.9980353Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:25.9980784Z               "line": 889
2026-06-05T23:17:25.9981162Z             }
2026-06-05T23:17:25.9981548Z           ]
2026-06-05T23:17:25.9981926Z         },
2026-06-05T23:17:25.9982333Z         "unit": {
2026-06-05T23:17:25.9982766Z           "complete": true,
2026-06-05T23:17:25.9983176Z           "evidence": [
2026-06-05T23:17:25.9983575Z             {
2026-06-05T23:17:25.9984121Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9984541Z               "line": 461
2026-06-05T23:17:25.9984928Z             },
2026-06-05T23:17:25.9985311Z             {
2026-06-05T23:17:25.9985861Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:25.9986273Z               "line": 495
2026-06-05T23:17:25.9986662Z             },
2026-06-05T23:17:25.9987040Z             {
2026-06-05T23:17:25.9987612Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T23:17:25.9988033Z               "line": 199
2026-06-05T23:17:25.9988418Z             }
2026-06-05T23:17:25.9988820Z           ]
2026-06-05T23:17:25.9989231Z         }
2026-06-05T23:17:25.9989620Z       }
2026-06-05T23:17:25.9989999Z     },
2026-06-05T23:17:25.9990382Z     {
2026-06-05T23:17:25.9990816Z       "id": "REQ-INST-6",
2026-06-05T23:17:25.9991735Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-05T23:17:25.9992345Z       "requiredStages": [
2026-06-05T23:17:25.9992739Z         "impl",
2026-06-05T23:17:25.9993133Z         "unit",
2026-06-05T23:17:25.9993519Z         "int"
2026-06-05T23:17:25.9993906Z       ],
2026-06-05T23:17:25.9994313Z       "stages": {
2026-06-05T23:17:25.9994702Z         "doc": {
2026-06-05T23:17:25.9995138Z           "complete": true,
2026-06-05T23:17:25.9995547Z           "evidence": [
2026-06-05T23:17:25.9995937Z             {
2026-06-05T23:17:25.9996406Z               "path": "docs/DEFERRED.md",
2026-06-05T23:17:25.9996825Z               "line": 13
2026-06-05T23:17:25.9997213Z             }
2026-06-05T23:17:25.9997596Z           ]
2026-06-05T23:17:25.9998157Z         },
2026-06-05T23:17:25.9998574Z         "impl": {
2026-06-05T23:17:25.9999014Z           "complete": true,
2026-06-05T23:17:25.9999466Z           "evidence": [
2026-06-05T23:17:25.9999852Z             {
2026-06-05T23:17:26.0000453Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0000881Z               "line": 363
2026-06-05T23:17:26.0001273Z             },
2026-06-05T23:17:26.0001660Z             {
2026-06-05T23:17:26.0002252Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T23:17:26.0002657Z               "line": 27
2026-06-05T23:17:26.0003061Z             },
2026-06-05T23:17:26.0003488Z             {
2026-06-05T23:17:26.0004181Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T23:17:26.0004690Z               "line": 73
2026-06-05T23:17:26.0005119Z             },
2026-06-05T23:17:26.0005553Z             {
2026-06-05T23:17:26.0006221Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T23:17:26.0006748Z               "line": 165
2026-06-05T23:17:26.0007214Z             },
2026-06-05T23:17:26.0007653Z             {
2026-06-05T23:17:26.0008304Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:26.0008771Z               "line": 415
2026-06-05T23:17:26.0009306Z             },
2026-06-05T23:17:26.0009961Z             {
2026-06-05T23:17:26.0010768Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-05T23:17:26.0011242Z               "line": 31
2026-06-05T23:17:26.0011668Z             },
2026-06-05T23:17:26.0012109Z             {
2026-06-05T23:17:26.0012702Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0013177Z               "line": 168
2026-06-05T23:17:26.0013632Z             },
2026-06-05T23:17:26.0014084Z             {
2026-06-05T23:17:26.0014730Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:26.0015173Z               "line": 81
2026-06-05T23:17:26.0022572Z             },
2026-06-05T23:17:26.0023154Z             {
2026-06-05T23:17:26.0023727Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0024196Z               "line": 811
2026-06-05T23:17:26.0024626Z             },
2026-06-05T23:17:26.0025048Z             {
2026-06-05T23:17:26.0025663Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0026147Z               "line": 161
2026-06-05T23:17:26.0026570Z             },
2026-06-05T23:17:26.0027031Z             {
2026-06-05T23:17:26.0027621Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0028051Z               "line": 190
2026-06-05T23:17:26.0028454Z             }
2026-06-05T23:17:26.0028851Z           ]
2026-06-05T23:17:26.0029464Z         },
2026-06-05T23:17:26.0030040Z         "int": {
2026-06-05T23:17:26.0030508Z           "complete": true,
2026-06-05T23:17:26.0030957Z           "evidence": [
2026-06-05T23:17:26.0031382Z             {
2026-06-05T23:17:26.0032048Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0032510Z               "line": 624
2026-06-05T23:17:26.0032933Z             },
2026-06-05T23:17:26.0033332Z             {
2026-06-05T23:17:26.0033964Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0034390Z               "line": 923
2026-06-05T23:17:26.0034819Z             },
2026-06-05T23:17:26.0035693Z             {
2026-06-05T23:17:26.0036250Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0036685Z               "line": 529
2026-06-05T23:17:26.0037078Z             }
2026-06-05T23:17:26.0037485Z           ]
2026-06-05T23:17:26.0037875Z         },
2026-06-05T23:17:26.0038306Z         "unit": {
2026-06-05T23:17:26.0038776Z           "complete": true,
2026-06-05T23:17:26.0039448Z           "evidence": [
2026-06-05T23:17:26.0040043Z             {
2026-06-05T23:17:26.0040670Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0041127Z               "line": 595
2026-06-05T23:17:26.0041532Z             },
2026-06-05T23:17:26.0042177Z             {
2026-06-05T23:17:26.0042829Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:26.0043266Z               "line": 783
2026-06-05T23:17:26.0043684Z             },
2026-06-05T23:17:26.0044086Z             {
2026-06-05T23:17:26.0044670Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-05T23:17:26.0045129Z               "line": 62
2026-06-05T23:17:26.0045527Z             },
2026-06-05T23:17:26.0045925Z             {
2026-06-05T23:17:26.0046498Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0046946Z               "line": 252
2026-06-05T23:17:26.0047347Z             },
2026-06-05T23:17:26.0047758Z             {
2026-06-05T23:17:26.0048332Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T23:17:26.0048772Z               "line": 192
2026-06-05T23:17:26.0049245Z             }
2026-06-05T23:17:26.0049838Z           ]
2026-06-05T23:17:26.0050408Z         }
2026-06-05T23:17:26.0050804Z       }
2026-06-05T23:17:26.0051197Z     },
2026-06-05T23:17:26.0051616Z     {
2026-06-05T23:17:26.0052056Z       "id": "REQ-INST-7",
2026-06-05T23:17:26.0052751Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-05T23:17:26.0053203Z       "requiredStages": [
2026-06-05T23:17:26.0053626Z         "impl",
2026-06-05T23:17:26.0054016Z         "unit",
2026-06-05T23:17:26.0054446Z         "int"
2026-06-05T23:17:26.0054853Z       ],
2026-06-05T23:17:26.0055258Z       "stages": {
2026-06-05T23:17:26.0055679Z         "doc": {
2026-06-05T23:17:26.0056133Z           "complete": false,
2026-06-05T23:17:26.0056571Z           "evidence": []
2026-06-05T23:17:26.0056985Z         },
2026-06-05T23:17:26.0057392Z         "impl": {
2026-06-05T23:17:26.0057843Z           "complete": true,
2026-06-05T23:17:26.0058300Z           "evidence": [
2026-06-05T23:17:26.0058711Z             {
2026-06-05T23:17:26.0059404Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0059875Z               "line": 398
2026-06-05T23:17:26.0060304Z             },
2026-06-05T23:17:26.0060731Z             {
2026-06-05T23:17:26.0061368Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T23:17:26.0061807Z               "line": 40
2026-06-05T23:17:26.0062224Z             },
2026-06-05T23:17:26.0062610Z             {
2026-06-05T23:17:26.0063276Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0063719Z               "line": 27
2026-06-05T23:17:26.0064135Z             },
2026-06-05T23:17:26.0064540Z             {
2026-06-05T23:17:26.0065187Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0065622Z               "line": 120
2026-06-05T23:17:26.0066023Z             },
2026-06-05T23:17:26.0066443Z             {
2026-06-05T23:17:26.0067117Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0067626Z               "line": 197
2026-06-05T23:17:26.0068053Z             },
2026-06-05T23:17:26.0068453Z             {
2026-06-05T23:17:26.0069078Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-05T23:17:26.0069586Z               "line": 56
2026-06-05T23:17:26.0070009Z             },
2026-06-05T23:17:26.0070402Z             {
2026-06-05T23:17:26.0071018Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0071451Z               "line": 41
2026-06-05T23:17:26.0072161Z             },
2026-06-05T23:17:26.0072579Z             {
2026-06-05T23:17:26.0073200Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:26.0073638Z               "line": 27
2026-06-05T23:17:26.0074045Z             },
2026-06-05T23:17:26.0074461Z             {
2026-06-05T23:17:26.0075115Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:26.0075556Z               "line": 59
2026-06-05T23:17:26.0075984Z             },
2026-06-05T23:17:26.0076388Z             {
2026-06-05T23:17:26.0077040Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:26.0077673Z               "line": 68
2026-06-05T23:17:26.0078121Z             },
2026-06-05T23:17:26.0078530Z             {
2026-06-05T23:17:26.0079138Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T23:17:26.0079650Z               "line": 129
2026-06-05T23:17:26.0080062Z             }
2026-06-05T23:17:26.0080467Z           ]
2026-06-05T23:17:26.0080885Z         },
2026-06-05T23:17:26.0081293Z         "int": {
2026-06-05T23:17:26.0081745Z           "complete": true,
2026-06-05T23:17:26.0082166Z           "evidence": [
2026-06-05T23:17:26.0082579Z             {
2026-06-05T23:17:26.0083229Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-05T23:17:26.0083672Z               "line": 102
2026-06-05T23:17:26.0084133Z             },
2026-06-05T23:17:26.0084540Z             {
2026-06-05T23:17:26.0085175Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0085619Z               "line": 578
2026-06-05T23:17:26.0086037Z             },
2026-06-05T23:17:26.0086436Z             {
2026-06-05T23:17:26.0087064Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0087520Z               "line": 805
2026-06-05T23:17:26.0087925Z             }
2026-06-05T23:17:26.0088334Z           ]
2026-06-05T23:17:26.0088745Z         },
2026-06-05T23:17:26.0089246Z         "unit": {
2026-06-05T23:17:26.0089938Z           "complete": true,
2026-06-05T23:17:26.0090573Z           "evidence": [
2026-06-05T23:17:26.0090988Z             {
2026-06-05T23:17:26.0091645Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0092102Z               "line": 393
2026-06-05T23:17:26.0092515Z             },
2026-06-05T23:17:26.0092923Z             {
2026-06-05T23:17:26.0093597Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0094039Z               "line": 603
2026-06-05T23:17:26.0094461Z             },
2026-06-05T23:17:26.0094846Z             {
2026-06-05T23:17:26.0095495Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-05T23:17:26.0095951Z               "line": 83
2026-06-05T23:17:26.0096369Z             },
2026-06-05T23:17:26.0096758Z             {
2026-06-05T23:17:26.0097370Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0097805Z               "line": 564
2026-06-05T23:17:26.0098185Z             },
2026-06-05T23:17:26.0098597Z             {
2026-06-05T23:17:26.0099250Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0099700Z               "line": 575
2026-06-05T23:17:26.0100085Z             },
2026-06-05T23:17:26.0100481Z             {
2026-06-05T23:17:26.0107595Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0108156Z               "line": 584
2026-06-05T23:17:26.0108459Z             },
2026-06-05T23:17:26.0108743Z             {
2026-06-05T23:17:26.0109349Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:26.0109655Z               "line": 90
2026-06-05T23:17:26.0109923Z             },
2026-06-05T23:17:26.0110227Z             {
2026-06-05T23:17:26.0110714Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:26.0111009Z               "line": 105
2026-06-05T23:17:26.0111257Z             },
2026-06-05T23:17:26.0111517Z             {
2026-06-05T23:17:26.0111975Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T23:17:26.0112748Z               "line": 131
2026-06-05T23:17:26.0113005Z             }
2026-06-05T23:17:26.0113237Z           ]
2026-06-05T23:17:26.0113466Z         }
2026-06-05T23:17:26.0113684Z       }
2026-06-05T23:17:26.0113910Z     },
2026-06-05T23:17:26.0114124Z     {
2026-06-05T23:17:26.0114400Z       "id": "REQ-INST-8",
2026-06-05T23:17:26.0115001Z       "title": "Remote-control mode distinct from local operation",
2026-06-05T23:17:26.0115285Z       "requiredStages": [
2026-06-05T23:17:26.0115658Z         "impl",
2026-06-05T23:17:26.0115890Z         "unit",
2026-06-05T23:17:26.0116122Z         "int"
2026-06-05T23:17:26.0116339Z       ],
2026-06-05T23:17:26.0116802Z       "stages": {
2026-06-05T23:17:26.0117074Z         "doc": {
2026-06-05T23:17:26.0117345Z           "complete": false,
2026-06-05T23:17:26.0117607Z           "evidence": []
2026-06-05T23:17:26.0117819Z         },
2026-06-05T23:17:26.0118071Z         "impl": {
2026-06-05T23:17:26.0118344Z           "complete": true,
2026-06-05T23:17:26.0118600Z           "evidence": [
2026-06-05T23:17:26.0118826Z             {
2026-06-05T23:17:26.0119305Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T23:17:26.0119569Z               "line": 98
2026-06-05T23:17:26.0119793Z             },
2026-06-05T23:17:26.0120021Z             {
2026-06-05T23:17:26.0120436Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T23:17:26.0120699Z               "line": 202
2026-06-05T23:17:26.0120930Z             },
2026-06-05T23:17:26.0121151Z             {
2026-06-05T23:17:26.0121566Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T23:17:26.0121827Z               "line": 220
2026-06-05T23:17:26.0122054Z             },
2026-06-05T23:17:26.0122266Z             {
2026-06-05T23:17:26.0122695Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-05T23:17:26.0122949Z               "line": 35
2026-06-05T23:17:26.0123161Z             }
2026-06-05T23:17:26.0123401Z           ]
2026-06-05T23:17:26.0123629Z         },
2026-06-05T23:17:26.0123880Z         "int": {
2026-06-05T23:17:26.0124119Z           "complete": true,
2026-06-05T23:17:26.0124347Z           "evidence": [
2026-06-05T23:17:26.0124555Z             {
2026-06-05T23:17:26.0124966Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0125196Z               "line": 375
2026-06-05T23:17:26.0125381Z             },
2026-06-05T23:17:26.0125585Z             {
2026-06-05T23:17:26.0125978Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0126218Z               "line": 854
2026-06-05T23:17:26.0126415Z             }
2026-06-05T23:17:26.0126615Z           ]
2026-06-05T23:17:26.0126811Z         },
2026-06-05T23:17:26.0127006Z         "unit": {
2026-06-05T23:17:26.0127242Z           "complete": true,
2026-06-05T23:17:26.0127461Z           "evidence": [
2026-06-05T23:17:26.0127655Z             {
2026-06-05T23:17:26.0128047Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T23:17:26.0128293Z               "line": 172
2026-06-05T23:17:26.0128488Z             },
2026-06-05T23:17:26.0128668Z             {
2026-06-05T23:17:26.0129049Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T23:17:26.0129492Z               "line": 226
2026-06-05T23:17:26.0129726Z             },
2026-06-05T23:17:26.0129963Z             {
2026-06-05T23:17:26.0130512Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-05T23:17:26.0130738Z               "line": 70
2026-06-05T23:17:26.0130920Z             },
2026-06-05T23:17:26.0131116Z             {
2026-06-05T23:17:26.0131503Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-05T23:17:26.0131732Z               "line": 101
2026-06-05T23:17:26.0131938Z             }
2026-06-05T23:17:26.0132128Z           ]
2026-06-05T23:17:26.0132333Z         }
2026-06-05T23:17:26.0132518Z       }
2026-06-05T23:17:26.0132702Z     },
2026-06-05T23:17:26.0132882Z     {
2026-06-05T23:17:26.0133111Z       "id": "REQ-INST-9",
2026-06-05T23:17:26.0134194Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-05T23:17:26.0134464Z       "requiredStages": [
2026-06-05T23:17:26.0134672Z         "impl",
2026-06-05T23:17:26.0134860Z         "unit"
2026-06-05T23:17:26.0135063Z       ],
2026-06-05T23:17:26.0135309Z       "stages": {
2026-06-05T23:17:26.0135529Z         "doc": {
2026-06-05T23:17:26.0135849Z           "complete": false,
2026-06-05T23:17:26.0136079Z           "evidence": []
2026-06-05T23:17:26.0136276Z         },
2026-06-05T23:17:26.0136485Z         "impl": {
2026-06-05T23:17:26.0136727Z           "complete": true,
2026-06-05T23:17:26.0137158Z           "evidence": [
2026-06-05T23:17:26.0137381Z             {
2026-06-05T23:17:26.0137802Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0138022Z               "line": 280
2026-06-05T23:17:26.0138219Z             }
2026-06-05T23:17:26.0138406Z           ]
2026-06-05T23:17:26.0138597Z         },
2026-06-05T23:17:26.0138829Z         "int": {
2026-06-05T23:17:26.0139066Z           "complete": false,
2026-06-05T23:17:26.0139540Z           "evidence": []
2026-06-05T23:17:26.0139755Z         },
2026-06-05T23:17:26.0140100Z         "unit": {
2026-06-05T23:17:26.0140326Z           "complete": true,
2026-06-05T23:17:26.0140542Z           "evidence": [
2026-06-05T23:17:26.0140731Z             {
2026-06-05T23:17:26.0141112Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0141337Z               "line": 843
2026-06-05T23:17:26.0141521Z             },
2026-06-05T23:17:26.0141719Z             {
2026-06-05T23:17:26.0142108Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0142328Z               "line": 852
2026-06-05T23:17:26.0142520Z             },
2026-06-05T23:17:26.0142690Z             {
2026-06-05T23:17:26.0143069Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0143283Z               "line": 866
2026-06-05T23:17:26.0143484Z             },
2026-06-05T23:17:26.0143659Z             {
2026-06-05T23:17:26.0144051Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0144271Z               "line": 876
2026-06-05T23:17:26.0144443Z             },
2026-06-05T23:17:26.0144627Z             {
2026-06-05T23:17:26.0145012Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0145250Z               "line": 895
2026-06-05T23:17:26.0145439Z             }
2026-06-05T23:17:26.0145638Z           ]
2026-06-05T23:17:26.0145834Z         }
2026-06-05T23:17:26.0146015Z       }
2026-06-05T23:17:26.0146207Z     },
2026-06-05T23:17:26.0146381Z     {
2026-06-05T23:17:26.0146648Z       "id": "REQ-INSTALL-1",
2026-06-05T23:17:26.0147373Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-05T23:17:26.0147629Z       "requiredStages": [
2026-06-05T23:17:26.0147833Z         "doc",
2026-06-05T23:17:26.0148028Z         "impl",
2026-06-05T23:17:26.0148217Z         "int"
2026-06-05T23:17:26.0148413Z       ],
2026-06-05T23:17:26.0148614Z       "stages": {
2026-06-05T23:17:26.0148804Z         "doc": {
2026-06-05T23:17:26.0149038Z           "complete": true,
2026-06-05T23:17:26.0149472Z           "evidence": [
2026-06-05T23:17:26.0149843Z             {
2026-06-05T23:17:26.0150092Z               "path": "CONTEXT.md",
2026-06-05T23:17:26.0150305Z               "line": 540
2026-06-05T23:17:26.0150493Z             }
2026-06-05T23:17:26.0150674Z           ]
2026-06-05T23:17:26.0150866Z         },
2026-06-05T23:17:26.0151088Z         "impl": {
2026-06-05T23:17:26.0151319Z           "complete": true,
2026-06-05T23:17:26.0151547Z           "evidence": [
2026-06-05T23:17:26.0151746Z             {
2026-06-05T23:17:26.0159851Z               "path": "installer/install.ps1",
2026-06-05T23:17:26.0160210Z               "line": 50
2026-06-05T23:17:26.0160419Z             },
2026-06-05T23:17:26.0160609Z             {
2026-06-05T23:17:26.0161415Z               "path": "installer/install.sh",
2026-06-05T23:17:26.0162289Z               "line": 49
2026-06-05T23:17:26.0162501Z             }
2026-06-05T23:17:26.0162710Z           ]
2026-06-05T23:17:26.0162899Z         },
2026-06-05T23:17:26.0163096Z         "int": {
2026-06-05T23:17:26.0163341Z           "complete": true,
2026-06-05T23:17:26.0163559Z           "evidence": [
2026-06-05T23:17:26.0163762Z             {
2026-06-05T23:17:26.0164161Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-05T23:17:26.0164397Z               "line": 21
2026-06-05T23:17:26.0164610Z             }
2026-06-05T23:17:26.0164817Z           ]
2026-06-05T23:17:26.0165012Z         },
2026-06-05T23:17:26.0165207Z         "unit": {
2026-06-05T23:17:26.0165683Z           "complete": false,
2026-06-05T23:17:26.0165950Z           "evidence": []
2026-06-05T23:17:26.0166140Z         }
2026-06-05T23:17:26.0166319Z       }
2026-06-05T23:17:26.0166513Z     },
2026-06-05T23:17:26.0166699Z     {
2026-06-05T23:17:26.0166925Z       "id": "REQ-INSTALL-2",
2026-06-05T23:17:26.0167413Z       "title": "Marketplace-repackaging-friendly install",
2026-06-05T23:17:26.0168101Z       "requiredStages": [
2026-06-05T23:17:26.0168348Z         "doc"
2026-06-05T23:17:26.0168558Z       ],
2026-06-05T23:17:26.0168820Z       "stages": {
2026-06-05T23:17:26.0169073Z         "doc": {
2026-06-05T23:17:26.0169416Z           "complete": true,
2026-06-05T23:17:26.0169672Z           "evidence": [
2026-06-05T23:17:26.0169867Z             {
2026-06-05T23:17:26.0170126Z               "path": "CONTEXT.md",
2026-06-05T23:17:26.0170347Z               "line": 541
2026-06-05T23:17:26.0170533Z             }
2026-06-05T23:17:26.0170720Z           ]
2026-06-05T23:17:26.0171309Z         },
2026-06-05T23:17:26.0171624Z         "impl": {
2026-06-05T23:17:26.0171901Z           "complete": false,
2026-06-05T23:17:26.0172148Z           "evidence": []
2026-06-05T23:17:26.0172341Z         },
2026-06-05T23:17:26.0172540Z         "int": {
2026-06-05T23:17:26.0172779Z           "complete": false,
2026-06-05T23:17:26.0173013Z           "evidence": []
2026-06-05T23:17:26.0173191Z         },
2026-06-05T23:17:26.0173377Z         "unit": {
2026-06-05T23:17:26.0173623Z           "complete": false,
2026-06-05T23:17:26.0173824Z           "evidence": []
2026-06-05T23:17:26.0174004Z         }
2026-06-05T23:17:26.0174282Z       }
2026-06-05T23:17:26.0174468Z     },
2026-06-05T23:17:26.0174641Z     {
2026-06-05T23:17:26.0174863Z       "id": "REQ-INSTALL-3",
2026-06-05T23:17:26.0175357Z       "title": "Idempotent + interactive-optional first run",
2026-06-05T23:17:26.0175586Z       "requiredStages": [
2026-06-05T23:17:26.0175771Z         "impl",
2026-06-05T23:17:26.0175945Z         "int"
2026-06-05T23:17:26.0176131Z       ],
2026-06-05T23:17:26.0176341Z       "stages": {
2026-06-05T23:17:26.0176518Z         "doc": {
2026-06-05T23:17:26.0176756Z           "complete": false,
2026-06-05T23:17:26.0176976Z           "evidence": []
2026-06-05T23:17:26.0177156Z         },
2026-06-05T23:17:26.0177338Z         "impl": {
2026-06-05T23:17:26.0177575Z           "complete": true,
2026-06-05T23:17:26.0177789Z           "evidence": [
2026-06-05T23:17:26.0177960Z             {
2026-06-05T23:17:26.0178269Z               "path": "installer/install.ps1",
2026-06-05T23:17:26.0178464Z               "line": 93
2026-06-05T23:17:26.0178652Z             },
2026-06-05T23:17:26.0178822Z             {
2026-06-05T23:17:26.0179120Z               "path": "installer/install.sh",
2026-06-05T23:17:26.0179451Z               "line": 76
2026-06-05T23:17:26.0179629Z             }
2026-06-05T23:17:26.0179809Z           ]
2026-06-05T23:17:26.0179975Z         },
2026-06-05T23:17:26.0180164Z         "int": {
2026-06-05T23:17:26.0180380Z           "complete": true,
2026-06-05T23:17:26.0180610Z           "evidence": [
2026-06-05T23:17:26.0181131Z             {
2026-06-05T23:17:26.0181553Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-05T23:17:26.0181815Z               "line": 152
2026-06-05T23:17:26.0182009Z             }
2026-06-05T23:17:26.0182199Z           ]
2026-06-05T23:17:26.0182784Z         },
2026-06-05T23:17:26.0182982Z         "unit": {
2026-06-05T23:17:26.0183211Z           "complete": false,
2026-06-05T23:17:26.0183421Z           "evidence": []
2026-06-05T23:17:26.0183602Z         }
2026-06-05T23:17:26.0183765Z       }
2026-06-05T23:17:26.0183947Z     },
2026-06-05T23:17:26.0184106Z     {
2026-06-05T23:17:26.0184337Z       "id": "REQ-INSTALL-4",
2026-06-05T23:17:26.0187738Z       "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-05T23:17:26.0188232Z       "requiredStages": [
2026-06-05T23:17:26.0188451Z         "impl",
2026-06-05T23:17:26.0188622Z         "unit"
2026-06-05T23:17:26.0188800Z       ],
2026-06-05T23:17:26.0189368Z       "stages": {
2026-06-05T23:17:26.0189597Z         "doc": {
2026-06-05T23:17:26.0189842Z           "complete": false,
2026-06-05T23:17:26.0190067Z           "evidence": []
2026-06-05T23:17:26.0190243Z         },
2026-06-05T23:17:26.0190424Z         "impl": {
2026-06-05T23:17:26.0190642Z           "complete": true,
2026-06-05T23:17:26.0190845Z           "evidence": [
2026-06-05T23:17:26.0191017Z             {
2026-06-05T23:17:26.0191458Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.0191670Z               "line": 149
2026-06-05T23:17:26.0191856Z             },
2026-06-05T23:17:26.0192019Z             {
2026-06-05T23:17:26.0192408Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0192609Z               "line": 29
2026-06-05T23:17:26.0193056Z             },
2026-06-05T23:17:26.0193279Z             {
2026-06-05T23:17:26.0193699Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0193935Z               "line": 117
2026-06-05T23:17:26.0194109Z             },
2026-06-05T23:17:26.0194290Z             {
2026-06-05T23:17:26.0194676Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0194899Z               "line": 161
2026-06-05T23:17:26.0195085Z             },
2026-06-05T23:17:26.0195253Z             {
2026-06-05T23:17:26.0195628Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0195825Z               "line": 191
2026-06-05T23:17:26.0196005Z             },
2026-06-05T23:17:26.0196186Z             {
2026-06-05T23:17:26.0196553Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0196765Z               "line": 223
2026-06-05T23:17:26.0196933Z             },
2026-06-05T23:17:26.0197111Z             {
2026-06-05T23:17:26.0197395Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0197614Z               "line": 1613
2026-06-05T23:17:26.0197792Z             }
2026-06-05T23:17:26.0197958Z           ]
2026-06-05T23:17:26.0198133Z         },
2026-06-05T23:17:26.0198309Z         "int": {
2026-06-05T23:17:26.0198542Z           "complete": false,
2026-06-05T23:17:26.0198757Z           "evidence": []
2026-06-05T23:17:26.0198934Z         },
2026-06-05T23:17:26.0199126Z         "unit": {
2026-06-05T23:17:26.0199428Z           "complete": true,
2026-06-05T23:17:26.0199638Z           "evidence": [
2026-06-05T23:17:26.0199809Z             {
2026-06-05T23:17:26.0200250Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.0200448Z               "line": 311
2026-06-05T23:17:26.0200633Z             },
2026-06-05T23:17:26.0200810Z             {
2026-06-05T23:17:26.0201180Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0201387Z               "line": 269
2026-06-05T23:17:26.0201557Z             },
2026-06-05T23:17:26.0201746Z             {
2026-06-05T23:17:26.0202133Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0202356Z               "line": 304
2026-06-05T23:17:26.0202540Z             },
2026-06-05T23:17:26.0202715Z             {
2026-06-05T23:17:26.0203105Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T23:17:26.0203635Z               "line": 321
2026-06-05T23:17:26.0203814Z             },
2026-06-05T23:17:26.0210687Z             {
2026-06-05T23:17:26.0211115Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0211317Z               "line": 2789
2026-06-05T23:17:26.0211472Z             }
2026-06-05T23:17:26.0211635Z           ]
2026-06-05T23:17:26.0211794Z         }
2026-06-05T23:17:26.0211959Z       }
2026-06-05T23:17:26.0212110Z     },
2026-06-05T23:17:26.0212272Z     {
2026-06-05T23:17:26.0212486Z       "id": "REQ-INSTALL-5",
2026-06-05T23:17:26.0214984Z       "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-05T23:17:26.0215244Z       "requiredStages": [
2026-06-05T23:17:26.0215411Z         "impl",
2026-06-05T23:17:26.0215583Z         "int"
2026-06-05T23:17:26.0215747Z       ],
2026-06-05T23:17:26.0215937Z       "stages": {
2026-06-05T23:17:26.0216117Z         "doc": {
2026-06-05T23:17:26.0216319Z           "complete": false,
2026-06-05T23:17:26.0216520Z           "evidence": []
2026-06-05T23:17:26.0216676Z         },
2026-06-05T23:17:26.0216854Z         "impl": {
2026-06-05T23:17:26.0217064Z           "complete": true,
2026-06-05T23:17:26.0217246Z           "evidence": [
2026-06-05T23:17:26.0217416Z             {
2026-06-05T23:17:26.0217689Z               "path": "installer/install.ps1",
2026-06-05T23:17:26.0217879Z               "line": 5
2026-06-05T23:17:26.0218043Z             },
2026-06-05T23:17:26.0218214Z             {
2026-06-05T23:17:26.0218495Z               "path": "installer/install.sh",
2026-06-05T23:17:26.0218670Z               "line": 6
2026-06-05T23:17:26.0218838Z             }
2026-06-05T23:17:26.0218994Z           ]
2026-06-05T23:17:26.0219239Z         },
2026-06-05T23:17:26.0219578Z         "int": {
2026-06-05T23:17:26.0219822Z           "complete": true,
2026-06-05T23:17:26.0220165Z           "evidence": [
2026-06-05T23:17:26.0220343Z             {
2026-06-05T23:17:26.0220704Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-05T23:17:26.0220894Z               "line": 22
2026-06-05T23:17:26.0221066Z             }
2026-06-05T23:17:26.0221225Z           ]
2026-06-05T23:17:26.0221398Z         },
2026-06-05T23:17:26.0221572Z         "unit": {
2026-06-05T23:17:26.0221777Z           "complete": false,
2026-06-05T23:17:26.0221977Z           "evidence": []
2026-06-05T23:17:26.0222130Z         }
2026-06-05T23:17:26.0222291Z       }
2026-06-05T23:17:26.0222444Z     },
2026-06-05T23:17:26.0222609Z     {
2026-06-05T23:17:26.0222834Z       "id": "REQ-MANIFEST-1",
2026-06-05T23:17:26.0223514Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-05T23:17:26.0223743Z       "requiredStages": [
2026-06-05T23:17:26.0223906Z         "doc",
2026-06-05T23:17:26.0224086Z         "impl",
2026-06-05T23:17:26.0224244Z         "unit"
2026-06-05T23:17:26.0224407Z       ],
2026-06-05T23:17:26.0224591Z       "stages": {
2026-06-05T23:17:26.0224763Z         "doc": {
2026-06-05T23:17:26.0224988Z           "complete": true,
2026-06-05T23:17:26.0225174Z           "evidence": [
2026-06-05T23:17:26.0225344Z             {
2026-06-05T23:17:26.0225581Z               "path": "docs/MANIFEST.md",
2026-06-05T23:17:26.0225782Z               "line": 19
2026-06-05T23:17:26.0225950Z             }
2026-06-05T23:17:26.0226108Z           ]
2026-06-05T23:17:26.0226273Z         },
2026-06-05T23:17:26.0226439Z         "impl": {
2026-06-05T23:17:26.0226647Z           "complete": true,
2026-06-05T23:17:26.0226832Z           "evidence": [
2026-06-05T23:17:26.0227013Z             {
2026-06-05T23:17:26.0227399Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0227596Z               "line": 18
2026-06-05T23:17:26.0227768Z             }
2026-06-05T23:17:26.0227929Z           ]
2026-06-05T23:17:26.0228098Z         },
2026-06-05T23:17:26.0228261Z         "int": {
2026-06-05T23:17:26.0228766Z           "complete": false,
2026-06-05T23:17:26.0228973Z           "evidence": []
2026-06-05T23:17:26.0229137Z         },
2026-06-05T23:17:26.0229537Z         "unit": {
2026-06-05T23:17:26.0229893Z           "complete": true,
2026-06-05T23:17:26.0230095Z           "evidence": [
2026-06-05T23:17:26.0230260Z             {
2026-06-05T23:17:26.0230626Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0230825Z               "line": 746
2026-06-05T23:17:26.0231003Z             },
2026-06-05T23:17:26.0231183Z             {
2026-06-05T23:17:26.0231540Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0231901Z               "line": 842
2026-06-05T23:17:26.0232091Z             },
2026-06-05T23:17:26.0232265Z             {
2026-06-05T23:17:26.0232634Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0232819Z               "line": 854
2026-06-05T23:17:26.0232987Z             },
2026-06-05T23:17:26.0233140Z             {
2026-06-05T23:17:26.0233512Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0233695Z               "line": 862
2026-06-05T23:17:26.0233872Z             },
2026-06-05T23:17:26.0234044Z             {
2026-06-05T23:17:26.0234402Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0234602Z               "line": 879
2026-06-05T23:17:26.0234765Z             },
2026-06-05T23:17:26.0234929Z             {
2026-06-05T23:17:26.0235285Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0235488Z               "line": 893
2026-06-05T23:17:26.0235656Z             },
2026-06-05T23:17:26.0235829Z             {
2026-06-05T23:17:26.0236185Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0236371Z               "line": 908
2026-06-05T23:17:26.0236542Z             },
2026-06-05T23:17:26.0236703Z             {
2026-06-05T23:17:26.0237062Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0237264Z               "line": 923
2026-06-05T23:17:26.0237421Z             },
2026-06-05T23:17:26.0237585Z             {
2026-06-05T23:17:26.0237928Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0238124Z               "line": 938
2026-06-05T23:17:26.0238307Z             },
2026-06-05T23:17:26.0238484Z             {
2026-06-05T23:17:26.0238840Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0239025Z               "line": 949
2026-06-05T23:17:26.0239260Z             }
2026-06-05T23:17:26.0239572Z           ]
2026-06-05T23:17:26.0239777Z         }
2026-06-05T23:17:26.0239962Z       }
2026-06-05T23:17:26.0240287Z     },
2026-06-05T23:17:26.0240458Z     {
2026-06-05T23:17:26.0240669Z       "id": "REQ-MIGRATE-1",
2026-06-05T23:17:26.0241267Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-05T23:17:26.0241492Z       "requiredStages": [],
2026-06-05T23:17:26.0241682Z       "stages": {
2026-06-05T23:17:26.0241865Z         "doc": {
2026-06-05T23:17:26.0242088Z           "complete": false,
2026-06-05T23:17:26.0242288Z           "evidence": []
2026-06-05T23:17:26.0242449Z         },
2026-06-05T23:17:26.0242634Z         "impl": {
2026-06-05T23:17:26.0242841Z           "complete": false,
2026-06-05T23:17:26.0243058Z           "evidence": []
2026-06-05T23:17:26.0243218Z         },
2026-06-05T23:17:26.0243397Z         "int": {
2026-06-05T23:17:26.0243623Z           "complete": false,
2026-06-05T23:17:26.0243815Z           "evidence": []
2026-06-05T23:17:26.0243981Z         },
2026-06-05T23:17:26.0244146Z         "unit": {
2026-06-05T23:17:26.0244357Z           "complete": false,
2026-06-05T23:17:26.0244558Z           "evidence": []
2026-06-05T23:17:26.0244736Z         }
2026-06-05T23:17:26.0244901Z       }
2026-06-05T23:17:26.0245052Z     },
2026-06-05T23:17:26.0245214Z     {
2026-06-05T23:17:26.0245429Z       "id": "REQ-MSG-1",
2026-06-05T23:17:26.0247431Z       "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-05T23:17:26.0247888Z       "requiredStages": [
2026-06-05T23:17:26.0248061Z         "impl",
2026-06-05T23:17:26.0248232Z         "unit",
2026-06-05T23:17:26.0248400Z         "int"
2026-06-05T23:17:26.0248564Z       ],
2026-06-05T23:17:26.0248737Z       "stages": {
2026-06-05T23:17:26.0248914Z         "doc": {
2026-06-05T23:17:26.0249146Z           "complete": false,
2026-06-05T23:17:26.0249559Z           "evidence": []
2026-06-05T23:17:26.0249743Z         },
2026-06-05T23:17:26.0256234Z         "impl": {
2026-06-05T23:17:26.0256891Z           "complete": true,
2026-06-05T23:17:26.0257098Z           "evidence": [
2026-06-05T23:17:26.0257267Z             {
2026-06-05T23:17:26.0257609Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0257789Z               "line": 28
2026-06-05T23:17:26.0257956Z             },
2026-06-05T23:17:26.0258118Z             {
2026-06-05T23:17:26.0258463Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0258646Z               "line": 94
2026-06-05T23:17:26.0258815Z             },
2026-06-05T23:17:26.0258983Z             {
2026-06-05T23:17:26.0259520Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0259751Z               "line": 127
2026-06-05T23:17:26.0260061Z             },
2026-06-05T23:17:26.0260223Z             {
2026-06-05T23:17:26.0260528Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0260718Z               "line": 149
2026-06-05T23:17:26.0260891Z             },
2026-06-05T23:17:26.0261050Z             {
2026-06-05T23:17:26.0261373Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0261555Z               "line": 174
2026-06-05T23:17:26.0261721Z             },
2026-06-05T23:17:26.0261875Z             {
2026-06-05T23:17:26.0262202Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T23:17:26.0262393Z               "line": 18
2026-06-05T23:17:26.0262564Z             },
2026-06-05T23:17:26.0262732Z             {
2026-06-05T23:17:26.0263012Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:26.0263202Z               "line": 13
2026-06-05T23:17:26.0263357Z             },
2026-06-05T23:17:26.0263524Z             {
2026-06-05T23:17:26.0263821Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:26.0263994Z               "line": 61
2026-06-05T23:17:26.0264164Z             },
2026-06-05T23:17:26.0264319Z             {
2026-06-05T23:17:26.0264609Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T23:17:26.0264795Z               "line": 10
2026-06-05T23:17:26.0264976Z             }
2026-06-05T23:17:26.0265151Z           ]
2026-06-05T23:17:26.0265310Z         },
2026-06-05T23:17:26.0265485Z         "int": {
2026-06-05T23:17:26.0265687Z           "complete": true,
2026-06-05T23:17:26.0265890Z           "evidence": [
2026-06-05T23:17:26.0266055Z             {
2026-06-05T23:17:26.0266504Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T23:17:26.0266692Z               "line": 9
2026-06-05T23:17:26.0266852Z             },
2026-06-05T23:17:26.0267022Z             {
2026-06-05T23:17:26.0267425Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T23:17:26.0267615Z               "line": 66
2026-06-05T23:17:26.0267771Z             },
2026-06-05T23:17:26.0267938Z             {
2026-06-05T23:17:26.0268351Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T23:17:26.0268533Z               "line": 116
2026-06-05T23:17:26.0268700Z             }
2026-06-05T23:17:26.0268856Z           ]
2026-06-05T23:17:26.0269032Z         },
2026-06-05T23:17:26.0269256Z         "unit": {
2026-06-05T23:17:26.0269476Z           "complete": true,
2026-06-05T23:17:26.0269669Z           "evidence": [
2026-06-05T23:17:26.0269833Z             {
2026-06-05T23:17:26.0270154Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0270577Z               "line": 203
2026-06-05T23:17:26.0270749Z             },
2026-06-05T23:17:26.0270910Z             {
2026-06-05T23:17:26.0271233Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0271437Z               "line": 232
2026-06-05T23:17:26.0271606Z             },
2026-06-05T23:17:26.0271784Z             {
2026-06-05T23:17:26.0272093Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0272294Z               "line": 277
2026-06-05T23:17:26.0272466Z             },
2026-06-05T23:17:26.0272618Z             {
2026-06-05T23:17:26.0272928Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0273259Z               "line": 300
2026-06-05T23:17:26.0273462Z             },
2026-06-05T23:17:26.0273625Z             {
2026-06-05T23:17:26.0273944Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T23:17:26.0274146Z               "line": 322
2026-06-05T23:17:26.0274305Z             },
2026-06-05T23:17:26.0274498Z             {
2026-06-05T23:17:26.0274816Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T23:17:26.0275013Z               "line": 203
2026-06-05T23:17:26.0275175Z             },
2026-06-05T23:17:26.0275342Z             {
2026-06-05T23:17:26.0275666Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T23:17:26.0275865Z               "line": 233
2026-06-05T23:17:26.0276061Z             },
2026-06-05T23:17:26.0276218Z             {
2026-06-05T23:17:26.0276552Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T23:17:26.0276748Z               "line": 247
2026-06-05T23:17:26.0276915Z             },
2026-06-05T23:17:26.0277084Z             {
2026-06-05T23:17:26.0277409Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T23:17:26.0277603Z               "line": 259
2026-06-05T23:17:26.0277763Z             },
2026-06-05T23:17:26.0277927Z             {
2026-06-05T23:17:26.0278216Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:26.0278433Z               "line": 158
2026-06-05T23:17:26.0278611Z             },
2026-06-05T23:17:26.0278772Z             {
2026-06-05T23:17:26.0279084Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T23:17:26.0279339Z               "line": 235
2026-06-05T23:17:26.0279519Z             },
2026-06-05T23:17:26.0279672Z             {
2026-06-05T23:17:26.0279962Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T23:17:26.0280171Z               "line": 68
2026-06-05T23:17:26.0280348Z             },
2026-06-05T23:17:26.0280517Z             {
2026-06-05T23:17:26.0280802Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T23:17:26.0281023Z               "line": 74
2026-06-05T23:17:26.0281193Z             },
2026-06-05T23:17:26.0281361Z             {
2026-06-05T23:17:26.0281653Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T23:17:26.0281830Z               "line": 80
2026-06-05T23:17:26.0282001Z             },
2026-06-05T23:17:26.0282159Z             {
2026-06-05T23:17:26.0282471Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T23:17:26.0282664Z               "line": 99
2026-06-05T23:17:26.0282839Z             }
2026-06-05T23:17:26.0283019Z           ]
2026-06-05T23:17:26.0283182Z         }
2026-06-05T23:17:26.0283348Z       }
2026-06-05T23:17:26.0283503Z     },
2026-06-05T23:17:26.0283668Z     {
2026-06-05T23:17:26.0283859Z       "id": "REQ-MSG-2",
2026-06-05T23:17:26.0284941Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-05T23:17:26.0285174Z       "requiredStages": [
2026-06-05T23:17:26.0285347Z         "impl",
2026-06-05T23:17:26.0285527Z         "unit"
2026-06-05T23:17:26.0285701Z       ],
2026-06-05T23:17:26.0285884Z       "stages": {
2026-06-05T23:17:26.0286048Z         "doc": {
2026-06-05T23:17:26.0286273Z           "complete": false,
2026-06-05T23:17:26.0286479Z           "evidence": []
2026-06-05T23:17:26.0286643Z         },
2026-06-05T23:17:26.0286829Z         "impl": {
2026-06-05T23:17:26.0287285Z           "complete": true,
2026-06-05T23:17:26.0287500Z           "evidence": [
2026-06-05T23:17:26.0287676Z             {
2026-06-05T23:17:26.0287966Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0288165Z               "line": 11
2026-06-05T23:17:26.0288339Z             },
2026-06-05T23:17:26.0288515Z             {
2026-06-05T23:17:26.0288788Z               "path": "crates/spt/src/main.rs",
2026-06-05T23:17:26.0288984Z               "line": 8
2026-06-05T23:17:26.0289150Z             }
2026-06-05T23:17:26.0289412Z           ]
2026-06-05T23:17:26.0289589Z         },
2026-06-05T23:17:26.0289773Z         "int": {
2026-06-05T23:17:26.0290220Z           "complete": false,
2026-06-05T23:17:26.0290457Z           "evidence": []
2026-06-05T23:17:26.0290631Z         },
2026-06-05T23:17:26.0290798Z         "unit": {
2026-06-05T23:17:26.0291003Z           "complete": true,
2026-06-05T23:17:26.0291199Z           "evidence": [
2026-06-05T23:17:26.0291363Z             {
2026-06-05T23:17:26.0291655Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0291848Z               "line": 2616
2026-06-05T23:17:26.0292021Z             },
2026-06-05T23:17:26.0292180Z             {
2026-06-05T23:17:26.0298855Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0299303Z               "line": 3590
2026-06-05T23:17:26.0299474Z             },
2026-06-05T23:17:26.0299647Z             {
2026-06-05T23:17:26.0299923Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0300125Z               "line": 3599
2026-06-05T23:17:26.0300284Z             },
2026-06-05T23:17:26.0300457Z             {
2026-06-05T23:17:26.0300762Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0300963Z               "line": 3611
2026-06-05T23:17:26.0301130Z             }
2026-06-05T23:17:26.0301292Z           ]
2026-06-05T23:17:26.0301473Z         }
2026-06-05T23:17:26.0301630Z       }
2026-06-05T23:17:26.0301794Z     },
2026-06-05T23:17:26.0301955Z     {
2026-06-05T23:17:26.0302166Z       "id": "REQ-MSG-3",
2026-06-05T23:17:26.0303844Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-05T23:17:26.0304087Z       "requiredStages": [
2026-06-05T23:17:26.0304270Z         "impl",
2026-06-05T23:17:26.0304447Z         "unit",
2026-06-05T23:17:26.0304609Z         "int"
2026-06-05T23:17:26.0304778Z       ],
2026-06-05T23:17:26.0304957Z       "stages": {
2026-06-05T23:17:26.0305133Z         "doc": {
2026-06-05T23:17:26.0305344Z           "complete": false,
2026-06-05T23:17:26.0305544Z           "evidence": []
2026-06-05T23:17:26.0305725Z         },
2026-06-05T23:17:26.0305924Z         "impl": {
2026-06-05T23:17:26.0306133Z           "complete": true,
2026-06-05T23:17:26.0306324Z           "evidence": [
2026-06-05T23:17:26.0306500Z             {
2026-06-05T23:17:26.0306837Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T23:17:26.0307040Z               "line": 19
2026-06-05T23:17:26.0307216Z             },
2026-06-05T23:17:26.0307392Z             {
2026-06-05T23:17:26.0307701Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:26.0307877Z               "line": 21
2026-06-05T23:17:26.0308043Z             },
2026-06-05T23:17:26.0308209Z             {
2026-06-05T23:17:26.0308509Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:26.0308701Z               "line": 48
2026-06-05T23:17:26.0308875Z             },
2026-06-05T23:17:26.0309044Z             {
2026-06-05T23:17:26.0309405Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:26.0309608Z               "line": 131
2026-06-05T23:17:26.0309779Z             }
2026-06-05T23:17:26.0309947Z           ]
2026-06-05T23:17:26.0310109Z         },
2026-06-05T23:17:26.0310272Z         "int": {
2026-06-05T23:17:26.0310493Z           "complete": true,
2026-06-05T23:17:26.0310687Z           "evidence": [
2026-06-05T23:17:26.0310863Z             {
2026-06-05T23:17:26.0311751Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T23:17:26.0312043Z               "line": 10
2026-06-05T23:17:26.0312239Z             },
2026-06-05T23:17:26.0312410Z             {
2026-06-05T23:17:26.0312788Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T23:17:26.0312996Z               "line": 66
2026-06-05T23:17:26.0313180Z             }
2026-06-05T23:17:26.0313353Z           ]
2026-06-05T23:17:26.0313531Z         },
2026-06-05T23:17:26.0313725Z         "unit": {
2026-06-05T23:17:26.0313930Z           "complete": true,
2026-06-05T23:17:26.0314120Z           "evidence": [
2026-06-05T23:17:26.0314288Z             {
2026-06-05T23:17:26.0314789Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:26.0315009Z               "line": 185
2026-06-05T23:17:26.0315186Z             },
2026-06-05T23:17:26.0315355Z             {
2026-06-05T23:17:26.0315623Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:26.0315848Z               "line": 204
2026-06-05T23:17:26.0316016Z             },
2026-06-05T23:17:26.0316204Z             {
2026-06-05T23:17:26.0316479Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T23:17:26.0316696Z               "line": 223
2026-06-05T23:17:26.0316876Z             }
2026-06-05T23:17:26.0317045Z           ]
2026-06-05T23:17:26.0317219Z         }
2026-06-05T23:17:26.0317384Z       }
2026-06-05T23:17:26.0317564Z     },
2026-06-05T23:17:26.0317720Z     {
2026-06-05T23:17:26.0317928Z       "id": "REQ-NET-1",
2026-06-05T23:17:26.0318403Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-05T23:17:26.0318624Z       "requiredStages": [
2026-06-05T23:17:26.0318818Z         "impl",
2026-06-05T23:17:26.0318993Z         "unit",
2026-06-05T23:17:26.0319244Z         "int"
2026-06-05T23:17:26.0319575Z       ],
2026-06-05T23:17:26.0319788Z       "stages": {
2026-06-05T23:17:26.0320000Z         "doc": {
2026-06-05T23:17:26.0320351Z           "complete": false,
2026-06-05T23:17:26.0320569Z           "evidence": []
2026-06-05T23:17:26.0320732Z         },
2026-06-05T23:17:26.0320912Z         "impl": {
2026-06-05T23:17:26.0321105Z           "complete": true,
2026-06-05T23:17:26.0321294Z           "evidence": [
2026-06-05T23:17:26.0321469Z             {
2026-06-05T23:17:26.0321773Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0321965Z               "line": 54
2026-06-05T23:17:26.0322130Z             },
2026-06-05T23:17:26.0322301Z             {
2026-06-05T23:17:26.0322595Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0322803Z               "line": 533
2026-06-05T23:17:26.0322987Z             },
2026-06-05T23:17:26.0323141Z             {
2026-06-05T23:17:26.0323416Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-05T23:17:26.0323595Z               "line": 69
2026-06-05T23:17:26.0323765Z             },
2026-06-05T23:17:26.0323921Z             {
2026-06-05T23:17:26.0324218Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0324432Z               "line": 65
2026-06-05T23:17:26.0324589Z             },
2026-06-05T23:17:26.0324761Z             {
2026-06-05T23:17:26.0325044Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0325240Z               "line": 127
2026-06-05T23:17:26.0325401Z             },
2026-06-05T23:17:26.0325580Z             {
2026-06-05T23:17:26.0325879Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0326072Z               "line": 143
2026-06-05T23:17:26.0326252Z             },
2026-06-05T23:17:26.0326415Z             {
2026-06-05T23:17:26.0326730Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0326914Z               "line": 158
2026-06-05T23:17:26.0327084Z             },
2026-06-05T23:17:26.0327266Z             {
2026-06-05T23:17:26.0327548Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0327742Z               "line": 220
2026-06-05T23:17:26.0328209Z             },
2026-06-05T23:17:26.0328394Z             {
2026-06-05T23:17:26.0328675Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0328884Z               "line": 255
2026-06-05T23:17:26.0329078Z             },
2026-06-05T23:17:26.0329484Z             {
2026-06-05T23:17:26.0329970Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0330166Z               "line": 261
2026-06-05T23:17:26.0330350Z             },
2026-06-05T23:17:26.0330513Z             {
2026-06-05T23:17:26.0330812Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0331020Z               "line": 267
2026-06-05T23:17:26.0331362Z             },
2026-06-05T23:17:26.0331566Z             {
2026-06-05T23:17:26.0331848Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0332043Z               "line": 283
2026-06-05T23:17:26.0332220Z             },
2026-06-05T23:17:26.0332386Z             {
2026-06-05T23:17:26.0332694Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0332885Z               "line": 303
2026-06-05T23:17:26.0333051Z             },
2026-06-05T23:17:26.0333214Z             {
2026-06-05T23:17:26.0333504Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T23:17:26.0333693Z               "line": 35
2026-06-05T23:17:26.0333850Z             },
2026-06-05T23:17:26.0334016Z             {
2026-06-05T23:17:26.0334286Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T23:17:26.0334484Z               "line": 82
2026-06-05T23:17:26.0334646Z             },
2026-06-05T23:17:26.0334820Z             {
2026-06-05T23:17:26.0335101Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:26.0335298Z               "line": 129
2026-06-05T23:17:26.0335470Z             },
2026-06-05T23:17:26.0335629Z             {
2026-06-05T23:17:26.0342623Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0342980Z               "line": 1189
2026-06-05T23:17:26.0343200Z             },
2026-06-05T23:17:26.0343367Z             {
2026-06-05T23:17:26.0343614Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0343800Z               "line": 17
2026-06-05T23:17:26.0343957Z             }
2026-06-05T23:17:26.0344122Z           ]
2026-06-05T23:17:26.0344279Z         },
2026-06-05T23:17:26.0344450Z         "int": {
2026-06-05T23:17:26.0344644Z           "complete": true,
2026-06-05T23:17:26.0344816Z           "evidence": [
2026-06-05T23:17:26.0344986Z             {
2026-06-05T23:17:26.0345285Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0345476Z               "line": 314
2026-06-05T23:17:26.0345652Z             },
2026-06-05T23:17:26.0345819Z             {
2026-06-05T23:17:26.0346097Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0346280Z               "line": 585
2026-06-05T23:17:26.0346450Z             },
2026-06-05T23:17:26.0346610Z             {
2026-06-05T23:17:26.0346893Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0347075Z               "line": 811
2026-06-05T23:17:26.0347244Z             }
2026-06-05T23:17:26.0347410Z           ]
2026-06-05T23:17:26.0347575Z         },
2026-06-05T23:17:26.0347749Z         "unit": {
2026-06-05T23:17:26.0347936Z           "complete": true,
2026-06-05T23:17:26.0348130Z           "evidence": [
2026-06-05T23:17:26.0348289Z             {
2026-06-05T23:17:26.0348566Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0348760Z               "line": 585
2026-06-05T23:17:26.0348918Z             },
2026-06-05T23:17:26.0349083Z             {
2026-06-05T23:17:26.0349602Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0349940Z               "line": 618
2026-06-05T23:17:26.0350100Z             },
2026-06-05T23:17:26.0350283Z             {
2026-06-05T23:17:26.0350570Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0351169Z               "line": 719
2026-06-05T23:17:26.0351343Z             },
2026-06-05T23:17:26.0351498Z             {
2026-06-05T23:17:26.0351775Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-05T23:17:26.0351977Z               "line": 142
2026-06-05T23:17:26.0352135Z             },
2026-06-05T23:17:26.0352310Z             {
2026-06-05T23:17:26.0352575Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0352761Z               "line": 357
2026-06-05T23:17:26.0352914Z             },
2026-06-05T23:17:26.0353078Z             {
2026-06-05T23:17:26.0353347Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0353691Z               "line": 371
2026-06-05T23:17:26.0353884Z             },
2026-06-05T23:17:26.0354051Z             {
2026-06-05T23:17:26.0354346Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0354558Z               "line": 390
2026-06-05T23:17:26.0354736Z             },
2026-06-05T23:17:26.0354989Z             {
2026-06-05T23:17:26.0355265Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T23:17:26.0355472Z               "line": 106
2026-06-05T23:17:26.0355637Z             },
2026-06-05T23:17:26.0355813Z             {
2026-06-05T23:17:26.0356077Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T23:17:26.0356269Z               "line": 148
2026-06-05T23:17:26.0356438Z             },
2026-06-05T23:17:26.0356598Z             {
2026-06-05T23:17:26.0356869Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T23:17:26.0357055Z               "line": 445
2026-06-05T23:17:26.0357230Z             },
2026-06-05T23:17:26.0357416Z             {
2026-06-05T23:17:26.0357679Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0357877Z               "line": 441
2026-06-05T23:17:26.0358039Z             },
2026-06-05T23:17:26.0358210Z             {
2026-06-05T23:17:26.0358438Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0358640Z               "line": 657
2026-06-05T23:17:26.0358797Z             }
2026-06-05T23:17:26.0358961Z           ]
2026-06-05T23:17:26.0359128Z         }
2026-06-05T23:17:26.0359519Z       }
2026-06-05T23:17:26.0359713Z     },
2026-06-05T23:17:26.0360030Z     {
2026-06-05T23:17:26.0360221Z       "id": "REQ-NET-2",
2026-06-05T23:17:26.0360618Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-05T23:17:26.0360819Z       "requiredStages": [
2026-06-05T23:17:26.0360995Z         "impl"
2026-06-05T23:17:26.0361154Z       ],
2026-06-05T23:17:26.0361323Z       "stages": {
2026-06-05T23:17:26.0361486Z         "doc": {
2026-06-05T23:17:26.0361707Z           "complete": false,
2026-06-05T23:17:26.0361893Z           "evidence": []
2026-06-05T23:17:26.0362067Z         },
2026-06-05T23:17:26.0362245Z         "impl": {
2026-06-05T23:17:26.0362444Z           "complete": true,
2026-06-05T23:17:26.0362636Z           "evidence": [
2026-06-05T23:17:26.0362794Z             {
2026-06-05T23:17:26.0363085Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:26.0363260Z               "line": 49
2026-06-05T23:17:26.0363434Z             },
2026-06-05T23:17:26.0363603Z             {
2026-06-05T23:17:26.0363864Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0364048Z               "line": 39
2026-06-05T23:17:26.0364206Z             },
2026-06-05T23:17:26.0364372Z             {
2026-06-05T23:17:26.0364646Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0364848Z               "line": 49
2026-06-05T23:17:26.0365020Z             },
2026-06-05T23:17:26.0365174Z             {
2026-06-05T23:17:26.0365472Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0365654Z               "line": 127
2026-06-05T23:17:26.0365829Z             },
2026-06-05T23:17:26.0365989Z             {
2026-06-05T23:17:26.0366255Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0366730Z               "line": 143
2026-06-05T23:17:26.0366893Z             },
2026-06-05T23:17:26.0367067Z             {
2026-06-05T23:17:26.0367338Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T23:17:26.0367534Z               "line": 158
2026-06-05T23:17:26.0367692Z             }
2026-06-05T23:17:26.0367870Z           ]
2026-06-05T23:17:26.0368036Z         },
2026-06-05T23:17:26.0368201Z         "int": {
2026-06-05T23:17:26.0368406Z           "complete": false,
2026-06-05T23:17:26.0368594Z           "evidence": []
2026-06-05T23:17:26.0368771Z         },
2026-06-05T23:17:26.0368938Z         "unit": {
2026-06-05T23:17:26.0369142Z           "complete": true,
2026-06-05T23:17:26.0369934Z           "evidence": [
2026-06-05T23:17:26.0370138Z             {
2026-06-05T23:17:26.0370439Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:26.0370630Z               "line": 334
2026-06-05T23:17:26.0370806Z             }
2026-06-05T23:17:26.0370965Z           ]
2026-06-05T23:17:26.0371151Z         }
2026-06-05T23:17:26.0371321Z       }
2026-06-05T23:17:26.0371484Z     },
2026-06-05T23:17:26.0371649Z     {
2026-06-05T23:17:26.0371838Z       "id": "REQ-NET-3",
2026-06-05T23:17:26.0372254Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-05T23:17:26.0372458Z       "requiredStages": [
2026-06-05T23:17:26.0372637Z         "impl",
2026-06-05T23:17:26.0372813Z         "unit"
2026-06-05T23:17:26.0372979Z       ],
2026-06-05T23:17:26.0373157Z       "stages": {
2026-06-05T23:17:26.0373320Z         "doc": {
2026-06-05T23:17:26.0373521Z           "complete": false,
2026-06-05T23:17:26.0373707Z           "evidence": []
2026-06-05T23:17:26.0373893Z         },
2026-06-05T23:17:26.0374074Z         "impl": {
2026-06-05T23:17:26.0374256Z           "complete": true,
2026-06-05T23:17:26.0374441Z           "evidence": [
2026-06-05T23:17:26.0374601Z             {
2026-06-05T23:17:26.0374852Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:26.0375048Z               "line": 39
2026-06-05T23:17:26.0375226Z             },
2026-06-05T23:17:26.0375401Z             {
2026-06-05T23:17:26.0375649Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:26.0375836Z               "line": 159
2026-06-05T23:17:26.0375997Z             },
2026-06-05T23:17:26.0376173Z             {
2026-06-05T23:17:26.0376411Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T23:17:26.0376600Z               "line": 290
2026-06-05T23:17:26.0383341Z             },
2026-06-05T23:17:26.0383660Z             {
2026-06-05T23:17:26.0383941Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T23:17:26.0384146Z               "line": 36
2026-06-05T23:17:26.0384318Z             },
2026-06-05T23:17:26.0384476Z             {
2026-06-05T23:17:26.0384771Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0384963Z               "line": 135
2026-06-05T23:17:26.0385120Z             },
2026-06-05T23:17:26.0385288Z             {
2026-06-05T23:17:26.0385571Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0385753Z               "line": 172
2026-06-05T23:17:26.0385919Z             },
2026-06-05T23:17:26.0386083Z             {
2026-06-05T23:17:26.0386355Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0386532Z               "line": 184
2026-06-05T23:17:26.0386707Z             },
2026-06-05T23:17:26.0386861Z             {
2026-06-05T23:17:26.0387137Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0387325Z               "line": 222
2026-06-05T23:17:26.0387495Z             },
2026-06-05T23:17:26.0387664Z             {
2026-06-05T23:17:26.0387938Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0388130Z               "line": 237
2026-06-05T23:17:26.0388295Z             },
2026-06-05T23:17:26.0388460Z             {
2026-06-05T23:17:26.0388737Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0389601Z               "line": 273
2026-06-05T23:17:26.0389912Z             },
2026-06-05T23:17:26.0390066Z             {
2026-06-05T23:17:26.0390339Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0390514Z               "line": 314
2026-06-05T23:17:26.0390678Z             },
2026-06-05T23:17:26.0390845Z             {
2026-06-05T23:17:26.0391109Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.0391296Z               "line": 327
2026-06-05T23:17:26.0391455Z             },
2026-06-05T23:17:26.0391630Z             {
2026-06-05T23:17:26.0391879Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:26.0392236Z               "line": 29
2026-06-05T23:17:26.0392424Z             },
2026-06-05T23:17:26.0392578Z             {
2026-06-05T23:17:26.0392846Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:26.0393013Z               "line": 70
2026-06-05T23:17:26.0393175Z             },
2026-06-05T23:17:26.0393347Z             {
2026-06-05T23:17:26.0393619Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:26.0393805Z               "line": 121
2026-06-05T23:17:26.0393965Z             }
2026-06-05T23:17:26.0394127Z           ]
2026-06-05T23:17:26.0394278Z         },
2026-06-05T23:17:26.0394447Z         "int": {
2026-06-05T23:17:26.0394640Z           "complete": false,
2026-06-05T23:17:26.0394831Z           "evidence": []
2026-06-05T23:17:26.0394993Z         },
2026-06-05T23:17:26.0395153Z         "unit": {
2026-06-05T23:17:26.0395350Z           "complete": true,
2026-06-05T23:17:26.0395523Z           "evidence": [
2026-06-05T23:17:26.0395704Z             {
2026-06-05T23:17:26.0395954Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T23:17:26.0396147Z               "line": 203
2026-06-05T23:17:26.0396312Z             },
2026-06-05T23:17:26.0396468Z             {
2026-06-05T23:17:26.0396739Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T23:17:26.0396930Z               "line": 303
2026-06-05T23:17:26.0397100Z             },
2026-06-05T23:17:26.0397270Z             {
2026-06-05T23:17:26.0397548Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T23:17:26.0397739Z               "line": 399
2026-06-05T23:17:26.0397905Z             },
2026-06-05T23:17:26.0398070Z             {
2026-06-05T23:17:26.0398315Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T23:17:26.0398500Z               "line": 93
2026-06-05T23:17:26.0398675Z             },
2026-06-05T23:17:26.0398834Z             {
2026-06-05T23:17:26.0399083Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T23:17:26.0399509Z               "line": 131
2026-06-05T23:17:26.0399711Z             },
2026-06-05T23:17:26.0400021Z             {
2026-06-05T23:17:26.0400299Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:26.0400492Z               "line": 308
2026-06-05T23:17:26.0400652Z             },
2026-06-05T23:17:26.0400841Z             {
2026-06-05T23:17:26.0401096Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:26.0401286Z               "line": 345
2026-06-05T23:17:26.0401453Z             },
2026-06-05T23:17:26.0401627Z             {
2026-06-05T23:17:26.0401888Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T23:17:26.0402062Z               "line": 469
2026-06-05T23:17:26.0402225Z             }
2026-06-05T23:17:26.0402382Z           ]
2026-06-05T23:17:26.0402551Z         }
2026-06-05T23:17:26.0402710Z       }
2026-06-05T23:17:26.0402880Z     },
2026-06-05T23:17:26.0403042Z     {
2026-06-05T23:17:26.0403233Z       "id": "REQ-NODE-IDENTITY",
2026-06-05T23:17:26.0403781Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-05T23:17:26.0403981Z       "requiredStages": [
2026-06-05T23:17:26.0404155Z         "impl",
2026-06-05T23:17:26.0404313Z         "unit"
2026-06-05T23:17:26.0404481Z       ],
2026-06-05T23:17:26.0404927Z       "stages": {
2026-06-05T23:17:26.0405093Z         "doc": {
2026-06-05T23:17:26.0405293Z           "complete": false,
2026-06-05T23:17:26.0405470Z           "evidence": []
2026-06-05T23:17:26.0405641Z         },
2026-06-05T23:17:26.0405956Z         "impl": {
2026-06-05T23:17:26.0406177Z           "complete": true,
2026-06-05T23:17:26.0406396Z           "evidence": [
2026-06-05T23:17:26.0406716Z             {
2026-06-05T23:17:26.0407004Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0407190Z               "line": 60
2026-06-05T23:17:26.0407363Z             },
2026-06-05T23:17:26.0407523Z             {
2026-06-05T23:17:26.0407987Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0408202Z               "line": 68
2026-06-05T23:17:26.0408372Z             },
2026-06-05T23:17:26.0408547Z             {
2026-06-05T23:17:26.0408800Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0408979Z               "line": 86
2026-06-05T23:17:26.0409222Z             },
2026-06-05T23:17:26.0409559Z             {
2026-06-05T23:17:26.0410018Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0410204Z               "line": 120
2026-06-05T23:17:26.0410379Z             },
2026-06-05T23:17:26.0410542Z             {
2026-06-05T23:17:26.0410810Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0410991Z               "line": 127
2026-06-05T23:17:26.0411171Z             },
2026-06-05T23:17:26.0411343Z             {
2026-06-05T23:17:26.0411596Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0411781Z               "line": 143
2026-06-05T23:17:26.0411959Z             },
2026-06-05T23:17:26.0412136Z             {
2026-06-05T23:17:26.0412391Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T23:17:26.0412588Z               "line": 16
2026-06-05T23:17:26.0412762Z             }
2026-06-05T23:17:26.0412923Z           ]
2026-06-05T23:17:26.0413096Z         },
2026-06-05T23:17:26.0413293Z         "int": {
2026-06-05T23:17:26.0413499Z           "complete": false,
2026-06-05T23:17:26.0413678Z           "evidence": []
2026-06-05T23:17:26.0413848Z         },
2026-06-05T23:17:26.0414022Z         "unit": {
2026-06-05T23:17:26.0414201Z           "complete": true,
2026-06-05T23:17:26.0414382Z           "evidence": [
2026-06-05T23:17:26.0414546Z             {
2026-06-05T23:17:26.0414811Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0414994Z               "line": 199
2026-06-05T23:17:26.0415164Z             },
2026-06-05T23:17:26.0415347Z             {
2026-06-05T23:17:26.0415621Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0415805Z               "line": 218
2026-06-05T23:17:26.0415963Z             },
2026-06-05T23:17:26.0416128Z             {
2026-06-05T23:17:26.0416388Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0416562Z               "line": 232
2026-06-05T23:17:26.0416746Z             },
2026-06-05T23:17:26.0416907Z             {
2026-06-05T23:17:26.0417174Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T23:17:26.0417354Z               "line": 248
2026-06-05T23:17:26.0417525Z             },
2026-06-05T23:17:26.0424270Z             {
2026-06-05T23:17:26.0424685Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T23:17:26.0424873Z               "line": 125
2026-06-05T23:17:26.0425026Z             },
2026-06-05T23:17:26.0425192Z             {
2026-06-05T23:17:26.0425432Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T23:17:26.0425614Z               "line": 141
2026-06-05T23:17:26.0425810Z             },
2026-06-05T23:17:26.0425969Z             {
2026-06-05T23:17:26.0426217Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T23:17:26.0426386Z               "line": 153
2026-06-05T23:17:26.0426556Z             }
2026-06-05T23:17:26.0426714Z           ]
2026-06-05T23:17:26.0426881Z         }
2026-06-05T23:17:26.0427474Z       }
2026-06-05T23:17:26.0427634Z     },
2026-06-05T23:17:26.0427796Z     {
2026-06-05T23:17:26.0427978Z       "id": "REQ-NOTIF-1",
2026-06-05T23:17:26.0428800Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-05T23:17:26.0428994Z       "requiredStages": [
2026-06-05T23:17:26.0429245Z         "impl",
2026-06-05T23:17:26.0429423Z         "unit",
2026-06-05T23:17:26.0429584Z         "int"
2026-06-05T23:17:26.0429751Z       ],
2026-06-05T23:17:26.0429914Z       "stages": {
2026-06-05T23:17:26.0430085Z         "doc": {
2026-06-05T23:17:26.0430267Z           "complete": false,
2026-06-05T23:17:26.0430629Z           "evidence": []
2026-06-05T23:17:26.0430820Z         },
2026-06-05T23:17:26.0430980Z         "impl": {
2026-06-05T23:17:26.0431169Z           "complete": true,
2026-06-05T23:17:26.0431341Z           "evidence": [
2026-06-05T23:17:26.0431507Z             {
2026-06-05T23:17:26.0431789Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0431980Z               "line": 456
2026-06-05T23:17:26.0432147Z             },
2026-06-05T23:17:26.0432299Z             {
2026-06-05T23:17:26.0432556Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0432726Z               "line": 30
2026-06-05T23:17:26.0432892Z             },
2026-06-05T23:17:26.0433049Z             {
2026-06-05T23:17:26.0433300Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0433477Z               "line": 62
2026-06-05T23:17:26.0433639Z             },
2026-06-05T23:17:26.0433804Z             {
2026-06-05T23:17:26.0434054Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0434229Z               "line": 83
2026-06-05T23:17:26.0434387Z             },
2026-06-05T23:17:26.0434546Z             {
2026-06-05T23:17:26.0434793Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0434962Z               "line": 97
2026-06-05T23:17:26.0435136Z             },
2026-06-05T23:17:26.0435290Z             {
2026-06-05T23:17:26.0435541Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0435711Z               "line": 126
2026-06-05T23:17:26.0435889Z             },
2026-06-05T23:17:26.0436061Z             {
2026-06-05T23:17:26.0436302Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0436487Z               "line": 167
2026-06-05T23:17:26.0436645Z             },
2026-06-05T23:17:26.0436812Z             {
2026-06-05T23:17:26.0437061Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0437246Z               "line": 216
2026-06-05T23:17:26.0437427Z             },
2026-06-05T23:17:26.0437583Z             {
2026-06-05T23:17:26.0437833Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0438003Z               "line": 317
2026-06-05T23:17:26.0438169Z             },
2026-06-05T23:17:26.0438338Z             {
2026-06-05T23:17:26.0438572Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0438764Z               "line": 365
2026-06-05T23:17:26.0438930Z             },
2026-06-05T23:17:26.0439102Z             {
2026-06-05T23:17:26.0439447Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0439650Z               "line": 24
2026-06-05T23:17:26.0439819Z             },
2026-06-05T23:17:26.0439979Z             {
2026-06-05T23:17:26.0440243Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0440415Z               "line": 34
2026-06-05T23:17:26.0440586Z             },
2026-06-05T23:17:26.0440744Z             {
2026-06-05T23:17:26.0441027Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0441215Z               "line": 55
2026-06-05T23:17:26.0441379Z             },
2026-06-05T23:17:26.0441546Z             {
2026-06-05T23:17:26.0441806Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0441988Z               "line": 76
2026-06-05T23:17:26.0442476Z             },
2026-06-05T23:17:26.0442653Z             {
2026-06-05T23:17:26.0442921Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0443093Z               "line": 88
2026-06-05T23:17:26.0443262Z             },
2026-06-05T23:17:26.0443420Z             {
2026-06-05T23:17:26.0443685Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T23:17:26.0443852Z               "line": 41
2026-06-05T23:17:26.0444024Z             },
2026-06-05T23:17:26.0444191Z             {
2026-06-05T23:17:26.0444443Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:26.0444631Z               "line": 94
2026-06-05T23:17:26.0444946Z             },
2026-06-05T23:17:26.0445132Z             {
2026-06-05T23:17:26.0445390Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T23:17:26.0445567Z               "line": 20
2026-06-05T23:17:26.0445738Z             },
2026-06-05T23:17:26.0445894Z             {
2026-06-05T23:17:26.0446159Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T23:17:26.0446327Z               "line": 30
2026-06-05T23:17:26.0446491Z             },
2026-06-05T23:17:26.0446646Z             {
2026-06-05T23:17:26.0446897Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T23:17:26.0447086Z               "line": 50
2026-06-05T23:17:26.0447245Z             },
2026-06-05T23:17:26.0447410Z             {
2026-06-05T23:17:26.0447644Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0447820Z               "line": 28
2026-06-05T23:17:26.0447971Z             },
2026-06-05T23:17:26.0448139Z             {
2026-06-05T23:17:26.0448397Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0448566Z               "line": 126
2026-06-05T23:17:26.0448731Z             },
2026-06-05T23:17:26.0448886Z             {
2026-06-05T23:17:26.0449128Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0449382Z               "line": 161
2026-06-05T23:17:26.0449558Z             },
2026-06-05T23:17:26.0449728Z             {
2026-06-05T23:17:26.0449964Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0450147Z               "line": 197
2026-06-05T23:17:26.0450298Z             },
2026-06-05T23:17:26.0450463Z             {
2026-06-05T23:17:26.0450699Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0450871Z               "line": 208
2026-06-05T23:17:26.0451035Z             },
2026-06-05T23:17:26.0451192Z             {
2026-06-05T23:17:26.0451431Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0451594Z               "line": 231
2026-06-05T23:17:26.0451785Z             },
2026-06-05T23:17:26.0451968Z             {
2026-06-05T23:17:26.0452222Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0452407Z               "line": 251
2026-06-05T23:17:26.0452571Z             },
2026-06-05T23:17:26.0452746Z             {
2026-06-05T23:17:26.0453040Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0453262Z               "line": 63
2026-06-05T23:17:26.0453505Z             }
2026-06-05T23:17:26.0453672Z           ]
2026-06-05T23:17:26.0453841Z         },
2026-06-05T23:17:26.0454005Z         "int": {
2026-06-05T23:17:26.0454197Z           "complete": true,
2026-06-05T23:17:26.0454373Z           "evidence": [
2026-06-05T23:17:26.0454547Z             {
2026-06-05T23:17:26.0454819Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0454990Z               "line": 265
2026-06-05T23:17:26.0455158Z             },
2026-06-05T23:17:26.0455312Z             {
2026-06-05T23:17:26.0455587Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-05T23:17:26.0455759Z               "line": 102
2026-06-05T23:17:26.0455922Z             },
2026-06-05T23:17:26.0456091Z             {
2026-06-05T23:17:26.0456331Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0456518Z               "line": 594
2026-06-05T23:17:26.0456931Z             },
2026-06-05T23:17:26.0457095Z             {
2026-06-05T23:17:26.0457341Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0464270Z               "line": 911
2026-06-05T23:17:26.0464442Z             }
2026-06-05T23:17:26.0464594Z           ]
2026-06-05T23:17:26.0464759Z         },
2026-06-05T23:17:26.0464918Z         "unit": {
2026-06-05T23:17:26.0465103Z           "complete": true,
2026-06-05T23:17:26.0465269Z           "evidence": [
2026-06-05T23:17:26.0465431Z             {
2026-06-05T23:17:26.0465681Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0466180Z               "line": 442
2026-06-05T23:17:26.0466372Z             },
2026-06-05T23:17:26.0466522Z             {
2026-06-05T23:17:26.0466757Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0466920Z               "line": 480
2026-06-05T23:17:26.0467093Z             },
2026-06-05T23:17:26.0467251Z             {
2026-06-05T23:17:26.0467498Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0467670Z               "line": 562
2026-06-05T23:17:26.0467821Z             },
2026-06-05T23:17:26.0467985Z             {
2026-06-05T23:17:26.0468211Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0468388Z               "line": 583
2026-06-05T23:17:26.0468544Z             },
2026-06-05T23:17:26.0468696Z             {
2026-06-05T23:17:26.0468934Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0469112Z               "line": 636
2026-06-05T23:17:26.0469379Z             },
2026-06-05T23:17:26.0469543Z             {
2026-06-05T23:17:26.0469799Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0469974Z               "line": 675
2026-06-05T23:17:26.0470128Z             },
2026-06-05T23:17:26.0470287Z             {
2026-06-05T23:17:26.0470515Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0470693Z               "line": 865
2026-06-05T23:17:26.0470878Z             },
2026-06-05T23:17:26.0471032Z             {
2026-06-05T23:17:26.0471291Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0471457Z               "line": 133
2026-06-05T23:17:26.0471625Z             },
2026-06-05T23:17:26.0471779Z             {
2026-06-05T23:17:26.0472044Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0472229Z               "line": 208
2026-06-05T23:17:26.0472382Z             },
2026-06-05T23:17:26.0472555Z             {
2026-06-05T23:17:26.0472802Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T23:17:26.0472991Z               "line": 227
2026-06-05T23:17:26.0473151Z             },
2026-06-05T23:17:26.0473320Z             {
2026-06-05T23:17:26.0473577Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:26.0473742Z               "line": 332
2026-06-05T23:17:26.0473910Z             },
2026-06-05T23:17:26.0474067Z             {
2026-06-05T23:17:26.0474333Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T23:17:26.0474506Z               "line": 361
2026-06-05T23:17:26.0474665Z             },
2026-06-05T23:17:26.0474824Z             {
2026-06-05T23:17:26.0475079Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-05T23:17:26.0475254Z               "line": 112
2026-06-05T23:17:26.0475410Z             },
2026-06-05T23:17:26.0475568Z             {
2026-06-05T23:17:26.0475801Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T23:17:26.0475971Z               "line": 72
2026-06-05T23:17:26.0476136Z             },
2026-06-05T23:17:26.0476289Z             {
2026-06-05T23:17:26.0476534Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T23:17:26.0476704Z               "line": 94
2026-06-05T23:17:26.0476865Z             },
2026-06-05T23:17:26.0477025Z             {
2026-06-05T23:17:26.0477268Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0477743Z               "line": 365
2026-06-05T23:17:26.0477946Z             },
2026-06-05T23:17:26.0478123Z             {
2026-06-05T23:17:26.0478345Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0478527Z               "line": 396
2026-06-05T23:17:26.0478688Z             },
2026-06-05T23:17:26.0478855Z             {
2026-06-05T23:17:26.0479092Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0479339Z               "line": 410
2026-06-05T23:17:26.0479518Z             },
2026-06-05T23:17:26.0479668Z             {
2026-06-05T23:17:26.0479906Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0480267Z               "line": 441
2026-06-05T23:17:26.0480446Z             },
2026-06-05T23:17:26.0480605Z             {
2026-06-05T23:17:26.0480829Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0481013Z               "line": 458
2026-06-05T23:17:26.0481169Z             },
2026-06-05T23:17:26.0481339Z             {
2026-06-05T23:17:26.0481596Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0481773Z               "line": 483
2026-06-05T23:17:26.0481941Z             },
2026-06-05T23:17:26.0482099Z             {
2026-06-05T23:17:26.0482356Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T23:17:26.0482551Z               "line": 507
2026-06-05T23:17:26.0482732Z             },
2026-06-05T23:17:26.0482912Z             {
2026-06-05T23:17:26.0483182Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0483381Z               "line": 442
2026-06-05T23:17:26.0483558Z             }
2026-06-05T23:17:26.0483723Z           ]
2026-06-05T23:17:26.0483898Z         }
2026-06-05T23:17:26.0484079Z       }
2026-06-05T23:17:26.0484249Z     },
2026-06-05T23:17:26.0484411Z     {
2026-06-05T23:17:26.0484602Z       "id": "REQ-NOTIF-2",
2026-06-05T23:17:26.0485181Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-05T23:17:26.0485391Z       "requiredStages": [
2026-06-05T23:17:26.0485551Z         "doc",
2026-06-05T23:17:26.0485723Z         "impl",
2026-06-05T23:17:26.0485887Z         "unit",
2026-06-05T23:17:26.0486040Z         "int"
2026-06-05T23:17:26.0486206Z       ],
2026-06-05T23:17:26.0486379Z       "stages": {
2026-06-05T23:17:26.0486554Z         "doc": {
2026-06-05T23:17:26.0486733Z           "complete": true,
2026-06-05T23:17:26.0486913Z           "evidence": [
2026-06-05T23:17:26.0487096Z             {
2026-06-05T23:17:26.0487278Z               "path": "CONTEXT.md",
2026-06-05T23:17:26.0487461Z               "line": 346
2026-06-05T23:17:26.0487619Z             },
2026-06-05T23:17:26.0487801Z             {
2026-06-05T23:17:26.0488005Z               "path": "docs/MANIFEST.md",
2026-06-05T23:17:26.0488182Z               "line": 62
2026-06-05T23:17:26.0488352Z             }
2026-06-05T23:17:26.0488514Z           ]
2026-06-05T23:17:26.0488687Z         },
2026-06-05T23:17:26.0488848Z         "impl": {
2026-06-05T23:17:26.0489045Z           "complete": true,
2026-06-05T23:17:26.0489281Z           "evidence": [
2026-06-05T23:17:26.0489476Z             {
2026-06-05T23:17:26.0489727Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0489893Z               "line": 245
2026-06-05T23:17:26.0490054Z             },
2026-06-05T23:17:26.0490211Z             {
2026-06-05T23:17:26.0490458Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0490627Z               "line": 259
2026-06-05T23:17:26.0490796Z             },
2026-06-05T23:17:26.0490965Z             {
2026-06-05T23:17:26.0491191Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0491380Z               "line": 281
2026-06-05T23:17:26.0491533Z             },
2026-06-05T23:17:26.0491699Z             {
2026-06-05T23:17:26.0491939Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.0492117Z               "line": 126
2026-06-05T23:17:26.0492278Z             },
2026-06-05T23:17:26.0492697Z             {
2026-06-05T23:17:26.0492950Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0493109Z               "line": 72
2026-06-05T23:17:26.0493270Z             },
2026-06-05T23:17:26.0493423Z             {
2026-06-05T23:17:26.0493627Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0493803Z               "line": 925
2026-06-05T23:17:26.0493961Z             },
2026-06-05T23:17:26.0494124Z             {
2026-06-05T23:17:26.0494316Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0494496Z               "line": 957
2026-06-05T23:17:26.0494645Z             },
2026-06-05T23:17:26.0494962Z             {
2026-06-05T23:17:26.0495200Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0495379Z               "line": 1029
2026-06-05T23:17:26.0495542Z             },
2026-06-05T23:17:26.0495696Z             {
2026-06-05T23:17:26.0502528Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0502820Z               "line": 1065
2026-06-05T23:17:26.0502988Z             }
2026-06-05T23:17:26.0503145Z           ]
2026-06-05T23:17:26.0503295Z         },
2026-06-05T23:17:26.0503457Z         "int": {
2026-06-05T23:17:26.0503634Z           "complete": true,
2026-06-05T23:17:26.0503802Z           "evidence": [
2026-06-05T23:17:26.0503948Z             {
2026-06-05T23:17:26.0504214Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0504388Z               "line": 682
2026-06-05T23:17:26.0504542Z             },
2026-06-05T23:17:26.0504707Z             {
2026-06-05T23:17:26.0504948Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0505146Z               "line": 1028
2026-06-05T23:17:26.0505304Z             }
2026-06-05T23:17:26.0505469Z           ]
2026-06-05T23:17:26.0505623Z         },
2026-06-05T23:17:26.0505782Z         "unit": {
2026-06-05T23:17:26.0505963Z           "complete": true,
2026-06-05T23:17:26.0506121Z           "evidence": [
2026-06-05T23:17:26.0506294Z             {
2026-06-05T23:17:26.0506520Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0506700Z               "line": 725
2026-06-05T23:17:26.0506874Z             },
2026-06-05T23:17:26.0507053Z             {
2026-06-05T23:17:26.0507327Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0507509Z               "line": 786
2026-06-05T23:17:26.0507684Z             },
2026-06-05T23:17:26.0507833Z             {
2026-06-05T23:17:26.0508044Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0508218Z               "line": 2678
2026-06-05T23:17:26.0508369Z             },
2026-06-05T23:17:26.0508542Z             {
2026-06-05T23:17:26.0508739Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0508914Z               "line": 2705
2026-06-05T23:17:26.0509098Z             }
2026-06-05T23:17:26.0509484Z           ]
2026-06-05T23:17:26.0509708Z         }
2026-06-05T23:17:26.0510049Z       }
2026-06-05T23:17:26.0510239Z     },
2026-06-05T23:17:26.0510392Z     {
2026-06-05T23:17:26.0510584Z       "id": "REQ-PAIR-1",
2026-06-05T23:17:26.0510787Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-05T23:17:26.0510993Z       "requiredStages": [
2026-06-05T23:17:26.0511155Z         "impl",
2026-06-05T23:17:26.0511304Z         "unit",
2026-06-05T23:17:26.0511468Z         "int"
2026-06-05T23:17:26.0511621Z       ],
2026-06-05T23:17:26.0511789Z       "stages": {
2026-06-05T23:17:26.0511941Z         "doc": {
2026-06-05T23:17:26.0512119Z           "complete": false,
2026-06-05T23:17:26.0512299Z           "evidence": []
2026-06-05T23:17:26.0512458Z         },
2026-06-05T23:17:26.0512624Z         "impl": {
2026-06-05T23:17:26.0512811Z           "complete": true,
2026-06-05T23:17:26.0512990Z           "evidence": [
2026-06-05T23:17:26.0513139Z             {
2026-06-05T23:17:26.0513420Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0513597Z               "line": 27
2026-06-05T23:17:26.0513752Z             },
2026-06-05T23:17:26.0514379Z             {
2026-06-05T23:17:26.0514654Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0514829Z               "line": 88
2026-06-05T23:17:26.0514977Z             },
2026-06-05T23:17:26.0515136Z             {
2026-06-05T23:17:26.0515405Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0515574Z               "line": 110
2026-06-05T23:17:26.0515739Z             },
2026-06-05T23:17:26.0515888Z             {
2026-06-05T23:17:26.0516154Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0516338Z               "line": 153
2026-06-05T23:17:26.0516669Z             },
2026-06-05T23:17:26.0516858Z             {
2026-06-05T23:17:26.0517129Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0517300Z               "line": 182
2026-06-05T23:17:26.0517449Z             },
2026-06-05T23:17:26.0517614Z             {
2026-06-05T23:17:26.0517910Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0518077Z               "line": 29
2026-06-05T23:17:26.0518240Z             },
2026-06-05T23:17:26.0518394Z             {
2026-06-05T23:17:26.0518693Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T23:17:26.0518851Z               "line": 31
2026-06-05T23:17:26.0519010Z             },
2026-06-05T23:17:26.0519269Z             {
2026-06-05T23:17:26.0519696Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0520035Z               "line": 40
2026-06-05T23:17:26.0520191Z             },
2026-06-05T23:17:26.0520351Z             {
2026-06-05T23:17:26.0520627Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0520809Z               "line": 131
2026-06-05T23:17:26.0520967Z             },
2026-06-05T23:17:26.0521117Z             {
2026-06-05T23:17:26.0521373Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0521555Z               "line": 306
2026-06-05T23:17:26.0521714Z             }
2026-06-05T23:17:26.0521867Z           ]
2026-06-05T23:17:26.0522024Z         },
2026-06-05T23:17:26.0522185Z         "int": {
2026-06-05T23:17:26.0522357Z           "complete": true,
2026-06-05T23:17:26.0522533Z           "evidence": [
2026-06-05T23:17:26.0522680Z             {
2026-06-05T23:17:26.0522940Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0523103Z               "line": 530
2026-06-05T23:17:26.0523278Z             },
2026-06-05T23:17:26.0523438Z             {
2026-06-05T23:17:26.0523684Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0523874Z               "line": 715
2026-06-05T23:17:26.0524028Z             }
2026-06-05T23:17:26.0524194Z           ]
2026-06-05T23:17:26.0524351Z         },
2026-06-05T23:17:26.0524529Z         "unit": {
2026-06-05T23:17:26.0524744Z           "complete": true,
2026-06-05T23:17:26.0524934Z           "evidence": [
2026-06-05T23:17:26.0525128Z             {
2026-06-05T23:17:26.0525399Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0525578Z               "line": 236
2026-06-05T23:17:26.0525733Z             },
2026-06-05T23:17:26.0525911Z             {
2026-06-05T23:17:26.0526193Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T23:17:26.0526368Z               "line": 349
2026-06-05T23:17:26.0526530Z             },
2026-06-05T23:17:26.0526679Z             {
2026-06-05T23:17:26.0526947Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0527127Z               "line": 194
2026-06-05T23:17:26.0527276Z             },
2026-06-05T23:17:26.0527457Z             {
2026-06-05T23:17:26.0527716Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0527891Z               "line": 216
2026-06-05T23:17:26.0528047Z             },
2026-06-05T23:17:26.0528205Z             {
2026-06-05T23:17:26.0528466Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0528886Z               "line": 230
2026-06-05T23:17:26.0529059Z             },
2026-06-05T23:17:26.0529428Z             {
2026-06-05T23:17:26.0529866Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0530038Z               "line": 242
2026-06-05T23:17:26.0530205Z             },
2026-06-05T23:17:26.0530366Z             {
2026-06-05T23:17:26.0530619Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0530790Z               "line": 256
2026-06-05T23:17:26.0530947Z             },
2026-06-05T23:17:26.0531107Z             {
2026-06-05T23:17:26.0531525Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0531726Z               "line": 270
2026-06-05T23:17:26.0531887Z             },
2026-06-05T23:17:26.0532043Z             {
2026-06-05T23:17:26.0532321Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0532496Z               "line": 277
2026-06-05T23:17:26.0532675Z             },
2026-06-05T23:17:26.0532831Z             {
2026-06-05T23:17:26.0533135Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T23:17:26.0533322Z               "line": 295
2026-06-05T23:17:26.0533481Z             },
2026-06-05T23:17:26.0533652Z             {
2026-06-05T23:17:26.0533916Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0534096Z               "line": 696
2026-06-05T23:17:26.0534251Z             },
2026-06-05T23:17:26.0534418Z             {
2026-06-05T23:17:26.0534683Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0534865Z               "line": 757
2026-06-05T23:17:26.0541569Z             },
2026-06-05T23:17:26.0541816Z             {
2026-06-05T23:17:26.0542118Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0542297Z               "line": 814
2026-06-05T23:17:26.0542454Z             },
2026-06-05T23:17:26.0542657Z             {
2026-06-05T23:17:26.0542912Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0543085Z               "line": 868
2026-06-05T23:17:26.0543234Z             },
2026-06-05T23:17:26.0543395Z             {
2026-06-05T23:17:26.0543654Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0543817Z               "line": 920
2026-06-05T23:17:26.0543979Z             },
2026-06-05T23:17:26.0544138Z             {
2026-06-05T23:17:26.0544395Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0544559Z               "line": 1084
2026-06-05T23:17:26.0544717Z             }
2026-06-05T23:17:26.0544882Z           ]
2026-06-05T23:17:26.0545034Z         }
2026-06-05T23:17:26.0545193Z       }
2026-06-05T23:17:26.0545340Z     },
2026-06-05T23:17:26.0545497Z     {
2026-06-05T23:17:26.0545668Z       "id": "REQ-PAIR-2",
2026-06-05T23:17:26.0545955Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-05T23:17:26.0546155Z       "requiredStages": [
2026-06-05T23:17:26.0546311Z         "impl",
2026-06-05T23:17:26.0546474Z         "unit"
2026-06-05T23:17:26.0546629Z       ],
2026-06-05T23:17:26.0546806Z       "stages": {
2026-06-05T23:17:26.0546958Z         "doc": {
2026-06-05T23:17:26.0547145Z           "complete": false,
2026-06-05T23:17:26.0547327Z           "evidence": []
2026-06-05T23:17:26.0547489Z         },
2026-06-05T23:17:26.0547665Z         "impl": {
2026-06-05T23:17:26.0547850Z           "complete": true,
2026-06-05T23:17:26.0548030Z           "evidence": [
2026-06-05T23:17:26.0548183Z             {
2026-06-05T23:17:26.0548446Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0548628Z               "line": 42
2026-06-05T23:17:26.0548781Z             },
2026-06-05T23:17:26.0548944Z             {
2026-06-05T23:17:26.0549262Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0549615Z               "line": 151
2026-06-05T23:17:26.0549777Z             },
2026-06-05T23:17:26.0550346Z             {
2026-06-05T23:17:26.0550598Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0550767Z               "line": 171
2026-06-05T23:17:26.0550936Z             },
2026-06-05T23:17:26.0551092Z             {
2026-06-05T23:17:26.0551331Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0551504Z               "line": 209
2026-06-05T23:17:26.0551671Z             },
2026-06-05T23:17:26.0551842Z             {
2026-06-05T23:17:26.0552077Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0552258Z               "line": 232
2026-06-05T23:17:26.0552415Z             }
2026-06-05T23:17:26.0552762Z           ]
2026-06-05T23:17:26.0552936Z         },
2026-06-05T23:17:26.0553116Z         "int": {
2026-06-05T23:17:26.0553309Z           "complete": false,
2026-06-05T23:17:26.0553492Z           "evidence": []
2026-06-05T23:17:26.0553659Z         },
2026-06-05T23:17:26.0553822Z         "unit": {
2026-06-05T23:17:26.0554033Z           "complete": true,
2026-06-05T23:17:26.0554206Z           "evidence": [
2026-06-05T23:17:26.0554380Z             {
2026-06-05T23:17:26.0554634Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0554806Z               "line": 253
2026-06-05T23:17:26.0554984Z             },
2026-06-05T23:17:26.0555140Z             {
2026-06-05T23:17:26.0555381Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0555554Z               "line": 272
2026-06-05T23:17:26.0555726Z             },
2026-06-05T23:17:26.0555897Z             {
2026-06-05T23:17:26.0556133Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0556327Z               "line": 284
2026-06-05T23:17:26.0556488Z             },
2026-06-05T23:17:26.0556655Z             {
2026-06-05T23:17:26.0556888Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0557074Z               "line": 303
2026-06-05T23:17:26.0557242Z             },
2026-06-05T23:17:26.0557413Z             {
2026-06-05T23:17:26.0557656Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0557827Z               "line": 319
2026-06-05T23:17:26.0558000Z             },
2026-06-05T23:17:26.0558158Z             {
2026-06-05T23:17:26.0558400Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0558582Z               "line": 331
2026-06-05T23:17:26.0558740Z             },
2026-06-05T23:17:26.0558904Z             {
2026-06-05T23:17:26.0559141Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0559573Z               "line": 343
2026-06-05T23:17:26.0559730Z             },
2026-06-05T23:17:26.0559891Z             {
2026-06-05T23:17:26.0560128Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0560290Z               "line": 356
2026-06-05T23:17:26.0560450Z             },
2026-06-05T23:17:26.0560604Z             {
2026-06-05T23:17:26.0560839Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T23:17:26.0561021Z               "line": 370
2026-06-05T23:17:26.0561171Z             }
2026-06-05T23:17:26.0561336Z           ]
2026-06-05T23:17:26.0561491Z         }
2026-06-05T23:17:26.0561658Z       }
2026-06-05T23:17:26.0561808Z     },
2026-06-05T23:17:26.0561971Z     {
2026-06-05T23:17:26.0562140Z       "id": "REQ-PAIR-3",
2026-06-05T23:17:26.0562453Z       "title": "Fetch current pairing code from any paired node",
2026-06-05T23:17:26.0562639Z       "requiredStages": [
2026-06-05T23:17:26.0562791Z         "impl",
2026-06-05T23:17:26.0562955Z         "unit"
2026-06-05T23:17:26.0563105Z       ],
2026-06-05T23:17:26.0563272Z       "stages": {
2026-06-05T23:17:26.0563420Z         "doc": {
2026-06-05T23:17:26.0563613Z           "complete": false,
2026-06-05T23:17:26.0563794Z           "evidence": []
2026-06-05T23:17:26.0563948Z         },
2026-06-05T23:17:26.0564114Z         "impl": {
2026-06-05T23:17:26.0564297Z           "complete": true,
2026-06-05T23:17:26.0564483Z           "evidence": [
2026-06-05T23:17:26.0564912Z             {
2026-06-05T23:17:26.0565132Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0565304Z               "line": 1382
2026-06-05T23:17:26.0565453Z             },
2026-06-05T23:17:26.0565609Z             {
2026-06-05T23:17:26.0565807Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0565989Z               "line": 1418
2026-06-05T23:17:26.0566151Z             },
2026-06-05T23:17:26.0566309Z             {
2026-06-05T23:17:26.0566520Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0566686Z               "line": 1478
2026-06-05T23:17:26.0566851Z             }
2026-06-05T23:17:26.0567000Z           ]
2026-06-05T23:17:26.0567373Z         },
2026-06-05T23:17:26.0567572Z         "int": {
2026-06-05T23:17:26.0567767Z           "complete": false,
2026-06-05T23:17:26.0567956Z           "evidence": []
2026-06-05T23:17:26.0568113Z         },
2026-06-05T23:17:26.0568279Z         "unit": {
2026-06-05T23:17:26.0568451Z           "complete": true,
2026-06-05T23:17:26.0568644Z           "evidence": [
2026-06-05T23:17:26.0568793Z             {
2026-06-05T23:17:26.0569008Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0569252Z               "line": 3702
2026-06-05T23:17:26.0569583Z             },
2026-06-05T23:17:26.0569787Z             {
2026-06-05T23:17:26.0570144Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0570332Z               "line": 3719
2026-06-05T23:17:26.0570500Z             },
2026-06-05T23:17:26.0570660Z             {
2026-06-05T23:17:26.0570872Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0571044Z               "line": 3733
2026-06-05T23:17:26.0571229Z             },
2026-06-05T23:17:26.0571383Z             {
2026-06-05T23:17:26.0571598Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0571779Z               "line": 3749
2026-06-05T23:17:26.0571934Z             },
2026-06-05T23:17:26.0572097Z             {
2026-06-05T23:17:26.0572292Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0572484Z               "line": 3770
2026-06-05T23:17:26.0572640Z             },
2026-06-05T23:17:26.0572796Z             {
2026-06-05T23:17:26.0579630Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0580085Z               "line": 3786
2026-06-05T23:17:26.0580256Z             },
2026-06-05T23:17:26.0580407Z             {
2026-06-05T23:17:26.0580631Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0580798Z               "line": 3799
2026-06-05T23:17:26.0580965Z             },
2026-06-05T23:17:26.0581130Z             {
2026-06-05T23:17:26.0581331Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0581534Z               "line": 3808
2026-06-05T23:17:26.0581689Z             }
2026-06-05T23:17:26.0581849Z           ]
2026-06-05T23:17:26.0582000Z         }
2026-06-05T23:17:26.0582167Z       }
2026-06-05T23:17:26.0582323Z     },
2026-06-05T23:17:26.0582474Z     {
2026-06-05T23:17:26.0582660Z       "id": "REQ-PAIR-4",
2026-06-05T23:17:26.0582887Z       "title": "Subnet naming on first pairing",
2026-06-05T23:17:26.0583066Z       "requiredStages": [
2026-06-05T23:17:26.0583223Z         "impl",
2026-06-05T23:17:26.0583386Z         "unit"
2026-06-05T23:17:26.0583544Z       ],
2026-06-05T23:17:26.0583704Z       "stages": {
2026-06-05T23:17:26.0583874Z         "doc": {
2026-06-05T23:17:26.0584040Z           "complete": false,
2026-06-05T23:17:26.0584211Z           "evidence": []
2026-06-05T23:17:26.0584368Z         },
2026-06-05T23:17:26.0584544Z         "impl": {
2026-06-05T23:17:26.0584721Z           "complete": true,
2026-06-05T23:17:26.0584904Z           "evidence": [
2026-06-05T23:17:26.0585067Z             {
2026-06-05T23:17:26.0585320Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T23:17:26.0585504Z               "line": 154
2026-06-05T23:17:26.0585652Z             }
2026-06-05T23:17:26.0585813Z           ]
2026-06-05T23:17:26.0585980Z         },
2026-06-05T23:17:26.0586140Z         "int": {
2026-06-05T23:17:26.0586776Z           "complete": false,
2026-06-05T23:17:26.0586945Z           "evidence": []
2026-06-05T23:17:26.0587112Z         },
2026-06-05T23:17:26.0587265Z         "unit": {
2026-06-05T23:17:26.0587439Z           "complete": true,
2026-06-05T23:17:26.0587599Z           "evidence": [
2026-06-05T23:17:26.0587758Z             {
2026-06-05T23:17:26.0588029Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0588200Z               "line": 972
2026-06-05T23:17:26.0588358Z             }
2026-06-05T23:17:26.0588505Z           ]
2026-06-05T23:17:26.0588659Z         }
2026-06-05T23:17:26.0588805Z       }
2026-06-05T23:17:26.0588955Z     },
2026-06-05T23:17:26.0589528Z     {
2026-06-05T23:17:26.0589754Z       "id": "REQ-PAIR-5",
2026-06-05T23:17:26.0590548Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-05T23:17:26.0590731Z       "requiredStages": [
2026-06-05T23:17:26.0590904Z         "impl",
2026-06-05T23:17:26.0591089Z         "unit",
2026-06-05T23:17:26.0591239Z         "int"
2026-06-05T23:17:26.0591400Z       ],
2026-06-05T23:17:26.0591563Z       "stages": {
2026-06-05T23:17:26.0591734Z         "doc": {
2026-06-05T23:17:26.0591911Z           "complete": false,
2026-06-05T23:17:26.0592084Z           "evidence": []
2026-06-05T23:17:26.0592240Z         },
2026-06-05T23:17:26.0592404Z         "impl": {
2026-06-05T23:17:26.0592589Z           "complete": true,
2026-06-05T23:17:26.0592756Z           "evidence": [
2026-06-05T23:17:26.0592919Z             {
2026-06-05T23:17:26.0593176Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0593375Z               "line": 44
2026-06-05T23:17:26.0593545Z             },
2026-06-05T23:17:26.0593701Z             {
2026-06-05T23:17:26.0593961Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0594124Z               "line": 96
2026-06-05T23:17:26.0594287Z             },
2026-06-05T23:17:26.0594445Z             {
2026-06-05T23:17:26.0594716Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0594889Z               "line": 107
2026-06-05T23:17:26.0595046Z             },
2026-06-05T23:17:26.0595215Z             {
2026-06-05T23:17:26.0595466Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0595639Z               "line": 124
2026-06-05T23:17:26.0595799Z             },
2026-06-05T23:17:26.0595957Z             {
2026-06-05T23:17:26.0596209Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0596372Z               "line": 155
2026-06-05T23:17:26.0596531Z             },
2026-06-05T23:17:26.0596689Z             {
2026-06-05T23:17:26.0596947Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0597118Z               "line": 195
2026-06-05T23:17:26.0597276Z             },
2026-06-05T23:17:26.0597439Z             {
2026-06-05T23:17:26.0597685Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0597871Z               "line": 236
2026-06-05T23:17:26.0598021Z             },
2026-06-05T23:17:26.0598181Z             {
2026-06-05T23:17:26.0598456Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0598627Z               "line": 33
2026-06-05T23:17:26.0598786Z             },
2026-06-05T23:17:26.0598940Z             {
2026-06-05T23:17:26.0599468Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0599658Z               "line": 45
2026-06-05T23:17:26.0599970Z             },
2026-06-05T23:17:26.0600119Z             {
2026-06-05T23:17:26.0600423Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0600607Z               "line": 59
2026-06-05T23:17:26.0600759Z             },
2026-06-05T23:17:26.0600922Z             {
2026-06-05T23:17:26.0601185Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0601371Z               "line": 306
2026-06-05T23:17:26.0601827Z             }
2026-06-05T23:17:26.0601990Z           ]
2026-06-05T23:17:26.0602154Z         },
2026-06-05T23:17:26.0602313Z         "int": {
2026-06-05T23:17:26.0602494Z           "complete": true,
2026-06-05T23:17:26.0602660Z           "evidence": [
2026-06-05T23:17:26.0602817Z             {
2026-06-05T23:17:26.0603079Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0603257Z               "line": 715
2026-06-05T23:17:26.0603426Z             },
2026-06-05T23:17:26.0603595Z             {
2026-06-05T23:17:26.0603887Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0604217Z               "line": 315
2026-06-05T23:17:26.0604402Z             }
2026-06-05T23:17:26.0604568Z           ]
2026-06-05T23:17:26.0604718Z         },
2026-06-05T23:17:26.0604889Z         "unit": {
2026-06-05T23:17:26.0605057Z           "complete": true,
2026-06-05T23:17:26.0605232Z           "evidence": [
2026-06-05T23:17:26.0605378Z             {
2026-06-05T23:17:26.0605672Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0605846Z               "line": 265
2026-06-05T23:17:26.0605992Z             },
2026-06-05T23:17:26.0606149Z             {
2026-06-05T23:17:26.0606398Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0606569Z               "line": 276
2026-06-05T23:17:26.0606725Z             },
2026-06-05T23:17:26.0606887Z             {
2026-06-05T23:17:26.0607152Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-05T23:17:26.0607321Z               "line": 375
2026-06-05T23:17:26.0607481Z             },
2026-06-05T23:17:26.0607640Z             {
2026-06-05T23:17:26.0607929Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0608094Z               "line": 72
2026-06-05T23:17:26.0608252Z             },
2026-06-05T23:17:26.0608414Z             {
2026-06-05T23:17:26.0608699Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0608888Z               "line": 82
2026-06-05T23:17:26.0609037Z             },
2026-06-05T23:17:26.0609274Z             {
2026-06-05T23:17:26.0609726Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0610053Z               "line": 92
2026-06-05T23:17:26.0610217Z             },
2026-06-05T23:17:26.0610368Z             {
2026-06-05T23:17:26.0610657Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0610823Z               "line": 102
2026-06-05T23:17:26.0610989Z             },
2026-06-05T23:17:26.0611138Z             {
2026-06-05T23:17:26.0611443Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T23:17:26.0611615Z               "line": 117
2026-06-05T23:17:26.0611764Z             },
2026-06-05T23:17:26.0611920Z             {
2026-06-05T23:17:26.0618276Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0618576Z               "line": 750
2026-06-05T23:17:26.0618777Z             },
2026-06-05T23:17:26.0618931Z             {
2026-06-05T23:17:26.0619446Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0619640Z               "line": 806
2026-06-05T23:17:26.0619816Z             },
2026-06-05T23:17:26.0620115Z             {
2026-06-05T23:17:26.0620387Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T23:17:26.0620558Z               "line": 1026
2026-06-05T23:17:26.0620706Z             }
2026-06-05T23:17:26.0620861Z           ]
2026-06-05T23:17:26.0621013Z         }
2026-06-05T23:17:26.0621174Z       }
2026-06-05T23:17:26.0621323Z     },
2026-06-05T23:17:26.0621492Z     {
2026-06-05T23:17:26.0621678Z       "id": "REQ-PAIR-6",
2026-06-05T23:17:26.0622213Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-05T23:17:26.0622397Z       "requiredStages": [
2026-06-05T23:17:26.0622557Z         "impl",
2026-06-05T23:17:26.0623105Z         "unit"
2026-06-05T23:17:26.0623258Z       ],
2026-06-05T23:17:26.0623428Z       "stages": {
2026-06-05T23:17:26.0623596Z         "doc": {
2026-06-05T23:17:26.0623771Z           "complete": false,
2026-06-05T23:17:26.0623946Z           "evidence": []
2026-06-05T23:17:26.0624100Z         },
2026-06-05T23:17:26.0624275Z         "impl": {
2026-06-05T23:17:26.0624444Z           "complete": true,
2026-06-05T23:17:26.0624622Z           "evidence": [
2026-06-05T23:17:26.0624783Z             {
2026-06-05T23:17:26.0624993Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0625172Z               "line": 1418
2026-06-05T23:17:26.0625321Z             },
2026-06-05T23:17:26.0625664Z             {
2026-06-05T23:17:26.0625894Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0626073Z               "line": 1478
2026-06-05T23:17:26.0626235Z             },
2026-06-05T23:17:26.0626383Z             {
2026-06-05T23:17:26.0626611Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T23:17:26.0626788Z               "line": 18
2026-06-05T23:17:26.0626943Z             },
2026-06-05T23:17:26.0627095Z             {
2026-06-05T23:17:26.0627325Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T23:17:26.0627494Z               "line": 49
2026-06-05T23:17:26.0627636Z             },
2026-06-05T23:17:26.0627794Z             {
2026-06-05T23:17:26.0628004Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T23:17:26.0628181Z               "line": 70
2026-06-05T23:17:26.0628329Z             }
2026-06-05T23:17:26.0628481Z           ]
2026-06-05T23:17:26.0628634Z         },
2026-06-05T23:17:26.0628784Z         "int": {
2026-06-05T23:17:26.0628992Z           "complete": false,
2026-06-05T23:17:26.0629249Z           "evidence": []
2026-06-05T23:17:26.0629428Z         },
2026-06-05T23:17:26.0629583Z         "unit": {
2026-06-05T23:17:26.0629765Z           "complete": true,
2026-06-05T23:17:26.0629936Z           "evidence": [
2026-06-05T23:17:26.0630083Z             {
2026-06-05T23:17:26.0630313Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0630482Z               "line": 3821
2026-06-05T23:17:26.0630648Z             },
2026-06-05T23:17:26.0630790Z             {
2026-06-05T23:17:26.0631005Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0631182Z               "line": 3838
2026-06-05T23:17:26.0631340Z             },
2026-06-05T23:17:26.0631497Z             {
2026-06-05T23:17:26.0631714Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T23:17:26.0631896Z               "line": 132
2026-06-05T23:17:26.0632045Z             },
2026-06-05T23:17:26.0632224Z             {
2026-06-05T23:17:26.0632473Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T23:17:26.0632640Z               "line": 141
2026-06-05T23:17:26.0632796Z             }
2026-06-05T23:17:26.0632950Z           ]
2026-06-05T23:17:26.0633108Z         }
2026-06-05T23:17:26.0633265Z       }
2026-06-05T23:17:26.0633421Z     },
2026-06-05T23:17:26.0633598Z     {
2026-06-05T23:17:26.0633767Z       "id": "REQ-PAIR-7",
2026-06-05T23:17:26.0634091Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-05T23:17:26.0634270Z       "requiredStages": [],
2026-06-05T23:17:26.0634431Z       "stages": {
2026-06-05T23:17:26.0634586Z         "doc": {
2026-06-05T23:17:26.0634770Z           "complete": false,
2026-06-05T23:17:26.0634950Z           "evidence": []
2026-06-05T23:17:26.0635113Z         },
2026-06-05T23:17:26.0635279Z         "impl": {
2026-06-05T23:17:26.0635452Z           "complete": false,
2026-06-05T23:17:26.0635622Z           "evidence": []
2026-06-05T23:17:26.0635773Z         },
2026-06-05T23:17:26.0635945Z         "int": {
2026-06-05T23:17:26.0636126Z           "complete": false,
2026-06-05T23:17:26.0636288Z           "evidence": []
2026-06-05T23:17:26.0636441Z         },
2026-06-05T23:17:26.0636587Z         "unit": {
2026-06-05T23:17:26.0636764Z           "complete": false,
2026-06-05T23:17:26.0636928Z           "evidence": []
2026-06-05T23:17:26.0637375Z         }
2026-06-05T23:17:26.0637530Z       }
2026-06-05T23:17:26.0637681Z     },
2026-06-05T23:17:26.0637837Z     {
2026-06-05T23:17:26.0638009Z       "id": "REQ-PRES-1",
2026-06-05T23:17:26.0641193Z       "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-05T23:17:26.0641643Z       "requiredStages": [
2026-06-05T23:17:26.0641832Z         "impl",
2026-06-05T23:17:26.0641993Z         "unit",
2026-06-05T23:17:26.0642151Z         "int"
2026-06-05T23:17:26.0642308Z       ],
2026-06-05T23:17:26.0642459Z       "stages": {
2026-06-05T23:17:26.0642618Z         "doc": {
2026-06-05T23:17:26.0642826Z           "complete": true,
2026-06-05T23:17:26.0642987Z           "evidence": [
2026-06-05T23:17:26.0643151Z             {
2026-06-05T23:17:26.0643351Z               "path": "docs/DEFERRED.md",
2026-06-05T23:17:26.0643519Z               "line": 11
2026-06-05T23:17:26.0643664Z             }
2026-06-05T23:17:26.0643820Z           ]
2026-06-05T23:17:26.0643977Z         },
2026-06-05T23:17:26.0644135Z         "impl": {
2026-06-05T23:17:26.0644318Z           "complete": true,
2026-06-05T23:17:26.0644480Z           "evidence": [
2026-06-05T23:17:26.0644642Z             {
2026-06-05T23:17:26.0644881Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0645066Z               "line": 457
2026-06-05T23:17:26.0645225Z             },
2026-06-05T23:17:26.0645372Z             {
2026-06-05T23:17:26.0645614Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0645775Z               "line": 505
2026-06-05T23:17:26.0645946Z             },
2026-06-05T23:17:26.0646110Z             {
2026-06-05T23:17:26.0646340Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0646504Z               "line": 168
2026-06-05T23:17:26.0646687Z             },
2026-06-05T23:17:26.0646843Z             {
2026-06-05T23:17:26.0647069Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0647245Z               "line": 186
2026-06-05T23:17:26.0647393Z             },
2026-06-05T23:17:26.0647552Z             {
2026-06-05T23:17:26.0647789Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0647944Z               "line": 28
2026-06-05T23:17:26.0648099Z             },
2026-06-05T23:17:26.0648245Z             {
2026-06-05T23:17:26.0648495Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0648663Z               "line": 99
2026-06-05T23:17:26.0648821Z             },
2026-06-05T23:17:26.0648977Z             {
2026-06-05T23:17:26.0649269Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0649467Z               "line": 153
2026-06-05T23:17:26.0649618Z             },
2026-06-05T23:17:26.0649774Z             {
2026-06-05T23:17:26.0650018Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0650179Z               "line": 172
2026-06-05T23:17:26.0650338Z             },
2026-06-05T23:17:26.0650488Z             {
2026-06-05T23:17:26.0650759Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0650927Z               "line": 267
2026-06-05T23:17:26.0651090Z             },
2026-06-05T23:17:26.0651255Z             {
2026-06-05T23:17:26.0651496Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0651680Z               "line": 282
2026-06-05T23:17:26.0657913Z             },
2026-06-05T23:17:26.0658180Z             {
2026-06-05T23:17:26.0658454Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0658630Z               "line": 329
2026-06-05T23:17:26.0658787Z             },
2026-06-05T23:17:26.0659552Z             {
2026-06-05T23:17:26.0659848Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0660020Z               "line": 355
2026-06-05T23:17:26.0660322Z             },
2026-06-05T23:17:26.0660474Z             {
2026-06-05T23:17:26.0660724Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0660895Z               "line": 100
2026-06-05T23:17:26.0661048Z             }
2026-06-05T23:17:26.0661207Z           ]
2026-06-05T23:17:26.0661356Z         },
2026-06-05T23:17:26.0661520Z         "int": {
2026-06-05T23:17:26.0661685Z           "complete": true,
2026-06-05T23:17:26.0661851Z           "evidence": [
2026-06-05T23:17:26.0662214Z             {
2026-06-05T23:17:26.0662500Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0662677Z               "line": 517
2026-06-05T23:17:26.0662828Z             },
2026-06-05T23:17:26.0662990Z             {
2026-06-05T23:17:26.0663223Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0663410Z               "line": 642
2026-06-05T23:17:26.0663579Z             },
2026-06-05T23:17:26.0663731Z             {
2026-06-05T23:17:26.0663979Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0664140Z               "line": 962
2026-06-05T23:17:26.0664294Z             }
2026-06-05T23:17:26.0664443Z           ]
2026-06-05T23:17:26.0664599Z         },
2026-06-05T23:17:26.0664761Z         "unit": {
2026-06-05T23:17:26.0664928Z           "complete": true,
2026-06-05T23:17:26.0665098Z           "evidence": [
2026-06-05T23:17:26.0665245Z             {
2026-06-05T23:17:26.0665502Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.0665665Z               "line": 507
2026-06-05T23:17:26.0665827Z             },
2026-06-05T23:17:26.0665987Z             {
2026-06-05T23:17:26.0666220Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0666390Z               "line": 218
2026-06-05T23:17:26.0666552Z             },
2026-06-05T23:17:26.0666707Z             {
2026-06-05T23:17:26.0666947Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0667117Z               "line": 249
2026-06-05T23:17:26.0667278Z             },
2026-06-05T23:17:26.0667425Z             {
2026-06-05T23:17:26.0667665Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0667828Z               "line": 282
2026-06-05T23:17:26.0667990Z             },
2026-06-05T23:17:26.0668157Z             {
2026-06-05T23:17:26.0668386Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T23:17:26.0668557Z               "line": 313
2026-06-05T23:17:26.0668718Z             },
2026-06-05T23:17:26.0668883Z             {
2026-06-05T23:17:26.0669134Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T23:17:26.0669559Z               "line": 466
2026-06-05T23:17:26.0669744Z             },
2026-06-05T23:17:26.0669897Z             {
2026-06-05T23:17:26.0670175Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T23:17:26.0670352Z               "line": 691
2026-06-05T23:17:26.0670522Z             }
2026-06-05T23:17:26.0670687Z           ]
2026-06-05T23:17:26.0670855Z         }
2026-06-05T23:17:26.0671025Z       }
2026-06-05T23:17:26.0671176Z     },
2026-06-05T23:17:26.0671338Z     {
2026-06-05T23:17:26.0671517Z       "id": "REQ-REACH-1",
2026-06-05T23:17:26.0671834Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-05T23:17:26.0672020Z       "requiredStages": [
2026-06-05T23:17:26.0672206Z         "impl",
2026-06-05T23:17:26.0672377Z         "unit",
2026-06-05T23:17:26.0672544Z         "int"
2026-06-05T23:17:26.0672725Z       ],
2026-06-05T23:17:26.0672905Z       "stages": {
2026-06-05T23:17:26.0673079Z         "doc": {
2026-06-05T23:17:26.0673272Z           "complete": false,
2026-06-05T23:17:26.0673463Z           "evidence": []
2026-06-05T23:17:26.0673630Z         },
2026-06-05T23:17:26.0673791Z         "impl": {
2026-06-05T23:17:26.0674286Z           "complete": true,
2026-06-05T23:17:26.0674491Z           "evidence": [
2026-06-05T23:17:26.0674670Z             {
2026-06-05T23:17:26.0674920Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T23:17:26.0675108Z               "line": 133
2026-06-05T23:17:26.0675268Z             },
2026-06-05T23:17:26.0675414Z             {
2026-06-05T23:17:26.0675654Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:26.0675814Z               "line": 76
2026-06-05T23:17:26.0675976Z             },
2026-06-05T23:17:26.0676135Z             {
2026-06-05T23:17:26.0676368Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:26.0676706Z               "line": 209
2026-06-05T23:17:26.0676893Z             },
2026-06-05T23:17:26.0677055Z             {
2026-06-05T23:17:26.0677280Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:26.0677462Z               "line": 386
2026-06-05T23:17:26.0677618Z             },
2026-06-05T23:17:26.0677815Z             {
2026-06-05T23:17:26.0678068Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:26.0678240Z               "line": 484
2026-06-05T23:17:26.0678407Z             },
2026-06-05T23:17:26.0678561Z             {
2026-06-05T23:17:26.0678804Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T23:17:26.0678966Z               "line": 39
2026-06-05T23:17:26.0679134Z             },
2026-06-05T23:17:26.0679372Z             {
2026-06-05T23:17:26.0679618Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:26.0679806Z               "line": 217
2026-06-05T23:17:26.0679959Z             },
2026-06-05T23:17:26.0680141Z             {
2026-06-05T23:17:26.0680367Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T23:17:26.0680556Z               "line": 82
2026-06-05T23:17:26.0680731Z             },
2026-06-05T23:17:26.0680886Z             {
2026-06-05T23:17:26.0681121Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T23:17:26.0681302Z               "line": 92
2026-06-05T23:17:26.0681470Z             },
2026-06-05T23:17:26.0681629Z             {
2026-06-05T23:17:26.0681891Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0682075Z               "line": 204
2026-06-05T23:17:26.0682231Z             }
2026-06-05T23:17:26.0682403Z           ]
2026-06-05T23:17:26.0682555Z         },
2026-06-05T23:17:26.0682726Z         "int": {
2026-06-05T23:17:26.0682909Z           "complete": true,
2026-06-05T23:17:26.0683098Z           "evidence": [
2026-06-05T23:17:26.0683274Z             {
2026-06-05T23:17:26.0683546Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0683745Z               "line": 375
2026-06-05T23:17:26.0683907Z             },
2026-06-05T23:17:26.0684066Z             {
2026-06-05T23:17:26.0684314Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0684499Z               "line": 478
2026-06-05T23:17:26.0684667Z             },
2026-06-05T23:17:26.0684837Z             {
2026-06-05T23:17:26.0685110Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0685332Z               "line": 827
2026-06-05T23:17:26.0685559Z             },
2026-06-05T23:17:26.0685757Z             {
2026-06-05T23:17:26.0686034Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0686239Z               "line": 1058
2026-06-05T23:17:26.0686409Z             }
2026-06-05T23:17:26.0686598Z           ]
2026-06-05T23:17:26.0686778Z         },
2026-06-05T23:17:26.0686977Z         "unit": {
2026-06-05T23:17:26.0687197Z           "complete": true,
2026-06-05T23:17:26.0687391Z           "evidence": [
2026-06-05T23:17:26.0687626Z             {
2026-06-05T23:17:26.0687909Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:26.0688134Z               "line": 585
2026-06-05T23:17:26.0688311Z             },
2026-06-05T23:17:26.0688487Z             {
2026-06-05T23:17:26.0688735Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T23:17:26.0689287Z               "line": 606
2026-06-05T23:17:26.0689480Z             },
2026-06-05T23:17:26.0689641Z             {
2026-06-05T23:17:26.0689907Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T23:17:26.0690090Z               "line": 337
2026-06-05T23:17:26.0690273Z             },
2026-06-05T23:17:26.0690460Z             {
2026-06-05T23:17:26.0697085Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-05T23:17:26.0697407Z               "line": 92
2026-06-05T23:17:26.0697563Z             },
2026-06-05T23:17:26.0697727Z             {
2026-06-05T23:17:26.0698360Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-05T23:17:26.0698571Z               "line": 176
2026-06-05T23:17:26.0698739Z             },
2026-06-05T23:17:26.0698891Z             {
2026-06-05T23:17:26.0699138Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T23:17:26.0699410Z               "line": 92
2026-06-05T23:17:26.0699576Z             },
2026-06-05T23:17:26.0699757Z             {
2026-06-05T23:17:26.0699994Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T23:17:26.0700168Z               "line": 123
2026-06-05T23:17:26.0700321Z             },
2026-06-05T23:17:26.0700489Z             {
2026-06-05T23:17:26.0700711Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:26.0700884Z               "line": 436
2026-06-05T23:17:26.0701036Z             },
2026-06-05T23:17:26.0701201Z             {
2026-06-05T23:17:26.0701441Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T23:17:26.0701609Z               "line": 112
2026-06-05T23:17:26.0701777Z             },
2026-06-05T23:17:26.0701945Z             {
2026-06-05T23:17:26.0702180Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T23:17:26.0702346Z               "line": 136
2026-06-05T23:17:26.0702513Z             },
2026-06-05T23:17:26.0702686Z             {
2026-06-05T23:17:26.0702929Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0703132Z               "line": 563
2026-06-05T23:17:26.0703287Z             }
2026-06-05T23:17:26.0703448Z           ]
2026-06-05T23:17:26.0703606Z         }
2026-06-05T23:17:26.0703780Z       }
2026-06-05T23:17:26.0703948Z     },
2026-06-05T23:17:26.0704108Z     {
2026-06-05T23:17:26.0704297Z       "id": "REQ-REACH-2",
2026-06-05T23:17:26.0704618Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-05T23:17:26.0704810Z       "requiredStages": [],
2026-06-05T23:17:26.0704967Z       "stages": {
2026-06-05T23:17:26.0705138Z         "doc": {
2026-06-05T23:17:26.0705338Z           "complete": false,
2026-06-05T23:17:26.0705555Z           "evidence": []
2026-06-05T23:17:26.0705744Z         },
2026-06-05T23:17:26.0705909Z         "impl": {
2026-06-05T23:17:26.0706111Z           "complete": false,
2026-06-05T23:17:26.0706294Z           "evidence": []
2026-06-05T23:17:26.0706467Z         },
2026-06-05T23:17:26.0706644Z         "int": {
2026-06-05T23:17:26.0706827Z           "complete": false,
2026-06-05T23:17:26.0707009Z           "evidence": []
2026-06-05T23:17:26.0707165Z         },
2026-06-05T23:17:26.0707347Z         "unit": {
2026-06-05T23:17:26.0707524Z           "complete": false,
2026-06-05T23:17:26.0707702Z           "evidence": []
2026-06-05T23:17:26.0707861Z         }
2026-06-05T23:17:26.0708018Z       }
2026-06-05T23:17:26.0708177Z     },
2026-06-05T23:17:26.0708331Z     {
2026-06-05T23:17:26.0708520Z       "id": "REQ-REL-1",
2026-06-05T23:17:26.0709482Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-05T23:17:26.0709736Z       "requiredStages": [
2026-06-05T23:17:26.0709919Z         "doc",
2026-06-05T23:17:26.0710079Z         "impl"
2026-06-05T23:17:26.0710243Z       ],
2026-06-05T23:17:26.0710403Z       "stages": {
2026-06-05T23:17:26.0710566Z         "doc": {
2026-06-05T23:17:26.0710746Z           "complete": true,
2026-06-05T23:17:26.0711221Z           "evidence": [
2026-06-05T23:17:26.0711388Z             {
2026-06-05T23:17:26.0711841Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-05T23:17:26.0712018Z               "line": 3
2026-06-05T23:17:26.0712167Z             }
2026-06-05T23:17:26.0712336Z           ]
2026-06-05T23:17:26.0712497Z         },
2026-06-05T23:17:26.0712655Z         "impl": {
2026-06-05T23:17:26.0712838Z           "complete": true,
2026-06-05T23:17:26.0713002Z           "evidence": [
2026-06-05T23:17:26.0713164Z             {
2026-06-05T23:17:26.0713421Z               "path": ".github/workflows/docs-publish.yml",
2026-06-05T23:17:26.0713747Z               "line": 11
2026-06-05T23:17:26.0713939Z             },
2026-06-05T23:17:26.0714091Z             {
2026-06-05T23:17:26.0714313Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0714482Z               "line": 252
2026-06-05T23:17:26.0714651Z             }
2026-06-05T23:17:26.0714805Z           ]
2026-06-05T23:17:26.0714980Z         },
2026-06-05T23:17:26.0715142Z         "int": {
2026-06-05T23:17:26.0715317Z           "complete": false,
2026-06-05T23:17:26.0715503Z           "evidence": []
2026-06-05T23:17:26.0715659Z         },
2026-06-05T23:17:26.0715828Z         "unit": {
2026-06-05T23:17:26.0716003Z           "complete": false,
2026-06-05T23:17:26.0716192Z           "evidence": []
2026-06-05T23:17:26.0716365Z         }
2026-06-05T23:17:26.0716520Z       }
2026-06-05T23:17:26.0716672Z     },
2026-06-05T23:17:26.0716818Z     {
2026-06-05T23:17:26.0716996Z       "id": "REQ-REL-2",
2026-06-05T23:17:26.0718109Z       "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-05T23:17:26.0718319Z       "requiredStages": [
2026-06-05T23:17:26.0718491Z         "impl"
2026-06-05T23:17:26.0718658Z       ],
2026-06-05T23:17:26.0718837Z       "stages": {
2026-06-05T23:17:26.0719007Z         "doc": {
2026-06-05T23:17:26.0719270Z           "complete": true,
2026-06-05T23:17:26.0719464Z           "evidence": [
2026-06-05T23:17:26.0719642Z             {
2026-06-05T23:17:26.0720015Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-05T23:17:26.0720172Z               "line": 6
2026-06-05T23:17:26.0720332Z             }
2026-06-05T23:17:26.0720482Z           ]
2026-06-05T23:17:26.0720642Z         },
2026-06-05T23:17:26.0720804Z         "impl": {
2026-06-05T23:17:26.0720985Z           "complete": true,
2026-06-05T23:17:26.0721160Z           "evidence": [
2026-06-05T23:17:26.0721310Z             {
2026-06-05T23:17:26.0721560Z               "path": ".github/workflows/release.yml",
2026-06-05T23:17:26.0721721Z               "line": 16
2026-06-05T23:17:26.0721884Z             },
2026-06-05T23:17:26.0722037Z             {
2026-06-05T23:17:26.0722253Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0722424Z               "line": 329
2026-06-05T23:17:26.0722585Z             },
2026-06-05T23:17:26.0722759Z             {
2026-06-05T23:17:26.0722961Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0723135Z               "line": 393
2026-06-05T23:17:26.0723283Z             },
2026-06-05T23:17:26.0723443Z             {
2026-06-05T23:17:26.0723658Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0723829Z               "line": 450
2026-06-05T23:17:26.0723992Z             }
2026-06-05T23:17:26.0724146Z           ]
2026-06-05T23:17:26.0724311Z         },
2026-06-05T23:17:26.0724464Z         "int": {
2026-06-05T23:17:26.0724649Z           "complete": false,
2026-06-05T23:17:26.0724829Z           "evidence": []
2026-06-05T23:17:26.0724991Z         },
2026-06-05T23:17:26.0725157Z         "unit": {
2026-06-05T23:17:26.0725329Z           "complete": false,
2026-06-05T23:17:26.0725502Z           "evidence": []
2026-06-05T23:17:26.0725654Z         }
2026-06-05T23:17:26.0725815Z       }
2026-06-05T23:17:26.0725969Z     },
2026-06-05T23:17:26.0726367Z     {
2026-06-05T23:17:26.0726555Z       "id": "REQ-REL-3",
2026-06-05T23:17:26.0727495Z       "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-05T23:17:26.0727680Z       "requiredStages": [
2026-06-05T23:17:26.0727831Z         "impl",
2026-06-05T23:17:26.0727992Z         "unit"
2026-06-05T23:17:26.0728147Z       ],
2026-06-05T23:17:26.0728297Z       "stages": {
2026-06-05T23:17:26.0728457Z         "doc": {
2026-06-05T23:17:26.0728642Z           "complete": false,
2026-06-05T23:17:26.0728813Z           "evidence": []
2026-06-05T23:17:26.0728965Z         },
2026-06-05T23:17:26.0729478Z         "impl": {
2026-06-05T23:17:26.0729707Z           "complete": true,
2026-06-05T23:17:26.0729895Z           "evidence": [
2026-06-05T23:17:26.0730207Z             {
2026-06-05T23:17:26.0730437Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.0736772Z               "line": 117
2026-06-05T23:17:26.0737086Z             },
2026-06-05T23:17:26.0737247Z             {
2026-06-05T23:17:26.0737510Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.0737671Z               "line": 169
2026-06-05T23:17:26.0737827Z             },
2026-06-05T23:17:26.0737967Z             {
2026-06-05T23:17:26.0738183Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0738351Z               "line": 306
2026-06-05T23:17:26.0738509Z             },
2026-06-05T23:17:26.0738663Z             {
2026-06-05T23:17:26.0738861Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0739030Z               "line": 330
2026-06-05T23:17:26.0739301Z             },
2026-06-05T23:17:26.0739622Z             {
2026-06-05T23:17:26.0739853Z               "path": "crates/xtask/src/main.rs",
2026-06-05T23:17:26.0740167Z               "line": 363
2026-06-05T23:17:26.0740323Z             }
2026-06-05T23:17:26.0740467Z           ]
2026-06-05T23:17:26.0740627Z         },
2026-06-05T23:17:26.0740789Z         "int": {
2026-06-05T23:17:26.0740965Z           "complete": false,
2026-06-05T23:17:26.0741123Z           "evidence": []
2026-06-05T23:17:26.0741279Z         },
2026-06-05T23:17:26.0741439Z         "unit": {
2026-06-05T23:17:26.0741605Z           "complete": true,
2026-06-05T23:17:26.0741779Z           "evidence": [
2026-06-05T23:17:26.0741927Z             {
2026-06-05T23:17:26.0742170Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.0742328Z               "line": 606
2026-06-05T23:17:26.0742483Z             },
2026-06-05T23:17:26.0742639Z             {
2026-06-05T23:17:26.0742882Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.0743063Z               "line": 659
2026-06-05T23:17:26.0743217Z             }
2026-06-05T23:17:26.0743388Z           ]
2026-06-05T23:17:26.0743540Z         }
2026-06-05T23:17:26.0743703Z       }
2026-06-05T23:17:26.0743873Z     },
2026-06-05T23:17:26.0744029Z     {
2026-06-05T23:17:26.0744258Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-05T23:17:26.0744624Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-05T23:17:26.0744804Z       "requiredStages": [
2026-06-05T23:17:26.0744968Z         "impl",
2026-06-05T23:17:26.0745121Z         "unit"
2026-06-05T23:17:26.0745286Z       ],
2026-06-05T23:17:26.0745471Z       "stages": {
2026-06-05T23:17:26.0745657Z         "doc": {
2026-06-05T23:17:26.0745831Z           "complete": false,
2026-06-05T23:17:26.0745999Z           "evidence": []
2026-06-05T23:17:26.0746152Z         },
2026-06-05T23:17:26.0746322Z         "impl": {
2026-06-05T23:17:26.0746501Z           "complete": true,
2026-06-05T23:17:26.0746676Z           "evidence": [
2026-06-05T23:17:26.0746836Z             {
2026-06-05T23:17:26.0747064Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0747228Z               "line": 18
2026-06-05T23:17:26.0747378Z             },
2026-06-05T23:17:26.0747547Z             {
2026-06-05T23:17:26.0748213Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0748379Z               "line": 35
2026-06-05T23:17:26.0748545Z             },
2026-06-05T23:17:26.0748691Z             {
2026-06-05T23:17:26.0748928Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0749100Z               "line": 65
2026-06-05T23:17:26.0749501Z             }
2026-06-05T23:17:26.0749697Z           ]
2026-06-05T23:17:26.0749857Z         },
2026-06-05T23:17:26.0750183Z         "int": {
2026-06-05T23:17:26.0750362Z           "complete": false,
2026-06-05T23:17:26.0750540Z           "evidence": []
2026-06-05T23:17:26.0750696Z         },
2026-06-05T23:17:26.0751060Z         "unit": {
2026-06-05T23:17:26.0751272Z           "complete": true,
2026-06-05T23:17:26.0751429Z           "evidence": [
2026-06-05T23:17:26.0751591Z             {
2026-06-05T23:17:26.0751816Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0751989Z               "line": 200
2026-06-05T23:17:26.0752167Z             },
2026-06-05T23:17:26.0752325Z             {
2026-06-05T23:17:26.0752553Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0752713Z               "line": 214
2026-06-05T23:17:26.0752875Z             },
2026-06-05T23:17:26.0753028Z             {
2026-06-05T23:17:26.0753256Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0753433Z               "line": 223
2026-06-05T23:17:26.0753595Z             }
2026-06-05T23:17:26.0753754Z           ]
2026-06-05T23:17:26.0753900Z         }
2026-06-05T23:17:26.0754069Z       }
2026-06-05T23:17:26.0754218Z     },
2026-06-05T23:17:26.0754377Z     {
2026-06-05T23:17:26.0754580Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-05T23:17:26.0754888Z       "title": "Hostable endpoint-types capability declaration",
2026-06-05T23:17:26.0755077Z       "requiredStages": [
2026-06-05T23:17:26.0755238Z         "impl",
2026-06-05T23:17:26.0755402Z         "unit"
2026-06-05T23:17:26.0755552Z       ],
2026-06-05T23:17:26.0755745Z       "stages": {
2026-06-05T23:17:26.0755898Z         "doc": {
2026-06-05T23:17:26.0756086Z           "complete": false,
2026-06-05T23:17:26.0756274Z           "evidence": []
2026-06-05T23:17:26.0756431Z         },
2026-06-05T23:17:26.0756595Z         "impl": {
2026-06-05T23:17:26.0756763Z           "complete": true,
2026-06-05T23:17:26.0756929Z           "evidence": [
2026-06-05T23:17:26.0757081Z             {
2026-06-05T23:17:26.0757323Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0757491Z               "line": 391
2026-06-05T23:17:26.0757644Z             }
2026-06-05T23:17:26.0757807Z           ]
2026-06-05T23:17:26.0757956Z         },
2026-06-05T23:17:26.0758131Z         "int": {
2026-06-05T23:17:26.0758298Z           "complete": false,
2026-06-05T23:17:26.0758478Z           "evidence": []
2026-06-05T23:17:26.0758635Z         },
2026-06-05T23:17:26.0758787Z         "unit": {
2026-06-05T23:17:26.0758964Z           "complete": true,
2026-06-05T23:17:26.0759133Z           "evidence": [
2026-06-05T23:17:26.0759527Z             {
2026-06-05T23:17:26.0759943Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0760120Z               "line": 596
2026-06-05T23:17:26.0760286Z             }
2026-06-05T23:17:26.0760437Z           ]
2026-06-05T23:17:26.0760608Z         }
2026-06-05T23:17:26.0760757Z       }
2026-06-05T23:17:26.0760921Z     },
2026-06-05T23:17:26.0761069Z     {
2026-06-05T23:17:26.0761257Z       "id": "REQ-SEAM-HISTORY",
2026-06-05T23:17:26.0761632Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-05T23:17:26.0761808Z       "requiredStages": [
2026-06-05T23:17:26.0761993Z         "impl",
2026-06-05T23:17:26.0762144Z         "unit",
2026-06-05T23:17:26.0762301Z         "int"
2026-06-05T23:17:26.0762454Z       ],
2026-06-05T23:17:26.0762626Z       "stages": {
2026-06-05T23:17:26.0762796Z         "doc": {
2026-06-05T23:17:26.0762967Z           "complete": false,
2026-06-05T23:17:26.0763135Z           "evidence": []
2026-06-05T23:17:26.0763566Z         },
2026-06-05T23:17:26.0763741Z         "impl": {
2026-06-05T23:17:26.0763911Z           "complete": true,
2026-06-05T23:17:26.0764088Z           "evidence": [
2026-06-05T23:17:26.0764249Z             {
2026-06-05T23:17:26.0764467Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:26.0764635Z               "line": 24
2026-06-05T23:17:26.0764789Z             },
2026-06-05T23:17:26.0764947Z             {
2026-06-05T23:17:26.0765184Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0765365Z               "line": 22
2026-06-05T23:17:26.0765533Z             }
2026-06-05T23:17:26.0765838Z           ]
2026-06-05T23:17:26.0766026Z         },
2026-06-05T23:17:26.0766188Z         "int": {
2026-06-05T23:17:26.0766365Z           "complete": true,
2026-06-05T23:17:26.0766522Z           "evidence": [
2026-06-05T23:17:26.0766679Z             {
2026-06-05T23:17:26.0766924Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:26.0767100Z               "line": 202
2026-06-05T23:17:26.0767266Z             }
2026-06-05T23:17:26.0767418Z           ]
2026-06-05T23:17:26.0767585Z         },
2026-06-05T23:17:26.0774158Z         "unit": {
2026-06-05T23:17:26.0774523Z           "complete": true,
2026-06-05T23:17:26.0774690Z           "evidence": [
2026-06-05T23:17:26.0774835Z             {
2026-06-05T23:17:26.0775060Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:26.0775216Z               "line": 163
2026-06-05T23:17:26.0775371Z             },
2026-06-05T23:17:26.0775513Z             {
2026-06-05T23:17:26.0775729Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:26.0775931Z               "line": 186
2026-06-05T23:17:26.0776075Z             },
2026-06-05T23:17:26.0776226Z             {
2026-06-05T23:17:26.0776437Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T23:17:26.0776599Z               "line": 195
2026-06-05T23:17:26.0776749Z             },
2026-06-05T23:17:26.0776899Z             {
2026-06-05T23:17:26.0777127Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0777281Z               "line": 195
2026-06-05T23:17:26.0777434Z             },
2026-06-05T23:17:26.0777581Z             {
2026-06-05T23:17:26.0777814Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0777988Z               "line": 209
2026-06-05T23:17:26.0778129Z             },
2026-06-05T23:17:26.0778278Z             {
2026-06-05T23:17:26.0778497Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0778661Z               "line": 228
2026-06-05T23:17:26.0778805Z             },
2026-06-05T23:17:26.0778969Z             {
2026-06-05T23:17:26.0779280Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0779447Z               "line": 248
2026-06-05T23:17:26.0779600Z             },
2026-06-05T23:17:26.0779744Z             {
2026-06-05T23:17:26.0779965Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0780131Z               "line": 264
2026-06-05T23:17:26.0780283Z             },
2026-06-05T23:17:26.0780439Z             {
2026-06-05T23:17:26.0780649Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T23:17:26.0780818Z               "line": 279
2026-06-05T23:17:26.0780959Z             }
2026-06-05T23:17:26.0781111Z           ]
2026-06-05T23:17:26.0781258Z         }
2026-06-05T23:17:26.0781410Z       }
2026-06-05T23:17:26.0781561Z     },
2026-06-05T23:17:26.0781706Z     {
2026-06-05T23:17:26.0781894Z       "id": "REQ-SEAM-INJECT",
2026-06-05T23:17:26.0782215Z       "title": "inject-input methods configurable per activity-state",
2026-06-05T23:17:26.0782402Z       "requiredStages": [
2026-06-05T23:17:26.0782548Z         "impl",
2026-06-05T23:17:26.0782700Z         "unit"
2026-06-05T23:17:26.0782851Z       ],
2026-06-05T23:17:26.0783004Z       "stages": {
2026-06-05T23:17:26.0783157Z         "doc": {
2026-06-05T23:17:26.0783322Z           "complete": false,
2026-06-05T23:17:26.0783919Z           "evidence": []
2026-06-05T23:17:26.0784067Z         },
2026-06-05T23:17:26.0784234Z         "impl": {
2026-06-05T23:17:26.0784407Z           "complete": true,
2026-06-05T23:17:26.0784561Z           "evidence": [
2026-06-05T23:17:26.0784716Z             {
2026-06-05T23:17:26.0784933Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0785099Z               "line": 19
2026-06-05T23:17:26.0785246Z             },
2026-06-05T23:17:26.0785404Z             {
2026-06-05T23:17:26.0785638Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0785793Z               "line": 104
2026-06-05T23:17:26.0785947Z             }
2026-06-05T23:17:26.0786235Z           ]
2026-06-05T23:17:26.0786406Z         },
2026-06-05T23:17:26.0786557Z         "int": {
2026-06-05T23:17:26.0786737Z           "complete": false,
2026-06-05T23:17:26.0786906Z           "evidence": []
2026-06-05T23:17:26.0787054Z         },
2026-06-05T23:17:26.0787214Z         "unit": {
2026-06-05T23:17:26.0787428Z           "complete": true,
2026-06-05T23:17:26.0787593Z           "evidence": [
2026-06-05T23:17:26.0787744Z             {
2026-06-05T23:17:26.0787977Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0788151Z               "line": 291
2026-06-05T23:17:26.0788310Z             },
2026-06-05T23:17:26.0788463Z             {
2026-06-05T23:17:26.0788687Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0788855Z               "line": 305
2026-06-05T23:17:26.0788998Z             }
2026-06-05T23:17:26.0789153Z           ]
2026-06-05T23:17:26.0789383Z         }
2026-06-05T23:17:26.0789531Z       }
2026-06-05T23:17:26.0789694Z     },
2026-06-05T23:17:26.0789839Z     {
2026-06-05T23:17:26.0790039Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-05T23:17:26.0790297Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-05T23:17:26.0790471Z       "requiredStages": [
2026-06-05T23:17:26.0790637Z         "impl",
2026-06-05T23:17:26.0790806Z         "unit"
2026-06-05T23:17:26.0790973Z       ],
2026-06-05T23:17:26.0791128Z       "stages": {
2026-06-05T23:17:26.0791288Z         "doc": {
2026-06-05T23:17:26.0791451Z           "complete": false,
2026-06-05T23:17:26.0791623Z           "evidence": []
2026-06-05T23:17:26.0791778Z         },
2026-06-05T23:17:26.0791929Z         "impl": {
2026-06-05T23:17:26.0792117Z           "complete": true,
2026-06-05T23:17:26.0792278Z           "evidence": [
2026-06-05T23:17:26.0792432Z             {
2026-06-05T23:17:26.0792648Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0792821Z               "line": 18
2026-06-05T23:17:26.0792984Z             },
2026-06-05T23:17:26.0793151Z             {
2026-06-05T23:17:26.0793398Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0793560Z               "line": 304
2026-06-05T23:17:26.0793722Z             }
2026-06-05T23:17:26.0793871Z           ]
2026-06-05T23:17:26.0794033Z         },
2026-06-05T23:17:26.0794197Z         "int": {
2026-06-05T23:17:26.0794380Z           "complete": false,
2026-06-05T23:17:26.0794572Z           "evidence": []
2026-06-05T23:17:26.0794735Z         },
2026-06-05T23:17:26.0794919Z         "unit": {
2026-06-05T23:17:26.0795096Z           "complete": true,
2026-06-05T23:17:26.0795265Z           "evidence": [
2026-06-05T23:17:26.0795428Z             {
2026-06-05T23:17:26.0795660Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0795838Z               "line": 526
2026-06-05T23:17:26.0795989Z             },
2026-06-05T23:17:26.0796147Z             {
2026-06-05T23:17:26.0796366Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0796562Z               "line": 536
2026-06-05T23:17:26.0796723Z             }
2026-06-05T23:17:26.0796870Z           ]
2026-06-05T23:17:26.0797024Z         }
2026-06-05T23:17:26.0797171Z       }
2026-06-05T23:17:26.0797330Z     },
2026-06-05T23:17:26.0797476Z     {
2026-06-05T23:17:26.0797667Z       "id": "REQ-SEAM-PSYCHE",
2026-06-05T23:17:26.0798177Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-05T23:17:26.0798351Z       "requiredStages": [
2026-06-05T23:17:26.0798517Z         "impl",
2026-06-05T23:17:26.0798675Z         "unit",
2026-06-05T23:17:26.0798841Z         "int"
2026-06-05T23:17:26.0798986Z       ],
2026-06-05T23:17:26.0799150Z       "stages": {
2026-06-05T23:17:26.0799381Z         "doc": {
2026-06-05T23:17:26.0799550Z           "complete": false,
2026-06-05T23:17:26.0799718Z           "evidence": []
2026-06-05T23:17:26.0799866Z         },
2026-06-05T23:17:26.0800035Z         "impl": {
2026-06-05T23:17:26.0800201Z           "complete": true,
2026-06-05T23:17:26.0800533Z           "evidence": [
2026-06-05T23:17:26.0800718Z             {
2026-06-05T23:17:26.0800950Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T23:17:26.0801128Z               "line": 19
2026-06-05T23:17:26.0801281Z             },
2026-06-05T23:17:26.0801448Z             {
2026-06-05T23:17:26.0801676Z               "path": "crates/spt/src/api/live.rs",
2026-06-05T23:17:26.0801877Z               "line": 12
2026-06-05T23:17:26.0802040Z             },
2026-06-05T23:17:26.0802191Z             {
2026-06-05T23:17:26.0802427Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0802594Z               "line": 204
2026-06-05T23:17:26.0802759Z             }
2026-06-05T23:17:26.0802910Z           ]
2026-06-05T23:17:26.0803076Z         },
2026-06-05T23:17:26.0803244Z         "int": {
2026-06-05T23:17:26.0803410Z           "complete": true,
2026-06-05T23:17:26.0809846Z           "evidence": [
2026-06-05T23:17:26.0810253Z             {
2026-06-05T23:17:26.0810556Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:26.0810722Z               "line": 201
2026-06-05T23:17:26.0810882Z             }
2026-06-05T23:17:26.0811038Z           ]
2026-06-05T23:17:26.0811187Z         },
2026-06-05T23:17:26.0811350Z         "unit": {
2026-06-05T23:17:26.0811518Z           "complete": true,
2026-06-05T23:17:26.0811708Z           "evidence": [
2026-06-05T23:17:26.0811853Z             {
2026-06-05T23:17:26.0812082Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T23:17:26.0812263Z               "line": 161
2026-06-05T23:17:26.0812417Z             },
2026-06-05T23:17:26.0812583Z             {
2026-06-05T23:17:26.0812804Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T23:17:26.0812976Z               "line": 168
2026-06-05T23:17:26.0813120Z             },
2026-06-05T23:17:26.0813277Z             {
2026-06-05T23:17:26.0813511Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T23:17:26.0813675Z               "line": 191
2026-06-05T23:17:26.0813851Z             },
2026-06-05T23:17:26.0814005Z             {
2026-06-05T23:17:26.0814227Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-05T23:17:26.0814390Z               "line": 106
2026-06-05T23:17:26.0814559Z             },
2026-06-05T23:17:26.0814720Z             {
2026-06-05T23:17:26.0814941Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-05T23:17:26.0815126Z               "line": 123
2026-06-05T23:17:26.0815273Z             },
2026-06-05T23:17:26.0815426Z             {
2026-06-05T23:17:26.0815642Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-05T23:17:26.0815824Z               "line": 137
2026-06-05T23:17:26.0815986Z             }
2026-06-05T23:17:26.0816142Z           ]
2026-06-05T23:17:26.0816303Z         }
2026-06-05T23:17:26.0816460Z       }
2026-06-05T23:17:26.0816626Z     },
2026-06-05T23:17:26.0816776Z     {
2026-06-05T23:17:26.0816961Z       "id": "REQ-SEAM-RESUME",
2026-06-05T23:17:26.0817364Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-05T23:17:26.0817541Z       "requiredStages": [
2026-06-05T23:17:26.0817707Z         "impl",
2026-06-05T23:17:26.0817860Z         "unit"
2026-06-05T23:17:26.0818027Z       ],
2026-06-05T23:17:26.0818189Z       "stages": {
2026-06-05T23:17:26.0818361Z         "doc": {
2026-06-05T23:17:26.0818943Z           "complete": false,
2026-06-05T23:17:26.0819112Z           "evidence": []
2026-06-05T23:17:26.0819525Z         },
2026-06-05T23:17:26.0819710Z         "impl": {
2026-06-05T23:17:26.0820058Z           "complete": true,
2026-06-05T23:17:26.0820211Z           "evidence": [
2026-06-05T23:17:26.0820379Z             {
2026-06-05T23:17:26.0820618Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T23:17:26.0820775Z               "line": 19
2026-06-05T23:17:26.0820933Z             }
2026-06-05T23:17:26.0821078Z           ]
2026-06-05T23:17:26.0821235Z         },
2026-06-05T23:17:26.0821386Z         "int": {
2026-06-05T23:17:26.0821568Z           "complete": false,
2026-06-05T23:17:26.0821928Z           "evidence": []
2026-06-05T23:17:26.0822109Z         },
2026-06-05T23:17:26.0822277Z         "unit": {
2026-06-05T23:17:26.0822454Z           "complete": true,
2026-06-05T23:17:26.0822628Z           "evidence": [
2026-06-05T23:17:26.0822775Z             {
2026-06-05T23:17:26.0823009Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T23:17:26.0823199Z               "line": 168
2026-06-05T23:17:26.0823343Z             },
2026-06-05T23:17:26.0823500Z             {
2026-06-05T23:17:26.0823721Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T23:17:26.0823903Z               "line": 187
2026-06-05T23:17:26.0824053Z             },
2026-06-05T23:17:26.0824216Z             {
2026-06-05T23:17:26.0824445Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T23:17:26.0824612Z               "line": 205
2026-06-05T23:17:26.0824771Z             }
2026-06-05T23:17:26.0824920Z           ]
2026-06-05T23:17:26.0825083Z         }
2026-06-05T23:17:26.0825255Z       }
2026-06-05T23:17:26.0825426Z     },
2026-06-05T23:17:26.0825596Z     {
2026-06-05T23:17:26.0825781Z       "id": "REQ-SEAM-SPAWN",
2026-06-05T23:17:26.0825984Z       "title": "spawn-session seam",
2026-06-05T23:17:26.0826167Z       "requiredStages": [
2026-06-05T23:17:26.0826335Z         "impl",
2026-06-05T23:17:26.0826499Z         "unit"
2026-06-05T23:17:26.0826659Z       ],
2026-06-05T23:17:26.0826826Z       "stages": {
2026-06-05T23:17:26.0826983Z         "doc": {
2026-06-05T23:17:26.0827170Z           "complete": false,
2026-06-05T23:17:26.0827338Z           "evidence": []
2026-06-05T23:17:26.0827490Z         },
2026-06-05T23:17:26.0827645Z         "impl": {
2026-06-05T23:17:26.0827819Z           "complete": true,
2026-06-05T23:17:26.0827987Z           "evidence": [
2026-06-05T23:17:26.0828135Z             {
2026-06-05T23:17:26.0828382Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0828536Z               "line": 20
2026-06-05T23:17:26.0828692Z             }
2026-06-05T23:17:26.0828860Z           ]
2026-06-05T23:17:26.0829016Z         },
2026-06-05T23:17:26.0829269Z         "int": {
2026-06-05T23:17:26.0829616Z           "complete": false,
2026-06-05T23:17:26.0829824Z           "evidence": []
2026-06-05T23:17:26.0830123Z         },
2026-06-05T23:17:26.0830291Z         "unit": {
2026-06-05T23:17:26.0830483Z           "complete": true,
2026-06-05T23:17:26.0830663Z           "evidence": [
2026-06-05T23:17:26.0830826Z             {
2026-06-05T23:17:26.0831067Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0831242Z               "line": 397
2026-06-05T23:17:26.0831393Z             },
2026-06-05T23:17:26.0831551Z             {
2026-06-05T23:17:26.0831785Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0831966Z               "line": 404
2026-06-05T23:17:26.0832125Z             },
2026-06-05T23:17:26.0832273Z             {
2026-06-05T23:17:26.0832525Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0832697Z               "line": 414
2026-06-05T23:17:26.0832867Z             },
2026-06-05T23:17:26.0833020Z             {
2026-06-05T23:17:26.0833269Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0833444Z               "line": 420
2026-06-05T23:17:26.0833597Z             },
2026-06-05T23:17:26.0834048Z             {
2026-06-05T23:17:26.0834297Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0834477Z               "line": 440
2026-06-05T23:17:26.0834633Z             },
2026-06-05T23:17:26.0834801Z             {
2026-06-05T23:17:26.0835054Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T23:17:26.0835213Z               "line": 473
2026-06-05T23:17:26.0835373Z             }
2026-06-05T23:17:26.0835528Z           ]
2026-06-05T23:17:26.0835699Z         }
2026-06-05T23:17:26.0835857Z       }
2026-06-05T23:17:26.0836016Z     },
2026-06-05T23:17:26.0836176Z     {
2026-06-05T23:17:26.0836558Z       "id": "REQ-SEAM-UPDATE",
2026-06-05T23:17:26.0836928Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-05T23:17:26.0837098Z       "requiredStages": [
2026-06-05T23:17:26.0837261Z         "impl",
2026-06-05T23:17:26.0837413Z         "unit"
2026-06-05T23:17:26.0837573Z       ],
2026-06-05T23:17:26.0837747Z       "stages": {
2026-06-05T23:17:26.0837901Z         "doc": {
2026-06-05T23:17:26.0838088Z           "complete": false,
2026-06-05T23:17:26.0838256Z           "evidence": []
2026-06-05T23:17:26.0838418Z         },
2026-06-05T23:17:26.0838579Z         "impl": {
2026-06-05T23:17:26.0838752Z           "complete": true,
2026-06-05T23:17:26.0838921Z           "evidence": [
2026-06-05T23:17:26.0839069Z             {
2026-06-05T23:17:26.0839591Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.0839902Z               "line": 28
2026-06-05T23:17:26.0840064Z             },
2026-06-05T23:17:26.0840213Z             {
2026-06-05T23:17:26.0840500Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.0840678Z               "line": 83
2026-06-05T23:17:26.0840827Z             }
2026-06-05T23:17:26.0840987Z           ]
2026-06-05T23:17:26.0847146Z         },
2026-06-05T23:17:26.0847440Z         "int": {
2026-06-05T23:17:26.0847621Z           "complete": false,
2026-06-05T23:17:26.0847827Z           "evidence": []
2026-06-05T23:17:26.0847983Z         },
2026-06-05T23:17:26.0848132Z         "unit": {
2026-06-05T23:17:26.0848305Z           "complete": true,
2026-06-05T23:17:26.0848460Z           "evidence": [
2026-06-05T23:17:26.0848619Z             {
2026-06-05T23:17:26.0848900Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.0849076Z               "line": 270
2026-06-05T23:17:26.0849462Z             },
2026-06-05T23:17:26.0849624Z             {
2026-06-05T23:17:26.0850047Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.0850208Z               "line": 281
2026-06-05T23:17:26.0850385Z             }
2026-06-05T23:17:26.0850552Z           ]
2026-06-05T23:17:26.0850697Z         }
2026-06-05T23:17:26.0850859Z       }
2026-06-05T23:17:26.0851011Z     },
2026-06-05T23:17:26.0851169Z     {
2026-06-05T23:17:26.0851344Z       "id": "REQ-SEC-1",
2026-06-05T23:17:26.0852201Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-05T23:17:26.0852405Z       "requiredStages": [
2026-06-05T23:17:26.0852554Z         "impl",
2026-06-05T23:17:26.0852717Z         "unit"
2026-06-05T23:17:26.0852870Z       ],
2026-06-05T23:17:26.0853038Z       "stages": {
2026-06-05T23:17:26.0853187Z         "doc": {
2026-06-05T23:17:26.0853361Z           "complete": false,
2026-06-05T23:17:26.0853528Z           "evidence": []
2026-06-05T23:17:26.0853678Z         },
2026-06-05T23:17:26.0853847Z         "impl": {
2026-06-05T23:17:26.0854014Z           "complete": true,
2026-06-05T23:17:26.0854194Z           "evidence": [
2026-06-05T23:17:26.0854352Z             {
2026-06-05T23:17:26.0854596Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:26.0854763Z               "line": 84
2026-06-05T23:17:26.0854913Z             },
2026-06-05T23:17:26.0855072Z             {
2026-06-05T23:17:26.0855296Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:26.0855919Z               "line": 114
2026-06-05T23:17:26.0856069Z             },
2026-06-05T23:17:26.0856233Z             {
2026-06-05T23:17:26.0856478Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:26.0856652Z               "line": 128
2026-06-05T23:17:26.0856819Z             },
2026-06-05T23:17:26.0856971Z             {
2026-06-05T23:17:26.0857211Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0857407Z               "line": 108
2026-06-05T23:17:26.0857578Z             },
2026-06-05T23:17:26.0857751Z             {
2026-06-05T23:17:26.0858143Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0858347Z               "line": 129
2026-06-05T23:17:26.0858510Z             },
2026-06-05T23:17:26.0858675Z             {
2026-06-05T23:17:26.0858906Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0859089Z               "line": 142
2026-06-05T23:17:26.0859512Z             },
2026-06-05T23:17:26.0859691Z             {
2026-06-05T23:17:26.0860093Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0860261Z               "line": 208
2026-06-05T23:17:26.0860426Z             },
2026-06-05T23:17:26.0860577Z             {
2026-06-05T23:17:26.0860818Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0860988Z               "line": 234
2026-06-05T23:17:26.0861142Z             },
2026-06-05T23:17:26.0861304Z             {
2026-06-05T23:17:26.0861502Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0861673Z               "line": 1517
2026-06-05T23:17:26.0861824Z             }
2026-06-05T23:17:26.0862004Z           ]
2026-06-05T23:17:26.0862161Z         },
2026-06-05T23:17:26.0862312Z         "int": {
2026-06-05T23:17:26.0862495Z           "complete": false,
2026-06-05T23:17:26.0862673Z           "evidence": []
2026-06-05T23:17:26.0862831Z         },
2026-06-05T23:17:26.0862987Z         "unit": {
2026-06-05T23:17:26.0863183Z           "complete": true,
2026-06-05T23:17:26.0863359Z           "evidence": [
2026-06-05T23:17:26.0863516Z             {
2026-06-05T23:17:26.0863764Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:26.0863933Z               "line": 140
2026-06-05T23:17:26.0864102Z             },
2026-06-05T23:17:26.0864251Z             {
2026-06-05T23:17:26.0864500Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:26.0864674Z               "line": 186
2026-06-05T23:17:26.0864824Z             },
2026-06-05T23:17:26.0864985Z             {
2026-06-05T23:17:26.0865207Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T23:17:26.0865396Z               "line": 218
2026-06-05T23:17:26.0865551Z             },
2026-06-05T23:17:26.0865709Z             {
2026-06-05T23:17:26.0865947Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-05T23:17:26.0866108Z               "line": 128
2026-06-05T23:17:26.0866267Z             },
2026-06-05T23:17:26.0866435Z             {
2026-06-05T23:17:26.0866670Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0866843Z               "line": 248
2026-06-05T23:17:26.0866996Z             },
2026-06-05T23:17:26.0867153Z             {
2026-06-05T23:17:26.0867372Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0867542Z               "line": 275
2026-06-05T23:17:26.0867694Z             },
2026-06-05T23:17:26.0867856Z             {
2026-06-05T23:17:26.0868092Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0868257Z               "line": 299
2026-06-05T23:17:26.0868420Z             },
2026-06-05T23:17:26.0868581Z             {
2026-06-05T23:17:26.0868811Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0868969Z               "line": 310
2026-06-05T23:17:26.0869127Z             },
2026-06-05T23:17:26.0869526Z             {
2026-06-05T23:17:26.0869799Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0870370Z               "line": 334
2026-06-05T23:17:26.0870523Z             },
2026-06-05T23:17:26.0870682Z             {
2026-06-05T23:17:26.0870899Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T23:17:26.0871067Z               "line": 350
2026-06-05T23:17:26.0871225Z             },
2026-06-05T23:17:26.0871371Z             {
2026-06-05T23:17:26.0871575Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0871735Z               "line": 2727
2026-06-05T23:17:26.0871891Z             }
2026-06-05T23:17:26.0872033Z           ]
2026-06-05T23:17:26.0872187Z         }
2026-06-05T23:17:26.0872342Z       }
2026-06-05T23:17:26.0872642Z     },
2026-06-05T23:17:26.0872819Z     {
2026-06-05T23:17:26.0872986Z       "id": "REQ-SHELL-1",
2026-06-05T23:17:26.0874950Z       "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-05T23:17:26.0875153Z       "requiredStages": [
2026-06-05T23:17:26.0875307Z         "impl",
2026-06-05T23:17:26.0875474Z         "unit",
2026-06-05T23:17:26.0875634Z         "int"
2026-06-05T23:17:26.0875794Z       ],
2026-06-05T23:17:26.0875948Z       "stages": {
2026-06-05T23:17:26.0876104Z         "doc": {
2026-06-05T23:17:26.0876285Z           "complete": false,
2026-06-05T23:17:26.0876442Z           "evidence": []
2026-06-05T23:17:26.0876594Z         },
2026-06-05T23:17:26.0876741Z         "impl": {
2026-06-05T23:17:26.0876932Z           "complete": true,
2026-06-05T23:17:26.0877098Z           "evidence": [
2026-06-05T23:17:26.0877428Z             {
2026-06-05T23:17:26.0877720Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0877911Z               "line": 94
2026-06-05T23:17:26.0878081Z             },
2026-06-05T23:17:26.0878252Z             {
2026-06-05T23:17:26.0878515Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0878689Z               "line": 119
2026-06-05T23:17:26.0878856Z             },
2026-06-05T23:17:26.0879022Z             {
2026-06-05T23:17:26.0879332Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0879663Z               "line": 27
2026-06-05T23:17:26.0879814Z             },
2026-06-05T23:17:26.0879979Z             {
2026-06-05T23:17:26.0880239Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0880432Z               "line": 52
2026-06-05T23:17:26.0880610Z             },
2026-06-05T23:17:26.0880778Z             {
2026-06-05T23:17:26.0881040Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0887179Z               "line": 128
2026-06-05T23:17:26.0887449Z             },
2026-06-05T23:17:26.0887608Z             {
2026-06-05T23:17:26.0887889Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0888099Z               "line": 160
2026-06-05T23:17:26.0888253Z             },
2026-06-05T23:17:26.0888410Z             {
2026-06-05T23:17:26.0888653Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0888825Z               "line": 22
2026-06-05T23:17:26.0888969Z             },
2026-06-05T23:17:26.0889128Z             {
2026-06-05T23:17:26.0889626Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0889938Z               "line": 65
2026-06-05T23:17:26.0890101Z             },
2026-06-05T23:17:26.0890253Z             {
2026-06-05T23:17:26.0890519Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0890680Z               "line": 76
2026-06-05T23:17:26.0890840Z             },
2026-06-05T23:17:26.0891001Z             {
2026-06-05T23:17:26.0891243Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0891431Z               "line": 145
2026-06-05T23:17:26.0891581Z             },
2026-06-05T23:17:26.0892126Z             {
2026-06-05T23:17:26.0892376Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0892541Z               "line": 204
2026-06-05T23:17:26.0892697Z             },
2026-06-05T23:17:26.0892845Z             {
2026-06-05T23:17:26.0893090Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0893256Z               "line": 241
2026-06-05T23:17:26.0893410Z             },
2026-06-05T23:17:26.0893568Z             {
2026-06-05T23:17:26.0893807Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0893987Z               "line": 262
2026-06-05T23:17:26.0894133Z             },
2026-06-05T23:17:26.0894470Z             {
2026-06-05T23:17:26.0894731Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0894915Z               "line": 275
2026-06-05T23:17:26.0895080Z             },
2026-06-05T23:17:26.0895234Z             {
2026-06-05T23:17:26.0895471Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:26.0895660Z               "line": 185
2026-06-05T23:17:26.0895827Z             },
2026-06-05T23:17:26.0895982Z             {
2026-06-05T23:17:26.0896222Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:26.0896396Z               "line": 201
2026-06-05T23:17:26.0896545Z             },
2026-06-05T23:17:26.0896713Z             {
2026-06-05T23:17:26.0896954Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:26.0897122Z               "line": 41
2026-06-05T23:17:26.0897275Z             },
2026-06-05T23:17:26.0897434Z             {
2026-06-05T23:17:26.0897681Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:26.0897859Z               "line": 204
2026-06-05T23:17:26.0898015Z             },
2026-06-05T23:17:26.0898161Z             {
2026-06-05T23:17:26.0898391Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T23:17:26.0898563Z               "line": 142
2026-06-05T23:17:26.0898746Z             },
2026-06-05T23:17:26.0898911Z             {
2026-06-05T23:17:26.0899127Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:26.0899544Z               "line": 283
2026-06-05T23:17:26.0899713Z             },
2026-06-05T23:17:26.0899877Z             {
2026-06-05T23:17:26.0900086Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T23:17:26.0900270Z               "line": 314
2026-06-05T23:17:26.0900441Z             },
2026-06-05T23:17:26.0900595Z             {
2026-06-05T23:17:26.0900847Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0901016Z               "line": 255
2026-06-05T23:17:26.0901181Z             },
2026-06-05T23:17:26.0901353Z             {
2026-06-05T23:17:26.0901571Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0901749Z               "line": 1997
2026-06-05T23:17:26.0901908Z             },
2026-06-05T23:17:26.0902069Z             {
2026-06-05T23:17:26.0902276Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0902477Z               "line": 2134
2026-06-05T23:17:26.0902646Z             },
2026-06-05T23:17:26.0902799Z             {
2026-06-05T23:17:26.0903015Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0903259Z               "line": 2166
2026-06-05T23:17:26.0903444Z             }
2026-06-05T23:17:26.0903615Z           ]
2026-06-05T23:17:26.0903797Z         },
2026-06-05T23:17:26.0903992Z         "int": {
2026-06-05T23:17:26.0904195Z           "complete": true,
2026-06-05T23:17:26.0904392Z           "evidence": [
2026-06-05T23:17:26.0904563Z             {
2026-06-05T23:17:26.0904848Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0905038Z               "line": 640
2026-06-05T23:17:26.0905207Z             },
2026-06-05T23:17:26.0905382Z             {
2026-06-05T23:17:26.0905672Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-05T23:17:26.0905887Z               "line": 8
2026-06-05T23:17:26.0906052Z             },
2026-06-05T23:17:26.0906533Z             {
2026-06-05T23:17:26.0906812Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-05T23:17:26.0907002Z               "line": 46
2026-06-05T23:17:26.0907181Z             },
2026-06-05T23:17:26.0907354Z             {
2026-06-05T23:17:26.0907625Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0907798Z               "line": 661
2026-06-05T23:17:26.0907971Z             },
2026-06-05T23:17:26.0908133Z             {
2026-06-05T23:17:26.0908392Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0908581Z               "line": 1002
2026-06-05T23:17:26.0908748Z             },
2026-06-05T23:17:26.0909138Z             {
2026-06-05T23:17:26.0909523Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-05T23:17:26.0909887Z               "line": 17
2026-06-05T23:17:26.0910047Z             },
2026-06-05T23:17:26.0910210Z             {
2026-06-05T23:17:26.0910444Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-05T23:17:26.0910638Z               "line": 14
2026-06-05T23:17:26.0910801Z             }
2026-06-05T23:17:26.0910960Z           ]
2026-06-05T23:17:26.0911125Z         },
2026-06-05T23:17:26.0911284Z         "unit": {
2026-06-05T23:17:26.0911468Z           "complete": true,
2026-06-05T23:17:26.0911650Z           "evidence": [
2026-06-05T23:17:26.0911802Z             {
2026-06-05T23:17:26.0912059Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0912227Z               "line": 227
2026-06-05T23:17:26.0912388Z             },
2026-06-05T23:17:26.0912540Z             {
2026-06-05T23:17:26.0912812Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0912991Z               "line": 254
2026-06-05T23:17:26.0913142Z             },
2026-06-05T23:17:26.0913304Z             {
2026-06-05T23:17:26.0913547Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0913724Z               "line": 278
2026-06-05T23:17:26.0913887Z             },
2026-06-05T23:17:26.0914047Z             {
2026-06-05T23:17:26.0914293Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0914458Z               "line": 505
2026-06-05T23:17:26.0914614Z             },
2026-06-05T23:17:26.0914769Z             {
2026-06-05T23:17:26.0915020Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0915195Z               "line": 569
2026-06-05T23:17:26.0915342Z             },
2026-06-05T23:17:26.0915502Z             {
2026-06-05T23:17:26.0915730Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0915899Z               "line": 698
2026-06-05T23:17:26.0916060Z             },
2026-06-05T23:17:26.0916222Z             {
2026-06-05T23:17:26.0916454Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:26.0916630Z               "line": 524
2026-06-05T23:17:26.0916785Z             },
2026-06-05T23:17:26.0916933Z             {
2026-06-05T23:17:26.0917197Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T23:17:26.0917358Z               "line": 343
2026-06-05T23:17:26.0917511Z             },
2026-06-05T23:17:26.0917667Z             {
2026-06-05T23:17:26.0917862Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0918035Z               "line": 2942
2026-06-05T23:17:26.0918183Z             },
2026-06-05T23:17:26.0918341Z             {
2026-06-05T23:17:26.0918536Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0918708Z               "line": 3189
2026-06-05T23:17:26.0918869Z             },
2026-06-05T23:17:26.0919015Z             {
2026-06-05T23:17:26.0919530Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0925848Z               "line": 3502
2026-06-05T23:17:26.0926134Z             }
2026-06-05T23:17:26.0926287Z           ]
2026-06-05T23:17:26.0926443Z         }
2026-06-05T23:17:26.0926601Z       }
2026-06-05T23:17:26.0926750Z     },
2026-06-05T23:17:26.0926910Z     {
2026-06-05T23:17:26.0927521Z       "id": "REQ-SHELL-2",
2026-06-05T23:17:26.0931209Z       "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-05T23:17:26.0931417Z       "requiredStages": [
2026-06-05T23:17:26.0931571Z         "impl",
2026-06-05T23:17:26.0931729Z         "unit",
2026-06-05T23:17:26.0932091Z         "int"
2026-06-05T23:17:26.0932268Z       ],
2026-06-05T23:17:26.0932424Z       "stages": {
2026-06-05T23:17:26.0932584Z         "doc": {
2026-06-05T23:17:26.0932765Z           "complete": false,
2026-06-05T23:17:26.0932933Z           "evidence": []
2026-06-05T23:17:26.0933101Z         },
2026-06-05T23:17:26.0933296Z         "impl": {
2026-06-05T23:17:26.0933482Z           "complete": true,
2026-06-05T23:17:26.0933638Z           "evidence": [
2026-06-05T23:17:26.0933794Z             {
2026-06-05T23:17:26.0934033Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T23:17:26.0934202Z               "line": 158
2026-06-05T23:17:26.0934381Z             },
2026-06-05T23:17:26.0934537Z             {
2026-06-05T23:17:26.0934810Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T23:17:26.0934979Z               "line": 375
2026-06-05T23:17:26.0935141Z             },
2026-06-05T23:17:26.0935309Z             {
2026-06-05T23:17:26.0935553Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T23:17:26.0935731Z               "line": 243
2026-06-05T23:17:26.0935880Z             },
2026-06-05T23:17:26.0936040Z             {
2026-06-05T23:17:26.0936273Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:26.0936456Z               "line": 291
2026-06-05T23:17:26.0936633Z             },
2026-06-05T23:17:26.0936779Z             {
2026-06-05T23:17:26.0937024Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0937176Z               "line": 30
2026-06-05T23:17:26.0937335Z             },
2026-06-05T23:17:26.0937484Z             {
2026-06-05T23:17:26.0937726Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0937901Z               "line": 150
2026-06-05T23:17:26.0938054Z             },
2026-06-05T23:17:26.0938209Z             {
2026-06-05T23:17:26.0938431Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0938607Z               "line": 186
2026-06-05T23:17:26.0938789Z             },
2026-06-05T23:17:26.0938941Z             {
2026-06-05T23:17:26.0939254Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0939577Z               "line": 323
2026-06-05T23:17:26.0939759Z             },
2026-06-05T23:17:26.0939924Z             {
2026-06-05T23:17:26.0940330Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:26.0940510Z               "line": 339
2026-06-05T23:17:26.0940658Z             },
2026-06-05T23:17:26.0940825Z             {
2026-06-05T23:17:26.0941069Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T23:17:26.0941252Z               "line": 111
2026-06-05T23:17:26.0941401Z             },
2026-06-05T23:17:26.0941564Z             {
2026-06-05T23:17:26.0941811Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0941975Z               "line": 116
2026-06-05T23:17:26.0942132Z             },
2026-06-05T23:17:26.0942280Z             {
2026-06-05T23:17:26.0942538Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0942704Z               "line": 348
2026-06-05T23:17:26.0942860Z             },
2026-06-05T23:17:26.0943022Z             {
2026-06-05T23:17:26.0943266Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0943708Z               "line": 453
2026-06-05T23:17:26.0943866Z             },
2026-06-05T23:17:26.0944031Z             {
2026-06-05T23:17:26.0944270Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0944449Z               "line": 24
2026-06-05T23:17:26.0944607Z             },
2026-06-05T23:17:26.0944761Z             {
2026-06-05T23:17:26.0945010Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0945177Z               "line": 72
2026-06-05T23:17:26.0945335Z             },
2026-06-05T23:17:26.0945489Z             {
2026-06-05T23:17:26.0945746Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0946102Z               "line": 150
2026-06-05T23:17:26.0946287Z             },
2026-06-05T23:17:26.0946451Z             {
2026-06-05T23:17:26.0946688Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0946862Z               "line": 173
2026-06-05T23:17:26.0947024Z             },
2026-06-05T23:17:26.0947191Z             {
2026-06-05T23:17:26.0947440Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0947600Z               "line": 266
2026-06-05T23:17:26.0947764Z             },
2026-06-05T23:17:26.0947913Z             {
2026-06-05T23:17:26.0948155Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0948328Z               "line": 438
2026-06-05T23:17:26.0948476Z             },
2026-06-05T23:17:26.0948637Z             {
2026-06-05T23:17:26.0948875Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0949057Z               "line": 513
2026-06-05T23:17:26.0949292Z             },
2026-06-05T23:17:26.0949490Z             {
2026-06-05T23:17:26.0949762Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-05T23:17:26.0949928Z               "line": 27
2026-06-05T23:17:26.0950093Z             },
2026-06-05T23:17:26.0950239Z             {
2026-06-05T23:17:26.0950493Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-05T23:17:26.0950676Z               "line": 43
2026-06-05T23:17:26.0950840Z             },
2026-06-05T23:17:26.0951004Z             {
2026-06-05T23:17:26.0951238Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.0951422Z               "line": 313
2026-06-05T23:17:26.0951574Z             },
2026-06-05T23:17:26.0951735Z             {
2026-06-05T23:17:26.0951934Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0952111Z               "line": 881
2026-06-05T23:17:26.0952279Z             },
2026-06-05T23:17:26.0952427Z             {
2026-06-05T23:17:26.0952644Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0952820Z               "line": 2006
2026-06-05T23:17:26.0952985Z             },
2026-06-05T23:17:26.0953132Z             {
2026-06-05T23:17:26.0953334Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0953511Z               "line": 2067
2026-06-05T23:17:26.0953658Z             },
2026-06-05T23:17:26.0953815Z             {
2026-06-05T23:17:26.0954021Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0954201Z               "line": 2095
2026-06-05T23:17:26.0954348Z             },
2026-06-05T23:17:26.0954509Z             {
2026-06-05T23:17:26.0954708Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0954871Z               "line": 2141
2026-06-05T23:17:26.0955028Z             },
2026-06-05T23:17:26.0955176Z             {
2026-06-05T23:17:26.0955379Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0955545Z               "line": 2249
2026-06-05T23:17:26.0955708Z             },
2026-06-05T23:17:26.0955862Z             {
2026-06-05T23:17:26.0956074Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0956251Z               "line": 2307
2026-06-05T23:17:26.0956395Z             },
2026-06-05T23:17:26.0956552Z             {
2026-06-05T23:17:26.0956756Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0956926Z               "line": 268
2026-06-05T23:17:26.0957359Z             },
2026-06-05T23:17:26.0957511Z             {
2026-06-05T23:17:26.0957735Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T23:17:26.0957902Z               "line": 301
2026-06-05T23:17:26.0958058Z             }
2026-06-05T23:17:26.0958216Z           ]
2026-06-05T23:17:26.0958370Z         },
2026-06-05T23:17:26.0958534Z         "int": {
2026-06-05T23:17:26.0958699Z           "complete": true,
2026-06-05T23:17:26.0958867Z           "evidence": [
2026-06-05T23:17:26.0959011Z             {
2026-06-05T23:17:26.0959354Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.0959532Z               "line": 633
2026-06-05T23:17:26.0959836Z             },
2026-06-05T23:17:26.0960020Z             {
2026-06-05T23:17:26.0960269Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0960451Z               "line": 661
2026-06-05T23:17:26.0966768Z             },
2026-06-05T23:17:26.0967084Z             {
2026-06-05T23:17:26.0967416Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.0967578Z               "line": 1002
2026-06-05T23:17:26.0967737Z             },
2026-06-05T23:17:26.0967888Z             {
2026-06-05T23:17:26.0968156Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-05T23:17:26.0968318Z               "line": 18
2026-06-05T23:17:26.0968473Z             }
2026-06-05T23:17:26.0968624Z           ]
2026-06-05T23:17:26.0968771Z         },
2026-06-05T23:17:26.0968940Z         "unit": {
2026-06-05T23:17:26.0969111Z           "complete": true,
2026-06-05T23:17:26.0969358Z           "evidence": [
2026-06-05T23:17:26.0969507Z             {
2026-06-05T23:17:26.0969783Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-05T23:17:26.0969958Z               "line": 401
2026-06-05T23:17:26.0970107Z             },
2026-06-05T23:17:26.0970263Z             {
2026-06-05T23:17:26.0970497Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T23:17:26.0970678Z               "line": 687
2026-06-05T23:17:26.0970823Z             },
2026-06-05T23:17:26.0970983Z             {
2026-06-05T23:17:26.0971229Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0971390Z               "line": 600
2026-06-05T23:17:26.0971545Z             },
2026-06-05T23:17:26.0971692Z             {
2026-06-05T23:17:26.0971937Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0972096Z               "line": 640
2026-06-05T23:17:26.0972254Z             },
2026-06-05T23:17:26.0972406Z             {
2026-06-05T23:17:26.0972640Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T23:17:26.0972823Z               "line": 663
2026-06-05T23:17:26.0972974Z             },
2026-06-05T23:17:26.0973140Z             {
2026-06-05T23:17:26.0973377Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0973551Z               "line": 569
2026-06-05T23:17:26.0973711Z             },
2026-06-05T23:17:26.0973877Z             {
2026-06-05T23:17:26.0974123Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0974284Z               "line": 582
2026-06-05T23:17:26.0974442Z             },
2026-06-05T23:17:26.0974597Z             {
2026-06-05T23:17:26.0974843Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0975018Z               "line": 603
2026-06-05T23:17:26.0975169Z             },
2026-06-05T23:17:26.0975330Z             {
2026-06-05T23:17:26.0975576Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0975752Z               "line": 648
2026-06-05T23:17:26.0975912Z             },
2026-06-05T23:17:26.0976068Z             {
2026-06-05T23:17:26.0976316Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0976484Z               "line": 663
2026-06-05T23:17:26.0976652Z             },
2026-06-05T23:17:26.0976799Z             {
2026-06-05T23:17:26.0977050Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0977695Z               "line": 690
2026-06-05T23:17:26.0977847Z             },
2026-06-05T23:17:26.0978012Z             {
2026-06-05T23:17:26.0978252Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T23:17:26.0978433Z               "line": 761
2026-06-05T23:17:26.0978583Z             },
2026-06-05T23:17:26.0978743Z             {
2026-06-05T23:17:26.0979000Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-05T23:17:26.0979216Z               "line": 74
2026-06-05T23:17:26.0979538Z             },
2026-06-05T23:17:26.0979713Z             {
2026-06-05T23:17:26.0979958Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0980467Z               "line": 2662
2026-06-05T23:17:26.0980656Z             },
2026-06-05T23:17:26.0980820Z             {
2026-06-05T23:17:26.0981031Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0981205Z               "line": 2995
2026-06-05T23:17:26.0981361Z             },
2026-06-05T23:17:26.0981538Z             {
2026-06-05T23:17:26.0981742Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0981913Z               "line": 3053
2026-06-05T23:17:26.0982078Z             },
2026-06-05T23:17:26.0982232Z             {
2026-06-05T23:17:26.0982443Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.0982605Z               "line": 3079
2026-06-05T23:17:26.0982761Z             }
2026-06-05T23:17:26.0982908Z           ]
2026-06-05T23:17:26.0983066Z         }
2026-06-05T23:17:26.0983226Z       }
2026-06-05T23:17:26.0983380Z     },
2026-06-05T23:17:26.0983534Z     {
2026-06-05T23:17:26.0983710Z       "id": "REQ-START-1",
2026-06-05T23:17:26.0984129Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-05T23:17:26.0984308Z       "requiredStages": [
2026-06-05T23:17:26.0984478Z         "impl",
2026-06-05T23:17:26.0984652Z         "unit"
2026-06-05T23:17:26.0984803Z       ],
2026-06-05T23:17:26.0984968Z       "stages": {
2026-06-05T23:17:26.0985144Z         "doc": {
2026-06-05T23:17:26.0985335Z           "complete": false,
2026-06-05T23:17:26.0985502Z           "evidence": []
2026-06-05T23:17:26.0985675Z         },
2026-06-05T23:17:26.0985843Z         "impl": {
2026-06-05T23:17:26.0986012Z           "complete": true,
2026-06-05T23:17:26.0986186Z           "evidence": [
2026-06-05T23:17:26.0986338Z             {
2026-06-05T23:17:26.0986582Z               "path": "crates/spt-store/src/seed.rs",
2026-06-05T23:17:26.0986744Z               "line": 16
2026-06-05T23:17:26.0986912Z             }
2026-06-05T23:17:26.0987073Z           ]
2026-06-05T23:17:26.0987223Z         },
2026-06-05T23:17:26.0987385Z         "int": {
2026-06-05T23:17:26.0987576Z           "complete": false,
2026-06-05T23:17:26.0987760Z           "evidence": []
2026-06-05T23:17:26.0987915Z         },
2026-06-05T23:17:26.0988083Z         "unit": {
2026-06-05T23:17:26.0988264Z           "complete": true,
2026-06-05T23:17:26.0988428Z           "evidence": [
2026-06-05T23:17:26.0988604Z             {
2026-06-05T23:17:26.0988836Z               "path": "crates/spt-store/src/seed.rs",
2026-06-05T23:17:26.0989009Z               "line": 43
2026-06-05T23:17:26.0989245Z             },
2026-06-05T23:17:26.0989579Z             {
2026-06-05T23:17:26.0989840Z               "path": "crates/spt-store/src/seed.rs",
2026-06-05T23:17:26.0990146Z               "line": 59
2026-06-05T23:17:26.0990304Z             }
2026-06-05T23:17:26.0990455Z           ]
2026-06-05T23:17:26.0990615Z         }
2026-06-05T23:17:26.0990760Z       }
2026-06-05T23:17:26.0990914Z     },
2026-06-05T23:17:26.0991078Z     {
2026-06-05T23:17:26.0991248Z       "id": "REQ-START-2",
2026-06-05T23:17:26.0991553Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-05T23:17:26.0991728Z       "requiredStages": [
2026-06-05T23:17:26.0991890Z         "impl",
2026-06-05T23:17:26.0992038Z         "unit",
2026-06-05T23:17:26.0992201Z         "int"
2026-06-05T23:17:26.0992358Z       ],
2026-06-05T23:17:26.0992518Z       "stages": {
2026-06-05T23:17:26.0992966Z         "doc": {
2026-06-05T23:17:26.0993151Z           "complete": false,
2026-06-05T23:17:26.0993326Z           "evidence": []
2026-06-05T23:17:26.0993473Z         },
2026-06-05T23:17:26.0993641Z         "impl": {
2026-06-05T23:17:26.0993825Z           "complete": true,
2026-06-05T23:17:26.0993984Z           "evidence": [
2026-06-05T23:17:26.0994149Z             {
2026-06-05T23:17:26.0994373Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0994545Z               "line": 16
2026-06-05T23:17:26.0994692Z             },
2026-06-05T23:17:26.0994852Z             {
2026-06-05T23:17:26.0995248Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0995434Z               "line": 97
2026-06-05T23:17:26.0995595Z             },
2026-06-05T23:17:26.0995749Z             {
2026-06-05T23:17:26.0995985Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.0996161Z               "line": 203
2026-06-05T23:17:26.0996332Z             }
2026-06-05T23:17:26.0996511Z           ]
2026-06-05T23:17:26.0996664Z         },
2026-06-05T23:17:26.0996830Z         "int": {
2026-06-05T23:17:26.0997006Z           "complete": true,
2026-06-05T23:17:26.0997178Z           "evidence": [
2026-06-05T23:17:26.0997331Z             {
2026-06-05T23:17:26.0997576Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:26.0997747Z               "line": 150
2026-06-05T23:17:26.1004380Z             }
2026-06-05T23:17:26.1004664Z           ]
2026-06-05T23:17:26.1004815Z         },
2026-06-05T23:17:26.1004984Z         "unit": {
2026-06-05T23:17:26.1005159Z           "complete": true,
2026-06-05T23:17:26.1005369Z           "evidence": [
2026-06-05T23:17:26.1005528Z             {
2026-06-05T23:17:26.1005761Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1005934Z               "line": 411
2026-06-05T23:17:26.1006080Z             },
2026-06-05T23:17:26.1006235Z             {
2026-06-05T23:17:26.1006458Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1006645Z               "line": 444
2026-06-05T23:17:26.1006800Z             }
2026-06-05T23:17:26.1006942Z           ]
2026-06-05T23:17:26.1007101Z         }
2026-06-05T23:17:26.1007248Z       }
2026-06-05T23:17:26.1007403Z     },
2026-06-05T23:17:26.1007550Z     {
2026-06-05T23:17:26.1007727Z       "id": "REQ-START-3",
2026-06-05T23:17:26.1008080Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-05T23:17:26.1008249Z       "requiredStages": [
2026-06-05T23:17:26.1008413Z         "impl",
2026-06-05T23:17:26.1008559Z         "unit",
2026-06-05T23:17:26.1008718Z         "int"
2026-06-05T23:17:26.1008873Z       ],
2026-06-05T23:17:26.1009035Z       "stages": {
2026-06-05T23:17:26.1009451Z         "doc": {
2026-06-05T23:17:26.1009648Z           "complete": false,
2026-06-05T23:17:26.1009963Z           "evidence": []
2026-06-05T23:17:26.1010110Z         },
2026-06-05T23:17:26.1010278Z         "impl": {
2026-06-05T23:17:26.1010462Z           "complete": true,
2026-06-05T23:17:26.1010637Z           "evidence": [
2026-06-05T23:17:26.1010798Z             {
2026-06-05T23:17:26.1011042Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T23:17:26.1011217Z               "line": 23
2026-06-05T23:17:26.1011392Z             },
2026-06-05T23:17:26.1011568Z             {
2026-06-05T23:17:26.1011807Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T23:17:26.1011994Z               "line": 167
2026-06-05T23:17:26.1012166Z             },
2026-06-05T23:17:26.1012312Z             {
2026-06-05T23:17:26.1012561Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T23:17:26.1012738Z               "line": 180
2026-06-05T23:17:26.1012902Z             },
2026-06-05T23:17:26.1013051Z             {
2026-06-05T23:17:26.1013280Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1013454Z               "line": 17
2026-06-05T23:17:26.1013619Z             },
2026-06-05T23:17:26.1014157Z             {
2026-06-05T23:17:26.1014395Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1014572Z               "line": 43
2026-06-05T23:17:26.1014726Z             },
2026-06-05T23:17:26.1014892Z             {
2026-06-05T23:17:26.1015134Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1015295Z               "line": 98
2026-06-05T23:17:26.1015448Z             }
2026-06-05T23:17:26.1015594Z           ]
2026-06-05T23:17:26.1015758Z         },
2026-06-05T23:17:26.1015907Z         "int": {
2026-06-05T23:17:26.1016092Z           "complete": true,
2026-06-05T23:17:26.1016268Z           "evidence": [
2026-06-05T23:17:26.1016594Z             {
2026-06-05T23:17:26.1016865Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T23:17:26.1017029Z               "line": 321
2026-06-05T23:17:26.1017194Z             }
2026-06-05T23:17:26.1017339Z           ]
2026-06-05T23:17:26.1017496Z         },
2026-06-05T23:17:26.1017663Z         "unit": {
2026-06-05T23:17:26.1017850Z           "complete": true,
2026-06-05T23:17:26.1018024Z           "evidence": [
2026-06-05T23:17:26.1018172Z             {
2026-06-05T23:17:26.1018425Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T23:17:26.1018594Z               "line": 245
2026-06-05T23:17:26.1018768Z             },
2026-06-05T23:17:26.1018955Z             {
2026-06-05T23:17:26.1019268Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T23:17:26.1019629Z               "line": 263
2026-06-05T23:17:26.1019925Z             },
2026-06-05T23:17:26.1020087Z             {
2026-06-05T23:17:26.1020331Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T23:17:26.1020526Z               "line": 273
2026-06-05T23:17:26.1020698Z             },
2026-06-05T23:17:26.1020853Z             {
2026-06-05T23:17:26.1021089Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1021262Z               "line": 412
2026-06-05T23:17:26.1021422Z             },
2026-06-05T23:17:26.1021588Z             {
2026-06-05T23:17:26.1021818Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1021985Z               "line": 445
2026-06-05T23:17:26.1022136Z             },
2026-06-05T23:17:26.1022290Z             {
2026-06-05T23:17:26.1022508Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T23:17:26.1022684Z               "line": 453
2026-06-05T23:17:26.1022846Z             }
2026-06-05T23:17:26.1022994Z           ]
2026-06-05T23:17:26.1023150Z         }
2026-06-05T23:17:26.1023298Z       }
2026-06-05T23:17:26.1023453Z     },
2026-06-05T23:17:26.1023600Z     {
2026-06-05T23:17:26.1023777Z       "id": "REQ-START-4",
2026-06-05T23:17:26.1024086Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-05T23:17:26.1024260Z       "requiredStages": [
2026-06-05T23:17:26.1024424Z         "impl",
2026-06-05T23:17:26.1024583Z         "unit"
2026-06-05T23:17:26.1024749Z       ],
2026-06-05T23:17:26.1024905Z       "stages": {
2026-06-05T23:17:26.1025081Z         "doc": {
2026-06-05T23:17:26.1025258Z           "complete": false,
2026-06-05T23:17:26.1025439Z           "evidence": []
2026-06-05T23:17:26.1025610Z         },
2026-06-05T23:17:26.1025772Z         "impl": {
2026-06-05T23:17:26.1025949Z           "complete": true,
2026-06-05T23:17:26.1026115Z           "evidence": [
2026-06-05T23:17:26.1026300Z             {
2026-06-05T23:17:26.1026551Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.1026738Z               "line": 378
2026-06-05T23:17:26.1026913Z             }
2026-06-05T23:17:26.1027072Z           ]
2026-06-05T23:17:26.1027241Z         },
2026-06-05T23:17:26.1027398Z         "int": {
2026-06-05T23:17:26.1027604Z           "complete": false,
2026-06-05T23:17:26.1027768Z           "evidence": []
2026-06-05T23:17:26.1027925Z         },
2026-06-05T23:17:26.1028090Z         "unit": {
2026-06-05T23:17:26.1028261Z           "complete": true,
2026-06-05T23:17:26.1028432Z           "evidence": [
2026-06-05T23:17:26.1028834Z             {
2026-06-05T23:17:26.1029084Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T23:17:26.1029465Z               "line": 609
2026-06-05T23:17:26.1029667Z             }
2026-06-05T23:17:26.1029868Z           ]
2026-06-05T23:17:26.1030167Z         }
2026-06-05T23:17:26.1030330Z       }
2026-06-05T23:17:26.1030479Z     },
2026-06-05T23:17:26.1030644Z     {
2026-06-05T23:17:26.1030818Z       "id": "REQ-STORE-1",
2026-06-05T23:17:26.1033021Z       "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-05T23:17:26.1033244Z       "requiredStages": [
2026-06-05T23:17:26.1033405Z         "impl",
2026-06-05T23:17:26.1033565Z         "unit"
2026-06-05T23:17:26.1033718Z       ],
2026-06-05T23:17:26.1033873Z       "stages": {
2026-06-05T23:17:26.1034047Z         "doc": {
2026-06-05T23:17:26.1034218Z           "complete": false,
2026-06-05T23:17:26.1034389Z           "evidence": []
2026-06-05T23:17:26.1034543Z         },
2026-06-05T23:17:26.1034711Z         "impl": {
2026-06-05T23:17:26.1034897Z           "complete": true,
2026-06-05T23:17:26.1035061Z           "evidence": [
2026-06-05T23:17:26.1035219Z             {
2026-06-05T23:17:26.1035475Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1035643Z               "line": 23
2026-06-05T23:17:26.1035788Z             },
2026-06-05T23:17:26.1035941Z             {
2026-06-05T23:17:26.1036213Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1036375Z               "line": 46
2026-06-05T23:17:26.1036528Z             },
2026-06-05T23:17:26.1036689Z             {
2026-06-05T23:17:26.1036952Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1037119Z               "line": 88
2026-06-05T23:17:26.1043666Z             },
2026-06-05T23:17:26.1043952Z             {
2026-06-05T23:17:26.1044221Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1044390Z               "line": 109
2026-06-05T23:17:26.1044534Z             },
2026-06-05T23:17:26.1044689Z             {
2026-06-05T23:17:26.1044928Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1045096Z               "line": 152
2026-06-05T23:17:26.1045248Z             },
2026-06-05T23:17:26.1045389Z             {
2026-06-05T23:17:26.1045631Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1045785Z               "line": 165
2026-06-05T23:17:26.1045971Z             },
2026-06-05T23:17:26.1046120Z             {
2026-06-05T23:17:26.1046372Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1046545Z               "line": 353
2026-06-05T23:17:26.1046696Z             },
2026-06-05T23:17:26.1046852Z             {
2026-06-05T23:17:26.1047104Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1047275Z               "line": 25
2026-06-05T23:17:26.1047425Z             },
2026-06-05T23:17:26.1047590Z             {
2026-06-05T23:17:26.1047852Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1048022Z               "line": 101
2026-06-05T23:17:26.1048192Z             },
2026-06-05T23:17:26.1048346Z             {
2026-06-05T23:17:26.1048605Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1048792Z               "line": 126
2026-06-05T23:17:26.1048943Z             },
2026-06-05T23:17:26.1049096Z             {
2026-06-05T23:17:26.1049433Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1049603Z               "line": 140
2026-06-05T23:17:26.1049750Z             },
2026-06-05T23:17:26.1049905Z             {
2026-06-05T23:17:26.1050154Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1050680Z               "line": 154
2026-06-05T23:17:26.1050845Z             },
2026-06-05T23:17:26.1050990Z             {
2026-06-05T23:17:26.1051242Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1051406Z               "line": 163
2026-06-05T23:17:26.1051569Z             },
2026-06-05T23:17:26.1051724Z             {
2026-06-05T23:17:26.1051954Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T23:17:26.1052124Z               "line": 16
2026-06-05T23:17:26.1052273Z             },
2026-06-05T23:17:26.1052429Z             {
2026-06-05T23:17:26.1052652Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T23:17:26.1052981Z               "line": 63
2026-06-05T23:17:26.1053156Z             }
2026-06-05T23:17:26.1053309Z           ]
2026-06-05T23:17:26.1053479Z         },
2026-06-05T23:17:26.1053632Z         "int": {
2026-06-05T23:17:26.1053808Z           "complete": false,
2026-06-05T23:17:26.1053973Z           "evidence": []
2026-06-05T23:17:26.1054136Z         },
2026-06-05T23:17:26.1054293Z         "unit": {
2026-06-05T23:17:26.1054463Z           "complete": true,
2026-06-05T23:17:26.1054635Z           "evidence": [
2026-06-05T23:17:26.1054783Z             {
2026-06-05T23:17:26.1055038Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1055197Z               "line": 468
2026-06-05T23:17:26.1055352Z             },
2026-06-05T23:17:26.1055506Z             {
2026-06-05T23:17:26.1055740Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1055905Z               "line": 478
2026-06-05T23:17:26.1056058Z             },
2026-06-05T23:17:26.1056220Z             {
2026-06-05T23:17:26.1056500Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1056682Z               "line": 498
2026-06-05T23:17:26.1056851Z             },
2026-06-05T23:17:26.1057002Z             {
2026-06-05T23:17:26.1057276Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1057465Z               "line": 514
2026-06-05T23:17:26.1057640Z             },
2026-06-05T23:17:26.1057799Z             {
2026-06-05T23:17:26.1058113Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T23:17:26.1058308Z               "line": 535
2026-06-05T23:17:26.1058465Z             },
2026-06-05T23:17:26.1058628Z             {
2026-06-05T23:17:26.1058880Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1059056Z               "line": 427
2026-06-05T23:17:26.1059270Z             },
2026-06-05T23:17:26.1059444Z             {
2026-06-05T23:17:26.1059704Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T23:17:26.1059890Z               "line": 457
2026-06-05T23:17:26.1060052Z             },
2026-06-05T23:17:26.1060206Z             {
2026-06-05T23:17:26.1060459Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T23:17:26.1060638Z               "line": 116
2026-06-05T23:17:26.1060794Z             },
2026-06-05T23:17:26.1060990Z             {
2026-06-05T23:17:26.1061237Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T23:17:26.1061406Z               "line": 124
2026-06-05T23:17:26.1061553Z             }
2026-06-05T23:17:26.1061714Z           ]
2026-06-05T23:17:26.1061877Z         }
2026-06-05T23:17:26.1062023Z       }
2026-06-05T23:17:26.1062184Z     },
2026-06-05T23:17:26.1062328Z     {
2026-06-05T23:17:26.1062507Z       "id": "REQ-TERM-1",
2026-06-05T23:17:26.1062867Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-05T23:17:26.1063062Z       "requiredStages": [
2026-06-05T23:17:26.1063228Z         "impl",
2026-06-05T23:17:26.1063398Z         "unit"
2026-06-05T23:17:26.1063576Z       ],
2026-06-05T23:17:26.1063745Z       "stages": {
2026-06-05T23:17:26.1063924Z         "doc": {
2026-06-05T23:17:26.1064101Z           "complete": false,
2026-06-05T23:17:26.1064280Z           "evidence": []
2026-06-05T23:17:26.1064444Z         },
2026-06-05T23:17:26.1064605Z         "impl": {
2026-06-05T23:17:26.1065063Z           "complete": true,
2026-06-05T23:17:26.1065231Z           "evidence": [
2026-06-05T23:17:26.1065397Z             {
2026-06-05T23:17:26.1065645Z               "path": "crates/spt-term/src/pty.rs",
2026-06-05T23:17:26.1065815Z               "line": 61
2026-06-05T23:17:26.1065984Z             },
2026-06-05T23:17:26.1066142Z             {
2026-06-05T23:17:26.1066375Z               "path": "crates/spt-term/src/pty.rs",
2026-06-05T23:17:26.1066541Z               "line": 169
2026-06-05T23:17:26.1066711Z             },
2026-06-05T23:17:26.1066867Z             {
2026-06-05T23:17:26.1067107Z               "path": "crates/spt-term/src/surface.rs",
2026-06-05T23:17:26.1067447Z               "line": 95
2026-06-05T23:17:26.1067635Z             }
2026-06-05T23:17:26.1067792Z           ]
2026-06-05T23:17:26.1067941Z         },
2026-06-05T23:17:26.1068103Z         "int": {
2026-06-05T23:17:26.1068273Z           "complete": false,
2026-06-05T23:17:26.1068452Z           "evidence": []
2026-06-05T23:17:26.1068621Z         },
2026-06-05T23:17:26.1068771Z         "unit": {
2026-06-05T23:17:26.1068949Z           "complete": true,
2026-06-05T23:17:26.1069113Z           "evidence": [
2026-06-05T23:17:26.1069494Z             {
2026-06-05T23:17:26.1069773Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-05T23:17:26.1069991Z               "line": 28
2026-06-05T23:17:26.1070300Z             },
2026-06-05T23:17:26.1070450Z             {
2026-06-05T23:17:26.1070702Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-05T23:17:26.1070866Z               "line": 60
2026-06-05T23:17:26.1071024Z             }
2026-06-05T23:17:26.1071172Z           ]
2026-06-05T23:17:26.1071352Z         }
2026-06-05T23:17:26.1071533Z       }
2026-06-05T23:17:26.1071710Z     },
2026-06-05T23:17:26.1071878Z     {
2026-06-05T23:17:26.1072047Z       "id": "REQ-TERM-2",
2026-06-05T23:17:26.1072437Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-05T23:17:26.1072649Z       "requiredStages": [
2026-06-05T23:17:26.1072818Z         "impl",
2026-06-05T23:17:26.1072983Z         "unit"
2026-06-05T23:17:26.1073139Z       ],
2026-06-05T23:17:26.1073316Z       "stages": {
2026-06-05T23:17:26.1073473Z         "doc": {
2026-06-05T23:17:26.1073656Z           "complete": false,
2026-06-05T23:17:26.1073818Z           "evidence": []
2026-06-05T23:17:26.1073982Z         },
2026-06-05T23:17:26.1074146Z         "impl": {
2026-06-05T23:17:26.1074324Z           "complete": true,
2026-06-05T23:17:26.1074492Z           "evidence": [
2026-06-05T23:17:26.1074641Z             {
2026-06-05T23:17:26.1081533Z               "path": "crates/spt-term/src/surface.rs",
2026-06-05T23:17:26.1081889Z               "line": 112
2026-06-05T23:17:26.1082056Z             },
2026-06-05T23:17:26.1082215Z             {
2026-06-05T23:17:26.1082452Z               "path": "crates/spt-term/src/surface.rs",
2026-06-05T23:17:26.1082627Z               "line": 122
2026-06-05T23:17:26.1082776Z             }
2026-06-05T23:17:26.1082947Z           ]
2026-06-05T23:17:26.1083095Z         },
2026-06-05T23:17:26.1083251Z         "int": {
2026-06-05T23:17:26.1083423Z           "complete": false,
2026-06-05T23:17:26.1083584Z           "evidence": []
2026-06-05T23:17:26.1083745Z         },
2026-06-05T23:17:26.1083894Z         "unit": {
2026-06-05T23:17:26.1084069Z           "complete": true,
2026-06-05T23:17:26.1084228Z           "evidence": [
2026-06-05T23:17:26.1084385Z             {
2026-06-05T23:17:26.1084626Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-05T23:17:26.1084790Z               "line": 46
2026-06-05T23:17:26.1084953Z             },
2026-06-05T23:17:26.1085100Z             {
2026-06-05T23:17:26.1085341Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-05T23:17:26.1085505Z               "line": 71
2026-06-05T23:17:26.1085666Z             }
2026-06-05T23:17:26.1085819Z           ]
2026-06-05T23:17:26.1085964Z         }
2026-06-05T23:17:26.1086122Z       }
2026-06-05T23:17:26.1086646Z     },
2026-06-05T23:17:26.1086800Z     {
2026-06-05T23:17:26.1086967Z       "id": "REQ-TERM-3",
2026-06-05T23:17:26.1087255Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-05T23:17:26.1087437Z       "requiredStages": [
2026-06-05T23:17:26.1087591Z         "impl",
2026-06-05T23:17:26.1087755Z         "unit"
2026-06-05T23:17:26.1087904Z       ],
2026-06-05T23:17:26.1088067Z       "stages": {
2026-06-05T23:17:26.1088214Z         "doc": {
2026-06-05T23:17:26.1088402Z           "complete": false,
2026-06-05T23:17:26.1088569Z           "evidence": []
2026-06-05T23:17:26.1088712Z         },
2026-06-05T23:17:26.1088875Z         "impl": {
2026-06-05T23:17:26.1089426Z           "complete": true,
2026-06-05T23:17:26.1089637Z           "evidence": [
2026-06-05T23:17:26.1089930Z             {
2026-06-05T23:17:26.1090161Z               "path": "crates/spt-term/src/stream.rs",
2026-06-05T23:17:26.1090336Z               "line": 71
2026-06-05T23:17:26.1090483Z             }
2026-06-05T23:17:26.1090652Z           ]
2026-06-05T23:17:26.1090804Z         },
2026-06-05T23:17:26.1090966Z         "int": {
2026-06-05T23:17:26.1091135Z           "complete": false,
2026-06-05T23:17:26.1091307Z           "evidence": []
2026-06-05T23:17:26.1091453Z         },
2026-06-05T23:17:26.1091619Z         "unit": {
2026-06-05T23:17:26.1091789Z           "complete": true,
2026-06-05T23:17:26.1091947Z           "evidence": [
2026-06-05T23:17:26.1092101Z             {
2026-06-05T23:17:26.1092331Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-05T23:17:26.1092499Z               "line": 37
2026-06-05T23:17:26.1092659Z             },
2026-06-05T23:17:26.1092815Z             {
2026-06-05T23:17:26.1093069Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-05T23:17:26.1093237Z               "line": 67
2026-06-05T23:17:26.1093393Z             }
2026-06-05T23:17:26.1093545Z           ]
2026-06-05T23:17:26.1093708Z         }
2026-06-05T23:17:26.1093859Z       }
2026-06-05T23:17:26.1094023Z     },
2026-06-05T23:17:26.1094201Z     {
2026-06-05T23:17:26.1094383Z       "id": "REQ-TERM-4",
2026-06-05T23:17:26.1095208Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-05T23:17:26.1095397Z       "requiredStages": [
2026-06-05T23:17:26.1095561Z         "impl",
2026-06-05T23:17:26.1095724Z         "unit",
2026-06-05T23:17:26.1095873Z         "int"
2026-06-05T23:17:26.1096033Z       ],
2026-06-05T23:17:26.1096187Z       "stages": {
2026-06-05T23:17:26.1096346Z         "doc": {
2026-06-05T23:17:26.1096518Z           "complete": true,
2026-06-05T23:17:26.1096690Z           "evidence": [
2026-06-05T23:17:26.1096872Z             {
2026-06-05T23:17:26.1097075Z               "path": "docs/MANIFEST.md",
2026-06-05T23:17:26.1097247Z               "line": 115
2026-06-05T23:17:26.1097402Z             }
2026-06-05T23:17:26.1097560Z           ]
2026-06-05T23:17:26.1097718Z         },
2026-06-05T23:17:26.1097887Z         "impl": {
2026-06-05T23:17:26.1098078Z           "complete": true,
2026-06-05T23:17:26.1098239Z           "evidence": [
2026-06-05T23:17:26.1098397Z             {
2026-06-05T23:17:26.1098636Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T23:17:26.1098813Z               "line": 463
2026-06-05T23:17:26.1098965Z             },
2026-06-05T23:17:26.1099122Z             {
2026-06-05T23:17:26.1099614Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1099936Z               "line": 41
2026-06-05T23:17:26.1100099Z             },
2026-06-05T23:17:26.1100259Z             {
2026-06-05T23:17:26.1100514Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1100694Z               "line": 91
2026-06-05T23:17:26.1100862Z             },
2026-06-05T23:17:26.1101025Z             {
2026-06-05T23:17:26.1101259Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1101439Z               "line": 152
2026-06-05T23:17:26.1101593Z             },
2026-06-05T23:17:26.1102078Z             {
2026-06-05T23:17:26.1102320Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1102505Z               "line": 212
2026-06-05T23:17:26.1102675Z             },
2026-06-05T23:17:26.1102826Z             {
2026-06-05T23:17:26.1103084Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1103245Z               "line": 20
2026-06-05T23:17:26.1103410Z             },
2026-06-05T23:17:26.1103560Z             {
2026-06-05T23:17:26.1103816Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1103994Z               "line": 212
2026-06-05T23:17:26.1104143Z             },
2026-06-05T23:17:26.1104511Z             {
2026-06-05T23:17:26.1104780Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1104958Z               "line": 226
2026-06-05T23:17:26.1105114Z             },
2026-06-05T23:17:26.1105276Z             {
2026-06-05T23:17:26.1105520Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.1105697Z               "line": 625
2026-06-05T23:17:26.1105858Z             },
2026-06-05T23:17:26.1106008Z             {
2026-06-05T23:17:26.1106237Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1106400Z               "line": 157
2026-06-05T23:17:26.1106568Z             },
2026-06-05T23:17:26.1106728Z             {
2026-06-05T23:17:26.1106955Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1107133Z               "line": 199
2026-06-05T23:17:26.1107287Z             },
2026-06-05T23:17:26.1107444Z             {
2026-06-05T23:17:26.1107682Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1107875Z               "line": 226
2026-06-05T23:17:26.1108048Z             },
2026-06-05T23:17:26.1108204Z             {
2026-06-05T23:17:26.1108418Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.1108577Z               "line": 534
2026-06-05T23:17:26.1108735Z             }
2026-06-05T23:17:26.1108921Z           ]
2026-06-05T23:17:26.1109082Z         },
2026-06-05T23:17:26.1109443Z         "int": {
2026-06-05T23:17:26.1109643Z           "complete": true,
2026-06-05T23:17:26.1109855Z           "evidence": [
2026-06-05T23:17:26.1110155Z             {
2026-06-05T23:17:26.1110418Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-05T23:17:26.1110593Z               "line": 18
2026-06-05T23:17:26.1110757Z             }
2026-06-05T23:17:26.1110914Z           ]
2026-06-05T23:17:26.1111061Z         },
2026-06-05T23:17:26.1111228Z         "unit": {
2026-06-05T23:17:26.1111401Z           "complete": true,
2026-06-05T23:17:26.1111590Z           "evidence": [
2026-06-05T23:17:26.1111736Z             {
2026-06-05T23:17:26.1111983Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1112157Z               "line": 250
2026-06-05T23:17:26.1112309Z             },
2026-06-05T23:17:26.1112473Z             {
2026-06-05T23:17:26.1112702Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1112892Z               "line": 263
2026-06-05T23:17:26.1119099Z             },
2026-06-05T23:17:26.1119464Z             {
2026-06-05T23:17:26.1119724Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1119882Z               "line": 275
2026-06-05T23:17:26.1120035Z             },
2026-06-05T23:17:26.1120178Z             {
2026-06-05T23:17:26.1120409Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1120571Z               "line": 290
2026-06-05T23:17:26.1120714Z             },
2026-06-05T23:17:26.1120865Z             {
2026-06-05T23:17:26.1121119Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1121291Z               "line": 305
2026-06-05T23:17:26.1121434Z             },
2026-06-05T23:17:26.1121587Z             {
2026-06-05T23:17:26.1121816Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1121970Z               "line": 327
2026-06-05T23:17:26.1122470Z             },
2026-06-05T23:17:26.1122613Z             {
2026-06-05T23:17:26.1122844Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1123002Z               "line": 337
2026-06-05T23:17:26.1123159Z             },
2026-06-05T23:17:26.1123314Z             {
2026-06-05T23:17:26.1123531Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T23:17:26.1123700Z               "line": 364
2026-06-05T23:17:26.1123850Z             },
2026-06-05T23:17:26.1124011Z             {
2026-06-05T23:17:26.1124250Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1124425Z               "line": 338
2026-06-05T23:17:26.1124726Z             },
2026-06-05T23:17:26.1124879Z             {
2026-06-05T23:17:26.1125119Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1125277Z               "line": 350
2026-06-05T23:17:26.1125435Z             },
2026-06-05T23:17:26.1125581Z             {
2026-06-05T23:17:26.1125818Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1126014Z               "line": 367
2026-06-05T23:17:26.1126160Z             },
2026-06-05T23:17:26.1126315Z             {
2026-06-05T23:17:26.1126536Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T23:17:26.1126703Z               "line": 378
2026-06-05T23:17:26.1126845Z             },
2026-06-05T23:17:26.1126997Z             {
2026-06-05T23:17:26.1127235Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.1127394Z               "line": 810
2026-06-05T23:17:26.1127549Z             },
2026-06-05T23:17:26.1127692Z             {
2026-06-05T23:17:26.1127939Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.1128109Z               "line": 817
2026-06-05T23:17:26.1128252Z             },
2026-06-05T23:17:26.1128402Z             {
2026-06-05T23:17:26.1128624Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.1128795Z               "line": 832
2026-06-05T23:17:26.1128951Z             },
2026-06-05T23:17:26.1129108Z             {
2026-06-05T23:17:26.1129446Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1129606Z               "line": 381
2026-06-05T23:17:26.1129757Z             },
2026-06-05T23:17:26.1129898Z             {
2026-06-05T23:17:26.1130119Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1130277Z               "line": 402
2026-06-05T23:17:26.1130432Z             },
2026-06-05T23:17:26.1130583Z             {
2026-06-05T23:17:26.1130794Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1130960Z               "line": 415
2026-06-05T23:17:26.1131112Z             },
2026-06-05T23:17:26.1131267Z             {
2026-06-05T23:17:26.1131476Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1131648Z               "line": 434
2026-06-05T23:17:26.1131809Z             },
2026-06-05T23:17:26.1131963Z             {
2026-06-05T23:17:26.1132194Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T23:17:26.1132355Z               "line": 461
2026-06-05T23:17:26.1132514Z             },
2026-06-05T23:17:26.1132665Z             {
2026-06-05T23:17:26.1132902Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-05T23:17:26.1133075Z               "line": 32
2026-06-05T23:17:26.1133219Z             },
2026-06-05T23:17:26.1133376Z             {
2026-06-05T23:17:26.1133569Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.1133735Z               "line": 3577
2026-06-05T23:17:26.1133875Z             }
2026-06-05T23:17:26.1134029Z           ]
2026-06-05T23:17:26.1134184Z         }
2026-06-05T23:17:26.1134338Z       }
2026-06-05T23:17:26.1134496Z     },
2026-06-05T23:17:26.1134644Z     {
2026-06-05T23:17:26.1134816Z       "id": "REQ-UPD-1",
2026-06-05T23:17:26.1135034Z       "title": "Peer-propagated update over P2P",
2026-06-05T23:17:26.1135209Z       "requiredStages": [
2026-06-05T23:17:26.1135365Z         "impl",
2026-06-05T23:17:26.1135717Z         "unit",
2026-06-05T23:17:26.1135876Z         "int"
2026-06-05T23:17:26.1136024Z       ],
2026-06-05T23:17:26.1136191Z       "stages": {
2026-06-05T23:17:26.1136344Z         "doc": {
2026-06-05T23:17:26.1136522Z           "complete": false,
2026-06-05T23:17:26.1136693Z           "evidence": []
2026-06-05T23:17:26.1136842Z         },
2026-06-05T23:17:26.1137007Z         "impl": {
2026-06-05T23:17:26.1137177Z           "complete": true,
2026-06-05T23:17:26.1137353Z           "evidence": [
2026-06-05T23:17:26.1137503Z             {
2026-06-05T23:17:26.1137753Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:26.1138080Z               "line": 28
2026-06-05T23:17:26.1138239Z             },
2026-06-05T23:17:26.1138391Z             {
2026-06-05T23:17:26.1138625Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:26.1138788Z               "line": 74
2026-06-05T23:17:26.1138936Z             },
2026-06-05T23:17:26.1139090Z             {
2026-06-05T23:17:26.1139416Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:26.1139573Z               "line": 209
2026-06-05T23:17:26.1139741Z             },
2026-06-05T23:17:26.1139897Z             {
2026-06-05T23:17:26.1140142Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T23:17:26.1140297Z               "line": 22
2026-06-05T23:17:26.1140450Z             },
2026-06-05T23:17:26.1140607Z             {
2026-06-05T23:17:26.1140835Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T23:17:26.1141008Z               "line": 67
2026-06-05T23:17:26.1141161Z             },
2026-06-05T23:17:26.1141324Z             {
2026-06-05T23:17:26.1141577Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T23:17:26.1141754Z               "line": 80
2026-06-05T23:17:26.1141910Z             },
2026-06-05T23:17:26.1142050Z             {
2026-06-05T23:17:26.1142286Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T23:17:26.1142466Z               "line": 101
2026-06-05T23:17:26.1142623Z             },
2026-06-05T23:17:26.1142766Z             {
2026-06-05T23:17:26.1142995Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T23:17:26.1143167Z               "line": 37
2026-06-05T23:17:26.1143319Z             }
2026-06-05T23:17:26.1143505Z           ]
2026-06-05T23:17:26.1143658Z         },
2026-06-05T23:17:26.1143827Z         "int": {
2026-06-05T23:17:26.1144020Z           "complete": true,
2026-06-05T23:17:26.1144227Z           "evidence": [
2026-06-05T23:17:26.1144373Z             {
2026-06-05T23:17:26.1144607Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T23:17:26.1144774Z               "line": 190
2026-06-05T23:17:26.1144907Z             },
2026-06-05T23:17:26.1145046Z             {
2026-06-05T23:17:26.1145275Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T23:17:26.1145411Z               "line": 898
2026-06-05T23:17:26.1145545Z             }
2026-06-05T23:17:26.1145688Z           ]
2026-06-05T23:17:26.1145827Z         },
2026-06-05T23:17:26.1145955Z         "unit": {
2026-06-05T23:17:26.1146119Z           "complete": true,
2026-06-05T23:17:26.1146266Z           "evidence": [
2026-06-05T23:17:26.1146388Z             {
2026-06-05T23:17:26.1146608Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T23:17:26.1146744Z               "line": 120
2026-06-05T23:17:26.1146875Z             },
2026-06-05T23:17:26.1146998Z             {
2026-06-05T23:17:26.1147215Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T23:17:26.1147360Z               "line": 137
2026-06-05T23:17:26.1147479Z             },
2026-06-05T23:17:26.1147621Z             {
2026-06-05T23:17:26.1147843Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T23:17:26.1147994Z               "line": 201
2026-06-05T23:17:26.1148113Z             },
2026-06-05T23:17:26.1154501Z             {
2026-06-05T23:17:26.1154783Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T23:17:26.1155256Z               "line": 92
2026-06-05T23:17:26.1155398Z             },
2026-06-05T23:17:26.1155521Z             {
2026-06-05T23:17:26.1155734Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T23:17:26.1155869Z               "line": 128
2026-06-05T23:17:26.1156000Z             }
2026-06-05T23:17:26.1156130Z           ]
2026-06-05T23:17:26.1156248Z         }
2026-06-05T23:17:26.1156382Z       }
2026-06-05T23:17:26.1156498Z     },
2026-06-05T23:17:26.1156625Z     {
2026-06-05T23:17:26.1156761Z       "id": "REQ-UPD-2",
2026-06-05T23:17:26.1157040Z       "title": "All binaries signature-verified before handoff",
2026-06-05T23:17:26.1157351Z       "requiredStages": [
2026-06-05T23:17:26.1157489Z         "impl",
2026-06-05T23:17:26.1157621Z         "unit"
2026-06-05T23:17:26.1157741Z       ],
2026-06-05T23:17:26.1157876Z       "stages": {
2026-06-05T23:17:26.1157999Z         "doc": {
2026-06-05T23:17:26.1158149Z           "complete": false,
2026-06-05T23:17:26.1158306Z           "evidence": []
2026-06-05T23:17:26.1158425Z         },
2026-06-05T23:17:26.1158562Z         "impl": {
2026-06-05T23:17:26.1158700Z           "complete": true,
2026-06-05T23:17:26.1158837Z           "evidence": [
2026-06-05T23:17:26.1158955Z             {
2026-06-05T23:17:26.1159262Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:26.1159577Z               "line": 210
2026-06-05T23:17:26.1159715Z             },
2026-06-05T23:17:26.1159989Z             {
2026-06-05T23:17:26.1160199Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T23:17:26.1160342Z               "line": 294
2026-06-05T23:17:26.1160483Z             },
2026-06-05T23:17:26.1160615Z             {
2026-06-05T23:17:26.1160829Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1160959Z               "line": 29
2026-06-05T23:17:26.1161091Z             },
2026-06-05T23:17:26.1161210Z             {
2026-06-05T23:17:26.1161428Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1161580Z               "line": 151
2026-06-05T23:17:26.1161714Z             },
2026-06-05T23:17:26.1161845Z             {
2026-06-05T23:17:26.1162041Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1162181Z               "line": 168
2026-06-05T23:17:26.1162299Z             },
2026-06-05T23:17:26.1162423Z             {
2026-06-05T23:17:26.1162615Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1162757Z               "line": 274
2026-06-05T23:17:26.1162889Z             },
2026-06-05T23:17:26.1163008Z             {
2026-06-05T23:17:26.1163218Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1163348Z               "line": 355
2026-06-05T23:17:26.1163475Z             },
2026-06-05T23:17:26.1163590Z             {
2026-06-05T23:17:26.1163805Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1163944Z               "line": 149
2026-06-05T23:17:26.1164073Z             }
2026-06-05T23:17:26.1164204Z           ]
2026-06-05T23:17:26.1164320Z         },
2026-06-05T23:17:26.1164453Z         "int": {
2026-06-05T23:17:26.1164592Z           "complete": false,
2026-06-05T23:17:26.1164742Z           "evidence": []
2026-06-05T23:17:26.1164868Z         },
2026-06-05T23:17:26.1164995Z         "unit": {
2026-06-05T23:17:26.1165150Z           "complete": true,
2026-06-05T23:17:26.1165281Z           "evidence": [
2026-06-05T23:17:26.1165416Z             {
2026-06-05T23:17:26.1165615Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1165762Z               "line": 440
2026-06-05T23:17:26.1165887Z             },
2026-06-05T23:17:26.1166014Z             {
2026-06-05T23:17:26.1166216Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1166348Z               "line": 485
2026-06-05T23:17:26.1166482Z             },
2026-06-05T23:17:26.1166611Z             {
2026-06-05T23:17:26.1166804Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1167192Z               "line": 499
2026-06-05T23:17:26.1167315Z             },
2026-06-05T23:17:26.1167457Z             {
2026-06-05T23:17:26.1167652Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1167793Z               "line": 510
2026-06-05T23:17:26.1167921Z             },
2026-06-05T23:17:26.1168049Z             {
2026-06-05T23:17:26.1168249Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1168378Z               "line": 586
2026-06-05T23:17:26.1168508Z             },
2026-06-05T23:17:26.1168630Z             {
2026-06-05T23:17:26.1168968Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1169125Z               "line": 331
2026-06-05T23:17:26.1169463Z             },
2026-06-05T23:17:26.1169619Z             {
2026-06-05T23:17:26.1169837Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1170117Z               "line": 344
2026-06-05T23:17:26.1170256Z             },
2026-06-05T23:17:26.1170384Z             {
2026-06-05T23:17:26.1170613Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T23:17:26.1170742Z               "line": 242
2026-06-05T23:17:26.1170870Z             }
2026-06-05T23:17:26.1170994Z           ]
2026-06-05T23:17:26.1171132Z         }
2026-06-05T23:17:26.1171255Z       }
2026-06-05T23:17:26.1171396Z     },
2026-06-05T23:17:26.1171527Z     {
2026-06-05T23:17:26.1171671Z       "id": "REQ-UPD-3",
2026-06-05T23:17:26.1172016Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-05T23:17:26.1172166Z       "requiredStages": [
2026-06-05T23:17:26.1172304Z         "impl",
2026-06-05T23:17:26.1172439Z         "unit",
2026-06-05T23:17:26.1172564Z         "int"
2026-06-05T23:17:26.1172690Z       ],
2026-06-05T23:17:26.1172813Z       "stages": {
2026-06-05T23:17:26.1172945Z         "doc": {
2026-06-05T23:17:26.1173088Z           "complete": false,
2026-06-05T23:17:26.1173229Z           "evidence": []
2026-06-05T23:17:26.1173362Z         },
2026-06-05T23:17:26.1173509Z         "impl": {
2026-06-05T23:17:26.1173666Z           "complete": true,
2026-06-05T23:17:26.1173802Z           "evidence": [
2026-06-05T23:17:26.1173932Z             {
2026-06-05T23:17:26.1174153Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1174294Z               "line": 39
2026-06-05T23:17:26.1174408Z             },
2026-06-05T23:17:26.1174538Z             {
2026-06-05T23:17:26.1174766Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1174904Z               "line": 69
2026-06-05T23:17:26.1175037Z             },
2026-06-05T23:17:26.1175171Z             {
2026-06-05T23:17:26.1175384Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1175520Z               "line": 26
2026-06-05T23:17:26.1175648Z             },
2026-06-05T23:17:26.1175774Z             {
2026-06-05T23:17:26.1175977Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1176149Z               "line": 111
2026-06-05T23:17:26.1176279Z             },
2026-06-05T23:17:26.1176414Z             {
2026-06-05T23:17:26.1176619Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1176764Z               "line": 218
2026-06-05T23:17:26.1176899Z             },
2026-06-05T23:17:26.1177017Z             {
2026-06-05T23:17:26.1177197Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.1177334Z               "line": 1092
2026-06-05T23:17:26.1177465Z             }
2026-06-05T23:17:26.1177588Z           ]
2026-06-05T23:17:26.1177728Z         },
2026-06-05T23:17:26.1177870Z         "int": {
2026-06-05T23:17:26.1178031Z           "complete": true,
2026-06-05T23:17:26.1178181Z           "evidence": [
2026-06-05T23:17:26.1178303Z             {
2026-06-05T23:17:26.1178538Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-05T23:17:26.1178675Z               "line": 23
2026-06-05T23:17:26.1178807Z             }
2026-06-05T23:17:26.1179246Z           ]
2026-06-05T23:17:26.1179523Z         },
2026-06-05T23:17:26.1179678Z         "unit": {
2026-06-05T23:17:26.1179971Z           "complete": true,
2026-06-05T23:17:26.1180117Z           "evidence": [
2026-06-05T23:17:26.1180237Z             {
2026-06-05T23:17:26.1180465Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1180619Z               "line": 276
2026-06-05T23:17:26.1180745Z             },
2026-06-05T23:17:26.1186908Z             {
2026-06-05T23:17:26.1187236Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1187382Z               "line": 243
2026-06-05T23:17:26.1187503Z             },
2026-06-05T23:17:26.1188074Z             {
2026-06-05T23:17:26.1188318Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1188452Z               "line": 267
2026-06-05T23:17:26.1188587Z             },
2026-06-05T23:17:26.1188718Z             {
2026-06-05T23:17:26.1188934Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1189090Z               "line": 278
2026-06-05T23:17:26.1189458Z             },
2026-06-05T23:17:26.1189607Z             {
2026-06-05T23:17:26.1189950Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T23:17:26.1190095Z               "line": 291
2026-06-05T23:17:26.1190216Z             }
2026-06-05T23:17:26.1190353Z           ]
2026-06-05T23:17:26.1190472Z         }
2026-06-05T23:17:26.1190604Z       }
2026-06-05T23:17:26.1190734Z     },
2026-06-05T23:17:26.1190850Z     {
2026-06-05T23:17:26.1191006Z       "id": "REQ-UPD-4",
2026-06-05T23:17:26.1191351Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-05T23:17:26.1191525Z       "requiredStages": [
2026-06-05T23:17:26.1191662Z         "impl",
2026-06-05T23:17:26.1191785Z         "unit"
2026-06-05T23:17:26.1191920Z       ],
2026-06-05T23:17:26.1192045Z       "stages": {
2026-06-05T23:17:26.1192176Z         "doc": {
2026-06-05T23:17:26.1192314Z           "complete": false,
2026-06-05T23:17:26.1192476Z           "evidence": []
2026-06-05T23:17:26.1192600Z         },
2026-06-05T23:17:26.1192736Z         "impl": {
2026-06-05T23:17:26.1192883Z           "complete": true,
2026-06-05T23:17:26.1193010Z           "evidence": [
2026-06-05T23:17:26.1193137Z             {
2026-06-05T23:17:26.1193352Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1193490Z               "line": 40
2026-06-05T23:17:26.1193610Z             },
2026-06-05T23:17:26.1193741Z             {
2026-06-05T23:17:26.1193959Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1194089Z               "line": 70
2026-06-05T23:17:26.1194238Z             },
2026-06-05T23:17:26.1194364Z             {
2026-06-05T23:17:26.1194584Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T23:17:26.1194726Z               "line": 23
2026-06-05T23:17:26.1194844Z             },
2026-06-05T23:17:26.1194972Z             {
2026-06-05T23:17:26.1195165Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T23:17:26.1195316Z               "line": 56
2026-06-05T23:17:26.1195436Z             },
2026-06-05T23:17:26.1195562Z             {
2026-06-05T23:17:26.1195770Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T23:17:26.1195902Z               "line": 77
2026-06-05T23:17:26.1196033Z             },
2026-06-05T23:17:26.1196151Z             {
2026-06-05T23:17:26.1196357Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T23:17:26.1196489Z               "line": 179
2026-06-05T23:17:26.1196636Z             },
2026-06-05T23:17:26.1196764Z             {
2026-06-05T23:17:26.1196974Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T23:17:26.1197125Z               "line": 98
2026-06-05T23:17:26.1197257Z             },
2026-06-05T23:17:26.1197390Z             {
2026-06-05T23:17:26.1197578Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:26.1197721Z               "line": 167
2026-06-05T23:17:26.1198099Z             },
2026-06-05T23:17:26.1198223Z             {
2026-06-05T23:17:26.1198420Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.1198554Z               "line": 1091
2026-06-05T23:17:26.1198691Z             }
2026-06-05T23:17:26.1198824Z           ]
2026-06-05T23:17:26.1198964Z         },
2026-06-05T23:17:26.1199102Z         "int": {
2026-06-05T23:17:26.1199325Z           "complete": false,
2026-06-05T23:17:26.1199665Z           "evidence": []
2026-06-05T23:17:26.1199820Z         },
2026-06-05T23:17:26.1199998Z         "unit": {
2026-06-05T23:17:26.1200296Z           "complete": true,
2026-06-05T23:17:26.1200449Z           "evidence": [
2026-06-05T23:17:26.1200760Z             {
2026-06-05T23:17:26.1201008Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1201167Z               "line": 272
2026-06-05T23:17:26.1201291Z             },
2026-06-05T23:17:26.1201428Z             {
2026-06-05T23:17:26.1201644Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-05T23:17:26.1201815Z               "line": 306
2026-06-05T23:17:26.1201952Z             },
2026-06-05T23:17:26.1202073Z             {
2026-06-05T23:17:26.1202280Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T23:17:26.1202417Z               "line": 322
2026-06-05T23:17:26.1202551Z             },
2026-06-05T23:17:26.1202667Z             {
2026-06-05T23:17:26.1202886Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T23:17:26.1203030Z               "line": 102
2026-06-05T23:17:26.1203146Z             },
2026-06-05T23:17:26.1203275Z             {
2026-06-05T23:17:26.1203492Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T23:17:26.1203637Z               "line": 117
2026-06-05T23:17:26.1203758Z             },
2026-06-05T23:17:26.1203893Z             {
2026-06-05T23:17:26.1204100Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T23:17:26.1204236Z               "line": 136
2026-06-05T23:17:26.1204380Z             },
2026-06-05T23:17:26.1204504Z             {
2026-06-05T23:17:26.1204703Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T23:17:26.1204847Z               "line": 352
2026-06-05T23:17:26.1204967Z             },
2026-06-05T23:17:26.1205095Z             {
2026-06-05T23:17:26.1205294Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T23:17:26.1205444Z               "line": 495
2026-06-05T23:17:26.1205567Z             },
2026-06-05T23:17:26.1205701Z             {
2026-06-05T23:17:26.1205882Z               "path": "crates/spt/src/cli.rs",
2026-06-05T23:17:26.1206020Z               "line": 2698
2026-06-05T23:17:26.1206156Z             }
2026-06-05T23:17:26.1206300Z           ]
2026-06-05T23:17:26.1206436Z         }
2026-06-05T23:17:26.1206561Z       }
2026-06-05T23:17:26.1206696Z     },
2026-06-05T23:17:26.1206816Z     {
2026-06-05T23:17:26.1206974Z       "id": "REQ-UPD-5",
2026-06-05T23:17:26.1207243Z       "title": "spt-core ripple-updates registered adapters",
2026-06-05T23:17:26.1207402Z       "requiredStages": [
2026-06-05T23:17:26.1207538Z         "impl",
2026-06-05T23:17:26.1207659Z         "unit"
2026-06-05T23:17:26.1207791Z       ],
2026-06-05T23:17:26.1207915Z       "stages": {
2026-06-05T23:17:26.1208050Z         "doc": {
2026-06-05T23:17:26.1208204Z           "complete": false,
2026-06-05T23:17:26.1208340Z           "evidence": []
2026-06-05T23:17:26.1208471Z         },
2026-06-05T23:17:26.1208591Z         "impl": {
2026-06-05T23:17:26.1208739Z           "complete": true,
2026-06-05T23:17:26.1208869Z           "evidence": [
2026-06-05T23:17:26.1209003Z             {
2026-06-05T23:17:26.1209349Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1209664Z               "line": 27
2026-06-05T23:17:26.1209811Z             },
2026-06-05T23:17:26.1209939Z             {
2026-06-05T23:17:26.1210326Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1210482Z               "line": 82
2026-06-05T23:17:26.1210836Z             },
2026-06-05T23:17:26.1210967Z             {
2026-06-05T23:17:26.1211194Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1211346Z               "line": 134
2026-06-05T23:17:26.1211468Z             },
2026-06-05T23:17:26.1211603Z             {
2026-06-05T23:17:26.1211813Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1211948Z               "line": 314
2026-06-05T23:17:26.1212077Z             },
2026-06-05T23:17:26.1212200Z             {
2026-06-05T23:17:26.1212413Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T23:17:26.1212539Z               "line": 342
2026-06-05T23:17:26.1212801Z             }
2026-06-05T23:17:26.1212941Z           ]
2026-06-05T23:17:26.1213063Z         },
2026-06-05T23:17:26.1213201Z         "int": {
2026-06-05T23:17:26.1213343Z           "complete": false,
2026-06-05T23:17:26.1213490Z           "evidence": []
2026-06-05T23:17:26.1213613Z         },
2026-06-05T23:17:26.1213762Z         "unit": {
2026-06-05T23:17:26.1220273Z           "complete": true,
2026-06-05T23:17:26.1220517Z           "evidence": [
2026-06-05T23:17:26.1220650Z             {
2026-06-05T23:17:26.1220895Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1221041Z               "line": 216
2026-06-05T23:17:26.1221161Z             },
2026-06-05T23:17:26.1221290Z             {
2026-06-05T23:17:26.1221546Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1221680Z               "line": 230
2026-06-05T23:17:26.1221812Z             },
2026-06-05T23:17:26.1221936Z             {
2026-06-05T23:17:26.1222205Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1222345Z               "line": 244
2026-06-05T23:17:26.1222482Z             },
2026-06-05T23:17:26.1222616Z             {
2026-06-05T23:17:26.1222840Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1222978Z               "line": 258
2026-06-05T23:17:26.1223112Z             },
2026-06-05T23:17:26.1223235Z             {
2026-06-05T23:17:26.1223454Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T23:17:26.1223594Z               "line": 292
2026-06-05T23:17:26.1223716Z             },
2026-06-05T23:17:26.1223828Z             {
2026-06-05T23:17:26.1224034Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T23:17:26.1224157Z               "line": 780
2026-06-05T23:17:26.1224282Z             }
2026-06-05T23:17:26.1224395Z           ]
2026-06-05T23:17:26.1224522Z         }
2026-06-05T23:17:26.1224642Z       }
2026-06-05T23:17:26.1224754Z     }
2026-06-05T23:17:26.1224876Z   ],
2026-06-05T23:17:26.1225007Z   "findings": []
2026-06-05T23:17:26.1225143Z }
2026-06-05T23:17:26.1272803Z ##[group]Run ./traceable-reqs lint || true
2026-06-05T23:17:26.1273083Z [36;1m./traceable-reqs lint || true[0m
2026-06-05T23:17:26.1295228Z shell: /usr/bin/bash -e {0}
2026-06-05T23:17:26.1295382Z ##[endgroup]
2026-06-05T23:17:26.1552282Z Requirement quality findings (24); 139 requirements queued for agent review:
2026-06-05T23:17:26.1553548Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1569776Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-05T23:17:26.1570601Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-05T23:17:26.1571335Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-05T23:17:26.1572114Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-05T23:17:26.1572771Z   [must] requirement_quality REQ-HAZARD-DETACHED-PIPE-INHERIT criterion=length — title is 52 words; want 3..=25
2026-06-05T23:17:26.1573657Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1574839Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1575448Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-05T23:17:26.1576083Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-05T23:17:26.1576946Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1577854Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1578515Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-05T23:17:26.1579205Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-05T23:17:26.1579875Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-05T23:17:26.1580377Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-05T23:17:26.1581081Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1581777Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1582498Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-05T23:17:26.1582960Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-05T23:17:26.1583472Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-05T23:17:26.1583972Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-05T23:17:26.1584444Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-05T23:17:26.1584907Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-05T23:17:26.1584923Z 
2026-06-05T23:17:26.1585070Z # Requirement quality review
2026-06-05T23:17:26.1585081Z 
2026-06-05T23:17:26.1585432Z You are reviewing 139 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-05T23:17:26.1585817Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-05T23:17:26.1586440Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-05T23:17:26.1586709Z this command's output. Your task is the rubric items below.
2026-06-05T23:17:26.1586720Z 
2026-06-05T23:17:26.1586840Z ## Rubric
2026-06-05T23:17:26.1586887Z 
2026-06-05T23:17:26.1587377Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-05T23:17:26.1587788Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-05T23:17:26.1588180Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-05T23:17:26.1588444Z - **active-voice** — clear subject and active verb.
2026-06-05T23:17:26.1588457Z 
2026-06-05T23:17:26.1588858Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-05T23:17:26.1588995Z clear concerns.
2026-06-05T23:17:26.1589006Z 
2026-06-05T23:17:26.1589127Z ## Requirements
2026-06-05T23:17:26.1589147Z 
2026-06-05T23:17:26.1589307Z ### REQ-ARCH-1
2026-06-05T23:17:26.1589733Z - Title: Many small acyclically-layered crates
2026-06-05T23:17:26.1589877Z - Required stages: impl
2026-06-05T23:17:26.1589888Z 
2026-06-05T23:17:26.1590020Z ### REQ-ARCH-2
2026-06-05T23:17:26.1590283Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-05T23:17:26.1590613Z - Required stages: impl
2026-06-05T23:17:26.1590627Z 
2026-06-05T23:17:26.1590760Z ### REQ-ARCH-3
2026-06-05T23:17:26.1591099Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-05T23:17:26.1591257Z - Required stages: impl, unit
2026-06-05T23:17:26.1591268Z 
2026-06-05T23:17:26.1591389Z ### REQ-ARCH-4
2026-06-05T23:17:26.1591677Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-05T23:17:26.1591831Z - Required stages: impl, unit
2026-06-05T23:17:26.1591841Z 
2026-06-05T23:17:26.1591966Z ### REQ-DAEMON-1
2026-06-05T23:17:26.1592238Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-05T23:17:26.1592403Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1592414Z 
2026-06-05T23:17:26.1592550Z ### REQ-DAEMON-2
2026-06-05T23:17:26.1592770Z - Title: Broker/brain split for seamless self-update
2026-06-05T23:17:26.1592918Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1592942Z 
2026-06-05T23:17:26.1593074Z ### REQ-DAEMON-3
2026-06-05T23:17:26.1593318Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-05T23:17:26.1593474Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1593484Z 
2026-06-05T23:17:26.1593619Z ### REQ-DAEMON-4
2026-06-05T23:17:26.1593796Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-05T23:17:26.1593953Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1593965Z 
2026-06-05T23:17:26.1594087Z ### REQ-STORE-1
2026-06-05T23:17:26.1595801Z - 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-05T23:17:26.1595957Z - Required stages: impl, unit
2026-06-05T23:17:26.1595968Z 
2026-06-05T23:17:26.1596097Z ### REQ-MANIFEST-1
2026-06-05T23:17:26.1596421Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-05T23:17:26.1596567Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1596579Z 
2026-06-05T23:17:26.1596719Z ### REQ-SEAM-SPAWN
2026-06-05T23:17:26.1596875Z - Title: spawn-session seam
2026-06-05T23:17:26.1597019Z - Required stages: impl, unit
2026-06-05T23:17:26.1597031Z 
2026-06-05T23:17:26.1597176Z ### REQ-SEAM-POSTSPAWN
2026-06-05T23:17:26.1597384Z - Title: post-spawn / api bind seam with boot nonce
2026-06-05T23:17:26.1597537Z - Required stages: impl, unit
2026-06-05T23:17:26.1597549Z 
2026-06-05T23:17:26.1597692Z ### REQ-SEAM-PSYCHE
2026-06-05T23:17:26.1597906Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-05T23:17:26.1598262Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1598278Z 
2026-06-05T23:17:26.1598424Z ### REQ-SEAM-HISTORY
2026-06-05T23:17:26.1598732Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-05T23:17:26.1598884Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1598920Z 
2026-06-05T23:17:26.1599055Z ### REQ-SEAM-ACTIVITY
2026-06-05T23:17:26.1599448Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-05T23:17:26.1599739Z - Required stages: impl, unit
2026-06-05T23:17:26.1599750Z 
2026-06-05T23:17:26.1599886Z ### REQ-SEAM-INJECT
2026-06-05T23:17:26.1600134Z - Title: inject-input methods configurable per activity-state
2026-06-05T23:17:26.1600285Z - Required stages: impl, unit
2026-06-05T23:17:26.1600297Z 
2026-06-05T23:17:26.1600430Z ### REQ-SEAM-RESUME
2026-06-05T23:17:26.1600720Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-05T23:17:26.1600866Z - Required stages: impl, unit
2026-06-05T23:17:26.1600878Z 
2026-06-05T23:17:26.1601025Z ### REQ-SEAM-CAPABILITY
2026-06-05T23:17:26.1601251Z - Title: Hostable endpoint-types capability declaration
2026-06-05T23:17:26.1601400Z - Required stages: impl, unit
2026-06-05T23:17:26.1601412Z 
2026-06-05T23:17:26.1601535Z ### REQ-SEAM-UPDATE
2026-06-05T23:17:26.1601933Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-05T23:17:26.1602080Z - Required stages: impl, unit
2026-06-05T23:17:26.1602090Z 
2026-06-05T23:17:26.1602222Z ### REQ-API-1
2026-06-05T23:17:26.1602491Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-05T23:17:26.1602947Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1602959Z 
2026-06-05T23:17:26.1603088Z ### REQ-API-2
2026-06-05T23:17:26.1603424Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-05T23:17:26.1603579Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1603590Z 
2026-06-05T23:17:26.1603718Z ### REQ-API-3
2026-06-05T23:17:26.1603923Z - Title: commune/signoff are file-drops, not commands
2026-06-05T23:17:26.1604091Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1604103Z 
2026-06-05T23:17:26.1604224Z ### REQ-START-1
2026-06-05T23:17:26.1604542Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-05T23:17:26.1604704Z - Required stages: impl, unit
2026-06-05T23:17:26.1604717Z 
2026-06-05T23:17:26.1604836Z ### REQ-START-2
2026-06-05T23:17:26.1605049Z - Title: Harness-hosted startup: api seed then listen
2026-06-05T23:17:26.1605190Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1605201Z 
2026-06-05T23:17:26.1605330Z ### REQ-START-3
2026-06-05T23:17:26.1605604Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-05T23:17:26.1605750Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1605760Z 
2026-06-05T23:17:26.1605888Z ### REQ-START-4
2026-06-05T23:17:26.1606089Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-05T23:17:26.1606234Z - Required stages: impl, unit
2026-06-05T23:17:26.1606244Z 
2026-06-05T23:17:26.1606370Z ### REQ-EP-1
2026-06-05T23:17:26.1606572Z - Title: Day-one endpoint types; open type system
2026-06-05T23:17:26.1606719Z - Required stages: impl, unit
2026-06-05T23:17:26.1606731Z 
2026-06-05T23:17:26.1606844Z ### REQ-EP-2
2026-06-05T23:17:26.1607119Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-05T23:17:26.1607254Z - Required stages: impl, unit
2026-06-05T23:17:26.1607266Z 
2026-06-05T23:17:26.1607393Z ### REQ-EP-3
2026-06-05T23:17:26.1607696Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-05T23:17:26.1607835Z - Required stages: impl, unit
2026-06-05T23:17:26.1607847Z 
2026-06-05T23:17:26.1607970Z ### REQ-EP-4
2026-06-05T23:17:26.1608187Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-05T23:17:26.1608331Z - Required stages: impl, unit
2026-06-05T23:17:26.1608341Z 
2026-06-05T23:17:26.1608464Z ### REQ-EP-5
2026-06-05T23:17:26.1610231Z - 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-05T23:17:26.1610411Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1610436Z 
2026-06-05T23:17:26.1610558Z ### REQ-INST-1
2026-06-05T23:17:26.1610808Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-05T23:17:26.1610942Z - Required stages: 
2026-06-05T23:17:26.1610954Z 
2026-06-05T23:17:26.1611071Z ### REQ-INST-2
2026-06-05T23:17:26.1611247Z - Title: Per-node files, synced Psyche mind
2026-06-05T23:17:26.1611385Z - Required stages: impl, unit
2026-06-05T23:17:26.1611397Z 
2026-06-05T23:17:26.1611527Z ### REQ-INST-3
2026-06-05T23:17:26.1611760Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-05T23:17:26.1611905Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1611916Z 
2026-06-05T23:17:26.1612044Z ### REQ-INST-4
2026-06-05T23:17:26.1612339Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-05T23:17:26.1612483Z - Required stages: impl, unit
2026-06-05T23:17:26.1612503Z 
2026-06-05T23:17:26.1612623Z ### REQ-INST-5
2026-06-05T23:17:26.1612906Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-05T23:17:26.1613188Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1613199Z 
2026-06-05T23:17:26.1613329Z ### REQ-INST-6
2026-06-05T23:17:26.1613622Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-05T23:17:26.1613782Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1613793Z 
2026-06-05T23:17:26.1613925Z ### REQ-INST-7
2026-06-05T23:17:26.1614132Z - Title: Subnet registry + bare-id resolution policy
2026-06-05T23:17:26.1614282Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1614293Z 
2026-06-05T23:17:26.1614408Z ### REQ-INST-8
2026-06-05T23:17:26.1614644Z - Title: Remote-control mode distinct from local operation
2026-06-05T23:17:26.1614798Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1614821Z 
2026-06-05T23:17:26.1614938Z ### REQ-INST-9
2026-06-05T23:17:26.1615234Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-05T23:17:26.1615370Z - Required stages: impl, unit
2026-06-05T23:17:26.1615380Z 
2026-06-05T23:17:26.1615515Z ### REQ-INST-10
2026-06-05T23:17:26.1615864Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-05T23:17:26.1616008Z - Required stages: impl, unit
2026-06-05T23:17:26.1616019Z 
2026-06-05T23:17:26.1616145Z ### REQ-INST-11
2026-06-05T23:17:26.1616495Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-05T23:17:26.1616642Z - Required stages: impl, unit
2026-06-05T23:17:26.1616652Z 
2026-06-05T23:17:26.1616779Z ### REQ-INST-12
2026-06-05T23:17:26.1617280Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-05T23:17:26.1617430Z - Required stages: impl, unit
2026-06-05T23:17:26.1617443Z 
2026-06-05T23:17:26.1617570Z ### REQ-INST-13
2026-06-05T23:17:26.1617869Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-05T23:17:26.1618022Z - Required stages: impl, unit
2026-06-05T23:17:26.1618034Z 
2026-06-05T23:17:26.1618154Z ### REQ-INST-14
2026-06-05T23:17:26.1618838Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-05T23:17:26.1618984Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1618995Z 
2026-06-05T23:17:26.1619123Z ### REQ-INST-15
2026-06-05T23:17:26.1620840Z - 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-05T23:17:26.1620992Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1621003Z 
2026-06-05T23:17:26.1621133Z ### REQ-REACH-1
2026-06-05T23:17:26.1621519Z - Title: Off-node remote-drive detection + file transfer
2026-06-05T23:17:26.1621687Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1621699Z 
2026-06-05T23:17:26.1621829Z ### REQ-REACH-2
2026-06-05T23:17:26.1622063Z - Title: Remote command execution (deferred, consent-gated)
2026-06-05T23:17:26.1622216Z - Required stages: 
2026-06-05T23:17:26.1622227Z 
2026-06-05T23:17:26.1622345Z ### REQ-MSG-1
2026-06-05T23:17:26.1623172Z - 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-05T23:17:26.1623325Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1623338Z 
2026-06-05T23:17:26.1623461Z ### REQ-MSG-2
2026-06-05T23:17:26.1623921Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-05T23:17:26.1624063Z - Required stages: impl, unit
2026-06-05T23:17:26.1624073Z 
2026-06-05T23:17:26.1624269Z ### REQ-MSG-3
2026-06-05T23:17:26.1624982Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-05T23:17:26.1625129Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1625268Z 
2026-06-05T23:17:26.1625414Z ### REQ-NODE-IDENTITY
2026-06-05T23:17:26.1625784Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-05T23:17:26.1625936Z - Required stages: impl, unit
2026-06-05T23:17:26.1625947Z 
2026-06-05T23:17:26.1626074Z ### REQ-NET-1
2026-06-05T23:17:26.1626362Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-05T23:17:26.1626523Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1626534Z 
2026-06-05T23:17:26.1626648Z ### REQ-NET-2
2026-06-05T23:17:26.1626933Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-05T23:17:26.1627084Z - Required stages: impl
2026-06-05T23:17:26.1627095Z 
2026-06-05T23:17:26.1627229Z ### REQ-NET-3
2026-06-05T23:17:26.1627496Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-05T23:17:26.1627635Z - Required stages: impl, unit
2026-06-05T23:17:26.1627647Z 
2026-06-05T23:17:26.1627783Z ### REQ-PAIR-1
2026-06-05T23:17:26.1627955Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-05T23:17:26.1628098Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1628109Z 
2026-06-05T23:17:26.1628243Z ### REQ-PAIR-2
2026-06-05T23:17:26.1628442Z - Title: Local trust store with TOFU + warn-on-change
2026-06-05T23:17:26.1628595Z - Required stages: impl, unit
2026-06-05T23:17:26.1628605Z 
2026-06-05T23:17:26.1628727Z ### REQ-PAIR-3
2026-06-05T23:17:26.1628958Z - Title: Fetch current pairing code from any paired node
2026-06-05T23:17:26.1629107Z - Required stages: impl, unit
2026-06-05T23:17:26.1629119Z 
2026-06-05T23:17:26.1629286Z ### REQ-PAIR-4
2026-06-05T23:17:26.1629633Z - Title: Subnet naming on first pairing
2026-06-05T23:17:26.1629779Z - Required stages: impl, unit
2026-06-05T23:17:26.1629801Z 
2026-06-05T23:17:26.1630076Z ### REQ-PAIR-5
2026-06-05T23:17:26.1630619Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-05T23:17:26.1630761Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1630781Z 
2026-06-05T23:17:26.1630915Z ### REQ-PAIR-6
2026-06-05T23:17:26.1631349Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-05T23:17:26.1631506Z - Required stages: impl, unit
2026-06-05T23:17:26.1631517Z 
2026-06-05T23:17:26.1631651Z ### REQ-PAIR-7
2026-06-05T23:17:26.1631898Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-05T23:17:26.1632039Z - Required stages: 
2026-06-05T23:17:26.1632051Z 
2026-06-05T23:17:26.1632167Z ### REQ-SEC-1
2026-06-05T23:17:26.1632868Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-05T23:17:26.1633182Z - Required stages: impl, unit
2026-06-05T23:17:26.1633196Z 
2026-06-05T23:17:26.1633329Z ### REQ-NOTIF-1
2026-06-05T23:17:26.1633991Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-05T23:17:26.1634148Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1634159Z 
2026-06-05T23:17:26.1634291Z ### REQ-NOTIF-2
2026-06-05T23:17:26.1634752Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-05T23:17:26.1634911Z - Required stages: doc, impl, unit, int
2026-06-05T23:17:26.1634922Z 
2026-06-05T23:17:26.1635051Z ### REQ-UPD-1
2026-06-05T23:17:26.1635216Z - Title: Peer-propagated update over P2P
2026-06-05T23:17:26.1635370Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1635381Z 
2026-06-05T23:17:26.1635509Z ### REQ-UPD-2
2026-06-05T23:17:26.1635726Z - Title: All binaries signature-verified before handoff
2026-06-05T23:17:26.1635877Z - Required stages: impl, unit
2026-06-05T23:17:26.1635900Z 
2026-06-05T23:17:26.1636024Z ### REQ-UPD-3
2026-06-05T23:17:26.1636309Z - Title: No endpoint process terminates/suspends during self-update
2026-06-05T23:17:26.1636468Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1636620Z 
2026-06-05T23:17:26.1636746Z ### REQ-UPD-4
2026-06-05T23:17:26.1637051Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-05T23:17:26.1637195Z - Required stages: impl, unit
2026-06-05T23:17:26.1637208Z 
2026-06-05T23:17:26.1637340Z ### REQ-UPD-5
2026-06-05T23:17:26.1637555Z - Title: spt-core ripple-updates registered adapters
2026-06-05T23:17:26.1637710Z - Required stages: impl, unit
2026-06-05T23:17:26.1637721Z 
2026-06-05T23:17:26.1637860Z ### REQ-TERM-1
2026-06-05T23:17:26.1638137Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-05T23:17:26.1638290Z - Required stages: impl, unit
2026-06-05T23:17:26.1638302Z 
2026-06-05T23:17:26.1638422Z ### REQ-TERM-2
2026-06-05T23:17:26.1638734Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-05T23:17:26.1638892Z - Required stages: impl, unit
2026-06-05T23:17:26.1638904Z 
2026-06-05T23:17:26.1639024Z ### REQ-TERM-3
2026-06-05T23:17:26.1639432Z - Title: Byte-stream remote terminal streaming for v1
2026-06-05T23:17:26.1639612Z - Required stages: impl, unit
2026-06-05T23:17:26.1639801Z 
2026-06-05T23:17:26.1639936Z ### REQ-TERM-4
2026-06-05T23:17:26.1640595Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-05T23:17:26.1640740Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1640751Z 
2026-06-05T23:17:26.1640888Z ### REQ-FRONT-1
2026-06-05T23:17:26.1641164Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-05T23:17:26.1641304Z - Required stages: 
2026-06-05T23:17:26.1641314Z 
2026-06-05T23:17:26.1641451Z ### REQ-INSTALL-1
2026-06-05T23:17:26.1641769Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-05T23:17:26.1641923Z - Required stages: doc, impl, int
2026-06-05T23:17:26.1641936Z 
2026-06-05T23:17:26.1642064Z ### REQ-INSTALL-2
2026-06-05T23:17:26.1642289Z - Title: Marketplace-repackaging-friendly install
2026-06-05T23:17:26.1642440Z - Required stages: doc
2026-06-05T23:17:26.1642451Z 
2026-06-05T23:17:26.1642576Z ### REQ-INSTALL-3
2026-06-05T23:17:26.1642791Z - Title: Idempotent + interactive-optional first run
2026-06-05T23:17:26.1642935Z - Required stages: impl, int
2026-06-05T23:17:26.1642946Z 
2026-06-05T23:17:26.1643079Z ### REQ-INSTALL-4
2026-06-05T23:17:26.1644283Z - 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-05T23:17:26.1644432Z - Required stages: impl, unit
2026-06-05T23:17:26.1644444Z 
2026-06-05T23:17:26.1644574Z ### REQ-MIGRATE-1
2026-06-05T23:17:26.1645016Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-05T23:17:26.1645174Z - Required stages: 
2026-06-05T23:17:26.1645184Z 
2026-06-05T23:17:26.1645317Z ### REQ-INFRA-1
2026-06-05T23:17:26.1645600Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-05T23:17:26.1645750Z - Required stages: 
2026-06-05T23:17:26.1645762Z 
2026-06-05T23:17:26.1645886Z ### REQ-INSTALL-5
2026-06-05T23:17:26.1646801Z - 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-05T23:17:26.1646958Z - Required stages: impl, int
2026-06-05T23:17:26.1646969Z 
2026-06-05T23:17:26.1647090Z ### REQ-REL-1
2026-06-05T23:17:26.1647782Z - Title: spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)
2026-06-05T23:17:26.1647918Z - Required stages: doc, impl
2026-06-05T23:17:26.1647929Z 
2026-06-05T23:17:26.1648072Z ### REQ-REL-2
2026-06-05T23:17:26.1648979Z - 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-05T23:17:26.1649443Z - Required stages: impl
2026-06-05T23:17:26.1649601Z 
2026-06-05T23:17:26.1649738Z ### REQ-REL-3
2026-06-05T23:17:26.1650542Z - 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-05T23:17:26.1650700Z - Required stages: impl, unit
2026-06-05T23:17:26.1650711Z 
2026-06-05T23:17:26.1650844Z ### REQ-DOCS-1
2026-06-05T23:17:26.1651171Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-05T23:17:26.1651325Z - Required stages: doc, impl
2026-06-05T23:17:26.1651335Z 
2026-06-05T23:17:26.1651461Z ### REQ-DOCS-2
2026-06-05T23:17:26.1651725Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-05T23:17:26.1651887Z - Required stages: doc, int
2026-06-05T23:17:26.1651898Z 
2026-06-05T23:17:26.1652019Z ### REQ-DOCS-3
2026-06-05T23:17:26.1652473Z - Title: Diátaxis structure; one canonical way to do X
2026-06-05T23:17:26.1652611Z - Required stages: doc
2026-06-05T23:17:26.1652644Z 
2026-06-05T23:17:26.1652775Z ### REQ-DOCS-4
2026-06-05T23:17:26.1653099Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-05T23:17:26.1653245Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1653255Z 
2026-06-05T23:17:26.1653385Z ### REQ-DOCS-5
2026-06-05T23:17:26.1653693Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-05T23:17:26.1653848Z - Required stages: impl, int
2026-06-05T23:17:26.1653858Z 
2026-06-05T23:17:26.1654030Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-05T23:17:26.1654328Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-05T23:17:26.1654481Z - Required stages: impl, unit
2026-06-05T23:17:26.1654531Z 
2026-06-05T23:17:26.1654687Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-05T23:17:26.1654932Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-05T23:17:26.1655082Z - Required stages: impl, unit
2026-06-05T23:17:26.1655105Z 
2026-06-05T23:17:26.1655258Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-05T23:17:26.1655636Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-05T23:17:26.1656163Z - Required stages: impl, unit
2026-06-05T23:17:26.1656182Z 
2026-06-05T23:17:26.1656374Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-05T23:17:26.1656754Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-05T23:17:26.1656975Z - Required stages: impl, unit
2026-06-05T23:17:26.1656988Z 
2026-06-05T23:17:26.1657148Z ### REQ-HAZARD-WORKER-PATH
2026-06-05T23:17:26.1657605Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-05T23:17:26.1657794Z - Required stages: impl, unit
2026-06-05T23:17:26.1657805Z 
2026-06-05T23:17:26.1658240Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-05T23:17:26.1658670Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-05T23:17:26.1658824Z - Required stages: 
2026-06-05T23:17:26.1658834Z 
2026-06-05T23:17:26.1659142Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-05T23:17:26.1659757Z - Title: Stdin session_id precedence over env (2.2)
2026-06-05T23:17:26.1659970Z - Required stages: 
2026-06-05T23:17:26.1659981Z 
2026-06-05T23:17:26.1660238Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-05T23:17:26.1660511Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-05T23:17:26.1660816Z - Required stages: impl, unit
2026-06-05T23:17:26.1660830Z 
2026-06-05T23:17:26.1661013Z ### REQ-HAZARD-GEN-START-NOW
2026-06-05T23:17:26.1661315Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-05T23:17:26.1661546Z - Required stages: impl, int
2026-06-05T23:17:26.1661558Z 
2026-06-05T23:17:26.1661736Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-05T23:17:26.1662151Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-05T23:17:26.1662334Z - Required stages: impl, unit
2026-06-05T23:17:26.1662346Z 
2026-06-05T23:17:26.1662606Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-05T23:17:26.1662962Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-05T23:17:26.1663304Z - Required stages: impl, unit
2026-06-05T23:17:26.1663316Z 
2026-06-05T23:17:26.1663620Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-05T23:17:26.1663964Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-05T23:17:26.1664211Z - Required stages: impl, unit
2026-06-05T23:17:26.1664223Z 
2026-06-05T23:17:26.1664468Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-05T23:17:26.1664726Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-05T23:17:26.1665009Z - Required stages: impl, unit
2026-06-05T23:17:26.1665020Z 
2026-06-05T23:17:26.1665223Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-05T23:17:26.1665619Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-05T23:17:26.1665843Z - Required stages: impl, unit
2026-06-05T23:17:26.1665853Z 
2026-06-05T23:17:26.1666029Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-05T23:17:26.1666548Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-05T23:17:26.1666757Z - Required stages: impl, unit
2026-06-05T23:17:26.1666817Z 
2026-06-05T23:17:26.1666991Z ### REQ-HAZARD-ID-CHARSET
2026-06-05T23:17:26.1667492Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-05T23:17:26.1667655Z - Required stages: impl, unit
2026-06-05T23:17:26.1667668Z 
2026-06-05T23:17:26.1667974Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-05T23:17:26.1668379Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-05T23:17:26.1668565Z - Required stages: impl, unit
2026-06-05T23:17:26.1668578Z 
2026-06-05T23:17:26.1668812Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-05T23:17:26.1669323Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-05T23:17:26.1669836Z - Required stages: impl, unit
2026-06-05T23:17:26.1669854Z 
2026-06-05T23:17:26.1670238Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-05T23:17:26.1670996Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-05T23:17:26.1671237Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1671250Z 
2026-06-05T23:17:26.1671431Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-05T23:17:26.1672415Z - 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-05T23:17:26.1672627Z - Required stages: impl, unit
2026-06-05T23:17:26.1672639Z 
2026-06-05T23:17:26.1680614Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-05T23:17:26.1680966Z - Title: Deferred rows survive poll drain (4.4)
2026-06-05T23:17:26.1681117Z - Required stages: impl, unit
2026-06-05T23:17:26.1681132Z 
2026-06-05T23:17:26.1681709Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-05T23:17:26.1681936Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-05T23:17:26.1682074Z - Required stages: impl, unit
2026-06-05T23:17:26.1682084Z 
2026-06-05T23:17:26.1682244Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-05T23:17:26.1682549Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-05T23:17:26.1682700Z - Required stages: impl, unit
2026-06-05T23:17:26.1682711Z 
2026-06-05T23:17:26.1682866Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-05T23:17:26.1683131Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-05T23:17:26.1683283Z - Required stages: impl, unit
2026-06-05T23:17:26.1683292Z 
2026-06-05T23:17:26.1683444Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-05T23:17:26.1683674Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-05T23:17:26.1683827Z - Required stages: impl, unit
2026-06-05T23:17:26.1683839Z 
2026-06-05T23:17:26.1683983Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-05T23:17:26.1684241Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-05T23:17:26.1684382Z - Required stages: impl, unit
2026-06-05T23:17:26.1684393Z 
2026-06-05T23:17:26.1684557Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-05T23:17:26.1684863Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-05T23:17:26.1685153Z - Required stages: impl, unit
2026-06-05T23:17:26.1685164Z 
2026-06-05T23:17:26.1685316Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-05T23:17:26.1685628Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-05T23:17:26.1685783Z - Required stages: impl, unit
2026-06-05T23:17:26.1685792Z 
2026-06-05T23:17:26.1685945Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-05T23:17:26.1686227Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-05T23:17:26.1686374Z - Required stages: impl, unit
2026-06-05T23:17:26.1686383Z 
2026-06-05T23:17:26.1686543Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-05T23:17:26.1686781Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-05T23:17:26.1686919Z - Required stages: impl, unit
2026-06-05T23:17:26.1686931Z 
2026-06-05T23:17:26.1687108Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-05T23:17:26.1687478Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-05T23:17:26.1687631Z - Required stages: impl, unit
2026-06-05T23:17:26.1687641Z 
2026-06-05T23:17:26.1687814Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-05T23:17:26.1688885Z - 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-05T23:17:26.1689039Z - Required stages: impl, unit
2026-06-05T23:17:26.1689048Z 
2026-06-05T23:17:26.1689266Z ### REQ-HAZARD-DETACHED-PIPE-INHERIT
2026-06-05T23:17:26.1691832Z - 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-05T23:17:26.1692001Z - Required stages: impl, unit
2026-06-05T23:17:26.1692012Z 
2026-06-05T23:17:26.1692163Z ### REQ-HAZARD-CONPTY-DSR
2026-06-05T23:17:26.1692529Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-05T23:17:26.1692681Z - Required stages: impl, unit
2026-06-05T23:17:26.1692691Z 
2026-06-05T23:17:26.1692834Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-05T23:17:26.1693198Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-05T23:17:26.1693349Z - Required stages: impl, unit
2026-06-05T23:17:26.1693363Z 
2026-06-05T23:17:26.1693514Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-05T23:17:26.1694158Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-05T23:17:26.1694317Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1694327Z 
2026-06-05T23:17:26.1694492Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-05T23:17:26.1694954Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-05T23:17:26.1695105Z - Required stages: impl, unit
2026-06-05T23:17:26.1695115Z 
2026-06-05T23:17:26.1695287Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-05T23:17:26.1696073Z - 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-05T23:17:26.1696234Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1696244Z 
2026-06-05T23:17:26.1696412Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-05T23:17:26.1698053Z - 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-05T23:17:26.1698210Z - Required stages: impl, unit
2026-06-05T23:17:26.1698222Z 
2026-06-05T23:17:26.1698401Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-05T23:17:26.1700046Z - 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-05T23:17:26.1700349Z - Required stages: impl, unit
2026-06-05T23:17:26.1700360Z 
2026-06-05T23:17:26.1700519Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-05T23:17:26.1701809Z - 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-05T23:17:26.1701967Z - Required stages: impl, unit
2026-06-05T23:17:26.1701977Z 
2026-06-05T23:17:26.1702176Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-05T23:17:26.1703227Z - 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-05T23:17:26.1703405Z - Required stages: impl, unit
2026-06-05T23:17:26.1703415Z 
2026-06-05T23:17:26.1703569Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-05T23:17:26.1705306Z - 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-05T23:17:26.1705454Z - Required stages: impl, unit
2026-06-05T23:17:26.1705466Z 
2026-06-05T23:17:26.1705628Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-05T23:17:26.1707216Z - 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-05T23:17:26.1707373Z - Required stages: doc, impl, unit
2026-06-05T23:17:26.1707384Z 
2026-06-05T23:17:26.1707562Z ### REQ-CONSENT-1
2026-06-05T23:17:26.1709413Z - 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-05T23:17:26.1709736Z - Required stages: impl, unit
2026-06-05T23:17:26.1709749Z 
2026-06-05T23:17:26.1709897Z ### REQ-CONSENT-2
2026-06-05T23:17:26.1711781Z - 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-05T23:17:26.1711937Z - Required stages: impl, unit
2026-06-05T23:17:26.1711948Z 
2026-06-05T23:17:26.1712084Z ### REQ-PRES-1
2026-06-05T23:17:26.1714905Z - 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-05T23:17:26.1715079Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1715090Z 
2026-06-05T23:17:26.1715224Z ### REQ-SHELL-1
2026-06-05T23:17:26.1717065Z - 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-05T23:17:26.1717238Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1717420Z 
2026-06-05T23:17:26.1717567Z ### REQ-SHELL-2
2026-06-05T23:17:26.1720726Z - 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-05T23:17:26.1720900Z - Required stages: impl, unit, int
2026-06-05T23:17:26.1720911Z 
2026-06-05T23:17:26.1721052Z ## How to report back
2026-06-05T23:17:26.1721062Z 
2026-06-05T23:17:26.1721377Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-05T23:17:26.1721390Z 
2026-06-05T23:17:26.1721516Z     {
2026-06-05T23:17:26.1721668Z       "code": "requirement_quality",
2026-06-05T23:17:26.1721854Z       "requirementId": "REQ-...",
2026-06-05T23:17:26.1722151Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-05T23:17:26.1722295Z       "message": "<short reason>",
2026-06-05T23:17:26.1722489Z       "suggestedRevision": "<optional rewrite>"
2026-06-05T23:17:26.1722605Z     }
2026-06-05T23:17:26.1722619Z 
2026-06-05T23:17:26.1722955Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-05T23:17:26.1723191Z deterministic findings above don't need to be repeated.
2026-06-05T23:17:26.1874563Z Post job cleanup.
2026-06-05T23:17:26.3105639Z [command]/usr/bin/git version
2026-06-05T23:17:26.3161594Z git version 2.34.1
2026-06-05T23:17:26.3207498Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/79cd9c19-d6c9-4f7f-bf1f-c2d33d1aea32/.gitconfig'
2026-06-05T23:17:26.3234407Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/79cd9c19-d6c9-4f7f-bf1f-c2d33d1aea32' before making global git config changes
2026-06-05T23:17:26.3235851Z Adding repository directory to the temporary git global config as a safe directory
2026-06-05T23:17:26.3241631Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-05T23:17:26.3289647Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-05T23:17:26.3337080Z [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-05T23:17:26.3611886Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-05T23:17:26.3651626Z http.https://github.com/.extraheader
2026-06-05T23:17:26.3660886Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-05T23:17:26.3721777Z [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-05T23:17:26.4002717Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-05T23:17:26.4049149Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-05T23:17:26.4476388Z Cleaning up orphan processes
