﻿2026-06-04T13:05:18.4238133Z Current runner version: '2.334.0'
2026-06-04T13:05:18.4247520Z Runner name: 'gravity'
2026-06-04T13:05:18.4248687Z Runner group name: 'Default'
2026-06-04T13:05:18.4250238Z Machine name: 'gravity-linux'
2026-06-04T13:05:18.4254508Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T13:05:18.4258637Z Contents: read
2026-06-04T13:05:18.4259663Z Metadata: read
2026-06-04T13:05:18.4260498Z Packages: read
2026-06-04T13:05:18.4261359Z ##[endgroup]
2026-06-04T13:05:18.4264922Z Secret source: Actions
2026-06-04T13:05:18.4266132Z Prepare workflow directory
2026-06-04T13:05:18.5031568Z Prepare all required actions
2026-06-04T13:05:18.5091376Z Getting action download info
2026-06-04T13:05:19.0843962Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T13:05:20.0428822Z Complete job name: traceability
2026-06-04T13:05:20.1792116Z ##[group]Run actions/checkout@v5
2026-06-04T13:05:20.1793788Z with:
2026-06-04T13:05:20.1794533Z   repository: SaberMage/spt-core
2026-06-04T13:05:20.1802336Z   token: ***
2026-06-04T13:05:20.1803052Z   ssh-strict: true
2026-06-04T13:05:20.1803769Z   ssh-user: git
2026-06-04T13:05:20.1804505Z   persist-credentials: true
2026-06-04T13:05:20.1805300Z   clean: true
2026-06-04T13:05:20.1806018Z   sparse-checkout-cone-mode: true
2026-06-04T13:05:20.1806867Z   fetch-depth: 1
2026-06-04T13:05:20.1807564Z   fetch-tags: false
2026-06-04T13:05:20.1808283Z   show-progress: true
2026-06-04T13:05:20.1809014Z   lfs: false
2026-06-04T13:05:20.1809758Z   submodules: false
2026-06-04T13:05:20.1810512Z   set-safe-directory: true
2026-06-04T13:05:20.1812121Z ##[endgroup]
2026-06-04T13:05:20.3313642Z Syncing repository: SaberMage/spt-core
2026-06-04T13:05:20.3317222Z ##[group]Getting Git version info
2026-06-04T13:05:20.3318827Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T13:05:20.3321003Z [command]/usr/bin/git version
2026-06-04T13:05:20.3322078Z git version 2.34.1
2026-06-04T13:05:20.3325342Z ##[endgroup]
2026-06-04T13:05:20.3335061Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/5162f9e3-535f-4cbd-a704-a25c282fe51f/.gitconfig'
2026-06-04T13:05:20.3351716Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/5162f9e3-535f-4cbd-a704-a25c282fe51f' before making global git config changes
2026-06-04T13:05:20.3354524Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T13:05:20.3358214Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T13:05:20.3410872Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T13:05:20.3440504Z https://github.com/SaberMage/spt-core
2026-06-04T13:05:20.3458450Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T13:05:20.3464780Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T13:05:20.3493772Z refs/heads/dev-freeform
2026-06-04T13:05:20.3508912Z [command]/usr/bin/git checkout --detach
2026-06-04T13:05:20.3565908Z HEAD is now at 6f61a89 docs(budget): M4-D9-3 gravity numbers + per-OS budget steps [budget]
2026-06-04T13:05:20.3621715Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T13:05:20.3659734Z Deleted branch dev-freeform (was 6f61a89).
2026-06-04T13:05:20.3715112Z ##[endgroup]
2026-06-04T13:05:20.3718280Z [command]/usr/bin/git submodule status
2026-06-04T13:05:20.3992369Z ##[group]Cleaning the repository
2026-06-04T13:05:20.3997933Z [command]/usr/bin/git clean -ffdx
2026-06-04T13:05:21.4819083Z Removing target/
2026-06-04T13:05:21.4823547Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T13:05:21.4894659Z HEAD is now at 6f61a89 docs(budget): M4-D9-3 gravity numbers + per-OS budget steps [budget]
2026-06-04T13:05:21.4903481Z ##[endgroup]
2026-06-04T13:05:21.4906318Z ##[group]Disabling automatic garbage collection
2026-06-04T13:05:21.4912533Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T13:05:21.4949719Z ##[endgroup]
2026-06-04T13:05:21.4952436Z ##[group]Setting up auth
2026-06-04T13:05:21.4959818Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T13:05:21.5001212Z [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-04T13:05:21.5240825Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T13:05:21.5281303Z [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-04T13:05:21.5515699Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T13:05:21.5558261Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T13:05:21.5798678Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T13:05:21.5858714Z ##[endgroup]
2026-06-04T13:05:21.5871886Z ##[group]Fetching the repository
2026-06-04T13:05:21.5877181Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +650c7fb326ed3478f5661891641a32b1b712ce19:refs/remotes/origin/dev-freeform
2026-06-04T13:05:22.3611241Z From https://github.com/SaberMage/spt-core
2026-06-04T13:05:22.3616651Z  + 6f61a89...650c7fb 650c7fb326ed3478f5661891641a32b1b712ce19 -> origin/dev-freeform  (forced update)
2026-06-04T13:05:22.3639855Z ##[endgroup]
2026-06-04T13:05:22.3642685Z ##[group]Determining the checkout info
2026-06-04T13:05:22.3645738Z ##[endgroup]
2026-06-04T13:05:22.3647703Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T13:05:22.3706671Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T13:05:22.3743812Z ##[group]Checking out the ref
2026-06-04T13:05:22.3747372Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T13:05:22.3798734Z Warning: you are leaving 1 commit behind, not connected to
2026-06-04T13:05:22.3801352Z any of your branches:
2026-06-04T13:05:22.3802295Z 
2026-06-04T13:05:22.3803603Z   6f61a89 docs(budget): M4-D9-3 gravity numbers + per-OS budget steps [budget]
2026-06-04T13:05:22.3805662Z 
2026-06-04T13:05:22.3806969Z If you want to keep it by creating a new branch, this may be a good time
2026-06-04T13:05:22.3809622Z to do so with:
2026-06-04T13:05:22.3810426Z 
2026-06-04T13:05:22.3811152Z  git branch <new-branch-name> 6f61a89
2026-06-04T13:05:22.3812449Z 
2026-06-04T13:05:22.3813352Z Switched to a new branch 'dev-freeform'
2026-06-04T13:05:22.3816219Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T13:05:22.3927139Z ##[endgroup]
2026-06-04T13:05:22.3931997Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T13:05:22.3934174Z 650c7fb326ed3478f5661891641a32b1b712ce19
2026-06-04T13:05:22.4266174Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T13:05:22.4268581Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T13:05:22.4270919Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T13:05:22.4272874Z [36;1melse[0m
2026-06-04T13:05:22.4274536Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T13:05:22.4276950Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T13:05:22.4278935Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T13:05:22.4280575Z [36;1mfi[0m
2026-06-04T13:05:22.4309690Z shell: /usr/bin/bash -e {0}
2026-06-04T13:05:22.4311099Z env:
2026-06-04T13:05:22.4314138Z   GH_TOKEN: ***
2026-06-04T13:05:22.4315303Z ##[endgroup]
2026-06-04T13:05:22.4550726Z ##[group]Run ./traceable-reqs check --json
2026-06-04T13:05:22.4552882Z [36;1m./traceable-reqs check --json[0m
2026-06-04T13:05:22.4576892Z shell: /usr/bin/bash -e {0}
2026-06-04T13:05:22.4578661Z ##[endgroup]
2026-06-04T13:05:22.4789908Z {
2026-06-04T13:05:22.4791298Z   "schemaVersion": 1,
2026-06-04T13:05:22.4792643Z   "summary": {
2026-06-04T13:05:22.4793982Z     "requirementCount": 129,
2026-06-04T13:05:22.4795497Z     "completeCount": 129,
2026-06-04T13:05:22.4796930Z     "incompleteCount": 0,
2026-06-04T13:05:22.4798345Z     "findingCount": 0
2026-06-04T13:05:22.4799680Z   },
2026-06-04T13:05:22.4800819Z   "requirements": [
2026-06-04T13:05:22.4802080Z     {
2026-06-04T13:05:22.4803224Z       "id": "REQ-API-1",
2026-06-04T13:05:22.4805153Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T13:05:22.4807442Z       "requiredStages": [
2026-06-04T13:05:22.4808795Z         "impl",
2026-06-04T13:05:22.4810062Z         "unit",
2026-06-04T13:05:22.4811503Z         "int"
2026-06-04T13:05:22.4812749Z       ],
2026-06-04T13:05:22.4814721Z       "stages": {
2026-06-04T13:05:22.4827644Z         "doc": {
2026-06-04T13:05:22.4829133Z           "complete": false,
2026-06-04T13:05:22.4830681Z           "evidence": []
2026-06-04T13:05:22.4831985Z         },
2026-06-04T13:05:22.4833086Z         "impl": {
2026-06-04T13:05:22.4834326Z           "complete": true,
2026-06-04T13:05:22.4835711Z           "evidence": [
2026-06-04T13:05:22.4836976Z             {
2026-06-04T13:05:22.4838269Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T13:05:22.4840105Z               "line": 15
2026-06-04T13:05:22.4841488Z             }
2026-06-04T13:05:22.4842667Z           ]
2026-06-04T13:05:22.4843780Z         },
2026-06-04T13:05:22.4844893Z         "int": {
2026-06-04T13:05:22.4846200Z           "complete": true,
2026-06-04T13:05:22.4847707Z           "evidence": [
2026-06-04T13:05:22.4849041Z             {
2026-06-04T13:05:22.4850617Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.4852546Z               "line": 13
2026-06-04T13:05:22.4853864Z             }
2026-06-04T13:05:22.4855001Z           ]
2026-06-04T13:05:22.4856142Z         },
2026-06-04T13:05:22.4857260Z         "unit": {
2026-06-04T13:05:22.4858494Z           "complete": true,
2026-06-04T13:05:22.4860025Z           "evidence": [
2026-06-04T13:05:22.4861390Z             {
2026-06-04T13:05:22.4862785Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T13:05:22.4864617Z               "line": 336
2026-06-04T13:05:22.4866009Z             },
2026-06-04T13:05:22.4867207Z             {
2026-06-04T13:05:22.4868581Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T13:05:22.4870621Z               "line": 342
2026-06-04T13:05:22.4872182Z             },
2026-06-04T13:05:22.4873467Z             {
2026-06-04T13:05:22.4874853Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T13:05:22.4876650Z               "line": 353
2026-06-04T13:05:22.4878011Z             }
2026-06-04T13:05:22.4879258Z           ]
2026-06-04T13:05:22.4880440Z         }
2026-06-04T13:05:22.4881518Z       }
2026-06-04T13:05:22.4882591Z     },
2026-06-04T13:05:22.4883670Z     {
2026-06-04T13:05:22.4884806Z       "id": "REQ-API-2",
2026-06-04T13:05:22.4887027Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T13:05:22.4889688Z       "requiredStages": [
2026-06-04T13:05:22.4891042Z         "impl",
2026-06-04T13:05:22.4892211Z         "unit",
2026-06-04T13:05:22.4893397Z         "int"
2026-06-04T13:05:22.4894515Z       ],
2026-06-04T13:05:22.4895604Z       "stages": {
2026-06-04T13:05:22.4896792Z         "doc": {
2026-06-04T13:05:22.4898012Z           "complete": false,
2026-06-04T13:05:22.4900482Z           "evidence": []
2026-06-04T13:05:22.4902031Z         },
2026-06-04T13:05:22.4903211Z         "impl": {
2026-06-04T13:05:22.4904512Z           "complete": true,
2026-06-04T13:05:22.4905999Z           "evidence": [
2026-06-04T13:05:22.4907919Z             {
2026-06-04T13:05:22.4909596Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T13:05:22.4911549Z               "line": 15
2026-06-04T13:05:22.4912929Z             },
2026-06-04T13:05:22.4914498Z             {
2026-06-04T13:05:22.4915978Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.4917961Z               "line": 20
2026-06-04T13:05:22.4919503Z             },
2026-06-04T13:05:22.4920778Z             {
2026-06-04T13:05:22.4922503Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.4924463Z               "line": 125
2026-06-04T13:05:22.4925849Z             },
2026-06-04T13:05:22.4927097Z             {
2026-06-04T13:05:22.4928562Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.4930631Z               "line": 21
2026-06-04T13:05:22.4931965Z             },
2026-06-04T13:05:22.4933141Z             {
2026-06-04T13:05:22.4934575Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.4936554Z               "line": 38
2026-06-04T13:05:22.4937911Z             },
2026-06-04T13:05:22.4939070Z             {
2026-06-04T13:05:22.4940572Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.4942468Z               "line": 160
2026-06-04T13:05:22.4943802Z             },
2026-06-04T13:05:22.4944957Z             {
2026-06-04T13:05:22.4946341Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.4948189Z               "line": 199
2026-06-04T13:05:22.4949565Z             },
2026-06-04T13:05:22.4950743Z             {
2026-06-04T13:05:22.4952133Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.4953964Z               "line": 223
2026-06-04T13:05:22.4955267Z             },
2026-06-04T13:05:22.4956414Z             {
2026-06-04T13:05:22.4957744Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.4959646Z               "line": 17
2026-06-04T13:05:22.4960952Z             },
2026-06-04T13:05:22.4962109Z             {
2026-06-04T13:05:22.4986521Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.4988355Z               "line": 30
2026-06-04T13:05:22.4989834Z             },
2026-06-04T13:05:22.4990996Z             {
2026-06-04T13:05:22.4992275Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.4993980Z               "line": 63
2026-06-04T13:05:22.4995227Z             },
2026-06-04T13:05:22.4996315Z             {
2026-06-04T13:05:22.4997603Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.4999487Z               "line": 76
2026-06-04T13:05:22.5000775Z             }
2026-06-04T13:05:22.5001889Z           ]
2026-06-04T13:05:22.5002970Z         },
2026-06-04T13:05:22.5004042Z         "int": {
2026-06-04T13:05:22.5005256Z           "complete": true,
2026-06-04T13:05:22.5006624Z           "evidence": [
2026-06-04T13:05:22.5007881Z             {
2026-06-04T13:05:22.5009310Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.5018588Z               "line": 14
2026-06-04T13:05:22.5020207Z             },
2026-06-04T13:05:22.5021304Z             {
2026-06-04T13:05:22.5022631Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.5024413Z               "line": 151
2026-06-04T13:05:22.5025680Z             }
2026-06-04T13:05:22.5026766Z           ]
2026-06-04T13:05:22.5027826Z         },
2026-06-04T13:05:22.5028879Z         "unit": {
2026-06-04T13:05:22.5030409Z           "complete": true,
2026-06-04T13:05:22.5031737Z           "evidence": [
2026-06-04T13:05:22.5032966Z             {
2026-06-04T13:05:22.5034285Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T13:05:22.5036023Z               "line": 42
2026-06-04T13:05:22.5037262Z             },
2026-06-04T13:05:22.5038347Z             {
2026-06-04T13:05:22.5039992Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.5041724Z               "line": 204
2026-06-04T13:05:22.5042978Z             },
2026-06-04T13:05:22.5044687Z             {
2026-06-04T13:05:22.5046082Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.5047839Z               "line": 296
2026-06-04T13:05:22.5049092Z             },
2026-06-04T13:05:22.5050428Z             {
2026-06-04T13:05:22.5051785Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.5053554Z               "line": 307
2026-06-04T13:05:22.5054801Z             },
2026-06-04T13:05:22.5055896Z             {
2026-06-04T13:05:22.5057225Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.5058985Z               "line": 375
2026-06-04T13:05:22.5060608Z             },
2026-06-04T13:05:22.5061707Z             {
2026-06-04T13:05:22.5063053Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.5064831Z               "line": 387
2026-06-04T13:05:22.5066086Z             },
2026-06-04T13:05:22.5067175Z             {
2026-06-04T13:05:22.5068470Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.5070591Z               "line": 137
2026-06-04T13:05:22.5071850Z             },
2026-06-04T13:05:22.5072923Z             {
2026-06-04T13:05:22.5074193Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.5075912Z               "line": 172
2026-06-04T13:05:22.5077148Z             }
2026-06-04T13:05:22.5078201Z           ]
2026-06-04T13:05:22.5079253Z         }
2026-06-04T13:05:22.5080264Z       }
2026-06-04T13:05:22.5081251Z     },
2026-06-04T13:05:22.5082245Z     {
2026-06-04T13:05:22.5083270Z       "id": "REQ-API-3",
2026-06-04T13:05:22.5084888Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T13:05:22.5086821Z       "requiredStages": [
2026-06-04T13:05:22.5088087Z         "impl",
2026-06-04T13:05:22.5089187Z         "unit",
2026-06-04T13:05:22.5090275Z         "int"
2026-06-04T13:05:22.5091328Z       ],
2026-06-04T13:05:22.5092332Z       "stages": {
2026-06-04T13:05:22.5093428Z         "doc": {
2026-06-04T13:05:22.5094563Z           "complete": false,
2026-06-04T13:05:22.5095922Z           "evidence": []
2026-06-04T13:05:22.5097137Z         },
2026-06-04T13:05:22.5098151Z         "impl": {
2026-06-04T13:05:22.5099344Z           "complete": true,
2026-06-04T13:05:22.5100661Z           "evidence": [
2026-06-04T13:05:22.5101879Z             {
2026-06-04T13:05:22.5103135Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.5104816Z               "line": 27
2026-06-04T13:05:22.5106028Z             },
2026-06-04T13:05:22.5107083Z             {
2026-06-04T13:05:22.5108386Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.5110131Z               "line": 233
2026-06-04T13:05:22.5111345Z             }
2026-06-04T13:05:22.5112395Z           ]
2026-06-04T13:05:22.5113404Z         },
2026-06-04T13:05:22.5114416Z         "int": {
2026-06-04T13:05:22.5115540Z           "complete": true,
2026-06-04T13:05:22.5116836Z           "evidence": [
2026-06-04T13:05:22.5118023Z             {
2026-06-04T13:05:22.5119386Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.5121124Z               "line": 203
2026-06-04T13:05:22.5122367Z             }
2026-06-04T13:05:22.5123411Z           ]
2026-06-04T13:05:22.5124432Z         },
2026-06-04T13:05:22.5125461Z         "unit": {
2026-06-04T13:05:22.5126604Z           "complete": true,
2026-06-04T13:05:22.5127906Z           "evidence": [
2026-06-04T13:05:22.5129087Z             {
2026-06-04T13:05:22.5130378Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.5132058Z               "line": 230
2026-06-04T13:05:22.5133293Z             },
2026-06-04T13:05:22.5134341Z             {
2026-06-04T13:05:22.5135627Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.5137331Z               "line": 416
2026-06-04T13:05:22.5138541Z             }
2026-06-04T13:05:22.5139616Z           ]
2026-06-04T13:05:22.5140612Z         }
2026-06-04T13:05:22.5141594Z       }
2026-06-04T13:05:22.5142572Z     },
2026-06-04T13:05:22.5143559Z     {
2026-06-04T13:05:22.5144810Z       "id": "REQ-ARCH-1",
2026-06-04T13:05:22.5146347Z       "title": "Many small acyclically-layered crates",
2026-06-04T13:05:22.5148117Z       "requiredStages": [
2026-06-04T13:05:22.5149568Z         "impl"
2026-06-04T13:05:22.5150628Z       ],
2026-06-04T13:05:22.5151640Z       "stages": {
2026-06-04T13:05:22.5152736Z         "doc": {
2026-06-04T13:05:22.5153862Z           "complete": false,
2026-06-04T13:05:22.5155196Z           "evidence": []
2026-06-04T13:05:22.5156402Z         },
2026-06-04T13:05:22.5157423Z         "impl": {
2026-06-04T13:05:22.5158570Z           "complete": true,
2026-06-04T13:05:22.5159906Z           "evidence": [
2026-06-04T13:05:22.5161075Z             {
2026-06-04T13:05:22.5162284Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T13:05:22.5163921Z               "line": 16
2026-06-04T13:05:22.5165127Z             },
2026-06-04T13:05:22.5166173Z             {
2026-06-04T13:05:22.5167408Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T13:05:22.5169070Z               "line": 12
2026-06-04T13:05:22.5170323Z             },
2026-06-04T13:05:22.5171372Z             {
2026-06-04T13:05:22.5172596Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T13:05:22.5174260Z               "line": 12
2026-06-04T13:05:22.5175471Z             }
2026-06-04T13:05:22.5176495Z           ]
2026-06-04T13:05:22.5177489Z         },
2026-06-04T13:05:22.5178495Z         "int": {
2026-06-04T13:05:22.5179680Z           "complete": false,
2026-06-04T13:05:22.5181010Z           "evidence": []
2026-06-04T13:05:22.5182210Z         },
2026-06-04T13:05:22.5183228Z         "unit": {
2026-06-04T13:05:22.5184370Z           "complete": false,
2026-06-04T13:05:22.5185703Z           "evidence": []
2026-06-04T13:05:22.5186911Z         }
2026-06-04T13:05:22.5187903Z       }
2026-06-04T13:05:22.5188875Z     },
2026-06-04T13:05:22.5189885Z     {
2026-06-04T13:05:22.5190917Z       "id": "REQ-ARCH-2",
2026-06-04T13:05:22.5192685Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T13:05:22.5194762Z       "requiredStages": [
2026-06-04T13:05:22.5196009Z         "impl"
2026-06-04T13:05:22.5197114Z       ],
2026-06-04T13:05:22.5198140Z       "stages": {
2026-06-04T13:05:22.5199282Z         "doc": {
2026-06-04T13:05:22.5200420Z           "complete": false,
2026-06-04T13:05:22.5201735Z           "evidence": []
2026-06-04T13:05:22.5202937Z         },
2026-06-04T13:05:22.5203966Z         "impl": {
2026-06-04T13:05:22.5205111Z           "complete": true,
2026-06-04T13:05:22.5206422Z           "evidence": [
2026-06-04T13:05:22.5207599Z             {
2026-06-04T13:05:22.5208859Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T13:05:22.5210567Z               "line": 18
2026-06-04T13:05:22.5211775Z             }
2026-06-04T13:05:22.5212808Z           ]
2026-06-04T13:05:22.5213818Z         },
2026-06-04T13:05:22.5214842Z         "int": {
2026-06-04T13:05:22.5216027Z           "complete": false,
2026-06-04T13:05:22.5217412Z           "evidence": []
2026-06-04T13:05:22.5218633Z         },
2026-06-04T13:05:22.5219721Z         "unit": {
2026-06-04T13:05:22.5220871Z           "complete": false,
2026-06-04T13:05:22.5222212Z           "evidence": []
2026-06-04T13:05:22.5223431Z         }
2026-06-04T13:05:22.5224423Z       }
2026-06-04T13:05:22.5225399Z     },
2026-06-04T13:05:22.5226384Z     {
2026-06-04T13:05:22.5227431Z       "id": "REQ-ARCH-3",
2026-06-04T13:05:22.5229546Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T13:05:22.5231956Z       "requiredStages": [
2026-06-04T13:05:22.5233208Z         "impl",
2026-06-04T13:05:22.5234281Z         "unit"
2026-06-04T13:05:22.5235342Z       ],
2026-06-04T13:05:22.5236352Z       "stages": {
2026-06-04T13:05:22.5237456Z         "doc": {
2026-06-04T13:05:22.5238606Z           "complete": false,
2026-06-04T13:05:22.5240356Z           "evidence": []
2026-06-04T13:05:22.5241581Z         },
2026-06-04T13:05:22.5242612Z         "impl": {
2026-06-04T13:05:22.5243959Z           "complete": true,
2026-06-04T13:05:22.5245285Z           "evidence": [
2026-06-04T13:05:22.5246474Z             {
2026-06-04T13:05:22.5247771Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T13:05:22.5249696Z               "line": 34
2026-06-04T13:05:22.5250908Z             },
2026-06-04T13:05:22.5251956Z             {
2026-06-04T13:05:22.5253252Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T13:05:22.5254959Z               "line": 41
2026-06-04T13:05:22.5256152Z             }
2026-06-04T13:05:22.5257196Z           ]
2026-06-04T13:05:22.5258206Z         },
2026-06-04T13:05:22.5259268Z         "int": {
2026-06-04T13:05:22.5260414Z           "complete": false,
2026-06-04T13:05:22.5261756Z           "evidence": []
2026-06-04T13:05:22.5262960Z         },
2026-06-04T13:05:22.5263986Z         "unit": {
2026-06-04T13:05:22.5265134Z           "complete": true,
2026-06-04T13:05:22.5266428Z           "evidence": [
2026-06-04T13:05:22.5267600Z             {
2026-06-04T13:05:22.5268914Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T13:05:22.5270672Z               "line": 51
2026-06-04T13:05:22.5271890Z             },
2026-06-04T13:05:22.5272975Z             {
2026-06-04T13:05:22.5274264Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T13:05:22.5275958Z               "line": 65
2026-06-04T13:05:22.5277154Z             },
2026-06-04T13:05:22.5278208Z             {
2026-06-04T13:05:22.5279541Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T13:05:22.5281244Z               "line": 74
2026-06-04T13:05:22.5282454Z             }
2026-06-04T13:05:22.5283493Z           ]
2026-06-04T13:05:22.5284501Z         }
2026-06-04T13:05:22.5285490Z       }
2026-06-04T13:05:22.5286475Z     },
2026-06-04T13:05:22.5287453Z     {
2026-06-04T13:05:22.5288485Z       "id": "REQ-ARCH-4",
2026-06-04T13:05:22.5290338Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T13:05:22.5292494Z       "requiredStages": [
2026-06-04T13:05:22.5293764Z         "impl",
2026-06-04T13:05:22.5294830Z         "unit"
2026-06-04T13:05:22.5295887Z       ],
2026-06-04T13:05:22.5296896Z       "stages": {
2026-06-04T13:05:22.5298009Z         "doc": {
2026-06-04T13:05:22.5311097Z           "complete": false,
2026-06-04T13:05:22.5312512Z           "evidence": []
2026-06-04T13:05:22.5313723Z         },
2026-06-04T13:05:22.5314755Z         "impl": {
2026-06-04T13:05:22.5315910Z           "complete": true,
2026-06-04T13:05:22.5317191Z           "evidence": [
2026-06-04T13:05:22.5318375Z             {
2026-06-04T13:05:22.5319699Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5321368Z               "line": 63
2026-06-04T13:05:22.5322565Z             },
2026-06-04T13:05:22.5323620Z             {
2026-06-04T13:05:22.5324874Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5326535Z               "line": 77
2026-06-04T13:05:22.5327730Z             },
2026-06-04T13:05:22.5328834Z             {
2026-06-04T13:05:22.5330139Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5331791Z               "line": 97
2026-06-04T13:05:22.5332985Z             },
2026-06-04T13:05:22.5334051Z             {
2026-06-04T13:05:22.5335306Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5336946Z               "line": 112
2026-06-04T13:05:22.5338172Z             },
2026-06-04T13:05:22.5339250Z             {
2026-06-04T13:05:22.5340503Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5342159Z               "line": 162
2026-06-04T13:05:22.5343350Z             }
2026-06-04T13:05:22.5344387Z           ]
2026-06-04T13:05:22.5345403Z         },
2026-06-04T13:05:22.5346406Z         "int": {
2026-06-04T13:05:22.5347540Z           "complete": false,
2026-06-04T13:05:22.5348874Z           "evidence": []
2026-06-04T13:05:22.5350139Z         },
2026-06-04T13:05:22.5351154Z         "unit": {
2026-06-04T13:05:22.5352660Z           "complete": true,
2026-06-04T13:05:22.5353980Z           "evidence": [
2026-06-04T13:05:22.5355154Z             {
2026-06-04T13:05:22.5356401Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5358334Z               "line": 226
2026-06-04T13:05:22.5359594Z             },
2026-06-04T13:05:22.5360683Z             {
2026-06-04T13:05:22.5361967Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5363631Z               "line": 236
2026-06-04T13:05:22.5364847Z             },
2026-06-04T13:05:22.5365900Z             {
2026-06-04T13:05:22.5367147Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5368811Z               "line": 247
2026-06-04T13:05:22.5370086Z             },
2026-06-04T13:05:22.5371141Z             {
2026-06-04T13:05:22.5372397Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5374063Z               "line": 258
2026-06-04T13:05:22.5375282Z             },
2026-06-04T13:05:22.5376338Z             {
2026-06-04T13:05:22.5377604Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5379306Z               "line": 270
2026-06-04T13:05:22.5380530Z             },
2026-06-04T13:05:22.5381620Z             {
2026-06-04T13:05:22.5382873Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5384530Z               "line": 283
2026-06-04T13:05:22.5385752Z             },
2026-06-04T13:05:22.5386804Z             {
2026-06-04T13:05:22.5388055Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5389757Z               "line": 294
2026-06-04T13:05:22.5390971Z             },
2026-06-04T13:05:22.5392033Z             {
2026-06-04T13:05:22.5393276Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5394923Z               "line": 308
2026-06-04T13:05:22.5396139Z             },
2026-06-04T13:05:22.5397190Z             {
2026-06-04T13:05:22.5398447Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.5400150Z               "line": 336
2026-06-04T13:05:22.5401383Z             }
2026-06-04T13:05:22.5402431Z           ]
2026-06-04T13:05:22.5403442Z         }
2026-06-04T13:05:22.5404435Z       }
2026-06-04T13:05:22.5405412Z     },
2026-06-04T13:05:22.5406405Z     {
2026-06-04T13:05:22.5407436Z       "id": "REQ-DAEMON-1",
2026-06-04T13:05:22.5409274Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T13:05:22.5411396Z       "requiredStages": [
2026-06-04T13:05:22.5412656Z         "impl",
2026-06-04T13:05:22.5413744Z         "unit",
2026-06-04T13:05:22.5444691Z         "int"
2026-06-04T13:05:22.5446180Z       ],
2026-06-04T13:05:22.5447206Z       "stages": {
2026-06-04T13:05:22.5448305Z         "doc": {
2026-06-04T13:05:22.5449668Z           "complete": false,
2026-06-04T13:05:22.5451153Z           "evidence": []
2026-06-04T13:05:22.5452344Z         },
2026-06-04T13:05:22.5453359Z         "impl": {
2026-06-04T13:05:22.5454514Z           "complete": true,
2026-06-04T13:05:22.5455806Z           "evidence": [
2026-06-04T13:05:22.5457045Z             {
2026-06-04T13:05:22.5458329Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.5460337Z               "line": 12
2026-06-04T13:05:22.5461561Z             },
2026-06-04T13:05:22.5462620Z             {
2026-06-04T13:05:22.5463918Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5465677Z               "line": 16
2026-06-04T13:05:22.5466868Z             },
2026-06-04T13:05:22.5467919Z             {
2026-06-04T13:05:22.5469209Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T13:05:22.5471151Z               "line": 15
2026-06-04T13:05:22.5472344Z             },
2026-06-04T13:05:22.5473399Z             {
2026-06-04T13:05:22.5474617Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T13:05:22.5476232Z               "line": 13
2026-06-04T13:05:22.5477432Z             }
2026-06-04T13:05:22.5478467Z           ]
2026-06-04T13:05:22.5479678Z         },
2026-06-04T13:05:22.5480705Z         "int": {
2026-06-04T13:05:22.5482288Z           "complete": true,
2026-06-04T13:05:22.5483633Z           "evidence": [
2026-06-04T13:05:22.5484812Z             {
2026-06-04T13:05:22.5486155Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T13:05:22.5488104Z               "line": 32
2026-06-04T13:05:22.5489345Z             }
2026-06-04T13:05:22.5490396Z           ]
2026-06-04T13:05:22.5491396Z         },
2026-06-04T13:05:22.5492401Z         "unit": {
2026-06-04T13:05:22.5493537Z           "complete": true,
2026-06-04T13:05:22.5494817Z           "evidence": [
2026-06-04T13:05:22.5495981Z             {
2026-06-04T13:05:22.5497245Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.5498935Z               "line": 242
2026-06-04T13:05:22.5500186Z             },
2026-06-04T13:05:22.5501239Z             {
2026-06-04T13:05:22.5502514Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.5504203Z               "line": 250
2026-06-04T13:05:22.5505425Z             },
2026-06-04T13:05:22.5506482Z             {
2026-06-04T13:05:22.5507762Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.5509696Z               "line": 263
2026-06-04T13:05:22.5511075Z             },
2026-06-04T13:05:22.5512130Z             {
2026-06-04T13:05:22.5513414Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.5515085Z               "line": 271
2026-06-04T13:05:22.5516293Z             },
2026-06-04T13:05:22.5517352Z             {
2026-06-04T13:05:22.5518646Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5520413Z               "line": 528
2026-06-04T13:05:22.5521648Z             },
2026-06-04T13:05:22.5522699Z             {
2026-06-04T13:05:22.5523982Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5525713Z               "line": 587
2026-06-04T13:05:22.5526917Z             },
2026-06-04T13:05:22.5527973Z             {
2026-06-04T13:05:22.5529291Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T13:05:22.5530960Z               "line": 100
2026-06-04T13:05:22.5532177Z             },
2026-06-04T13:05:22.5533222Z             {
2026-06-04T13:05:22.5534492Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T13:05:22.5536154Z               "line": 125
2026-06-04T13:05:22.5537351Z             }
2026-06-04T13:05:22.5538381Z           ]
2026-06-04T13:05:22.5539422Z         }
2026-06-04T13:05:22.5540409Z       }
2026-06-04T13:05:22.5541383Z     },
2026-06-04T13:05:22.5542380Z     {
2026-06-04T13:05:22.5543414Z       "id": "REQ-DAEMON-2",
2026-06-04T13:05:22.5545024Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T13:05:22.5546853Z       "requiredStages": [
2026-06-04T13:05:22.5548084Z         "impl",
2026-06-04T13:05:22.5549129Z         "unit",
2026-06-04T13:05:22.5555710Z         "int"
2026-06-04T13:05:22.5556786Z       ],
2026-06-04T13:05:22.5557797Z       "stages": {
2026-06-04T13:05:22.5558878Z         "doc": {
2026-06-04T13:05:22.5560124Z           "complete": false,
2026-06-04T13:05:22.5561433Z           "evidence": []
2026-06-04T13:05:22.5562615Z         },
2026-06-04T13:05:22.5563617Z         "impl": {
2026-06-04T13:05:22.5564753Z           "complete": true,
2026-06-04T13:05:22.5566011Z           "evidence": [
2026-06-04T13:05:22.5567159Z             {
2026-06-04T13:05:22.5568394Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.5570100Z               "line": 23
2026-06-04T13:05:22.5571283Z             },
2026-06-04T13:05:22.5572313Z             {
2026-06-04T13:05:22.5573553Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.5575187Z               "line": 489
2026-06-04T13:05:22.5576377Z             },
2026-06-04T13:05:22.5577407Z             {
2026-06-04T13:05:22.5578653Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.5580349Z               "line": 612
2026-06-04T13:05:22.5581533Z             },
2026-06-04T13:05:22.5582561Z             {
2026-06-04T13:05:22.5584104Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.5585807Z               "line": 32
2026-06-04T13:05:22.5586986Z             },
2026-06-04T13:05:22.5588182Z             {
2026-06-04T13:05:22.5589491Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.5591164Z               "line": 191
2026-06-04T13:05:22.5592341Z             },
2026-06-04T13:05:22.5593372Z             {
2026-06-04T13:05:22.5594620Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.5596274Z               "line": 510
2026-06-04T13:05:22.5597449Z             },
2026-06-04T13:05:22.5598478Z             {
2026-06-04T13:05:22.5599778Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.5601432Z               "line": 679
2026-06-04T13:05:22.5602613Z             },
2026-06-04T13:05:22.5603632Z             {
2026-06-04T13:05:22.5604855Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T13:05:22.5606500Z               "line": 11
2026-06-04T13:05:22.5607680Z             },
2026-06-04T13:05:22.5608705Z             {
2026-06-04T13:05:22.5609989Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T13:05:22.5611659Z               "line": 53
2026-06-04T13:05:22.5612831Z             },
2026-06-04T13:05:22.5613860Z             {
2026-06-04T13:05:22.5615095Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.5616702Z               "line": 13
2026-06-04T13:05:22.5617872Z             },
2026-06-04T13:05:22.5618902Z             {
2026-06-04T13:05:22.5620207Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5621870Z               "line": 27
2026-06-04T13:05:22.5623058Z             },
2026-06-04T13:05:22.5624083Z             {
2026-06-04T13:05:22.5625342Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5627008Z               "line": 94
2026-06-04T13:05:22.5628171Z             },
2026-06-04T13:05:22.5629229Z             {
2026-06-04T13:05:22.5630504Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5632165Z               "line": 393
2026-06-04T13:05:22.5633355Z             },
2026-06-04T13:05:22.5634398Z             {
2026-06-04T13:05:22.5635679Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5637341Z               "line": 460
2026-06-04T13:05:22.5638527Z             },
2026-06-04T13:05:22.5639589Z             {
2026-06-04T13:05:22.5640844Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5642513Z               "line": 494
2026-06-04T13:05:22.5643720Z             },
2026-06-04T13:05:22.5644755Z             {
2026-06-04T13:05:22.5646012Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5647685Z               "line": 536
2026-06-04T13:05:22.5648873Z             },
2026-06-04T13:05:22.5649947Z             {
2026-06-04T13:05:22.5651210Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5652887Z               "line": 581
2026-06-04T13:05:22.5654078Z             },
2026-06-04T13:05:22.5655118Z             {
2026-06-04T13:05:22.5656395Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T13:05:22.5658097Z               "line": 10
2026-06-04T13:05:22.5663447Z             }
2026-06-04T13:05:22.5664580Z           ]
2026-06-04T13:05:22.5665573Z         },
2026-06-04T13:05:22.5666557Z         "int": {
2026-06-04T13:05:22.5667667Z           "complete": true,
2026-06-04T13:05:22.5668940Z           "evidence": [
2026-06-04T13:05:22.5670185Z             {
2026-06-04T13:05:22.5671450Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T13:05:22.5673116Z               "line": 17
2026-06-04T13:05:22.5674285Z             },
2026-06-04T13:05:22.5675322Z             {
2026-06-04T13:05:22.5676623Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T13:05:22.5678334Z               "line": 33
2026-06-04T13:05:22.5679604Z             },
2026-06-04T13:05:22.5680934Z             {
2026-06-04T13:05:22.5682262Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T13:05:22.5683958Z               "line": 19
2026-06-04T13:05:22.5685355Z             },
2026-06-04T13:05:22.5686381Z             {
2026-06-04T13:05:22.5687676Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T13:05:22.5689442Z               "line": 70
2026-06-04T13:05:22.5690619Z             },
2026-06-04T13:05:22.5691646Z             {
2026-06-04T13:05:22.5692946Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T13:05:22.5694673Z               "line": 90
2026-06-04T13:05:22.5695853Z             },
2026-06-04T13:05:22.5696887Z             {
2026-06-04T13:05:22.5698188Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T13:05:22.5699963Z               "line": 160
2026-06-04T13:05:22.5701142Z             },
2026-06-04T13:05:22.5702178Z             {
2026-06-04T13:05:22.5703501Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T13:05:22.5705220Z               "line": 196
2026-06-04T13:05:22.5706397Z             },
2026-06-04T13:05:22.5707422Z             {
2026-06-04T13:05:22.5708725Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T13:05:22.5710506Z               "line": 121
2026-06-04T13:05:22.5711668Z             }
2026-06-04T13:05:22.5712688Z           ]
2026-06-04T13:05:22.5713664Z         },
2026-06-04T13:05:22.5714653Z         "unit": {
2026-06-04T13:05:22.5715775Z           "complete": true,
2026-06-04T13:05:22.5717072Z           "evidence": [
2026-06-04T13:05:22.5718242Z             {
2026-06-04T13:05:22.5719529Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T13:05:22.5721163Z               "line": 62
2026-06-04T13:05:22.5722338Z             },
2026-06-04T13:05:22.5723376Z             {
2026-06-04T13:05:22.5724607Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T13:05:22.5726230Z               "line": 76
2026-06-04T13:05:22.5727413Z             },
2026-06-04T13:05:22.5728447Z             {
2026-06-04T13:05:22.5729724Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T13:05:22.5731356Z               "line": 88
2026-06-04T13:05:22.5732537Z             },
2026-06-04T13:05:22.5733579Z             {
2026-06-04T13:05:22.5734828Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T13:05:22.5736472Z               "line": 264
2026-06-04T13:05:22.5737662Z             },
2026-06-04T13:05:22.5738687Z             {
2026-06-04T13:05:22.5739926Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.5741531Z               "line": 506
2026-06-04T13:05:22.5742706Z             },
2026-06-04T13:05:22.5743735Z             {
2026-06-04T13:05:22.5744951Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.5746553Z               "line": 514
2026-06-04T13:05:22.5747729Z             },
2026-06-04T13:05:22.5748753Z             {
2026-06-04T13:05:22.5750013Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.5751616Z               "line": 531
2026-06-04T13:05:22.5752804Z             },
2026-06-04T13:05:22.5753835Z             {
2026-06-04T13:05:22.5755049Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.5756675Z               "line": 576
2026-06-04T13:05:22.5757862Z             },
2026-06-04T13:05:22.5758901Z             {
2026-06-04T13:05:22.5760200Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5761851Z               "line": 648
2026-06-04T13:05:22.5763039Z             },
2026-06-04T13:05:22.5764061Z             {
2026-06-04T13:05:22.5765322Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.5766967Z               "line": 660
2026-06-04T13:05:22.5772304Z             },
2026-06-04T13:05:22.5773423Z             {
2026-06-04T13:05:22.5774711Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T13:05:22.5776404Z               "line": 112
2026-06-04T13:05:22.5777851Z             }
2026-06-04T13:05:22.5778898Z           ]
2026-06-04T13:05:22.5779947Z         }
2026-06-04T13:05:22.5780921Z       }
2026-06-04T13:05:22.5781869Z     },
2026-06-04T13:05:22.5782821Z     {
2026-06-04T13:05:22.5783981Z       "id": "REQ-DAEMON-3",
2026-06-04T13:05:22.5785650Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T13:05:22.5787595Z       "requiredStages": [
2026-06-04T13:05:22.5788808Z         "impl",
2026-06-04T13:05:22.5789902Z         "unit",
2026-06-04T13:05:22.5790943Z         "int"
2026-06-04T13:05:22.5791955Z       ],
2026-06-04T13:05:22.5792926Z       "stages": {
2026-06-04T13:05:22.5793994Z         "doc": {
2026-06-04T13:05:22.5795095Z           "complete": false,
2026-06-04T13:05:22.5796381Z           "evidence": []
2026-06-04T13:05:22.5797539Z         },
2026-06-04T13:05:22.5798527Z         "impl": {
2026-06-04T13:05:22.5799684Z           "complete": true,
2026-06-04T13:05:22.5800950Z           "evidence": [
2026-06-04T13:05:22.5802088Z             {
2026-06-04T13:05:22.5803348Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T13:05:22.5804995Z               "line": 14
2026-06-04T13:05:22.5806157Z             },
2026-06-04T13:05:22.5807191Z             {
2026-06-04T13:05:22.5808450Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T13:05:22.5810166Z               "line": 11
2026-06-04T13:05:22.5811337Z             },
2026-06-04T13:05:22.5812364Z             {
2026-06-04T13:05:22.5813528Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T13:05:22.5815112Z               "line": 209
2026-06-04T13:05:22.5816281Z             },
2026-06-04T13:05:22.5817293Z             {
2026-06-04T13:05:22.5818428Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.5820000Z               "line": 362
2026-06-04T13:05:22.5821174Z             }
2026-06-04T13:05:22.5822196Z           ]
2026-06-04T13:05:22.5823173Z         },
2026-06-04T13:05:22.5824153Z         "int": {
2026-06-04T13:05:22.5825267Z           "complete": true,
2026-06-04T13:05:22.5826517Z           "evidence": [
2026-06-04T13:05:22.5827648Z             {
2026-06-04T13:05:22.5828893Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.5830572Z               "line": 43
2026-06-04T13:05:22.5831744Z             },
2026-06-04T13:05:22.5832757Z             {
2026-06-04T13:05:22.5834006Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.5835644Z               "line": 320
2026-06-04T13:05:22.5836823Z             }
2026-06-04T13:05:22.5837832Z           ]
2026-06-04T13:05:22.5838799Z         },
2026-06-04T13:05:22.5839825Z         "unit": {
2026-06-04T13:05:22.5840941Z           "complete": true,
2026-06-04T13:05:22.5842205Z           "evidence": [
2026-06-04T13:05:22.5843345Z             {
2026-06-04T13:05:22.5844578Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T13:05:22.5846219Z               "line": 242
2026-06-04T13:05:22.5847385Z             }
2026-06-04T13:05:22.5848394Z           ]
2026-06-04T13:05:22.5849436Z         }
2026-06-04T13:05:22.5850396Z       }
2026-06-04T13:05:22.5851335Z     },
2026-06-04T13:05:22.5852281Z     {
2026-06-04T13:05:22.5853282Z       "id": "REQ-DAEMON-4",
2026-06-04T13:05:22.5854748Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T13:05:22.5856423Z       "requiredStages": [
2026-06-04T13:05:22.5857630Z         "impl",
2026-06-04T13:05:22.5858672Z         "unit",
2026-06-04T13:05:22.5859740Z         "int"
2026-06-04T13:05:22.5860743Z       ],
2026-06-04T13:05:22.5861732Z       "stages": {
2026-06-04T13:05:22.5862805Z         "doc": {
2026-06-04T13:05:22.5863903Z           "complete": false,
2026-06-04T13:05:22.5865180Z           "evidence": []
2026-06-04T13:05:22.5866348Z         },
2026-06-04T13:05:22.5867328Z         "impl": {
2026-06-04T13:05:22.5868437Z           "complete": true,
2026-06-04T13:05:22.5873772Z           "evidence": [
2026-06-04T13:05:22.5874953Z             {
2026-06-04T13:05:22.5876486Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5878193Z               "line": 339
2026-06-04T13:05:22.5879466Z             },
2026-06-04T13:05:22.5880545Z             {
2026-06-04T13:05:22.5882069Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5883767Z               "line": 401
2026-06-04T13:05:22.5884937Z             },
2026-06-04T13:05:22.5885952Z             {
2026-06-04T13:05:22.5887203Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5888897Z               "line": 423
2026-06-04T13:05:22.5890134Z             }
2026-06-04T13:05:22.5891158Z           ]
2026-06-04T13:05:22.5892142Z         },
2026-06-04T13:05:22.5893125Z         "int": {
2026-06-04T13:05:22.5894228Z           "complete": true,
2026-06-04T13:05:22.5895476Z           "evidence": [
2026-06-04T13:05:22.5896608Z             {
2026-06-04T13:05:22.5897922Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T13:05:22.5899696Z               "line": 34
2026-06-04T13:05:22.5900896Z             }
2026-06-04T13:05:22.5901908Z           ]
2026-06-04T13:05:22.5902890Z         },
2026-06-04T13:05:22.5904044Z         "unit": {
2026-06-04T13:05:22.5905556Z           "complete": true,
2026-06-04T13:05:22.5907473Z           "evidence": [
2026-06-04T13:05:22.5909010Z             {
2026-06-04T13:05:22.5910901Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.5912731Z               "line": 340
2026-06-04T13:05:22.5913896Z             },
2026-06-04T13:05:22.5914916Z             {
2026-06-04T13:05:22.5916180Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5917859Z               "line": 717
2026-06-04T13:05:22.5919041Z             },
2026-06-04T13:05:22.5920124Z             {
2026-06-04T13:05:22.5921396Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5923059Z               "line": 768
2026-06-04T13:05:22.5924231Z             },
2026-06-04T13:05:22.5925249Z             {
2026-06-04T13:05:22.5926550Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5928243Z               "line": 792
2026-06-04T13:05:22.5929467Z             },
2026-06-04T13:05:22.5930480Z             {
2026-06-04T13:05:22.5931771Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.5933430Z               "line": 822
2026-06-04T13:05:22.5934603Z             }
2026-06-04T13:05:22.5935609Z           ]
2026-06-04T13:05:22.5936589Z         }
2026-06-04T13:05:22.5937564Z       }
2026-06-04T13:05:22.5938514Z     },
2026-06-04T13:05:22.5939507Z     {
2026-06-04T13:05:22.5940556Z       "id": "REQ-DOCS-1",
2026-06-04T13:05:22.5942513Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T13:05:22.5944800Z       "requiredStages": [],
2026-06-04T13:05:22.5946048Z       "stages": {
2026-06-04T13:05:22.5947123Z         "doc": {
2026-06-04T13:05:22.5948238Z           "complete": false,
2026-06-04T13:05:22.5949556Z           "evidence": []
2026-06-04T13:05:22.5950747Z         },
2026-06-04T13:05:22.5951726Z         "impl": {
2026-06-04T13:05:22.5952861Z           "complete": false,
2026-06-04T13:05:22.5954131Z           "evidence": []
2026-06-04T13:05:22.5955330Z         },
2026-06-04T13:05:22.5956318Z         "int": {
2026-06-04T13:05:22.5957414Z           "complete": false,
2026-06-04T13:05:22.5958691Z           "evidence": []
2026-06-04T13:05:22.5959894Z         },
2026-06-04T13:05:22.5960890Z         "unit": {
2026-06-04T13:05:22.5962002Z           "complete": false,
2026-06-04T13:05:22.5963302Z           "evidence": []
2026-06-04T13:05:22.5964467Z         }
2026-06-04T13:05:22.5965433Z       }
2026-06-04T13:05:22.5966381Z     },
2026-06-04T13:05:22.5967339Z     {
2026-06-04T13:05:22.5968335Z       "id": "REQ-DOCS-2",
2026-06-04T13:05:22.5970041Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T13:05:22.5972012Z       "requiredStages": [],
2026-06-04T13:05:22.5973263Z       "stages": {
2026-06-04T13:05:22.5974642Z         "doc": {
2026-06-04T13:05:22.5975807Z           "complete": false,
2026-06-04T13:05:22.5977084Z           "evidence": []
2026-06-04T13:05:22.5983665Z         },
2026-06-04T13:05:22.5985042Z         "impl": {
2026-06-04T13:05:22.5986179Z           "complete": false,
2026-06-04T13:05:22.5987475Z           "evidence": []
2026-06-04T13:05:22.5988643Z         },
2026-06-04T13:05:22.5989859Z         "int": {
2026-06-04T13:05:22.5990998Z           "complete": false,
2026-06-04T13:05:22.5992287Z           "evidence": []
2026-06-04T13:05:22.5993458Z         },
2026-06-04T13:05:22.5994452Z         "unit": {
2026-06-04T13:05:22.5995565Z           "complete": false,
2026-06-04T13:05:22.5996851Z           "evidence": []
2026-06-04T13:05:22.5998013Z         }
2026-06-04T13:05:22.5998990Z       }
2026-06-04T13:05:22.6000011Z     },
2026-06-04T13:05:22.6000969Z     {
2026-06-04T13:05:22.6001970Z       "id": "REQ-DOCS-3",
2026-06-04T13:05:22.6004050Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T13:05:22.6005960Z       "requiredStages": [],
2026-06-04T13:05:22.6007198Z       "stages": {
2026-06-04T13:05:22.6008259Z         "doc": {
2026-06-04T13:05:22.6009429Z           "complete": false,
2026-06-04T13:05:22.6010727Z           "evidence": []
2026-06-04T13:05:22.6011906Z         },
2026-06-04T13:05:22.6012893Z         "impl": {
2026-06-04T13:05:22.6014007Z           "complete": false,
2026-06-04T13:05:22.6015280Z           "evidence": []
2026-06-04T13:05:22.6016444Z         },
2026-06-04T13:05:22.6017424Z         "int": {
2026-06-04T13:05:22.6018522Z           "complete": false,
2026-06-04T13:05:22.6019850Z           "evidence": []
2026-06-04T13:05:22.6021016Z         },
2026-06-04T13:05:22.6022010Z         "unit": {
2026-06-04T13:05:22.6023105Z           "complete": false,
2026-06-04T13:05:22.6024375Z           "evidence": []
2026-06-04T13:05:22.6025539Z         }
2026-06-04T13:05:22.6026497Z       }
2026-06-04T13:05:22.6027441Z     },
2026-06-04T13:05:22.6028386Z     {
2026-06-04T13:05:22.6029442Z       "id": "REQ-DOCS-4",
2026-06-04T13:05:22.6031360Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T13:05:22.6033621Z       "requiredStages": [],
2026-06-04T13:05:22.6034883Z       "stages": {
2026-06-04T13:05:22.6035943Z         "doc": {
2026-06-04T13:05:22.6037036Z           "complete": false,
2026-06-04T13:05:22.6038319Z           "evidence": []
2026-06-04T13:05:22.6039601Z         },
2026-06-04T13:05:22.6040595Z         "impl": {
2026-06-04T13:05:22.6041714Z           "complete": false,
2026-06-04T13:05:22.6043009Z           "evidence": []
2026-06-04T13:05:22.6044175Z         },
2026-06-04T13:05:22.6045160Z         "int": {
2026-06-04T13:05:22.6046258Z           "complete": false,
2026-06-04T13:05:22.6047533Z           "evidence": []
2026-06-04T13:05:22.6048694Z         },
2026-06-04T13:05:22.6049723Z         "unit": {
2026-06-04T13:05:22.6050836Z           "complete": false,
2026-06-04T13:05:22.6052114Z           "evidence": []
2026-06-04T13:05:22.6053308Z         }
2026-06-04T13:05:22.6054289Z       }
2026-06-04T13:05:22.6055227Z     },
2026-06-04T13:05:22.6056182Z     {
2026-06-04T13:05:22.6057172Z       "id": "REQ-DOCS-5",
2026-06-04T13:05:22.6059117Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T13:05:22.6061414Z       "requiredStages": [],
2026-06-04T13:05:22.6062666Z       "stages": {
2026-06-04T13:05:22.6063729Z         "doc": {
2026-06-04T13:05:22.6064822Z           "complete": false,
2026-06-04T13:05:22.6066102Z           "evidence": []
2026-06-04T13:05:22.6067275Z         },
2026-06-04T13:05:22.6068269Z         "impl": {
2026-06-04T13:05:22.6069422Z           "complete": false,
2026-06-04T13:05:22.6070694Z           "evidence": []
2026-06-04T13:05:22.6071859Z         },
2026-06-04T13:05:22.6072849Z         "int": {
2026-06-04T13:05:22.6073967Z           "complete": false,
2026-06-04T13:05:22.6075241Z           "evidence": []
2026-06-04T13:05:22.6076411Z         },
2026-06-04T13:05:22.6077703Z         "unit": {
2026-06-04T13:05:22.6078848Z           "complete": false,
2026-06-04T13:05:22.6080169Z           "evidence": []
2026-06-04T13:05:22.6081332Z         }
2026-06-04T13:05:22.6086798Z       }
2026-06-04T13:05:22.6087798Z     },
2026-06-04T13:05:22.6088772Z     {
2026-06-04T13:05:22.6089858Z       "id": "REQ-EP-1",
2026-06-04T13:05:22.6091306Z       "title": "Day-one endpoint types; open type system",
2026-06-04T13:05:22.6093032Z       "requiredStages": [
2026-06-04T13:05:22.6094233Z         "impl",
2026-06-04T13:05:22.6095276Z         "unit"
2026-06-04T13:05:22.6096299Z       ],
2026-06-04T13:05:22.6097281Z       "stages": {
2026-06-04T13:05:22.6098342Z         "doc": {
2026-06-04T13:05:22.6099487Z           "complete": false,
2026-06-04T13:05:22.6100778Z           "evidence": []
2026-06-04T13:05:22.6101946Z         },
2026-06-04T13:05:22.6102932Z         "impl": {
2026-06-04T13:05:22.6104051Z           "complete": true,
2026-06-04T13:05:22.6105292Z           "evidence": [
2026-06-04T13:05:22.6106466Z             {
2026-06-04T13:05:22.6107710Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6109401Z               "line": 77
2026-06-04T13:05:22.6110561Z             },
2026-06-04T13:05:22.6111600Z             {
2026-06-04T13:05:22.6112844Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6114488Z               "line": 94
2026-06-04T13:05:22.6115640Z             }
2026-06-04T13:05:22.6116648Z           ]
2026-06-04T13:05:22.6117620Z         },
2026-06-04T13:05:22.6118602Z         "int": {
2026-06-04T13:05:22.6119740Z           "complete": false,
2026-06-04T13:05:22.6121013Z           "evidence": []
2026-06-04T13:05:22.6122167Z         },
2026-06-04T13:05:22.6123146Z         "unit": {
2026-06-04T13:05:22.6124242Z           "complete": true,
2026-06-04T13:05:22.6125473Z           "evidence": [
2026-06-04T13:05:22.6126596Z             {
2026-06-04T13:05:22.6127839Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6129541Z               "line": 161
2026-06-04T13:05:22.6130753Z             },
2026-06-04T13:05:22.6131766Z             {
2026-06-04T13:05:22.6133007Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6134676Z               "line": 178
2026-06-04T13:05:22.6135835Z             }
2026-06-04T13:05:22.6136829Z           ]
2026-06-04T13:05:22.6137798Z         }
2026-06-04T13:05:22.6138750Z       }
2026-06-04T13:05:22.6139750Z     },
2026-06-04T13:05:22.6140708Z     {
2026-06-04T13:05:22.6141692Z       "id": "REQ-EP-2",
2026-06-04T13:05:22.6143340Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T13:05:22.6145345Z       "requiredStages": [
2026-06-04T13:05:22.6146558Z         "impl",
2026-06-04T13:05:22.6147600Z         "unit"
2026-06-04T13:05:22.6148612Z       ],
2026-06-04T13:05:22.6149632Z       "stages": {
2026-06-04T13:05:22.6150685Z         "doc": {
2026-06-04T13:05:22.6151793Z           "complete": false,
2026-06-04T13:05:22.6153087Z           "evidence": []
2026-06-04T13:05:22.6154254Z         },
2026-06-04T13:05:22.6155237Z         "impl": {
2026-06-04T13:05:22.6156327Z           "complete": true,
2026-06-04T13:05:22.6157567Z           "evidence": [
2026-06-04T13:05:22.6158704Z             {
2026-06-04T13:05:22.6160004Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6161668Z               "line": 114
2026-06-04T13:05:22.6162838Z             },
2026-06-04T13:05:22.6163844Z             {
2026-06-04T13:05:22.6165065Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6166710Z               "line": 131
2026-06-04T13:05:22.6167874Z             },
2026-06-04T13:05:22.6168879Z             {
2026-06-04T13:05:22.6170181Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6171811Z               "line": 138
2026-06-04T13:05:22.6172983Z             }
2026-06-04T13:05:22.6173996Z           ]
2026-06-04T13:05:22.6174974Z         },
2026-06-04T13:05:22.6175952Z         "int": {
2026-06-04T13:05:22.6177286Z           "complete": false,
2026-06-04T13:05:22.6178606Z           "evidence": []
2026-06-04T13:05:22.6179825Z         },
2026-06-04T13:05:22.6180822Z         "unit": {
2026-06-04T13:05:22.6182066Z           "complete": true,
2026-06-04T13:05:22.6187450Z           "evidence": [
2026-06-04T13:05:22.6188637Z             {
2026-06-04T13:05:22.6189994Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6191627Z               "line": 193
2026-06-04T13:05:22.6192794Z             },
2026-06-04T13:05:22.6193814Z             {
2026-06-04T13:05:22.6195060Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6196701Z               "line": 211
2026-06-04T13:05:22.6197868Z             },
2026-06-04T13:05:22.6198892Z             {
2026-06-04T13:05:22.6200168Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T13:05:22.6201801Z               "line": 224
2026-06-04T13:05:22.6202960Z             }
2026-06-04T13:05:22.6203996Z           ]
2026-06-04T13:05:22.6204967Z         }
2026-06-04T13:05:22.6205932Z       }
2026-06-04T13:05:22.6206863Z     },
2026-06-04T13:05:22.6207800Z     {
2026-06-04T13:05:22.6208782Z       "id": "REQ-EP-3",
2026-06-04T13:05:22.6210642Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T13:05:22.6211139Z       "requiredStages": [
2026-06-04T13:05:22.6211570Z         "impl",
2026-06-04T13:05:22.6212004Z         "unit"
2026-06-04T13:05:22.6212423Z       ],
2026-06-04T13:05:22.6212865Z       "stages": {
2026-06-04T13:05:22.6213293Z         "doc": {
2026-06-04T13:05:22.6213774Z           "complete": false,
2026-06-04T13:05:22.6214243Z           "evidence": []
2026-06-04T13:05:22.6214658Z         },
2026-06-04T13:05:22.6215089Z         "impl": {
2026-06-04T13:05:22.6215558Z           "complete": true,
2026-06-04T13:05:22.6216015Z           "evidence": [
2026-06-04T13:05:22.6216440Z             {
2026-06-04T13:05:22.6217154Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6217634Z               "line": 31
2026-06-04T13:05:22.6218094Z             },
2026-06-04T13:05:22.6218537Z             {
2026-06-04T13:05:22.6219253Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6219730Z               "line": 49
2026-06-04T13:05:22.6220159Z             }
2026-06-04T13:05:22.6220591Z           ]
2026-06-04T13:05:22.6221017Z         },
2026-06-04T13:05:22.6221452Z         "int": {
2026-06-04T13:05:22.6221934Z           "complete": false,
2026-06-04T13:05:22.6222395Z           "evidence": []
2026-06-04T13:05:22.6222823Z         },
2026-06-04T13:05:22.6223255Z         "unit": {
2026-06-04T13:05:22.6223733Z           "complete": true,
2026-06-04T13:05:22.6224191Z           "evidence": [
2026-06-04T13:05:22.6224614Z             {
2026-06-04T13:05:22.6225273Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6225730Z               "line": 156
2026-06-04T13:05:22.6226156Z             },
2026-06-04T13:05:22.6226590Z             {
2026-06-04T13:05:22.6227249Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6227710Z               "line": 164
2026-06-04T13:05:22.6228125Z             },
2026-06-04T13:05:22.6228556Z             {
2026-06-04T13:05:22.6229271Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6229753Z               "line": 177
2026-06-04T13:05:22.6230199Z             },
2026-06-04T13:05:22.6230626Z             {
2026-06-04T13:05:22.6231284Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6231734Z               "line": 197
2026-06-04T13:05:22.6232169Z             },
2026-06-04T13:05:22.6232591Z             {
2026-06-04T13:05:22.6233250Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6233712Z               "line": 213
2026-06-04T13:05:22.6234136Z             },
2026-06-04T13:05:22.6234556Z             {
2026-06-04T13:05:22.6235207Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T13:05:22.6235896Z               "line": 227
2026-06-04T13:05:22.6236348Z             }
2026-06-04T13:05:22.6236780Z           ]
2026-06-04T13:05:22.6237207Z         }
2026-06-04T13:05:22.6237625Z       }
2026-06-04T13:05:22.6238189Z     },
2026-06-04T13:05:22.6238610Z     {
2026-06-04T13:05:22.6239076Z       "id": "REQ-EP-4",
2026-06-04T13:05:22.6239967Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T13:05:22.6240465Z       "requiredStages": [
2026-06-04T13:05:22.6240904Z         "impl",
2026-06-04T13:05:22.6241329Z         "unit"
2026-06-04T13:05:22.6241755Z       ],
2026-06-04T13:05:22.6242195Z       "stages": {
2026-06-04T13:05:22.6242630Z         "doc": {
2026-06-04T13:05:22.6243105Z           "complete": false,
2026-06-04T13:05:22.6243566Z           "evidence": []
2026-06-04T13:05:22.6243980Z         },
2026-06-04T13:05:22.6244419Z         "impl": {
2026-06-04T13:05:22.6244892Z           "complete": true,
2026-06-04T13:05:22.6245345Z           "evidence": [
2026-06-04T13:05:22.6245794Z             {
2026-06-04T13:05:22.6246421Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.6246884Z               "line": 419
2026-06-04T13:05:22.6247302Z             },
2026-06-04T13:05:22.6247743Z             {
2026-06-04T13:05:22.6248379Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.6248827Z               "line": 631
2026-06-04T13:05:22.6249287Z             },
2026-06-04T13:05:22.6249704Z             {
2026-06-04T13:05:22.6250354Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.6250812Z               "line": 696
2026-06-04T13:05:22.6251242Z             },
2026-06-04T13:05:22.6251663Z             {
2026-06-04T13:05:22.6252267Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.6252729Z               "line": 83
2026-06-04T13:05:22.6253156Z             },
2026-06-04T13:05:22.6253583Z             {
2026-06-04T13:05:22.6254196Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.6254662Z               "line": 407
2026-06-04T13:05:22.6255098Z             },
2026-06-04T13:05:22.6255517Z             {
2026-06-04T13:05:22.6256122Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.6256584Z               "line": 478
2026-06-04T13:05:22.6257014Z             },
2026-06-04T13:05:22.6257439Z             {
2026-06-04T13:05:22.6258092Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.6258545Z               "line": 181
2026-06-04T13:05:22.6258965Z             },
2026-06-04T13:05:22.6259436Z             {
2026-06-04T13:05:22.6260098Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.6260563Z               "line": 306
2026-06-04T13:05:22.6260995Z             },
2026-06-04T13:05:22.6261409Z             {
2026-06-04T13:05:22.6262067Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T13:05:22.6262524Z               "line": 613
2026-06-04T13:05:22.6262955Z             }
2026-06-04T13:05:22.6263383Z           ]
2026-06-04T13:05:22.6263811Z         },
2026-06-04T13:05:22.6264255Z         "int": {
2026-06-04T13:05:22.6264730Z           "complete": false,
2026-06-04T13:05:22.6265194Z           "evidence": []
2026-06-04T13:05:22.6265626Z         },
2026-06-04T13:05:22.6266061Z         "unit": {
2026-06-04T13:05:22.6266535Z           "complete": true,
2026-06-04T13:05:22.6266993Z           "evidence": [
2026-06-04T13:05:22.6267414Z             {
2026-06-04T13:05:22.6268021Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T13:05:22.6268485Z               "line": 551
2026-06-04T13:05:22.6268908Z             },
2026-06-04T13:05:22.6269369Z             {
2026-06-04T13:05:22.6270060Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T13:05:22.6274641Z               "line": 75
2026-06-04T13:05:22.6275085Z             },
2026-06-04T13:05:22.6275509Z             {
2026-06-04T13:05:22.6276231Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T13:05:22.6276966Z               "line": 131
2026-06-04T13:05:22.6277420Z             }
2026-06-04T13:05:22.6277838Z           ]
2026-06-04T13:05:22.6278271Z         }
2026-06-04T13:05:22.6278692Z       }
2026-06-04T13:05:22.6279337Z     },
2026-06-04T13:05:22.6279766Z     {
2026-06-04T13:05:22.6280223Z       "id": "REQ-EP-5",
2026-06-04T13:05:22.6284739Z       "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-04T13:05:22.6285246Z       "requiredStages": [],
2026-06-04T13:05:22.6285681Z       "stages": {
2026-06-04T13:05:22.6286120Z         "doc": {
2026-06-04T13:05:22.6286602Z           "complete": false,
2026-06-04T13:05:22.6287073Z           "evidence": []
2026-06-04T13:05:22.6287498Z         },
2026-06-04T13:05:22.6287936Z         "impl": {
2026-06-04T13:05:22.6288418Z           "complete": false,
2026-06-04T13:05:22.6288892Z           "evidence": []
2026-06-04T13:05:22.6289358Z         },
2026-06-04T13:05:22.6289786Z         "int": {
2026-06-04T13:05:22.6290271Z           "complete": false,
2026-06-04T13:05:22.6290746Z           "evidence": []
2026-06-04T13:05:22.6291182Z         },
2026-06-04T13:05:22.6291618Z         "unit": {
2026-06-04T13:05:22.6292100Z           "complete": false,
2026-06-04T13:05:22.6292567Z           "evidence": []
2026-06-04T13:05:22.6292989Z         }
2026-06-04T13:05:22.6293418Z       }
2026-06-04T13:05:22.6293838Z     },
2026-06-04T13:05:22.6294260Z     {
2026-06-04T13:05:22.6294733Z       "id": "REQ-FRONT-1",
2026-06-04T13:05:22.6295755Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T13:05:22.6296248Z       "requiredStages": [],
2026-06-04T13:05:22.6296683Z       "stages": {
2026-06-04T13:05:22.6297112Z         "doc": {
2026-06-04T13:05:22.6297586Z           "complete": false,
2026-06-04T13:05:22.6298046Z           "evidence": []
2026-06-04T13:05:22.6298478Z         },
2026-06-04T13:05:22.6298915Z         "impl": {
2026-06-04T13:05:22.6299436Z           "complete": false,
2026-06-04T13:05:22.6299900Z           "evidence": []
2026-06-04T13:05:22.6300350Z         },
2026-06-04T13:05:22.6300779Z         "int": {
2026-06-04T13:05:22.6301261Z           "complete": false,
2026-06-04T13:05:22.6301725Z           "evidence": []
2026-06-04T13:05:22.6302143Z         },
2026-06-04T13:05:22.6302578Z         "unit": {
2026-06-04T13:05:22.6303052Z           "complete": false,
2026-06-04T13:05:22.6303513Z           "evidence": []
2026-06-04T13:05:22.6303932Z         }
2026-06-04T13:05:22.6304359Z       }
2026-06-04T13:05:22.6304779Z     },
2026-06-04T13:05:22.6305200Z     {
2026-06-04T13:05:22.6305818Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T13:05:22.6306804Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T13:05:22.6307297Z       "requiredStages": [
2026-06-04T13:05:22.6307725Z         "impl",
2026-06-04T13:05:22.6308168Z         "unit"
2026-06-04T13:05:22.6308593Z       ],
2026-06-04T13:05:22.6309032Z       "stages": {
2026-06-04T13:05:22.6309509Z         "doc": {
2026-06-04T13:05:22.6309985Z           "complete": false,
2026-06-04T13:05:22.6310461Z           "evidence": []
2026-06-04T13:05:22.6310880Z         },
2026-06-04T13:05:22.6311319Z         "impl": {
2026-06-04T13:05:22.6311791Z           "complete": true,
2026-06-04T13:05:22.6312253Z           "evidence": [
2026-06-04T13:05:22.6312680Z             {
2026-06-04T13:05:22.6313326Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.6313784Z               "line": 119
2026-06-04T13:05:22.6314202Z             },
2026-06-04T13:05:22.6314627Z             {
2026-06-04T13:05:22.6315241Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.6315695Z               "line": 18
2026-06-04T13:05:22.6316123Z             },
2026-06-04T13:05:22.6316546Z             {
2026-06-04T13:05:22.6317310Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.6317790Z               "line": 94
2026-06-04T13:05:22.6318223Z             }
2026-06-04T13:05:22.6318650Z           ]
2026-06-04T13:05:22.6319074Z         },
2026-06-04T13:05:22.6319697Z         "int": {
2026-06-04T13:05:22.6320179Z           "complete": false,
2026-06-04T13:05:22.6320642Z           "evidence": []
2026-06-04T13:05:22.6321066Z         },
2026-06-04T13:05:22.6321504Z         "unit": {
2026-06-04T13:05:22.6321988Z           "complete": true,
2026-06-04T13:05:22.6322437Z           "evidence": [
2026-06-04T13:05:22.6322865Z             {
2026-06-04T13:05:22.6323520Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.6323980Z               "line": 363
2026-06-04T13:05:22.6324413Z             },
2026-06-04T13:05:22.6324845Z             {
2026-06-04T13:05:22.6325455Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.6325913Z               "line": 152
2026-06-04T13:05:22.6326348Z             },
2026-06-04T13:05:22.6326787Z             {
2026-06-04T13:05:22.6327404Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.6327857Z               "line": 188
2026-06-04T13:05:22.6328285Z             }
2026-06-04T13:05:22.6328732Z           ]
2026-06-04T13:05:22.6329149Z         }
2026-06-04T13:05:22.6329620Z       }
2026-06-04T13:05:22.6330032Z     },
2026-06-04T13:05:22.6330449Z     {
2026-06-04T13:05:22.6331100Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T13:05:22.6334870Z       "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-04T13:05:22.6335377Z       "requiredStages": [
2026-06-04T13:05:22.6335808Z         "impl",
2026-06-04T13:05:22.6336240Z         "unit"
2026-06-04T13:05:22.6336656Z       ],
2026-06-04T13:05:22.6337100Z       "stages": {
2026-06-04T13:05:22.6337522Z         "doc": {
2026-06-04T13:05:22.6338020Z           "complete": false,
2026-06-04T13:05:22.6338486Z           "evidence": []
2026-06-04T13:05:22.6338899Z         },
2026-06-04T13:05:22.6339368Z         "impl": {
2026-06-04T13:05:22.6339853Z           "complete": true,
2026-06-04T13:05:22.6340309Z           "evidence": [
2026-06-04T13:05:22.6340725Z             {
2026-06-04T13:05:22.6341414Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T13:05:22.6341880Z               "line": 22
2026-06-04T13:05:22.6342305Z             },
2026-06-04T13:05:22.6342732Z             {
2026-06-04T13:05:22.6343341Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.6343804Z               "line": 417
2026-06-04T13:05:22.6344224Z             },
2026-06-04T13:05:22.6344654Z             {
2026-06-04T13:05:22.6345311Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T13:05:22.6345757Z               "line": 17
2026-06-04T13:05:22.6346187Z             },
2026-06-04T13:05:22.6346599Z             {
2026-06-04T13:05:22.6347267Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T13:05:22.6347723Z               "line": 125
2026-06-04T13:05:22.6348162Z             },
2026-06-04T13:05:22.6348608Z             {
2026-06-04T13:05:22.6349351Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.6349817Z               "line": 169
2026-06-04T13:05:22.6350240Z             },
2026-06-04T13:05:22.6350676Z             {
2026-06-04T13:05:22.6351382Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.6351843Z               "line": 197
2026-06-04T13:05:22.6352272Z             },
2026-06-04T13:05:22.6352698Z             {
2026-06-04T13:05:22.6353405Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.6353861Z               "line": 223
2026-06-04T13:05:22.6354296Z             },
2026-06-04T13:05:22.6354723Z             {
2026-06-04T13:05:22.6355381Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.6355992Z               "line": 122
2026-06-04T13:05:22.6356449Z             },
2026-06-04T13:05:22.6356871Z             {
2026-06-04T13:05:22.6357534Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.6358136Z               "line": 222
2026-06-04T13:05:22.6358563Z             }
2026-06-04T13:05:22.6358976Z           ]
2026-06-04T13:05:22.6359445Z         },
2026-06-04T13:05:22.6359873Z         "int": {
2026-06-04T13:05:22.6363910Z           "complete": false,
2026-06-04T13:05:22.6364443Z           "evidence": []
2026-06-04T13:05:22.6364873Z         },
2026-06-04T13:05:22.6365313Z         "unit": {
2026-06-04T13:05:22.6365784Z           "complete": true,
2026-06-04T13:05:22.6366248Z           "evidence": [
2026-06-04T13:05:22.6366662Z             {
2026-06-04T13:05:22.6367351Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T13:05:22.6367805Z               "line": 53
2026-06-04T13:05:22.6368231Z             },
2026-06-04T13:05:22.6368661Z             {
2026-06-04T13:05:22.6369436Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T13:05:22.6369905Z               "line": 60
2026-06-04T13:05:22.6370329Z             },
2026-06-04T13:05:22.6370766Z             {
2026-06-04T13:05:22.6371430Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T13:05:22.6371887Z               "line": 72
2026-06-04T13:05:22.6372314Z             },
2026-06-04T13:05:22.6372732Z             {
2026-06-04T13:05:22.6373392Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T13:05:22.6373845Z               "line": 298
2026-06-04T13:05:22.6374273Z             },
2026-06-04T13:05:22.6374688Z             {
2026-06-04T13:05:22.6375338Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T13:05:22.6375799Z               "line": 247
2026-06-04T13:05:22.6376224Z             },
2026-06-04T13:05:22.6376650Z             {
2026-06-04T13:05:22.6377302Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T13:05:22.6377769Z               "line": 282
2026-06-04T13:05:22.6378196Z             },
2026-06-04T13:05:22.6378625Z             {
2026-06-04T13:05:22.6379325Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T13:05:22.6379799Z               "line": 313
2026-06-04T13:05:22.6380223Z             },
2026-06-04T13:05:22.6380635Z             {
2026-06-04T13:05:22.6381337Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.6381792Z               "line": 400
2026-06-04T13:05:22.6382211Z             },
2026-06-04T13:05:22.6382635Z             {
2026-06-04T13:05:22.6383288Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.6383744Z               "line": 383
2026-06-04T13:05:22.6384165Z             },
2026-06-04T13:05:22.6384587Z             {
2026-06-04T13:05:22.6385257Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.6385710Z               "line": 420
2026-06-04T13:05:22.6386135Z             }
2026-06-04T13:05:22.6386562Z           ]
2026-06-04T13:05:22.6386982Z         }
2026-06-04T13:05:22.6387394Z       }
2026-06-04T13:05:22.6387809Z     },
2026-06-04T13:05:22.6388216Z     {
2026-06-04T13:05:22.6388754Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T13:05:22.6390091Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T13:05:22.6390578Z       "requiredStages": [
2026-06-04T13:05:22.6391013Z         "impl",
2026-06-04T13:05:22.6391433Z         "unit"
2026-06-04T13:05:22.6391854Z       ],
2026-06-04T13:05:22.6392289Z       "stages": {
2026-06-04T13:05:22.6392712Z         "doc": {
2026-06-04T13:05:22.6393190Z           "complete": false,
2026-06-04T13:05:22.6393645Z           "evidence": []
2026-06-04T13:05:22.6394068Z         },
2026-06-04T13:05:22.6394496Z         "impl": {
2026-06-04T13:05:22.6394968Z           "complete": true,
2026-06-04T13:05:22.6395421Z           "evidence": [
2026-06-04T13:05:22.6395835Z             {
2026-06-04T13:05:22.6396681Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T13:05:22.6397153Z               "line": 164
2026-06-04T13:05:22.6397580Z             }
2026-06-04T13:05:22.6397993Z           ]
2026-06-04T13:05:22.6398598Z         },
2026-06-04T13:05:22.6399033Z         "int": {
2026-06-04T13:05:22.6399550Z           "complete": true,
2026-06-04T13:05:22.6399998Z           "evidence": [
2026-06-04T13:05:22.6400408Z             {
2026-06-04T13:05:22.6401011Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T13:05:22.6401450Z               "line": 44
2026-06-04T13:05:22.6401875Z             },
2026-06-04T13:05:22.6402293Z             {
2026-06-04T13:05:22.6402890Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T13:05:22.6403335Z               "line": 66
2026-06-04T13:05:22.6403757Z             }
2026-06-04T13:05:22.6404179Z           ]
2026-06-04T13:05:22.6404586Z         },
2026-06-04T13:05:22.6405014Z         "unit": {
2026-06-04T13:05:22.6405487Z           "complete": true,
2026-06-04T13:05:22.6405946Z           "evidence": [
2026-06-04T13:05:22.6406373Z             {
2026-06-04T13:05:22.6406984Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T13:05:22.6407436Z               "line": 181
2026-06-04T13:05:22.6407867Z             },
2026-06-04T13:05:22.6408292Z             {
2026-06-04T13:05:22.6408901Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T13:05:22.6409394Z               "line": 233
2026-06-04T13:05:22.6409824Z             },
2026-06-04T13:05:22.6410242Z             {
2026-06-04T13:05:22.6410848Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T13:05:22.6411299Z               "line": 261
2026-06-04T13:05:22.6411719Z             }
2026-06-04T13:05:22.6412140Z           ]
2026-06-04T13:05:22.6412565Z         }
2026-06-04T13:05:22.6412984Z       }
2026-06-04T13:05:22.6413387Z     },
2026-06-04T13:05:22.6413800Z     {
2026-06-04T13:05:22.6414434Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T13:05:22.6417216Z       "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-04T13:05:22.6417707Z       "requiredStages": [
2026-06-04T13:05:22.6418149Z         "impl",
2026-06-04T13:05:22.6418579Z         "unit",
2026-06-04T13:05:22.6418994Z         "int"
2026-06-04T13:05:22.6419458Z       ],
2026-06-04T13:05:22.6419894Z       "stages": {
2026-06-04T13:05:22.6420328Z         "doc": {
2026-06-04T13:05:22.6420810Z           "complete": false,
2026-06-04T13:05:22.6421260Z           "evidence": []
2026-06-04T13:05:22.6421680Z         },
2026-06-04T13:05:22.6422108Z         "impl": {
2026-06-04T13:05:22.6422582Z           "complete": true,
2026-06-04T13:05:22.6423021Z           "evidence": [
2026-06-04T13:05:22.6423435Z             {
2026-06-04T13:05:22.6424119Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.6424764Z               "line": 150
2026-06-04T13:05:22.6425584Z             },
2026-06-04T13:05:22.6426099Z             {
2026-06-04T13:05:22.6426972Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.6427425Z               "line": 169
2026-06-04T13:05:22.6427869Z             },
2026-06-04T13:05:22.6428293Z             {
2026-06-04T13:05:22.6428897Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.6429429Z               "line": 79
2026-06-04T13:05:22.6429858Z             },
2026-06-04T13:05:22.6430285Z             {
2026-06-04T13:05:22.6430863Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.6431311Z               "line": 51
2026-06-04T13:05:22.6431737Z             },
2026-06-04T13:05:22.6432150Z             {
2026-06-04T13:05:22.6432749Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6433202Z               "line": 126
2026-06-04T13:05:22.6433632Z             },
2026-06-04T13:05:22.6434049Z             {
2026-06-04T13:05:22.6434710Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6435355Z               "line": 27
2026-06-04T13:05:22.6435800Z             },
2026-06-04T13:05:22.6436220Z             {
2026-06-04T13:05:22.6436861Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6437457Z               "line": 79
2026-06-04T13:05:22.6437885Z             },
2026-06-04T13:05:22.6438302Z             {
2026-06-04T13:05:22.6438952Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6439456Z               "line": 102
2026-06-04T13:05:22.6439888Z             },
2026-06-04T13:05:22.6440311Z             {
2026-06-04T13:05:22.6440963Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.6441423Z               "line": 108
2026-06-04T13:05:22.6441838Z             }
2026-06-04T13:05:22.6442260Z           ]
2026-06-04T13:05:22.6442672Z         },
2026-06-04T13:05:22.6443096Z         "int": {
2026-06-04T13:05:22.6443555Z           "complete": true,
2026-06-04T13:05:22.6444007Z           "evidence": [
2026-06-04T13:05:22.6444440Z             {
2026-06-04T13:05:22.6445139Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T13:05:22.6449372Z               "line": 35
2026-06-04T13:05:22.6449908Z             }
2026-06-04T13:05:22.6450335Z           ]
2026-06-04T13:05:22.6450744Z         },
2026-06-04T13:05:22.6451191Z         "unit": {
2026-06-04T13:05:22.6451675Z           "complete": true,
2026-06-04T13:05:22.6452127Z           "evidence": [
2026-06-04T13:05:22.6452555Z             {
2026-06-04T13:05:22.6453235Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.6453694Z               "line": 544
2026-06-04T13:05:22.6454116Z             },
2026-06-04T13:05:22.6454544Z             {
2026-06-04T13:05:22.6455164Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6455618Z               "line": 286
2026-06-04T13:05:22.6456053Z             },
2026-06-04T13:05:22.6456465Z             {
2026-06-04T13:05:22.6457132Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6457586Z               "line": 124
2026-06-04T13:05:22.6458011Z             },
2026-06-04T13:05:22.6458436Z             {
2026-06-04T13:05:22.6459082Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6459591Z               "line": 136
2026-06-04T13:05:22.6460015Z             },
2026-06-04T13:05:22.6460438Z             {
2026-06-04T13:05:22.6461092Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6461555Z               "line": 146
2026-06-04T13:05:22.6461984Z             },
2026-06-04T13:05:22.6462399Z             {
2026-06-04T13:05:22.6463046Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6463494Z               "line": 159
2026-06-04T13:05:22.6463921Z             },
2026-06-04T13:05:22.6464333Z             {
2026-06-04T13:05:22.6464982Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T13:05:22.6465441Z               "line": 171
2026-06-04T13:05:22.6465870Z             },
2026-06-04T13:05:22.6466296Z             {
2026-06-04T13:05:22.6466935Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.6467394Z               "line": 207
2026-06-04T13:05:22.6467825Z             }
2026-06-04T13:05:22.6468248Z           ]
2026-06-04T13:05:22.6468664Z         }
2026-06-04T13:05:22.6469070Z       }
2026-06-04T13:05:22.6469521Z     },
2026-06-04T13:05:22.6469924Z     {
2026-06-04T13:05:22.6470580Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T13:05:22.6474959Z       "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-04T13:05:22.6475454Z       "requiredStages": [],
2026-06-04T13:05:22.6475889Z       "stages": {
2026-06-04T13:05:22.6476307Z         "doc": {
2026-06-04T13:05:22.6476791Z           "complete": false,
2026-06-04T13:05:22.6477474Z           "evidence": []
2026-06-04T13:05:22.6477918Z         },
2026-06-04T13:05:22.6478357Z         "impl": {
2026-06-04T13:05:22.6478824Z           "complete": false,
2026-06-04T13:05:22.6479479Z           "evidence": []
2026-06-04T13:05:22.6479894Z         },
2026-06-04T13:05:22.6480327Z         "int": {
2026-06-04T13:05:22.6480790Z           "complete": false,
2026-06-04T13:05:22.6481249Z           "evidence": []
2026-06-04T13:05:22.6481667Z         },
2026-06-04T13:05:22.6482087Z         "unit": {
2026-06-04T13:05:22.6482563Z           "complete": false,
2026-06-04T13:05:22.6483012Z           "evidence": []
2026-06-04T13:05:22.6483442Z         }
2026-06-04T13:05:22.6483851Z       }
2026-06-04T13:05:22.6484267Z     },
2026-06-04T13:05:22.6484681Z     {
2026-06-04T13:05:22.6485227Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T13:05:22.6486297Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T13:05:22.6486774Z       "requiredStages": [
2026-06-04T13:05:22.6487216Z         "impl",
2026-06-04T13:05:22.6487636Z         "unit"
2026-06-04T13:05:22.6488048Z       ],
2026-06-04T13:05:22.6488480Z       "stages": {
2026-06-04T13:05:22.6488894Z         "doc": {
2026-06-04T13:05:22.6489427Z           "complete": false,
2026-06-04T13:05:22.6489877Z           "evidence": []
2026-06-04T13:05:22.6490291Z         },
2026-06-04T13:05:22.6490712Z         "impl": {
2026-06-04T13:05:22.6491180Z           "complete": true,
2026-06-04T13:05:22.6491631Z           "evidence": [
2026-06-04T13:05:22.6492050Z             {
2026-06-04T13:05:22.6492668Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6493108Z               "line": 40
2026-06-04T13:05:22.6493533Z             },
2026-06-04T13:05:22.6493945Z             {
2026-06-04T13:05:22.6494561Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6495008Z               "line": 98
2026-06-04T13:05:22.6495427Z             },
2026-06-04T13:05:22.6495849Z             {
2026-06-04T13:05:22.6496467Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6496934Z               "line": 209
2026-06-04T13:05:22.6497350Z             },
2026-06-04T13:05:22.6497791Z             {
2026-06-04T13:05:22.6498417Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6498863Z               "line": 291
2026-06-04T13:05:22.6499325Z             }
2026-06-04T13:05:22.6499742Z           ]
2026-06-04T13:05:22.6500162Z         },
2026-06-04T13:05:22.6500582Z         "int": {
2026-06-04T13:05:22.6501068Z           "complete": false,
2026-06-04T13:05:22.6501534Z           "evidence": []
2026-06-04T13:05:22.6501946Z         },
2026-06-04T13:05:22.6502375Z         "unit": {
2026-06-04T13:05:22.6502838Z           "complete": true,
2026-06-04T13:05:22.6503290Z           "evidence": [
2026-06-04T13:05:22.6503702Z             {
2026-06-04T13:05:22.6504309Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6504765Z               "line": 326
2026-06-04T13:05:22.6505204Z             },
2026-06-04T13:05:22.6505632Z             {
2026-06-04T13:05:22.6506235Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6506694Z               "line": 372
2026-06-04T13:05:22.6507118Z             },
2026-06-04T13:05:22.6507540Z             {
2026-06-04T13:05:22.6508155Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6508599Z               "line": 413
2026-06-04T13:05:22.6509019Z             },
2026-06-04T13:05:22.6509465Z             {
2026-06-04T13:05:22.6510075Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6510523Z               "line": 432
2026-06-04T13:05:22.6510946Z             }
2026-06-04T13:05:22.6511366Z           ]
2026-06-04T13:05:22.6511771Z         }
2026-06-04T13:05:22.6512186Z       }
2026-06-04T13:05:22.6512593Z     },
2026-06-04T13:05:22.6513011Z     {
2026-06-04T13:05:22.6513635Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T13:05:22.6514475Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T13:05:22.6514991Z       "requiredStages": [
2026-06-04T13:05:22.6515422Z         "impl",
2026-06-04T13:05:22.6515847Z         "unit"
2026-06-04T13:05:22.6516402Z       ],
2026-06-04T13:05:22.6516840Z       "stages": {
2026-06-04T13:05:22.6517261Z         "doc": {
2026-06-04T13:05:22.6517738Z           "complete": false,
2026-06-04T13:05:22.6518197Z           "evidence": []
2026-06-04T13:05:22.6518610Z         },
2026-06-04T13:05:22.6519047Z         "impl": {
2026-06-04T13:05:22.6519569Z           "complete": true,
2026-06-04T13:05:22.6520034Z           "evidence": [
2026-06-04T13:05:22.6520452Z             {
2026-06-04T13:05:22.6521075Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6521529Z               "line": 111
2026-06-04T13:05:22.6521946Z             },
2026-06-04T13:05:22.6522372Z             {
2026-06-04T13:05:22.6522973Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6523447Z               "line": 202
2026-06-04T13:05:22.6523872Z             }
2026-06-04T13:05:22.6524299Z           ]
2026-06-04T13:05:22.6524725Z         },
2026-06-04T13:05:22.6525155Z         "int": {
2026-06-04T13:05:22.6525647Z           "complete": false,
2026-06-04T13:05:22.6526102Z           "evidence": []
2026-06-04T13:05:22.6526524Z         },
2026-06-04T13:05:22.6526947Z         "unit": {
2026-06-04T13:05:22.6527417Z           "complete": true,
2026-06-04T13:05:22.6527871Z           "evidence": [
2026-06-04T13:05:22.6528282Z             {
2026-06-04T13:05:22.6528898Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6529392Z               "line": 347
2026-06-04T13:05:22.6529819Z             },
2026-06-04T13:05:22.6533750Z             {
2026-06-04T13:05:22.6534472Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.6534934Z               "line": 391
2026-06-04T13:05:22.6535350Z             }
2026-06-04T13:05:22.6535768Z           ]
2026-06-04T13:05:22.6536182Z         }
2026-06-04T13:05:22.6536630Z       }
2026-06-04T13:05:22.6537041Z     },
2026-06-04T13:05:22.6537456Z     {
2026-06-04T13:05:22.6538106Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T13:05:22.6539485Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T13:05:22.6539976Z       "requiredStages": [
2026-06-04T13:05:22.6540401Z         "impl",
2026-06-04T13:05:22.6540833Z         "unit"
2026-06-04T13:05:22.6541242Z       ],
2026-06-04T13:05:22.6541683Z       "stages": {
2026-06-04T13:05:22.6542116Z         "doc": {
2026-06-04T13:05:22.6542590Z           "complete": false,
2026-06-04T13:05:22.6543049Z           "evidence": []
2026-06-04T13:05:22.6543458Z         },
2026-06-04T13:05:22.6543895Z         "impl": {
2026-06-04T13:05:22.6544357Z           "complete": true,
2026-06-04T13:05:22.6544807Z           "evidence": [
2026-06-04T13:05:22.6545235Z             {
2026-06-04T13:05:22.6545855Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6546321Z               "line": 26
2026-06-04T13:05:22.6546743Z             },
2026-06-04T13:05:22.6547169Z             {
2026-06-04T13:05:22.6547786Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6548264Z               "line": 126
2026-06-04T13:05:22.6548697Z             },
2026-06-04T13:05:22.6549122Z             {
2026-06-04T13:05:22.6549862Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T13:05:22.6550299Z               "line": 26
2026-06-04T13:05:22.6550722Z             },
2026-06-04T13:05:22.6551132Z             {
2026-06-04T13:05:22.6551822Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T13:05:22.6552278Z               "line": 233
2026-06-04T13:05:22.6552687Z             }
2026-06-04T13:05:22.6553105Z           ]
2026-06-04T13:05:22.6553517Z         },
2026-06-04T13:05:22.6553944Z         "int": {
2026-06-04T13:05:22.6554414Z           "complete": false,
2026-06-04T13:05:22.6554880Z           "evidence": []
2026-06-04T13:05:22.6555520Z         },
2026-06-04T13:05:22.6555967Z         "unit": {
2026-06-04T13:05:22.6556450Z           "complete": true,
2026-06-04T13:05:22.6556896Z           "evidence": [
2026-06-04T13:05:22.6557491Z             {
2026-06-04T13:05:22.6558114Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6558575Z               "line": 152
2026-06-04T13:05:22.6558996Z             },
2026-06-04T13:05:22.6559476Z             {
2026-06-04T13:05:22.6560147Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6560614Z               "line": 161
2026-06-04T13:05:22.6561047Z             },
2026-06-04T13:05:22.6561473Z             {
2026-06-04T13:05:22.6562084Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6562537Z               "line": 170
2026-06-04T13:05:22.6562952Z             },
2026-06-04T13:05:22.6563373Z             {
2026-06-04T13:05:22.6563989Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6564456Z               "line": 179
2026-06-04T13:05:22.6564884Z             },
2026-06-04T13:05:22.6565293Z             {
2026-06-04T13:05:22.6565919Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6566376Z               "line": 188
2026-06-04T13:05:22.6566801Z             },
2026-06-04T13:05:22.6567216Z             {
2026-06-04T13:05:22.6567844Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6568296Z               "line": 199
2026-06-04T13:05:22.6568715Z             },
2026-06-04T13:05:22.6569134Z             {
2026-06-04T13:05:22.6569816Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T13:05:22.6570298Z               "line": 225
2026-06-04T13:05:22.6570710Z             },
2026-06-04T13:05:22.6571129Z             {
2026-06-04T13:05:22.6571744Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.6572191Z               "line": 245
2026-06-04T13:05:22.6572610Z             },
2026-06-04T13:05:22.6573029Z             {
2026-06-04T13:05:22.6573666Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.6574124Z               "line": 212
2026-06-04T13:05:22.6574549Z             },
2026-06-04T13:05:22.6574983Z             {
2026-06-04T13:05:22.6575663Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T13:05:22.6576117Z               "line": 256
2026-06-04T13:05:22.6576536Z             },
2026-06-04T13:05:22.6576958Z             {
2026-06-04T13:05:22.6577626Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T13:05:22.6578084Z               "line": 281
2026-06-04T13:05:22.6578508Z             },
2026-06-04T13:05:22.6578922Z             {
2026-06-04T13:05:22.6579679Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T13:05:22.6580136Z               "line": 293
2026-06-04T13:05:22.6580562Z             },
2026-06-04T13:05:22.6580978Z             {
2026-06-04T13:05:22.6581681Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T13:05:22.6582155Z               "line": 303
2026-06-04T13:05:22.6582581Z             },
2026-06-04T13:05:22.6583006Z             {
2026-06-04T13:05:22.6583662Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.6584137Z               "line": 502
2026-06-04T13:05:22.6584575Z             }
2026-06-04T13:05:22.6584988Z           ]
2026-06-04T13:05:22.6585406Z         }
2026-06-04T13:05:22.6585822Z       }
2026-06-04T13:05:22.6586232Z     },
2026-06-04T13:05:22.6586642Z     {
2026-06-04T13:05:22.6587285Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T13:05:22.6588096Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T13:05:22.6588588Z       "requiredStages": [
2026-06-04T13:05:22.6589021Z         "impl",
2026-06-04T13:05:22.6589476Z         "unit"
2026-06-04T13:05:22.6589895Z       ],
2026-06-04T13:05:22.6590326Z       "stages": {
2026-06-04T13:05:22.6590756Z         "doc": {
2026-06-04T13:05:22.6591227Z           "complete": false,
2026-06-04T13:05:22.6591858Z           "evidence": []
2026-06-04T13:05:22.6592294Z         },
2026-06-04T13:05:22.6592721Z         "impl": {
2026-06-04T13:05:22.6593199Z           "complete": true,
2026-06-04T13:05:22.6593778Z           "evidence": [
2026-06-04T13:05:22.6594198Z             {
2026-06-04T13:05:22.6594793Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.6595248Z               "line": 25
2026-06-04T13:05:22.6595677Z             },
2026-06-04T13:05:22.6596092Z             {
2026-06-04T13:05:22.6596702Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.6597148Z               "line": 26
2026-06-04T13:05:22.6597573Z             },
2026-06-04T13:05:22.6597987Z             {
2026-06-04T13:05:22.6598601Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.6599055Z               "line": 153
2026-06-04T13:05:22.6599518Z             }
2026-06-04T13:05:22.6599946Z           ]
2026-06-04T13:05:22.6600359Z         },
2026-06-04T13:05:22.6600804Z         "int": {
2026-06-04T13:05:22.6601280Z           "complete": false,
2026-06-04T13:05:22.6601748Z           "evidence": []
2026-06-04T13:05:22.6602173Z         },
2026-06-04T13:05:22.6602617Z         "unit": {
2026-06-04T13:05:22.6603090Z           "complete": true,
2026-06-04T13:05:22.6603536Z           "evidence": [
2026-06-04T13:05:22.6603958Z             {
2026-06-04T13:05:22.6604551Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.6605008Z               "line": 180
2026-06-04T13:05:22.6605432Z             },
2026-06-04T13:05:22.6605845Z             {
2026-06-04T13:05:22.6606442Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.6606892Z               "line": 205
2026-06-04T13:05:22.6607321Z             },
2026-06-04T13:05:22.6607746Z             {
2026-06-04T13:05:22.6608356Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.6608813Z               "line": 180
2026-06-04T13:05:22.6609270Z             }
2026-06-04T13:05:22.6609707Z           ]
2026-06-04T13:05:22.6610118Z         }
2026-06-04T13:05:22.6610531Z       }
2026-06-04T13:05:22.6610947Z     },
2026-06-04T13:05:22.6611351Z     {
2026-06-04T13:05:22.6611894Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T13:05:22.6616410Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T13:05:22.6616988Z       "requiredStages": [
2026-06-04T13:05:22.6617416Z         "impl",
2026-06-04T13:05:22.6617851Z         "unit"
2026-06-04T13:05:22.6618283Z       ],
2026-06-04T13:05:22.6618707Z       "stages": {
2026-06-04T13:05:22.6619135Z         "doc": {
2026-06-04T13:05:22.6619677Z           "complete": false,
2026-06-04T13:05:22.6620140Z           "evidence": []
2026-06-04T13:05:22.6620550Z         },
2026-06-04T13:05:22.6620982Z         "impl": {
2026-06-04T13:05:22.6621456Z           "complete": true,
2026-06-04T13:05:22.6621901Z           "evidence": [
2026-06-04T13:05:22.6622318Z             {
2026-06-04T13:05:22.6622995Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6623452Z               "line": 48
2026-06-04T13:05:22.6623865Z             },
2026-06-04T13:05:22.6624289Z             {
2026-06-04T13:05:22.6624909Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6625377Z               "line": 55
2026-06-04T13:05:22.6625799Z             },
2026-06-04T13:05:22.6626206Z             {
2026-06-04T13:05:22.6626825Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6627267Z               "line": 74
2026-06-04T13:05:22.6627689Z             },
2026-06-04T13:05:22.6628109Z             {
2026-06-04T13:05:22.6628733Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6629218Z               "line": 91
2026-06-04T13:05:22.6629634Z             }
2026-06-04T13:05:22.6630058Z           ]
2026-06-04T13:05:22.6630479Z         },
2026-06-04T13:05:22.6630907Z         "int": {
2026-06-04T13:05:22.6631389Z           "complete": false,
2026-06-04T13:05:22.6632074Z           "evidence": []
2026-06-04T13:05:22.6632526Z         },
2026-06-04T13:05:22.6632956Z         "unit": {
2026-06-04T13:05:22.6633428Z           "complete": true,
2026-06-04T13:05:22.6633871Z           "evidence": [
2026-06-04T13:05:22.6634428Z             {
2026-06-04T13:05:22.6635058Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6635514Z               "line": 149
2026-06-04T13:05:22.6635931Z             },
2026-06-04T13:05:22.6636341Z             {
2026-06-04T13:05:22.6636967Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6637416Z               "line": 163
2026-06-04T13:05:22.6637837Z             },
2026-06-04T13:05:22.6638261Z             {
2026-06-04T13:05:22.6638875Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6639377Z               "line": 173
2026-06-04T13:05:22.6639813Z             },
2026-06-04T13:05:22.6640262Z             {
2026-06-04T13:05:22.6640880Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6641348Z               "line": 191
2026-06-04T13:05:22.6641774Z             },
2026-06-04T13:05:22.6642193Z             {
2026-06-04T13:05:22.6642811Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.6643274Z               "line": 204
2026-06-04T13:05:22.6643694Z             }
2026-06-04T13:05:22.6644109Z           ]
2026-06-04T13:05:22.6644528Z         }
2026-06-04T13:05:22.6644943Z       }
2026-06-04T13:05:22.6645346Z     },
2026-06-04T13:05:22.6645755Z     {
2026-06-04T13:05:22.6646342Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T13:05:22.6647429Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T13:05:22.6647907Z       "requiredStages": [
2026-06-04T13:05:22.6648336Z         "impl",
2026-06-04T13:05:22.6648766Z         "unit"
2026-06-04T13:05:22.6649219Z       ],
2026-06-04T13:05:22.6649653Z       "stages": {
2026-06-04T13:05:22.6650073Z         "doc": {
2026-06-04T13:05:22.6650555Z           "complete": false,
2026-06-04T13:05:22.6651022Z           "evidence": []
2026-06-04T13:05:22.6651445Z         },
2026-06-04T13:05:22.6651876Z         "impl": {
2026-06-04T13:05:22.6652336Z           "complete": true,
2026-06-04T13:05:22.6652803Z           "evidence": [
2026-06-04T13:05:22.6653212Z             {
2026-06-04T13:05:22.6653888Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.6654339Z               "line": 341
2026-06-04T13:05:22.6654760Z             },
2026-06-04T13:05:22.6655191Z             {
2026-06-04T13:05:22.6655812Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.6656257Z               "line": 26
2026-06-04T13:05:22.6656667Z             }
2026-06-04T13:05:22.6657085Z           ]
2026-06-04T13:05:22.6657494Z         },
2026-06-04T13:05:22.6657921Z         "int": {
2026-06-04T13:05:22.6658398Z           "complete": false,
2026-06-04T13:05:22.6658850Z           "evidence": []
2026-06-04T13:05:22.6659314Z         },
2026-06-04T13:05:22.6659757Z         "unit": {
2026-06-04T13:05:22.6660232Z           "complete": true,
2026-06-04T13:05:22.6660675Z           "evidence": [
2026-06-04T13:05:22.6661101Z             {
2026-06-04T13:05:22.6661724Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.6662182Z               "line": 139
2026-06-04T13:05:22.6662611Z             },
2026-06-04T13:05:22.6663026Z             {
2026-06-04T13:05:22.6663646Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.6664091Z               "line": 182
2026-06-04T13:05:22.6664517Z             }
2026-06-04T13:05:22.6664935Z           ]
2026-06-04T13:05:22.6665348Z         }
2026-06-04T13:05:22.6665765Z       }
2026-06-04T13:05:22.6666176Z     },
2026-06-04T13:05:22.6666587Z     {
2026-06-04T13:05:22.6667207Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T13:05:22.6668077Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T13:05:22.6668560Z       "requiredStages": [
2026-06-04T13:05:22.6669195Z         "impl",
2026-06-04T13:05:22.6669653Z         "unit"
2026-06-04T13:05:22.6670068Z       ],
2026-06-04T13:05:22.6670507Z       "stages": {
2026-06-04T13:05:22.6670929Z         "doc": {
2026-06-04T13:05:22.6671550Z           "complete": false,
2026-06-04T13:05:22.6672003Z           "evidence": []
2026-06-04T13:05:22.6672417Z         },
2026-06-04T13:05:22.6672846Z         "impl": {
2026-06-04T13:05:22.6673308Z           "complete": true,
2026-06-04T13:05:22.6673756Z           "evidence": [
2026-06-04T13:05:22.6674164Z             {
2026-06-04T13:05:22.6674819Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6675264Z               "line": 36
2026-06-04T13:05:22.6675701Z             },
2026-06-04T13:05:22.6676126Z             {
2026-06-04T13:05:22.6676775Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6677227Z               "line": 68
2026-06-04T13:05:22.6677636Z             }
2026-06-04T13:05:22.6678058Z           ]
2026-06-04T13:05:22.6678496Z         },
2026-06-04T13:05:22.6678922Z         "int": {
2026-06-04T13:05:22.6679442Z           "complete": false,
2026-06-04T13:05:22.6679891Z           "evidence": []
2026-06-04T13:05:22.6680328Z         },
2026-06-04T13:05:22.6680750Z         "unit": {
2026-06-04T13:05:22.6681226Z           "complete": true,
2026-06-04T13:05:22.6681673Z           "evidence": [
2026-06-04T13:05:22.6682086Z             {
2026-06-04T13:05:22.6682754Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6683202Z               "line": 143
2026-06-04T13:05:22.6683626Z             },
2026-06-04T13:05:22.6684035Z             {
2026-06-04T13:05:22.6684688Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6685148Z               "line": 160
2026-06-04T13:05:22.6685569Z             },
2026-06-04T13:05:22.6685995Z             {
2026-06-04T13:05:22.6686646Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6687105Z               "line": 168
2026-06-04T13:05:22.6687535Z             }
2026-06-04T13:05:22.6687960Z           ]
2026-06-04T13:05:22.6688382Z         }
2026-06-04T13:05:22.6688793Z       }
2026-06-04T13:05:22.6689243Z     },
2026-06-04T13:05:22.6689666Z     {
2026-06-04T13:05:22.6690331Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T13:05:22.6691322Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T13:05:22.6691812Z       "requiredStages": [
2026-06-04T13:05:22.6692241Z         "impl",
2026-06-04T13:05:22.6692655Z         "unit"
2026-06-04T13:05:22.6693072Z       ],
2026-06-04T13:05:22.6693507Z       "stages": {
2026-06-04T13:05:22.6697490Z         "doc": {
2026-06-04T13:05:22.6698052Z           "complete": false,
2026-06-04T13:05:22.6698520Z           "evidence": []
2026-06-04T13:05:22.6698942Z         },
2026-06-04T13:05:22.6699462Z         "impl": {
2026-06-04T13:05:22.6699938Z           "complete": true,
2026-06-04T13:05:22.6700386Z           "evidence": [
2026-06-04T13:05:22.6700807Z             {
2026-06-04T13:05:22.6701500Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6701964Z               "line": 107
2026-06-04T13:05:22.6702383Z             }
2026-06-04T13:05:22.6702813Z           ]
2026-06-04T13:05:22.6703233Z         },
2026-06-04T13:05:22.6703655Z         "int": {
2026-06-04T13:05:22.6704131Z           "complete": false,
2026-06-04T13:05:22.6704583Z           "evidence": []
2026-06-04T13:05:22.6704997Z         },
2026-06-04T13:05:22.6705432Z         "unit": {
2026-06-04T13:05:22.6705894Z           "complete": true,
2026-06-04T13:05:22.6706349Z           "evidence": [
2026-06-04T13:05:22.6706757Z             {
2026-06-04T13:05:22.6707419Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6707870Z               "line": 184
2026-06-04T13:05:22.6708301Z             },
2026-06-04T13:05:22.6708723Z             {
2026-06-04T13:05:22.6709406Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6710123Z               "line": 193
2026-06-04T13:05:22.6710577Z             },
2026-06-04T13:05:22.6711007Z             {
2026-06-04T13:05:22.6711658Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6712273Z               "line": 201
2026-06-04T13:05:22.6712706Z             },
2026-06-04T13:05:22.6713126Z             {
2026-06-04T13:05:22.6713785Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6714238Z               "line": 210
2026-06-04T13:05:22.6714664Z             },
2026-06-04T13:05:22.6715082Z             {
2026-06-04T13:05:22.6715739Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T13:05:22.6716197Z               "line": 219
2026-06-04T13:05:22.6716613Z             }
2026-06-04T13:05:22.6717037Z           ]
2026-06-04T13:05:22.6717448Z         }
2026-06-04T13:05:22.6717907Z       }
2026-06-04T13:05:22.6718333Z     },
2026-06-04T13:05:22.6718782Z     {
2026-06-04T13:05:22.6719495Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T13:05:22.6720440Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T13:05:22.6720932Z       "requiredStages": [
2026-06-04T13:05:22.6721359Z         "impl",
2026-06-04T13:05:22.6721804Z         "unit"
2026-06-04T13:05:22.6722222Z       ],
2026-06-04T13:05:22.6722657Z       "stages": {
2026-06-04T13:05:22.6723084Z         "doc": {
2026-06-04T13:05:22.6723560Z           "complete": false,
2026-06-04T13:05:22.6724019Z           "evidence": []
2026-06-04T13:05:22.6724438Z         },
2026-06-04T13:05:22.6724874Z         "impl": {
2026-06-04T13:05:22.6725337Z           "complete": true,
2026-06-04T13:05:22.6725784Z           "evidence": [
2026-06-04T13:05:22.6726212Z             {
2026-06-04T13:05:22.6726788Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.6727234Z               "line": 14
2026-06-04T13:05:22.6727644Z             },
2026-06-04T13:05:22.6728061Z             {
2026-06-04T13:05:22.6728638Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.6729106Z               "line": 62
2026-06-04T13:05:22.6729581Z             }
2026-06-04T13:05:22.6729997Z           ]
2026-06-04T13:05:22.6730412Z         },
2026-06-04T13:05:22.6730832Z         "int": {
2026-06-04T13:05:22.6731323Z           "complete": false,
2026-06-04T13:05:22.6731773Z           "evidence": []
2026-06-04T13:05:22.6732191Z         },
2026-06-04T13:05:22.6732613Z         "unit": {
2026-06-04T13:05:22.6733069Z           "complete": true,
2026-06-04T13:05:22.6733518Z           "evidence": [
2026-06-04T13:05:22.6733931Z             {
2026-06-04T13:05:22.6734519Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.6734963Z               "line": 160
2026-06-04T13:05:22.6735384Z             },
2026-06-04T13:05:22.6735807Z             {
2026-06-04T13:05:22.6736394Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.6736854Z               "line": 197
2026-06-04T13:05:22.6737266Z             },
2026-06-04T13:05:22.6737683Z             {
2026-06-04T13:05:22.6738281Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.6738730Z               "line": 213
2026-06-04T13:05:22.6739193Z             }
2026-06-04T13:05:22.6739610Z           ]
2026-06-04T13:05:22.6740045Z         }
2026-06-04T13:05:22.6740457Z       }
2026-06-04T13:05:22.6740874Z     },
2026-06-04T13:05:22.6741284Z     {
2026-06-04T13:05:22.6741915Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T13:05:22.6743192Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T13:05:22.6743675Z       "requiredStages": [
2026-06-04T13:05:22.6744105Z         "impl",
2026-06-04T13:05:22.6744524Z         "unit"
2026-06-04T13:05:22.6744944Z       ],
2026-06-04T13:05:22.6745385Z       "stages": {
2026-06-04T13:05:22.6745804Z         "doc": {
2026-06-04T13:05:22.6746289Z           "complete": false,
2026-06-04T13:05:22.6746744Z           "evidence": []
2026-06-04T13:05:22.6747167Z         },
2026-06-04T13:05:22.6747591Z         "impl": {
2026-06-04T13:05:22.6748243Z           "complete": true,
2026-06-04T13:05:22.6748718Z           "evidence": [
2026-06-04T13:05:22.6749138Z             {
2026-06-04T13:05:22.6749809Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6750392Z               "line": 76
2026-06-04T13:05:22.6750816Z             },
2026-06-04T13:05:22.6751230Z             {
2026-06-04T13:05:22.6751858Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6752315Z               "line": 163
2026-06-04T13:05:22.6752736Z             },
2026-06-04T13:05:22.6753154Z             {
2026-06-04T13:05:22.6753771Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6754231Z               "line": 229
2026-06-04T13:05:22.6754647Z             },
2026-06-04T13:05:22.6755062Z             {
2026-06-04T13:05:22.6755675Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6756122Z               "line": 265
2026-06-04T13:05:22.6756540Z             }
2026-06-04T13:05:22.6756967Z           ]
2026-06-04T13:05:22.6757394Z         },
2026-06-04T13:05:22.6757819Z         "int": {
2026-06-04T13:05:22.6758297Z           "complete": false,
2026-06-04T13:05:22.6758775Z           "evidence": []
2026-06-04T13:05:22.6759221Z         },
2026-06-04T13:05:22.6759650Z         "unit": {
2026-06-04T13:05:22.6760117Z           "complete": true,
2026-06-04T13:05:22.6760570Z           "evidence": [
2026-06-04T13:05:22.6760981Z             {
2026-06-04T13:05:22.6761596Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6762050Z               "line": 310
2026-06-04T13:05:22.6762466Z             },
2026-06-04T13:05:22.6762890Z             {
2026-06-04T13:05:22.6763498Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6763952Z               "line": 318
2026-06-04T13:05:22.6764362Z             },
2026-06-04T13:05:22.6764787Z             {
2026-06-04T13:05:22.6765405Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6765872Z               "line": 341
2026-06-04T13:05:22.6766300Z             },
2026-06-04T13:05:22.6766709Z             {
2026-06-04T13:05:22.6767320Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6767784Z               "line": 378
2026-06-04T13:05:22.6768213Z             },
2026-06-04T13:05:22.6768639Z             {
2026-06-04T13:05:22.6769296Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6769761Z               "line": 389
2026-06-04T13:05:22.6770195Z             },
2026-06-04T13:05:22.6770620Z             {
2026-06-04T13:05:22.6771228Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6771689Z               "line": 401
2026-06-04T13:05:22.6772114Z             },
2026-06-04T13:05:22.6772525Z             {
2026-06-04T13:05:22.6773142Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T13:05:22.6773589Z               "line": 413
2026-06-04T13:05:22.6774015Z             }
2026-06-04T13:05:22.6774427Z           ]
2026-06-04T13:05:22.6774857Z         }
2026-06-04T13:05:22.6778861Z       }
2026-06-04T13:05:22.6779461Z     },
2026-06-04T13:05:22.6779891Z     {
2026-06-04T13:05:22.6780428Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T13:05:22.6781281Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T13:05:22.6781762Z       "requiredStages": [
2026-06-04T13:05:22.6782195Z         "impl",
2026-06-04T13:05:22.6782614Z         "int"
2026-06-04T13:05:22.6783027Z       ],
2026-06-04T13:05:22.6783474Z       "stages": {
2026-06-04T13:05:22.6783893Z         "doc": {
2026-06-04T13:05:22.6784375Z           "complete": false,
2026-06-04T13:05:22.6784821Z           "evidence": []
2026-06-04T13:05:22.6785242Z         },
2026-06-04T13:05:22.6785681Z         "impl": {
2026-06-04T13:05:22.6786148Z           "complete": true,
2026-06-04T13:05:22.6786606Z           "evidence": [
2026-06-04T13:05:22.6787019Z             {
2026-06-04T13:05:22.6787646Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.6788332Z               "line": 22
2026-06-04T13:05:22.6788788Z             }
2026-06-04T13:05:22.6789258Z           ]
2026-06-04T13:05:22.6789673Z         },
2026-06-04T13:05:22.6790260Z         "int": {
2026-06-04T13:05:22.6790726Z           "complete": true,
2026-06-04T13:05:22.6791178Z           "evidence": [
2026-06-04T13:05:22.6791589Z             {
2026-06-04T13:05:22.6792257Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T13:05:22.6792706Z               "line": 18
2026-06-04T13:05:22.6793122Z             }
2026-06-04T13:05:22.6793542Z           ]
2026-06-04T13:05:22.6793955Z         },
2026-06-04T13:05:22.6794396Z         "unit": {
2026-06-04T13:05:22.6794862Z           "complete": false,
2026-06-04T13:05:22.6795324Z           "evidence": []
2026-06-04T13:05:22.6795745Z         }
2026-06-04T13:05:22.6796158Z       }
2026-06-04T13:05:22.6796571Z     },
2026-06-04T13:05:22.6796975Z     {
2026-06-04T13:05:22.6797591Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T13:05:22.6798696Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T13:05:22.6799218Z       "requiredStages": [
2026-06-04T13:05:22.6799648Z         "impl",
2026-06-04T13:05:22.6800081Z         "unit"
2026-06-04T13:05:22.6800502Z       ],
2026-06-04T13:05:22.6800934Z       "stages": {
2026-06-04T13:05:22.6801368Z         "doc": {
2026-06-04T13:05:22.6801837Z           "complete": false,
2026-06-04T13:05:22.6802292Z           "evidence": []
2026-06-04T13:05:22.6802709Z         },
2026-06-04T13:05:22.6803138Z         "impl": {
2026-06-04T13:05:22.6803612Z           "complete": true,
2026-06-04T13:05:22.6804054Z           "evidence": [
2026-06-04T13:05:22.6804477Z             {
2026-06-04T13:05:22.6805141Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.6805606Z               "line": 340
2026-06-04T13:05:22.6806030Z             },
2026-06-04T13:05:22.6806448Z             {
2026-06-04T13:05:22.6807082Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.6807527Z               "line": 27
2026-06-04T13:05:22.6807950Z             }
2026-06-04T13:05:22.6808362Z           ]
2026-06-04T13:05:22.6808782Z         },
2026-06-04T13:05:22.6809262Z         "int": {
2026-06-04T13:05:22.6809737Z           "complete": false,
2026-06-04T13:05:22.6810205Z           "evidence": []
2026-06-04T13:05:22.6810619Z         },
2026-06-04T13:05:22.6811045Z         "unit": {
2026-06-04T13:05:22.6811516Z           "complete": true,
2026-06-04T13:05:22.6811966Z           "evidence": [
2026-06-04T13:05:22.6812384Z             {
2026-06-04T13:05:22.6813045Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.6813503Z               "line": 745
2026-06-04T13:05:22.6813915Z             },
2026-06-04T13:05:22.6814330Z             {
2026-06-04T13:05:22.6814946Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.6815403Z               "line": 164
2026-06-04T13:05:22.6815818Z             }
2026-06-04T13:05:22.6816243Z           ]
2026-06-04T13:05:22.6816670Z         }
2026-06-04T13:05:22.6817084Z       }
2026-06-04T13:05:22.6817497Z     },
2026-06-04T13:05:22.6817909Z     {
2026-06-04T13:05:22.6818548Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T13:05:22.6819508Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T13:05:22.6819988Z       "requiredStages": [
2026-06-04T13:05:22.6820413Z         "impl",
2026-06-04T13:05:22.6820836Z         "unit"
2026-06-04T13:05:22.6821249Z       ],
2026-06-04T13:05:22.6821677Z       "stages": {
2026-06-04T13:05:22.6822113Z         "doc": {
2026-06-04T13:05:22.6822594Z           "complete": false,
2026-06-04T13:05:22.6823049Z           "evidence": []
2026-06-04T13:05:22.6823466Z         },
2026-06-04T13:05:22.6823894Z         "impl": {
2026-06-04T13:05:22.6824373Z           "complete": true,
2026-06-04T13:05:22.6824819Z           "evidence": [
2026-06-04T13:05:22.6825240Z             {
2026-06-04T13:05:22.6826024Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6826502Z               "line": 20
2026-06-04T13:05:22.6826935Z             },
2026-06-04T13:05:22.6827352Z             {
2026-06-04T13:05:22.6828115Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6828561Z               "line": 94
2026-06-04T13:05:22.6828990Z             },
2026-06-04T13:05:22.6829461Z             {
2026-06-04T13:05:22.6830136Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T13:05:22.6830582Z               "line": 70
2026-06-04T13:05:22.6830995Z             },
2026-06-04T13:05:22.6831417Z             {
2026-06-04T13:05:22.6832081Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T13:05:22.6832535Z               "line": 82
2026-06-04T13:05:22.6832961Z             }
2026-06-04T13:05:22.6833381Z           ]
2026-06-04T13:05:22.6833796Z         },
2026-06-04T13:05:22.6834212Z         "int": {
2026-06-04T13:05:22.6834685Z           "complete": false,
2026-06-04T13:05:22.6835155Z           "evidence": []
2026-06-04T13:05:22.6835577Z         },
2026-06-04T13:05:22.6836004Z         "unit": {
2026-06-04T13:05:22.6836470Z           "complete": true,
2026-06-04T13:05:22.6836937Z           "evidence": [
2026-06-04T13:05:22.6837349Z             {
2026-06-04T13:05:22.6837970Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6838419Z               "line": 139
2026-06-04T13:05:22.6838846Z             },
2026-06-04T13:05:22.6839310Z             {
2026-06-04T13:05:22.6839934Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6840392Z               "line": 162
2026-06-04T13:05:22.6840807Z             },
2026-06-04T13:05:22.6841227Z             {
2026-06-04T13:05:22.6841846Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6842303Z               "line": 173
2026-06-04T13:05:22.6842727Z             },
2026-06-04T13:05:22.6843139Z             {
2026-06-04T13:05:22.6843775Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6844226Z               "line": 189
2026-06-04T13:05:22.6844652Z             },
2026-06-04T13:05:22.6845068Z             {
2026-06-04T13:05:22.6845688Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T13:05:22.6846164Z               "line": 200
2026-06-04T13:05:22.6846582Z             },
2026-06-04T13:05:22.6847011Z             {
2026-06-04T13:05:22.6847670Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T13:05:22.6848123Z               "line": 139
2026-06-04T13:05:22.6848541Z             }
2026-06-04T13:05:22.6848958Z           ]
2026-06-04T13:05:22.6849416Z         }
2026-06-04T13:05:22.6849825Z       }
2026-06-04T13:05:22.6850239Z     },
2026-06-04T13:05:22.6850647Z     {
2026-06-04T13:05:22.6851171Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T13:05:22.6852690Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T13:05:22.6853169Z       "requiredStages": [
2026-06-04T13:05:22.6853615Z         "impl",
2026-06-04T13:05:22.6854043Z         "unit"
2026-06-04T13:05:22.6854463Z       ],
2026-06-04T13:05:22.6854888Z       "stages": {
2026-06-04T13:05:22.6855329Z         "doc": {
2026-06-04T13:05:22.6855806Z           "complete": true,
2026-06-04T13:05:22.6856251Z           "evidence": [
2026-06-04T13:05:22.6856671Z             {
2026-06-04T13:05:22.6857232Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T13:05:22.6861232Z               "line": 131
2026-06-04T13:05:22.6861715Z             }
2026-06-04T13:05:22.6862145Z           ]
2026-06-04T13:05:22.6862567Z         },
2026-06-04T13:05:22.6863001Z         "impl": {
2026-06-04T13:05:22.6863474Z           "complete": true,
2026-06-04T13:05:22.6863916Z           "evidence": [
2026-06-04T13:05:22.6864338Z             {
2026-06-04T13:05:22.6864943Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.6865393Z               "line": 50
2026-06-04T13:05:22.6865812Z             },
2026-06-04T13:05:22.6866512Z             {
2026-06-04T13:05:22.6867139Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6867583Z               "line": 17
2026-06-04T13:05:22.6868012Z             },
2026-06-04T13:05:22.6868564Z             {
2026-06-04T13:05:22.6869256Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.6869729Z               "line": 171
2026-06-04T13:05:22.6870145Z             },
2026-06-04T13:05:22.6870575Z             {
2026-06-04T13:05:22.6871187Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.6871642Z               "line": 265
2026-06-04T13:05:22.6872061Z             },
2026-06-04T13:05:22.6872484Z             {
2026-06-04T13:05:22.6873095Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T13:05:22.6873539Z               "line": 32
2026-06-04T13:05:22.6873962Z             }
2026-06-04T13:05:22.6874383Z           ]
2026-06-04T13:05:22.6874802Z         },
2026-06-04T13:05:22.6875229Z         "int": {
2026-06-04T13:05:22.6875728Z           "complete": false,
2026-06-04T13:05:22.6876196Z           "evidence": []
2026-06-04T13:05:22.6876611Z         },
2026-06-04T13:05:22.6877045Z         "unit": {
2026-06-04T13:05:22.6877518Z           "complete": true,
2026-06-04T13:05:22.6877975Z           "evidence": [
2026-06-04T13:05:22.6878385Z             {
2026-06-04T13:05:22.6878973Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6879457Z               "line": 94
2026-06-04T13:05:22.6879876Z             },
2026-06-04T13:05:22.6880293Z             {
2026-06-04T13:05:22.6880871Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6881322Z               "line": 111
2026-06-04T13:05:22.6881779Z             },
2026-06-04T13:05:22.6882301Z             {
2026-06-04T13:05:22.6882947Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6883400Z               "line": 124
2026-06-04T13:05:22.6883824Z             },
2026-06-04T13:05:22.6884233Z             {
2026-06-04T13:05:22.6884845Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6885302Z               "line": 134
2026-06-04T13:05:22.6885725Z             },
2026-06-04T13:05:22.6886144Z             {
2026-06-04T13:05:22.6886741Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6887202Z               "line": 142
2026-06-04T13:05:22.6887620Z             },
2026-06-04T13:05:22.6888042Z             {
2026-06-04T13:05:22.6888622Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T13:05:22.6889075Z               "line": 154
2026-06-04T13:05:22.6889564Z             },
2026-06-04T13:05:22.6889990Z             {
2026-06-04T13:05:22.6890692Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.6891140Z               "line": 432
2026-06-04T13:05:22.6891562Z             }
2026-06-04T13:05:22.6891972Z           ]
2026-06-04T13:05:22.6892399Z         }
2026-06-04T13:05:22.6892819Z       }
2026-06-04T13:05:22.6893227Z     },
2026-06-04T13:05:22.6893643Z     {
2026-06-04T13:05:22.6894204Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T13:05:22.6894923Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T13:05:22.6895399Z       "requiredStages": [
2026-06-04T13:05:22.6895849Z         "impl",
2026-06-04T13:05:22.6896270Z         "unit"
2026-06-04T13:05:22.6896679Z       ],
2026-06-04T13:05:22.6897113Z       "stages": {
2026-06-04T13:05:22.6897528Z         "doc": {
2026-06-04T13:05:22.6898007Z           "complete": false,
2026-06-04T13:05:22.6898460Z           "evidence": []
2026-06-04T13:05:22.6898882Z         },
2026-06-04T13:05:22.6899364Z         "impl": {
2026-06-04T13:05:22.6899834Z           "complete": true,
2026-06-04T13:05:22.6900284Z           "evidence": [
2026-06-04T13:05:22.6900695Z             {
2026-06-04T13:05:22.6901311Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.6901761Z               "line": 128
2026-06-04T13:05:22.6902184Z             }
2026-06-04T13:05:22.6902606Z           ]
2026-06-04T13:05:22.6903192Z         },
2026-06-04T13:05:22.6903649Z         "int": {
2026-06-04T13:05:22.6904123Z           "complete": false,
2026-06-04T13:05:22.6904582Z           "evidence": []
2026-06-04T13:05:22.6905142Z         },
2026-06-04T13:05:22.6905580Z         "unit": {
2026-06-04T13:05:22.6906060Z           "complete": true,
2026-06-04T13:05:22.6906509Z           "evidence": [
2026-06-04T13:05:22.6906932Z             {
2026-06-04T13:05:22.6907537Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.6907994Z               "line": 205
2026-06-04T13:05:22.6908408Z             }
2026-06-04T13:05:22.6908842Z           ]
2026-06-04T13:05:22.6909310Z         }
2026-06-04T13:05:22.6909722Z       }
2026-06-04T13:05:22.6910141Z     },
2026-06-04T13:05:22.6910549Z     {
2026-06-04T13:05:22.6911152Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T13:05:22.6911994Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T13:05:22.6912479Z       "requiredStages": [
2026-06-04T13:05:22.6912926Z         "impl",
2026-06-04T13:05:22.6913344Z         "unit"
2026-06-04T13:05:22.6913762Z       ],
2026-06-04T13:05:22.6914199Z       "stages": {
2026-06-04T13:05:22.6914643Z         "doc": {
2026-06-04T13:05:22.6915111Z           "complete": false,
2026-06-04T13:05:22.6915576Z           "evidence": []
2026-06-04T13:05:22.6915996Z         },
2026-06-04T13:05:22.6916436Z         "impl": {
2026-06-04T13:05:22.6916907Z           "complete": true,
2026-06-04T13:05:22.6917350Z           "evidence": [
2026-06-04T13:05:22.6917767Z             {
2026-06-04T13:05:22.6918371Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6918828Z               "line": 190
2026-06-04T13:05:22.6919291Z             },
2026-06-04T13:05:22.6919709Z             {
2026-06-04T13:05:22.6920311Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6920763Z               "line": 201
2026-06-04T13:05:22.6921195Z             },
2026-06-04T13:05:22.6921601Z             {
2026-06-04T13:05:22.6922219Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6922672Z               "line": 219
2026-06-04T13:05:22.6923084Z             }
2026-06-04T13:05:22.6923527Z           ]
2026-06-04T13:05:22.6923940Z         },
2026-06-04T13:05:22.6924368Z         "int": {
2026-06-04T13:05:22.6924837Z           "complete": false,
2026-06-04T13:05:22.6925297Z           "evidence": []
2026-06-04T13:05:22.6925720Z         },
2026-06-04T13:05:22.6926150Z         "unit": {
2026-06-04T13:05:22.6926621Z           "complete": true,
2026-06-04T13:05:22.6927063Z           "evidence": [
2026-06-04T13:05:22.6927488Z             {
2026-06-04T13:05:22.6928081Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6928537Z               "line": 243
2026-06-04T13:05:22.6928958Z             },
2026-06-04T13:05:22.6929413Z             {
2026-06-04T13:05:22.6930026Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6930479Z               "line": 261
2026-06-04T13:05:22.6930915Z             },
2026-06-04T13:05:22.6931341Z             {
2026-06-04T13:05:22.6931954Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6932409Z               "line": 398
2026-06-04T13:05:22.6932845Z             },
2026-06-04T13:05:22.6933267Z             {
2026-06-04T13:05:22.6933866Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6934324Z               "line": 409
2026-06-04T13:05:22.6934734Z             },
2026-06-04T13:05:22.6935160Z             {
2026-06-04T13:05:22.6935764Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.6936209Z               "line": 422
2026-06-04T13:05:22.6936634Z             }
2026-06-04T13:05:22.6937046Z           ]
2026-06-04T13:05:22.6937466Z         }
2026-06-04T13:05:22.6941606Z       }
2026-06-04T13:05:22.6942086Z     },
2026-06-04T13:05:22.6942499Z     {
2026-06-04T13:05:22.6943051Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T13:05:22.6944630Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T13:05:22.6945143Z       "requiredStages": [
2026-06-04T13:05:22.6945582Z         "impl",
2026-06-04T13:05:22.6946155Z         "unit"
2026-06-04T13:05:22.6946583Z       ],
2026-06-04T13:05:22.6947020Z       "stages": {
2026-06-04T13:05:22.6947442Z         "doc": {
2026-06-04T13:05:22.6947925Z           "complete": false,
2026-06-04T13:05:22.6948383Z           "evidence": []
2026-06-04T13:05:22.6948804Z         },
2026-06-04T13:05:22.6949293Z         "impl": {
2026-06-04T13:05:22.6949771Z           "complete": true,
2026-06-04T13:05:22.6950231Z           "evidence": [
2026-06-04T13:05:22.6950648Z             {
2026-06-04T13:05:22.6951242Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6951693Z               "line": 14
2026-06-04T13:05:22.6952122Z             },
2026-06-04T13:05:22.6952540Z             {
2026-06-04T13:05:22.6953122Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T13:05:22.6953593Z               "line": 305
2026-06-04T13:05:22.6954019Z             }
2026-06-04T13:05:22.6954443Z           ]
2026-06-04T13:05:22.6954862Z         },
2026-06-04T13:05:22.6955297Z         "int": {
2026-06-04T13:05:22.6955783Z           "complete": false,
2026-06-04T13:05:22.6956253Z           "evidence": []
2026-06-04T13:05:22.6956678Z         },
2026-06-04T13:05:22.6957113Z         "unit": {
2026-06-04T13:05:22.6957594Z           "complete": true,
2026-06-04T13:05:22.6958046Z           "evidence": [
2026-06-04T13:05:22.6958468Z             {
2026-06-04T13:05:22.6959045Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6959539Z               "line": 130
2026-06-04T13:05:22.6959966Z             },
2026-06-04T13:05:22.6960378Z             {
2026-06-04T13:05:22.6960960Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6961409Z               "line": 138
2026-06-04T13:05:22.6961829Z             },
2026-06-04T13:05:22.6962238Z             {
2026-06-04T13:05:22.6962840Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6963301Z               "line": 146
2026-06-04T13:05:22.6963715Z             },
2026-06-04T13:05:22.6964141Z             {
2026-06-04T13:05:22.6964728Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6965181Z               "line": 154
2026-06-04T13:05:22.6965609Z             },
2026-06-04T13:05:22.6966022Z             {
2026-06-04T13:05:22.6966605Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6967053Z               "line": 162
2026-06-04T13:05:22.6967477Z             },
2026-06-04T13:05:22.6967887Z             {
2026-06-04T13:05:22.6968467Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T13:05:22.6968922Z               "line": 170
2026-06-04T13:05:22.6969371Z             }
2026-06-04T13:05:22.6969796Z           ]
2026-06-04T13:05:22.6970207Z         }
2026-06-04T13:05:22.6970624Z       }
2026-06-04T13:05:22.6971028Z     },
2026-06-04T13:05:22.6971440Z     {
2026-06-04T13:05:22.6972006Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T13:05:22.6977597Z       "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-04T13:05:22.6978124Z       "requiredStages": [
2026-06-04T13:05:22.6978546Z         "impl",
2026-06-04T13:05:22.6978973Z         "unit"
2026-06-04T13:05:22.6979428Z       ],
2026-06-04T13:05:22.6979871Z       "stages": {
2026-06-04T13:05:22.6980297Z         "doc": {
2026-06-04T13:05:22.6980771Z           "complete": false,
2026-06-04T13:05:22.6981227Z           "evidence": []
2026-06-04T13:05:22.6981636Z         },
2026-06-04T13:05:22.6982070Z         "impl": {
2026-06-04T13:05:22.6982540Z           "complete": true,
2026-06-04T13:05:22.6982987Z           "evidence": [
2026-06-04T13:05:22.6983407Z             {
2026-06-04T13:05:22.6984357Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.6984831Z               "line": 34
2026-06-04T13:05:22.6985248Z             }
2026-06-04T13:05:22.6985854Z           ]
2026-06-04T13:05:22.6986272Z         },
2026-06-04T13:05:22.6986704Z         "int": {
2026-06-04T13:05:22.6987183Z           "complete": false,
2026-06-04T13:05:22.6987635Z           "evidence": []
2026-06-04T13:05:22.6988059Z         },
2026-06-04T13:05:22.6988485Z         "unit": {
2026-06-04T13:05:22.6988964Z           "complete": true,
2026-06-04T13:05:22.6989453Z           "evidence": [
2026-06-04T13:05:22.6989884Z             {
2026-06-04T13:05:22.6990671Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.6991126Z               "line": 188
2026-06-04T13:05:22.6991548Z             },
2026-06-04T13:05:22.6991959Z             {
2026-06-04T13:05:22.6992751Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.6993221Z               "line": 200
2026-06-04T13:05:22.6993644Z             },
2026-06-04T13:05:22.6994057Z             {
2026-06-04T13:05:22.6994831Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.6995309Z               "line": 211
2026-06-04T13:05:22.6995726Z             },
2026-06-04T13:05:22.6996146Z             {
2026-06-04T13:05:22.6996927Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.6997378Z               "line": 245
2026-06-04T13:05:22.6997808Z             },
2026-06-04T13:05:22.6998221Z             {
2026-06-04T13:05:22.6999000Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.6999484Z               "line": 267
2026-06-04T13:05:22.6999909Z             },
2026-06-04T13:05:22.7000326Z             {
2026-06-04T13:05:22.7001099Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.7001559Z               "line": 288
2026-06-04T13:05:22.7001996Z             },
2026-06-04T13:05:22.7002418Z             {
2026-06-04T13:05:22.7003200Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T13:05:22.7003661Z               "line": 304
2026-06-04T13:05:22.7004094Z             }
2026-06-04T13:05:22.7004503Z           ]
2026-06-04T13:05:22.7004920Z         }
2026-06-04T13:05:22.7005328Z       }
2026-06-04T13:05:22.7005736Z     },
2026-06-04T13:05:22.7006140Z     {
2026-06-04T13:05:22.7006732Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T13:05:22.7010295Z       "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-04T13:05:22.7010780Z       "requiredStages": [
2026-06-04T13:05:22.7011213Z         "impl",
2026-06-04T13:05:22.7011638Z         "unit"
2026-06-04T13:05:22.7012051Z       ],
2026-06-04T13:05:22.7012476Z       "stages": {
2026-06-04T13:05:22.7012912Z         "doc": {
2026-06-04T13:05:22.7013388Z           "complete": false,
2026-06-04T13:05:22.7013836Z           "evidence": []
2026-06-04T13:05:22.7014251Z         },
2026-06-04T13:05:22.7014674Z         "impl": {
2026-06-04T13:05:22.7015164Z           "complete": true,
2026-06-04T13:05:22.7015612Z           "evidence": [
2026-06-04T13:05:22.7016031Z             {
2026-06-04T13:05:22.7016665Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7017108Z               "line": 29
2026-06-04T13:05:22.7017537Z             },
2026-06-04T13:05:22.7017952Z             {
2026-06-04T13:05:22.7018573Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7019030Z               "line": 154
2026-06-04T13:05:22.7019481Z             },
2026-06-04T13:05:22.7019903Z             {
2026-06-04T13:05:22.7020522Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7020984Z               "line": 173
2026-06-04T13:05:22.7021401Z             },
2026-06-04T13:05:22.7021968Z             {
2026-06-04T13:05:22.7022618Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7023071Z               "line": 200
2026-06-04T13:05:22.7023493Z             }
2026-06-04T13:05:22.7024052Z           ]
2026-06-04T13:05:22.7024475Z         },
2026-06-04T13:05:22.7024893Z         "int": {
2026-06-04T13:05:22.7025375Z           "complete": false,
2026-06-04T13:05:22.7025835Z           "evidence": []
2026-06-04T13:05:22.7026243Z         },
2026-06-04T13:05:22.7026673Z         "unit": {
2026-06-04T13:05:22.7027135Z           "complete": true,
2026-06-04T13:05:22.7027591Z           "evidence": [
2026-06-04T13:05:22.7031612Z             {
2026-06-04T13:05:22.7032331Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7032801Z               "line": 276
2026-06-04T13:05:22.7033221Z             },
2026-06-04T13:05:22.7033642Z             {
2026-06-04T13:05:22.7034258Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7034756Z               "line": 291
2026-06-04T13:05:22.7035184Z             },
2026-06-04T13:05:22.7035617Z             {
2026-06-04T13:05:22.7036241Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7036707Z               "line": 310
2026-06-04T13:05:22.7037135Z             },
2026-06-04T13:05:22.7037553Z             {
2026-06-04T13:05:22.7038182Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7038628Z               "line": 326
2026-06-04T13:05:22.7039046Z             },
2026-06-04T13:05:22.7039529Z             {
2026-06-04T13:05:22.7040148Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7040608Z               "line": 376
2026-06-04T13:05:22.7041021Z             },
2026-06-04T13:05:22.7041439Z             {
2026-06-04T13:05:22.7042051Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7042507Z               "line": 390
2026-06-04T13:05:22.7042951Z             },
2026-06-04T13:05:22.7043425Z             {
2026-06-04T13:05:22.7044142Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7044621Z               "line": 401
2026-06-04T13:05:22.7045050Z             },
2026-06-04T13:05:22.7045482Z             {
2026-06-04T13:05:22.7046106Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.7046567Z               "line": 412
2026-06-04T13:05:22.7046984Z             }
2026-06-04T13:05:22.7047409Z           ]
2026-06-04T13:05:22.7047821Z         }
2026-06-04T13:05:22.7048241Z       }
2026-06-04T13:05:22.7048651Z     },
2026-06-04T13:05:22.7049067Z     {
2026-06-04T13:05:22.7049748Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T13:05:22.7053745Z       "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-04T13:05:22.7054243Z       "requiredStages": [
2026-06-04T13:05:22.7054674Z         "impl",
2026-06-04T13:05:22.7055126Z         "unit"
2026-06-04T13:05:22.7055551Z       ],
2026-06-04T13:05:22.7055982Z       "stages": {
2026-06-04T13:05:22.7056409Z         "doc": {
2026-06-04T13:05:22.7056893Z           "complete": false,
2026-06-04T13:05:22.7057352Z           "evidence": []
2026-06-04T13:05:22.7057765Z         },
2026-06-04T13:05:22.7058197Z         "impl": {
2026-06-04T13:05:22.7058658Z           "complete": true,
2026-06-04T13:05:22.7059105Z           "evidence": [
2026-06-04T13:05:22.7059578Z             {
2026-06-04T13:05:22.7060295Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7060752Z               "line": 27
2026-06-04T13:05:22.7061167Z             },
2026-06-04T13:05:22.7061588Z             {
2026-06-04T13:05:22.7062311Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7062758Z               "line": 110
2026-06-04T13:05:22.7063179Z             },
2026-06-04T13:05:22.7063595Z             {
2026-06-04T13:05:22.7064569Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7065056Z               "line": 153
2026-06-04T13:05:22.7065483Z             },
2026-06-04T13:05:22.7065911Z             {
2026-06-04T13:05:22.7066768Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7067226Z               "line": 182
2026-06-04T13:05:22.7067642Z             },
2026-06-04T13:05:22.7068062Z             {
2026-06-04T13:05:22.7068850Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7069343Z               "line": 31
2026-06-04T13:05:22.7069770Z             },
2026-06-04T13:05:22.7070181Z             {
2026-06-04T13:05:22.7070985Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7071434Z               "line": 113
2026-06-04T13:05:22.7071853Z             },
2026-06-04T13:05:22.7072267Z             {
2026-06-04T13:05:22.7073067Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7073534Z               "line": 138
2026-06-04T13:05:22.7073950Z             }
2026-06-04T13:05:22.7074370Z           ]
2026-06-04T13:05:22.7074782Z         },
2026-06-04T13:05:22.7075230Z         "int": {
2026-06-04T13:05:22.7075698Z           "complete": false,
2026-06-04T13:05:22.7076159Z           "evidence": []
2026-06-04T13:05:22.7076580Z         },
2026-06-04T13:05:22.7077000Z         "unit": {
2026-06-04T13:05:22.7077477Z           "complete": true,
2026-06-04T13:05:22.7077925Z           "evidence": [
2026-06-04T13:05:22.7078348Z             {
2026-06-04T13:05:22.7079071Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7079577Z               "line": 261
2026-06-04T13:05:22.7080007Z             },
2026-06-04T13:05:22.7080421Z             {
2026-06-04T13:05:22.7081143Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7081593Z               "line": 276
2026-06-04T13:05:22.7082019Z             },
2026-06-04T13:05:22.7082442Z             {
2026-06-04T13:05:22.7083173Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7083634Z               "line": 293
2026-06-04T13:05:22.7084069Z             },
2026-06-04T13:05:22.7084492Z             {
2026-06-04T13:05:22.7085202Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7085655Z               "line": 310
2026-06-04T13:05:22.7086085Z             },
2026-06-04T13:05:22.7086502Z             {
2026-06-04T13:05:22.7087221Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7087669Z               "line": 327
2026-06-04T13:05:22.7088088Z             },
2026-06-04T13:05:22.7088505Z             {
2026-06-04T13:05:22.7089266Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.7089730Z               "line": 366
2026-06-04T13:05:22.7090154Z             },
2026-06-04T13:05:22.7090578Z             {
2026-06-04T13:05:22.7091396Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7091856Z               "line": 179
2026-06-04T13:05:22.7092274Z             },
2026-06-04T13:05:22.7092697Z             {
2026-06-04T13:05:22.7093508Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7093960Z               "line": 194
2026-06-04T13:05:22.7094377Z             },
2026-06-04T13:05:22.7094784Z             {
2026-06-04T13:05:22.7095576Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7096019Z               "line": 204
2026-06-04T13:05:22.7096443Z             },
2026-06-04T13:05:22.7096867Z             {
2026-06-04T13:05:22.7097661Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7098120Z               "line": 259
2026-06-04T13:05:22.7098531Z             },
2026-06-04T13:05:22.7098950Z             {
2026-06-04T13:05:22.7099776Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7100386Z               "line": 269
2026-06-04T13:05:22.7100824Z             },
2026-06-04T13:05:22.7101236Z             {
2026-06-04T13:05:22.7102027Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.7102610Z               "line": 283
2026-06-04T13:05:22.7103032Z             }
2026-06-04T13:05:22.7103451Z           ]
2026-06-04T13:05:22.7103865Z         }
2026-06-04T13:05:22.7104288Z       }
2026-06-04T13:05:22.7104698Z     },
2026-06-04T13:05:22.7105121Z     {
2026-06-04T13:05:22.7105702Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T13:05:22.7106799Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T13:05:22.7107292Z       "requiredStages": [],
2026-06-04T13:05:22.7107721Z       "stages": {
2026-06-04T13:05:22.7108154Z         "doc": {
2026-06-04T13:05:22.7108628Z           "complete": false,
2026-06-04T13:05:22.7109088Z           "evidence": []
2026-06-04T13:05:22.7109547Z         },
2026-06-04T13:05:22.7110002Z         "impl": {
2026-06-04T13:05:22.7110497Z           "complete": false,
2026-06-04T13:05:22.7110956Z           "evidence": []
2026-06-04T13:05:22.7111374Z         },
2026-06-04T13:05:22.7111815Z         "int": {
2026-06-04T13:05:22.7112296Z           "complete": false,
2026-06-04T13:05:22.7112746Z           "evidence": []
2026-06-04T13:05:22.7113162Z         },
2026-06-04T13:05:22.7113598Z         "unit": {
2026-06-04T13:05:22.7114062Z           "complete": false,
2026-06-04T13:05:22.7114518Z           "evidence": []
2026-06-04T13:05:22.7114929Z         }
2026-06-04T13:05:22.7115348Z       }
2026-06-04T13:05:22.7119477Z     },
2026-06-04T13:05:22.7119996Z     {
2026-06-04T13:05:22.7120661Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T13:05:22.7133007Z       "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-04T13:05:22.7133593Z       "requiredStages": [
2026-06-04T13:05:22.7134032Z         "impl",
2026-06-04T13:05:22.7134457Z         "unit"
2026-06-04T13:05:22.7134876Z       ],
2026-06-04T13:05:22.7135331Z       "stages": {
2026-06-04T13:05:22.7135763Z         "doc": {
2026-06-04T13:05:22.7136234Z           "complete": false,
2026-06-04T13:05:22.7136696Z           "evidence": []
2026-06-04T13:05:22.7137106Z         },
2026-06-04T13:05:22.7137541Z         "impl": {
2026-06-04T13:05:22.7138018Z           "complete": true,
2026-06-04T13:05:22.7138459Z           "evidence": [
2026-06-04T13:05:22.7138885Z             {
2026-06-04T13:05:22.7139605Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7140065Z               "line": 26
2026-06-04T13:05:22.7140493Z             },
2026-06-04T13:05:22.7140915Z             {
2026-06-04T13:05:22.7141578Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7142028Z               "line": 93
2026-06-04T13:05:22.7142465Z             },
2026-06-04T13:05:22.7142878Z             {
2026-06-04T13:05:22.7143540Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7144002Z               "line": 158
2026-06-04T13:05:22.7144430Z             },
2026-06-04T13:05:22.7144855Z             {
2026-06-04T13:05:22.7145489Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7145939Z               "line": 19
2026-06-04T13:05:22.7146362Z             },
2026-06-04T13:05:22.7146785Z             {
2026-06-04T13:05:22.7147414Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7147867Z               "line": 50
2026-06-04T13:05:22.7148292Z             },
2026-06-04T13:05:22.7148704Z             {
2026-06-04T13:05:22.7149342Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T13:05:22.7149795Z               "line": 18
2026-06-04T13:05:22.7150222Z             },
2026-06-04T13:05:22.7150639Z             {
2026-06-04T13:05:22.7151566Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T13:05:22.7152040Z               "line": 65
2026-06-04T13:05:22.7152455Z             },
2026-06-04T13:05:22.7152877Z             {
2026-06-04T13:05:22.7153644Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.7154095Z               "line": 51
2026-06-04T13:05:22.7154511Z             }
2026-06-04T13:05:22.7154933Z           ]
2026-06-04T13:05:22.7155362Z         },
2026-06-04T13:05:22.7155782Z         "int": {
2026-06-04T13:05:22.7156264Z           "complete": false,
2026-06-04T13:05:22.7156717Z           "evidence": []
2026-06-04T13:05:22.7157141Z         },
2026-06-04T13:05:22.7157575Z         "unit": {
2026-06-04T13:05:22.7158052Z           "complete": true,
2026-06-04T13:05:22.7158510Z           "evidence": [
2026-06-04T13:05:22.7158920Z             {
2026-06-04T13:05:22.7159621Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7160076Z               "line": 276
2026-06-04T13:05:22.7160519Z             },
2026-06-04T13:05:22.7160936Z             {
2026-06-04T13:05:22.7161601Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7162058Z               "line": 295
2026-06-04T13:05:22.7162489Z             },
2026-06-04T13:05:22.7162907Z             {
2026-06-04T13:05:22.7163561Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7164020Z               "line": 323
2026-06-04T13:05:22.7164435Z             },
2026-06-04T13:05:22.7164856Z             {
2026-06-04T13:05:22.7165516Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7165963Z               "line": 372
2026-06-04T13:05:22.7166386Z             },
2026-06-04T13:05:22.7166796Z             {
2026-06-04T13:05:22.7167458Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7167909Z               "line": 383
2026-06-04T13:05:22.7168330Z             },
2026-06-04T13:05:22.7168753Z             {
2026-06-04T13:05:22.7169460Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7169947Z               "line": 414
2026-06-04T13:05:22.7170374Z             },
2026-06-04T13:05:22.7170803Z             {
2026-06-04T13:05:22.7171488Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.7171936Z               "line": 425
2026-06-04T13:05:22.7172359Z             },
2026-06-04T13:05:22.7172773Z             {
2026-06-04T13:05:22.7173427Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7173873Z               "line": 77
2026-06-04T13:05:22.7174301Z             },
2026-06-04T13:05:22.7174720Z             {
2026-06-04T13:05:22.7175359Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7175818Z               "line": 95
2026-06-04T13:05:22.7176234Z             },
2026-06-04T13:05:22.7176661Z             {
2026-06-04T13:05:22.7177304Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7177764Z               "line": 106
2026-06-04T13:05:22.7178197Z             },
2026-06-04T13:05:22.7178625Z             {
2026-06-04T13:05:22.7179347Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7179799Z               "line": 117
2026-06-04T13:05:22.7180241Z             },
2026-06-04T13:05:22.7180657Z             {
2026-06-04T13:05:22.7181303Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7181769Z               "line": 124
2026-06-04T13:05:22.7182188Z             },
2026-06-04T13:05:22.7182620Z             {
2026-06-04T13:05:22.7183260Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T13:05:22.7183720Z               "line": 137
2026-06-04T13:05:22.7184136Z             },
2026-06-04T13:05:22.7184562Z             {
2026-06-04T13:05:22.7185155Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T13:05:22.7185614Z               "line": 106
2026-06-04T13:05:22.7186043Z             },
2026-06-04T13:05:22.7186455Z             {
2026-06-04T13:05:22.7187225Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T13:05:22.7187686Z               "line": 118
2026-06-04T13:05:22.7188120Z             },
2026-06-04T13:05:22.7188543Z             {
2026-06-04T13:05:22.7189340Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T13:05:22.7189796Z               "line": 317
2026-06-04T13:05:22.7190209Z             }
2026-06-04T13:05:22.7190633Z           ]
2026-06-04T13:05:22.7191039Z         }
2026-06-04T13:05:22.7191466Z       }
2026-06-04T13:05:22.7191886Z     },
2026-06-04T13:05:22.7192298Z     {
2026-06-04T13:05:22.7192904Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T13:05:22.7194436Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T13:05:22.7194920Z       "requiredStages": [
2026-06-04T13:05:22.7195345Z         "impl",
2026-06-04T13:05:22.7195774Z         "unit"
2026-06-04T13:05:22.7196196Z       ],
2026-06-04T13:05:22.7196624Z       "stages": {
2026-06-04T13:05:22.7197066Z         "doc": {
2026-06-04T13:05:22.7197528Z           "complete": true,
2026-06-04T13:05:22.7197979Z           "evidence": [
2026-06-04T13:05:22.7198395Z             {
2026-06-04T13:05:22.7198968Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T13:05:22.7199484Z               "line": 137
2026-06-04T13:05:22.7199901Z             }
2026-06-04T13:05:22.7200327Z           ]
2026-06-04T13:05:22.7200738Z         },
2026-06-04T13:05:22.7201170Z         "impl": {
2026-06-04T13:05:22.7201630Z           "complete": true,
2026-06-04T13:05:22.7202086Z           "evidence": [
2026-06-04T13:05:22.7202512Z             {
2026-06-04T13:05:22.7203092Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T13:05:22.7203546Z               "line": 29
2026-06-04T13:05:22.7203969Z             },
2026-06-04T13:05:22.7204393Z             {
2026-06-04T13:05:22.7204999Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.7205498Z               "line": 101
2026-06-04T13:05:22.7205923Z             },
2026-06-04T13:05:22.7206350Z             {
2026-06-04T13:05:22.7207006Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7207447Z               "line": 30
2026-06-04T13:05:22.7207881Z             },
2026-06-04T13:05:22.7208292Z             {
2026-06-04T13:05:22.7208903Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.7209409Z               "line": 48
2026-06-04T13:05:22.7209843Z             }
2026-06-04T13:05:22.7210278Z           ]
2026-06-04T13:05:22.7215511Z         },
2026-06-04T13:05:22.7216055Z         "int": {
2026-06-04T13:05:22.7216533Z           "complete": false,
2026-06-04T13:05:22.7217002Z           "evidence": []
2026-06-04T13:05:22.7217426Z         },
2026-06-04T13:05:22.7217858Z         "unit": {
2026-06-04T13:05:22.7218326Z           "complete": true,
2026-06-04T13:05:22.7218786Z           "evidence": [
2026-06-04T13:05:22.7219288Z             {
2026-06-04T13:05:22.7220322Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7220832Z               "line": 152
2026-06-04T13:05:22.7221268Z             }
2026-06-04T13:05:22.7221684Z           ]
2026-06-04T13:05:22.7222111Z         }
2026-06-04T13:05:22.7222541Z       }
2026-06-04T13:05:22.7222952Z     },
2026-06-04T13:05:22.7223360Z     {
2026-06-04T13:05:22.7223972Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T13:05:22.7226159Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T13:05:22.7226644Z       "requiredStages": [
2026-06-04T13:05:22.7227068Z         "doc",
2026-06-04T13:05:22.7227486Z         "impl",
2026-06-04T13:05:22.7227916Z         "unit"
2026-06-04T13:05:22.7228334Z       ],
2026-06-04T13:05:22.7228763Z       "stages": {
2026-06-04T13:05:22.7229245Z         "doc": {
2026-06-04T13:05:22.7229719Z           "complete": true,
2026-06-04T13:05:22.7230177Z           "evidence": [
2026-06-04T13:05:22.7230589Z             {
2026-06-04T13:05:22.7231414Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T13:05:22.7231904Z               "line": 149
2026-06-04T13:05:22.7232327Z             }
2026-06-04T13:05:22.7232756Z           ]
2026-06-04T13:05:22.7233315Z         },
2026-06-04T13:05:22.7233751Z         "impl": {
2026-06-04T13:05:22.7234217Z           "complete": true,
2026-06-04T13:05:22.7234672Z           "evidence": [
2026-06-04T13:05:22.7235095Z             {
2026-06-04T13:05:22.7235746Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7236197Z               "line": 22
2026-06-04T13:05:22.7236613Z             }
2026-06-04T13:05:22.7237029Z           ]
2026-06-04T13:05:22.7237439Z         },
2026-06-04T13:05:22.7237867Z         "int": {
2026-06-04T13:05:22.7238347Z           "complete": false,
2026-06-04T13:05:22.7238801Z           "evidence": []
2026-06-04T13:05:22.7239264Z         },
2026-06-04T13:05:22.7239697Z         "unit": {
2026-06-04T13:05:22.7240167Z           "complete": true,
2026-06-04T13:05:22.7240624Z           "evidence": [
2026-06-04T13:05:22.7241050Z             {
2026-06-04T13:05:22.7241703Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7242152Z               "line": 257
2026-06-04T13:05:22.7242592Z             }
2026-06-04T13:05:22.7243003Z           ]
2026-06-04T13:05:22.7243421Z         }
2026-06-04T13:05:22.7243831Z       }
2026-06-04T13:05:22.7244244Z     },
2026-06-04T13:05:22.7244647Z     {
2026-06-04T13:05:22.7245275Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T13:05:22.7247785Z       "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-04T13:05:22.7248267Z       "requiredStages": [
2026-06-04T13:05:22.7248700Z         "impl",
2026-06-04T13:05:22.7249119Z         "unit"
2026-06-04T13:05:22.7249585Z       ],
2026-06-04T13:05:22.7250031Z       "stages": {
2026-06-04T13:05:22.7250452Z         "doc": {
2026-06-04T13:05:22.7250922Z           "complete": true,
2026-06-04T13:05:22.7251385Z           "evidence": [
2026-06-04T13:05:22.7251820Z             {
2026-06-04T13:05:22.7252381Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T13:05:22.7252844Z               "line": 143
2026-06-04T13:05:22.7253275Z             }
2026-06-04T13:05:22.7253687Z           ]
2026-06-04T13:05:22.7254107Z         },
2026-06-04T13:05:22.7254533Z         "impl": {
2026-06-04T13:05:22.7255005Z           "complete": true,
2026-06-04T13:05:22.7255449Z           "evidence": [
2026-06-04T13:05:22.7255874Z             {
2026-06-04T13:05:22.7256537Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.7256983Z               "line": 124
2026-06-04T13:05:22.7257410Z             },
2026-06-04T13:05:22.7257826Z             {
2026-06-04T13:05:22.7258441Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T13:05:22.7258884Z               "line": 15
2026-06-04T13:05:22.7259404Z             }
2026-06-04T13:05:22.7259836Z           ]
2026-06-04T13:05:22.7260267Z         },
2026-06-04T13:05:22.7260703Z         "int": {
2026-06-04T13:05:22.7261172Z           "complete": false,
2026-06-04T13:05:22.7261629Z           "evidence": []
2026-06-04T13:05:22.7262056Z         },
2026-06-04T13:05:22.7262491Z         "unit": {
2026-06-04T13:05:22.7262969Z           "complete": true,
2026-06-04T13:05:22.7263422Z           "evidence": [
2026-06-04T13:05:22.7263851Z             {
2026-06-04T13:05:22.7264548Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T13:05:22.7265003Z               "line": 87
2026-06-04T13:05:22.7265419Z             },
2026-06-04T13:05:22.7265841Z             {
2026-06-04T13:05:22.7266513Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.7266991Z               "line": 515
2026-06-04T13:05:22.7267764Z             },
2026-06-04T13:05:22.7268381Z             {
2026-06-04T13:05:22.7270004Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.7271824Z               "line": 534
2026-06-04T13:05:22.7273268Z             },
2026-06-04T13:05:22.7274408Z             {
2026-06-04T13:05:22.7275959Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.7278154Z               "line": 148
2026-06-04T13:05:22.7279645Z             },
2026-06-04T13:05:22.7280866Z             {
2026-06-04T13:05:22.7282247Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T13:05:22.7283977Z               "line": 74
2026-06-04T13:05:22.7285209Z             },
2026-06-04T13:05:22.7286379Z             {
2026-06-04T13:05:22.7287653Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T13:05:22.7289365Z               "line": 88
2026-06-04T13:05:22.7290605Z             },
2026-06-04T13:05:22.7291689Z             {
2026-06-04T13:05:22.7292950Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T13:05:22.7294654Z               "line": 104
2026-06-04T13:05:22.7295955Z             }
2026-06-04T13:05:22.7297087Z           ]
2026-06-04T13:05:22.7298176Z         }
2026-06-04T13:05:22.7299368Z       }
2026-06-04T13:05:22.7306570Z     },
2026-06-04T13:05:22.7307565Z     {
2026-06-04T13:05:22.7308714Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T13:05:22.7311071Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T13:05:22.7313251Z       "requiredStages": [
2026-06-04T13:05:22.7314437Z         "impl",
2026-06-04T13:05:22.7315469Z         "unit"
2026-06-04T13:05:22.7316485Z       ],
2026-06-04T13:05:22.7317449Z       "stages": {
2026-06-04T13:05:22.7318511Z         "doc": {
2026-06-04T13:05:22.7319633Z           "complete": false,
2026-06-04T13:05:22.7320901Z           "evidence": []
2026-06-04T13:05:22.7322050Z         },
2026-06-04T13:05:22.7323024Z         "impl": {
2026-06-04T13:05:22.7324119Z           "complete": true,
2026-06-04T13:05:22.7325349Z           "evidence": [
2026-06-04T13:05:22.7326469Z             {
2026-06-04T13:05:22.7327656Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T13:05:22.7329284Z               "line": 15
2026-06-04T13:05:22.7330441Z             },
2026-06-04T13:05:22.7331455Z             {
2026-06-04T13:05:22.7332673Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7334305Z               "line": 55
2026-06-04T13:05:22.7335445Z             },
2026-06-04T13:05:22.7336451Z             {
2026-06-04T13:05:22.7337670Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7339331Z               "line": 62
2026-06-04T13:05:22.7340478Z             },
2026-06-04T13:05:22.7341480Z             {
2026-06-04T13:05:22.7342690Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7344290Z               "line": 107
2026-06-04T13:05:22.7345431Z             },
2026-06-04T13:05:22.7346439Z             {
2026-06-04T13:05:22.7347655Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7349326Z               "line": 128
2026-06-04T13:05:22.7350478Z             }
2026-06-04T13:05:22.7351483Z           ]
2026-06-04T13:05:22.7352454Z         },
2026-06-04T13:05:22.7353418Z         "int": {
2026-06-04T13:05:22.7354483Z           "complete": false,
2026-06-04T13:05:22.7355745Z           "evidence": []
2026-06-04T13:05:22.7356929Z         },
2026-06-04T13:05:22.7357905Z         "unit": {
2026-06-04T13:05:22.7359001Z           "complete": true,
2026-06-04T13:05:22.7360264Z           "evidence": [
2026-06-04T13:05:22.7361386Z             {
2026-06-04T13:05:22.7362587Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T13:05:22.7364153Z               "line": 113
2026-06-04T13:05:22.7365307Z             },
2026-06-04T13:05:22.7366312Z             {
2026-06-04T13:05:22.7367482Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T13:05:22.7369049Z               "line": 119
2026-06-04T13:05:22.7370241Z             },
2026-06-04T13:05:22.7371236Z             {
2026-06-04T13:05:22.7372402Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T13:05:22.7374355Z               "line": 130
2026-06-04T13:05:22.7375563Z             },
2026-06-04T13:05:22.7376567Z             {
2026-06-04T13:05:22.7377793Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7379650Z               "line": 183
2026-06-04T13:05:22.7380818Z             },
2026-06-04T13:05:22.7381826Z             {
2026-06-04T13:05:22.7383037Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7384634Z               "line": 193
2026-06-04T13:05:22.7385781Z             },
2026-06-04T13:05:22.7386799Z             {
2026-06-04T13:05:22.7388019Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7389665Z               "line": 237
2026-06-04T13:05:22.7390828Z             },
2026-06-04T13:05:22.7391837Z             {
2026-06-04T13:05:22.7393059Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7394660Z               "line": 249
2026-06-04T13:05:22.7395818Z             },
2026-06-04T13:05:22.7396821Z             {
2026-06-04T13:05:22.7398060Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.7399713Z               "line": 275
2026-06-04T13:05:22.7400877Z             }
2026-06-04T13:05:22.7401887Z           ]
2026-06-04T13:05:22.7402846Z         }
2026-06-04T13:05:22.7403800Z       }
2026-06-04T13:05:22.7404731Z     },
2026-06-04T13:05:22.7410295Z     {
2026-06-04T13:05:22.7411551Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T13:05:22.7414226Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T13:05:22.7416929Z       "requiredStages": [
2026-06-04T13:05:22.7418127Z         "impl",
2026-06-04T13:05:22.7419151Z         "unit",
2026-06-04T13:05:22.7420227Z         "int"
2026-06-04T13:05:22.7421218Z       ],
2026-06-04T13:05:22.7422179Z       "stages": {
2026-06-04T13:05:22.7423219Z         "doc": {
2026-06-04T13:05:22.7424292Z           "complete": false,
2026-06-04T13:05:22.7425540Z           "evidence": []
2026-06-04T13:05:22.7426721Z         },
2026-06-04T13:05:22.7427698Z         "impl": {
2026-06-04T13:05:22.7428786Z           "complete": true,
2026-06-04T13:05:22.7430041Z           "evidence": [
2026-06-04T13:05:22.7431171Z             {
2026-06-04T13:05:22.7432362Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.7433939Z               "line": 246
2026-06-04T13:05:22.7435083Z             },
2026-06-04T13:05:22.7436086Z             {
2026-06-04T13:05:22.7437273Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.7438843Z               "line": 506
2026-06-04T13:05:22.7440032Z             },
2026-06-04T13:05:22.7441039Z             {
2026-06-04T13:05:22.7442222Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.7443789Z               "line": 529
2026-06-04T13:05:22.7444937Z             },
2026-06-04T13:05:22.7445927Z             {
2026-06-04T13:05:22.7447118Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:22.7448699Z               "line": 553
2026-06-04T13:05:22.7449893Z             },
2026-06-04T13:05:22.7450893Z             {
2026-06-04T13:05:22.7452090Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.7453698Z               "line": 463
2026-06-04T13:05:22.7454836Z             },
2026-06-04T13:05:22.7455831Z             {
2026-06-04T13:05:22.7457040Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.7458635Z               "line": 544
2026-06-04T13:05:22.7459810Z             },
2026-06-04T13:05:22.7460807Z             {
2026-06-04T13:05:22.7462009Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.7463605Z               "line": 588
2026-06-04T13:05:22.7464746Z             },
2026-06-04T13:05:22.7465744Z             {
2026-06-04T13:05:22.7466946Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T13:05:22.7468536Z               "line": 631
2026-06-04T13:05:22.7469710Z             },
2026-06-04T13:05:22.7470709Z             {
2026-06-04T13:05:22.7472164Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T13:05:22.7473785Z               "line": 46
2026-06-04T13:05:22.7474924Z             },
2026-06-04T13:05:22.7476076Z             {
2026-06-04T13:05:22.7477282Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T13:05:22.7478877Z               "line": 160
2026-06-04T13:05:22.7480064Z             },
2026-06-04T13:05:22.7481067Z             {
2026-06-04T13:05:22.7482243Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T13:05:22.7483787Z               "line": 71
2026-06-04T13:05:22.7484920Z             },
2026-06-04T13:05:22.7485913Z             {
2026-06-04T13:05:22.7487083Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.7488638Z               "line": 128
2026-06-04T13:05:22.7489822Z             },
2026-06-04T13:05:22.7490825Z             {
2026-06-04T13:05:22.7492001Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.7493592Z               "line": 174
2026-06-04T13:05:22.7494740Z             }
2026-06-04T13:05:22.7495725Z           ]
2026-06-04T13:05:22.7496676Z         },
2026-06-04T13:05:22.7497641Z         "int": {
2026-06-04T13:05:22.7498738Z           "complete": true,
2026-06-04T13:05:22.7500003Z           "evidence": [
2026-06-04T13:05:22.7501115Z             {
2026-06-04T13:05:22.7502386Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T13:05:22.7504063Z               "line": 27
2026-06-04T13:05:22.7505188Z             },
2026-06-04T13:05:22.7506185Z             {
2026-06-04T13:05:22.7507444Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T13:05:22.7509106Z               "line": 125
2026-06-04T13:05:22.7510296Z             },
2026-06-04T13:05:22.7511290Z             {
2026-06-04T13:05:22.7516589Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T13:05:22.7518342Z               "line": 189
2026-06-04T13:05:22.7519580Z             }
2026-06-04T13:05:22.7520599Z           ]
2026-06-04T13:05:22.7521571Z         },
2026-06-04T13:05:22.7522546Z         "unit": {
2026-06-04T13:05:22.7523637Z           "complete": true,
2026-06-04T13:05:22.7524855Z           "evidence": [
2026-06-04T13:05:22.7525981Z             {
2026-06-04T13:05:22.7527186Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T13:05:22.7528776Z               "line": 282
2026-06-04T13:05:22.7529964Z             },
2026-06-04T13:05:22.7530953Z             {
2026-06-04T13:05:22.7532159Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T13:05:22.7533755Z               "line": 300
2026-06-04T13:05:22.7534898Z             },
2026-06-04T13:05:22.7535901Z             {
2026-06-04T13:05:22.7537094Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T13:05:22.7538676Z               "line": 318
2026-06-04T13:05:22.7539858Z             },
2026-06-04T13:05:22.7540861Z             {
2026-06-04T13:05:22.7542078Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T13:05:22.7543699Z               "line": 221
2026-06-04T13:05:22.7544841Z             },
2026-06-04T13:05:22.7545846Z             {
2026-06-04T13:05:22.7547060Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T13:05:22.7548684Z               "line": 204
2026-06-04T13:05:22.7549868Z             },
2026-06-04T13:05:22.7550864Z             {
2026-06-04T13:05:22.7552051Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T13:05:22.7553638Z               "line": 182
2026-06-04T13:05:22.7554787Z             },
2026-06-04T13:05:22.7555783Z             {
2026-06-04T13:05:22.7556950Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.7558497Z               "line": 441
2026-06-04T13:05:22.7559677Z             },
2026-06-04T13:05:22.7560671Z             {
2026-06-04T13:05:22.7561835Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.7563391Z               "line": 465
2026-06-04T13:05:22.7564537Z             }
2026-06-04T13:05:22.7565749Z           ]
2026-06-04T13:05:22.7566735Z         }
2026-06-04T13:05:22.7567672Z       }
2026-06-04T13:05:22.7568596Z     },
2026-06-04T13:05:22.7569569Z     {
2026-06-04T13:05:22.7570851Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T13:05:22.7572980Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T13:05:22.7575105Z       "requiredStages": [
2026-06-04T13:05:22.7576295Z         "impl",
2026-06-04T13:05:22.7577309Z         "unit"
2026-06-04T13:05:22.7578311Z       ],
2026-06-04T13:05:22.7579332Z       "stages": {
2026-06-04T13:05:22.7580373Z         "doc": {
2026-06-04T13:05:22.7581450Z           "complete": false,
2026-06-04T13:05:22.7582685Z           "evidence": []
2026-06-04T13:05:22.7583813Z         },
2026-06-04T13:05:22.7584784Z         "impl": {
2026-06-04T13:05:22.7585863Z           "complete": true,
2026-06-04T13:05:22.7587070Z           "evidence": [
2026-06-04T13:05:22.7588177Z             {
2026-06-04T13:05:22.7589474Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.7591132Z               "line": 56
2026-06-04T13:05:22.7592254Z             },
2026-06-04T13:05:22.7593246Z             {
2026-06-04T13:05:22.7594528Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.7596171Z               "line": 63
2026-06-04T13:05:22.7597293Z             },
2026-06-04T13:05:22.7598290Z             {
2026-06-04T13:05:22.7599522Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7601151Z               "line": 33
2026-06-04T13:05:22.7602298Z             },
2026-06-04T13:05:22.7603297Z             {
2026-06-04T13:05:22.7604480Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7606044Z               "line": 61
2026-06-04T13:05:22.7607187Z             },
2026-06-04T13:05:22.7608199Z             {
2026-06-04T13:05:22.7609436Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7611003Z               "line": 70
2026-06-04T13:05:22.7612159Z             },
2026-06-04T13:05:22.7613160Z             {
2026-06-04T13:05:22.7614334Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7615899Z               "line": 79
2026-06-04T13:05:22.7621389Z             },
2026-06-04T13:05:22.7622454Z             {
2026-06-04T13:05:22.7623629Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7625199Z               "line": 88
2026-06-04T13:05:22.7626326Z             },
2026-06-04T13:05:22.7627326Z             {
2026-06-04T13:05:22.7628499Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7630117Z               "line": 97
2026-06-04T13:05:22.7631245Z             },
2026-06-04T13:05:22.7632239Z             {
2026-06-04T13:05:22.7633415Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7634970Z               "line": 105
2026-06-04T13:05:22.7636124Z             },
2026-06-04T13:05:22.7637123Z             {
2026-06-04T13:05:22.7638330Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7639940Z               "line": 114
2026-06-04T13:05:22.7641096Z             },
2026-06-04T13:05:22.7642088Z             {
2026-06-04T13:05:22.7643281Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7644834Z               "line": 123
2026-06-04T13:05:22.7645974Z             },
2026-06-04T13:05:22.7646963Z             {
2026-06-04T13:05:22.7648136Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7649727Z               "line": 130
2026-06-04T13:05:22.7650885Z             },
2026-06-04T13:05:22.7651880Z             {
2026-06-04T13:05:22.7653069Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7654623Z               "line": 137
2026-06-04T13:05:22.7655764Z             },
2026-06-04T13:05:22.7656759Z             {
2026-06-04T13:05:22.7657929Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7659526Z               "line": 145
2026-06-04T13:05:22.7660980Z             },
2026-06-04T13:05:22.7662027Z             {
2026-06-04T13:05:22.7663203Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7664763Z               "line": 154
2026-06-04T13:05:22.7666050Z             },
2026-06-04T13:05:22.7667045Z             {
2026-06-04T13:05:22.7668219Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7669834Z               "line": 221
2026-06-04T13:05:22.7670983Z             },
2026-06-04T13:05:22.7671983Z             {
2026-06-04T13:05:22.7673150Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7674715Z               "line": 233
2026-06-04T13:05:22.7675865Z             },
2026-06-04T13:05:22.7676858Z             {
2026-06-04T13:05:22.7678030Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7679636Z               "line": 320
2026-06-04T13:05:22.7680780Z             }
2026-06-04T13:05:22.7681770Z           ]
2026-06-04T13:05:22.7682729Z         },
2026-06-04T13:05:22.7683700Z         "int": {
2026-06-04T13:05:22.7684778Z           "complete": false,
2026-06-04T13:05:22.7686020Z           "evidence": []
2026-06-04T13:05:22.7687158Z         },
2026-06-04T13:05:22.7688135Z         "unit": {
2026-06-04T13:05:22.7689252Z           "complete": true,
2026-06-04T13:05:22.7690463Z           "evidence": [
2026-06-04T13:05:22.7691582Z             {
2026-06-04T13:05:22.7692749Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7694293Z               "line": 390
2026-06-04T13:05:22.7695437Z             },
2026-06-04T13:05:22.7696434Z             {
2026-06-04T13:05:22.7697615Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7699213Z               "line": 416
2026-06-04T13:05:22.7700351Z             },
2026-06-04T13:05:22.7701348Z             {
2026-06-04T13:05:22.7702524Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7704076Z               "line": 429
2026-06-04T13:05:22.7705215Z             },
2026-06-04T13:05:22.7706228Z             {
2026-06-04T13:05:22.7707397Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.7708949Z               "line": 471
2026-06-04T13:05:22.7710153Z             }
2026-06-04T13:05:22.7711169Z           ]
2026-06-04T13:05:22.7712147Z         }
2026-06-04T13:05:22.7713088Z       }
2026-06-04T13:05:22.7714016Z     },
2026-06-04T13:05:22.7714943Z     {
2026-06-04T13:05:22.7715988Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T13:05:22.7718050Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T13:05:22.7720332Z       "requiredStages": [
2026-06-04T13:05:22.7725911Z         "impl",
2026-06-04T13:05:22.7726992Z         "unit"
2026-06-04T13:05:22.7727987Z       ],
2026-06-04T13:05:22.7728939Z       "stages": {
2026-06-04T13:05:22.7730080Z         "doc": {
2026-06-04T13:05:22.7731161Z           "complete": false,
2026-06-04T13:05:22.7732408Z           "evidence": []
2026-06-04T13:05:22.7733549Z         },
2026-06-04T13:05:22.7734553Z         "impl": {
2026-06-04T13:05:22.7735637Z           "complete": true,
2026-06-04T13:05:22.7736857Z           "evidence": [
2026-06-04T13:05:22.7737960Z             {
2026-06-04T13:05:22.7739143Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.7740714Z               "line": 107
2026-06-04T13:05:22.7741862Z             },
2026-06-04T13:05:22.7742869Z             {
2026-06-04T13:05:22.7744067Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.7745652Z               "line": 118
2026-06-04T13:05:22.7746787Z             }
2026-06-04T13:05:22.7747758Z           ]
2026-06-04T13:05:22.7748707Z         },
2026-06-04T13:05:22.7749697Z         "int": {
2026-06-04T13:05:22.7750767Z           "complete": false,
2026-06-04T13:05:22.7752013Z           "evidence": []
2026-06-04T13:05:22.7753146Z         },
2026-06-04T13:05:22.7754114Z         "unit": {
2026-06-04T13:05:22.7755190Z           "complete": true,
2026-06-04T13:05:22.7756417Z           "evidence": [
2026-06-04T13:05:22.7757774Z             {
2026-06-04T13:05:22.7758961Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.7760610Z               "line": 225
2026-06-04T13:05:22.7761921Z             },
2026-06-04T13:05:22.7762916Z             {
2026-06-04T13:05:22.7764115Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.7765699Z               "line": 345
2026-06-04T13:05:22.7766845Z             },
2026-06-04T13:05:22.7767833Z             {
2026-06-04T13:05:22.7769028Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.7770666Z               "line": 355
2026-06-04T13:05:22.7771808Z             }
2026-06-04T13:05:22.7772792Z           ]
2026-06-04T13:05:22.7773747Z         }
2026-06-04T13:05:22.7774684Z       }
2026-06-04T13:05:22.7775623Z     },
2026-06-04T13:05:22.7776570Z     {
2026-06-04T13:05:22.7777643Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T13:05:22.7779431Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T13:05:22.7781160Z       "requiredStages": [],
2026-06-04T13:05:22.7782384Z       "stages": {
2026-06-04T13:05:22.7783431Z         "doc": {
2026-06-04T13:05:22.7784511Z           "complete": false,
2026-06-04T13:05:22.7785768Z           "evidence": []
2026-06-04T13:05:22.7786905Z         },
2026-06-04T13:05:22.7787872Z         "impl": {
2026-06-04T13:05:22.7788958Z           "complete": false,
2026-06-04T13:05:22.7790236Z           "evidence": []
2026-06-04T13:05:22.7791369Z         },
2026-06-04T13:05:22.7792336Z         "int": {
2026-06-04T13:05:22.7793403Z           "complete": false,
2026-06-04T13:05:22.7794641Z           "evidence": []
2026-06-04T13:05:22.7795773Z         },
2026-06-04T13:05:22.7796742Z         "unit": {
2026-06-04T13:05:22.7797833Z           "complete": false,
2026-06-04T13:05:22.7799080Z           "evidence": []
2026-06-04T13:05:22.7800262Z         }
2026-06-04T13:05:22.7801195Z       }
2026-06-04T13:05:22.7802120Z     },
2026-06-04T13:05:22.7803052Z     {
2026-06-04T13:05:22.7804208Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T13:05:22.7806262Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T13:05:22.7808258Z       "requiredStages": [
2026-06-04T13:05:22.7809479Z         "impl",
2026-06-04T13:05:22.7810506Z         "unit"
2026-06-04T13:05:22.7811510Z       ],
2026-06-04T13:05:22.7812474Z       "stages": {
2026-06-04T13:05:22.7813513Z         "doc": {
2026-06-04T13:05:22.7814584Z           "complete": false,
2026-06-04T13:05:22.7815836Z           "evidence": []
2026-06-04T13:05:22.7816968Z         },
2026-06-04T13:05:22.7817938Z         "impl": {
2026-06-04T13:05:22.7819017Z           "complete": true,
2026-06-04T13:05:22.7824481Z           "evidence": [
2026-06-04T13:05:22.7825725Z             {
2026-06-04T13:05:22.7826968Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.7828587Z               "line": 424
2026-06-04T13:05:22.7829895Z             },
2026-06-04T13:05:22.7831662Z             {
2026-06-04T13:05:22.7832944Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.7834519Z               "line": 28
2026-06-04T13:05:22.7835650Z             }
2026-06-04T13:05:22.7836656Z           ]
2026-06-04T13:05:22.7837606Z         },
2026-06-04T13:05:22.7838563Z         "int": {
2026-06-04T13:05:22.7839694Z           "complete": false,
2026-06-04T13:05:22.7840942Z           "evidence": []
2026-06-04T13:05:22.7842073Z         },
2026-06-04T13:05:22.7843036Z         "unit": {
2026-06-04T13:05:22.7844114Z           "complete": true,
2026-06-04T13:05:22.7845314Z           "evidence": [
2026-06-04T13:05:22.7846423Z             {
2026-06-04T13:05:22.7847600Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.7849204Z               "line": 200
2026-06-04T13:05:22.7850351Z             }
2026-06-04T13:05:22.7851338Z           ]
2026-06-04T13:05:22.7852301Z         }
2026-06-04T13:05:22.7853248Z       }
2026-06-04T13:05:22.7854175Z     },
2026-06-04T13:05:22.7855373Z     {
2026-06-04T13:05:22.7856505Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T13:05:22.7858239Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T13:05:22.7860169Z       "requiredStages": [],
2026-06-04T13:05:22.7861379Z       "stages": {
2026-06-04T13:05:22.7862414Z         "doc": {
2026-06-04T13:05:22.7863494Z           "complete": false,
2026-06-04T13:05:22.7864724Z           "evidence": []
2026-06-04T13:05:22.7865862Z         },
2026-06-04T13:05:22.7866838Z         "impl": {
2026-06-04T13:05:22.7867915Z           "complete": false,
2026-06-04T13:05:22.7869153Z           "evidence": []
2026-06-04T13:05:22.7870325Z         },
2026-06-04T13:05:22.7871281Z         "int": {
2026-06-04T13:05:22.7872356Z           "complete": false,
2026-06-04T13:05:22.7873617Z           "evidence": []
2026-06-04T13:05:22.7874741Z         },
2026-06-04T13:05:22.7875696Z         "unit": {
2026-06-04T13:05:22.7876768Z           "complete": false,
2026-06-04T13:05:22.7878017Z           "evidence": []
2026-06-04T13:05:22.7879204Z         }
2026-06-04T13:05:22.7880170Z       }
2026-06-04T13:05:22.7881099Z     },
2026-06-04T13:05:22.7882030Z     {
2026-06-04T13:05:22.7883176Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T13:05:22.7885158Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T13:05:22.7886988Z       "requiredStages": [
2026-06-04T13:05:22.7888168Z         "impl",
2026-06-04T13:05:22.7889228Z         "unit"
2026-06-04T13:05:22.7890228Z       ],
2026-06-04T13:05:22.7891179Z       "stages": {
2026-06-04T13:05:22.7892216Z         "doc": {
2026-06-04T13:05:22.7893302Z           "complete": false,
2026-06-04T13:05:22.7894536Z           "evidence": []
2026-06-04T13:05:22.7895664Z         },
2026-06-04T13:05:22.7896621Z         "impl": {
2026-06-04T13:05:22.7897690Z           "complete": true,
2026-06-04T13:05:22.7898906Z           "evidence": [
2026-06-04T13:05:22.7900055Z             {
2026-06-04T13:05:22.7901215Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T13:05:22.7902761Z               "line": 19
2026-06-04T13:05:22.7903901Z             },
2026-06-04T13:05:22.7904894Z             {
2026-06-04T13:05:22.7906109Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:22.7907729Z               "line": 325
2026-06-04T13:05:22.7908156Z             },
2026-06-04T13:05:22.7908568Z             {
2026-06-04T13:05:22.7909264Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:22.7909711Z               "line": 361
2026-06-04T13:05:22.7910137Z             },
2026-06-04T13:05:22.7910557Z             {
2026-06-04T13:05:22.7911180Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T13:05:22.7911634Z               "line": 15
2026-06-04T13:05:22.7912056Z             },
2026-06-04T13:05:22.7912480Z             {
2026-06-04T13:05:22.7913091Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T13:05:22.7913541Z               "line": 48
2026-06-04T13:05:22.7913958Z             },
2026-06-04T13:05:22.7914395Z             {
2026-06-04T13:05:22.7915014Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T13:05:22.7915458Z               "line": 106
2026-06-04T13:05:22.7915898Z             }
2026-06-04T13:05:22.7916309Z           ]
2026-06-04T13:05:22.7916729Z         },
2026-06-04T13:05:22.7917151Z         "int": {
2026-06-04T13:05:22.7917626Z           "complete": false,
2026-06-04T13:05:22.7918087Z           "evidence": []
2026-06-04T13:05:22.7918496Z         },
2026-06-04T13:05:22.7923627Z         "unit": {
2026-06-04T13:05:22.7924184Z           "complete": true,
2026-06-04T13:05:22.7924651Z           "evidence": [
2026-06-04T13:05:22.7925070Z             {
2026-06-04T13:05:22.7925745Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:22.7926206Z               "line": 453
2026-06-04T13:05:22.7926630Z             },
2026-06-04T13:05:22.7927050Z             {
2026-06-04T13:05:22.7927664Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T13:05:22.7928379Z               "line": 149
2026-06-04T13:05:22.7928840Z             },
2026-06-04T13:05:22.7929368Z             {
2026-06-04T13:05:22.7930033Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T13:05:22.7930712Z               "line": 156
2026-06-04T13:05:22.7931142Z             }
2026-06-04T13:05:22.7931553Z           ]
2026-06-04T13:05:22.7931969Z         }
2026-06-04T13:05:22.7932374Z       }
2026-06-04T13:05:22.7932784Z     },
2026-06-04T13:05:22.7933195Z     {
2026-06-04T13:05:22.7933764Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T13:05:22.7934613Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T13:05:22.7935088Z       "requiredStages": [
2026-06-04T13:05:22.7935519Z         "impl",
2026-06-04T13:05:22.7935937Z         "unit"
2026-06-04T13:05:22.7936354Z       ],
2026-06-04T13:05:22.7936787Z       "stages": {
2026-06-04T13:05:22.7937203Z         "doc": {
2026-06-04T13:05:22.7937677Z           "complete": false,
2026-06-04T13:05:22.7938148Z           "evidence": []
2026-06-04T13:05:22.7938571Z         },
2026-06-04T13:05:22.7938996Z         "impl": {
2026-06-04T13:05:22.7939526Z           "complete": true,
2026-06-04T13:05:22.7939987Z           "evidence": [
2026-06-04T13:05:22.7940393Z             {
2026-06-04T13:05:22.7941013Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.7941448Z               "line": 35
2026-06-04T13:05:22.7941867Z             }
2026-06-04T13:05:22.7942280Z           ]
2026-06-04T13:05:22.7942696Z         },
2026-06-04T13:05:22.7943118Z         "int": {
2026-06-04T13:05:22.7943583Z           "complete": false,
2026-06-04T13:05:22.7944040Z           "evidence": []
2026-06-04T13:05:22.7944447Z         },
2026-06-04T13:05:22.7944877Z         "unit": {
2026-06-04T13:05:22.7945338Z           "complete": true,
2026-06-04T13:05:22.7945792Z           "evidence": [
2026-06-04T13:05:22.7946218Z             {
2026-06-04T13:05:22.7946823Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T13:05:22.7947291Z               "line": 217
2026-06-04T13:05:22.7947705Z             }
2026-06-04T13:05:22.7948126Z           ]
2026-06-04T13:05:22.7948535Z         }
2026-06-04T13:05:22.7948966Z       }
2026-06-04T13:05:22.7949418Z     },
2026-06-04T13:05:22.7949830Z     {
2026-06-04T13:05:22.7950391Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T13:05:22.7951951Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T13:05:22.7952434Z       "requiredStages": [
2026-06-04T13:05:22.7952856Z         "impl",
2026-06-04T13:05:22.7953281Z         "unit"
2026-06-04T13:05:22.7953700Z       ],
2026-06-04T13:05:22.7954126Z       "stages": {
2026-06-04T13:05:22.7954552Z         "doc": {
2026-06-04T13:05:22.7955015Z           "complete": false,
2026-06-04T13:05:22.7955477Z           "evidence": []
2026-06-04T13:05:22.7955885Z         },
2026-06-04T13:05:22.7956314Z         "impl": {
2026-06-04T13:05:22.7956782Z           "complete": true,
2026-06-04T13:05:22.7957235Z           "evidence": [
2026-06-04T13:05:22.7957650Z             {
2026-06-04T13:05:22.7958310Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:22.7958770Z               "line": 256
2026-06-04T13:05:22.7959217Z             },
2026-06-04T13:05:22.7959638Z             {
2026-06-04T13:05:22.7960283Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:22.7960725Z               "line": 221
2026-06-04T13:05:22.7961141Z             },
2026-06-04T13:05:22.7961559Z             {
2026-06-04T13:05:22.7962197Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:22.7962645Z               "line": 150
2026-06-04T13:05:22.7963061Z             }
2026-06-04T13:05:22.7963476Z           ]
2026-06-04T13:05:22.7963884Z         },
2026-06-04T13:05:22.7964314Z         "int": {
2026-06-04T13:05:22.7964785Z           "complete": false,
2026-06-04T13:05:22.7965237Z           "evidence": []
2026-06-04T13:05:22.7965650Z         },
2026-06-04T13:05:22.7966243Z         "unit": {
2026-06-04T13:05:22.7966746Z           "complete": true,
2026-06-04T13:05:22.7967193Z           "evidence": [
2026-06-04T13:05:22.7967613Z             {
2026-06-04T13:05:22.7968396Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:22.7968849Z               "line": 477
2026-06-04T13:05:22.7969296Z             },
2026-06-04T13:05:22.7969726Z             {
2026-06-04T13:05:22.7970371Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:22.7970820Z               "line": 488
2026-06-04T13:05:22.7971246Z             },
2026-06-04T13:05:22.7971655Z             {
2026-06-04T13:05:22.7972293Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:22.7972740Z               "line": 504
2026-06-04T13:05:22.7973160Z             },
2026-06-04T13:05:22.7973581Z             {
2026-06-04T13:05:22.7974212Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:22.7974659Z               "line": 518
2026-06-04T13:05:22.7975088Z             },
2026-06-04T13:05:22.7975513Z             {
2026-06-04T13:05:22.7976203Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T13:05:22.7976671Z               "line": 268
2026-06-04T13:05:22.7977090Z             }
2026-06-04T13:05:22.7977499Z           ]
2026-06-04T13:05:22.7977917Z         }
2026-06-04T13:05:22.7978327Z       }
2026-06-04T13:05:22.7978743Z     },
2026-06-04T13:05:22.7979145Z     {
2026-06-04T13:05:22.7979732Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T13:05:22.7984698Z       "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-04T13:05:22.7985181Z       "requiredStages": [
2026-06-04T13:05:22.7985610Z         "doc",
2026-06-04T13:05:22.7986028Z         "impl",
2026-06-04T13:05:22.7986456Z         "unit"
2026-06-04T13:05:22.7986902Z       ],
2026-06-04T13:05:22.7987340Z       "stages": {
2026-06-04T13:05:22.7987769Z         "doc": {
2026-06-04T13:05:22.7988235Z           "complete": true,
2026-06-04T13:05:22.7988704Z           "evidence": [
2026-06-04T13:05:22.7989116Z             {
2026-06-04T13:05:22.7989729Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T13:05:22.7990186Z               "line": 259
2026-06-04T13:05:22.7990596Z             }
2026-06-04T13:05:22.7991015Z           ]
2026-06-04T13:05:22.7991424Z         },
2026-06-04T13:05:22.7991856Z         "impl": {
2026-06-04T13:05:22.7992310Z           "complete": true,
2026-06-04T13:05:22.7992765Z           "evidence": [
2026-06-04T13:05:22.7993183Z             {
2026-06-04T13:05:22.7993820Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:22.7994272Z               "line": 85
2026-06-04T13:05:22.7994693Z             },
2026-06-04T13:05:22.7995108Z             {
2026-06-04T13:05:22.7995751Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T13:05:22.7996198Z               "line": 99
2026-06-04T13:05:22.7996628Z             },
2026-06-04T13:05:22.7997041Z             {
2026-06-04T13:05:22.7997714Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.7998153Z               "line": 53
2026-06-04T13:05:22.7998581Z             },
2026-06-04T13:05:22.7998998Z             {
2026-06-04T13:05:22.7999707Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.8000154Z               "line": 89
2026-06-04T13:05:22.8000565Z             },
2026-06-04T13:05:22.8000981Z             {
2026-06-04T13:05:22.8001632Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:22.8002077Z               "line": 29
2026-06-04T13:05:22.8002490Z             },
2026-06-04T13:05:22.8002906Z             {
2026-06-04T13:05:22.8003570Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:22.8004008Z               "line": 75
2026-06-04T13:05:22.8004592Z             },
2026-06-04T13:05:22.8005016Z             {
2026-06-04T13:05:22.8005724Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8010378Z               "line": 121
2026-06-04T13:05:22.8011897Z             },
2026-06-04T13:05:22.8012330Z             {
2026-06-04T13:05:22.8012955Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8013412Z               "line": 40
2026-06-04T13:05:22.8013826Z             },
2026-06-04T13:05:22.8014252Z             {
2026-06-04T13:05:22.8014864Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8015318Z               "line": 161
2026-06-04T13:05:22.8015741Z             },
2026-06-04T13:05:22.8016158Z             {
2026-06-04T13:05:22.8016748Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T13:05:22.8017189Z               "line": 70
2026-06-04T13:05:22.8017601Z             },
2026-06-04T13:05:22.8018023Z             {
2026-06-04T13:05:22.8018640Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.8019099Z               "line": 210
2026-06-04T13:05:22.8019563Z             },
2026-06-04T13:05:22.8019983Z             {
2026-06-04T13:05:22.8020594Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T13:05:22.8021039Z               "line": 37
2026-06-04T13:05:22.8021456Z             },
2026-06-04T13:05:22.8021864Z             {
2026-06-04T13:05:22.8022502Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T13:05:22.8022940Z               "line": 38
2026-06-04T13:05:22.8023356Z             },
2026-06-04T13:05:22.8023760Z             {
2026-06-04T13:05:22.8024389Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T13:05:22.8024838Z               "line": 36
2026-06-04T13:05:22.8025252Z             },
2026-06-04T13:05:22.8025669Z             {
2026-06-04T13:05:22.8026274Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T13:05:22.8026722Z               "line": 40
2026-06-04T13:05:22.8027138Z             }
2026-06-04T13:05:22.8027556Z           ]
2026-06-04T13:05:22.8027966Z         },
2026-06-04T13:05:22.8028382Z         "int": {
2026-06-04T13:05:22.8028856Z           "complete": false,
2026-06-04T13:05:22.8029360Z           "evidence": []
2026-06-04T13:05:22.8029777Z         },
2026-06-04T13:05:22.8030201Z         "unit": {
2026-06-04T13:05:22.8030667Z           "complete": true,
2026-06-04T13:05:22.8031117Z           "evidence": [
2026-06-04T13:05:22.8031526Z             {
2026-06-04T13:05:22.8032188Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.8032634Z               "line": 179
2026-06-04T13:05:22.8033050Z             },
2026-06-04T13:05:22.8033462Z             {
2026-06-04T13:05:22.8034153Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T13:05:22.8034604Z               "line": 117
2026-06-04T13:05:22.8035018Z             },
2026-06-04T13:05:22.8035441Z             {
2026-06-04T13:05:22.8036144Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T13:05:22.8036599Z               "line": 344
2026-06-04T13:05:22.8037011Z             },
2026-06-04T13:05:22.8037427Z             {
2026-06-04T13:05:22.8038054Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T13:05:22.8038508Z               "line": 204
2026-06-04T13:05:22.8038925Z             },
2026-06-04T13:05:22.8039373Z             {
2026-06-04T13:05:22.8040031Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T13:05:22.8040474Z               "line": 147
2026-06-04T13:05:22.8040893Z             },
2026-06-04T13:05:22.8041305Z             {
2026-06-04T13:05:22.8041920Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T13:05:22.8042372Z               "line": 106
2026-06-04T13:05:22.8042779Z             },
2026-06-04T13:05:22.8043193Z             {
2026-06-04T13:05:22.8043809Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T13:05:22.8044256Z               "line": 142
2026-06-04T13:05:22.8044856Z             },
2026-06-04T13:05:22.8045277Z             {
2026-06-04T13:05:22.8045917Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T13:05:22.8046353Z               "line": 139
2026-06-04T13:05:22.8046919Z             },
2026-06-04T13:05:22.8047341Z             {
2026-06-04T13:05:22.8047972Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T13:05:22.8048423Z               "line": 126
2026-06-04T13:05:22.8048834Z             },
2026-06-04T13:05:22.8049296Z             {
2026-06-04T13:05:22.8049901Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T13:05:22.8050352Z               "line": 135
2026-06-04T13:05:22.8050776Z             }
2026-06-04T13:05:22.8051188Z           ]
2026-06-04T13:05:22.8051606Z         }
2026-06-04T13:05:22.8052017Z       }
2026-06-04T13:05:22.8052430Z     },
2026-06-04T13:05:22.8052835Z     {
2026-06-04T13:05:22.8053442Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T13:05:22.8054329Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T13:05:22.8054806Z       "requiredStages": [
2026-06-04T13:05:22.8055237Z         "impl",
2026-06-04T13:05:22.8055660Z         "unit"
2026-06-04T13:05:22.8056089Z       ],
2026-06-04T13:05:22.8056520Z       "stages": {
2026-06-04T13:05:22.8056951Z         "doc": {
2026-06-04T13:05:22.8057422Z           "complete": false,
2026-06-04T13:05:22.8057867Z           "evidence": []
2026-06-04T13:05:22.8058287Z         },
2026-06-04T13:05:22.8058714Z         "impl": {
2026-06-04T13:05:22.8059223Z           "complete": true,
2026-06-04T13:05:22.8059677Z           "evidence": [
2026-06-04T13:05:22.8060094Z             {
2026-06-04T13:05:22.8060713Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8061151Z               "line": 95
2026-06-04T13:05:22.8061576Z             },
2026-06-04T13:05:22.8061995Z             {
2026-06-04T13:05:22.8062601Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.8063035Z               "line": 96
2026-06-04T13:05:22.8063474Z             }
2026-06-04T13:05:22.8063900Z           ]
2026-06-04T13:05:22.8064310Z         },
2026-06-04T13:05:22.8064740Z         "int": {
2026-06-04T13:05:22.8065219Z           "complete": false,
2026-06-04T13:05:22.8065677Z           "evidence": []
2026-06-04T13:05:22.8066087Z         },
2026-06-04T13:05:22.8066518Z         "unit": {
2026-06-04T13:05:22.8066982Z           "complete": true,
2026-06-04T13:05:22.8067425Z           "evidence": [
2026-06-04T13:05:22.8067845Z             {
2026-06-04T13:05:22.8068449Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8068900Z               "line": 250
2026-06-04T13:05:22.8069353Z             },
2026-06-04T13:05:22.8069781Z             {
2026-06-04T13:05:22.8070384Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T13:05:22.8070833Z               "line": 139
2026-06-04T13:05:22.8071258Z             },
2026-06-04T13:05:22.8071666Z             {
2026-06-04T13:05:22.8072291Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.8072733Z               "line": 384
2026-06-04T13:05:22.8073153Z             },
2026-06-04T13:05:22.8073570Z             {
2026-06-04T13:05:22.8074185Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.8074630Z               "line": 414
2026-06-04T13:05:22.8075038Z             }
2026-06-04T13:05:22.8075461Z           ]
2026-06-04T13:05:22.8075869Z         }
2026-06-04T13:05:22.8076284Z       }
2026-06-04T13:05:22.8076705Z     },
2026-06-04T13:05:22.8077112Z     {
2026-06-04T13:05:22.8077647Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T13:05:22.8078668Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T13:05:22.8079149Z       "requiredStages": [
2026-06-04T13:05:22.8079610Z         "impl",
2026-06-04T13:05:22.8080036Z         "unit"
2026-06-04T13:05:22.8080454Z       ],
2026-06-04T13:05:22.8080887Z       "stages": {
2026-06-04T13:05:22.8081316Z         "doc": {
2026-06-04T13:05:22.8081950Z           "complete": false,
2026-06-04T13:05:22.8082428Z           "evidence": []
2026-06-04T13:05:22.8082838Z         },
2026-06-04T13:05:22.8083271Z         "impl": {
2026-06-04T13:05:22.8083917Z           "complete": true,
2026-06-04T13:05:22.8084361Z           "evidence": [
2026-06-04T13:05:22.8084777Z             {
2026-06-04T13:05:22.8085384Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.8085832Z               "line": 177
2026-06-04T13:05:22.8086246Z             },
2026-06-04T13:05:22.8086663Z             {
2026-06-04T13:05:22.8087273Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.8087713Z               "line": 222
2026-06-04T13:05:22.8088139Z             },
2026-06-04T13:05:22.8094697Z             {
2026-06-04T13:05:22.8095479Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.8095931Z               "line": 234
2026-06-04T13:05:22.8096353Z             }
2026-06-04T13:05:22.8096774Z           ]
2026-06-04T13:05:22.8097235Z         },
2026-06-04T13:05:22.8097675Z         "int": {
2026-06-04T13:05:22.8098155Z           "complete": false,
2026-06-04T13:05:22.8098614Z           "evidence": []
2026-06-04T13:05:22.8099046Z         },
2026-06-04T13:05:22.8099625Z         "unit": {
2026-06-04T13:05:22.8100134Z           "complete": true,
2026-06-04T13:05:22.8100581Z           "evidence": [
2026-06-04T13:05:22.8101005Z             {
2026-06-04T13:05:22.8101613Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.8102074Z               "line": 370
2026-06-04T13:05:22.8102489Z             },
2026-06-04T13:05:22.8102915Z             {
2026-06-04T13:05:22.8103527Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:22.8103972Z               "line": 399
2026-06-04T13:05:22.8104395Z             }
2026-06-04T13:05:22.8104802Z           ]
2026-06-04T13:05:22.8105216Z         }
2026-06-04T13:05:22.8105623Z       }
2026-06-04T13:05:22.8106040Z     },
2026-06-04T13:05:22.8106462Z     {
2026-06-04T13:05:22.8106938Z       "id": "REQ-INFRA-1",
2026-06-04T13:05:22.8107967Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T13:05:22.8108447Z       "requiredStages": [],
2026-06-04T13:05:22.8108897Z       "stages": {
2026-06-04T13:05:22.8109371Z         "doc": {
2026-06-04T13:05:22.8109865Z           "complete": false,
2026-06-04T13:05:22.8110327Z           "evidence": []
2026-06-04T13:05:22.8110736Z         },
2026-06-04T13:05:22.8111174Z         "impl": {
2026-06-04T13:05:22.8111641Z           "complete": false,
2026-06-04T13:05:22.8112093Z           "evidence": []
2026-06-04T13:05:22.8112533Z         },
2026-06-04T13:05:22.8112969Z         "int": {
2026-06-04T13:05:22.8113447Z           "complete": false,
2026-06-04T13:05:22.8113891Z           "evidence": []
2026-06-04T13:05:22.8114307Z         },
2026-06-04T13:05:22.8114724Z         "unit": {
2026-06-04T13:05:22.8115196Z           "complete": false,
2026-06-04T13:05:22.8115646Z           "evidence": []
2026-06-04T13:05:22.8116068Z         }
2026-06-04T13:05:22.8116486Z       }
2026-06-04T13:05:22.8116894Z     },
2026-06-04T13:05:22.8117310Z     {
2026-06-04T13:05:22.8117758Z       "id": "REQ-INST-1",
2026-06-04T13:05:22.8118638Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T13:05:22.8119114Z       "requiredStages": [],
2026-06-04T13:05:22.8119612Z       "stages": {
2026-06-04T13:05:22.8120046Z         "doc": {
2026-06-04T13:05:22.8120512Z           "complete": false,
2026-06-04T13:05:22.8120968Z           "evidence": []
2026-06-04T13:05:22.8121376Z         },
2026-06-04T13:05:22.8121807Z         "impl": {
2026-06-04T13:05:22.8122273Z           "complete": false,
2026-06-04T13:05:22.8122728Z           "evidence": []
2026-06-04T13:05:22.8123142Z         },
2026-06-04T13:05:22.8123559Z         "int": {
2026-06-04T13:05:22.8124031Z           "complete": false,
2026-06-04T13:05:22.8124482Z           "evidence": []
2026-06-04T13:05:22.8124895Z         },
2026-06-04T13:05:22.8125579Z         "unit": {
2026-06-04T13:05:22.8126084Z           "complete": false,
2026-06-04T13:05:22.8126538Z           "evidence": []
2026-06-04T13:05:22.8126947Z         }
2026-06-04T13:05:22.8127362Z       }
2026-06-04T13:05:22.8127907Z     },
2026-06-04T13:05:22.8128317Z     {
2026-06-04T13:05:22.8128782Z       "id": "REQ-INST-10",
2026-06-04T13:05:22.8130063Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T13:05:22.8130547Z       "requiredStages": [
2026-06-04T13:05:22.8130968Z         "impl",
2026-06-04T13:05:22.8131389Z         "unit"
2026-06-04T13:05:22.8131804Z       ],
2026-06-04T13:05:22.8132232Z       "stages": {
2026-06-04T13:05:22.8132652Z         "doc": {
2026-06-04T13:05:22.8133132Z           "complete": false,
2026-06-04T13:05:22.8133585Z           "evidence": []
2026-06-04T13:05:22.8133995Z         },
2026-06-04T13:05:22.8134433Z         "impl": {
2026-06-04T13:05:22.8134900Z           "complete": true,
2026-06-04T13:05:22.8135352Z           "evidence": [
2026-06-04T13:05:22.8135783Z             {
2026-06-04T13:05:22.8136452Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8136912Z               "line": 358
2026-06-04T13:05:22.8137344Z             },
2026-06-04T13:05:22.8137765Z             {
2026-06-04T13:05:22.8138412Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8138875Z               "line": 413
2026-06-04T13:05:22.8139327Z             },
2026-06-04T13:05:22.8139762Z             {
2026-06-04T13:05:22.8140377Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T13:05:22.8140819Z               "line": 13
2026-06-04T13:05:22.8141246Z             },
2026-06-04T13:05:22.8141666Z             {
2026-06-04T13:05:22.8142277Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T13:05:22.8142720Z               "line": 67
2026-06-04T13:05:22.8143155Z             },
2026-06-04T13:05:22.8143572Z             {
2026-06-04T13:05:22.8144154Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T13:05:22.8144607Z               "line": 18
2026-06-04T13:05:22.8145021Z             }
2026-06-04T13:05:22.8145446Z           ]
2026-06-04T13:05:22.8145857Z         },
2026-06-04T13:05:22.8146292Z         "int": {
2026-06-04T13:05:22.8146767Z           "complete": false,
2026-06-04T13:05:22.8147217Z           "evidence": []
2026-06-04T13:05:22.8147640Z         },
2026-06-04T13:05:22.8148060Z         "unit": {
2026-06-04T13:05:22.8148534Z           "complete": true,
2026-06-04T13:05:22.8148976Z           "evidence": [
2026-06-04T13:05:22.8149488Z             {
2026-06-04T13:05:22.8150162Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8150610Z               "line": 557
2026-06-04T13:05:22.8151033Z             },
2026-06-04T13:05:22.8151445Z             {
2026-06-04T13:05:22.8152100Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8152545Z               "line": 585
2026-06-04T13:05:22.8152970Z             },
2026-06-04T13:05:22.8153414Z             {
2026-06-04T13:05:22.8154069Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8154526Z               "line": 593
2026-06-04T13:05:22.8154955Z             },
2026-06-04T13:05:22.8155380Z             {
2026-06-04T13:05:22.8156020Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8156478Z               "line": 606
2026-06-04T13:05:22.8156903Z             },
2026-06-04T13:05:22.8157316Z             {
2026-06-04T13:05:22.8157973Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8158418Z               "line": 619
2026-06-04T13:05:22.8158840Z             },
2026-06-04T13:05:22.8159295Z             {
2026-06-04T13:05:22.8159951Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8160404Z               "line": 635
2026-06-04T13:05:22.8160824Z             },
2026-06-04T13:05:22.8161247Z             {
2026-06-04T13:05:22.8162037Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8162524Z               "line": 864
2026-06-04T13:05:22.8162949Z             },
2026-06-04T13:05:22.8163364Z             {
2026-06-04T13:05:22.8163976Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T13:05:22.8164552Z               "line": 121
2026-06-04T13:05:22.8164976Z             },
2026-06-04T13:05:22.8165389Z             {
2026-06-04T13:05:22.8166000Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T13:05:22.8166453Z               "line": 142
2026-06-04T13:05:22.8166869Z             },
2026-06-04T13:05:22.8167288Z             {
2026-06-04T13:05:22.8167880Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T13:05:22.8168336Z               "line": 150
2026-06-04T13:05:22.8168746Z             },
2026-06-04T13:05:22.8169214Z             {
2026-06-04T13:05:22.8169817Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T13:05:22.8170264Z               "line": 158
2026-06-04T13:05:22.8170687Z             }
2026-06-04T13:05:22.8171110Z           ]
2026-06-04T13:05:22.8171533Z         }
2026-06-04T13:05:22.8171949Z       }
2026-06-04T13:05:22.8176852Z     },
2026-06-04T13:05:22.8177360Z     {
2026-06-04T13:05:22.8177881Z       "id": "REQ-INST-11",
2026-06-04T13:05:22.8179152Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T13:05:22.8179778Z       "requiredStages": [
2026-06-04T13:05:22.8180222Z         "impl",
2026-06-04T13:05:22.8180647Z         "unit"
2026-06-04T13:05:22.8181068Z       ],
2026-06-04T13:05:22.8181501Z       "stages": {
2026-06-04T13:05:22.8181926Z         "doc": {
2026-06-04T13:05:22.8182403Z           "complete": false,
2026-06-04T13:05:22.8182850Z           "evidence": []
2026-06-04T13:05:22.8183268Z         },
2026-06-04T13:05:22.8183691Z         "impl": {
2026-06-04T13:05:22.8184158Z           "complete": true,
2026-06-04T13:05:22.8184612Z           "evidence": [
2026-06-04T13:05:22.8185025Z             {
2026-06-04T13:05:22.8185702Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8186162Z               "line": 260
2026-06-04T13:05:22.8186585Z             },
2026-06-04T13:05:22.8187005Z             {
2026-06-04T13:05:22.8187720Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.8188168Z               "line": 243
2026-06-04T13:05:22.8188582Z             },
2026-06-04T13:05:22.8189005Z             {
2026-06-04T13:05:22.8189670Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T13:05:22.8190132Z               "line": 59
2026-06-04T13:05:22.8190545Z             },
2026-06-04T13:05:22.8190964Z             {
2026-06-04T13:05:22.8191521Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8191968Z               "line": 915
2026-06-04T13:05:22.8192395Z             },
2026-06-04T13:05:22.8192812Z             {
2026-06-04T13:05:22.8193366Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8193818Z               "line": 1020
2026-06-04T13:05:22.8194249Z             }
2026-06-04T13:05:22.8194671Z           ]
2026-06-04T13:05:22.8195079Z         },
2026-06-04T13:05:22.8195503Z         "int": {
2026-06-04T13:05:22.8195970Z           "complete": false,
2026-06-04T13:05:22.8196440Z           "evidence": []
2026-06-04T13:05:22.8196852Z         },
2026-06-04T13:05:22.8197282Z         "unit": {
2026-06-04T13:05:22.8197753Z           "complete": true,
2026-06-04T13:05:22.8198205Z           "evidence": [
2026-06-04T13:05:22.8198628Z             {
2026-06-04T13:05:22.8199323Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8199783Z               "line": 728
2026-06-04T13:05:22.8200195Z             },
2026-06-04T13:05:22.8200615Z             {
2026-06-04T13:05:22.8201274Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8201720Z               "line": 751
2026-06-04T13:05:22.8202143Z             },
2026-06-04T13:05:22.8202556Z             {
2026-06-04T13:05:22.8203491Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:22.8203966Z               "line": 356
2026-06-04T13:05:22.8204389Z             },
2026-06-04T13:05:22.8204811Z             {
2026-06-04T13:05:22.8205564Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T13:05:22.8206018Z               "line": 156
2026-06-04T13:05:22.8206435Z             },
2026-06-04T13:05:22.8206856Z             {
2026-06-04T13:05:22.8207462Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T13:05:22.8207915Z               "line": 177
2026-06-04T13:05:22.8208335Z             },
2026-06-04T13:05:22.8208747Z             {
2026-06-04T13:05:22.8209407Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T13:05:22.8209868Z               "line": 209
2026-06-04T13:05:22.8210287Z             },
2026-06-04T13:05:22.8210711Z             {
2026-06-04T13:05:22.8211255Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8211707Z               "line": 1113
2026-06-04T13:05:22.8212124Z             }
2026-06-04T13:05:22.8212554Z           ]
2026-06-04T13:05:22.8212966Z         }
2026-06-04T13:05:22.8213388Z       }
2026-06-04T13:05:22.8213796Z     },
2026-06-04T13:05:22.8214205Z     {
2026-06-04T13:05:22.8214685Z       "id": "REQ-INST-12",
2026-06-04T13:05:22.8216440Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T13:05:22.8216923Z       "requiredStages": [
2026-06-04T13:05:22.8217339Z         "impl",
2026-06-04T13:05:22.8217760Z         "unit"
2026-06-04T13:05:22.8218179Z       ],
2026-06-04T13:05:22.8218606Z       "stages": {
2026-06-04T13:05:22.8219029Z         "doc": {
2026-06-04T13:05:22.8219534Z           "complete": false,
2026-06-04T13:05:22.8220006Z           "evidence": []
2026-06-04T13:05:22.8220434Z         },
2026-06-04T13:05:22.8220899Z         "impl": {
2026-06-04T13:05:22.8221414Z           "complete": true,
2026-06-04T13:05:22.8221895Z           "evidence": [
2026-06-04T13:05:22.8222319Z             {
2026-06-04T13:05:22.8223001Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8223461Z               "line": 312
2026-06-04T13:05:22.8223884Z             },
2026-06-04T13:05:22.8224321Z             {
2026-06-04T13:05:22.8224978Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8225427Z               "line": 369
2026-06-04T13:05:22.8225851Z             },
2026-06-04T13:05:22.8226261Z             {
2026-06-04T13:05:22.8226917Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8227360Z               "line": 427
2026-06-04T13:05:22.8227786Z             },
2026-06-04T13:05:22.8228208Z             {
2026-06-04T13:05:22.8228811Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.8229306Z               "line": 87
2026-06-04T13:05:22.8229734Z             },
2026-06-04T13:05:22.8230158Z             {
2026-06-04T13:05:22.8230768Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.8231248Z               "line": 216
2026-06-04T13:05:22.8231681Z             },
2026-06-04T13:05:22.8232097Z             {
2026-06-04T13:05:22.8232764Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8233230Z               "line": 132
2026-06-04T13:05:22.8233661Z             }
2026-06-04T13:05:22.8234070Z           ]
2026-06-04T13:05:22.8234489Z         },
2026-06-04T13:05:22.8234917Z         "int": {
2026-06-04T13:05:22.8235385Z           "complete": false,
2026-06-04T13:05:22.8235837Z           "evidence": []
2026-06-04T13:05:22.8236250Z         },
2026-06-04T13:05:22.8236679Z         "unit": {
2026-06-04T13:05:22.8237142Z           "complete": true,
2026-06-04T13:05:22.8237594Z           "evidence": [
2026-06-04T13:05:22.8238017Z             {
2026-06-04T13:05:22.8238667Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8239120Z               "line": 786
2026-06-04T13:05:22.8239567Z             },
2026-06-04T13:05:22.8239983Z             {
2026-06-04T13:05:22.8240784Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8241258Z               "line": 803
2026-06-04T13:05:22.8241685Z             },
2026-06-04T13:05:22.8242274Z             {
2026-06-04T13:05:22.8242934Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8243381Z               "line": 834
2026-06-04T13:05:22.8243804Z             },
2026-06-04T13:05:22.8244222Z             {
2026-06-04T13:05:22.8244837Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.8245298Z               "line": 350
2026-06-04T13:05:22.8245719Z             },
2026-06-04T13:05:22.8246139Z             {
2026-06-04T13:05:22.8246793Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8247247Z               "line": 169
2026-06-04T13:05:22.8247667Z             },
2026-06-04T13:05:22.8248096Z             {
2026-06-04T13:05:22.8248761Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8249286Z               "line": 181
2026-06-04T13:05:22.8249725Z             },
2026-06-04T13:05:22.8250143Z             {
2026-06-04T13:05:22.8250806Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8251279Z               "line": 198
2026-06-04T13:05:22.8251698Z             }
2026-06-04T13:05:22.8252120Z           ]
2026-06-04T13:05:22.8252527Z         }
2026-06-04T13:05:22.8252941Z       }
2026-06-04T13:05:22.8253347Z     },
2026-06-04T13:05:22.8253761Z     {
2026-06-04T13:05:22.8254224Z       "id": "REQ-INST-13",
2026-06-04T13:05:22.8255253Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T13:05:22.8255742Z       "requiredStages": [
2026-06-04T13:05:22.8256170Z         "impl",
2026-06-04T13:05:22.8260802Z         "unit"
2026-06-04T13:05:22.8261332Z       ],
2026-06-04T13:05:22.8261781Z       "stages": {
2026-06-04T13:05:22.8262204Z         "doc": {
2026-06-04T13:05:22.8262695Z           "complete": false,
2026-06-04T13:05:22.8263192Z           "evidence": []
2026-06-04T13:05:22.8263615Z         },
2026-06-04T13:05:22.8264048Z         "impl": {
2026-06-04T13:05:22.8264514Z           "complete": true,
2026-06-04T13:05:22.8264970Z           "evidence": [
2026-06-04T13:05:22.8265402Z             {
2026-06-04T13:05:22.8266021Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8266471Z               "line": 94
2026-06-04T13:05:22.8266887Z             },
2026-06-04T13:05:22.8267309Z             {
2026-06-04T13:05:22.8267978Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8268433Z               "line": 155
2026-06-04T13:05:22.8268857Z             }
2026-06-04T13:05:22.8269325Z           ]
2026-06-04T13:05:22.8269746Z         },
2026-06-04T13:05:22.8270161Z         "int": {
2026-06-04T13:05:22.8270634Z           "complete": false,
2026-06-04T13:05:22.8271082Z           "evidence": []
2026-06-04T13:05:22.8271506Z         },
2026-06-04T13:05:22.8271931Z         "unit": {
2026-06-04T13:05:22.8272415Z           "complete": true,
2026-06-04T13:05:22.8272868Z           "evidence": [
2026-06-04T13:05:22.8273282Z             {
2026-06-04T13:05:22.8273945Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8274414Z               "line": 221
2026-06-04T13:05:22.8274843Z             },
2026-06-04T13:05:22.8275258Z             {
2026-06-04T13:05:22.8275919Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T13:05:22.8276376Z               "line": 233
2026-06-04T13:05:22.8276793Z             }
2026-06-04T13:05:22.8277209Z           ]
2026-06-04T13:05:22.8277619Z         }
2026-06-04T13:05:22.8278039Z       }
2026-06-04T13:05:22.8278445Z     },
2026-06-04T13:05:22.8278861Z     {
2026-06-04T13:05:22.8279369Z       "id": "REQ-INST-14",
2026-06-04T13:05:22.8281725Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T13:05:22.8282217Z       "requiredStages": [],
2026-06-04T13:05:22.8282883Z       "stages": {
2026-06-04T13:05:22.8283344Z         "doc": {
2026-06-04T13:05:22.8283820Z           "complete": false,
2026-06-04T13:05:22.8284269Z           "evidence": []
2026-06-04T13:05:22.8284829Z         },
2026-06-04T13:05:22.8285263Z         "impl": {
2026-06-04T13:05:22.8285743Z           "complete": false,
2026-06-04T13:05:22.8286195Z           "evidence": []
2026-06-04T13:05:22.8286612Z         },
2026-06-04T13:05:22.8287045Z         "int": {
2026-06-04T13:05:22.8287509Z           "complete": false,
2026-06-04T13:05:22.8287963Z           "evidence": []
2026-06-04T13:05:22.8288378Z         },
2026-06-04T13:05:22.8288805Z         "unit": {
2026-06-04T13:05:22.8289314Z           "complete": false,
2026-06-04T13:05:22.8289774Z           "evidence": []
2026-06-04T13:05:22.8290191Z         }
2026-06-04T13:05:22.8290596Z       }
2026-06-04T13:05:22.8291008Z     },
2026-06-04T13:05:22.8291413Z     {
2026-06-04T13:05:22.8291882Z       "id": "REQ-INST-15",
2026-06-04T13:05:22.8296588Z       "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-04T13:05:22.8297094Z       "requiredStages": [],
2026-06-04T13:05:22.8297530Z       "stages": {
2026-06-04T13:05:22.8297946Z         "doc": {
2026-06-04T13:05:22.8298418Z           "complete": false,
2026-06-04T13:05:22.8298865Z           "evidence": []
2026-06-04T13:05:22.8299319Z         },
2026-06-04T13:05:22.8299744Z         "impl": {
2026-06-04T13:05:22.8300213Z           "complete": false,
2026-06-04T13:05:22.8300663Z           "evidence": []
2026-06-04T13:05:22.8301068Z         },
2026-06-04T13:05:22.8301494Z         "int": {
2026-06-04T13:05:22.8301957Z           "complete": false,
2026-06-04T13:05:22.8302411Z           "evidence": []
2026-06-04T13:05:22.8302815Z         },
2026-06-04T13:05:22.8303257Z         "unit": {
2026-06-04T13:05:22.8303742Z           "complete": false,
2026-06-04T13:05:22.8304187Z           "evidence": []
2026-06-04T13:05:22.8304602Z         }
2026-06-04T13:05:22.8305014Z       }
2026-06-04T13:05:22.8305441Z     },
2026-06-04T13:05:22.8305841Z     {
2026-06-04T13:05:22.8306301Z       "id": "REQ-INST-2",
2026-06-04T13:05:22.8306929Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T13:05:22.8307397Z       "requiredStages": [
2026-06-04T13:05:22.8307824Z         "impl",
2026-06-04T13:05:22.8308240Z         "unit"
2026-06-04T13:05:22.8308659Z       ],
2026-06-04T13:05:22.8309080Z       "stages": {
2026-06-04T13:05:22.8309548Z         "doc": {
2026-06-04T13:05:22.8310024Z           "complete": false,
2026-06-04T13:05:22.8310478Z           "evidence": []
2026-06-04T13:05:22.8310897Z         },
2026-06-04T13:05:22.8311326Z         "impl": {
2026-06-04T13:05:22.8311801Z           "complete": true,
2026-06-04T13:05:22.8312253Z           "evidence": [
2026-06-04T13:05:22.8312692Z             {
2026-06-04T13:05:22.8313354Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8313800Z               "line": 86
2026-06-04T13:05:22.8314220Z             },
2026-06-04T13:05:22.8314650Z             {
2026-06-04T13:05:22.8315256Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.8315693Z               "line": 28
2026-06-04T13:05:22.8316115Z             },
2026-06-04T13:05:22.8316533Z             {
2026-06-04T13:05:22.8317125Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.8317577Z               "line": 74
2026-06-04T13:05:22.8317994Z             },
2026-06-04T13:05:22.8318412Z             {
2026-06-04T13:05:22.8319010Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.8319504Z               "line": 96
2026-06-04T13:05:22.8319929Z             },
2026-06-04T13:05:22.8320339Z             {
2026-06-04T13:05:22.8320942Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T13:05:22.8321534Z               "line": 81
2026-06-04T13:05:22.8321977Z             },
2026-06-04T13:05:22.8322390Z             {
2026-06-04T13:05:22.8323003Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T13:05:22.8323585Z               "line": 118
2026-06-04T13:05:22.8324006Z             }
2026-06-04T13:05:22.8324423Z           ]
2026-06-04T13:05:22.8324838Z         },
2026-06-04T13:05:22.8325268Z         "int": {
2026-06-04T13:05:22.8325735Z           "complete": false,
2026-06-04T13:05:22.8326196Z           "evidence": []
2026-06-04T13:05:22.8326611Z         },
2026-06-04T13:05:22.8327029Z         "unit": {
2026-06-04T13:05:22.8327495Z           "complete": true,
2026-06-04T13:05:22.8327938Z           "evidence": [
2026-06-04T13:05:22.8328358Z             {
2026-06-04T13:05:22.8328957Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T13:05:22.8329454Z               "line": 203
2026-06-04T13:05:22.8329879Z             },
2026-06-04T13:05:22.8330297Z             {
2026-06-04T13:05:22.8330919Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T13:05:22.8331375Z               "line": 232
2026-06-04T13:05:22.8331799Z             }
2026-06-04T13:05:22.8332211Z           ]
2026-06-04T13:05:22.8332640Z         }
2026-06-04T13:05:22.8333058Z       }
2026-06-04T13:05:22.8333466Z     },
2026-06-04T13:05:22.8333877Z     {
2026-06-04T13:05:22.8334332Z       "id": "REQ-INST-3",
2026-06-04T13:05:22.8335132Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T13:05:22.8335606Z       "requiredStages": [
2026-06-04T13:05:22.8336045Z         "doc",
2026-06-04T13:05:22.8336475Z         "impl",
2026-06-04T13:05:22.8336889Z         "unit"
2026-06-04T13:05:22.8337302Z       ],
2026-06-04T13:05:22.8337732Z       "stages": {
2026-06-04T13:05:22.8338154Z         "doc": {
2026-06-04T13:05:22.8338612Z           "complete": true,
2026-06-04T13:05:22.8339059Z           "evidence": [
2026-06-04T13:05:22.8339509Z             {
2026-06-04T13:05:22.8340095Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-04T13:05:22.8340537Z               "line": 3
2026-06-04T13:05:22.8340953Z             }
2026-06-04T13:05:22.8341372Z           ]
2026-06-04T13:05:22.8341800Z         },
2026-06-04T13:05:22.8346238Z         "impl": {
2026-06-04T13:05:22.8346749Z           "complete": true,
2026-06-04T13:05:22.8347201Z           "evidence": [
2026-06-04T13:05:22.8347625Z             {
2026-06-04T13:05:22.8348260Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T13:05:22.8348712Z               "line": 70
2026-06-04T13:05:22.8349128Z             },
2026-06-04T13:05:22.8349621Z             {
2026-06-04T13:05:22.8350290Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.8350733Z               "line": 385
2026-06-04T13:05:22.8351155Z             },
2026-06-04T13:05:22.8351567Z             {
2026-06-04T13:05:22.8352232Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8352675Z               "line": 197
2026-06-04T13:05:22.8353137Z             },
2026-06-04T13:05:22.8353562Z             {
2026-06-04T13:05:22.8354212Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8354662Z               "line": 272
2026-06-04T13:05:22.8355089Z             },
2026-06-04T13:05:22.8355507Z             {
2026-06-04T13:05:22.8356155Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8356599Z               "line": 293
2026-06-04T13:05:22.8357020Z             },
2026-06-04T13:05:22.8357432Z             {
2026-06-04T13:05:22.8358093Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T13:05:22.8358537Z               "line": 234
2026-06-04T13:05:22.8358954Z             },
2026-06-04T13:05:22.8359411Z             {
2026-06-04T13:05:22.8360110Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8360562Z               "line": 147
2026-06-04T13:05:22.8360983Z             },
2026-06-04T13:05:22.8361401Z             {
2026-06-04T13:05:22.8362303Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8362785Z               "line": 214
2026-06-04T13:05:22.8363207Z             },
2026-06-04T13:05:22.8363613Z             {
2026-06-04T13:05:22.8364385Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8364824Z               "line": 44
2026-06-04T13:05:22.8365240Z             },
2026-06-04T13:05:22.8365650Z             {
2026-06-04T13:05:22.8366287Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8366745Z               "line": 113
2026-06-04T13:05:22.8367159Z             },
2026-06-04T13:05:22.8367581Z             {
2026-06-04T13:05:22.8368215Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8368664Z               "line": 151
2026-06-04T13:05:22.8369076Z             },
2026-06-04T13:05:22.8369535Z             {
2026-06-04T13:05:22.8370179Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8370632Z               "line": 167
2026-06-04T13:05:22.8371058Z             },
2026-06-04T13:05:22.8371475Z             {
2026-06-04T13:05:22.8372111Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8372571Z               "line": 177
2026-06-04T13:05:22.8372992Z             },
2026-06-04T13:05:22.8373404Z             {
2026-06-04T13:05:22.8374036Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8374490Z               "line": 209
2026-06-04T13:05:22.8374901Z             },
2026-06-04T13:05:22.8375323Z             {
2026-06-04T13:05:22.8375959Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8376405Z               "line": 282
2026-06-04T13:05:22.8376828Z             },
2026-06-04T13:05:22.8377237Z             {
2026-06-04T13:05:22.8377875Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8378322Z               "line": 306
2026-06-04T13:05:22.8378747Z             },
2026-06-04T13:05:22.8379204Z             {
2026-06-04T13:05:22.8379854Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8380312Z               "line": 346
2026-06-04T13:05:22.8380727Z             },
2026-06-04T13:05:22.8381158Z             {
2026-06-04T13:05:22.8381783Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8382230Z               "line": 361
2026-06-04T13:05:22.8382653Z             },
2026-06-04T13:05:22.8383061Z             {
2026-06-04T13:05:22.8383709Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-04T13:05:22.8384142Z               "line": 37
2026-06-04T13:05:22.8384566Z             },
2026-06-04T13:05:22.8384975Z             {
2026-06-04T13:05:22.8385631Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8386078Z               "line": 62
2026-06-04T13:05:22.8386488Z             },
2026-06-04T13:05:22.8386906Z             {
2026-06-04T13:05:22.8387489Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.8387950Z               "line": 156
2026-06-04T13:05:22.8388372Z             },
2026-06-04T13:05:22.8388797Z             {
2026-06-04T13:05:22.8389381Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8389837Z               "line": 332
2026-06-04T13:05:22.8390255Z             }
2026-06-04T13:05:22.8390666Z           ]
2026-06-04T13:05:22.8391085Z         },
2026-06-04T13:05:22.8391504Z         "int": {
2026-06-04T13:05:22.8391987Z           "complete": false,
2026-06-04T13:05:22.8392440Z           "evidence": []
2026-06-04T13:05:22.8392852Z         },
2026-06-04T13:05:22.8393286Z         "unit": {
2026-06-04T13:05:22.8393754Z           "complete": true,
2026-06-04T13:05:22.8394207Z           "evidence": [
2026-06-04T13:05:22.8394616Z             {
2026-06-04T13:05:22.8395252Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.8395700Z               "line": 292
2026-06-04T13:05:22.8396118Z             },
2026-06-04T13:05:22.8396535Z             {
2026-06-04T13:05:22.8397368Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8397852Z               "line": 610
2026-06-04T13:05:22.8398270Z             },
2026-06-04T13:05:22.8398689Z             {
2026-06-04T13:05:22.8399522Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8399975Z               "line": 661
2026-06-04T13:05:22.8400397Z             },
2026-06-04T13:05:22.8400806Z             {
2026-06-04T13:05:22.8401508Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8401960Z               "line": 365
2026-06-04T13:05:22.8402378Z             },
2026-06-04T13:05:22.8402795Z             {
2026-06-04T13:05:22.8403493Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8403997Z               "line": 412
2026-06-04T13:05:22.8404478Z             },
2026-06-04T13:05:22.8404952Z             {
2026-06-04T13:05:22.8405625Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8406120Z               "line": 372
2026-06-04T13:05:22.8406552Z             },
2026-06-04T13:05:22.8406957Z             {
2026-06-04T13:05:22.8407596Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8408062Z               "line": 401
2026-06-04T13:05:22.8408484Z             },
2026-06-04T13:05:22.8408903Z             {
2026-06-04T13:05:22.8409585Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8410045Z               "line": 434
2026-06-04T13:05:22.8410461Z             },
2026-06-04T13:05:22.8410884Z             {
2026-06-04T13:05:22.8411517Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8411970Z               "line": 542
2026-06-04T13:05:22.8412397Z             },
2026-06-04T13:05:22.8412811Z             {
2026-06-04T13:05:22.8413457Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8413905Z               "line": 621
2026-06-04T13:05:22.8414329Z             },
2026-06-04T13:05:22.8414736Z             {
2026-06-04T13:05:22.8415397Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8415856Z               "line": 635
2026-06-04T13:05:22.8416274Z             },
2026-06-04T13:05:22.8416708Z             {
2026-06-04T13:05:22.8417355Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8417812Z               "line": 566
2026-06-04T13:05:22.8418230Z             },
2026-06-04T13:05:22.8418655Z             {
2026-06-04T13:05:22.8419290Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.8419741Z               "line": 327
2026-06-04T13:05:22.8420163Z             },
2026-06-04T13:05:22.8420574Z             {
2026-06-04T13:05:22.8421117Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8421563Z               "line": 1116
2026-06-04T13:05:22.8421979Z             }
2026-06-04T13:05:22.8422396Z           ]
2026-06-04T13:05:22.8422802Z         }
2026-06-04T13:05:22.8423221Z       }
2026-06-04T13:05:22.8423628Z     },
2026-06-04T13:05:22.8424049Z     {
2026-06-04T13:05:22.8424508Z       "id": "REQ-INST-4",
2026-06-04T13:05:22.8429628Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T13:05:22.8430202Z       "requiredStages": [
2026-06-04T13:05:22.8430631Z         "impl",
2026-06-04T13:05:22.8431064Z         "unit"
2026-06-04T13:05:22.8431469Z       ],
2026-06-04T13:05:22.8431907Z       "stages": {
2026-06-04T13:05:22.8432331Z         "doc": {
2026-06-04T13:05:22.8432805Z           "complete": false,
2026-06-04T13:05:22.8433269Z           "evidence": []
2026-06-04T13:05:22.8433678Z         },
2026-06-04T13:05:22.8434115Z         "impl": {
2026-06-04T13:05:22.8434579Z           "complete": true,
2026-06-04T13:05:22.8435033Z           "evidence": [
2026-06-04T13:05:22.8435444Z             {
2026-06-04T13:05:22.8436120Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8436578Z               "line": 273
2026-06-04T13:05:22.8436994Z             },
2026-06-04T13:05:22.8437649Z             {
2026-06-04T13:05:22.8438310Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8438765Z               "line": 201
2026-06-04T13:05:22.8439233Z             },
2026-06-04T13:05:22.8439787Z             {
2026-06-04T13:05:22.8440436Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8440883Z               "line": 233
2026-06-04T13:05:22.8441310Z             },
2026-06-04T13:05:22.8441725Z             {
2026-06-04T13:05:22.8442364Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8442810Z               "line": 269
2026-06-04T13:05:22.8443239Z             }
2026-06-04T13:05:22.8443662Z           ]
2026-06-04T13:05:22.8444078Z         },
2026-06-04T13:05:22.8444509Z         "int": {
2026-06-04T13:05:22.8444976Z           "complete": false,
2026-06-04T13:05:22.8445435Z           "evidence": []
2026-06-04T13:05:22.8445837Z         },
2026-06-04T13:05:22.8446274Z         "unit": {
2026-06-04T13:05:22.8446762Z           "complete": true,
2026-06-04T13:05:22.8447207Z           "evidence": [
2026-06-04T13:05:22.8447627Z             {
2026-06-04T13:05:22.8448280Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:22.8448745Z               "line": 656
2026-06-04T13:05:22.8449192Z             },
2026-06-04T13:05:22.8449621Z             {
2026-06-04T13:05:22.8450266Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8450716Z               "line": 452
2026-06-04T13:05:22.8451135Z             },
2026-06-04T13:05:22.8451545Z             {
2026-06-04T13:05:22.8452187Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8452632Z               "line": 517
2026-06-04T13:05:22.8453055Z             },
2026-06-04T13:05:22.8453473Z             {
2026-06-04T13:05:22.8454109Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T13:05:22.8454565Z               "line": 584
2026-06-04T13:05:22.8454976Z             }
2026-06-04T13:05:22.8455395Z           ]
2026-06-04T13:05:22.8455817Z         }
2026-06-04T13:05:22.8456241Z       }
2026-06-04T13:05:22.8456659Z     },
2026-06-04T13:05:22.8457062Z     {
2026-06-04T13:05:22.8457531Z       "id": "REQ-INST-5",
2026-06-04T13:05:22.8458546Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T13:05:22.8459031Z       "requiredStages": [
2026-06-04T13:05:22.8459499Z         "impl",
2026-06-04T13:05:22.8459916Z         "unit"
2026-06-04T13:05:22.8460331Z       ],
2026-06-04T13:05:22.8460756Z       "stages": {
2026-06-04T13:05:22.8461185Z         "doc": {
2026-06-04T13:05:22.8461651Z           "complete": false,
2026-06-04T13:05:22.8462107Z           "evidence": []
2026-06-04T13:05:22.8462529Z         },
2026-06-04T13:05:22.8462959Z         "impl": {
2026-06-04T13:05:22.8463427Z           "complete": true,
2026-06-04T13:05:22.8463875Z           "evidence": [
2026-06-04T13:05:22.8464293Z             {
2026-06-04T13:05:22.8464936Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T13:05:22.8465394Z               "line": 39
2026-06-04T13:05:22.8465815Z             },
2026-06-04T13:05:22.8466239Z             {
2026-06-04T13:05:22.8466851Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8467304Z               "line": 68
2026-06-04T13:05:22.8467731Z             },
2026-06-04T13:05:22.8468144Z             {
2026-06-04T13:05:22.8468755Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8469231Z               "line": 93
2026-06-04T13:05:22.8469649Z             },
2026-06-04T13:05:22.8470071Z             {
2026-06-04T13:05:22.8470664Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8471120Z               "line": 160
2026-06-04T13:05:22.8471534Z             },
2026-06-04T13:05:22.8471955Z             {
2026-06-04T13:05:22.8472558Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8473007Z               "line": 271
2026-06-04T13:05:22.8473433Z             }
2026-06-04T13:05:22.8473995Z           ]
2026-06-04T13:05:22.8474438Z         },
2026-06-04T13:05:22.8474866Z         "int": {
2026-06-04T13:05:22.8475344Z           "complete": true,
2026-06-04T13:05:22.8475803Z           "evidence": [
2026-06-04T13:05:22.8476346Z             {
2026-06-04T13:05:22.8477030Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.8477477Z               "line": 142
2026-06-04T13:05:22.8477901Z             },
2026-06-04T13:05:22.8478312Z             {
2026-06-04T13:05:22.8478998Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T13:05:22.8479496Z               "line": 102
2026-06-04T13:05:22.8479908Z             }
2026-06-04T13:05:22.8480325Z           ]
2026-06-04T13:05:22.8480734Z         },
2026-06-04T13:05:22.8481169Z         "unit": {
2026-06-04T13:05:22.8481632Z           "complete": true,
2026-06-04T13:05:22.8482090Z           "evidence": [
2026-06-04T13:05:22.8482509Z             {
2026-06-04T13:05:22.8483130Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8483586Z               "line": 461
2026-06-04T13:05:22.8484000Z             },
2026-06-04T13:05:22.8484424Z             {
2026-06-04T13:05:22.8485022Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.8485486Z               "line": 495
2026-06-04T13:05:22.8485903Z             },
2026-06-04T13:05:22.8486312Z             {
2026-06-04T13:05:22.8486951Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T13:05:22.8487401Z               "line": 199
2026-06-04T13:05:22.8487825Z             }
2026-06-04T13:05:22.8488237Z           ]
2026-06-04T13:05:22.8488656Z         }
2026-06-04T13:05:22.8489082Z       }
2026-06-04T13:05:22.8489523Z     },
2026-06-04T13:05:22.8489939Z     {
2026-06-04T13:05:22.8490395Z       "id": "REQ-INST-6",
2026-06-04T13:05:22.8491461Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T13:05:22.8491940Z       "requiredStages": [],
2026-06-04T13:05:22.8492374Z       "stages": {
2026-06-04T13:05:22.8492819Z         "doc": {
2026-06-04T13:05:22.8493289Z           "complete": false,
2026-06-04T13:05:22.8493743Z           "evidence": []
2026-06-04T13:05:22.8494151Z         },
2026-06-04T13:05:22.8494600Z         "impl": {
2026-06-04T13:05:22.8495063Z           "complete": false,
2026-06-04T13:05:22.8495527Z           "evidence": []
2026-06-04T13:05:22.8495951Z         },
2026-06-04T13:05:22.8496369Z         "int": {
2026-06-04T13:05:22.8496842Z           "complete": false,
2026-06-04T13:05:22.8497288Z           "evidence": []
2026-06-04T13:05:22.8497705Z         },
2026-06-04T13:05:22.8498130Z         "unit": {
2026-06-04T13:05:22.8498614Z           "complete": false,
2026-06-04T13:05:22.8499072Z           "evidence": []
2026-06-04T13:05:22.8499584Z         }
2026-06-04T13:05:22.8500063Z       }
2026-06-04T13:05:22.8500479Z     },
2026-06-04T13:05:22.8500893Z     {
2026-06-04T13:05:22.8501356Z       "id": "REQ-INST-7",
2026-06-04T13:05:22.8502144Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T13:05:22.8502631Z       "requiredStages": [
2026-06-04T13:05:22.8503052Z         "impl",
2026-06-04T13:05:22.8503479Z         "unit"
2026-06-04T13:05:22.8503898Z       ],
2026-06-04T13:05:22.8504330Z       "stages": {
2026-06-04T13:05:22.8504748Z         "doc": {
2026-06-04T13:05:22.8505223Z           "complete": false,
2026-06-04T13:05:22.8505680Z           "evidence": []
2026-06-04T13:05:22.8506102Z         },
2026-06-04T13:05:22.8510710Z         "impl": {
2026-06-04T13:05:22.8511262Z           "complete": true,
2026-06-04T13:05:22.8511730Z           "evidence": [
2026-06-04T13:05:22.8512148Z             {
2026-06-04T13:05:22.8512812Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.8513270Z               "line": 361
2026-06-04T13:05:22.8513685Z             },
2026-06-04T13:05:22.8514100Z             {
2026-06-04T13:05:22.8514745Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T13:05:22.8515194Z               "line": 40
2026-06-04T13:05:22.8515867Z             },
2026-06-04T13:05:22.8516323Z             {
2026-06-04T13:05:22.8517035Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8517616Z               "line": 27
2026-06-04T13:05:22.8518045Z             },
2026-06-04T13:05:22.8518457Z             {
2026-06-04T13:05:22.8519219Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8519674Z               "line": 120
2026-06-04T13:05:22.8520094Z             },
2026-06-04T13:05:22.8520510Z             {
2026-06-04T13:05:22.8521201Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8521649Z               "line": 197
2026-06-04T13:05:22.8522063Z             },
2026-06-04T13:05:22.8522486Z             {
2026-06-04T13:05:22.8523114Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T13:05:22.8523566Z               "line": 56
2026-06-04T13:05:22.8523988Z             },
2026-06-04T13:05:22.8524401Z             {
2026-06-04T13:05:22.8525070Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8525513Z               "line": 41
2026-06-04T13:05:22.8525938Z             },
2026-06-04T13:05:22.8526366Z             {
2026-06-04T13:05:22.8527037Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.8527490Z               "line": 27
2026-06-04T13:05:22.8527906Z             },
2026-06-04T13:05:22.8528325Z             {
2026-06-04T13:05:22.8528988Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.8529587Z               "line": 59
2026-06-04T13:05:22.8530011Z             },
2026-06-04T13:05:22.8530438Z             {
2026-06-04T13:05:22.8531111Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.8531558Z               "line": 68
2026-06-04T13:05:22.8531984Z             },
2026-06-04T13:05:22.8532393Z             {
2026-06-04T13:05:22.8533031Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T13:05:22.8533494Z               "line": 129
2026-06-04T13:05:22.8533911Z             }
2026-06-04T13:05:22.8534338Z           ]
2026-06-04T13:05:22.8534758Z         },
2026-06-04T13:05:22.8535185Z         "int": {
2026-06-04T13:05:22.8535658Z           "complete": true,
2026-06-04T13:05:22.8536106Z           "evidence": [
2026-06-04T13:05:22.8536523Z             {
2026-06-04T13:05:22.8537197Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T13:05:22.8537649Z               "line": 102
2026-06-04T13:05:22.8538056Z             }
2026-06-04T13:05:22.8538479Z           ]
2026-06-04T13:05:22.8538889Z         },
2026-06-04T13:05:22.8539363Z         "unit": {
2026-06-04T13:05:22.8539830Z           "complete": true,
2026-06-04T13:05:22.8540284Z           "evidence": [
2026-06-04T13:05:22.8540698Z             {
2026-06-04T13:05:22.8541399Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8541851Z               "line": 342
2026-06-04T13:05:22.8542261Z             },
2026-06-04T13:05:22.8542698Z             {
2026-06-04T13:05:22.8543401Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T13:05:22.8543847Z               "line": 458
2026-06-04T13:05:22.8544290Z             },
2026-06-04T13:05:22.8544717Z             {
2026-06-04T13:05:22.8545508Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T13:05:22.8545970Z               "line": 83
2026-06-04T13:05:22.8546391Z             },
2026-06-04T13:05:22.8546810Z             {
2026-06-04T13:05:22.8547461Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8547915Z               "line": 482
2026-06-04T13:05:22.8548329Z             },
2026-06-04T13:05:22.8548756Z             {
2026-06-04T13:05:22.8549453Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8549917Z               "line": 493
2026-06-04T13:05:22.8550336Z             },
2026-06-04T13:05:22.8550746Z             {
2026-06-04T13:05:22.8551623Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8552094Z               "line": 502
2026-06-04T13:05:22.8552519Z             },
2026-06-04T13:05:22.8552935Z             {
2026-06-04T13:05:22.8553812Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.8554266Z               "line": 90
2026-06-04T13:05:22.8554691Z             },
2026-06-04T13:05:22.8555111Z             {
2026-06-04T13:05:22.8555779Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.8556233Z               "line": 105
2026-06-04T13:05:22.8556651Z             },
2026-06-04T13:05:22.8557075Z             {
2026-06-04T13:05:22.8557748Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T13:05:22.8558197Z               "line": 131
2026-06-04T13:05:22.8558621Z             }
2026-06-04T13:05:22.8559035Z           ]
2026-06-04T13:05:22.8559512Z         }
2026-06-04T13:05:22.8559930Z       }
2026-06-04T13:05:22.8560349Z     },
2026-06-04T13:05:22.8560768Z     {
2026-06-04T13:05:22.8561240Z       "id": "REQ-INST-8",
2026-06-04T13:05:22.8562088Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T13:05:22.8562561Z       "requiredStages": [
2026-06-04T13:05:22.8563002Z         "impl",
2026-06-04T13:05:22.8563417Z         "unit"
2026-06-04T13:05:22.8563840Z       ],
2026-06-04T13:05:22.8564282Z       "stages": {
2026-06-04T13:05:22.8564702Z         "doc": {
2026-06-04T13:05:22.8565182Z           "complete": false,
2026-06-04T13:05:22.8565630Z           "evidence": []
2026-06-04T13:05:22.8566048Z         },
2026-06-04T13:05:22.8566473Z         "impl": {
2026-06-04T13:05:22.8566953Z           "complete": true,
2026-06-04T13:05:22.8567399Z           "evidence": [
2026-06-04T13:05:22.8567816Z             {
2026-06-04T13:05:22.8568452Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T13:05:22.8568894Z               "line": 98
2026-06-04T13:05:22.8569361Z             },
2026-06-04T13:05:22.8569771Z             {
2026-06-04T13:05:22.8570426Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T13:05:22.8570887Z               "line": 202
2026-06-04T13:05:22.8571303Z             },
2026-06-04T13:05:22.8571721Z             {
2026-06-04T13:05:22.8572360Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T13:05:22.8572810Z               "line": 220
2026-06-04T13:05:22.8573222Z             },
2026-06-04T13:05:22.8573644Z             {
2026-06-04T13:05:22.8574280Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T13:05:22.8574722Z               "line": 35
2026-06-04T13:05:22.8575143Z             }
2026-06-04T13:05:22.8575560Z           ]
2026-06-04T13:05:22.8575973Z         },
2026-06-04T13:05:22.8576396Z         "int": {
2026-06-04T13:05:22.8576869Z           "complete": true,
2026-06-04T13:05:22.8577319Z           "evidence": [
2026-06-04T13:05:22.8577733Z             {
2026-06-04T13:05:22.8578412Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.8578878Z               "line": 375
2026-06-04T13:05:22.8579372Z             }
2026-06-04T13:05:22.8579792Z           ]
2026-06-04T13:05:22.8580209Z         },
2026-06-04T13:05:22.8580641Z         "unit": {
2026-06-04T13:05:22.8581115Z           "complete": true,
2026-06-04T13:05:22.8581569Z           "evidence": [
2026-06-04T13:05:22.8581982Z             {
2026-06-04T13:05:22.8582635Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T13:05:22.8583080Z               "line": 172
2026-06-04T13:05:22.8583506Z             },
2026-06-04T13:05:22.8583921Z             {
2026-06-04T13:05:22.8584561Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T13:05:22.8585012Z               "line": 226
2026-06-04T13:05:22.8585423Z             },
2026-06-04T13:05:22.8585837Z             {
2026-06-04T13:05:22.8586473Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T13:05:22.8586912Z               "line": 70
2026-06-04T13:05:22.8587338Z             },
2026-06-04T13:05:22.8587747Z             {
2026-06-04T13:05:22.8588562Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T13:05:22.8589029Z               "line": 101
2026-06-04T13:05:22.8589515Z             }
2026-06-04T13:05:22.8594276Z           ]
2026-06-04T13:05:22.8594776Z         }
2026-06-04T13:05:22.8595198Z       }
2026-06-04T13:05:22.8595601Z     },
2026-06-04T13:05:22.8596009Z     {
2026-06-04T13:05:22.8596470Z       "id": "REQ-INST-9",
2026-06-04T13:05:22.8597547Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T13:05:22.8598025Z       "requiredStages": [
2026-06-04T13:05:22.8598439Z         "impl",
2026-06-04T13:05:22.8598868Z         "unit"
2026-06-04T13:05:22.8599363Z       ],
2026-06-04T13:05:22.8599807Z       "stages": {
2026-06-04T13:05:22.8600226Z         "doc": {
2026-06-04T13:05:22.8600703Z           "complete": false,
2026-06-04T13:05:22.8601151Z           "evidence": []
2026-06-04T13:05:22.8601578Z         },
2026-06-04T13:05:22.8602012Z         "impl": {
2026-06-04T13:05:22.8602508Z           "complete": true,
2026-06-04T13:05:22.8602963Z           "evidence": [
2026-06-04T13:05:22.8603374Z             {
2026-06-04T13:05:22.8604025Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8604493Z               "line": 198
2026-06-04T13:05:22.8604905Z             }
2026-06-04T13:05:22.8605324Z           ]
2026-06-04T13:05:22.8605736Z         },
2026-06-04T13:05:22.8606167Z         "int": {
2026-06-04T13:05:22.8606633Z           "complete": false,
2026-06-04T13:05:22.8607090Z           "evidence": []
2026-06-04T13:05:22.8607507Z         },
2026-06-04T13:05:22.8607943Z         "unit": {
2026-06-04T13:05:22.8608414Z           "complete": true,
2026-06-04T13:05:22.8608858Z           "evidence": [
2026-06-04T13:05:22.8609320Z             {
2026-06-04T13:05:22.8609963Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8610419Z               "line": 652
2026-06-04T13:05:22.8610836Z             },
2026-06-04T13:05:22.8611261Z             {
2026-06-04T13:05:22.8611921Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8612368Z               "line": 661
2026-06-04T13:05:22.8612785Z             },
2026-06-04T13:05:22.8613206Z             {
2026-06-04T13:05:22.8613854Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8614312Z               "line": 675
2026-06-04T13:05:22.8614727Z             },
2026-06-04T13:05:22.8615148Z             {
2026-06-04T13:05:22.8615786Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8616233Z               "line": 685
2026-06-04T13:05:22.8616650Z             },
2026-06-04T13:05:22.8617065Z             {
2026-06-04T13:05:22.8617743Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T13:05:22.8618281Z               "line": 704
2026-06-04T13:05:22.8618834Z             }
2026-06-04T13:05:22.8619520Z           ]
2026-06-04T13:05:22.8620201Z         }
2026-06-04T13:05:22.8620667Z       }
2026-06-04T13:05:22.8621166Z     },
2026-06-04T13:05:22.8621664Z     {
2026-06-04T13:05:22.8622207Z       "id": "REQ-INSTALL-1",
2026-06-04T13:05:22.8623437Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T13:05:22.8624027Z       "requiredStages": [],
2026-06-04T13:05:22.8624517Z       "stages": {
2026-06-04T13:05:22.8624977Z         "doc": {
2026-06-04T13:05:22.8625494Z           "complete": false,
2026-06-04T13:05:22.8626034Z           "evidence": []
2026-06-04T13:05:22.8626512Z         },
2026-06-04T13:05:22.8627011Z         "impl": {
2026-06-04T13:05:22.8627520Z           "complete": false,
2026-06-04T13:05:22.8628020Z           "evidence": []
2026-06-04T13:05:22.8628484Z         },
2026-06-04T13:05:22.8628979Z         "int": {
2026-06-04T13:05:22.8629599Z           "complete": false,
2026-06-04T13:05:22.8630137Z           "evidence": []
2026-06-04T13:05:22.8630614Z         },
2026-06-04T13:05:22.8631211Z         "unit": {
2026-06-04T13:05:22.8632173Z           "complete": false,
2026-06-04T13:05:22.8632747Z           "evidence": []
2026-06-04T13:05:22.8633228Z         }
2026-06-04T13:05:22.8633712Z       }
2026-06-04T13:05:22.8641529Z     },
2026-06-04T13:05:22.8642463Z     {
2026-06-04T13:05:22.8642981Z       "id": "REQ-INSTALL-2",
2026-06-04T13:05:22.8643781Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T13:05:22.8644268Z       "requiredStages": [],
2026-06-04T13:05:22.8644720Z       "stages": {
2026-06-04T13:05:22.8645172Z         "doc": {
2026-06-04T13:05:22.8645658Z           "complete": false,
2026-06-04T13:05:22.8646134Z           "evidence": []
2026-06-04T13:05:22.8646557Z         },
2026-06-04T13:05:22.8647010Z         "impl": {
2026-06-04T13:05:22.8647502Z           "complete": false,
2026-06-04T13:05:22.8648025Z           "evidence": []
2026-06-04T13:05:22.8648475Z         },
2026-06-04T13:05:22.8648917Z         "int": {
2026-06-04T13:05:22.8649713Z           "complete": false,
2026-06-04T13:05:22.8650352Z           "evidence": []
2026-06-04T13:05:22.8650825Z         },
2026-06-04T13:05:22.8651286Z         "unit": {
2026-06-04T13:05:22.8651790Z           "complete": false,
2026-06-04T13:05:22.8652261Z           "evidence": []
2026-06-04T13:05:22.8652703Z         }
2026-06-04T13:05:22.8653141Z       }
2026-06-04T13:05:22.8653566Z     },
2026-06-04T13:05:22.8653990Z     {
2026-06-04T13:05:22.8654475Z       "id": "REQ-INSTALL-3",
2026-06-04T13:05:22.8655277Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T13:05:22.8655774Z       "requiredStages": [],
2026-06-04T13:05:22.8656220Z       "stages": {
2026-06-04T13:05:22.8656673Z         "doc": {
2026-06-04T13:05:22.8657170Z           "complete": false,
2026-06-04T13:05:22.8657655Z           "evidence": []
2026-06-04T13:05:22.8658090Z         },
2026-06-04T13:05:22.8658550Z         "impl": {
2026-06-04T13:05:22.8659028Z           "complete": false,
2026-06-04T13:05:22.8659745Z           "evidence": []
2026-06-04T13:05:22.8660346Z         },
2026-06-04T13:05:22.8660807Z         "int": {
2026-06-04T13:05:22.8661306Z           "complete": false,
2026-06-04T13:05:22.8661770Z           "evidence": []
2026-06-04T13:05:22.8662199Z         },
2026-06-04T13:05:22.8662635Z         "unit": {
2026-06-04T13:05:22.8663141Z           "complete": false,
2026-06-04T13:05:22.8663618Z           "evidence": []
2026-06-04T13:05:22.8664051Z         }
2026-06-04T13:05:22.8664501Z       }
2026-06-04T13:05:22.8664942Z     },
2026-06-04T13:05:22.8665387Z     {
2026-06-04T13:05:22.8665874Z       "id": "REQ-INSTALL-4",
2026-06-04T13:05:22.8670178Z       "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-04T13:05:22.8670734Z       "requiredStages": [],
2026-06-04T13:05:22.8671182Z       "stages": {
2026-06-04T13:05:22.8671625Z         "doc": {
2026-06-04T13:05:22.8672099Z           "complete": false,
2026-06-04T13:05:22.8672588Z           "evidence": []
2026-06-04T13:05:22.8673026Z         },
2026-06-04T13:05:22.8673458Z         "impl": {
2026-06-04T13:05:22.8673947Z           "complete": false,
2026-06-04T13:05:22.8674427Z           "evidence": []
2026-06-04T13:05:22.8674856Z         },
2026-06-04T13:05:22.8675285Z         "int": {
2026-06-04T13:05:22.8675766Z           "complete": false,
2026-06-04T13:05:22.8676234Z           "evidence": []
2026-06-04T13:05:22.8676654Z         },
2026-06-04T13:05:22.8677115Z         "unit": {
2026-06-04T13:05:22.8677586Z           "complete": false,
2026-06-04T13:05:22.8678059Z           "evidence": []
2026-06-04T13:05:22.8678499Z         }
2026-06-04T13:05:22.8678955Z       }
2026-06-04T13:05:22.8679460Z     },
2026-06-04T13:05:22.8679884Z     {
2026-06-04T13:05:22.8680399Z       "id": "REQ-MANIFEST-1",
2026-06-04T13:05:22.8681504Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T13:05:22.8682008Z       "requiredStages": [
2026-06-04T13:05:22.8682750Z         "doc",
2026-06-04T13:05:22.8683256Z         "impl",
2026-06-04T13:05:22.8683705Z         "unit"
2026-06-04T13:05:22.8684128Z       ],
2026-06-04T13:05:22.8684591Z       "stages": {
2026-06-04T13:05:22.8685277Z         "doc": {
2026-06-04T13:05:22.8685771Z           "complete": true,
2026-06-04T13:05:22.8686242Z           "evidence": [
2026-06-04T13:05:22.8686687Z             {
2026-06-04T13:05:22.8687237Z               "path": "docs/MANIFEST.md",
2026-06-04T13:05:22.8693609Z               "line": 19
2026-06-04T13:05:22.8694191Z             }
2026-06-04T13:05:22.8694606Z           ]
2026-06-04T13:05:22.8695039Z         },
2026-06-04T13:05:22.8695481Z         "impl": {
2026-06-04T13:05:22.8695965Z           "complete": true,
2026-06-04T13:05:22.8696429Z           "evidence": [
2026-06-04T13:05:22.8696848Z             {
2026-06-04T13:05:22.8697532Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8697976Z               "line": 18
2026-06-04T13:05:22.8698392Z             }
2026-06-04T13:05:22.8698847Z           ]
2026-06-04T13:05:22.8699505Z         },
2026-06-04T13:05:22.8699987Z         "int": {
2026-06-04T13:05:22.8700617Z           "complete": false,
2026-06-04T13:05:22.8701208Z           "evidence": []
2026-06-04T13:05:22.8701627Z         },
2026-06-04T13:05:22.8702070Z         "unit": {
2026-06-04T13:05:22.8702542Z           "complete": true,
2026-06-04T13:05:22.8703001Z           "evidence": [
2026-06-04T13:05:22.8703445Z             {
2026-06-04T13:05:22.8704120Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8704582Z               "line": 706
2026-06-04T13:05:22.8705001Z             },
2026-06-04T13:05:22.8705427Z             {
2026-06-04T13:05:22.8706112Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8706590Z               "line": 802
2026-06-04T13:05:22.8707033Z             },
2026-06-04T13:05:22.8707464Z             {
2026-06-04T13:05:22.8708197Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8708678Z               "line": 814
2026-06-04T13:05:22.8709129Z             },
2026-06-04T13:05:22.8709775Z             {
2026-06-04T13:05:22.8710620Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8711133Z               "line": 822
2026-06-04T13:05:22.8711570Z             },
2026-06-04T13:05:22.8712012Z             {
2026-06-04T13:05:22.8712689Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8713157Z               "line": 839
2026-06-04T13:05:22.8713596Z             },
2026-06-04T13:05:22.8714040Z             {
2026-06-04T13:05:22.8714726Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8715189Z               "line": 853
2026-06-04T13:05:22.8715629Z             },
2026-06-04T13:05:22.8716063Z             {
2026-06-04T13:05:22.8716756Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8717212Z               "line": 868
2026-06-04T13:05:22.8717680Z             },
2026-06-04T13:05:22.8718121Z             {
2026-06-04T13:05:22.8718786Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8719446Z               "line": 883
2026-06-04T13:05:22.8719921Z             },
2026-06-04T13:05:22.8720379Z             {
2026-06-04T13:05:22.8721089Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8721601Z               "line": 898
2026-06-04T13:05:22.8722100Z             },
2026-06-04T13:05:22.8722560Z             {
2026-06-04T13:05:22.8723270Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.8723758Z               "line": 909
2026-06-04T13:05:22.8724225Z             }
2026-06-04T13:05:22.8724695Z           ]
2026-06-04T13:05:22.8725164Z         }
2026-06-04T13:05:22.8725633Z       }
2026-06-04T13:05:22.8726068Z     },
2026-06-04T13:05:22.8726526Z     {
2026-06-04T13:05:22.8727046Z       "id": "REQ-MIGRATE-1",
2026-06-04T13:05:22.8728578Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T13:05:22.8729214Z       "requiredStages": [],
2026-06-04T13:05:22.8729851Z       "stages": {
2026-06-04T13:05:22.8730306Z         "doc": {
2026-06-04T13:05:22.8731006Z           "complete": false,
2026-06-04T13:05:22.8731482Z           "evidence": []
2026-06-04T13:05:22.8731920Z         },
2026-06-04T13:05:22.8732378Z         "impl": {
2026-06-04T13:05:22.8732853Z           "complete": false,
2026-06-04T13:05:22.8733328Z           "evidence": []
2026-06-04T13:05:22.8733779Z         },
2026-06-04T13:05:22.8734219Z         "int": {
2026-06-04T13:05:22.8734709Z           "complete": false,
2026-06-04T13:05:22.8735167Z           "evidence": []
2026-06-04T13:05:22.8735592Z         },
2026-06-04T13:05:22.8736029Z         "unit": {
2026-06-04T13:05:22.8736528Z           "complete": false,
2026-06-04T13:05:22.8737015Z           "evidence": []
2026-06-04T13:05:22.8737458Z         }
2026-06-04T13:05:22.8737906Z       }
2026-06-04T13:05:22.8738330Z     },
2026-06-04T13:05:22.8738781Z     {
2026-06-04T13:05:22.8739485Z       "id": "REQ-MSG-1",
2026-06-04T13:05:22.8742598Z       "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-04T13:05:22.8743163Z       "requiredStages": [
2026-06-04T13:05:22.8743603Z         "impl",
2026-06-04T13:05:22.8744055Z         "unit",
2026-06-04T13:05:22.8744483Z         "int"
2026-06-04T13:05:22.8744911Z       ],
2026-06-04T13:05:22.8745359Z       "stages": {
2026-06-04T13:05:22.8745791Z         "doc": {
2026-06-04T13:05:22.8746299Z           "complete": false,
2026-06-04T13:05:22.8746783Z           "evidence": []
2026-06-04T13:05:22.8747278Z         },
2026-06-04T13:05:22.8747747Z         "impl": {
2026-06-04T13:05:22.8748237Z           "complete": true,
2026-06-04T13:05:22.8748704Z           "evidence": [
2026-06-04T13:05:22.8749131Z             {
2026-06-04T13:05:22.8749855Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8750353Z               "line": 28
2026-06-04T13:05:22.8750805Z             },
2026-06-04T13:05:22.8751231Z             {
2026-06-04T13:05:22.8751862Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8752375Z               "line": 94
2026-06-04T13:05:22.8752815Z             },
2026-06-04T13:05:22.8753252Z             {
2026-06-04T13:05:22.8753896Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8754392Z               "line": 127
2026-06-04T13:05:22.8754830Z             },
2026-06-04T13:05:22.8755300Z             {
2026-06-04T13:05:22.8755941Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8756418Z               "line": 149
2026-06-04T13:05:22.8756871Z             },
2026-06-04T13:05:22.8757303Z             {
2026-06-04T13:05:22.8757929Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8758386Z               "line": 174
2026-06-04T13:05:22.8758842Z             },
2026-06-04T13:05:22.8759367Z             {
2026-06-04T13:05:22.8760023Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T13:05:22.8760493Z               "line": 18
2026-06-04T13:05:22.8760931Z             },
2026-06-04T13:05:22.8761399Z             {
2026-06-04T13:05:22.8762009Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.8762518Z               "line": 13
2026-06-04T13:05:22.8763193Z             },
2026-06-04T13:05:22.8763700Z             {
2026-06-04T13:05:22.8764445Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.8765042Z               "line": 61
2026-06-04T13:05:22.8765591Z             },
2026-06-04T13:05:22.8766105Z             {
2026-06-04T13:05:22.8766776Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T13:05:22.8767268Z               "line": 10
2026-06-04T13:05:22.8767708Z             }
2026-06-04T13:05:22.8768169Z           ]
2026-06-04T13:05:22.8768607Z         },
2026-06-04T13:05:22.8769081Z         "int": {
2026-06-04T13:05:22.8770179Z           "complete": true,
2026-06-04T13:05:22.8770713Z           "evidence": [
2026-06-04T13:05:22.8771171Z             {
2026-06-04T13:05:22.8771959Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T13:05:22.8772652Z               "line": 9
2026-06-04T13:05:22.8773092Z             },
2026-06-04T13:05:22.8773525Z             {
2026-06-04T13:05:22.8774279Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T13:05:22.8774753Z               "line": 66
2026-06-04T13:05:22.8775208Z             },
2026-06-04T13:05:22.8775636Z             {
2026-06-04T13:05:22.8776396Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T13:05:22.8776867Z               "line": 116
2026-06-04T13:05:22.8777312Z             }
2026-06-04T13:05:22.8777739Z           ]
2026-06-04T13:05:22.8778166Z         },
2026-06-04T13:05:22.8778607Z         "unit": {
2026-06-04T13:05:22.8779091Z           "complete": true,
2026-06-04T13:05:22.8779880Z           "evidence": [
2026-06-04T13:05:22.8780538Z             {
2026-06-04T13:05:22.8787028Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8787688Z               "line": 203
2026-06-04T13:05:22.8788350Z             },
2026-06-04T13:05:22.8788841Z             {
2026-06-04T13:05:22.8789734Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8790228Z               "line": 232
2026-06-04T13:05:22.8790667Z             },
2026-06-04T13:05:22.8791117Z             {
2026-06-04T13:05:22.8791742Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8792223Z               "line": 277
2026-06-04T13:05:22.8792670Z             },
2026-06-04T13:05:22.8793143Z             {
2026-06-04T13:05:22.8793816Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8794292Z               "line": 300
2026-06-04T13:05:22.8794745Z             },
2026-06-04T13:05:22.8795187Z             {
2026-06-04T13:05:22.8795846Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T13:05:22.8796340Z               "line": 322
2026-06-04T13:05:22.8796767Z             },
2026-06-04T13:05:22.8797195Z             {
2026-06-04T13:05:22.8797827Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T13:05:22.8798318Z               "line": 203
2026-06-04T13:05:22.8798756Z             },
2026-06-04T13:05:22.8799426Z             {
2026-06-04T13:05:22.8800241Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T13:05:22.8800710Z               "line": 233
2026-06-04T13:05:22.8801162Z             },
2026-06-04T13:05:22.8801597Z             {
2026-06-04T13:05:22.8802246Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T13:05:22.8802713Z               "line": 247
2026-06-04T13:05:22.8803137Z             },
2026-06-04T13:05:22.8803578Z             {
2026-06-04T13:05:22.8804216Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T13:05:22.8804680Z               "line": 259
2026-06-04T13:05:22.8805116Z             },
2026-06-04T13:05:22.8805557Z             {
2026-06-04T13:05:22.8806154Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.8806614Z               "line": 158
2026-06-04T13:05:22.8807073Z             },
2026-06-04T13:05:22.8807495Z             {
2026-06-04T13:05:22.8808099Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T13:05:22.8808569Z               "line": 235
2026-06-04T13:05:22.8809015Z             },
2026-06-04T13:05:22.8809707Z             {
2026-06-04T13:05:22.8810496Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T13:05:22.8810970Z               "line": 68
2026-06-04T13:05:22.8811410Z             },
2026-06-04T13:05:22.8811856Z             {
2026-06-04T13:05:22.8812443Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T13:05:22.8812913Z               "line": 74
2026-06-04T13:05:22.8813349Z             },
2026-06-04T13:05:22.8813799Z             {
2026-06-04T13:05:22.8814406Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T13:05:22.8815309Z               "line": 80
2026-06-04T13:05:22.8815823Z             },
2026-06-04T13:05:22.8816251Z             {
2026-06-04T13:05:22.8816852Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T13:05:22.8817510Z               "line": 99
2026-06-04T13:05:22.8817958Z             }
2026-06-04T13:05:22.8818391Z           ]
2026-06-04T13:05:22.8818818Z         }
2026-06-04T13:05:22.8819466Z       }
2026-06-04T13:05:22.8820053Z     },
2026-06-04T13:05:22.8820508Z     {
2026-06-04T13:05:22.8821007Z       "id": "REQ-MSG-2",
2026-06-04T13:05:22.8822676Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T13:05:22.8823219Z       "requiredStages": [
2026-06-04T13:05:22.8823672Z         "impl",
2026-06-04T13:05:22.8824122Z         "unit"
2026-06-04T13:05:22.8824560Z       ],
2026-06-04T13:05:22.8825033Z       "stages": {
2026-06-04T13:05:22.8825484Z         "doc": {
2026-06-04T13:05:22.8825964Z           "complete": false,
2026-06-04T13:05:22.8826463Z           "evidence": []
2026-06-04T13:05:22.8826912Z         },
2026-06-04T13:05:22.8827362Z         "impl": {
2026-06-04T13:05:22.8827838Z           "complete": true,
2026-06-04T13:05:22.8828338Z           "evidence": [
2026-06-04T13:05:22.8828783Z             {
2026-06-04T13:05:22.8829450Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8829957Z               "line": 11
2026-06-04T13:05:22.8830418Z             },
2026-06-04T13:05:22.8830876Z             {
2026-06-04T13:05:22.8831449Z               "path": "crates/spt/src/main.rs",
2026-06-04T13:05:22.8831930Z               "line": 8
2026-06-04T13:05:22.8832375Z             }
2026-06-04T13:05:22.8832810Z           ]
2026-06-04T13:05:22.8833260Z         },
2026-06-04T13:05:22.8833701Z         "int": {
2026-06-04T13:05:22.8834197Z           "complete": false,
2026-06-04T13:05:22.8834679Z           "evidence": []
2026-06-04T13:05:22.8835132Z         },
2026-06-04T13:05:22.8835592Z         "unit": {
2026-06-04T13:05:22.8836084Z           "complete": true,
2026-06-04T13:05:22.8836557Z           "evidence": [
2026-06-04T13:05:22.8836989Z             {
2026-06-04T13:05:22.8837563Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8838035Z               "line": 1100
2026-06-04T13:05:22.8838475Z             },
2026-06-04T13:05:22.8838915Z             {
2026-06-04T13:05:22.8839541Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8840039Z               "line": 1213
2026-06-04T13:05:22.8840469Z             },
2026-06-04T13:05:22.8840915Z             {
2026-06-04T13:05:22.8841476Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8841982Z               "line": 1222
2026-06-04T13:05:22.8842456Z             },
2026-06-04T13:05:22.8842899Z             {
2026-06-04T13:05:22.8843502Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8843983Z               "line": 1234
2026-06-04T13:05:22.8844439Z             }
2026-06-04T13:05:22.8844897Z           ]
2026-06-04T13:05:22.8845363Z         }
2026-06-04T13:05:22.8845807Z       }
2026-06-04T13:05:22.8846232Z     },
2026-06-04T13:05:22.8846672Z     {
2026-06-04T13:05:22.8847148Z       "id": "REQ-MSG-3",
2026-06-04T13:05:22.8849647Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T13:05:22.8850180Z       "requiredStages": [
2026-06-04T13:05:22.8850630Z         "impl",
2026-06-04T13:05:22.8851083Z         "unit",
2026-06-04T13:05:22.8851516Z         "int"
2026-06-04T13:05:22.8851949Z       ],
2026-06-04T13:05:22.8852403Z       "stages": {
2026-06-04T13:05:22.8852858Z         "doc": {
2026-06-04T13:05:22.8853348Z           "complete": false,
2026-06-04T13:05:22.8853837Z           "evidence": []
2026-06-04T13:05:22.8854295Z         },
2026-06-04T13:05:22.8854764Z         "impl": {
2026-06-04T13:05:22.8855278Z           "complete": true,
2026-06-04T13:05:22.8855761Z           "evidence": [
2026-06-04T13:05:22.8856515Z             {
2026-06-04T13:05:22.8857226Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T13:05:22.8857699Z               "line": 19
2026-06-04T13:05:22.8858134Z             },
2026-06-04T13:05:22.8858803Z             {
2026-06-04T13:05:22.8859663Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.8860350Z               "line": 21
2026-06-04T13:05:22.8860790Z             },
2026-06-04T13:05:22.8861226Z             {
2026-06-04T13:05:22.8861835Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.8862308Z               "line": 48
2026-06-04T13:05:22.8862750Z             },
2026-06-04T13:05:22.8863200Z             {
2026-06-04T13:05:22.8863869Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.8864370Z               "line": 106
2026-06-04T13:05:22.8864829Z             }
2026-06-04T13:05:22.8865271Z           ]
2026-06-04T13:05:22.8865715Z         },
2026-06-04T13:05:22.8866158Z         "int": {
2026-06-04T13:05:22.8866687Z           "complete": true,
2026-06-04T13:05:22.8867174Z           "evidence": [
2026-06-04T13:05:22.8867622Z             {
2026-06-04T13:05:22.8868429Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T13:05:22.8868932Z               "line": 10
2026-06-04T13:05:22.8869593Z             },
2026-06-04T13:05:22.8870196Z             {
2026-06-04T13:05:22.8870987Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T13:05:22.8871476Z               "line": 66
2026-06-04T13:05:22.8871916Z             }
2026-06-04T13:05:22.8872360Z           ]
2026-06-04T13:05:22.8872788Z         },
2026-06-04T13:05:22.8879105Z         "unit": {
2026-06-04T13:05:22.8880007Z           "complete": true,
2026-06-04T13:05:22.8880508Z           "evidence": [
2026-06-04T13:05:22.8880956Z             {
2026-06-04T13:05:22.8881598Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.8882082Z               "line": 160
2026-06-04T13:05:22.8882525Z             },
2026-06-04T13:05:22.8883024Z             {
2026-06-04T13:05:22.8883651Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.8884174Z               "line": 179
2026-06-04T13:05:22.8884692Z             },
2026-06-04T13:05:22.8885152Z             {
2026-06-04T13:05:22.8885783Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T13:05:22.8886264Z               "line": 198
2026-06-04T13:05:22.8886728Z             }
2026-06-04T13:05:22.8887174Z           ]
2026-06-04T13:05:22.8887633Z         }
2026-06-04T13:05:22.8888072Z       }
2026-06-04T13:05:22.8888513Z     },
2026-06-04T13:05:22.8888970Z     {
2026-06-04T13:05:22.8889651Z       "id": "REQ-NET-1",
2026-06-04T13:05:22.8890853Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T13:05:22.8891364Z       "requiredStages": [
2026-06-04T13:05:22.8891857Z         "impl",
2026-06-04T13:05:22.8892301Z         "unit"
2026-06-04T13:05:22.8892766Z       ],
2026-06-04T13:05:22.8893243Z       "stages": {
2026-06-04T13:05:22.8893706Z         "doc": {
2026-06-04T13:05:22.8894223Z           "complete": false,
2026-06-04T13:05:22.8894702Z           "evidence": []
2026-06-04T13:05:22.8895142Z         },
2026-06-04T13:05:22.8895600Z         "impl": {
2026-06-04T13:05:22.8896093Z           "complete": true,
2026-06-04T13:05:22.8896561Z           "evidence": [
2026-06-04T13:05:22.8896996Z             {
2026-06-04T13:05:22.8897681Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.8898130Z               "line": 52
2026-06-04T13:05:22.8898570Z             },
2026-06-04T13:05:22.8898992Z             {
2026-06-04T13:05:22.8900063Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.8900554Z               "line": 448
2026-06-04T13:05:22.8901001Z             },
2026-06-04T13:05:22.8901462Z             {
2026-06-04T13:05:22.8902093Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T13:05:22.8902579Z               "line": 69
2026-06-04T13:05:22.8903448Z             },
2026-06-04T13:05:22.8903960Z             {
2026-06-04T13:05:22.8904651Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8905120Z               "line": 65
2026-06-04T13:05:22.8905775Z             },
2026-06-04T13:05:22.8906193Z             {
2026-06-04T13:05:22.8906896Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8907360Z               "line": 122
2026-06-04T13:05:22.8907813Z             },
2026-06-04T13:05:22.8908255Z             {
2026-06-04T13:05:22.8908936Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8909473Z               "line": 138
2026-06-04T13:05:22.8909903Z             },
2026-06-04T13:05:22.8910336Z             {
2026-06-04T13:05:22.8911003Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8911490Z               "line": 153
2026-06-04T13:05:22.8911938Z             },
2026-06-04T13:05:22.8912367Z             {
2026-06-04T13:05:22.8913077Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8913540Z               "line": 207
2026-06-04T13:05:22.8913987Z             },
2026-06-04T13:05:22.8914409Z             {
2026-06-04T13:05:22.8915095Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8915572Z               "line": 242
2026-06-04T13:05:22.8916015Z             },
2026-06-04T13:05:22.8916444Z             {
2026-06-04T13:05:22.8917100Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8917584Z               "line": 248
2026-06-04T13:05:22.8918030Z             },
2026-06-04T13:05:22.8918474Z             {
2026-06-04T13:05:22.8919226Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8919733Z               "line": 254
2026-06-04T13:05:22.8920190Z             },
2026-06-04T13:05:22.8920619Z             {
2026-06-04T13:05:22.8921304Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8921790Z               "line": 270
2026-06-04T13:05:22.8922284Z             },
2026-06-04T13:05:22.8922835Z             {
2026-06-04T13:05:22.8923557Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8924078Z               "line": 290
2026-06-04T13:05:22.8924528Z             },
2026-06-04T13:05:22.8925024Z             {
2026-06-04T13:05:22.8925731Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T13:05:22.8926208Z               "line": 35
2026-06-04T13:05:22.8926650Z             },
2026-06-04T13:05:22.8927099Z             {
2026-06-04T13:05:22.8927756Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T13:05:22.8928214Z               "line": 82
2026-06-04T13:05:22.8928652Z             },
2026-06-04T13:05:22.8929095Z             {
2026-06-04T13:05:22.8929795Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.8930283Z               "line": 129
2026-06-04T13:05:22.8930741Z             },
2026-06-04T13:05:22.8931194Z             {
2026-06-04T13:05:22.8931799Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.8932300Z               "line": 600
2026-06-04T13:05:22.8932762Z             },
2026-06-04T13:05:22.8933192Z             {
2026-06-04T13:05:22.8933807Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T13:05:22.8934266Z               "line": 17
2026-06-04T13:05:22.8934702Z             }
2026-06-04T13:05:22.8935129Z           ]
2026-06-04T13:05:22.8935577Z         },
2026-06-04T13:05:22.8936018Z         "int": {
2026-06-04T13:05:22.8936500Z           "complete": true,
2026-06-04T13:05:22.8936970Z           "evidence": [
2026-06-04T13:05:22.8937411Z             {
2026-06-04T13:05:22.8938142Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.8938607Z               "line": 314
2026-06-04T13:05:22.8939049Z             }
2026-06-04T13:05:22.8939743Z           ]
2026-06-04T13:05:22.8940380Z         },
2026-06-04T13:05:22.8940839Z         "unit": {
2026-06-04T13:05:22.8941327Z           "complete": true,
2026-06-04T13:05:22.8942257Z           "evidence": [
2026-06-04T13:05:22.8942746Z             {
2026-06-04T13:05:22.8943458Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.8944129Z               "line": 500
2026-06-04T13:05:22.8944576Z             },
2026-06-04T13:05:22.8945033Z             {
2026-06-04T13:05:22.8945725Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.8946220Z               "line": 529
2026-06-04T13:05:22.8946657Z             },
2026-06-04T13:05:22.8947114Z             {
2026-06-04T13:05:22.8947851Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.8948336Z               "line": 517
2026-06-04T13:05:22.8948786Z             },
2026-06-04T13:05:22.8949267Z             {
2026-06-04T13:05:22.8949983Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T13:05:22.8950472Z               "line": 142
2026-06-04T13:05:22.8950941Z             },
2026-06-04T13:05:22.8951390Z             {
2026-06-04T13:05:22.8952093Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8952616Z               "line": 344
2026-06-04T13:05:22.8953050Z             },
2026-06-04T13:05:22.8953506Z             {
2026-06-04T13:05:22.8954197Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8954659Z               "line": 358
2026-06-04T13:05:22.8955105Z             },
2026-06-04T13:05:22.8955529Z             {
2026-06-04T13:05:22.8956215Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8956680Z               "line": 377
2026-06-04T13:05:22.8957137Z             },
2026-06-04T13:05:22.8957597Z             {
2026-06-04T13:05:22.8958260Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T13:05:22.8958752Z               "line": 106
2026-06-04T13:05:22.8959247Z             },
2026-06-04T13:05:22.8959709Z             {
2026-06-04T13:05:22.8960358Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T13:05:22.8960860Z               "line": 148
2026-06-04T13:05:22.8961311Z             },
2026-06-04T13:05:22.8961746Z             {
2026-06-04T13:05:22.8962370Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T13:05:22.8962848Z               "line": 445
2026-06-04T13:05:22.8963293Z             },
2026-06-04T13:05:22.8963726Z             {
2026-06-04T13:05:22.8964342Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T13:05:22.8970759Z               "line": 218
2026-06-04T13:05:22.8971381Z             },
2026-06-04T13:05:22.8971814Z             {
2026-06-04T13:05:22.8972408Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T13:05:22.8972877Z               "line": 306
2026-06-04T13:05:22.8973295Z             }
2026-06-04T13:05:22.8973722Z           ]
2026-06-04T13:05:22.8974151Z         }
2026-06-04T13:05:22.8974557Z       }
2026-06-04T13:05:22.8974976Z     },
2026-06-04T13:05:22.8975387Z     {
2026-06-04T13:05:22.8975852Z       "id": "REQ-NET-2",
2026-06-04T13:05:22.8976905Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T13:05:22.8977405Z       "requiredStages": [
2026-06-04T13:05:22.8977840Z         "impl"
2026-06-04T13:05:22.8978265Z       ],
2026-06-04T13:05:22.8978714Z       "stages": {
2026-06-04T13:05:22.8979143Z         "doc": {
2026-06-04T13:05:22.8979891Z           "complete": false,
2026-06-04T13:05:22.8980406Z           "evidence": []
2026-06-04T13:05:22.8980892Z         },
2026-06-04T13:05:22.8981400Z         "impl": {
2026-06-04T13:05:22.8981930Z           "complete": true,
2026-06-04T13:05:22.8982456Z           "evidence": [
2026-06-04T13:05:22.8982901Z             {
2026-06-04T13:05:22.8983575Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.8984045Z               "line": 49
2026-06-04T13:05:22.8984499Z             },
2026-06-04T13:05:22.8984955Z             {
2026-06-04T13:05:22.8985637Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8986113Z               "line": 39
2026-06-04T13:05:22.8987037Z             },
2026-06-04T13:05:22.8987548Z             {
2026-06-04T13:05:22.8988266Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8988968Z               "line": 49
2026-06-04T13:05:22.8989654Z             },
2026-06-04T13:05:22.8990110Z             {
2026-06-04T13:05:22.8990817Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8991302Z               "line": 122
2026-06-04T13:05:22.8991753Z             },
2026-06-04T13:05:22.8992187Z             {
2026-06-04T13:05:22.8992889Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8993375Z               "line": 138
2026-06-04T13:05:22.8993801Z             },
2026-06-04T13:05:22.8994241Z             {
2026-06-04T13:05:22.8994912Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T13:05:22.8995404Z               "line": 153
2026-06-04T13:05:22.8995829Z             }
2026-06-04T13:05:22.8996280Z           ]
2026-06-04T13:05:22.8996731Z         },
2026-06-04T13:05:22.8997178Z         "int": {
2026-06-04T13:05:22.8997669Z           "complete": false,
2026-06-04T13:05:22.8998141Z           "evidence": []
2026-06-04T13:05:22.8998759Z         },
2026-06-04T13:05:22.8999308Z         "unit": {
2026-06-04T13:05:22.8999912Z           "complete": true,
2026-06-04T13:05:22.9000496Z           "evidence": [
2026-06-04T13:05:22.9001015Z             {
2026-06-04T13:05:22.9001917Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:22.9002437Z               "line": 321
2026-06-04T13:05:22.9002937Z             }
2026-06-04T13:05:22.9003451Z           ]
2026-06-04T13:05:22.9003903Z         }
2026-06-04T13:05:22.9004362Z       }
2026-06-04T13:05:22.9004850Z     },
2026-06-04T13:05:22.9005295Z     {
2026-06-04T13:05:22.9005834Z       "id": "REQ-NET-3",
2026-06-04T13:05:22.9006886Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T13:05:22.9007436Z       "requiredStages": [
2026-06-04T13:05:22.9007922Z         "impl",
2026-06-04T13:05:22.9008409Z         "unit"
2026-06-04T13:05:22.9008887Z       ],
2026-06-04T13:05:22.9009461Z       "stages": {
2026-06-04T13:05:22.9009964Z         "doc": {
2026-06-04T13:05:22.9010542Z           "complete": false,
2026-06-04T13:05:22.9011062Z           "evidence": []
2026-06-04T13:05:22.9011549Z         },
2026-06-04T13:05:22.9012047Z         "impl": {
2026-06-04T13:05:22.9012544Z           "complete": true,
2026-06-04T13:05:22.9013039Z           "evidence": [
2026-06-04T13:05:22.9013494Z             {
2026-06-04T13:05:22.9014190Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.9014717Z               "line": 39
2026-06-04T13:05:22.9015208Z             },
2026-06-04T13:05:22.9015691Z             {
2026-06-04T13:05:22.9016401Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.9016938Z               "line": 159
2026-06-04T13:05:22.9017402Z             },
2026-06-04T13:05:22.9017900Z             {
2026-06-04T13:05:22.9018607Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T13:05:22.9019255Z               "line": 290
2026-06-04T13:05:22.9019772Z             },
2026-06-04T13:05:22.9020270Z             {
2026-06-04T13:05:22.9021015Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T13:05:22.9021569Z               "line": 36
2026-06-04T13:05:22.9022107Z             },
2026-06-04T13:05:22.9022625Z             {
2026-06-04T13:05:22.9023420Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9023941Z               "line": 135
2026-06-04T13:05:22.9024412Z             },
2026-06-04T13:05:22.9024882Z             {
2026-06-04T13:05:22.9025615Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9026122Z               "line": 172
2026-06-04T13:05:22.9026575Z             },
2026-06-04T13:05:22.9027048Z             {
2026-06-04T13:05:22.9027774Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9028675Z               "line": 184
2026-06-04T13:05:22.9029270Z             },
2026-06-04T13:05:22.9029719Z             {
2026-06-04T13:05:22.9030456Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9031146Z               "line": 222
2026-06-04T13:05:22.9031600Z             },
2026-06-04T13:05:22.9032139Z             {
2026-06-04T13:05:22.9032891Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9033406Z               "line": 237
2026-06-04T13:05:22.9033841Z             },
2026-06-04T13:05:22.9034280Z             {
2026-06-04T13:05:22.9034981Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9035487Z               "line": 273
2026-06-04T13:05:22.9035944Z             },
2026-06-04T13:05:22.9036409Z             {
2026-06-04T13:05:22.9037130Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9037612Z               "line": 314
2026-06-04T13:05:22.9038063Z             },
2026-06-04T13:05:22.9038521Z             {
2026-06-04T13:05:22.9039314Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:22.9039812Z               "line": 327
2026-06-04T13:05:22.9040267Z             },
2026-06-04T13:05:22.9040744Z             {
2026-06-04T13:05:22.9041416Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.9041908Z               "line": 29
2026-06-04T13:05:22.9042351Z             },
2026-06-04T13:05:22.9042802Z             {
2026-06-04T13:05:22.9043498Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.9043979Z               "line": 70
2026-06-04T13:05:22.9044456Z             },
2026-06-04T13:05:22.9044897Z             {
2026-06-04T13:05:22.9045615Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.9046116Z               "line": 121
2026-06-04T13:05:22.9046598Z             }
2026-06-04T13:05:22.9047090Z           ]
2026-06-04T13:05:22.9047547Z         },
2026-06-04T13:05:22.9048029Z         "int": {
2026-06-04T13:05:22.9048558Z           "complete": false,
2026-06-04T13:05:22.9049071Z           "evidence": []
2026-06-04T13:05:22.9049605Z         },
2026-06-04T13:05:22.9050230Z         "unit": {
2026-06-04T13:05:22.9050759Z           "complete": true,
2026-06-04T13:05:22.9051223Z           "evidence": [
2026-06-04T13:05:22.9051682Z             {
2026-06-04T13:05:22.9052353Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T13:05:22.9052840Z               "line": 203
2026-06-04T13:05:22.9053266Z             },
2026-06-04T13:05:22.9060624Z             {
2026-06-04T13:05:22.9061452Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T13:05:22.9061935Z               "line": 303
2026-06-04T13:05:22.9062368Z             },
2026-06-04T13:05:22.9062813Z             {
2026-06-04T13:05:22.9063473Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T13:05:22.9063952Z               "line": 399
2026-06-04T13:05:22.9064386Z             },
2026-06-04T13:05:22.9064827Z             {
2026-06-04T13:05:22.9065511Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T13:05:22.9065979Z               "line": 93
2026-06-04T13:05:22.9066415Z             },
2026-06-04T13:05:22.9066847Z             {
2026-06-04T13:05:22.9067472Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T13:05:22.9067938Z               "line": 131
2026-06-04T13:05:22.9068366Z             },
2026-06-04T13:05:22.9068802Z             {
2026-06-04T13:05:22.9069667Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.9070274Z               "line": 308
2026-06-04T13:05:22.9070705Z             },
2026-06-04T13:05:22.9071140Z             {
2026-06-04T13:05:22.9071810Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.9072272Z               "line": 345
2026-06-04T13:05:22.9072718Z             },
2026-06-04T13:05:22.9073153Z             {
2026-06-04T13:05:22.9073847Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T13:05:22.9074756Z               "line": 469
2026-06-04T13:05:22.9075253Z             }
2026-06-04T13:05:22.9075703Z           ]
2026-06-04T13:05:22.9076136Z         }
2026-06-04T13:05:22.9076582Z       }
2026-06-04T13:05:22.9077229Z     },
2026-06-04T13:05:22.9077672Z     {
2026-06-04T13:05:22.9078195Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T13:05:22.9079839Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T13:05:22.9080540Z       "requiredStages": [
2026-06-04T13:05:22.9080989Z         "impl",
2026-06-04T13:05:22.9081429Z         "unit"
2026-06-04T13:05:22.9081859Z       ],
2026-06-04T13:05:22.9082311Z       "stages": {
2026-06-04T13:05:22.9082770Z         "doc": {
2026-06-04T13:05:22.9083266Z           "complete": false,
2026-06-04T13:05:22.9083741Z           "evidence": []
2026-06-04T13:05:22.9084177Z         },
2026-06-04T13:05:22.9084644Z         "impl": {
2026-06-04T13:05:22.9085132Z           "complete": true,
2026-06-04T13:05:22.9085676Z           "evidence": [
2026-06-04T13:05:22.9086127Z             {
2026-06-04T13:05:22.9086834Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9087309Z               "line": 60
2026-06-04T13:05:22.9087769Z             },
2026-06-04T13:05:22.9088209Z             {
2026-06-04T13:05:22.9088880Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9089587Z               "line": 68
2026-06-04T13:05:22.9090173Z             },
2026-06-04T13:05:22.9090620Z             {
2026-06-04T13:05:22.9091294Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9091755Z               "line": 86
2026-06-04T13:05:22.9092213Z             },
2026-06-04T13:05:22.9092662Z             {
2026-06-04T13:05:22.9093337Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9093810Z               "line": 120
2026-06-04T13:05:22.9094268Z             },
2026-06-04T13:05:22.9094713Z             {
2026-06-04T13:05:22.9095397Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9095888Z               "line": 127
2026-06-04T13:05:22.9096311Z             },
2026-06-04T13:05:22.9096743Z             {
2026-06-04T13:05:22.9097412Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9097894Z               "line": 143
2026-06-04T13:05:22.9098349Z             },
2026-06-04T13:05:22.9098784Z             {
2026-06-04T13:05:22.9099632Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T13:05:22.9100243Z               "line": 16
2026-06-04T13:05:22.9100690Z             }
2026-06-04T13:05:22.9101130Z           ]
2026-06-04T13:05:22.9101589Z         },
2026-06-04T13:05:22.9102042Z         "int": {
2026-06-04T13:05:22.9102533Z           "complete": false,
2026-06-04T13:05:22.9103015Z           "evidence": []
2026-06-04T13:05:22.9103440Z         },
2026-06-04T13:05:22.9103907Z         "unit": {
2026-06-04T13:05:22.9104423Z           "complete": true,
2026-06-04T13:05:22.9104912Z           "evidence": [
2026-06-04T13:05:22.9105377Z             {
2026-06-04T13:05:22.9106047Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9106554Z               "line": 199
2026-06-04T13:05:22.9107034Z             },
2026-06-04T13:05:22.9107479Z             {
2026-06-04T13:05:22.9108149Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9108636Z               "line": 218
2026-06-04T13:05:22.9109086Z             },
2026-06-04T13:05:22.9109772Z             {
2026-06-04T13:05:22.9110723Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9111196Z               "line": 232
2026-06-04T13:05:22.9111646Z             },
2026-06-04T13:05:22.9112083Z             {
2026-06-04T13:05:22.9112777Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T13:05:22.9113274Z               "line": 248
2026-06-04T13:05:22.9113726Z             },
2026-06-04T13:05:22.9114174Z             {
2026-06-04T13:05:22.9115149Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T13:05:22.9115703Z               "line": 125
2026-06-04T13:05:22.9116173Z             },
2026-06-04T13:05:22.9116604Z             {
2026-06-04T13:05:22.9117267Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T13:05:22.9117974Z               "line": 141
2026-06-04T13:05:22.9118456Z             },
2026-06-04T13:05:22.9118911Z             {
2026-06-04T13:05:22.9119830Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T13:05:22.9120479Z               "line": 153
2026-06-04T13:05:22.9120908Z             }
2026-06-04T13:05:22.9121356Z           ]
2026-06-04T13:05:22.9121795Z         }
2026-06-04T13:05:22.9122240Z       }
2026-06-04T13:05:22.9122665Z     },
2026-06-04T13:05:22.9123104Z     {
2026-06-04T13:05:22.9123602Z       "id": "REQ-NOTIF-1",
2026-06-04T13:05:22.9125894Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T13:05:22.9126426Z       "requiredStages": [
2026-06-04T13:05:22.9126885Z         "impl",
2026-06-04T13:05:22.9127338Z         "unit"
2026-06-04T13:05:22.9127768Z       ],
2026-06-04T13:05:22.9128233Z       "stages": {
2026-06-04T13:05:22.9128693Z         "doc": {
2026-06-04T13:05:22.9129238Z           "complete": false,
2026-06-04T13:05:22.9130026Z           "evidence": []
2026-06-04T13:05:22.9130448Z         },
2026-06-04T13:05:22.9130903Z         "impl": {
2026-06-04T13:05:22.9131389Z           "complete": true,
2026-06-04T13:05:22.9131855Z           "evidence": [
2026-06-04T13:05:22.9132298Z             {
2026-06-04T13:05:22.9132983Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T13:05:22.9133465Z               "line": 412
2026-06-04T13:05:22.9133909Z             },
2026-06-04T13:05:22.9134362Z             {
2026-06-04T13:05:22.9134989Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9135464Z               "line": 30
2026-06-04T13:05:22.9135926Z             },
2026-06-04T13:05:22.9136382Z             {
2026-06-04T13:05:22.9137014Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9137466Z               "line": 62
2026-06-04T13:05:22.9137909Z             },
2026-06-04T13:05:22.9138358Z             {
2026-06-04T13:05:22.9139020Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9139745Z               "line": 83
2026-06-04T13:05:22.9140358Z             },
2026-06-04T13:05:22.9140808Z             {
2026-06-04T13:05:22.9141473Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9141950Z               "line": 97
2026-06-04T13:05:22.9142380Z             },
2026-06-04T13:05:22.9142824Z             {
2026-06-04T13:05:22.9143497Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9143974Z               "line": 126
2026-06-04T13:05:22.9144409Z             },
2026-06-04T13:05:22.9144858Z             {
2026-06-04T13:05:22.9145501Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9146008Z               "line": 159
2026-06-04T13:05:22.9146487Z             },
2026-06-04T13:05:22.9146954Z             {
2026-06-04T13:05:22.9147613Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9148124Z               "line": 179
2026-06-04T13:05:22.9155239Z             },
2026-06-04T13:05:22.9155845Z             {
2026-06-04T13:05:22.9156510Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9156986Z               "line": 239
2026-06-04T13:05:22.9157432Z             },
2026-06-04T13:05:22.9157857Z             {
2026-06-04T13:05:22.9158502Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9158962Z               "line": 287
2026-06-04T13:05:22.9159631Z             },
2026-06-04T13:05:22.9160237Z             {
2026-06-04T13:05:22.9160913Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9161394Z               "line": 24
2026-06-04T13:05:22.9161832Z             },
2026-06-04T13:05:22.9162723Z             {
2026-06-04T13:05:22.9163440Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9163917Z               "line": 34
2026-06-04T13:05:22.9164372Z             },
2026-06-04T13:05:22.9164984Z             {
2026-06-04T13:05:22.9165668Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9166125Z               "line": 55
2026-06-04T13:05:22.9166563Z             },
2026-06-04T13:05:22.9166978Z             {
2026-06-04T13:05:22.9167659Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9168125Z               "line": 76
2026-06-04T13:05:22.9168551Z             },
2026-06-04T13:05:22.9168981Z             {
2026-06-04T13:05:22.9169715Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9170181Z               "line": 88
2026-06-04T13:05:22.9170610Z             },
2026-06-04T13:05:22.9171049Z             {
2026-06-04T13:05:22.9171748Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T13:05:22.9172225Z               "line": 41
2026-06-04T13:05:22.9172666Z             },
2026-06-04T13:05:22.9173086Z             {
2026-06-04T13:05:22.9173755Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.9174228Z               "line": 94
2026-06-04T13:05:22.9174656Z             },
2026-06-04T13:05:22.9175086Z             {
2026-06-04T13:05:22.9175719Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T13:05:22.9176180Z               "line": 20
2026-06-04T13:05:22.9176598Z             },
2026-06-04T13:05:22.9177026Z             {
2026-06-04T13:05:22.9177659Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T13:05:22.9178133Z               "line": 30
2026-06-04T13:05:22.9178570Z             },
2026-06-04T13:05:22.9178993Z             {
2026-06-04T13:05:22.9179697Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T13:05:22.9180155Z               "line": 50
2026-06-04T13:05:22.9180594Z             },
2026-06-04T13:05:22.9181024Z             {
2026-06-04T13:05:22.9181648Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9182114Z               "line": 28
2026-06-04T13:05:22.9182542Z             },
2026-06-04T13:05:22.9182993Z             {
2026-06-04T13:05:22.9183606Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9184080Z               "line": 126
2026-06-04T13:05:22.9184499Z             },
2026-06-04T13:05:22.9184940Z             {
2026-06-04T13:05:22.9185560Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9186021Z               "line": 161
2026-06-04T13:05:22.9186466Z             },
2026-06-04T13:05:22.9186915Z             {
2026-06-04T13:05:22.9187580Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9188058Z               "line": 197
2026-06-04T13:05:22.9188482Z             },
2026-06-04T13:05:22.9188913Z             {
2026-06-04T13:05:22.9189746Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9190396Z               "line": 208
2026-06-04T13:05:22.9190833Z             },
2026-06-04T13:05:22.9191274Z             {
2026-06-04T13:05:22.9191908Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9192389Z               "line": 231
2026-06-04T13:05:22.9192847Z             },
2026-06-04T13:05:22.9193298Z             {
2026-06-04T13:05:22.9193926Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9194386Z               "line": 251
2026-06-04T13:05:22.9194858Z             },
2026-06-04T13:05:22.9195329Z             {
2026-06-04T13:05:22.9196019Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9196520Z               "line": 63
2026-06-04T13:05:22.9196966Z             }
2026-06-04T13:05:22.9197426Z           ]
2026-06-04T13:05:22.9197856Z         },
2026-06-04T13:05:22.9198322Z         "int": {
2026-06-04T13:05:22.9198835Z           "complete": true,
2026-06-04T13:05:22.9199536Z           "evidence": [
2026-06-04T13:05:22.9200510Z             {
2026-06-04T13:05:22.9201287Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.9201779Z               "line": 265
2026-06-04T13:05:22.9202215Z             },
2026-06-04T13:05:22.9202832Z             {
2026-06-04T13:05:22.9203544Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T13:05:22.9204011Z               "line": 102
2026-06-04T13:05:22.9204454Z             }
2026-06-04T13:05:22.9204889Z           ]
2026-06-04T13:05:22.9205330Z         },
2026-06-04T13:05:22.9205779Z         "unit": {
2026-06-04T13:05:22.9206275Z           "complete": true,
2026-06-04T13:05:22.9206769Z           "evidence": [
2026-06-04T13:05:22.9207217Z             {
2026-06-04T13:05:22.9207894Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9208441Z               "line": 362
2026-06-04T13:05:22.9208894Z             },
2026-06-04T13:05:22.9209563Z             {
2026-06-04T13:05:22.9210404Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9210889Z               "line": 400
2026-06-04T13:05:22.9211325Z             },
2026-06-04T13:05:22.9211771Z             {
2026-06-04T13:05:22.9212407Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9212922Z               "line": 427
2026-06-04T13:05:22.9213363Z             },
2026-06-04T13:05:22.9213807Z             {
2026-06-04T13:05:22.9214448Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9214906Z               "line": 448
2026-06-04T13:05:22.9215348Z             },
2026-06-04T13:05:22.9215769Z             {
2026-06-04T13:05:22.9216404Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9216869Z               "line": 501
2026-06-04T13:05:22.9217316Z             },
2026-06-04T13:05:22.9217804Z             {
2026-06-04T13:05:22.9218487Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9218984Z               "line": 540
2026-06-04T13:05:22.9219658Z             },
2026-06-04T13:05:22.9220171Z             {
2026-06-04T13:05:22.9220834Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9221322Z               "line": 632
2026-06-04T13:05:22.9221796Z             },
2026-06-04T13:05:22.9222264Z             {
2026-06-04T13:05:22.9223003Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9223511Z               "line": 133
2026-06-04T13:05:22.9223983Z             },
2026-06-04T13:05:22.9224425Z             {
2026-06-04T13:05:22.9225152Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9225681Z               "line": 208
2026-06-04T13:05:22.9226136Z             },
2026-06-04T13:05:22.9226605Z             {
2026-06-04T13:05:22.9227347Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T13:05:22.9227865Z               "line": 227
2026-06-04T13:05:22.9228320Z             },
2026-06-04T13:05:22.9228779Z             {
2026-06-04T13:05:22.9229708Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.9230198Z               "line": 328
2026-06-04T13:05:22.9230637Z             },
2026-06-04T13:05:22.9231070Z             {
2026-06-04T13:05:22.9231750Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T13:05:22.9232244Z               "line": 357
2026-06-04T13:05:22.9232679Z             },
2026-06-04T13:05:22.9233141Z             {
2026-06-04T13:05:22.9233848Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T13:05:22.9234319Z               "line": 112
2026-06-04T13:05:22.9234763Z             },
2026-06-04T13:05:22.9235218Z             {
2026-06-04T13:05:22.9235887Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T13:05:22.9236343Z               "line": 72
2026-06-04T13:05:22.9236793Z             },
2026-06-04T13:05:22.9237214Z             {
2026-06-04T13:05:22.9237868Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T13:05:22.9238329Z               "line": 94
2026-06-04T13:05:22.9239077Z             },
2026-06-04T13:05:22.9239792Z             {
2026-06-04T13:05:22.9240591Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9241084Z               "line": 365
2026-06-04T13:05:22.9248108Z             },
2026-06-04T13:05:22.9248712Z             {
2026-06-04T13:05:22.9249465Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9249953Z               "line": 396
2026-06-04T13:05:22.9250389Z             },
2026-06-04T13:05:22.9250814Z             {
2026-06-04T13:05:22.9251449Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9251906Z               "line": 410
2026-06-04T13:05:22.9252357Z             },
2026-06-04T13:05:22.9252783Z             {
2026-06-04T13:05:22.9253415Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9253899Z               "line": 441
2026-06-04T13:05:22.9254331Z             },
2026-06-04T13:05:22.9254760Z             {
2026-06-04T13:05:22.9255415Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9255915Z               "line": 458
2026-06-04T13:05:22.9256339Z             },
2026-06-04T13:05:22.9256779Z             {
2026-06-04T13:05:22.9257415Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9257911Z               "line": 483
2026-06-04T13:05:22.9258358Z             },
2026-06-04T13:05:22.9258785Z             {
2026-06-04T13:05:22.9259502Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T13:05:22.9259991Z               "line": 507
2026-06-04T13:05:22.9260437Z             },
2026-06-04T13:05:22.9260882Z             {
2026-06-04T13:05:22.9261543Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9262004Z               "line": 313
2026-06-04T13:05:22.9262437Z             }
2026-06-04T13:05:22.9262875Z           ]
2026-06-04T13:05:22.9263308Z         }
2026-06-04T13:05:22.9263731Z       }
2026-06-04T13:05:22.9264166Z     },
2026-06-04T13:05:22.9264589Z     {
2026-06-04T13:05:22.9265088Z       "id": "REQ-NOTIF-2",
2026-06-04T13:05:22.9266736Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T13:05:22.9267264Z       "requiredStages": [
2026-06-04T13:05:22.9267733Z         "doc",
2026-06-04T13:05:22.9268170Z         "impl",
2026-06-04T13:05:22.9268617Z         "unit"
2026-06-04T13:05:22.9269046Z       ],
2026-06-04T13:05:22.9269744Z       "stages": {
2026-06-04T13:05:22.9270385Z         "doc": {
2026-06-04T13:05:22.9270907Z           "complete": true,
2026-06-04T13:05:22.9271395Z           "evidence": [
2026-06-04T13:05:22.9271835Z             {
2026-06-04T13:05:22.9272380Z               "path": "docs/MANIFEST.md",
2026-06-04T13:05:22.9272832Z               "line": 62
2026-06-04T13:05:22.9273266Z             }
2026-06-04T13:05:22.9273688Z           ]
2026-06-04T13:05:22.9274131Z         },
2026-06-04T13:05:22.9274584Z         "impl": {
2026-06-04T13:05:22.9275096Z           "complete": true,
2026-06-04T13:05:22.9275639Z           "evidence": [
2026-06-04T13:05:22.9276096Z             {
2026-06-04T13:05:22.9276759Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9277235Z               "line": 208
2026-06-04T13:05:22.9277699Z             },
2026-06-04T13:05:22.9278144Z             {
2026-06-04T13:05:22.9278779Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9279459Z               "line": 222
2026-06-04T13:05:22.9279932Z             },
2026-06-04T13:05:22.9280531Z             {
2026-06-04T13:05:22.9281197Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:22.9281685Z               "line": 125
2026-06-04T13:05:22.9282140Z             },
2026-06-04T13:05:22.9282574Z             {
2026-06-04T13:05:22.9283255Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9283728Z               "line": 72
2026-06-04T13:05:22.9284165Z             },
2026-06-04T13:05:22.9284594Z             {
2026-06-04T13:05:22.9285620Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9286170Z               "line": 383
2026-06-04T13:05:22.9286611Z             },
2026-06-04T13:05:22.9287045Z             {
2026-06-04T13:05:22.9287612Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9288325Z               "line": 415
2026-06-04T13:05:22.9288760Z             },
2026-06-04T13:05:22.9289258Z             {
2026-06-04T13:05:22.9290173Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9290651Z               "line": 481
2026-06-04T13:05:22.9291099Z             },
2026-06-04T13:05:22.9291536Z             {
2026-06-04T13:05:22.9292122Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9292587Z               "line": 517
2026-06-04T13:05:22.9293034Z             }
2026-06-04T13:05:22.9293488Z           ]
2026-06-04T13:05:22.9293931Z         },
2026-06-04T13:05:22.9294386Z         "int": {
2026-06-04T13:05:22.9294882Z           "complete": false,
2026-06-04T13:05:22.9295349Z           "evidence": []
2026-06-04T13:05:22.9295798Z         },
2026-06-04T13:05:22.9296261Z         "unit": {
2026-06-04T13:05:22.9296749Z           "complete": true,
2026-06-04T13:05:22.9297204Z           "evidence": [
2026-06-04T13:05:22.9297652Z             {
2026-06-04T13:05:22.9298284Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:22.9298786Z               "line": 590
2026-06-04T13:05:22.9299305Z             },
2026-06-04T13:05:22.9300072Z             {
2026-06-04T13:05:22.9300685Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9301289Z               "line": 1129
2026-06-04T13:05:22.9301745Z             },
2026-06-04T13:05:22.9302189Z             {
2026-06-04T13:05:22.9302772Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9303241Z               "line": 1151
2026-06-04T13:05:22.9303709Z             }
2026-06-04T13:05:22.9304169Z           ]
2026-06-04T13:05:22.9304613Z         }
2026-06-04T13:05:22.9305062Z       }
2026-06-04T13:05:22.9305505Z     },
2026-06-04T13:05:22.9305966Z     {
2026-06-04T13:05:22.9306471Z       "id": "REQ-PAIR-1",
2026-06-04T13:05:22.9307066Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T13:05:22.9307573Z       "requiredStages": [
2026-06-04T13:05:22.9308027Z         "impl",
2026-06-04T13:05:22.9308484Z         "unit"
2026-06-04T13:05:22.9308919Z       ],
2026-06-04T13:05:22.9309459Z       "stages": {
2026-06-04T13:05:22.9309910Z         "doc": {
2026-06-04T13:05:22.9310432Z           "complete": false,
2026-06-04T13:05:22.9310910Z           "evidence": []
2026-06-04T13:05:22.9311369Z         },
2026-06-04T13:05:22.9311885Z         "impl": {
2026-06-04T13:05:22.9312374Z           "complete": true,
2026-06-04T13:05:22.9312862Z           "evidence": [
2026-06-04T13:05:22.9313309Z             {
2026-06-04T13:05:22.9314094Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9314570Z               "line": 27
2026-06-04T13:05:22.9315001Z             },
2026-06-04T13:05:22.9315457Z             {
2026-06-04T13:05:22.9316211Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9316713Z               "line": 88
2026-06-04T13:05:22.9317152Z             },
2026-06-04T13:05:22.9317615Z             {
2026-06-04T13:05:22.9318362Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9318840Z               "line": 110
2026-06-04T13:05:22.9319359Z             },
2026-06-04T13:05:22.9319814Z             {
2026-06-04T13:05:22.9320565Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9321039Z               "line": 153
2026-06-04T13:05:22.9321492Z             },
2026-06-04T13:05:22.9321941Z             {
2026-06-04T13:05:22.9322666Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9323141Z               "line": 182
2026-06-04T13:05:22.9323572Z             },
2026-06-04T13:05:22.9324024Z             {
2026-06-04T13:05:22.9324746Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9325561Z               "line": 29
2026-06-04T13:05:22.9326069Z             },
2026-06-04T13:05:22.9326505Z             {
2026-06-04T13:05:22.9327324Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T13:05:22.9328032Z               "line": 31
2026-06-04T13:05:22.9328475Z             },
2026-06-04T13:05:22.9328920Z             {
2026-06-04T13:05:22.9329876Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9330542Z               "line": 40
2026-06-04T13:05:22.9330997Z             },
2026-06-04T13:05:22.9331474Z             {
2026-06-04T13:05:22.9332233Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9332727Z               "line": 131
2026-06-04T13:05:22.9333199Z             },
2026-06-04T13:05:22.9340410Z             {
2026-06-04T13:05:22.9341303Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9341771Z               "line": 306
2026-06-04T13:05:22.9342244Z             }
2026-06-04T13:05:22.9342679Z           ]
2026-06-04T13:05:22.9343115Z         },
2026-06-04T13:05:22.9343558Z         "int": {
2026-06-04T13:05:22.9344033Z           "complete": false,
2026-06-04T13:05:22.9344520Z           "evidence": []
2026-06-04T13:05:22.9344946Z         },
2026-06-04T13:05:22.9345402Z         "unit": {
2026-06-04T13:05:22.9345891Z           "complete": true,
2026-06-04T13:05:22.9346389Z           "evidence": [
2026-06-04T13:05:22.9346834Z             {
2026-06-04T13:05:22.9347556Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9348034Z               "line": 236
2026-06-04T13:05:22.9348461Z             },
2026-06-04T13:05:22.9348896Z             {
2026-06-04T13:05:22.9349873Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T13:05:22.9350512Z               "line": 349
2026-06-04T13:05:22.9350950Z             },
2026-06-04T13:05:22.9351499Z             {
2026-06-04T13:05:22.9352244Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9352731Z               "line": 194
2026-06-04T13:05:22.9353188Z             },
2026-06-04T13:05:22.9353624Z             {
2026-06-04T13:05:22.9354365Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9354842Z               "line": 216
2026-06-04T13:05:22.9355272Z             },
2026-06-04T13:05:22.9355706Z             {
2026-06-04T13:05:22.9356410Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9356885Z               "line": 230
2026-06-04T13:05:22.9357315Z             },
2026-06-04T13:05:22.9357755Z             {
2026-06-04T13:05:22.9358478Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9358949Z               "line": 242
2026-06-04T13:05:22.9359462Z             },
2026-06-04T13:05:22.9359903Z             {
2026-06-04T13:05:22.9360616Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9361075Z               "line": 256
2026-06-04T13:05:22.9361543Z             },
2026-06-04T13:05:22.9362011Z             {
2026-06-04T13:05:22.9362759Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9363293Z               "line": 270
2026-06-04T13:05:22.9363749Z             },
2026-06-04T13:05:22.9364199Z             {
2026-06-04T13:05:22.9364951Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9365445Z               "line": 277
2026-06-04T13:05:22.9365898Z             },
2026-06-04T13:05:22.9366328Z             {
2026-06-04T13:05:22.9367059Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T13:05:22.9367530Z               "line": 295
2026-06-04T13:05:22.9367992Z             },
2026-06-04T13:05:22.9368432Z             {
2026-06-04T13:05:22.9369145Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9369691Z               "line": 696
2026-06-04T13:05:22.9370137Z             },
2026-06-04T13:05:22.9370570Z             {
2026-06-04T13:05:22.9371722Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9372281Z               "line": 757
2026-06-04T13:05:22.9372743Z             },
2026-06-04T13:05:22.9373387Z             {
2026-06-04T13:05:22.9374131Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9374599Z               "line": 814
2026-06-04T13:05:22.9375040Z             },
2026-06-04T13:05:22.9375464Z             {
2026-06-04T13:05:22.9376185Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9376673Z               "line": 868
2026-06-04T13:05:22.9377119Z             },
2026-06-04T13:05:22.9377549Z             {
2026-06-04T13:05:22.9378281Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9378797Z               "line": 920
2026-06-04T13:05:22.9379470Z             },
2026-06-04T13:05:22.9379993Z             {
2026-06-04T13:05:22.9380920Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9381423Z               "line": 1084
2026-06-04T13:05:22.9381868Z             }
2026-06-04T13:05:22.9382293Z           ]
2026-06-04T13:05:22.9382737Z         }
2026-06-04T13:05:22.9383186Z       }
2026-06-04T13:05:22.9383619Z     },
2026-06-04T13:05:22.9384048Z     {
2026-06-04T13:05:22.9384529Z       "id": "REQ-PAIR-2",
2026-06-04T13:05:22.9385298Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T13:05:22.9385797Z       "requiredStages": [
2026-06-04T13:05:22.9386249Z         "impl",
2026-06-04T13:05:22.9386674Z         "unit"
2026-06-04T13:05:22.9387109Z       ],
2026-06-04T13:05:22.9387560Z       "stages": {
2026-06-04T13:05:22.9388002Z         "doc": {
2026-06-04T13:05:22.9388508Z           "complete": false,
2026-06-04T13:05:22.9388969Z           "evidence": []
2026-06-04T13:05:22.9389628Z         },
2026-06-04T13:05:22.9390257Z         "impl": {
2026-06-04T13:05:22.9390766Z           "complete": true,
2026-06-04T13:05:22.9391247Z           "evidence": [
2026-06-04T13:05:22.9391700Z             {
2026-06-04T13:05:22.9392342Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9392810Z               "line": 42
2026-06-04T13:05:22.9393279Z             },
2026-06-04T13:05:22.9393714Z             {
2026-06-04T13:05:22.9394372Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9394864Z               "line": 151
2026-06-04T13:05:22.9395306Z             },
2026-06-04T13:05:22.9395760Z             {
2026-06-04T13:05:22.9396391Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9396876Z               "line": 171
2026-06-04T13:05:22.9397318Z             },
2026-06-04T13:05:22.9397763Z             {
2026-06-04T13:05:22.9398402Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9398867Z               "line": 209
2026-06-04T13:05:22.9399392Z             },
2026-06-04T13:05:22.9399830Z             {
2026-06-04T13:05:22.9400612Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9401101Z               "line": 232
2026-06-04T13:05:22.9401554Z             }
2026-06-04T13:05:22.9402006Z           ]
2026-06-04T13:05:22.9402429Z         },
2026-06-04T13:05:22.9402907Z         "int": {
2026-06-04T13:05:22.9403396Z           "complete": false,
2026-06-04T13:05:22.9403864Z           "evidence": []
2026-06-04T13:05:22.9404301Z         },
2026-06-04T13:05:22.9404763Z         "unit": {
2026-06-04T13:05:22.9405258Z           "complete": true,
2026-06-04T13:05:22.9405719Z           "evidence": [
2026-06-04T13:05:22.9406157Z             {
2026-06-04T13:05:22.9406770Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9407259Z               "line": 253
2026-06-04T13:05:22.9407694Z             },
2026-06-04T13:05:22.9408133Z             {
2026-06-04T13:05:22.9408757Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9409261Z               "line": 272
2026-06-04T13:05:22.9409711Z             },
2026-06-04T13:05:22.9410490Z             {
2026-06-04T13:05:22.9411158Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9411630Z               "line": 284
2026-06-04T13:05:22.9412069Z             },
2026-06-04T13:05:22.9412700Z             {
2026-06-04T13:05:22.9413335Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9413806Z               "line": 303
2026-06-04T13:05:22.9414236Z             },
2026-06-04T13:05:22.9414687Z             {
2026-06-04T13:05:22.9415331Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9415809Z               "line": 319
2026-06-04T13:05:22.9416241Z             },
2026-06-04T13:05:22.9416658Z             {
2026-06-04T13:05:22.9417284Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9417747Z               "line": 331
2026-06-04T13:05:22.9418189Z             },
2026-06-04T13:05:22.9418645Z             {
2026-06-04T13:05:22.9419333Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9419841Z               "line": 343
2026-06-04T13:05:22.9420312Z             },
2026-06-04T13:05:22.9420779Z             {
2026-06-04T13:05:22.9421431Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9421943Z               "line": 356
2026-06-04T13:05:22.9422399Z             },
2026-06-04T13:05:22.9422829Z             {
2026-06-04T13:05:22.9423475Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T13:05:22.9423948Z               "line": 370
2026-06-04T13:05:22.9424404Z             }
2026-06-04T13:05:22.9424848Z           ]
2026-06-04T13:05:22.9432157Z         }
2026-06-04T13:05:22.9432785Z       }
2026-06-04T13:05:22.9433210Z     },
2026-06-04T13:05:22.9433649Z     {
2026-06-04T13:05:22.9434145Z       "id": "REQ-PAIR-3",
2026-06-04T13:05:22.9434988Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T13:05:22.9435486Z       "requiredStages": [
2026-06-04T13:05:22.9435941Z         "impl",
2026-06-04T13:05:22.9436395Z         "unit"
2026-06-04T13:05:22.9436869Z       ],
2026-06-04T13:05:22.9437337Z       "stages": {
2026-06-04T13:05:22.9437776Z         "doc": {
2026-06-04T13:05:22.9438269Z           "complete": false,
2026-06-04T13:05:22.9438756Z           "evidence": []
2026-06-04T13:05:22.9439268Z         },
2026-06-04T13:05:22.9439730Z         "impl": {
2026-06-04T13:05:22.9440217Z           "complete": true,
2026-06-04T13:05:22.9440691Z           "evidence": [
2026-06-04T13:05:22.9441304Z             {
2026-06-04T13:05:22.9441998Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9442639Z               "line": 793
2026-06-04T13:05:22.9443083Z             },
2026-06-04T13:05:22.9443537Z             {
2026-06-04T13:05:22.9444112Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9444592Z               "line": 829
2026-06-04T13:05:22.9445015Z             },
2026-06-04T13:05:22.9445457Z             {
2026-06-04T13:05:22.9446021Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9446510Z               "line": 889
2026-06-04T13:05:22.9446961Z             }
2026-06-04T13:05:22.9447385Z           ]
2026-06-04T13:05:22.9447819Z         },
2026-06-04T13:05:22.9448253Z         "int": {
2026-06-04T13:05:22.9448765Z           "complete": false,
2026-06-04T13:05:22.9449283Z           "evidence": []
2026-06-04T13:05:22.9449731Z         },
2026-06-04T13:05:22.9450177Z         "unit": {
2026-06-04T13:05:22.9450643Z           "complete": true,
2026-06-04T13:05:22.9451110Z           "evidence": [
2026-06-04T13:05:22.9451530Z             {
2026-06-04T13:05:22.9452109Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9452599Z               "line": 1250
2026-06-04T13:05:22.9453065Z             },
2026-06-04T13:05:22.9453521Z             {
2026-06-04T13:05:22.9454105Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9454589Z               "line": 1267
2026-06-04T13:05:22.9455027Z             },
2026-06-04T13:05:22.9455466Z             {
2026-06-04T13:05:22.9456482Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9457047Z               "line": 1281
2026-06-04T13:05:22.9457509Z             },
2026-06-04T13:05:22.9457954Z             {
2026-06-04T13:05:22.9458761Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9459323Z               "line": 1297
2026-06-04T13:05:22.9459774Z             },
2026-06-04T13:05:22.9460225Z             {
2026-06-04T13:05:22.9460808Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9461294Z               "line": 1318
2026-06-04T13:05:22.9461730Z             },
2026-06-04T13:05:22.9462172Z             {
2026-06-04T13:05:22.9462740Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9463234Z               "line": 1334
2026-06-04T13:05:22.9463698Z             },
2026-06-04T13:05:22.9464138Z             {
2026-06-04T13:05:22.9464708Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9465179Z               "line": 1347
2026-06-04T13:05:22.9465622Z             },
2026-06-04T13:05:22.9466088Z             {
2026-06-04T13:05:22.9466694Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9467181Z               "line": 1356
2026-06-04T13:05:22.9467632Z             }
2026-06-04T13:05:22.9468086Z           ]
2026-06-04T13:05:22.9468529Z         }
2026-06-04T13:05:22.9468988Z       }
2026-06-04T13:05:22.9469643Z     },
2026-06-04T13:05:22.9470290Z     {
2026-06-04T13:05:22.9470812Z       "id": "REQ-PAIR-4",
2026-06-04T13:05:22.9471447Z       "title": "Subnet naming on first pairing",
2026-06-04T13:05:22.9471952Z       "requiredStages": [
2026-06-04T13:05:22.9472406Z         "impl",
2026-06-04T13:05:22.9472861Z         "unit"
2026-06-04T13:05:22.9473286Z       ],
2026-06-04T13:05:22.9473759Z       "stages": {
2026-06-04T13:05:22.9474211Z         "doc": {
2026-06-04T13:05:22.9474718Z           "complete": false,
2026-06-04T13:05:22.9475221Z           "evidence": []
2026-06-04T13:05:22.9475660Z         },
2026-06-04T13:05:22.9476114Z         "impl": {
2026-06-04T13:05:22.9476607Z           "complete": true,
2026-06-04T13:05:22.9477078Z           "evidence": [
2026-06-04T13:05:22.9477515Z             {
2026-06-04T13:05:22.9478179Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T13:05:22.9478688Z               "line": 154
2026-06-04T13:05:22.9479129Z             }
2026-06-04T13:05:22.9479861Z           ]
2026-06-04T13:05:22.9480461Z         },
2026-06-04T13:05:22.9480923Z         "int": {
2026-06-04T13:05:22.9481409Z           "complete": false,
2026-06-04T13:05:22.9481897Z           "evidence": []
2026-06-04T13:05:22.9482355Z         },
2026-06-04T13:05:22.9482813Z         "unit": {
2026-06-04T13:05:22.9483319Z           "complete": true,
2026-06-04T13:05:22.9483805Z           "evidence": [
2026-06-04T13:05:22.9484261Z             {
2026-06-04T13:05:22.9484991Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9485468Z               "line": 972
2026-06-04T13:05:22.9485922Z             }
2026-06-04T13:05:22.9486361Z           ]
2026-06-04T13:05:22.9486826Z         }
2026-06-04T13:05:22.9487263Z       }
2026-06-04T13:05:22.9487713Z     },
2026-06-04T13:05:22.9488138Z     {
2026-06-04T13:05:22.9488637Z       "id": "REQ-PAIR-5",
2026-06-04T13:05:22.9490617Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T13:05:22.9491133Z       "requiredStages": [
2026-06-04T13:05:22.9491582Z         "impl",
2026-06-04T13:05:22.9492025Z         "unit"
2026-06-04T13:05:22.9492474Z       ],
2026-06-04T13:05:22.9492912Z       "stages": {
2026-06-04T13:05:22.9493347Z         "doc": {
2026-06-04T13:05:22.9493846Z           "complete": false,
2026-06-04T13:05:22.9494318Z           "evidence": []
2026-06-04T13:05:22.9494751Z         },
2026-06-04T13:05:22.9495188Z         "impl": {
2026-06-04T13:05:22.9495673Z           "complete": true,
2026-06-04T13:05:22.9496139Z           "evidence": [
2026-06-04T13:05:22.9496578Z             {
2026-06-04T13:05:22.9497776Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9498312Z               "line": 33
2026-06-04T13:05:22.9498756Z             },
2026-06-04T13:05:22.9499250Z             {
2026-06-04T13:05:22.9500369Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9500834Z               "line": 45
2026-06-04T13:05:22.9501285Z             },
2026-06-04T13:05:22.9501729Z             {
2026-06-04T13:05:22.9502548Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9503047Z               "line": 59
2026-06-04T13:05:22.9503498Z             },
2026-06-04T13:05:22.9503946Z             {
2026-06-04T13:05:22.9504667Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9505156Z               "line": 306
2026-06-04T13:05:22.9505612Z             }
2026-06-04T13:05:22.9506043Z           ]
2026-06-04T13:05:22.9506482Z         },
2026-06-04T13:05:22.9506924Z         "int": {
2026-06-04T13:05:22.9507457Z           "complete": false,
2026-06-04T13:05:22.9507939Z           "evidence": []
2026-06-04T13:05:22.9508378Z         },
2026-06-04T13:05:22.9508832Z         "unit": {
2026-06-04T13:05:22.9509543Z           "complete": true,
2026-06-04T13:05:22.9510238Z           "evidence": [
2026-06-04T13:05:22.9510672Z             {
2026-06-04T13:05:22.9511482Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9511942Z               "line": 72
2026-06-04T13:05:22.9512393Z             },
2026-06-04T13:05:22.9512830Z             {
2026-06-04T13:05:22.9513622Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9514094Z               "line": 82
2026-06-04T13:05:22.9514516Z             },
2026-06-04T13:05:22.9514957Z             {
2026-06-04T13:05:22.9515763Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9516234Z               "line": 92
2026-06-04T13:05:22.9523594Z             },
2026-06-04T13:05:22.9524273Z             {
2026-06-04T13:05:22.9525117Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9525578Z               "line": 102
2026-06-04T13:05:22.9526018Z             },
2026-06-04T13:05:22.9526472Z             {
2026-06-04T13:05:22.9527260Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T13:05:22.9527730Z               "line": 117
2026-06-04T13:05:22.9528160Z             },
2026-06-04T13:05:22.9528594Z             {
2026-06-04T13:05:22.9529494Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9530143Z               "line": 750
2026-06-04T13:05:22.9530602Z             },
2026-06-04T13:05:22.9531031Z             {
2026-06-04T13:05:22.9531751Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9532203Z               "line": 806
2026-06-04T13:05:22.9532647Z             },
2026-06-04T13:05:22.9533066Z             {
2026-06-04T13:05:22.9533792Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T13:05:22.9534265Z               "line": 1026
2026-06-04T13:05:22.9534690Z             }
2026-06-04T13:05:22.9535130Z           ]
2026-06-04T13:05:22.9535569Z         }
2026-06-04T13:05:22.9535993Z       }
2026-06-04T13:05:22.9536410Z     },
2026-06-04T13:05:22.9536837Z     {
2026-06-04T13:05:22.9537474Z       "id": "REQ-PAIR-6",
2026-06-04T13:05:22.9539219Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T13:05:22.9539915Z       "requiredStages": [
2026-06-04T13:05:22.9540356Z         "impl",
2026-06-04T13:05:22.9540800Z         "unit"
2026-06-04T13:05:22.9541229Z       ],
2026-06-04T13:05:22.9541685Z       "stages": {
2026-06-04T13:05:22.9542127Z         "doc": {
2026-06-04T13:05:22.9542608Z           "complete": false,
2026-06-04T13:05:22.9543074Z           "evidence": []
2026-06-04T13:05:22.9543495Z         },
2026-06-04T13:05:22.9543938Z         "impl": {
2026-06-04T13:05:22.9544868Z           "complete": true,
2026-06-04T13:05:22.9545392Z           "evidence": [
2026-06-04T13:05:22.9545832Z             {
2026-06-04T13:05:22.9546384Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9547026Z               "line": 829
2026-06-04T13:05:22.9547459Z             },
2026-06-04T13:05:22.9547898Z             {
2026-06-04T13:05:22.9548459Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9548941Z               "line": 889
2026-06-04T13:05:22.9549610Z             },
2026-06-04T13:05:22.9550204Z             {
2026-06-04T13:05:22.9550829Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T13:05:22.9551282Z               "line": 18
2026-06-04T13:05:22.9551720Z             },
2026-06-04T13:05:22.9552138Z             {
2026-06-04T13:05:22.9552743Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T13:05:22.9553206Z               "line": 49
2026-06-04T13:05:22.9553638Z             },
2026-06-04T13:05:22.9554074Z             {
2026-06-04T13:05:22.9554694Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T13:05:22.9555158Z               "line": 70
2026-06-04T13:05:22.9555587Z             }
2026-06-04T13:05:22.9556026Z           ]
2026-06-04T13:05:22.9556467Z         },
2026-06-04T13:05:22.9556889Z         "int": {
2026-06-04T13:05:22.9557384Z           "complete": false,
2026-06-04T13:05:22.9557842Z           "evidence": []
2026-06-04T13:05:22.9558265Z         },
2026-06-04T13:05:22.9558707Z         "unit": {
2026-06-04T13:05:22.9559250Z           "complete": true,
2026-06-04T13:05:22.9560066Z           "evidence": [
2026-06-04T13:05:22.9560511Z             {
2026-06-04T13:05:22.9561081Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9561543Z               "line": 1369
2026-06-04T13:05:22.9561980Z             },
2026-06-04T13:05:22.9562402Z             {
2026-06-04T13:05:22.9562983Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:22.9563487Z               "line": 1386
2026-06-04T13:05:22.9563943Z             },
2026-06-04T13:05:22.9564411Z             {
2026-06-04T13:05:22.9565024Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T13:05:22.9565492Z               "line": 132
2026-06-04T13:05:22.9565929Z             },
2026-06-04T13:05:22.9566366Z             {
2026-06-04T13:05:22.9566967Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T13:05:22.9567423Z               "line": 141
2026-06-04T13:05:22.9567879Z             }
2026-06-04T13:05:22.9568318Z           ]
2026-06-04T13:05:22.9568749Z         }
2026-06-04T13:05:22.9569217Z       }
2026-06-04T13:05:22.9569829Z     },
2026-06-04T13:05:22.9570421Z     {
2026-06-04T13:05:22.9570916Z       "id": "REQ-PAIR-7",
2026-06-04T13:05:22.9571869Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T13:05:22.9572405Z       "requiredStages": [],
2026-06-04T13:05:22.9572888Z       "stages": {
2026-06-04T13:05:22.9573354Z         "doc": {
2026-06-04T13:05:22.9573902Z           "complete": false,
2026-06-04T13:05:22.9574435Z           "evidence": []
2026-06-04T13:05:22.9574890Z         },
2026-06-04T13:05:22.9575376Z         "impl": {
2026-06-04T13:05:22.9575886Z           "complete": false,
2026-06-04T13:05:22.9576391Z           "evidence": []
2026-06-04T13:05:22.9576846Z         },
2026-06-04T13:05:22.9577306Z         "int": {
2026-06-04T13:05:22.9577820Z           "complete": false,
2026-06-04T13:05:22.9578293Z           "evidence": []
2026-06-04T13:05:22.9578727Z         },
2026-06-04T13:05:22.9579259Z         "unit": {
2026-06-04T13:05:22.9580102Z           "complete": false,
2026-06-04T13:05:22.9580570Z           "evidence": []
2026-06-04T13:05:22.9581015Z         }
2026-06-04T13:05:22.9581456Z       }
2026-06-04T13:05:22.9581880Z     },
2026-06-04T13:05:22.9582321Z     {
2026-06-04T13:05:22.9582807Z       "id": "REQ-REACH-1",
2026-06-04T13:05:22.9583669Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T13:05:22.9584185Z       "requiredStages": [
2026-06-04T13:05:22.9584663Z         "impl",
2026-06-04T13:05:22.9585452Z         "unit"
2026-06-04T13:05:22.9585968Z       ],
2026-06-04T13:05:22.9586439Z       "stages": {
2026-06-04T13:05:22.9586879Z         "doc": {
2026-06-04T13:05:22.9587562Z           "complete": false,
2026-06-04T13:05:22.9588035Z           "evidence": []
2026-06-04T13:05:22.9588487Z         },
2026-06-04T13:05:22.9588941Z         "impl": {
2026-06-04T13:05:22.9589658Z           "complete": true,
2026-06-04T13:05:22.9590342Z           "evidence": [
2026-06-04T13:05:22.9590796Z             {
2026-06-04T13:05:22.9591480Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T13:05:22.9591959Z               "line": 133
2026-06-04T13:05:22.9592403Z             },
2026-06-04T13:05:22.9592847Z             {
2026-06-04T13:05:22.9593480Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.9593963Z               "line": 76
2026-06-04T13:05:22.9594416Z             },
2026-06-04T13:05:22.9594872Z             {
2026-06-04T13:05:22.9595527Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.9596014Z               "line": 209
2026-06-04T13:05:22.9596457Z             },
2026-06-04T13:05:22.9596890Z             {
2026-06-04T13:05:22.9597535Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.9598011Z               "line": 386
2026-06-04T13:05:22.9598466Z             },
2026-06-04T13:05:22.9598904Z             {
2026-06-04T13:05:22.9599923Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.9600436Z               "line": 484
2026-06-04T13:05:22.9600882Z             },
2026-06-04T13:05:22.9601325Z             {
2026-06-04T13:05:22.9601946Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T13:05:22.9602426Z               "line": 39
2026-06-04T13:05:22.9602868Z             },
2026-06-04T13:05:22.9603293Z             {
2026-06-04T13:05:22.9603905Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.9604367Z               "line": 176
2026-06-04T13:05:22.9604819Z             },
2026-06-04T13:05:22.9605248Z             {
2026-06-04T13:05:22.9605862Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T13:05:22.9606328Z               "line": 82
2026-06-04T13:05:22.9606775Z             },
2026-06-04T13:05:22.9607221Z             {
2026-06-04T13:05:22.9607828Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T13:05:22.9608306Z               "line": 92
2026-06-04T13:05:22.9608749Z             },
2026-06-04T13:05:22.9616069Z             {
2026-06-04T13:05:22.9616878Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9617349Z               "line": 177
2026-06-04T13:05:22.9617789Z             }
2026-06-04T13:05:22.9618216Z           ]
2026-06-04T13:05:22.9618658Z         },
2026-06-04T13:05:22.9619096Z         "int": {
2026-06-04T13:05:22.9619816Z           "complete": true,
2026-06-04T13:05:22.9620279Z           "evidence": [
2026-06-04T13:05:22.9620698Z             {
2026-06-04T13:05:22.9621416Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.9621866Z               "line": 375
2026-06-04T13:05:22.9622301Z             },
2026-06-04T13:05:22.9622713Z             {
2026-06-04T13:05:22.9623408Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:22.9623872Z               "line": 478
2026-06-04T13:05:22.9624295Z             }
2026-06-04T13:05:22.9624730Z           ]
2026-06-04T13:05:22.9625157Z         },
2026-06-04T13:05:22.9625620Z         "unit": {
2026-06-04T13:05:22.9626087Z           "complete": true,
2026-06-04T13:05:22.9626540Z           "evidence": [
2026-06-04T13:05:22.9626963Z             {
2026-06-04T13:05:22.9627568Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.9628024Z               "line": 585
2026-06-04T13:05:22.9628444Z             },
2026-06-04T13:05:22.9628865Z             {
2026-06-04T13:05:22.9629704Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T13:05:22.9630350Z               "line": 606
2026-06-04T13:05:22.9631248Z             },
2026-06-04T13:05:22.9631719Z             {
2026-06-04T13:05:22.9632391Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T13:05:22.9632856Z               "line": 337
2026-06-04T13:05:22.9633461Z             },
2026-06-04T13:05:22.9633899Z             {
2026-06-04T13:05:22.9634563Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T13:05:22.9635023Z               "line": 92
2026-06-04T13:05:22.9635443Z             },
2026-06-04T13:05:22.9635916Z             {
2026-06-04T13:05:22.9636577Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T13:05:22.9637079Z               "line": 176
2026-06-04T13:05:22.9637521Z             },
2026-06-04T13:05:22.9637978Z             {
2026-06-04T13:05:22.9638637Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T13:05:22.9639117Z               "line": 92
2026-06-04T13:05:22.9639939Z             },
2026-06-04T13:05:22.9640382Z             {
2026-06-04T13:05:22.9641031Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T13:05:22.9641494Z               "line": 123
2026-06-04T13:05:22.9641939Z             },
2026-06-04T13:05:22.9642390Z             {
2026-06-04T13:05:22.9643015Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:22.9643494Z               "line": 367
2026-06-04T13:05:22.9643922Z             },
2026-06-04T13:05:22.9644363Z             {
2026-06-04T13:05:22.9644984Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T13:05:22.9645488Z               "line": 112
2026-06-04T13:05:22.9645933Z             },
2026-06-04T13:05:22.9646397Z             {
2026-06-04T13:05:22.9647078Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T13:05:22.9647566Z               "line": 136
2026-06-04T13:05:22.9648028Z             },
2026-06-04T13:05:22.9648489Z             {
2026-06-04T13:05:22.9649198Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9649861Z               "line": 396
2026-06-04T13:05:22.9650466Z             }
2026-06-04T13:05:22.9650901Z           ]
2026-06-04T13:05:22.9651322Z         }
2026-06-04T13:05:22.9651762Z       }
2026-06-04T13:05:22.9652187Z     },
2026-06-04T13:05:22.9652653Z     {
2026-06-04T13:05:22.9653161Z       "id": "REQ-REACH-2",
2026-06-04T13:05:22.9654072Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T13:05:22.9654594Z       "requiredStages": [],
2026-06-04T13:05:22.9655080Z       "stages": {
2026-06-04T13:05:22.9655552Z         "doc": {
2026-06-04T13:05:22.9656053Z           "complete": false,
2026-06-04T13:05:22.9656530Z           "evidence": []
2026-06-04T13:05:22.9656974Z         },
2026-06-04T13:05:22.9657420Z         "impl": {
2026-06-04T13:05:22.9657916Z           "complete": false,
2026-06-04T13:05:22.9658382Z           "evidence": []
2026-06-04T13:05:22.9658828Z         },
2026-06-04T13:05:22.9659498Z         "int": {
2026-06-04T13:05:22.9660191Z           "complete": false,
2026-06-04T13:05:22.9660692Z           "evidence": []
2026-06-04T13:05:22.9661140Z         },
2026-06-04T13:05:22.9661606Z         "unit": {
2026-06-04T13:05:22.9662089Z           "complete": false,
2026-06-04T13:05:22.9662560Z           "evidence": []
2026-06-04T13:05:22.9663007Z         }
2026-06-04T13:05:22.9663450Z       }
2026-06-04T13:05:22.9663899Z     },
2026-06-04T13:05:22.9664351Z     {
2026-06-04T13:05:22.9664926Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T13:05:22.9666011Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T13:05:22.9666559Z       "requiredStages": [
2026-06-04T13:05:22.9667017Z         "impl",
2026-06-04T13:05:22.9667469Z         "unit"
2026-06-04T13:05:22.9667919Z       ],
2026-06-04T13:05:22.9668374Z       "stages": {
2026-06-04T13:05:22.9668834Z         "doc": {
2026-06-04T13:05:22.9669607Z           "complete": false,
2026-06-04T13:05:22.9670287Z           "evidence": []
2026-06-04T13:05:22.9670716Z         },
2026-06-04T13:05:22.9671171Z         "impl": {
2026-06-04T13:05:22.9672018Z           "complete": true,
2026-06-04T13:05:22.9672551Z           "evidence": [
2026-06-04T13:05:22.9672994Z             {
2026-06-04T13:05:22.9673645Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9674312Z               "line": 18
2026-06-04T13:05:22.9674741Z             },
2026-06-04T13:05:22.9675181Z             {
2026-06-04T13:05:22.9675815Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9676258Z               "line": 35
2026-06-04T13:05:22.9676699Z             },
2026-06-04T13:05:22.9677142Z             {
2026-06-04T13:05:22.9677790Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9678258Z               "line": 65
2026-06-04T13:05:22.9678684Z             }
2026-06-04T13:05:22.9679118Z           ]
2026-06-04T13:05:22.9679604Z         },
2026-06-04T13:05:22.9680059Z         "int": {
2026-06-04T13:05:22.9680550Z           "complete": false,
2026-06-04T13:05:22.9681029Z           "evidence": []
2026-06-04T13:05:22.9681479Z         },
2026-06-04T13:05:22.9681942Z         "unit": {
2026-06-04T13:05:22.9682431Z           "complete": true,
2026-06-04T13:05:22.9682897Z           "evidence": [
2026-06-04T13:05:22.9683351Z             {
2026-06-04T13:05:22.9684020Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9684536Z               "line": 170
2026-06-04T13:05:22.9685003Z             },
2026-06-04T13:05:22.9685457Z             {
2026-06-04T13:05:22.9686120Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9686607Z               "line": 184
2026-06-04T13:05:22.9687149Z             },
2026-06-04T13:05:22.9687592Z             {
2026-06-04T13:05:22.9688248Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9688805Z               "line": 193
2026-06-04T13:05:22.9689299Z             }
2026-06-04T13:05:22.9689746Z           ]
2026-06-04T13:05:22.9690240Z         }
2026-06-04T13:05:22.9690678Z       }
2026-06-04T13:05:22.9691130Z     },
2026-06-04T13:05:22.9691611Z     {
2026-06-04T13:05:22.9692244Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T13:05:22.9693169Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T13:05:22.9693713Z       "requiredStages": [
2026-06-04T13:05:22.9694168Z         "impl",
2026-06-04T13:05:22.9694653Z         "unit"
2026-06-04T13:05:22.9695090Z       ],
2026-06-04T13:05:22.9695549Z       "stages": {
2026-06-04T13:05:22.9696004Z         "doc": {
2026-06-04T13:05:22.9696518Z           "complete": false,
2026-06-04T13:05:22.9697007Z           "evidence": []
2026-06-04T13:05:22.9697442Z         },
2026-06-04T13:05:22.9697888Z         "impl": {
2026-06-04T13:05:22.9698380Z           "complete": true,
2026-06-04T13:05:22.9698863Z           "evidence": [
2026-06-04T13:05:22.9699503Z             {
2026-06-04T13:05:22.9700393Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9707455Z               "line": 262
2026-06-04T13:05:22.9708109Z             }
2026-06-04T13:05:22.9708554Z           ]
2026-06-04T13:05:22.9709021Z         },
2026-06-04T13:05:22.9709780Z         "int": {
2026-06-04T13:05:22.9710449Z           "complete": false,
2026-06-04T13:05:22.9711112Z           "evidence": []
2026-06-04T13:05:22.9711594Z         },
2026-06-04T13:05:22.9712041Z         "unit": {
2026-06-04T13:05:22.9712541Z           "complete": true,
2026-06-04T13:05:22.9713008Z           "evidence": [
2026-06-04T13:05:22.9713456Z             {
2026-06-04T13:05:22.9714156Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:22.9715321Z               "line": 429
2026-06-04T13:05:22.9715929Z             }
2026-06-04T13:05:22.9716368Z           ]
2026-06-04T13:05:22.9716823Z         }
2026-06-04T13:05:22.9717248Z       }
2026-06-04T13:05:22.9717695Z     },
2026-06-04T13:05:22.9718127Z     {
2026-06-04T13:05:22.9718662Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T13:05:22.9720147Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T13:05:22.9721483Z       "requiredStages": [
2026-06-04T13:05:22.9722112Z         "impl",
2026-06-04T13:05:22.9722658Z         "unit",
2026-06-04T13:05:22.9723205Z         "int"
2026-06-04T13:05:22.9723705Z       ],
2026-06-04T13:05:22.9724508Z       "stages": {
2026-06-04T13:05:22.9724993Z         "doc": {
2026-06-04T13:05:22.9725519Z           "complete": false,
2026-06-04T13:05:22.9726043Z           "evidence": []
2026-06-04T13:05:22.9726493Z         },
2026-06-04T13:05:22.9726976Z         "impl": {
2026-06-04T13:05:22.9727506Z           "complete": true,
2026-06-04T13:05:22.9728017Z           "evidence": [
2026-06-04T13:05:22.9728494Z             {
2026-06-04T13:05:22.9729239Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.9730092Z               "line": 24
2026-06-04T13:05:22.9730601Z             },
2026-06-04T13:05:22.9731239Z             {
2026-06-04T13:05:22.9731890Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9732375Z               "line": 22
2026-06-04T13:05:22.9732825Z             }
2026-06-04T13:05:22.9733291Z           ]
2026-06-04T13:05:22.9733742Z         },
2026-06-04T13:05:22.9734188Z         "int": {
2026-06-04T13:05:22.9734689Z           "complete": true,
2026-06-04T13:05:22.9735198Z           "evidence": [
2026-06-04T13:05:22.9735654Z             {
2026-06-04T13:05:22.9736361Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.9736863Z               "line": 202
2026-06-04T13:05:22.9737329Z             }
2026-06-04T13:05:22.9737777Z           ]
2026-06-04T13:05:22.9738227Z         },
2026-06-04T13:05:22.9738694Z         "unit": {
2026-06-04T13:05:22.9739263Z           "complete": true,
2026-06-04T13:05:22.9739936Z           "evidence": [
2026-06-04T13:05:22.9740388Z             {
2026-06-04T13:05:22.9741048Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.9741548Z               "line": 163
2026-06-04T13:05:22.9742017Z             },
2026-06-04T13:05:22.9742469Z             {
2026-06-04T13:05:22.9743124Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.9743633Z               "line": 186
2026-06-04T13:05:22.9744081Z             },
2026-06-04T13:05:22.9744550Z             {
2026-06-04T13:05:22.9745217Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T13:05:22.9745716Z               "line": 195
2026-06-04T13:05:22.9746164Z             },
2026-06-04T13:05:22.9746626Z             {
2026-06-04T13:05:22.9747333Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9747821Z               "line": 195
2026-06-04T13:05:22.9748275Z             },
2026-06-04T13:05:22.9748716Z             {
2026-06-04T13:05:22.9749468Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9750009Z               "line": 209
2026-06-04T13:05:22.9750477Z             },
2026-06-04T13:05:22.9750941Z             {
2026-06-04T13:05:22.9751613Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9752142Z               "line": 228
2026-06-04T13:05:22.9752750Z             },
2026-06-04T13:05:22.9753224Z             {
2026-06-04T13:05:22.9753920Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9754416Z               "line": 248
2026-06-04T13:05:22.9754889Z             },
2026-06-04T13:05:22.9755342Z             {
2026-06-04T13:05:22.9756036Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9756523Z               "line": 264
2026-06-04T13:05:22.9756989Z             },
2026-06-04T13:05:22.9757442Z             {
2026-06-04T13:05:22.9758125Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T13:05:22.9758617Z               "line": 279
2026-06-04T13:05:22.9759060Z             }
2026-06-04T13:05:22.9759593Z           ]
2026-06-04T13:05:22.9760059Z         }
2026-06-04T13:05:22.9760513Z       }
2026-06-04T13:05:22.9760978Z     },
2026-06-04T13:05:22.9761468Z     {
2026-06-04T13:05:22.9762080Z       "id": "REQ-SEAM-INJECT",
2026-06-04T13:05:22.9763433Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T13:05:22.9764029Z       "requiredStages": [
2026-06-04T13:05:22.9764483Z         "impl",
2026-06-04T13:05:22.9764944Z         "unit"
2026-06-04T13:05:22.9765393Z       ],
2026-06-04T13:05:22.9766068Z       "stages": {
2026-06-04T13:05:22.9766545Z         "doc": {
2026-06-04T13:05:22.9767055Z           "complete": false,
2026-06-04T13:05:22.9767569Z           "evidence": []
2026-06-04T13:05:22.9768025Z         },
2026-06-04T13:05:22.9768501Z         "impl": {
2026-06-04T13:05:22.9769025Z           "complete": true,
2026-06-04T13:05:22.9769750Z           "evidence": [
2026-06-04T13:05:22.9770245Z             {
2026-06-04T13:05:22.9770918Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9771383Z               "line": 19
2026-06-04T13:05:22.9771819Z             },
2026-06-04T13:05:22.9772259Z             {
2026-06-04T13:05:22.9772907Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9773378Z               "line": 104
2026-06-04T13:05:22.9773837Z             }
2026-06-04T13:05:22.9774267Z           ]
2026-06-04T13:05:22.9774698Z         },
2026-06-04T13:05:22.9775142Z         "int": {
2026-06-04T13:05:22.9775640Z           "complete": false,
2026-06-04T13:05:22.9776143Z           "evidence": []
2026-06-04T13:05:22.9776576Z         },
2026-06-04T13:05:22.9777042Z         "unit": {
2026-06-04T13:05:22.9777541Z           "complete": true,
2026-06-04T13:05:22.9778076Z           "evidence": [
2026-06-04T13:05:22.9778539Z             {
2026-06-04T13:05:22.9779435Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9780090Z               "line": 222
2026-06-04T13:05:22.9780529Z             },
2026-06-04T13:05:22.9780969Z             {
2026-06-04T13:05:22.9781618Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T13:05:22.9782099Z               "line": 236
2026-06-04T13:05:22.9782530Z             }
2026-06-04T13:05:22.9782991Z           ]
2026-06-04T13:05:22.9783452Z         }
2026-06-04T13:05:22.9783903Z       }
2026-06-04T13:05:22.9784358Z     },
2026-06-04T13:05:22.9784784Z     {
2026-06-04T13:05:22.9785319Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T13:05:22.9786070Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T13:05:22.9786597Z       "requiredStages": [
2026-06-04T13:05:22.9787052Z         "impl",
2026-06-04T13:05:22.9787487Z         "unit"
2026-06-04T13:05:22.9787919Z       ],
2026-06-04T13:05:22.9788361Z       "stages": {
2026-06-04T13:05:22.9788794Z         "doc": {
2026-06-04T13:05:22.9789511Z           "complete": false,
2026-06-04T13:05:22.9790031Z           "evidence": []
2026-06-04T13:05:22.9790493Z         },
2026-06-04T13:05:22.9790957Z         "impl": {
2026-06-04T13:05:22.9791465Z           "complete": true,
2026-06-04T13:05:22.9791950Z           "evidence": [
2026-06-04T13:05:22.9792426Z             {
2026-06-04T13:05:22.9793148Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.9793733Z               "line": 18
2026-06-04T13:05:22.9803122Z             },
2026-06-04T13:05:22.9804280Z             {
2026-06-04T13:05:22.9805635Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.9807320Z               "line": 263
2026-06-04T13:05:22.9808679Z             }
2026-06-04T13:05:22.9809954Z           ]
2026-06-04T13:05:22.9811061Z         },
2026-06-04T13:05:22.9812103Z         "int": {
2026-06-04T13:05:22.9813321Z           "complete": false,
2026-06-04T13:05:22.9814731Z           "evidence": []
2026-06-04T13:05:22.9815959Z         },
2026-06-04T13:05:22.9817104Z         "unit": {
2026-06-04T13:05:22.9818332Z           "complete": true,
2026-06-04T13:05:22.9819780Z           "evidence": [
2026-06-04T13:05:22.9821053Z             {
2026-06-04T13:05:22.9822338Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.9824015Z               "line": 429
2026-06-04T13:05:22.9825259Z             },
2026-06-04T13:05:22.9826389Z             {
2026-06-04T13:05:22.9828113Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.9830096Z               "line": 439
2026-06-04T13:05:22.9831294Z             }
2026-06-04T13:05:22.9832387Z           ]
2026-06-04T13:05:22.9833416Z         }
2026-06-04T13:05:22.9834716Z       }
2026-06-04T13:05:22.9835672Z     },
2026-06-04T13:05:22.9836620Z     {
2026-06-04T13:05:22.9837673Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T13:05:22.9839668Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T13:05:22.9841764Z       "requiredStages": [
2026-06-04T13:05:22.9842965Z         "impl",
2026-06-04T13:05:22.9844047Z         "unit",
2026-06-04T13:05:22.9845358Z         "int"
2026-06-04T13:05:22.9846539Z       ],
2026-06-04T13:05:22.9847673Z       "stages": {
2026-06-04T13:05:22.9848818Z         "doc": {
2026-06-04T13:05:22.9850227Z           "complete": false,
2026-06-04T13:05:22.9851880Z           "evidence": []
2026-06-04T13:05:22.9853049Z         },
2026-06-04T13:05:22.9854050Z         "impl": {
2026-06-04T13:05:22.9855165Z           "complete": true,
2026-06-04T13:05:22.9856657Z           "evidence": [
2026-06-04T13:05:22.9857859Z             {
2026-06-04T13:05:22.9859147Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T13:05:22.9860974Z               "line": 19
2026-06-04T13:05:22.9862149Z             },
2026-06-04T13:05:22.9863184Z             {
2026-06-04T13:05:22.9864412Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T13:05:22.9865977Z               "line": 12
2026-06-04T13:05:22.9867127Z             },
2026-06-04T13:05:22.9868136Z             {
2026-06-04T13:05:22.9869586Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:22.9871317Z               "line": 164
2026-06-04T13:05:22.9872479Z             }
2026-06-04T13:05:22.9873500Z           ]
2026-06-04T13:05:22.9874474Z         },
2026-06-04T13:05:22.9875462Z         "int": {
2026-06-04T13:05:22.9876552Z           "complete": true,
2026-06-04T13:05:22.9877772Z           "evidence": [
2026-06-04T13:05:22.9878890Z             {
2026-06-04T13:05:22.9880430Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:22.9882145Z               "line": 201
2026-06-04T13:05:22.9883388Z             }
2026-06-04T13:05:22.9884475Z           ]
2026-06-04T13:05:22.9885624Z         },
2026-06-04T13:05:22.9886694Z         "unit": {
2026-06-04T13:05:22.9887854Z           "complete": true,
2026-06-04T13:05:22.9889135Z           "evidence": [
2026-06-04T13:05:22.9890464Z             {
2026-06-04T13:05:22.9891680Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T13:05:22.9893244Z               "line": 161
2026-06-04T13:05:22.9894398Z             },
2026-06-04T13:05:22.9895415Z             {
2026-06-04T13:05:22.9896619Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T13:05:22.9898267Z               "line": 168
2026-06-04T13:05:22.9907136Z             },
2026-06-04T13:05:22.9908362Z             {
2026-06-04T13:05:22.9909832Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T13:05:22.9911646Z               "line": 191
2026-06-04T13:05:22.9913113Z             },
2026-06-04T13:05:22.9914258Z             {
2026-06-04T13:05:22.9915533Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T13:05:22.9917196Z               "line": 106
2026-06-04T13:05:22.9918398Z             },
2026-06-04T13:05:22.9919707Z             {
2026-06-04T13:05:22.9920946Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T13:05:22.9922499Z               "line": 123
2026-06-04T13:05:22.9923650Z             },
2026-06-04T13:05:22.9924673Z             {
2026-06-04T13:05:22.9925889Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T13:05:22.9927494Z               "line": 137
2026-06-04T13:05:22.9928707Z             }
2026-06-04T13:05:22.9930154Z           ]
2026-06-04T13:05:22.9931174Z         }
2026-06-04T13:05:22.9932272Z       }
2026-06-04T13:05:22.9933241Z     },
2026-06-04T13:05:22.9934205Z     {
2026-06-04T13:05:22.9935256Z       "id": "REQ-SEAM-RESUME",
2026-06-04T13:05:22.9937743Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T13:05:22.9940231Z       "requiredStages": [
2026-06-04T13:05:22.9941449Z         "impl",
2026-06-04T13:05:22.9942467Z         "unit"
2026-06-04T13:05:22.9943705Z       ],
2026-06-04T13:05:22.9944683Z       "stages": {
2026-06-04T13:05:22.9945732Z         "doc": {
2026-06-04T13:05:22.9946815Z           "complete": false,
2026-06-04T13:05:22.9948083Z           "evidence": []
2026-06-04T13:05:22.9949452Z         },
2026-06-04T13:05:22.9950659Z         "impl": {
2026-06-04T13:05:22.9951783Z           "complete": true,
2026-06-04T13:05:22.9953023Z           "evidence": [
2026-06-04T13:05:22.9954206Z             {
2026-06-04T13:05:22.9955432Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T13:05:22.9956983Z               "line": 19
2026-06-04T13:05:22.9958130Z             }
2026-06-04T13:05:22.9959137Z           ]
2026-06-04T13:05:22.9960201Z         },
2026-06-04T13:05:22.9961183Z         "int": {
2026-06-04T13:05:22.9962337Z           "complete": false,
2026-06-04T13:05:22.9963634Z           "evidence": []
2026-06-04T13:05:22.9964883Z         },
2026-06-04T13:05:22.9965918Z         "unit": {
2026-06-04T13:05:22.9967055Z           "complete": true,
2026-06-04T13:05:22.9968330Z           "evidence": [
2026-06-04T13:05:22.9969674Z             {
2026-06-04T13:05:22.9971061Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T13:05:22.9972610Z               "line": 168
2026-06-04T13:05:22.9973780Z             },
2026-06-04T13:05:22.9974848Z             {
2026-06-04T13:05:22.9976094Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T13:05:22.9977690Z               "line": 187
2026-06-04T13:05:22.9978867Z             },
2026-06-04T13:05:22.9980281Z             {
2026-06-04T13:05:22.9981538Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T13:05:22.9983113Z               "line": 205
2026-06-04T13:05:22.9984364Z             }
2026-06-04T13:05:22.9985425Z           ]
2026-06-04T13:05:22.9986450Z         }
2026-06-04T13:05:22.9987425Z       }
2026-06-04T13:05:22.9988385Z     },
2026-06-04T13:05:22.9989565Z     {
2026-06-04T13:05:22.9990770Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T13:05:22.9992180Z       "title": "spawn-session seam",
2026-06-04T13:05:22.9993651Z       "requiredStages": [
2026-06-04T13:05:22.9994871Z         "impl",
2026-06-04T13:05:22.9995962Z         "unit"
2026-06-04T13:05:22.9997031Z       ],
2026-06-04T13:05:22.9998038Z       "stages": {
2026-06-04T13:05:22.9999091Z         "doc": {
2026-06-04T13:05:23.0000546Z           "complete": false,
2026-06-04T13:05:23.0001903Z           "evidence": []
2026-06-04T13:05:23.0003127Z         },
2026-06-04T13:05:23.0004166Z         "impl": {
2026-06-04T13:05:23.0005376Z           "complete": true,
2026-06-04T13:05:23.0006685Z           "evidence": [
2026-06-04T13:05:23.0007875Z             {
2026-06-04T13:05:23.0009289Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0018369Z               "line": 20
2026-06-04T13:05:23.0020139Z             }
2026-06-04T13:05:23.0021173Z           ]
2026-06-04T13:05:23.0022157Z         },
2026-06-04T13:05:23.0023140Z         "int": {
2026-06-04T13:05:23.0024252Z           "complete": false,
2026-06-04T13:05:23.0025566Z           "evidence": []
2026-06-04T13:05:23.0026741Z         },
2026-06-04T13:05:23.0027730Z         "unit": {
2026-06-04T13:05:23.0028842Z           "complete": true,
2026-06-04T13:05:23.0030484Z           "evidence": [
2026-06-04T13:05:23.0031612Z             {
2026-06-04T13:05:23.0032887Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0034548Z               "line": 397
2026-06-04T13:05:23.0035747Z             },
2026-06-04T13:05:23.0036771Z             {
2026-06-04T13:05:23.0038083Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0039980Z               "line": 404
2026-06-04T13:05:23.0041200Z             },
2026-06-04T13:05:23.0042270Z             {
2026-06-04T13:05:23.0044123Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0045897Z               "line": 414
2026-06-04T13:05:23.0047323Z             },
2026-06-04T13:05:23.0048456Z             {
2026-06-04T13:05:23.0050389Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0052018Z               "line": 420
2026-06-04T13:05:23.0053186Z             },
2026-06-04T13:05:23.0054216Z             {
2026-06-04T13:05:23.0055517Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0057231Z               "line": 440
2026-06-04T13:05:23.0058437Z             },
2026-06-04T13:05:23.0059865Z             {
2026-06-04T13:05:23.0061145Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T13:05:23.0062769Z               "line": 473
2026-06-04T13:05:23.0063933Z             }
2026-06-04T13:05:23.0064976Z           ]
2026-06-04T13:05:23.0065996Z         }
2026-06-04T13:05:23.0066985Z       }
2026-06-04T13:05:23.0067938Z     },
2026-06-04T13:05:23.0068907Z     {
2026-06-04T13:05:23.0070439Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T13:05:23.0072307Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T13:05:23.0074248Z       "requiredStages": [
2026-06-04T13:05:23.0075499Z         "impl",
2026-06-04T13:05:23.0076531Z         "unit"
2026-06-04T13:05:23.0077557Z       ],
2026-06-04T13:05:23.0078550Z       "stages": {
2026-06-04T13:05:23.0079912Z         "doc": {
2026-06-04T13:05:23.0081280Z           "complete": false,
2026-06-04T13:05:23.0082584Z           "evidence": []
2026-06-04T13:05:23.0083771Z         },
2026-06-04T13:05:23.0084762Z         "impl": {
2026-06-04T13:05:23.0085881Z           "complete": true,
2026-06-04T13:05:23.0087198Z           "evidence": [
2026-06-04T13:05:23.0088405Z             {
2026-06-04T13:05:23.0089860Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0091558Z               "line": 28
2026-06-04T13:05:23.0092730Z             },
2026-06-04T13:05:23.0093794Z             {
2026-06-04T13:05:23.0095209Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0096975Z               "line": 83
2026-06-04T13:05:23.0098152Z             }
2026-06-04T13:05:23.0099258Z           ]
2026-06-04T13:05:23.0100292Z         },
2026-06-04T13:05:23.0101314Z         "int": {
2026-06-04T13:05:23.0102461Z           "complete": false,
2026-06-04T13:05:23.0103758Z           "evidence": []
2026-06-04T13:05:23.0104930Z         },
2026-06-04T13:05:23.0105920Z         "unit": {
2026-06-04T13:05:23.0107045Z           "complete": true,
2026-06-04T13:05:23.0108366Z           "evidence": [
2026-06-04T13:05:23.0109743Z             {
2026-06-04T13:05:23.0111274Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0112981Z               "line": 248
2026-06-04T13:05:23.0114161Z             },
2026-06-04T13:05:23.0115176Z             {
2026-06-04T13:05:23.0116480Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0118191Z               "line": 259
2026-06-04T13:05:23.0119414Z             }
2026-06-04T13:05:23.0120463Z           ]
2026-06-04T13:05:23.0121442Z         }
2026-06-04T13:05:23.0122389Z       }
2026-06-04T13:05:23.0131000Z     },
2026-06-04T13:05:23.0132000Z     {
2026-06-04T13:05:23.0132962Z       "id": "REQ-SEC-1",
2026-06-04T13:05:23.0136347Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T13:05:23.0140044Z       "requiredStages": [
2026-06-04T13:05:23.0141275Z         "impl",
2026-06-04T13:05:23.0142313Z         "unit"
2026-06-04T13:05:23.0143322Z       ],
2026-06-04T13:05:23.0144333Z       "stages": {
2026-06-04T13:05:23.0145420Z         "doc": {
2026-06-04T13:05:23.0146551Z           "complete": false,
2026-06-04T13:05:23.0147850Z           "evidence": []
2026-06-04T13:05:23.0149024Z         },
2026-06-04T13:05:23.0150500Z         "impl": {
2026-06-04T13:05:23.0151641Z           "complete": true,
2026-06-04T13:05:23.0153392Z           "evidence": [
2026-06-04T13:05:23.0154602Z             {
2026-06-04T13:05:23.0155882Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:23.0157684Z               "line": 84
2026-06-04T13:05:23.0158853Z             },
2026-06-04T13:05:23.0160285Z             {
2026-06-04T13:05:23.0161548Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:23.0163162Z               "line": 114
2026-06-04T13:05:23.0164347Z             },
2026-06-04T13:05:23.0165407Z             {
2026-06-04T13:05:23.0166688Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:23.0168333Z               "line": 128
2026-06-04T13:05:23.0169582Z             },
2026-06-04T13:05:23.0170635Z             {
2026-06-04T13:05:23.0171879Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0173484Z               "line": 108
2026-06-04T13:05:23.0174647Z             },
2026-06-04T13:05:23.0175675Z             {
2026-06-04T13:05:23.0176910Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0178527Z               "line": 129
2026-06-04T13:05:23.0179734Z             },
2026-06-04T13:05:23.0180796Z             {
2026-06-04T13:05:23.0182100Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0183770Z               "line": 142
2026-06-04T13:05:23.0184991Z             },
2026-06-04T13:05:23.0186030Z             {
2026-06-04T13:05:23.0187263Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0188852Z               "line": 208
2026-06-04T13:05:23.0190425Z             },
2026-06-04T13:05:23.0191494Z             {
2026-06-04T13:05:23.0192784Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0194422Z               "line": 234
2026-06-04T13:05:23.0195615Z             },
2026-06-04T13:05:23.0196669Z             {
2026-06-04T13:05:23.0197863Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:23.0199604Z               "line": 919
2026-06-04T13:05:23.0201091Z             }
2026-06-04T13:05:23.0202146Z           ]
2026-06-04T13:05:23.0203168Z         },
2026-06-04T13:05:23.0204188Z         "int": {
2026-06-04T13:05:23.0205301Z           "complete": false,
2026-06-04T13:05:23.0206594Z           "evidence": []
2026-06-04T13:05:23.0207764Z         },
2026-06-04T13:05:23.0208811Z         "unit": {
2026-06-04T13:05:23.0210399Z           "complete": true,
2026-06-04T13:05:23.0211695Z           "evidence": [
2026-06-04T13:05:23.0212871Z             {
2026-06-04T13:05:23.0214138Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:23.0215793Z               "line": 140
2026-06-04T13:05:23.0217009Z             },
2026-06-04T13:05:23.0218050Z             {
2026-06-04T13:05:23.0219552Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:23.0221313Z               "line": 186
2026-06-04T13:05:23.0222582Z             },
2026-06-04T13:05:23.0223669Z             {
2026-06-04T13:05:23.0225078Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T13:05:23.0226802Z               "line": 218
2026-06-04T13:05:23.0228040Z             },
2026-06-04T13:05:23.0229120Z             {
2026-06-04T13:05:23.0230661Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T13:05:23.0232309Z               "line": 128
2026-06-04T13:05:23.0233521Z             },
2026-06-04T13:05:23.0234554Z             {
2026-06-04T13:05:23.0235761Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0237354Z               "line": 248
2026-06-04T13:05:23.0238572Z             },
2026-06-04T13:05:23.0239928Z             {
2026-06-04T13:05:23.0249440Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0251088Z               "line": 275
2026-06-04T13:05:23.0252311Z             },
2026-06-04T13:05:23.0253343Z             {
2026-06-04T13:05:23.0254589Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0256180Z               "line": 299
2026-06-04T13:05:23.0257898Z             },
2026-06-04T13:05:23.0259002Z             {
2026-06-04T13:05:23.0260322Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0261903Z               "line": 310
2026-06-04T13:05:23.0263343Z             },
2026-06-04T13:05:23.0264397Z             {
2026-06-04T13:05:23.0265620Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0267230Z               "line": 334
2026-06-04T13:05:23.0268403Z             },
2026-06-04T13:05:23.0269504Z             {
2026-06-04T13:05:23.0270755Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T13:05:23.0272433Z               "line": 350
2026-06-04T13:05:23.0273653Z             },
2026-06-04T13:05:23.0274722Z             {
2026-06-04T13:05:23.0275873Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:23.0277374Z               "line": 1173
2026-06-04T13:05:23.0278569Z             }
2026-06-04T13:05:23.0279849Z           ]
2026-06-04T13:05:23.0281067Z         }
2026-06-04T13:05:23.0282083Z       }
2026-06-04T13:05:23.0283071Z     },
2026-06-04T13:05:23.0284046Z     {
2026-06-04T13:05:23.0285112Z       "id": "REQ-START-1",
2026-06-04T13:05:23.0287104Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T13:05:23.0289552Z       "requiredStages": [
2026-06-04T13:05:23.0290948Z         "impl",
2026-06-04T13:05:23.0292060Z         "unit"
2026-06-04T13:05:23.0293079Z       ],
2026-06-04T13:05:23.0294064Z       "stages": {
2026-06-04T13:05:23.0295145Z         "doc": {
2026-06-04T13:05:23.0296293Z           "complete": false,
2026-06-04T13:05:23.0297591Z           "evidence": []
2026-06-04T13:05:23.0298797Z         },
2026-06-04T13:05:23.0300233Z         "impl": {
2026-06-04T13:05:23.0301394Z           "complete": true,
2026-06-04T13:05:23.0302628Z           "evidence": [
2026-06-04T13:05:23.0303758Z             {
2026-06-04T13:05:23.0304947Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T13:05:23.0306494Z               "line": 16
2026-06-04T13:05:23.0307675Z             }
2026-06-04T13:05:23.0308720Z           ]
2026-06-04T13:05:23.0309921Z         },
2026-06-04T13:05:23.0310978Z         "int": {
2026-06-04T13:05:23.0312122Z           "complete": false,
2026-06-04T13:05:23.0313484Z           "evidence": []
2026-06-04T13:05:23.0314699Z         },
2026-06-04T13:05:23.0315719Z         "unit": {
2026-06-04T13:05:23.0316889Z           "complete": true,
2026-06-04T13:05:23.0318204Z           "evidence": [
2026-06-04T13:05:23.0319477Z             {
2026-06-04T13:05:23.0320785Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T13:05:23.0322477Z               "line": 43
2026-06-04T13:05:23.0323731Z             },
2026-06-04T13:05:23.0324828Z             {
2026-06-04T13:05:23.0326114Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T13:05:23.0327763Z               "line": 59
2026-06-04T13:05:23.0328998Z             }
2026-06-04T13:05:23.0330300Z           ]
2026-06-04T13:05:23.0331338Z         }
2026-06-04T13:05:23.0332398Z       }
2026-06-04T13:05:23.0333417Z     },
2026-06-04T13:05:23.0334367Z     {
2026-06-04T13:05:23.0335370Z       "id": "REQ-START-2",
2026-06-04T13:05:23.0337012Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T13:05:23.0338875Z       "requiredStages": [
2026-06-04T13:05:23.0340213Z         "impl",
2026-06-04T13:05:23.0341260Z         "unit",
2026-06-04T13:05:23.0342311Z         "int"
2026-06-04T13:05:23.0343330Z       ],
2026-06-04T13:05:23.0344324Z       "stages": {
2026-06-04T13:05:23.0345414Z         "doc": {
2026-06-04T13:05:23.0346564Z           "complete": false,
2026-06-04T13:05:23.0347879Z           "evidence": []
2026-06-04T13:05:23.0349096Z         },
2026-06-04T13:05:23.0350200Z         "impl": {
2026-06-04T13:05:23.0359004Z           "complete": true,
2026-06-04T13:05:23.0360543Z           "evidence": [
2026-06-04T13:05:23.0361674Z             {
2026-06-04T13:05:23.0363112Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0365479Z               "line": 16
2026-06-04T13:05:23.0366908Z             },
2026-06-04T13:05:23.0367993Z             {
2026-06-04T13:05:23.0369390Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0371465Z               "line": 94
2026-06-04T13:05:23.0372681Z             },
2026-06-04T13:05:23.0373727Z             {
2026-06-04T13:05:23.0374982Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0376625Z               "line": 163
2026-06-04T13:05:23.0377846Z             }
2026-06-04T13:05:23.0378876Z           ]
2026-06-04T13:05:23.0380024Z         },
2026-06-04T13:05:23.0380978Z         "int": {
2026-06-04T13:05:23.0382031Z           "complete": true,
2026-06-04T13:05:23.0383238Z           "evidence": [
2026-06-04T13:05:23.0384321Z             {
2026-06-04T13:05:23.0385518Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:23.0387069Z               "line": 150
2026-06-04T13:05:23.0388191Z             }
2026-06-04T13:05:23.0389153Z           ]
2026-06-04T13:05:23.0390315Z         },
2026-06-04T13:05:23.0391301Z         "unit": {
2026-06-04T13:05:23.0392390Z           "complete": true,
2026-06-04T13:05:23.0393635Z           "evidence": [
2026-06-04T13:05:23.0394778Z             {
2026-06-04T13:05:23.0395989Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0397544Z               "line": 363
2026-06-04T13:05:23.0398692Z             },
2026-06-04T13:05:23.0399916Z             {
2026-06-04T13:05:23.0401077Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0402592Z               "line": 396
2026-06-04T13:05:23.0403718Z             }
2026-06-04T13:05:23.0404682Z           ]
2026-06-04T13:05:23.0405622Z         }
2026-06-04T13:05:23.0406549Z       }
2026-06-04T13:05:23.0407455Z     },
2026-06-04T13:05:23.0408368Z     {
2026-06-04T13:05:23.0409360Z       "id": "REQ-START-3",
2026-06-04T13:05:23.0411438Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T13:05:23.0413387Z       "requiredStages": [
2026-06-04T13:05:23.0414555Z         "impl",
2026-06-04T13:05:23.0415558Z         "unit",
2026-06-04T13:05:23.0416561Z         "int"
2026-06-04T13:05:23.0417535Z       ],
2026-06-04T13:05:23.0418489Z       "stages": {
2026-06-04T13:05:23.0419872Z         "doc": {
2026-06-04T13:05:23.0420938Z           "complete": false,
2026-06-04T13:05:23.0422158Z           "evidence": []
2026-06-04T13:05:23.0423270Z         },
2026-06-04T13:05:23.0424243Z         "impl": {
2026-06-04T13:05:23.0425306Z           "complete": true,
2026-06-04T13:05:23.0426500Z           "evidence": [
2026-06-04T13:05:23.0427584Z             {
2026-06-04T13:05:23.0428795Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T13:05:23.0430785Z               "line": 23
2026-06-04T13:05:23.0431897Z             },
2026-06-04T13:05:23.0432886Z             {
2026-06-04T13:05:23.0434100Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T13:05:23.0435647Z               "line": 167
2026-06-04T13:05:23.0436776Z             },
2026-06-04T13:05:23.0437760Z             {
2026-06-04T13:05:23.0438967Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T13:05:23.0440898Z               "line": 180
2026-06-04T13:05:23.0442037Z             },
2026-06-04T13:05:23.0443025Z             {
2026-06-04T13:05:23.0444192Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0445714Z               "line": 17
2026-06-04T13:05:23.0446824Z             },
2026-06-04T13:05:23.0447796Z             {
2026-06-04T13:05:23.0448962Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0450745Z               "line": 43
2026-06-04T13:05:23.0451894Z             },
2026-06-04T13:05:23.0452918Z             {
2026-06-04T13:05:23.0454140Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0455708Z               "line": 95
2026-06-04T13:05:23.0464277Z             }
2026-06-04T13:05:23.0465412Z           ]
2026-06-04T13:05:23.0466369Z         },
2026-06-04T13:05:23.0467729Z         "int": {
2026-06-04T13:05:23.0468821Z           "complete": true,
2026-06-04T13:05:23.0470430Z           "evidence": [
2026-06-04T13:05:23.0471510Z             {
2026-06-04T13:05:23.0472906Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T13:05:23.0474453Z               "line": 321
2026-06-04T13:05:23.0475564Z             }
2026-06-04T13:05:23.0476530Z           ]
2026-06-04T13:05:23.0477468Z         },
2026-06-04T13:05:23.0478409Z         "unit": {
2026-06-04T13:05:23.0479689Z           "complete": true,
2026-06-04T13:05:23.0481041Z           "evidence": [
2026-06-04T13:05:23.0482120Z             {
2026-06-04T13:05:23.0483335Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T13:05:23.0484879Z               "line": 245
2026-06-04T13:05:23.0485989Z             },
2026-06-04T13:05:23.0486966Z             {
2026-06-04T13:05:23.0487615Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T13:05:23.0488068Z               "line": 263
2026-06-04T13:05:23.0488504Z             },
2026-06-04T13:05:23.0488918Z             {
2026-06-04T13:05:23.0489831Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T13:05:23.0490489Z               "line": 273
2026-06-04T13:05:23.0490915Z             },
2026-06-04T13:05:23.0491331Z             {
2026-06-04T13:05:23.0491950Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0492404Z               "line": 364
2026-06-04T13:05:23.0492816Z             },
2026-06-04T13:05:23.0493232Z             {
2026-06-04T13:05:23.0493840Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0494296Z               "line": 397
2026-06-04T13:05:23.0494717Z             },
2026-06-04T13:05:23.0495128Z             {
2026-06-04T13:05:23.0495740Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T13:05:23.0496177Z               "line": 405
2026-06-04T13:05:23.0496593Z             }
2026-06-04T13:05:23.0497005Z           ]
2026-06-04T13:05:23.0497426Z         }
2026-06-04T13:05:23.0497858Z       }
2026-06-04T13:05:23.0498264Z     },
2026-06-04T13:05:23.0498679Z     {
2026-06-04T13:05:23.0499134Z       "id": "REQ-START-4",
2026-06-04T13:05:23.0500307Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T13:05:23.0500782Z       "requiredStages": [
2026-06-04T13:05:23.0501213Z         "impl",
2026-06-04T13:05:23.0501639Z         "unit"
2026-06-04T13:05:23.0502048Z       ],
2026-06-04T13:05:23.0502483Z       "stages": {
2026-06-04T13:05:23.0502899Z         "doc": {
2026-06-04T13:05:23.0503378Z           "complete": false,
2026-06-04T13:05:23.0503832Z           "evidence": []
2026-06-04T13:05:23.0504256Z         },
2026-06-04T13:05:23.0504677Z         "impl": {
2026-06-04T13:05:23.0505150Z           "complete": true,
2026-06-04T13:05:23.0505606Z           "evidence": [
2026-06-04T13:05:23.0506020Z             {
2026-06-04T13:05:23.0506670Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:23.0507115Z               "line": 249
2026-06-04T13:05:23.0507549Z             }
2026-06-04T13:05:23.0507970Z           ]
2026-06-04T13:05:23.0508386Z         },
2026-06-04T13:05:23.0508813Z         "int": {
2026-06-04T13:05:23.0509341Z           "complete": false,
2026-06-04T13:05:23.0510196Z           "evidence": []
2026-06-04T13:05:23.0510611Z         },
2026-06-04T13:05:23.0511046Z         "unit": {
2026-06-04T13:05:23.0511508Z           "complete": true,
2026-06-04T13:05:23.0511962Z           "evidence": [
2026-06-04T13:05:23.0512382Z             {
2026-06-04T13:05:23.0513026Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T13:05:23.0513492Z               "line": 442
2026-06-04T13:05:23.0513907Z             }
2026-06-04T13:05:23.0514325Z           ]
2026-06-04T13:05:23.0514738Z         }
2026-06-04T13:05:23.0515162Z       }
2026-06-04T13:05:23.0515578Z     },
2026-06-04T13:05:23.0515981Z     {
2026-06-04T13:05:23.0516450Z       "id": "REQ-STORE-1",
2026-06-04T13:05:23.0523001Z       "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-04T13:05:23.0523694Z       "requiredStages": [
2026-06-04T13:05:23.0524127Z         "impl",
2026-06-04T13:05:23.0524552Z         "unit"
2026-06-04T13:05:23.0524974Z       ],
2026-06-04T13:05:23.0525410Z       "stages": {
2026-06-04T13:05:23.0525837Z         "doc": {
2026-06-04T13:05:23.0526324Z           "complete": false,
2026-06-04T13:05:23.0526776Z           "evidence": []
2026-06-04T13:05:23.0527194Z         },
2026-06-04T13:05:23.0527626Z         "impl": {
2026-06-04T13:05:23.0528100Z           "complete": true,
2026-06-04T13:05:23.0528543Z           "evidence": [
2026-06-04T13:05:23.0528967Z             {
2026-06-04T13:05:23.0529893Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0530528Z               "line": 23
2026-06-04T13:05:23.0530963Z             },
2026-06-04T13:05:23.0531388Z             {
2026-06-04T13:05:23.0532083Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0532537Z               "line": 46
2026-06-04T13:05:23.0532962Z             },
2026-06-04T13:05:23.0533379Z             {
2026-06-04T13:05:23.0534060Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0534504Z               "line": 88
2026-06-04T13:05:23.0534919Z             },
2026-06-04T13:05:23.0535339Z             {
2026-06-04T13:05:23.0536015Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0536472Z               "line": 109
2026-06-04T13:05:23.0536895Z             },
2026-06-04T13:05:23.0537307Z             {
2026-06-04T13:05:23.0537992Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0538437Z               "line": 152
2026-06-04T13:05:23.0538865Z             },
2026-06-04T13:05:23.0539461Z             {
2026-06-04T13:05:23.0540190Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0540691Z               "line": 165
2026-06-04T13:05:23.0541282Z             },
2026-06-04T13:05:23.0541704Z             {
2026-06-04T13:05:23.0542389Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0542938Z               "line": 353
2026-06-04T13:05:23.0543353Z             },
2026-06-04T13:05:23.0543775Z             {
2026-06-04T13:05:23.0544485Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0544931Z               "line": 25
2026-06-04T13:05:23.0545353Z             },
2026-06-04T13:05:23.0545769Z             {
2026-06-04T13:05:23.0546475Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0546931Z               "line": 92
2026-06-04T13:05:23.0547348Z             },
2026-06-04T13:05:23.0547770Z             {
2026-06-04T13:05:23.0548471Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0548922Z               "line": 117
2026-06-04T13:05:23.0549685Z             },
2026-06-04T13:05:23.0550111Z             {
2026-06-04T13:05:23.0550811Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0551276Z               "line": 131
2026-06-04T13:05:23.0551700Z             },
2026-06-04T13:05:23.0552112Z             {
2026-06-04T13:05:23.0552874Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0553320Z               "line": 145
2026-06-04T13:05:23.0553743Z             },
2026-06-04T13:05:23.0554168Z             {
2026-06-04T13:05:23.0554861Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0562262Z               "line": 154
2026-06-04T13:05:23.0562765Z             },
2026-06-04T13:05:23.0563295Z             {
2026-06-04T13:05:23.0563963Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T13:05:23.0564413Z               "line": 16
2026-06-04T13:05:23.0565109Z             },
2026-06-04T13:05:23.0565537Z             {
2026-06-04T13:05:23.0566199Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T13:05:23.0566643Z               "line": 63
2026-06-04T13:05:23.0567380Z             }
2026-06-04T13:05:23.0567835Z           ]
2026-06-04T13:05:23.0568309Z         },
2026-06-04T13:05:23.0568782Z         "int": {
2026-06-04T13:05:23.0569382Z           "complete": false,
2026-06-04T13:05:23.0569915Z           "evidence": []
2026-06-04T13:05:23.0570687Z         },
2026-06-04T13:05:23.0571177Z         "unit": {
2026-06-04T13:05:23.0571849Z           "complete": true,
2026-06-04T13:05:23.0572303Z           "evidence": [
2026-06-04T13:05:23.0572724Z             {
2026-06-04T13:05:23.0573441Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0573902Z               "line": 391
2026-06-04T13:05:23.0574319Z             },
2026-06-04T13:05:23.0574824Z             {
2026-06-04T13:05:23.0575529Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0575992Z               "line": 401
2026-06-04T13:05:23.0576419Z             },
2026-06-04T13:05:23.0576827Z             {
2026-06-04T13:05:23.0577533Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0577976Z               "line": 421
2026-06-04T13:05:23.0578397Z             },
2026-06-04T13:05:23.0578807Z             {
2026-06-04T13:05:23.0579752Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0580388Z               "line": 437
2026-06-04T13:05:23.0581108Z             },
2026-06-04T13:05:23.0581549Z             {
2026-06-04T13:05:23.0582230Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T13:05:23.0582690Z               "line": 458
2026-06-04T13:05:23.0583106Z             },
2026-06-04T13:05:23.0583532Z             {
2026-06-04T13:05:23.0584237Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0584685Z               "line": 312
2026-06-04T13:05:23.0585116Z             },
2026-06-04T13:05:23.0585535Z             {
2026-06-04T13:05:23.0586240Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T13:05:23.0586702Z               "line": 342
2026-06-04T13:05:23.0587134Z             },
2026-06-04T13:05:23.0587557Z             {
2026-06-04T13:05:23.0588195Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T13:05:23.0588650Z               "line": 116
2026-06-04T13:05:23.0589067Z             },
2026-06-04T13:05:23.0589531Z             {
2026-06-04T13:05:23.0590183Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T13:05:23.0590626Z               "line": 124
2026-06-04T13:05:23.0591051Z             }
2026-06-04T13:05:23.0591461Z           ]
2026-06-04T13:05:23.0591874Z         }
2026-06-04T13:05:23.0592283Z       }
2026-06-04T13:05:23.0592699Z     },
2026-06-04T13:05:23.0593115Z     {
2026-06-04T13:05:23.0593575Z       "id": "REQ-TERM-1",
2026-06-04T13:05:23.0594579Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T13:05:23.0595048Z       "requiredStages": [
2026-06-04T13:05:23.0595474Z         "impl",
2026-06-04T13:05:23.0595892Z         "unit"
2026-06-04T13:05:23.0596319Z       ],
2026-06-04T13:05:23.0596756Z       "stages": {
2026-06-04T13:05:23.0597174Z         "doc": {
2026-06-04T13:05:23.0597648Z           "complete": false,
2026-06-04T13:05:23.0598099Z           "evidence": []
2026-06-04T13:05:23.0598514Z         },
2026-06-04T13:05:23.0598944Z         "impl": {
2026-06-04T13:05:23.0599458Z           "complete": true,
2026-06-04T13:05:23.0599923Z           "evidence": [
2026-06-04T13:05:23.0600347Z             {
2026-06-04T13:05:23.0600964Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T13:05:23.0601412Z               "line": 61
2026-06-04T13:05:23.0601839Z             },
2026-06-04T13:05:23.0602249Z             {
2026-06-04T13:05:23.0602842Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T13:05:23.0603299Z               "line": 169
2026-06-04T13:05:23.0603930Z             },
2026-06-04T13:05:23.0604377Z             {
2026-06-04T13:05:23.0605000Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T13:05:23.0605583Z               "line": 95
2026-06-04T13:05:23.0606007Z             }
2026-06-04T13:05:23.0606435Z           ]
2026-06-04T13:05:23.0606853Z         },
2026-06-04T13:05:23.0607271Z         "int": {
2026-06-04T13:05:23.0607751Z           "complete": false,
2026-06-04T13:05:23.0608202Z           "evidence": []
2026-06-04T13:05:23.0608624Z         },
2026-06-04T13:05:23.0609043Z         "unit": {
2026-06-04T13:05:23.0609595Z           "complete": true,
2026-06-04T13:05:23.0610065Z           "evidence": [
2026-06-04T13:05:23.0610487Z             {
2026-06-04T13:05:23.0611144Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T13:05:23.0611584Z               "line": 28
2026-06-04T13:05:23.0612006Z             },
2026-06-04T13:05:23.0612414Z             {
2026-06-04T13:05:23.0613089Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T13:05:23.0613540Z               "line": 60
2026-06-04T13:05:23.0613957Z             }
2026-06-04T13:05:23.0614375Z           ]
2026-06-04T13:05:23.0614791Z         }
2026-06-04T13:05:23.0615208Z       }
2026-06-04T13:05:23.0615611Z     },
2026-06-04T13:05:23.0616024Z     {
2026-06-04T13:05:23.0616487Z       "id": "REQ-TERM-2",
2026-06-04T13:05:23.0617546Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T13:05:23.0618033Z       "requiredStages": [
2026-06-04T13:05:23.0618451Z         "impl",
2026-06-04T13:05:23.0618872Z         "unit"
2026-06-04T13:05:23.0619317Z       ],
2026-06-04T13:05:23.0619757Z       "stages": {
2026-06-04T13:05:23.0620188Z         "doc": {
2026-06-04T13:05:23.0620662Z           "complete": false,
2026-06-04T13:05:23.0621123Z           "evidence": []
2026-06-04T13:05:23.0621539Z         },
2026-06-04T13:05:23.0621971Z         "impl": {
2026-06-04T13:05:23.0622430Z           "complete": true,
2026-06-04T13:05:23.0622896Z           "evidence": [
2026-06-04T13:05:23.0623318Z             {
2026-06-04T13:05:23.0623939Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T13:05:23.0624401Z               "line": 112
2026-06-04T13:05:23.0624817Z             },
2026-06-04T13:05:23.0625235Z             {
2026-06-04T13:05:23.0625860Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T13:05:23.0626317Z               "line": 122
2026-06-04T13:05:23.0626741Z             }
2026-06-04T13:05:23.0627155Z           ]
2026-06-04T13:05:23.0627576Z         },
2026-06-04T13:05:23.0627995Z         "int": {
2026-06-04T13:05:23.0628473Z           "complete": false,
2026-06-04T13:05:23.0628924Z           "evidence": []
2026-06-04T13:05:23.0629381Z         },
2026-06-04T13:05:23.0629823Z         "unit": {
2026-06-04T13:05:23.0630290Z           "complete": true,
2026-06-04T13:05:23.0630750Z           "evidence": [
2026-06-04T13:05:23.0631161Z             {
2026-06-04T13:05:23.0631815Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T13:05:23.0632259Z               "line": 46
2026-06-04T13:05:23.0632684Z             },
2026-06-04T13:05:23.0633107Z             {
2026-06-04T13:05:23.0633758Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T13:05:23.0634211Z               "line": 71
2026-06-04T13:05:23.0634625Z             }
2026-06-04T13:05:23.0635047Z           ]
2026-06-04T13:05:23.0635461Z         }
2026-06-04T13:05:23.0635880Z       }
2026-06-04T13:05:23.0636295Z     },
2026-06-04T13:05:23.0636704Z     {
2026-06-04T13:05:23.0637179Z       "id": "REQ-TERM-3",
2026-06-04T13:05:23.0637956Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T13:05:23.0638446Z       "requiredStages": [
2026-06-04T13:05:23.0638880Z         "impl",
2026-06-04T13:05:23.0639350Z         "unit"
2026-06-04T13:05:23.0639776Z       ],
2026-06-04T13:05:23.0640205Z       "stages": {
2026-06-04T13:05:23.0640634Z         "doc": {
2026-06-04T13:05:23.0641275Z           "complete": false,
2026-06-04T13:05:23.0641750Z           "evidence": []
2026-06-04T13:05:23.0648112Z         },
2026-06-04T13:05:23.0648661Z         "impl": {
2026-06-04T13:05:23.0649136Z           "complete": true,
2026-06-04T13:05:23.0649951Z           "evidence": [
2026-06-04T13:05:23.0650385Z             {
2026-06-04T13:05:23.0651009Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T13:05:23.0651458Z               "line": 71
2026-06-04T13:05:23.0651874Z             }
2026-06-04T13:05:23.0652293Z           ]
2026-06-04T13:05:23.0652713Z         },
2026-06-04T13:05:23.0653144Z         "int": {
2026-06-04T13:05:23.0653617Z           "complete": false,
2026-06-04T13:05:23.0654070Z           "evidence": []
2026-06-04T13:05:23.0654490Z         },
2026-06-04T13:05:23.0654915Z         "unit": {
2026-06-04T13:05:23.0655386Z           "complete": true,
2026-06-04T13:05:23.0655828Z           "evidence": [
2026-06-04T13:05:23.0656257Z             {
2026-06-04T13:05:23.0656915Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T13:05:23.0657358Z               "line": 37
2026-06-04T13:05:23.0657782Z             },
2026-06-04T13:05:23.0658203Z             {
2026-06-04T13:05:23.0659023Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T13:05:23.0659587Z               "line": 67
2026-06-04T13:05:23.0660068Z             }
2026-06-04T13:05:23.0660843Z           ]
2026-06-04T13:05:23.0661317Z         }
2026-06-04T13:05:23.0661800Z       }
2026-06-04T13:05:23.0662383Z     },
2026-06-04T13:05:23.0662803Z     {
2026-06-04T13:05:23.0663275Z       "id": "REQ-TERM-4",
2026-06-04T13:05:23.0665621Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T13:05:23.0666109Z       "requiredStages": [
2026-06-04T13:05:23.0666534Z         "impl",
2026-06-04T13:05:23.0666959Z         "unit",
2026-06-04T13:05:23.0667377Z         "int"
2026-06-04T13:05:23.0667797Z       ],
2026-06-04T13:05:23.0668264Z       "stages": {
2026-06-04T13:05:23.0668703Z         "doc": {
2026-06-04T13:05:23.0669222Z           "complete": true,
2026-06-04T13:05:23.0669835Z           "evidence": [
2026-06-04T13:05:23.0670293Z             {
2026-06-04T13:05:23.0670830Z               "path": "docs/MANIFEST.md",
2026-06-04T13:05:23.0671300Z               "line": 115
2026-06-04T13:05:23.0671742Z             }
2026-06-04T13:05:23.0672179Z           ]
2026-06-04T13:05:23.0672617Z         },
2026-06-04T13:05:23.0673061Z         "impl": {
2026-06-04T13:05:23.0673540Z           "complete": true,
2026-06-04T13:05:23.0674002Z           "evidence": [
2026-06-04T13:05:23.0674448Z             {
2026-06-04T13:05:23.0675107Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T13:05:23.0675576Z               "line": 463
2026-06-04T13:05:23.0676013Z             },
2026-06-04T13:05:23.0676441Z             {
2026-06-04T13:05:23.0677117Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0677595Z               "line": 41
2026-06-04T13:05:23.0678043Z             },
2026-06-04T13:05:23.0678482Z             {
2026-06-04T13:05:23.0679151Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0679981Z               "line": 91
2026-06-04T13:05:23.0680479Z             },
2026-06-04T13:05:23.0681001Z             {
2026-06-04T13:05:23.0681752Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0682285Z               "line": 152
2026-06-04T13:05:23.0682775Z             },
2026-06-04T13:05:23.0683232Z             {
2026-06-04T13:05:23.0683946Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0684426Z               "line": 212
2026-06-04T13:05:23.0684875Z             },
2026-06-04T13:05:23.0685324Z             {
2026-06-04T13:05:23.0686039Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0686516Z               "line": 20
2026-06-04T13:05:23.0686948Z             },
2026-06-04T13:05:23.0687392Z             {
2026-06-04T13:05:23.0688437Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0688965Z               "line": 212
2026-06-04T13:05:23.0689488Z             },
2026-06-04T13:05:23.0690110Z             {
2026-06-04T13:05:23.0691267Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0691716Z               "line": 226
2026-06-04T13:05:23.0692148Z             },
2026-06-04T13:05:23.0692561Z             {
2026-06-04T13:05:23.0693236Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:23.0693832Z               "line": 585
2026-06-04T13:05:23.0694285Z             },
2026-06-04T13:05:23.0694717Z             {
2026-06-04T13:05:23.0695349Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0695819Z               "line": 157
2026-06-04T13:05:23.0696246Z             },
2026-06-04T13:05:23.0696688Z             {
2026-06-04T13:05:23.0697329Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0697821Z               "line": 199
2026-06-04T13:05:23.0698270Z             },
2026-06-04T13:05:23.0698701Z             {
2026-06-04T13:05:23.0699538Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0700003Z               "line": 226
2026-06-04T13:05:23.0700429Z             },
2026-06-04T13:05:23.0700854Z             {
2026-06-04T13:05:23.0701400Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:23.0701859Z               "line": 272
2026-06-04T13:05:23.0702269Z             }
2026-06-04T13:05:23.0702702Z           ]
2026-06-04T13:05:23.0703110Z         },
2026-06-04T13:05:23.0703541Z         "int": {
2026-06-04T13:05:23.0704001Z           "complete": true,
2026-06-04T13:05:23.0704464Z           "evidence": [
2026-06-04T13:05:23.0704887Z             {
2026-06-04T13:05:23.0705550Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T13:05:23.0706006Z               "line": 18
2026-06-04T13:05:23.0706419Z             }
2026-06-04T13:05:23.0706845Z           ]
2026-06-04T13:05:23.0707263Z         },
2026-06-04T13:05:23.0707703Z         "unit": {
2026-06-04T13:05:23.0708176Z           "complete": true,
2026-06-04T13:05:23.0708625Z           "evidence": [
2026-06-04T13:05:23.0709062Z             {
2026-06-04T13:05:23.0710044Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0710506Z               "line": 250
2026-06-04T13:05:23.0710932Z             },
2026-06-04T13:05:23.0711356Z             {
2026-06-04T13:05:23.0712008Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0712464Z               "line": 263
2026-06-04T13:05:23.0712888Z             },
2026-06-04T13:05:23.0713305Z             {
2026-06-04T13:05:23.0713952Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0714409Z               "line": 275
2026-06-04T13:05:23.0714830Z             },
2026-06-04T13:05:23.0715248Z             {
2026-06-04T13:05:23.0715887Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0716358Z               "line": 290
2026-06-04T13:05:23.0716781Z             },
2026-06-04T13:05:23.0717208Z             {
2026-06-04T13:05:23.0717862Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0718320Z               "line": 305
2026-06-04T13:05:23.0718753Z             },
2026-06-04T13:05:23.0719204Z             {
2026-06-04T13:05:23.0719860Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0720312Z               "line": 327
2026-06-04T13:05:23.0720746Z             },
2026-06-04T13:05:23.0721171Z             {
2026-06-04T13:05:23.0721814Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0722271Z               "line": 337
2026-06-04T13:05:23.0722685Z             },
2026-06-04T13:05:23.0723118Z             {
2026-06-04T13:05:23.0723752Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T13:05:23.0724211Z               "line": 364
2026-06-04T13:05:23.0724639Z             },
2026-06-04T13:05:23.0725072Z             {
2026-06-04T13:05:23.0725935Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0726427Z               "line": 338
2026-06-04T13:05:23.0726857Z             },
2026-06-04T13:05:23.0727399Z             {
2026-06-04T13:05:23.0728079Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0728541Z               "line": 350
2026-06-04T13:05:23.0728964Z             },
2026-06-04T13:05:23.0729438Z             {
2026-06-04T13:05:23.0730104Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0730565Z               "line": 367
2026-06-04T13:05:23.0730988Z             },
2026-06-04T13:05:23.0731418Z             {
2026-06-04T13:05:23.0732089Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T13:05:23.0738925Z               "line": 378
2026-06-04T13:05:23.0739567Z             },
2026-06-04T13:05:23.0739988Z             {
2026-06-04T13:05:23.0740687Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:23.0741182Z               "line": 770
2026-06-04T13:05:23.0741608Z             },
2026-06-04T13:05:23.0742024Z             {
2026-06-04T13:05:23.0742685Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:23.0743154Z               "line": 777
2026-06-04T13:05:23.0743565Z             },
2026-06-04T13:05:23.0743990Z             {
2026-06-04T13:05:23.0744661Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:23.0745109Z               "line": 792
2026-06-04T13:05:23.0745536Z             },
2026-06-04T13:05:23.0745946Z             {
2026-06-04T13:05:23.0746562Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0747005Z               "line": 381
2026-06-04T13:05:23.0747429Z             },
2026-06-04T13:05:23.0747853Z             {
2026-06-04T13:05:23.0748460Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0748949Z               "line": 402
2026-06-04T13:05:23.0749413Z             },
2026-06-04T13:05:23.0749855Z             {
2026-06-04T13:05:23.0750457Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0750909Z               "line": 415
2026-06-04T13:05:23.0751334Z             },
2026-06-04T13:05:23.0751755Z             {
2026-06-04T13:05:23.0752380Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0752829Z               "line": 434
2026-06-04T13:05:23.0753248Z             },
2026-06-04T13:05:23.0753658Z             {
2026-06-04T13:05:23.0754275Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T13:05:23.0754724Z               "line": 461
2026-06-04T13:05:23.0755136Z             },
2026-06-04T13:05:23.0755556Z             {
2026-06-04T13:05:23.0756186Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T13:05:23.0756641Z               "line": 32
2026-06-04T13:05:23.0757059Z             },
2026-06-04T13:05:23.0757486Z             {
2026-06-04T13:05:23.0758039Z               "path": "crates/spt/src/cli.rs",
2026-06-04T13:05:23.0758497Z               "line": 1200
2026-06-04T13:05:23.0758918Z             }
2026-06-04T13:05:23.0759366Z           ]
2026-06-04T13:05:23.0759787Z         }
2026-06-04T13:05:23.0760195Z       }
2026-06-04T13:05:23.0760623Z     },
2026-06-04T13:05:23.0761037Z     {
2026-06-04T13:05:23.0761485Z       "id": "REQ-UPD-1",
2026-06-04T13:05:23.0762115Z       "title": "Peer-propagated update over P2P",
2026-06-04T13:05:23.0762588Z       "requiredStages": [
2026-06-04T13:05:23.0763019Z         "impl",
2026-06-04T13:05:23.0763433Z         "unit"
2026-06-04T13:05:23.0763851Z       ],
2026-06-04T13:05:23.0764284Z       "stages": {
2026-06-04T13:05:23.0764700Z         "doc": {
2026-06-04T13:05:23.0765175Z           "complete": false,
2026-06-04T13:05:23.0765621Z           "evidence": []
2026-06-04T13:05:23.0766040Z         },
2026-06-04T13:05:23.0766468Z         "impl": {
2026-06-04T13:05:23.0766941Z           "complete": true,
2026-06-04T13:05:23.0767397Z           "evidence": [
2026-06-04T13:05:23.0767807Z             {
2026-06-04T13:05:23.0768741Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:23.0769240Z               "line": 28
2026-06-04T13:05:23.0769670Z             },
2026-06-04T13:05:23.0770211Z             {
2026-06-04T13:05:23.0770897Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:23.0771345Z               "line": 74
2026-06-04T13:05:23.0771757Z             },
2026-06-04T13:05:23.0772178Z             {
2026-06-04T13:05:23.0772851Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:23.0773305Z               "line": 209
2026-06-04T13:05:23.0773717Z             },
2026-06-04T13:05:23.0774136Z             {
2026-06-04T13:05:23.0774797Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T13:05:23.0775236Z               "line": 22
2026-06-04T13:05:23.0775662Z             },
2026-06-04T13:05:23.0776076Z             {
2026-06-04T13:05:23.0776742Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T13:05:23.0777191Z               "line": 67
2026-06-04T13:05:23.0777618Z             },
2026-06-04T13:05:23.0778037Z             {
2026-06-04T13:05:23.0778694Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T13:05:23.0779151Z               "line": 80
2026-06-04T13:05:23.0779603Z             },
2026-06-04T13:05:23.0780038Z             {
2026-06-04T13:05:23.0780687Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T13:05:23.0781148Z               "line": 101
2026-06-04T13:05:23.0781566Z             },
2026-06-04T13:05:23.0781981Z             {
2026-06-04T13:05:23.0782628Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T13:05:23.0783067Z               "line": 37
2026-06-04T13:05:23.0783490Z             }
2026-06-04T13:05:23.0783914Z           ]
2026-06-04T13:05:23.0784331Z         },
2026-06-04T13:05:23.0784759Z         "int": {
2026-06-04T13:05:23.0785220Z           "complete": true,
2026-06-04T13:05:23.0785670Z           "evidence": [
2026-06-04T13:05:23.0786092Z             {
2026-06-04T13:05:23.0786786Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T13:05:23.0787244Z               "line": 190
2026-06-04T13:05:23.0787668Z             }
2026-06-04T13:05:23.0788087Z           ]
2026-06-04T13:05:23.0788495Z         },
2026-06-04T13:05:23.0788929Z         "unit": {
2026-06-04T13:05:23.0789430Z           "complete": true,
2026-06-04T13:05:23.0789890Z           "evidence": [
2026-06-04T13:05:23.0790309Z             {
2026-06-04T13:05:23.0790971Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T13:05:23.0791422Z               "line": 120
2026-06-04T13:05:23.0791832Z             },
2026-06-04T13:05:23.0792251Z             {
2026-06-04T13:05:23.0792899Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T13:05:23.0793351Z               "line": 137
2026-06-04T13:05:23.0793769Z             },
2026-06-04T13:05:23.0794178Z             {
2026-06-04T13:05:23.0794897Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T13:05:23.0795350Z               "line": 201
2026-06-04T13:05:23.0795769Z             },
2026-06-04T13:05:23.0796182Z             {
2026-06-04T13:05:23.0796826Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T13:05:23.0797287Z               "line": 92
2026-06-04T13:05:23.0797701Z             },
2026-06-04T13:05:23.0798117Z             {
2026-06-04T13:05:23.0798750Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T13:05:23.0799240Z               "line": 128
2026-06-04T13:05:23.0799652Z             }
2026-06-04T13:05:23.0800077Z           ]
2026-06-04T13:05:23.0800497Z         }
2026-06-04T13:05:23.0800907Z       }
2026-06-04T13:05:23.0801323Z     },
2026-06-04T13:05:23.0801728Z     {
2026-06-04T13:05:23.0802191Z       "id": "REQ-UPD-2",
2026-06-04T13:05:23.0802997Z       "title": "All binaries signature-verified before handoff",
2026-06-04T13:05:23.0803481Z       "requiredStages": [
2026-06-04T13:05:23.0803915Z         "impl",
2026-06-04T13:05:23.0804489Z         "unit"
2026-06-04T13:05:23.0804926Z       ],
2026-06-04T13:05:23.0805357Z       "stages": {
2026-06-04T13:05:23.0805788Z         "doc": {
2026-06-04T13:05:23.0806253Z           "complete": false,
2026-06-04T13:05:23.0806841Z           "evidence": []
2026-06-04T13:05:23.0807265Z         },
2026-06-04T13:05:23.0807689Z         "impl": {
2026-06-04T13:05:23.0808161Z           "complete": true,
2026-06-04T13:05:23.0808604Z           "evidence": [
2026-06-04T13:05:23.0809020Z             {
2026-06-04T13:05:23.0809733Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:23.0810189Z               "line": 210
2026-06-04T13:05:23.0810610Z             },
2026-06-04T13:05:23.0811021Z             {
2026-06-04T13:05:23.0811704Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T13:05:23.0812152Z               "line": 294
2026-06-04T13:05:23.0812575Z             },
2026-06-04T13:05:23.0812976Z             {
2026-06-04T13:05:23.0813638Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0814090Z               "line": 29
2026-06-04T13:05:23.0814509Z             },
2026-06-04T13:05:23.0814933Z             {
2026-06-04T13:05:23.0815594Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0816057Z               "line": 126
2026-06-04T13:05:23.0816473Z             },
2026-06-04T13:05:23.0822143Z             {
2026-06-04T13:05:23.0822881Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0823334Z               "line": 138
2026-06-04T13:05:23.0823757Z             },
2026-06-04T13:05:23.0824167Z             {
2026-06-04T13:05:23.0824816Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0825263Z               "line": 220
2026-06-04T13:05:23.0825692Z             },
2026-06-04T13:05:23.0826114Z             {
2026-06-04T13:05:23.0826756Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0827210Z               "line": 301
2026-06-04T13:05:23.0827648Z             },
2026-06-04T13:05:23.0828072Z             {
2026-06-04T13:05:23.0828702Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0829208Z               "line": 149
2026-06-04T13:05:23.0829651Z             }
2026-06-04T13:05:23.0830062Z           ]
2026-06-04T13:05:23.0830484Z         },
2026-06-04T13:05:23.0830898Z         "int": {
2026-06-04T13:05:23.0831375Z           "complete": false,
2026-06-04T13:05:23.0831821Z           "evidence": []
2026-06-04T13:05:23.0832246Z         },
2026-06-04T13:05:23.0832681Z         "unit": {
2026-06-04T13:05:23.0833147Z           "complete": true,
2026-06-04T13:05:23.0833596Z           "evidence": [
2026-06-04T13:05:23.0834003Z             {
2026-06-04T13:05:23.0834658Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0835101Z               "line": 386
2026-06-04T13:05:23.0835518Z             },
2026-06-04T13:05:23.0835935Z             {
2026-06-04T13:05:23.0836589Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0837036Z               "line": 431
2026-06-04T13:05:23.0837443Z             },
2026-06-04T13:05:23.0837857Z             {
2026-06-04T13:05:23.0838507Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0838961Z               "line": 445
2026-06-04T13:05:23.0839427Z             },
2026-06-04T13:05:23.0839845Z             {
2026-06-04T13:05:23.0840497Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0840940Z               "line": 456
2026-06-04T13:05:23.0841366Z             },
2026-06-04T13:05:23.0841778Z             {
2026-06-04T13:05:23.0842410Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0842862Z               "line": 532
2026-06-04T13:05:23.0843273Z             },
2026-06-04T13:05:23.0843692Z             {
2026-06-04T13:05:23.0844326Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0844780Z               "line": 326
2026-06-04T13:05:23.0845465Z             },
2026-06-04T13:05:23.0845892Z             {
2026-06-04T13:05:23.0846547Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0846993Z               "line": 339
2026-06-04T13:05:23.0847549Z             },
2026-06-04T13:05:23.0847964Z             {
2026-06-04T13:05:23.0848674Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T13:05:23.0849126Z               "line": 242
2026-06-04T13:05:23.0849583Z             }
2026-06-04T13:05:23.0850006Z           ]
2026-06-04T13:05:23.0850412Z         }
2026-06-04T13:05:23.0850833Z       }
2026-06-04T13:05:23.0851238Z     },
2026-06-04T13:05:23.0851651Z     {
2026-06-04T13:05:23.0852113Z       "id": "REQ-UPD-3",
2026-06-04T13:05:23.0853124Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T13:05:23.0853604Z       "requiredStages": [
2026-06-04T13:05:23.0854022Z         "impl",
2026-06-04T13:05:23.0854445Z         "unit",
2026-06-04T13:05:23.0854852Z         "int"
2026-06-04T13:05:23.0855270Z       ],
2026-06-04T13:05:23.0855707Z       "stages": {
2026-06-04T13:05:23.0856128Z         "doc": {
2026-06-04T13:05:23.0856599Z           "complete": false,
2026-06-04T13:05:23.0857064Z           "evidence": []
2026-06-04T13:05:23.0857481Z         },
2026-06-04T13:05:23.0857904Z         "impl": {
2026-06-04T13:05:23.0858378Z           "complete": true,
2026-06-04T13:05:23.0858823Z           "evidence": [
2026-06-04T13:05:23.0859270Z             {
2026-06-04T13:05:23.0859921Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0860361Z               "line": 26
2026-06-04T13:05:23.0860782Z             },
2026-06-04T13:05:23.0861193Z             {
2026-06-04T13:05:23.0861836Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0862290Z               "line": 111
2026-06-04T13:05:23.0862701Z             },
2026-06-04T13:05:23.0863130Z             {
2026-06-04T13:05:23.0863771Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0864240Z               "line": 213
2026-06-04T13:05:23.0864656Z             }
2026-06-04T13:05:23.0865078Z           ]
2026-06-04T13:05:23.0865496Z         },
2026-06-04T13:05:23.0865929Z         "int": {
2026-06-04T13:05:23.0866402Z           "complete": true,
2026-06-04T13:05:23.0866844Z           "evidence": [
2026-06-04T13:05:23.0867261Z             {
2026-06-04T13:05:23.0867965Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T13:05:23.0868410Z               "line": 23
2026-06-04T13:05:23.0868826Z             }
2026-06-04T13:05:23.0869271Z           ]
2026-06-04T13:05:23.0869690Z         },
2026-06-04T13:05:23.0870115Z         "unit": {
2026-06-04T13:05:23.0870585Z           "complete": true,
2026-06-04T13:05:23.0871029Z           "evidence": [
2026-06-04T13:05:23.0871453Z             {
2026-06-04T13:05:23.0872097Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0872539Z               "line": 238
2026-06-04T13:05:23.0872962Z             },
2026-06-04T13:05:23.0873387Z             {
2026-06-04T13:05:23.0874032Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0874472Z               "line": 262
2026-06-04T13:05:23.0874901Z             },
2026-06-04T13:05:23.0875319Z             {
2026-06-04T13:05:23.0875957Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0876408Z               "line": 273
2026-06-04T13:05:23.0876815Z             },
2026-06-04T13:05:23.0877236Z             {
2026-06-04T13:05:23.0877879Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T13:05:23.0878338Z               "line": 286
2026-06-04T13:05:23.0878758Z             }
2026-06-04T13:05:23.0879200Z           ]
2026-06-04T13:05:23.0879622Z         }
2026-06-04T13:05:23.0880032Z       }
2026-06-04T13:05:23.0880445Z     },
2026-06-04T13:05:23.0880844Z     {
2026-06-04T13:05:23.0881307Z       "id": "REQ-UPD-4",
2026-06-04T13:05:23.0882509Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T13:05:23.0882999Z       "requiredStages": [
2026-06-04T13:05:23.0883433Z         "impl",
2026-06-04T13:05:23.0883851Z         "unit"
2026-06-04T13:05:23.0884273Z       ],
2026-06-04T13:05:23.0884849Z       "stages": {
2026-06-04T13:05:23.0885282Z         "doc": {
2026-06-04T13:05:23.0885761Z           "complete": false,
2026-06-04T13:05:23.0886212Z           "evidence": []
2026-06-04T13:05:23.0886665Z         },
2026-06-04T13:05:23.0887165Z         "impl": {
2026-06-04T13:05:23.0887646Z           "complete": true,
2026-06-04T13:05:23.0888093Z           "evidence": [
2026-06-04T13:05:23.0888522Z             {
2026-06-04T13:05:23.0889239Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T13:05:23.0889704Z               "line": 23
2026-06-04T13:05:23.0890131Z             },
2026-06-04T13:05:23.0890543Z             {
2026-06-04T13:05:23.0891200Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T13:05:23.0891641Z               "line": 56
2026-06-04T13:05:23.0892080Z             },
2026-06-04T13:05:23.0892499Z             {
2026-06-04T13:05:23.0893137Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T13:05:23.0893582Z               "line": 77
2026-06-04T13:05:23.0894006Z             },
2026-06-04T13:05:23.0894424Z             {
2026-06-04T13:05:23.0895081Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T13:05:23.0895534Z               "line": 179
2026-06-04T13:05:23.0895952Z             },
2026-06-04T13:05:23.0896355Z             {
2026-06-04T13:05:23.0896985Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T13:05:23.0897420Z               "line": 98
2026-06-04T13:05:23.0897850Z             },
2026-06-04T13:05:23.0898258Z             {
2026-06-04T13:05:23.0898869Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:23.0899359Z               "line": 139
2026-06-04T13:05:23.0899774Z             }
2026-06-04T13:05:23.0905678Z           ]
2026-06-04T13:05:23.0906202Z         },
2026-06-04T13:05:23.0906667Z         "int": {
2026-06-04T13:05:23.0907145Z           "complete": false,
2026-06-04T13:05:23.0907597Z           "evidence": []
2026-06-04T13:05:23.0908018Z         },
2026-06-04T13:05:23.0908449Z         "unit": {
2026-06-04T13:05:23.0908924Z           "complete": true,
2026-06-04T13:05:23.0909458Z           "evidence": [
2026-06-04T13:05:23.0909880Z             {
2026-06-04T13:05:23.0910530Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T13:05:23.0910980Z               "line": 309
2026-06-04T13:05:23.0911402Z             },
2026-06-04T13:05:23.0911807Z             {
2026-06-04T13:05:23.0912457Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T13:05:23.0912899Z               "line": 102
2026-06-04T13:05:23.0913317Z             },
2026-06-04T13:05:23.0913726Z             {
2026-06-04T13:05:23.0914379Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T13:05:23.0914831Z               "line": 117
2026-06-04T13:05:23.0915251Z             },
2026-06-04T13:05:23.0915670Z             {
2026-06-04T13:05:23.0916312Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T13:05:23.0916763Z               "line": 136
2026-06-04T13:05:23.0917191Z             },
2026-06-04T13:05:23.0917601Z             {
2026-06-04T13:05:23.0918207Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T13:05:23.0918647Z               "line": 308
2026-06-04T13:05:23.0919064Z             },
2026-06-04T13:05:23.0919511Z             {
2026-06-04T13:05:23.0920124Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T13:05:23.0920577Z               "line": 442
2026-06-04T13:05:23.0920987Z             }
2026-06-04T13:05:23.0921405Z           ]
2026-06-04T13:05:23.0921813Z         }
2026-06-04T13:05:23.0922226Z       }
2026-06-04T13:05:23.0922628Z     },
2026-06-04T13:05:23.0923042Z     {
2026-06-04T13:05:23.0923502Z       "id": "REQ-UPD-5",
2026-06-04T13:05:23.0924283Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T13:05:23.0925006Z       "requiredStages": [
2026-06-04T13:05:23.0925443Z         "impl",
2026-06-04T13:05:23.0925863Z         "unit"
2026-06-04T13:05:23.0926265Z       ],
2026-06-04T13:05:23.0926837Z       "stages": {
2026-06-04T13:05:23.0927265Z         "doc": {
2026-06-04T13:05:23.0927729Z           "complete": false,
2026-06-04T13:05:23.0928182Z           "evidence": []
2026-06-04T13:05:23.0928587Z         },
2026-06-04T13:05:23.0929019Z         "impl": {
2026-06-04T13:05:23.0929693Z           "complete": true,
2026-06-04T13:05:23.0930504Z           "evidence": [
2026-06-04T13:05:23.0931012Z             {
2026-06-04T13:05:23.0931924Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0932436Z               "line": 27
2026-06-04T13:05:23.0932875Z             },
2026-06-04T13:05:23.0933293Z             {
2026-06-04T13:05:23.0934070Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0934539Z               "line": 82
2026-06-04T13:05:23.0935006Z             },
2026-06-04T13:05:23.0935454Z             {
2026-06-04T13:05:23.0936218Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0936726Z               "line": 134
2026-06-04T13:05:23.0937174Z             },
2026-06-04T13:05:23.0937605Z             {
2026-06-04T13:05:23.0938277Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0938762Z               "line": 260
2026-06-04T13:05:23.0939289Z             },
2026-06-04T13:05:23.0940067Z             {
2026-06-04T13:05:23.0940767Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T13:05:23.0941275Z               "line": 288
2026-06-04T13:05:23.0941715Z             }
2026-06-04T13:05:23.0942169Z           ]
2026-06-04T13:05:23.0942616Z         },
2026-06-04T13:05:23.0943080Z         "int": {
2026-06-04T13:05:23.0943597Z           "complete": false,
2026-06-04T13:05:23.0944262Z           "evidence": []
2026-06-04T13:05:23.0944777Z         },
2026-06-04T13:05:23.0945304Z         "unit": {
2026-06-04T13:05:23.0945876Z           "complete": true,
2026-06-04T13:05:23.0946401Z           "evidence": [
2026-06-04T13:05:23.0946857Z             {
2026-06-04T13:05:23.0947773Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0948224Z               "line": 194
2026-06-04T13:05:23.0948660Z             },
2026-06-04T13:05:23.0949077Z             {
2026-06-04T13:05:23.0949893Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0950358Z               "line": 208
2026-06-04T13:05:23.0950779Z             },
2026-06-04T13:05:23.0951202Z             {
2026-06-04T13:05:23.0951934Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0952390Z               "line": 222
2026-06-04T13:05:23.0952801Z             },
2026-06-04T13:05:23.0953223Z             {
2026-06-04T13:05:23.0953954Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0954422Z               "line": 236
2026-06-04T13:05:23.0954847Z             },
2026-06-04T13:05:23.0955260Z             {
2026-06-04T13:05:23.0955994Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T13:05:23.0956453Z               "line": 270
2026-06-04T13:05:23.0956880Z             },
2026-06-04T13:05:23.0957307Z             {
2026-06-04T13:05:23.0958302Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T13:05:23.0958772Z               "line": 740
2026-06-04T13:05:23.0959216Z             }
2026-06-04T13:05:23.0959655Z           ]
2026-06-04T13:05:23.0960067Z         }
2026-06-04T13:05:23.0960494Z       }
2026-06-04T13:05:23.0960913Z     }
2026-06-04T13:05:23.0961313Z   ],
2026-06-04T13:05:23.0961764Z   "findings": []
2026-06-04T13:05:23.0962164Z }
2026-06-04T13:05:23.1058228Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T13:05:23.1058813Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T13:05:23.1080131Z shell: /usr/bin/bash -e {0}
2026-06-04T13:05:23.1080563Z ##[endgroup]
2026-06-04T13:05:23.1298289Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T13:05:23.1300876Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1303758Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T13:05:23.1305928Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T13:05:23.1308627Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1311372Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1313162Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T13:05:23.1315048Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T13:05:23.1318170Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1321054Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1323069Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T13:05:23.1324920Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T13:05:23.1326373Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T13:05:23.1327901Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T13:05:23.1330294Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1332443Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T13:05:23.1333965Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T13:05:23.1335363Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T13:05:23.1335386Z 
2026-06-04T13:05:23.1335901Z # Requirement quality review
2026-06-04T13:05:23.1335920Z 
2026-06-04T13:05:23.1337097Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T13:05:23.1338305Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T13:05:23.1339734Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T13:05:23.1340565Z this command's output. Your task is the rubric items below.
2026-06-04T13:05:23.1340587Z 
2026-06-04T13:05:23.1341028Z ## Rubric
2026-06-04T13:05:23.1341047Z 
2026-06-04T13:05:23.1342485Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T13:05:23.1343746Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T13:05:23.1344868Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T13:05:23.1345599Z - **active-voice** — clear subject and active verb.
2026-06-04T13:05:23.1345622Z 
2026-06-04T13:05:23.1346872Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T13:05:23.1347347Z clear concerns.
2026-06-04T13:05:23.1347367Z 
2026-06-04T13:05:23.1348150Z ## Requirements
2026-06-04T13:05:23.1348177Z 
2026-06-04T13:05:23.1348667Z ### REQ-ARCH-1
2026-06-04T13:05:23.1349358Z - Title: Many small acyclically-layered crates
2026-06-04T13:05:23.1350015Z - Required stages: impl
2026-06-04T13:05:23.1350033Z 
2026-06-04T13:05:23.1350465Z ### REQ-ARCH-2
2026-06-04T13:05:23.1351327Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T13:05:23.1351969Z - Required stages: impl
2026-06-04T13:05:23.1351988Z 
2026-06-04T13:05:23.1352422Z ### REQ-ARCH-3
2026-06-04T13:05:23.1353563Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T13:05:23.1354060Z - Required stages: impl, unit
2026-06-04T13:05:23.1354077Z 
2026-06-04T13:05:23.1354523Z ### REQ-ARCH-4
2026-06-04T13:05:23.1355437Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T13:05:23.1355928Z - Required stages: impl, unit
2026-06-04T13:05:23.1355946Z 
2026-06-04T13:05:23.1356419Z ### REQ-DAEMON-1
2026-06-04T13:05:23.1357541Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T13:05:23.1358154Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1358179Z 
2026-06-04T13:05:23.1358706Z ### REQ-DAEMON-2
2026-06-04T13:05:23.1359526Z - Title: Broker/brain split for seamless self-update
2026-06-04T13:05:23.1360140Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1360161Z 
2026-06-04T13:05:23.1360645Z ### REQ-DAEMON-3
2026-06-04T13:05:23.1361502Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T13:05:23.1362045Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1362063Z 
2026-06-04T13:05:23.1362514Z ### REQ-DAEMON-4
2026-06-04T13:05:23.1363125Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T13:05:23.1363652Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1363675Z 
2026-06-04T13:05:23.1364161Z ### REQ-STORE-1
2026-06-04T13:05:23.1370406Z - 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-04T13:05:23.1370938Z - Required stages: impl, unit
2026-06-04T13:05:23.1370955Z 
2026-06-04T13:05:23.1371417Z ### REQ-MANIFEST-1
2026-06-04T13:05:23.1372423Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T13:05:23.1372963Z - Required stages: doc, impl, unit
2026-06-04T13:05:23.1372983Z 
2026-06-04T13:05:23.1373452Z ### REQ-SEAM-SPAWN
2026-06-04T13:05:23.1373944Z - Title: spawn-session seam
2026-06-04T13:05:23.1374448Z - Required stages: impl, unit
2026-06-04T13:05:23.1374467Z 
2026-06-04T13:05:23.1374939Z ### REQ-SEAM-POSTSPAWN
2026-06-04T13:05:23.1375610Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T13:05:23.1376114Z - Required stages: impl, unit
2026-06-04T13:05:23.1376130Z 
2026-06-04T13:05:23.1376587Z ### REQ-SEAM-PSYCHE
2026-06-04T13:05:23.1377296Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T13:05:23.1377814Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1377832Z 
2026-06-04T13:05:23.1378307Z ### REQ-SEAM-HISTORY
2026-06-04T13:05:23.1379347Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T13:05:23.1380217Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1380233Z 
2026-06-04T13:05:23.1380712Z ### REQ-SEAM-ACTIVITY
2026-06-04T13:05:23.1381677Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T13:05:23.1382186Z - Required stages: impl, unit
2026-06-04T13:05:23.1382204Z 
2026-06-04T13:05:23.1382670Z ### REQ-SEAM-INJECT
2026-06-04T13:05:23.1383783Z - Title: inject-input methods configurable per activity-state
2026-06-04T13:05:23.1384333Z - Required stages: impl, unit
2026-06-04T13:05:23.1384352Z 
2026-06-04T13:05:23.1384825Z ### REQ-SEAM-RESUME
2026-06-04T13:05:23.1385851Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T13:05:23.1386635Z - Required stages: impl, unit
2026-06-04T13:05:23.1386664Z 
2026-06-04T13:05:23.1387201Z ### REQ-SEAM-CAPABILITY
2026-06-04T13:05:23.1387979Z - Title: Hostable endpoint-types capability declaration
2026-06-04T13:05:23.1388499Z - Required stages: impl, unit
2026-06-04T13:05:23.1388516Z 
2026-06-04T13:05:23.1388999Z ### REQ-SEAM-UPDATE
2026-06-04T13:05:23.1390111Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T13:05:23.1390774Z - Required stages: impl, unit
2026-06-04T13:05:23.1390795Z 
2026-06-04T13:05:23.1391235Z ### REQ-API-1
2026-06-04T13:05:23.1392124Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T13:05:23.1392645Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1392662Z 
2026-06-04T13:05:23.1393087Z ### REQ-API-2
2026-06-04T13:05:23.1394233Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T13:05:23.1394754Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1394781Z 
2026-06-04T13:05:23.1395208Z ### REQ-API-3
2026-06-04T13:05:23.1395896Z - Title: commune/signoff are file-drops, not commands
2026-06-04T13:05:23.1396410Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1396427Z 
2026-06-04T13:05:23.1396866Z ### REQ-START-1
2026-06-04T13:05:23.1397921Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T13:05:23.1398422Z - Required stages: impl, unit
2026-06-04T13:05:23.1398451Z 
2026-06-04T13:05:23.1398896Z ### REQ-START-2
2026-06-04T13:05:23.1399939Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T13:05:23.1400465Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1400483Z 
2026-06-04T13:05:23.1400923Z ### REQ-START-3
2026-06-04T13:05:23.1401815Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T13:05:23.1402332Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1402349Z 
2026-06-04T13:05:23.1402777Z ### REQ-START-4
2026-06-04T13:05:23.1403480Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T13:05:23.1403975Z - Required stages: impl, unit
2026-06-04T13:05:23.1403994Z 
2026-06-04T13:05:23.1404428Z ### REQ-EP-1
2026-06-04T13:05:23.1405076Z - Title: Day-one endpoint types; open type system
2026-06-04T13:05:23.1405566Z - Required stages: impl, unit
2026-06-04T13:05:23.1405583Z 
2026-06-04T13:05:23.1415130Z ### REQ-EP-2
2026-06-04T13:05:23.1416217Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T13:05:23.1416779Z - Required stages: impl, unit
2026-06-04T13:05:23.1416799Z 
2026-06-04T13:05:23.1417250Z ### REQ-EP-3
2026-06-04T13:05:23.1418291Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T13:05:23.1418802Z - Required stages: impl, unit
2026-06-04T13:05:23.1418819Z 
2026-06-04T13:05:23.1419333Z ### REQ-EP-4
2026-06-04T13:05:23.1420209Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T13:05:23.1420713Z - Required stages: impl, unit
2026-06-04T13:05:23.1420728Z 
2026-06-04T13:05:23.1421166Z ### REQ-EP-5
2026-06-04T13:05:23.1425564Z - 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-04T13:05:23.1426028Z - Required stages: 
2026-06-04T13:05:23.1426047Z 
2026-06-04T13:05:23.1426479Z ### REQ-INST-1
2026-06-04T13:05:23.1427308Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T13:05:23.1427764Z - Required stages: 
2026-06-04T13:05:23.1427780Z 
2026-06-04T13:05:23.1428206Z ### REQ-INST-2
2026-06-04T13:05:23.1428789Z - Title: Per-node files, synced Psyche mind
2026-06-04T13:05:23.1429456Z - Required stages: impl, unit
2026-06-04T13:05:23.1429475Z 
2026-06-04T13:05:23.1430095Z ### REQ-INST-3
2026-06-04T13:05:23.1430841Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T13:05:23.1431353Z - Required stages: doc, impl, unit
2026-06-04T13:05:23.1431370Z 
2026-06-04T13:05:23.1432078Z ### REQ-INST-4
2026-06-04T13:05:23.1433016Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T13:05:23.1433522Z - Required stages: impl, unit
2026-06-04T13:05:23.1433539Z 
2026-06-04T13:05:23.1433976Z ### REQ-INST-5
2026-06-04T13:05:23.1434897Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T13:05:23.1435401Z - Required stages: impl, unit
2026-06-04T13:05:23.1435548Z 
2026-06-04T13:05:23.1435983Z ### REQ-INST-6
2026-06-04T13:05:23.1436984Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T13:05:23.1437438Z - Required stages: 
2026-06-04T13:05:23.1437471Z 
2026-06-04T13:05:23.1437900Z ### REQ-INST-7
2026-06-04T13:05:23.1438580Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T13:05:23.1439075Z - Required stages: impl, unit
2026-06-04T13:05:23.1439091Z 
2026-06-04T13:05:23.1439764Z ### REQ-INST-8
2026-06-04T13:05:23.1440728Z - Title: Remote-control mode distinct from local operation
2026-06-04T13:05:23.1441246Z - Required stages: impl, unit
2026-06-04T13:05:23.1441262Z 
2026-06-04T13:05:23.1441707Z ### REQ-INST-9
2026-06-04T13:05:23.1442701Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T13:05:23.1443208Z - Required stages: impl, unit
2026-06-04T13:05:23.1443224Z 
2026-06-04T13:05:23.1443648Z ### REQ-INST-10
2026-06-04T13:05:23.1444813Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T13:05:23.1445325Z - Required stages: impl, unit
2026-06-04T13:05:23.1445342Z 
2026-06-04T13:05:23.1445770Z ### REQ-INST-11
2026-06-04T13:05:23.1446942Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T13:05:23.1447431Z - Required stages: impl, unit
2026-06-04T13:05:23.1447447Z 
2026-06-04T13:05:23.1447892Z ### REQ-INST-12
2026-06-04T13:05:23.1449969Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T13:05:23.1450477Z - Required stages: impl, unit
2026-06-04T13:05:23.1450496Z 
2026-06-04T13:05:23.1450939Z ### REQ-INST-13
2026-06-04T13:05:23.1451909Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T13:05:23.1452414Z - Required stages: impl, unit
2026-06-04T13:05:23.1452430Z 
2026-06-04T13:05:23.1452881Z ### REQ-INST-14
2026-06-04T13:05:23.1455520Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T13:05:23.1456106Z - Required stages: 
2026-06-04T13:05:23.1456132Z 
2026-06-04T13:05:23.1456601Z ### REQ-INST-15
2026-06-04T13:05:23.1461622Z - 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-04T13:05:23.1462109Z - Required stages: 
2026-06-04T13:05:23.1462128Z 
2026-06-04T13:05:23.1462585Z ### REQ-REACH-1
2026-06-04T13:05:23.1463357Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T13:05:23.1463871Z - Required stages: impl, unit
2026-06-04T13:05:23.1463889Z 
2026-06-04T13:05:23.1464348Z ### REQ-REACH-2
2026-06-04T13:05:23.1465160Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T13:05:23.1465626Z - Required stages: 
2026-06-04T13:05:23.1465642Z 
2026-06-04T13:05:23.1466098Z ### REQ-MSG-1
2026-06-04T13:05:23.1469023Z - 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-04T13:05:23.1469752Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1469771Z 
2026-06-04T13:05:23.1470197Z ### REQ-MSG-2
2026-06-04T13:05:23.1471731Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T13:05:23.1472230Z - Required stages: impl, unit
2026-06-04T13:05:23.1472490Z 
2026-06-04T13:05:23.1473026Z ### REQ-MSG-3
2026-06-04T13:05:23.1475376Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T13:05:23.1475893Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1475909Z 
2026-06-04T13:05:23.1476362Z ### REQ-NODE-IDENTITY
2026-06-04T13:05:23.1477622Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T13:05:23.1478236Z - Required stages: impl, unit
2026-06-04T13:05:23.1478252Z 
2026-06-04T13:05:23.1478684Z ### REQ-NET-1
2026-06-04T13:05:23.1480017Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T13:05:23.1480512Z - Required stages: impl, unit
2026-06-04T13:05:23.1480532Z 
2026-06-04T13:05:23.1480965Z ### REQ-NET-2
2026-06-04T13:05:23.1481896Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T13:05:23.1482446Z - Required stages: impl
2026-06-04T13:05:23.1482474Z 
2026-06-04T13:05:23.1482907Z ### REQ-NET-3
2026-06-04T13:05:23.1483761Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T13:05:23.1484262Z - Required stages: impl, unit
2026-06-04T13:05:23.1484280Z 
2026-06-04T13:05:23.1484712Z ### REQ-PAIR-1
2026-06-04T13:05:23.1485235Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T13:05:23.1485735Z - Required stages: impl, unit
2026-06-04T13:05:23.1485753Z 
2026-06-04T13:05:23.1486197Z ### REQ-PAIR-2
2026-06-04T13:05:23.1486875Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T13:05:23.1487366Z - Required stages: impl, unit
2026-06-04T13:05:23.1487385Z 
2026-06-04T13:05:23.1487835Z ### REQ-PAIR-3
2026-06-04T13:05:23.1488574Z - Title: Fetch current pairing code from any paired node
2026-06-04T13:05:23.1489080Z - Required stages: impl, unit
2026-06-04T13:05:23.1489100Z 
2026-06-04T13:05:23.1489593Z ### REQ-PAIR-4
2026-06-04T13:05:23.1490122Z - Title: Subnet naming on first pairing
2026-06-04T13:05:23.1490641Z - Required stages: impl, unit
2026-06-04T13:05:23.1490660Z 
2026-06-04T13:05:23.1491092Z ### REQ-PAIR-5
2026-06-04T13:05:23.1492873Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T13:05:23.1493370Z - Required stages: impl, unit
2026-06-04T13:05:23.1493390Z 
2026-06-04T13:05:23.1493822Z ### REQ-PAIR-6
2026-06-04T13:05:23.1495317Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T13:05:23.1495819Z - Required stages: impl, unit
2026-06-04T13:05:23.1495835Z 
2026-06-04T13:05:23.1496282Z ### REQ-PAIR-7
2026-06-04T13:05:23.1497120Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T13:05:23.1497567Z - Required stages: 
2026-06-04T13:05:23.1497583Z 
2026-06-04T13:05:23.1498011Z ### REQ-SEC-1
2026-06-04T13:05:23.1500478Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T13:05:23.1500997Z - Required stages: impl, unit
2026-06-04T13:05:23.1501016Z 
2026-06-04T13:05:23.1501460Z ### REQ-NOTIF-1
2026-06-04T13:05:23.1503679Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T13:05:23.1504187Z - Required stages: impl, unit
2026-06-04T13:05:23.1504203Z 
2026-06-04T13:05:23.1504635Z ### REQ-NOTIF-2
2026-06-04T13:05:23.1506192Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T13:05:23.1506719Z - Required stages: doc, impl, unit
2026-06-04T13:05:23.1506736Z 
2026-06-04T13:05:23.1507160Z ### REQ-UPD-1
2026-06-04T13:05:23.1507735Z - Title: Peer-propagated update over P2P
2026-06-04T13:05:23.1508226Z - Required stages: impl, unit
2026-06-04T13:05:23.1508244Z 
2026-06-04T13:05:23.1508684Z ### REQ-UPD-2
2026-06-04T13:05:23.1509459Z - Title: All binaries signature-verified before handoff
2026-06-04T13:05:23.1510099Z - Required stages: impl, unit
2026-06-04T13:05:23.1510120Z 
2026-06-04T13:05:23.1510568Z ### REQ-UPD-3
2026-06-04T13:05:23.1511470Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T13:05:23.1511991Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1512009Z 
2026-06-04T13:05:23.1512444Z ### REQ-UPD-4
2026-06-04T13:05:23.1513405Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T13:05:23.1514045Z - Required stages: impl, unit
2026-06-04T13:05:23.1514064Z 
2026-06-04T13:05:23.1514487Z ### REQ-UPD-5
2026-06-04T13:05:23.1515195Z - Title: spt-core ripple-updates registered adapters
2026-06-04T13:05:23.1515684Z - Required stages: impl, unit
2026-06-04T13:05:23.1515715Z 
2026-06-04T13:05:23.1516147Z ### REQ-TERM-1
2026-06-04T13:05:23.1517057Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T13:05:23.1517547Z - Required stages: impl, unit
2026-06-04T13:05:23.1517563Z 
2026-06-04T13:05:23.1518001Z ### REQ-TERM-2
2026-06-04T13:05:23.1518977Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T13:05:23.1519522Z - Required stages: impl, unit
2026-06-04T13:05:23.1519540Z 
2026-06-04T13:05:23.1519981Z ### REQ-TERM-3
2026-06-04T13:05:23.1520678Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T13:05:23.1521178Z - Required stages: impl, unit
2026-06-04T13:05:23.1521195Z 
2026-06-04T13:05:23.1521623Z ### REQ-TERM-4
2026-06-04T13:05:23.1523849Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T13:05:23.1524369Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1524386Z 
2026-06-04T13:05:23.1524819Z ### REQ-FRONT-1
2026-06-04T13:05:23.1525742Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T13:05:23.1526191Z - Required stages: 
2026-06-04T13:05:23.1526208Z 
2026-06-04T13:05:23.1526660Z ### REQ-INSTALL-1
2026-06-04T13:05:23.1527719Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T13:05:23.1528171Z - Required stages: 
2026-06-04T13:05:23.1528187Z 
2026-06-04T13:05:23.1528637Z ### REQ-INSTALL-2
2026-06-04T13:05:23.1529360Z - Title: Marketplace-repackaging-friendly install
2026-06-04T13:05:23.1529829Z - Required stages: 
2026-06-04T13:05:23.1529846Z 
2026-06-04T13:05:23.1530293Z ### REQ-INSTALL-3
2026-06-04T13:05:23.1530979Z - Title: Idempotent + interactive-optional first run
2026-06-04T13:05:23.1531447Z - Required stages: 
2026-06-04T13:05:23.1531465Z 
2026-06-04T13:05:23.1531905Z ### REQ-INSTALL-4
2026-06-04T13:05:23.1536024Z - 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-04T13:05:23.1536491Z - Required stages: 
2026-06-04T13:05:23.1536508Z 
2026-06-04T13:05:23.1536951Z ### REQ-MIGRATE-1
2026-06-04T13:05:23.1537861Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T13:05:23.1538309Z - Required stages: 
2026-06-04T13:05:23.1538324Z 
2026-06-04T13:05:23.1538766Z ### REQ-INFRA-1
2026-06-04T13:05:23.1539768Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T13:05:23.1540223Z - Required stages: 
2026-06-04T13:05:23.1540239Z 
2026-06-04T13:05:23.1540682Z ### REQ-DOCS-1
2026-06-04T13:05:23.1541759Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T13:05:23.1542236Z - Required stages: 
2026-06-04T13:05:23.1542255Z 
2026-06-04T13:05:23.1542698Z ### REQ-DOCS-2
2026-06-04T13:05:23.1543532Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T13:05:23.1543992Z - Required stages: 
2026-06-04T13:05:23.1544008Z 
2026-06-04T13:05:23.1544434Z ### REQ-DOCS-3
2026-06-04T13:05:23.1545521Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T13:05:23.1545969Z - Required stages: 
2026-06-04T13:05:23.1545984Z 
2026-06-04T13:05:23.1546586Z ### REQ-DOCS-4
2026-06-04T13:05:23.1547660Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T13:05:23.1548114Z - Required stages: 
2026-06-04T13:05:23.1548133Z 
2026-06-04T13:05:23.1548576Z ### REQ-DOCS-5
2026-06-04T13:05:23.1549665Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T13:05:23.1550133Z - Required stages: 
2026-06-04T13:05:23.1550148Z 
2026-06-04T13:05:23.1550854Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T13:05:23.1551872Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T13:05:23.1552377Z - Required stages: impl, unit
2026-06-04T13:05:23.1552394Z 
2026-06-04T13:05:23.1552936Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T13:05:23.1553714Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T13:05:23.1560313Z - Required stages: impl, unit
2026-06-04T13:05:23.1560365Z 
2026-06-04T13:05:23.1560976Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T13:05:23.1561679Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T13:05:23.1562145Z - Required stages: 
2026-06-04T13:05:23.1562161Z 
2026-06-04T13:05:23.1562672Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T13:05:23.1563668Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T13:05:23.1564169Z - Required stages: impl, unit
2026-06-04T13:05:23.1564187Z 
2026-06-04T13:05:23.1564682Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T13:05:23.1565671Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T13:05:23.1566159Z - Required stages: impl, unit
2026-06-04T13:05:23.1566185Z 
2026-06-04T13:05:23.1566721Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T13:05:23.1567756Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T13:05:23.1568203Z - Required stages: 
2026-06-04T13:05:23.1568219Z 
2026-06-04T13:05:23.1568736Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T13:05:23.1569446Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T13:05:23.1569929Z - Required stages: 
2026-06-04T13:05:23.1569946Z 
2026-06-04T13:05:23.1570509Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T13:05:23.1571356Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T13:05:23.1571860Z - Required stages: impl, unit
2026-06-04T13:05:23.1571876Z 
2026-06-04T13:05:23.1572376Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T13:05:23.1573126Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T13:05:23.1573640Z - Required stages: impl, int
2026-06-04T13:05:23.1573658Z 
2026-06-04T13:05:23.1574190Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T13:05:23.1575040Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T13:05:23.1575536Z - Required stages: impl, unit
2026-06-04T13:05:23.1575553Z 
2026-06-04T13:05:23.1576129Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T13:05:23.1577005Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T13:05:23.1577495Z - Required stages: impl, unit
2026-06-04T13:05:23.1577512Z 
2026-06-04T13:05:23.1578074Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T13:05:23.1579080Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T13:05:23.1579655Z - Required stages: impl, unit
2026-06-04T13:05:23.1579673Z 
2026-06-04T13:05:23.1580236Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T13:05:23.1581039Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T13:05:23.1581543Z - Required stages: impl, unit
2026-06-04T13:05:23.1581572Z 
2026-06-04T13:05:23.1582125Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T13:05:23.1583061Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T13:05:23.1583564Z - Required stages: impl, unit
2026-06-04T13:05:23.1583581Z 
2026-06-04T13:05:23.1584126Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T13:05:23.1585322Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T13:05:23.1585813Z - Required stages: impl, unit
2026-06-04T13:05:23.1585829Z 
2026-06-04T13:05:23.1586564Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T13:05:23.1587983Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T13:05:23.1588503Z - Required stages: impl, unit
2026-06-04T13:05:23.1588519Z 
2026-06-04T13:05:23.1589073Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T13:05:23.1590135Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T13:05:23.1590820Z - Required stages: impl, unit
2026-06-04T13:05:23.1590838Z 
2026-06-04T13:05:23.1591392Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T13:05:23.1592854Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T13:05:23.1593355Z - Required stages: impl, unit
2026-06-04T13:05:23.1593372Z 
2026-06-04T13:05:23.1593914Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T13:05:23.1595980Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T13:05:23.1596514Z - Required stages: doc, impl, unit
2026-06-04T13:05:23.1596534Z 
2026-06-04T13:05:23.1597085Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T13:05:23.1599509Z - 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-04T13:05:23.1600006Z - Required stages: impl, unit
2026-06-04T13:05:23.1600024Z 
2026-06-04T13:05:23.1600601Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T13:05:23.1601243Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T13:05:23.1601729Z - Required stages: impl, unit
2026-06-04T13:05:23.1601747Z 
2026-06-04T13:05:23.1602261Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T13:05:23.1602904Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T13:05:23.1603397Z - Required stages: impl, unit
2026-06-04T13:05:23.1603414Z 
2026-06-04T13:05:23.1603962Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T13:05:23.1604769Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T13:05:23.1605281Z - Required stages: impl, unit
2026-06-04T13:05:23.1605300Z 
2026-06-04T13:05:23.1605794Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T13:05:23.1606661Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T13:05:23.1607180Z - Required stages: impl, unit
2026-06-04T13:05:23.1607212Z 
2026-06-04T13:05:23.1607930Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T13:05:23.1608859Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T13:05:23.1609426Z - Required stages: impl, unit
2026-06-04T13:05:23.1609446Z 
2026-06-04T13:05:23.1609972Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T13:05:23.1610754Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T13:05:23.1611250Z - Required stages: impl, unit
2026-06-04T13:05:23.1611266Z 
2026-06-04T13:05:23.1611810Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T13:05:23.1612798Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T13:05:23.1613307Z - Required stages: impl, unit
2026-06-04T13:05:23.1613326Z 
2026-06-04T13:05:23.1613817Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T13:05:23.1614868Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T13:05:23.1615370Z - Required stages: impl, unit
2026-06-04T13:05:23.1615387Z 
2026-06-04T13:05:23.1615918Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T13:05:23.1616830Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T13:05:23.1617338Z - Required stages: impl, unit
2026-06-04T13:05:23.1617355Z 
2026-06-04T13:05:23.1617928Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T13:05:23.1618678Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T13:05:23.1619208Z - Required stages: impl, unit
2026-06-04T13:05:23.1619228Z 
2026-06-04T13:05:23.1619814Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T13:05:23.1621016Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T13:05:23.1621524Z - Required stages: impl, unit
2026-06-04T13:05:23.1621711Z 
2026-06-04T13:05:23.1622312Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T13:05:23.1625979Z - 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-04T13:05:23.1626493Z - Required stages: impl, unit
2026-06-04T13:05:23.1626509Z 
2026-06-04T13:05:23.1627123Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T13:05:23.1628327Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T13:05:23.1628842Z - Required stages: impl, unit
2026-06-04T13:05:23.1628859Z 
2026-06-04T13:05:23.1629403Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T13:05:23.1630590Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T13:05:23.1631083Z - Required stages: impl, unit
2026-06-04T13:05:23.1631098Z 
2026-06-04T13:05:23.1631640Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T13:05:23.1633191Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T13:05:23.1633706Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1633724Z 
2026-06-04T13:05:23.1634251Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T13:05:23.1635747Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T13:05:23.1636259Z - Required stages: impl, unit
2026-06-04T13:05:23.1636288Z 
2026-06-04T13:05:23.1636862Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T13:05:23.1639535Z - 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-04T13:05:23.1640063Z - Required stages: impl, unit, int
2026-06-04T13:05:23.1640079Z 
2026-06-04T13:05:23.1640647Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T13:05:23.1645406Z - 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-04T13:05:23.1645927Z - Required stages: impl, unit
2026-06-04T13:05:23.1645944Z 
2026-06-04T13:05:23.1646515Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T13:05:23.1650854Z - 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-04T13:05:23.1651337Z - Required stages: 
2026-06-04T13:05:23.1651353Z 
2026-06-04T13:05:23.1651908Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T13:05:23.1655704Z - 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-04T13:05:23.1656215Z - Required stages: impl, unit
2026-06-04T13:05:23.1656247Z 
2026-06-04T13:05:23.1656786Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T13:05:23.1660263Z - 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-04T13:05:23.1660763Z - Required stages: impl, unit
2026-06-04T13:05:23.1660795Z 
2026-06-04T13:05:23.1661328Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T13:05:23.1666525Z - 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-04T13:05:23.1667023Z - Required stages: impl, unit
2026-06-04T13:05:23.1667039Z 
2026-06-04T13:05:23.1667563Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T13:05:23.1672437Z - 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-04T13:05:23.1672981Z - Required stages: doc, impl, unit
2026-06-04T13:05:23.1673001Z 
2026-06-04T13:05:23.1673464Z ## How to report back
2026-06-04T13:05:23.1673481Z 
2026-06-04T13:05:23.1674534Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T13:05:23.1674554Z 
2026-06-04T13:05:23.1674975Z     {
2026-06-04T13:05:23.1675492Z       "code": "requirement_quality",
2026-06-04T13:05:23.1675991Z       "requirementId": "REQ-...",
2026-06-04T13:05:23.1676909Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T13:05:23.1677398Z       "message": "<short reason>",
2026-06-04T13:05:23.1678001Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T13:05:23.1678411Z     }
2026-06-04T13:05:23.1678439Z 
2026-06-04T13:05:23.1679523Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T13:05:23.1680304Z deterministic findings above don't need to be repeated.
2026-06-04T13:05:23.1976395Z Post job cleanup.
2026-06-04T13:05:23.3252907Z [command]/usr/bin/git version
2026-06-04T13:05:23.3307913Z git version 2.34.1
2026-06-04T13:05:23.3354940Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/6c025c84-7652-460c-95fa-3b26c222548d/.gitconfig'
2026-06-04T13:05:23.3369470Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/6c025c84-7652-460c-95fa-3b26c222548d' before making global git config changes
2026-06-04T13:05:23.3387759Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T13:05:23.3392129Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T13:05:23.4898544Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T13:05:23.4949879Z [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-04T13:05:23.5201081Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T13:05:23.5230242Z http.https://github.com/.extraheader
2026-06-04T13:05:23.5245512Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T13:05:23.5288792Z [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-04T13:05:23.5533772Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T13:05:23.5575543Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T13:05:23.6014002Z Cleaning up orphan processes
