﻿2026-06-04T01:36:22.9801652Z Current runner version: '2.334.0'
2026-06-04T01:36:22.9810760Z Runner name: 'gravity'
2026-06-04T01:36:22.9811824Z Runner group name: 'Default'
2026-06-04T01:36:22.9813137Z Machine name: 'gravity-linux'
2026-06-04T01:36:22.9817253Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T01:36:22.9821163Z Contents: read
2026-06-04T01:36:22.9821980Z Metadata: read
2026-06-04T01:36:22.9822928Z Packages: read
2026-06-04T01:36:22.9823689Z ##[endgroup]
2026-06-04T01:36:22.9827053Z Secret source: Actions
2026-06-04T01:36:22.9828112Z Prepare workflow directory
2026-06-04T01:36:23.0590597Z Prepare all required actions
2026-06-04T01:36:23.0650087Z Getting action download info
2026-06-04T01:36:23.6894929Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-06-04T01:36:24.5559912Z Complete job name: traceability
2026-06-04T01:36:24.6892501Z ##[group]Run actions/checkout@v4
2026-06-04T01:36:24.6894069Z with:
2026-06-04T01:36:24.6894740Z   repository: SaberMage/spt-core
2026-06-04T01:36:24.6902229Z   token: ***
2026-06-04T01:36:24.6902863Z   ssh-strict: true
2026-06-04T01:36:24.6903479Z   ssh-user: git
2026-06-04T01:36:24.6904108Z   persist-credentials: true
2026-06-04T01:36:24.6904800Z   clean: true
2026-06-04T01:36:24.6905442Z   sparse-checkout-cone-mode: true
2026-06-04T01:36:24.6906180Z   fetch-depth: 1
2026-06-04T01:36:24.6906788Z   fetch-tags: false
2026-06-04T01:36:24.6907425Z   show-progress: true
2026-06-04T01:36:24.6908062Z   lfs: false
2026-06-04T01:36:24.6908670Z   submodules: false
2026-06-04T01:36:24.6909372Z   set-safe-directory: true
2026-06-04T01:36:24.6910670Z ##[endgroup]
2026-06-04T01:36:24.8653935Z Syncing repository: SaberMage/spt-core
2026-06-04T01:36:24.8657097Z ##[group]Getting Git version info
2026-06-04T01:36:24.8658500Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T01:36:24.8660473Z [command]/usr/bin/git version
2026-06-04T01:36:24.8661314Z git version 2.34.1
2026-06-04T01:36:24.8685625Z ##[endgroup]
2026-06-04T01:36:24.8704662Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/836f2625-c869-44f1-b5ea-a74ba933695e/.gitconfig'
2026-06-04T01:36:24.8732890Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/836f2625-c869-44f1-b5ea-a74ba933695e' before making global git config changes
2026-06-04T01:36:24.8735442Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T01:36:24.8754357Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T01:36:24.8805780Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T01:36:24.8835665Z https://github.com/SaberMage/spt-core
2026-06-04T01:36:24.8861228Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T01:36:24.8866364Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T01:36:24.8897896Z refs/heads/dev-freeform
2026-06-04T01:36:24.8912394Z [command]/usr/bin/git checkout --detach
2026-06-04T01:36:24.8962660Z HEAD is now at d70ced7 ci: traceability uses gravity's source-built traceable-reqs
2026-06-04T01:36:24.9020345Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T01:36:24.9057911Z Deleted branch dev-freeform (was d70ced7).
2026-06-04T01:36:24.9106362Z ##[endgroup]
2026-06-04T01:36:24.9111978Z [command]/usr/bin/git submodule status
2026-06-04T01:36:24.9368638Z ##[group]Cleaning the repository
2026-06-04T01:36:24.9376429Z [command]/usr/bin/git clean -ffdx
2026-06-04T01:36:25.5946558Z Removing target/
2026-06-04T01:36:25.5950434Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T01:36:25.6027858Z HEAD is now at d70ced7 ci: traceability uses gravity's source-built traceable-reqs
2026-06-04T01:36:25.6042651Z ##[endgroup]
2026-06-04T01:36:25.6045521Z ##[group]Disabling automatic garbage collection
2026-06-04T01:36:25.6051292Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T01:36:25.6101448Z ##[endgroup]
2026-06-04T01:36:25.6103839Z ##[group]Setting up auth
2026-06-04T01:36:25.6112502Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T01:36:25.6166518Z [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-04T01:36:25.6473742Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T01:36:25.6521947Z [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-04T01:36:25.6830245Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T01:36:25.6883342Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T01:36:25.7201822Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T01:36:25.7282225Z ##[endgroup]
2026-06-04T01:36:25.7285643Z ##[group]Fetching the repository
2026-06-04T01:36:25.7307659Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +d70ced7d793e5a96185e5b178974545914ad5431:refs/remotes/origin/dev-freeform
2026-06-04T01:36:26.2971855Z ##[endgroup]
2026-06-04T01:36:26.2975414Z ##[group]Determining the checkout info
2026-06-04T01:36:26.2978439Z ##[endgroup]
2026-06-04T01:36:26.2980341Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T01:36:26.3030079Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T01:36:26.3074590Z ##[group]Checking out the ref
2026-06-04T01:36:26.3077626Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T01:36:26.3125399Z Switched to a new branch 'dev-freeform'
2026-06-04T01:36:26.3128114Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T01:36:26.3134059Z ##[endgroup]
2026-06-04T01:36:26.3182546Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T01:36:26.3214339Z d70ced7d793e5a96185e5b178974545914ad5431
2026-06-04T01:36:26.3643682Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T01:36:26.3645971Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T01:36:26.3648107Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T01:36:26.3650054Z [36;1melse[0m
2026-06-04T01:36:26.3651655Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T01:36:26.3654017Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T01:36:26.3655930Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T01:36:26.3657371Z [36;1mfi[0m
2026-06-04T01:36:26.3685246Z shell: /usr/bin/bash -e {0}
2026-06-04T01:36:26.3686613Z env:
2026-06-04T01:36:26.3689774Z   GH_TOKEN: ***
2026-06-04T01:36:26.3691129Z ##[endgroup]
2026-06-04T01:36:26.4047300Z ##[group]Run ./traceable-reqs check --json
2026-06-04T01:36:26.4049055Z [36;1m./traceable-reqs check --json[0m
2026-06-04T01:36:26.4071435Z shell: /usr/bin/bash -e {0}
2026-06-04T01:36:26.4072762Z ##[endgroup]
2026-06-04T01:36:26.4322803Z {
2026-06-04T01:36:26.4324068Z   "schemaVersion": 1,
2026-06-04T01:36:26.4325454Z   "summary": {
2026-06-04T01:36:26.4326754Z     "requirementCount": 126,
2026-06-04T01:36:26.4328290Z     "completeCount": 126,
2026-06-04T01:36:26.4329826Z     "incompleteCount": 0,
2026-06-04T01:36:26.4331229Z     "findingCount": 0
2026-06-04T01:36:26.4332502Z   },
2026-06-04T01:36:26.4333546Z   "requirements": [
2026-06-04T01:36:26.4334692Z     {
2026-06-04T01:36:26.4335855Z       "id": "REQ-API-1",
2026-06-04T01:36:26.4337689Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T01:36:26.4339920Z       "requiredStages": [
2026-06-04T01:36:26.4341261Z         "impl",
2026-06-04T01:36:26.4343204Z         "unit",
2026-06-04T01:36:26.4344482Z         "int"
2026-06-04T01:36:26.4345652Z       ],
2026-06-04T01:36:26.4346787Z       "stages": {
2026-06-04T01:36:26.4348695Z         "doc": {
2026-06-04T01:36:26.4350005Z           "complete": false,
2026-06-04T01:36:26.4351376Z           "evidence": []
2026-06-04T01:36:26.4352623Z         },
2026-06-04T01:36:26.4353685Z         "impl": {
2026-06-04T01:36:26.4354853Z           "complete": true,
2026-06-04T01:36:26.4356174Z           "evidence": [
2026-06-04T01:36:26.4357374Z             {
2026-06-04T01:36:26.4360419Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T01:36:26.4362095Z               "line": 15
2026-06-04T01:36:26.4363334Z             }
2026-06-04T01:36:26.4364420Z           ]
2026-06-04T01:36:26.4365473Z         },
2026-06-04T01:36:26.4366510Z         "int": {
2026-06-04T01:36:26.4367671Z           "complete": true,
2026-06-04T01:36:26.4368981Z           "evidence": [
2026-06-04T01:36:26.4370504Z             {
2026-06-04T01:36:26.4371971Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.4373757Z               "line": 13
2026-06-04T01:36:26.4375103Z             }
2026-06-04T01:36:26.4376210Z           ]
2026-06-04T01:36:26.4377273Z         },
2026-06-04T01:36:26.4378317Z         "unit": {
2026-06-04T01:36:26.4379555Z           "complete": true,
2026-06-04T01:36:26.4381040Z           "evidence": [
2026-06-04T01:36:26.4382377Z             {
2026-06-04T01:36:26.4383819Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T01:36:26.4385613Z               "line": 329
2026-06-04T01:36:26.4386952Z             },
2026-06-04T01:36:26.4388193Z             {
2026-06-04T01:36:26.4389669Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T01:36:26.4391700Z               "line": 335
2026-06-04T01:36:26.4393012Z             },
2026-06-04T01:36:26.4394167Z             {
2026-06-04T01:36:26.4395468Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T01:36:26.4397172Z               "line": 346
2026-06-04T01:36:26.4398642Z             }
2026-06-04T01:36:26.4401240Z           ]
2026-06-04T01:36:26.4402423Z         }
2026-06-04T01:36:26.4403548Z       }
2026-06-04T01:36:26.4404627Z     },
2026-06-04T01:36:26.4405762Z     {
2026-06-04T01:36:26.4406947Z       "id": "REQ-API-2",
2026-06-04T01:36:26.4409113Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T01:36:26.4411656Z       "requiredStages": [
2026-06-04T01:36:26.4412961Z         "impl",
2026-06-04T01:36:26.4441616Z         "unit",
2026-06-04T01:36:26.4443238Z         "int"
2026-06-04T01:36:26.4444324Z       ],
2026-06-04T01:36:26.4445383Z       "stages": {
2026-06-04T01:36:26.4446507Z         "doc": {
2026-06-04T01:36:26.4447693Z           "complete": false,
2026-06-04T01:36:26.4449031Z           "evidence": []
2026-06-04T01:36:26.4450347Z         },
2026-06-04T01:36:26.4451396Z         "impl": {
2026-06-04T01:36:26.4452560Z           "complete": true,
2026-06-04T01:36:26.4453874Z           "evidence": [
2026-06-04T01:36:26.4455739Z             {
2026-06-04T01:36:26.4457088Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T01:36:26.4458810Z               "line": 15
2026-06-04T01:36:26.4460184Z             },
2026-06-04T01:36:26.4461287Z             {
2026-06-04T01:36:26.4462564Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.4464243Z               "line": 20
2026-06-04T01:36:26.4465471Z             },
2026-06-04T01:36:26.4466552Z             {
2026-06-04T01:36:26.4467827Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.4469564Z               "line": 125
2026-06-04T01:36:26.4470809Z             },
2026-06-04T01:36:26.4471890Z             {
2026-06-04T01:36:26.4473203Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4474919Z               "line": 21
2026-06-04T01:36:26.4476138Z             },
2026-06-04T01:36:26.4477216Z             {
2026-06-04T01:36:26.4478510Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4480479Z               "line": 36
2026-06-04T01:36:26.4481707Z             },
2026-06-04T01:36:26.4482793Z             {
2026-06-04T01:36:26.4484100Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4485805Z               "line": 101
2026-06-04T01:36:26.4487038Z             },
2026-06-04T01:36:26.4488141Z             {
2026-06-04T01:36:26.4489490Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4491228Z               "line": 123
2026-06-04T01:36:26.4492493Z             },
2026-06-04T01:36:26.4493584Z             {
2026-06-04T01:36:26.4494912Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4496619Z               "line": 147
2026-06-04T01:36:26.4497877Z             },
2026-06-04T01:36:26.4499003Z             {
2026-06-04T01:36:26.4500440Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.4502055Z               "line": 17
2026-06-04T01:36:26.4503271Z             },
2026-06-04T01:36:26.4504372Z             {
2026-06-04T01:36:26.4505613Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.4507233Z               "line": 30
2026-06-04T01:36:26.4508445Z             },
2026-06-04T01:36:26.4509745Z             {
2026-06-04T01:36:26.4511134Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.4512759Z               "line": 63
2026-06-04T01:36:26.4513958Z             },
2026-06-04T01:36:26.4515018Z             {
2026-06-04T01:36:26.4516257Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.4517902Z               "line": 76
2026-06-04T01:36:26.4519116Z             }
2026-06-04T01:36:26.4520553Z           ]
2026-06-04T01:36:26.4521588Z         },
2026-06-04T01:36:26.4522613Z         "int": {
2026-06-04T01:36:26.4523756Z           "complete": true,
2026-06-04T01:36:26.4525046Z           "evidence": [
2026-06-04T01:36:26.4526237Z             {
2026-06-04T01:36:26.4527526Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.4529298Z               "line": 14
2026-06-04T01:36:26.4530866Z             },
2026-06-04T01:36:26.4531922Z             {
2026-06-04T01:36:26.4533196Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.4534885Z               "line": 151
2026-06-04T01:36:26.4536097Z             }
2026-06-04T01:36:26.4537151Z           ]
2026-06-04T01:36:26.4538189Z         },
2026-06-04T01:36:26.4539265Z         "unit": {
2026-06-04T01:36:26.4540747Z           "complete": true,
2026-06-04T01:36:26.4542035Z           "evidence": [
2026-06-04T01:36:26.4543489Z             {
2026-06-04T01:36:26.4545081Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T01:36:26.4546960Z               "line": 42
2026-06-04T01:36:26.4548343Z             },
2026-06-04T01:36:26.4549629Z             {
2026-06-04T01:36:26.4551046Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.4552706Z               "line": 204
2026-06-04T01:36:26.4553929Z             },
2026-06-04T01:36:26.4555332Z             {
2026-06-04T01:36:26.4556668Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4558335Z               "line": 220
2026-06-04T01:36:26.4559601Z             },
2026-06-04T01:36:26.4560681Z             {
2026-06-04T01:36:26.4561960Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4563649Z               "line": 231
2026-06-04T01:36:26.4564868Z             },
2026-06-04T01:36:26.4565941Z             {
2026-06-04T01:36:26.4567236Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4568907Z               "line": 267
2026-06-04T01:36:26.4570157Z             },
2026-06-04T01:36:26.4571219Z             {
2026-06-04T01:36:26.4572491Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4574176Z               "line": 279
2026-06-04T01:36:26.4575403Z             },
2026-06-04T01:36:26.4576466Z             {
2026-06-04T01:36:26.4577698Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.4579722Z               "line": 137
2026-06-04T01:36:26.4580953Z             },
2026-06-04T01:36:26.4582022Z             {
2026-06-04T01:36:26.4583267Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.4584896Z               "line": 172
2026-06-04T01:36:26.4586119Z             }
2026-06-04T01:36:26.4587165Z           ]
2026-06-04T01:36:26.4588181Z         }
2026-06-04T01:36:26.4589224Z       }
2026-06-04T01:36:26.4590206Z     },
2026-06-04T01:36:26.4591194Z     {
2026-06-04T01:36:26.4592209Z       "id": "REQ-API-3",
2026-06-04T01:36:26.4593752Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T01:36:26.4595566Z       "requiredStages": [
2026-06-04T01:36:26.4596797Z         "impl",
2026-06-04T01:36:26.4597854Z         "unit",
2026-06-04T01:36:26.4598892Z         "int"
2026-06-04T01:36:26.4599963Z       ],
2026-06-04T01:36:26.4600949Z       "stages": {
2026-06-04T01:36:26.4602016Z         "doc": {
2026-06-04T01:36:26.4603142Z           "complete": false,
2026-06-04T01:36:26.4604448Z           "evidence": []
2026-06-04T01:36:26.4605640Z         },
2026-06-04T01:36:26.4606642Z         "impl": {
2026-06-04T01:36:26.4607749Z           "complete": true,
2026-06-04T01:36:26.4609000Z           "evidence": [
2026-06-04T01:36:26.4610187Z             {
2026-06-04T01:36:26.4611403Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T01:36:26.4613002Z               "line": 14
2026-06-04T01:36:26.4614166Z             },
2026-06-04T01:36:26.4615225Z             {
2026-06-04T01:36:26.4616475Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4618105Z               "line": 157
2026-06-04T01:36:26.4619320Z             }
2026-06-04T01:36:26.4620339Z           ]
2026-06-04T01:36:26.4621358Z         },
2026-06-04T01:36:26.4622349Z         "int": {
2026-06-04T01:36:26.4623449Z           "complete": true,
2026-06-04T01:36:26.4624698Z           "evidence": [
2026-06-04T01:36:26.4625838Z             {
2026-06-04T01:36:26.4627104Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.4628743Z               "line": 203
2026-06-04T01:36:26.4629967Z             }
2026-06-04T01:36:26.4630996Z           ]
2026-06-04T01:36:26.4631976Z         },
2026-06-04T01:36:26.4632983Z         "unit": {
2026-06-04T01:36:26.4634092Z           "complete": true,
2026-06-04T01:36:26.4635331Z           "evidence": [
2026-06-04T01:36:26.4636457Z             {
2026-06-04T01:36:26.4637660Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T01:36:26.4639299Z               "line": 117
2026-06-04T01:36:26.4640478Z             },
2026-06-04T01:36:26.4641525Z             {
2026-06-04T01:36:26.4642758Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.4644380Z               "line": 288
2026-06-04T01:36:26.4645552Z             }
2026-06-04T01:36:26.4646559Z           ]
2026-06-04T01:36:26.4647546Z         }
2026-06-04T01:36:26.4648509Z       }
2026-06-04T01:36:26.4649504Z     },
2026-06-04T01:36:26.4650530Z     {
2026-06-04T01:36:26.4651720Z       "id": "REQ-ARCH-1",
2026-06-04T01:36:26.4653183Z       "title": "Many small acyclically-layered crates",
2026-06-04T01:36:26.4654865Z       "requiredStages": [
2026-06-04T01:36:26.4656076Z         "impl"
2026-06-04T01:36:26.4657104Z       ],
2026-06-04T01:36:26.4658088Z       "stages": {
2026-06-04T01:36:26.4659207Z         "doc": {
2026-06-04T01:36:26.4660315Z           "complete": false,
2026-06-04T01:36:26.4661598Z           "evidence": []
2026-06-04T01:36:26.4662777Z         },
2026-06-04T01:36:26.4663789Z         "impl": {
2026-06-04T01:36:26.4664893Z           "complete": true,
2026-06-04T01:36:26.4666130Z           "evidence": [
2026-06-04T01:36:26.4667261Z             {
2026-06-04T01:36:26.4668411Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T01:36:26.4669982Z               "line": 16
2026-06-04T01:36:26.4671156Z             },
2026-06-04T01:36:26.4672185Z             {
2026-06-04T01:36:26.4673348Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T01:36:26.4675094Z               "line": 12
2026-06-04T01:36:26.4676254Z             },
2026-06-04T01:36:26.4677277Z             {
2026-06-04T01:36:26.4678446Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T01:36:26.4680050Z               "line": 12
2026-06-04T01:36:26.4681205Z             }
2026-06-04T01:36:26.4682242Z           ]
2026-06-04T01:36:26.4683235Z         },
2026-06-04T01:36:26.4684222Z         "int": {
2026-06-04T01:36:26.4685314Z           "complete": false,
2026-06-04T01:36:26.4686573Z           "evidence": []
2026-06-04T01:36:26.4687736Z         },
2026-06-04T01:36:26.4688725Z         "unit": {
2026-06-04T01:36:26.4689873Z           "complete": false,
2026-06-04T01:36:26.4691157Z           "evidence": []
2026-06-04T01:36:26.4692318Z         }
2026-06-04T01:36:26.4693290Z       }
2026-06-04T01:36:26.4694250Z     },
2026-06-04T01:36:26.4695210Z     {
2026-06-04T01:36:26.4696207Z       "id": "REQ-ARCH-2",
2026-06-04T01:36:26.4697880Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T01:36:26.4699876Z       "requiredStages": [
2026-06-04T01:36:26.4701072Z         "impl"
2026-06-04T01:36:26.4702107Z       ],
2026-06-04T01:36:26.4703095Z       "stages": {
2026-06-04T01:36:26.4704143Z         "doc": {
2026-06-04T01:36:26.4705244Z           "complete": false,
2026-06-04T01:36:26.4706497Z           "evidence": []
2026-06-04T01:36:26.4707651Z         },
2026-06-04T01:36:26.4708639Z         "impl": {
2026-06-04T01:36:26.4709779Z           "complete": true,
2026-06-04T01:36:26.4711004Z           "evidence": [
2026-06-04T01:36:26.4712146Z             {
2026-06-04T01:36:26.4713344Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T01:36:26.4714895Z               "line": 18
2026-06-04T01:36:26.4716044Z             }
2026-06-04T01:36:26.4717049Z           ]
2026-06-04T01:36:26.4718036Z         },
2026-06-04T01:36:26.4719021Z         "int": {
2026-06-04T01:36:26.4720207Z           "complete": false,
2026-06-04T01:36:26.4721506Z           "evidence": []
2026-06-04T01:36:26.4722679Z         },
2026-06-04T01:36:26.4723666Z         "unit": {
2026-06-04T01:36:26.4724775Z           "complete": false,
2026-06-04T01:36:26.4726037Z           "evidence": []
2026-06-04T01:36:26.4727195Z         }
2026-06-04T01:36:26.4728162Z       }
2026-06-04T01:36:26.4729104Z     },
2026-06-04T01:36:26.4730101Z     {
2026-06-04T01:36:26.4731103Z       "id": "REQ-ARCH-3",
2026-06-04T01:36:26.4733028Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T01:36:26.4735235Z       "requiredStages": [
2026-06-04T01:36:26.4736422Z         "impl",
2026-06-04T01:36:26.4737464Z         "unit"
2026-06-04T01:36:26.4738482Z       ],
2026-06-04T01:36:26.4739501Z       "stages": {
2026-06-04T01:36:26.4740560Z         "doc": {
2026-06-04T01:36:26.4741646Z           "complete": false,
2026-06-04T01:36:26.4742922Z           "evidence": []
2026-06-04T01:36:26.4744086Z         },
2026-06-04T01:36:26.4745083Z         "impl": {
2026-06-04T01:36:26.4746377Z           "complete": true,
2026-06-04T01:36:26.4757739Z           "evidence": [
2026-06-04T01:36:26.4759102Z             {
2026-06-04T01:36:26.4760454Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T01:36:26.4762047Z               "line": 34
2026-06-04T01:36:26.4763200Z             },
2026-06-04T01:36:26.4764234Z             {
2026-06-04T01:36:26.4765457Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T01:36:26.4767044Z               "line": 41
2026-06-04T01:36:26.4768185Z             }
2026-06-04T01:36:26.4769226Z           ]
2026-06-04T01:36:26.4770203Z         },
2026-06-04T01:36:26.4771183Z         "int": {
2026-06-04T01:36:26.4772274Z           "complete": false,
2026-06-04T01:36:26.4773540Z           "evidence": []
2026-06-04T01:36:26.4774696Z         },
2026-06-04T01:36:26.4775678Z         "unit": {
2026-06-04T01:36:26.4776765Z           "complete": true,
2026-06-04T01:36:26.4777985Z           "evidence": [
2026-06-04T01:36:26.4779472Z             {
2026-06-04T01:36:26.4780712Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T01:36:26.4782269Z               "line": 51
2026-06-04T01:36:26.4783385Z             },
2026-06-04T01:36:26.4784380Z             {
2026-06-04T01:36:26.4785564Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T01:36:26.4787123Z               "line": 65
2026-06-04T01:36:26.4788232Z             },
2026-06-04T01:36:26.4789265Z             {
2026-06-04T01:36:26.4790462Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T01:36:26.4792002Z               "line": 74
2026-06-04T01:36:26.4793112Z             }
2026-06-04T01:36:26.4794105Z           ]
2026-06-04T01:36:26.4795060Z         }
2026-06-04T01:36:26.4795998Z       }
2026-06-04T01:36:26.4796908Z     },
2026-06-04T01:36:26.4797830Z     {
2026-06-04T01:36:26.4798788Z       "id": "REQ-ARCH-4",
2026-06-04T01:36:26.4800511Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T01:36:26.4802491Z       "requiredStages": [
2026-06-04T01:36:26.4803648Z         "impl",
2026-06-04T01:36:26.4804666Z         "unit"
2026-06-04T01:36:26.4805651Z       ],
2026-06-04T01:36:26.4806588Z       "stages": {
2026-06-04T01:36:26.4807612Z         "doc": {
2026-06-04T01:36:26.4808682Z           "complete": false,
2026-06-04T01:36:26.4809950Z           "evidence": []
2026-06-04T01:36:26.4811075Z         },
2026-06-04T01:36:26.4812034Z         "impl": {
2026-06-04T01:36:26.4813092Z           "complete": true,
2026-06-04T01:36:26.4814301Z           "evidence": [
2026-06-04T01:36:26.4815389Z             {
2026-06-04T01:36:26.4816546Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4818074Z               "line": 32
2026-06-04T01:36:26.4819221Z             },
2026-06-04T01:36:26.4820225Z             {
2026-06-04T01:36:26.4821391Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4823201Z               "line": 46
2026-06-04T01:36:26.4824513Z             },
2026-06-04T01:36:26.4825757Z             {
2026-06-04T01:36:26.4827084Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4829438Z               "line": 66
2026-06-04T01:36:26.4830887Z             },
2026-06-04T01:36:26.4831934Z             {
2026-06-04T01:36:26.4833175Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4834902Z               "line": 81
2026-06-04T01:36:26.4836262Z             },
2026-06-04T01:36:26.4837314Z             {
2026-06-04T01:36:26.4838495Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4840089Z               "line": 131
2026-06-04T01:36:26.4841240Z             }
2026-06-04T01:36:26.4842212Z           ]
2026-06-04T01:36:26.4843163Z         },
2026-06-04T01:36:26.4844115Z         "int": {
2026-06-04T01:36:26.4845175Z           "complete": false,
2026-06-04T01:36:26.4846389Z           "evidence": []
2026-06-04T01:36:26.4847508Z         },
2026-06-04T01:36:26.4848458Z         "unit": {
2026-06-04T01:36:26.4850100Z           "complete": true,
2026-06-04T01:36:26.4851511Z           "evidence": [
2026-06-04T01:36:26.4852606Z             {
2026-06-04T01:36:26.4861319Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4863025Z               "line": 195
2026-06-04T01:36:26.4864160Z             },
2026-06-04T01:36:26.4865142Z             {
2026-06-04T01:36:26.4866301Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4867817Z               "line": 205
2026-06-04T01:36:26.4868948Z             },
2026-06-04T01:36:26.4869993Z             {
2026-06-04T01:36:26.4871149Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4872674Z               "line": 216
2026-06-04T01:36:26.4873799Z             },
2026-06-04T01:36:26.4874775Z             {
2026-06-04T01:36:26.4875930Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4877457Z               "line": 227
2026-06-04T01:36:26.4878582Z             },
2026-06-04T01:36:26.4879612Z             {
2026-06-04T01:36:26.4881126Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4882650Z               "line": 239
2026-06-04T01:36:26.4883776Z             },
2026-06-04T01:36:26.4884763Z             {
2026-06-04T01:36:26.4885966Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4887590Z               "line": 252
2026-06-04T01:36:26.4888729Z             },
2026-06-04T01:36:26.4889784Z             {
2026-06-04T01:36:26.4890952Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4892479Z               "line": 263
2026-06-04T01:36:26.4893622Z             },
2026-06-04T01:36:26.4894618Z             {
2026-06-04T01:36:26.4895782Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4897302Z               "line": 277
2026-06-04T01:36:26.4898442Z             },
2026-06-04T01:36:26.4899485Z             {
2026-06-04T01:36:26.4900642Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T01:36:26.4902196Z               "line": 286
2026-06-04T01:36:26.4903341Z             }
2026-06-04T01:36:26.4904322Z           ]
2026-06-04T01:36:26.4905269Z         }
2026-06-04T01:36:26.4906213Z       }
2026-06-04T01:36:26.4907139Z     },
2026-06-04T01:36:26.4908064Z     {
2026-06-04T01:36:26.4909059Z       "id": "REQ-DAEMON-1",
2026-06-04T01:36:26.4910756Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T01:36:26.4912653Z       "requiredStages": [
2026-06-04T01:36:26.4913815Z         "impl",
2026-06-04T01:36:26.4914825Z         "unit",
2026-06-04T01:36:26.4915831Z         "int"
2026-06-04T01:36:26.4916819Z       ],
2026-06-04T01:36:26.4917772Z       "stages": {
2026-06-04T01:36:26.4918793Z         "doc": {
2026-06-04T01:36:26.4919915Z           "complete": false,
2026-06-04T01:36:26.4921142Z           "evidence": []
2026-06-04T01:36:26.4922278Z         },
2026-06-04T01:36:26.4923229Z         "impl": {
2026-06-04T01:36:26.4924295Z           "complete": true,
2026-06-04T01:36:26.4925514Z           "evidence": [
2026-06-04T01:36:26.4926620Z             {
2026-06-04T01:36:26.4927807Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.4929403Z               "line": 12
2026-06-04T01:36:26.4930525Z             },
2026-06-04T01:36:26.4931513Z             {
2026-06-04T01:36:26.4932719Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.4934288Z               "line": 16
2026-06-04T01:36:26.4935407Z             },
2026-06-04T01:36:26.4936397Z             {
2026-06-04T01:36:26.4937563Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T01:36:26.4939141Z               "line": 15
2026-06-04T01:36:26.4940306Z             },
2026-06-04T01:36:26.4941295Z             {
2026-06-04T01:36:26.4942426Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T01:36:26.4943919Z               "line": 13
2026-06-04T01:36:26.4945030Z             }
2026-06-04T01:36:26.4946004Z           ]
2026-06-04T01:36:26.4946942Z         },
2026-06-04T01:36:26.4947911Z         "int": {
2026-06-04T01:36:26.4949239Z           "complete": true,
2026-06-04T01:36:26.4950467Z           "evidence": [
2026-06-04T01:36:26.4951565Z             {
2026-06-04T01:36:26.4952807Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T01:36:26.4954431Z               "line": 32
2026-06-04T01:36:26.4955552Z             }
2026-06-04T01:36:26.4956536Z           ]
2026-06-04T01:36:26.4957486Z         },
2026-06-04T01:36:26.4965123Z         "unit": {
2026-06-04T01:36:26.4966257Z           "complete": true,
2026-06-04T01:36:26.4967451Z           "evidence": [
2026-06-04T01:36:26.4968543Z             {
2026-06-04T01:36:26.4969838Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.4971418Z               "line": 173
2026-06-04T01:36:26.4972542Z             },
2026-06-04T01:36:26.4973534Z             {
2026-06-04T01:36:26.4974713Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.4976262Z               "line": 181
2026-06-04T01:36:26.4977770Z             },
2026-06-04T01:36:26.4978752Z             {
2026-06-04T01:36:26.4980006Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.4981544Z               "line": 194
2026-06-04T01:36:26.4982670Z             },
2026-06-04T01:36:26.4983662Z             {
2026-06-04T01:36:26.4984845Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.4986390Z               "line": 202
2026-06-04T01:36:26.4987520Z             },
2026-06-04T01:36:26.4988507Z             {
2026-06-04T01:36:26.4989741Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.4991326Z               "line": 451
2026-06-04T01:36:26.4992480Z             },
2026-06-04T01:36:26.4993481Z             {
2026-06-04T01:36:26.4994687Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.4996274Z               "line": 510
2026-06-04T01:36:26.4997408Z             },
2026-06-04T01:36:26.4998582Z             {
2026-06-04T01:36:26.4999958Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T01:36:26.5001775Z               "line": 100
2026-06-04T01:36:26.5002975Z             },
2026-06-04T01:36:26.5004239Z             {
2026-06-04T01:36:26.5005747Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T01:36:26.5007595Z               "line": 125
2026-06-04T01:36:26.5009579Z             }
2026-06-04T01:36:26.5010837Z           ]
2026-06-04T01:36:26.5011893Z         }
2026-06-04T01:36:26.5013177Z       }
2026-06-04T01:36:26.5014419Z     },
2026-06-04T01:36:26.5015404Z     {
2026-06-04T01:36:26.5016899Z       "id": "REQ-DAEMON-2",
2026-06-04T01:36:26.5018631Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T01:36:26.5020806Z       "requiredStages": [
2026-06-04T01:36:26.5022160Z         "impl",
2026-06-04T01:36:26.5023644Z         "unit",
2026-06-04T01:36:26.5024791Z         "int"
2026-06-04T01:36:26.5025811Z       ],
2026-06-04T01:36:26.5027015Z       "stages": {
2026-06-04T01:36:26.5028158Z         "doc": {
2026-06-04T01:36:26.5029350Z           "complete": false,
2026-06-04T01:36:26.5030860Z           "evidence": []
2026-06-04T01:36:26.5032055Z         },
2026-06-04T01:36:26.5033051Z         "impl": {
2026-06-04T01:36:26.5034325Z           "complete": true,
2026-06-04T01:36:26.5035710Z           "evidence": [
2026-06-04T01:36:26.5036880Z             {
2026-06-04T01:36:26.5038079Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.5039863Z               "line": 23
2026-06-04T01:36:26.5040961Z             },
2026-06-04T01:36:26.5041927Z             {
2026-06-04T01:36:26.5043086Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.5044617Z               "line": 442
2026-06-04T01:36:26.5045731Z             },
2026-06-04T01:36:26.5046706Z             {
2026-06-04T01:36:26.5047852Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.5049395Z               "line": 552
2026-06-04T01:36:26.5050504Z             },
2026-06-04T01:36:26.5051487Z             {
2026-06-04T01:36:26.5052926Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.5054491Z               "line": 32
2026-06-04T01:36:26.5055573Z             },
2026-06-04T01:36:26.5056543Z             {
2026-06-04T01:36:26.5065811Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.5067559Z               "line": 186
2026-06-04T01:36:26.5068664Z             },
2026-06-04T01:36:26.5069736Z             {
2026-06-04T01:36:26.5070906Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.5072420Z               "line": 473
2026-06-04T01:36:26.5073529Z             },
2026-06-04T01:36:26.5074490Z             {
2026-06-04T01:36:26.5075646Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.5077176Z               "line": 642
2026-06-04T01:36:26.5078271Z             },
2026-06-04T01:36:26.5079278Z             {
2026-06-04T01:36:26.5080413Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T01:36:26.5082288Z               "line": 11
2026-06-04T01:36:26.5083384Z             },
2026-06-04T01:36:26.5084346Z             {
2026-06-04T01:36:26.5085504Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T01:36:26.5087020Z               "line": 53
2026-06-04T01:36:26.5088127Z             },
2026-06-04T01:36:26.5089099Z             {
2026-06-04T01:36:26.5090283Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T01:36:26.5091771Z               "line": 13
2026-06-04T01:36:26.5092865Z             },
2026-06-04T01:36:26.5093830Z             {
2026-06-04T01:36:26.5094983Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5096515Z               "line": 27
2026-06-04T01:36:26.5097615Z             },
2026-06-04T01:36:26.5098581Z             {
2026-06-04T01:36:26.5099794Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5101321Z               "line": 91
2026-06-04T01:36:26.5102408Z             },
2026-06-04T01:36:26.5103389Z             {
2026-06-04T01:36:26.5104558Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5106105Z               "line": 292
2026-06-04T01:36:26.5107213Z             },
2026-06-04T01:36:26.5108181Z             {
2026-06-04T01:36:26.5109383Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5110927Z               "line": 359
2026-06-04T01:36:26.5112028Z             },
2026-06-04T01:36:26.5112998Z             {
2026-06-04T01:36:26.5114188Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5115734Z               "line": 393
2026-06-04T01:36:26.5116853Z             },
2026-06-04T01:36:26.5117836Z             {
2026-06-04T01:36:26.5119010Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5120584Z               "line": 435
2026-06-04T01:36:26.5121698Z             },
2026-06-04T01:36:26.5122664Z             {
2026-06-04T01:36:26.5123837Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5125394Z               "line": 479
2026-06-04T01:36:26.5126516Z             },
2026-06-04T01:36:26.5127578Z             {
2026-06-04T01:36:26.5128769Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T01:36:26.5130357Z               "line": 10
2026-06-04T01:36:26.5131450Z             }
2026-06-04T01:36:26.5132407Z           ]
2026-06-04T01:36:26.5133338Z         },
2026-06-04T01:36:26.5134272Z         "int": {
2026-06-04T01:36:26.5135310Z           "complete": true,
2026-06-04T01:36:26.5136481Z           "evidence": [
2026-06-04T01:36:26.5137567Z             {
2026-06-04T01:36:26.5138742Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T01:36:26.5140351Z               "line": 17
2026-06-04T01:36:26.5141437Z             },
2026-06-04T01:36:26.5142415Z             {
2026-06-04T01:36:26.5143626Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T01:36:26.5145216Z               "line": 33
2026-06-04T01:36:26.5146312Z             },
2026-06-04T01:36:26.5147516Z             {
2026-06-04T01:36:26.5148735Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T01:36:26.5150338Z               "line": 19
2026-06-04T01:36:26.5151435Z             },
2026-06-04T01:36:26.5152406Z             {
2026-06-04T01:36:26.5153621Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T01:36:26.5155205Z               "line": 70
2026-06-04T01:36:26.5156304Z             },
2026-06-04T01:36:26.5157276Z             {
2026-06-04T01:36:26.5158499Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T01:36:26.5160117Z               "line": 90
2026-06-04T01:36:26.5161220Z             },
2026-06-04T01:36:26.5162177Z             {
2026-06-04T01:36:26.5163377Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T01:36:26.5171686Z               "line": 160
2026-06-04T01:36:26.5172834Z             },
2026-06-04T01:36:26.5173820Z             {
2026-06-04T01:36:26.5175069Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T01:36:26.5176925Z               "line": 196
2026-06-04T01:36:26.5178037Z             },
2026-06-04T01:36:26.5179002Z             {
2026-06-04T01:36:26.5180275Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T01:36:26.5181858Z               "line": 121
2026-06-04T01:36:26.5182968Z             }
2026-06-04T01:36:26.5183920Z           ]
2026-06-04T01:36:26.5184860Z         },
2026-06-04T01:36:26.5185782Z         "unit": {
2026-06-04T01:36:26.5186813Z           "complete": true,
2026-06-04T01:36:26.5187978Z           "evidence": [
2026-06-04T01:36:26.5189047Z             {
2026-06-04T01:36:26.5190214Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T01:36:26.5191700Z               "line": 62
2026-06-04T01:36:26.5192787Z             },
2026-06-04T01:36:26.5193766Z             {
2026-06-04T01:36:26.5194908Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T01:36:26.5196399Z               "line": 76
2026-06-04T01:36:26.5197512Z             },
2026-06-04T01:36:26.5198477Z             {
2026-06-04T01:36:26.5199654Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T01:36:26.5201148Z               "line": 88
2026-06-04T01:36:26.5202234Z             },
2026-06-04T01:36:26.5203203Z             {
2026-06-04T01:36:26.5204367Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T01:36:26.5205871Z               "line": 264
2026-06-04T01:36:26.5206977Z             },
2026-06-04T01:36:26.5207929Z             {
2026-06-04T01:36:26.5209041Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T01:36:26.5210550Z               "line": 426
2026-06-04T01:36:26.5211645Z             },
2026-06-04T01:36:26.5212600Z             {
2026-06-04T01:36:26.5213723Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T01:36:26.5215191Z               "line": 434
2026-06-04T01:36:26.5216297Z             },
2026-06-04T01:36:26.5217266Z             {
2026-06-04T01:36:26.5218394Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T01:36:26.5219918Z               "line": 451
2026-06-04T01:36:26.5221016Z             },
2026-06-04T01:36:26.5221976Z             {
2026-06-04T01:36:26.5223109Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T01:36:26.5224587Z               "line": 471
2026-06-04T01:36:26.5225686Z             },
2026-06-04T01:36:26.5226650Z             {
2026-06-04T01:36:26.5227818Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5229375Z               "line": 523
2026-06-04T01:36:26.5230486Z             },
2026-06-04T01:36:26.5231448Z             {
2026-06-04T01:36:26.5232612Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T01:36:26.5234158Z               "line": 535
2026-06-04T01:36:26.5235261Z             },
2026-06-04T01:36:26.5236229Z             {
2026-06-04T01:36:26.5237421Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T01:36:26.5238971Z               "line": 112
2026-06-04T01:36:26.5240298Z             }
2026-06-04T01:36:26.5241284Z           ]
2026-06-04T01:36:26.5242210Z         }
2026-06-04T01:36:26.5243124Z       }
2026-06-04T01:36:26.5244024Z     },
2026-06-04T01:36:26.5244931Z     {
2026-06-04T01:36:26.5245882Z       "id": "REQ-DAEMON-3",
2026-06-04T01:36:26.5247431Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T01:36:26.5249259Z       "requiredStages": [
2026-06-04T01:36:26.5250403Z         "impl",
2026-06-04T01:36:26.5251382Z         "unit",
2026-06-04T01:36:26.5252353Z         "int"
2026-06-04T01:36:26.5253312Z       ],
2026-06-04T01:36:26.5254236Z       "stages": {
2026-06-04T01:36:26.5255222Z         "doc": {
2026-06-04T01:36:26.5256249Z           "complete": false,
2026-06-04T01:36:26.5257429Z           "evidence": []
2026-06-04T01:36:26.5258515Z         },
2026-06-04T01:36:26.5259480Z         "impl": {
2026-06-04T01:36:26.5260527Z           "complete": true,
2026-06-04T01:36:26.5261684Z           "evidence": [
2026-06-04T01:36:26.5262940Z             {
2026-06-04T01:36:26.5264106Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T01:36:26.5265614Z               "line": 14
2026-06-04T01:36:26.5273195Z             },
2026-06-04T01:36:26.5274258Z             {
2026-06-04T01:36:26.5275433Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T01:36:26.5276963Z               "line": 11
2026-06-04T01:36:26.5278058Z             },
2026-06-04T01:36:26.5279039Z             {
2026-06-04T01:36:26.5280522Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T01:36:26.5281976Z               "line": 203
2026-06-04T01:36:26.5283074Z             },
2026-06-04T01:36:26.5284044Z             {
2026-06-04T01:36:26.5285110Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.5286528Z               "line": 233
2026-06-04T01:36:26.5287619Z             }
2026-06-04T01:36:26.5288575Z           ]
2026-06-04T01:36:26.5289721Z         },
2026-06-04T01:36:26.5290825Z         "int": {
2026-06-04T01:36:26.5291916Z           "complete": true,
2026-06-04T01:36:26.5293077Z           "evidence": [
2026-06-04T01:36:26.5294140Z             {
2026-06-04T01:36:26.5295288Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.5296793Z               "line": 43
2026-06-04T01:36:26.5297879Z             },
2026-06-04T01:36:26.5298856Z             {
2026-06-04T01:36:26.5300416Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.5301941Z               "line": 315
2026-06-04T01:36:26.5303039Z             }
2026-06-04T01:36:26.5303988Z           ]
2026-06-04T01:36:26.5304913Z         },
2026-06-04T01:36:26.5305836Z         "unit": {
2026-06-04T01:36:26.5306869Z           "complete": true,
2026-06-04T01:36:26.5308037Z           "evidence": [
2026-06-04T01:36:26.5309095Z             {
2026-06-04T01:36:26.5310622Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T01:36:26.5312152Z               "line": 217
2026-06-04T01:36:26.5313242Z             }
2026-06-04T01:36:26.5314208Z           ]
2026-06-04T01:36:26.5315134Z         }
2026-06-04T01:36:26.5316039Z       }
2026-06-04T01:36:26.5316929Z     },
2026-06-04T01:36:26.5317842Z     {
2026-06-04T01:36:26.5318779Z       "id": "REQ-DAEMON-4",
2026-06-04T01:36:26.5320464Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T01:36:26.5322012Z       "requiredStages": [
2026-06-04T01:36:26.5323130Z         "impl",
2026-06-04T01:36:26.5324108Z         "unit",
2026-06-04T01:36:26.5325090Z         "int"
2026-06-04T01:36:26.5326025Z       ],
2026-06-04T01:36:26.5326930Z       "stages": {
2026-06-04T01:36:26.5327931Z         "doc": {
2026-06-04T01:36:26.5328967Z           "complete": false,
2026-06-04T01:36:26.5330195Z           "evidence": []
2026-06-04T01:36:26.5331288Z         },
2026-06-04T01:36:26.5332208Z         "impl": {
2026-06-04T01:36:26.5333246Z           "complete": true,
2026-06-04T01:36:26.5334400Z           "evidence": [
2026-06-04T01:36:26.5335466Z             {
2026-06-04T01:36:26.5337008Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5338611Z               "line": 262
2026-06-04T01:36:26.5339784Z             },
2026-06-04T01:36:26.5340754Z             {
2026-06-04T01:36:26.5341925Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5343462Z               "line": 324
2026-06-04T01:36:26.5344562Z             },
2026-06-04T01:36:26.5345519Z             {
2026-06-04T01:36:26.5346684Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5348237Z               "line": 346
2026-06-04T01:36:26.5349389Z             }
2026-06-04T01:36:26.5350333Z           ]
2026-06-04T01:36:26.5351258Z         },
2026-06-04T01:36:26.5352181Z         "int": {
2026-06-04T01:36:26.5353201Z           "complete": true,
2026-06-04T01:36:26.5354361Z           "evidence": [
2026-06-04T01:36:26.5355428Z             {
2026-06-04T01:36:26.5356643Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T01:36:26.5358215Z               "line": 34
2026-06-04T01:36:26.5359581Z             }
2026-06-04T01:36:26.5360557Z           ]
2026-06-04T01:36:26.5361482Z         },
2026-06-04T01:36:26.5362402Z         "unit": {
2026-06-04T01:36:26.5363436Z           "complete": true,
2026-06-04T01:36:26.5364588Z           "evidence": [
2026-06-04T01:36:26.5365647Z             {
2026-06-04T01:36:26.5373528Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.5375061Z               "line": 248
2026-06-04T01:36:26.5376157Z             },
2026-06-04T01:36:26.5377114Z             {
2026-06-04T01:36:26.5378272Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5379883Z               "line": 533
2026-06-04T01:36:26.5380971Z             },
2026-06-04T01:36:26.5381931Z             {
2026-06-04T01:36:26.5383102Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5384631Z               "line": 584
2026-06-04T01:36:26.5385716Z             },
2026-06-04T01:36:26.5386669Z             {
2026-06-04T01:36:26.5387884Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5389438Z               "line": 608
2026-06-04T01:36:26.5390538Z             },
2026-06-04T01:36:26.5391491Z             {
2026-06-04T01:36:26.5392653Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5394191Z               "line": 638
2026-06-04T01:36:26.5395280Z             }
2026-06-04T01:36:26.5396216Z           ]
2026-06-04T01:36:26.5397146Z         }
2026-06-04T01:36:26.5398042Z       }
2026-06-04T01:36:26.5398917Z     },
2026-06-04T01:36:26.5399849Z     {
2026-06-04T01:36:26.5400843Z       "id": "REQ-DOCS-1",
2026-06-04T01:36:26.5402597Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T01:36:26.5404642Z       "requiredStages": [],
2026-06-04T01:36:26.5405781Z       "stages": {
2026-06-04T01:36:26.5406774Z         "doc": {
2026-06-04T01:36:26.5407812Z           "complete": false,
2026-06-04T01:36:26.5408982Z           "evidence": []
2026-06-04T01:36:26.5410126Z         },
2026-06-04T01:36:26.5411048Z         "impl": {
2026-06-04T01:36:26.5412081Z           "complete": false,
2026-06-04T01:36:26.5413266Z           "evidence": []
2026-06-04T01:36:26.5414340Z         },
2026-06-04T01:36:26.5415255Z         "int": {
2026-06-04T01:36:26.5416269Z           "complete": false,
2026-06-04T01:36:26.5417451Z           "evidence": []
2026-06-04T01:36:26.5418524Z         },
2026-06-04T01:36:26.5419480Z         "unit": {
2026-06-04T01:36:26.5420516Z           "complete": false,
2026-06-04T01:36:26.5421683Z           "evidence": []
2026-06-04T01:36:26.5422776Z         }
2026-06-04T01:36:26.5423691Z       }
2026-06-04T01:36:26.5424570Z     },
2026-06-04T01:36:26.5425463Z     {
2026-06-04T01:36:26.5426399Z       "id": "REQ-DOCS-2",
2026-06-04T01:36:26.5427931Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T01:36:26.5429752Z       "requiredStages": [],
2026-06-04T01:36:26.5430906Z       "stages": {
2026-06-04T01:36:26.5432211Z         "doc": {
2026-06-04T01:36:26.5433286Z           "complete": false,
2026-06-04T01:36:26.5434470Z           "evidence": []
2026-06-04T01:36:26.5435542Z         },
2026-06-04T01:36:26.5436471Z         "impl": {
2026-06-04T01:36:26.5437495Z           "complete": false,
2026-06-04T01:36:26.5438668Z           "evidence": []
2026-06-04T01:36:26.5439800Z         },
2026-06-04T01:36:26.5440720Z         "int": {
2026-06-04T01:36:26.5441751Z           "complete": false,
2026-06-04T01:36:26.5442914Z           "evidence": []
2026-06-04T01:36:26.5443987Z         },
2026-06-04T01:36:26.5444902Z         "unit": {
2026-06-04T01:36:26.5445915Z           "complete": false,
2026-06-04T01:36:26.5447079Z           "evidence": []
2026-06-04T01:36:26.5448152Z         }
2026-06-04T01:36:26.5449050Z       }
2026-06-04T01:36:26.5449978Z     },
2026-06-04T01:36:26.5450887Z     {
2026-06-04T01:36:26.5451811Z       "id": "REQ-DOCS-3",
2026-06-04T01:36:26.5453755Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T01:36:26.5455653Z       "requiredStages": [],
2026-06-04T01:36:26.5456820Z       "stages": {
2026-06-04T01:36:26.5457804Z         "doc": {
2026-06-04T01:36:26.5458827Z           "complete": false,
2026-06-04T01:36:26.5460056Z           "evidence": []
2026-06-04T01:36:26.5461154Z         },
2026-06-04T01:36:26.5462075Z         "impl": {
2026-06-04T01:36:26.5463104Z           "complete": false,
2026-06-04T01:36:26.5464273Z           "evidence": []
2026-06-04T01:36:26.5471920Z         },
2026-06-04T01:36:26.5473022Z         "int": {
2026-06-04T01:36:26.5474064Z           "complete": false,
2026-06-04T01:36:26.5475249Z           "evidence": []
2026-06-04T01:36:26.5476334Z         },
2026-06-04T01:36:26.5477278Z         "unit": {
2026-06-04T01:36:26.5478310Z           "complete": false,
2026-06-04T01:36:26.5479598Z           "evidence": []
2026-06-04T01:36:26.5480694Z         }
2026-06-04T01:36:26.5481598Z       }
2026-06-04T01:36:26.5482476Z     },
2026-06-04T01:36:26.5483377Z     {
2026-06-04T01:36:26.5484368Z       "id": "REQ-DOCS-4",
2026-06-04T01:36:26.5486105Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T01:36:26.5488120Z       "requiredStages": [],
2026-06-04T01:36:26.5489313Z       "stages": {
2026-06-04T01:36:26.5490316Z         "doc": {
2026-06-04T01:36:26.5491344Z           "complete": false,
2026-06-04T01:36:26.5492513Z           "evidence": []
2026-06-04T01:36:26.5493621Z         },
2026-06-04T01:36:26.5494550Z         "impl": {
2026-06-04T01:36:26.5495578Z           "complete": false,
2026-06-04T01:36:26.5496764Z           "evidence": []
2026-06-04T01:36:26.5497836Z         },
2026-06-04T01:36:26.5498749Z         "int": {
2026-06-04T01:36:26.5499845Z           "complete": false,
2026-06-04T01:36:26.5501071Z           "evidence": []
2026-06-04T01:36:26.5502159Z         },
2026-06-04T01:36:26.5503068Z         "unit": {
2026-06-04T01:36:26.5504114Z           "complete": false,
2026-06-04T01:36:26.5505290Z           "evidence": []
2026-06-04T01:36:26.5506408Z         }
2026-06-04T01:36:26.5507309Z       }
2026-06-04T01:36:26.5508202Z     },
2026-06-04T01:36:26.5509093Z     {
2026-06-04T01:36:26.5510083Z       "id": "REQ-DOCS-5",
2026-06-04T01:36:26.5511834Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T01:36:26.5513855Z       "requiredStages": [],
2026-06-04T01:36:26.5514994Z       "stages": {
2026-06-04T01:36:26.5515985Z         "doc": {
2026-06-04T01:36:26.5517014Z           "complete": false,
2026-06-04T01:36:26.5518180Z           "evidence": []
2026-06-04T01:36:26.5519308Z         },
2026-06-04T01:36:26.5520235Z         "impl": {
2026-06-04T01:36:26.5521257Z           "complete": false,
2026-06-04T01:36:26.5522417Z           "evidence": []
2026-06-04T01:36:26.5523486Z         },
2026-06-04T01:36:26.5524402Z         "int": {
2026-06-04T01:36:26.5525439Z           "complete": false,
2026-06-04T01:36:26.5526619Z           "evidence": []
2026-06-04T01:36:26.5527700Z         },
2026-06-04T01:36:26.5528965Z         "unit": {
2026-06-04T01:36:26.5530134Z           "complete": false,
2026-06-04T01:36:26.5531310Z           "evidence": []
2026-06-04T01:36:26.5532401Z         }
2026-06-04T01:36:26.5533314Z       }
2026-06-04T01:36:26.5534204Z     },
2026-06-04T01:36:26.5535102Z     {
2026-06-04T01:36:26.5536060Z       "id": "REQ-EP-1",
2026-06-04T01:36:26.5537375Z       "title": "Day-one endpoint types; open type system",
2026-06-04T01:36:26.5538952Z       "requiredStages": [
2026-06-04T01:36:26.5540140Z         "impl",
2026-06-04T01:36:26.5541114Z         "unit"
2026-06-04T01:36:26.5542067Z       ],
2026-06-04T01:36:26.5542977Z       "stages": {
2026-06-04T01:36:26.5543955Z         "doc": {
2026-06-04T01:36:26.5544979Z           "complete": false,
2026-06-04T01:36:26.5546154Z           "evidence": []
2026-06-04T01:36:26.5547242Z         },
2026-06-04T01:36:26.5548161Z         "impl": {
2026-06-04T01:36:26.5549216Z           "complete": true,
2026-06-04T01:36:26.5550369Z           "evidence": [
2026-06-04T01:36:26.5551610Z             {
2026-06-04T01:36:26.5552764Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5554264Z               "line": 77
2026-06-04T01:36:26.5555334Z             },
2026-06-04T01:36:26.5556288Z             {
2026-06-04T01:36:26.5557440Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5558939Z               "line": 94
2026-06-04T01:36:26.5560177Z             }
2026-06-04T01:36:26.5561134Z           ]
2026-06-04T01:36:26.5562050Z         },
2026-06-04T01:36:26.5569608Z         "int": {
2026-06-04T01:36:26.5570792Z           "complete": false,
2026-06-04T01:36:26.5571994Z           "evidence": []
2026-06-04T01:36:26.5573071Z         },
2026-06-04T01:36:26.5573996Z         "unit": {
2026-06-04T01:36:26.5575016Z           "complete": true,
2026-06-04T01:36:26.5576147Z           "evidence": [
2026-06-04T01:36:26.5577193Z             {
2026-06-04T01:36:26.5578341Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5579956Z               "line": 161
2026-06-04T01:36:26.5581055Z             },
2026-06-04T01:36:26.5582014Z             {
2026-06-04T01:36:26.5583169Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5584676Z               "line": 178
2026-06-04T01:36:26.5585762Z             }
2026-06-04T01:36:26.5586697Z           ]
2026-06-04T01:36:26.5587613Z         }
2026-06-04T01:36:26.5588511Z       }
2026-06-04T01:36:26.5589445Z     },
2026-06-04T01:36:26.5590337Z     {
2026-06-04T01:36:26.5591249Z       "id": "REQ-EP-2",
2026-06-04T01:36:26.5592756Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T01:36:26.5594557Z       "requiredStages": [
2026-06-04T01:36:26.5595666Z         "impl",
2026-06-04T01:36:26.5596634Z         "unit"
2026-06-04T01:36:26.5597576Z       ],
2026-06-04T01:36:26.5598479Z       "stages": {
2026-06-04T01:36:26.5599516Z         "doc": {
2026-06-04T01:36:26.5600522Z           "complete": false,
2026-06-04T01:36:26.5601719Z           "evidence": []
2026-06-04T01:36:26.5602798Z         },
2026-06-04T01:36:26.5603712Z         "impl": {
2026-06-04T01:36:26.5604734Z           "complete": true,
2026-06-04T01:36:26.5605877Z           "evidence": [
2026-06-04T01:36:26.5606922Z             {
2026-06-04T01:36:26.5608136Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5609674Z               "line": 114
2026-06-04T01:36:26.5610750Z             },
2026-06-04T01:36:26.5611708Z             {
2026-06-04T01:36:26.5612849Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5614324Z               "line": 131
2026-06-04T01:36:26.5615397Z             },
2026-06-04T01:36:26.5616346Z             {
2026-06-04T01:36:26.5617489Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5618987Z               "line": 138
2026-06-04T01:36:26.5620111Z             }
2026-06-04T01:36:26.5621048Z           ]
2026-06-04T01:36:26.5621957Z         },
2026-06-04T01:36:26.5622897Z         "int": {
2026-06-04T01:36:26.5624188Z           "complete": false,
2026-06-04T01:36:26.5625393Z           "evidence": []
2026-06-04T01:36:26.5626455Z         },
2026-06-04T01:36:26.5627388Z         "unit": {
2026-06-04T01:36:26.5628411Z           "complete": true,
2026-06-04T01:36:26.5629598Z           "evidence": [
2026-06-04T01:36:26.5630648Z             {
2026-06-04T01:36:26.5631804Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5633301Z               "line": 193
2026-06-04T01:36:26.5634383Z             },
2026-06-04T01:36:26.5635332Z             {
2026-06-04T01:36:26.5636483Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5637977Z               "line": 211
2026-06-04T01:36:26.5639064Z             },
2026-06-04T01:36:26.5640056Z             {
2026-06-04T01:36:26.5641196Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T01:36:26.5642682Z               "line": 224
2026-06-04T01:36:26.5643760Z             }
2026-06-04T01:36:26.5644886Z           ]
2026-06-04T01:36:26.5645800Z         }
2026-06-04T01:36:26.5646709Z       }
2026-06-04T01:36:26.5647594Z     },
2026-06-04T01:36:26.5648469Z     {
2026-06-04T01:36:26.5649428Z       "id": "REQ-EP-3",
2026-06-04T01:36:26.5651084Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T01:36:26.5653024Z       "requiredStages": [
2026-06-04T01:36:26.5654131Z         "impl",
2026-06-04T01:36:26.5655104Z         "unit"
2026-06-04T01:36:26.5656049Z       ],
2026-06-04T01:36:26.5656969Z       "stages": {
2026-06-04T01:36:26.5657950Z         "doc": {
2026-06-04T01:36:26.5658976Z           "complete": false,
2026-06-04T01:36:26.5666640Z           "evidence": []
2026-06-04T01:36:26.5667878Z         },
2026-06-04T01:36:26.5668790Z         "impl": {
2026-06-04T01:36:26.5669953Z           "complete": true,
2026-06-04T01:36:26.5671102Z           "evidence": [
2026-06-04T01:36:26.5672152Z             {
2026-06-04T01:36:26.5673337Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5674829Z               "line": 31
2026-06-04T01:36:26.5675899Z             },
2026-06-04T01:36:26.5676852Z             {
2026-06-04T01:36:26.5678000Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5679519Z               "line": 49
2026-06-04T01:36:26.5680611Z             }
2026-06-04T01:36:26.5681546Z           ]
2026-06-04T01:36:26.5682476Z         },
2026-06-04T01:36:26.5683390Z         "int": {
2026-06-04T01:36:26.5684410Z           "complete": false,
2026-06-04T01:36:26.5685581Z           "evidence": []
2026-06-04T01:36:26.5686654Z         },
2026-06-04T01:36:26.5687568Z         "unit": {
2026-06-04T01:36:26.5688594Z           "complete": true,
2026-06-04T01:36:26.5689763Z           "evidence": [
2026-06-04T01:36:26.5690804Z             {
2026-06-04T01:36:26.5691951Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5693427Z               "line": 156
2026-06-04T01:36:26.5694506Z             },
2026-06-04T01:36:26.5695475Z             {
2026-06-04T01:36:26.5696616Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5698094Z               "line": 164
2026-06-04T01:36:26.5699205Z             },
2026-06-04T01:36:26.5700153Z             {
2026-06-04T01:36:26.5701305Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5702784Z               "line": 177
2026-06-04T01:36:26.5703861Z             },
2026-06-04T01:36:26.5704820Z             {
2026-06-04T01:36:26.5705968Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5707446Z               "line": 197
2026-06-04T01:36:26.5708534Z             },
2026-06-04T01:36:26.5709522Z             {
2026-06-04T01:36:26.5710670Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5712150Z               "line": 213
2026-06-04T01:36:26.5713220Z             },
2026-06-04T01:36:26.5714173Z             {
2026-06-04T01:36:26.5715313Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T01:36:26.5717084Z               "line": 227
2026-06-04T01:36:26.5718199Z             }
2026-06-04T01:36:26.5719148Z           ]
2026-06-04T01:36:26.5720098Z         }
2026-06-04T01:36:26.5720998Z       }
2026-06-04T01:36:26.5721880Z     },
2026-06-04T01:36:26.5722767Z     {
2026-06-04T01:36:26.5723677Z       "id": "REQ-EP-4",
2026-06-04T01:36:26.5725084Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T01:36:26.5726766Z       "requiredStages": [],
2026-06-04T01:36:26.5727902Z       "stages": {
2026-06-04T01:36:26.5728878Z         "doc": {
2026-06-04T01:36:26.5729931Z           "complete": false,
2026-06-04T01:36:26.5731114Z           "evidence": []
2026-06-04T01:36:26.5732183Z         },
2026-06-04T01:36:26.5733115Z         "impl": {
2026-06-04T01:36:26.5734138Z           "complete": false,
2026-06-04T01:36:26.5735306Z           "evidence": []
2026-06-04T01:36:26.5736378Z         },
2026-06-04T01:36:26.5737289Z         "int": {
2026-06-04T01:36:26.5738297Z           "complete": false,
2026-06-04T01:36:26.5739712Z           "evidence": []
2026-06-04T01:36:26.5740793Z         },
2026-06-04T01:36:26.5741716Z         "unit": {
2026-06-04T01:36:26.5742733Z           "complete": false,
2026-06-04T01:36:26.5743893Z           "evidence": []
2026-06-04T01:36:26.5744954Z         }
2026-06-04T01:36:26.5745851Z       }
2026-06-04T01:36:26.5746730Z     },
2026-06-04T01:36:26.5747613Z     {
2026-06-04T01:36:26.5748543Z       "id": "REQ-EP-5",
2026-06-04T01:36:26.5753264Z       "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-04T01:36:26.5758276Z       "requiredStages": [],
2026-06-04T01:36:26.5759439Z       "stages": {
2026-06-04T01:36:26.5760425Z         "doc": {
2026-06-04T01:36:26.5761443Z           "complete": false,
2026-06-04T01:36:26.5762611Z           "evidence": []
2026-06-04T01:36:26.5763716Z         },
2026-06-04T01:36:26.5764642Z         "impl": {
2026-06-04T01:36:26.5765660Z           "complete": false,
2026-06-04T01:36:26.5766827Z           "evidence": []
2026-06-04T01:36:26.5767898Z         },
2026-06-04T01:36:26.5768812Z         "int": {
2026-06-04T01:36:26.5769882Z           "complete": false,
2026-06-04T01:36:26.5771065Z           "evidence": []
2026-06-04T01:36:26.5772143Z         },
2026-06-04T01:36:26.5773076Z         "unit": {
2026-06-04T01:36:26.5774107Z           "complete": false,
2026-06-04T01:36:26.5775275Z           "evidence": []
2026-06-04T01:36:26.5776356Z         }
2026-06-04T01:36:26.5777264Z       }
2026-06-04T01:36:26.5784209Z     },
2026-06-04T01:36:26.5785166Z     {
2026-06-04T01:36:26.5786117Z       "id": "REQ-FRONT-1",
2026-06-04T01:36:26.5787749Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T01:36:26.5789727Z       "requiredStages": [],
2026-06-04T01:36:26.5790871Z       "stages": {
2026-06-04T01:36:26.5791924Z         "doc": {
2026-06-04T01:36:26.5792945Z           "complete": false,
2026-06-04T01:36:26.5794105Z           "evidence": []
2026-06-04T01:36:26.5795174Z         },
2026-06-04T01:36:26.5796096Z         "impl": {
2026-06-04T01:36:26.5797119Z           "complete": false,
2026-06-04T01:36:26.5798283Z           "evidence": []
2026-06-04T01:36:26.5799400Z         },
2026-06-04T01:36:26.5800323Z         "int": {
2026-06-04T01:36:26.5801348Z           "complete": false,
2026-06-04T01:36:26.5802514Z           "evidence": []
2026-06-04T01:36:26.5803575Z         },
2026-06-04T01:36:26.5804496Z         "unit": {
2026-06-04T01:36:26.5805522Z           "complete": false,
2026-06-04T01:36:26.5806681Z           "evidence": []
2026-06-04T01:36:26.5807750Z         }
2026-06-04T01:36:26.5808639Z       }
2026-06-04T01:36:26.5809560Z     },
2026-06-04T01:36:26.5810447Z     {
2026-06-04T01:36:26.5811527Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T01:36:26.5813633Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T01:36:26.5815531Z       "requiredStages": [
2026-06-04T01:36:26.5816635Z         "impl",
2026-06-04T01:36:26.5817599Z         "unit"
2026-06-04T01:36:26.5818545Z       ],
2026-06-04T01:36:26.5819505Z       "stages": {
2026-06-04T01:36:26.5820940Z         "doc": {
2026-06-04T01:36:26.5822274Z           "complete": false,
2026-06-04T01:36:26.5823723Z           "evidence": []
2026-06-04T01:36:26.5825131Z         },
2026-06-04T01:36:26.5826084Z         "impl": {
2026-06-04T01:36:26.5827128Z           "complete": true,
2026-06-04T01:36:26.5828586Z           "evidence": [
2026-06-04T01:36:26.5829735Z             {
2026-06-04T01:36:26.5830895Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.5832538Z               "line": 60
2026-06-04T01:36:26.5833617Z             },
2026-06-04T01:36:26.5834590Z             {
2026-06-04T01:36:26.5835701Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.5837164Z               "line": 18
2026-06-04T01:36:26.5838613Z             },
2026-06-04T01:36:26.5839632Z             {
2026-06-04T01:36:26.5840731Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.5842699Z               "line": 94
2026-06-04T01:36:26.5843994Z             }
2026-06-04T01:36:26.5844935Z           ]
2026-06-04T01:36:26.5845853Z         },
2026-06-04T01:36:26.5846788Z         "int": {
2026-06-04T01:36:26.5847918Z           "complete": false,
2026-06-04T01:36:26.5849095Z           "evidence": []
2026-06-04T01:36:26.5850245Z         },
2026-06-04T01:36:26.5851180Z         "unit": {
2026-06-04T01:36:26.5852213Z           "complete": true,
2026-06-04T01:36:26.5853359Z           "evidence": [
2026-06-04T01:36:26.5854420Z             {
2026-06-04T01:36:26.5855577Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.5857070Z               "line": 255
2026-06-04T01:36:26.5858178Z             },
2026-06-04T01:36:26.5859261Z             {
2026-06-04T01:36:26.5860411Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.5861880Z               "line": 152
2026-06-04T01:36:26.5862966Z             },
2026-06-04T01:36:26.5863909Z             {
2026-06-04T01:36:26.5865006Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.5866440Z               "line": 188
2026-06-04T01:36:26.5867519Z             }
2026-06-04T01:36:26.5868455Z           ]
2026-06-04T01:36:26.5869414Z         }
2026-06-04T01:36:26.5870316Z       }
2026-06-04T01:36:26.5871200Z     },
2026-06-04T01:36:26.5872095Z     {
2026-06-04T01:36:26.5873095Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T01:36:26.5875139Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T01:36:26.5877282Z       "requiredStages": [
2026-06-04T01:36:26.5878394Z         "impl",
2026-06-04T01:36:26.5879412Z         "unit"
2026-06-04T01:36:26.5911100Z       ],
2026-06-04T01:36:26.5912130Z       "stages": {
2026-06-04T01:36:26.5913134Z         "doc": {
2026-06-04T01:36:26.5914257Z           "complete": false,
2026-06-04T01:36:26.5915437Z           "evidence": []
2026-06-04T01:36:26.5916503Z         },
2026-06-04T01:36:26.5917441Z         "impl": {
2026-06-04T01:36:26.5918459Z           "complete": true,
2026-06-04T01:36:26.5920006Z           "evidence": [
2026-06-04T01:36:26.5921061Z             {
2026-06-04T01:36:26.5922164Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T01:36:26.5923609Z               "line": 164
2026-06-04T01:36:26.5924687Z             }
2026-06-04T01:36:26.5925612Z           ]
2026-06-04T01:36:26.5926527Z         },
2026-06-04T01:36:26.5927427Z         "int": {
2026-06-04T01:36:26.5928435Z           "complete": true,
2026-06-04T01:36:26.5929796Z           "evidence": [
2026-06-04T01:36:26.5931011Z             {
2026-06-04T01:36:26.5932094Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T01:36:26.5933514Z               "line": 44
2026-06-04T01:36:26.5934570Z             },
2026-06-04T01:36:26.5935508Z             {
2026-06-04T01:36:26.5937050Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T01:36:26.5938520Z               "line": 66
2026-06-04T01:36:26.5939810Z             }
2026-06-04T01:36:26.5940899Z           ]
2026-06-04T01:36:26.5941815Z         },
2026-06-04T01:36:26.5942723Z         "unit": {
2026-06-04T01:36:26.5943740Z           "complete": true,
2026-06-04T01:36:26.5944883Z           "evidence": [
2026-06-04T01:36:26.5945934Z             {
2026-06-04T01:36:26.5947041Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T01:36:26.5948487Z               "line": 181
2026-06-04T01:36:26.5950190Z             },
2026-06-04T01:36:26.5951147Z             {
2026-06-04T01:36:26.5952254Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T01:36:26.5953695Z               "line": 233
2026-06-04T01:36:26.5954768Z             },
2026-06-04T01:36:26.5955713Z             {
2026-06-04T01:36:26.5956827Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T01:36:26.5958498Z               "line": 261
2026-06-04T01:36:26.5959806Z             }
2026-06-04T01:36:26.5960909Z           ]
2026-06-04T01:36:26.5961813Z         }
2026-06-04T01:36:26.5962707Z       }
2026-06-04T01:36:26.5963586Z     },
2026-06-04T01:36:26.5964471Z     {
2026-06-04T01:36:26.5965644Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T01:36:26.5969217Z       "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-04T01:36:26.5972990Z       "requiredStages": [
2026-06-04T01:36:26.5974097Z         "impl",
2026-06-04T01:36:26.5975063Z         "unit",
2026-06-04T01:36:26.5976024Z         "int"
2026-06-04T01:36:26.5976952Z       ],
2026-06-04T01:36:26.5977858Z       "stages": {
2026-06-04T01:36:26.5978850Z         "doc": {
2026-06-04T01:36:26.5980236Z           "complete": false,
2026-06-04T01:36:26.5981402Z           "evidence": []
2026-06-04T01:36:26.5982485Z         },
2026-06-04T01:36:26.5983441Z         "impl": {
2026-06-04T01:36:26.5984479Z           "complete": true,
2026-06-04T01:36:26.5985622Z           "evidence": [
2026-06-04T01:36:26.5986661Z             {
2026-06-04T01:36:26.5987811Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5989662Z               "line": 133
2026-06-04T01:36:26.5990767Z             },
2026-06-04T01:36:26.5991710Z             {
2026-06-04T01:36:26.5992871Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.5994397Z               "line": 152
2026-06-04T01:36:26.5995478Z             },
2026-06-04T01:36:26.5996698Z             {
2026-06-04T01:36:26.5998007Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.5999661Z               "line": 79
2026-06-04T01:36:26.6000910Z             },
2026-06-04T01:36:26.6001881Z             {
2026-06-04T01:36:26.6002963Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.6004387Z               "line": 51
2026-06-04T01:36:26.6005484Z             },
2026-06-04T01:36:26.6006434Z             {
2026-06-04T01:36:26.6007537Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6014415Z               "line": 93
2026-06-04T01:36:26.6015657Z             },
2026-06-04T01:36:26.6016615Z             {
2026-06-04T01:36:26.6017756Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6019330Z               "line": 27
2026-06-04T01:36:26.6020416Z             },
2026-06-04T01:36:26.6021374Z             {
2026-06-04T01:36:26.6022512Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6023991Z               "line": 79
2026-06-04T01:36:26.6025064Z             },
2026-06-04T01:36:26.6026008Z             {
2026-06-04T01:36:26.6027142Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6028616Z               "line": 102
2026-06-04T01:36:26.6029743Z             },
2026-06-04T01:36:26.6030686Z             {
2026-06-04T01:36:26.6032137Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6033691Z               "line": 102
2026-06-04T01:36:26.6034777Z             }
2026-06-04T01:36:26.6035708Z           ]
2026-06-04T01:36:26.6036619Z         },
2026-06-04T01:36:26.6037527Z         "int": {
2026-06-04T01:36:26.6038530Z           "complete": true,
2026-06-04T01:36:26.6039728Z           "evidence": [
2026-06-04T01:36:26.6040776Z             {
2026-06-04T01:36:26.6041955Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T01:36:26.6043485Z               "line": 35
2026-06-04T01:36:26.6044554Z             }
2026-06-04T01:36:26.6045487Z           ]
2026-06-04T01:36:26.6046400Z         },
2026-06-04T01:36:26.6047314Z         "unit": {
2026-06-04T01:36:26.6048339Z           "complete": true,
2026-06-04T01:36:26.6049536Z           "evidence": [
2026-06-04T01:36:26.6050567Z             {
2026-06-04T01:36:26.6051718Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.6053232Z               "line": 467
2026-06-04T01:36:26.6054496Z             },
2026-06-04T01:36:26.6055445Z             {
2026-06-04T01:36:26.6056553Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6057971Z               "line": 212
2026-06-04T01:36:26.6059038Z             },
2026-06-04T01:36:26.6060022Z             {
2026-06-04T01:36:26.6061155Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6062629Z               "line": 124
2026-06-04T01:36:26.6063713Z             },
2026-06-04T01:36:26.6064650Z             {
2026-06-04T01:36:26.6065787Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6067257Z               "line": 136
2026-06-04T01:36:26.6068321Z             },
2026-06-04T01:36:26.6069310Z             {
2026-06-04T01:36:26.6070458Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6071928Z               "line": 146
2026-06-04T01:36:26.6073008Z             },
2026-06-04T01:36:26.6073942Z             {
2026-06-04T01:36:26.6075095Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6076561Z               "line": 159
2026-06-04T01:36:26.6077639Z             },
2026-06-04T01:36:26.6078578Z             {
2026-06-04T01:36:26.6079765Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T01:36:26.6081228Z               "line": 171
2026-06-04T01:36:26.6082321Z             },
2026-06-04T01:36:26.6083263Z             {
2026-06-04T01:36:26.6084396Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6085855Z               "line": 201
2026-06-04T01:36:26.6086927Z             }
2026-06-04T01:36:26.6087856Z           ]
2026-06-04T01:36:26.6088763Z         }
2026-06-04T01:36:26.6089689Z       }
2026-06-04T01:36:26.6090571Z     },
2026-06-04T01:36:26.6091462Z     {
2026-06-04T01:36:26.6092536Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T01:36:26.6097488Z       "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-04T01:36:26.6102439Z       "requiredStages": [],
2026-06-04T01:36:26.6103567Z       "stages": {
2026-06-04T01:36:26.6104546Z         "doc": {
2026-06-04T01:36:26.6106012Z           "complete": false,
2026-06-04T01:36:26.6107633Z           "evidence": []
2026-06-04T01:36:26.6108730Z         },
2026-06-04T01:36:26.6109723Z         "impl": {
2026-06-04T01:36:26.6110742Z           "complete": false,
2026-06-04T01:36:26.6111896Z           "evidence": []
2026-06-04T01:36:26.6112954Z         },
2026-06-04T01:36:26.6113871Z         "int": {
2026-06-04T01:36:26.6119357Z           "complete": false,
2026-06-04T01:36:26.6120572Z           "evidence": []
2026-06-04T01:36:26.6121661Z         },
2026-06-04T01:36:26.6122575Z         "unit": {
2026-06-04T01:36:26.6123595Z           "complete": false,
2026-06-04T01:36:26.6124741Z           "evidence": []
2026-06-04T01:36:26.6126124Z         }
2026-06-04T01:36:26.6127067Z       }
2026-06-04T01:36:26.6127956Z     },
2026-06-04T01:36:26.6128843Z     {
2026-06-04T01:36:26.6129871Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T01:36:26.6131772Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T01:36:26.6133680Z       "requiredStages": [
2026-06-04T01:36:26.6134795Z         "impl",
2026-06-04T01:36:26.6135763Z         "unit"
2026-06-04T01:36:26.6136705Z       ],
2026-06-04T01:36:26.6137604Z       "stages": {
2026-06-04T01:36:26.6138571Z         "doc": {
2026-06-04T01:36:26.6139627Z           "complete": false,
2026-06-04T01:36:26.6140796Z           "evidence": []
2026-06-04T01:36:26.6141867Z         },
2026-06-04T01:36:26.6142782Z         "impl": {
2026-06-04T01:36:26.6143795Z           "complete": true,
2026-06-04T01:36:26.6144926Z           "evidence": [
2026-06-04T01:36:26.6145954Z             {
2026-06-04T01:36:26.6147053Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6148669Z               "line": 40
2026-06-04T01:36:26.6149777Z             },
2026-06-04T01:36:26.6150735Z             {
2026-06-04T01:36:26.6151832Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6153250Z               "line": 88
2026-06-04T01:36:26.6154310Z             },
2026-06-04T01:36:26.6155252Z             {
2026-06-04T01:36:26.6156346Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6157771Z               "line": 133
2026-06-04T01:36:26.6158829Z             },
2026-06-04T01:36:26.6159831Z             {
2026-06-04T01:36:26.6160932Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6162353Z               "line": 215
2026-06-04T01:36:26.6163410Z             }
2026-06-04T01:36:26.6164329Z           ]
2026-06-04T01:36:26.6165222Z         },
2026-06-04T01:36:26.6166135Z         "int": {
2026-06-04T01:36:26.6167153Z           "complete": false,
2026-06-04T01:36:26.6168306Z           "evidence": []
2026-06-04T01:36:26.6169446Z         },
2026-06-04T01:36:26.6170358Z         "unit": {
2026-06-04T01:36:26.6171363Z           "complete": true,
2026-06-04T01:36:26.6172490Z           "evidence": [
2026-06-04T01:36:26.6173528Z             {
2026-06-04T01:36:26.6174624Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6176059Z               "line": 250
2026-06-04T01:36:26.6177131Z             },
2026-06-04T01:36:26.6178086Z             {
2026-06-04T01:36:26.6179228Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6180668Z               "line": 296
2026-06-04T01:36:26.6181731Z             },
2026-06-04T01:36:26.6182675Z             {
2026-06-04T01:36:26.6183786Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6185211Z               "line": 337
2026-06-04T01:36:26.6186277Z             },
2026-06-04T01:36:26.6187212Z             {
2026-06-04T01:36:26.6188328Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6189825Z               "line": 356
2026-06-04T01:36:26.6190892Z             }
2026-06-04T01:36:26.6191821Z           ]
2026-06-04T01:36:26.6192721Z         }
2026-06-04T01:36:26.6193602Z       }
2026-06-04T01:36:26.6194473Z     },
2026-06-04T01:36:26.6195351Z     {
2026-06-04T01:36:26.6196429Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T01:36:26.6198056Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T01:36:26.6199605Z       "requiredStages": [
2026-06-04T01:36:26.6200698Z         "impl",
2026-06-04T01:36:26.6201655Z         "unit"
2026-06-04T01:36:26.6202601Z       ],
2026-06-04T01:36:26.6203492Z       "stages": {
2026-06-04T01:36:26.6204452Z         "doc": {
2026-06-04T01:36:26.6205460Z           "complete": false,
2026-06-04T01:36:26.6206620Z           "evidence": []
2026-06-04T01:36:26.6207673Z         },
2026-06-04T01:36:26.6208590Z         "impl": {
2026-06-04T01:36:26.6213783Z           "complete": true,
2026-06-04T01:36:26.6214954Z           "evidence": [
2026-06-04T01:36:26.6216284Z             {
2026-06-04T01:36:26.6217426Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6218859Z               "line": 101
2026-06-04T01:36:26.6220040Z             },
2026-06-04T01:36:26.6220988Z             {
2026-06-04T01:36:26.6222085Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6223530Z               "line": 126
2026-06-04T01:36:26.6224599Z             }
2026-06-04T01:36:26.6225525Z           ]
2026-06-04T01:36:26.6226435Z         },
2026-06-04T01:36:26.6227341Z         "int": {
2026-06-04T01:36:26.6228347Z           "complete": false,
2026-06-04T01:36:26.6229549Z           "evidence": []
2026-06-04T01:36:26.6230618Z         },
2026-06-04T01:36:26.6231525Z         "unit": {
2026-06-04T01:36:26.6232523Z           "complete": true,
2026-06-04T01:36:26.6233644Z           "evidence": [
2026-06-04T01:36:26.6234672Z             {
2026-06-04T01:36:26.6235760Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6237412Z               "line": 271
2026-06-04T01:36:26.6238477Z             },
2026-06-04T01:36:26.6239454Z             {
2026-06-04T01:36:26.6240544Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6241955Z               "line": 315
2026-06-04T01:36:26.6243010Z             }
2026-06-04T01:36:26.6243940Z           ]
2026-06-04T01:36:26.6244842Z         }
2026-06-04T01:36:26.6245731Z       }
2026-06-04T01:36:26.6246595Z     },
2026-06-04T01:36:26.6247479Z     {
2026-06-04T01:36:26.6248546Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T01:36:26.6250783Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T01:36:26.6252882Z       "requiredStages": [
2026-06-04T01:36:26.6253966Z         "impl",
2026-06-04T01:36:26.6254916Z         "unit"
2026-06-04T01:36:26.6255848Z       ],
2026-06-04T01:36:26.6256750Z       "stages": {
2026-06-04T01:36:26.6257717Z         "doc": {
2026-06-04T01:36:26.6258723Z           "complete": false,
2026-06-04T01:36:26.6259938Z           "evidence": []
2026-06-04T01:36:26.6260999Z         },
2026-06-04T01:36:26.6261907Z         "impl": {
2026-06-04T01:36:26.6262351Z           "complete": true,
2026-06-04T01:36:26.6262775Z           "evidence": [
2026-06-04T01:36:26.6263170Z             {
2026-06-04T01:36:26.6263741Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6264160Z               "line": 21
2026-06-04T01:36:26.6264548Z             },
2026-06-04T01:36:26.6264945Z             {
2026-06-04T01:36:26.6265524Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6265939Z               "line": 152
2026-06-04T01:36:26.6266339Z             }
2026-06-04T01:36:26.6266733Z           ]
2026-06-04T01:36:26.6267126Z         },
2026-06-04T01:36:26.6267524Z         "int": {
2026-06-04T01:36:26.6267968Z           "complete": false,
2026-06-04T01:36:26.6268392Z           "evidence": []
2026-06-04T01:36:26.6268785Z         },
2026-06-04T01:36:26.6269236Z         "unit": {
2026-06-04T01:36:26.6269701Z           "complete": true,
2026-06-04T01:36:26.6270135Z           "evidence": [
2026-06-04T01:36:26.6270524Z             {
2026-06-04T01:36:26.6271099Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6271527Z               "line": 169
2026-06-04T01:36:26.6271915Z             },
2026-06-04T01:36:26.6272307Z             {
2026-06-04T01:36:26.6272867Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6273296Z               "line": 176
2026-06-04T01:36:26.6273689Z             },
2026-06-04T01:36:26.6274087Z             {
2026-06-04T01:36:26.6274657Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6275068Z               "line": 185
2026-06-04T01:36:26.6275466Z             },
2026-06-04T01:36:26.6275850Z             {
2026-06-04T01:36:26.6276420Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6276838Z               "line": 194
2026-06-04T01:36:26.6277233Z             },
2026-06-04T01:36:26.6277807Z             {
2026-06-04T01:36:26.6278386Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6278815Z               "line": 203
2026-06-04T01:36:26.6279249Z             },
2026-06-04T01:36:26.6279649Z             {
2026-06-04T01:36:26.6280214Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T01:36:26.6280653Z               "line": 212
2026-06-04T01:36:26.6281050Z             },
2026-06-04T01:36:26.6281437Z             {
2026-06-04T01:36:26.6282003Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T01:36:26.6282419Z               "line": 132
2026-06-04T01:36:26.6282810Z             },
2026-06-04T01:36:26.6283198Z             {
2026-06-04T01:36:26.6283776Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.6284204Z               "line": 211
2026-06-04T01:36:26.6284590Z             }
2026-06-04T01:36:26.6284982Z           ]
2026-06-04T01:36:26.6285365Z         }
2026-06-04T01:36:26.6285921Z       }
2026-06-04T01:36:26.6286317Z     },
2026-06-04T01:36:26.6286708Z     {
2026-06-04T01:36:26.6287294Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T01:36:26.6288041Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T01:36:26.6288492Z       "requiredStages": [
2026-06-04T01:36:26.6288888Z         "impl",
2026-06-04T01:36:26.6289336Z         "unit"
2026-06-04T01:36:26.6289727Z       ],
2026-06-04T01:36:26.6290141Z       "stages": {
2026-06-04T01:36:26.6290541Z         "doc": {
2026-06-04T01:36:26.6290982Z           "complete": false,
2026-06-04T01:36:26.6291410Z           "evidence": []
2026-06-04T01:36:26.6291797Z         },
2026-06-04T01:36:26.6292208Z         "impl": {
2026-06-04T01:36:26.6292636Z           "complete": true,
2026-06-04T01:36:26.6293061Z           "evidence": [
2026-06-04T01:36:26.6293453Z             {
2026-06-04T01:36:26.6293989Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.6294409Z               "line": 25
2026-06-04T01:36:26.6294823Z             },
2026-06-04T01:36:26.6295222Z             {
2026-06-04T01:36:26.6306956Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T01:36:26.6307735Z               "line": 13
2026-06-04T01:36:26.6308153Z             },
2026-06-04T01:36:26.6308556Z             {
2026-06-04T01:36:26.6309252Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T01:36:26.6309696Z               "line": 78
2026-06-04T01:36:26.6310119Z             }
2026-06-04T01:36:26.6310528Z           ]
2026-06-04T01:36:26.6310944Z         },
2026-06-04T01:36:26.6311367Z         "int": {
2026-06-04T01:36:26.6311833Z           "complete": false,
2026-06-04T01:36:26.6312301Z           "evidence": []
2026-06-04T01:36:26.6312746Z         },
2026-06-04T01:36:26.6313193Z         "unit": {
2026-06-04T01:36:26.6313652Z           "complete": true,
2026-06-04T01:36:26.6314104Z           "evidence": [
2026-06-04T01:36:26.6314528Z             {
2026-06-04T01:36:26.6315257Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.6315841Z               "line": 180
2026-06-04T01:36:26.6316259Z             },
2026-06-04T01:36:26.6316682Z             {
2026-06-04T01:36:26.6317241Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.6317695Z               "line": 205
2026-06-04T01:36:26.6318108Z             },
2026-06-04T01:36:26.6318527Z             {
2026-06-04T01:36:26.6319132Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T01:36:26.6319934Z               "line": 96
2026-06-04T01:36:26.6320357Z             }
2026-06-04T01:36:26.6320775Z           ]
2026-06-04T01:36:26.6321196Z         }
2026-06-04T01:36:26.6321614Z       }
2026-06-04T01:36:26.6322030Z     },
2026-06-04T01:36:26.6322443Z     {
2026-06-04T01:36:26.6322987Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T01:36:26.6323900Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T01:36:26.6324384Z       "requiredStages": [
2026-06-04T01:36:26.6324819Z         "impl",
2026-06-04T01:36:26.6325756Z         "unit"
2026-06-04T01:36:26.6326221Z       ],
2026-06-04T01:36:26.6326701Z       "stages": {
2026-06-04T01:36:26.6327139Z         "doc": {
2026-06-04T01:36:26.6327653Z           "complete": false,
2026-06-04T01:36:26.6332299Z           "evidence": []
2026-06-04T01:36:26.6332994Z         },
2026-06-04T01:36:26.6333455Z         "impl": {
2026-06-04T01:36:26.6333905Z           "complete": true,
2026-06-04T01:36:26.6334358Z           "evidence": [
2026-06-04T01:36:26.6334769Z             {
2026-06-04T01:36:26.6335383Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6335818Z               "line": 48
2026-06-04T01:36:26.6336240Z             },
2026-06-04T01:36:26.6336671Z             {
2026-06-04T01:36:26.6337270Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6337711Z               "line": 55
2026-06-04T01:36:26.6338114Z             },
2026-06-04T01:36:26.6338550Z             {
2026-06-04T01:36:26.6339347Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6340527Z               "line": 74
2026-06-04T01:36:26.6340970Z             },
2026-06-04T01:36:26.6341383Z             {
2026-06-04T01:36:26.6341989Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6342411Z               "line": 91
2026-06-04T01:36:26.6342809Z             }
2026-06-04T01:36:26.6343193Z           ]
2026-06-04T01:36:26.6343582Z         },
2026-06-04T01:36:26.6343979Z         "int": {
2026-06-04T01:36:26.6344412Z           "complete": false,
2026-06-04T01:36:26.6344841Z           "evidence": []
2026-06-04T01:36:26.6345229Z         },
2026-06-04T01:36:26.6345627Z         "unit": {
2026-06-04T01:36:26.6346058Z           "complete": true,
2026-06-04T01:36:26.6346471Z           "evidence": [
2026-06-04T01:36:26.6346862Z             {
2026-06-04T01:36:26.6347424Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6347849Z               "line": 149
2026-06-04T01:36:26.6348245Z             },
2026-06-04T01:36:26.6348666Z             {
2026-06-04T01:36:26.6349304Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6349741Z               "line": 163
2026-06-04T01:36:26.6350141Z             },
2026-06-04T01:36:26.6350524Z             {
2026-06-04T01:36:26.6351092Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6351507Z               "line": 173
2026-06-04T01:36:26.6351899Z             },
2026-06-04T01:36:26.6352288Z             {
2026-06-04T01:36:26.6352869Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6353304Z               "line": 191
2026-06-04T01:36:26.6353694Z             },
2026-06-04T01:36:26.6354087Z             {
2026-06-04T01:36:26.6354645Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.6355071Z               "line": 204
2026-06-04T01:36:26.6355480Z             }
2026-06-04T01:36:26.6355872Z           ]
2026-06-04T01:36:26.6356269Z         }
2026-06-04T01:36:26.6356677Z       }
2026-06-04T01:36:26.6357179Z     },
2026-06-04T01:36:26.6357564Z     {
2026-06-04T01:36:26.6358174Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T01:36:26.6359215Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T01:36:26.6359666Z       "requiredStages": [
2026-06-04T01:36:26.6360078Z         "impl",
2026-06-04T01:36:26.6360473Z         "unit"
2026-06-04T01:36:26.6360871Z       ],
2026-06-04T01:36:26.6361279Z       "stages": {
2026-06-04T01:36:26.6361684Z         "doc": {
2026-06-04T01:36:26.6362133Z           "complete": false,
2026-06-04T01:36:26.6362558Z           "evidence": []
2026-06-04T01:36:26.6362954Z         },
2026-06-04T01:36:26.6363355Z         "impl": {
2026-06-04T01:36:26.6363800Z           "complete": true,
2026-06-04T01:36:26.6364216Z           "evidence": [
2026-06-04T01:36:26.6364612Z             {
2026-06-04T01:36:26.6365233Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.6365656Z               "line": 264
2026-06-04T01:36:26.6366258Z             },
2026-06-04T01:36:26.6366665Z             {
2026-06-04T01:36:26.6367246Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.6367664Z               "line": 26
2026-06-04T01:36:26.6368059Z             }
2026-06-04T01:36:26.6368454Z           ]
2026-06-04T01:36:26.6368844Z         },
2026-06-04T01:36:26.6369288Z         "int": {
2026-06-04T01:36:26.6369728Z           "complete": false,
2026-06-04T01:36:26.6370160Z           "evidence": []
2026-06-04T01:36:26.6370550Z         },
2026-06-04T01:36:26.6370952Z         "unit": {
2026-06-04T01:36:26.6371396Z           "complete": true,
2026-06-04T01:36:26.6371818Z           "evidence": [
2026-06-04T01:36:26.6372214Z             {
2026-06-04T01:36:26.6372790Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.6373216Z               "line": 138
2026-06-04T01:36:26.6373606Z             },
2026-06-04T01:36:26.6374004Z             {
2026-06-04T01:36:26.6374591Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.6375191Z               "line": 181
2026-06-04T01:36:26.6375592Z             }
2026-06-04T01:36:26.6375980Z           ]
2026-06-04T01:36:26.6376381Z         }
2026-06-04T01:36:26.6376768Z       }
2026-06-04T01:36:26.6377162Z     },
2026-06-04T01:36:26.6377555Z     {
2026-06-04T01:36:26.6378131Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T01:36:26.6378950Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T01:36:26.6379772Z       "requiredStages": [
2026-06-04T01:36:26.6380197Z         "impl",
2026-06-04T01:36:26.6380587Z         "unit"
2026-06-04T01:36:26.6380988Z       ],
2026-06-04T01:36:26.6381402Z       "stages": {
2026-06-04T01:36:26.6381795Z         "doc": {
2026-06-04T01:36:26.6382253Z           "complete": false,
2026-06-04T01:36:26.6382677Z           "evidence": []
2026-06-04T01:36:26.6383078Z         },
2026-06-04T01:36:26.6383476Z         "impl": {
2026-06-04T01:36:26.6383923Z           "complete": true,
2026-06-04T01:36:26.6384372Z           "evidence": [
2026-06-04T01:36:26.6384767Z             {
2026-06-04T01:36:26.6385382Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6385799Z               "line": 36
2026-06-04T01:36:26.6386205Z             },
2026-06-04T01:36:26.6386595Z             {
2026-06-04T01:36:26.6387205Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6392920Z               "line": 68
2026-06-04T01:36:26.6393430Z             }
2026-06-04T01:36:26.6393835Z           ]
2026-06-04T01:36:26.6394224Z         },
2026-06-04T01:36:26.6394633Z         "int": {
2026-06-04T01:36:26.6395074Z           "complete": false,
2026-06-04T01:36:26.6395508Z           "evidence": []
2026-06-04T01:36:26.6395899Z         },
2026-06-04T01:36:26.6396296Z         "unit": {
2026-06-04T01:36:26.6396735Z           "complete": true,
2026-06-04T01:36:26.6397145Z           "evidence": [
2026-06-04T01:36:26.6397539Z             {
2026-06-04T01:36:26.6398195Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6398625Z               "line": 143
2026-06-04T01:36:26.6399021Z             },
2026-06-04T01:36:26.6399507Z             {
2026-06-04T01:36:26.6400120Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6400544Z               "line": 160
2026-06-04T01:36:26.6400942Z             },
2026-06-04T01:36:26.6401333Z             {
2026-06-04T01:36:26.6401938Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6402363Z               "line": 168
2026-06-04T01:36:26.6402755Z             }
2026-06-04T01:36:26.6403152Z           ]
2026-06-04T01:36:26.6403539Z         }
2026-06-04T01:36:26.6403932Z       }
2026-06-04T01:36:26.6404315Z     },
2026-06-04T01:36:26.6404702Z     {
2026-06-04T01:36:26.6405285Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T01:36:26.6406178Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T01:36:26.6406631Z       "requiredStages": [
2026-06-04T01:36:26.6407279Z         "impl",
2026-06-04T01:36:26.6407700Z         "unit"
2026-06-04T01:36:26.6408089Z       ],
2026-06-04T01:36:26.6408497Z       "stages": {
2026-06-04T01:36:26.6408895Z         "doc": {
2026-06-04T01:36:26.6409366Z           "complete": false,
2026-06-04T01:36:26.6409797Z           "evidence": []
2026-06-04T01:36:26.6410181Z         },
2026-06-04T01:36:26.6410582Z         "impl": {
2026-06-04T01:36:26.6411010Z           "complete": true,
2026-06-04T01:36:26.6411435Z           "evidence": [
2026-06-04T01:36:26.6411831Z             {
2026-06-04T01:36:26.6412440Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6412873Z               "line": 107
2026-06-04T01:36:26.6413264Z             }
2026-06-04T01:36:26.6413663Z           ]
2026-06-04T01:36:26.6414051Z         },
2026-06-04T01:36:26.6414458Z         "int": {
2026-06-04T01:36:26.6414910Z           "complete": false,
2026-06-04T01:36:26.6415330Z           "evidence": []
2026-06-04T01:36:26.6415928Z         },
2026-06-04T01:36:26.6416327Z         "unit": {
2026-06-04T01:36:26.6416770Z           "complete": true,
2026-06-04T01:36:26.6417187Z           "evidence": [
2026-06-04T01:36:26.6417589Z             {
2026-06-04T01:36:26.6418204Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6418622Z               "line": 184
2026-06-04T01:36:26.6419018Z             },
2026-06-04T01:36:26.6419454Z             {
2026-06-04T01:36:26.6420072Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6420499Z               "line": 193
2026-06-04T01:36:26.6420901Z             },
2026-06-04T01:36:26.6421296Z             {
2026-06-04T01:36:26.6421891Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6422321Z               "line": 201
2026-06-04T01:36:26.6422704Z             },
2026-06-04T01:36:26.6423101Z             {
2026-06-04T01:36:26.6423693Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6424141Z               "line": 210
2026-06-04T01:36:26.6424538Z             },
2026-06-04T01:36:26.6424927Z             {
2026-06-04T01:36:26.6425533Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T01:36:26.6425951Z               "line": 219
2026-06-04T01:36:26.6426351Z             }
2026-06-04T01:36:26.6426739Z           ]
2026-06-04T01:36:26.6427132Z         }
2026-06-04T01:36:26.6427530Z       }
2026-06-04T01:36:26.6427909Z     },
2026-06-04T01:36:26.6428293Z     {
2026-06-04T01:36:26.6428834Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T01:36:26.6429785Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T01:36:26.6430230Z       "requiredStages": [
2026-06-04T01:36:26.6430639Z         "impl",
2026-06-04T01:36:26.6431042Z         "unit"
2026-06-04T01:36:26.6431430Z       ],
2026-06-04T01:36:26.6431842Z       "stages": {
2026-06-04T01:36:26.6432239Z         "doc": {
2026-06-04T01:36:26.6432686Z           "complete": false,
2026-06-04T01:36:26.6433128Z           "evidence": []
2026-06-04T01:36:26.6433527Z         },
2026-06-04T01:36:26.6433937Z         "impl": {
2026-06-04T01:36:26.6434364Z           "complete": true,
2026-06-04T01:36:26.6434787Z           "evidence": [
2026-06-04T01:36:26.6435176Z             {
2026-06-04T01:36:26.6435714Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.6436120Z               "line": 14
2026-06-04T01:36:26.6436518Z             },
2026-06-04T01:36:26.6436910Z             {
2026-06-04T01:36:26.6437442Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.6437859Z               "line": 62
2026-06-04T01:36:26.6438247Z             }
2026-06-04T01:36:26.6438643Z           ]
2026-06-04T01:36:26.6439028Z         },
2026-06-04T01:36:26.6439474Z         "int": {
2026-06-04T01:36:26.6439917Z           "complete": false,
2026-06-04T01:36:26.6440343Z           "evidence": []
2026-06-04T01:36:26.6440733Z         },
2026-06-04T01:36:26.6441129Z         "unit": {
2026-06-04T01:36:26.6441740Z           "complete": true,
2026-06-04T01:36:26.6442177Z           "evidence": [
2026-06-04T01:36:26.6442574Z             {
2026-06-04T01:36:26.6443118Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.6443546Z               "line": 160
2026-06-04T01:36:26.6443942Z             },
2026-06-04T01:36:26.6444336Z             {
2026-06-04T01:36:26.6444868Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.6445284Z               "line": 197
2026-06-04T01:36:26.6445682Z             },
2026-06-04T01:36:26.6446076Z             {
2026-06-04T01:36:26.6446610Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.6447036Z               "line": 213
2026-06-04T01:36:26.6447429Z             }
2026-06-04T01:36:26.6447832Z           ]
2026-06-04T01:36:26.6448217Z         }
2026-06-04T01:36:26.6448616Z       }
2026-06-04T01:36:26.6449012Z     },
2026-06-04T01:36:26.6449437Z     {
2026-06-04T01:36:26.6450010Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T01:36:26.6451327Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T01:36:26.6451837Z       "requiredStages": [
2026-06-04T01:36:26.6452244Z         "impl",
2026-06-04T01:36:26.6452658Z         "unit"
2026-06-04T01:36:26.6453057Z       ],
2026-06-04T01:36:26.6453457Z       "stages": {
2026-06-04T01:36:26.6453868Z         "doc": {
2026-06-04T01:36:26.6454306Z           "complete": false,
2026-06-04T01:36:26.6454739Z           "evidence": []
2026-06-04T01:36:26.6455129Z         },
2026-06-04T01:36:26.6455544Z         "impl": {
2026-06-04T01:36:26.6455997Z           "complete": true,
2026-06-04T01:36:26.6456411Z           "evidence": [
2026-06-04T01:36:26.6456814Z             {
2026-06-04T01:36:26.6457385Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6457811Z               "line": 76
2026-06-04T01:36:26.6458208Z             },
2026-06-04T01:36:26.6458610Z             {
2026-06-04T01:36:26.6459223Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6459682Z               "line": 163
2026-06-04T01:36:26.6460090Z             },
2026-06-04T01:36:26.6460484Z             {
2026-06-04T01:36:26.6461050Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6461481Z               "line": 229
2026-06-04T01:36:26.6461872Z             },
2026-06-04T01:36:26.6462269Z             {
2026-06-04T01:36:26.6462822Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6463253Z               "line": 265
2026-06-04T01:36:26.6463642Z             }
2026-06-04T01:36:26.6464045Z           ]
2026-06-04T01:36:26.6464445Z         },
2026-06-04T01:36:26.6464835Z         "int": {
2026-06-04T01:36:26.6465283Z           "complete": false,
2026-06-04T01:36:26.6465702Z           "evidence": []
2026-06-04T01:36:26.6469941Z         },
2026-06-04T01:36:26.6470442Z         "unit": {
2026-06-04T01:36:26.6470900Z           "complete": true,
2026-06-04T01:36:26.6471317Z           "evidence": [
2026-06-04T01:36:26.6471778Z             {
2026-06-04T01:36:26.6472362Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6472775Z               "line": 310
2026-06-04T01:36:26.6473171Z             },
2026-06-04T01:36:26.6473562Z             {
2026-06-04T01:36:26.6474121Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6474551Z               "line": 318
2026-06-04T01:36:26.6474943Z             },
2026-06-04T01:36:26.6475337Z             {
2026-06-04T01:36:26.6475888Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6476313Z               "line": 341
2026-06-04T01:36:26.6476699Z             },
2026-06-04T01:36:26.6477095Z             {
2026-06-04T01:36:26.6477664Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6478083Z               "line": 378
2026-06-04T01:36:26.6478482Z             },
2026-06-04T01:36:26.6478871Z             {
2026-06-04T01:36:26.6479492Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6480156Z               "line": 389
2026-06-04T01:36:26.6480579Z             },
2026-06-04T01:36:26.6480980Z             {
2026-06-04T01:36:26.6481534Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6481960Z               "line": 401
2026-06-04T01:36:26.6482352Z             },
2026-06-04T01:36:26.6482745Z             {
2026-06-04T01:36:26.6483297Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T01:36:26.6483722Z               "line": 413
2026-06-04T01:36:26.6484114Z             }
2026-06-04T01:36:26.6484501Z           ]
2026-06-04T01:36:26.6484902Z         }
2026-06-04T01:36:26.6485291Z       }
2026-06-04T01:36:26.6485681Z     },
2026-06-04T01:36:26.6486061Z     {
2026-06-04T01:36:26.6486555Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T01:36:26.6487285Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T01:36:26.6487724Z       "requiredStages": [
2026-06-04T01:36:26.6488128Z         "impl",
2026-06-04T01:36:26.6488664Z         "int"
2026-06-04T01:36:26.6489074Z       ],
2026-06-04T01:36:26.6489531Z       "stages": {
2026-06-04T01:36:26.6489939Z         "doc": {
2026-06-04T01:36:26.6490387Z           "complete": false,
2026-06-04T01:36:26.6490814Z           "evidence": []
2026-06-04T01:36:26.6491213Z         },
2026-06-04T01:36:26.6491604Z         "impl": {
2026-06-04T01:36:26.6492048Z           "complete": true,
2026-06-04T01:36:26.6492464Z           "evidence": [
2026-06-04T01:36:26.6492858Z             {
2026-06-04T01:36:26.6493437Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.6493847Z               "line": 22
2026-06-04T01:36:26.6494241Z             }
2026-06-04T01:36:26.6494656Z           ]
2026-06-04T01:36:26.6495058Z         },
2026-06-04T01:36:26.6495457Z         "int": {
2026-06-04T01:36:26.6495904Z           "complete": true,
2026-06-04T01:36:26.6496329Z           "evidence": [
2026-06-04T01:36:26.6496723Z             {
2026-06-04T01:36:26.6497344Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T01:36:26.6497776Z               "line": 18
2026-06-04T01:36:26.6498172Z             }
2026-06-04T01:36:26.6498568Z           ]
2026-06-04T01:36:26.6498962Z         },
2026-06-04T01:36:26.6499415Z         "unit": {
2026-06-04T01:36:26.6499862Z           "complete": false,
2026-06-04T01:36:26.6500290Z           "evidence": []
2026-06-04T01:36:26.6500677Z         }
2026-06-04T01:36:26.6501072Z       }
2026-06-04T01:36:26.6501461Z     },
2026-06-04T01:36:26.6501850Z     {
2026-06-04T01:36:26.6502451Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T01:36:26.6503457Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T01:36:26.6503905Z       "requiredStages": [
2026-06-04T01:36:26.6504316Z         "impl",
2026-06-04T01:36:26.6504746Z         "unit"
2026-06-04T01:36:26.6505200Z       ],
2026-06-04T01:36:26.6505690Z       "stages": {
2026-06-04T01:36:26.6506152Z         "doc": {
2026-06-04T01:36:26.6506641Z           "complete": false,
2026-06-04T01:36:26.6507159Z           "evidence": []
2026-06-04T01:36:26.6507608Z         },
2026-06-04T01:36:26.6508081Z         "impl": {
2026-06-04T01:36:26.6508561Z           "complete": true,
2026-06-04T01:36:26.6509029Z           "evidence": [
2026-06-04T01:36:26.6509725Z             {
2026-06-04T01:36:26.6510591Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.6511061Z               "line": 263
2026-06-04T01:36:26.6511468Z             },
2026-06-04T01:36:26.6511884Z             {
2026-06-04T01:36:26.6512469Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.6512906Z               "line": 27
2026-06-04T01:36:26.6513316Z             }
2026-06-04T01:36:26.6513714Z           ]
2026-06-04T01:36:26.6514138Z         },
2026-06-04T01:36:26.6514552Z         "int": {
2026-06-04T01:36:26.6515025Z           "complete": false,
2026-06-04T01:36:26.6515464Z           "evidence": []
2026-06-04T01:36:26.6515857Z         },
2026-06-04T01:36:26.6516302Z         "unit": {
2026-06-04T01:36:26.6516963Z           "complete": true,
2026-06-04T01:36:26.6517428Z           "evidence": [
2026-06-04T01:36:26.6517822Z             {
2026-06-04T01:36:26.6518466Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.6518925Z               "line": 561
2026-06-04T01:36:26.6519552Z             },
2026-06-04T01:36:26.6520124Z             {
2026-06-04T01:36:26.6520705Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.6521157Z               "line": 163
2026-06-04T01:36:26.6521567Z             }
2026-06-04T01:36:26.6521979Z           ]
2026-06-04T01:36:26.6522370Z         }
2026-06-04T01:36:26.6522768Z       }
2026-06-04T01:36:26.6523171Z     },
2026-06-04T01:36:26.6523551Z     {
2026-06-04T01:36:26.6524160Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T01:36:26.6525012Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T01:36:26.6525501Z       "requiredStages": [
2026-06-04T01:36:26.6526137Z         "impl",
2026-06-04T01:36:26.6526606Z         "unit"
2026-06-04T01:36:26.6527036Z       ],
2026-06-04T01:36:26.6527471Z       "stages": {
2026-06-04T01:36:26.6527891Z         "doc": {
2026-06-04T01:36:26.6528365Z           "complete": false,
2026-06-04T01:36:26.6528815Z           "evidence": []
2026-06-04T01:36:26.6529466Z         },
2026-06-04T01:36:26.6530082Z         "impl": {
2026-06-04T01:36:26.6530561Z           "complete": true,
2026-06-04T01:36:26.6531003Z           "evidence": [
2026-06-04T01:36:26.6531429Z             {
2026-06-04T01:36:26.6532033Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6532495Z               "line": 20
2026-06-04T01:36:26.6533322Z             },
2026-06-04T01:36:26.6533792Z             {
2026-06-04T01:36:26.6534406Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6534857Z               "line": 94
2026-06-04T01:36:26.6535292Z             },
2026-06-04T01:36:26.6535703Z             {
2026-06-04T01:36:26.6536409Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T01:36:26.6536840Z               "line": 70
2026-06-04T01:36:26.6537269Z             },
2026-06-04T01:36:26.6537707Z             {
2026-06-04T01:36:26.6538482Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T01:36:26.6538967Z               "line": 82
2026-06-04T01:36:26.6539593Z             }
2026-06-04T01:36:26.6540167Z           ]
2026-06-04T01:36:26.6540588Z         },
2026-06-04T01:36:26.6541053Z         "int": {
2026-06-04T01:36:26.6541539Z           "complete": false,
2026-06-04T01:36:26.6542014Z           "evidence": []
2026-06-04T01:36:26.6542453Z         },
2026-06-04T01:36:26.6542897Z         "unit": {
2026-06-04T01:36:26.6543374Z           "complete": true,
2026-06-04T01:36:26.6543823Z           "evidence": [
2026-06-04T01:36:26.6544248Z             {
2026-06-04T01:36:26.6544880Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6545345Z               "line": 139
2026-06-04T01:36:26.6545947Z             },
2026-06-04T01:36:26.6546381Z             {
2026-06-04T01:36:26.6547049Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6553250Z               "line": 162
2026-06-04T01:36:26.6553848Z             },
2026-06-04T01:36:26.6554292Z             {
2026-06-04T01:36:26.6554952Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6555406Z               "line": 173
2026-06-04T01:36:26.6555839Z             },
2026-06-04T01:36:26.6556269Z             {
2026-06-04T01:36:26.6556871Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6557342Z               "line": 189
2026-06-04T01:36:26.6557768Z             },
2026-06-04T01:36:26.6558220Z             {
2026-06-04T01:36:26.6558877Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T01:36:26.6559539Z               "line": 200
2026-06-04T01:36:26.6561194Z             },
2026-06-04T01:36:26.6561625Z             {
2026-06-04T01:36:26.6562803Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T01:36:26.6563332Z               "line": 139
2026-06-04T01:36:26.6563753Z             }
2026-06-04T01:36:26.6564176Z           ]
2026-06-04T01:36:26.6564588Z         }
2026-06-04T01:36:26.6565023Z       }
2026-06-04T01:36:26.6565458Z     },
2026-06-04T01:36:26.6565873Z     {
2026-06-04T01:36:26.6566391Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T01:36:26.6567828Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T01:36:26.6568318Z       "requiredStages": [
2026-06-04T01:36:26.6568729Z         "impl",
2026-06-04T01:36:26.6569147Z         "unit"
2026-06-04T01:36:26.6570023Z       ],
2026-06-04T01:36:26.6570457Z       "stages": {
2026-06-04T01:36:26.6570883Z         "doc": {
2026-06-04T01:36:26.6571344Z           "complete": true,
2026-06-04T01:36:26.6571792Z           "evidence": [
2026-06-04T01:36:26.6572190Z             {
2026-06-04T01:36:26.6572740Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T01:36:26.6573564Z               "line": 131
2026-06-04T01:36:26.6573986Z             }
2026-06-04T01:36:26.6574405Z           ]
2026-06-04T01:36:26.6574817Z         },
2026-06-04T01:36:26.6575244Z         "impl": {
2026-06-04T01:36:26.6575689Z           "complete": true,
2026-06-04T01:36:26.6576142Z           "evidence": [
2026-06-04T01:36:26.6576563Z             {
2026-06-04T01:36:26.6577238Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.6577684Z               "line": 50
2026-06-04T01:36:26.6578086Z             },
2026-06-04T01:36:26.6578501Z             {
2026-06-04T01:36:26.6579067Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6579958Z               "line": 17
2026-06-04T01:36:26.6580406Z             },
2026-06-04T01:36:26.6580807Z             {
2026-06-04T01:36:26.6581415Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.6581859Z               "line": 171
2026-06-04T01:36:26.6582309Z             },
2026-06-04T01:36:26.6582792Z             {
2026-06-04T01:36:26.6583405Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.6583857Z               "line": 259
2026-06-04T01:36:26.6584255Z             },
2026-06-04T01:36:26.6584659Z             {
2026-06-04T01:36:26.6585219Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T01:36:26.6585662Z               "line": 32
2026-06-04T01:36:26.6586081Z             }
2026-06-04T01:36:26.6586507Z           ]
2026-06-04T01:36:26.6586928Z         },
2026-06-04T01:36:26.6587341Z         "int": {
2026-06-04T01:36:26.6587798Z           "complete": false,
2026-06-04T01:36:26.6588232Z           "evidence": []
2026-06-04T01:36:26.6588652Z         },
2026-06-04T01:36:26.6589061Z         "unit": {
2026-06-04T01:36:26.6589880Z           "complete": true,
2026-06-04T01:36:26.6590336Z           "evidence": [
2026-06-04T01:36:26.6590749Z             {
2026-06-04T01:36:26.6591318Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6591783Z               "line": 94
2026-06-04T01:36:26.6592207Z             },
2026-06-04T01:36:26.6592604Z             {
2026-06-04T01:36:26.6593177Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6593630Z               "line": 111
2026-06-04T01:36:26.6594049Z             },
2026-06-04T01:36:26.6594466Z             {
2026-06-04T01:36:26.6595036Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6595490Z               "line": 124
2026-06-04T01:36:26.6595899Z             },
2026-06-04T01:36:26.6596315Z             {
2026-06-04T01:36:26.6596899Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6597337Z               "line": 134
2026-06-04T01:36:26.6597754Z             },
2026-06-04T01:36:26.6598146Z             {
2026-06-04T01:36:26.6598702Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6599136Z               "line": 142
2026-06-04T01:36:26.6599814Z             },
2026-06-04T01:36:26.6600426Z             {
2026-06-04T01:36:26.6601303Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T01:36:26.6601788Z               "line": 154
2026-06-04T01:36:26.6602207Z             }
2026-06-04T01:36:26.6602614Z           ]
2026-06-04T01:36:26.6603010Z         }
2026-06-04T01:36:26.6603412Z       }
2026-06-04T01:36:26.6603826Z     },
2026-06-04T01:36:26.6604228Z     {
2026-06-04T01:36:26.6604765Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T01:36:26.6605442Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T01:36:26.6605929Z       "requiredStages": [
2026-06-04T01:36:26.6606359Z         "impl",
2026-06-04T01:36:26.6606830Z         "unit"
2026-06-04T01:36:26.6607260Z       ],
2026-06-04T01:36:26.6607678Z       "stages": {
2026-06-04T01:36:26.6608112Z         "doc": {
2026-06-04T01:36:26.6608564Z           "complete": false,
2026-06-04T01:36:26.6609004Z           "evidence": []
2026-06-04T01:36:26.6609654Z         },
2026-06-04T01:36:26.6610279Z         "impl": {
2026-06-04T01:36:26.6611011Z           "complete": true,
2026-06-04T01:36:26.6611465Z           "evidence": [
2026-06-04T01:36:26.6611878Z             {
2026-06-04T01:36:26.6612498Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.6612964Z               "line": 93
2026-06-04T01:36:26.6613385Z             }
2026-06-04T01:36:26.6613822Z           ]
2026-06-04T01:36:26.6614242Z         },
2026-06-04T01:36:26.6614655Z         "int": {
2026-06-04T01:36:26.6615127Z           "complete": false,
2026-06-04T01:36:26.6615570Z           "evidence": []
2026-06-04T01:36:26.6616073Z         },
2026-06-04T01:36:26.6616492Z         "unit": {
2026-06-04T01:36:26.6616969Z           "complete": true,
2026-06-04T01:36:26.6617419Z           "evidence": [
2026-06-04T01:36:26.6617832Z             {
2026-06-04T01:36:26.6618437Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.6618887Z               "line": 190
2026-06-04T01:36:26.6619540Z             }
2026-06-04T01:36:26.6620112Z           ]
2026-06-04T01:36:26.6620555Z         }
2026-06-04T01:36:26.6620986Z       }
2026-06-04T01:36:26.6621591Z     },
2026-06-04T01:36:26.6622094Z     {
2026-06-04T01:36:26.6622786Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T01:36:26.6623772Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T01:36:26.6624347Z       "requiredStages": [
2026-06-04T01:36:26.6624820Z         "impl",
2026-06-04T01:36:26.6625271Z         "unit"
2026-06-04T01:36:26.6625699Z       ],
2026-06-04T01:36:26.6626153Z       "stages": {
2026-06-04T01:36:26.6626577Z         "doc": {
2026-06-04T01:36:26.6627071Z           "complete": false,
2026-06-04T01:36:26.6627529Z           "evidence": []
2026-06-04T01:36:26.6627966Z         },
2026-06-04T01:36:26.6628410Z         "impl": {
2026-06-04T01:36:26.6628880Z           "complete": true,
2026-06-04T01:36:26.6629419Z           "evidence": [
2026-06-04T01:36:26.6629857Z             {
2026-06-04T01:36:26.6630498Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6631046Z               "line": 120
2026-06-04T01:36:26.6631535Z             },
2026-06-04T01:36:26.6632044Z             {
2026-06-04T01:36:26.6632669Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6633136Z               "line": 131
2026-06-04T01:36:26.6633550Z             },
2026-06-04T01:36:26.6633974Z             {
2026-06-04T01:36:26.6634575Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6635031Z               "line": 149
2026-06-04T01:36:26.6635453Z             }
2026-06-04T01:36:26.6641594Z           ]
2026-06-04T01:36:26.6642197Z         },
2026-06-04T01:36:26.6642621Z         "int": {
2026-06-04T01:36:26.6643099Z           "complete": false,
2026-06-04T01:36:26.6643540Z           "evidence": []
2026-06-04T01:36:26.6643961Z         },
2026-06-04T01:36:26.6644383Z         "unit": {
2026-06-04T01:36:26.6644835Z           "complete": true,
2026-06-04T01:36:26.6645276Z           "evidence": [
2026-06-04T01:36:26.6645681Z             {
2026-06-04T01:36:26.6646754Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6647217Z               "line": 173
2026-06-04T01:36:26.6647635Z             },
2026-06-04T01:36:26.6648052Z             {
2026-06-04T01:36:26.6648633Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6649092Z               "line": 191
2026-06-04T01:36:26.6649926Z             },
2026-06-04T01:36:26.6650362Z             {
2026-06-04T01:36:26.6650934Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6651377Z               "line": 253
2026-06-04T01:36:26.6651785Z             },
2026-06-04T01:36:26.6652186Z             {
2026-06-04T01:36:26.6652773Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6653244Z               "line": 264
2026-06-04T01:36:26.6653694Z             },
2026-06-04T01:36:26.6654101Z             {
2026-06-04T01:36:26.6654701Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.6655163Z               "line": 277
2026-06-04T01:36:26.6655862Z             }
2026-06-04T01:36:26.6656286Z           ]
2026-06-04T01:36:26.6656694Z         }
2026-06-04T01:36:26.6657108Z       }
2026-06-04T01:36:26.6657502Z     },
2026-06-04T01:36:26.6657905Z     {
2026-06-04T01:36:26.6658466Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T01:36:26.6660263Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T01:36:26.6660772Z       "requiredStages": [
2026-06-04T01:36:26.6661192Z         "impl",
2026-06-04T01:36:26.6661616Z         "unit"
2026-06-04T01:36:26.6662014Z       ],
2026-06-04T01:36:26.6662452Z       "stages": {
2026-06-04T01:36:26.6662870Z         "doc": {
2026-06-04T01:36:26.6663327Z           "complete": false,
2026-06-04T01:36:26.6663772Z           "evidence": []
2026-06-04T01:36:26.6664183Z         },
2026-06-04T01:36:26.6664614Z         "impl": {
2026-06-04T01:36:26.6665066Z           "complete": true,
2026-06-04T01:36:26.6665519Z           "evidence": [
2026-06-04T01:36:26.6665982Z             {
2026-06-04T01:36:26.6666552Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6667007Z               "line": 14
2026-06-04T01:36:26.6667419Z             },
2026-06-04T01:36:26.6667850Z             {
2026-06-04T01:36:26.6668406Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T01:36:26.6668855Z               "line": 298
2026-06-04T01:36:26.6669503Z             }
2026-06-04T01:36:26.6669964Z           ]
2026-06-04T01:36:26.6670416Z         },
2026-06-04T01:36:26.6670851Z         "int": {
2026-06-04T01:36:26.6671339Z           "complete": false,
2026-06-04T01:36:26.6671812Z           "evidence": []
2026-06-04T01:36:26.6672261Z         },
2026-06-04T01:36:26.6672709Z         "unit": {
2026-06-04T01:36:26.6673175Z           "complete": true,
2026-06-04T01:36:26.6673638Z           "evidence": [
2026-06-04T01:36:26.6674056Z             {
2026-06-04T01:36:26.6674647Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6675141Z               "line": 130
2026-06-04T01:36:26.6675584Z             },
2026-06-04T01:36:26.6676019Z             {
2026-06-04T01:36:26.6676594Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6677062Z               "line": 138
2026-06-04T01:36:26.6677493Z             },
2026-06-04T01:36:26.6677922Z             {
2026-06-04T01:36:26.6678487Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6678948Z               "line": 146
2026-06-04T01:36:26.6679468Z             },
2026-06-04T01:36:26.6679898Z             {
2026-06-04T01:36:26.6680480Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6680946Z               "line": 154
2026-06-04T01:36:26.6681390Z             },
2026-06-04T01:36:26.6681818Z             {
2026-06-04T01:36:26.6682395Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6682853Z               "line": 162
2026-06-04T01:36:26.6683270Z             },
2026-06-04T01:36:26.6683704Z             {
2026-06-04T01:36:26.6684642Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T01:36:26.6685171Z               "line": 170
2026-06-04T01:36:26.6685624Z             }
2026-06-04T01:36:26.6686072Z           ]
2026-06-04T01:36:26.6686510Z         }
2026-06-04T01:36:26.6686932Z       }
2026-06-04T01:36:26.6687345Z     },
2026-06-04T01:36:26.6687750Z     {
2026-06-04T01:36:26.6688318Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T01:36:26.6694235Z       "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-04T01:36:26.6694756Z       "requiredStages": [
2026-06-04T01:36:26.6695181Z         "impl",
2026-06-04T01:36:26.6695580Z         "unit"
2026-06-04T01:36:26.6695985Z       ],
2026-06-04T01:36:26.6696394Z       "stages": {
2026-06-04T01:36:26.6696811Z         "doc": {
2026-06-04T01:36:26.6697594Z           "complete": false,
2026-06-04T01:36:26.6698034Z           "evidence": []
2026-06-04T01:36:26.6698443Z         },
2026-06-04T01:36:26.6698858Z         "impl": {
2026-06-04T01:36:26.6699414Z           "complete": true,
2026-06-04T01:36:26.6699873Z           "evidence": [
2026-06-04T01:36:26.6700290Z             {
2026-06-04T01:36:26.6701066Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6701496Z               "line": 34
2026-06-04T01:36:26.6701905Z             }
2026-06-04T01:36:26.6702307Z           ]
2026-06-04T01:36:26.6702719Z         },
2026-06-04T01:36:26.6703134Z         "int": {
2026-06-04T01:36:26.6703612Z           "complete": false,
2026-06-04T01:36:26.6704070Z           "evidence": []
2026-06-04T01:36:26.6704465Z         },
2026-06-04T01:36:26.6704894Z         "unit": {
2026-06-04T01:36:26.6705369Z           "complete": true,
2026-06-04T01:36:26.6709967Z           "evidence": [
2026-06-04T01:36:26.6710378Z             {
2026-06-04T01:36:26.6711179Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6711623Z               "line": 188
2026-06-04T01:36:26.6712013Z             },
2026-06-04T01:36:26.6712413Z             {
2026-06-04T01:36:26.6713129Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6713570Z               "line": 200
2026-06-04T01:36:26.6713987Z             },
2026-06-04T01:36:26.6714385Z             {
2026-06-04T01:36:26.6715123Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6715562Z               "line": 211
2026-06-04T01:36:26.6715964Z             },
2026-06-04T01:36:26.6716365Z             {
2026-06-04T01:36:26.6717100Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6717534Z               "line": 245
2026-06-04T01:36:26.6717937Z             },
2026-06-04T01:36:26.6718347Z             {
2026-06-04T01:36:26.6719093Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6719648Z               "line": 267
2026-06-04T01:36:26.6720050Z             },
2026-06-04T01:36:26.6720443Z             {
2026-06-04T01:36:26.6721166Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6721587Z               "line": 288
2026-06-04T01:36:26.6721985Z             },
2026-06-04T01:36:26.6722368Z             {
2026-06-04T01:36:26.6723084Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T01:36:26.6723501Z               "line": 304
2026-06-04T01:36:26.6723900Z             }
2026-06-04T01:36:26.6724297Z           ]
2026-06-04T01:36:26.6724686Z         }
2026-06-04T01:36:26.6725079Z       }
2026-06-04T01:36:26.6731386Z     },
2026-06-04T01:36:26.6731903Z     {
2026-06-04T01:36:26.6732458Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T01:36:26.6736073Z       "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-04T01:36:26.6736569Z       "requiredStages": [
2026-06-04T01:36:26.6736972Z         "impl",
2026-06-04T01:36:26.6737374Z         "unit"
2026-06-04T01:36:26.6737764Z       ],
2026-06-04T01:36:26.6738178Z       "stages": {
2026-06-04T01:36:26.6738565Z         "doc": {
2026-06-04T01:36:26.6739014Z           "complete": false,
2026-06-04T01:36:26.6739657Z           "evidence": []
2026-06-04T01:36:26.6740204Z         },
2026-06-04T01:36:26.6740619Z         "impl": {
2026-06-04T01:36:26.6741047Z           "complete": true,
2026-06-04T01:36:26.6741477Z           "evidence": [
2026-06-04T01:36:26.6741861Z             {
2026-06-04T01:36:26.6742451Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6742875Z               "line": 29
2026-06-04T01:36:26.6743264Z             },
2026-06-04T01:36:26.6743660Z             {
2026-06-04T01:36:26.6744216Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6744840Z               "line": 154
2026-06-04T01:36:26.6745229Z             },
2026-06-04T01:36:26.6745628Z             {
2026-06-04T01:36:26.6746206Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6746623Z               "line": 173
2026-06-04T01:36:26.6747020Z             },
2026-06-04T01:36:26.6747406Z             {
2026-06-04T01:36:26.6747975Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6748401Z               "line": 200
2026-06-04T01:36:26.6748787Z             }
2026-06-04T01:36:26.6749235Z           ]
2026-06-04T01:36:26.6749815Z         },
2026-06-04T01:36:26.6750377Z         "int": {
2026-06-04T01:36:26.6750814Z           "complete": false,
2026-06-04T01:36:26.6751248Z           "evidence": []
2026-06-04T01:36:26.6751635Z         },
2026-06-04T01:36:26.6752054Z         "unit": {
2026-06-04T01:36:26.6752490Z           "complete": true,
2026-06-04T01:36:26.6752901Z           "evidence": [
2026-06-04T01:36:26.6753314Z             {
2026-06-04T01:36:26.6753892Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6754323Z               "line": 276
2026-06-04T01:36:26.6754729Z             },
2026-06-04T01:36:26.6755119Z             {
2026-06-04T01:36:26.6755694Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6756110Z               "line": 291
2026-06-04T01:36:26.6756511Z             },
2026-06-04T01:36:26.6756907Z             {
2026-06-04T01:36:26.6757483Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6757912Z               "line": 310
2026-06-04T01:36:26.6758299Z             },
2026-06-04T01:36:26.6758703Z             {
2026-06-04T01:36:26.6759312Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6760073Z               "line": 326
2026-06-04T01:36:26.6760465Z             },
2026-06-04T01:36:26.6760862Z             {
2026-06-04T01:36:26.6761836Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6762312Z               "line": 376
2026-06-04T01:36:26.6762716Z             },
2026-06-04T01:36:26.6763105Z             {
2026-06-04T01:36:26.6763690Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6764106Z               "line": 390
2026-06-04T01:36:26.6764507Z             },
2026-06-04T01:36:26.6764904Z             {
2026-06-04T01:36:26.6765470Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6765902Z               "line": 401
2026-06-04T01:36:26.6766292Z             },
2026-06-04T01:36:26.6766693Z             {
2026-06-04T01:36:26.6767254Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.6767684Z               "line": 412
2026-06-04T01:36:26.6768093Z             }
2026-06-04T01:36:26.6768486Z           ]
2026-06-04T01:36:26.6768884Z         }
2026-06-04T01:36:26.6769455Z       }
2026-06-04T01:36:26.6770014Z     },
2026-06-04T01:36:26.6770398Z     {
2026-06-04T01:36:26.6770985Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T01:36:26.6774997Z       "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-04T01:36:26.6775464Z       "requiredStages": [
2026-06-04T01:36:26.6775873Z         "impl",
2026-06-04T01:36:26.6776263Z         "unit"
2026-06-04T01:36:26.6776660Z       ],
2026-06-04T01:36:26.6777077Z       "stages": {
2026-06-04T01:36:26.6777477Z         "doc": {
2026-06-04T01:36:26.6777925Z           "complete": false,
2026-06-04T01:36:26.6778342Z           "evidence": []
2026-06-04T01:36:26.6778739Z         },
2026-06-04T01:36:26.6779136Z         "impl": {
2026-06-04T01:36:26.6779626Z           "complete": true,
2026-06-04T01:36:26.6780038Z           "evidence": [
2026-06-04T01:36:26.6780436Z             {
2026-06-04T01:36:26.6781111Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6781522Z               "line": 27
2026-06-04T01:36:26.6782084Z             },
2026-06-04T01:36:26.6782474Z             {
2026-06-04T01:36:26.6783139Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6783571Z               "line": 110
2026-06-04T01:36:26.6783965Z             },
2026-06-04T01:36:26.6784367Z             {
2026-06-04T01:36:26.6785022Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6785453Z               "line": 153
2026-06-04T01:36:26.6785844Z             },
2026-06-04T01:36:26.6786248Z             {
2026-06-04T01:36:26.6786914Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6787334Z               "line": 182
2026-06-04T01:36:26.6787739Z             },
2026-06-04T01:36:26.6788130Z             {
2026-06-04T01:36:26.6788866Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6789321Z               "line": 31
2026-06-04T01:36:26.6789732Z             },
2026-06-04T01:36:26.6790154Z             {
2026-06-04T01:36:26.6790889Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6791322Z               "line": 113
2026-06-04T01:36:26.6791715Z             },
2026-06-04T01:36:26.6792121Z             {
2026-06-04T01:36:26.6792855Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6793284Z               "line": 138
2026-06-04T01:36:26.6793682Z             }
2026-06-04T01:36:26.6794070Z           ]
2026-06-04T01:36:26.6794463Z         },
2026-06-04T01:36:26.6794856Z         "int": {
2026-06-04T01:36:26.6795297Z           "complete": false,
2026-06-04T01:36:26.6795711Z           "evidence": []
2026-06-04T01:36:26.6796102Z         },
2026-06-04T01:36:26.6796502Z         "unit": {
2026-06-04T01:36:26.6796930Z           "complete": true,
2026-06-04T01:36:26.6797361Z           "evidence": [
2026-06-04T01:36:26.6797746Z             {
2026-06-04T01:36:26.6798412Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6798846Z               "line": 261
2026-06-04T01:36:26.6799308Z             },
2026-06-04T01:36:26.6799710Z             {
2026-06-04T01:36:26.6800369Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6800794Z               "line": 276
2026-06-04T01:36:26.6801182Z             },
2026-06-04T01:36:26.6801583Z             {
2026-06-04T01:36:26.6802237Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6802674Z               "line": 293
2026-06-04T01:36:26.6803074Z             },
2026-06-04T01:36:26.6803460Z             {
2026-06-04T01:36:26.6804133Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6804551Z               "line": 310
2026-06-04T01:36:26.6804952Z             },
2026-06-04T01:36:26.6805349Z             {
2026-06-04T01:36:26.6806001Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6806431Z               "line": 327
2026-06-04T01:36:26.6806839Z             },
2026-06-04T01:36:26.6807431Z             {
2026-06-04T01:36:26.6808104Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.6808533Z               "line": 366
2026-06-04T01:36:26.6808936Z             },
2026-06-04T01:36:26.6809379Z             {
2026-06-04T01:36:26.6810116Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6810535Z               "line": 179
2026-06-04T01:36:26.6810936Z             },
2026-06-04T01:36:26.6811319Z             {
2026-06-04T01:36:26.6812046Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6812468Z               "line": 194
2026-06-04T01:36:26.6812860Z             },
2026-06-04T01:36:26.6813256Z             {
2026-06-04T01:36:26.6818382Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6818904Z               "line": 204
2026-06-04T01:36:26.6819392Z             },
2026-06-04T01:36:26.6819797Z             {
2026-06-04T01:36:26.6820824Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6821261Z               "line": 259
2026-06-04T01:36:26.6821665Z             },
2026-06-04T01:36:26.6822052Z             {
2026-06-04T01:36:26.6822789Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6823212Z               "line": 269
2026-06-04T01:36:26.6823619Z             },
2026-06-04T01:36:26.6824019Z             {
2026-06-04T01:36:26.6824752Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.6825187Z               "line": 283
2026-06-04T01:36:26.6825575Z             }
2026-06-04T01:36:26.6825974Z           ]
2026-06-04T01:36:26.6826363Z         }
2026-06-04T01:36:26.6826761Z       }
2026-06-04T01:36:26.6827150Z     },
2026-06-04T01:36:26.6827527Z     {
2026-06-04T01:36:26.6828063Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T01:36:26.6829064Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T01:36:26.6829609Z       "requiredStages": [],
2026-06-04T01:36:26.6830028Z       "stages": {
2026-06-04T01:36:26.6830420Z         "doc": {
2026-06-04T01:36:26.6830868Z           "complete": false,
2026-06-04T01:36:26.6831287Z           "evidence": []
2026-06-04T01:36:26.6831689Z         },
2026-06-04T01:36:26.6832087Z         "impl": {
2026-06-04T01:36:26.6832531Z           "complete": false,
2026-06-04T01:36:26.6832960Z           "evidence": []
2026-06-04T01:36:26.6833349Z         },
2026-06-04T01:36:26.6833754Z         "int": {
2026-06-04T01:36:26.6834191Z           "complete": false,
2026-06-04T01:36:26.6834616Z           "evidence": []
2026-06-04T01:36:26.6835001Z         },
2026-06-04T01:36:26.6835407Z         "unit": {
2026-06-04T01:36:26.6835841Z           "complete": false,
2026-06-04T01:36:26.6836265Z           "evidence": []
2026-06-04T01:36:26.6836666Z         }
2026-06-04T01:36:26.6837046Z       }
2026-06-04T01:36:26.6837434Z     },
2026-06-04T01:36:26.6837826Z     {
2026-06-04T01:36:26.6838429Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T01:36:26.6848803Z       "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-04T01:36:26.6849416Z       "requiredStages": [],
2026-06-04T01:36:26.6849831Z       "stages": {
2026-06-04T01:36:26.6850230Z         "doc": {
2026-06-04T01:36:26.6850688Z           "complete": false,
2026-06-04T01:36:26.6851123Z           "evidence": []
2026-06-04T01:36:26.6851507Z         },
2026-06-04T01:36:26.6851913Z         "impl": {
2026-06-04T01:36:26.6852343Z           "complete": false,
2026-06-04T01:36:26.6852770Z           "evidence": []
2026-06-04T01:36:26.6853154Z         },
2026-06-04T01:36:26.6853553Z         "int": {
2026-06-04T01:36:26.6854000Z           "complete": false,
2026-06-04T01:36:26.6854410Z           "evidence": []
2026-06-04T01:36:26.6855165Z         },
2026-06-04T01:36:26.6855572Z         "unit": {
2026-06-04T01:36:26.6856025Z           "complete": false,
2026-06-04T01:36:26.6856446Z           "evidence": []
2026-06-04T01:36:26.6856846Z         }
2026-06-04T01:36:26.6857231Z       }
2026-06-04T01:36:26.6857624Z     },
2026-06-04T01:36:26.6858013Z     {
2026-06-04T01:36:26.6858557Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T01:36:26.6860079Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T01:36:26.6860564Z       "requiredStages": [
2026-06-04T01:36:26.6860970Z         "impl",
2026-06-04T01:36:26.6861371Z         "unit"
2026-06-04T01:36:26.6861755Z       ],
2026-06-04T01:36:26.6862167Z       "stages": {
2026-06-04T01:36:26.6862560Z         "doc": {
2026-06-04T01:36:26.6862997Z           "complete": true,
2026-06-04T01:36:26.6863406Z           "evidence": [
2026-06-04T01:36:26.6863802Z             {
2026-06-04T01:36:26.6864498Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T01:36:26.6864913Z               "line": 137
2026-06-04T01:36:26.6865308Z             }
2026-06-04T01:36:26.6865692Z           ]
2026-06-04T01:36:26.6866091Z         },
2026-06-04T01:36:26.6866487Z         "impl": {
2026-06-04T01:36:26.6866924Z           "complete": true,
2026-06-04T01:36:26.6867350Z           "evidence": [
2026-06-04T01:36:26.6867734Z             {
2026-06-04T01:36:26.6868282Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T01:36:26.6868687Z               "line": 29
2026-06-04T01:36:26.6869088Z             },
2026-06-04T01:36:26.6869525Z             {
2026-06-04T01:36:26.6870135Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6870552Z               "line": 24
2026-06-04T01:36:26.6870941Z             },
2026-06-04T01:36:26.6871338Z             {
2026-06-04T01:36:26.6871896Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T01:36:26.6872317Z               "line": 48
2026-06-04T01:36:26.6872722Z             }
2026-06-04T01:36:26.6873117Z           ]
2026-06-04T01:36:26.6873512Z         },
2026-06-04T01:36:26.6873904Z         "int": {
2026-06-04T01:36:26.6874351Z           "complete": false,
2026-06-04T01:36:26.6874766Z           "evidence": []
2026-06-04T01:36:26.6875158Z         },
2026-06-04T01:36:26.6875555Z         "unit": {
2026-06-04T01:36:26.6875997Z           "complete": true,
2026-06-04T01:36:26.6876417Z           "evidence": [
2026-06-04T01:36:26.6876804Z             {
2026-06-04T01:36:26.6877408Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6877822Z               "line": 146
2026-06-04T01:36:26.6878216Z             }
2026-06-04T01:36:26.6878599Z           ]
2026-06-04T01:36:26.6878993Z         }
2026-06-04T01:36:26.6879439Z       }
2026-06-04T01:36:26.6879827Z     },
2026-06-04T01:36:26.6880217Z     {
2026-06-04T01:36:26.6880775Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T01:36:26.6883184Z       "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-04T01:36:26.6883649Z       "requiredStages": [
2026-06-04T01:36:26.6884054Z         "impl",
2026-06-04T01:36:26.6884457Z         "unit"
2026-06-04T01:36:26.6884841Z       ],
2026-06-04T01:36:26.6885253Z       "stages": {
2026-06-04T01:36:26.6885646Z         "doc": {
2026-06-04T01:36:26.6886080Z           "complete": true,
2026-06-04T01:36:26.6886494Z           "evidence": [
2026-06-04T01:36:26.6886889Z             {
2026-06-04T01:36:26.6887424Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T01:36:26.6887844Z               "line": 143
2026-06-04T01:36:26.6888240Z             }
2026-06-04T01:36:26.6888621Z           ]
2026-06-04T01:36:26.6889015Z         },
2026-06-04T01:36:26.6889456Z         "impl": {
2026-06-04T01:36:26.6889902Z           "complete": true,
2026-06-04T01:36:26.6890327Z           "evidence": [
2026-06-04T01:36:26.6890716Z             {
2026-06-04T01:36:26.6891540Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.6891975Z               "line": 117
2026-06-04T01:36:26.6892373Z             },
2026-06-04T01:36:26.6892766Z             {
2026-06-04T01:36:26.6893344Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T01:36:26.6893766Z               "line": 15
2026-06-04T01:36:26.6894148Z             }
2026-06-04T01:36:26.6894542Z           ]
2026-06-04T01:36:26.6894928Z         },
2026-06-04T01:36:26.6895329Z         "int": {
2026-06-04T01:36:26.6895763Z           "complete": false,
2026-06-04T01:36:26.6896188Z           "evidence": []
2026-06-04T01:36:26.6896577Z         },
2026-06-04T01:36:26.6896971Z         "unit": {
2026-06-04T01:36:26.6897408Z           "complete": true,
2026-06-04T01:36:26.6897821Z           "evidence": [
2026-06-04T01:36:26.6898214Z             {
2026-06-04T01:36:26.6898808Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.6899267Z               "line": 508
2026-06-04T01:36:26.6899843Z             },
2026-06-04T01:36:26.6900231Z             {
2026-06-04T01:36:26.6900839Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.6901250Z               "line": 527
2026-06-04T01:36:26.6901644Z             },
2026-06-04T01:36:26.6902030Z             {
2026-06-04T01:36:26.6902602Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T01:36:26.6903020Z               "line": 74
2026-06-04T01:36:26.6907671Z             },
2026-06-04T01:36:26.6908146Z             {
2026-06-04T01:36:26.6908722Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T01:36:26.6909142Z               "line": 88
2026-06-04T01:36:26.6909620Z             },
2026-06-04T01:36:26.6910015Z             {
2026-06-04T01:36:26.6910594Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T01:36:26.6911010Z               "line": 104
2026-06-04T01:36:26.6911409Z             }
2026-06-04T01:36:26.6911792Z           ]
2026-06-04T01:36:26.6912188Z         }
2026-06-04T01:36:26.6912605Z       }
2026-06-04T01:36:26.6912997Z     },
2026-06-04T01:36:26.6913386Z     {
2026-06-04T01:36:26.6913941Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T01:36:26.6914964Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T01:36:26.6915401Z       "requiredStages": [
2026-06-04T01:36:26.6915802Z         "impl",
2026-06-04T01:36:26.6916192Z         "unit"
2026-06-04T01:36:26.6916587Z       ],
2026-06-04T01:36:26.6916995Z       "stages": {
2026-06-04T01:36:26.6917382Z         "doc": {
2026-06-04T01:36:26.6917827Z           "complete": false,
2026-06-04T01:36:26.6918245Z           "evidence": []
2026-06-04T01:36:26.6918643Z         },
2026-06-04T01:36:26.6919040Z         "impl": {
2026-06-04T01:36:26.6919516Z           "complete": true,
2026-06-04T01:36:26.6919940Z           "evidence": [
2026-06-04T01:36:26.6920326Z             {
2026-06-04T01:36:26.6920890Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T01:36:26.6921325Z               "line": 15
2026-06-04T01:36:26.6921724Z             },
2026-06-04T01:36:26.6922105Z             {
2026-06-04T01:36:26.6922700Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6923114Z               "line": 49
2026-06-04T01:36:26.6923499Z             },
2026-06-04T01:36:26.6923891Z             {
2026-06-04T01:36:26.6924470Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6924893Z               "line": 56
2026-06-04T01:36:26.6925282Z             },
2026-06-04T01:36:26.6925679Z             {
2026-06-04T01:36:26.6926271Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6926683Z               "line": 101
2026-06-04T01:36:26.6927079Z             },
2026-06-04T01:36:26.6927464Z             {
2026-06-04T01:36:26.6928042Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6928464Z               "line": 122
2026-06-04T01:36:26.6928850Z             }
2026-06-04T01:36:26.6929289Z           ]
2026-06-04T01:36:26.6929914Z         },
2026-06-04T01:36:26.6930327Z         "int": {
2026-06-04T01:36:26.6930763Z           "complete": false,
2026-06-04T01:36:26.6931186Z           "evidence": []
2026-06-04T01:36:26.6931573Z         },
2026-06-04T01:36:26.6931979Z         "unit": {
2026-06-04T01:36:26.6932422Z           "complete": true,
2026-06-04T01:36:26.6932839Z           "evidence": [
2026-06-04T01:36:26.6933234Z             {
2026-06-04T01:36:26.6933786Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T01:36:26.6934217Z               "line": 113
2026-06-04T01:36:26.6934602Z             },
2026-06-04T01:36:26.6934998Z             {
2026-06-04T01:36:26.6935559Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T01:36:26.6935971Z               "line": 119
2026-06-04T01:36:26.6936370Z             },
2026-06-04T01:36:26.6936758Z             {
2026-06-04T01:36:26.6937316Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T01:36:26.6937747Z               "line": 130
2026-06-04T01:36:26.6938294Z             },
2026-06-04T01:36:26.6938690Z             {
2026-06-04T01:36:26.6939320Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6939748Z               "line": 177
2026-06-04T01:36:26.6940135Z             },
2026-06-04T01:36:26.6940533Z             {
2026-06-04T01:36:26.6941128Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6941541Z               "line": 187
2026-06-04T01:36:26.6941935Z             },
2026-06-04T01:36:26.6942320Z             {
2026-06-04T01:36:26.6942908Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6943317Z               "line": 231
2026-06-04T01:36:26.6943713Z             },
2026-06-04T01:36:26.6944110Z             {
2026-06-04T01:36:26.6944694Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6945112Z               "line": 243
2026-06-04T01:36:26.6945505Z             },
2026-06-04T01:36:26.6945898Z             {
2026-06-04T01:36:26.6946502Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.6946923Z               "line": 251
2026-06-04T01:36:26.6947319Z             }
2026-06-04T01:36:26.6947718Z           ]
2026-06-04T01:36:26.6948112Z         }
2026-06-04T01:36:26.6948495Z       }
2026-06-04T01:36:26.6948880Z     },
2026-06-04T01:36:26.6949297Z     {
2026-06-04T01:36:26.6949848Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T01:36:26.6951335Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T01:36:26.6951771Z       "requiredStages": [
2026-06-04T01:36:26.6952173Z         "impl",
2026-06-04T01:36:26.6952562Z         "unit",
2026-06-04T01:36:26.6952956Z         "int"
2026-06-04T01:36:26.6953337Z       ],
2026-06-04T01:36:26.6953744Z       "stages": {
2026-06-04T01:36:26.6954143Z         "doc": {
2026-06-04T01:36:26.6954582Z           "complete": false,
2026-06-04T01:36:26.6955009Z           "evidence": []
2026-06-04T01:36:26.6955402Z         },
2026-06-04T01:36:26.6955821Z         "impl": {
2026-06-04T01:36:26.6956249Z           "complete": true,
2026-06-04T01:36:26.6956674Z           "evidence": [
2026-06-04T01:36:26.6957073Z             {
2026-06-04T01:36:26.6957636Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.6958057Z               "line": 225
2026-06-04T01:36:26.6958446Z             },
2026-06-04T01:36:26.6958842Z             {
2026-06-04T01:36:26.6959437Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.6959866Z               "line": 459
2026-06-04T01:36:26.6960264Z             },
2026-06-04T01:36:26.6960653Z             {
2026-06-04T01:36:26.6961222Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.6961629Z               "line": 482
2026-06-04T01:36:26.6962028Z             },
2026-06-04T01:36:26.6962411Z             {
2026-06-04T01:36:26.6962982Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.6963399Z               "line": 506
2026-06-04T01:36:26.6963948Z             },
2026-06-04T01:36:26.6964370Z             {
2026-06-04T01:36:26.6964946Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.6965370Z               "line": 426
2026-06-04T01:36:26.6965750Z             },
2026-06-04T01:36:26.6966149Z             {
2026-06-04T01:36:26.6966735Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.6967152Z               "line": 507
2026-06-04T01:36:26.6967548Z             },
2026-06-04T01:36:26.6967933Z             {
2026-06-04T01:36:26.6968522Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.6968947Z               "line": 551
2026-06-04T01:36:26.6969376Z             },
2026-06-04T01:36:26.6969776Z             {
2026-06-04T01:36:26.6970348Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T01:36:26.6970769Z               "line": 594
2026-06-04T01:36:26.6971154Z             },
2026-06-04T01:36:26.6971545Z             {
2026-06-04T01:36:26.6972281Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T01:36:26.6972699Z               "line": 46
2026-06-04T01:36:26.6973096Z             },
2026-06-04T01:36:26.6973481Z             {
2026-06-04T01:36:26.6974064Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T01:36:26.6974479Z               "line": 160
2026-06-04T01:36:26.6974874Z             }
2026-06-04T01:36:26.6975275Z           ]
2026-06-04T01:36:26.6975661Z         },
2026-06-04T01:36:26.6976057Z         "int": {
2026-06-04T01:36:26.6976482Z           "complete": true,
2026-06-04T01:36:26.6976900Z           "evidence": [
2026-06-04T01:36:26.6977281Z             {
2026-06-04T01:36:26.6977936Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T01:36:26.6978353Z               "line": 27
2026-06-04T01:36:26.6978734Z             },
2026-06-04T01:36:26.6979124Z             {
2026-06-04T01:36:26.6979791Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T01:36:26.6980238Z               "line": 125
2026-06-04T01:36:26.6980624Z             },
2026-06-04T01:36:26.6984532Z             {
2026-06-04T01:36:26.6985271Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T01:36:26.6985688Z               "line": 189
2026-06-04T01:36:26.6986080Z             }
2026-06-04T01:36:26.6986469Z           ]
2026-06-04T01:36:26.6986866Z         },
2026-06-04T01:36:26.6987265Z         "unit": {
2026-06-04T01:36:26.6987698Z           "complete": true,
2026-06-04T01:36:26.6988120Z           "evidence": [
2026-06-04T01:36:26.6988501Z             {
2026-06-04T01:36:26.6989088Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T01:36:26.6989582Z               "line": 282
2026-06-04T01:36:26.6989976Z             },
2026-06-04T01:36:26.6990364Z             {
2026-06-04T01:36:26.6990947Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T01:36:26.6991367Z               "line": 300
2026-06-04T01:36:26.6991753Z             },
2026-06-04T01:36:26.6992178Z             {
2026-06-04T01:36:26.6992760Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T01:36:26.6993183Z               "line": 318
2026-06-04T01:36:26.6993564Z             }
2026-06-04T01:36:26.6993959Z           ]
2026-06-04T01:36:26.6994353Z         }
2026-06-04T01:36:26.6994735Z       }
2026-06-04T01:36:26.6995124Z     },
2026-06-04T01:36:26.6995510Z     {
2026-06-04T01:36:26.6996094Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T01:36:26.6997092Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T01:36:26.6997547Z       "requiredStages": [
2026-06-04T01:36:26.6997952Z         "impl",
2026-06-04T01:36:26.6998342Z         "unit"
2026-06-04T01:36:26.6998733Z       ],
2026-06-04T01:36:26.6999134Z       "stages": {
2026-06-04T01:36:26.6999585Z         "doc": {
2026-06-04T01:36:26.7000015Z           "complete": false,
2026-06-04T01:36:26.7000434Z           "evidence": []
2026-06-04T01:36:26.7000828Z         },
2026-06-04T01:36:26.7001469Z         "impl": {
2026-06-04T01:36:26.7001924Z           "complete": true,
2026-06-04T01:36:26.7002333Z           "evidence": [
2026-06-04T01:36:26.7002730Z             {
2026-06-04T01:36:26.7003321Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7003744Z               "line": 33
2026-06-04T01:36:26.7004142Z             },
2026-06-04T01:36:26.7004534Z             {
2026-06-04T01:36:26.7005102Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7005508Z               "line": 61
2026-06-04T01:36:26.7005899Z             },
2026-06-04T01:36:26.7006278Z             {
2026-06-04T01:36:26.7006844Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7007263Z               "line": 70
2026-06-04T01:36:26.7007652Z             },
2026-06-04T01:36:26.7008050Z             {
2026-06-04T01:36:26.7008608Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7009025Z               "line": 79
2026-06-04T01:36:26.7009653Z             },
2026-06-04T01:36:26.7010058Z             {
2026-06-04T01:36:26.7010630Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7011035Z               "line": 88
2026-06-04T01:36:26.7011432Z             },
2026-06-04T01:36:26.7011819Z             {
2026-06-04T01:36:26.7012388Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7012797Z               "line": 96
2026-06-04T01:36:26.7013194Z             },
2026-06-04T01:36:26.7013593Z             {
2026-06-04T01:36:26.7014145Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7014568Z               "line": 105
2026-06-04T01:36:26.7014956Z             },
2026-06-04T01:36:26.7015343Z             {
2026-06-04T01:36:26.7015894Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7016312Z               "line": 112
2026-06-04T01:36:26.7016708Z             },
2026-06-04T01:36:26.7017093Z             {
2026-06-04T01:36:26.7017657Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7018081Z               "line": 119
2026-06-04T01:36:26.7018480Z             },
2026-06-04T01:36:26.7018877Z             {
2026-06-04T01:36:26.7019490Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7019914Z               "line": 186
2026-06-04T01:36:26.7020298Z             },
2026-06-04T01:36:26.7020697Z             {
2026-06-04T01:36:26.7021249Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7021668Z               "line": 198
2026-06-04T01:36:26.7022065Z             },
2026-06-04T01:36:26.7022448Z             {
2026-06-04T01:36:26.7023013Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7023421Z               "line": 285
2026-06-04T01:36:26.7023811Z             }
2026-06-04T01:36:26.7024198Z           ]
2026-06-04T01:36:26.7024594Z         },
2026-06-04T01:36:26.7024990Z         "int": {
2026-06-04T01:36:26.7025418Z           "complete": false,
2026-06-04T01:36:26.7025844Z           "evidence": []
2026-06-04T01:36:26.7026250Z         },
2026-06-04T01:36:26.7026659Z         "unit": {
2026-06-04T01:36:26.7027090Z           "complete": true,
2026-06-04T01:36:26.7027507Z           "evidence": [
2026-06-04T01:36:26.7027902Z             {
2026-06-04T01:36:26.7028468Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7028883Z               "line": 355
2026-06-04T01:36:26.7029305Z             },
2026-06-04T01:36:26.7029695Z             {
2026-06-04T01:36:26.7030252Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7030674Z               "line": 381
2026-06-04T01:36:26.7031070Z             },
2026-06-04T01:36:26.7031457Z             {
2026-06-04T01:36:26.7032021Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7032428Z               "line": 394
2026-06-04T01:36:26.7032823Z             },
2026-06-04T01:36:26.7033211Z             {
2026-06-04T01:36:26.7033774Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7034356Z               "line": 436
2026-06-04T01:36:26.7034752Z             }
2026-06-04T01:36:26.7035146Z           ]
2026-06-04T01:36:26.7035532Z         }
2026-06-04T01:36:26.7035929Z       }
2026-06-04T01:36:26.7036310Z     },
2026-06-04T01:36:26.7036693Z     {
2026-06-04T01:36:26.7037192Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T01:36:26.7038207Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T01:36:26.7038659Z       "requiredStages": [
2026-06-04T01:36:26.7039051Z         "impl",
2026-06-04T01:36:26.7039518Z         "unit"
2026-06-04T01:36:26.7039904Z       ],
2026-06-04T01:36:26.7040311Z       "stages": {
2026-06-04T01:36:26.7040712Z         "doc": {
2026-06-04T01:36:26.7041135Z           "complete": false,
2026-06-04T01:36:26.7041553Z           "evidence": []
2026-06-04T01:36:26.7041937Z         },
2026-06-04T01:36:26.7042342Z         "impl": {
2026-06-04T01:36:26.7042774Z           "complete": true,
2026-06-04T01:36:26.7043340Z           "evidence": [
2026-06-04T01:36:26.7043748Z             {
2026-06-04T01:36:26.7044292Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7044717Z               "line": 107
2026-06-04T01:36:26.7045106Z             },
2026-06-04T01:36:26.7045500Z             {
2026-06-04T01:36:26.7046086Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.7046496Z               "line": 59
2026-06-04T01:36:26.7046891Z             }
2026-06-04T01:36:26.7047270Z           ]
2026-06-04T01:36:26.7047660Z         },
2026-06-04T01:36:26.7048047Z         "int": {
2026-06-04T01:36:26.7048492Z           "complete": false,
2026-06-04T01:36:26.7048912Z           "evidence": []
2026-06-04T01:36:26.7049352Z         },
2026-06-04T01:36:26.7049756Z         "unit": {
2026-06-04T01:36:26.7050181Z           "complete": true,
2026-06-04T01:36:26.7050603Z           "evidence": [
2026-06-04T01:36:26.7050990Z             {
2026-06-04T01:36:26.7051543Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7051968Z               "line": 225
2026-06-04T01:36:26.7052368Z             },
2026-06-04T01:36:26.7052766Z             {
2026-06-04T01:36:26.7053344Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.7053767Z               "line": 237
2026-06-04T01:36:26.7054155Z             },
2026-06-04T01:36:26.7054555Z             {
2026-06-04T01:36:26.7055137Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.7055559Z               "line": 247
2026-06-04T01:36:26.7055958Z             }
2026-06-04T01:36:26.7056339Z           ]
2026-06-04T01:36:26.7060319Z         }
2026-06-04T01:36:26.7060780Z       }
2026-06-04T01:36:26.7061171Z     },
2026-06-04T01:36:26.7061551Z     {
2026-06-04T01:36:26.7062084Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T01:36:26.7062775Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T01:36:26.7063218Z       "requiredStages": [],
2026-06-04T01:36:26.7063621Z       "stages": {
2026-06-04T01:36:26.7064044Z         "doc": {
2026-06-04T01:36:26.7064487Z           "complete": false,
2026-06-04T01:36:26.7064901Z           "evidence": []
2026-06-04T01:36:26.7065288Z         },
2026-06-04T01:36:26.7065694Z         "impl": {
2026-06-04T01:36:26.7066124Z           "complete": false,
2026-06-04T01:36:26.7066545Z           "evidence": []
2026-06-04T01:36:26.7066929Z         },
2026-06-04T01:36:26.7067325Z         "int": {
2026-06-04T01:36:26.7067753Z           "complete": false,
2026-06-04T01:36:26.7068180Z           "evidence": []
2026-06-04T01:36:26.7068575Z         },
2026-06-04T01:36:26.7068967Z         "unit": {
2026-06-04T01:36:26.7069453Z           "complete": false,
2026-06-04T01:36:26.7069876Z           "evidence": []
2026-06-04T01:36:26.7070275Z         }
2026-06-04T01:36:26.7070656Z       }
2026-06-04T01:36:26.7071045Z     },
2026-06-04T01:36:26.7071428Z     {
2026-06-04T01:36:26.7071992Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T01:36:26.7073060Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T01:36:26.7073527Z       "requiredStages": [
2026-06-04T01:36:26.7073926Z         "impl",
2026-06-04T01:36:26.7074311Z         "unit"
2026-06-04T01:36:26.7074702Z       ],
2026-06-04T01:36:26.7075115Z       "stages": {
2026-06-04T01:36:26.7075500Z         "doc": {
2026-06-04T01:36:26.7075936Z           "complete": false,
2026-06-04T01:36:26.7076350Z           "evidence": []
2026-06-04T01:36:26.7076742Z         },
2026-06-04T01:36:26.7077134Z         "impl": {
2026-06-04T01:36:26.7077565Z           "complete": true,
2026-06-04T01:36:26.7077987Z           "evidence": [
2026-06-04T01:36:26.7078370Z             {
2026-06-04T01:36:26.7078987Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.7079440Z               "line": 347
2026-06-04T01:36:26.7079834Z             },
2026-06-04T01:36:26.7080219Z             {
2026-06-04T01:36:26.7080789Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.7081350Z               "line": 28
2026-06-04T01:36:26.7081750Z             }
2026-06-04T01:36:26.7082145Z           ]
2026-06-04T01:36:26.7082524Z         },
2026-06-04T01:36:26.7082925Z         "int": {
2026-06-04T01:36:26.7083353Z           "complete": false,
2026-06-04T01:36:26.7083779Z           "evidence": []
2026-06-04T01:36:26.7084167Z         },
2026-06-04T01:36:26.7084563Z         "unit": {
2026-06-04T01:36:26.7084997Z           "complete": true,
2026-06-04T01:36:26.7085406Z           "evidence": [
2026-06-04T01:36:26.7085795Z             {
2026-06-04T01:36:26.7086357Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T01:36:26.7086783Z               "line": 199
2026-06-04T01:36:26.7087177Z             }
2026-06-04T01:36:26.7087558Z           ]
2026-06-04T01:36:26.7087948Z         }
2026-06-04T01:36:26.7088329Z       }
2026-06-04T01:36:26.7088711Z     },
2026-06-04T01:36:26.7089087Z     {
2026-06-04T01:36:26.7089677Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T01:36:26.7090406Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T01:36:26.7090848Z       "requiredStages": [],
2026-06-04T01:36:26.7091251Z       "stages": {
2026-06-04T01:36:26.7091638Z         "doc": {
2026-06-04T01:36:26.7092086Z           "complete": false,
2026-06-04T01:36:26.7092500Z           "evidence": []
2026-06-04T01:36:26.7092889Z         },
2026-06-04T01:36:26.7093291Z         "impl": {
2026-06-04T01:36:26.7093723Z           "complete": false,
2026-06-04T01:36:26.7094148Z           "evidence": []
2026-06-04T01:36:26.7094530Z         },
2026-06-04T01:36:26.7094921Z         "int": {
2026-06-04T01:36:26.7095346Z           "complete": false,
2026-06-04T01:36:26.7095767Z           "evidence": []
2026-06-04T01:36:26.7096159Z         },
2026-06-04T01:36:26.7096544Z         "unit": {
2026-06-04T01:36:26.7096982Z           "complete": false,
2026-06-04T01:36:26.7097399Z           "evidence": []
2026-06-04T01:36:26.7097785Z         }
2026-06-04T01:36:26.7098163Z       }
2026-06-04T01:36:26.7098565Z     },
2026-06-04T01:36:26.7098957Z     {
2026-06-04T01:36:26.7099540Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T01:36:26.7100289Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T01:36:26.7100723Z       "requiredStages": [
2026-06-04T01:36:26.7101122Z         "impl",
2026-06-04T01:36:26.7101510Z         "unit"
2026-06-04T01:36:26.7101909Z       ],
2026-06-04T01:36:26.7102317Z       "stages": {
2026-06-04T01:36:26.7102707Z         "doc": {
2026-06-04T01:36:26.7103144Z           "complete": false,
2026-06-04T01:36:26.7103560Z           "evidence": []
2026-06-04T01:36:26.7103946Z         },
2026-06-04T01:36:26.7104335Z         "impl": {
2026-06-04T01:36:26.7104765Z           "complete": true,
2026-06-04T01:36:26.7105184Z           "evidence": [
2026-06-04T01:36:26.7105562Z             {
2026-06-04T01:36:26.7106167Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.7106577Z               "line": 325
2026-06-04T01:36:26.7106967Z             },
2026-06-04T01:36:26.7107514Z             {
2026-06-04T01:36:26.7108128Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.7108552Z               "line": 361
2026-06-04T01:36:26.7108936Z             }
2026-06-04T01:36:26.7109367Z           ]
2026-06-04T01:36:26.7109756Z         },
2026-06-04T01:36:26.7110150Z         "int": {
2026-06-04T01:36:26.7110582Z           "complete": false,
2026-06-04T01:36:26.7111006Z           "evidence": []
2026-06-04T01:36:26.7111402Z         },
2026-06-04T01:36:26.7111821Z         "unit": {
2026-06-04T01:36:26.7112250Z           "complete": true,
2026-06-04T01:36:26.7112664Z           "evidence": [
2026-06-04T01:36:26.7113052Z             {
2026-06-04T01:36:26.7113652Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.7114069Z               "line": 453
2026-06-04T01:36:26.7114458Z             }
2026-06-04T01:36:26.7114842Z           ]
2026-06-04T01:36:26.7115225Z         }
2026-06-04T01:36:26.7115601Z       }
2026-06-04T01:36:26.7116127Z     },
2026-06-04T01:36:26.7116510Z     {
2026-06-04T01:36:26.7117064Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T01:36:26.7117854Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T01:36:26.7118293Z       "requiredStages": [
2026-06-04T01:36:26.7118695Z         "impl",
2026-06-04T01:36:26.7119081Z         "unit"
2026-06-04T01:36:26.7119517Z       ],
2026-06-04T01:36:26.7119914Z       "stages": {
2026-06-04T01:36:26.7120312Z         "doc": {
2026-06-04T01:36:26.7120748Z           "complete": false,
2026-06-04T01:36:26.7121156Z           "evidence": []
2026-06-04T01:36:26.7121543Z         },
2026-06-04T01:36:26.7121932Z         "impl": {
2026-06-04T01:36:26.7122364Z           "complete": true,
2026-06-04T01:36:26.7122778Z           "evidence": [
2026-06-04T01:36:26.7123170Z             {
2026-06-04T01:36:26.7123741Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.7124153Z               "line": 35
2026-06-04T01:36:26.7124544Z             }
2026-06-04T01:36:26.7124947Z           ]
2026-06-04T01:36:26.7125341Z         },
2026-06-04T01:36:26.7125723Z         "int": {
2026-06-04T01:36:26.7126162Z           "complete": false,
2026-06-04T01:36:26.7126581Z           "evidence": []
2026-06-04T01:36:26.7126965Z         },
2026-06-04T01:36:26.7127363Z         "unit": {
2026-06-04T01:36:26.7127786Z           "complete": true,
2026-06-04T01:36:26.7128203Z           "evidence": [
2026-06-04T01:36:26.7129705Z             {
2026-06-04T01:36:26.7130557Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T01:36:26.7130995Z               "line": 217
2026-06-04T01:36:26.7131386Z             }
2026-06-04T01:36:26.7131781Z           ]
2026-06-04T01:36:26.7132159Z         }
2026-06-04T01:36:26.7136295Z       }
2026-06-04T01:36:26.7136745Z     },
2026-06-04T01:36:26.7137141Z     {
2026-06-04T01:36:26.7137654Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T01:36:26.7139259Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T01:36:26.7140076Z       "requiredStages": [
2026-06-04T01:36:26.7140485Z         "impl",
2026-06-04T01:36:26.7140885Z         "unit"
2026-06-04T01:36:26.7141277Z       ],
2026-06-04T01:36:26.7141694Z       "stages": {
2026-06-04T01:36:26.7142095Z         "doc": {
2026-06-04T01:36:26.7142529Z           "complete": false,
2026-06-04T01:36:26.7142959Z           "evidence": []
2026-06-04T01:36:26.7143342Z         },
2026-06-04T01:36:26.7143752Z         "impl": {
2026-06-04T01:36:26.7144185Z           "complete": true,
2026-06-04T01:36:26.7144609Z           "evidence": [
2026-06-04T01:36:26.7145005Z             {
2026-06-04T01:36:26.7145609Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.7146033Z               "line": 159
2026-06-04T01:36:26.7146421Z             },
2026-06-04T01:36:26.7146816Z             {
2026-06-04T01:36:26.7147397Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.7147818Z               "line": 150
2026-06-04T01:36:26.7148508Z             }
2026-06-04T01:36:26.7148931Z           ]
2026-06-04T01:36:26.7149520Z         },
2026-06-04T01:36:26.7150064Z         "int": {
2026-06-04T01:36:26.7150512Z           "complete": false,
2026-06-04T01:36:26.7150931Z           "evidence": []
2026-06-04T01:36:26.7151327Z         },
2026-06-04T01:36:26.7151732Z         "unit": {
2026-06-04T01:36:26.7152160Z           "complete": true,
2026-06-04T01:36:26.7152580Z           "evidence": [
2026-06-04T01:36:26.7152967Z             {
2026-06-04T01:36:26.7153560Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.7153972Z               "line": 382
2026-06-04T01:36:26.7154363Z             },
2026-06-04T01:36:26.7154757Z             {
2026-06-04T01:36:26.7155337Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.7155760Z               "line": 393
2026-06-04T01:36:26.7156145Z             },
2026-06-04T01:36:26.7156540Z             {
2026-06-04T01:36:26.7157330Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.7157757Z               "line": 409
2026-06-04T01:36:26.7158155Z             },
2026-06-04T01:36:26.7158544Z             {
2026-06-04T01:36:26.7159141Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.7159909Z               "line": 423
2026-06-04T01:36:26.7160301Z             }
2026-06-04T01:36:26.7160690Z           ]
2026-06-04T01:36:26.7161087Z         }
2026-06-04T01:36:26.7161482Z       }
2026-06-04T01:36:26.7161868Z     },
2026-06-04T01:36:26.7162250Z     {
2026-06-04T01:36:26.7162792Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T01:36:26.7163617Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T01:36:26.7164059Z       "requiredStages": [
2026-06-04T01:36:26.7164460Z         "impl",
2026-06-04T01:36:26.7164868Z         "unit"
2026-06-04T01:36:26.7165256Z       ],
2026-06-04T01:36:26.7165666Z       "stages": {
2026-06-04T01:36:26.7166056Z         "doc": {
2026-06-04T01:36:26.7166516Z           "complete": false,
2026-06-04T01:36:26.7166935Z           "evidence": []
2026-06-04T01:36:26.7167327Z         },
2026-06-04T01:36:26.7167732Z         "impl": {
2026-06-04T01:36:26.7168166Z           "complete": true,
2026-06-04T01:36:26.7168585Z           "evidence": [
2026-06-04T01:36:26.7168971Z             {
2026-06-04T01:36:26.7169754Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7170334Z               "line": 92
2026-06-04T01:36:26.7170752Z             },
2026-06-04T01:36:26.7171149Z             {
2026-06-04T01:36:26.7171704Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.7172123Z               "line": 96
2026-06-04T01:36:26.7172512Z             }
2026-06-04T01:36:26.7172907Z           ]
2026-06-04T01:36:26.7173288Z         },
2026-06-04T01:36:26.7173686Z         "int": {
2026-06-04T01:36:26.7174131Z           "complete": false,
2026-06-04T01:36:26.7174546Z           "evidence": []
2026-06-04T01:36:26.7174955Z         },
2026-06-04T01:36:26.7175356Z         "unit": {
2026-06-04T01:36:26.7175803Z           "complete": true,
2026-06-04T01:36:26.7176221Z           "evidence": [
2026-06-04T01:36:26.7176608Z             {
2026-06-04T01:36:26.7177170Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7177588Z               "line": 235
2026-06-04T01:36:26.7177981Z             },
2026-06-04T01:36:26.7178368Z             {
2026-06-04T01:36:26.7178926Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T01:36:26.7179683Z               "line": 139
2026-06-04T01:36:26.7180083Z             },
2026-06-04T01:36:26.7180484Z             {
2026-06-04T01:36:26.7181037Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.7181465Z               "line": 375
2026-06-04T01:36:26.7181853Z             },
2026-06-04T01:36:26.7182245Z             {
2026-06-04T01:36:26.7182804Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.7183226Z               "line": 405
2026-06-04T01:36:26.7183779Z             }
2026-06-04T01:36:26.7184180Z           ]
2026-06-04T01:36:26.7184572Z         }
2026-06-04T01:36:26.7184960Z       }
2026-06-04T01:36:26.7185349Z     },
2026-06-04T01:36:26.7185726Z     {
2026-06-04T01:36:26.7186230Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T01:36:26.7187186Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T01:36:26.7187629Z       "requiredStages": [
2026-06-04T01:36:26.7188029Z         "impl",
2026-06-04T01:36:26.7188420Z         "unit"
2026-06-04T01:36:26.7188814Z       ],
2026-06-04T01:36:26.7189265Z       "stages": {
2026-06-04T01:36:26.7190052Z         "doc": {
2026-06-04T01:36:26.7190498Z           "complete": false,
2026-06-04T01:36:26.7190918Z           "evidence": []
2026-06-04T01:36:26.7191318Z         },
2026-06-04T01:36:26.7191716Z         "impl": {
2026-06-04T01:36:26.7192157Z           "complete": true,
2026-06-04T01:36:26.7192577Z           "evidence": [
2026-06-04T01:36:26.7193249Z             {
2026-06-04T01:36:26.7193840Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7194253Z               "line": 142
2026-06-04T01:36:26.7194653Z             },
2026-06-04T01:36:26.7195043Z             {
2026-06-04T01:36:26.7195608Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7196022Z               "line": 187
2026-06-04T01:36:26.7196417Z             },
2026-06-04T01:36:26.7196807Z             {
2026-06-04T01:36:26.7197370Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7197797Z               "line": 199
2026-06-04T01:36:26.7198186Z             }
2026-06-04T01:36:26.7198582Z           ]
2026-06-04T01:36:26.7198970Z         },
2026-06-04T01:36:26.7199590Z         "int": {
2026-06-04T01:36:26.7200211Z           "complete": false,
2026-06-04T01:36:26.7200635Z           "evidence": []
2026-06-04T01:36:26.7201032Z         },
2026-06-04T01:36:26.7201427Z         "unit": {
2026-06-04T01:36:26.7201858Z           "complete": true,
2026-06-04T01:36:26.7202287Z           "evidence": [
2026-06-04T01:36:26.7202688Z             {
2026-06-04T01:36:26.7203269Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7203686Z               "line": 335
2026-06-04T01:36:26.7204084Z             },
2026-06-04T01:36:26.7204467Z             {
2026-06-04T01:36:26.7205033Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.7205449Z               "line": 364
2026-06-04T01:36:26.7205853Z             }
2026-06-04T01:36:26.7206249Z           ]
2026-06-04T01:36:26.7206633Z         }
2026-06-04T01:36:26.7207024Z       }
2026-06-04T01:36:26.7207409Z     },
2026-06-04T01:36:26.7207793Z     {
2026-06-04T01:36:26.7208221Z       "id": "REQ-INFRA-1",
2026-06-04T01:36:26.7209203Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T01:36:26.7209986Z       "requiredStages": [],
2026-06-04T01:36:26.7210389Z       "stages": {
2026-06-04T01:36:26.7210789Z         "doc": {
2026-06-04T01:36:26.7211243Z           "complete": false,
2026-06-04T01:36:26.7211668Z           "evidence": []
2026-06-04T01:36:26.7215628Z         },
2026-06-04T01:36:26.7216129Z         "impl": {
2026-06-04T01:36:26.7216574Z           "complete": false,
2026-06-04T01:36:26.7216991Z           "evidence": []
2026-06-04T01:36:26.7217387Z         },
2026-06-04T01:36:26.7217786Z         "int": {
2026-06-04T01:36:26.7218227Z           "complete": false,
2026-06-04T01:36:26.7218642Z           "evidence": []
2026-06-04T01:36:26.7219037Z         },
2026-06-04T01:36:26.7219720Z         "unit": {
2026-06-04T01:36:26.7220361Z           "complete": false,
2026-06-04T01:36:26.7220791Z           "evidence": []
2026-06-04T01:36:26.7221183Z         }
2026-06-04T01:36:26.7221571Z       }
2026-06-04T01:36:26.7221949Z     },
2026-06-04T01:36:26.7222340Z     {
2026-06-04T01:36:26.7222774Z       "id": "REQ-INST-1",
2026-06-04T01:36:26.7223584Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T01:36:26.7224298Z       "requiredStages": [],
2026-06-04T01:36:26.7224725Z       "stages": {
2026-06-04T01:36:26.7225124Z         "doc": {
2026-06-04T01:36:26.7225559Z           "complete": false,
2026-06-04T01:36:26.7225991Z           "evidence": []
2026-06-04T01:36:26.7226388Z         },
2026-06-04T01:36:26.7226781Z         "impl": {
2026-06-04T01:36:26.7227218Z           "complete": false,
2026-06-04T01:36:26.7227633Z           "evidence": []
2026-06-04T01:36:26.7228026Z         },
2026-06-04T01:36:26.7228416Z         "int": {
2026-06-04T01:36:26.7228861Z           "complete": false,
2026-06-04T01:36:26.7229335Z           "evidence": []
2026-06-04T01:36:26.7229723Z         },
2026-06-04T01:36:26.7230131Z         "unit": {
2026-06-04T01:36:26.7230559Z           "complete": false,
2026-06-04T01:36:26.7230979Z           "evidence": []
2026-06-04T01:36:26.7231362Z         }
2026-06-04T01:36:26.7231762Z       }
2026-06-04T01:36:26.7232149Z     },
2026-06-04T01:36:26.7232523Z     {
2026-06-04T01:36:26.7232960Z       "id": "REQ-INST-10",
2026-06-04T01:36:26.7234259Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T01:36:26.7234717Z       "requiredStages": [
2026-06-04T01:36:26.7235117Z         "impl",
2026-06-04T01:36:26.7235515Z         "unit"
2026-06-04T01:36:26.7235913Z       ],
2026-06-04T01:36:26.7236308Z       "stages": {
2026-06-04T01:36:26.7236709Z         "doc": {
2026-06-04T01:36:26.7237141Z           "complete": false,
2026-06-04T01:36:26.7237569Z           "evidence": []
2026-06-04T01:36:26.7237955Z         },
2026-06-04T01:36:26.7238365Z         "impl": {
2026-06-04T01:36:26.7238805Z           "complete": true,
2026-06-04T01:36:26.7239262Z           "evidence": [
2026-06-04T01:36:26.7239667Z             {
2026-06-04T01:36:26.7240275Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7240698Z               "line": 351
2026-06-04T01:36:26.7241093Z             },
2026-06-04T01:36:26.7241487Z             {
2026-06-04T01:36:26.7242126Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7242545Z               "line": 406
2026-06-04T01:36:26.7242945Z             },
2026-06-04T01:36:26.7243332Z             {
2026-06-04T01:36:26.7243898Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T01:36:26.7244304Z               "line": 13
2026-06-04T01:36:26.7244703Z             },
2026-06-04T01:36:26.7245093Z             {
2026-06-04T01:36:26.7245639Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T01:36:26.7246060Z               "line": 67
2026-06-04T01:36:26.7246443Z             }
2026-06-04T01:36:26.7246833Z           ]
2026-06-04T01:36:26.7247216Z         },
2026-06-04T01:36:26.7247620Z         "int": {
2026-06-04T01:36:26.7248064Z           "complete": false,
2026-06-04T01:36:26.7248483Z           "evidence": []
2026-06-04T01:36:26.7248873Z         },
2026-06-04T01:36:26.7249302Z         "unit": {
2026-06-04T01:36:26.7249749Z           "complete": true,
2026-06-04T01:36:26.7250158Z           "evidence": [
2026-06-04T01:36:26.7250571Z             {
2026-06-04T01:36:26.7251179Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7251591Z               "line": 550
2026-06-04T01:36:26.7251981Z             },
2026-06-04T01:36:26.7252360Z             {
2026-06-04T01:36:26.7252968Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7253382Z               "line": 559
2026-06-04T01:36:26.7253781Z             },
2026-06-04T01:36:26.7254175Z             {
2026-06-04T01:36:26.7254766Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7255188Z               "line": 567
2026-06-04T01:36:26.7255576Z             },
2026-06-04T01:36:26.7255972Z             {
2026-06-04T01:36:26.7256562Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7256983Z               "line": 580
2026-06-04T01:36:26.7257376Z             },
2026-06-04T01:36:26.7257765Z             {
2026-06-04T01:36:26.7258515Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7258957Z               "line": 593
2026-06-04T01:36:26.7259412Z             },
2026-06-04T01:36:26.7259814Z             {
2026-06-04T01:36:26.7260409Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7260826Z               "line": 609
2026-06-04T01:36:26.7261209Z             },
2026-06-04T01:36:26.7261598Z             {
2026-06-04T01:36:26.7262190Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7262613Z               "line": 838
2026-06-04T01:36:26.7263013Z             },
2026-06-04T01:36:26.7263398Z             {
2026-06-04T01:36:26.7263961Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T01:36:26.7264376Z               "line": 121
2026-06-04T01:36:26.7264769Z             },
2026-06-04T01:36:26.7265153Z             {
2026-06-04T01:36:26.7265717Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T01:36:26.7266142Z               "line": 142
2026-06-04T01:36:26.7266685Z             },
2026-06-04T01:36:26.7267083Z             {
2026-06-04T01:36:26.7267631Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T01:36:26.7268053Z               "line": 150
2026-06-04T01:36:26.7268443Z             },
2026-06-04T01:36:26.7268831Z             {
2026-06-04T01:36:26.7269439Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T01:36:26.7269853Z               "line": 158
2026-06-04T01:36:26.7270249Z             }
2026-06-04T01:36:26.7270633Z           ]
2026-06-04T01:36:26.7271027Z         }
2026-06-04T01:36:26.7271413Z       }
2026-06-04T01:36:26.7271811Z     },
2026-06-04T01:36:26.7272197Z     {
2026-06-04T01:36:26.7272624Z       "id": "REQ-INST-11",
2026-06-04T01:36:26.7273791Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T01:36:26.7274231Z       "requiredStages": [
2026-06-04T01:36:26.7274639Z         "impl",
2026-06-04T01:36:26.7275030Z         "unit"
2026-06-04T01:36:26.7275440Z       ],
2026-06-04T01:36:26.7275856Z       "stages": {
2026-06-04T01:36:26.7276251Z         "doc": {
2026-06-04T01:36:26.7276691Z           "complete": false,
2026-06-04T01:36:26.7277105Z           "evidence": []
2026-06-04T01:36:26.7277499Z         },
2026-06-04T01:36:26.7277898Z         "impl": {
2026-06-04T01:36:26.7278331Z           "complete": true,
2026-06-04T01:36:26.7278750Z           "evidence": [
2026-06-04T01:36:26.7279133Z             {
2026-06-04T01:36:26.7279787Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7280204Z               "line": 253
2026-06-04T01:36:26.7280598Z             },
2026-06-04T01:36:26.7280982Z             {
2026-06-04T01:36:26.7281555Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T01:36:26.7281972Z               "line": 59
2026-06-04T01:36:26.7282362Z             },
2026-06-04T01:36:26.7282753Z             {
2026-06-04T01:36:26.7283258Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7283678Z               "line": 586
2026-06-04T01:36:26.7284081Z             }
2026-06-04T01:36:26.7284476Z           ]
2026-06-04T01:36:26.7284866Z         },
2026-06-04T01:36:26.7285252Z         "int": {
2026-06-04T01:36:26.7285692Z           "complete": false,
2026-06-04T01:36:26.7286110Z           "evidence": []
2026-06-04T01:36:26.7286498Z         },
2026-06-04T01:36:26.7286892Z         "unit": {
2026-06-04T01:36:26.7287328Z           "complete": true,
2026-06-04T01:36:26.7287748Z           "evidence": [
2026-06-04T01:36:26.7291715Z             {
2026-06-04T01:36:26.7292427Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7292852Z               "line": 702
2026-06-04T01:36:26.7293249Z             },
2026-06-04T01:36:26.7293637Z             {
2026-06-04T01:36:26.7294244Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7294666Z               "line": 725
2026-06-04T01:36:26.7295053Z             },
2026-06-04T01:36:26.7295448Z             {
2026-06-04T01:36:26.7296286Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T01:36:26.7296734Z               "line": 156
2026-06-04T01:36:26.7297122Z             },
2026-06-04T01:36:26.7297517Z             {
2026-06-04T01:36:26.7298086Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T01:36:26.7298498Z               "line": 177
2026-06-04T01:36:26.7298897Z             },
2026-06-04T01:36:26.7299344Z             {
2026-06-04T01:36:26.7299921Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T01:36:26.7300336Z               "line": 209
2026-06-04T01:36:26.7300726Z             },
2026-06-04T01:36:26.7301121Z             {
2026-06-04T01:36:26.7301620Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7302042Z               "line": 635
2026-06-04T01:36:26.7302426Z             }
2026-06-04T01:36:26.7302817Z           ]
2026-06-04T01:36:26.7303194Z         }
2026-06-04T01:36:26.7303586Z       }
2026-06-04T01:36:26.7303973Z     },
2026-06-04T01:36:26.7304350Z     {
2026-06-04T01:36:26.7304937Z       "id": "REQ-INST-12",
2026-06-04T01:36:26.7306566Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T01:36:26.7307017Z       "requiredStages": [
2026-06-04T01:36:26.7307423Z         "impl",
2026-06-04T01:36:26.7307817Z         "unit"
2026-06-04T01:36:26.7308212Z       ],
2026-06-04T01:36:26.7308608Z       "stages": {
2026-06-04T01:36:26.7309004Z         "doc": {
2026-06-04T01:36:26.7309482Z           "complete": false,
2026-06-04T01:36:26.7309906Z           "evidence": []
2026-06-04T01:36:26.7310290Z         },
2026-06-04T01:36:26.7310694Z         "impl": {
2026-06-04T01:36:26.7311131Z           "complete": true,
2026-06-04T01:36:26.7311548Z           "evidence": [
2026-06-04T01:36:26.7311941Z             {
2026-06-04T01:36:26.7312544Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7312961Z               "line": 305
2026-06-04T01:36:26.7313357Z             },
2026-06-04T01:36:26.7313761Z             {
2026-06-04T01:36:26.7314363Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7314777Z               "line": 362
2026-06-04T01:36:26.7315169Z             },
2026-06-04T01:36:26.7315555Z             {
2026-06-04T01:36:26.7316161Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7316579Z               "line": 420
2026-06-04T01:36:26.7316964Z             },
2026-06-04T01:36:26.7317391Z             {
2026-06-04T01:36:26.7317957Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.7318369Z               "line": 87
2026-06-04T01:36:26.7318759Z             },
2026-06-04T01:36:26.7319150Z             {
2026-06-04T01:36:26.7319755Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.7320174Z               "line": 216
2026-06-04T01:36:26.7320570Z             },
2026-06-04T01:36:26.7320955Z             {
2026-06-04T01:36:26.7321562Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7321990Z               "line": 132
2026-06-04T01:36:26.7322380Z             }
2026-06-04T01:36:26.7322774Z           ]
2026-06-04T01:36:26.7323157Z         },
2026-06-04T01:36:26.7323559Z         "int": {
2026-06-04T01:36:26.7323988Z           "complete": false,
2026-06-04T01:36:26.7324413Z           "evidence": []
2026-06-04T01:36:26.7324795Z         },
2026-06-04T01:36:26.7325196Z         "unit": {
2026-06-04T01:36:26.7325631Z           "complete": true,
2026-06-04T01:36:26.7326044Z           "evidence": [
2026-06-04T01:36:26.7326523Z             {
2026-06-04T01:36:26.7327117Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7327539Z               "line": 760
2026-06-04T01:36:26.7327916Z             },
2026-06-04T01:36:26.7328306Z             {
2026-06-04T01:36:26.7328903Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7329353Z               "line": 777
2026-06-04T01:36:26.7329750Z             },
2026-06-04T01:36:26.7330290Z             {
2026-06-04T01:36:26.7330918Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7331332Z               "line": 808
2026-06-04T01:36:26.7331723Z             },
2026-06-04T01:36:26.7332116Z             {
2026-06-04T01:36:26.7332672Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.7333091Z               "line": 350
2026-06-04T01:36:26.7333472Z             },
2026-06-04T01:36:26.7333857Z             {
2026-06-04T01:36:26.7334450Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7334874Z               "line": 169
2026-06-04T01:36:26.7335265Z             },
2026-06-04T01:36:26.7335647Z             {
2026-06-04T01:36:26.7336255Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7336663Z               "line": 181
2026-06-04T01:36:26.7337050Z             },
2026-06-04T01:36:26.7337428Z             {
2026-06-04T01:36:26.7338030Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7338600Z               "line": 198
2026-06-04T01:36:26.7338989Z             }
2026-06-04T01:36:26.7339433Z           ]
2026-06-04T01:36:26.7339820Z         }
2026-06-04T01:36:26.7340210Z       }
2026-06-04T01:36:26.7340586Z     },
2026-06-04T01:36:26.7340967Z     {
2026-06-04T01:36:26.7341406Z       "id": "REQ-INST-13",
2026-06-04T01:36:26.7342361Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T01:36:26.7342803Z       "requiredStages": [
2026-06-04T01:36:26.7343191Z         "impl",
2026-06-04T01:36:26.7343590Z         "unit"
2026-06-04T01:36:26.7343967Z       ],
2026-06-04T01:36:26.7344372Z       "stages": {
2026-06-04T01:36:26.7344781Z         "doc": {
2026-06-04T01:36:26.7345212Z           "complete": false,
2026-06-04T01:36:26.7345637Z           "evidence": []
2026-06-04T01:36:26.7346020Z         },
2026-06-04T01:36:26.7346425Z         "impl": {
2026-06-04T01:36:26.7346849Z           "complete": true,
2026-06-04T01:36:26.7347282Z           "evidence": [
2026-06-04T01:36:26.7347682Z             {
2026-06-04T01:36:26.7348285Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7348702Z               "line": 155
2026-06-04T01:36:26.7349086Z             }
2026-06-04T01:36:26.7349541Z           ]
2026-06-04T01:36:26.7349921Z         },
2026-06-04T01:36:26.7350321Z         "int": {
2026-06-04T01:36:26.7350762Z           "complete": false,
2026-06-04T01:36:26.7351176Z           "evidence": []
2026-06-04T01:36:26.7351566Z         },
2026-06-04T01:36:26.7351956Z         "unit": {
2026-06-04T01:36:26.7352394Z           "complete": true,
2026-06-04T01:36:26.7352801Z           "evidence": [
2026-06-04T01:36:26.7353188Z             {
2026-06-04T01:36:26.7353795Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7354205Z               "line": 221
2026-06-04T01:36:26.7354600Z             },
2026-06-04T01:36:26.7354974Z             {
2026-06-04T01:36:26.7355580Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T01:36:26.7356013Z               "line": 233
2026-06-04T01:36:26.7356408Z             }
2026-06-04T01:36:26.7356800Z           ]
2026-06-04T01:36:26.7357203Z         }
2026-06-04T01:36:26.7357802Z       }
2026-06-04T01:36:26.7358575Z     },
2026-06-04T01:36:26.7359077Z     {
2026-06-04T01:36:26.7359918Z       "id": "REQ-INST-14",
2026-06-04T01:36:26.7362463Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T01:36:26.7362973Z       "requiredStages": [],
2026-06-04T01:36:26.7363410Z       "stages": {
2026-06-04T01:36:26.7363879Z         "doc": {
2026-06-04T01:36:26.7364382Z           "complete": false,
2026-06-04T01:36:26.7364850Z           "evidence": []
2026-06-04T01:36:26.7365296Z         },
2026-06-04T01:36:26.7365739Z         "impl": {
2026-06-04T01:36:26.7366235Z           "complete": false,
2026-06-04T01:36:26.7376774Z           "evidence": []
2026-06-04T01:36:26.7377368Z         },
2026-06-04T01:36:26.7378243Z         "int": {
2026-06-04T01:36:26.7378714Z           "complete": false,
2026-06-04T01:36:26.7379137Z           "evidence": []
2026-06-04T01:36:26.7379937Z         },
2026-06-04T01:36:26.7380361Z         "unit": {
2026-06-04T01:36:26.7380826Z           "complete": false,
2026-06-04T01:36:26.7381269Z           "evidence": []
2026-06-04T01:36:26.7381685Z         }
2026-06-04T01:36:26.7382098Z       }
2026-06-04T01:36:26.7382508Z     },
2026-06-04T01:36:26.7383108Z     {
2026-06-04T01:36:26.7383608Z       "id": "REQ-INST-15",
2026-06-04T01:36:26.7388532Z       "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-04T01:36:26.7389065Z       "requiredStages": [],
2026-06-04T01:36:26.7389673Z       "stages": {
2026-06-04T01:36:26.7390340Z         "doc": {
2026-06-04T01:36:26.7390790Z           "complete": false,
2026-06-04T01:36:26.7391223Z           "evidence": []
2026-06-04T01:36:26.7391605Z         },
2026-06-04T01:36:26.7392010Z         "impl": {
2026-06-04T01:36:26.7392441Z           "complete": false,
2026-06-04T01:36:26.7392869Z           "evidence": []
2026-06-04T01:36:26.7393261Z         },
2026-06-04T01:36:26.7393646Z         "int": {
2026-06-04T01:36:26.7394444Z           "complete": false,
2026-06-04T01:36:26.7394882Z           "evidence": []
2026-06-04T01:36:26.7395274Z         },
2026-06-04T01:36:26.7395662Z         "unit": {
2026-06-04T01:36:26.7396106Z           "complete": false,
2026-06-04T01:36:26.7396527Z           "evidence": []
2026-06-04T01:36:26.7397296Z         }
2026-06-04T01:36:26.7397708Z       }
2026-06-04T01:36:26.7398087Z     },
2026-06-04T01:36:26.7398475Z     {
2026-06-04T01:36:26.7398994Z       "id": "REQ-INST-2",
2026-06-04T01:36:26.7399940Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T01:36:26.7400420Z       "requiredStages": [],
2026-06-04T01:36:26.7400823Z       "stages": {
2026-06-04T01:36:26.7401225Z         "doc": {
2026-06-04T01:36:26.7401662Z           "complete": false,
2026-06-04T01:36:26.7402090Z           "evidence": []
2026-06-04T01:36:26.7402474Z         },
2026-06-04T01:36:26.7402875Z         "impl": {
2026-06-04T01:36:26.7403315Z           "complete": false,
2026-06-04T01:36:26.7403729Z           "evidence": []
2026-06-04T01:36:26.7404124Z         },
2026-06-04T01:36:26.7404510Z         "int": {
2026-06-04T01:36:26.7404949Z           "complete": false,
2026-06-04T01:36:26.7405369Z           "evidence": []
2026-06-04T01:36:26.7405761Z         },
2026-06-04T01:36:26.7406161Z         "unit": {
2026-06-04T01:36:26.7406589Z           "complete": false,
2026-06-04T01:36:26.7407010Z           "evidence": []
2026-06-04T01:36:26.7407393Z         }
2026-06-04T01:36:26.7407780Z       }
2026-06-04T01:36:26.7408154Z     },
2026-06-04T01:36:26.7408545Z     {
2026-06-04T01:36:26.7408998Z       "id": "REQ-INST-3",
2026-06-04T01:36:26.7410077Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T01:36:26.7410539Z       "requiredStages": [],
2026-06-04T01:36:26.7410936Z       "stages": {
2026-06-04T01:36:26.7411338Z         "doc": {
2026-06-04T01:36:26.7411767Z           "complete": false,
2026-06-04T01:36:26.7412190Z           "evidence": []
2026-06-04T01:36:26.7412577Z         },
2026-06-04T01:36:26.7412969Z         "impl": {
2026-06-04T01:36:26.7413416Z           "complete": false,
2026-06-04T01:36:26.7413831Z           "evidence": []
2026-06-04T01:36:26.7414220Z         },
2026-06-04T01:36:26.7414613Z         "int": {
2026-06-04T01:36:26.7415048Z           "complete": false,
2026-06-04T01:36:26.7415470Z           "evidence": []
2026-06-04T01:36:26.7415849Z         },
2026-06-04T01:36:26.7416246Z         "unit": {
2026-06-04T01:36:26.7416675Z           "complete": false,
2026-06-04T01:36:26.7417092Z           "evidence": []
2026-06-04T01:36:26.7417473Z         }
2026-06-04T01:36:26.7418072Z       }
2026-06-04T01:36:26.7418484Z     },
2026-06-04T01:36:26.7418863Z     {
2026-06-04T01:36:26.7419352Z       "id": "REQ-INST-4",
2026-06-04T01:36:26.7420278Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T01:36:26.7420732Z       "requiredStages": [],
2026-06-04T01:36:26.7421129Z       "stages": {
2026-06-04T01:36:26.7421527Z         "doc": {
2026-06-04T01:36:26.7421975Z           "complete": false,
2026-06-04T01:36:26.7422393Z           "evidence": []
2026-06-04T01:36:26.7422787Z         },
2026-06-04T01:36:26.7423184Z         "impl": {
2026-06-04T01:36:26.7423626Z           "complete": false,
2026-06-04T01:36:26.7424036Z           "evidence": []
2026-06-04T01:36:26.7424426Z         },
2026-06-04T01:36:26.7424827Z         "int": {
2026-06-04T01:36:26.7425253Z           "complete": false,
2026-06-04T01:36:26.7425672Z           "evidence": []
2026-06-04T01:36:26.7426050Z         },
2026-06-04T01:36:26.7426448Z         "unit": {
2026-06-04T01:36:26.7427043Z           "complete": false,
2026-06-04T01:36:26.7427474Z           "evidence": []
2026-06-04T01:36:26.7427865Z         }
2026-06-04T01:36:26.7428250Z       }
2026-06-04T01:36:26.7428640Z     },
2026-06-04T01:36:26.7429014Z     {
2026-06-04T01:36:26.7429497Z       "id": "REQ-INST-5",
2026-06-04T01:36:26.7430434Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T01:36:26.7430887Z       "requiredStages": [],
2026-06-04T01:36:26.7431304Z       "stages": {
2026-06-04T01:36:26.7431695Z         "doc": {
2026-06-04T01:36:26.7432134Z           "complete": false,
2026-06-04T01:36:26.7432558Z           "evidence": []
2026-06-04T01:36:26.7432948Z         },
2026-06-04T01:36:26.7433346Z         "impl": {
2026-06-04T01:36:26.7433795Z           "complete": false,
2026-06-04T01:36:26.7434218Z           "evidence": []
2026-06-04T01:36:26.7434602Z         },
2026-06-04T01:36:26.7434996Z         "int": {
2026-06-04T01:36:26.7435432Z           "complete": false,
2026-06-04T01:36:26.7435879Z           "evidence": []
2026-06-04T01:36:26.7436259Z         },
2026-06-04T01:36:26.7436664Z         "unit": {
2026-06-04T01:36:26.7437102Z           "complete": false,
2026-06-04T01:36:26.7437515Z           "evidence": []
2026-06-04T01:36:26.7437906Z         }
2026-06-04T01:36:26.7438290Z       }
2026-06-04T01:36:26.7438679Z     },
2026-06-04T01:36:26.7439054Z     {
2026-06-04T01:36:26.7439552Z       "id": "REQ-INST-6",
2026-06-04T01:36:26.7440550Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T01:36:26.7440998Z       "requiredStages": [],
2026-06-04T01:36:26.7441404Z       "stages": {
2026-06-04T01:36:26.7441790Z         "doc": {
2026-06-04T01:36:26.7442230Z           "complete": false,
2026-06-04T01:36:26.7442651Z           "evidence": []
2026-06-04T01:36:26.7443042Z         },
2026-06-04T01:36:26.7443450Z         "impl": {
2026-06-04T01:36:26.7443877Z           "complete": false,
2026-06-04T01:36:26.7444296Z           "evidence": []
2026-06-04T01:36:26.7444706Z         },
2026-06-04T01:36:26.7445106Z         "int": {
2026-06-04T01:36:26.7445540Z           "complete": false,
2026-06-04T01:36:26.7445965Z           "evidence": []
2026-06-04T01:36:26.7446358Z         },
2026-06-04T01:36:26.7446755Z         "unit": {
2026-06-04T01:36:26.7447199Z           "complete": false,
2026-06-04T01:36:26.7447609Z           "evidence": []
2026-06-04T01:36:26.7447998Z         }
2026-06-04T01:36:26.7448377Z       }
2026-06-04T01:36:26.7448769Z     },
2026-06-04T01:36:26.7449196Z     {
2026-06-04T01:36:26.7449640Z       "id": "REQ-INST-7",
2026-06-04T01:36:26.7450327Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T01:36:26.7450780Z       "requiredStages": [
2026-06-04T01:36:26.7451172Z         "impl",
2026-06-04T01:36:26.7451572Z         "unit"
2026-06-04T01:36:26.7451960Z       ],
2026-06-04T01:36:26.7452362Z       "stages": {
2026-06-04T01:36:26.7458425Z         "doc": {
2026-06-04T01:36:26.7459000Z           "complete": false,
2026-06-04T01:36:26.7459835Z           "evidence": []
2026-06-04T01:36:26.7460244Z         },
2026-06-04T01:36:26.7460656Z         "impl": {
2026-06-04T01:36:26.7461091Z           "complete": true,
2026-06-04T01:36:26.7461514Z           "evidence": [
2026-06-04T01:36:26.7461910Z             {
2026-06-04T01:36:26.7462521Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7462939Z               "line": 41
2026-06-04T01:36:26.7463328Z             },
2026-06-04T01:36:26.7463718Z             {
2026-06-04T01:36:26.7464304Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T01:36:26.7464732Z               "line": 123
2026-06-04T01:36:26.7465127Z             }
2026-06-04T01:36:26.7465515Z           ]
2026-06-04T01:36:26.7465908Z         },
2026-06-04T01:36:26.7466298Z         "int": {
2026-06-04T01:36:26.7466736Z           "complete": false,
2026-06-04T01:36:26.7467162Z           "evidence": []
2026-06-04T01:36:26.7467556Z         },
2026-06-04T01:36:26.7467957Z         "unit": {
2026-06-04T01:36:26.7468530Z           "complete": true,
2026-06-04T01:36:26.7468953Z           "evidence": [
2026-06-04T01:36:26.7469391Z             {
2026-06-04T01:36:26.7470001Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7470415Z               "line": 475
2026-06-04T01:36:26.7470814Z             },
2026-06-04T01:36:26.7471210Z             {
2026-06-04T01:36:26.7471803Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7472230Z               "line": 486
2026-06-04T01:36:26.7472619Z             },
2026-06-04T01:36:26.7473016Z             {
2026-06-04T01:36:26.7473610Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7474035Z               "line": 495
2026-06-04T01:36:26.7474428Z             }
2026-06-04T01:36:26.7474808Z           ]
2026-06-04T01:36:26.7475198Z         }
2026-06-04T01:36:26.7475579Z       }
2026-06-04T01:36:26.7475966Z     },
2026-06-04T01:36:26.7476342Z     {
2026-06-04T01:36:26.7476776Z       "id": "REQ-INST-8",
2026-06-04T01:36:26.7477568Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T01:36:26.7478023Z       "requiredStages": [],
2026-06-04T01:36:26.7478431Z       "stages": {
2026-06-04T01:36:26.7478821Z         "doc": {
2026-06-04T01:36:26.7479295Z           "complete": false,
2026-06-04T01:36:26.7479717Z           "evidence": []
2026-06-04T01:36:26.7480108Z         },
2026-06-04T01:36:26.7480512Z         "impl": {
2026-06-04T01:36:26.7480947Z           "complete": false,
2026-06-04T01:36:26.7481372Z           "evidence": []
2026-06-04T01:36:26.7481756Z         },
2026-06-04T01:36:26.7482156Z         "int": {
2026-06-04T01:36:26.7482587Z           "complete": false,
2026-06-04T01:36:26.7483012Z           "evidence": []
2026-06-04T01:36:26.7483405Z         },
2026-06-04T01:36:26.7483796Z         "unit": {
2026-06-04T01:36:26.7484235Z           "complete": false,
2026-06-04T01:36:26.7484653Z           "evidence": []
2026-06-04T01:36:26.7485049Z         }
2026-06-04T01:36:26.7485447Z       }
2026-06-04T01:36:26.7485840Z     },
2026-06-04T01:36:26.7486229Z     {
2026-06-04T01:36:26.7486646Z       "id": "REQ-INST-9",
2026-06-04T01:36:26.7487637Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T01:36:26.7488070Z       "requiredStages": [
2026-06-04T01:36:26.7488469Z         "impl",
2026-06-04T01:36:26.7488863Z         "unit"
2026-06-04T01:36:26.7489289Z       ],
2026-06-04T01:36:26.7489698Z       "stages": {
2026-06-04T01:36:26.7490085Z         "doc": {
2026-06-04T01:36:26.7490522Z           "complete": false,
2026-06-04T01:36:26.7490938Z           "evidence": []
2026-06-04T01:36:26.7491329Z         },
2026-06-04T01:36:26.7491721Z         "impl": {
2026-06-04T01:36:26.7492159Z           "complete": true,
2026-06-04T01:36:26.7492577Z           "evidence": [
2026-06-04T01:36:26.7492965Z             {
2026-06-04T01:36:26.7493572Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7493988Z               "line": 191
2026-06-04T01:36:26.7494540Z             }
2026-06-04T01:36:26.7494943Z           ]
2026-06-04T01:36:26.7495341Z         },
2026-06-04T01:36:26.7495743Z         "int": {
2026-06-04T01:36:26.7496174Z           "complete": false,
2026-06-04T01:36:26.7496609Z           "evidence": []
2026-06-04T01:36:26.7497014Z         },
2026-06-04T01:36:26.7497426Z         "unit": {
2026-06-04T01:36:26.7497862Z           "complete": true,
2026-06-04T01:36:26.7498279Z           "evidence": [
2026-06-04T01:36:26.7498687Z             {
2026-06-04T01:36:26.7499338Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7499764Z               "line": 626
2026-06-04T01:36:26.7500149Z             },
2026-06-04T01:36:26.7500538Z             {
2026-06-04T01:36:26.7501136Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7501554Z               "line": 635
2026-06-04T01:36:26.7501949Z             },
2026-06-04T01:36:26.7502330Z             {
2026-06-04T01:36:26.7503093Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7503510Z               "line": 649
2026-06-04T01:36:26.7503935Z             },
2026-06-04T01:36:26.7504339Z             {
2026-06-04T01:36:26.7504949Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7505374Z               "line": 659
2026-06-04T01:36:26.7505769Z             },
2026-06-04T01:36:26.7506161Z             {
2026-06-04T01:36:26.7506758Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T01:36:26.7507184Z               "line": 678
2026-06-04T01:36:26.7507578Z             }
2026-06-04T01:36:26.7507962Z           ]
2026-06-04T01:36:26.7508358Z         }
2026-06-04T01:36:26.7508743Z       }
2026-06-04T01:36:26.7509133Z     },
2026-06-04T01:36:26.7509562Z     {
2026-06-04T01:36:26.7510014Z       "id": "REQ-INSTALL-1",
2026-06-04T01:36:26.7511030Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T01:36:26.7511490Z       "requiredStages": [],
2026-06-04T01:36:26.7511920Z       "stages": {
2026-06-04T01:36:26.7512315Z         "doc": {
2026-06-04T01:36:26.7512756Z           "complete": false,
2026-06-04T01:36:26.7513175Z           "evidence": []
2026-06-04T01:36:26.7513574Z         },
2026-06-04T01:36:26.7513966Z         "impl": {
2026-06-04T01:36:26.7514418Z           "complete": false,
2026-06-04T01:36:26.7514841Z           "evidence": []
2026-06-04T01:36:26.7515222Z         },
2026-06-04T01:36:26.7515625Z         "int": {
2026-06-04T01:36:26.7516057Z           "complete": false,
2026-06-04T01:36:26.7516491Z           "evidence": []
2026-06-04T01:36:26.7516876Z         },
2026-06-04T01:36:26.7517282Z         "unit": {
2026-06-04T01:36:26.7517725Z           "complete": false,
2026-06-04T01:36:26.7518146Z           "evidence": []
2026-06-04T01:36:26.7518546Z         }
2026-06-04T01:36:26.7518926Z       }
2026-06-04T01:36:26.7519361Z     },
2026-06-04T01:36:26.7519750Z     {
2026-06-04T01:36:26.7520199Z       "id": "REQ-INSTALL-2",
2026-06-04T01:36:26.7520923Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T01:36:26.7521374Z       "requiredStages": [],
2026-06-04T01:36:26.7521780Z       "stages": {
2026-06-04T01:36:26.7522167Z         "doc": {
2026-06-04T01:36:26.7522605Z           "complete": false,
2026-06-04T01:36:26.7523021Z           "evidence": []
2026-06-04T01:36:26.7523421Z         },
2026-06-04T01:36:26.7523826Z         "impl": {
2026-06-04T01:36:26.7524257Z           "complete": false,
2026-06-04T01:36:26.7524687Z           "evidence": []
2026-06-04T01:36:26.7525071Z         },
2026-06-04T01:36:26.7525467Z         "int": {
2026-06-04T01:36:26.7525895Z           "complete": false,
2026-06-04T01:36:26.7526326Z           "evidence": []
2026-06-04T01:36:26.7526717Z         },
2026-06-04T01:36:26.7527114Z         "unit": {
2026-06-04T01:36:26.7527549Z           "complete": false,
2026-06-04T01:36:26.7527967Z           "evidence": []
2026-06-04T01:36:26.7528357Z         }
2026-06-04T01:36:26.7528739Z       }
2026-06-04T01:36:26.7529329Z     },
2026-06-04T01:36:26.7529738Z     {
2026-06-04T01:36:26.7530177Z       "id": "REQ-INSTALL-3",
2026-06-04T01:36:26.7537008Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T01:36:26.7537608Z       "requiredStages": [],
2026-06-04T01:36:26.7538019Z       "stages": {
2026-06-04T01:36:26.7538420Z         "doc": {
2026-06-04T01:36:26.7538866Z           "complete": false,
2026-06-04T01:36:26.7539427Z           "evidence": []
2026-06-04T01:36:26.7540127Z         },
2026-06-04T01:36:26.7540718Z         "impl": {
2026-06-04T01:36:26.7541489Z           "complete": false,
2026-06-04T01:36:26.7542936Z           "evidence": []
2026-06-04T01:36:26.7544093Z         },
2026-06-04T01:36:26.7545007Z         "int": {
2026-06-04T01:36:26.7546059Z           "complete": false,
2026-06-04T01:36:26.7547320Z           "evidence": []
2026-06-04T01:36:26.7548739Z         },
2026-06-04T01:36:26.7549943Z         "unit": {
2026-06-04T01:36:26.7551211Z           "complete": false,
2026-06-04T01:36:26.7553626Z           "evidence": []
2026-06-04T01:36:26.7554841Z         }
2026-06-04T01:36:26.7555791Z       }
2026-06-04T01:36:26.7556769Z     },
2026-06-04T01:36:26.7558032Z     {
2026-06-04T01:36:26.7559044Z       "id": "REQ-INSTALL-4",
2026-06-04T01:36:26.7564542Z       "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-04T01:36:26.7570493Z       "requiredStages": [],
2026-06-04T01:36:26.7571649Z       "stages": {
2026-06-04T01:36:26.7572844Z         "doc": {
2026-06-04T01:36:26.7573891Z           "complete": false,
2026-06-04T01:36:26.7575057Z           "evidence": []
2026-06-04T01:36:26.7576136Z         },
2026-06-04T01:36:26.7577045Z         "impl": {
2026-06-04T01:36:26.7578060Z           "complete": false,
2026-06-04T01:36:26.7579256Z           "evidence": []
2026-06-04T01:36:26.7580657Z         },
2026-06-04T01:36:26.7581598Z         "int": {
2026-06-04T01:36:26.7582619Z           "complete": false,
2026-06-04T01:36:26.7583782Z           "evidence": []
2026-06-04T01:36:26.7584837Z         },
2026-06-04T01:36:26.7585744Z         "unit": {
2026-06-04T01:36:26.7586761Z           "complete": false,
2026-06-04T01:36:26.7587911Z           "evidence": []
2026-06-04T01:36:26.7588986Z         }
2026-06-04T01:36:26.7589923Z       }
2026-06-04T01:36:26.7590797Z     },
2026-06-04T01:36:26.7591675Z     {
2026-06-04T01:36:26.7592611Z       "id": "REQ-MANIFEST-1",
2026-06-04T01:36:26.7594368Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T01:36:26.7596309Z       "requiredStages": [
2026-06-04T01:36:26.7597412Z         "doc",
2026-06-04T01:36:26.7598361Z         "impl",
2026-06-04T01:36:26.7599374Z         "unit"
2026-06-04T01:36:26.7600328Z       ],
2026-06-04T01:36:26.7601229Z       "stages": {
2026-06-04T01:36:26.7602205Z         "doc": {
2026-06-04T01:36:26.7603240Z           "complete": true,
2026-06-04T01:36:26.7604374Z           "evidence": [
2026-06-04T01:36:26.7605412Z             {
2026-06-04T01:36:26.7606430Z               "path": "docs/MANIFEST.md",
2026-06-04T01:36:26.7607742Z               "line": 19
2026-06-04T01:36:26.7608806Z             }
2026-06-04T01:36:26.7609779Z           ]
2026-06-04T01:36:26.7610684Z         },
2026-06-04T01:36:26.7611592Z         "impl": {
2026-06-04T01:36:26.7612607Z           "complete": true,
2026-06-04T01:36:26.7613745Z           "evidence": [
2026-06-04T01:36:26.7614769Z             {
2026-06-04T01:36:26.7615912Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7617417Z               "line": 18
2026-06-04T01:36:26.7618468Z             }
2026-06-04T01:36:26.7619435Z           ]
2026-06-04T01:36:26.7620331Z         },
2026-06-04T01:36:26.7621230Z         "int": {
2026-06-04T01:36:26.7622234Z           "complete": false,
2026-06-04T01:36:26.7623390Z           "evidence": []
2026-06-04T01:36:26.7624472Z         },
2026-06-04T01:36:26.7625686Z         "unit": {
2026-06-04T01:36:26.7626746Z           "complete": true,
2026-06-04T01:36:26.7627884Z           "evidence": [
2026-06-04T01:36:26.7635706Z             {
2026-06-04T01:36:26.7637017Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7638513Z               "line": 695
2026-06-04T01:36:26.7639733Z             },
2026-06-04T01:36:26.7640694Z             {
2026-06-04T01:36:26.7641818Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7643297Z               "line": 791
2026-06-04T01:36:26.7644348Z             },
2026-06-04T01:36:26.7645285Z             {
2026-06-04T01:36:26.7646415Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7647880Z               "line": 803
2026-06-04T01:36:26.7648938Z             },
2026-06-04T01:36:26.7649918Z             {
2026-06-04T01:36:26.7651050Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7652835Z               "line": 811
2026-06-04T01:36:26.7653893Z             },
2026-06-04T01:36:26.7654820Z             {
2026-06-04T01:36:26.7655946Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7657423Z               "line": 828
2026-06-04T01:36:26.7658478Z             },
2026-06-04T01:36:26.7659457Z             {
2026-06-04T01:36:26.7660592Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7662076Z               "line": 842
2026-06-04T01:36:26.7663158Z             },
2026-06-04T01:36:26.7664083Z             {
2026-06-04T01:36:26.7665212Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7666684Z               "line": 857
2026-06-04T01:36:26.7667739Z             },
2026-06-04T01:36:26.7668664Z             {
2026-06-04T01:36:26.7669844Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7671329Z               "line": 872
2026-06-04T01:36:26.7672405Z             },
2026-06-04T01:36:26.7673350Z             {
2026-06-04T01:36:26.7674491Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7675969Z               "line": 887
2026-06-04T01:36:26.7677029Z             },
2026-06-04T01:36:26.7677952Z             {
2026-06-04T01:36:26.7679090Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.7680620Z               "line": 898
2026-06-04T01:36:26.7681692Z             }
2026-06-04T01:36:26.7682618Z           ]
2026-06-04T01:36:26.7683516Z         }
2026-06-04T01:36:26.7684392Z       }
2026-06-04T01:36:26.7685263Z     },
2026-06-04T01:36:26.7686129Z     {
2026-06-04T01:36:26.7687051Z       "id": "REQ-MIGRATE-1",
2026-06-04T01:36:26.7688655Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T01:36:26.7690546Z       "requiredStages": [],
2026-06-04T01:36:26.7691683Z       "stages": {
2026-06-04T01:36:26.7692645Z         "doc": {
2026-06-04T01:36:26.7693652Z           "complete": false,
2026-06-04T01:36:26.7694805Z           "evidence": []
2026-06-04T01:36:26.7695869Z         },
2026-06-04T01:36:26.7696776Z         "impl": {
2026-06-04T01:36:26.7697782Z           "complete": false,
2026-06-04T01:36:26.7698920Z           "evidence": []
2026-06-04T01:36:26.7700021Z         },
2026-06-04T01:36:26.7700944Z         "int": {
2026-06-04T01:36:26.7701947Z           "complete": false,
2026-06-04T01:36:26.7703092Z           "evidence": []
2026-06-04T01:36:26.7704144Z         },
2026-06-04T01:36:26.7705047Z         "unit": {
2026-06-04T01:36:26.7706058Z           "complete": false,
2026-06-04T01:36:26.7707194Z           "evidence": []
2026-06-04T01:36:26.7708250Z         }
2026-06-04T01:36:26.7709150Z       }
2026-06-04T01:36:26.7710066Z     },
2026-06-04T01:36:26.7710936Z     {
2026-06-04T01:36:26.7711888Z       "id": "REQ-MSG-1",
2026-06-04T01:36:26.7715122Z       "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-04T01:36:26.7718866Z       "requiredStages": [
2026-06-04T01:36:26.7720045Z         "impl",
2026-06-04T01:36:26.7721001Z         "unit",
2026-06-04T01:36:26.7721991Z         "int"
2026-06-04T01:36:26.7722921Z       ],
2026-06-04T01:36:26.7723821Z       "stages": {
2026-06-04T01:36:26.7724785Z         "doc": {
2026-06-04T01:36:26.7725796Z           "complete": false,
2026-06-04T01:36:26.7726932Z           "evidence": []
2026-06-04T01:36:26.7727981Z         },
2026-06-04T01:36:26.7728874Z         "impl": {
2026-06-04T01:36:26.7729920Z           "complete": true,
2026-06-04T01:36:26.7735470Z           "evidence": [
2026-06-04T01:36:26.7736592Z             {
2026-06-04T01:36:26.7737691Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7739544Z               "line": 28
2026-06-04T01:36:26.7740597Z             },
2026-06-04T01:36:26.7741527Z             {
2026-06-04T01:36:26.7742717Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7744131Z               "line": 91
2026-06-04T01:36:26.7745441Z             },
2026-06-04T01:36:26.7746378Z             {
2026-06-04T01:36:26.7747457Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7748870Z               "line": 134
2026-06-04T01:36:26.7749988Z             },
2026-06-04T01:36:26.7750909Z             {
2026-06-04T01:36:26.7751982Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7753403Z               "line": 159
2026-06-04T01:36:26.7754454Z             },
2026-06-04T01:36:26.7755381Z             {
2026-06-04T01:36:26.7756461Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T01:36:26.7757856Z               "line": 18
2026-06-04T01:36:26.7758905Z             },
2026-06-04T01:36:26.7759872Z             {
2026-06-04T01:36:26.7760931Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.7762325Z               "line": 13
2026-06-04T01:36:26.7763356Z             },
2026-06-04T01:36:26.7764285Z             {
2026-06-04T01:36:26.7765352Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.7766735Z               "line": 61
2026-06-04T01:36:26.7767766Z             },
2026-06-04T01:36:26.7768690Z             {
2026-06-04T01:36:26.7769779Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T01:36:26.7771165Z               "line": 10
2026-06-04T01:36:26.7772206Z             }
2026-06-04T01:36:26.7773118Z           ]
2026-06-04T01:36:26.7774014Z         },
2026-06-04T01:36:26.7774897Z         "int": {
2026-06-04T01:36:26.7775881Z           "complete": true,
2026-06-04T01:36:26.7776993Z           "evidence": [
2026-06-04T01:36:26.7778019Z             {
2026-06-04T01:36:26.7779250Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T01:36:26.7780796Z               "line": 9
2026-06-04T01:36:26.7781816Z             },
2026-06-04T01:36:26.7782752Z             {
2026-06-04T01:36:26.7783951Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T01:36:26.7785500Z               "line": 66
2026-06-04T01:36:26.7786554Z             },
2026-06-04T01:36:26.7787481Z             {
2026-06-04T01:36:26.7788683Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T01:36:26.7790283Z               "line": 116
2026-06-04T01:36:26.7791332Z             }
2026-06-04T01:36:26.7792242Z           ]
2026-06-04T01:36:26.7793135Z         },
2026-06-04T01:36:26.7794023Z         "unit": {
2026-06-04T01:36:26.7795015Z           "complete": true,
2026-06-04T01:36:26.7796131Z           "evidence": [
2026-06-04T01:36:26.7797154Z             {
2026-06-04T01:36:26.7798231Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7799681Z               "line": 188
2026-06-04T01:36:26.7800732Z             },
2026-06-04T01:36:26.7801680Z             {
2026-06-04T01:36:26.7802764Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7804188Z               "line": 217
2026-06-04T01:36:26.7805239Z             },
2026-06-04T01:36:26.7806179Z             {
2026-06-04T01:36:26.7807425Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7808875Z               "line": 262
2026-06-04T01:36:26.7809981Z             },
2026-06-04T01:36:26.7810920Z             {
2026-06-04T01:36:26.7812005Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7813415Z               "line": 285
2026-06-04T01:36:26.7814467Z             },
2026-06-04T01:36:26.7815387Z             {
2026-06-04T01:36:26.7816455Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T01:36:26.7817880Z               "line": 307
2026-06-04T01:36:26.7818936Z             },
2026-06-04T01:36:26.7819912Z             {
2026-06-04T01:36:26.7821021Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T01:36:26.7822452Z               "line": 203
2026-06-04T01:36:26.7823499Z             },
2026-06-04T01:36:26.7824421Z             {
2026-06-04T01:36:26.7825506Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T01:36:26.7827088Z               "line": 233
2026-06-04T01:36:26.7832533Z             },
2026-06-04T01:36:26.7833507Z             {
2026-06-04T01:36:26.7834610Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T01:36:26.7836012Z               "line": 247
2026-06-04T01:36:26.7837051Z             },
2026-06-04T01:36:26.7837965Z             {
2026-06-04T01:36:26.7839046Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T01:36:26.7840505Z               "line": 259
2026-06-04T01:36:26.7841541Z             },
2026-06-04T01:36:26.7842460Z             {
2026-06-04T01:36:26.7843508Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.7844874Z               "line": 158
2026-06-04T01:36:26.7845914Z             },
2026-06-04T01:36:26.7846826Z             {
2026-06-04T01:36:26.7847874Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T01:36:26.7849297Z               "line": 235
2026-06-04T01:36:26.7850343Z             },
2026-06-04T01:36:26.7851261Z             {
2026-06-04T01:36:26.7852337Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T01:36:26.7853715Z               "line": 68
2026-06-04T01:36:26.7854744Z             },
2026-06-04T01:36:26.7855663Z             {
2026-06-04T01:36:26.7856713Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T01:36:26.7858089Z               "line": 74
2026-06-04T01:36:26.7859111Z             },
2026-06-04T01:36:26.7860061Z             {
2026-06-04T01:36:26.7861118Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T01:36:26.7862659Z               "line": 80
2026-06-04T01:36:26.7863720Z             },
2026-06-04T01:36:26.7864650Z             {
2026-06-04T01:36:26.7865715Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T01:36:26.7867093Z               "line": 99
2026-06-04T01:36:26.7868134Z             }
2026-06-04T01:36:26.7869042Z           ]
2026-06-04T01:36:26.7870004Z         }
2026-06-04T01:36:26.7870878Z       }
2026-06-04T01:36:26.7871751Z     },
2026-06-04T01:36:26.7872641Z     {
2026-06-04T01:36:26.7873544Z       "id": "REQ-MSG-2",
2026-06-04T01:36:26.7875661Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T01:36:26.7878046Z       "requiredStages": [
2026-06-04T01:36:26.7879132Z         "impl",
2026-06-04T01:36:26.7880130Z         "unit"
2026-06-04T01:36:26.7881058Z       ],
2026-06-04T01:36:26.7881952Z       "stages": {
2026-06-04T01:36:26.7882903Z         "doc": {
2026-06-04T01:36:26.7883888Z           "complete": false,
2026-06-04T01:36:26.7885024Z           "evidence": []
2026-06-04T01:36:26.7886066Z         },
2026-06-04T01:36:26.7886961Z         "impl": {
2026-06-04T01:36:26.7887951Z           "complete": true,
2026-06-04T01:36:26.7889059Z           "evidence": [
2026-06-04T01:36:26.7890122Z             {
2026-06-04T01:36:26.7891237Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7892582Z               "line": 11
2026-06-04T01:36:26.7893621Z             },
2026-06-04T01:36:26.7894554Z             {
2026-06-04T01:36:26.7895921Z               "path": "crates/spt/src/main.rs",
2026-06-04T01:36:26.7897309Z               "line": 8
2026-06-04T01:36:26.7898324Z             }
2026-06-04T01:36:26.7899297Z           ]
2026-06-04T01:36:26.7900208Z         },
2026-06-04T01:36:26.7901106Z         "int": {
2026-06-04T01:36:26.7902103Z           "complete": false,
2026-06-04T01:36:26.7903248Z           "evidence": []
2026-06-04T01:36:26.7904302Z         },
2026-06-04T01:36:26.7905200Z         "unit": {
2026-06-04T01:36:26.7906194Z           "complete": true,
2026-06-04T01:36:26.7907310Z           "evidence": [
2026-06-04T01:36:26.7908339Z             {
2026-06-04T01:36:26.7909434Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7911125Z               "line": 622
2026-06-04T01:36:26.7912183Z             },
2026-06-04T01:36:26.7913116Z             {
2026-06-04T01:36:26.7914147Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7915504Z               "line": 659
2026-06-04T01:36:26.7916759Z             },
2026-06-04T01:36:26.7917689Z             {
2026-06-04T01:36:26.7918720Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7920330Z               "line": 668
2026-06-04T01:36:26.7921397Z             },
2026-06-04T01:36:26.7922323Z             {
2026-06-04T01:36:26.7927856Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.7929334Z               "line": 680
2026-06-04T01:36:26.7930412Z             }
2026-06-04T01:36:26.7931330Z           ]
2026-06-04T01:36:26.7932227Z         }
2026-06-04T01:36:26.7933131Z       }
2026-06-04T01:36:26.7934002Z     },
2026-06-04T01:36:26.7934867Z     {
2026-06-04T01:36:26.7935761Z       "id": "REQ-MSG-3",
2026-06-04T01:36:26.7938619Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T01:36:26.7941793Z       "requiredStages": [
2026-06-04T01:36:26.7942873Z         "impl",
2026-06-04T01:36:26.7943845Z         "unit",
2026-06-04T01:36:26.7944793Z         "int"
2026-06-04T01:36:26.7945708Z       ],
2026-06-04T01:36:26.7946594Z       "stages": {
2026-06-04T01:36:26.7947564Z         "doc": {
2026-06-04T01:36:26.7948545Z           "complete": false,
2026-06-04T01:36:26.7949720Z           "evidence": []
2026-06-04T01:36:26.7950765Z         },
2026-06-04T01:36:26.7951660Z         "impl": {
2026-06-04T01:36:26.7952653Z           "complete": true,
2026-06-04T01:36:26.7953778Z           "evidence": [
2026-06-04T01:36:26.7954795Z             {
2026-06-04T01:36:26.7955890Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T01:36:26.7957313Z               "line": 19
2026-06-04T01:36:26.7958358Z             },
2026-06-04T01:36:26.7959316Z             {
2026-06-04T01:36:26.7960396Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7961784Z               "line": 21
2026-06-04T01:36:26.7962834Z             },
2026-06-04T01:36:26.7963753Z             {
2026-06-04T01:36:26.7964848Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7966252Z               "line": 48
2026-06-04T01:36:26.7967285Z             },
2026-06-04T01:36:26.7968204Z             {
2026-06-04T01:36:26.7969305Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7970714Z               "line": 106
2026-06-04T01:36:26.7971771Z             }
2026-06-04T01:36:26.7972685Z           ]
2026-06-04T01:36:26.7973575Z         },
2026-06-04T01:36:26.7974467Z         "int": {
2026-06-04T01:36:26.7975460Z           "complete": true,
2026-06-04T01:36:26.7976574Z           "evidence": [
2026-06-04T01:36:26.7977594Z             {
2026-06-04T01:36:26.7978798Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T01:36:26.7980389Z               "line": 10
2026-06-04T01:36:26.7981450Z             },
2026-06-04T01:36:26.7982375Z             {
2026-06-04T01:36:26.7983571Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T01:36:26.7985128Z               "line": 66
2026-06-04T01:36:26.7986405Z             }
2026-06-04T01:36:26.7987356Z           ]
2026-06-04T01:36:26.7988244Z         },
2026-06-04T01:36:26.7989133Z         "unit": {
2026-06-04T01:36:26.7990175Z           "complete": true,
2026-06-04T01:36:26.7991311Z           "evidence": [
2026-06-04T01:36:26.7992337Z             {
2026-06-04T01:36:26.7993400Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7995165Z               "line": 160
2026-06-04T01:36:26.7996228Z             },
2026-06-04T01:36:26.7997158Z             {
2026-06-04T01:36:26.7998248Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.7999713Z               "line": 179
2026-06-04T01:36:26.8000782Z             },
2026-06-04T01:36:26.8001698Z             {
2026-06-04T01:36:26.8002750Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T01:36:26.8004150Z               "line": 198
2026-06-04T01:36:26.8005246Z             }
2026-06-04T01:36:26.8006171Z           ]
2026-06-04T01:36:26.8007282Z         }
2026-06-04T01:36:26.8008160Z       }
2026-06-04T01:36:26.8009025Z     },
2026-06-04T01:36:26.8009947Z     {
2026-06-04T01:36:26.8010840Z       "id": "REQ-NET-1",
2026-06-04T01:36:26.8012434Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T01:36:26.8014289Z       "requiredStages": [
2026-06-04T01:36:26.8015371Z         "impl",
2026-06-04T01:36:26.8016325Z         "unit"
2026-06-04T01:36:26.8017248Z       ],
2026-06-04T01:36:26.8018135Z       "stages": {
2026-06-04T01:36:26.8023493Z         "doc": {
2026-06-04T01:36:26.8024694Z           "complete": false,
2026-06-04T01:36:26.8025831Z           "evidence": []
2026-06-04T01:36:26.8026875Z         },
2026-06-04T01:36:26.8027783Z         "impl": {
2026-06-04T01:36:26.8028780Z           "complete": true,
2026-06-04T01:36:26.8029986Z           "evidence": [
2026-06-04T01:36:26.8031007Z             {
2026-06-04T01:36:26.8032143Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8033659Z               "line": 65
2026-06-04T01:36:26.8034703Z             },
2026-06-04T01:36:26.8035627Z             {
2026-06-04T01:36:26.8036745Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8038200Z               "line": 122
2026-06-04T01:36:26.8039281Z             },
2026-06-04T01:36:26.8040207Z             {
2026-06-04T01:36:26.8041324Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8042781Z               "line": 138
2026-06-04T01:36:26.8043829Z             },
2026-06-04T01:36:26.8044741Z             {
2026-06-04T01:36:26.8045862Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8047319Z               "line": 153
2026-06-04T01:36:26.8048369Z             },
2026-06-04T01:36:26.8049325Z             {
2026-06-04T01:36:26.8050445Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8051902Z               "line": 207
2026-06-04T01:36:26.8052956Z             },
2026-06-04T01:36:26.8053893Z             {
2026-06-04T01:36:26.8055013Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8056466Z               "line": 238
2026-06-04T01:36:26.8057516Z             },
2026-06-04T01:36:26.8058435Z             {
2026-06-04T01:36:26.8059597Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8061063Z               "line": 244
2026-06-04T01:36:26.8062122Z             },
2026-06-04T01:36:26.8063036Z             {
2026-06-04T01:36:26.8064159Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8065620Z               "line": 260
2026-06-04T01:36:26.8066671Z             }
2026-06-04T01:36:26.8067580Z           ]
2026-06-04T01:36:26.8068469Z         },
2026-06-04T01:36:26.8069386Z         "int": {
2026-06-04T01:36:26.8070385Z           "complete": false,
2026-06-04T01:36:26.8071519Z           "evidence": []
2026-06-04T01:36:26.8072556Z         },
2026-06-04T01:36:26.8073456Z         "unit": {
2026-06-04T01:36:26.8074706Z           "complete": true,
2026-06-04T01:36:26.8075850Z           "evidence": [
2026-06-04T01:36:26.8076874Z             {
2026-06-04T01:36:26.8077991Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8079500Z               "line": 321
2026-06-04T01:36:26.8080558Z             },
2026-06-04T01:36:26.8081477Z             {
2026-06-04T01:36:26.8082590Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8084041Z               "line": 335
2026-06-04T01:36:26.8085093Z             },
2026-06-04T01:36:26.8086017Z             {
2026-06-04T01:36:26.8087144Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8088601Z               "line": 354
2026-06-04T01:36:26.8089696Z             }
2026-06-04T01:36:26.8090601Z           ]
2026-06-04T01:36:26.8091488Z         }
2026-06-04T01:36:26.8092366Z       }
2026-06-04T01:36:26.8093227Z     },
2026-06-04T01:36:26.8094100Z     {
2026-06-04T01:36:26.8094991Z       "id": "REQ-NET-2",
2026-06-04T01:36:26.8096740Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T01:36:26.8098574Z       "requiredStages": [
2026-06-04T01:36:26.8099712Z         "impl"
2026-06-04T01:36:26.8100636Z       ],
2026-06-04T01:36:26.8101519Z       "stages": {
2026-06-04T01:36:26.8102474Z         "doc": {
2026-06-04T01:36:26.8103459Z           "complete": false,
2026-06-04T01:36:26.8104598Z           "evidence": []
2026-06-04T01:36:26.8105644Z         },
2026-06-04T01:36:26.8106539Z         "impl": {
2026-06-04T01:36:26.8107533Z           "complete": true,
2026-06-04T01:36:26.8108654Z           "evidence": [
2026-06-04T01:36:26.8109712Z             {
2026-06-04T01:36:26.8110822Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.8112242Z               "line": 40
2026-06-04T01:36:26.8113286Z             },
2026-06-04T01:36:26.8118391Z             {
2026-06-04T01:36:26.8119749Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8121261Z               "line": 39
2026-06-04T01:36:26.8122316Z             },
2026-06-04T01:36:26.8123243Z             {
2026-06-04T01:36:26.8124360Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8125807Z               "line": 49
2026-06-04T01:36:26.8126845Z             },
2026-06-04T01:36:26.8127768Z             {
2026-06-04T01:36:26.8128897Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8130883Z               "line": 122
2026-06-04T01:36:26.8131952Z             },
2026-06-04T01:36:26.8132870Z             {
2026-06-04T01:36:26.8133997Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8135435Z               "line": 138
2026-06-04T01:36:26.8136477Z             },
2026-06-04T01:36:26.8137401Z             {
2026-06-04T01:36:26.8138507Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T01:36:26.8140349Z               "line": 153
2026-06-04T01:36:26.8141392Z             }
2026-06-04T01:36:26.8142314Z           ]
2026-06-04T01:36:26.8143211Z         },
2026-06-04T01:36:26.8144101Z         "int": {
2026-06-04T01:36:26.8144533Z           "complete": false,
2026-06-04T01:36:26.8144952Z           "evidence": []
2026-06-04T01:36:26.8145338Z         },
2026-06-04T01:36:26.8145727Z         "unit": {
2026-06-04T01:36:26.8146155Z           "complete": true,
2026-06-04T01:36:26.8146563Z           "evidence": [
2026-06-04T01:36:26.8146956Z             {
2026-06-04T01:36:26.8147529Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.8147949Z               "line": 229
2026-06-04T01:36:26.8148344Z             }
2026-06-04T01:36:26.8148725Z           ]
2026-06-04T01:36:26.8149117Z         }
2026-06-04T01:36:26.8149542Z       }
2026-06-04T01:36:26.8149940Z     },
2026-06-04T01:36:26.8150320Z     {
2026-06-04T01:36:26.8150747Z       "id": "REQ-NET-3",
2026-06-04T01:36:26.8151606Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T01:36:26.8152046Z       "requiredStages": [],
2026-06-04T01:36:26.8152721Z       "stages": {
2026-06-04T01:36:26.8153134Z         "doc": {
2026-06-04T01:36:26.8153578Z           "complete": false,
2026-06-04T01:36:26.8153997Z           "evidence": []
2026-06-04T01:36:26.8154383Z         },
2026-06-04T01:36:26.8154785Z         "impl": {
2026-06-04T01:36:26.8155213Z           "complete": false,
2026-06-04T01:36:26.8155637Z           "evidence": []
2026-06-04T01:36:26.8156024Z         },
2026-06-04T01:36:26.8156422Z         "int": {
2026-06-04T01:36:26.8156851Z           "complete": false,
2026-06-04T01:36:26.8157270Z           "evidence": []
2026-06-04T01:36:26.8157658Z         },
2026-06-04T01:36:26.8158046Z         "unit": {
2026-06-04T01:36:26.8158482Z           "complete": false,
2026-06-04T01:36:26.8158893Z           "evidence": []
2026-06-04T01:36:26.8159341Z         }
2026-06-04T01:36:26.8159723Z       }
2026-06-04T01:36:26.8160110Z     },
2026-06-04T01:36:26.8160496Z     {
2026-06-04T01:36:26.8160943Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T01:36:26.8162402Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T01:36:26.8162841Z       "requiredStages": [
2026-06-04T01:36:26.8163239Z         "impl",
2026-06-04T01:36:26.8163627Z         "unit"
2026-06-04T01:36:26.8164019Z       ],
2026-06-04T01:36:26.8164424Z       "stages": {
2026-06-04T01:36:26.8164811Z         "doc": {
2026-06-04T01:36:26.8165247Z           "complete": false,
2026-06-04T01:36:26.8165660Z           "evidence": []
2026-06-04T01:36:26.8166051Z         },
2026-06-04T01:36:26.8166445Z         "impl": {
2026-06-04T01:36:26.8166877Z           "complete": true,
2026-06-04T01:36:26.8167293Z           "evidence": [
2026-06-04T01:36:26.8167673Z             {
2026-06-04T01:36:26.8168266Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8168669Z               "line": 60
2026-06-04T01:36:26.8169054Z             },
2026-06-04T01:36:26.8169490Z             {
2026-06-04T01:36:26.8170097Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8170520Z               "line": 68
2026-06-04T01:36:26.8170905Z             },
2026-06-04T01:36:26.8171295Z             {
2026-06-04T01:36:26.8171875Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8172291Z               "line": 86
2026-06-04T01:36:26.8172672Z             },
2026-06-04T01:36:26.8173063Z             {
2026-06-04T01:36:26.8173656Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8174064Z               "line": 120
2026-06-04T01:36:26.8174458Z             },
2026-06-04T01:36:26.8174841Z             {
2026-06-04T01:36:26.8175439Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8175850Z               "line": 127
2026-06-04T01:36:26.8176249Z             },
2026-06-04T01:36:26.8176647Z             {
2026-06-04T01:36:26.8177444Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8177963Z               "line": 143
2026-06-04T01:36:26.8178498Z             },
2026-06-04T01:36:26.8178993Z             {
2026-06-04T01:36:26.8179810Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T01:36:26.8180239Z               "line": 16
2026-06-04T01:36:26.8180639Z             }
2026-06-04T01:36:26.8181022Z           ]
2026-06-04T01:36:26.8181417Z         },
2026-06-04T01:36:26.8181810Z         "int": {
2026-06-04T01:36:26.8182253Z           "complete": false,
2026-06-04T01:36:26.8182667Z           "evidence": []
2026-06-04T01:36:26.8183065Z         },
2026-06-04T01:36:26.8183466Z         "unit": {
2026-06-04T01:36:26.8183891Z           "complete": true,
2026-06-04T01:36:26.8184313Z           "evidence": [
2026-06-04T01:36:26.8184700Z             {
2026-06-04T01:36:26.8185287Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8185697Z               "line": 199
2026-06-04T01:36:26.8186090Z             },
2026-06-04T01:36:26.8186482Z             {
2026-06-04T01:36:26.8187257Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8187727Z               "line": 218
2026-06-04T01:36:26.8188110Z             },
2026-06-04T01:36:26.8188517Z             {
2026-06-04T01:36:26.8189101Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8189909Z               "line": 232
2026-06-04T01:36:26.8190313Z             },
2026-06-04T01:36:26.8190695Z             {
2026-06-04T01:36:26.8191289Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T01:36:26.8191700Z               "line": 248
2026-06-04T01:36:26.8192104Z             },
2026-06-04T01:36:26.8192486Z             {
2026-06-04T01:36:26.8193055Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T01:36:26.8193484Z               "line": 107
2026-06-04T01:36:26.8193867Z             },
2026-06-04T01:36:26.8194260Z             {
2026-06-04T01:36:26.8194816Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T01:36:26.8195235Z               "line": 123
2026-06-04T01:36:26.8195776Z             },
2026-06-04T01:36:26.8196176Z             {
2026-06-04T01:36:26.8196748Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T01:36:26.8197174Z               "line": 135
2026-06-04T01:36:26.8197569Z             }
2026-06-04T01:36:26.8197958Z           ]
2026-06-04T01:36:26.8203462Z         }
2026-06-04T01:36:26.8203941Z       }
2026-06-04T01:36:26.8204327Z     },
2026-06-04T01:36:26.8204719Z     {
2026-06-04T01:36:26.8205171Z       "id": "REQ-NOTIF-1",
2026-06-04T01:36:26.8207225Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T01:36:26.8207674Z       "requiredStages": [],
2026-06-04T01:36:26.8208082Z       "stages": {
2026-06-04T01:36:26.8208478Z         "doc": {
2026-06-04T01:36:26.8208909Z           "complete": false,
2026-06-04T01:36:26.8209423Z           "evidence": []
2026-06-04T01:36:26.8209817Z         },
2026-06-04T01:36:26.8210220Z         "impl": {
2026-06-04T01:36:26.8210689Z           "complete": false,
2026-06-04T01:36:26.8211116Z           "evidence": []
2026-06-04T01:36:26.8211511Z         },
2026-06-04T01:36:26.8211902Z         "int": {
2026-06-04T01:36:26.8212339Z           "complete": false,
2026-06-04T01:36:26.8212752Z           "evidence": []
2026-06-04T01:36:26.8213135Z         },
2026-06-04T01:36:26.8213526Z         "unit": {
2026-06-04T01:36:26.8213959Z           "complete": false,
2026-06-04T01:36:26.8214384Z           "evidence": []
2026-06-04T01:36:26.8214765Z         }
2026-06-04T01:36:26.8215153Z       }
2026-06-04T01:36:26.8215529Z     },
2026-06-04T01:36:26.8215915Z     {
2026-06-04T01:36:26.8216335Z       "id": "REQ-NOTIF-2",
2026-06-04T01:36:26.8217800Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T01:36:26.8218250Z       "requiredStages": [],
2026-06-04T01:36:26.8218645Z       "stages": {
2026-06-04T01:36:26.8219043Z         "doc": {
2026-06-04T01:36:26.8219530Z           "complete": false,
2026-06-04T01:36:26.8219952Z           "evidence": []
2026-06-04T01:36:26.8220335Z         },
2026-06-04T01:36:26.8220737Z         "impl": {
2026-06-04T01:36:26.8221169Z           "complete": false,
2026-06-04T01:36:26.8221580Z           "evidence": []
2026-06-04T01:36:26.8221969Z         },
2026-06-04T01:36:26.8222356Z         "int": {
2026-06-04T01:36:26.8222797Z           "complete": false,
2026-06-04T01:36:26.8223208Z           "evidence": []
2026-06-04T01:36:26.8223599Z         },
2026-06-04T01:36:26.8223996Z         "unit": {
2026-06-04T01:36:26.8224423Z           "complete": false,
2026-06-04T01:36:26.8224843Z           "evidence": []
2026-06-04T01:36:26.8225229Z         }
2026-06-04T01:36:26.8225617Z       }
2026-06-04T01:36:26.8226000Z     },
2026-06-04T01:36:26.8226389Z     {
2026-06-04T01:36:26.8226821Z       "id": "REQ-PAIR-1",
2026-06-04T01:36:26.8227323Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T01:36:26.8227761Z       "requiredStages": [
2026-06-04T01:36:26.8228409Z         "impl",
2026-06-04T01:36:26.8228828Z         "unit"
2026-06-04T01:36:26.8229266Z       ],
2026-06-04T01:36:26.8229676Z       "stages": {
2026-06-04T01:36:26.8230075Z         "doc": {
2026-06-04T01:36:26.8230508Z           "complete": false,
2026-06-04T01:36:26.8230931Z           "evidence": []
2026-06-04T01:36:26.8231314Z         },
2026-06-04T01:36:26.8231711Z         "impl": {
2026-06-04T01:36:26.8232134Z           "complete": true,
2026-06-04T01:36:26.8232557Z           "evidence": [
2026-06-04T01:36:26.8232939Z             {
2026-06-04T01:36:26.8233609Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8234026Z               "line": 27
2026-06-04T01:36:26.8234415Z             },
2026-06-04T01:36:26.8234801Z             {
2026-06-04T01:36:26.8235448Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8235863Z               "line": 88
2026-06-04T01:36:26.8236263Z             },
2026-06-04T01:36:26.8236648Z             {
2026-06-04T01:36:26.8237490Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8237909Z               "line": 110
2026-06-04T01:36:26.8238304Z             },
2026-06-04T01:36:26.8238687Z             {
2026-06-04T01:36:26.8239378Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8239798Z               "line": 153
2026-06-04T01:36:26.8240183Z             },
2026-06-04T01:36:26.8240573Z             {
2026-06-04T01:36:26.8241219Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8241643Z               "line": 182
2026-06-04T01:36:26.8242028Z             },
2026-06-04T01:36:26.8242419Z             {
2026-06-04T01:36:26.8243051Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8243458Z               "line": 29
2026-06-04T01:36:26.8243852Z             },
2026-06-04T01:36:26.8244234Z             {
2026-06-04T01:36:26.8244958Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T01:36:26.8245387Z               "line": 31
2026-06-04T01:36:26.8245780Z             },
2026-06-04T01:36:26.8246173Z             {
2026-06-04T01:36:26.8246846Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8247257Z               "line": 40
2026-06-04T01:36:26.8247647Z             },
2026-06-04T01:36:26.8248045Z             {
2026-06-04T01:36:26.8248677Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8249095Z               "line": 131
2026-06-04T01:36:26.8249543Z             },
2026-06-04T01:36:26.8249924Z             {
2026-06-04T01:36:26.8250556Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8250967Z               "line": 306
2026-06-04T01:36:26.8251357Z             }
2026-06-04T01:36:26.8251745Z           ]
2026-06-04T01:36:26.8252133Z         },
2026-06-04T01:36:26.8252532Z         "int": {
2026-06-04T01:36:26.8252964Z           "complete": false,
2026-06-04T01:36:26.8253406Z           "evidence": []
2026-06-04T01:36:26.8253790Z         },
2026-06-04T01:36:26.8254188Z         "unit": {
2026-06-04T01:36:26.8254612Z           "complete": true,
2026-06-04T01:36:26.8255037Z           "evidence": [
2026-06-04T01:36:26.8255435Z             {
2026-06-04T01:36:26.8256082Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8256499Z               "line": 236
2026-06-04T01:36:26.8256887Z             },
2026-06-04T01:36:26.8257386Z             {
2026-06-04T01:36:26.8258044Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T01:36:26.8258459Z               "line": 349
2026-06-04T01:36:26.8258851Z             },
2026-06-04T01:36:26.8259266Z             {
2026-06-04T01:36:26.8259914Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8260328Z               "line": 194
2026-06-04T01:36:26.8260722Z             },
2026-06-04T01:36:26.8261111Z             {
2026-06-04T01:36:26.8261897Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8262350Z               "line": 216
2026-06-04T01:36:26.8262733Z             },
2026-06-04T01:36:26.8263123Z             {
2026-06-04T01:36:26.8263761Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8264178Z               "line": 230
2026-06-04T01:36:26.8264574Z             },
2026-06-04T01:36:26.8264959Z             {
2026-06-04T01:36:26.8265595Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8266006Z               "line": 242
2026-06-04T01:36:26.8266503Z             },
2026-06-04T01:36:26.8266882Z             {
2026-06-04T01:36:26.8267520Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8267935Z               "line": 256
2026-06-04T01:36:26.8268318Z             },
2026-06-04T01:36:26.8268713Z             {
2026-06-04T01:36:26.8269395Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8269966Z               "line": 270
2026-06-04T01:36:26.8270365Z             },
2026-06-04T01:36:26.8270759Z             {
2026-06-04T01:36:26.8271401Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8271814Z               "line": 277
2026-06-04T01:36:26.8272200Z             },
2026-06-04T01:36:26.8272581Z             {
2026-06-04T01:36:26.8273216Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T01:36:26.8273631Z               "line": 295
2026-06-04T01:36:26.8274023Z             },
2026-06-04T01:36:26.8274416Z             {
2026-06-04T01:36:26.8275039Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8275460Z               "line": 696
2026-06-04T01:36:26.8275862Z             },
2026-06-04T01:36:26.8276617Z             {
2026-06-04T01:36:26.8277484Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8278008Z               "line": 757
2026-06-04T01:36:26.8278511Z             },
2026-06-04T01:36:26.8279049Z             {
2026-06-04T01:36:26.8286523Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8287191Z               "line": 814
2026-06-04T01:36:26.8287627Z             },
2026-06-04T01:36:26.8288349Z             {
2026-06-04T01:36:26.8289063Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8289658Z               "line": 868
2026-06-04T01:36:26.8290089Z             },
2026-06-04T01:36:26.8290504Z             {
2026-06-04T01:36:26.8291195Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8291649Z               "line": 920
2026-06-04T01:36:26.8292104Z             },
2026-06-04T01:36:26.8292537Z             {
2026-06-04T01:36:26.8293232Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8293716Z               "line": 1084
2026-06-04T01:36:26.8294159Z             }
2026-06-04T01:36:26.8294592Z           ]
2026-06-04T01:36:26.8295030Z         }
2026-06-04T01:36:26.8295492Z       }
2026-06-04T01:36:26.8295951Z     },
2026-06-04T01:36:26.8296454Z     {
2026-06-04T01:36:26.8296953Z       "id": "REQ-PAIR-2",
2026-06-04T01:36:26.8297708Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T01:36:26.8298175Z       "requiredStages": [
2026-06-04T01:36:26.8298614Z         "impl",
2026-06-04T01:36:26.8299062Z         "unit"
2026-06-04T01:36:26.8299582Z       ],
2026-06-04T01:36:26.8300021Z       "stages": {
2026-06-04T01:36:26.8300455Z         "doc": {
2026-06-04T01:36:26.8300930Z           "complete": false,
2026-06-04T01:36:26.8301389Z           "evidence": []
2026-06-04T01:36:26.8301821Z         },
2026-06-04T01:36:26.8302243Z         "impl": {
2026-06-04T01:36:26.8302705Z           "complete": true,
2026-06-04T01:36:26.8303136Z           "evidence": [
2026-06-04T01:36:26.8303562Z             {
2026-06-04T01:36:26.8304171Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8304608Z               "line": 42
2026-06-04T01:36:26.8305061Z             },
2026-06-04T01:36:26.8305850Z             {
2026-06-04T01:36:26.8306493Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8306942Z               "line": 151
2026-06-04T01:36:26.8307423Z             },
2026-06-04T01:36:26.8307871Z             {
2026-06-04T01:36:26.8308491Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8308983Z               "line": 171
2026-06-04T01:36:26.8309510Z             },
2026-06-04T01:36:26.8309970Z             {
2026-06-04T01:36:26.8310633Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8311169Z               "line": 209
2026-06-04T01:36:26.8311644Z             },
2026-06-04T01:36:26.8312100Z             {
2026-06-04T01:36:26.8312795Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8313353Z               "line": 232
2026-06-04T01:36:26.8313856Z             }
2026-06-04T01:36:26.8314313Z           ]
2026-06-04T01:36:26.8314753Z         },
2026-06-04T01:36:26.8315665Z         "int": {
2026-06-04T01:36:26.8316188Z           "complete": false,
2026-06-04T01:36:26.8316689Z           "evidence": []
2026-06-04T01:36:26.8317528Z         },
2026-06-04T01:36:26.8318002Z         "unit": {
2026-06-04T01:36:26.8318457Z           "complete": true,
2026-06-04T01:36:26.8318895Z           "evidence": [
2026-06-04T01:36:26.8319406Z             {
2026-06-04T01:36:26.8320007Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8320479Z               "line": 253
2026-06-04T01:36:26.8320930Z             },
2026-06-04T01:36:26.8321381Z             {
2026-06-04T01:36:26.8321978Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8322419Z               "line": 272
2026-06-04T01:36:26.8322836Z             },
2026-06-04T01:36:26.8323232Z             {
2026-06-04T01:36:26.8323805Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8324325Z               "line": 284
2026-06-04T01:36:26.8324759Z             },
2026-06-04T01:36:26.8325198Z             {
2026-06-04T01:36:26.8325776Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8326213Z               "line": 303
2026-06-04T01:36:26.8326619Z             },
2026-06-04T01:36:26.8327036Z             {
2026-06-04T01:36:26.8327611Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8328050Z               "line": 319
2026-06-04T01:36:26.8328445Z             },
2026-06-04T01:36:26.8328856Z             {
2026-06-04T01:36:26.8329800Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8330229Z               "line": 331
2026-06-04T01:36:26.8330628Z             },
2026-06-04T01:36:26.8331014Z             {
2026-06-04T01:36:26.8331570Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8331989Z               "line": 343
2026-06-04T01:36:26.8332376Z             },
2026-06-04T01:36:26.8332768Z             {
2026-06-04T01:36:26.8333318Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8333768Z               "line": 356
2026-06-04T01:36:26.8334161Z             },
2026-06-04T01:36:26.8334561Z             {
2026-06-04T01:36:26.8335119Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T01:36:26.8335531Z               "line": 370
2026-06-04T01:36:26.8335927Z             }
2026-06-04T01:36:26.8336317Z           ]
2026-06-04T01:36:26.8336721Z         }
2026-06-04T01:36:26.8337105Z       }
2026-06-04T01:36:26.8337498Z     },
2026-06-04T01:36:26.8337877Z     {
2026-06-04T01:36:26.8338315Z       "id": "REQ-PAIR-3",
2026-06-04T01:36:26.8339061Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T01:36:26.8339710Z       "requiredStages": [
2026-06-04T01:36:26.8340254Z         "impl",
2026-06-04T01:36:26.8340641Z         "unit"
2026-06-04T01:36:26.8341037Z       ],
2026-06-04T01:36:26.8341456Z       "stages": {
2026-06-04T01:36:26.8341850Z         "doc": {
2026-06-04T01:36:26.8342292Z           "complete": false,
2026-06-04T01:36:26.8342724Z           "evidence": []
2026-06-04T01:36:26.8343378Z         },
2026-06-04T01:36:26.8343806Z         "impl": {
2026-06-04T01:36:26.8344248Z           "complete": true,
2026-06-04T01:36:26.8344660Z           "evidence": [
2026-06-04T01:36:26.8345053Z             {
2026-06-04T01:36:26.8345568Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8345991Z               "line": 464
2026-06-04T01:36:26.8346387Z             },
2026-06-04T01:36:26.8346773Z             {
2026-06-04T01:36:26.8347281Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8347708Z               "line": 500
2026-06-04T01:36:26.8348101Z             },
2026-06-04T01:36:26.8348499Z             {
2026-06-04T01:36:26.8349000Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8349487Z               "line": 560
2026-06-04T01:36:26.8349876Z             }
2026-06-04T01:36:26.8350276Z           ]
2026-06-04T01:36:26.8350675Z         },
2026-06-04T01:36:26.8351066Z         "int": {
2026-06-04T01:36:26.8351702Z           "complete": false,
2026-06-04T01:36:26.8352124Z           "evidence": []
2026-06-04T01:36:26.8352524Z         },
2026-06-04T01:36:26.8352918Z         "unit": {
2026-06-04T01:36:26.8353359Z           "complete": true,
2026-06-04T01:36:26.8353787Z           "evidence": [
2026-06-04T01:36:26.8354319Z             {
2026-06-04T01:36:26.8354897Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8355375Z               "line": 696
2026-06-04T01:36:26.8355822Z             },
2026-06-04T01:36:26.8356233Z             {
2026-06-04T01:36:26.8356758Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8357201Z               "line": 713
2026-06-04T01:36:26.8357604Z             },
2026-06-04T01:36:26.8358017Z             {
2026-06-04T01:36:26.8365824Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8366405Z               "line": 727
2026-06-04T01:36:26.8366824Z             },
2026-06-04T01:36:26.8367222Z             {
2026-06-04T01:36:26.8367791Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8368245Z               "line": 743
2026-06-04T01:36:26.8368645Z             },
2026-06-04T01:36:26.8369051Z             {
2026-06-04T01:36:26.8369795Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8370214Z               "line": 764
2026-06-04T01:36:26.8370599Z             },
2026-06-04T01:36:26.8370992Z             {
2026-06-04T01:36:26.8371496Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8371906Z               "line": 780
2026-06-04T01:36:26.8372301Z             },
2026-06-04T01:36:26.8372690Z             {
2026-06-04T01:36:26.8373192Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8373603Z               "line": 793
2026-06-04T01:36:26.8374000Z             },
2026-06-04T01:36:26.8374389Z             {
2026-06-04T01:36:26.8374891Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8375473Z               "line": 802
2026-06-04T01:36:26.8375908Z             }
2026-06-04T01:36:26.8376363Z           ]
2026-06-04T01:36:26.8376768Z         }
2026-06-04T01:36:26.8377185Z       }
2026-06-04T01:36:26.8377591Z     },
2026-06-04T01:36:26.8377993Z     {
2026-06-04T01:36:26.8378471Z       "id": "REQ-PAIR-4",
2026-06-04T01:36:26.8379038Z       "title": "Subnet naming on first pairing",
2026-06-04T01:36:26.8379734Z       "requiredStages": [
2026-06-04T01:36:26.8380124Z         "impl",
2026-06-04T01:36:26.8380526Z         "unit"
2026-06-04T01:36:26.8380920Z       ],
2026-06-04T01:36:26.8381319Z       "stages": {
2026-06-04T01:36:26.8381871Z         "doc": {
2026-06-04T01:36:26.8382330Z           "complete": false,
2026-06-04T01:36:26.8382787Z           "evidence": []
2026-06-04T01:36:26.8383193Z         },
2026-06-04T01:36:26.8383617Z         "impl": {
2026-06-04T01:36:26.8384077Z           "complete": true,
2026-06-04T01:36:26.8384501Z           "evidence": [
2026-06-04T01:36:26.8384914Z             {
2026-06-04T01:36:26.8385494Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T01:36:26.8386273Z               "line": 154
2026-06-04T01:36:26.8386708Z             }
2026-06-04T01:36:26.8387122Z           ]
2026-06-04T01:36:26.8387541Z         },
2026-06-04T01:36:26.8387946Z         "int": {
2026-06-04T01:36:26.8388404Z           "complete": false,
2026-06-04T01:36:26.8388832Z           "evidence": []
2026-06-04T01:36:26.8389289Z         },
2026-06-04T01:36:26.8389842Z         "unit": {
2026-06-04T01:36:26.8390278Z           "complete": true,
2026-06-04T01:36:26.8390699Z           "evidence": [
2026-06-04T01:36:26.8391084Z             {
2026-06-04T01:36:26.8391729Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8392139Z               "line": 972
2026-06-04T01:36:26.8392538Z             }
2026-06-04T01:36:26.8392922Z           ]
2026-06-04T01:36:26.8393318Z         }
2026-06-04T01:36:26.8393711Z       }
2026-06-04T01:36:26.8394091Z     },
2026-06-04T01:36:26.8394484Z     {
2026-06-04T01:36:26.8394918Z       "id": "REQ-PAIR-5",
2026-06-04T01:36:26.8396768Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T01:36:26.8397217Z       "requiredStages": [
2026-06-04T01:36:26.8397627Z         "impl",
2026-06-04T01:36:26.8398025Z         "unit"
2026-06-04T01:36:26.8398418Z       ],
2026-06-04T01:36:26.8398824Z       "stages": {
2026-06-04T01:36:26.8399263Z         "doc": {
2026-06-04T01:36:26.8399871Z           "complete": false,
2026-06-04T01:36:26.8400302Z           "evidence": []
2026-06-04T01:36:26.8400715Z         },
2026-06-04T01:36:26.8401131Z         "impl": {
2026-06-04T01:36:26.8401572Z           "complete": true,
2026-06-04T01:36:26.8402008Z           "evidence": [
2026-06-04T01:36:26.8402409Z             {
2026-06-04T01:36:26.8403158Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8403612Z               "line": 33
2026-06-04T01:36:26.8404218Z             },
2026-06-04T01:36:26.8404640Z             {
2026-06-04T01:36:26.8405380Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8405798Z               "line": 45
2026-06-04T01:36:26.8406191Z             },
2026-06-04T01:36:26.8406586Z             {
2026-06-04T01:36:26.8407298Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8407718Z               "line": 59
2026-06-04T01:36:26.8408118Z             },
2026-06-04T01:36:26.8408505Z             {
2026-06-04T01:36:26.8409143Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8409610Z               "line": 306
2026-06-04T01:36:26.8410010Z             }
2026-06-04T01:36:26.8410409Z           ]
2026-06-04T01:36:26.8410795Z         },
2026-06-04T01:36:26.8411196Z         "int": {
2026-06-04T01:36:26.8411632Z           "complete": false,
2026-06-04T01:36:26.8412061Z           "evidence": []
2026-06-04T01:36:26.8412447Z         },
2026-06-04T01:36:26.8412852Z         "unit": {
2026-06-04T01:36:26.8413277Z           "complete": true,
2026-06-04T01:36:26.8413721Z           "evidence": [
2026-06-04T01:36:26.8414118Z             {
2026-06-04T01:36:26.8414830Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8415248Z               "line": 72
2026-06-04T01:36:26.8415647Z             },
2026-06-04T01:36:26.8416048Z             {
2026-06-04T01:36:26.8416940Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8417669Z               "line": 82
2026-06-04T01:36:26.8418121Z             },
2026-06-04T01:36:26.8418536Z             {
2026-06-04T01:36:26.8419356Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8419794Z               "line": 92
2026-06-04T01:36:26.8420210Z             },
2026-06-04T01:36:26.8420628Z             {
2026-06-04T01:36:26.8421377Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8421830Z               "line": 102
2026-06-04T01:36:26.8422234Z             },
2026-06-04T01:36:26.8422863Z             {
2026-06-04T01:36:26.8423650Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T01:36:26.8424159Z               "line": 117
2026-06-04T01:36:26.8424682Z             },
2026-06-04T01:36:26.8425172Z             {
2026-06-04T01:36:26.8425958Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8426466Z               "line": 750
2026-06-04T01:36:26.8426911Z             },
2026-06-04T01:36:26.8427609Z             {
2026-06-04T01:36:26.8428323Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8428774Z               "line": 806
2026-06-04T01:36:26.8429242Z             },
2026-06-04T01:36:26.8429670Z             {
2026-06-04T01:36:26.8430325Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T01:36:26.8430773Z               "line": 1026
2026-06-04T01:36:26.8431176Z             }
2026-06-04T01:36:26.8431596Z           ]
2026-06-04T01:36:26.8432008Z         }
2026-06-04T01:36:26.8432646Z       }
2026-06-04T01:36:26.8433064Z     },
2026-06-04T01:36:26.8433463Z     {
2026-06-04T01:36:26.8433922Z       "id": "REQ-PAIR-6",
2026-06-04T01:36:26.8435397Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T01:36:26.8435877Z       "requiredStages": [
2026-06-04T01:36:26.8436300Z         "impl",
2026-06-04T01:36:26.8436710Z         "unit"
2026-06-04T01:36:26.8437127Z       ],
2026-06-04T01:36:26.8437558Z       "stages": {
2026-06-04T01:36:26.8437976Z         "doc": {
2026-06-04T01:36:26.8438427Z           "complete": false,
2026-06-04T01:36:26.8438873Z           "evidence": []
2026-06-04T01:36:26.8439343Z         },
2026-06-04T01:36:26.8439760Z         "impl": {
2026-06-04T01:36:26.8440215Z           "complete": true,
2026-06-04T01:36:26.8440641Z           "evidence": [
2026-06-04T01:36:26.8441054Z             {
2026-06-04T01:36:26.8441571Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8442021Z               "line": 500
2026-06-04T01:36:26.8442445Z             },
2026-06-04T01:36:26.8442856Z             {
2026-06-04T01:36:26.8443384Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8443820Z               "line": 560
2026-06-04T01:36:26.8444230Z             },
2026-06-04T01:36:26.8444633Z             {
2026-06-04T01:36:26.8451472Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T01:36:26.8452000Z               "line": 18
2026-06-04T01:36:26.8452407Z             },
2026-06-04T01:36:26.8452822Z             {
2026-06-04T01:36:26.8453387Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T01:36:26.8453823Z               "line": 49
2026-06-04T01:36:26.8454229Z             },
2026-06-04T01:36:26.8454645Z             {
2026-06-04T01:36:26.8455204Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T01:36:26.8455633Z               "line": 70
2026-06-04T01:36:26.8456045Z             }
2026-06-04T01:36:26.8456449Z           ]
2026-06-04T01:36:26.8456891Z         },
2026-06-04T01:36:26.8457310Z         "int": {
2026-06-04T01:36:26.8457772Z           "complete": false,
2026-06-04T01:36:26.8458225Z           "evidence": []
2026-06-04T01:36:26.8458627Z         },
2026-06-04T01:36:26.8459045Z         "unit": {
2026-06-04T01:36:26.8459554Z           "complete": true,
2026-06-04T01:36:26.8459999Z           "evidence": [
2026-06-04T01:36:26.8460402Z             {
2026-06-04T01:36:26.8460934Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8461372Z               "line": 815
2026-06-04T01:36:26.8461778Z             },
2026-06-04T01:36:26.8462192Z             {
2026-06-04T01:36:26.8462709Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8463153Z               "line": 832
2026-06-04T01:36:26.8463557Z             },
2026-06-04T01:36:26.8463962Z             {
2026-06-04T01:36:26.8464534Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T01:36:26.8464959Z               "line": 132
2026-06-04T01:36:26.8465376Z             },
2026-06-04T01:36:26.8466124Z             {
2026-06-04T01:36:26.8466730Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T01:36:26.8467173Z               "line": 141
2026-06-04T01:36:26.8467574Z             }
2026-06-04T01:36:26.8467990Z           ]
2026-06-04T01:36:26.8468389Z         }
2026-06-04T01:36:26.8468801Z       }
2026-06-04T01:36:26.8469258Z     },
2026-06-04T01:36:26.8469668Z     {
2026-06-04T01:36:26.8470110Z       "id": "REQ-PAIR-7",
2026-06-04T01:36:26.8470959Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T01:36:26.8471431Z       "requiredStages": [],
2026-06-04T01:36:26.8471847Z       "stages": {
2026-06-04T01:36:26.8472266Z         "doc": {
2026-06-04T01:36:26.8472719Z           "complete": false,
2026-06-04T01:36:26.8473166Z           "evidence": []
2026-06-04T01:36:26.8473564Z         },
2026-06-04T01:36:26.8473988Z         "impl": {
2026-06-04T01:36:26.8474479Z           "complete": false,
2026-06-04T01:36:26.8474911Z           "evidence": []
2026-06-04T01:36:26.8475487Z         },
2026-06-04T01:36:26.8475899Z         "int": {
2026-06-04T01:36:26.8476355Z           "complete": false,
2026-06-04T01:36:26.8476786Z           "evidence": []
2026-06-04T01:36:26.8477204Z         },
2026-06-04T01:36:26.8477627Z         "unit": {
2026-06-04T01:36:26.8478076Z           "complete": false,
2026-06-04T01:36:26.8478514Z           "evidence": []
2026-06-04T01:36:26.8478912Z         }
2026-06-04T01:36:26.8479394Z       }
2026-06-04T01:36:26.8479815Z     },
2026-06-04T01:36:26.8480222Z     {
2026-06-04T01:36:26.8480678Z       "id": "REQ-REACH-1",
2026-06-04T01:36:26.8481435Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T01:36:26.8481903Z       "requiredStages": [],
2026-06-04T01:36:26.8482310Z       "stages": {
2026-06-04T01:36:26.8482737Z         "doc": {
2026-06-04T01:36:26.8483183Z           "complete": false,
2026-06-04T01:36:26.8483625Z           "evidence": []
2026-06-04T01:36:26.8484033Z         },
2026-06-04T01:36:26.8484459Z         "impl": {
2026-06-04T01:36:26.8484923Z           "complete": false,
2026-06-04T01:36:26.8485357Z           "evidence": []
2026-06-04T01:36:26.8485769Z         },
2026-06-04T01:36:26.8486179Z         "int": {
2026-06-04T01:36:26.8486636Z           "complete": false,
2026-06-04T01:36:26.8487074Z           "evidence": []
2026-06-04T01:36:26.8487473Z         },
2026-06-04T01:36:26.8487888Z         "unit": {
2026-06-04T01:36:26.8488335Z           "complete": false,
2026-06-04T01:36:26.8488776Z           "evidence": []
2026-06-04T01:36:26.8489221Z         }
2026-06-04T01:36:26.8489763Z       }
2026-06-04T01:36:26.8490163Z     },
2026-06-04T01:36:26.8490545Z     {
2026-06-04T01:36:26.8490986Z       "id": "REQ-REACH-2",
2026-06-04T01:36:26.8491748Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T01:36:26.8492200Z       "requiredStages": [],
2026-06-04T01:36:26.8492600Z       "stages": {
2026-06-04T01:36:26.8493011Z         "doc": {
2026-06-04T01:36:26.8493449Z           "complete": false,
2026-06-04T01:36:26.8493883Z           "evidence": []
2026-06-04T01:36:26.8494282Z         },
2026-06-04T01:36:26.8494677Z         "impl": {
2026-06-04T01:36:26.8495116Z           "complete": false,
2026-06-04T01:36:26.8495531Z           "evidence": []
2026-06-04T01:36:26.8495925Z         },
2026-06-04T01:36:26.8496326Z         "int": {
2026-06-04T01:36:26.8496757Z           "complete": false,
2026-06-04T01:36:26.8497184Z           "evidence": []
2026-06-04T01:36:26.8497569Z         },
2026-06-04T01:36:26.8497970Z         "unit": {
2026-06-04T01:36:26.8498408Z           "complete": false,
2026-06-04T01:36:26.8498851Z           "evidence": []
2026-06-04T01:36:26.8499283Z         }
2026-06-04T01:36:26.8499671Z       }
2026-06-04T01:36:26.8500065Z     },
2026-06-04T01:36:26.8500448Z     {
2026-06-04T01:36:26.8500961Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T01:36:26.8501912Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T01:36:26.8502364Z       "requiredStages": [
2026-06-04T01:36:26.8502941Z         "impl",
2026-06-04T01:36:26.8503352Z         "unit"
2026-06-04T01:36:26.8503752Z       ],
2026-06-04T01:36:26.8504152Z       "stages": {
2026-06-04T01:36:26.8504554Z         "doc": {
2026-06-04T01:36:26.8504991Z           "complete": false,
2026-06-04T01:36:26.8505424Z           "evidence": []
2026-06-04T01:36:26.8505829Z         },
2026-06-04T01:36:26.8506225Z         "impl": {
2026-06-04T01:36:26.8506662Z           "complete": true,
2026-06-04T01:36:26.8507073Z           "evidence": [
2026-06-04T01:36:26.8507473Z             {
2026-06-04T01:36:26.8508045Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8508462Z               "line": 18
2026-06-04T01:36:26.8508861Z             },
2026-06-04T01:36:26.8509299Z             {
2026-06-04T01:36:26.8509877Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8510286Z               "line": 35
2026-06-04T01:36:26.8510685Z             },
2026-06-04T01:36:26.8511225Z             {
2026-06-04T01:36:26.8511804Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8512226Z               "line": 65
2026-06-04T01:36:26.8512617Z             }
2026-06-04T01:36:26.8513023Z           ]
2026-06-04T01:36:26.8513411Z         },
2026-06-04T01:36:26.8513811Z         "int": {
2026-06-04T01:36:26.8514247Z           "complete": false,
2026-06-04T01:36:26.8514674Z           "evidence": []
2026-06-04T01:36:26.8515071Z         },
2026-06-04T01:36:26.8515470Z         "unit": {
2026-06-04T01:36:26.8515906Z           "complete": true,
2026-06-04T01:36:26.8516321Z           "evidence": [
2026-06-04T01:36:26.8516716Z             {
2026-06-04T01:36:26.8517275Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8517700Z               "line": 170
2026-06-04T01:36:26.8518098Z             },
2026-06-04T01:36:26.8518484Z             {
2026-06-04T01:36:26.8519045Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8519512Z               "line": 184
2026-06-04T01:36:26.8519925Z             },
2026-06-04T01:36:26.8520317Z             {
2026-06-04T01:36:26.8520879Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8521297Z               "line": 193
2026-06-04T01:36:26.8521687Z             }
2026-06-04T01:36:26.8522092Z           ]
2026-06-04T01:36:26.8522478Z         }
2026-06-04T01:36:26.8522869Z       }
2026-06-04T01:36:26.8523249Z     },
2026-06-04T01:36:26.8523643Z     {
2026-06-04T01:36:26.8529252Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T01:36:26.8530090Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T01:36:26.8530552Z       "requiredStages": [
2026-06-04T01:36:26.8530947Z         "impl",
2026-06-04T01:36:26.8531345Z         "unit"
2026-06-04T01:36:26.8531727Z       ],
2026-06-04T01:36:26.8532133Z       "stages": {
2026-06-04T01:36:26.8532531Z         "doc": {
2026-06-04T01:36:26.8532961Z           "complete": false,
2026-06-04T01:36:26.8533391Z           "evidence": []
2026-06-04T01:36:26.8533811Z         },
2026-06-04T01:36:26.8534218Z         "impl": {
2026-06-04T01:36:26.8534651Z           "complete": true,
2026-06-04T01:36:26.8535073Z           "evidence": [
2026-06-04T01:36:26.8535464Z             {
2026-06-04T01:36:26.8536048Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.8536468Z               "line": 186
2026-06-04T01:36:26.8536856Z             }
2026-06-04T01:36:26.8537248Z           ]
2026-06-04T01:36:26.8537630Z         },
2026-06-04T01:36:26.8538025Z         "int": {
2026-06-04T01:36:26.8538464Z           "complete": false,
2026-06-04T01:36:26.8538875Z           "evidence": []
2026-06-04T01:36:26.8539310Z         },
2026-06-04T01:36:26.8539705Z         "unit": {
2026-06-04T01:36:26.8540144Z           "complete": true,
2026-06-04T01:36:26.8540551Z           "evidence": [
2026-06-04T01:36:26.8540942Z             {
2026-06-04T01:36:26.8541532Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.8541958Z               "line": 301
2026-06-04T01:36:26.8542579Z             }
2026-06-04T01:36:26.8542982Z           ]
2026-06-04T01:36:26.8543381Z         }
2026-06-04T01:36:26.8543764Z       }
2026-06-04T01:36:26.8544148Z     },
2026-06-04T01:36:26.8544538Z     {
2026-06-04T01:36:26.8544980Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T01:36:26.8545914Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T01:36:26.8546354Z       "requiredStages": [
2026-06-04T01:36:26.8546759Z         "impl",
2026-06-04T01:36:26.8547150Z         "unit",
2026-06-04T01:36:26.8547547Z         "int"
2026-06-04T01:36:26.8547938Z       ],
2026-06-04T01:36:26.8548335Z       "stages": {
2026-06-04T01:36:26.8548738Z         "doc": {
2026-06-04T01:36:26.8549204Z           "complete": false,
2026-06-04T01:36:26.8549633Z           "evidence": []
2026-06-04T01:36:26.8550019Z         },
2026-06-04T01:36:26.8550427Z         "impl": {
2026-06-04T01:36:26.8550857Z           "complete": true,
2026-06-04T01:36:26.8551415Z           "evidence": [
2026-06-04T01:36:26.8551824Z             {
2026-06-04T01:36:26.8552357Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.8552774Z               "line": 24
2026-06-04T01:36:26.8553155Z             },
2026-06-04T01:36:26.8553550Z             {
2026-06-04T01:36:26.8554115Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8554524Z               "line": 22
2026-06-04T01:36:26.8554915Z             }
2026-06-04T01:36:26.8555295Z           ]
2026-06-04T01:36:26.8555688Z         },
2026-06-04T01:36:26.8556080Z         "int": {
2026-06-04T01:36:26.8556513Z           "complete": true,
2026-06-04T01:36:26.8556990Z           "evidence": [
2026-06-04T01:36:26.8557375Z             {
2026-06-04T01:36:26.8557957Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.8558365Z               "line": 202
2026-06-04T01:36:26.8558763Z             }
2026-06-04T01:36:26.8559150Z           ]
2026-06-04T01:36:26.8559585Z         },
2026-06-04T01:36:26.8560006Z         "unit": {
2026-06-04T01:36:26.8560429Z           "complete": true,
2026-06-04T01:36:26.8560845Z           "evidence": [
2026-06-04T01:36:26.8561228Z             {
2026-06-04T01:36:26.8561764Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.8562175Z               "line": 163
2026-06-04T01:36:26.8562574Z             },
2026-06-04T01:36:26.8562965Z             {
2026-06-04T01:36:26.8563495Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.8563912Z               "line": 186
2026-06-04T01:36:26.8564300Z             },
2026-06-04T01:36:26.8564694Z             {
2026-06-04T01:36:26.8565227Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T01:36:26.8565646Z               "line": 195
2026-06-04T01:36:26.8566040Z             },
2026-06-04T01:36:26.8566425Z             {
2026-06-04T01:36:26.8566982Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8567391Z               "line": 195
2026-06-04T01:36:26.8567793Z             },
2026-06-04T01:36:26.8568175Z             {
2026-06-04T01:36:26.8568732Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8569198Z               "line": 209
2026-06-04T01:36:26.8569591Z             },
2026-06-04T01:36:26.8569980Z             {
2026-06-04T01:36:26.8570534Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8570953Z               "line": 228
2026-06-04T01:36:26.8571332Z             },
2026-06-04T01:36:26.8571723Z             {
2026-06-04T01:36:26.8572277Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8572685Z               "line": 248
2026-06-04T01:36:26.8573075Z             },
2026-06-04T01:36:26.8573455Z             {
2026-06-04T01:36:26.8574028Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8574445Z               "line": 264
2026-06-04T01:36:26.8574832Z             },
2026-06-04T01:36:26.8575222Z             {
2026-06-04T01:36:26.8575922Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T01:36:26.8576375Z               "line": 279
2026-06-04T01:36:26.8576762Z             }
2026-06-04T01:36:26.8577158Z           ]
2026-06-04T01:36:26.8577561Z         }
2026-06-04T01:36:26.8577949Z       }
2026-06-04T01:36:26.8578344Z     },
2026-06-04T01:36:26.8578721Z     {
2026-06-04T01:36:26.8579217Z       "id": "REQ-SEAM-INJECT",
2026-06-04T01:36:26.8580024Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T01:36:26.8580471Z       "requiredStages": [
2026-06-04T01:36:26.8580883Z         "impl",
2026-06-04T01:36:26.8581273Z         "unit"
2026-06-04T01:36:26.8581673Z       ],
2026-06-04T01:36:26.8582068Z       "stages": {
2026-06-04T01:36:26.8582468Z         "doc": {
2026-06-04T01:36:26.8582899Z           "complete": false,
2026-06-04T01:36:26.8583321Z           "evidence": []
2026-06-04T01:36:26.8583706Z         },
2026-06-04T01:36:26.8584114Z         "impl": {
2026-06-04T01:36:26.8584545Z           "complete": true,
2026-06-04T01:36:26.8585104Z           "evidence": [
2026-06-04T01:36:26.8585503Z             {
2026-06-04T01:36:26.8586060Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8586477Z               "line": 19
2026-06-04T01:36:26.8586868Z             },
2026-06-04T01:36:26.8587262Z             {
2026-06-04T01:36:26.8587823Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8588233Z               "line": 104
2026-06-04T01:36:26.8588616Z             }
2026-06-04T01:36:26.8589000Z           ]
2026-06-04T01:36:26.8589428Z         },
2026-06-04T01:36:26.8589818Z         "int": {
2026-06-04T01:36:26.8590252Z           "complete": false,
2026-06-04T01:36:26.8590671Z           "evidence": []
2026-06-04T01:36:26.8591050Z         },
2026-06-04T01:36:26.8591457Z         "unit": {
2026-06-04T01:36:26.8591885Z           "complete": true,
2026-06-04T01:36:26.8592303Z           "evidence": [
2026-06-04T01:36:26.8592689Z             {
2026-06-04T01:36:26.8593281Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8593706Z               "line": 222
2026-06-04T01:36:26.8594090Z             },
2026-06-04T01:36:26.8594482Z             {
2026-06-04T01:36:26.8595029Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T01:36:26.8595448Z               "line": 236
2026-06-04T01:36:26.8595841Z             }
2026-06-04T01:36:26.8596223Z           ]
2026-06-04T01:36:26.8596615Z         }
2026-06-04T01:36:26.8596997Z       }
2026-06-04T01:36:26.8597384Z     },
2026-06-04T01:36:26.8597765Z     {
2026-06-04T01:36:26.8598239Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T01:36:26.8598892Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T01:36:26.8599378Z       "requiredStages": [
2026-06-04T01:36:26.8599778Z         "impl",
2026-06-04T01:36:26.8604658Z         "unit"
2026-06-04T01:36:26.8605132Z       ],
2026-06-04T01:36:26.8605545Z       "stages": {
2026-06-04T01:36:26.8605944Z         "doc": {
2026-06-04T01:36:26.8606378Z           "complete": false,
2026-06-04T01:36:26.8606844Z           "evidence": []
2026-06-04T01:36:26.8607237Z         },
2026-06-04T01:36:26.8607631Z         "impl": {
2026-06-04T01:36:26.8608063Z           "complete": true,
2026-06-04T01:36:26.8608468Z           "evidence": [
2026-06-04T01:36:26.8608861Z             {
2026-06-04T01:36:26.8609497Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8609919Z               "line": 18
2026-06-04T01:36:26.8610312Z             },
2026-06-04T01:36:26.8610699Z             {
2026-06-04T01:36:26.8611258Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8611666Z               "line": 257
2026-06-04T01:36:26.8612052Z             }
2026-06-04T01:36:26.8612433Z           ]
2026-06-04T01:36:26.8612823Z         },
2026-06-04T01:36:26.8613218Z         "int": {
2026-06-04T01:36:26.8613645Z           "complete": false,
2026-06-04T01:36:26.8614070Z           "evidence": []
2026-06-04T01:36:26.8614452Z         },
2026-06-04T01:36:26.8614863Z         "unit": {
2026-06-04T01:36:26.8615543Z           "complete": true,
2026-06-04T01:36:26.8615984Z           "evidence": [
2026-06-04T01:36:26.8616380Z             {
2026-06-04T01:36:26.8616929Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8617350Z               "line": 420
2026-06-04T01:36:26.8617737Z             },
2026-06-04T01:36:26.8618123Z             {
2026-06-04T01:36:26.8618670Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8619088Z               "line": 430
2026-06-04T01:36:26.8619520Z             }
2026-06-04T01:36:26.8619900Z           ]
2026-06-04T01:36:26.8620293Z         }
2026-06-04T01:36:26.8620678Z       }
2026-06-04T01:36:26.8621071Z     },
2026-06-04T01:36:26.8621447Z     {
2026-06-04T01:36:26.8621906Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T01:36:26.8622608Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T01:36:26.8623039Z       "requiredStages": [
2026-06-04T01:36:26.8623437Z         "impl",
2026-06-04T01:36:26.8623999Z         "unit",
2026-06-04T01:36:26.8624399Z         "int"
2026-06-04T01:36:26.8624782Z       ],
2026-06-04T01:36:26.8625193Z       "stages": {
2026-06-04T01:36:26.8625592Z         "doc": {
2026-06-04T01:36:26.8626022Z           "complete": false,
2026-06-04T01:36:26.8626446Z           "evidence": []
2026-06-04T01:36:26.8626826Z         },
2026-06-04T01:36:26.8627228Z         "impl": {
2026-06-04T01:36:26.8627655Z           "complete": true,
2026-06-04T01:36:26.8628066Z           "evidence": [
2026-06-04T01:36:26.8628457Z             {
2026-06-04T01:36:26.8629008Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T01:36:26.8629483Z               "line": 19
2026-06-04T01:36:26.8629891Z             },
2026-06-04T01:36:26.8630301Z             {
2026-06-04T01:36:26.8630823Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T01:36:26.8631236Z               "line": 12
2026-06-04T01:36:26.8631624Z             },
2026-06-04T01:36:26.8632006Z             {
2026-06-04T01:36:26.8632586Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8632999Z               "line": 164
2026-06-04T01:36:26.8633388Z             }
2026-06-04T01:36:26.8633771Z           ]
2026-06-04T01:36:26.8634172Z         },
2026-06-04T01:36:26.8634569Z         "int": {
2026-06-04T01:36:26.8634994Z           "complete": true,
2026-06-04T01:36:26.8635409Z           "evidence": [
2026-06-04T01:36:26.8635788Z             {
2026-06-04T01:36:26.8636371Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.8636777Z               "line": 201
2026-06-04T01:36:26.8637169Z             }
2026-06-04T01:36:26.8637559Z           ]
2026-06-04T01:36:26.8637940Z         },
2026-06-04T01:36:26.8638337Z         "unit": {
2026-06-04T01:36:26.8638762Z           "complete": true,
2026-06-04T01:36:26.8639230Z           "evidence": [
2026-06-04T01:36:26.8639616Z             {
2026-06-04T01:36:26.8640185Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T01:36:26.8640620Z               "line": 161
2026-06-04T01:36:26.8641002Z             },
2026-06-04T01:36:26.8641394Z             {
2026-06-04T01:36:26.8641943Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T01:36:26.8642364Z               "line": 168
2026-06-04T01:36:26.8642750Z             },
2026-06-04T01:36:26.8643130Z             {
2026-06-04T01:36:26.8643679Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T01:36:26.8644087Z               "line": 191
2026-06-04T01:36:26.8644477Z             },
2026-06-04T01:36:26.8644859Z             {
2026-06-04T01:36:26.8645404Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T01:36:26.8645818Z               "line": 105
2026-06-04T01:36:26.8646197Z             },
2026-06-04T01:36:26.8646582Z             {
2026-06-04T01:36:26.8647122Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T01:36:26.8647538Z               "line": 122
2026-06-04T01:36:26.8647919Z             },
2026-06-04T01:36:26.8648310Z             {
2026-06-04T01:36:26.8649017Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T01:36:26.8649488Z               "line": 136
2026-06-04T01:36:26.8649878Z             }
2026-06-04T01:36:26.8650260Z           ]
2026-06-04T01:36:26.8650654Z         }
2026-06-04T01:36:26.8651038Z       }
2026-06-04T01:36:26.8651424Z     },
2026-06-04T01:36:26.8651810Z     {
2026-06-04T01:36:26.8652254Z       "id": "REQ-SEAM-RESUME",
2026-06-04T01:36:26.8653206Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T01:36:26.8653639Z       "requiredStages": [
2026-06-04T01:36:26.8654035Z         "impl",
2026-06-04T01:36:26.8654419Z         "unit"
2026-06-04T01:36:26.8654807Z       ],
2026-06-04T01:36:26.8655213Z       "stages": {
2026-06-04T01:36:26.8655601Z         "doc": {
2026-06-04T01:36:26.8656034Z           "complete": false,
2026-06-04T01:36:26.8656448Z           "evidence": []
2026-06-04T01:36:26.8656835Z         },
2026-06-04T01:36:26.8657233Z         "impl": {
2026-06-04T01:36:26.8657843Z           "complete": true,
2026-06-04T01:36:26.8658262Z           "evidence": [
2026-06-04T01:36:26.8658642Z             {
2026-06-04T01:36:26.8659250Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T01:36:26.8659655Z               "line": 19
2026-06-04T01:36:26.8660047Z             }
2026-06-04T01:36:26.8660428Z           ]
2026-06-04T01:36:26.8660821Z         },
2026-06-04T01:36:26.8661213Z         "int": {
2026-06-04T01:36:26.8661644Z           "complete": false,
2026-06-04T01:36:26.8662058Z           "evidence": []
2026-06-04T01:36:26.8662437Z         },
2026-06-04T01:36:26.8662830Z         "unit": {
2026-06-04T01:36:26.8663249Z           "complete": true,
2026-06-04T01:36:26.8663668Z           "evidence": [
2026-06-04T01:36:26.8664060Z             {
2026-06-04T01:36:26.8664601Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T01:36:26.8665017Z               "line": 145
2026-06-04T01:36:26.8665399Z             },
2026-06-04T01:36:26.8665791Z             {
2026-06-04T01:36:26.8666358Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T01:36:26.8666778Z               "line": 164
2026-06-04T01:36:26.8667169Z             },
2026-06-04T01:36:26.8667554Z             {
2026-06-04T01:36:26.8668103Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T01:36:26.8668512Z               "line": 182
2026-06-04T01:36:26.8668902Z             },
2026-06-04T01:36:26.8669310Z             {
2026-06-04T01:36:26.8669865Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T01:36:26.8670281Z               "line": 206
2026-06-04T01:36:26.8670662Z             }
2026-06-04T01:36:26.8671053Z           ]
2026-06-04T01:36:26.8671435Z         }
2026-06-04T01:36:26.8671824Z       }
2026-06-04T01:36:26.8672205Z     },
2026-06-04T01:36:26.8672594Z     {
2026-06-04T01:36:26.8673041Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T01:36:26.8673500Z       "title": "spawn-session seam",
2026-06-04T01:36:26.8673937Z       "requiredStages": [
2026-06-04T01:36:26.8674339Z         "impl",
2026-06-04T01:36:26.8679284Z         "unit"
2026-06-04T01:36:26.8679772Z       ],
2026-06-04T01:36:26.8680194Z       "stages": {
2026-06-04T01:36:26.8680598Z         "doc": {
2026-06-04T01:36:26.8681034Z           "complete": false,
2026-06-04T01:36:26.8681454Z           "evidence": []
2026-06-04T01:36:26.8681835Z         },
2026-06-04T01:36:26.8682237Z         "impl": {
2026-06-04T01:36:26.8682661Z           "complete": true,
2026-06-04T01:36:26.8683077Z           "evidence": [
2026-06-04T01:36:26.8683469Z             {
2026-06-04T01:36:26.8684062Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8684481Z               "line": 20
2026-06-04T01:36:26.8684863Z             }
2026-06-04T01:36:26.8685254Z           ]
2026-06-04T01:36:26.8685638Z         },
2026-06-04T01:36:26.8686035Z         "int": {
2026-06-04T01:36:26.8686469Z           "complete": false,
2026-06-04T01:36:26.8686876Z           "evidence": []
2026-06-04T01:36:26.8687265Z         },
2026-06-04T01:36:26.8687903Z         "unit": {
2026-06-04T01:36:26.8688359Z           "complete": true,
2026-06-04T01:36:26.8688764Z           "evidence": [
2026-06-04T01:36:26.8689200Z             {
2026-06-04T01:36:26.8689808Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8690213Z               "line": 397
2026-06-04T01:36:26.8690608Z             },
2026-06-04T01:36:26.8690987Z             {
2026-06-04T01:36:26.8691588Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8691996Z               "line": 404
2026-06-04T01:36:26.8692391Z             },
2026-06-04T01:36:26.8692778Z             {
2026-06-04T01:36:26.8693370Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8693785Z               "line": 414
2026-06-04T01:36:26.8694169Z             },
2026-06-04T01:36:26.8694558Z             {
2026-06-04T01:36:26.8695143Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8695563Z               "line": 420
2026-06-04T01:36:26.8696138Z             },
2026-06-04T01:36:26.8696525Z             {
2026-06-04T01:36:26.8697132Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8697546Z               "line": 440
2026-06-04T01:36:26.8697935Z             },
2026-06-04T01:36:26.8698315Z             {
2026-06-04T01:36:26.8698907Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T01:36:26.8699373Z               "line": 473
2026-06-04T01:36:26.8699759Z             }
2026-06-04T01:36:26.8700150Z           ]
2026-06-04T01:36:26.8700530Z         }
2026-06-04T01:36:26.8700915Z       }
2026-06-04T01:36:26.8701300Z     },
2026-06-04T01:36:26.8701685Z     {
2026-06-04T01:36:26.8702131Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T01:36:26.8702963Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T01:36:26.8703402Z       "requiredStages": [
2026-06-04T01:36:26.8703794Z         "impl",
2026-06-04T01:36:26.8704190Z         "unit"
2026-06-04T01:36:26.8704586Z       ],
2026-06-04T01:36:26.8704997Z       "stages": {
2026-06-04T01:36:26.8705386Z         "doc": {
2026-06-04T01:36:26.8705813Z           "complete": false,
2026-06-04T01:36:26.8706229Z           "evidence": []
2026-06-04T01:36:26.8706611Z         },
2026-06-04T01:36:26.8707008Z         "impl": {
2026-06-04T01:36:26.8707432Z           "complete": true,
2026-06-04T01:36:26.8707845Z           "evidence": [
2026-06-04T01:36:26.8708232Z             {
2026-06-04T01:36:26.8708884Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.8709330Z               "line": 28
2026-06-04T01:36:26.8709717Z             },
2026-06-04T01:36:26.8710111Z             {
2026-06-04T01:36:26.8710758Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.8711166Z               "line": 83
2026-06-04T01:36:26.8711560Z             }
2026-06-04T01:36:26.8711940Z           ]
2026-06-04T01:36:26.8712327Z         },
2026-06-04T01:36:26.8712708Z         "int": {
2026-06-04T01:36:26.8713167Z           "complete": false,
2026-06-04T01:36:26.8713580Z           "evidence": []
2026-06-04T01:36:26.8713968Z         },
2026-06-04T01:36:26.8714368Z         "unit": {
2026-06-04T01:36:26.8714791Z           "complete": true,
2026-06-04T01:36:26.8715204Z           "evidence": [
2026-06-04T01:36:26.8715584Z             {
2026-06-04T01:36:26.8716242Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.8716656Z               "line": 248
2026-06-04T01:36:26.8717051Z             },
2026-06-04T01:36:26.8717439Z             {
2026-06-04T01:36:26.8718085Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.8718500Z               "line": 259
2026-06-04T01:36:26.8718880Z             }
2026-06-04T01:36:26.8719312Z           ]
2026-06-04T01:36:26.8719694Z         }
2026-06-04T01:36:26.8720079Z       }
2026-06-04T01:36:26.8720466Z     },
2026-06-04T01:36:26.8720872Z     {
2026-06-04T01:36:26.8721320Z       "id": "REQ-SEC-1",
2026-06-04T01:36:26.8723785Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T01:36:26.8724260Z       "requiredStages": [],
2026-06-04T01:36:26.8724651Z       "stages": {
2026-06-04T01:36:26.8725050Z         "doc": {
2026-06-04T01:36:26.8725486Z           "complete": false,
2026-06-04T01:36:26.8725906Z           "evidence": []
2026-06-04T01:36:26.8726301Z         },
2026-06-04T01:36:26.8726695Z         "impl": {
2026-06-04T01:36:26.8727131Z           "complete": false,
2026-06-04T01:36:26.8727547Z           "evidence": []
2026-06-04T01:36:26.8727937Z         },
2026-06-04T01:36:26.8728334Z         "int": {
2026-06-04T01:36:26.8728763Z           "complete": false,
2026-06-04T01:36:26.8729241Z           "evidence": []
2026-06-04T01:36:26.8729628Z         },
2026-06-04T01:36:26.8730027Z         "unit": {
2026-06-04T01:36:26.8730453Z           "complete": false,
2026-06-04T01:36:26.8730873Z           "evidence": []
2026-06-04T01:36:26.8731462Z         }
2026-06-04T01:36:26.8731844Z       }
2026-06-04T01:36:26.8732230Z     },
2026-06-04T01:36:26.8732610Z     {
2026-06-04T01:36:26.8733045Z       "id": "REQ-START-1",
2026-06-04T01:36:26.8734046Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T01:36:26.8734489Z       "requiredStages": [
2026-06-04T01:36:26.8734896Z         "impl",
2026-06-04T01:36:26.8735283Z         "unit"
2026-06-04T01:36:26.8735683Z       ],
2026-06-04T01:36:26.8736075Z       "stages": {
2026-06-04T01:36:26.8736470Z         "doc": {
2026-06-04T01:36:26.8736898Z           "complete": false,
2026-06-04T01:36:26.8737324Z           "evidence": []
2026-06-04T01:36:26.8737719Z         },
2026-06-04T01:36:26.8738111Z         "impl": {
2026-06-04T01:36:26.8738547Z           "complete": true,
2026-06-04T01:36:26.8738954Z           "evidence": [
2026-06-04T01:36:26.8739392Z             {
2026-06-04T01:36:26.8739932Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T01:36:26.8740364Z               "line": 16
2026-06-04T01:36:26.8740759Z             }
2026-06-04T01:36:26.8741137Z           ]
2026-06-04T01:36:26.8741530Z         },
2026-06-04T01:36:26.8741913Z         "int": {
2026-06-04T01:36:26.8742348Z           "complete": false,
2026-06-04T01:36:26.8742756Z           "evidence": []
2026-06-04T01:36:26.8743145Z         },
2026-06-04T01:36:26.8743545Z         "unit": {
2026-06-04T01:36:26.8743971Z           "complete": true,
2026-06-04T01:36:26.8744386Z           "evidence": [
2026-06-04T01:36:26.8744767Z             {
2026-06-04T01:36:26.8745312Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T01:36:26.8745715Z               "line": 43
2026-06-04T01:36:26.8746110Z             },
2026-06-04T01:36:26.8746503Z             {
2026-06-04T01:36:26.8747040Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T01:36:26.8747449Z               "line": 59
2026-06-04T01:36:26.8747834Z             }
2026-06-04T01:36:26.8748231Z           ]
2026-06-04T01:36:26.8748628Z         }
2026-06-04T01:36:26.8749019Z       }
2026-06-04T01:36:26.8749442Z     },
2026-06-04T01:36:26.8749828Z     {
2026-06-04T01:36:26.8750255Z       "id": "REQ-START-2",
2026-06-04T01:36:26.8750944Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T01:36:26.8751388Z       "requiredStages": [
2026-06-04T01:36:26.8751776Z         "impl",
2026-06-04T01:36:26.8756709Z         "unit",
2026-06-04T01:36:26.8757159Z         "int"
2026-06-04T01:36:26.8757552Z       ],
2026-06-04T01:36:26.8757967Z       "stages": {
2026-06-04T01:36:26.8758352Z         "doc": {
2026-06-04T01:36:26.8758786Z           "complete": false,
2026-06-04T01:36:26.8759279Z           "evidence": []
2026-06-04T01:36:26.8759666Z         },
2026-06-04T01:36:26.8760066Z         "impl": {
2026-06-04T01:36:26.8760495Z           "complete": true,
2026-06-04T01:36:26.8760903Z           "evidence": [
2026-06-04T01:36:26.8761286Z             {
2026-06-04T01:36:26.8761852Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8762507Z               "line": 16
2026-06-04T01:36:26.8762921Z             },
2026-06-04T01:36:26.8763309Z             {
2026-06-04T01:36:26.8763862Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8764269Z               "line": 94
2026-06-04T01:36:26.8764650Z             },
2026-06-04T01:36:26.8765039Z             {
2026-06-04T01:36:26.8765593Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8766002Z               "line": 163
2026-06-04T01:36:26.8766393Z             }
2026-06-04T01:36:26.8766775Z           ]
2026-06-04T01:36:26.8767167Z         },
2026-06-04T01:36:26.8767552Z         "int": {
2026-06-04T01:36:26.8767990Z           "complete": true,
2026-06-04T01:36:26.8768399Z           "evidence": [
2026-06-04T01:36:26.8768792Z             {
2026-06-04T01:36:26.8769421Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.8769833Z               "line": 150
2026-06-04T01:36:26.8770381Z             }
2026-06-04T01:36:26.8770770Z           ]
2026-06-04T01:36:26.8771164Z         },
2026-06-04T01:36:26.8771552Z         "unit": {
2026-06-04T01:36:26.8771984Z           "complete": true,
2026-06-04T01:36:26.8772401Z           "evidence": [
2026-06-04T01:36:26.8772785Z             {
2026-06-04T01:36:26.8773343Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8773754Z               "line": 354
2026-06-04T01:36:26.8774145Z             },
2026-06-04T01:36:26.8774529Z             {
2026-06-04T01:36:26.8775088Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8775504Z               "line": 387
2026-06-04T01:36:26.8775879Z             }
2026-06-04T01:36:26.8776272Z           ]
2026-06-04T01:36:26.8776653Z         }
2026-06-04T01:36:26.8777039Z       }
2026-06-04T01:36:26.8777415Z     },
2026-06-04T01:36:26.8777800Z     {
2026-06-04T01:36:26.8778235Z       "id": "REQ-START-3",
2026-06-04T01:36:26.8779116Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T01:36:26.8779629Z       "requiredStages": [
2026-06-04T01:36:26.8780032Z         "impl",
2026-06-04T01:36:26.8780434Z         "unit",
2026-06-04T01:36:26.8780819Z         "int"
2026-06-04T01:36:26.8781212Z       ],
2026-06-04T01:36:26.8781614Z       "stages": {
2026-06-04T01:36:26.8782000Z         "doc": {
2026-06-04T01:36:26.8782432Z           "complete": false,
2026-06-04T01:36:26.8782843Z           "evidence": []
2026-06-04T01:36:26.8783237Z         },
2026-06-04T01:36:26.8783628Z         "impl": {
2026-06-04T01:36:26.8784062Z           "complete": true,
2026-06-04T01:36:26.8784477Z           "evidence": [
2026-06-04T01:36:26.8784859Z             {
2026-06-04T01:36:26.8785458Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T01:36:26.8785861Z               "line": 23
2026-06-04T01:36:26.8786260Z             },
2026-06-04T01:36:26.8786642Z             {
2026-06-04T01:36:26.8787233Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T01:36:26.8787667Z               "line": 167
2026-06-04T01:36:26.8788056Z             },
2026-06-04T01:36:26.8788446Z             {
2026-06-04T01:36:26.8789027Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T01:36:26.8789482Z               "line": 180
2026-06-04T01:36:26.8789869Z             },
2026-06-04T01:36:26.8790260Z             {
2026-06-04T01:36:26.8790819Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8791226Z               "line": 17
2026-06-04T01:36:26.8791617Z             },
2026-06-04T01:36:26.8792000Z             {
2026-06-04T01:36:26.8792559Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8792967Z               "line": 43
2026-06-04T01:36:26.8793364Z             },
2026-06-04T01:36:26.8793757Z             {
2026-06-04T01:36:26.8794310Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8794723Z               "line": 95
2026-06-04T01:36:26.8795103Z             }
2026-06-04T01:36:26.8795505Z           ]
2026-06-04T01:36:26.8796038Z         },
2026-06-04T01:36:26.8796455Z         "int": {
2026-06-04T01:36:26.8796890Z           "complete": true,
2026-06-04T01:36:26.8797300Z           "evidence": [
2026-06-04T01:36:26.8797693Z             {
2026-06-04T01:36:26.8798277Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T01:36:26.8798692Z               "line": 316
2026-06-04T01:36:26.8799076Z             }
2026-06-04T01:36:26.8799511Z           ]
2026-06-04T01:36:26.8799904Z         },
2026-06-04T01:36:26.8800292Z         "unit": {
2026-06-04T01:36:26.8800723Z           "complete": true,
2026-06-04T01:36:26.8801136Z           "evidence": [
2026-06-04T01:36:26.8801525Z             {
2026-06-04T01:36:26.8802103Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T01:36:26.8802523Z               "line": 245
2026-06-04T01:36:26.8802915Z             },
2026-06-04T01:36:26.8803295Z             {
2026-06-04T01:36:26.8803884Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T01:36:26.8804454Z               "line": 263
2026-06-04T01:36:26.8804848Z             },
2026-06-04T01:36:26.8805241Z             {
2026-06-04T01:36:26.8805824Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T01:36:26.8806245Z               "line": 273
2026-06-04T01:36:26.8806628Z             },
2026-06-04T01:36:26.8807016Z             {
2026-06-04T01:36:26.8807568Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8807992Z               "line": 355
2026-06-04T01:36:26.8808382Z             },
2026-06-04T01:36:26.8808765Z             {
2026-06-04T01:36:26.8809363Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8809779Z               "line": 388
2026-06-04T01:36:26.8810170Z             },
2026-06-04T01:36:26.8810550Z             {
2026-06-04T01:36:26.8811113Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T01:36:26.8811529Z               "line": 396
2026-06-04T01:36:26.8811912Z             }
2026-06-04T01:36:26.8812322Z           ]
2026-06-04T01:36:26.8812709Z         }
2026-06-04T01:36:26.8813096Z       }
2026-06-04T01:36:26.8813470Z     },
2026-06-04T01:36:26.8813854Z     {
2026-06-04T01:36:26.8814290Z       "id": "REQ-START-4",
2026-06-04T01:36:26.8814977Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T01:36:26.8815413Z       "requiredStages": [
2026-06-04T01:36:26.8815799Z         "impl",
2026-06-04T01:36:26.8816198Z         "unit"
2026-06-04T01:36:26.8816582Z       ],
2026-06-04T01:36:26.8816987Z       "stages": {
2026-06-04T01:36:26.8817387Z         "doc": {
2026-06-04T01:36:26.8817809Z           "complete": false,
2026-06-04T01:36:26.8818227Z           "evidence": []
2026-06-04T01:36:26.8818611Z         },
2026-06-04T01:36:26.8819011Z         "impl": {
2026-06-04T01:36:26.8819483Z           "complete": true,
2026-06-04T01:36:26.8819903Z           "evidence": [
2026-06-04T01:36:26.8820297Z             {
2026-06-04T01:36:26.8820873Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.8821318Z               "line": 173
2026-06-04T01:36:26.8821707Z             }
2026-06-04T01:36:26.8822102Z           ]
2026-06-04T01:36:26.8822486Z         },
2026-06-04T01:36:26.8822885Z         "int": {
2026-06-04T01:36:26.8823325Z           "complete": false,
2026-06-04T01:36:26.8823734Z           "evidence": []
2026-06-04T01:36:26.8824122Z         },
2026-06-04T01:36:26.8824515Z         "unit": {
2026-06-04T01:36:26.8824950Z           "complete": true,
2026-06-04T01:36:26.8825360Z           "evidence": [
2026-06-04T01:36:26.8825745Z             {
2026-06-04T01:36:26.8826334Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T01:36:26.8826749Z               "line": 314
2026-06-04T01:36:26.8831685Z             }
2026-06-04T01:36:26.8832148Z           ]
2026-06-04T01:36:26.8832548Z         }
2026-06-04T01:36:26.8832936Z       }
2026-06-04T01:36:26.8833322Z     },
2026-06-04T01:36:26.8833706Z     {
2026-06-04T01:36:26.8834156Z       "id": "REQ-STORE-1",
2026-06-04T01:36:26.8839991Z       "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-04T01:36:26.8840476Z       "requiredStages": [],
2026-06-04T01:36:26.8840881Z       "stages": {
2026-06-04T01:36:26.8841275Z         "doc": {
2026-06-04T01:36:26.8841704Z           "complete": false,
2026-06-04T01:36:26.8842127Z           "evidence": []
2026-06-04T01:36:26.8842508Z         },
2026-06-04T01:36:26.8842909Z         "impl": {
2026-06-04T01:36:26.8843342Z           "complete": false,
2026-06-04T01:36:26.8843763Z           "evidence": []
2026-06-04T01:36:26.8844147Z         },
2026-06-04T01:36:26.8844533Z         "int": {
2026-06-04T01:36:26.8844971Z           "complete": false,
2026-06-04T01:36:26.8845384Z           "evidence": []
2026-06-04T01:36:26.8845910Z         },
2026-06-04T01:36:26.8846310Z         "unit": {
2026-06-04T01:36:26.8846745Z           "complete": false,
2026-06-04T01:36:26.8847164Z           "evidence": []
2026-06-04T01:36:26.8847547Z         }
2026-06-04T01:36:26.8847933Z       }
2026-06-04T01:36:26.8848308Z     },
2026-06-04T01:36:26.8848693Z     {
2026-06-04T01:36:26.8849108Z       "id": "REQ-TERM-1",
2026-06-04T01:36:26.8850033Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T01:36:26.8850479Z       "requiredStages": [
2026-06-04T01:36:26.8850867Z         "impl",
2026-06-04T01:36:26.8851266Z         "unit"
2026-06-04T01:36:26.8851645Z       ],
2026-06-04T01:36:26.8852046Z       "stages": {
2026-06-04T01:36:26.8852434Z         "doc": {
2026-06-04T01:36:26.8852869Z           "complete": false,
2026-06-04T01:36:26.8853291Z           "evidence": []
2026-06-04T01:36:26.8853672Z         },
2026-06-04T01:36:26.8854074Z         "impl": {
2026-06-04T01:36:26.8854495Z           "complete": true,
2026-06-04T01:36:26.8854921Z           "evidence": [
2026-06-04T01:36:26.8855305Z             {
2026-06-04T01:36:26.8855843Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T01:36:26.8856258Z               "line": 61
2026-06-04T01:36:26.8856639Z             },
2026-06-04T01:36:26.8857027Z             {
2026-06-04T01:36:26.8857554Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T01:36:26.8857971Z               "line": 169
2026-06-04T01:36:26.8858358Z             },
2026-06-04T01:36:26.8858748Z             {
2026-06-04T01:36:26.8859358Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T01:36:26.8859771Z               "line": 95
2026-06-04T01:36:26.8860165Z             }
2026-06-04T01:36:26.8860546Z           ]
2026-06-04T01:36:26.8860939Z         },
2026-06-04T01:36:26.8861334Z         "int": {
2026-06-04T01:36:26.8861768Z           "complete": false,
2026-06-04T01:36:26.8862183Z           "evidence": []
2026-06-04T01:36:26.8862572Z         },
2026-06-04T01:36:26.8863051Z         "unit": {
2026-06-04T01:36:26.8863581Z           "complete": true,
2026-06-04T01:36:26.8864032Z           "evidence": [
2026-06-04T01:36:26.8864414Z             {
2026-06-04T01:36:26.8865011Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T01:36:26.8865423Z               "line": 28
2026-06-04T01:36:26.8865809Z             },
2026-06-04T01:36:26.8866202Z             {
2026-06-04T01:36:26.8866792Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T01:36:26.8867209Z               "line": 60
2026-06-04T01:36:26.8867590Z             }
2026-06-04T01:36:26.8867982Z           ]
2026-06-04T01:36:26.8868373Z         }
2026-06-04T01:36:26.8868753Z       }
2026-06-04T01:36:26.8869136Z     },
2026-06-04T01:36:26.8869570Z     {
2026-06-04T01:36:26.8870001Z       "id": "REQ-TERM-2",
2026-06-04T01:36:26.8870945Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T01:36:26.8871393Z       "requiredStages": [
2026-06-04T01:36:26.8871806Z         "impl",
2026-06-04T01:36:26.8872369Z         "unit"
2026-06-04T01:36:26.8872786Z       ],
2026-06-04T01:36:26.8873185Z       "stages": {
2026-06-04T01:36:26.8873584Z         "doc": {
2026-06-04T01:36:26.8874013Z           "complete": false,
2026-06-04T01:36:26.8874441Z           "evidence": []
2026-06-04T01:36:26.8874827Z         },
2026-06-04T01:36:26.8875218Z         "impl": {
2026-06-04T01:36:26.8875645Z           "complete": true,
2026-06-04T01:36:26.8876056Z           "evidence": [
2026-06-04T01:36:26.8876456Z             {
2026-06-04T01:36:26.8877014Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T01:36:26.8877431Z               "line": 112
2026-06-04T01:36:26.8877817Z             },
2026-06-04T01:36:26.8878196Z             {
2026-06-04T01:36:26.8878764Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T01:36:26.8879221Z               "line": 122
2026-06-04T01:36:26.8879615Z             }
2026-06-04T01:36:26.8879998Z           ]
2026-06-04T01:36:26.8880582Z         },
2026-06-04T01:36:26.8880993Z         "int": {
2026-06-04T01:36:26.8881428Z           "complete": false,
2026-06-04T01:36:26.8881842Z           "evidence": []
2026-06-04T01:36:26.8882227Z         },
2026-06-04T01:36:26.8882623Z         "unit": {
2026-06-04T01:36:26.8883048Z           "complete": true,
2026-06-04T01:36:26.8883468Z           "evidence": [
2026-06-04T01:36:26.8883859Z             {
2026-06-04T01:36:26.8884431Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T01:36:26.8884846Z               "line": 46
2026-06-04T01:36:26.8885232Z             },
2026-06-04T01:36:26.8885630Z             {
2026-06-04T01:36:26.8886202Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T01:36:26.8886616Z               "line": 71
2026-06-04T01:36:26.8887006Z             }
2026-06-04T01:36:26.8887389Z           ]
2026-06-04T01:36:26.8887777Z         }
2026-06-04T01:36:26.8888167Z       }
2026-06-04T01:36:26.8888553Z     },
2026-06-04T01:36:26.8888926Z     {
2026-06-04T01:36:26.8889429Z       "id": "REQ-TERM-3",
2026-06-04T01:36:26.8890144Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T01:36:26.8890582Z       "requiredStages": [
2026-06-04T01:36:26.8890988Z         "impl",
2026-06-04T01:36:26.8891377Z         "unit"
2026-06-04T01:36:26.8891768Z       ],
2026-06-04T01:36:26.8892170Z       "stages": {
2026-06-04T01:36:26.8892572Z         "doc": {
2026-06-04T01:36:26.8893007Z           "complete": false,
2026-06-04T01:36:26.8893420Z           "evidence": []
2026-06-04T01:36:26.8893815Z         },
2026-06-04T01:36:26.8894206Z         "impl": {
2026-06-04T01:36:26.8894639Z           "complete": true,
2026-06-04T01:36:26.8895048Z           "evidence": [
2026-06-04T01:36:26.8895439Z             {
2026-06-04T01:36:26.8896001Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T01:36:26.8896405Z               "line": 71
2026-06-04T01:36:26.8896793Z             }
2026-06-04T01:36:26.8897179Z           ]
2026-06-04T01:36:26.8897570Z         },
2026-06-04T01:36:26.8897980Z         "int": {
2026-06-04T01:36:26.8898424Z           "complete": false,
2026-06-04T01:36:26.8898851Z           "evidence": []
2026-06-04T01:36:26.8899274Z         },
2026-06-04T01:36:26.8899687Z         "unit": {
2026-06-04T01:36:26.8900118Z           "complete": true,
2026-06-04T01:36:26.8900533Z           "evidence": [
2026-06-04T01:36:26.8900916Z             {
2026-06-04T01:36:26.8901498Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T01:36:26.8901915Z               "line": 37
2026-06-04T01:36:26.8902300Z             },
2026-06-04T01:36:26.8902691Z             {
2026-06-04T01:36:26.8903267Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T01:36:26.8903682Z               "line": 67
2026-06-04T01:36:26.8904064Z             }
2026-06-04T01:36:26.8904456Z           ]
2026-06-04T01:36:26.8904847Z         }
2026-06-04T01:36:26.8905222Z       }
2026-06-04T01:36:26.8905604Z     },
2026-06-04T01:36:26.8905977Z     {
2026-06-04T01:36:26.8906411Z       "id": "REQ-TERM-4",
2026-06-04T01:36:26.8913540Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T01:36:26.8914119Z       "requiredStages": [
2026-06-04T01:36:26.8914539Z         "impl",
2026-06-04T01:36:26.8914931Z         "unit",
2026-06-04T01:36:26.8915322Z         "int"
2026-06-04T01:36:26.8915708Z       ],
2026-06-04T01:36:26.8916111Z       "stages": {
2026-06-04T01:36:26.8916499Z         "doc": {
2026-06-04T01:36:26.8916935Z           "complete": true,
2026-06-04T01:36:26.8917346Z           "evidence": [
2026-06-04T01:36:26.8917723Z             {
2026-06-04T01:36:26.8918207Z               "path": "docs/MANIFEST.md",
2026-06-04T01:36:26.8918616Z               "line": 106
2026-06-04T01:36:26.8919005Z             }
2026-06-04T01:36:26.8919473Z           ]
2026-06-04T01:36:26.8919875Z         },
2026-06-04T01:36:26.8920275Z         "impl": {
2026-06-04T01:36:26.8920700Z           "complete": true,
2026-06-04T01:36:26.8921286Z           "evidence": [
2026-06-04T01:36:26.8921669Z             {
2026-06-04T01:36:26.8922247Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T01:36:26.8922656Z               "line": 416
2026-06-04T01:36:26.8923047Z             },
2026-06-04T01:36:26.8923437Z             {
2026-06-04T01:36:26.8924011Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8924426Z               "line": 41
2026-06-04T01:36:26.8924811Z             },
2026-06-04T01:36:26.8925206Z             {
2026-06-04T01:36:26.8925781Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8926198Z               "line": 91
2026-06-04T01:36:26.8926591Z             },
2026-06-04T01:36:26.8926972Z             {
2026-06-04T01:36:26.8927552Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8927966Z               "line": 152
2026-06-04T01:36:26.8928355Z             },
2026-06-04T01:36:26.8928735Z             {
2026-06-04T01:36:26.8929380Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8929801Z               "line": 212
2026-06-04T01:36:26.8930189Z             },
2026-06-04T01:36:26.8930582Z             {
2026-06-04T01:36:26.8931186Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8931598Z               "line": 20
2026-06-04T01:36:26.8931982Z             },
2026-06-04T01:36:26.8932369Z             {
2026-06-04T01:36:26.8932976Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8933381Z               "line": 212
2026-06-04T01:36:26.8933774Z             },
2026-06-04T01:36:26.8934151Z             {
2026-06-04T01:36:26.8934758Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8935178Z               "line": 226
2026-06-04T01:36:26.8935559Z             },
2026-06-04T01:36:26.8935949Z             {
2026-06-04T01:36:26.8936540Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.8936957Z               "line": 574
2026-06-04T01:36:26.8937366Z             },
2026-06-04T01:36:26.8937759Z             {
2026-06-04T01:36:26.8938322Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8938732Z               "line": 157
2026-06-04T01:36:26.8939123Z             },
2026-06-04T01:36:26.8939549Z             {
2026-06-04T01:36:26.8940116Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8940524Z               "line": 199
2026-06-04T01:36:26.8940912Z             },
2026-06-04T01:36:26.8941304Z             {
2026-06-04T01:36:26.8941848Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8942260Z               "line": 226
2026-06-04T01:36:26.8942641Z             },
2026-06-04T01:36:26.8943028Z             {
2026-06-04T01:36:26.8943529Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8943954Z               "line": 176
2026-06-04T01:36:26.8944343Z             }
2026-06-04T01:36:26.8944723Z           ]
2026-06-04T01:36:26.8945126Z         },
2026-06-04T01:36:26.8945666Z         "int": {
2026-06-04T01:36:26.8946113Z           "complete": true,
2026-06-04T01:36:26.8946530Z           "evidence": [
2026-06-04T01:36:26.8946923Z             {
2026-06-04T01:36:26.8947545Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T01:36:26.8947949Z               "line": 18
2026-06-04T01:36:26.8948338Z             }
2026-06-04T01:36:26.8948719Z           ]
2026-06-04T01:36:26.8949107Z         },
2026-06-04T01:36:26.8949555Z         "unit": {
2026-06-04T01:36:26.8949991Z           "complete": true,
2026-06-04T01:36:26.8950408Z           "evidence": [
2026-06-04T01:36:26.8950790Z             {
2026-06-04T01:36:26.8951374Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8951785Z               "line": 250
2026-06-04T01:36:26.8952170Z             },
2026-06-04T01:36:26.8952548Z             {
2026-06-04T01:36:26.8953132Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8953699Z               "line": 263
2026-06-04T01:36:26.8954095Z             },
2026-06-04T01:36:26.8954483Z             {
2026-06-04T01:36:26.8955059Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8955481Z               "line": 275
2026-06-04T01:36:26.8955864Z             },
2026-06-04T01:36:26.8956251Z             {
2026-06-04T01:36:26.8956820Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8957235Z               "line": 290
2026-06-04T01:36:26.8957625Z             },
2026-06-04T01:36:26.8958008Z             {
2026-06-04T01:36:26.8958593Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8959000Z               "line": 305
2026-06-04T01:36:26.8959443Z             },
2026-06-04T01:36:26.8959848Z             {
2026-06-04T01:36:26.8960447Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8960869Z               "line": 327
2026-06-04T01:36:26.8961252Z             },
2026-06-04T01:36:26.8961642Z             {
2026-06-04T01:36:26.8962238Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8962665Z               "line": 337
2026-06-04T01:36:26.8963057Z             },
2026-06-04T01:36:26.8963437Z             {
2026-06-04T01:36:26.8964012Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T01:36:26.8964418Z               "line": 364
2026-06-04T01:36:26.8964814Z             },
2026-06-04T01:36:26.8965195Z             {
2026-06-04T01:36:26.8965807Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8966231Z               "line": 338
2026-06-04T01:36:26.8966613Z             },
2026-06-04T01:36:26.8967003Z             {
2026-06-04T01:36:26.8967600Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8968014Z               "line": 350
2026-06-04T01:36:26.8968416Z             },
2026-06-04T01:36:26.8968795Z             {
2026-06-04T01:36:26.8969456Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8969890Z               "line": 367
2026-06-04T01:36:26.8970281Z             },
2026-06-04T01:36:26.8970666Z             {
2026-06-04T01:36:26.8971269Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T01:36:26.8971687Z               "line": 378
2026-06-04T01:36:26.8972070Z             },
2026-06-04T01:36:26.8972461Z             {
2026-06-04T01:36:26.8973058Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.8973469Z               "line": 759
2026-06-04T01:36:26.8973853Z             },
2026-06-04T01:36:26.8974243Z             {
2026-06-04T01:36:26.8974838Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.8975247Z               "line": 766
2026-06-04T01:36:26.8975634Z             },
2026-06-04T01:36:26.8976014Z             {
2026-06-04T01:36:26.8976619Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.8977027Z               "line": 781
2026-06-04T01:36:26.8977417Z             },
2026-06-04T01:36:26.8977825Z             {
2026-06-04T01:36:26.8978541Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8978973Z               "line": 381
2026-06-04T01:36:26.8979401Z             },
2026-06-04T01:36:26.8979794Z             {
2026-06-04T01:36:26.8980344Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8980766Z               "line": 402
2026-06-04T01:36:26.8981159Z             },
2026-06-04T01:36:26.8981541Z             {
2026-06-04T01:36:26.8982089Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8982494Z               "line": 415
2026-06-04T01:36:26.8982892Z             },
2026-06-04T01:36:26.8983275Z             {
2026-06-04T01:36:26.8983827Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8984240Z               "line": 434
2026-06-04T01:36:26.8984628Z             },
2026-06-04T01:36:26.8985021Z             {
2026-06-04T01:36:26.8990189Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T01:36:26.8990965Z               "line": 461
2026-06-04T01:36:26.8991361Z             },
2026-06-04T01:36:26.8991759Z             {
2026-06-04T01:36:26.8992361Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T01:36:26.8992772Z               "line": 32
2026-06-04T01:36:26.8993161Z             },
2026-06-04T01:36:26.8993544Z             {
2026-06-04T01:36:26.8994049Z               "path": "crates/spt/src/cli.rs",
2026-06-04T01:36:26.8994458Z               "line": 646
2026-06-04T01:36:26.8994845Z             }
2026-06-04T01:36:26.8995240Z           ]
2026-06-04T01:36:26.8995626Z         }
2026-06-04T01:36:26.8996014Z       }
2026-06-04T01:36:26.8996395Z     },
2026-06-04T01:36:26.8996783Z     {
2026-06-04T01:36:26.8997200Z       "id": "REQ-UPD-1",
2026-06-04T01:36:26.8997771Z       "title": "Peer-propagated update over P2P",
2026-06-04T01:36:26.8998221Z       "requiredStages": [],
2026-06-04T01:36:26.8998617Z       "stages": {
2026-06-04T01:36:26.8999011Z         "doc": {
2026-06-04T01:36:26.8999536Z           "complete": false,
2026-06-04T01:36:26.8999990Z           "evidence": []
2026-06-04T01:36:26.9000371Z         },
2026-06-04T01:36:26.9000777Z         "impl": {
2026-06-04T01:36:26.9001217Z           "complete": false,
2026-06-04T01:36:26.9001629Z           "evidence": []
2026-06-04T01:36:26.9002026Z         },
2026-06-04T01:36:26.9002414Z         "int": {
2026-06-04T01:36:26.9002854Z           "complete": false,
2026-06-04T01:36:26.9003264Z           "evidence": []
2026-06-04T01:36:26.9003652Z         },
2026-06-04T01:36:26.9004048Z         "unit": {
2026-06-04T01:36:26.9004475Z           "complete": false,
2026-06-04T01:36:26.9004894Z           "evidence": []
2026-06-04T01:36:26.9005276Z         }
2026-06-04T01:36:26.9005665Z       }
2026-06-04T01:36:26.9006043Z     },
2026-06-04T01:36:26.9006450Z     {
2026-06-04T01:36:26.9006898Z       "id": "REQ-UPD-2",
2026-06-04T01:36:26.9007630Z       "title": "All binaries signature-verified before handoff",
2026-06-04T01:36:26.9008074Z       "requiredStages": [
2026-06-04T01:36:26.9008480Z         "impl",
2026-06-04T01:36:26.9008880Z         "unit"
2026-06-04T01:36:26.9009302Z       ],
2026-06-04T01:36:26.9009716Z       "stages": {
2026-06-04T01:36:26.9010111Z         "doc": {
2026-06-04T01:36:26.9010540Z           "complete": false,
2026-06-04T01:36:26.9010962Z           "evidence": []
2026-06-04T01:36:26.9011342Z         },
2026-06-04T01:36:26.9011744Z         "impl": {
2026-06-04T01:36:26.9012177Z           "complete": true,
2026-06-04T01:36:26.9012595Z           "evidence": [
2026-06-04T01:36:26.9012992Z             {
2026-06-04T01:36:26.9013575Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9013982Z               "line": 29
2026-06-04T01:36:26.9014371Z             },
2026-06-04T01:36:26.9014760Z             {
2026-06-04T01:36:26.9015336Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9015751Z               "line": 158
2026-06-04T01:36:26.9016144Z             },
2026-06-04T01:36:26.9016541Z             {
2026-06-04T01:36:26.9017366Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9017808Z               "line": 239
2026-06-04T01:36:26.9018209Z             },
2026-06-04T01:36:26.9018589Z             {
2026-06-04T01:36:26.9019225Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9019645Z               "line": 149
2026-06-04T01:36:26.9020030Z             }
2026-06-04T01:36:26.9020422Z           ]
2026-06-04T01:36:26.9020806Z         },
2026-06-04T01:36:26.9021199Z         "int": {
2026-06-04T01:36:26.9021631Z           "complete": false,
2026-06-04T01:36:26.9022052Z           "evidence": []
2026-06-04T01:36:26.9022445Z         },
2026-06-04T01:36:26.9022838Z         "unit": {
2026-06-04T01:36:26.9023274Z           "complete": true,
2026-06-04T01:36:26.9023689Z           "evidence": [
2026-06-04T01:36:26.9024078Z             {
2026-06-04T01:36:26.9024657Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9025249Z               "line": 336
2026-06-04T01:36:26.9025654Z             },
2026-06-04T01:36:26.9026043Z             {
2026-06-04T01:36:26.9026646Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9027053Z               "line": 350
2026-06-04T01:36:26.9027448Z             },
2026-06-04T01:36:26.9027831Z             {
2026-06-04T01:36:26.9028417Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9028834Z               "line": 361
2026-06-04T01:36:26.9029264Z             },
2026-06-04T01:36:26.9029658Z             {
2026-06-04T01:36:26.9030238Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9030658Z               "line": 437
2026-06-04T01:36:26.9031053Z             },
2026-06-04T01:36:26.9031437Z             {
2026-06-04T01:36:26.9032018Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9032427Z               "line": 326
2026-06-04T01:36:26.9032817Z             },
2026-06-04T01:36:26.9033198Z             {
2026-06-04T01:36:26.9033798Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9034216Z               "line": 339
2026-06-04T01:36:26.9034595Z             }
2026-06-04T01:36:26.9034991Z           ]
2026-06-04T01:36:26.9035368Z         }
2026-06-04T01:36:26.9035753Z       }
2026-06-04T01:36:26.9036132Z     },
2026-06-04T01:36:26.9036519Z     {
2026-06-04T01:36:26.9036935Z       "id": "REQ-UPD-3",
2026-06-04T01:36:26.9037840Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T01:36:26.9038291Z       "requiredStages": [
2026-06-04T01:36:26.9038688Z         "impl",
2026-06-04T01:36:26.9039092Z         "unit",
2026-06-04T01:36:26.9039513Z         "int"
2026-06-04T01:36:26.9039912Z       ],
2026-06-04T01:36:26.9040315Z       "stages": {
2026-06-04T01:36:26.9040702Z         "doc": {
2026-06-04T01:36:26.9041138Z           "complete": false,
2026-06-04T01:36:26.9041553Z           "evidence": []
2026-06-04T01:36:26.9041943Z         },
2026-06-04T01:36:26.9042363Z         "impl": {
2026-06-04T01:36:26.9042791Z           "complete": true,
2026-06-04T01:36:26.9043210Z           "evidence": [
2026-06-04T01:36:26.9043598Z             {
2026-06-04T01:36:26.9044188Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9044592Z               "line": 26
2026-06-04T01:36:26.9044989Z             },
2026-06-04T01:36:26.9045369Z             {
2026-06-04T01:36:26.9045962Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9046380Z               "line": 111
2026-06-04T01:36:26.9046772Z             },
2026-06-04T01:36:26.9047162Z             {
2026-06-04T01:36:26.9047740Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9048153Z               "line": 213
2026-06-04T01:36:26.9048537Z             }
2026-06-04T01:36:26.9048933Z           ]
2026-06-04T01:36:26.9049367Z         },
2026-06-04T01:36:26.9049755Z         "int": {
2026-06-04T01:36:26.9050191Z           "complete": true,
2026-06-04T01:36:26.9050797Z           "evidence": [
2026-06-04T01:36:26.9051211Z             {
2026-06-04T01:36:26.9051848Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T01:36:26.9052261Z               "line": 23
2026-06-04T01:36:26.9052654Z             }
2026-06-04T01:36:26.9053040Z           ]
2026-06-04T01:36:26.9053430Z         },
2026-06-04T01:36:26.9053817Z         "unit": {
2026-06-04T01:36:26.9054250Z           "complete": true,
2026-06-04T01:36:26.9054655Z           "evidence": [
2026-06-04T01:36:26.9055055Z             {
2026-06-04T01:36:26.9055642Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9056052Z               "line": 238
2026-06-04T01:36:26.9056445Z             },
2026-06-04T01:36:26.9056826Z             {
2026-06-04T01:36:26.9057408Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9057818Z               "line": 262
2026-06-04T01:36:26.9058208Z             },
2026-06-04T01:36:26.9058599Z             {
2026-06-04T01:36:26.9059389Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9059812Z               "line": 273
2026-06-04T01:36:26.9060199Z             },
2026-06-04T01:36:26.9060591Z             {
2026-06-04T01:36:26.9061168Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T01:36:26.9066155Z               "line": 286
2026-06-04T01:36:26.9066639Z             }
2026-06-04T01:36:26.9067043Z           ]
2026-06-04T01:36:26.9067441Z         }
2026-06-04T01:36:26.9067818Z       }
2026-06-04T01:36:26.9068207Z     },
2026-06-04T01:36:26.9068586Z     {
2026-06-04T01:36:26.9069016Z       "id": "REQ-UPD-4",
2026-06-04T01:36:26.9070068Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T01:36:26.9070508Z       "requiredStages": [
2026-06-04T01:36:26.9070906Z         "impl",
2026-06-04T01:36:26.9071290Z         "unit"
2026-06-04T01:36:26.9071679Z       ],
2026-06-04T01:36:26.9072075Z       "stages": {
2026-06-04T01:36:26.9072471Z         "doc": {
2026-06-04T01:36:26.9072950Z           "complete": false,
2026-06-04T01:36:26.9073368Z           "evidence": []
2026-06-04T01:36:26.9073759Z         },
2026-06-04T01:36:26.9074149Z         "impl": {
2026-06-04T01:36:26.9074589Z           "complete": true,
2026-06-04T01:36:26.9074998Z           "evidence": [
2026-06-04T01:36:26.9075387Z             {
2026-06-04T01:36:26.9075978Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T01:36:26.9076385Z               "line": 23
2026-06-04T01:36:26.9076778Z             },
2026-06-04T01:36:26.9077156Z             {
2026-06-04T01:36:26.9077741Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T01:36:26.9078152Z               "line": 60
2026-06-04T01:36:26.9078546Z             },
2026-06-04T01:36:26.9078943Z             {
2026-06-04T01:36:26.9079574Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T01:36:26.9079988Z               "line": 79
2026-06-04T01:36:26.9080374Z             },
2026-06-04T01:36:26.9080765Z             {
2026-06-04T01:36:26.9081377Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T01:36:26.9081791Z               "line": 162
2026-06-04T01:36:26.9082187Z             },
2026-06-04T01:36:26.9082570Z             {
2026-06-04T01:36:26.9083125Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.9083542Z               "line": 106
2026-06-04T01:36:26.9083933Z             }
2026-06-04T01:36:26.9084319Z           ]
2026-06-04T01:36:26.9084714Z         },
2026-06-04T01:36:26.9085114Z         "int": {
2026-06-04T01:36:26.9085542Z           "complete": false,
2026-06-04T01:36:26.9085964Z           "evidence": []
2026-06-04T01:36:26.9086345Z         },
2026-06-04T01:36:26.9086742Z         "unit": {
2026-06-04T01:36:26.9087168Z           "complete": true,
2026-06-04T01:36:26.9087586Z           "evidence": [
2026-06-04T01:36:26.9087983Z             {
2026-06-04T01:36:26.9088555Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T01:36:26.9088978Z               "line": 217
2026-06-04T01:36:26.9089688Z             },
2026-06-04T01:36:26.9090113Z             {
2026-06-04T01:36:26.9090704Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T01:36:26.9091127Z               "line": 118
2026-06-04T01:36:26.9091519Z             },
2026-06-04T01:36:26.9091904Z             {
2026-06-04T01:36:26.9092489Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T01:36:26.9092904Z               "line": 133
2026-06-04T01:36:26.9093301Z             },
2026-06-04T01:36:26.9093681Z             {
2026-06-04T01:36:26.9094263Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T01:36:26.9094688Z               "line": 152
2026-06-04T01:36:26.9095070Z             },
2026-06-04T01:36:26.9095460Z             {
2026-06-04T01:36:26.9096001Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T01:36:26.9096461Z               "line": 234
2026-06-04T01:36:26.9096908Z             },
2026-06-04T01:36:26.9097318Z             {
2026-06-04T01:36:26.9098066Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T01:36:26.9098476Z               "line": 407
2026-06-04T01:36:26.9098870Z             }
2026-06-04T01:36:26.9099301Z           ]
2026-06-04T01:36:26.9099693Z         }
2026-06-04T01:36:26.9100073Z       }
2026-06-04T01:36:26.9100463Z     },
2026-06-04T01:36:26.9100848Z     {
2026-06-04T01:36:26.9101266Z       "id": "REQ-UPD-5",
2026-06-04T01:36:26.9101981Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T01:36:26.9102422Z       "requiredStages": [
2026-06-04T01:36:26.9102829Z         "impl",
2026-06-04T01:36:26.9103217Z         "unit"
2026-06-04T01:36:26.9103609Z       ],
2026-06-04T01:36:26.9104018Z       "stages": {
2026-06-04T01:36:26.9104407Z         "doc": {
2026-06-04T01:36:26.9104850Z           "complete": false,
2026-06-04T01:36:26.9105266Z           "evidence": []
2026-06-04T01:36:26.9105655Z         },
2026-06-04T01:36:26.9106050Z         "impl": {
2026-06-04T01:36:26.9106518Z           "complete": true,
2026-06-04T01:36:26.9107055Z           "evidence": [
2026-06-04T01:36:26.9107807Z             {
2026-06-04T01:36:26.9108932Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9109541Z               "line": 27
2026-06-04T01:36:26.9110136Z             },
2026-06-04T01:36:26.9110528Z             {
2026-06-04T01:36:26.9111217Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9111636Z               "line": 82
2026-06-04T01:36:26.9112025Z             },
2026-06-04T01:36:26.9112421Z             {
2026-06-04T01:36:26.9113081Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9113506Z               "line": 134
2026-06-04T01:36:26.9113916Z             },
2026-06-04T01:36:26.9114629Z             {
2026-06-04T01:36:26.9115451Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9116041Z               "line": 198
2026-06-04T01:36:26.9116436Z             },
2026-06-04T01:36:26.9116845Z             {
2026-06-04T01:36:26.9117459Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T01:36:26.9117891Z               "line": 226
2026-06-04T01:36:26.9118278Z             }
2026-06-04T01:36:26.9118687Z           ]
2026-06-04T01:36:26.9119136Z         },
2026-06-04T01:36:26.9119604Z         "int": {
2026-06-04T01:36:26.9120050Z           "complete": false,
2026-06-04T01:36:26.9120483Z           "evidence": []
2026-06-04T01:36:26.9120879Z         },
2026-06-04T01:36:26.9121279Z         "unit": {
2026-06-04T01:36:26.9121710Z           "complete": true,
2026-06-04T01:36:26.9122122Z           "evidence": [
2026-06-04T01:36:26.9122519Z             {
2026-06-04T01:36:26.9123171Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9123598Z               "line": 194
2026-06-04T01:36:26.9123997Z             },
2026-06-04T01:36:26.9124386Z             {
2026-06-04T01:36:26.9125048Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9125720Z               "line": 208
2026-06-04T01:36:26.9126153Z             },
2026-06-04T01:36:26.9126535Z             {
2026-06-04T01:36:26.9127200Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9127626Z               "line": 222
2026-06-04T01:36:26.9128011Z             },
2026-06-04T01:36:26.9128406Z             {
2026-06-04T01:36:26.9129061Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9129531Z               "line": 236
2026-06-04T01:36:26.9129931Z             },
2026-06-04T01:36:26.9130324Z             {
2026-06-04T01:36:26.9130985Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T01:36:26.9131405Z               "line": 270
2026-06-04T01:36:26.9131795Z             },
2026-06-04T01:36:26.9132182Z             {
2026-06-04T01:36:26.9132798Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T01:36:26.9133213Z               "line": 729
2026-06-04T01:36:26.9133621Z             }
2026-06-04T01:36:26.9134180Z           ]
2026-06-04T01:36:26.9134565Z         }
2026-06-04T01:36:26.9134964Z       }
2026-06-04T01:36:26.9135340Z     }
2026-06-04T01:36:26.9135730Z   ],
2026-06-04T01:36:26.9136141Z   "findings": []
2026-06-04T01:36:26.9136533Z }
2026-06-04T01:36:26.9223069Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T01:36:26.9223812Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T01:36:26.9246181Z shell: /usr/bin/bash -e {0}
2026-06-04T01:36:26.9246657Z ##[endgroup]
2026-06-04T01:36:26.9421426Z Requirement quality findings (15); 126 requirements queued for agent review:
2026-06-04T01:36:26.9423717Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9426426Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T01:36:26.9428849Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9431255Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9432906Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T01:36:26.9434539Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T01:36:26.9436788Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9439055Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9441180Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T01:36:26.9442428Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T01:36:26.9443752Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T01:36:26.9445677Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9447563Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9448884Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T01:36:26.9450505Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T01:36:26.9450529Z 
2026-06-04T01:36:26.9450989Z # Requirement quality review
2026-06-04T01:36:26.9451005Z 
2026-06-04T01:36:26.9452035Z You are reviewing 126 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T01:36:26.9453100Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T01:36:26.9454114Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T01:36:26.9454846Z this command's output. Your task is the rubric items below.
2026-06-04T01:36:26.9454866Z 
2026-06-04T01:36:26.9455257Z ## Rubric
2026-06-04T01:36:26.9455273Z 
2026-06-04T01:36:26.9456553Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T01:36:26.9457658Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T01:36:26.9458632Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T01:36:26.9459358Z - **active-voice** — clear subject and active verb.
2026-06-04T01:36:26.9459376Z 
2026-06-04T01:36:26.9460775Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T01:36:26.9461188Z clear concerns.
2026-06-04T01:36:26.9461207Z 
2026-06-04T01:36:26.9462016Z ## Requirements
2026-06-04T01:36:26.9462035Z 
2026-06-04T01:36:26.9462444Z ### REQ-ARCH-1
2026-06-04T01:36:26.9463011Z - Title: Many small acyclically-layered crates
2026-06-04T01:36:26.9463451Z - Required stages: impl
2026-06-04T01:36:26.9463477Z 
2026-06-04T01:36:26.9464139Z ### REQ-ARCH-2
2026-06-04T01:36:26.9464934Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T01:36:26.9465374Z - Required stages: impl
2026-06-04T01:36:26.9465391Z 
2026-06-04T01:36:26.9465807Z ### REQ-ARCH-3
2026-06-04T01:36:26.9466782Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T01:36:26.9467254Z - Required stages: impl, unit
2026-06-04T01:36:26.9467270Z 
2026-06-04T01:36:26.9467676Z ### REQ-ARCH-4
2026-06-04T01:36:26.9481331Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T01:36:26.9481977Z - Required stages: impl, unit
2026-06-04T01:36:26.9482001Z 
2026-06-04T01:36:26.9482411Z ### REQ-DAEMON-1
2026-06-04T01:36:26.9483246Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T01:36:26.9483717Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9483747Z 
2026-06-04T01:36:26.9484152Z ### REQ-DAEMON-2
2026-06-04T01:36:26.9484780Z - Title: Broker/brain split for seamless self-update
2026-06-04T01:36:26.9485242Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9485260Z 
2026-06-04T01:36:26.9485674Z ### REQ-DAEMON-3
2026-06-04T01:36:26.9486378Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T01:36:26.9486854Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9486872Z 
2026-06-04T01:36:26.9487282Z ### REQ-DAEMON-4
2026-06-04T01:36:26.9487805Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T01:36:26.9488279Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9488296Z 
2026-06-04T01:36:26.9488696Z ### REQ-STORE-1
2026-06-04T01:36:26.9493887Z - 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-04T01:36:26.9494331Z - Required stages: 
2026-06-04T01:36:26.9494356Z 
2026-06-04T01:36:26.9494773Z ### REQ-MANIFEST-1
2026-06-04T01:36:26.9495657Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T01:36:26.9496129Z - Required stages: doc, impl, unit
2026-06-04T01:36:26.9496157Z 
2026-06-04T01:36:26.9496570Z ### REQ-SEAM-SPAWN
2026-06-04T01:36:26.9497019Z - Title: spawn-session seam
2026-06-04T01:36:26.9497471Z - Required stages: impl, unit
2026-06-04T01:36:26.9497489Z 
2026-06-04T01:36:26.9497924Z ### REQ-SEAM-POSTSPAWN
2026-06-04T01:36:26.9498518Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T01:36:26.9498981Z - Required stages: impl, unit
2026-06-04T01:36:26.9498998Z 
2026-06-04T01:36:26.9499758Z ### REQ-SEAM-PSYCHE
2026-06-04T01:36:26.9500391Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T01:36:26.9500881Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9500898Z 
2026-06-04T01:36:26.9501317Z ### REQ-SEAM-HISTORY
2026-06-04T01:36:26.9502196Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T01:36:26.9502677Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9502694Z 
2026-06-04T01:36:26.9503115Z ### REQ-SEAM-ACTIVITY
2026-06-04T01:36:26.9503979Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T01:36:26.9504426Z - Required stages: impl, unit
2026-06-04T01:36:26.9504442Z 
2026-06-04T01:36:26.9504870Z ### REQ-SEAM-INJECT
2026-06-04T01:36:26.9505632Z - Title: inject-input methods configurable per activity-state
2026-06-04T01:36:26.9506086Z - Required stages: impl, unit
2026-06-04T01:36:26.9506101Z 
2026-06-04T01:36:26.9506524Z ### REQ-SEAM-RESUME
2026-06-04T01:36:26.9507405Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T01:36:26.9508258Z - Required stages: impl, unit
2026-06-04T01:36:26.9508275Z 
2026-06-04T01:36:26.9508713Z ### REQ-SEAM-CAPABILITY
2026-06-04T01:36:26.9509609Z - Title: Hostable endpoint-types capability declaration
2026-06-04T01:36:26.9510093Z - Required stages: impl, unit
2026-06-04T01:36:26.9510299Z 
2026-06-04T01:36:26.9510753Z ### REQ-SEAM-UPDATE
2026-06-04T01:36:26.9511555Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T01:36:26.9512024Z - Required stages: impl, unit
2026-06-04T01:36:26.9512051Z 
2026-06-04T01:36:26.9512460Z ### REQ-API-1
2026-06-04T01:36:26.9513292Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T01:36:26.9513773Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9513790Z 
2026-06-04T01:36:26.9514209Z ### REQ-API-2
2026-06-04T01:36:26.9515253Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T01:36:26.9515744Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9515762Z 
2026-06-04T01:36:26.9516192Z ### REQ-API-3
2026-06-04T01:36:26.9516832Z - Title: commune/signoff are file-drops, not commands
2026-06-04T01:36:26.9517325Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9517343Z 
2026-06-04T01:36:26.9517759Z ### REQ-START-1
2026-06-04T01:36:26.9518730Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T01:36:26.9519275Z - Required stages: impl, unit
2026-06-04T01:36:26.9519294Z 
2026-06-04T01:36:26.9519857Z ### REQ-START-2
2026-06-04T01:36:26.9520496Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T01:36:26.9520967Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9520983Z 
2026-06-04T01:36:26.9521390Z ### REQ-START-3
2026-06-04T01:36:26.9522198Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T01:36:26.9522666Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9522682Z 
2026-06-04T01:36:26.9523092Z ### REQ-START-4
2026-06-04T01:36:26.9523704Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T01:36:26.9524176Z - Required stages: impl, unit
2026-06-04T01:36:26.9524193Z 
2026-06-04T01:36:26.9524587Z ### REQ-EP-1
2026-06-04T01:36:26.9525160Z - Title: Day-one endpoint types; open type system
2026-06-04T01:36:26.9525623Z - Required stages: impl, unit
2026-06-04T01:36:26.9525640Z 
2026-06-04T01:36:26.9526035Z ### REQ-EP-2
2026-06-04T01:36:26.9526822Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T01:36:26.9527276Z - Required stages: impl, unit
2026-06-04T01:36:26.9527301Z 
2026-06-04T01:36:26.9527692Z ### REQ-EP-3
2026-06-04T01:36:26.9528586Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T01:36:26.9529037Z - Required stages: impl, unit
2026-06-04T01:36:26.9529054Z 
2026-06-04T01:36:26.9529671Z ### REQ-EP-4
2026-06-04T01:36:26.9530491Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T01:36:26.9530917Z - Required stages: 
2026-06-04T01:36:26.9530932Z 
2026-06-04T01:36:26.9531334Z ### REQ-EP-5
2026-06-04T01:36:26.9535336Z - 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-04T01:36:26.9535779Z - Required stages: 
2026-06-04T01:36:26.9535794Z 
2026-06-04T01:36:26.9536202Z ### REQ-INST-1
2026-06-04T01:36:26.9536938Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T01:36:26.9537363Z - Required stages: 
2026-06-04T01:36:26.9537378Z 
2026-06-04T01:36:26.9537777Z ### REQ-INST-2
2026-06-04T01:36:26.9538303Z - Title: Per-node files, synced Psyche mind
2026-06-04T01:36:26.9538720Z - Required stages: 
2026-06-04T01:36:26.9538736Z 
2026-06-04T01:36:26.9539142Z ### REQ-INST-3
2026-06-04T01:36:26.9540219Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T01:36:26.9540635Z - Required stages: 
2026-06-04T01:36:26.9540650Z 
2026-06-04T01:36:26.9541061Z ### REQ-INST-4
2026-06-04T01:36:26.9542059Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T01:36:26.9542487Z - Required stages: 
2026-06-04T01:36:26.9542504Z 
2026-06-04T01:36:26.9542912Z ### REQ-INST-5
2026-06-04T01:36:26.9543874Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T01:36:26.9544322Z - Required stages: 
2026-06-04T01:36:26.9544340Z 
2026-06-04T01:36:26.9544736Z ### REQ-INST-6
2026-06-04T01:36:26.9545633Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T01:36:26.9546050Z - Required stages: 
2026-06-04T01:36:26.9546076Z 
2026-06-04T01:36:26.9546472Z ### REQ-INST-7
2026-06-04T01:36:26.9547090Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T01:36:26.9547542Z - Required stages: impl, unit
2026-06-04T01:36:26.9547557Z 
2026-06-04T01:36:26.9547970Z ### REQ-INST-8
2026-06-04T01:36:26.9548666Z - Title: Remote-control mode distinct from local operation
2026-06-04T01:36:26.9549091Z - Required stages: 
2026-06-04T01:36:26.9549106Z 
2026-06-04T01:36:26.9549762Z ### REQ-INST-9
2026-06-04T01:36:26.9550829Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T01:36:26.9551293Z - Required stages: impl, unit
2026-06-04T01:36:26.9551310Z 
2026-06-04T01:36:26.9551719Z ### REQ-INST-10
2026-06-04T01:36:26.9552760Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T01:36:26.9553229Z - Required stages: impl, unit
2026-06-04T01:36:26.9553244Z 
2026-06-04T01:36:26.9553643Z ### REQ-INST-11
2026-06-04T01:36:26.9554686Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T01:36:26.9555139Z - Required stages: impl, unit
2026-06-04T01:36:26.9555154Z 
2026-06-04T01:36:26.9555564Z ### REQ-INST-12
2026-06-04T01:36:26.9557042Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T01:36:26.9557493Z - Required stages: impl, unit
2026-06-04T01:36:26.9557510Z 
2026-06-04T01:36:26.9557939Z ### REQ-INST-13
2026-06-04T01:36:26.9558792Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T01:36:26.9559288Z - Required stages: impl, unit
2026-06-04T01:36:26.9559303Z 
2026-06-04T01:36:26.9560111Z ### REQ-INST-14
2026-06-04T01:36:26.9562115Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T01:36:26.9562545Z - Required stages: 
2026-06-04T01:36:26.9562559Z 
2026-06-04T01:36:26.9562956Z ### REQ-INST-15
2026-06-04T01:36:26.9567271Z - 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-04T01:36:26.9567699Z - Required stages: 
2026-06-04T01:36:26.9567714Z 
2026-06-04T01:36:26.9568119Z ### REQ-REACH-1
2026-06-04T01:36:26.9568790Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T01:36:26.9569265Z - Required stages: 
2026-06-04T01:36:26.9569281Z 
2026-06-04T01:36:26.9570086Z ### REQ-REACH-2
2026-06-04T01:36:26.9570802Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T01:36:26.9571238Z - Required stages: 
2026-06-04T01:36:26.9571253Z 
2026-06-04T01:36:26.9571659Z ### REQ-MSG-1
2026-06-04T01:36:26.9574077Z - 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-04T01:36:26.9574559Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9574575Z 
2026-06-04T01:36:26.9574983Z ### REQ-MSG-2
2026-06-04T01:36:26.9576332Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T01:36:26.9576803Z - Required stages: impl, unit
2026-06-04T01:36:26.9576819Z 
2026-06-04T01:36:26.9577213Z ### REQ-MSG-3
2026-06-04T01:36:26.9579464Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T01:36:26.9580303Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9580319Z 
2026-06-04T01:36:26.9580919Z ### REQ-NODE-IDENTITY
2026-06-04T01:36:26.9582051Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T01:36:26.9582511Z - Required stages: impl, unit
2026-06-04T01:36:26.9582528Z 
2026-06-04T01:36:26.9582946Z ### REQ-NET-1
2026-06-04T01:36:26.9583822Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T01:36:26.9584284Z - Required stages: impl, unit
2026-06-04T01:36:26.9584299Z 
2026-06-04T01:36:26.9584706Z ### REQ-NET-2
2026-06-04T01:36:26.9585538Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T01:36:26.9585987Z - Required stages: impl
2026-06-04T01:36:26.9586004Z 
2026-06-04T01:36:26.9586403Z ### REQ-NET-3
2026-06-04T01:36:26.9587161Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T01:36:26.9587597Z - Required stages: 
2026-06-04T01:36:26.9587613Z 
2026-06-04T01:36:26.9588023Z ### REQ-PAIR-1
2026-06-04T01:36:26.9588509Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T01:36:26.9588979Z - Required stages: impl, unit
2026-06-04T01:36:26.9588996Z 
2026-06-04T01:36:26.9589636Z ### REQ-PAIR-2
2026-06-04T01:36:26.9590419Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T01:36:26.9590878Z - Required stages: impl, unit
2026-06-04T01:36:26.9590895Z 
2026-06-04T01:36:26.9591315Z ### REQ-PAIR-3
2026-06-04T01:36:26.9591974Z - Title: Fetch current pairing code from any paired node
2026-06-04T01:36:26.9592437Z - Required stages: impl, unit
2026-06-04T01:36:26.9592455Z 
2026-06-04T01:36:26.9592870Z ### REQ-PAIR-4
2026-06-04T01:36:26.9593350Z - Title: Subnet naming on first pairing
2026-06-04T01:36:26.9593815Z - Required stages: impl, unit
2026-06-04T01:36:26.9593833Z 
2026-06-04T01:36:26.9594240Z ### REQ-PAIR-5
2026-06-04T01:36:26.9595797Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T01:36:26.9596267Z - Required stages: impl, unit
2026-06-04T01:36:26.9596282Z 
2026-06-04T01:36:26.9596689Z ### REQ-PAIR-6
2026-06-04T01:36:26.9598018Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T01:36:26.9598477Z - Required stages: impl, unit
2026-06-04T01:36:26.9598492Z 
2026-06-04T01:36:26.9598910Z ### REQ-PAIR-7
2026-06-04T01:36:26.9600023Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T01:36:26.9600450Z - Required stages: 
2026-06-04T01:36:26.9600466Z 
2026-06-04T01:36:26.9600876Z ### REQ-SEC-1
2026-06-04T01:36:26.9602988Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T01:36:26.9603421Z - Required stages: 
2026-06-04T01:36:26.9603436Z 
2026-06-04T01:36:26.9603849Z ### REQ-NOTIF-1
2026-06-04T01:36:26.9605742Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T01:36:26.9606170Z - Required stages: 
2026-06-04T01:36:26.9606186Z 
2026-06-04T01:36:26.9606599Z ### REQ-NOTIF-2
2026-06-04T01:36:26.9607986Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T01:36:26.9608424Z - Required stages: 
2026-06-04T01:36:26.9608438Z 
2026-06-04T01:36:26.9608835Z ### REQ-UPD-1
2026-06-04T01:36:26.9609679Z - Title: Peer-propagated update over P2P
2026-06-04T01:36:26.9610106Z - Required stages: 
2026-06-04T01:36:26.9610121Z 
2026-06-04T01:36:26.9610528Z ### REQ-UPD-2
2026-06-04T01:36:26.9611188Z - Title: All binaries signature-verified before handoff
2026-06-04T01:36:26.9611641Z - Required stages: impl, unit
2026-06-04T01:36:26.9611657Z 
2026-06-04T01:36:26.9612066Z ### REQ-UPD-3
2026-06-04T01:36:26.9612871Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T01:36:26.9613540Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9613557Z 
2026-06-04T01:36:26.9613968Z ### REQ-UPD-4
2026-06-04T01:36:26.9614943Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T01:36:26.9615425Z - Required stages: impl, unit
2026-06-04T01:36:26.9615442Z 
2026-06-04T01:36:26.9615841Z ### REQ-UPD-5
2026-06-04T01:36:26.9616474Z - Title: spt-core ripple-updates registered adapters
2026-06-04T01:36:26.9617028Z - Required stages: impl, unit
2026-06-04T01:36:26.9617058Z 
2026-06-04T01:36:26.9617460Z ### REQ-TERM-1
2026-06-04T01:36:26.9618274Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T01:36:26.9618726Z - Required stages: impl, unit
2026-06-04T01:36:26.9618742Z 
2026-06-04T01:36:26.9619215Z ### REQ-TERM-2
2026-06-04T01:36:26.9620412Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T01:36:26.9620880Z - Required stages: impl, unit
2026-06-04T01:36:26.9620910Z 
2026-06-04T01:36:26.9621322Z ### REQ-TERM-3
2026-06-04T01:36:26.9621939Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T01:36:26.9622409Z - Required stages: impl, unit
2026-06-04T01:36:26.9622425Z 
2026-06-04T01:36:26.9622819Z ### REQ-TERM-4
2026-06-04T01:36:26.9624739Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T01:36:26.9625227Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9625243Z 
2026-06-04T01:36:26.9625642Z ### REQ-FRONT-1
2026-06-04T01:36:26.9626468Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T01:36:26.9626889Z - Required stages: 
2026-06-04T01:36:26.9626905Z 
2026-06-04T01:36:26.9627326Z ### REQ-INSTALL-1
2026-06-04T01:36:26.9628265Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T01:36:26.9628691Z - Required stages: 
2026-06-04T01:36:26.9628706Z 
2026-06-04T01:36:26.9629122Z ### REQ-INSTALL-2
2026-06-04T01:36:26.9629809Z - Title: Marketplace-repackaging-friendly install
2026-06-04T01:36:26.9630578Z - Required stages: 
2026-06-04T01:36:26.9630600Z 
2026-06-04T01:36:26.9631239Z ### REQ-INSTALL-3
2026-06-04T01:36:26.9632011Z - Title: Idempotent + interactive-optional first run
2026-06-04T01:36:26.9632500Z - Required stages: 
2026-06-04T01:36:26.9632517Z 
2026-06-04T01:36:26.9633072Z ### REQ-INSTALL-4
2026-06-04T01:36:26.9637543Z - 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-04T01:36:26.9638003Z - Required stages: 
2026-06-04T01:36:26.9638020Z 
2026-06-04T01:36:26.9638438Z ### REQ-MIGRATE-1
2026-06-04T01:36:26.9639459Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T01:36:26.9640022Z - Required stages: 
2026-06-04T01:36:26.9640039Z 
2026-06-04T01:36:26.9640456Z ### REQ-INFRA-1
2026-06-04T01:36:26.9641350Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T01:36:26.9641771Z - Required stages: 
2026-06-04T01:36:26.9641788Z 
2026-06-04T01:36:26.9642204Z ### REQ-DOCS-1
2026-06-04T01:36:26.9643177Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T01:36:26.9643607Z - Required stages: 
2026-06-04T01:36:26.9643623Z 
2026-06-04T01:36:26.9644024Z ### REQ-DOCS-2
2026-06-04T01:36:26.9644781Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T01:36:26.9645207Z - Required stages: 
2026-06-04T01:36:26.9645222Z 
2026-06-04T01:36:26.9645624Z ### REQ-DOCS-3
2026-06-04T01:36:26.9646658Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T01:36:26.9647088Z - Required stages: 
2026-06-04T01:36:26.9647106Z 
2026-06-04T01:36:26.9647519Z ### REQ-DOCS-4
2026-06-04T01:36:26.9648464Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T01:36:26.9648887Z - Required stages: 
2026-06-04T01:36:26.9649140Z 
2026-06-04T01:36:26.9649637Z ### REQ-DOCS-5
2026-06-04T01:36:26.9650577Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T01:36:26.9651014Z - Required stages: 
2026-06-04T01:36:26.9651030Z 
2026-06-04T01:36:26.9651678Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T01:36:26.9652602Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T01:36:26.9653077Z - Required stages: impl, unit
2026-06-04T01:36:26.9653096Z 
2026-06-04T01:36:26.9653583Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T01:36:26.9654288Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T01:36:26.9654759Z - Required stages: impl, unit
2026-06-04T01:36:26.9654779Z 
2026-06-04T01:36:26.9655245Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T01:36:26.9655847Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T01:36:26.9656275Z - Required stages: 
2026-06-04T01:36:26.9656291Z 
2026-06-04T01:36:26.9656777Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T01:36:26.9657683Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T01:36:26.9658146Z - Required stages: impl, unit
2026-06-04T01:36:26.9658162Z 
2026-06-04T01:36:26.9658629Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T01:36:26.9659562Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T01:36:26.9660045Z - Required stages: impl, unit
2026-06-04T01:36:26.9660063Z 
2026-06-04T01:36:26.9660559Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T01:36:26.9661488Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T01:36:26.9661926Z - Required stages: 
2026-06-04T01:36:26.9661943Z 
2026-06-04T01:36:26.9662411Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T01:36:26.9663027Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T01:36:26.9663445Z - Required stages: 
2026-06-04T01:36:26.9663461Z 
2026-06-04T01:36:26.9663971Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T01:36:26.9664743Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T01:36:26.9665217Z - Required stages: impl, unit
2026-06-04T01:36:26.9665233Z 
2026-06-04T01:36:26.9665700Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T01:36:26.9666390Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T01:36:26.9666866Z - Required stages: impl, int
2026-06-04T01:36:26.9666883Z 
2026-06-04T01:36:26.9667381Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T01:36:26.9668142Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T01:36:26.9668603Z - Required stages: impl, unit
2026-06-04T01:36:26.9668618Z 
2026-06-04T01:36:26.9669125Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T01:36:26.9669958Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T01:36:26.9670429Z - Required stages: impl, unit
2026-06-04T01:36:26.9670447Z 
2026-06-04T01:36:26.9670941Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T01:36:26.9671836Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T01:36:26.9672314Z - Required stages: impl, unit
2026-06-04T01:36:26.9672329Z 
2026-06-04T01:36:26.9672843Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T01:36:26.9673565Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T01:36:26.9674029Z - Required stages: impl, unit
2026-06-04T01:36:26.9674045Z 
2026-06-04T01:36:26.9674554Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T01:36:26.9675368Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T01:36:26.9675836Z - Required stages: impl, unit
2026-06-04T01:36:26.9675852Z 
2026-06-04T01:36:26.9676349Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T01:36:26.9677388Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T01:36:26.9677854Z - Required stages: impl, unit
2026-06-04T01:36:26.9677868Z 
2026-06-04T01:36:26.9678313Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T01:36:26.9679599Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T01:36:26.9680251Z - Required stages: impl, unit
2026-06-04T01:36:26.9680266Z 
2026-06-04T01:36:26.9680758Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T01:36:26.9681796Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T01:36:26.9682316Z - Required stages: impl, unit
2026-06-04T01:36:26.9682335Z 
2026-06-04T01:36:26.9682839Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T01:36:26.9684121Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T01:36:26.9684587Z - Required stages: impl, unit
2026-06-04T01:36:26.9684602Z 
2026-06-04T01:36:26.9685106Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T01:36:26.9687341Z - 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-04T01:36:26.9687817Z - Required stages: impl, unit
2026-06-04T01:36:26.9687833Z 
2026-06-04T01:36:26.9688356Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T01:36:26.9688936Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T01:36:26.9689454Z - Required stages: impl, unit
2026-06-04T01:36:26.9689470Z 
2026-06-04T01:36:26.9689945Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T01:36:26.9690563Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T01:36:26.9691038Z - Required stages: impl, unit
2026-06-04T01:36:26.9691053Z 
2026-06-04T01:36:26.9691550Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T01:36:26.9692293Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T01:36:26.9692745Z - Required stages: impl, unit
2026-06-04T01:36:26.9692761Z 
2026-06-04T01:36:26.9693225Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T01:36:26.9693995Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T01:36:26.9701654Z - Required stages: impl, unit
2026-06-04T01:36:26.9701713Z 
2026-06-04T01:36:26.9702338Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T01:36:26.9703038Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T01:36:26.9703533Z - Required stages: impl, unit
2026-06-04T01:36:26.9703566Z 
2026-06-04T01:36:26.9704038Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T01:36:26.9704749Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T01:36:26.9705217Z - Required stages: impl, unit
2026-06-04T01:36:26.9705234Z 
2026-06-04T01:36:26.9705725Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T01:36:26.9706593Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T01:36:26.9707057Z - Required stages: impl, unit
2026-06-04T01:36:26.9707074Z 
2026-06-04T01:36:26.9707606Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T01:36:26.9708524Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T01:36:26.9708994Z - Required stages: impl, unit
2026-06-04T01:36:26.9709011Z 
2026-06-04T01:36:26.9709597Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T01:36:26.9710416Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T01:36:26.9710892Z - Required stages: impl, unit
2026-06-04T01:36:26.9710911Z 
2026-06-04T01:36:26.9711427Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T01:36:26.9712103Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T01:36:26.9712564Z - Required stages: impl, unit
2026-06-04T01:36:26.9712580Z 
2026-06-04T01:36:26.9713108Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T01:36:26.9714177Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T01:36:26.9714628Z - Required stages: impl, unit
2026-06-04T01:36:26.9714645Z 
2026-06-04T01:36:26.9715100Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T01:36:26.9716137Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T01:36:26.9716597Z - Required stages: impl, unit
2026-06-04T01:36:26.9716614Z 
2026-06-04T01:36:26.9717087Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T01:36:26.9718112Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T01:36:26.9718847Z - Required stages: impl, unit
2026-06-04T01:36:26.9718866Z 
2026-06-04T01:36:26.9719400Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T01:36:26.9720867Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T01:36:26.9721355Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9721371Z 
2026-06-04T01:36:26.9721854Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T01:36:26.9723253Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T01:36:26.9723753Z - Required stages: impl, unit
2026-06-04T01:36:26.9723770Z 
2026-06-04T01:36:26.9724330Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T01:36:26.9726718Z - 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-04T01:36:26.9727294Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9727316Z 
2026-06-04T01:36:26.9727981Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T01:36:26.9734898Z - 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-04T01:36:26.9735482Z - Required stages: 
2026-06-04T01:36:26.9735517Z 
2026-06-04T01:36:26.9736064Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T01:36:26.9740173Z - 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-04T01:36:26.9740653Z - Required stages: 
2026-06-04T01:36:26.9740673Z 
2026-06-04T01:36:26.9741229Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T01:36:26.9744742Z - 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-04T01:36:26.9745289Z - Required stages: impl, unit
2026-06-04T01:36:26.9745307Z 
2026-06-04T01:36:26.9745826Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T01:36:26.9748822Z - 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-04T01:36:26.9749553Z - Required stages: impl, unit
2026-06-04T01:36:26.9749573Z 
2026-06-04T01:36:26.9750244Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T01:36:26.9754912Z - 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-04T01:36:26.9755426Z - Required stages: impl, unit
2026-06-04T01:36:26.9755469Z 
2026-06-04T01:36:26.9755911Z ## How to report back
2026-06-04T01:36:26.9755930Z 
2026-06-04T01:36:26.9756784Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T01:36:26.9756802Z 
2026-06-04T01:36:26.9757223Z     {
2026-06-04T01:36:26.9757730Z       "code": "requirement_quality",
2026-06-04T01:36:26.9758225Z       "requirementId": "REQ-...",
2026-06-04T01:36:26.9759069Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T01:36:26.9759716Z       "message": "<short reason>",
2026-06-04T01:36:26.9760291Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T01:36:26.9760705Z     }
2026-06-04T01:36:26.9760722Z 
2026-06-04T01:36:26.9761678Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T01:36:26.9762387Z deterministic findings above don't need to be repeated.
2026-06-04T01:36:27.0059445Z Post job cleanup.
2026-06-04T01:36:27.1540731Z [command]/usr/bin/git version
2026-06-04T01:36:27.1594910Z git version 2.34.1
2026-06-04T01:36:27.1653555Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/50029119-7817-4a0b-917c-ea1a4b40e115/.gitconfig'
2026-06-04T01:36:27.1680705Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/50029119-7817-4a0b-917c-ea1a4b40e115' before making global git config changes
2026-06-04T01:36:27.1684630Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T01:36:27.1688685Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T01:36:27.1743365Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T01:36:27.1793479Z [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-04T01:36:27.2040207Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T01:36:27.2067215Z http.https://github.com/.extraheader
2026-06-04T01:36:27.2085856Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T01:36:27.2131352Z [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-04T01:36:27.2370954Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T01:36:27.2416225Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T01:36:27.2841876Z Cleaning up orphan processes
2026-06-04T01:36:27.3632302Z ##[warning]Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
