﻿2026-06-04T12:50:01.5307647Z Current runner version: '2.334.0'
2026-06-04T12:50:01.5317566Z Runner name: 'gravity'
2026-06-04T12:50:01.5318712Z Runner group name: 'Default'
2026-06-04T12:50:01.5320185Z Machine name: 'gravity-linux'
2026-06-04T12:50:01.5324121Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T12:50:01.5328041Z Contents: read
2026-06-04T12:50:01.5328862Z Metadata: read
2026-06-04T12:50:01.5329985Z Packages: read
2026-06-04T12:50:01.5330947Z ##[endgroup]
2026-06-04T12:50:01.5334438Z Secret source: Actions
2026-06-04T12:50:01.5335658Z Prepare workflow directory
2026-06-04T12:50:01.6252674Z Prepare all required actions
2026-06-04T12:50:01.6314069Z Getting action download info
2026-06-04T12:50:02.3040316Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-04T12:50:03.1734243Z Complete job name: traceability
2026-06-04T12:50:03.3103310Z ##[group]Run actions/checkout@v5
2026-06-04T12:50:03.3104897Z with:
2026-06-04T12:50:03.3105625Z   repository: SaberMage/spt-core
2026-06-04T12:50:03.3112751Z   token: ***
2026-06-04T12:50:03.3113426Z   ssh-strict: true
2026-06-04T12:50:03.3114086Z   ssh-user: git
2026-06-04T12:50:03.3114775Z   persist-credentials: true
2026-06-04T12:50:03.3115512Z   clean: true
2026-06-04T12:50:03.3116192Z   sparse-checkout-cone-mode: true
2026-06-04T12:50:03.3116977Z   fetch-depth: 1
2026-06-04T12:50:03.3117630Z   fetch-tags: false
2026-06-04T12:50:03.3118309Z   show-progress: true
2026-06-04T12:50:03.3119004Z   lfs: false
2026-06-04T12:50:03.3119759Z   submodules: false
2026-06-04T12:50:03.3120458Z   set-safe-directory: true
2026-06-04T12:50:03.3121749Z ##[endgroup]
2026-06-04T12:50:03.4693042Z Syncing repository: SaberMage/spt-core
2026-06-04T12:50:03.4696299Z ##[group]Getting Git version info
2026-06-04T12:50:03.4697774Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-04T12:50:03.4699720Z [command]/usr/bin/git version
2026-06-04T12:50:03.4700733Z git version 2.34.1
2026-06-04T12:50:03.4722735Z ##[endgroup]
2026-06-04T12:50:03.4744826Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/9bbdf3ed-5f78-432a-8ef9-04e553665469/.gitconfig'
2026-06-04T12:50:03.4755938Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/9bbdf3ed-5f78-432a-8ef9-04e553665469' before making global git config changes
2026-06-04T12:50:03.4758438Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T12:50:03.4764377Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T12:50:03.4824786Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-04T12:50:03.4861542Z https://github.com/SaberMage/spt-core
2026-06-04T12:50:03.4885961Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-04T12:50:03.4892981Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-04T12:50:03.4931266Z refs/heads/dev-freeform
2026-06-04T12:50:03.4943777Z [command]/usr/bin/git checkout --detach
2026-06-04T12:50:03.5021046Z HEAD is now at 785002e feat(daemon,docs): M4-D9-3 dormancy budget measured + policy locked [budget]
2026-06-04T12:50:03.5078624Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-04T12:50:03.5117990Z Deleted branch dev-freeform (was 785002e).
2026-06-04T12:50:03.5167051Z ##[endgroup]
2026-06-04T12:50:03.5171039Z [command]/usr/bin/git submodule status
2026-06-04T12:50:03.5416394Z ##[group]Cleaning the repository
2026-06-04T12:50:03.5421190Z [command]/usr/bin/git clean -ffdx
2026-06-04T12:50:04.8972112Z Removing target/
2026-06-04T12:50:04.8984239Z [command]/usr/bin/git reset --hard HEAD
2026-06-04T12:50:04.9071865Z HEAD is now at 785002e feat(daemon,docs): M4-D9-3 dormancy budget measured + policy locked [budget]
2026-06-04T12:50:04.9078852Z ##[endgroup]
2026-06-04T12:50:04.9081860Z ##[group]Disabling automatic garbage collection
2026-06-04T12:50:04.9087266Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T12:50:04.9128627Z ##[endgroup]
2026-06-04T12:50:04.9131435Z ##[group]Setting up auth
2026-06-04T12:50:04.9138273Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T12:50:04.9180735Z [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-04T12:50:04.9425166Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T12:50:04.9466240Z [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-04T12:50:04.9703917Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T12:50:04.9745069Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T12:50:04.9988185Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T12:50:05.0048434Z ##[endgroup]
2026-06-04T12:50:05.0051286Z ##[group]Fetching the repository
2026-06-04T12:50:05.0063657Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +785002e707f71652c714a13d71e6d5c100db003a:refs/remotes/origin/dev-freeform
2026-06-04T12:50:05.6342303Z ##[endgroup]
2026-06-04T12:50:05.6346207Z ##[group]Determining the checkout info
2026-06-04T12:50:05.6349492Z ##[endgroup]
2026-06-04T12:50:05.6353332Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T12:50:05.6406241Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T12:50:05.6442966Z ##[group]Checking out the ref
2026-06-04T12:50:05.6448045Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T12:50:05.6504636Z Switched to a new branch 'dev-freeform'
2026-06-04T12:50:05.6508988Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-04T12:50:05.6516502Z ##[endgroup]
2026-06-04T12:50:05.6561912Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T12:50:05.6595910Z 785002e707f71652c714a13d71e6d5c100db003a
2026-06-04T12:50:05.7056702Z ##[group]Run if command -v traceable-reqs >/dev/null; then
2026-06-04T12:50:05.7059054Z [36;1mif command -v traceable-reqs >/dev/null; then[0m
2026-06-04T12:50:05.7061449Z [36;1m  ln -sf "$(command -v traceable-reqs)" ./traceable-reqs[0m
2026-06-04T12:50:05.7063406Z [36;1melse[0m
2026-06-04T12:50:05.7065040Z [36;1m  gh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-04T12:50:05.7067402Z [36;1m    --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-04T12:50:05.7069448Z [36;1m  chmod +x traceable-reqs[0m
2026-06-04T12:50:05.7070950Z [36;1mfi[0m
2026-06-04T12:50:05.7099316Z shell: /usr/bin/bash -e {0}
2026-06-04T12:50:05.7101070Z env:
2026-06-04T12:50:05.7104095Z   GH_TOKEN: ***
2026-06-04T12:50:05.7105306Z ##[endgroup]
2026-06-04T12:50:05.7419324Z ##[group]Run ./traceable-reqs check --json
2026-06-04T12:50:05.7421100Z [36;1m./traceable-reqs check --json[0m
2026-06-04T12:50:05.7444833Z shell: /usr/bin/bash -e {0}
2026-06-04T12:50:05.7446160Z ##[endgroup]
2026-06-04T12:50:05.7714546Z {
2026-06-04T12:50:05.7715839Z   "schemaVersion": 1,
2026-06-04T12:50:05.7717324Z   "summary": {
2026-06-04T12:50:05.7718733Z     "requirementCount": 129,
2026-06-04T12:50:05.7721197Z     "completeCount": 129,
2026-06-04T12:50:05.7722726Z     "incompleteCount": 0,
2026-06-04T12:50:05.7724177Z     "findingCount": 0
2026-06-04T12:50:05.7725468Z   },
2026-06-04T12:50:05.7726592Z   "requirements": [
2026-06-04T12:50:05.7727846Z     {
2026-06-04T12:50:05.7729113Z       "id": "REQ-API-1",
2026-06-04T12:50:05.7731295Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T12:50:05.7733557Z       "requiredStages": [
2026-06-04T12:50:05.7734889Z         "impl",
2026-06-04T12:50:05.7736736Z         "unit",
2026-06-04T12:50:05.7737945Z         "int"
2026-06-04T12:50:05.7739057Z       ],
2026-06-04T12:50:05.7740308Z       "stages": {
2026-06-04T12:50:05.7741605Z         "doc": {
2026-06-04T12:50:05.7742909Z           "complete": false,
2026-06-04T12:50:05.7744375Z           "evidence": []
2026-06-04T12:50:05.7745741Z         },
2026-06-04T12:50:05.7746920Z         "impl": {
2026-06-04T12:50:05.7748216Z           "complete": true,
2026-06-04T12:50:05.7749715Z           "evidence": [
2026-06-04T12:50:05.7751048Z             {
2026-06-04T12:50:05.7752366Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:50:05.7754156Z               "line": 15
2026-06-04T12:50:05.7755498Z             }
2026-06-04T12:50:05.7756652Z           ]
2026-06-04T12:50:05.7757775Z         },
2026-06-04T12:50:05.7758936Z         "int": {
2026-06-04T12:50:05.7760267Z           "complete": true,
2026-06-04T12:50:05.7761701Z           "evidence": [
2026-06-04T12:50:05.7763013Z             {
2026-06-04T12:50:05.7764502Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:05.7766342Z               "line": 13
2026-06-04T12:50:05.7767743Z             }
2026-06-04T12:50:05.7768950Z           ]
2026-06-04T12:50:05.7772457Z         },
2026-06-04T12:50:05.7773650Z         "unit": {
2026-06-04T12:50:05.7775186Z           "complete": true,
2026-06-04T12:50:05.7776663Z           "evidence": [
2026-06-04T12:50:05.7777912Z             {
2026-06-04T12:50:05.7779273Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:50:05.7781076Z               "line": 336
2026-06-04T12:50:05.7782356Z             },
2026-06-04T12:50:05.7783490Z             {
2026-06-04T12:50:05.7784753Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:50:05.7786423Z               "line": 342
2026-06-04T12:50:05.7787672Z             },
2026-06-04T12:50:05.7819975Z             {
2026-06-04T12:50:05.7821601Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:50:05.7823413Z               "line": 353
2026-06-04T12:50:05.7824696Z             }
2026-06-04T12:50:05.7825784Z           ]
2026-06-04T12:50:05.7826835Z         }
2026-06-04T12:50:05.7827872Z       }
2026-06-04T12:50:05.7828884Z     },
2026-06-04T12:50:05.7829967Z     {
2026-06-04T12:50:05.7831025Z       "id": "REQ-API-2",
2026-06-04T12:50:05.7833130Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T12:50:05.7835642Z       "requiredStages": [
2026-06-04T12:50:05.7836930Z         "impl",
2026-06-04T12:50:05.7838042Z         "unit",
2026-06-04T12:50:05.7839214Z         "int"
2026-06-04T12:50:05.7840425Z       ],
2026-06-04T12:50:05.7841446Z       "stages": {
2026-06-04T12:50:05.7842549Z         "doc": {
2026-06-04T12:50:05.7843680Z           "complete": false,
2026-06-04T12:50:05.7845008Z           "evidence": []
2026-06-04T12:50:05.7846211Z         },
2026-06-04T12:50:05.7847227Z         "impl": {
2026-06-04T12:50:05.7848369Z           "complete": true,
2026-06-04T12:50:05.7849932Z           "evidence": [
2026-06-04T12:50:05.7851740Z             {
2026-06-04T12:50:05.7853134Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T12:50:05.7854910Z               "line": 15
2026-06-04T12:50:05.7856163Z             },
2026-06-04T12:50:05.7857246Z             {
2026-06-04T12:50:05.7858552Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:05.7860445Z               "line": 20
2026-06-04T12:50:05.7861648Z             },
2026-06-04T12:50:05.7862695Z             {
2026-06-04T12:50:05.7863945Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:05.7865636Z               "line": 125
2026-06-04T12:50:05.7866844Z             },
2026-06-04T12:50:05.7867902Z             {
2026-06-04T12:50:05.7869206Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7871233Z               "line": 21
2026-06-04T12:50:05.7872428Z             },
2026-06-04T12:50:05.7873480Z             {
2026-06-04T12:50:05.7874763Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7876714Z               "line": 38
2026-06-04T12:50:05.7877954Z             },
2026-06-04T12:50:05.7879036Z             {
2026-06-04T12:50:05.7880725Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7882435Z               "line": 160
2026-06-04T12:50:05.7883640Z             },
2026-06-04T12:50:05.7884695Z             {
2026-06-04T12:50:05.7885967Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7887667Z               "line": 199
2026-06-04T12:50:05.7888879Z             },
2026-06-04T12:50:05.7890381Z             {
2026-06-04T12:50:05.7891670Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7893362Z               "line": 223
2026-06-04T12:50:05.7894576Z             },
2026-06-04T12:50:05.7895629Z             {
2026-06-04T12:50:05.7896860Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.7898502Z               "line": 17
2026-06-04T12:50:05.7900002Z             },
2026-06-04T12:50:05.7901107Z             {
2026-06-04T12:50:05.7902381Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.7904077Z               "line": 30
2026-06-04T12:50:05.7905316Z             },
2026-06-04T12:50:05.7906399Z             {
2026-06-04T12:50:05.7907683Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.7909603Z               "line": 63
2026-06-04T12:50:05.7910821Z             },
2026-06-04T12:50:05.7911879Z             {
2026-06-04T12:50:05.7913116Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.7914784Z               "line": 76
2026-06-04T12:50:05.7915977Z             }
2026-06-04T12:50:05.7917020Z           ]
2026-06-04T12:50:05.7918039Z         },
2026-06-04T12:50:05.7919053Z         "int": {
2026-06-04T12:50:05.7920621Z           "complete": true,
2026-06-04T12:50:05.7921936Z           "evidence": [
2026-06-04T12:50:05.7923110Z             {
2026-06-04T12:50:05.7924392Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:05.7926128Z               "line": 14
2026-06-04T12:50:05.7927321Z             },
2026-06-04T12:50:05.7928377Z             {
2026-06-04T12:50:05.7930071Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:05.7931847Z               "line": 151
2026-06-04T12:50:05.7933137Z             }
2026-06-04T12:50:05.7934195Z           ]
2026-06-04T12:50:05.7935225Z         },
2026-06-04T12:50:05.7936257Z         "unit": {
2026-06-04T12:50:05.7937411Z           "complete": true,
2026-06-04T12:50:05.7938708Z           "evidence": [
2026-06-04T12:50:05.7940266Z             {
2026-06-04T12:50:05.7941560Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T12:50:05.7943274Z               "line": 42
2026-06-04T12:50:05.7944497Z             },
2026-06-04T12:50:05.7945567Z             {
2026-06-04T12:50:05.7946834Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:05.7948517Z               "line": 204
2026-06-04T12:50:05.7950161Z             },
2026-06-04T12:50:05.7951476Z             {
2026-06-04T12:50:05.7952796Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7954525Z               "line": 296
2026-06-04T12:50:05.7955771Z             },
2026-06-04T12:50:05.7956844Z             {
2026-06-04T12:50:05.7958170Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7960301Z               "line": 307
2026-06-04T12:50:05.7961555Z             },
2026-06-04T12:50:05.7962662Z             {
2026-06-04T12:50:05.7963998Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7965754Z               "line": 375
2026-06-04T12:50:05.7967023Z             },
2026-06-04T12:50:05.7968118Z             {
2026-06-04T12:50:05.7969690Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.7971580Z               "line": 387
2026-06-04T12:50:05.7972847Z             },
2026-06-04T12:50:05.7974007Z             {
2026-06-04T12:50:05.7975312Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.7977199Z               "line": 137
2026-06-04T12:50:05.7978468Z             },
2026-06-04T12:50:05.7979945Z             {
2026-06-04T12:50:05.7981234Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.7982894Z               "line": 172
2026-06-04T12:50:05.7984123Z             }
2026-06-04T12:50:05.7985198Z           ]
2026-06-04T12:50:05.7986220Z         }
2026-06-04T12:50:05.7987231Z       }
2026-06-04T12:50:05.7988221Z     },
2026-06-04T12:50:05.7989256Z     {
2026-06-04T12:50:05.7990605Z       "id": "REQ-API-3",
2026-06-04T12:50:05.7992742Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T12:50:05.7994840Z       "requiredStages": [
2026-06-04T12:50:05.7996255Z         "impl",
2026-06-04T12:50:05.7997465Z         "unit",
2026-06-04T12:50:05.7998741Z         "int"
2026-06-04T12:50:05.8000121Z       ],
2026-06-04T12:50:05.8001268Z       "stages": {
2026-06-04T12:50:05.8002492Z         "doc": {
2026-06-04T12:50:05.8003800Z           "complete": false,
2026-06-04T12:50:05.8005282Z           "evidence": []
2026-06-04T12:50:05.8006664Z         },
2026-06-04T12:50:05.8007835Z         "impl": {
2026-06-04T12:50:05.8009110Z           "complete": true,
2026-06-04T12:50:05.8010855Z           "evidence": [
2026-06-04T12:50:05.8012096Z             {
2026-06-04T12:50:05.8013536Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:05.8015528Z               "line": 27
2026-06-04T12:50:05.8016923Z             },
2026-06-04T12:50:05.8018270Z             {
2026-06-04T12:50:05.8020220Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.8022307Z               "line": 233
2026-06-04T12:50:05.8023497Z             }
2026-06-04T12:50:05.8024812Z           ]
2026-06-04T12:50:05.8025795Z         },
2026-06-04T12:50:05.8026792Z         "int": {
2026-06-04T12:50:05.8027894Z           "complete": true,
2026-06-04T12:50:05.8029143Z           "evidence": [
2026-06-04T12:50:05.8030384Z             {
2026-06-04T12:50:05.8031649Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:05.8033325Z               "line": 203
2026-06-04T12:50:05.8034520Z             }
2026-06-04T12:50:05.8035536Z           ]
2026-06-04T12:50:05.8036510Z         },
2026-06-04T12:50:05.8037506Z         "unit": {
2026-06-04T12:50:05.8038606Z           "complete": true,
2026-06-04T12:50:05.8039899Z           "evidence": [
2026-06-04T12:50:05.8041036Z             {
2026-06-04T12:50:05.8042257Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:05.8043882Z               "line": 230
2026-06-04T12:50:05.8045053Z             },
2026-06-04T12:50:05.8046071Z             {
2026-06-04T12:50:05.8047329Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.8048982Z               "line": 416
2026-06-04T12:50:05.8050186Z             }
2026-06-04T12:50:05.8051182Z           ]
2026-06-04T12:50:05.8052165Z         }
2026-06-04T12:50:05.8053117Z       }
2026-06-04T12:50:05.8054076Z     },
2026-06-04T12:50:05.8055018Z     {
2026-06-04T12:50:05.8056371Z       "id": "REQ-ARCH-1",
2026-06-04T12:50:05.8057897Z       "title": "Many small acyclically-layered crates",
2026-06-04T12:50:05.8059664Z       "requiredStages": [
2026-06-04T12:50:05.8060875Z         "impl"
2026-06-04T12:50:05.8061895Z       ],
2026-06-04T12:50:05.8062871Z       "stages": {
2026-06-04T12:50:05.8063972Z         "doc": {
2026-06-04T12:50:05.8065075Z           "complete": false,
2026-06-04T12:50:05.8066351Z           "evidence": []
2026-06-04T12:50:05.8067536Z         },
2026-06-04T12:50:05.8068520Z         "impl": {
2026-06-04T12:50:05.8069667Z           "complete": true,
2026-06-04T12:50:05.8070919Z           "evidence": [
2026-06-04T12:50:05.8072058Z             {
2026-06-04T12:50:05.8073240Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T12:50:05.8074795Z               "line": 16
2026-06-04T12:50:05.8075958Z             },
2026-06-04T12:50:05.8076973Z             {
2026-06-04T12:50:05.8078376Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T12:50:05.8080028Z               "line": 12
2026-06-04T12:50:05.8081182Z             },
2026-06-04T12:50:05.8082196Z             {
2026-06-04T12:50:05.8083395Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T12:50:05.8084990Z               "line": 12
2026-06-04T12:50:05.8086149Z             }
2026-06-04T12:50:05.8087141Z           ]
2026-06-04T12:50:05.8088124Z         },
2026-06-04T12:50:05.8089102Z         "int": {
2026-06-04T12:50:05.8090226Z           "complete": false,
2026-06-04T12:50:05.8091497Z           "evidence": []
2026-06-04T12:50:05.8092668Z         },
2026-06-04T12:50:05.8093643Z         "unit": {
2026-06-04T12:50:05.8094750Z           "complete": false,
2026-06-04T12:50:05.8096005Z           "evidence": []
2026-06-04T12:50:05.8097156Z         }
2026-06-04T12:50:05.8098120Z       }
2026-06-04T12:50:05.8099062Z     },
2026-06-04T12:50:05.8100061Z     {
2026-06-04T12:50:05.8101037Z       "id": "REQ-ARCH-2",
2026-06-04T12:50:05.8102773Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T12:50:05.8104760Z       "requiredStages": [
2026-06-04T12:50:05.8105972Z         "impl"
2026-06-04T12:50:05.8106986Z       ],
2026-06-04T12:50:05.8107956Z       "stages": {
2026-06-04T12:50:05.8109021Z         "doc": {
2026-06-04T12:50:05.8110158Z           "complete": false,
2026-06-04T12:50:05.8111447Z           "evidence": []
2026-06-04T12:50:05.8112610Z         },
2026-06-04T12:50:05.8113600Z         "impl": {
2026-06-04T12:50:05.8114709Z           "complete": true,
2026-06-04T12:50:05.8115953Z           "evidence": [
2026-06-04T12:50:05.8117083Z             {
2026-06-04T12:50:05.8118309Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T12:50:05.8119966Z               "line": 18
2026-06-04T12:50:05.8121105Z             }
2026-06-04T12:50:05.8122105Z           ]
2026-06-04T12:50:05.8123064Z         },
2026-06-04T12:50:05.8124046Z         "int": {
2026-06-04T12:50:05.8125149Z           "complete": false,
2026-06-04T12:50:05.8126459Z           "evidence": []
2026-06-04T12:50:05.8127628Z         },
2026-06-04T12:50:05.8128619Z         "unit": {
2026-06-04T12:50:05.8129770Z           "complete": false,
2026-06-04T12:50:05.8142144Z           "evidence": []
2026-06-04T12:50:05.8143405Z         }
2026-06-04T12:50:05.8144368Z       }
2026-06-04T12:50:05.8145299Z     },
2026-06-04T12:50:05.8146246Z     {
2026-06-04T12:50:05.8147243Z       "id": "REQ-ARCH-3",
2026-06-04T12:50:05.8149327Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T12:50:05.8151680Z       "requiredStages": [
2026-06-04T12:50:05.8152888Z         "impl",
2026-06-04T12:50:05.8153933Z         "unit"
2026-06-04T12:50:05.8154949Z       ],
2026-06-04T12:50:05.8155928Z       "stages": {
2026-06-04T12:50:05.8156997Z         "doc": {
2026-06-04T12:50:05.8158099Z           "complete": false,
2026-06-04T12:50:05.8159423Z           "evidence": []
2026-06-04T12:50:05.8160600Z         },
2026-06-04T12:50:05.8161672Z         "impl": {
2026-06-04T12:50:05.8163141Z           "complete": true,
2026-06-04T12:50:05.8164409Z           "evidence": [
2026-06-04T12:50:05.8165531Z             {
2026-06-04T12:50:05.8166779Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:50:05.8168403Z               "line": 34
2026-06-04T12:50:05.8169607Z             },
2026-06-04T12:50:05.8170626Z             {
2026-06-04T12:50:05.8171871Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:50:05.8173505Z               "line": 41
2026-06-04T12:50:05.8174657Z             }
2026-06-04T12:50:05.8175653Z           ]
2026-06-04T12:50:05.8176627Z         },
2026-06-04T12:50:05.8177601Z         "int": {
2026-06-04T12:50:05.8178694Z           "complete": false,
2026-06-04T12:50:05.8179999Z           "evidence": []
2026-06-04T12:50:05.8181170Z         },
2026-06-04T12:50:05.8182147Z         "unit": {
2026-06-04T12:50:05.8183237Z           "complete": true,
2026-06-04T12:50:05.8184461Z           "evidence": [
2026-06-04T12:50:05.8185767Z             {
2026-06-04T12:50:05.8187011Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:50:05.8188624Z               "line": 51
2026-06-04T12:50:05.8189815Z             },
2026-06-04T12:50:05.8190832Z             {
2026-06-04T12:50:05.8192073Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:50:05.8193707Z               "line": 65
2026-06-04T12:50:05.8194854Z             },
2026-06-04T12:50:05.8195858Z             {
2026-06-04T12:50:05.8197085Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T12:50:05.8198710Z               "line": 74
2026-06-04T12:50:05.8199948Z             }
2026-06-04T12:50:05.8200946Z           ]
2026-06-04T12:50:05.8201916Z         }
2026-06-04T12:50:05.8202883Z       }
2026-06-04T12:50:05.8203824Z     },
2026-06-04T12:50:05.8204765Z     {
2026-06-04T12:50:05.8205755Z       "id": "REQ-ARCH-4",
2026-06-04T12:50:05.8207506Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T12:50:05.8209617Z       "requiredStages": [
2026-06-04T12:50:05.8210821Z         "impl",
2026-06-04T12:50:05.8211858Z         "unit"
2026-06-04T12:50:05.8212870Z       ],
2026-06-04T12:50:05.8213833Z       "stages": {
2026-06-04T12:50:05.8214880Z         "doc": {
2026-06-04T12:50:05.8215975Z           "complete": false,
2026-06-04T12:50:05.8217243Z           "evidence": []
2026-06-04T12:50:05.8218401Z         },
2026-06-04T12:50:05.8219420Z         "impl": {
2026-06-04T12:50:05.8220521Z           "complete": true,
2026-06-04T12:50:05.8221748Z           "evidence": [
2026-06-04T12:50:05.8222878Z             {
2026-06-04T12:50:05.8224111Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8225700Z               "line": 63
2026-06-04T12:50:05.8226847Z             },
2026-06-04T12:50:05.8227865Z             {
2026-06-04T12:50:05.8229064Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8230690Z               "line": 77
2026-06-04T12:50:05.8231851Z             },
2026-06-04T12:50:05.8232882Z             {
2026-06-04T12:50:05.8234100Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8235685Z               "line": 97
2026-06-04T12:50:05.8236849Z             },
2026-06-04T12:50:05.8237859Z             {
2026-06-04T12:50:05.8239057Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8240676Z               "line": 112
2026-06-04T12:50:05.8247877Z             },
2026-06-04T12:50:05.8248926Z             {
2026-06-04T12:50:05.8250233Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8251826Z               "line": 162
2026-06-04T12:50:05.8252982Z             }
2026-06-04T12:50:05.8253971Z           ]
2026-06-04T12:50:05.8254934Z         },
2026-06-04T12:50:05.8255890Z         "int": {
2026-06-04T12:50:05.8256977Z           "complete": false,
2026-06-04T12:50:05.8258237Z           "evidence": []
2026-06-04T12:50:05.8259418Z         },
2026-06-04T12:50:05.8260401Z         "unit": {
2026-06-04T12:50:05.8261791Z           "complete": true,
2026-06-04T12:50:05.8263040Z           "evidence": [
2026-06-04T12:50:05.8264166Z             {
2026-06-04T12:50:05.8265358Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8266930Z               "line": 226
2026-06-04T12:50:05.8268075Z             },
2026-06-04T12:50:05.8269075Z             {
2026-06-04T12:50:05.8270307Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8271901Z               "line": 236
2026-06-04T12:50:05.8273059Z             },
2026-06-04T12:50:05.8274059Z             {
2026-06-04T12:50:05.8275258Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8276845Z               "line": 247
2026-06-04T12:50:05.8278003Z             },
2026-06-04T12:50:05.8278996Z             {
2026-06-04T12:50:05.8280230Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8281846Z               "line": 258
2026-06-04T12:50:05.8282992Z             },
2026-06-04T12:50:05.8284173Z             {
2026-06-04T12:50:05.8285418Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8287018Z               "line": 270
2026-06-04T12:50:05.8288190Z             },
2026-06-04T12:50:05.8289228Z             {
2026-06-04T12:50:05.8290437Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8292031Z               "line": 283
2026-06-04T12:50:05.8293189Z             },
2026-06-04T12:50:05.8294192Z             {
2026-06-04T12:50:05.8295383Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8296983Z               "line": 294
2026-06-04T12:50:05.8298149Z             },
2026-06-04T12:50:05.8299213Z             {
2026-06-04T12:50:05.8300431Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8302031Z               "line": 308
2026-06-04T12:50:05.8303192Z             },
2026-06-04T12:50:05.8304202Z             {
2026-06-04T12:50:05.8305407Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:05.8307013Z               "line": 336
2026-06-04T12:50:05.8308197Z             }
2026-06-04T12:50:05.8309251Z           ]
2026-06-04T12:50:05.8310224Z         }
2026-06-04T12:50:05.8311243Z       }
2026-06-04T12:50:05.8312190Z     },
2026-06-04T12:50:05.8313122Z     {
2026-06-04T12:50:05.8314108Z       "id": "REQ-DAEMON-1",
2026-06-04T12:50:05.8315829Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T12:50:05.8317836Z       "requiredStages": [
2026-06-04T12:50:05.8319021Z         "impl",
2026-06-04T12:50:05.8320398Z         "unit",
2026-06-04T12:50:05.8321419Z         "int"
2026-06-04T12:50:05.8322410Z       ],
2026-06-04T12:50:05.8323379Z       "stages": {
2026-06-04T12:50:05.8324485Z         "doc": {
2026-06-04T12:50:05.8325566Z           "complete": false,
2026-06-04T12:50:05.8326830Z           "evidence": []
2026-06-04T12:50:05.8327982Z         },
2026-06-04T12:50:05.8328961Z         "impl": {
2026-06-04T12:50:05.8330105Z           "complete": true,
2026-06-04T12:50:05.8331362Z           "evidence": [
2026-06-04T12:50:05.8332503Z             {
2026-06-04T12:50:05.8333761Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:05.8335368Z               "line": 12
2026-06-04T12:50:05.8336519Z             },
2026-06-04T12:50:05.8337522Z             {
2026-06-04T12:50:05.8338764Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8340450Z               "line": 16
2026-06-04T12:50:05.8341609Z             },
2026-06-04T12:50:05.8342607Z             {
2026-06-04T12:50:05.8343822Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T12:50:05.8345405Z               "line": 15
2026-06-04T12:50:05.8352382Z             },
2026-06-04T12:50:05.8353521Z             {
2026-06-04T12:50:05.8354688Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T12:50:05.8356235Z               "line": 13
2026-06-04T12:50:05.8357380Z             }
2026-06-04T12:50:05.8358368Z           ]
2026-06-04T12:50:05.8359438Z         },
2026-06-04T12:50:05.8360400Z         "int": {
2026-06-04T12:50:05.8361743Z           "complete": true,
2026-06-04T12:50:05.8362995Z           "evidence": [
2026-06-04T12:50:05.8364116Z             {
2026-06-04T12:50:05.8365391Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:50:05.8367059Z               "line": 32
2026-06-04T12:50:05.8368194Z             }
2026-06-04T12:50:05.8369231Z           ]
2026-06-04T12:50:05.8370205Z         },
2026-06-04T12:50:05.8371168Z         "unit": {
2026-06-04T12:50:05.8372253Z           "complete": true,
2026-06-04T12:50:05.8373478Z           "evidence": [
2026-06-04T12:50:05.8374593Z             {
2026-06-04T12:50:05.8375823Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:05.8377420Z               "line": 242
2026-06-04T12:50:05.8378581Z             },
2026-06-04T12:50:05.8379630Z             {
2026-06-04T12:50:05.8380848Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:05.8382608Z               "line": 250
2026-06-04T12:50:05.8383767Z             },
2026-06-04T12:50:05.8384768Z             {
2026-06-04T12:50:05.8385985Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:05.8387587Z               "line": 263
2026-06-04T12:50:05.8388740Z             },
2026-06-04T12:50:05.8389783Z             {
2026-06-04T12:50:05.8391016Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:05.8392610Z               "line": 271
2026-06-04T12:50:05.8393764Z             },
2026-06-04T12:50:05.8394773Z             {
2026-06-04T12:50:05.8396011Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8397664Z               "line": 528
2026-06-04T12:50:05.8398823Z             },
2026-06-04T12:50:05.8399875Z             {
2026-06-04T12:50:05.8401141Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8402778Z               "line": 587
2026-06-04T12:50:05.8404014Z             },
2026-06-04T12:50:05.8405149Z             {
2026-06-04T12:50:05.8406401Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T12:50:05.8407993Z               "line": 100
2026-06-04T12:50:05.8409209Z             },
2026-06-04T12:50:05.8410224Z             {
2026-06-04T12:50:05.8411429Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T12:50:05.8413016Z               "line": 125
2026-06-04T12:50:05.8414163Z             }
2026-06-04T12:50:05.8415167Z           ]
2026-06-04T12:50:05.8416121Z         }
2026-06-04T12:50:05.8417065Z       }
2026-06-04T12:50:05.8417988Z     },
2026-06-04T12:50:05.8418918Z     {
2026-06-04T12:50:05.8419961Z       "id": "REQ-DAEMON-2",
2026-06-04T12:50:05.8421502Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T12:50:05.8423247Z       "requiredStages": [
2026-06-04T12:50:05.8424426Z         "impl",
2026-06-04T12:50:05.8425450Z         "unit",
2026-06-04T12:50:05.8426462Z         "int"
2026-06-04T12:50:05.8427454Z       ],
2026-06-04T12:50:05.8428413Z       "stages": {
2026-06-04T12:50:05.8429513Z         "doc": {
2026-06-04T12:50:05.8430601Z           "complete": false,
2026-06-04T12:50:05.8431862Z           "evidence": []
2026-06-04T12:50:05.8432987Z         },
2026-06-04T12:50:05.8433944Z         "impl": {
2026-06-04T12:50:05.8435015Z           "complete": true,
2026-06-04T12:50:05.8436223Z           "evidence": [
2026-06-04T12:50:05.8438323Z             {
2026-06-04T12:50:05.8439600Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:05.8441169Z               "line": 23
2026-06-04T12:50:05.8442307Z             },
2026-06-04T12:50:05.8443300Z             {
2026-06-04T12:50:05.8444482Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:05.8446043Z               "line": 489
2026-06-04T12:50:05.8447175Z             },
2026-06-04T12:50:05.8448166Z             {
2026-06-04T12:50:05.8449385Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:05.8450972Z               "line": 612
2026-06-04T12:50:05.8458424Z             },
2026-06-04T12:50:05.8459597Z             {
2026-06-04T12:50:05.8461163Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:05.8462827Z               "line": 32
2026-06-04T12:50:05.8463993Z             },
2026-06-04T12:50:05.8465023Z             {
2026-06-04T12:50:05.8466263Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:05.8467884Z               "line": 191
2026-06-04T12:50:05.8469062Z             },
2026-06-04T12:50:05.8470158Z             {
2026-06-04T12:50:05.8471391Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:05.8473012Z               "line": 510
2026-06-04T12:50:05.8474205Z             },
2026-06-04T12:50:05.8475225Z             {
2026-06-04T12:50:05.8476465Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:05.8478090Z               "line": 679
2026-06-04T12:50:05.8479291Z             },
2026-06-04T12:50:05.8480331Z             {
2026-06-04T12:50:05.8481559Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:50:05.8483393Z               "line": 11
2026-06-04T12:50:05.8484567Z             },
2026-06-04T12:50:05.8485600Z             {
2026-06-04T12:50:05.8486834Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T12:50:05.8488447Z               "line": 53
2026-06-04T12:50:05.8489653Z             },
2026-06-04T12:50:05.8490682Z             {
2026-06-04T12:50:05.8491899Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.8493479Z               "line": 13
2026-06-04T12:50:05.8494643Z             },
2026-06-04T12:50:05.8495675Z             {
2026-06-04T12:50:05.8496910Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8498527Z               "line": 27
2026-06-04T12:50:05.8499728Z             },
2026-06-04T12:50:05.8500757Z             {
2026-06-04T12:50:05.8502019Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8503640Z               "line": 94
2026-06-04T12:50:05.8504875Z             },
2026-06-04T12:50:05.8505899Z             {
2026-06-04T12:50:05.8507170Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8508805Z               "line": 393
2026-06-04T12:50:05.8510045Z             },
2026-06-04T12:50:05.8511076Z             {
2026-06-04T12:50:05.8512349Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8514007Z               "line": 460
2026-06-04T12:50:05.8515182Z             },
2026-06-04T12:50:05.8516208Z             {
2026-06-04T12:50:05.8517457Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8519092Z               "line": 494
2026-06-04T12:50:05.8520302Z             },
2026-06-04T12:50:05.8521341Z             {
2026-06-04T12:50:05.8522587Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8524207Z               "line": 536
2026-06-04T12:50:05.8525377Z             },
2026-06-04T12:50:05.8526390Z             {
2026-06-04T12:50:05.8527616Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8529309Z               "line": 581
2026-06-04T12:50:05.8530479Z             },
2026-06-04T12:50:05.8531497Z             {
2026-06-04T12:50:05.8532754Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:50:05.8534411Z               "line": 10
2026-06-04T12:50:05.8535571Z             }
2026-06-04T12:50:05.8536589Z           ]
2026-06-04T12:50:05.8537568Z         },
2026-06-04T12:50:05.8538553Z         "int": {
2026-06-04T12:50:05.8539678Z           "complete": true,
2026-06-04T12:50:05.8540920Z           "evidence": [
2026-06-04T12:50:05.8542054Z             {
2026-06-04T12:50:05.8543307Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T12:50:05.8544954Z               "line": 17
2026-06-04T12:50:05.8546114Z             },
2026-06-04T12:50:05.8547125Z             {
2026-06-04T12:50:05.8548428Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:50:05.8550146Z               "line": 33
2026-06-04T12:50:05.8551321Z             },
2026-06-04T12:50:05.8552535Z             {
2026-06-04T12:50:05.8553820Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T12:50:05.8555490Z               "line": 19
2026-06-04T12:50:05.8556657Z             },
2026-06-04T12:50:05.8557674Z             {
2026-06-04T12:50:05.8558954Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:50:05.8560684Z               "line": 70
2026-06-04T12:50:05.8561847Z             },
2026-06-04T12:50:05.8568872Z             {
2026-06-04T12:50:05.8570324Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:50:05.8572033Z               "line": 90
2026-06-04T12:50:05.8573197Z             },
2026-06-04T12:50:05.8574217Z             {
2026-06-04T12:50:05.8575506Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:50:05.8577180Z               "line": 160
2026-06-04T12:50:05.8578337Z             },
2026-06-04T12:50:05.8579381Z             {
2026-06-04T12:50:05.8580973Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:50:05.8582662Z               "line": 196
2026-06-04T12:50:05.8583836Z             },
2026-06-04T12:50:05.8584856Z             {
2026-06-04T12:50:05.8586143Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T12:50:05.8587820Z               "line": 121
2026-06-04T12:50:05.8588985Z             }
2026-06-04T12:50:05.8590021Z           ]
2026-06-04T12:50:05.8591002Z         },
2026-06-04T12:50:05.8591983Z         "unit": {
2026-06-04T12:50:05.8593098Z           "complete": true,
2026-06-04T12:50:05.8594323Z           "evidence": [
2026-06-04T12:50:05.8595459Z             {
2026-06-04T12:50:05.8596674Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:50:05.8598270Z               "line": 62
2026-06-04T12:50:05.8599453Z             },
2026-06-04T12:50:05.8600477Z             {
2026-06-04T12:50:05.8601691Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:50:05.8603300Z               "line": 76
2026-06-04T12:50:05.8604476Z             },
2026-06-04T12:50:05.8605502Z             {
2026-06-04T12:50:05.8606717Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T12:50:05.8608299Z               "line": 88
2026-06-04T12:50:05.8609500Z             },
2026-06-04T12:50:05.8610526Z             {
2026-06-04T12:50:05.8611771Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:50:05.8613391Z               "line": 264
2026-06-04T12:50:05.8614556Z             },
2026-06-04T12:50:05.8615579Z             {
2026-06-04T12:50:05.8616775Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.8618334Z               "line": 506
2026-06-04T12:50:05.8619540Z             },
2026-06-04T12:50:05.8620562Z             {
2026-06-04T12:50:05.8621753Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.8623322Z               "line": 514
2026-06-04T12:50:05.8624492Z             },
2026-06-04T12:50:05.8625510Z             {
2026-06-04T12:50:05.8626726Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.8628287Z               "line": 531
2026-06-04T12:50:05.8629501Z             },
2026-06-04T12:50:05.8630564Z             {
2026-06-04T12:50:05.8631752Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.8633318Z               "line": 576
2026-06-04T12:50:05.8634487Z             },
2026-06-04T12:50:05.8635505Z             {
2026-06-04T12:50:05.8636733Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8638340Z               "line": 648
2026-06-04T12:50:05.8639562Z             },
2026-06-04T12:50:05.8640605Z             {
2026-06-04T12:50:05.8641843Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.8643451Z               "line": 660
2026-06-04T12:50:05.8644626Z             },
2026-06-04T12:50:05.8645653Z             {
2026-06-04T12:50:05.8646909Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:50:05.8648578Z               "line": 112
2026-06-04T12:50:05.8649968Z             }
2026-06-04T12:50:05.8650998Z           ]
2026-06-04T12:50:05.8651976Z         }
2026-06-04T12:50:05.8652936Z       }
2026-06-04T12:50:05.8653890Z     },
2026-06-04T12:50:05.8654851Z     {
2026-06-04T12:50:05.8655852Z       "id": "REQ-DAEMON-3",
2026-06-04T12:50:05.8657493Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T12:50:05.8659430Z       "requiredStages": [
2026-06-04T12:50:05.8660635Z         "impl",
2026-06-04T12:50:05.8661673Z         "unit",
2026-06-04T12:50:05.8662711Z         "int"
2026-06-04T12:50:05.8663718Z       ],
2026-06-04T12:50:05.8664686Z       "stages": {
2026-06-04T12:50:05.8665758Z         "doc": {
2026-06-04T12:50:05.8666854Z           "complete": false,
2026-06-04T12:50:05.8668128Z           "evidence": []
2026-06-04T12:50:05.8675045Z         },
2026-06-04T12:50:05.8676180Z         "impl": {
2026-06-04T12:50:05.8677293Z           "complete": true,
2026-06-04T12:50:05.8678523Z           "evidence": [
2026-06-04T12:50:05.8680019Z             {
2026-06-04T12:50:05.8681280Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T12:50:05.8682893Z               "line": 14
2026-06-04T12:50:05.8684025Z             },
2026-06-04T12:50:05.8685040Z             {
2026-06-04T12:50:05.8686286Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T12:50:05.8687906Z               "line": 11
2026-06-04T12:50:05.8689049Z             },
2026-06-04T12:50:05.8690106Z             {
2026-06-04T12:50:05.8691265Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:50:05.8692819Z               "line": 209
2026-06-04T12:50:05.8693976Z             },
2026-06-04T12:50:05.8694992Z             {
2026-06-04T12:50:05.8696124Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:05.8697622Z               "line": 362
2026-06-04T12:50:05.8698779Z             }
2026-06-04T12:50:05.8699818Z           ]
2026-06-04T12:50:05.8700792Z         },
2026-06-04T12:50:05.8701777Z         "int": {
2026-06-04T12:50:05.8702890Z           "complete": true,
2026-06-04T12:50:05.8704116Z           "evidence": [
2026-06-04T12:50:05.8705230Z             {
2026-06-04T12:50:05.8706442Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:05.8708040Z               "line": 43
2026-06-04T12:50:05.8709226Z             },
2026-06-04T12:50:05.8710248Z             {
2026-06-04T12:50:05.8711470Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:05.8713107Z               "line": 320
2026-06-04T12:50:05.8714280Z             }
2026-06-04T12:50:05.8715272Z           ]
2026-06-04T12:50:05.8716242Z         },
2026-06-04T12:50:05.8717211Z         "unit": {
2026-06-04T12:50:05.8718302Z           "complete": true,
2026-06-04T12:50:05.8719573Z           "evidence": [
2026-06-04T12:50:05.8720703Z             {
2026-06-04T12:50:05.8721927Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T12:50:05.8723540Z               "line": 242
2026-06-04T12:50:05.8724708Z             }
2026-06-04T12:50:05.8725700Z           ]
2026-06-04T12:50:05.8726682Z         }
2026-06-04T12:50:05.8727638Z       }
2026-06-04T12:50:05.8728572Z     },
2026-06-04T12:50:05.8729547Z     {
2026-06-04T12:50:05.8730539Z       "id": "REQ-DAEMON-4",
2026-06-04T12:50:05.8731967Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T12:50:05.8733588Z       "requiredStages": [
2026-06-04T12:50:05.8734779Z         "impl",
2026-06-04T12:50:05.8735811Z         "unit",
2026-06-04T12:50:05.8736839Z         "int"
2026-06-04T12:50:05.8737834Z       ],
2026-06-04T12:50:05.8738788Z       "stages": {
2026-06-04T12:50:05.8739863Z         "doc": {
2026-06-04T12:50:05.8740951Z           "complete": false,
2026-06-04T12:50:05.8742222Z           "evidence": []
2026-06-04T12:50:05.8743365Z         },
2026-06-04T12:50:05.8744342Z         "impl": {
2026-06-04T12:50:05.8745434Z           "complete": true,
2026-06-04T12:50:05.8746658Z           "evidence": [
2026-06-04T12:50:05.8747773Z             {
2026-06-04T12:50:05.8749258Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8750909Z               "line": 339
2026-06-04T12:50:05.8752085Z             },
2026-06-04T12:50:05.8753108Z             {
2026-06-04T12:50:05.8754356Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8755998Z               "line": 401
2026-06-04T12:50:05.8757169Z             },
2026-06-04T12:50:05.8758189Z             {
2026-06-04T12:50:05.8759474Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8761116Z               "line": 423
2026-06-04T12:50:05.8762271Z             }
2026-06-04T12:50:05.8763293Z           ]
2026-06-04T12:50:05.8764264Z         },
2026-06-04T12:50:05.8765239Z         "int": {
2026-06-04T12:50:05.8766332Z           "complete": true,
2026-06-04T12:50:05.8767560Z           "evidence": [
2026-06-04T12:50:05.8768678Z             {
2026-06-04T12:50:05.8769992Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:50:05.8771832Z               "line": 34
2026-06-04T12:50:05.8778632Z             }
2026-06-04T12:50:05.8779897Z           ]
2026-06-04T12:50:05.8780897Z         },
2026-06-04T12:50:05.8781888Z         "unit": {
2026-06-04T12:50:05.8782992Z           "complete": true,
2026-06-04T12:50:05.8784234Z           "evidence": [
2026-06-04T12:50:05.8785362Z             {
2026-06-04T12:50:05.8786585Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:05.8788179Z               "line": 340
2026-06-04T12:50:05.8789401Z             },
2026-06-04T12:50:05.8790431Z             {
2026-06-04T12:50:05.8791685Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8793329Z               "line": 717
2026-06-04T12:50:05.8794488Z             },
2026-06-04T12:50:05.8795495Z             {
2026-06-04T12:50:05.8796728Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8798348Z               "line": 768
2026-06-04T12:50:05.8799551Z             },
2026-06-04T12:50:05.8800598Z             {
2026-06-04T12:50:05.8801844Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8803477Z               "line": 792
2026-06-04T12:50:05.8804627Z             },
2026-06-04T12:50:05.8805637Z             {
2026-06-04T12:50:05.8806860Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.8808473Z               "line": 822
2026-06-04T12:50:05.8809667Z             }
2026-06-04T12:50:05.8810665Z           ]
2026-06-04T12:50:05.8811622Z         }
2026-06-04T12:50:05.8812575Z       }
2026-06-04T12:50:05.8813510Z     },
2026-06-04T12:50:05.8814442Z     {
2026-06-04T12:50:05.8815454Z       "id": "REQ-DOCS-1",
2026-06-04T12:50:05.8817308Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T12:50:05.8819554Z       "requiredStages": [],
2026-06-04T12:50:05.8820795Z       "stages": {
2026-06-04T12:50:05.8821844Z         "doc": {
2026-06-04T12:50:05.8822930Z           "complete": false,
2026-06-04T12:50:05.8824201Z           "evidence": []
2026-06-04T12:50:05.8831860Z         },
2026-06-04T12:50:05.8832901Z         "impl": {
2026-06-04T12:50:05.8833995Z           "complete": false,
2026-06-04T12:50:05.8835259Z           "evidence": []
2026-06-04T12:50:05.8836414Z         },
2026-06-04T12:50:05.8837396Z         "int": {
2026-06-04T12:50:05.8838491Z           "complete": false,
2026-06-04T12:50:05.8839797Z           "evidence": []
2026-06-04T12:50:05.8840954Z         },
2026-06-04T12:50:05.8841923Z         "unit": {
2026-06-04T12:50:05.8843007Z           "complete": false,
2026-06-04T12:50:05.8844256Z           "evidence": []
2026-06-04T12:50:05.8845407Z         }
2026-06-04T12:50:05.8846372Z       }
2026-06-04T12:50:05.8847297Z     },
2026-06-04T12:50:05.8848236Z     {
2026-06-04T12:50:05.8849259Z       "id": "REQ-DOCS-2",
2026-06-04T12:50:05.8850907Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T12:50:05.8852824Z       "requiredStages": [],
2026-06-04T12:50:05.8854072Z       "stages": {
2026-06-04T12:50:05.8855509Z         "doc": {
2026-06-04T12:50:05.8856642Z           "complete": false,
2026-06-04T12:50:05.8857910Z           "evidence": []
2026-06-04T12:50:05.8859055Z         },
2026-06-04T12:50:05.8860080Z         "impl": {
2026-06-04T12:50:05.8861178Z           "complete": false,
2026-06-04T12:50:05.8862440Z           "evidence": []
2026-06-04T12:50:05.8863594Z         },
2026-06-04T12:50:05.8864569Z         "int": {
2026-06-04T12:50:05.8865654Z           "complete": false,
2026-06-04T12:50:05.8866921Z           "evidence": []
2026-06-04T12:50:05.8868063Z         },
2026-06-04T12:50:05.8869035Z         "unit": {
2026-06-04T12:50:05.8870169Z           "complete": false,
2026-06-04T12:50:05.8871414Z           "evidence": []
2026-06-04T12:50:05.8872565Z         }
2026-06-04T12:50:05.8873522Z       }
2026-06-04T12:50:05.8874458Z     },
2026-06-04T12:50:05.8875400Z     {
2026-06-04T12:50:05.8883278Z       "id": "REQ-DOCS-3",
2026-06-04T12:50:05.8885317Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T12:50:05.8887475Z       "requiredStages": [],
2026-06-04T12:50:05.8888704Z       "stages": {
2026-06-04T12:50:05.8889840Z         "doc": {
2026-06-04T12:50:05.8890924Z           "complete": false,
2026-06-04T12:50:05.8892173Z           "evidence": []
2026-06-04T12:50:05.8893318Z         },
2026-06-04T12:50:05.8894287Z         "impl": {
2026-06-04T12:50:05.8895384Z           "complete": false,
2026-06-04T12:50:05.8896639Z           "evidence": []
2026-06-04T12:50:05.8897779Z         },
2026-06-04T12:50:05.8898743Z         "int": {
2026-06-04T12:50:05.8899876Z           "complete": false,
2026-06-04T12:50:05.8901136Z           "evidence": []
2026-06-04T12:50:05.8902273Z         },
2026-06-04T12:50:05.8903246Z         "unit": {
2026-06-04T12:50:05.8904324Z           "complete": false,
2026-06-04T12:50:05.8905565Z           "evidence": []
2026-06-04T12:50:05.8906716Z         }
2026-06-04T12:50:05.8907663Z       }
2026-06-04T12:50:05.8908600Z     },
2026-06-04T12:50:05.8909693Z     {
2026-06-04T12:50:05.8910693Z       "id": "REQ-DOCS-4",
2026-06-04T12:50:05.8912523Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T12:50:05.8914681Z       "requiredStages": [],
2026-06-04T12:50:05.8915908Z       "stages": {
2026-06-04T12:50:05.8916944Z         "doc": {
2026-06-04T12:50:05.8918024Z           "complete": false,
2026-06-04T12:50:05.8919308Z           "evidence": []
2026-06-04T12:50:05.8920449Z         },
2026-06-04T12:50:05.8921424Z         "impl": {
2026-06-04T12:50:05.8922509Z           "complete": false,
2026-06-04T12:50:05.8923767Z           "evidence": []
2026-06-04T12:50:05.8924919Z         },
2026-06-04T12:50:05.8925896Z         "int": {
2026-06-04T12:50:05.8926973Z           "complete": false,
2026-06-04T12:50:05.8928216Z           "evidence": []
2026-06-04T12:50:05.8929392Z         },
2026-06-04T12:50:05.8930358Z         "unit": {
2026-06-04T12:50:05.8931444Z           "complete": false,
2026-06-04T12:50:05.8932715Z           "evidence": []
2026-06-04T12:50:05.8933998Z         }
2026-06-04T12:50:05.8934978Z       }
2026-06-04T12:50:05.8935911Z     },
2026-06-04T12:50:05.8936847Z     {
2026-06-04T12:50:05.8937821Z       "id": "REQ-DOCS-5",
2026-06-04T12:50:05.8939762Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T12:50:05.8941934Z       "requiredStages": [],
2026-06-04T12:50:05.8943152Z       "stages": {
2026-06-04T12:50:05.8944194Z         "doc": {
2026-06-04T12:50:05.8946470Z           "complete": false,
2026-06-04T12:50:05.8948069Z           "evidence": []
2026-06-04T12:50:05.8949290Z         },
2026-06-04T12:50:05.8950268Z         "impl": {
2026-06-04T12:50:05.8951352Z           "complete": false,
2026-06-04T12:50:05.8952598Z           "evidence": []
2026-06-04T12:50:05.8953733Z         },
2026-06-04T12:50:05.8955282Z         "int": {
2026-06-04T12:50:05.8956638Z           "complete": false,
2026-06-04T12:50:05.8957910Z           "evidence": []
2026-06-04T12:50:05.8959122Z         },
2026-06-04T12:50:05.8960420Z         "unit": {
2026-06-04T12:50:05.8961550Z           "complete": false,
2026-06-04T12:50:05.8962812Z           "evidence": []
2026-06-04T12:50:05.8963960Z         }
2026-06-04T12:50:05.8964918Z       }
2026-06-04T12:50:05.8965857Z     },
2026-06-04T12:50:05.8966804Z     {
2026-06-04T12:50:05.8967791Z       "id": "REQ-EP-1",
2026-06-04T12:50:05.8969276Z       "title": "Day-one endpoint types; open type system",
2026-06-04T12:50:05.8970965Z       "requiredStages": [
2026-06-04T12:50:05.8972158Z         "impl",
2026-06-04T12:50:05.8973199Z         "unit"
2026-06-04T12:50:05.8974205Z       ],
2026-06-04T12:50:05.8975159Z       "stages": {
2026-06-04T12:50:05.8976211Z         "doc": {
2026-06-04T12:50:05.8977295Z           "complete": false,
2026-06-04T12:50:05.8978559Z           "evidence": []
2026-06-04T12:50:05.8979760Z         },
2026-06-04T12:50:05.8980738Z         "impl": {
2026-06-04T12:50:05.8981836Z           "complete": true,
2026-06-04T12:50:05.8983270Z           "evidence": [
2026-06-04T12:50:05.8984407Z             {
2026-06-04T12:50:05.8985653Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.8987262Z               "line": 77
2026-06-04T12:50:05.8988413Z             },
2026-06-04T12:50:05.8989514Z             {
2026-06-04T12:50:05.8990750Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.8992354Z               "line": 94
2026-06-04T12:50:05.8993584Z             }
2026-06-04T12:50:05.8994592Z           ]
2026-06-04T12:50:05.8995573Z         },
2026-06-04T12:50:05.8996551Z         "int": {
2026-06-04T12:50:05.8997664Z           "complete": false,
2026-06-04T12:50:05.8998940Z           "evidence": []
2026-06-04T12:50:05.9000175Z         },
2026-06-04T12:50:05.9001170Z         "unit": {
2026-06-04T12:50:05.9002260Z           "complete": true,
2026-06-04T12:50:05.9011348Z           "evidence": [
2026-06-04T12:50:05.9012539Z             {
2026-06-04T12:50:05.9013802Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9015491Z               "line": 161
2026-06-04T12:50:05.9016661Z             },
2026-06-04T12:50:05.9017676Z             {
2026-06-04T12:50:05.9018906Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9020586Z               "line": 178
2026-06-04T12:50:05.9021748Z             }
2026-06-04T12:50:05.9022772Z           ]
2026-06-04T12:50:05.9023746Z         }
2026-06-04T12:50:05.9024711Z       }
2026-06-04T12:50:05.9025656Z     },
2026-06-04T12:50:05.9026610Z     {
2026-06-04T12:50:05.9027594Z       "id": "REQ-EP-2",
2026-06-04T12:50:05.9029243Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T12:50:05.9031203Z       "requiredStages": [
2026-06-04T12:50:05.9032419Z         "impl",
2026-06-04T12:50:05.9033447Z         "unit"
2026-06-04T12:50:05.9034463Z       ],
2026-06-04T12:50:05.9035439Z       "stages": {
2026-06-04T12:50:05.9036494Z         "doc": {
2026-06-04T12:50:05.9037584Z           "complete": false,
2026-06-04T12:50:05.9038880Z           "evidence": []
2026-06-04T12:50:05.9040081Z         },
2026-06-04T12:50:05.9041058Z         "impl": {
2026-06-04T12:50:05.9042161Z           "complete": true,
2026-06-04T12:50:05.9043386Z           "evidence": [
2026-06-04T12:50:05.9044525Z             {
2026-06-04T12:50:05.9045758Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9047372Z               "line": 114
2026-06-04T12:50:05.9048533Z             },
2026-06-04T12:50:05.9049592Z             {
2026-06-04T12:50:05.9050830Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9052454Z               "line": 131
2026-06-04T12:50:05.9053624Z             },
2026-06-04T12:50:05.9054643Z             {
2026-06-04T12:50:05.9055865Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9057472Z               "line": 138
2026-06-04T12:50:05.9058620Z             }
2026-06-04T12:50:05.9059659Z           ]
2026-06-04T12:50:05.9060649Z         },
2026-06-04T12:50:05.9061620Z         "int": {
2026-06-04T12:50:05.9063031Z           "complete": false,
2026-06-04T12:50:05.9064314Z           "evidence": []
2026-06-04T12:50:05.9065463Z         },
2026-06-04T12:50:05.9066440Z         "unit": {
2026-06-04T12:50:05.9067528Z           "complete": true,
2026-06-04T12:50:05.9068754Z           "evidence": [
2026-06-04T12:50:05.9069929Z             {
2026-06-04T12:50:05.9071160Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9072780Z               "line": 193
2026-06-04T12:50:05.9073935Z             },
2026-06-04T12:50:05.9074943Z             {
2026-06-04T12:50:05.9076155Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9077750Z               "line": 211
2026-06-04T12:50:05.9078903Z             },
2026-06-04T12:50:05.9079946Z             {
2026-06-04T12:50:05.9081166Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T12:50:05.9082777Z               "line": 224
2026-06-04T12:50:05.9084113Z             }
2026-06-04T12:50:05.9085121Z           ]
2026-06-04T12:50:05.9086085Z         }
2026-06-04T12:50:05.9087036Z       }
2026-06-04T12:50:05.9087970Z     },
2026-06-04T12:50:05.9088920Z     {
2026-06-04T12:50:05.9089949Z       "id": "REQ-EP-3",
2026-06-04T12:50:05.9091700Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T12:50:05.9093808Z       "requiredStages": [
2026-06-04T12:50:05.9094995Z         "impl",
2026-06-04T12:50:05.9096021Z         "unit"
2026-06-04T12:50:05.9097018Z       ],
2026-06-04T12:50:05.9097981Z       "stages": {
2026-06-04T12:50:05.9099030Z         "doc": {
2026-06-04T12:50:05.9100148Z           "complete": false,
2026-06-04T12:50:05.9101398Z           "evidence": []
2026-06-04T12:50:05.9102531Z         },
2026-06-04T12:50:05.9103521Z         "impl": {
2026-06-04T12:50:05.9104604Z           "complete": true,
2026-06-04T12:50:05.9105837Z           "evidence": [
2026-06-04T12:50:05.9106950Z             {
2026-06-04T12:50:05.9138784Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9141219Z               "line": 31
2026-06-04T12:50:05.9142346Z             },
2026-06-04T12:50:05.9143328Z             {
2026-06-04T12:50:05.9144523Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9146101Z               "line": 49
2026-06-04T12:50:05.9147210Z             }
2026-06-04T12:50:05.9148178Z           ]
2026-06-04T12:50:05.9149111Z         },
2026-06-04T12:50:05.9150436Z         "int": {
2026-06-04T12:50:05.9151495Z           "complete": false,
2026-06-04T12:50:05.9152721Z           "evidence": []
2026-06-04T12:50:05.9153846Z         },
2026-06-04T12:50:05.9154795Z         "unit": {
2026-06-04T12:50:05.9155863Z           "complete": true,
2026-06-04T12:50:05.9157056Z           "evidence": [
2026-06-04T12:50:05.9158152Z             {
2026-06-04T12:50:05.9159536Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9161288Z               "line": 156
2026-06-04T12:50:05.9162438Z             },
2026-06-04T12:50:05.9163425Z             {
2026-06-04T12:50:05.9164614Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9166192Z               "line": 164
2026-06-04T12:50:05.9167316Z             },
2026-06-04T12:50:05.9168283Z             {
2026-06-04T12:50:05.9169522Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9171449Z               "line": 177
2026-06-04T12:50:05.9172563Z             },
2026-06-04T12:50:05.9173535Z             {
2026-06-04T12:50:05.9174725Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9176280Z               "line": 197
2026-06-04T12:50:05.9177408Z             },
2026-06-04T12:50:05.9178379Z             {
2026-06-04T12:50:05.9179781Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9181601Z               "line": 213
2026-06-04T12:50:05.9182721Z             },
2026-06-04T12:50:05.9183686Z             {
2026-06-04T12:50:05.9184860Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T12:50:05.9186902Z               "line": 227
2026-06-04T12:50:05.9188075Z             }
2026-06-04T12:50:05.9189043Z           ]
2026-06-04T12:50:05.9190472Z         }
2026-06-04T12:50:05.9191402Z       }
2026-06-04T12:50:05.9192311Z     },
2026-06-04T12:50:05.9193207Z     {
2026-06-04T12:50:05.9194151Z       "id": "REQ-EP-4",
2026-06-04T12:50:05.9195630Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T12:50:05.9197415Z       "requiredStages": [
2026-06-04T12:50:05.9198574Z         "impl",
2026-06-04T12:50:05.9199929Z         "unit"
2026-06-04T12:50:05.9200909Z       ],
2026-06-04T12:50:05.9201846Z       "stages": {
2026-06-04T12:50:05.9202863Z         "doc": {
2026-06-04T12:50:05.9203922Z           "complete": false,
2026-06-04T12:50:05.9205146Z           "evidence": []
2026-06-04T12:50:05.9206260Z         },
2026-06-04T12:50:05.9207200Z         "impl": {
2026-06-04T12:50:05.9208262Z           "complete": true,
2026-06-04T12:50:05.9210078Z           "evidence": [
2026-06-04T12:50:05.9211179Z             {
2026-06-04T12:50:05.9212332Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:05.9213875Z               "line": 419
2026-06-04T12:50:05.9214989Z             },
2026-06-04T12:50:05.9215965Z             {
2026-06-04T12:50:05.9217120Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:05.9218667Z               "line": 631
2026-06-04T12:50:05.9219834Z             },
2026-06-04T12:50:05.9220883Z             {
2026-06-04T12:50:05.9222056Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:05.9223609Z               "line": 696
2026-06-04T12:50:05.9224739Z             },
2026-06-04T12:50:05.9225716Z             {
2026-06-04T12:50:05.9226859Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.9228396Z               "line": 83
2026-06-04T12:50:05.9229549Z             },
2026-06-04T12:50:05.9230538Z             {
2026-06-04T12:50:05.9231685Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.9233244Z               "line": 407
2026-06-04T12:50:05.9234367Z             },
2026-06-04T12:50:05.9235348Z             {
2026-06-04T12:50:05.9236488Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.9238016Z               "line": 478
2026-06-04T12:50:05.9244405Z             },
2026-06-04T12:50:05.9245445Z             {
2026-06-04T12:50:05.9246632Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.9248205Z               "line": 181
2026-06-04T12:50:05.9249401Z             },
2026-06-04T12:50:05.9250379Z             {
2026-06-04T12:50:05.9251551Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.9253113Z               "line": 306
2026-06-04T12:50:05.9254236Z             },
2026-06-04T12:50:05.9255216Z             {
2026-06-04T12:50:05.9256391Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T12:50:05.9257961Z               "line": 613
2026-06-04T12:50:05.9259115Z             }
2026-06-04T12:50:05.9260137Z           ]
2026-06-04T12:50:05.9261078Z         },
2026-06-04T12:50:05.9262020Z         "int": {
2026-06-04T12:50:05.9263067Z           "complete": false,
2026-06-04T12:50:05.9264296Z           "evidence": []
2026-06-04T12:50:05.9265404Z         },
2026-06-04T12:50:05.9266351Z         "unit": {
2026-06-04T12:50:05.9267398Z           "complete": true,
2026-06-04T12:50:05.9268578Z           "evidence": [
2026-06-04T12:50:05.9269705Z             {
2026-06-04T12:50:05.9270868Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T12:50:05.9272375Z               "line": 551
2026-06-04T12:50:05.9273503Z             },
2026-06-04T12:50:05.9274478Z             {
2026-06-04T12:50:05.9275698Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T12:50:05.9277279Z               "line": 75
2026-06-04T12:50:05.9278386Z             },
2026-06-04T12:50:05.9279391Z             {
2026-06-04T12:50:05.9280612Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T12:50:05.9282491Z               "line": 131
2026-06-04T12:50:05.9283660Z             }
2026-06-04T12:50:05.9284629Z           ]
2026-06-04T12:50:05.9285565Z         }
2026-06-04T12:50:05.9286479Z       }
2026-06-04T12:50:05.9287376Z     },
2026-06-04T12:50:05.9288281Z     {
2026-06-04T12:50:05.9289266Z       "id": "REQ-EP-5",
2026-06-04T12:50:05.9294103Z       "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-04T12:50:05.9299622Z       "requiredStages": [],
2026-06-04T12:50:05.9300811Z       "stages": {
2026-06-04T12:50:05.9301833Z         "doc": {
2026-06-04T12:50:05.9302877Z           "complete": false,
2026-06-04T12:50:05.9304085Z           "evidence": []
2026-06-04T12:50:05.9305195Z         },
2026-06-04T12:50:05.9306144Z         "impl": {
2026-06-04T12:50:05.9307383Z           "complete": false,
2026-06-04T12:50:05.9308629Z           "evidence": []
2026-06-04T12:50:05.9309780Z         },
2026-06-04T12:50:05.9310716Z         "int": {
2026-06-04T12:50:05.9311759Z           "complete": false,
2026-06-04T12:50:05.9312972Z           "evidence": []
2026-06-04T12:50:05.9314083Z         },
2026-06-04T12:50:05.9315017Z         "unit": {
2026-06-04T12:50:05.9316064Z           "complete": false,
2026-06-04T12:50:05.9317298Z           "evidence": []
2026-06-04T12:50:05.9318401Z         }
2026-06-04T12:50:05.9319353Z       }
2026-06-04T12:50:05.9320353Z     },
2026-06-04T12:50:05.9321256Z     {
2026-06-04T12:50:05.9322205Z       "id": "REQ-FRONT-1",
2026-06-04T12:50:05.9323907Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T12:50:05.9325911Z       "requiredStages": [],
2026-06-04T12:50:05.9327092Z       "stages": {
2026-06-04T12:50:05.9328104Z         "doc": {
2026-06-04T12:50:05.9329148Z           "complete": false,
2026-06-04T12:50:05.9330415Z           "evidence": []
2026-06-04T12:50:05.9331531Z         },
2026-06-04T12:50:05.9332462Z         "impl": {
2026-06-04T12:50:05.9333511Z           "complete": false,
2026-06-04T12:50:05.9334781Z           "evidence": []
2026-06-04T12:50:05.9335908Z         },
2026-06-04T12:50:05.9336835Z         "int": {
2026-06-04T12:50:05.9337884Z           "complete": false,
2026-06-04T12:50:05.9339095Z           "evidence": []
2026-06-04T12:50:05.9340260Z         },
2026-06-04T12:50:05.9341192Z         "unit": {
2026-06-04T12:50:05.9342244Z           "complete": false,
2026-06-04T12:50:05.9343445Z           "evidence": []
2026-06-04T12:50:05.9344544Z         }
2026-06-04T12:50:05.9349428Z       }
2026-06-04T12:50:05.9350378Z     },
2026-06-04T12:50:05.9350773Z     {
2026-06-04T12:50:05.9351369Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T12:50:05.9352311Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T12:50:05.9352783Z       "requiredStages": [
2026-06-04T12:50:05.9353237Z         "impl",
2026-06-04T12:50:05.9353661Z         "unit"
2026-06-04T12:50:05.9354066Z       ],
2026-06-04T12:50:05.9354472Z       "stages": {
2026-06-04T12:50:05.9354878Z         "doc": {
2026-06-04T12:50:05.9355329Z           "complete": false,
2026-06-04T12:50:05.9355773Z           "evidence": []
2026-06-04T12:50:05.9356170Z         },
2026-06-04T12:50:05.9356587Z         "impl": {
2026-06-04T12:50:05.9357042Z           "complete": true,
2026-06-04T12:50:05.9357473Z           "evidence": [
2026-06-04T12:50:05.9357879Z             {
2026-06-04T12:50:05.9358495Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.9358928Z               "line": 119
2026-06-04T12:50:05.9359369Z             },
2026-06-04T12:50:05.9359773Z             {
2026-06-04T12:50:05.9360355Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.9360781Z               "line": 18
2026-06-04T12:50:05.9361184Z             },
2026-06-04T12:50:05.9361577Z             {
2026-06-04T12:50:05.9362416Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.9362861Z               "line": 94
2026-06-04T12:50:05.9363267Z             }
2026-06-04T12:50:05.9363673Z           ]
2026-06-04T12:50:05.9364067Z         },
2026-06-04T12:50:05.9364473Z         "int": {
2026-06-04T12:50:05.9364918Z           "complete": false,
2026-06-04T12:50:05.9365360Z           "evidence": []
2026-06-04T12:50:05.9365755Z         },
2026-06-04T12:50:05.9366163Z         "unit": {
2026-06-04T12:50:05.9366618Z           "complete": true,
2026-06-04T12:50:05.9367043Z           "evidence": [
2026-06-04T12:50:05.9367448Z             {
2026-06-04T12:50:05.9368059Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:05.9368496Z               "line": 363
2026-06-04T12:50:05.9368888Z             },
2026-06-04T12:50:05.9369334Z             {
2026-06-04T12:50:05.9369918Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.9370346Z               "line": 152
2026-06-04T12:50:05.9370949Z             },
2026-06-04T12:50:05.9371357Z             {
2026-06-04T12:50:05.9371936Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.9372363Z               "line": 188
2026-06-04T12:50:05.9372766Z             }
2026-06-04T12:50:05.9373171Z           ]
2026-06-04T12:50:05.9373561Z         }
2026-06-04T12:50:05.9373952Z       }
2026-06-04T12:50:05.9374337Z     },
2026-06-04T12:50:05.9374733Z     {
2026-06-04T12:50:05.9375333Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-04T12:50:05.9378814Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-04T12:50:05.9379338Z       "requiredStages": [
2026-06-04T12:50:05.9379746Z         "impl",
2026-06-04T12:50:05.9380156Z         "unit"
2026-06-04T12:50:05.9380549Z       ],
2026-06-04T12:50:05.9380968Z       "stages": {
2026-06-04T12:50:05.9381378Z         "doc": {
2026-06-04T12:50:05.9381847Z           "complete": false,
2026-06-04T12:50:05.9382283Z           "evidence": []
2026-06-04T12:50:05.9382676Z         },
2026-06-04T12:50:05.9383093Z         "impl": {
2026-06-04T12:50:05.9383548Z           "complete": true,
2026-06-04T12:50:05.9383979Z           "evidence": [
2026-06-04T12:50:05.9384370Z             {
2026-06-04T12:50:05.9385019Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:50:05.9385453Z               "line": 22
2026-06-04T12:50:05.9385852Z             },
2026-06-04T12:50:05.9386255Z             {
2026-06-04T12:50:05.9386834Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:05.9387271Z               "line": 417
2026-06-04T12:50:05.9387676Z             },
2026-06-04T12:50:05.9388072Z             {
2026-06-04T12:50:05.9388690Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:50:05.9389109Z               "line": 17
2026-06-04T12:50:05.9389553Z             },
2026-06-04T12:50:05.9389957Z             {
2026-06-04T12:50:05.9390595Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:50:05.9391042Z               "line": 125
2026-06-04T12:50:05.9391436Z             },
2026-06-04T12:50:05.9391841Z             {
2026-06-04T12:50:05.9392500Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:05.9392937Z               "line": 169
2026-06-04T12:50:05.9393331Z             },
2026-06-04T12:50:05.9393732Z             {
2026-06-04T12:50:05.9394400Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:05.9394831Z               "line": 197
2026-06-04T12:50:05.9395239Z             },
2026-06-04T12:50:05.9395642Z             {
2026-06-04T12:50:05.9396303Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:05.9396735Z               "line": 223
2026-06-04T12:50:05.9397174Z             },
2026-06-04T12:50:05.9397572Z             {
2026-06-04T12:50:05.9398197Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:05.9398788Z               "line": 122
2026-06-04T12:50:05.9399257Z             },
2026-06-04T12:50:05.9399659Z             {
2026-06-04T12:50:05.9400285Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:05.9400715Z               "line": 222
2026-06-04T12:50:05.9401121Z             }
2026-06-04T12:50:05.9401515Z           ]
2026-06-04T12:50:05.9401916Z         },
2026-06-04T12:50:05.9402316Z         "int": {
2026-06-04T12:50:05.9402765Z           "complete": false,
2026-06-04T12:50:05.9403190Z           "evidence": []
2026-06-04T12:50:05.9403592Z         },
2026-06-04T12:50:05.9404003Z         "unit": {
2026-06-04T12:50:05.9404441Z           "complete": true,
2026-06-04T12:50:05.9404873Z           "evidence": [
2026-06-04T12:50:05.9405266Z             {
2026-06-04T12:50:05.9405909Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:50:05.9406330Z               "line": 53
2026-06-04T12:50:05.9406738Z             },
2026-06-04T12:50:05.9407292Z             {
2026-06-04T12:50:05.9407936Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:50:05.9408367Z               "line": 60
2026-06-04T12:50:05.9408760Z             },
2026-06-04T12:50:05.9409196Z             {
2026-06-04T12:50:05.9409824Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-04T12:50:05.9410263Z               "line": 72
2026-06-04T12:50:05.9410672Z             },
2026-06-04T12:50:05.9411066Z             {
2026-06-04T12:50:05.9411686Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:50:05.9412112Z               "line": 298
2026-06-04T12:50:05.9412512Z             },
2026-06-04T12:50:05.9412912Z             {
2026-06-04T12:50:05.9413529Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:50:05.9413962Z               "line": 247
2026-06-04T12:50:05.9414352Z             },
2026-06-04T12:50:05.9414753Z             {
2026-06-04T12:50:05.9415369Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:50:05.9415827Z               "line": 282
2026-06-04T12:50:05.9416239Z             },
2026-06-04T12:50:05.9416630Z             {
2026-06-04T12:50:05.9417253Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-04T12:50:05.9417680Z               "line": 313
2026-06-04T12:50:05.9418086Z             },
2026-06-04T12:50:05.9418480Z             {
2026-06-04T12:50:05.9419149Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:05.9419625Z               "line": 400
2026-06-04T12:50:05.9420022Z             },
2026-06-04T12:50:05.9420422Z             {
2026-06-04T12:50:05.9421053Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:05.9421503Z               "line": 383
2026-06-04T12:50:05.9421901Z             },
2026-06-04T12:50:05.9422297Z             {
2026-06-04T12:50:05.9422936Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:05.9423371Z               "line": 420
2026-06-04T12:50:05.9423786Z             }
2026-06-04T12:50:05.9424187Z           ]
2026-06-04T12:50:05.9424590Z         }
2026-06-04T12:50:05.9424982Z       }
2026-06-04T12:50:05.9425379Z     },
2026-06-04T12:50:05.9425775Z     {
2026-06-04T12:50:05.9426264Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T12:50:05.9431094Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T12:50:05.9431633Z       "requiredStages": [
2026-06-04T12:50:05.9432056Z         "impl",
2026-06-04T12:50:05.9432468Z         "unit"
2026-06-04T12:50:05.9432877Z       ],
2026-06-04T12:50:05.9433296Z       "stages": {
2026-06-04T12:50:05.9433701Z         "doc": {
2026-06-04T12:50:05.9434164Z           "complete": false,
2026-06-04T12:50:05.9434601Z           "evidence": []
2026-06-04T12:50:05.9435004Z         },
2026-06-04T12:50:05.9435407Z         "impl": {
2026-06-04T12:50:05.9435857Z           "complete": true,
2026-06-04T12:50:05.9436288Z           "evidence": [
2026-06-04T12:50:05.9436678Z             {
2026-06-04T12:50:05.9437547Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:50:05.9438009Z               "line": 164
2026-06-04T12:50:05.9438420Z             }
2026-06-04T12:50:05.9438821Z           ]
2026-06-04T12:50:05.9439348Z         },
2026-06-04T12:50:05.9439965Z         "int": {
2026-06-04T12:50:05.9440615Z           "complete": true,
2026-06-04T12:50:05.9441055Z           "evidence": [
2026-06-04T12:50:05.9441454Z             {
2026-06-04T12:50:05.9442035Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T12:50:05.9442458Z               "line": 44
2026-06-04T12:50:05.9442859Z             },
2026-06-04T12:50:05.9443260Z             {
2026-06-04T12:50:05.9443841Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T12:50:05.9444275Z               "line": 66
2026-06-04T12:50:05.9444674Z             }
2026-06-04T12:50:05.9445077Z           ]
2026-06-04T12:50:05.9445468Z         },
2026-06-04T12:50:05.9445881Z         "unit": {
2026-06-04T12:50:05.9446521Z           "complete": true,
2026-06-04T12:50:05.9446960Z           "evidence": [
2026-06-04T12:50:05.9447370Z             {
2026-06-04T12:50:05.9447948Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:50:05.9448388Z               "line": 181
2026-06-04T12:50:05.9448788Z             },
2026-06-04T12:50:05.9449241Z             {
2026-06-04T12:50:05.9449835Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:50:05.9450265Z               "line": 233
2026-06-04T12:50:05.9450678Z             },
2026-06-04T12:50:05.9451071Z             {
2026-06-04T12:50:05.9451656Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T12:50:05.9452089Z               "line": 261
2026-06-04T12:50:05.9452494Z             }
2026-06-04T12:50:05.9452897Z           ]
2026-06-04T12:50:05.9453291Z         }
2026-06-04T12:50:05.9453689Z       }
2026-06-04T12:50:05.9454081Z     },
2026-06-04T12:50:05.9454474Z     {
2026-06-04T12:50:05.9455064Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T12:50:05.9457667Z       "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-04T12:50:05.9458139Z       "requiredStages": [
2026-06-04T12:50:05.9458552Z         "impl",
2026-06-04T12:50:05.9458965Z         "unit",
2026-06-04T12:50:05.9459401Z         "int"
2026-06-04T12:50:05.9459810Z       ],
2026-06-04T12:50:05.9460217Z       "stages": {
2026-06-04T12:50:05.9460629Z         "doc": {
2026-06-04T12:50:05.9461094Z           "complete": false,
2026-06-04T12:50:05.9461530Z           "evidence": []
2026-06-04T12:50:05.9461932Z         },
2026-06-04T12:50:05.9462338Z         "impl": {
2026-06-04T12:50:05.9462787Z           "complete": true,
2026-06-04T12:50:05.9463217Z           "evidence": [
2026-06-04T12:50:05.9463621Z             {
2026-06-04T12:50:05.9464267Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.9464699Z               "line": 150
2026-06-04T12:50:05.9465121Z             },
2026-06-04T12:50:05.9465523Z             {
2026-06-04T12:50:05.9466169Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.9466596Z               "line": 169
2026-06-04T12:50:05.9467002Z             },
2026-06-04T12:50:05.9467400Z             {
2026-06-04T12:50:05.9467979Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:05.9468411Z               "line": 79
2026-06-04T12:50:05.9468811Z             },
2026-06-04T12:50:05.9469266Z             {
2026-06-04T12:50:05.9469837Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:05.9470285Z               "line": 51
2026-06-04T12:50:05.9470694Z             },
2026-06-04T12:50:05.9471102Z             {
2026-06-04T12:50:05.9471697Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9472130Z               "line": 126
2026-06-04T12:50:05.9472535Z             },
2026-06-04T12:50:05.9472936Z             {
2026-06-04T12:50:05.9473545Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9474156Z               "line": 27
2026-06-04T12:50:05.9474573Z             },
2026-06-04T12:50:05.9474976Z             {
2026-06-04T12:50:05.9475586Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9476017Z               "line": 79
2026-06-04T12:50:05.9476422Z             },
2026-06-04T12:50:05.9476820Z             {
2026-06-04T12:50:05.9477445Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9477880Z               "line": 102
2026-06-04T12:50:05.9478290Z             },
2026-06-04T12:50:05.9478681Z             {
2026-06-04T12:50:05.9479349Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:05.9479798Z               "line": 108
2026-06-04T12:50:05.9480196Z             }
2026-06-04T12:50:05.9480597Z           ]
2026-06-04T12:50:05.9480992Z         },
2026-06-04T12:50:05.9481403Z         "int": {
2026-06-04T12:50:05.9481848Z           "complete": true,
2026-06-04T12:50:05.9482423Z           "evidence": [
2026-06-04T12:50:05.9482847Z             {
2026-06-04T12:50:05.9483508Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T12:50:05.9483935Z               "line": 35
2026-06-04T12:50:05.9484327Z             }
2026-06-04T12:50:05.9484726Z           ]
2026-06-04T12:50:05.9485119Z         },
2026-06-04T12:50:05.9485532Z         "unit": {
2026-06-04T12:50:05.9485985Z           "complete": true,
2026-06-04T12:50:05.9486408Z           "evidence": [
2026-06-04T12:50:05.9486810Z             {
2026-06-04T12:50:05.9487427Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.9487867Z               "line": 544
2026-06-04T12:50:05.9488263Z             },
2026-06-04T12:50:05.9488662Z             {
2026-06-04T12:50:05.9489270Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9489704Z               "line": 286
2026-06-04T12:50:05.9490111Z             },
2026-06-04T12:50:05.9490504Z             {
2026-06-04T12:50:05.9491155Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9491592Z               "line": 124
2026-06-04T12:50:05.9492006Z             },
2026-06-04T12:50:05.9492406Z             {
2026-06-04T12:50:05.9493009Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9493444Z               "line": 136
2026-06-04T12:50:05.9493845Z             },
2026-06-04T12:50:05.9494247Z             {
2026-06-04T12:50:05.9494853Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9495294Z               "line": 146
2026-06-04T12:50:05.9495699Z             },
2026-06-04T12:50:05.9496094Z             {
2026-06-04T12:50:05.9496712Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9497139Z               "line": 159
2026-06-04T12:50:05.9497543Z             },
2026-06-04T12:50:05.9497934Z             {
2026-06-04T12:50:05.9498551Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T12:50:05.9499000Z               "line": 171
2026-06-04T12:50:05.9499444Z             },
2026-06-04T12:50:05.9499856Z             {
2026-06-04T12:50:05.9500467Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:05.9500905Z               "line": 207
2026-06-04T12:50:05.9501303Z             }
2026-06-04T12:50:05.9501697Z           ]
2026-06-04T12:50:05.9502100Z         }
2026-06-04T12:50:05.9502489Z       }
2026-06-04T12:50:05.9502878Z     },
2026-06-04T12:50:05.9503264Z     {
2026-06-04T12:50:05.9503871Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T12:50:05.9507946Z       "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-04T12:50:05.9508430Z       "requiredStages": [],
2026-06-04T12:50:05.9508849Z       "stages": {
2026-06-04T12:50:05.9509294Z         "doc": {
2026-06-04T12:50:05.9509793Z           "complete": false,
2026-06-04T12:50:05.9510393Z           "evidence": []
2026-06-04T12:50:05.9510814Z         },
2026-06-04T12:50:05.9514674Z         "impl": {
2026-06-04T12:50:05.9515241Z           "complete": false,
2026-06-04T12:50:05.9515688Z           "evidence": []
2026-06-04T12:50:05.9516091Z         },
2026-06-04T12:50:05.9516505Z         "int": {
2026-06-04T12:50:05.9516954Z           "complete": false,
2026-06-04T12:50:05.9517400Z           "evidence": []
2026-06-04T12:50:05.9517813Z         },
2026-06-04T12:50:05.9518220Z         "unit": {
2026-06-04T12:50:05.9518672Z           "complete": false,
2026-06-04T12:50:05.9519108Z           "evidence": []
2026-06-04T12:50:05.9519615Z         }
2026-06-04T12:50:05.9520007Z       }
2026-06-04T12:50:05.9520406Z     },
2026-06-04T12:50:05.9520805Z     {
2026-06-04T12:50:05.9521316Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T12:50:05.9522346Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T12:50:05.9523151Z       "requiredStages": [
2026-06-04T12:50:05.9523591Z         "impl",
2026-06-04T12:50:05.9524004Z         "unit"
2026-06-04T12:50:05.9524403Z       ],
2026-06-04T12:50:05.9524821Z       "stages": {
2026-06-04T12:50:05.9525224Z         "doc": {
2026-06-04T12:50:05.9525681Z           "complete": false,
2026-06-04T12:50:05.9526115Z           "evidence": []
2026-06-04T12:50:05.9526520Z         },
2026-06-04T12:50:05.9526930Z         "impl": {
2026-06-04T12:50:05.9527388Z           "complete": true,
2026-06-04T12:50:05.9527831Z           "evidence": [
2026-06-04T12:50:05.9528231Z             {
2026-06-04T12:50:05.9528824Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9529295Z               "line": 40
2026-06-04T12:50:05.9529707Z             },
2026-06-04T12:50:05.9530104Z             {
2026-06-04T12:50:05.9530695Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9531132Z               "line": 98
2026-06-04T12:50:05.9531528Z             },
2026-06-04T12:50:05.9531943Z             {
2026-06-04T12:50:05.9532529Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9532981Z               "line": 209
2026-06-04T12:50:05.9533382Z             },
2026-06-04T12:50:05.9533789Z             {
2026-06-04T12:50:05.9534375Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9534799Z               "line": 291
2026-06-04T12:50:05.9535201Z             }
2026-06-04T12:50:05.9535591Z           ]
2026-06-04T12:50:05.9535993Z         },
2026-06-04T12:50:05.9536394Z         "int": {
2026-06-04T12:50:05.9536848Z           "complete": false,
2026-06-04T12:50:05.9537289Z           "evidence": []
2026-06-04T12:50:05.9537684Z         },
2026-06-04T12:50:05.9538093Z         "unit": {
2026-06-04T12:50:05.9538539Z           "complete": true,
2026-06-04T12:50:05.9538970Z           "evidence": [
2026-06-04T12:50:05.9539407Z             {
2026-06-04T12:50:05.9539997Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9540454Z               "line": 326
2026-06-04T12:50:05.9540860Z             },
2026-06-04T12:50:05.9541264Z             {
2026-06-04T12:50:05.9541855Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9542305Z               "line": 372
2026-06-04T12:50:05.9542717Z             },
2026-06-04T12:50:05.9543138Z             {
2026-06-04T12:50:05.9543736Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9544181Z               "line": 413
2026-06-04T12:50:05.9544600Z             },
2026-06-04T12:50:05.9545010Z             {
2026-06-04T12:50:05.9545608Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9546051Z               "line": 432
2026-06-04T12:50:05.9546471Z             }
2026-06-04T12:50:05.9546889Z           ]
2026-06-04T12:50:05.9547292Z         }
2026-06-04T12:50:05.9547711Z       }
2026-06-04T12:50:05.9548114Z     },
2026-06-04T12:50:05.9548525Z     {
2026-06-04T12:50:05.9549117Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T12:50:05.9550009Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T12:50:05.9550503Z       "requiredStages": [
2026-06-04T12:50:05.9550908Z         "impl",
2026-06-04T12:50:05.9551313Z         "unit"
2026-06-04T12:50:05.9551716Z       ],
2026-06-04T12:50:05.9552133Z       "stages": {
2026-06-04T12:50:05.9552534Z         "doc": {
2026-06-04T12:50:05.9553003Z           "complete": false,
2026-06-04T12:50:05.9553447Z           "evidence": []
2026-06-04T12:50:05.9553847Z         },
2026-06-04T12:50:05.9554258Z         "impl": {
2026-06-04T12:50:05.9554710Z           "complete": true,
2026-06-04T12:50:05.9555140Z           "evidence": [
2026-06-04T12:50:05.9555532Z             {
2026-06-04T12:50:05.9556133Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9556595Z               "line": 111
2026-06-04T12:50:05.9557007Z             },
2026-06-04T12:50:05.9557420Z             {
2026-06-04T12:50:05.9558012Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9558635Z               "line": 202
2026-06-04T12:50:05.9559047Z             }
2026-06-04T12:50:05.9559525Z           ]
2026-06-04T12:50:05.9559943Z         },
2026-06-04T12:50:05.9560362Z         "int": {
2026-06-04T12:50:05.9560820Z           "complete": false,
2026-06-04T12:50:05.9561259Z           "evidence": []
2026-06-04T12:50:05.9561663Z         },
2026-06-04T12:50:05.9562066Z         "unit": {
2026-06-04T12:50:05.9562523Z           "complete": true,
2026-06-04T12:50:05.9562962Z           "evidence": [
2026-06-04T12:50:05.9563366Z             {
2026-06-04T12:50:05.9563960Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9564404Z               "line": 347
2026-06-04T12:50:05.9564823Z             },
2026-06-04T12:50:05.9565231Z             {
2026-06-04T12:50:05.9565828Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:05.9566277Z               "line": 391
2026-06-04T12:50:05.9566687Z             }
2026-06-04T12:50:05.9567115Z           ]
2026-06-04T12:50:05.9567521Z         }
2026-06-04T12:50:05.9567951Z       }
2026-06-04T12:50:05.9568359Z     },
2026-06-04T12:50:05.9568765Z     {
2026-06-04T12:50:05.9569427Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T12:50:05.9570634Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T12:50:05.9571110Z       "requiredStages": [
2026-06-04T12:50:05.9571531Z         "impl",
2026-06-04T12:50:05.9571957Z         "unit"
2026-06-04T12:50:05.9572370Z       ],
2026-06-04T12:50:05.9572800Z       "stages": {
2026-06-04T12:50:05.9573227Z         "doc": {
2026-06-04T12:50:05.9573696Z           "complete": false,
2026-06-04T12:50:05.9574154Z           "evidence": []
2026-06-04T12:50:05.9574564Z         },
2026-06-04T12:50:05.9574998Z         "impl": {
2026-06-04T12:50:05.9575438Z           "complete": true,
2026-06-04T12:50:05.9575877Z           "evidence": [
2026-06-04T12:50:05.9576283Z             {
2026-06-04T12:50:05.9576883Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9577347Z               "line": 26
2026-06-04T12:50:05.9577768Z             },
2026-06-04T12:50:05.9578186Z             {
2026-06-04T12:50:05.9578794Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9579274Z               "line": 126
2026-06-04T12:50:05.9579695Z             },
2026-06-04T12:50:05.9580100Z             {
2026-06-04T12:50:05.9580762Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:50:05.9581201Z               "line": 26
2026-06-04T12:50:05.9581622Z             },
2026-06-04T12:50:05.9582040Z             {
2026-06-04T12:50:05.9582692Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:50:05.9583141Z               "line": 233
2026-06-04T12:50:05.9583547Z             }
2026-06-04T12:50:05.9583962Z           ]
2026-06-04T12:50:05.9584376Z         },
2026-06-04T12:50:05.9584802Z         "int": {
2026-06-04T12:50:05.9585270Z           "complete": false,
2026-06-04T12:50:05.9585727Z           "evidence": []
2026-06-04T12:50:05.9586320Z         },
2026-06-04T12:50:05.9586810Z         "unit": {
2026-06-04T12:50:05.9587316Z           "complete": true,
2026-06-04T12:50:05.9587765Z           "evidence": [
2026-06-04T12:50:05.9588187Z             {
2026-06-04T12:50:05.9588800Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9589287Z               "line": 152
2026-06-04T12:50:05.9589707Z             },
2026-06-04T12:50:05.9593612Z             {
2026-06-04T12:50:05.9594301Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9594736Z               "line": 161
2026-06-04T12:50:05.9595152Z             },
2026-06-04T12:50:05.9595555Z             {
2026-06-04T12:50:05.9596147Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9596584Z               "line": 170
2026-06-04T12:50:05.9596982Z             },
2026-06-04T12:50:05.9597379Z             {
2026-06-04T12:50:05.9597964Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9598751Z               "line": 179
2026-06-04T12:50:05.9599267Z             },
2026-06-04T12:50:05.9599689Z             {
2026-06-04T12:50:05.9600401Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9600843Z               "line": 188
2026-06-04T12:50:05.9601266Z             },
2026-06-04T12:50:05.9601675Z             {
2026-06-04T12:50:05.9602275Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9602725Z               "line": 199
2026-06-04T12:50:05.9603142Z             },
2026-06-04T12:50:05.9603559Z             {
2026-06-04T12:50:05.9604144Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T12:50:05.9604584Z               "line": 225
2026-06-04T12:50:05.9604979Z             },
2026-06-04T12:50:05.9605380Z             {
2026-06-04T12:50:05.9605964Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:05.9606405Z               "line": 245
2026-06-04T12:50:05.9606845Z             },
2026-06-04T12:50:05.9607256Z             {
2026-06-04T12:50:05.9607879Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:05.9608329Z               "line": 212
2026-06-04T12:50:05.9608745Z             },
2026-06-04T12:50:05.9609194Z             {
2026-06-04T12:50:05.9609856Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:50:05.9610310Z               "line": 256
2026-06-04T12:50:05.9610722Z             },
2026-06-04T12:50:05.9611135Z             {
2026-06-04T12:50:05.9611783Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:50:05.9612240Z               "line": 281
2026-06-04T12:50:05.9612663Z             },
2026-06-04T12:50:05.9613073Z             {
2026-06-04T12:50:05.9613730Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:50:05.9614167Z               "line": 293
2026-06-04T12:50:05.9614590Z             },
2026-06-04T12:50:05.9615003Z             {
2026-06-04T12:50:05.9615655Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-04T12:50:05.9616126Z               "line": 303
2026-06-04T12:50:05.9616546Z             },
2026-06-04T12:50:05.9616961Z             {
2026-06-04T12:50:05.9617583Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:05.9618022Z               "line": 502
2026-06-04T12:50:05.9618424Z             }
2026-06-04T12:50:05.9618826Z           ]
2026-06-04T12:50:05.9619264Z         }
2026-06-04T12:50:05.9619663Z       }
2026-06-04T12:50:05.9620062Z     },
2026-06-04T12:50:05.9620451Z     {
2026-06-04T12:50:05.9621071Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T12:50:05.9621860Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T12:50:05.9622330Z       "requiredStages": [
2026-06-04T12:50:05.9622755Z         "impl",
2026-06-04T12:50:05.9623175Z         "unit"
2026-06-04T12:50:05.9623594Z       ],
2026-06-04T12:50:05.9624015Z       "stages": {
2026-06-04T12:50:05.9624442Z         "doc": {
2026-06-04T12:50:05.9624924Z           "complete": false,
2026-06-04T12:50:05.9625542Z           "evidence": []
2026-06-04T12:50:05.9625975Z         },
2026-06-04T12:50:05.9626407Z         "impl": {
2026-06-04T12:50:05.9626885Z           "complete": true,
2026-06-04T12:50:05.9627329Z           "evidence": [
2026-06-04T12:50:05.9627734Z             {
2026-06-04T12:50:05.9628315Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:05.9628755Z               "line": 25
2026-06-04T12:50:05.9629221Z             },
2026-06-04T12:50:05.9629634Z             {
2026-06-04T12:50:05.9630231Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:05.9630673Z               "line": 26
2026-06-04T12:50:05.9631092Z             },
2026-06-04T12:50:05.9631510Z             {
2026-06-04T12:50:05.9632092Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:05.9632542Z               "line": 153
2026-06-04T12:50:05.9632958Z             }
2026-06-04T12:50:05.9633384Z           ]
2026-06-04T12:50:05.9633956Z         },
2026-06-04T12:50:05.9634409Z         "int": {
2026-06-04T12:50:05.9634887Z           "complete": false,
2026-06-04T12:50:05.9635325Z           "evidence": []
2026-06-04T12:50:05.9635722Z         },
2026-06-04T12:50:05.9636127Z         "unit": {
2026-06-04T12:50:05.9636573Z           "complete": true,
2026-06-04T12:50:05.9636998Z           "evidence": [
2026-06-04T12:50:05.9637401Z             {
2026-06-04T12:50:05.9637972Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:05.9638399Z               "line": 180
2026-06-04T12:50:05.9638808Z             },
2026-06-04T12:50:05.9639245Z             {
2026-06-04T12:50:05.9639809Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:05.9640245Z               "line": 205
2026-06-04T12:50:05.9640647Z             },
2026-06-04T12:50:05.9641048Z             {
2026-06-04T12:50:05.9641636Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:05.9642085Z               "line": 180
2026-06-04T12:50:05.9642514Z             }
2026-06-04T12:50:05.9642947Z           ]
2026-06-04T12:50:05.9643354Z         }
2026-06-04T12:50:05.9643770Z       }
2026-06-04T12:50:05.9644182Z     },
2026-06-04T12:50:05.9644586Z     {
2026-06-04T12:50:05.9645095Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T12:50:05.9645987Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T12:50:05.9646457Z       "requiredStages": [
2026-06-04T12:50:05.9646871Z         "impl",
2026-06-04T12:50:05.9647293Z         "unit"
2026-06-04T12:50:05.9647709Z       ],
2026-06-04T12:50:05.9648133Z       "stages": {
2026-06-04T12:50:05.9648551Z         "doc": {
2026-06-04T12:50:05.9649014Z           "complete": false,
2026-06-04T12:50:05.9649497Z           "evidence": []
2026-06-04T12:50:05.9649905Z         },
2026-06-04T12:50:05.9650331Z         "impl": {
2026-06-04T12:50:05.9650794Z           "complete": true,
2026-06-04T12:50:05.9651232Z           "evidence": [
2026-06-04T12:50:05.9651649Z             {
2026-06-04T12:50:05.9652265Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9652709Z               "line": 48
2026-06-04T12:50:05.9653119Z             },
2026-06-04T12:50:05.9653541Z             {
2026-06-04T12:50:05.9654152Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9654585Z               "line": 55
2026-06-04T12:50:05.9655005Z             },
2026-06-04T12:50:05.9655414Z             {
2026-06-04T12:50:05.9656016Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9656450Z               "line": 74
2026-06-04T12:50:05.9656869Z             },
2026-06-04T12:50:05.9657269Z             {
2026-06-04T12:50:05.9657866Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9658305Z               "line": 91
2026-06-04T12:50:05.9658715Z             }
2026-06-04T12:50:05.9659130Z           ]
2026-06-04T12:50:05.9659578Z         },
2026-06-04T12:50:05.9660008Z         "int": {
2026-06-04T12:50:05.9660474Z           "complete": false,
2026-06-04T12:50:05.9661140Z           "evidence": []
2026-06-04T12:50:05.9661586Z         },
2026-06-04T12:50:05.9662009Z         "unit": {
2026-06-04T12:50:05.9662464Z           "complete": true,
2026-06-04T12:50:05.9662893Z           "evidence": [
2026-06-04T12:50:05.9663295Z             {
2026-06-04T12:50:05.9663904Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9664347Z               "line": 149
2026-06-04T12:50:05.9664765Z             },
2026-06-04T12:50:05.9665174Z             {
2026-06-04T12:50:05.9665770Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9666216Z               "line": 163
2026-06-04T12:50:05.9666633Z             },
2026-06-04T12:50:05.9667047Z             {
2026-06-04T12:50:05.9667644Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9668089Z               "line": 173
2026-06-04T12:50:05.9668501Z             },
2026-06-04T12:50:05.9668912Z             {
2026-06-04T12:50:05.9669546Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9673472Z               "line": 191
2026-06-04T12:50:05.9673957Z             },
2026-06-04T12:50:05.9674358Z             {
2026-06-04T12:50:05.9674970Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:05.9675399Z               "line": 204
2026-06-04T12:50:05.9675800Z             }
2026-06-04T12:50:05.9676204Z           ]
2026-06-04T12:50:05.9676617Z         }
2026-06-04T12:50:05.9677017Z       }
2026-06-04T12:50:05.9677406Z     },
2026-06-04T12:50:05.9677795Z     {
2026-06-04T12:50:05.9678372Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T12:50:05.9679484Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T12:50:05.9679946Z       "requiredStages": [
2026-06-04T12:50:05.9680367Z         "impl",
2026-06-04T12:50:05.9680778Z         "unit"
2026-06-04T12:50:05.9681173Z       ],
2026-06-04T12:50:05.9681587Z       "stages": {
2026-06-04T12:50:05.9681982Z         "doc": {
2026-06-04T12:50:05.9682455Z           "complete": false,
2026-06-04T12:50:05.9682904Z           "evidence": []
2026-06-04T12:50:05.9683304Z         },
2026-06-04T12:50:05.9683722Z         "impl": {
2026-06-04T12:50:05.9684166Z           "complete": true,
2026-06-04T12:50:05.9684591Z           "evidence": [
2026-06-04T12:50:05.9684985Z             {
2026-06-04T12:50:05.9685628Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.9686055Z               "line": 341
2026-06-04T12:50:05.9686455Z             },
2026-06-04T12:50:05.9686858Z             {
2026-06-04T12:50:05.9687436Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:05.9687865Z               "line": 26
2026-06-04T12:50:05.9688259Z             }
2026-06-04T12:50:05.9688660Z           ]
2026-06-04T12:50:05.9689056Z         },
2026-06-04T12:50:05.9689505Z         "int": {
2026-06-04T12:50:05.9689961Z           "complete": false,
2026-06-04T12:50:05.9690383Z           "evidence": []
2026-06-04T12:50:05.9690791Z         },
2026-06-04T12:50:05.9691209Z         "unit": {
2026-06-04T12:50:05.9691662Z           "complete": true,
2026-06-04T12:50:05.9692085Z           "evidence": [
2026-06-04T12:50:05.9692486Z             {
2026-06-04T12:50:05.9693088Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:05.9693508Z               "line": 139
2026-06-04T12:50:05.9693910Z             },
2026-06-04T12:50:05.9694299Z             {
2026-06-04T12:50:05.9694884Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:05.9695310Z               "line": 182
2026-06-04T12:50:05.9695714Z             }
2026-06-04T12:50:05.9696122Z           ]
2026-06-04T12:50:05.9696514Z         }
2026-06-04T12:50:05.9696907Z       }
2026-06-04T12:50:05.9697292Z     },
2026-06-04T12:50:05.9697679Z     {
2026-06-04T12:50:05.9698265Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T12:50:05.9699094Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T12:50:05.9699605Z       "requiredStages": [
2026-06-04T12:50:05.9700264Z         "impl",
2026-06-04T12:50:05.9700710Z         "unit"
2026-06-04T12:50:05.9701108Z       ],
2026-06-04T12:50:05.9701529Z       "stages": {
2026-06-04T12:50:05.9701933Z         "doc": {
2026-06-04T12:50:05.9702393Z           "complete": false,
2026-06-04T12:50:05.9702828Z           "evidence": []
2026-06-04T12:50:05.9703222Z         },
2026-06-04T12:50:05.9703638Z         "impl": {
2026-06-04T12:50:05.9704079Z           "complete": true,
2026-06-04T12:50:05.9704514Z           "evidence": [
2026-06-04T12:50:05.9704905Z             {
2026-06-04T12:50:05.9705541Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9705974Z               "line": 36
2026-06-04T12:50:05.9706372Z             },
2026-06-04T12:50:05.9706777Z             {
2026-06-04T12:50:05.9707391Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9707818Z               "line": 68
2026-06-04T12:50:05.9708212Z             }
2026-06-04T12:50:05.9708771Z           ]
2026-06-04T12:50:05.9709230Z         },
2026-06-04T12:50:05.9709637Z         "int": {
2026-06-04T12:50:05.9710091Z           "complete": false,
2026-06-04T12:50:05.9710524Z           "evidence": []
2026-06-04T12:50:05.9710928Z         },
2026-06-04T12:50:05.9711336Z         "unit": {
2026-06-04T12:50:05.9711795Z           "complete": true,
2026-06-04T12:50:05.9712228Z           "evidence": [
2026-06-04T12:50:05.9712620Z             {
2026-06-04T12:50:05.9713251Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9713678Z               "line": 143
2026-06-04T12:50:05.9714081Z             },
2026-06-04T12:50:05.9714473Z             {
2026-06-04T12:50:05.9715095Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9715528Z               "line": 160
2026-06-04T12:50:05.9715926Z             },
2026-06-04T12:50:05.9716326Z             {
2026-06-04T12:50:05.9716941Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9717398Z               "line": 168
2026-06-04T12:50:05.9717803Z             }
2026-06-04T12:50:05.9718207Z           ]
2026-06-04T12:50:05.9718601Z         }
2026-06-04T12:50:05.9718992Z       }
2026-06-04T12:50:05.9719424Z     },
2026-06-04T12:50:05.9719814Z     {
2026-06-04T12:50:05.9720461Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T12:50:05.9721407Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T12:50:05.9721866Z       "requiredStages": [
2026-06-04T12:50:05.9722280Z         "impl",
2026-06-04T12:50:05.9722679Z         "unit"
2026-06-04T12:50:05.9723082Z       ],
2026-06-04T12:50:05.9723490Z       "stages": {
2026-06-04T12:50:05.9723892Z         "doc": {
2026-06-04T12:50:05.9724336Z           "complete": false,
2026-06-04T12:50:05.9724773Z           "evidence": []
2026-06-04T12:50:05.9725172Z         },
2026-06-04T12:50:05.9725572Z         "impl": {
2026-06-04T12:50:05.9726018Z           "complete": true,
2026-06-04T12:50:05.9726445Z           "evidence": [
2026-06-04T12:50:05.9726861Z             {
2026-06-04T12:50:05.9727492Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9727924Z               "line": 107
2026-06-04T12:50:05.9728326Z             }
2026-06-04T12:50:05.9728718Z           ]
2026-06-04T12:50:05.9729120Z         },
2026-06-04T12:50:05.9729556Z         "int": {
2026-06-04T12:50:05.9730115Z           "complete": false,
2026-06-04T12:50:05.9730543Z           "evidence": []
2026-06-04T12:50:05.9730948Z         },
2026-06-04T12:50:05.9731363Z         "unit": {
2026-06-04T12:50:05.9731806Z           "complete": true,
2026-06-04T12:50:05.9732243Z           "evidence": [
2026-06-04T12:50:05.9732637Z             {
2026-06-04T12:50:05.9733266Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9733694Z               "line": 184
2026-06-04T12:50:05.9734100Z             },
2026-06-04T12:50:05.9734498Z             {
2026-06-04T12:50:05.9735108Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9735703Z               "line": 193
2026-06-04T12:50:05.9736107Z             },
2026-06-04T12:50:05.9736506Z             {
2026-06-04T12:50:05.9737130Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9737560Z               "line": 201
2026-06-04T12:50:05.9737964Z             },
2026-06-04T12:50:05.9738353Z             {
2026-06-04T12:50:05.9738969Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9739429Z               "line": 210
2026-06-04T12:50:05.9739845Z             },
2026-06-04T12:50:05.9740253Z             {
2026-06-04T12:50:05.9740873Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T12:50:05.9741306Z               "line": 219
2026-06-04T12:50:05.9741695Z             }
2026-06-04T12:50:05.9742097Z           ]
2026-06-04T12:50:05.9742487Z         }
2026-06-04T12:50:05.9742881Z       }
2026-06-04T12:50:05.9743273Z     },
2026-06-04T12:50:05.9743659Z     {
2026-06-04T12:50:05.9744201Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T12:50:05.9745221Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T12:50:05.9745694Z       "requiredStages": [
2026-06-04T12:50:05.9746102Z         "impl",
2026-06-04T12:50:05.9746509Z         "unit"
2026-06-04T12:50:05.9746907Z       ],
2026-06-04T12:50:05.9747314Z       "stages": {
2026-06-04T12:50:05.9751012Z         "doc": {
2026-06-04T12:50:05.9751574Z           "complete": false,
2026-06-04T12:50:05.9752020Z           "evidence": []
2026-06-04T12:50:05.9752420Z         },
2026-06-04T12:50:05.9752836Z         "impl": {
2026-06-04T12:50:05.9753283Z           "complete": true,
2026-06-04T12:50:05.9753710Z           "evidence": [
2026-06-04T12:50:05.9754112Z             {
2026-06-04T12:50:05.9754669Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:05.9755096Z               "line": 14
2026-06-04T12:50:05.9755491Z             },
2026-06-04T12:50:05.9755894Z             {
2026-06-04T12:50:05.9756450Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:05.9756926Z               "line": 62
2026-06-04T12:50:05.9757331Z             }
2026-06-04T12:50:05.9757721Z           ]
2026-06-04T12:50:05.9758123Z         },
2026-06-04T12:50:05.9758520Z         "int": {
2026-06-04T12:50:05.9758973Z           "complete": false,
2026-06-04T12:50:05.9759467Z           "evidence": []
2026-06-04T12:50:05.9759862Z         },
2026-06-04T12:50:05.9760265Z         "unit": {
2026-06-04T12:50:05.9760704Z           "complete": true,
2026-06-04T12:50:05.9761130Z           "evidence": [
2026-06-04T12:50:05.9761519Z             {
2026-06-04T12:50:05.9762073Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:05.9762511Z               "line": 160
2026-06-04T12:50:05.9762907Z             },
2026-06-04T12:50:05.9763306Z             {
2026-06-04T12:50:05.9763854Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:05.9764284Z               "line": 197
2026-06-04T12:50:05.9764682Z             },
2026-06-04T12:50:05.9765093Z             {
2026-06-04T12:50:05.9765655Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:05.9766081Z               "line": 213
2026-06-04T12:50:05.9766486Z             }
2026-06-04T12:50:05.9766880Z           ]
2026-06-04T12:50:05.9767276Z         }
2026-06-04T12:50:05.9767663Z       }
2026-06-04T12:50:05.9768058Z     },
2026-06-04T12:50:05.9768454Z     {
2026-06-04T12:50:05.9769034Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T12:50:05.9770261Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T12:50:05.9770720Z       "requiredStages": [
2026-06-04T12:50:05.9771128Z         "impl",
2026-06-04T12:50:05.9771527Z         "unit"
2026-06-04T12:50:05.9771925Z       ],
2026-06-04T12:50:05.9772338Z       "stages": {
2026-06-04T12:50:05.9772736Z         "doc": {
2026-06-04T12:50:05.9773185Z           "complete": false,
2026-06-04T12:50:05.9773617Z           "evidence": []
2026-06-04T12:50:05.9774021Z         },
2026-06-04T12:50:05.9774433Z         "impl": {
2026-06-04T12:50:05.9775120Z           "complete": true,
2026-06-04T12:50:05.9775583Z           "evidence": [
2026-06-04T12:50:05.9775981Z             {
2026-06-04T12:50:05.9776581Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9777005Z               "line": 76
2026-06-04T12:50:05.9777400Z             },
2026-06-04T12:50:05.9777796Z             {
2026-06-04T12:50:05.9778386Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9778823Z               "line": 163
2026-06-04T12:50:05.9779256Z             },
2026-06-04T12:50:05.9779661Z             {
2026-06-04T12:50:05.9780235Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9780667Z               "line": 229
2026-06-04T12:50:05.9781062Z             },
2026-06-04T12:50:05.9781468Z             {
2026-06-04T12:50:05.9782048Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9782476Z               "line": 265
2026-06-04T12:50:05.9783037Z             }
2026-06-04T12:50:05.9783442Z           ]
2026-06-04T12:50:05.9783842Z         },
2026-06-04T12:50:05.9784241Z         "int": {
2026-06-04T12:50:05.9784696Z           "complete": false,
2026-06-04T12:50:05.9785133Z           "evidence": []
2026-06-04T12:50:05.9785526Z         },
2026-06-04T12:50:05.9785937Z         "unit": {
2026-06-04T12:50:05.9786376Z           "complete": true,
2026-06-04T12:50:05.9786803Z           "evidence": [
2026-06-04T12:50:05.9787192Z             {
2026-06-04T12:50:05.9787775Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9788209Z               "line": 310
2026-06-04T12:50:05.9788602Z             },
2026-06-04T12:50:05.9789005Z             {
2026-06-04T12:50:05.9789631Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9790072Z               "line": 318
2026-06-04T12:50:05.9790469Z             },
2026-06-04T12:50:05.9790864Z             {
2026-06-04T12:50:05.9791446Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9791895Z               "line": 341
2026-06-04T12:50:05.9792303Z             },
2026-06-04T12:50:05.9792694Z             {
2026-06-04T12:50:05.9793272Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9793696Z               "line": 378
2026-06-04T12:50:05.9794101Z             },
2026-06-04T12:50:05.9794497Z             {
2026-06-04T12:50:05.9795069Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9795502Z               "line": 389
2026-06-04T12:50:05.9795894Z             },
2026-06-04T12:50:05.9796289Z             {
2026-06-04T12:50:05.9796857Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9797299Z               "line": 401
2026-06-04T12:50:05.9797703Z             },
2026-06-04T12:50:05.9798090Z             {
2026-06-04T12:50:05.9798665Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T12:50:05.9799092Z               "line": 413
2026-06-04T12:50:05.9799554Z             }
2026-06-04T12:50:05.9800006Z           ]
2026-06-04T12:50:05.9800450Z         }
2026-06-04T12:50:05.9800848Z       }
2026-06-04T12:50:05.9801233Z     },
2026-06-04T12:50:05.9801622Z     {
2026-06-04T12:50:05.9802125Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T12:50:05.9802889Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T12:50:05.9803337Z       "requiredStages": [
2026-06-04T12:50:05.9803752Z         "impl",
2026-06-04T12:50:05.9804160Z         "int"
2026-06-04T12:50:05.9804552Z       ],
2026-06-04T12:50:05.9804968Z       "stages": {
2026-06-04T12:50:05.9805370Z         "doc": {
2026-06-04T12:50:05.9805828Z           "complete": false,
2026-06-04T12:50:05.9806259Z           "evidence": []
2026-06-04T12:50:05.9806662Z         },
2026-06-04T12:50:05.9807076Z         "impl": {
2026-06-04T12:50:05.9807515Z           "complete": true,
2026-06-04T12:50:05.9807945Z           "evidence": [
2026-06-04T12:50:05.9808341Z             {
2026-06-04T12:50:05.9808941Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:05.9809637Z               "line": 22
2026-06-04T12:50:05.9810063Z             }
2026-06-04T12:50:05.9810464Z           ]
2026-06-04T12:50:05.9810855Z         },
2026-06-04T12:50:05.9811266Z         "int": {
2026-06-04T12:50:05.9811712Z           "complete": true,
2026-06-04T12:50:05.9812141Z           "evidence": [
2026-06-04T12:50:05.9812534Z             {
2026-06-04T12:50:05.9813165Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T12:50:05.9813592Z               "line": 18
2026-06-04T12:50:05.9813986Z             }
2026-06-04T12:50:05.9814386Z           ]
2026-06-04T12:50:05.9814774Z         },
2026-06-04T12:50:05.9815190Z         "unit": {
2026-06-04T12:50:05.9815633Z           "complete": false,
2026-06-04T12:50:05.9816065Z           "evidence": []
2026-06-04T12:50:05.9816466Z         }
2026-06-04T12:50:05.9816850Z       }
2026-06-04T12:50:05.9817251Z     },
2026-06-04T12:50:05.9817639Z     {
2026-06-04T12:50:05.9818372Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T12:50:05.9819473Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T12:50:05.9819951Z       "requiredStages": [
2026-06-04T12:50:05.9820361Z         "impl",
2026-06-04T12:50:05.9820760Z         "unit"
2026-06-04T12:50:05.9821158Z       ],
2026-06-04T12:50:05.9821574Z       "stages": {
2026-06-04T12:50:05.9821984Z         "doc": {
2026-06-04T12:50:05.9822430Z           "complete": false,
2026-06-04T12:50:05.9822869Z           "evidence": []
2026-06-04T12:50:05.9823270Z         },
2026-06-04T12:50:05.9823671Z         "impl": {
2026-06-04T12:50:05.9824118Z           "complete": true,
2026-06-04T12:50:05.9824538Z           "evidence": [
2026-06-04T12:50:05.9828236Z             {
2026-06-04T12:50:05.9828945Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.9829484Z               "line": 340
2026-06-04T12:50:05.9829901Z             },
2026-06-04T12:50:05.9830296Z             {
2026-06-04T12:50:05.9831031Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:05.9831461Z               "line": 27
2026-06-04T12:50:05.9831868Z             }
2026-06-04T12:50:05.9832268Z           ]
2026-06-04T12:50:05.9832671Z         },
2026-06-04T12:50:05.9833081Z         "int": {
2026-06-04T12:50:05.9833520Z           "complete": false,
2026-06-04T12:50:05.9833951Z           "evidence": []
2026-06-04T12:50:05.9834342Z         },
2026-06-04T12:50:05.9834761Z         "unit": {
2026-06-04T12:50:05.9835208Z           "complete": true,
2026-06-04T12:50:05.9835633Z           "evidence": [
2026-06-04T12:50:05.9836028Z             {
2026-06-04T12:50:05.9836655Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:05.9837085Z               "line": 745
2026-06-04T12:50:05.9837480Z             },
2026-06-04T12:50:05.9837877Z             {
2026-06-04T12:50:05.9838460Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:05.9838902Z               "line": 164
2026-06-04T12:50:05.9839364Z             }
2026-06-04T12:50:05.9839772Z           ]
2026-06-04T12:50:05.9840251Z         }
2026-06-04T12:50:05.9840637Z       }
2026-06-04T12:50:05.9841030Z     },
2026-06-04T12:50:05.9841415Z     {
2026-06-04T12:50:05.9841995Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T12:50:05.9843065Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T12:50:05.9843932Z       "requiredStages": [
2026-06-04T12:50:05.9844488Z         "impl",
2026-06-04T12:50:05.9845122Z         "unit"
2026-06-04T12:50:05.9845582Z       ],
2026-06-04T12:50:05.9846076Z       "stages": {
2026-06-04T12:50:05.9846553Z         "doc": {
2026-06-04T12:50:05.9847068Z           "complete": false,
2026-06-04T12:50:05.9847515Z           "evidence": []
2026-06-04T12:50:05.9847973Z         },
2026-06-04T12:50:05.9848404Z         "impl": {
2026-06-04T12:50:05.9848873Z           "complete": true,
2026-06-04T12:50:05.9849574Z           "evidence": [
2026-06-04T12:50:05.9850228Z             {
2026-06-04T12:50:05.9851192Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9851676Z               "line": 20
2026-06-04T12:50:05.9852123Z             },
2026-06-04T12:50:05.9852559Z             {
2026-06-04T12:50:05.9853210Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9853687Z               "line": 94
2026-06-04T12:50:05.9854155Z             },
2026-06-04T12:50:05.9854602Z             {
2026-06-04T12:50:05.9855328Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:50:05.9855800Z               "line": 70
2026-06-04T12:50:05.9856211Z             },
2026-06-04T12:50:05.9856628Z             {
2026-06-04T12:50:05.9857296Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:50:05.9857747Z               "line": 82
2026-06-04T12:50:05.9858184Z             }
2026-06-04T12:50:05.9858606Z           ]
2026-06-04T12:50:05.9859044Z         },
2026-06-04T12:50:05.9859563Z         "int": {
2026-06-04T12:50:05.9860325Z           "complete": false,
2026-06-04T12:50:05.9860812Z           "evidence": []
2026-06-04T12:50:05.9861234Z         },
2026-06-04T12:50:05.9861693Z         "unit": {
2026-06-04T12:50:05.9862184Z           "complete": true,
2026-06-04T12:50:05.9862677Z           "evidence": [
2026-06-04T12:50:05.9863096Z             {
2026-06-04T12:50:05.9863771Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9864448Z               "line": 139
2026-06-04T12:50:05.9865056Z             },
2026-06-04T12:50:05.9865553Z             {
2026-06-04T12:50:05.9866252Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9866772Z               "line": 162
2026-06-04T12:50:05.9867374Z             },
2026-06-04T12:50:05.9867784Z             {
2026-06-04T12:50:05.9868376Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9868812Z               "line": 173
2026-06-04T12:50:05.9869281Z             },
2026-06-04T12:50:05.9869687Z             {
2026-06-04T12:50:05.9870473Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9871098Z               "line": 189
2026-06-04T12:50:05.9871503Z             },
2026-06-04T12:50:05.9871908Z             {
2026-06-04T12:50:05.9872493Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T12:50:05.9872932Z               "line": 200
2026-06-04T12:50:05.9873329Z             },
2026-06-04T12:50:05.9873733Z             {
2026-06-04T12:50:05.9874374Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T12:50:05.9874798Z               "line": 139
2026-06-04T12:50:05.9875201Z             }
2026-06-04T12:50:05.9875594Z           ]
2026-06-04T12:50:05.9875995Z         }
2026-06-04T12:50:05.9876384Z       }
2026-06-04T12:50:05.9876787Z     },
2026-06-04T12:50:05.9877172Z     {
2026-06-04T12:50:05.9877670Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T12:50:05.9879055Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T12:50:05.9879558Z       "requiredStages": [
2026-06-04T12:50:05.9879985Z         "impl",
2026-06-04T12:50:05.9880393Z         "unit"
2026-06-04T12:50:05.9880802Z       ],
2026-06-04T12:50:05.9881227Z       "stages": {
2026-06-04T12:50:05.9881627Z         "doc": {
2026-06-04T12:50:05.9882085Z           "complete": true,
2026-06-04T12:50:05.9882511Z           "evidence": [
2026-06-04T12:50:05.9882909Z             {
2026-06-04T12:50:05.9883433Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:50:05.9883871Z               "line": 131
2026-06-04T12:50:05.9884273Z             }
2026-06-04T12:50:05.9884661Z           ]
2026-06-04T12:50:05.9885063Z         },
2026-06-04T12:50:05.9885469Z         "impl": {
2026-06-04T12:50:05.9885919Z           "complete": true,
2026-06-04T12:50:05.9886338Z           "evidence": [
2026-06-04T12:50:05.9886743Z             {
2026-06-04T12:50:05.9887471Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:05.9888066Z               "line": 50
2026-06-04T12:50:05.9888484Z             },
2026-06-04T12:50:05.9889111Z             {
2026-06-04T12:50:05.9889736Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9890165Z               "line": 17
2026-06-04T12:50:05.9890582Z             },
2026-06-04T12:50:05.9891029Z             {
2026-06-04T12:50:05.9891610Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:05.9892052Z               "line": 171
2026-06-04T12:50:05.9892452Z             },
2026-06-04T12:50:05.9892861Z             {
2026-06-04T12:50:05.9893444Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:05.9893883Z               "line": 265
2026-06-04T12:50:05.9894295Z             },
2026-06-04T12:50:05.9894684Z             {
2026-06-04T12:50:05.9895254Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T12:50:05.9895683Z               "line": 32
2026-06-04T12:50:05.9896091Z             }
2026-06-04T12:50:05.9896488Z           ]
2026-06-04T12:50:05.9896889Z         },
2026-06-04T12:50:05.9897468Z         "int": {
2026-06-04T12:50:05.9897933Z           "complete": false,
2026-06-04T12:50:05.9898378Z           "evidence": []
2026-06-04T12:50:05.9898773Z         },
2026-06-04T12:50:05.9899231Z         "unit": {
2026-06-04T12:50:05.9899681Z           "complete": true,
2026-06-04T12:50:05.9900118Z           "evidence": [
2026-06-04T12:50:05.9900521Z             {
2026-06-04T12:50:05.9901076Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9901508Z               "line": 94
2026-06-04T12:50:05.9901903Z             },
2026-06-04T12:50:05.9902306Z             {
2026-06-04T12:50:05.9902855Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9908590Z               "line": 111
2026-06-04T12:50:05.9909152Z             },
2026-06-04T12:50:05.9909665Z             {
2026-06-04T12:50:05.9910242Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9910690Z               "line": 124
2026-06-04T12:50:05.9911092Z             },
2026-06-04T12:50:05.9911548Z             {
2026-06-04T12:50:05.9912130Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9912565Z               "line": 134
2026-06-04T12:50:05.9912983Z             },
2026-06-04T12:50:05.9913379Z             {
2026-06-04T12:50:05.9913944Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9914370Z               "line": 142
2026-06-04T12:50:05.9914783Z             },
2026-06-04T12:50:05.9915193Z             {
2026-06-04T12:50:05.9915748Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T12:50:05.9916190Z               "line": 154
2026-06-04T12:50:05.9916591Z             },
2026-06-04T12:50:05.9916998Z             {
2026-06-04T12:50:05.9917664Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:05.9918110Z               "line": 432
2026-06-04T12:50:05.9918520Z             }
2026-06-04T12:50:05.9918917Z           ]
2026-06-04T12:50:05.9919366Z         }
2026-06-04T12:50:05.9919764Z       }
2026-06-04T12:50:05.9920179Z     },
2026-06-04T12:50:05.9920568Z     {
2026-06-04T12:50:05.9921102Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T12:50:05.9921788Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T12:50:05.9922245Z       "requiredStages": [
2026-06-04T12:50:05.9922657Z         "impl",
2026-06-04T12:50:05.9923059Z         "unit"
2026-06-04T12:50:05.9923458Z       ],
2026-06-04T12:50:05.9923871Z       "stages": {
2026-06-04T12:50:05.9924292Z         "doc": {
2026-06-04T12:50:05.9924753Z           "complete": false,
2026-06-04T12:50:05.9925184Z           "evidence": []
2026-06-04T12:50:05.9925589Z         },
2026-06-04T12:50:05.9925999Z         "impl": {
2026-06-04T12:50:05.9926455Z           "complete": true,
2026-06-04T12:50:05.9926886Z           "evidence": [
2026-06-04T12:50:05.9927295Z             {
2026-06-04T12:50:05.9927883Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:05.9928315Z               "line": 128
2026-06-04T12:50:05.9928723Z             }
2026-06-04T12:50:05.9929130Z           ]
2026-06-04T12:50:05.9929799Z         },
2026-06-04T12:50:05.9930225Z         "int": {
2026-06-04T12:50:05.9930687Z           "complete": false,
2026-06-04T12:50:05.9931134Z           "evidence": []
2026-06-04T12:50:05.9931536Z         },
2026-06-04T12:50:05.9931956Z         "unit": {
2026-06-04T12:50:05.9932405Z           "complete": true,
2026-06-04T12:50:05.9932838Z           "evidence": [
2026-06-04T12:50:05.9933237Z             {
2026-06-04T12:50:05.9933826Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:05.9934275Z               "line": 205
2026-06-04T12:50:05.9934726Z             }
2026-06-04T12:50:05.9935149Z           ]
2026-06-04T12:50:05.9935544Z         }
2026-06-04T12:50:05.9935952Z       }
2026-06-04T12:50:05.9936343Z     },
2026-06-04T12:50:05.9936742Z     {
2026-06-04T12:50:05.9937307Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T12:50:05.9938106Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T12:50:05.9938788Z       "requiredStages": [
2026-06-04T12:50:05.9939256Z         "impl",
2026-06-04T12:50:05.9939675Z         "unit"
2026-06-04T12:50:05.9940076Z       ],
2026-06-04T12:50:05.9940505Z       "stages": {
2026-06-04T12:50:05.9940923Z         "doc": {
2026-06-04T12:50:05.9941376Z           "complete": false,
2026-06-04T12:50:05.9941822Z           "evidence": []
2026-06-04T12:50:05.9942217Z         },
2026-06-04T12:50:05.9942635Z         "impl": {
2026-06-04T12:50:05.9943081Z           "complete": true,
2026-06-04T12:50:05.9943515Z           "evidence": [
2026-06-04T12:50:05.9943923Z             {
2026-06-04T12:50:05.9944497Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9944932Z               "line": 190
2026-06-04T12:50:05.9945331Z             },
2026-06-04T12:50:05.9945737Z             {
2026-06-04T12:50:05.9946307Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9946745Z               "line": 201
2026-06-04T12:50:05.9947159Z             },
2026-06-04T12:50:05.9947573Z             {
2026-06-04T12:50:05.9948162Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9948592Z               "line": 219
2026-06-04T12:50:05.9948996Z             }
2026-06-04T12:50:05.9949435Z           ]
2026-06-04T12:50:05.9949840Z         },
2026-06-04T12:50:05.9950250Z         "int": {
2026-06-04T12:50:05.9950700Z           "complete": false,
2026-06-04T12:50:05.9951136Z           "evidence": []
2026-06-04T12:50:05.9951537Z         },
2026-06-04T12:50:05.9951950Z         "unit": {
2026-06-04T12:50:05.9952392Z           "complete": true,
2026-06-04T12:50:05.9952826Z           "evidence": [
2026-06-04T12:50:05.9953236Z             {
2026-06-04T12:50:05.9953803Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9954233Z               "line": 243
2026-06-04T12:50:05.9954633Z             },
2026-06-04T12:50:05.9955040Z             {
2026-06-04T12:50:05.9955606Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9956058Z               "line": 261
2026-06-04T12:50:05.9956483Z             },
2026-06-04T12:50:05.9956886Z             {
2026-06-04T12:50:05.9957463Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9957891Z               "line": 398
2026-06-04T12:50:05.9958304Z             },
2026-06-04T12:50:05.9958697Z             {
2026-06-04T12:50:05.9959322Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9959764Z               "line": 409
2026-06-04T12:50:05.9960165Z             },
2026-06-04T12:50:05.9960568Z             {
2026-06-04T12:50:05.9961137Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:05.9961576Z               "line": 422
2026-06-04T12:50:05.9961972Z             }
2026-06-04T12:50:05.9962381Z           ]
2026-06-04T12:50:05.9962783Z         }
2026-06-04T12:50:05.9963174Z       }
2026-06-04T12:50:05.9963694Z     },
2026-06-04T12:50:05.9964084Z     {
2026-06-04T12:50:05.9964606Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T12:50:05.9966004Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T12:50:05.9966490Z       "requiredStages": [
2026-06-04T12:50:05.9966911Z         "impl",
2026-06-04T12:50:05.9967318Z         "unit"
2026-06-04T12:50:05.9967725Z       ],
2026-06-04T12:50:05.9968140Z       "stages": {
2026-06-04T12:50:05.9968557Z         "doc": {
2026-06-04T12:50:05.9969007Z           "complete": false,
2026-06-04T12:50:05.9969494Z           "evidence": []
2026-06-04T12:50:05.9969908Z         },
2026-06-04T12:50:05.9970318Z         "impl": {
2026-06-04T12:50:05.9970764Z           "complete": true,
2026-06-04T12:50:05.9971198Z           "evidence": [
2026-06-04T12:50:05.9971609Z             {
2026-06-04T12:50:05.9972160Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9972595Z               "line": 14
2026-06-04T12:50:05.9973010Z             },
2026-06-04T12:50:05.9973408Z             {
2026-06-04T12:50:05.9973958Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T12:50:05.9974549Z               "line": 305
2026-06-04T12:50:05.9974961Z             }
2026-06-04T12:50:05.9975361Z           ]
2026-06-04T12:50:05.9975767Z         },
2026-06-04T12:50:05.9976191Z         "int": {
2026-06-04T12:50:05.9976645Z           "complete": false,
2026-06-04T12:50:05.9977084Z           "evidence": []
2026-06-04T12:50:05.9977486Z         },
2026-06-04T12:50:05.9977909Z         "unit": {
2026-06-04T12:50:05.9978356Z           "complete": true,
2026-06-04T12:50:05.9978793Z           "evidence": [
2026-06-04T12:50:05.9979249Z             {
2026-06-04T12:50:05.9979811Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9980335Z               "line": 130
2026-06-04T12:50:05.9980740Z             },
2026-06-04T12:50:05.9981151Z             {
2026-06-04T12:50:05.9981700Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9982140Z               "line": 138
2026-06-04T12:50:05.9982547Z             },
2026-06-04T12:50:05.9982957Z             {
2026-06-04T12:50:05.9987483Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9988013Z               "line": 146
2026-06-04T12:50:05.9988430Z             },
2026-06-04T12:50:05.9988828Z             {
2026-06-04T12:50:05.9989487Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9989938Z               "line": 154
2026-06-04T12:50:05.9990339Z             },
2026-06-04T12:50:05.9990748Z             {
2026-06-04T12:50:05.9991298Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9991738Z               "line": 162
2026-06-04T12:50:05.9992138Z             },
2026-06-04T12:50:05.9992541Z             {
2026-06-04T12:50:05.9993094Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T12:50:05.9993521Z               "line": 170
2026-06-04T12:50:05.9993932Z             }
2026-06-04T12:50:05.9994328Z           ]
2026-06-04T12:50:05.9994727Z         }
2026-06-04T12:50:05.9995122Z       }
2026-06-04T12:50:05.9995538Z     },
2026-06-04T12:50:05.9995941Z     {
2026-06-04T12:50:05.9996480Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T12:50:06.0001688Z       "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-04T12:50:06.0002166Z       "requiredStages": [
2026-06-04T12:50:06.0002586Z         "impl",
2026-06-04T12:50:06.0002998Z         "unit"
2026-06-04T12:50:06.0003392Z       ],
2026-06-04T12:50:06.0003818Z       "stages": {
2026-06-04T12:50:06.0004225Z         "doc": {
2026-06-04T12:50:06.0004689Z           "complete": false,
2026-06-04T12:50:06.0005122Z           "evidence": []
2026-06-04T12:50:06.0005528Z         },
2026-06-04T12:50:06.0005955Z         "impl": {
2026-06-04T12:50:06.0006403Z           "complete": true,
2026-06-04T12:50:06.0006855Z           "evidence": [
2026-06-04T12:50:06.0007291Z             {
2026-06-04T12:50:06.0008291Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0008737Z               "line": 34
2026-06-04T12:50:06.0009143Z             }
2026-06-04T12:50:06.0009599Z           ]
2026-06-04T12:50:06.0009997Z         },
2026-06-04T12:50:06.0010411Z         "int": {
2026-06-04T12:50:06.0010860Z           "complete": false,
2026-06-04T12:50:06.0011300Z           "evidence": []
2026-06-04T12:50:06.0011694Z         },
2026-06-04T12:50:06.0012112Z         "unit": {
2026-06-04T12:50:06.0012565Z           "complete": true,
2026-06-04T12:50:06.0012994Z           "evidence": [
2026-06-04T12:50:06.0013402Z             {
2026-06-04T12:50:06.0014148Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0014589Z               "line": 188
2026-06-04T12:50:06.0015013Z             },
2026-06-04T12:50:06.0015423Z             {
2026-06-04T12:50:06.0016174Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0016779Z               "line": 200
2026-06-04T12:50:06.0017186Z             },
2026-06-04T12:50:06.0017574Z             {
2026-06-04T12:50:06.0018325Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0018754Z               "line": 211
2026-06-04T12:50:06.0019202Z             },
2026-06-04T12:50:06.0019617Z             {
2026-06-04T12:50:06.0020351Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0020788Z               "line": 245
2026-06-04T12:50:06.0021189Z             },
2026-06-04T12:50:06.0021588Z             {
2026-06-04T12:50:06.0022316Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0022758Z               "line": 267
2026-06-04T12:50:06.0023166Z             },
2026-06-04T12:50:06.0023557Z             {
2026-06-04T12:50:06.0024304Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0024731Z               "line": 288
2026-06-04T12:50:06.0025165Z             },
2026-06-04T12:50:06.0025581Z             {
2026-06-04T12:50:06.0026311Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T12:50:06.0026744Z               "line": 304
2026-06-04T12:50:06.0027134Z             }
2026-06-04T12:50:06.0027540Z           ]
2026-06-04T12:50:06.0027935Z         }
2026-06-04T12:50:06.0028334Z       }
2026-06-04T12:50:06.0028730Z     },
2026-06-04T12:50:06.0029123Z     {
2026-06-04T12:50:06.0029720Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T12:50:06.0032984Z       "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-04T12:50:06.0033448Z       "requiredStages": [
2026-06-04T12:50:06.0033857Z         "impl",
2026-06-04T12:50:06.0034273Z         "unit"
2026-06-04T12:50:06.0034675Z       ],
2026-06-04T12:50:06.0035108Z       "stages": {
2026-06-04T12:50:06.0035536Z         "doc": {
2026-06-04T12:50:06.0035987Z           "complete": false,
2026-06-04T12:50:06.0036426Z           "evidence": []
2026-06-04T12:50:06.0036822Z         },
2026-06-04T12:50:06.0037244Z         "impl": {
2026-06-04T12:50:06.0037691Z           "complete": true,
2026-06-04T12:50:06.0038116Z           "evidence": [
2026-06-04T12:50:06.0038522Z             {
2026-06-04T12:50:06.0039118Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0039589Z               "line": 29
2026-06-04T12:50:06.0039988Z             },
2026-06-04T12:50:06.0040388Z             {
2026-06-04T12:50:06.0040985Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0041408Z               "line": 154
2026-06-04T12:50:06.0041817Z             },
2026-06-04T12:50:06.0042213Z             {
2026-06-04T12:50:06.0042808Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0043236Z               "line": 173
2026-06-04T12:50:06.0043659Z             },
2026-06-04T12:50:06.0044207Z             {
2026-06-04T12:50:06.0044802Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0045246Z               "line": 200
2026-06-04T12:50:06.0045643Z             }
2026-06-04T12:50:06.0046045Z           ]
2026-06-04T12:50:06.0046429Z         },
2026-06-04T12:50:06.0046837Z         "int": {
2026-06-04T12:50:06.0047292Z           "complete": false,
2026-06-04T12:50:06.0047724Z           "evidence": []
2026-06-04T12:50:06.0048127Z         },
2026-06-04T12:50:06.0048532Z         "unit": {
2026-06-04T12:50:06.0048988Z           "complete": true,
2026-06-04T12:50:06.0049454Z           "evidence": [
2026-06-04T12:50:06.0049860Z             {
2026-06-04T12:50:06.0050459Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0050893Z               "line": 276
2026-06-04T12:50:06.0051295Z             },
2026-06-04T12:50:06.0051690Z             {
2026-06-04T12:50:06.0052282Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0052872Z               "line": 291
2026-06-04T12:50:06.0053284Z             },
2026-06-04T12:50:06.0053685Z             {
2026-06-04T12:50:06.0054268Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0054701Z               "line": 310
2026-06-04T12:50:06.0055100Z             },
2026-06-04T12:50:06.0055498Z             {
2026-06-04T12:50:06.0056088Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0056521Z               "line": 326
2026-06-04T12:50:06.0056924Z             },
2026-06-04T12:50:06.0057317Z             {
2026-06-04T12:50:06.0057899Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0058327Z               "line": 376
2026-06-04T12:50:06.0058725Z             },
2026-06-04T12:50:06.0059129Z             {
2026-06-04T12:50:06.0059753Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0060194Z               "line": 390
2026-06-04T12:50:06.0060588Z             },
2026-06-04T12:50:06.0061005Z             {
2026-06-04T12:50:06.0061596Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0062038Z               "line": 401
2026-06-04T12:50:06.0062448Z             },
2026-06-04T12:50:06.0062840Z             {
2026-06-04T12:50:06.0063425Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.0063849Z               "line": 412
2026-06-04T12:50:06.0064261Z             }
2026-06-04T12:50:06.0064656Z           ]
2026-06-04T12:50:06.0065054Z         }
2026-06-04T12:50:06.0065461Z       }
2026-06-04T12:50:06.0065853Z     },
2026-06-04T12:50:06.0066250Z     {
2026-06-04T12:50:06.0066831Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T12:50:06.0070571Z       "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-04T12:50:06.0071035Z       "requiredStages": [
2026-06-04T12:50:06.0071485Z         "impl",
2026-06-04T12:50:06.0071911Z         "unit"
2026-06-04T12:50:06.0072306Z       ],
2026-06-04T12:50:06.0076267Z       "stages": {
2026-06-04T12:50:06.0076751Z         "doc": {
2026-06-04T12:50:06.0077232Z           "complete": false,
2026-06-04T12:50:06.0077671Z           "evidence": []
2026-06-04T12:50:06.0078075Z         },
2026-06-04T12:50:06.0078496Z         "impl": {
2026-06-04T12:50:06.0078942Z           "complete": true,
2026-06-04T12:50:06.0079456Z           "evidence": [
2026-06-04T12:50:06.0079859Z             {
2026-06-04T12:50:06.0080562Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0080992Z               "line": 27
2026-06-04T12:50:06.0081402Z             },
2026-06-04T12:50:06.0081806Z             {
2026-06-04T12:50:06.0082475Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0082912Z               "line": 110
2026-06-04T12:50:06.0083310Z             },
2026-06-04T12:50:06.0083756Z             {
2026-06-04T12:50:06.0084662Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0085124Z               "line": 153
2026-06-04T12:50:06.0085537Z             },
2026-06-04T12:50:06.0085929Z             {
2026-06-04T12:50:06.0086620Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0087055Z               "line": 182
2026-06-04T12:50:06.0087464Z             },
2026-06-04T12:50:06.0087870Z             {
2026-06-04T12:50:06.0088638Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0089070Z               "line": 31
2026-06-04T12:50:06.0089519Z             },
2026-06-04T12:50:06.0089930Z             {
2026-06-04T12:50:06.0090681Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0091178Z               "line": 113
2026-06-04T12:50:06.0091594Z             },
2026-06-04T12:50:06.0091992Z             {
2026-06-04T12:50:06.0092747Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0093377Z               "line": 138
2026-06-04T12:50:06.0093788Z             }
2026-06-04T12:50:06.0094178Z           ]
2026-06-04T12:50:06.0094581Z         },
2026-06-04T12:50:06.0094995Z         "int": {
2026-06-04T12:50:06.0095446Z           "complete": false,
2026-06-04T12:50:06.0095889Z           "evidence": []
2026-06-04T12:50:06.0096284Z         },
2026-06-04T12:50:06.0096704Z         "unit": {
2026-06-04T12:50:06.0097149Z           "complete": true,
2026-06-04T12:50:06.0097587Z           "evidence": [
2026-06-04T12:50:06.0097991Z             {
2026-06-04T12:50:06.0098667Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0099105Z               "line": 261
2026-06-04T12:50:06.0099536Z             },
2026-06-04T12:50:06.0099938Z             {
2026-06-04T12:50:06.0100613Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0101050Z               "line": 276
2026-06-04T12:50:06.0101482Z             },
2026-06-04T12:50:06.0101887Z             {
2026-06-04T12:50:06.0102569Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0102998Z               "line": 293
2026-06-04T12:50:06.0103407Z             },
2026-06-04T12:50:06.0103802Z             {
2026-06-04T12:50:06.0104479Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0104915Z               "line": 310
2026-06-04T12:50:06.0105313Z             },
2026-06-04T12:50:06.0105717Z             {
2026-06-04T12:50:06.0106396Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0106830Z               "line": 327
2026-06-04T12:50:06.0107231Z             },
2026-06-04T12:50:06.0107641Z             {
2026-06-04T12:50:06.0108317Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.0108742Z               "line": 366
2026-06-04T12:50:06.0109152Z             },
2026-06-04T12:50:06.0109591Z             {
2026-06-04T12:50:06.0110373Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0110812Z               "line": 179
2026-06-04T12:50:06.0111208Z             },
2026-06-04T12:50:06.0111607Z             {
2026-06-04T12:50:06.0112352Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0112795Z               "line": 194
2026-06-04T12:50:06.0113196Z             },
2026-06-04T12:50:06.0113602Z             {
2026-06-04T12:50:06.0114362Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0114785Z               "line": 204
2026-06-04T12:50:06.0115190Z             },
2026-06-04T12:50:06.0115585Z             {
2026-06-04T12:50:06.0116349Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0116784Z               "line": 259
2026-06-04T12:50:06.0117200Z             },
2026-06-04T12:50:06.0117605Z             {
2026-06-04T12:50:06.0118352Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0118972Z               "line": 269
2026-06-04T12:50:06.0119437Z             },
2026-06-04T12:50:06.0119850Z             {
2026-06-04T12:50:06.0120608Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.0121067Z               "line": 283
2026-06-04T12:50:06.0121489Z             }
2026-06-04T12:50:06.0121909Z           ]
2026-06-04T12:50:06.0122328Z         }
2026-06-04T12:50:06.0122740Z       }
2026-06-04T12:50:06.0123166Z     },
2026-06-04T12:50:06.0123570Z     {
2026-06-04T12:50:06.0124139Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T12:50:06.0125189Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T12:50:06.0125664Z       "requiredStages": [],
2026-06-04T12:50:06.0126106Z       "stages": {
2026-06-04T12:50:06.0126525Z         "doc": {
2026-06-04T12:50:06.0127003Z           "complete": false,
2026-06-04T12:50:06.0127454Z           "evidence": []
2026-06-04T12:50:06.0128047Z         },
2026-06-04T12:50:06.0128486Z         "impl": {
2026-06-04T12:50:06.0128939Z           "complete": false,
2026-06-04T12:50:06.0129427Z           "evidence": []
2026-06-04T12:50:06.0129821Z         },
2026-06-04T12:50:06.0130230Z         "int": {
2026-06-04T12:50:06.0130674Z           "complete": false,
2026-06-04T12:50:06.0131192Z           "evidence": []
2026-06-04T12:50:06.0131595Z         },
2026-06-04T12:50:06.0131999Z         "unit": {
2026-06-04T12:50:06.0132459Z           "complete": false,
2026-06-04T12:50:06.0132889Z           "evidence": []
2026-06-04T12:50:06.0133295Z         }
2026-06-04T12:50:06.0133687Z       }
2026-06-04T12:50:06.0134087Z     },
2026-06-04T12:50:06.0134486Z     {
2026-06-04T12:50:06.0135097Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T12:50:06.0146468Z       "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-04T12:50:06.0147025Z       "requiredStages": [
2026-06-04T12:50:06.0147445Z         "impl",
2026-06-04T12:50:06.0147853Z         "unit"
2026-06-04T12:50:06.0148243Z       ],
2026-06-04T12:50:06.0148660Z       "stages": {
2026-06-04T12:50:06.0149071Z         "doc": {
2026-06-04T12:50:06.0149614Z           "complete": false,
2026-06-04T12:50:06.0150049Z           "evidence": []
2026-06-04T12:50:06.0150453Z         },
2026-06-04T12:50:06.0150864Z         "impl": {
2026-06-04T12:50:06.0151305Z           "complete": true,
2026-06-04T12:50:06.0151735Z           "evidence": [
2026-06-04T12:50:06.0152126Z             {
2026-06-04T12:50:06.0152759Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0153180Z               "line": 26
2026-06-04T12:50:06.0153581Z             },
2026-06-04T12:50:06.0153983Z             {
2026-06-04T12:50:06.0154596Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0155047Z               "line": 93
2026-06-04T12:50:06.0155450Z             },
2026-06-04T12:50:06.0155855Z             {
2026-06-04T12:50:06.0156467Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0156915Z               "line": 158
2026-06-04T12:50:06.0157321Z             },
2026-06-04T12:50:06.0157718Z             {
2026-06-04T12:50:06.0158322Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0158749Z               "line": 19
2026-06-04T12:50:06.0159201Z             },
2026-06-04T12:50:06.0159613Z             {
2026-06-04T12:50:06.0160214Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0160649Z               "line": 50
2026-06-04T12:50:06.0161047Z             },
2026-06-04T12:50:06.0161450Z             {
2026-06-04T12:50:06.0161999Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:50:06.0162433Z               "line": 18
2026-06-04T12:50:06.0162838Z             },
2026-06-04T12:50:06.0163243Z             {
2026-06-04T12:50:06.0164112Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:50:06.0164558Z               "line": 65
2026-06-04T12:50:06.0169127Z             },
2026-06-04T12:50:06.0169666Z             {
2026-06-04T12:50:06.0170287Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:06.0170727Z               "line": 51
2026-06-04T12:50:06.0171127Z             }
2026-06-04T12:50:06.0171537Z           ]
2026-06-04T12:50:06.0171931Z         },
2026-06-04T12:50:06.0172345Z         "int": {
2026-06-04T12:50:06.0172797Z           "complete": false,
2026-06-04T12:50:06.0173236Z           "evidence": []
2026-06-04T12:50:06.0173639Z         },
2026-06-04T12:50:06.0174043Z         "unit": {
2026-06-04T12:50:06.0174496Z           "complete": true,
2026-06-04T12:50:06.0174922Z           "evidence": [
2026-06-04T12:50:06.0175329Z             {
2026-06-04T12:50:06.0175949Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0176634Z               "line": 276
2026-06-04T12:50:06.0177058Z             },
2026-06-04T12:50:06.0177454Z             {
2026-06-04T12:50:06.0178079Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0178514Z               "line": 295
2026-06-04T12:50:06.0178919Z             },
2026-06-04T12:50:06.0179446Z             {
2026-06-04T12:50:06.0180120Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0180567Z               "line": 323
2026-06-04T12:50:06.0180968Z             },
2026-06-04T12:50:06.0181374Z             {
2026-06-04T12:50:06.0181993Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0182434Z               "line": 372
2026-06-04T12:50:06.0182835Z             },
2026-06-04T12:50:06.0183242Z             {
2026-06-04T12:50:06.0183875Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0184308Z               "line": 383
2026-06-04T12:50:06.0184714Z             },
2026-06-04T12:50:06.0185108Z             {
2026-06-04T12:50:06.0185761Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0186187Z               "line": 414
2026-06-04T12:50:06.0186589Z             },
2026-06-04T12:50:06.0186990Z             {
2026-06-04T12:50:06.0187609Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.0188049Z               "line": 425
2026-06-04T12:50:06.0188444Z             },
2026-06-04T12:50:06.0188846Z             {
2026-06-04T12:50:06.0189493Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0189925Z               "line": 77
2026-06-04T12:50:06.0190334Z             },
2026-06-04T12:50:06.0190733Z             {
2026-06-04T12:50:06.0191333Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0191752Z               "line": 95
2026-06-04T12:50:06.0192157Z             },
2026-06-04T12:50:06.0192553Z             {
2026-06-04T12:50:06.0193158Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0193612Z               "line": 106
2026-06-04T12:50:06.0194016Z             },
2026-06-04T12:50:06.0194414Z             {
2026-06-04T12:50:06.0195015Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0195457Z               "line": 117
2026-06-04T12:50:06.0195858Z             },
2026-06-04T12:50:06.0196255Z             {
2026-06-04T12:50:06.0196861Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0197290Z               "line": 124
2026-06-04T12:50:06.0197692Z             },
2026-06-04T12:50:06.0198090Z             {
2026-06-04T12:50:06.0198688Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-04T12:50:06.0199121Z               "line": 137
2026-06-04T12:50:06.0199561Z             },
2026-06-04T12:50:06.0199968Z             {
2026-06-04T12:50:06.0200520Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:50:06.0200963Z               "line": 106
2026-06-04T12:50:06.0201360Z             },
2026-06-04T12:50:06.0201765Z             {
2026-06-04T12:50:06.0202511Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:50:06.0202956Z               "line": 118
2026-06-04T12:50:06.0203356Z             },
2026-06-04T12:50:06.0203753Z             {
2026-06-04T12:50:06.0204337Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T12:50:06.0204765Z               "line": 317
2026-06-04T12:50:06.0205164Z             }
2026-06-04T12:50:06.0205564Z           ]
2026-06-04T12:50:06.0205957Z         }
2026-06-04T12:50:06.0206356Z       }
2026-06-04T12:50:06.0206745Z     },
2026-06-04T12:50:06.0207147Z     {
2026-06-04T12:50:06.0207707Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T12:50:06.0209151Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T12:50:06.0209678Z       "requiredStages": [
2026-06-04T12:50:06.0210083Z         "impl",
2026-06-04T12:50:06.0210496Z         "unit"
2026-06-04T12:50:06.0210892Z       ],
2026-06-04T12:50:06.0211460Z       "stages": {
2026-06-04T12:50:06.0211875Z         "doc": {
2026-06-04T12:50:06.0212338Z           "complete": true,
2026-06-04T12:50:06.0212773Z           "evidence": [
2026-06-04T12:50:06.0213171Z             {
2026-06-04T12:50:06.0213713Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:50:06.0214142Z               "line": 137
2026-06-04T12:50:06.0214551Z             }
2026-06-04T12:50:06.0214953Z           ]
2026-06-04T12:50:06.0215354Z         },
2026-06-04T12:50:06.0215769Z         "impl": {
2026-06-04T12:50:06.0216211Z           "complete": true,
2026-06-04T12:50:06.0216649Z           "evidence": [
2026-06-04T12:50:06.0217050Z             {
2026-06-04T12:50:06.0217603Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T12:50:06.0218028Z               "line": 29
2026-06-04T12:50:06.0218436Z             },
2026-06-04T12:50:06.0218840Z             {
2026-06-04T12:50:06.0219466Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.0219907Z               "line": 101
2026-06-04T12:50:06.0220327Z             },
2026-06-04T12:50:06.0220739Z             {
2026-06-04T12:50:06.0221344Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0221781Z               "line": 30
2026-06-04T12:50:06.0222187Z             },
2026-06-04T12:50:06.0222577Z             {
2026-06-04T12:50:06.0223166Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.0223586Z               "line": 48
2026-06-04T12:50:06.0223991Z             }
2026-06-04T12:50:06.0224381Z           ]
2026-06-04T12:50:06.0224789Z         },
2026-06-04T12:50:06.0225200Z         "int": {
2026-06-04T12:50:06.0225651Z           "complete": false,
2026-06-04T12:50:06.0226091Z           "evidence": []
2026-06-04T12:50:06.0226488Z         },
2026-06-04T12:50:06.0226897Z         "unit": {
2026-06-04T12:50:06.0227338Z           "complete": true,
2026-06-04T12:50:06.0227765Z           "evidence": [
2026-06-04T12:50:06.0228173Z             {
2026-06-04T12:50:06.0228778Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0229270Z               "line": 152
2026-06-04T12:50:06.0229668Z             }
2026-06-04T12:50:06.0230068Z           ]
2026-06-04T12:50:06.0230460Z         }
2026-06-04T12:50:06.0230865Z       }
2026-06-04T12:50:06.0231252Z     },
2026-06-04T12:50:06.0231639Z     {
2026-06-04T12:50:06.0232204Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T12:50:06.0234256Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T12:50:06.0234725Z       "requiredStages": [
2026-06-04T12:50:06.0235127Z         "doc",
2026-06-04T12:50:06.0235548Z         "impl",
2026-06-04T12:50:06.0235959Z         "unit"
2026-06-04T12:50:06.0236353Z       ],
2026-06-04T12:50:06.0236770Z       "stages": {
2026-06-04T12:50:06.0237174Z         "doc": {
2026-06-04T12:50:06.0237624Z           "complete": true,
2026-06-04T12:50:06.0238052Z           "evidence": [
2026-06-04T12:50:06.0238483Z             {
2026-06-04T12:50:06.0239287Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:50:06.0239739Z               "line": 149
2026-06-04T12:50:06.0240149Z             }
2026-06-04T12:50:06.0240550Z           ]
2026-06-04T12:50:06.0240953Z         },
2026-06-04T12:50:06.0241357Z         "impl": {
2026-06-04T12:50:06.0241805Z           "complete": true,
2026-06-04T12:50:06.0242240Z           "evidence": [
2026-06-04T12:50:06.0242635Z             {
2026-06-04T12:50:06.0243258Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0243678Z               "line": 22
2026-06-04T12:50:06.0244092Z             }
2026-06-04T12:50:06.0244482Z           ]
2026-06-04T12:50:06.0244880Z         },
2026-06-04T12:50:06.0251007Z         "int": {
2026-06-04T12:50:06.0251585Z           "complete": false,
2026-06-04T12:50:06.0252030Z           "evidence": []
2026-06-04T12:50:06.0252427Z         },
2026-06-04T12:50:06.0252840Z         "unit": {
2026-06-04T12:50:06.0253281Z           "complete": true,
2026-06-04T12:50:06.0254014Z           "evidence": [
2026-06-04T12:50:06.0254423Z             {
2026-06-04T12:50:06.0255049Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0255488Z               "line": 257
2026-06-04T12:50:06.0255882Z             }
2026-06-04T12:50:06.0256285Z           ]
2026-06-04T12:50:06.0256675Z         }
2026-06-04T12:50:06.0257077Z       }
2026-06-04T12:50:06.0257477Z     },
2026-06-04T12:50:06.0257867Z     {
2026-06-04T12:50:06.0258444Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T12:50:06.0260944Z       "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-04T12:50:06.0261426Z       "requiredStages": [
2026-06-04T12:50:06.0261842Z         "impl",
2026-06-04T12:50:06.0262247Z         "unit"
2026-06-04T12:50:06.0262648Z       ],
2026-06-04T12:50:06.0263054Z       "stages": {
2026-06-04T12:50:06.0263464Z         "doc": {
2026-06-04T12:50:06.0263933Z           "complete": true,
2026-06-04T12:50:06.0264379Z           "evidence": [
2026-06-04T12:50:06.0264777Z             {
2026-06-04T12:50:06.0265320Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:50:06.0265756Z               "line": 143
2026-06-04T12:50:06.0266150Z             }
2026-06-04T12:50:06.0266555Z           ]
2026-06-04T12:50:06.0266947Z         },
2026-06-04T12:50:06.0267360Z         "impl": {
2026-06-04T12:50:06.0267800Z           "complete": true,
2026-06-04T12:50:06.0268231Z           "evidence": [
2026-06-04T12:50:06.0268638Z             {
2026-06-04T12:50:06.0269301Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.0269739Z               "line": 124
2026-06-04T12:50:06.0270133Z             },
2026-06-04T12:50:06.0270531Z             {
2026-06-04T12:50:06.0271117Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:50:06.0271544Z               "line": 15
2026-06-04T12:50:06.0271950Z             }
2026-06-04T12:50:06.0272355Z           ]
2026-06-04T12:50:06.0272762Z         },
2026-06-04T12:50:06.0273169Z         "int": {
2026-06-04T12:50:06.0273620Z           "complete": false,
2026-06-04T12:50:06.0274046Z           "evidence": []
2026-06-04T12:50:06.0274450Z         },
2026-06-04T12:50:06.0274857Z         "unit": {
2026-06-04T12:50:06.0275295Z           "complete": true,
2026-06-04T12:50:06.0275727Z           "evidence": [
2026-06-04T12:50:06.0276120Z             {
2026-06-04T12:50:06.0276784Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T12:50:06.0277210Z               "line": 87
2026-06-04T12:50:06.0277613Z             },
2026-06-04T12:50:06.0278014Z             {
2026-06-04T12:50:06.0278628Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.0279068Z               "line": 515
2026-06-04T12:50:06.0279518Z             },
2026-06-04T12:50:06.0279922Z             {
2026-06-04T12:50:06.0280545Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.0280989Z               "line": 534
2026-06-04T12:50:06.0281569Z             },
2026-06-04T12:50:06.0281979Z             {
2026-06-04T12:50:06.0282631Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.0283062Z               "line": 148
2026-06-04T12:50:06.0283464Z             },
2026-06-04T12:50:06.0283869Z             {
2026-06-04T12:50:06.0284440Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:50:06.0284870Z               "line": 74
2026-06-04T12:50:06.0285267Z             },
2026-06-04T12:50:06.0285662Z             {
2026-06-04T12:50:06.0286245Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:50:06.0286671Z               "line": 88
2026-06-04T12:50:06.0287077Z             },
2026-06-04T12:50:06.0287473Z             {
2026-06-04T12:50:06.0288062Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T12:50:06.0288489Z               "line": 104
2026-06-04T12:50:06.0288894Z             }
2026-06-04T12:50:06.0289472Z           ]
2026-06-04T12:50:06.0289876Z         }
2026-06-04T12:50:06.0290287Z       }
2026-06-04T12:50:06.0290680Z     },
2026-06-04T12:50:06.0291080Z     {
2026-06-04T12:50:06.0291657Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T12:50:06.0292696Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T12:50:06.0293144Z       "requiredStages": [
2026-06-04T12:50:06.0293557Z         "impl",
2026-06-04T12:50:06.0293966Z         "unit"
2026-06-04T12:50:06.0294359Z       ],
2026-06-04T12:50:06.0294775Z       "stages": {
2026-06-04T12:50:06.0295172Z         "doc": {
2026-06-04T12:50:06.0295625Z           "complete": false,
2026-06-04T12:50:06.0296053Z           "evidence": []
2026-06-04T12:50:06.0296456Z         },
2026-06-04T12:50:06.0296873Z         "impl": {
2026-06-04T12:50:06.0297322Z           "complete": true,
2026-06-04T12:50:06.0297753Z           "evidence": [
2026-06-04T12:50:06.0298143Z             {
2026-06-04T12:50:06.0298723Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:50:06.0299209Z               "line": 15
2026-06-04T12:50:06.0299635Z             },
2026-06-04T12:50:06.0300063Z             {
2026-06-04T12:50:06.0300679Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0301115Z               "line": 55
2026-06-04T12:50:06.0301512Z             },
2026-06-04T12:50:06.0301913Z             {
2026-06-04T12:50:06.0302514Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0302947Z               "line": 62
2026-06-04T12:50:06.0303349Z             },
2026-06-04T12:50:06.0303735Z             {
2026-06-04T12:50:06.0304345Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0304768Z               "line": 107
2026-06-04T12:50:06.0305173Z             },
2026-06-04T12:50:06.0305565Z             {
2026-06-04T12:50:06.0306179Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0306617Z               "line": 128
2026-06-04T12:50:06.0307029Z             }
2026-06-04T12:50:06.0307446Z           ]
2026-06-04T12:50:06.0307841Z         },
2026-06-04T12:50:06.0308249Z         "int": {
2026-06-04T12:50:06.0308689Z           "complete": false,
2026-06-04T12:50:06.0309128Z           "evidence": []
2026-06-04T12:50:06.0309628Z         },
2026-06-04T12:50:06.0310036Z         "unit": {
2026-06-04T12:50:06.0310487Z           "complete": true,
2026-06-04T12:50:06.0310905Z           "evidence": [
2026-06-04T12:50:06.0311310Z             {
2026-06-04T12:50:06.0311876Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:50:06.0312314Z               "line": 113
2026-06-04T12:50:06.0312715Z             },
2026-06-04T12:50:06.0313108Z             {
2026-06-04T12:50:06.0313679Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:50:06.0314109Z               "line": 119
2026-06-04T12:50:06.0314512Z             },
2026-06-04T12:50:06.0314904Z             {
2026-06-04T12:50:06.0315484Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:50:06.0316101Z               "line": 130
2026-06-04T12:50:06.0316512Z             },
2026-06-04T12:50:06.0316919Z             {
2026-06-04T12:50:06.0317520Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0317957Z               "line": 183
2026-06-04T12:50:06.0318364Z             },
2026-06-04T12:50:06.0318763Z             {
2026-06-04T12:50:06.0319419Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0319852Z               "line": 193
2026-06-04T12:50:06.0320261Z             },
2026-06-04T12:50:06.0320652Z             {
2026-06-04T12:50:06.0321262Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0321701Z               "line": 237
2026-06-04T12:50:06.0322100Z             },
2026-06-04T12:50:06.0322498Z             {
2026-06-04T12:50:06.0323099Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0323538Z               "line": 249
2026-06-04T12:50:06.0323935Z             },
2026-06-04T12:50:06.0324472Z             {
2026-06-04T12:50:06.0325100Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.0325530Z               "line": 275
2026-06-04T12:50:06.0325933Z             }
2026-06-04T12:50:06.0326328Z           ]
2026-06-04T12:50:06.0326728Z         }
2026-06-04T12:50:06.0331013Z       }
2026-06-04T12:50:06.0331497Z     },
2026-06-04T12:50:06.0331905Z     {
2026-06-04T12:50:06.0332471Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T12:50:06.0333962Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T12:50:06.0334420Z       "requiredStages": [
2026-06-04T12:50:06.0334841Z         "impl",
2026-06-04T12:50:06.0335262Z         "unit",
2026-06-04T12:50:06.0335668Z         "int"
2026-06-04T12:50:06.0336072Z       ],
2026-06-04T12:50:06.0336481Z       "stages": {
2026-06-04T12:50:06.0336885Z         "doc": {
2026-06-04T12:50:06.0337335Z           "complete": false,
2026-06-04T12:50:06.0337825Z           "evidence": []
2026-06-04T12:50:06.0338234Z         },
2026-06-04T12:50:06.0338661Z         "impl": {
2026-06-04T12:50:06.0339116Z           "complete": true,
2026-06-04T12:50:06.0339602Z           "evidence": [
2026-06-04T12:50:06.0340007Z             {
2026-06-04T12:50:06.0340602Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:06.0341038Z               "line": 246
2026-06-04T12:50:06.0341441Z             },
2026-06-04T12:50:06.0341845Z             {
2026-06-04T12:50:06.0342441Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:06.0342868Z               "line": 506
2026-06-04T12:50:06.0343271Z             },
2026-06-04T12:50:06.0343669Z             {
2026-06-04T12:50:06.0344264Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:06.0344696Z               "line": 529
2026-06-04T12:50:06.0345111Z             },
2026-06-04T12:50:06.0345514Z             {
2026-06-04T12:50:06.0346093Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:06.0346554Z               "line": 553
2026-06-04T12:50:06.0346955Z             },
2026-06-04T12:50:06.0347362Z             {
2026-06-04T12:50:06.0347964Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:06.0348397Z               "line": 463
2026-06-04T12:50:06.0348804Z             },
2026-06-04T12:50:06.0349243Z             {
2026-06-04T12:50:06.0349858Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:06.0350325Z               "line": 544
2026-06-04T12:50:06.0350733Z             },
2026-06-04T12:50:06.0351130Z             {
2026-06-04T12:50:06.0351739Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:06.0352173Z               "line": 588
2026-06-04T12:50:06.0352571Z             },
2026-06-04T12:50:06.0352973Z             {
2026-06-04T12:50:06.0353567Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T12:50:06.0354001Z               "line": 631
2026-06-04T12:50:06.0354397Z             },
2026-06-04T12:50:06.0354821Z             {
2026-06-04T12:50:06.0355668Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:50:06.0356117Z               "line": 46
2026-06-04T12:50:06.0356523Z             },
2026-06-04T12:50:06.0356919Z             {
2026-06-04T12:50:06.0357527Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:50:06.0357964Z               "line": 160
2026-06-04T12:50:06.0358359Z             },
2026-06-04T12:50:06.0358764Z             {
2026-06-04T12:50:06.0359379Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T12:50:06.0359815Z               "line": 71
2026-06-04T12:50:06.0360213Z             },
2026-06-04T12:50:06.0360618Z             {
2026-06-04T12:50:06.0361203Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.0361644Z               "line": 128
2026-06-04T12:50:06.0362047Z             },
2026-06-04T12:50:06.0362441Z             {
2026-06-04T12:50:06.0363020Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.0363611Z               "line": 174
2026-06-04T12:50:06.0364021Z             }
2026-06-04T12:50:06.0364427Z           ]
2026-06-04T12:50:06.0364824Z         },
2026-06-04T12:50:06.0365241Z         "int": {
2026-06-04T12:50:06.0365694Z           "complete": true,
2026-06-04T12:50:06.0366127Z           "evidence": [
2026-06-04T12:50:06.0366525Z             {
2026-06-04T12:50:06.0367205Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T12:50:06.0367638Z               "line": 27
2026-06-04T12:50:06.0368035Z             },
2026-06-04T12:50:06.0368442Z             {
2026-06-04T12:50:06.0369097Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T12:50:06.0369579Z               "line": 125
2026-06-04T12:50:06.0369996Z             },
2026-06-04T12:50:06.0370406Z             {
2026-06-04T12:50:06.0371074Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T12:50:06.0371514Z               "line": 189
2026-06-04T12:50:06.0371934Z             }
2026-06-04T12:50:06.0372336Z           ]
2026-06-04T12:50:06.0372743Z         },
2026-06-04T12:50:06.0373153Z         "unit": {
2026-06-04T12:50:06.0373608Z           "complete": true,
2026-06-04T12:50:06.0374044Z           "evidence": [
2026-06-04T12:50:06.0374442Z             {
2026-06-04T12:50:06.0375054Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:50:06.0375479Z               "line": 282
2026-06-04T12:50:06.0375889Z             },
2026-06-04T12:50:06.0376288Z             {
2026-06-04T12:50:06.0376899Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:50:06.0377344Z               "line": 300
2026-06-04T12:50:06.0377744Z             },
2026-06-04T12:50:06.0378147Z             {
2026-06-04T12:50:06.0378757Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T12:50:06.0379248Z               "line": 318
2026-06-04T12:50:06.0379658Z             },
2026-06-04T12:50:06.0380093Z             {
2026-06-04T12:50:06.0380733Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:50:06.0381184Z               "line": 221
2026-06-04T12:50:06.0381599Z             },
2026-06-04T12:50:06.0381996Z             {
2026-06-04T12:50:06.0382626Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T12:50:06.0383057Z               "line": 204
2026-06-04T12:50:06.0383466Z             },
2026-06-04T12:50:06.0383872Z             {
2026-06-04T12:50:06.0384466Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T12:50:06.0384898Z               "line": 182
2026-06-04T12:50:06.0385295Z             },
2026-06-04T12:50:06.0385703Z             {
2026-06-04T12:50:06.0386282Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.0386726Z               "line": 441
2026-06-04T12:50:06.0387134Z             },
2026-06-04T12:50:06.0387532Z             {
2026-06-04T12:50:06.0388119Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.0388550Z               "line": 465
2026-06-04T12:50:06.0388974Z             }
2026-06-04T12:50:06.0389602Z           ]
2026-06-04T12:50:06.0390006Z         }
2026-06-04T12:50:06.0390417Z       }
2026-06-04T12:50:06.0390811Z     },
2026-06-04T12:50:06.0391211Z     {
2026-06-04T12:50:06.0391786Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T12:50:06.0392798Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T12:50:06.0393263Z       "requiredStages": [
2026-06-04T12:50:06.0393666Z         "impl",
2026-06-04T12:50:06.0394072Z         "unit"
2026-06-04T12:50:06.0394462Z       ],
2026-06-04T12:50:06.0394882Z       "stages": {
2026-06-04T12:50:06.0395284Z         "doc": {
2026-06-04T12:50:06.0395734Z           "complete": false,
2026-06-04T12:50:06.0396159Z           "evidence": []
2026-06-04T12:50:06.0396563Z         },
2026-06-04T12:50:06.0396977Z         "impl": {
2026-06-04T12:50:06.0397419Z           "complete": true,
2026-06-04T12:50:06.0397850Z           "evidence": [
2026-06-04T12:50:06.0398376Z             {
2026-06-04T12:50:06.0399053Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.0399531Z               "line": 56
2026-06-04T12:50:06.0399932Z             },
2026-06-04T12:50:06.0400331Z             {
2026-06-04T12:50:06.0400978Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.0401409Z               "line": 63
2026-06-04T12:50:06.0401807Z             },
2026-06-04T12:50:06.0402212Z             {
2026-06-04T12:50:06.0402797Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0403218Z               "line": 33
2026-06-04T12:50:06.0403623Z             },
2026-06-04T12:50:06.0404016Z             {
2026-06-04T12:50:06.0404601Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0405020Z               "line": 61
2026-06-04T12:50:06.0405428Z             },
2026-06-04T12:50:06.0405833Z             {
2026-06-04T12:50:06.0406407Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0406850Z               "line": 70
2026-06-04T12:50:06.0410871Z             },
2026-06-04T12:50:06.0411373Z             {
2026-06-04T12:50:06.0411970Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0412417Z               "line": 79
2026-06-04T12:50:06.0412820Z             },
2026-06-04T12:50:06.0413212Z             {
2026-06-04T12:50:06.0413804Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0414229Z               "line": 88
2026-06-04T12:50:06.0414639Z             },
2026-06-04T12:50:06.0415038Z             {
2026-06-04T12:50:06.0415624Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0416051Z               "line": 97
2026-06-04T12:50:06.0416447Z             },
2026-06-04T12:50:06.0416848Z             {
2026-06-04T12:50:06.0417420Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0417862Z               "line": 105
2026-06-04T12:50:06.0418258Z             },
2026-06-04T12:50:06.0418659Z             {
2026-06-04T12:50:06.0419333Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0419767Z               "line": 114
2026-06-04T12:50:06.0420176Z             },
2026-06-04T12:50:06.0420570Z             {
2026-06-04T12:50:06.0421160Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0421593Z               "line": 123
2026-06-04T12:50:06.0421998Z             },
2026-06-04T12:50:06.0422403Z             {
2026-06-04T12:50:06.0422978Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0423422Z               "line": 130
2026-06-04T12:50:06.0423820Z             },
2026-06-04T12:50:06.0424224Z             {
2026-06-04T12:50:06.0424801Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0425247Z               "line": 137
2026-06-04T12:50:06.0425648Z             },
2026-06-04T12:50:06.0426038Z             {
2026-06-04T12:50:06.0426622Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0427063Z               "line": 145
2026-06-04T12:50:06.0427687Z             },
2026-06-04T12:50:06.0428101Z             {
2026-06-04T12:50:06.0428681Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0429125Z               "line": 154
2026-06-04T12:50:06.0429569Z             },
2026-06-04T12:50:06.0429981Z             {
2026-06-04T12:50:06.0430566Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0431004Z               "line": 221
2026-06-04T12:50:06.0431415Z             },
2026-06-04T12:50:06.0431809Z             {
2026-06-04T12:50:06.0432391Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0432820Z               "line": 233
2026-06-04T12:50:06.0433230Z             },
2026-06-04T12:50:06.0433625Z             {
2026-06-04T12:50:06.0434211Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0434639Z               "line": 320
2026-06-04T12:50:06.0435037Z             }
2026-06-04T12:50:06.0435439Z           ]
2026-06-04T12:50:06.0435965Z         },
2026-06-04T12:50:06.0436383Z         "int": {
2026-06-04T12:50:06.0436835Z           "complete": false,
2026-06-04T12:50:06.0437272Z           "evidence": []
2026-06-04T12:50:06.0437683Z         },
2026-06-04T12:50:06.0438090Z         "unit": {
2026-06-04T12:50:06.0438544Z           "complete": true,
2026-06-04T12:50:06.0438966Z           "evidence": [
2026-06-04T12:50:06.0439415Z             {
2026-06-04T12:50:06.0440003Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0440439Z               "line": 390
2026-06-04T12:50:06.0440843Z             },
2026-06-04T12:50:06.0441239Z             {
2026-06-04T12:50:06.0441821Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0442249Z               "line": 416
2026-06-04T12:50:06.0442652Z             },
2026-06-04T12:50:06.0443046Z             {
2026-06-04T12:50:06.0443622Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0444052Z               "line": 429
2026-06-04T12:50:06.0444460Z             },
2026-06-04T12:50:06.0444867Z             {
2026-06-04T12:50:06.0445444Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0445889Z               "line": 471
2026-06-04T12:50:06.0446288Z             }
2026-06-04T12:50:06.0446689Z           ]
2026-06-04T12:50:06.0447093Z         }
2026-06-04T12:50:06.0447480Z       }
2026-06-04T12:50:06.0447871Z     },
2026-06-04T12:50:06.0448258Z     {
2026-06-04T12:50:06.0448774Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T12:50:06.0449923Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T12:50:06.0450394Z       "requiredStages": [
2026-06-04T12:50:06.0450809Z         "impl",
2026-06-04T12:50:06.0451205Z         "unit"
2026-06-04T12:50:06.0451611Z       ],
2026-06-04T12:50:06.0452019Z       "stages": {
2026-06-04T12:50:06.0452426Z         "doc": {
2026-06-04T12:50:06.0452875Z           "complete": false,
2026-06-04T12:50:06.0453315Z           "evidence": []
2026-06-04T12:50:06.0453735Z         },
2026-06-04T12:50:06.0454156Z         "impl": {
2026-06-04T12:50:06.0454605Z           "complete": true,
2026-06-04T12:50:06.0455028Z           "evidence": [
2026-06-04T12:50:06.0455429Z             {
2026-06-04T12:50:06.0455981Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.0456412Z               "line": 107
2026-06-04T12:50:06.0456820Z             },
2026-06-04T12:50:06.0457211Z             {
2026-06-04T12:50:06.0457823Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.0458248Z               "line": 118
2026-06-04T12:50:06.0458648Z             }
2026-06-04T12:50:06.0459041Z           ]
2026-06-04T12:50:06.0459483Z         },
2026-06-04T12:50:06.0459899Z         "int": {
2026-06-04T12:50:06.0460345Z           "complete": false,
2026-06-04T12:50:06.0460781Z           "evidence": []
2026-06-04T12:50:06.0461217Z         },
2026-06-04T12:50:06.0461628Z         "unit": {
2026-06-04T12:50:06.0462067Z           "complete": true,
2026-06-04T12:50:06.0462515Z           "evidence": [
2026-06-04T12:50:06.0463062Z             {
2026-06-04T12:50:06.0463636Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.0464073Z               "line": 225
2026-06-04T12:50:06.0464472Z             },
2026-06-04T12:50:06.0464871Z             {
2026-06-04T12:50:06.0465473Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.0465907Z               "line": 345
2026-06-04T12:50:06.0466313Z             },
2026-06-04T12:50:06.0466705Z             {
2026-06-04T12:50:06.0467316Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.0467742Z               "line": 355
2026-06-04T12:50:06.0468147Z             }
2026-06-04T12:50:06.0468537Z           ]
2026-06-04T12:50:06.0468938Z         }
2026-06-04T12:50:06.0469388Z       }
2026-06-04T12:50:06.0469775Z     },
2026-06-04T12:50:06.0470170Z     {
2026-06-04T12:50:06.0470689Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T12:50:06.0471564Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T12:50:06.0472038Z       "requiredStages": [],
2026-06-04T12:50:06.0472460Z       "stages": {
2026-06-04T12:50:06.0472866Z         "doc": {
2026-06-04T12:50:06.0473311Z           "complete": false,
2026-06-04T12:50:06.0473743Z           "evidence": []
2026-06-04T12:50:06.0474136Z         },
2026-06-04T12:50:06.0474550Z         "impl": {
2026-06-04T12:50:06.0474997Z           "complete": false,
2026-06-04T12:50:06.0475437Z           "evidence": []
2026-06-04T12:50:06.0475840Z         },
2026-06-04T12:50:06.0476235Z         "int": {
2026-06-04T12:50:06.0476690Z           "complete": false,
2026-06-04T12:50:06.0477115Z           "evidence": []
2026-06-04T12:50:06.0477518Z         },
2026-06-04T12:50:06.0477921Z         "unit": {
2026-06-04T12:50:06.0478371Z           "complete": false,
2026-06-04T12:50:06.0478811Z           "evidence": []
2026-06-04T12:50:06.0479249Z         }
2026-06-04T12:50:06.0479674Z       }
2026-06-04T12:50:06.0480115Z     },
2026-06-04T12:50:06.0480512Z     {
2026-06-04T12:50:06.0481115Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T12:50:06.0482005Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T12:50:06.0482467Z       "requiredStages": [
2026-06-04T12:50:06.0482875Z         "impl",
2026-06-04T12:50:06.0483282Z         "unit"
2026-06-04T12:50:06.0483675Z       ],
2026-06-04T12:50:06.0484090Z       "stages": {
2026-06-04T12:50:06.0484486Z         "doc": {
2026-06-04T12:50:06.0488304Z           "complete": false,
2026-06-04T12:50:06.0488830Z           "evidence": []
2026-06-04T12:50:06.0489322Z         },
2026-06-04T12:50:06.0489742Z         "impl": {
2026-06-04T12:50:06.0490192Z           "complete": true,
2026-06-04T12:50:06.0490623Z           "evidence": [
2026-06-04T12:50:06.0491025Z             {
2026-06-04T12:50:06.0491659Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.0492093Z               "line": 424
2026-06-04T12:50:06.0492534Z             },
2026-06-04T12:50:06.0492936Z             {
2026-06-04T12:50:06.0493543Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:06.0493983Z               "line": 28
2026-06-04T12:50:06.0494376Z             }
2026-06-04T12:50:06.0494777Z           ]
2026-06-04T12:50:06.0495176Z         },
2026-06-04T12:50:06.0495580Z         "int": {
2026-06-04T12:50:06.0496032Z           "complete": false,
2026-06-04T12:50:06.0496462Z           "evidence": []
2026-06-04T12:50:06.0496859Z         },
2026-06-04T12:50:06.0497263Z         "unit": {
2026-06-04T12:50:06.0497703Z           "complete": true,
2026-06-04T12:50:06.0498138Z           "evidence": [
2026-06-04T12:50:06.0498539Z             {
2026-06-04T12:50:06.0499124Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:06.0499592Z               "line": 200
2026-06-04T12:50:06.0499996Z             }
2026-06-04T12:50:06.0500387Z           ]
2026-06-04T12:50:06.0500785Z         }
2026-06-04T12:50:06.0501183Z       }
2026-06-04T12:50:06.0501582Z     },
2026-06-04T12:50:06.0502191Z     {
2026-06-04T12:50:06.0502745Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T12:50:06.0503449Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T12:50:06.0503915Z       "requiredStages": [],
2026-06-04T12:50:06.0504334Z       "stages": {
2026-06-04T12:50:06.0504740Z         "doc": {
2026-06-04T12:50:06.0505184Z           "complete": false,
2026-06-04T12:50:06.0505620Z           "evidence": []
2026-06-04T12:50:06.0506023Z         },
2026-06-04T12:50:06.0506442Z         "impl": {
2026-06-04T12:50:06.0506888Z           "complete": false,
2026-06-04T12:50:06.0507320Z           "evidence": []
2026-06-04T12:50:06.0507722Z         },
2026-06-04T12:50:06.0508135Z         "int": {
2026-06-04T12:50:06.0508616Z           "complete": false,
2026-06-04T12:50:06.0509053Z           "evidence": []
2026-06-04T12:50:06.0509506Z         },
2026-06-04T12:50:06.0509915Z         "unit": {
2026-06-04T12:50:06.0510365Z           "complete": false,
2026-06-04T12:50:06.0511006Z           "evidence": []
2026-06-04T12:50:06.0511411Z         }
2026-06-04T12:50:06.0511809Z       }
2026-06-04T12:50:06.0512193Z     },
2026-06-04T12:50:06.0512585Z     {
2026-06-04T12:50:06.0513123Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T12:50:06.0513902Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T12:50:06.0514357Z       "requiredStages": [
2026-06-04T12:50:06.0514756Z         "impl",
2026-06-04T12:50:06.0515174Z         "unit"
2026-06-04T12:50:06.0515575Z       ],
2026-06-04T12:50:06.0516028Z       "stages": {
2026-06-04T12:50:06.0516444Z         "doc": {
2026-06-04T12:50:06.0516904Z           "complete": false,
2026-06-04T12:50:06.0517340Z           "evidence": []
2026-06-04T12:50:06.0517734Z         },
2026-06-04T12:50:06.0518149Z         "impl": {
2026-06-04T12:50:06.0518581Z           "complete": true,
2026-06-04T12:50:06.0519017Z           "evidence": [
2026-06-04T12:50:06.0519458Z             {
2026-06-04T12:50:06.0520069Z               "path": "crates/spt-live/src/turn.rs",
2026-06-04T12:50:06.0520500Z               "line": 19
2026-06-04T12:50:06.0520888Z             },
2026-06-04T12:50:06.0521292Z             {
2026-06-04T12:50:06.0521902Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.0522331Z               "line": 325
2026-06-04T12:50:06.0522725Z             },
2026-06-04T12:50:06.0523128Z             {
2026-06-04T12:50:06.0523746Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.0524173Z               "line": 361
2026-06-04T12:50:06.0524573Z             },
2026-06-04T12:50:06.0524975Z             {
2026-06-04T12:50:06.0525933Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:50:06.0526593Z               "line": 15
2026-06-04T12:50:06.0527908Z             },
2026-06-04T12:50:06.0529022Z             {
2026-06-04T12:50:06.0530455Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:50:06.0532062Z               "line": 48
2026-06-04T12:50:06.0533542Z             },
2026-06-04T12:50:06.0534780Z             {
2026-06-04T12:50:06.0536153Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:50:06.0537810Z               "line": 106
2026-06-04T12:50:06.0539230Z             }
2026-06-04T12:50:06.0540448Z           ]
2026-06-04T12:50:06.0541407Z         },
2026-06-04T12:50:06.0542385Z         "int": {
2026-06-04T12:50:06.0543543Z           "complete": false,
2026-06-04T12:50:06.0545025Z           "evidence": []
2026-06-04T12:50:06.0546159Z         },
2026-06-04T12:50:06.0547159Z         "unit": {
2026-06-04T12:50:06.0548382Z           "complete": true,
2026-06-04T12:50:06.0549875Z           "evidence": [
2026-06-04T12:50:06.0551000Z             {
2026-06-04T12:50:06.0552250Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.0554003Z               "line": 453
2026-06-04T12:50:06.0555267Z             },
2026-06-04T12:50:06.0556321Z             {
2026-06-04T12:50:06.0557559Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:50:06.0559470Z               "line": 149
2026-06-04T12:50:06.0560796Z             },
2026-06-04T12:50:06.0561758Z             {
2026-06-04T12:50:06.0562886Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-04T12:50:06.0564376Z               "line": 156
2026-06-04T12:50:06.0565463Z             }
2026-06-04T12:50:06.0566583Z           ]
2026-06-04T12:50:06.0567683Z         }
2026-06-04T12:50:06.0574398Z       }
2026-06-04T12:50:06.0575387Z     },
2026-06-04T12:50:06.0576327Z     {
2026-06-04T12:50:06.0577396Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T12:50:06.0579302Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T12:50:06.0581124Z       "requiredStages": [
2026-06-04T12:50:06.0582282Z         "impl",
2026-06-04T12:50:06.0583292Z         "unit"
2026-06-04T12:50:06.0584283Z       ],
2026-06-04T12:50:06.0585226Z       "stages": {
2026-06-04T12:50:06.0586248Z         "doc": {
2026-06-04T12:50:06.0587686Z           "complete": false,
2026-06-04T12:50:06.0588933Z           "evidence": []
2026-06-04T12:50:06.0590124Z         },
2026-06-04T12:50:06.0591194Z         "impl": {
2026-06-04T12:50:06.0592260Z           "complete": true,
2026-06-04T12:50:06.0593492Z           "evidence": [
2026-06-04T12:50:06.0594591Z             {
2026-06-04T12:50:06.0595761Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:06.0597312Z               "line": 35
2026-06-04T12:50:06.0598430Z             }
2026-06-04T12:50:06.0599443Z           ]
2026-06-04T12:50:06.0600392Z         },
2026-06-04T12:50:06.0601344Z         "int": {
2026-06-04T12:50:06.0602409Z           "complete": false,
2026-06-04T12:50:06.0603639Z           "evidence": []
2026-06-04T12:50:06.0604760Z         },
2026-06-04T12:50:06.0605717Z         "unit": {
2026-06-04T12:50:06.0606786Z           "complete": true,
2026-06-04T12:50:06.0607978Z           "evidence": [
2026-06-04T12:50:06.0609070Z             {
2026-06-04T12:50:06.0610279Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T12:50:06.0611845Z               "line": 217
2026-06-04T12:50:06.0612981Z             }
2026-06-04T12:50:06.0613959Z           ]
2026-06-04T12:50:06.0614916Z         }
2026-06-04T12:50:06.0615856Z       }
2026-06-04T12:50:06.0616779Z     },
2026-06-04T12:50:06.0617706Z     {
2026-06-04T12:50:06.0618748Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T12:50:06.0621279Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T12:50:06.0623837Z       "requiredStages": [
2026-06-04T12:50:06.0624989Z         "impl",
2026-06-04T12:50:06.0625997Z         "unit"
2026-06-04T12:50:06.0626993Z       ],
2026-06-04T12:50:06.0627953Z       "stages": {
2026-06-04T12:50:06.0628984Z         "doc": {
2026-06-04T12:50:06.0630083Z           "complete": false,
2026-06-04T12:50:06.0631311Z           "evidence": []
2026-06-04T12:50:06.0632447Z         },
2026-06-04T12:50:06.0633410Z         "impl": {
2026-06-04T12:50:06.0634490Z           "complete": true,
2026-06-04T12:50:06.0635702Z           "evidence": [
2026-06-04T12:50:06.0636801Z             {
2026-06-04T12:50:06.0638027Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.0639653Z               "line": 256
2026-06-04T12:50:06.0640780Z             },
2026-06-04T12:50:06.0641774Z             {
2026-06-04T12:50:06.0642963Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.0644517Z               "line": 221
2026-06-04T12:50:06.0645636Z             },
2026-06-04T12:50:06.0646625Z             {
2026-06-04T12:50:06.0647814Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.0649398Z               "line": 150
2026-06-04T12:50:06.0650523Z             }
2026-06-04T12:50:06.0651497Z           ]
2026-06-04T12:50:06.0652434Z         },
2026-06-04T12:50:06.0653388Z         "int": {
2026-06-04T12:50:06.0654441Z           "complete": false,
2026-06-04T12:50:06.0655664Z           "evidence": []
2026-06-04T12:50:06.0656806Z         },
2026-06-04T12:50:06.0657989Z         "unit": {
2026-06-04T12:50:06.0659080Z           "complete": true,
2026-06-04T12:50:06.0660334Z           "evidence": [
2026-06-04T12:50:06.0661426Z             {
2026-06-04T12:50:06.0662605Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.0664172Z               "line": 477
2026-06-04T12:50:06.0665300Z             },
2026-06-04T12:50:06.0666290Z             {
2026-06-04T12:50:06.0667484Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.0669037Z               "line": 488
2026-06-04T12:50:06.0670193Z             },
2026-06-04T12:50:06.0675633Z             {
2026-06-04T12:50:06.0676871Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.0678708Z               "line": 504
2026-06-04T12:50:06.0680104Z             },
2026-06-04T12:50:06.0681215Z             {
2026-06-04T12:50:06.0682489Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.0684484Z               "line": 518
2026-06-04T12:50:06.0685697Z             },
2026-06-04T12:50:06.0686736Z             {
2026-06-04T12:50:06.0688067Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:50:06.0690259Z               "line": 268
2026-06-04T12:50:06.0691411Z             }
2026-06-04T12:50:06.0692390Z           ]
2026-06-04T12:50:06.0693348Z         }
2026-06-04T12:50:06.0694308Z       }
2026-06-04T12:50:06.0695231Z     },
2026-06-04T12:50:06.0697042Z     {
2026-06-04T12:50:06.0698456Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T12:50:06.0704404Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-04T12:50:06.0709998Z       "requiredStages": [
2026-06-04T12:50:06.0711167Z         "doc",
2026-06-04T12:50:06.0712223Z         "impl",
2026-06-04T12:50:06.0713228Z         "unit"
2026-06-04T12:50:06.0714229Z       ],
2026-06-04T12:50:06.0715188Z       "stages": {
2026-06-04T12:50:06.0716218Z         "doc": {
2026-06-04T12:50:06.0717276Z           "complete": true,
2026-06-04T12:50:06.0718480Z           "evidence": [
2026-06-04T12:50:06.0719607Z             {
2026-06-04T12:50:06.0720723Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T12:50:06.0722191Z               "line": 259
2026-06-04T12:50:06.0723327Z             }
2026-06-04T12:50:06.0724298Z           ]
2026-06-04T12:50:06.0725259Z         },
2026-06-04T12:50:06.0726226Z         "impl": {
2026-06-04T12:50:06.0727288Z           "complete": true,
2026-06-04T12:50:06.0728481Z           "evidence": [
2026-06-04T12:50:06.0729621Z             {
2026-06-04T12:50:06.0730814Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.0732377Z               "line": 85
2026-06-04T12:50:06.0733500Z             },
2026-06-04T12:50:06.0734493Z             {
2026-06-04T12:50:06.0735710Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:50:06.0737257Z               "line": 99
2026-06-04T12:50:06.0738385Z             },
2026-06-04T12:50:06.0739404Z             {
2026-06-04T12:50:06.0740611Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.0742186Z               "line": 53
2026-06-04T12:50:06.0743309Z             },
2026-06-04T12:50:06.0744302Z             {
2026-06-04T12:50:06.0745505Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.0747083Z               "line": 89
2026-06-04T12:50:06.0748213Z             },
2026-06-04T12:50:06.0749237Z             {
2026-06-04T12:50:06.0750463Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.0752057Z               "line": 29
2026-06-04T12:50:06.0753177Z             },
2026-06-04T12:50:06.0754163Z             {
2026-06-04T12:50:06.0755362Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.0756957Z               "line": 75
2026-06-04T12:50:06.0758326Z             },
2026-06-04T12:50:06.0759405Z             {
2026-06-04T12:50:06.0760690Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.0762325Z               "line": 121
2026-06-04T12:50:06.0763451Z             },
2026-06-04T12:50:06.0764442Z             {
2026-06-04T12:50:06.0765581Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.0767089Z               "line": 40
2026-06-04T12:50:06.0768193Z             },
2026-06-04T12:50:06.0769226Z             {
2026-06-04T12:50:06.0770383Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.0771889Z               "line": 161
2026-06-04T12:50:06.0773028Z             },
2026-06-04T12:50:06.0774017Z             {
2026-06-04T12:50:06.0775163Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T12:50:06.0776663Z               "line": 70
2026-06-04T12:50:06.0777778Z             },
2026-06-04T12:50:06.0778777Z             {
2026-06-04T12:50:06.0780147Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.0781652Z               "line": 210
2026-06-04T12:50:06.0782784Z             },
2026-06-04T12:50:06.0788539Z             {
2026-06-04T12:50:06.0789945Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:50:06.0791429Z               "line": 37
2026-06-04T12:50:06.0792509Z             },
2026-06-04T12:50:06.0793460Z             {
2026-06-04T12:50:06.0794608Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:50:06.0796121Z               "line": 38
2026-06-04T12:50:06.0797202Z             },
2026-06-04T12:50:06.0798148Z             {
2026-06-04T12:50:06.0799339Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:50:06.0800835Z               "line": 36
2026-06-04T12:50:06.0801907Z             },
2026-06-04T12:50:06.0802863Z             {
2026-06-04T12:50:06.0803979Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:50:06.0805502Z               "line": 40
2026-06-04T12:50:06.0806592Z             }
2026-06-04T12:50:06.0807549Z           ]
2026-06-04T12:50:06.0808448Z         },
2026-06-04T12:50:06.0809384Z         "int": {
2026-06-04T12:50:06.0810386Z           "complete": false,
2026-06-04T12:50:06.0811565Z           "evidence": []
2026-06-04T12:50:06.0812642Z         },
2026-06-04T12:50:06.0813545Z         "unit": {
2026-06-04T12:50:06.0814560Z           "complete": true,
2026-06-04T12:50:06.0815711Z           "evidence": [
2026-06-04T12:50:06.0816775Z             {
2026-06-04T12:50:06.0817933Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.0819512Z               "line": 179
2026-06-04T12:50:06.0820598Z             },
2026-06-04T12:50:06.0821537Z             {
2026-06-04T12:50:06.0822719Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T12:50:06.0824280Z               "line": 117
2026-06-04T12:50:06.0825369Z             },
2026-06-04T12:50:06.0826321Z             {
2026-06-04T12:50:06.0827537Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:50:06.0829108Z               "line": 344
2026-06-04T12:50:06.0830231Z             },
2026-06-04T12:50:06.0831173Z             {
2026-06-04T12:50:06.0832307Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:50:06.0833803Z               "line": 204
2026-06-04T12:50:06.0834875Z             },
2026-06-04T12:50:06.0835832Z             {
2026-06-04T12:50:06.0836980Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T12:50:06.0838516Z               "line": 147
2026-06-04T12:50:06.0839649Z             },
2026-06-04T12:50:06.0840604Z             {
2026-06-04T12:50:06.0841732Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:50:06.0843230Z               "line": 106
2026-06-04T12:50:06.0844318Z             },
2026-06-04T12:50:06.0845265Z             {
2026-06-04T12:50:06.0846395Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:50:06.0847892Z               "line": 142
2026-06-04T12:50:06.0849285Z             },
2026-06-04T12:50:06.0850282Z             {
2026-06-04T12:50:06.0851431Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:50:06.0852949Z               "line": 139
2026-06-04T12:50:06.0854038Z             },
2026-06-04T12:50:06.0854988Z             {
2026-06-04T12:50:06.0856136Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:50:06.0857644Z               "line": 126
2026-06-04T12:50:06.0858750Z             },
2026-06-04T12:50:06.0859731Z             {
2026-06-04T12:50:06.0860848Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:50:06.0862336Z               "line": 135
2026-06-04T12:50:06.0863421Z             }
2026-06-04T12:50:06.0864365Z           ]
2026-06-04T12:50:06.0865293Z         }
2026-06-04T12:50:06.0866189Z       }
2026-06-04T12:50:06.0867064Z     },
2026-06-04T12:50:06.0867944Z     {
2026-06-04T12:50:06.0869004Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T12:50:06.0871157Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T12:50:06.0872964Z       "requiredStages": [
2026-06-04T12:50:06.0874084Z         "impl",
2026-06-04T12:50:06.0875052Z         "unit"
2026-06-04T12:50:06.0876006Z       ],
2026-06-04T12:50:06.0876922Z       "stages": {
2026-06-04T12:50:06.0877907Z         "doc": {
2026-06-04T12:50:06.0878938Z           "complete": false,
2026-06-04T12:50:06.0880170Z           "evidence": []
2026-06-04T12:50:06.0881254Z         },
2026-06-04T12:50:06.0882166Z         "impl": {
2026-06-04T12:50:06.0887145Z           "complete": true,
2026-06-04T12:50:06.0888401Z           "evidence": [
2026-06-04T12:50:06.0889548Z             {
2026-06-04T12:50:06.0890672Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.0892151Z               "line": 95
2026-06-04T12:50:06.0893221Z             },
2026-06-04T12:50:06.0894164Z             {
2026-06-04T12:50:06.0895272Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.0896799Z               "line": 96
2026-06-04T12:50:06.0897878Z             }
2026-06-04T12:50:06.0898815Z           ]
2026-06-04T12:50:06.0899765Z         },
2026-06-04T12:50:06.0900680Z         "int": {
2026-06-04T12:50:06.0901698Z           "complete": false,
2026-06-04T12:50:06.0902885Z           "evidence": []
2026-06-04T12:50:06.0904240Z         },
2026-06-04T12:50:06.0905409Z         "unit": {
2026-06-04T12:50:06.0906451Z           "complete": true,
2026-06-04T12:50:06.0907613Z           "evidence": [
2026-06-04T12:50:06.0908674Z             {
2026-06-04T12:50:06.0909858Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.0911350Z               "line": 250
2026-06-04T12:50:06.0912442Z             },
2026-06-04T12:50:06.0913394Z             {
2026-06-04T12:50:06.0914504Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T12:50:06.0915986Z               "line": 139
2026-06-04T12:50:06.0917072Z             },
2026-06-04T12:50:06.0918034Z             {
2026-06-04T12:50:06.0919218Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.0920704Z               "line": 384
2026-06-04T12:50:06.0921792Z             },
2026-06-04T12:50:06.0922744Z             {
2026-06-04T12:50:06.0923860Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.0925334Z               "line": 414
2026-06-04T12:50:06.0926427Z             }
2026-06-04T12:50:06.0927382Z           ]
2026-06-04T12:50:06.0928292Z         }
2026-06-04T12:50:06.0929225Z       }
2026-06-04T12:50:06.0930113Z     },
2026-06-04T12:50:06.0931003Z     {
2026-06-04T12:50:06.0931997Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T12:50:06.0933866Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T12:50:06.0935923Z       "requiredStages": [
2026-06-04T12:50:06.0937078Z         "impl",
2026-06-04T12:50:06.0938056Z         "unit"
2026-06-04T12:50:06.0939012Z       ],
2026-06-04T12:50:06.0939967Z       "stages": {
2026-06-04T12:50:06.0940975Z         "doc": {
2026-06-04T12:50:06.0942260Z           "complete": false,
2026-06-04T12:50:06.0943495Z           "evidence": []
2026-06-04T12:50:06.0944571Z         },
2026-06-04T12:50:06.0945496Z         "impl": {
2026-06-04T12:50:06.0946532Z           "complete": true,
2026-06-04T12:50:06.0947702Z           "evidence": [
2026-06-04T12:50:06.0948758Z             {
2026-06-04T12:50:06.0949926Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0951411Z               "line": 177
2026-06-04T12:50:06.0952505Z             },
2026-06-04T12:50:06.0953455Z             {
2026-06-04T12:50:06.0954574Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0956055Z               "line": 222
2026-06-04T12:50:06.0957150Z             },
2026-06-04T12:50:06.0958090Z             {
2026-06-04T12:50:06.0959243Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0960733Z               "line": 234
2026-06-04T12:50:06.0961830Z             }
2026-06-04T12:50:06.0962939Z           ]
2026-06-04T12:50:06.0963864Z         },
2026-06-04T12:50:06.0964789Z         "int": {
2026-06-04T12:50:06.0965820Z           "complete": false,
2026-06-04T12:50:06.0967024Z           "evidence": []
2026-06-04T12:50:06.0968113Z         },
2026-06-04T12:50:06.0969034Z         "unit": {
2026-06-04T12:50:06.0970111Z           "complete": true,
2026-06-04T12:50:06.0971269Z           "evidence": [
2026-06-04T12:50:06.0972322Z             {
2026-06-04T12:50:06.0973441Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0974923Z               "line": 370
2026-06-04T12:50:06.0976034Z             },
2026-06-04T12:50:06.0976987Z             {
2026-06-04T12:50:06.0978100Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.0979615Z               "line": 399
2026-06-04T12:50:06.0984874Z             }
2026-06-04T12:50:06.0985866Z           ]
2026-06-04T12:50:06.0986783Z         }
2026-06-04T12:50:06.0987679Z       }
2026-06-04T12:50:06.0988610Z     },
2026-06-04T12:50:06.0989592Z     {
2026-06-04T12:50:06.0990529Z       "id": "REQ-INFRA-1",
2026-06-04T12:50:06.0992209Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T12:50:06.0994179Z       "requiredStages": [],
2026-06-04T12:50:06.0995333Z       "stages": {
2026-06-04T12:50:06.0996322Z         "doc": {
2026-06-04T12:50:06.0997342Z           "complete": false,
2026-06-04T12:50:06.0998530Z           "evidence": []
2026-06-04T12:50:06.0999690Z         },
2026-06-04T12:50:06.1000618Z         "impl": {
2026-06-04T12:50:06.1001644Z           "complete": false,
2026-06-04T12:50:06.1002837Z           "evidence": []
2026-06-04T12:50:06.1003922Z         },
2026-06-04T12:50:06.1004832Z         "int": {
2026-06-04T12:50:06.1005848Z           "complete": false,
2026-06-04T12:50:06.1007020Z           "evidence": []
2026-06-04T12:50:06.1008107Z         },
2026-06-04T12:50:06.1009032Z         "unit": {
2026-06-04T12:50:06.1010460Z           "complete": false,
2026-06-04T12:50:06.1011664Z           "evidence": []
2026-06-04T12:50:06.1012756Z         }
2026-06-04T12:50:06.1013656Z       }
2026-06-04T12:50:06.1014531Z     },
2026-06-04T12:50:06.1015412Z     {
2026-06-04T12:50:06.1016344Z       "id": "REQ-INST-1",
2026-06-04T12:50:06.1017915Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T12:50:06.1019786Z       "requiredStages": [],
2026-06-04T12:50:06.1020940Z       "stages": {
2026-06-04T12:50:06.1021921Z         "doc": {
2026-06-04T12:50:06.1022946Z           "complete": false,
2026-06-04T12:50:06.1024130Z           "evidence": []
2026-06-04T12:50:06.1025217Z         },
2026-06-04T12:50:06.1026130Z         "impl": {
2026-06-04T12:50:06.1027162Z           "complete": false,
2026-06-04T12:50:06.1028343Z           "evidence": []
2026-06-04T12:50:06.1029473Z         },
2026-06-04T12:50:06.1030392Z         "int": {
2026-06-04T12:50:06.1031424Z           "complete": false,
2026-06-04T12:50:06.1032602Z           "evidence": []
2026-06-04T12:50:06.1033702Z         },
2026-06-04T12:50:06.1034864Z         "unit": {
2026-06-04T12:50:06.1035930Z           "complete": false,
2026-06-04T12:50:06.1037111Z           "evidence": []
2026-06-04T12:50:06.1038203Z         }
2026-06-04T12:50:06.1039098Z       }
2026-06-04T12:50:06.1040023Z     },
2026-06-04T12:50:06.1040914Z     {
2026-06-04T12:50:06.1041845Z       "id": "REQ-INST-10",
2026-06-04T12:50:06.1043710Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T12:50:06.1045878Z       "requiredStages": [
2026-06-04T12:50:06.1047009Z         "impl",
2026-06-04T12:50:06.1047973Z         "unit"
2026-06-04T12:50:06.1048925Z       ],
2026-06-04T12:50:06.1049859Z       "stages": {
2026-06-04T12:50:06.1050842Z         "doc": {
2026-06-04T12:50:06.1051864Z           "complete": false,
2026-06-04T12:50:06.1053048Z           "evidence": []
2026-06-04T12:50:06.1054124Z         },
2026-06-04T12:50:06.1055044Z         "impl": {
2026-06-04T12:50:06.1056072Z           "complete": true,
2026-06-04T12:50:06.1057412Z           "evidence": [
2026-06-04T12:50:06.1058490Z             {
2026-06-04T12:50:06.1059680Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1061211Z               "line": 358
2026-06-04T12:50:06.1062296Z             },
2026-06-04T12:50:06.1063245Z             {
2026-06-04T12:50:06.1064403Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1065938Z               "line": 413
2026-06-04T12:50:06.1067032Z             },
2026-06-04T12:50:06.1067984Z             {
2026-06-04T12:50:06.1069083Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:50:06.1070614Z               "line": 13
2026-06-04T12:50:06.1071699Z             },
2026-06-04T12:50:06.1072652Z             {
2026-06-04T12:50:06.1073760Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:50:06.1075235Z               "line": 67
2026-06-04T12:50:06.1076307Z             },
2026-06-04T12:50:06.1081381Z             {
2026-06-04T12:50:06.1082611Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:50:06.1084097Z               "line": 18
2026-06-04T12:50:06.1085205Z             }
2026-06-04T12:50:06.1086179Z           ]
2026-06-04T12:50:06.1087114Z         },
2026-06-04T12:50:06.1088042Z         "int": {
2026-06-04T12:50:06.1089102Z           "complete": false,
2026-06-04T12:50:06.1091565Z           "evidence": []
2026-06-04T12:50:06.1093049Z         },
2026-06-04T12:50:06.1094281Z         "unit": {
2026-06-04T12:50:06.1095540Z           "complete": true,
2026-06-04T12:50:06.1097357Z           "evidence": [
2026-06-04T12:50:06.1098561Z             {
2026-06-04T12:50:06.1100245Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1101953Z               "line": 557
2026-06-04T12:50:06.1103150Z             },
2026-06-04T12:50:06.1104227Z             {
2026-06-04T12:50:06.1105588Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1107161Z               "line": 585
2026-06-04T12:50:06.1108343Z             },
2026-06-04T12:50:06.1109378Z             {
2026-06-04T12:50:06.1110581Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1112147Z               "line": 593
2026-06-04T12:50:06.1113270Z             },
2026-06-04T12:50:06.1114242Z             {
2026-06-04T12:50:06.1115419Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1116988Z               "line": 606
2026-06-04T12:50:06.1118118Z             },
2026-06-04T12:50:06.1119099Z             {
2026-06-04T12:50:06.1120325Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1121889Z               "line": 619
2026-06-04T12:50:06.1123012Z             },
2026-06-04T12:50:06.1123995Z             {
2026-06-04T12:50:06.1125179Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1126749Z               "line": 635
2026-06-04T12:50:06.1127872Z             },
2026-06-04T12:50:06.1128848Z             {
2026-06-04T12:50:06.1130666Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1132295Z               "line": 864
2026-06-04T12:50:06.1133422Z             },
2026-06-04T12:50:06.1134400Z             {
2026-06-04T12:50:06.1135551Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:50:06.1137064Z               "line": 121
2026-06-04T12:50:06.1138187Z             },
2026-06-04T12:50:06.1139238Z             {
2026-06-04T12:50:06.1140393Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:50:06.1141897Z               "line": 142
2026-06-04T12:50:06.1143023Z             },
2026-06-04T12:50:06.1144006Z             {
2026-06-04T12:50:06.1145156Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:50:06.1146665Z               "line": 150
2026-06-04T12:50:06.1147788Z             },
2026-06-04T12:50:06.1148785Z             {
2026-06-04T12:50:06.1149968Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T12:50:06.1151465Z               "line": 158
2026-06-04T12:50:06.1152770Z             }
2026-06-04T12:50:06.1153757Z           ]
2026-06-04T12:50:06.1154708Z         }
2026-06-04T12:50:06.1155643Z       }
2026-06-04T12:50:06.1156065Z     },
2026-06-04T12:50:06.1156477Z     {
2026-06-04T12:50:06.1156945Z       "id": "REQ-INST-11",
2026-06-04T12:50:06.1158160Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T12:50:06.1158640Z       "requiredStages": [
2026-06-04T12:50:06.1159080Z         "impl",
2026-06-04T12:50:06.1159548Z         "unit"
2026-06-04T12:50:06.1159968Z       ],
2026-06-04T12:50:06.1160401Z       "stages": {
2026-06-04T12:50:06.1160830Z         "doc": {
2026-06-04T12:50:06.1161305Z           "complete": false,
2026-06-04T12:50:06.1161757Z           "evidence": []
2026-06-04T12:50:06.1162186Z         },
2026-06-04T12:50:06.1162612Z         "impl": {
2026-06-04T12:50:06.1163088Z           "complete": true,
2026-06-04T12:50:06.1163532Z           "evidence": [
2026-06-04T12:50:06.1163972Z             {
2026-06-04T12:50:06.1164630Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1165083Z               "line": 260
2026-06-04T12:50:06.1165512Z             },
2026-06-04T12:50:06.1165926Z             {
2026-06-04T12:50:06.1166605Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.1167057Z               "line": 243
2026-06-04T12:50:06.1167481Z             },
2026-06-04T12:50:06.1167909Z             {
2026-06-04T12:50:06.1168508Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:50:06.1168962Z               "line": 59
2026-06-04T12:50:06.1169424Z             },
2026-06-04T12:50:06.1169851Z             {
2026-06-04T12:50:06.1170390Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1170848Z               "line": 915
2026-06-04T12:50:06.1171277Z             },
2026-06-04T12:50:06.1171689Z             {
2026-06-04T12:50:06.1172235Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1172701Z               "line": 1020
2026-06-04T12:50:06.1173140Z             }
2026-06-04T12:50:06.1173554Z           ]
2026-06-04T12:50:06.1173979Z         },
2026-06-04T12:50:06.1180223Z         "int": {
2026-06-04T12:50:06.1180802Z           "complete": false,
2026-06-04T12:50:06.1181276Z           "evidence": []
2026-06-04T12:50:06.1181679Z         },
2026-06-04T12:50:06.1182094Z         "unit": {
2026-06-04T12:50:06.1182546Z           "complete": true,
2026-06-04T12:50:06.1182986Z           "evidence": [
2026-06-04T12:50:06.1183394Z             {
2026-06-04T12:50:06.1184018Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1184460Z               "line": 728
2026-06-04T12:50:06.1184861Z             },
2026-06-04T12:50:06.1185266Z             {
2026-06-04T12:50:06.1185885Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1186325Z               "line": 751
2026-06-04T12:50:06.1186735Z             },
2026-06-04T12:50:06.1187134Z             {
2026-06-04T12:50:06.1188142Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.1188602Z               "line": 356
2026-06-04T12:50:06.1189003Z             },
2026-06-04T12:50:06.1189455Z             {
2026-06-04T12:50:06.1190052Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:50:06.1190483Z               "line": 156
2026-06-04T12:50:06.1190879Z             },
2026-06-04T12:50:06.1191285Z             {
2026-06-04T12:50:06.1191865Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:50:06.1192306Z               "line": 177
2026-06-04T12:50:06.1192703Z             },
2026-06-04T12:50:06.1193111Z             {
2026-06-04T12:50:06.1193701Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T12:50:06.1194124Z               "line": 209
2026-06-04T12:50:06.1194530Z             },
2026-06-04T12:50:06.1194926Z             {
2026-06-04T12:50:06.1195449Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1195884Z               "line": 1113
2026-06-04T12:50:06.1196457Z             }
2026-06-04T12:50:06.1196880Z           ]
2026-06-04T12:50:06.1197278Z         }
2026-06-04T12:50:06.1197685Z       }
2026-06-04T12:50:06.1198076Z     },
2026-06-04T12:50:06.1198478Z     {
2026-06-04T12:50:06.1198924Z       "id": "REQ-INST-12",
2026-06-04T12:50:06.1200636Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T12:50:06.1201101Z       "requiredStages": [
2026-06-04T12:50:06.1201507Z         "impl",
2026-06-04T12:50:06.1201920Z         "unit"
2026-06-04T12:50:06.1202313Z       ],
2026-06-04T12:50:06.1202730Z       "stages": {
2026-06-04T12:50:06.1203133Z         "doc": {
2026-06-04T12:50:06.1203589Z           "complete": false,
2026-06-04T12:50:06.1204030Z           "evidence": []
2026-06-04T12:50:06.1204422Z         },
2026-06-04T12:50:06.1204837Z         "impl": {
2026-06-04T12:50:06.1205280Z           "complete": true,
2026-06-04T12:50:06.1205714Z           "evidence": [
2026-06-04T12:50:06.1206120Z             {
2026-06-04T12:50:06.1206756Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1207200Z               "line": 312
2026-06-04T12:50:06.1207604Z             },
2026-06-04T12:50:06.1208011Z             {
2026-06-04T12:50:06.1208626Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1209062Z               "line": 369
2026-06-04T12:50:06.1209505Z             },
2026-06-04T12:50:06.1209898Z             {
2026-06-04T12:50:06.1210525Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1210956Z               "line": 427
2026-06-04T12:50:06.1211362Z             },
2026-06-04T12:50:06.1211756Z             {
2026-06-04T12:50:06.1212350Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.1212787Z               "line": 87
2026-06-04T12:50:06.1213188Z             },
2026-06-04T12:50:06.1213591Z             {
2026-06-04T12:50:06.1214175Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.1214636Z               "line": 216
2026-06-04T12:50:06.1215045Z             },
2026-06-04T12:50:06.1215452Z             {
2026-06-04T12:50:06.1216082Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1216509Z               "line": 132
2026-06-04T12:50:06.1216915Z             }
2026-06-04T12:50:06.1217309Z           ]
2026-06-04T12:50:06.1217711Z         },
2026-06-04T12:50:06.1218119Z         "int": {
2026-06-04T12:50:06.1218569Z           "complete": false,
2026-06-04T12:50:06.1219005Z           "evidence": []
2026-06-04T12:50:06.1219446Z         },
2026-06-04T12:50:06.1219865Z         "unit": {
2026-06-04T12:50:06.1220309Z           "complete": true,
2026-06-04T12:50:06.1220739Z           "evidence": [
2026-06-04T12:50:06.1221131Z             {
2026-06-04T12:50:06.1221752Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1222187Z               "line": 786
2026-06-04T12:50:06.1222580Z             },
2026-06-04T12:50:06.1222999Z             {
2026-06-04T12:50:06.1223955Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1224423Z               "line": 803
2026-06-04T12:50:06.1224823Z             },
2026-06-04T12:50:06.1225224Z             {
2026-06-04T12:50:06.1225848Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1226275Z               "line": 834
2026-06-04T12:50:06.1226684Z             },
2026-06-04T12:50:06.1227083Z             {
2026-06-04T12:50:06.1227681Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.1228110Z               "line": 350
2026-06-04T12:50:06.1228517Z             },
2026-06-04T12:50:06.1228924Z             {
2026-06-04T12:50:06.1229602Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1230038Z               "line": 169
2026-06-04T12:50:06.1230438Z             },
2026-06-04T12:50:06.1230835Z             {
2026-06-04T12:50:06.1231446Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1232054Z               "line": 181
2026-06-04T12:50:06.1232465Z             },
2026-06-04T12:50:06.1232858Z             {
2026-06-04T12:50:06.1233488Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1233914Z               "line": 198
2026-06-04T12:50:06.1234323Z             }
2026-06-04T12:50:06.1234721Z           ]
2026-06-04T12:50:06.1235127Z         }
2026-06-04T12:50:06.1235530Z       }
2026-06-04T12:50:06.1235918Z     },
2026-06-04T12:50:06.1236314Z     {
2026-06-04T12:50:06.1236753Z       "id": "REQ-INST-13",
2026-06-04T12:50:06.1237730Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T12:50:06.1238187Z       "requiredStages": [
2026-06-04T12:50:06.1238611Z         "impl",
2026-06-04T12:50:06.1239030Z         "unit"
2026-06-04T12:50:06.1239474Z       ],
2026-06-04T12:50:06.1239900Z       "stages": {
2026-06-04T12:50:06.1240304Z         "doc": {
2026-06-04T12:50:06.1240754Z           "complete": false,
2026-06-04T12:50:06.1241202Z           "evidence": []
2026-06-04T12:50:06.1241599Z         },
2026-06-04T12:50:06.1242015Z         "impl": {
2026-06-04T12:50:06.1242459Z           "complete": true,
2026-06-04T12:50:06.1242896Z           "evidence": [
2026-06-04T12:50:06.1243292Z             {
2026-06-04T12:50:06.1243883Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1244305Z               "line": 94
2026-06-04T12:50:06.1244714Z             },
2026-06-04T12:50:06.1245116Z             {
2026-06-04T12:50:06.1245738Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1246178Z               "line": 155
2026-06-04T12:50:06.1246575Z             }
2026-06-04T12:50:06.1246984Z           ]
2026-06-04T12:50:06.1247382Z         },
2026-06-04T12:50:06.1247788Z         "int": {
2026-06-04T12:50:06.1248247Z           "complete": false,
2026-06-04T12:50:06.1248684Z           "evidence": []
2026-06-04T12:50:06.1249094Z         },
2026-06-04T12:50:06.1249561Z         "unit": {
2026-06-04T12:50:06.1250025Z           "complete": true,
2026-06-04T12:50:06.1250455Z           "evidence": [
2026-06-04T12:50:06.1250864Z             {
2026-06-04T12:50:06.1251500Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1251931Z               "line": 221
2026-06-04T12:50:06.1252339Z             },
2026-06-04T12:50:06.1252732Z             {
2026-06-04T12:50:06.1253362Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T12:50:06.1253786Z               "line": 233
2026-06-04T12:50:06.1254191Z             }
2026-06-04T12:50:06.1254600Z           ]
2026-06-04T12:50:06.1254995Z         }
2026-06-04T12:50:06.1255398Z       }
2026-06-04T12:50:06.1259790Z     },
2026-06-04T12:50:06.1260287Z     {
2026-06-04T12:50:06.1260749Z       "id": "REQ-INST-14",
2026-06-04T12:50:06.1262967Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T12:50:06.1263501Z       "requiredStages": [],
2026-06-04T12:50:06.1264161Z       "stages": {
2026-06-04T12:50:06.1264601Z         "doc": {
2026-06-04T12:50:06.1265054Z           "complete": false,
2026-06-04T12:50:06.1265495Z           "evidence": []
2026-06-04T12:50:06.1265898Z         },
2026-06-04T12:50:06.1266303Z         "impl": {
2026-06-04T12:50:06.1266758Z           "complete": false,
2026-06-04T12:50:06.1267187Z           "evidence": []
2026-06-04T12:50:06.1267592Z         },
2026-06-04T12:50:06.1268001Z         "int": {
2026-06-04T12:50:06.1268454Z           "complete": false,
2026-06-04T12:50:06.1268885Z           "evidence": []
2026-06-04T12:50:06.1269354Z         },
2026-06-04T12:50:06.1269768Z         "unit": {
2026-06-04T12:50:06.1270218Z           "complete": false,
2026-06-04T12:50:06.1270659Z           "evidence": []
2026-06-04T12:50:06.1271051Z         }
2026-06-04T12:50:06.1271455Z       }
2026-06-04T12:50:06.1271844Z     },
2026-06-04T12:50:06.1272248Z     {
2026-06-04T12:50:06.1272843Z       "id": "REQ-INST-15",
2026-06-04T12:50:06.1277257Z       "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-04T12:50:06.1277753Z       "requiredStages": [],
2026-06-04T12:50:06.1278194Z       "stages": {
2026-06-04T12:50:06.1278629Z         "doc": {
2026-06-04T12:50:06.1279108Z           "complete": false,
2026-06-04T12:50:06.1279593Z           "evidence": []
2026-06-04T12:50:06.1280016Z         },
2026-06-04T12:50:06.1280439Z         "impl": {
2026-06-04T12:50:06.1280910Z           "complete": false,
2026-06-04T12:50:06.1281357Z           "evidence": []
2026-06-04T12:50:06.1281782Z         },
2026-06-04T12:50:06.1282208Z         "int": {
2026-06-04T12:50:06.1282666Z           "complete": false,
2026-06-04T12:50:06.1283119Z           "evidence": []
2026-06-04T12:50:06.1283544Z         },
2026-06-04T12:50:06.1283971Z         "unit": {
2026-06-04T12:50:06.1284412Z           "complete": false,
2026-06-04T12:50:06.1284850Z           "evidence": []
2026-06-04T12:50:06.1285248Z         }
2026-06-04T12:50:06.1285639Z       }
2026-06-04T12:50:06.1286036Z     },
2026-06-04T12:50:06.1286425Z     {
2026-06-04T12:50:06.1286865Z       "id": "REQ-INST-2",
2026-06-04T12:50:06.1287462Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T12:50:06.1287922Z       "requiredStages": [
2026-06-04T12:50:06.1288328Z         "impl",
2026-06-04T12:50:06.1288724Z         "unit"
2026-06-04T12:50:06.1289152Z       ],
2026-06-04T12:50:06.1289607Z       "stages": {
2026-06-04T12:50:06.1290018Z         "doc": {
2026-06-04T12:50:06.1290459Z           "complete": false,
2026-06-04T12:50:06.1290902Z           "evidence": []
2026-06-04T12:50:06.1291306Z         },
2026-06-04T12:50:06.1291720Z         "impl": {
2026-06-04T12:50:06.1292169Z           "complete": true,
2026-06-04T12:50:06.1292607Z           "evidence": [
2026-06-04T12:50:06.1293023Z             {
2026-06-04T12:50:06.1293647Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1294083Z               "line": 86
2026-06-04T12:50:06.1294488Z             },
2026-06-04T12:50:06.1294882Z             {
2026-06-04T12:50:06.1295461Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:06.1295883Z               "line": 28
2026-06-04T12:50:06.1296290Z             },
2026-06-04T12:50:06.1296684Z             {
2026-06-04T12:50:06.1297263Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:06.1297698Z               "line": 74
2026-06-04T12:50:06.1298098Z             },
2026-06-04T12:50:06.1298501Z             {
2026-06-04T12:50:06.1299075Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:06.1299549Z               "line": 96
2026-06-04T12:50:06.1299944Z             },
2026-06-04T12:50:06.1300350Z             {
2026-06-04T12:50:06.1300925Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:50:06.1301522Z               "line": 81
2026-06-04T12:50:06.1301948Z             },
2026-06-04T12:50:06.1302345Z             {
2026-06-04T12:50:06.1302949Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T12:50:06.1303374Z               "line": 118
2026-06-04T12:50:06.1303773Z             }
2026-06-04T12:50:06.1304177Z           ]
2026-06-04T12:50:06.1304568Z         },
2026-06-04T12:50:06.1304977Z         "int": {
2026-06-04T12:50:06.1305418Z           "complete": false,
2026-06-04T12:50:06.1305855Z           "evidence": []
2026-06-04T12:50:06.1306250Z         },
2026-06-04T12:50:06.1306661Z         "unit": {
2026-06-04T12:50:06.1307111Z           "complete": true,
2026-06-04T12:50:06.1307531Z           "evidence": [
2026-06-04T12:50:06.1307932Z             {
2026-06-04T12:50:06.1308508Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T12:50:06.1308944Z               "line": 203
2026-06-04T12:50:06.1309382Z             },
2026-06-04T12:50:06.1309929Z             {
2026-06-04T12:50:06.1310531Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:50:06.1310960Z               "line": 232
2026-06-04T12:50:06.1311361Z             }
2026-06-04T12:50:06.1311756Z           ]
2026-06-04T12:50:06.1312157Z         }
2026-06-04T12:50:06.1312549Z       }
2026-06-04T12:50:06.1312942Z     },
2026-06-04T12:50:06.1313333Z     {
2026-06-04T12:50:06.1313764Z       "id": "REQ-INST-3",
2026-06-04T12:50:06.1314537Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T12:50:06.1314988Z       "requiredStages": [
2026-06-04T12:50:06.1315396Z         "doc",
2026-06-04T12:50:06.1315801Z         "impl",
2026-06-04T12:50:06.1316204Z         "unit"
2026-06-04T12:50:06.1316605Z       ],
2026-06-04T12:50:06.1317012Z       "stages": {
2026-06-04T12:50:06.1317424Z         "doc": {
2026-06-04T12:50:06.1317867Z           "complete": true,
2026-06-04T12:50:06.1318306Z           "evidence": [
2026-06-04T12:50:06.1318701Z             {
2026-06-04T12:50:06.1319325Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-04T12:50:06.1319756Z               "line": 3
2026-06-04T12:50:06.1320151Z             }
2026-06-04T12:50:06.1320550Z           ]
2026-06-04T12:50:06.1320938Z         },
2026-06-04T12:50:06.1321359Z         "impl": {
2026-06-04T12:50:06.1321795Z           "complete": true,
2026-06-04T12:50:06.1322225Z           "evidence": [
2026-06-04T12:50:06.1322624Z             {
2026-06-04T12:50:06.1323226Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:50:06.1323653Z               "line": 70
2026-06-04T12:50:06.1324047Z             },
2026-06-04T12:50:06.1324452Z             {
2026-06-04T12:50:06.1325070Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.1325505Z               "line": 385
2026-06-04T12:50:06.1325909Z             },
2026-06-04T12:50:06.1326302Z             {
2026-06-04T12:50:06.1326932Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1327371Z               "line": 197
2026-06-04T12:50:06.1327785Z             },
2026-06-04T12:50:06.1328179Z             {
2026-06-04T12:50:06.1330074Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1330976Z               "line": 272
2026-06-04T12:50:06.1331493Z             },
2026-06-04T12:50:06.1331999Z             {
2026-06-04T12:50:06.1332767Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1333413Z               "line": 293
2026-06-04T12:50:06.1333866Z             },
2026-06-04T12:50:06.1334299Z             {
2026-06-04T12:50:06.1334965Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:50:06.1335409Z               "line": 234
2026-06-04T12:50:06.1335847Z             },
2026-06-04T12:50:06.1336287Z             {
2026-06-04T12:50:06.1337000Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1337501Z               "line": 147
2026-06-04T12:50:06.1338261Z             },
2026-06-04T12:50:06.1339051Z             {
2026-06-04T12:50:06.1340306Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1340801Z               "line": 214
2026-06-04T12:50:06.1341231Z             },
2026-06-04T12:50:06.1341668Z             {
2026-06-04T12:50:06.1342710Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1349013Z               "line": 44
2026-06-04T12:50:06.1350131Z             },
2026-06-04T12:50:06.1350715Z             {
2026-06-04T12:50:06.1351545Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1351994Z               "line": 113
2026-06-04T12:50:06.1352407Z             },
2026-06-04T12:50:06.1352810Z             {
2026-06-04T12:50:06.1353428Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1353868Z               "line": 151
2026-06-04T12:50:06.1354264Z             },
2026-06-04T12:50:06.1354667Z             {
2026-06-04T12:50:06.1355279Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1356087Z               "line": 167
2026-06-04T12:50:06.1356524Z             },
2026-06-04T12:50:06.1356945Z             {
2026-06-04T12:50:06.1357592Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1358050Z               "line": 177
2026-06-04T12:50:06.1358484Z             },
2026-06-04T12:50:06.1358902Z             {
2026-06-04T12:50:06.1359587Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1360035Z               "line": 209
2026-06-04T12:50:06.1360435Z             },
2026-06-04T12:50:06.1360844Z             {
2026-06-04T12:50:06.1361447Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1361886Z               "line": 282
2026-06-04T12:50:06.1362285Z             },
2026-06-04T12:50:06.1362693Z             {
2026-06-04T12:50:06.1363312Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1363743Z               "line": 306
2026-06-04T12:50:06.1364150Z             },
2026-06-04T12:50:06.1364564Z             {
2026-06-04T12:50:06.1365190Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1365635Z               "line": 346
2026-06-04T12:50:06.1366033Z             },
2026-06-04T12:50:06.1366436Z             {
2026-06-04T12:50:06.1367047Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1367844Z               "line": 361
2026-06-04T12:50:06.1368425Z             },
2026-06-04T12:50:06.1368873Z             {
2026-06-04T12:50:06.1369752Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-04T12:50:06.1370188Z               "line": 37
2026-06-04T12:50:06.1370597Z             },
2026-06-04T12:50:06.1371197Z             {
2026-06-04T12:50:06.1372034Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1372487Z               "line": 62
2026-06-04T12:50:06.1372913Z             },
2026-06-04T12:50:06.1373331Z             {
2026-06-04T12:50:06.1373918Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:06.1374410Z               "line": 156
2026-06-04T12:50:06.1375068Z             },
2026-06-04T12:50:06.1375536Z             {
2026-06-04T12:50:06.1376094Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1376556Z               "line": 332
2026-06-04T12:50:06.1376981Z             }
2026-06-04T12:50:06.1377388Z           ]
2026-06-04T12:50:06.1377809Z         },
2026-06-04T12:50:06.1378222Z         "int": {
2026-06-04T12:50:06.1378694Z           "complete": false,
2026-06-04T12:50:06.1379142Z           "evidence": []
2026-06-04T12:50:06.1379776Z         },
2026-06-04T12:50:06.1380187Z         "unit": {
2026-06-04T12:50:06.1380625Z           "complete": true,
2026-06-04T12:50:06.1381060Z           "evidence": [
2026-06-04T12:50:06.1381456Z             {
2026-06-04T12:50:06.1382073Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:06.1382505Z               "line": 292
2026-06-04T12:50:06.1382913Z             },
2026-06-04T12:50:06.1383340Z             {
2026-06-04T12:50:06.1384158Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1384608Z               "line": 610
2026-06-04T12:50:06.1385008Z             },
2026-06-04T12:50:06.1385410Z             {
2026-06-04T12:50:06.1386038Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1386474Z               "line": 661
2026-06-04T12:50:06.1386882Z             },
2026-06-04T12:50:06.1387276Z             {
2026-06-04T12:50:06.1387942Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1388369Z               "line": 365
2026-06-04T12:50:06.1388778Z             },
2026-06-04T12:50:06.1389227Z             {
2026-06-04T12:50:06.1389910Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1390348Z               "line": 412
2026-06-04T12:50:06.1390745Z             },
2026-06-04T12:50:06.1391147Z             {
2026-06-04T12:50:06.1391760Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1392368Z               "line": 372
2026-06-04T12:50:06.1392769Z             },
2026-06-04T12:50:06.1393172Z             {
2026-06-04T12:50:06.1393787Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1394215Z               "line": 401
2026-06-04T12:50:06.1394741Z             },
2026-06-04T12:50:06.1395132Z             {
2026-06-04T12:50:06.1395746Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1396183Z               "line": 434
2026-06-04T12:50:06.1396581Z             },
2026-06-04T12:50:06.1396982Z             {
2026-06-04T12:50:06.1397586Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1398021Z               "line": 542
2026-06-04T12:50:06.1398418Z             },
2026-06-04T12:50:06.1398827Z             {
2026-06-04T12:50:06.1399494Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1399923Z               "line": 621
2026-06-04T12:50:06.1400335Z             },
2026-06-04T12:50:06.1400746Z             {
2026-06-04T12:50:06.1401370Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1401802Z               "line": 635
2026-06-04T12:50:06.1402215Z             },
2026-06-04T12:50:06.1402618Z             {
2026-06-04T12:50:06.1403233Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1403670Z               "line": 566
2026-06-04T12:50:06.1404073Z             },
2026-06-04T12:50:06.1404474Z             {
2026-06-04T12:50:06.1405034Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:06.1405470Z               "line": 327
2026-06-04T12:50:06.1405875Z             },
2026-06-04T12:50:06.1406271Z             {
2026-06-04T12:50:06.1406797Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1407225Z               "line": 1116
2026-06-04T12:50:06.1407635Z             }
2026-06-04T12:50:06.1408021Z           ]
2026-06-04T12:50:06.1408426Z         }
2026-06-04T12:50:06.1408830Z       }
2026-06-04T12:50:06.1409272Z     },
2026-06-04T12:50:06.1409694Z     {
2026-06-04T12:50:06.1410134Z       "id": "REQ-INST-4",
2026-06-04T12:50:06.1411072Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T12:50:06.1411639Z       "requiredStages": [
2026-06-04T12:50:06.1412053Z         "impl",
2026-06-04T12:50:06.1412465Z         "unit"
2026-06-04T12:50:06.1412860Z       ],
2026-06-04T12:50:06.1413280Z       "stages": {
2026-06-04T12:50:06.1413683Z         "doc": {
2026-06-04T12:50:06.1414145Z           "complete": false,
2026-06-04T12:50:06.1414575Z           "evidence": []
2026-06-04T12:50:06.1414984Z         },
2026-06-04T12:50:06.1415402Z         "impl": {
2026-06-04T12:50:06.1415839Z           "complete": true,
2026-06-04T12:50:06.1416267Z           "evidence": [
2026-06-04T12:50:06.1416666Z             {
2026-06-04T12:50:06.1417304Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1417731Z               "line": 273
2026-06-04T12:50:06.1418155Z             },
2026-06-04T12:50:06.1418719Z             {
2026-06-04T12:50:06.1419390Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1419857Z               "line": 201
2026-06-04T12:50:06.1420279Z             },
2026-06-04T12:50:06.1420695Z             {
2026-06-04T12:50:06.1421440Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1421881Z               "line": 233
2026-06-04T12:50:06.1422288Z             },
2026-06-04T12:50:06.1422688Z             {
2026-06-04T12:50:06.1423306Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1423738Z               "line": 269
2026-06-04T12:50:06.1424150Z             }
2026-06-04T12:50:06.1424547Z           ]
2026-06-04T12:50:06.1424952Z         },
2026-06-04T12:50:06.1425368Z         "int": {
2026-06-04T12:50:06.1425815Z           "complete": false,
2026-06-04T12:50:06.1426258Z           "evidence": []
2026-06-04T12:50:06.1426651Z         },
2026-06-04T12:50:06.1427225Z         "unit": {
2026-06-04T12:50:06.1427680Z           "complete": true,
2026-06-04T12:50:06.1432970Z           "evidence": [
2026-06-04T12:50:06.1433531Z             {
2026-06-04T12:50:06.1434202Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.1434643Z               "line": 656
2026-06-04T12:50:06.1435048Z             },
2026-06-04T12:50:06.1435455Z             {
2026-06-04T12:50:06.1436070Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1436511Z               "line": 452
2026-06-04T12:50:06.1436918Z             },
2026-06-04T12:50:06.1437315Z             {
2026-06-04T12:50:06.1437929Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1438355Z               "line": 517
2026-06-04T12:50:06.1438764Z             },
2026-06-04T12:50:06.1439233Z             {
2026-06-04T12:50:06.1439857Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-04T12:50:06.1440292Z               "line": 584
2026-06-04T12:50:06.1440736Z             }
2026-06-04T12:50:06.1441141Z           ]
2026-06-04T12:50:06.1441563Z         }
2026-06-04T12:50:06.1441974Z       }
2026-06-04T12:50:06.1442362Z     },
2026-06-04T12:50:06.1442766Z     {
2026-06-04T12:50:06.1443215Z       "id": "REQ-INST-5",
2026-06-04T12:50:06.1444161Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T12:50:06.1444628Z       "requiredStages": [
2026-06-04T12:50:06.1445036Z         "impl",
2026-06-04T12:50:06.1445447Z         "unit"
2026-06-04T12:50:06.1445844Z       ],
2026-06-04T12:50:06.1446274Z       "stages": {
2026-06-04T12:50:06.1446689Z         "doc": {
2026-06-04T12:50:06.1447142Z           "complete": false,
2026-06-04T12:50:06.1447590Z           "evidence": []
2026-06-04T12:50:06.1447985Z         },
2026-06-04T12:50:06.1448400Z         "impl": {
2026-06-04T12:50:06.1448838Z           "complete": true,
2026-06-04T12:50:06.1449378Z           "evidence": [
2026-06-04T12:50:06.1449793Z             {
2026-06-04T12:50:06.1450445Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:50:06.1450899Z               "line": 39
2026-06-04T12:50:06.1451304Z             },
2026-06-04T12:50:06.1451715Z             {
2026-06-04T12:50:06.1452297Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1452736Z               "line": 68
2026-06-04T12:50:06.1453143Z             },
2026-06-04T12:50:06.1453542Z             {
2026-06-04T12:50:06.1454126Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1454548Z               "line": 93
2026-06-04T12:50:06.1454955Z             },
2026-06-04T12:50:06.1455346Z             {
2026-06-04T12:50:06.1455936Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1456368Z               "line": 160
2026-06-04T12:50:06.1456760Z             },
2026-06-04T12:50:06.1457167Z             {
2026-06-04T12:50:06.1457737Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1458169Z               "line": 271
2026-06-04T12:50:06.1458591Z             }
2026-06-04T12:50:06.1459399Z           ]
2026-06-04T12:50:06.1459864Z         },
2026-06-04T12:50:06.1460286Z         "int": {
2026-06-04T12:50:06.1460761Z           "complete": true,
2026-06-04T12:50:06.1461208Z           "evidence": [
2026-06-04T12:50:06.1461633Z             {
2026-06-04T12:50:06.1462306Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.1462755Z               "line": 142
2026-06-04T12:50:06.1463188Z             },
2026-06-04T12:50:06.1463603Z             {
2026-06-04T12:50:06.1464263Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T12:50:06.1464690Z               "line": 102
2026-06-04T12:50:06.1465102Z             }
2026-06-04T12:50:06.1465504Z           ]
2026-06-04T12:50:06.1465898Z         },
2026-06-04T12:50:06.1466314Z         "unit": {
2026-06-04T12:50:06.1466754Z           "complete": true,
2026-06-04T12:50:06.1467193Z           "evidence": [
2026-06-04T12:50:06.1467591Z             {
2026-06-04T12:50:06.1468386Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1468829Z               "line": 461
2026-06-04T12:50:06.1469275Z             },
2026-06-04T12:50:06.1469685Z             {
2026-06-04T12:50:06.1470260Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1470708Z               "line": 495
2026-06-04T12:50:06.1471104Z             },
2026-06-04T12:50:06.1471505Z             {
2026-06-04T12:50:06.1472118Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:50:06.1472550Z               "line": 199
2026-06-04T12:50:06.1472954Z             }
2026-06-04T12:50:06.1473343Z           ]
2026-06-04T12:50:06.1473739Z         }
2026-06-04T12:50:06.1474134Z       }
2026-06-04T12:50:06.1474527Z     },
2026-06-04T12:50:06.1474922Z     {
2026-06-04T12:50:06.1475366Z       "id": "REQ-INST-6",
2026-06-04T12:50:06.1476387Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T12:50:06.1476847Z       "requiredStages": [],
2026-06-04T12:50:06.1477287Z       "stages": {
2026-06-04T12:50:06.1477696Z         "doc": {
2026-06-04T12:50:06.1478160Z           "complete": false,
2026-06-04T12:50:06.1478600Z           "evidence": []
2026-06-04T12:50:06.1478987Z         },
2026-06-04T12:50:06.1479452Z         "impl": {
2026-06-04T12:50:06.1479905Z           "complete": false,
2026-06-04T12:50:06.1480347Z           "evidence": []
2026-06-04T12:50:06.1480744Z         },
2026-06-04T12:50:06.1481160Z         "int": {
2026-06-04T12:50:06.1481618Z           "complete": false,
2026-06-04T12:50:06.1482045Z           "evidence": []
2026-06-04T12:50:06.1482449Z         },
2026-06-04T12:50:06.1482848Z         "unit": {
2026-06-04T12:50:06.1483296Z           "complete": false,
2026-06-04T12:50:06.1483720Z           "evidence": []
2026-06-04T12:50:06.1484116Z         }
2026-06-04T12:50:06.1484516Z       }
2026-06-04T12:50:06.1484902Z     },
2026-06-04T12:50:06.1485300Z     {
2026-06-04T12:50:06.1485738Z       "id": "REQ-INST-7",
2026-06-04T12:50:06.1486498Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T12:50:06.1486954Z       "requiredStages": [
2026-06-04T12:50:06.1487368Z         "impl",
2026-06-04T12:50:06.1487783Z         "unit"
2026-06-04T12:50:06.1488169Z       ],
2026-06-04T12:50:06.1488590Z       "stages": {
2026-06-04T12:50:06.1488994Z         "doc": {
2026-06-04T12:50:06.1489486Z           "complete": false,
2026-06-04T12:50:06.1489916Z           "evidence": []
2026-06-04T12:50:06.1490326Z         },
2026-06-04T12:50:06.1490729Z         "impl": {
2026-06-04T12:50:06.1491180Z           "complete": true,
2026-06-04T12:50:06.1491612Z           "evidence": [
2026-06-04T12:50:06.1492009Z             {
2026-06-04T12:50:06.1492637Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.1493061Z               "line": 361
2026-06-04T12:50:06.1493461Z             },
2026-06-04T12:50:06.1493869Z             {
2026-06-04T12:50:06.1494495Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:50:06.1494933Z               "line": 40
2026-06-04T12:50:06.1495500Z             },
2026-06-04T12:50:06.1495921Z             {
2026-06-04T12:50:06.1496593Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1497021Z               "line": 27
2026-06-04T12:50:06.1497427Z             },
2026-06-04T12:50:06.1497820Z             {
2026-06-04T12:50:06.1498493Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1498922Z               "line": 120
2026-06-04T12:50:06.1499383Z             },
2026-06-04T12:50:06.1499776Z             {
2026-06-04T12:50:06.1500443Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1500882Z               "line": 197
2026-06-04T12:50:06.1501281Z             },
2026-06-04T12:50:06.1501689Z             {
2026-06-04T12:50:06.1502287Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T12:50:06.1502721Z               "line": 56
2026-06-04T12:50:06.1503116Z             },
2026-06-04T12:50:06.1503670Z             {
2026-06-04T12:50:06.1504313Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1504738Z               "line": 41
2026-06-04T12:50:06.1505137Z             },
2026-06-04T12:50:06.1505528Z             {
2026-06-04T12:50:06.1506173Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.1506591Z               "line": 27
2026-06-04T12:50:06.1506994Z             },
2026-06-04T12:50:06.1507393Z             {
2026-06-04T12:50:06.1508029Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.1512461Z               "line": 59
2026-06-04T12:50:06.1512983Z             },
2026-06-04T12:50:06.1513416Z             {
2026-06-04T12:50:06.1514080Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.1514536Z               "line": 68
2026-06-04T12:50:06.1514960Z             },
2026-06-04T12:50:06.1515379Z             {
2026-06-04T12:50:06.1515999Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T12:50:06.1516498Z               "line": 129
2026-06-04T12:50:06.1516931Z             }
2026-06-04T12:50:06.1517354Z           ]
2026-06-04T12:50:06.1517804Z         },
2026-06-04T12:50:06.1518237Z         "int": {
2026-06-04T12:50:06.1518708Z           "complete": true,
2026-06-04T12:50:06.1519245Z           "evidence": [
2026-06-04T12:50:06.1519673Z             {
2026-06-04T12:50:06.1520350Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T12:50:06.1520806Z               "line": 102
2026-06-04T12:50:06.1521229Z             }
2026-06-04T12:50:06.1521655Z           ]
2026-06-04T12:50:06.1522066Z         },
2026-06-04T12:50:06.1522498Z         "unit": {
2026-06-04T12:50:06.1522954Z           "complete": true,
2026-06-04T12:50:06.1523414Z           "evidence": [
2026-06-04T12:50:06.1523830Z             {
2026-06-04T12:50:06.1524526Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1524981Z               "line": 342
2026-06-04T12:50:06.1525416Z             },
2026-06-04T12:50:06.1525852Z             {
2026-06-04T12:50:06.1526538Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-04T12:50:06.1526997Z               "line": 458
2026-06-04T12:50:06.1527432Z             },
2026-06-04T12:50:06.1527848Z             {
2026-06-04T12:50:06.1528527Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T12:50:06.1528965Z               "line": 83
2026-06-04T12:50:06.1529439Z             },
2026-06-04T12:50:06.1529865Z             {
2026-06-04T12:50:06.1530510Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1530968Z               "line": 482
2026-06-04T12:50:06.1531386Z             },
2026-06-04T12:50:06.1531811Z             {
2026-06-04T12:50:06.1532445Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1532901Z               "line": 493
2026-06-04T12:50:06.1533315Z             },
2026-06-04T12:50:06.1533739Z             {
2026-06-04T12:50:06.1534640Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1535109Z               "line": 502
2026-06-04T12:50:06.1535536Z             },
2026-06-04T12:50:06.1535950Z             {
2026-06-04T12:50:06.1536624Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.1537070Z               "line": 90
2026-06-04T12:50:06.1537495Z             },
2026-06-04T12:50:06.1537924Z             {
2026-06-04T12:50:06.1538572Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.1539028Z               "line": 105
2026-06-04T12:50:06.1539492Z             },
2026-06-04T12:50:06.1539920Z             {
2026-06-04T12:50:06.1540571Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T12:50:06.1541037Z               "line": 131
2026-06-04T12:50:06.1541471Z             }
2026-06-04T12:50:06.1541892Z           ]
2026-06-04T12:50:06.1542314Z         }
2026-06-04T12:50:06.1542728Z       }
2026-06-04T12:50:06.1543346Z     },
2026-06-04T12:50:06.1543755Z     {
2026-06-04T12:50:06.1544216Z       "id": "REQ-INST-8",
2026-06-04T12:50:06.1545032Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T12:50:06.1545485Z       "requiredStages": [
2026-06-04T12:50:06.1545895Z         "impl",
2026-06-04T12:50:06.1546289Z         "unit"
2026-06-04T12:50:06.1546695Z       ],
2026-06-04T12:50:06.1547096Z       "stages": {
2026-06-04T12:50:06.1547500Z         "doc": {
2026-06-04T12:50:06.1547957Z           "complete": false,
2026-06-04T12:50:06.1548388Z           "evidence": []
2026-06-04T12:50:06.1548790Z         },
2026-06-04T12:50:06.1549238Z         "impl": {
2026-06-04T12:50:06.1549689Z           "complete": true,
2026-06-04T12:50:06.1550116Z           "evidence": [
2026-06-04T12:50:06.1550518Z             {
2026-06-04T12:50:06.1551128Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:50:06.1551556Z               "line": 98
2026-06-04T12:50:06.1551967Z             },
2026-06-04T12:50:06.1552376Z             {
2026-06-04T12:50:06.1552991Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:50:06.1553419Z               "line": 202
2026-06-04T12:50:06.1553822Z             },
2026-06-04T12:50:06.1554219Z             {
2026-06-04T12:50:06.1554814Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:50:06.1555249Z               "line": 220
2026-06-04T12:50:06.1555643Z             },
2026-06-04T12:50:06.1556045Z             {
2026-06-04T12:50:06.1556643Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T12:50:06.1557080Z               "line": 35
2026-06-04T12:50:06.1557483Z             }
2026-06-04T12:50:06.1557874Z           ]
2026-06-04T12:50:06.1558269Z         },
2026-06-04T12:50:06.1558668Z         "int": {
2026-06-04T12:50:06.1559115Z           "complete": true,
2026-06-04T12:50:06.1559588Z           "evidence": [
2026-06-04T12:50:06.1559999Z             {
2026-06-04T12:50:06.1560643Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.1561182Z               "line": 375
2026-06-04T12:50:06.1561589Z             }
2026-06-04T12:50:06.1561980Z           ]
2026-06-04T12:50:06.1562381Z         },
2026-06-04T12:50:06.1562791Z         "unit": {
2026-06-04T12:50:06.1563239Z           "complete": true,
2026-06-04T12:50:06.1563668Z           "evidence": [
2026-06-04T12:50:06.1564063Z             {
2026-06-04T12:50:06.1564687Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:50:06.1565109Z               "line": 172
2026-06-04T12:50:06.1565516Z             },
2026-06-04T12:50:06.1565903Z             {
2026-06-04T12:50:06.1566519Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:50:06.1566948Z               "line": 226
2026-06-04T12:50:06.1567345Z             },
2026-06-04T12:50:06.1567743Z             {
2026-06-04T12:50:06.1568346Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T12:50:06.1568776Z               "line": 70
2026-06-04T12:50:06.1569233Z             },
2026-06-04T12:50:06.1569643Z             {
2026-06-04T12:50:06.1570397Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-04T12:50:06.1570934Z               "line": 101
2026-06-04T12:50:06.1571338Z             }
2026-06-04T12:50:06.1571732Z           ]
2026-06-04T12:50:06.1572130Z         }
2026-06-04T12:50:06.1572529Z       }
2026-06-04T12:50:06.1572932Z     },
2026-06-04T12:50:06.1573329Z     {
2026-06-04T12:50:06.1573762Z       "id": "REQ-INST-9",
2026-06-04T12:50:06.1574759Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T12:50:06.1575219Z       "requiredStages": [
2026-06-04T12:50:06.1575627Z         "impl",
2026-06-04T12:50:06.1576025Z         "unit"
2026-06-04T12:50:06.1576423Z       ],
2026-06-04T12:50:06.1576842Z       "stages": {
2026-06-04T12:50:06.1577243Z         "doc": {
2026-06-04T12:50:06.1577700Z           "complete": false,
2026-06-04T12:50:06.1578131Z           "evidence": []
2026-06-04T12:50:06.1578528Z         },
2026-06-04T12:50:06.1579079Z         "impl": {
2026-06-04T12:50:06.1579581Z           "complete": true,
2026-06-04T12:50:06.1580116Z           "evidence": [
2026-06-04T12:50:06.1580513Z             {
2026-06-04T12:50:06.1581142Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1581562Z               "line": 198
2026-06-04T12:50:06.1581965Z             }
2026-06-04T12:50:06.1582362Z           ]
2026-06-04T12:50:06.1582760Z         },
2026-06-04T12:50:06.1583169Z         "int": {
2026-06-04T12:50:06.1583611Z           "complete": false,
2026-06-04T12:50:06.1584044Z           "evidence": []
2026-06-04T12:50:06.1584436Z         },
2026-06-04T12:50:06.1584848Z         "unit": {
2026-06-04T12:50:06.1585285Z           "complete": true,
2026-06-04T12:50:06.1585724Z           "evidence": [
2026-06-04T12:50:06.1586127Z             {
2026-06-04T12:50:06.1587550Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1588261Z               "line": 652
2026-06-04T12:50:06.1588783Z             },
2026-06-04T12:50:06.1589384Z             {
2026-06-04T12:50:06.1590210Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1595517Z               "line": 661
2026-06-04T12:50:06.1595971Z             },
2026-06-04T12:50:06.1596387Z             {
2026-06-04T12:50:06.1597051Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1597504Z               "line": 675
2026-06-04T12:50:06.1597933Z             },
2026-06-04T12:50:06.1598363Z             {
2026-06-04T12:50:06.1598989Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1599513Z               "line": 685
2026-06-04T12:50:06.1599913Z             },
2026-06-04T12:50:06.1600318Z             {
2026-06-04T12:50:06.1600940Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T12:50:06.1601382Z               "line": 704
2026-06-04T12:50:06.1601793Z             }
2026-06-04T12:50:06.1602189Z           ]
2026-06-04T12:50:06.1602594Z         }
2026-06-04T12:50:06.1603041Z       }
2026-06-04T12:50:06.1603454Z     },
2026-06-04T12:50:06.1603843Z     {
2026-06-04T12:50:06.1604311Z       "id": "REQ-INSTALL-1",
2026-06-04T12:50:06.1605360Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T12:50:06.1605838Z       "requiredStages": [],
2026-06-04T12:50:06.1606268Z       "stages": {
2026-06-04T12:50:06.1606675Z         "doc": {
2026-06-04T12:50:06.1607139Z           "complete": false,
2026-06-04T12:50:06.1607573Z           "evidence": []
2026-06-04T12:50:06.1607978Z         },
2026-06-04T12:50:06.1608402Z         "impl": {
2026-06-04T12:50:06.1608850Z           "complete": false,
2026-06-04T12:50:06.1609330Z           "evidence": []
2026-06-04T12:50:06.1609736Z         },
2026-06-04T12:50:06.1610149Z         "int": {
2026-06-04T12:50:06.1610593Z           "complete": false,
2026-06-04T12:50:06.1611028Z           "evidence": []
2026-06-04T12:50:06.1611434Z         },
2026-06-04T12:50:06.1611843Z         "unit": {
2026-06-04T12:50:06.1612644Z           "complete": false,
2026-06-04T12:50:06.1613127Z           "evidence": []
2026-06-04T12:50:06.1613554Z         }
2026-06-04T12:50:06.1613969Z       }
2026-06-04T12:50:06.1614387Z     },
2026-06-04T12:50:06.1614797Z     {
2026-06-04T12:50:06.1615280Z       "id": "REQ-INSTALL-2",
2026-06-04T12:50:06.1615993Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T12:50:06.1616446Z       "requiredStages": [],
2026-06-04T12:50:06.1616864Z       "stages": {
2026-06-04T12:50:06.1617272Z         "doc": {
2026-06-04T12:50:06.1617732Z           "complete": false,
2026-06-04T12:50:06.1618177Z           "evidence": []
2026-06-04T12:50:06.1618574Z         },
2026-06-04T12:50:06.1618985Z         "impl": {
2026-06-04T12:50:06.1619497Z           "complete": false,
2026-06-04T12:50:06.1619943Z           "evidence": []
2026-06-04T12:50:06.1620339Z         },
2026-06-04T12:50:06.1620747Z         "int": {
2026-06-04T12:50:06.1621188Z           "complete": false,
2026-06-04T12:50:06.1621845Z           "evidence": []
2026-06-04T12:50:06.1622266Z         },
2026-06-04T12:50:06.1622676Z         "unit": {
2026-06-04T12:50:06.1623132Z           "complete": false,
2026-06-04T12:50:06.1623566Z           "evidence": []
2026-06-04T12:50:06.1623968Z         }
2026-06-04T12:50:06.1624363Z       }
2026-06-04T12:50:06.1624767Z     },
2026-06-04T12:50:06.1625163Z     {
2026-06-04T12:50:06.1625619Z       "id": "REQ-INSTALL-3",
2026-06-04T12:50:06.1626364Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T12:50:06.1626829Z       "requiredStages": [],
2026-06-04T12:50:06.1627251Z       "stages": {
2026-06-04T12:50:06.1627661Z         "doc": {
2026-06-04T12:50:06.1628113Z           "complete": false,
2026-06-04T12:50:06.1628553Z           "evidence": []
2026-06-04T12:50:06.1628949Z         },
2026-06-04T12:50:06.1629425Z         "impl": {
2026-06-04T12:50:06.1629868Z           "complete": false,
2026-06-04T12:50:06.1630309Z           "evidence": []
2026-06-04T12:50:06.1630718Z         },
2026-06-04T12:50:06.1631139Z         "int": {
2026-06-04T12:50:06.1631599Z           "complete": false,
2026-06-04T12:50:06.1632036Z           "evidence": []
2026-06-04T12:50:06.1632452Z         },
2026-06-04T12:50:06.1632857Z         "unit": {
2026-06-04T12:50:06.1633311Z           "complete": false,
2026-06-04T12:50:06.1633745Z           "evidence": []
2026-06-04T12:50:06.1634147Z         }
2026-06-04T12:50:06.1634547Z       }
2026-06-04T12:50:06.1634936Z     },
2026-06-04T12:50:06.1635331Z     {
2026-06-04T12:50:06.1635786Z       "id": "REQ-INSTALL-4",
2026-06-04T12:50:06.1639652Z       "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-04T12:50:06.1640130Z       "requiredStages": [],
2026-06-04T12:50:06.1640540Z       "stages": {
2026-06-04T12:50:06.1640959Z         "doc": {
2026-06-04T12:50:06.1641418Z           "complete": false,
2026-06-04T12:50:06.1641865Z           "evidence": []
2026-06-04T12:50:06.1642257Z         },
2026-06-04T12:50:06.1642670Z         "impl": {
2026-06-04T12:50:06.1643123Z           "complete": false,
2026-06-04T12:50:06.1643558Z           "evidence": []
2026-06-04T12:50:06.1643962Z         },
2026-06-04T12:50:06.1644368Z         "int": {
2026-06-04T12:50:06.1644822Z           "complete": false,
2026-06-04T12:50:06.1645250Z           "evidence": []
2026-06-04T12:50:06.1645658Z         },
2026-06-04T12:50:06.1646073Z         "unit": {
2026-06-04T12:50:06.1646515Z           "complete": false,
2026-06-04T12:50:06.1646950Z           "evidence": []
2026-06-04T12:50:06.1647346Z         }
2026-06-04T12:50:06.1647748Z       }
2026-06-04T12:50:06.1648138Z     },
2026-06-04T12:50:06.1648529Z     {
2026-06-04T12:50:06.1648991Z       "id": "REQ-MANIFEST-1",
2026-06-04T12:50:06.1650057Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T12:50:06.1650547Z       "requiredStages": [
2026-06-04T12:50:06.1651102Z         "doc",
2026-06-04T12:50:06.1651533Z         "impl",
2026-06-04T12:50:06.1651939Z         "unit"
2026-06-04T12:50:06.1652340Z       ],
2026-06-04T12:50:06.1652761Z       "stages": {
2026-06-04T12:50:06.1653165Z         "doc": {
2026-06-04T12:50:06.1653617Z           "complete": true,
2026-06-04T12:50:06.1654042Z           "evidence": [
2026-06-04T12:50:06.1654445Z             {
2026-06-04T12:50:06.1654937Z               "path": "docs/MANIFEST.md",
2026-06-04T12:50:06.1655374Z               "line": 19
2026-06-04T12:50:06.1655779Z             }
2026-06-04T12:50:06.1656176Z           ]
2026-06-04T12:50:06.1656579Z         },
2026-06-04T12:50:06.1656985Z         "impl": {
2026-06-04T12:50:06.1657440Z           "complete": true,
2026-06-04T12:50:06.1657863Z           "evidence": [
2026-06-04T12:50:06.1658267Z             {
2026-06-04T12:50:06.1658903Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1659384Z               "line": 18
2026-06-04T12:50:06.1659960Z             }
2026-06-04T12:50:06.1660371Z           ]
2026-06-04T12:50:06.1660778Z         },
2026-06-04T12:50:06.1661191Z         "int": {
2026-06-04T12:50:06.1661643Z           "complete": false,
2026-06-04T12:50:06.1662172Z           "evidence": []
2026-06-04T12:50:06.1662566Z         },
2026-06-04T12:50:06.1662981Z         "unit": {
2026-06-04T12:50:06.1663422Z           "complete": true,
2026-06-04T12:50:06.1663860Z           "evidence": [
2026-06-04T12:50:06.1664252Z             {
2026-06-04T12:50:06.1664881Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1665323Z               "line": 706
2026-06-04T12:50:06.1665724Z             },
2026-06-04T12:50:06.1666121Z             {
2026-06-04T12:50:06.1666747Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1667184Z               "line": 802
2026-06-04T12:50:06.1667580Z             },
2026-06-04T12:50:06.1667985Z             {
2026-06-04T12:50:06.1668637Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1669062Z               "line": 814
2026-06-04T12:50:06.1669527Z             },
2026-06-04T12:50:06.1669920Z             {
2026-06-04T12:50:06.1670553Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1670982Z               "line": 822
2026-06-04T12:50:06.1671385Z             },
2026-06-04T12:50:06.1671785Z             {
2026-06-04T12:50:06.1672403Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1676762Z               "line": 839
2026-06-04T12:50:06.1677245Z             },
2026-06-04T12:50:06.1677653Z             {
2026-06-04T12:50:06.1678297Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1678739Z               "line": 853
2026-06-04T12:50:06.1679148Z             },
2026-06-04T12:50:06.1679635Z             {
2026-06-04T12:50:06.1680268Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1680735Z               "line": 868
2026-06-04T12:50:06.1681156Z             },
2026-06-04T12:50:06.1681552Z             {
2026-06-04T12:50:06.1682177Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1682610Z               "line": 883
2026-06-04T12:50:06.1683003Z             },
2026-06-04T12:50:06.1683401Z             {
2026-06-04T12:50:06.1684015Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1684447Z               "line": 898
2026-06-04T12:50:06.1684844Z             },
2026-06-04T12:50:06.1685252Z             {
2026-06-04T12:50:06.1685880Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.1686311Z               "line": 909
2026-06-04T12:50:06.1686715Z             }
2026-06-04T12:50:06.1687105Z           ]
2026-06-04T12:50:06.1687506Z         }
2026-06-04T12:50:06.1687898Z       }
2026-06-04T12:50:06.1688298Z     },
2026-06-04T12:50:06.1688696Z     {
2026-06-04T12:50:06.1689152Z       "id": "REQ-MIGRATE-1",
2026-06-04T12:50:06.1690334Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T12:50:06.1690834Z       "requiredStages": [],
2026-06-04T12:50:06.1691273Z       "stages": {
2026-06-04T12:50:06.1691700Z         "doc": {
2026-06-04T12:50:06.1692181Z           "complete": false,
2026-06-04T12:50:06.1692634Z           "evidence": []
2026-06-04T12:50:06.1693026Z         },
2026-06-04T12:50:06.1693440Z         "impl": {
2026-06-04T12:50:06.1693889Z           "complete": false,
2026-06-04T12:50:06.1694327Z           "evidence": []
2026-06-04T12:50:06.1694719Z         },
2026-06-04T12:50:06.1695126Z         "int": {
2026-06-04T12:50:06.1695574Z           "complete": false,
2026-06-04T12:50:06.1696004Z           "evidence": []
2026-06-04T12:50:06.1696403Z         },
2026-06-04T12:50:06.1696804Z         "unit": {
2026-06-04T12:50:06.1697252Z           "complete": false,
2026-06-04T12:50:06.1697679Z           "evidence": []
2026-06-04T12:50:06.1698079Z         }
2026-06-04T12:50:06.1698476Z       }
2026-06-04T12:50:06.1699006Z     },
2026-06-04T12:50:06.1699457Z     {
2026-06-04T12:50:06.1699902Z       "id": "REQ-MSG-1",
2026-06-04T12:50:06.1702557Z       "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-04T12:50:06.1703022Z       "requiredStages": [
2026-06-04T12:50:06.1703422Z         "impl",
2026-06-04T12:50:06.1703826Z         "unit",
2026-06-04T12:50:06.1704225Z         "int"
2026-06-04T12:50:06.1704629Z       ],
2026-06-04T12:50:06.1705032Z       "stages": {
2026-06-04T12:50:06.1705443Z         "doc": {
2026-06-04T12:50:06.1705882Z           "complete": false,
2026-06-04T12:50:06.1706319Z           "evidence": []
2026-06-04T12:50:06.1706728Z         },
2026-06-04T12:50:06.1707135Z         "impl": {
2026-06-04T12:50:06.1707590Z           "complete": true,
2026-06-04T12:50:06.1708012Z           "evidence": [
2026-06-04T12:50:06.1708411Z             {
2026-06-04T12:50:06.1709004Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1709484Z               "line": 28
2026-06-04T12:50:06.1709896Z             },
2026-06-04T12:50:06.1710289Z             {
2026-06-04T12:50:06.1710871Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1711292Z               "line": 94
2026-06-04T12:50:06.1711697Z             },
2026-06-04T12:50:06.1712098Z             {
2026-06-04T12:50:06.1712666Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1713099Z               "line": 127
2026-06-04T12:50:06.1713494Z             },
2026-06-04T12:50:06.1713887Z             {
2026-06-04T12:50:06.1714445Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1714878Z               "line": 149
2026-06-04T12:50:06.1715286Z             },
2026-06-04T12:50:06.1715684Z             {
2026-06-04T12:50:06.1716267Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1716694Z               "line": 174
2026-06-04T12:50:06.1717113Z             },
2026-06-04T12:50:06.1717521Z             {
2026-06-04T12:50:06.1718109Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:50:06.1718533Z               "line": 18
2026-06-04T12:50:06.1718933Z             },
2026-06-04T12:50:06.1719374Z             {
2026-06-04T12:50:06.1719918Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:06.1720349Z               "line": 13
2026-06-04T12:50:06.1720797Z             },
2026-06-04T12:50:06.1721196Z             {
2026-06-04T12:50:06.1721748Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:06.1722170Z               "line": 61
2026-06-04T12:50:06.1722578Z             },
2026-06-04T12:50:06.1722969Z             {
2026-06-04T12:50:06.1723522Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:50:06.1723939Z               "line": 10
2026-06-04T12:50:06.1724349Z             }
2026-06-04T12:50:06.1724746Z           ]
2026-06-04T12:50:06.1725135Z         },
2026-06-04T12:50:06.1725564Z         "int": {
2026-06-04T12:50:06.1726179Z           "complete": true,
2026-06-04T12:50:06.1726632Z           "evidence": [
2026-06-04T12:50:06.1727032Z             {
2026-06-04T12:50:06.1727736Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:50:06.1728163Z               "line": 9
2026-06-04T12:50:06.1728559Z             },
2026-06-04T12:50:06.1728963Z             {
2026-06-04T12:50:06.1729692Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:50:06.1730124Z               "line": 66
2026-06-04T12:50:06.1730522Z             },
2026-06-04T12:50:06.1730925Z             {
2026-06-04T12:50:06.1731625Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:50:06.1732058Z               "line": 116
2026-06-04T12:50:06.1732455Z             }
2026-06-04T12:50:06.1732846Z           ]
2026-06-04T12:50:06.1733241Z         },
2026-06-04T12:50:06.1733646Z         "unit": {
2026-06-04T12:50:06.1734094Z           "complete": true,
2026-06-04T12:50:06.1734689Z           "evidence": [
2026-06-04T12:50:06.1735092Z             {
2026-06-04T12:50:06.1735678Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1736110Z               "line": 203
2026-06-04T12:50:06.1736519Z             },
2026-06-04T12:50:06.1736910Z             {
2026-06-04T12:50:06.1737486Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1737928Z               "line": 232
2026-06-04T12:50:06.1738323Z             },
2026-06-04T12:50:06.1738725Z             {
2026-06-04T12:50:06.1739340Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1739776Z               "line": 277
2026-06-04T12:50:06.1740166Z             },
2026-06-04T12:50:06.1740566Z             {
2026-06-04T12:50:06.1741147Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1741570Z               "line": 300
2026-06-04T12:50:06.1741977Z             },
2026-06-04T12:50:06.1742366Z             {
2026-06-04T12:50:06.1742963Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T12:50:06.1743403Z               "line": 322
2026-06-04T12:50:06.1743802Z             },
2026-06-04T12:50:06.1744203Z             {
2026-06-04T12:50:06.1744779Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:50:06.1745213Z               "line": 203
2026-06-04T12:50:06.1745611Z             },
2026-06-04T12:50:06.1746018Z             {
2026-06-04T12:50:06.1746609Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:50:06.1747040Z               "line": 233
2026-06-04T12:50:06.1747451Z             },
2026-06-04T12:50:06.1747849Z             {
2026-06-04T12:50:06.1748441Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:50:06.1748865Z               "line": 247
2026-06-04T12:50:06.1749310Z             },
2026-06-04T12:50:06.1749717Z             {
2026-06-04T12:50:06.1750298Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:50:06.1750727Z               "line": 259
2026-06-04T12:50:06.1751138Z             },
2026-06-04T12:50:06.1751544Z             {
2026-06-04T12:50:06.1752090Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:06.1752524Z               "line": 158
2026-06-04T12:50:06.1756654Z             },
2026-06-04T12:50:06.1757144Z             {
2026-06-04T12:50:06.1757739Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T12:50:06.1758189Z               "line": 235
2026-06-04T12:50:06.1758618Z             },
2026-06-04T12:50:06.1759038Z             {
2026-06-04T12:50:06.1759675Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:50:06.1760109Z               "line": 68
2026-06-04T12:50:06.1760504Z             },
2026-06-04T12:50:06.1760905Z             {
2026-06-04T12:50:06.1761448Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:50:06.1761884Z               "line": 74
2026-06-04T12:50:06.1762280Z             },
2026-06-04T12:50:06.1762683Z             {
2026-06-04T12:50:06.1763236Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:50:06.1763988Z               "line": 80
2026-06-04T12:50:06.1764442Z             },
2026-06-04T12:50:06.1764858Z             {
2026-06-04T12:50:06.1765435Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T12:50:06.1765882Z               "line": 99
2026-06-04T12:50:06.1766305Z             }
2026-06-04T12:50:06.1766722Z           ]
2026-06-04T12:50:06.1767132Z         }
2026-06-04T12:50:06.1767552Z       }
2026-06-04T12:50:06.1767957Z     },
2026-06-04T12:50:06.1768359Z     {
2026-06-04T12:50:06.1768806Z       "id": "REQ-MSG-2",
2026-06-04T12:50:06.1770362Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T12:50:06.1770864Z       "requiredStages": [
2026-06-04T12:50:06.1771301Z         "impl",
2026-06-04T12:50:06.1771747Z         "unit"
2026-06-04T12:50:06.1772178Z       ],
2026-06-04T12:50:06.1772630Z       "stages": {
2026-06-04T12:50:06.1773060Z         "doc": {
2026-06-04T12:50:06.1773689Z           "complete": false,
2026-06-04T12:50:06.1774159Z           "evidence": []
2026-06-04T12:50:06.1774583Z         },
2026-06-04T12:50:06.1775025Z         "impl": {
2026-06-04T12:50:06.1775490Z           "complete": true,
2026-06-04T12:50:06.1775947Z           "evidence": [
2026-06-04T12:50:06.1776362Z             {
2026-06-04T12:50:06.1776912Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1777355Z               "line": 11
2026-06-04T12:50:06.1777772Z             },
2026-06-04T12:50:06.1778193Z             {
2026-06-04T12:50:06.1778735Z               "path": "crates/spt/src/main.rs",
2026-06-04T12:50:06.1779214Z               "line": 8
2026-06-04T12:50:06.1779638Z             }
2026-06-04T12:50:06.1780056Z           ]
2026-06-04T12:50:06.1780476Z         },
2026-06-04T12:50:06.1780901Z         "int": {
2026-06-04T12:50:06.1781383Z           "complete": false,
2026-06-04T12:50:06.1781834Z           "evidence": []
2026-06-04T12:50:06.1782252Z         },
2026-06-04T12:50:06.1782686Z         "unit": {
2026-06-04T12:50:06.1783163Z           "complete": true,
2026-06-04T12:50:06.1783613Z           "evidence": [
2026-06-04T12:50:06.1784034Z             {
2026-06-04T12:50:06.1784579Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1785028Z               "line": 1100
2026-06-04T12:50:06.1785463Z             },
2026-06-04T12:50:06.1785871Z             {
2026-06-04T12:50:06.1786424Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1786894Z               "line": 1213
2026-06-04T12:50:06.1787310Z             },
2026-06-04T12:50:06.1787732Z             {
2026-06-04T12:50:06.1788266Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1788719Z               "line": 1222
2026-06-04T12:50:06.1789140Z             },
2026-06-04T12:50:06.1789603Z             {
2026-06-04T12:50:06.1790147Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1790592Z               "line": 1234
2026-06-04T12:50:06.1791016Z             }
2026-06-04T12:50:06.1791456Z           ]
2026-06-04T12:50:06.1791891Z         }
2026-06-04T12:50:06.1792304Z       }
2026-06-04T12:50:06.1792727Z     },
2026-06-04T12:50:06.1793139Z     {
2026-06-04T12:50:06.1793584Z       "id": "REQ-MSG-3",
2026-06-04T12:50:06.1795790Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T12:50:06.1796283Z       "requiredStages": [
2026-06-04T12:50:06.1796700Z         "impl",
2026-06-04T12:50:06.1797107Z         "unit",
2026-06-04T12:50:06.1797514Z         "int"
2026-06-04T12:50:06.1797914Z       ],
2026-06-04T12:50:06.1798322Z       "stages": {
2026-06-04T12:50:06.1798728Z         "doc": {
2026-06-04T12:50:06.1799225Z           "complete": false,
2026-06-04T12:50:06.1799689Z           "evidence": []
2026-06-04T12:50:06.1800097Z         },
2026-06-04T12:50:06.1800534Z         "impl": {
2026-06-04T12:50:06.1801003Z           "complete": true,
2026-06-04T12:50:06.1801460Z           "evidence": [
2026-06-04T12:50:06.1802038Z             {
2026-06-04T12:50:06.1802667Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T12:50:06.1803119Z               "line": 19
2026-06-04T12:50:06.1803531Z             },
2026-06-04T12:50:06.1803955Z             {
2026-06-04T12:50:06.1804544Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.1804996Z               "line": 21
2026-06-04T12:50:06.1805437Z             },
2026-06-04T12:50:06.1805851Z             {
2026-06-04T12:50:06.1806443Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.1806894Z               "line": 48
2026-06-04T12:50:06.1807331Z             },
2026-06-04T12:50:06.1807769Z             {
2026-06-04T12:50:06.1808349Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.1808818Z               "line": 106
2026-06-04T12:50:06.1809285Z             }
2026-06-04T12:50:06.1809724Z           ]
2026-06-04T12:50:06.1810147Z         },
2026-06-04T12:50:06.1810716Z         "int": {
2026-06-04T12:50:06.1811201Z           "complete": true,
2026-06-04T12:50:06.1811661Z           "evidence": [
2026-06-04T12:50:06.1812095Z             {
2026-06-04T12:50:06.1812815Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:50:06.1813278Z               "line": 10
2026-06-04T12:50:06.1813709Z             },
2026-06-04T12:50:06.1814145Z             {
2026-06-04T12:50:06.1814872Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T12:50:06.1815330Z               "line": 66
2026-06-04T12:50:06.1815768Z             }
2026-06-04T12:50:06.1816192Z           ]
2026-06-04T12:50:06.1816634Z         },
2026-06-04T12:50:06.1817082Z         "unit": {
2026-06-04T12:50:06.1817551Z           "complete": true,
2026-06-04T12:50:06.1818019Z           "evidence": [
2026-06-04T12:50:06.1818452Z             {
2026-06-04T12:50:06.1819040Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.1819543Z               "line": 160
2026-06-04T12:50:06.1819995Z             },
2026-06-04T12:50:06.1820445Z             {
2026-06-04T12:50:06.1821022Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.1821487Z               "line": 179
2026-06-04T12:50:06.1821914Z             },
2026-06-04T12:50:06.1822349Z             {
2026-06-04T12:50:06.1822923Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T12:50:06.1823390Z               "line": 198
2026-06-04T12:50:06.1823826Z             }
2026-06-04T12:50:06.1824253Z           ]
2026-06-04T12:50:06.1824690Z         }
2026-06-04T12:50:06.1825114Z       }
2026-06-04T12:50:06.1825543Z     },
2026-06-04T12:50:06.1825960Z     {
2026-06-04T12:50:06.1826429Z       "id": "REQ-NET-1",
2026-06-04T12:50:06.1827431Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T12:50:06.1827916Z       "requiredStages": [
2026-06-04T12:50:06.1828365Z         "impl",
2026-06-04T12:50:06.1828795Z         "unit"
2026-06-04T12:50:06.1829272Z       ],
2026-06-04T12:50:06.1829716Z       "stages": {
2026-06-04T12:50:06.1830172Z         "doc": {
2026-06-04T12:50:06.1830650Z           "complete": false,
2026-06-04T12:50:06.1831100Z           "evidence": []
2026-06-04T12:50:06.1831518Z         },
2026-06-04T12:50:06.1831948Z         "impl": {
2026-06-04T12:50:06.1832421Z           "complete": true,
2026-06-04T12:50:06.1832859Z           "evidence": [
2026-06-04T12:50:06.1833285Z             {
2026-06-04T12:50:06.1833940Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.1834395Z               "line": 52
2026-06-04T12:50:06.1834836Z             },
2026-06-04T12:50:06.1838914Z             {
2026-06-04T12:50:06.1841440Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.1841985Z               "line": 448
2026-06-04T12:50:06.1842435Z             },
2026-06-04T12:50:06.1842858Z             {
2026-06-04T12:50:06.1843457Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T12:50:06.1843972Z               "line": 69
2026-06-04T12:50:06.1844686Z             },
2026-06-04T12:50:06.1845134Z             {
2026-06-04T12:50:06.1845791Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1846245Z               "line": 65
2026-06-04T12:50:06.1846673Z             },
2026-06-04T12:50:06.1847094Z             {
2026-06-04T12:50:06.1847740Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1848193Z               "line": 122
2026-06-04T12:50:06.1848623Z             },
2026-06-04T12:50:06.1849040Z             {
2026-06-04T12:50:06.1849756Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1850214Z               "line": 138
2026-06-04T12:50:06.1850639Z             },
2026-06-04T12:50:06.1851069Z             {
2026-06-04T12:50:06.1851714Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1852182Z               "line": 153
2026-06-04T12:50:06.1852599Z             },
2026-06-04T12:50:06.1853185Z             {
2026-06-04T12:50:06.1853871Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1854342Z               "line": 207
2026-06-04T12:50:06.1854792Z             },
2026-06-04T12:50:06.1855225Z             {
2026-06-04T12:50:06.1855883Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1856343Z               "line": 242
2026-06-04T12:50:06.1856791Z             },
2026-06-04T12:50:06.1857233Z             {
2026-06-04T12:50:06.1857880Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1858341Z               "line": 248
2026-06-04T12:50:06.1858761Z             },
2026-06-04T12:50:06.1859229Z             {
2026-06-04T12:50:06.1859887Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1860366Z               "line": 254
2026-06-04T12:50:06.1860811Z             },
2026-06-04T12:50:06.1861240Z             {
2026-06-04T12:50:06.1861899Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1862372Z               "line": 270
2026-06-04T12:50:06.1862829Z             },
2026-06-04T12:50:06.1863267Z             {
2026-06-04T12:50:06.1863919Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1864398Z               "line": 290
2026-06-04T12:50:06.1864829Z             },
2026-06-04T12:50:06.1865269Z             {
2026-06-04T12:50:06.1865910Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:50:06.1866379Z               "line": 35
2026-06-04T12:50:06.1866826Z             },
2026-06-04T12:50:06.1867262Z             {
2026-06-04T12:50:06.1867901Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:50:06.1868357Z               "line": 82
2026-06-04T12:50:06.1868796Z             },
2026-06-04T12:50:06.1869260Z             {
2026-06-04T12:50:06.1869876Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.1870344Z               "line": 129
2026-06-04T12:50:06.1870785Z             },
2026-06-04T12:50:06.1871234Z             {
2026-06-04T12:50:06.1871790Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.1872255Z               "line": 600
2026-06-04T12:50:06.1872691Z             },
2026-06-04T12:50:06.1873126Z             {
2026-06-04T12:50:06.1873690Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:50:06.1874129Z               "line": 17
2026-06-04T12:50:06.1874551Z             }
2026-06-04T12:50:06.1874965Z           ]
2026-06-04T12:50:06.1875386Z         },
2026-06-04T12:50:06.1875808Z         "int": {
2026-06-04T12:50:06.1876277Z           "complete": true,
2026-06-04T12:50:06.1876732Z           "evidence": [
2026-06-04T12:50:06.1877144Z             {
2026-06-04T12:50:06.1877805Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.1878247Z               "line": 314
2026-06-04T12:50:06.1878667Z             }
2026-06-04T12:50:06.1879078Z           ]
2026-06-04T12:50:06.1879517Z         },
2026-06-04T12:50:06.1879937Z         "unit": {
2026-06-04T12:50:06.1880394Z           "complete": true,
2026-06-04T12:50:06.1880965Z           "evidence": [
2026-06-04T12:50:06.1881368Z             {
2026-06-04T12:50:06.1881991Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.1882411Z               "line": 500
2026-06-04T12:50:06.1882819Z             },
2026-06-04T12:50:06.1883216Z             {
2026-06-04T12:50:06.1883821Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.1884258Z               "line": 529
2026-06-04T12:50:06.1884650Z             },
2026-06-04T12:50:06.1885049Z             {
2026-06-04T12:50:06.1885681Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.1886118Z               "line": 517
2026-06-04T12:50:06.1886523Z             },
2026-06-04T12:50:06.1886910Z             {
2026-06-04T12:50:06.1887524Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T12:50:06.1887950Z               "line": 142
2026-06-04T12:50:06.1888351Z             },
2026-06-04T12:50:06.1888892Z             {
2026-06-04T12:50:06.1889581Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1890028Z               "line": 344
2026-06-04T12:50:06.1890422Z             },
2026-06-04T12:50:06.1890819Z             {
2026-06-04T12:50:06.1891437Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1891875Z               "line": 358
2026-06-04T12:50:06.1892268Z             },
2026-06-04T12:50:06.1892670Z             {
2026-06-04T12:50:06.1893289Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1893710Z               "line": 377
2026-06-04T12:50:06.1894115Z             },
2026-06-04T12:50:06.1894504Z             {
2026-06-04T12:50:06.1895105Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:50:06.1895541Z               "line": 106
2026-06-04T12:50:06.1895938Z             },
2026-06-04T12:50:06.1896339Z             {
2026-06-04T12:50:06.1896929Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T12:50:06.1897383Z               "line": 148
2026-06-04T12:50:06.1897781Z             },
2026-06-04T12:50:06.1898187Z             {
2026-06-04T12:50:06.1898761Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T12:50:06.1899221Z               "line": 445
2026-06-04T12:50:06.1899628Z             },
2026-06-04T12:50:06.1900019Z             {
2026-06-04T12:50:06.1900569Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:50:06.1900994Z               "line": 218
2026-06-04T12:50:06.1901397Z             },
2026-06-04T12:50:06.1901789Z             {
2026-06-04T12:50:06.1902327Z               "path": "crates/spt/src/wansend.rs",
2026-06-04T12:50:06.1902759Z               "line": 306
2026-06-04T12:50:06.1903156Z             }
2026-06-04T12:50:06.1903551Z           ]
2026-06-04T12:50:06.1903939Z         }
2026-06-04T12:50:06.1904345Z       }
2026-06-04T12:50:06.1904739Z     },
2026-06-04T12:50:06.1905120Z     {
2026-06-04T12:50:06.1905569Z       "id": "REQ-NET-2",
2026-06-04T12:50:06.1906536Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T12:50:06.1907001Z       "requiredStages": [
2026-06-04T12:50:06.1907398Z         "impl"
2026-06-04T12:50:06.1907799Z       ],
2026-06-04T12:50:06.1908215Z       "stages": {
2026-06-04T12:50:06.1908611Z         "doc": {
2026-06-04T12:50:06.1909065Z           "complete": false,
2026-06-04T12:50:06.1909531Z           "evidence": []
2026-06-04T12:50:06.1909933Z         },
2026-06-04T12:50:06.1910333Z         "impl": {
2026-06-04T12:50:06.1910780Z           "complete": true,
2026-06-04T12:50:06.1911210Z           "evidence": [
2026-06-04T12:50:06.1911602Z             {
2026-06-04T12:50:06.1912201Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:06.1912622Z               "line": 49
2026-06-04T12:50:06.1913023Z             },
2026-06-04T12:50:06.1913413Z             {
2026-06-04T12:50:06.1914044Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1914486Z               "line": 39
2026-06-04T12:50:06.1915065Z             },
2026-06-04T12:50:06.1915482Z             {
2026-06-04T12:50:06.1916096Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1916527Z               "line": 49
2026-06-04T12:50:06.1916920Z             },
2026-06-04T12:50:06.1917316Z             {
2026-06-04T12:50:06.1917935Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1922527Z               "line": 122
2026-06-04T12:50:06.1923045Z             },
2026-06-04T12:50:06.1923467Z             {
2026-06-04T12:50:06.1924103Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1924530Z               "line": 138
2026-06-04T12:50:06.1924934Z             },
2026-06-04T12:50:06.1925331Z             {
2026-06-04T12:50:06.1925946Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T12:50:06.1926384Z               "line": 153
2026-06-04T12:50:06.1926778Z             }
2026-06-04T12:50:06.1927463Z           ]
2026-06-04T12:50:06.1927888Z         },
2026-06-04T12:50:06.1928323Z         "int": {
2026-06-04T12:50:06.1928799Z           "complete": false,
2026-06-04T12:50:06.1929312Z           "evidence": []
2026-06-04T12:50:06.1929732Z         },
2026-06-04T12:50:06.1930161Z         "unit": {
2026-06-04T12:50:06.1930629Z           "complete": true,
2026-06-04T12:50:06.1931112Z           "evidence": [
2026-06-04T12:50:06.1931536Z             {
2026-06-04T12:50:06.1932173Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:06.1932621Z               "line": 321
2026-06-04T12:50:06.1933046Z             }
2026-06-04T12:50:06.1933461Z           ]
2026-06-04T12:50:06.1933882Z         }
2026-06-04T12:50:06.1934296Z       }
2026-06-04T12:50:06.1934708Z     },
2026-06-04T12:50:06.1935123Z     {
2026-06-04T12:50:06.1935572Z       "id": "REQ-NET-3",
2026-06-04T12:50:06.1936487Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T12:50:06.1937052Z       "requiredStages": [
2026-06-04T12:50:06.1937592Z         "impl",
2026-06-04T12:50:06.1938026Z         "unit"
2026-06-04T12:50:06.1938443Z       ],
2026-06-04T12:50:06.1938881Z       "stages": {
2026-06-04T12:50:06.1939360Z         "doc": {
2026-06-04T12:50:06.1939842Z           "complete": false,
2026-06-04T12:50:06.1940296Z           "evidence": []
2026-06-04T12:50:06.1940719Z         },
2026-06-04T12:50:06.1941148Z         "impl": {
2026-06-04T12:50:06.1941617Z           "complete": true,
2026-06-04T12:50:06.1942065Z           "evidence": [
2026-06-04T12:50:06.1942482Z             {
2026-06-04T12:50:06.1943094Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1943541Z               "line": 39
2026-06-04T12:50:06.1943969Z             },
2026-06-04T12:50:06.1944383Z             {
2026-06-04T12:50:06.1944978Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1945437Z               "line": 159
2026-06-04T12:50:06.1945856Z             },
2026-06-04T12:50:06.1946298Z             {
2026-06-04T12:50:06.1946883Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-04T12:50:06.1947322Z               "line": 290
2026-06-04T12:50:06.1947717Z             },
2026-06-04T12:50:06.1948113Z             {
2026-06-04T12:50:06.1948704Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:50:06.1949126Z               "line": 36
2026-06-04T12:50:06.1949568Z             },
2026-06-04T12:50:06.1949967Z             {
2026-06-04T12:50:06.1950628Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1951052Z               "line": 135
2026-06-04T12:50:06.1951452Z             },
2026-06-04T12:50:06.1951852Z             {
2026-06-04T12:50:06.1952492Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1952927Z               "line": 172
2026-06-04T12:50:06.1953322Z             },
2026-06-04T12:50:06.1953721Z             {
2026-06-04T12:50:06.1954351Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1955014Z               "line": 184
2026-06-04T12:50:06.1955438Z             },
2026-06-04T12:50:06.1955832Z             {
2026-06-04T12:50:06.1956475Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1956902Z               "line": 222
2026-06-04T12:50:06.1957309Z             },
2026-06-04T12:50:06.1957712Z             {
2026-06-04T12:50:06.1958346Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1958780Z               "line": 237
2026-06-04T12:50:06.1959219Z             },
2026-06-04T12:50:06.1959620Z             {
2026-06-04T12:50:06.1960253Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1960691Z               "line": 273
2026-06-04T12:50:06.1961103Z             },
2026-06-04T12:50:06.1961504Z             {
2026-06-04T12:50:06.1962147Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1962572Z               "line": 314
2026-06-04T12:50:06.1963124Z             },
2026-06-04T12:50:06.1963528Z             {
2026-06-04T12:50:06.1964167Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.1964601Z               "line": 327
2026-06-04T12:50:06.1964993Z             },
2026-06-04T12:50:06.1965389Z             {
2026-06-04T12:50:06.1965996Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:06.1966433Z               "line": 29
2026-06-04T12:50:06.1966828Z             },
2026-06-04T12:50:06.1967224Z             {
2026-06-04T12:50:06.1967832Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:06.1968246Z               "line": 70
2026-06-04T12:50:06.1968645Z             },
2026-06-04T12:50:06.1969039Z             {
2026-06-04T12:50:06.1969704Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:06.1970131Z               "line": 121
2026-06-04T12:50:06.1970537Z             }
2026-06-04T12:50:06.1970949Z           ]
2026-06-04T12:50:06.1971341Z         },
2026-06-04T12:50:06.1971760Z         "int": {
2026-06-04T12:50:06.1972213Z           "complete": false,
2026-06-04T12:50:06.1972650Z           "evidence": []
2026-06-04T12:50:06.1973041Z         },
2026-06-04T12:50:06.1973449Z         "unit": {
2026-06-04T12:50:06.1973896Z           "complete": true,
2026-06-04T12:50:06.1974317Z           "evidence": [
2026-06-04T12:50:06.1974714Z             {
2026-06-04T12:50:06.1975306Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:50:06.1975737Z               "line": 203
2026-06-04T12:50:06.1976135Z             },
2026-06-04T12:50:06.1976534Z             {
2026-06-04T12:50:06.1977134Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:50:06.1977559Z               "line": 303
2026-06-04T12:50:06.1977969Z             },
2026-06-04T12:50:06.1978360Z             {
2026-06-04T12:50:06.1978961Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-04T12:50:06.1979429Z               "line": 399
2026-06-04T12:50:06.1979846Z             },
2026-06-04T12:50:06.1980248Z             {
2026-06-04T12:50:06.1980836Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:50:06.1981267Z               "line": 93
2026-06-04T12:50:06.1981659Z             },
2026-06-04T12:50:06.1982056Z             {
2026-06-04T12:50:06.1982627Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-04T12:50:06.1983064Z               "line": 131
2026-06-04T12:50:06.1983465Z             },
2026-06-04T12:50:06.1983850Z             {
2026-06-04T12:50:06.1984468Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:06.1984894Z               "line": 308
2026-06-04T12:50:06.1985295Z             },
2026-06-04T12:50:06.1985695Z             {
2026-06-04T12:50:06.1986323Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:06.1986756Z               "line": 345
2026-06-04T12:50:06.1987148Z             },
2026-06-04T12:50:06.1987541Z             {
2026-06-04T12:50:06.1988149Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-04T12:50:06.1988771Z               "line": 469
2026-06-04T12:50:06.1989254Z             }
2026-06-04T12:50:06.1989714Z           ]
2026-06-04T12:50:06.1990138Z         }
2026-06-04T12:50:06.1990531Z       }
2026-06-04T12:50:06.1990922Z     },
2026-06-04T12:50:06.1991303Z     {
2026-06-04T12:50:06.1991777Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T12:50:06.1993051Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T12:50:06.1993511Z       "requiredStages": [
2026-06-04T12:50:06.1993920Z         "impl",
2026-06-04T12:50:06.1994318Z         "unit"
2026-06-04T12:50:06.1994724Z       ],
2026-06-04T12:50:06.1995135Z       "stages": {
2026-06-04T12:50:06.1995547Z         "doc": {
2026-06-04T12:50:06.1996007Z           "complete": false,
2026-06-04T12:50:06.1996429Z           "evidence": []
2026-06-04T12:50:06.1996828Z         },
2026-06-04T12:50:06.1997237Z         "impl": {
2026-06-04T12:50:06.1997684Z           "complete": true,
2026-06-04T12:50:06.1998274Z           "evidence": [
2026-06-04T12:50:06.2002737Z             {
2026-06-04T12:50:06.2003478Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2003911Z               "line": 60
2026-06-04T12:50:06.2004316Z             },
2026-06-04T12:50:06.2004714Z             {
2026-06-04T12:50:06.2005324Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2005749Z               "line": 68
2026-06-04T12:50:06.2006160Z             },
2026-06-04T12:50:06.2006563Z             {
2026-06-04T12:50:06.2007168Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2007598Z               "line": 86
2026-06-04T12:50:06.2007994Z             },
2026-06-04T12:50:06.2008399Z             {
2026-06-04T12:50:06.2008999Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2009509Z               "line": 120
2026-06-04T12:50:06.2009922Z             },
2026-06-04T12:50:06.2010321Z             {
2026-06-04T12:50:06.2010985Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2011410Z               "line": 127
2026-06-04T12:50:06.2011840Z             },
2026-06-04T12:50:06.2012243Z             {
2026-06-04T12:50:06.2012849Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2013282Z               "line": 143
2026-06-04T12:50:06.2013677Z             },
2026-06-04T12:50:06.2014075Z             {
2026-06-04T12:50:06.2014653Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:50:06.2015088Z               "line": 16
2026-06-04T12:50:06.2015487Z             }
2026-06-04T12:50:06.2015883Z           ]
2026-06-04T12:50:06.2016282Z         },
2026-06-04T12:50:06.2016675Z         "int": {
2026-06-04T12:50:06.2017129Z           "complete": false,
2026-06-04T12:50:06.2017553Z           "evidence": []
2026-06-04T12:50:06.2017948Z         },
2026-06-04T12:50:06.2018374Z         "unit": {
2026-06-04T12:50:06.2018854Z           "complete": true,
2026-06-04T12:50:06.2019350Z           "evidence": [
2026-06-04T12:50:06.2019767Z             {
2026-06-04T12:50:06.2020380Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2020804Z               "line": 199
2026-06-04T12:50:06.2021207Z             },
2026-06-04T12:50:06.2021595Z             {
2026-06-04T12:50:06.2022200Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2022630Z               "line": 218
2026-06-04T12:50:06.2023021Z             },
2026-06-04T12:50:06.2023420Z             {
2026-06-04T12:50:06.2024023Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2024462Z               "line": 232
2026-06-04T12:50:06.2024856Z             },
2026-06-04T12:50:06.2025259Z             {
2026-06-04T12:50:06.2025866Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T12:50:06.2026287Z               "line": 248
2026-06-04T12:50:06.2026687Z             },
2026-06-04T12:50:06.2027078Z             {
2026-06-04T12:50:06.2027971Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:50:06.2028424Z               "line": 125
2026-06-04T12:50:06.2028831Z             },
2026-06-04T12:50:06.2029277Z             {
2026-06-04T12:50:06.2029861Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:50:06.2030298Z               "line": 141
2026-06-04T12:50:06.2030697Z             },
2026-06-04T12:50:06.2031161Z             {
2026-06-04T12:50:06.2031739Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T12:50:06.2032164Z               "line": 153
2026-06-04T12:50:06.2032564Z             }
2026-06-04T12:50:06.2032961Z           ]
2026-06-04T12:50:06.2033368Z         }
2026-06-04T12:50:06.2033762Z       }
2026-06-04T12:50:06.2034157Z     },
2026-06-04T12:50:06.2034545Z     {
2026-06-04T12:50:06.2035001Z       "id": "REQ-NOTIF-1",
2026-06-04T12:50:06.2037123Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T12:50:06.2037808Z       "requiredStages": [
2026-06-04T12:50:06.2038250Z         "impl",
2026-06-04T12:50:06.2038669Z         "unit"
2026-06-04T12:50:06.2039095Z       ],
2026-06-04T12:50:06.2039581Z       "stages": {
2026-06-04T12:50:06.2040025Z         "doc": {
2026-06-04T12:50:06.2040499Z           "complete": false,
2026-06-04T12:50:06.2040948Z           "evidence": []
2026-06-04T12:50:06.2041376Z         },
2026-06-04T12:50:06.2041806Z         "impl": {
2026-06-04T12:50:06.2042277Z           "complete": true,
2026-06-04T12:50:06.2042727Z           "evidence": [
2026-06-04T12:50:06.2043145Z             {
2026-06-04T12:50:06.2043792Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-04T12:50:06.2044237Z               "line": 412
2026-06-04T12:50:06.2044660Z             },
2026-06-04T12:50:06.2045075Z             {
2026-06-04T12:50:06.2045683Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2046133Z               "line": 30
2026-06-04T12:50:06.2046573Z             },
2026-06-04T12:50:06.2047014Z             {
2026-06-04T12:50:06.2047618Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2048069Z               "line": 62
2026-06-04T12:50:06.2048491Z             },
2026-06-04T12:50:06.2048912Z             {
2026-06-04T12:50:06.2049562Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2050006Z               "line": 83
2026-06-04T12:50:06.2050432Z             },
2026-06-04T12:50:06.2050850Z             {
2026-06-04T12:50:06.2051459Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2051902Z               "line": 97
2026-06-04T12:50:06.2052328Z             },
2026-06-04T12:50:06.2052745Z             {
2026-06-04T12:50:06.2053339Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2053796Z               "line": 126
2026-06-04T12:50:06.2054217Z             },
2026-06-04T12:50:06.2054639Z             {
2026-06-04T12:50:06.2055239Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2055717Z               "line": 159
2026-06-04T12:50:06.2056147Z             },
2026-06-04T12:50:06.2056561Z             {
2026-06-04T12:50:06.2057171Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2057618Z               "line": 179
2026-06-04T12:50:06.2058042Z             },
2026-06-04T12:50:06.2058457Z             {
2026-06-04T12:50:06.2059065Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2059567Z               "line": 239
2026-06-04T12:50:06.2059987Z             },
2026-06-04T12:50:06.2060409Z             {
2026-06-04T12:50:06.2061002Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2061456Z               "line": 287
2026-06-04T12:50:06.2061877Z             },
2026-06-04T12:50:06.2062309Z             {
2026-06-04T12:50:06.2062957Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2063392Z               "line": 24
2026-06-04T12:50:06.2063831Z             },
2026-06-04T12:50:06.2064397Z             {
2026-06-04T12:50:06.2065062Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2065509Z               "line": 34
2026-06-04T12:50:06.2065928Z             },
2026-06-04T12:50:06.2066353Z             {
2026-06-04T12:50:06.2066991Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2067442Z               "line": 55
2026-06-04T12:50:06.2067863Z             },
2026-06-04T12:50:06.2068290Z             {
2026-06-04T12:50:06.2068936Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2069421Z               "line": 76
2026-06-04T12:50:06.2069845Z             },
2026-06-04T12:50:06.2070254Z             {
2026-06-04T12:50:06.2070907Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2071352Z               "line": 88
2026-06-04T12:50:06.2071781Z             },
2026-06-04T12:50:06.2072199Z             {
2026-06-04T12:50:06.2072836Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-04T12:50:06.2073445Z               "line": 41
2026-06-04T12:50:06.2073864Z             },
2026-06-04T12:50:06.2074289Z             {
2026-06-04T12:50:06.2074916Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.2075368Z               "line": 94
2026-06-04T12:50:06.2075796Z             },
2026-06-04T12:50:06.2076214Z             {
2026-06-04T12:50:06.2076834Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:50:06.2077274Z               "line": 20
2026-06-04T12:50:06.2077701Z             },
2026-06-04T12:50:06.2078123Z             {
2026-06-04T12:50:06.2078745Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:50:06.2079238Z               "line": 30
2026-06-04T12:50:06.2079657Z             },
2026-06-04T12:50:06.2080079Z             {
2026-06-04T12:50:06.2080684Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:50:06.2084904Z               "line": 50
2026-06-04T12:50:06.2085438Z             },
2026-06-04T12:50:06.2085859Z             {
2026-06-04T12:50:06.2086446Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2086871Z               "line": 28
2026-06-04T12:50:06.2087275Z             },
2026-06-04T12:50:06.2087667Z             {
2026-06-04T12:50:06.2088244Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2088663Z               "line": 126
2026-06-04T12:50:06.2089059Z             },
2026-06-04T12:50:06.2089558Z             {
2026-06-04T12:50:06.2090128Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2090562Z               "line": 161
2026-06-04T12:50:06.2090952Z             },
2026-06-04T12:50:06.2091348Z             {
2026-06-04T12:50:06.2091917Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2092346Z               "line": 197
2026-06-04T12:50:06.2092741Z             },
2026-06-04T12:50:06.2093128Z             {
2026-06-04T12:50:06.2093700Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2094154Z               "line": 208
2026-06-04T12:50:06.2094549Z             },
2026-06-04T12:50:06.2094937Z             {
2026-06-04T12:50:06.2095510Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2095939Z               "line": 231
2026-06-04T12:50:06.2096338Z             },
2026-06-04T12:50:06.2096737Z             {
2026-06-04T12:50:06.2097303Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2097738Z               "line": 251
2026-06-04T12:50:06.2098139Z             },
2026-06-04T12:50:06.2098528Z             {
2026-06-04T12:50:06.2099139Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2099596Z               "line": 63
2026-06-04T12:50:06.2099995Z             }
2026-06-04T12:50:06.2100383Z           ]
2026-06-04T12:50:06.2100775Z         },
2026-06-04T12:50:06.2101175Z         "int": {
2026-06-04T12:50:06.2101613Z           "complete": true,
2026-06-04T12:50:06.2102052Z           "evidence": [
2026-06-04T12:50:06.2102667Z             {
2026-06-04T12:50:06.2103358Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.2103802Z               "line": 265
2026-06-04T12:50:06.2104230Z             },
2026-06-04T12:50:06.2104653Z             {
2026-06-04T12:50:06.2105306Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-04T12:50:06.2105758Z               "line": 102
2026-06-04T12:50:06.2106169Z             }
2026-06-04T12:50:06.2106588Z           ]
2026-06-04T12:50:06.2106994Z         },
2026-06-04T12:50:06.2107421Z         "unit": {
2026-06-04T12:50:06.2107887Z           "complete": true,
2026-06-04T12:50:06.2108327Z           "evidence": [
2026-06-04T12:50:06.2108752Z             {
2026-06-04T12:50:06.2109386Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2109838Z               "line": 362
2026-06-04T12:50:06.2110248Z             },
2026-06-04T12:50:06.2110670Z             {
2026-06-04T12:50:06.2112350Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2113114Z               "line": 400
2026-06-04T12:50:06.2113682Z             },
2026-06-04T12:50:06.2114203Z             {
2026-06-04T12:50:06.2115025Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2115481Z               "line": 427
2026-06-04T12:50:06.2115924Z             },
2026-06-04T12:50:06.2116348Z             {
2026-06-04T12:50:06.2116950Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2117401Z               "line": 448
2026-06-04T12:50:06.2117816Z             },
2026-06-04T12:50:06.2118241Z             {
2026-06-04T12:50:06.2118840Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2119388Z               "line": 501
2026-06-04T12:50:06.2119819Z             },
2026-06-04T12:50:06.2120236Z             {
2026-06-04T12:50:06.2120840Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2121284Z               "line": 540
2026-06-04T12:50:06.2121744Z             },
2026-06-04T12:50:06.2122172Z             {
2026-06-04T12:50:06.2122788Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2123240Z               "line": 632
2026-06-04T12:50:06.2123659Z             },
2026-06-04T12:50:06.2124082Z             {
2026-06-04T12:50:06.2124727Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2125185Z               "line": 133
2026-06-04T12:50:06.2125601Z             },
2026-06-04T12:50:06.2126023Z             {
2026-06-04T12:50:06.2126665Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2127117Z               "line": 208
2026-06-04T12:50:06.2127546Z             },
2026-06-04T12:50:06.2127963Z             {
2026-06-04T12:50:06.2128607Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-04T12:50:06.2129055Z               "line": 227
2026-06-04T12:50:06.2129521Z             },
2026-06-04T12:50:06.2129946Z             {
2026-06-04T12:50:06.2130613Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.2131066Z               "line": 328
2026-06-04T12:50:06.2131485Z             },
2026-06-04T12:50:06.2131905Z             {
2026-06-04T12:50:06.2132551Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-04T12:50:06.2132994Z               "line": 357
2026-06-04T12:50:06.2133420Z             },
2026-06-04T12:50:06.2133835Z             {
2026-06-04T12:50:06.2134513Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-04T12:50:06.2134962Z               "line": 112
2026-06-04T12:50:06.2135387Z             },
2026-06-04T12:50:06.2135807Z             {
2026-06-04T12:50:06.2136416Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:50:06.2136872Z               "line": 72
2026-06-04T12:50:06.2137286Z             },
2026-06-04T12:50:06.2137699Z             {
2026-06-04T12:50:06.2138312Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-04T12:50:06.2138782Z               "line": 94
2026-06-04T12:50:06.2139523Z             },
2026-06-04T12:50:06.2139965Z             {
2026-06-04T12:50:06.2140561Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2141002Z               "line": 365
2026-06-04T12:50:06.2141425Z             },
2026-06-04T12:50:06.2141839Z             {
2026-06-04T12:50:06.2142433Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2142885Z               "line": 396
2026-06-04T12:50:06.2143301Z             },
2026-06-04T12:50:06.2143723Z             {
2026-06-04T12:50:06.2144310Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2144763Z               "line": 410
2026-06-04T12:50:06.2145175Z             },
2026-06-04T12:50:06.2145600Z             {
2026-06-04T12:50:06.2146193Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2146634Z               "line": 441
2026-06-04T12:50:06.2147062Z             },
2026-06-04T12:50:06.2147474Z             {
2026-06-04T12:50:06.2148242Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2148691Z               "line": 458
2026-06-04T12:50:06.2149114Z             },
2026-06-04T12:50:06.2149594Z             {
2026-06-04T12:50:06.2150183Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2150641Z               "line": 483
2026-06-04T12:50:06.2151056Z             },
2026-06-04T12:50:06.2151478Z             {
2026-06-04T12:50:06.2152067Z               "path": "crates/spt-store/src/notif.rs",
2026-06-04T12:50:06.2152524Z               "line": 507
2026-06-04T12:50:06.2152952Z             },
2026-06-04T12:50:06.2153367Z             {
2026-06-04T12:50:06.2153989Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2154438Z               "line": 313
2026-06-04T12:50:06.2154871Z             }
2026-06-04T12:50:06.2155282Z           ]
2026-06-04T12:50:06.2155702Z         }
2026-06-04T12:50:06.2156117Z       }
2026-06-04T12:50:06.2156529Z     },
2026-06-04T12:50:06.2156960Z     {
2026-06-04T12:50:06.2157423Z       "id": "REQ-NOTIF-2",
2026-06-04T12:50:06.2158926Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T12:50:06.2159450Z       "requiredStages": [
2026-06-04T12:50:06.2159877Z         "doc",
2026-06-04T12:50:06.2160303Z         "impl",
2026-06-04T12:50:06.2160723Z         "unit"
2026-06-04T12:50:06.2161142Z       ],
2026-06-04T12:50:06.2161577Z       "stages": {
2026-06-04T12:50:06.2162005Z         "doc": {
2026-06-04T12:50:06.2162465Z           "complete": true,
2026-06-04T12:50:06.2162916Z           "evidence": [
2026-06-04T12:50:06.2163337Z             {
2026-06-04T12:50:06.2163840Z               "path": "docs/MANIFEST.md",
2026-06-04T12:50:06.2168691Z               "line": 62
2026-06-04T12:50:06.2169304Z             }
2026-06-04T12:50:06.2169726Z           ]
2026-06-04T12:50:06.2170122Z         },
2026-06-04T12:50:06.2170564Z         "impl": {
2026-06-04T12:50:06.2171020Z           "complete": true,
2026-06-04T12:50:06.2171507Z           "evidence": [
2026-06-04T12:50:06.2171916Z             {
2026-06-04T12:50:06.2172511Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2172948Z               "line": 208
2026-06-04T12:50:06.2173349Z             },
2026-06-04T12:50:06.2173756Z             {
2026-06-04T12:50:06.2174350Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2174779Z               "line": 222
2026-06-04T12:50:06.2175188Z             },
2026-06-04T12:50:06.2175585Z             {
2026-06-04T12:50:06.2176211Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.2176649Z               "line": 125
2026-06-04T12:50:06.2177044Z             },
2026-06-04T12:50:06.2177451Z             {
2026-06-04T12:50:06.2178050Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2178490Z               "line": 72
2026-06-04T12:50:06.2178889Z             },
2026-06-04T12:50:06.2179339Z             {
2026-06-04T12:50:06.2180125Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2180596Z               "line": 383
2026-06-04T12:50:06.2181031Z             },
2026-06-04T12:50:06.2181449Z             {
2026-06-04T12:50:06.2181980Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2182406Z               "line": 415
2026-06-04T12:50:06.2182812Z             },
2026-06-04T12:50:06.2183215Z             {
2026-06-04T12:50:06.2183736Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2184164Z               "line": 481
2026-06-04T12:50:06.2184562Z             },
2026-06-04T12:50:06.2184972Z             {
2026-06-04T12:50:06.2185491Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2185928Z               "line": 517
2026-06-04T12:50:06.2186338Z             }
2026-06-04T12:50:06.2186732Z           ]
2026-06-04T12:50:06.2187136Z         },
2026-06-04T12:50:06.2187538Z         "int": {
2026-06-04T12:50:06.2187992Z           "complete": false,
2026-06-04T12:50:06.2188639Z           "evidence": []
2026-06-04T12:50:06.2189057Z         },
2026-06-04T12:50:06.2189517Z         "unit": {
2026-06-04T12:50:06.2189959Z           "complete": true,
2026-06-04T12:50:06.2190390Z           "evidence": [
2026-06-04T12:50:06.2190781Z             {
2026-06-04T12:50:06.2191374Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.2191798Z               "line": 590
2026-06-04T12:50:06.2192200Z             },
2026-06-04T12:50:06.2192601Z             {
2026-06-04T12:50:06.2193115Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2193546Z               "line": 1129
2026-06-04T12:50:06.2193939Z             },
2026-06-04T12:50:06.2194344Z             {
2026-06-04T12:50:06.2194856Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2195287Z               "line": 1151
2026-06-04T12:50:06.2195698Z             }
2026-06-04T12:50:06.2196092Z           ]
2026-06-04T12:50:06.2196486Z         }
2026-06-04T12:50:06.2196875Z       }
2026-06-04T12:50:06.2197293Z     },
2026-06-04T12:50:06.2197686Z     {
2026-06-04T12:50:06.2198130Z       "id": "REQ-PAIR-1",
2026-06-04T12:50:06.2198666Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T12:50:06.2199112Z       "requiredStages": [
2026-06-04T12:50:06.2199566Z         "impl",
2026-06-04T12:50:06.2199963Z         "unit"
2026-06-04T12:50:06.2200364Z       ],
2026-06-04T12:50:06.2200769Z       "stages": {
2026-06-04T12:50:06.2201175Z         "doc": {
2026-06-04T12:50:06.2201626Z           "complete": false,
2026-06-04T12:50:06.2202056Z           "evidence": []
2026-06-04T12:50:06.2202453Z         },
2026-06-04T12:50:06.2202855Z         "impl": {
2026-06-04T12:50:06.2203301Z           "complete": true,
2026-06-04T12:50:06.2203719Z           "evidence": [
2026-06-04T12:50:06.2204118Z             {
2026-06-04T12:50:06.2204802Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2205222Z               "line": 27
2026-06-04T12:50:06.2205620Z             },
2026-06-04T12:50:06.2206028Z             {
2026-06-04T12:50:06.2206725Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2207141Z               "line": 88
2026-06-04T12:50:06.2207544Z             },
2026-06-04T12:50:06.2207942Z             {
2026-06-04T12:50:06.2208605Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2209041Z               "line": 110
2026-06-04T12:50:06.2209478Z             },
2026-06-04T12:50:06.2209878Z             {
2026-06-04T12:50:06.2210545Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2210977Z               "line": 153
2026-06-04T12:50:06.2211380Z             },
2026-06-04T12:50:06.2211770Z             {
2026-06-04T12:50:06.2212442Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2212868Z               "line": 182
2026-06-04T12:50:06.2213275Z             },
2026-06-04T12:50:06.2213668Z             {
2026-06-04T12:50:06.2214333Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2214929Z               "line": 29
2026-06-04T12:50:06.2215340Z             },
2026-06-04T12:50:06.2215739Z             {
2026-06-04T12:50:06.2216498Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T12:50:06.2216945Z               "line": 31
2026-06-04T12:50:06.2217361Z             },
2026-06-04T12:50:06.2217785Z             {
2026-06-04T12:50:06.2218458Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2218900Z               "line": 40
2026-06-04T12:50:06.2219366Z             },
2026-06-04T12:50:06.2219776Z             {
2026-06-04T12:50:06.2220431Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2220865Z               "line": 131
2026-06-04T12:50:06.2221259Z             },
2026-06-04T12:50:06.2221657Z             {
2026-06-04T12:50:06.2222301Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2222738Z               "line": 306
2026-06-04T12:50:06.2223294Z             }
2026-06-04T12:50:06.2223700Z           ]
2026-06-04T12:50:06.2224102Z         },
2026-06-04T12:50:06.2224504Z         "int": {
2026-06-04T12:50:06.2224955Z           "complete": false,
2026-06-04T12:50:06.2225377Z           "evidence": []
2026-06-04T12:50:06.2225772Z         },
2026-06-04T12:50:06.2226180Z         "unit": {
2026-06-04T12:50:06.2226626Z           "complete": true,
2026-06-04T12:50:06.2227059Z           "evidence": [
2026-06-04T12:50:06.2227451Z             {
2026-06-04T12:50:06.2228122Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2228546Z               "line": 236
2026-06-04T12:50:06.2228946Z             },
2026-06-04T12:50:06.2229380Z             {
2026-06-04T12:50:06.2230055Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T12:50:06.2230491Z               "line": 349
2026-06-04T12:50:06.2230888Z             },
2026-06-04T12:50:06.2231286Z             {
2026-06-04T12:50:06.2231959Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2232399Z               "line": 194
2026-06-04T12:50:06.2232794Z             },
2026-06-04T12:50:06.2233190Z             {
2026-06-04T12:50:06.2233849Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2234276Z               "line": 216
2026-06-04T12:50:06.2234688Z             },
2026-06-04T12:50:06.2235075Z             {
2026-06-04T12:50:06.2235729Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2236150Z               "line": 230
2026-06-04T12:50:06.2236554Z             },
2026-06-04T12:50:06.2236958Z             {
2026-06-04T12:50:06.2237603Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2238037Z               "line": 242
2026-06-04T12:50:06.2238435Z             },
2026-06-04T12:50:06.2238835Z             {
2026-06-04T12:50:06.2239523Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2239973Z               "line": 256
2026-06-04T12:50:06.2240387Z             },
2026-06-04T12:50:06.2240784Z             {
2026-06-04T12:50:06.2241444Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2241869Z               "line": 270
2026-06-04T12:50:06.2242273Z             },
2026-06-04T12:50:06.2242663Z             {
2026-06-04T12:50:06.2243320Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2247470Z               "line": 277
2026-06-04T12:50:06.2247987Z             },
2026-06-04T12:50:06.2248423Z             {
2026-06-04T12:50:06.2249113Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T12:50:06.2249642Z               "line": 295
2026-06-04T12:50:06.2250054Z             },
2026-06-04T12:50:06.2250446Z             {
2026-06-04T12:50:06.2251109Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2251532Z               "line": 696
2026-06-04T12:50:06.2251974Z             },
2026-06-04T12:50:06.2252368Z             {
2026-06-04T12:50:06.2253256Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2253746Z               "line": 757
2026-06-04T12:50:06.2254169Z             },
2026-06-04T12:50:06.2254589Z             {
2026-06-04T12:50:06.2255239Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2255675Z               "line": 814
2026-06-04T12:50:06.2256075Z             },
2026-06-04T12:50:06.2256476Z             {
2026-06-04T12:50:06.2257135Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2257563Z               "line": 868
2026-06-04T12:50:06.2257969Z             },
2026-06-04T12:50:06.2258366Z             {
2026-06-04T12:50:06.2259028Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2259504Z               "line": 920
2026-06-04T12:50:06.2259915Z             },
2026-06-04T12:50:06.2260316Z             {
2026-06-04T12:50:06.2261121Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2261565Z               "line": 1084
2026-06-04T12:50:06.2261963Z             }
2026-06-04T12:50:06.2262364Z           ]
2026-06-04T12:50:06.2262757Z         }
2026-06-04T12:50:06.2263160Z       }
2026-06-04T12:50:06.2263556Z     },
2026-06-04T12:50:06.2263945Z     {
2026-06-04T12:50:06.2264397Z       "id": "REQ-PAIR-2",
2026-06-04T12:50:06.2265114Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T12:50:06.2265575Z       "requiredStages": [
2026-06-04T12:50:06.2265985Z         "impl",
2026-06-04T12:50:06.2266394Z         "unit"
2026-06-04T12:50:06.2266796Z       ],
2026-06-04T12:50:06.2267205Z       "stages": {
2026-06-04T12:50:06.2267615Z         "doc": {
2026-06-04T12:50:06.2268060Z           "complete": false,
2026-06-04T12:50:06.2268494Z           "evidence": []
2026-06-04T12:50:06.2268896Z         },
2026-06-04T12:50:06.2269355Z         "impl": {
2026-06-04T12:50:06.2269809Z           "complete": true,
2026-06-04T12:50:06.2270245Z           "evidence": [
2026-06-04T12:50:06.2270666Z             {
2026-06-04T12:50:06.2271253Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2271679Z               "line": 42
2026-06-04T12:50:06.2272080Z             },
2026-06-04T12:50:06.2272488Z             {
2026-06-04T12:50:06.2273063Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2273491Z               "line": 151
2026-06-04T12:50:06.2273897Z             },
2026-06-04T12:50:06.2274290Z             {
2026-06-04T12:50:06.2274869Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2275305Z               "line": 171
2026-06-04T12:50:06.2275710Z             },
2026-06-04T12:50:06.2276112Z             {
2026-06-04T12:50:06.2276683Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2277120Z               "line": 209
2026-06-04T12:50:06.2277518Z             },
2026-06-04T12:50:06.2277920Z             {
2026-06-04T12:50:06.2278505Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2278946Z               "line": 232
2026-06-04T12:50:06.2279387Z             }
2026-06-04T12:50:06.2279781Z           ]
2026-06-04T12:50:06.2280179Z         },
2026-06-04T12:50:06.2280575Z         "int": {
2026-06-04T12:50:06.2281026Z           "complete": false,
2026-06-04T12:50:06.2281456Z           "evidence": []
2026-06-04T12:50:06.2281854Z         },
2026-06-04T12:50:06.2282262Z         "unit": {
2026-06-04T12:50:06.2282700Z           "complete": true,
2026-06-04T12:50:06.2283128Z           "evidence": [
2026-06-04T12:50:06.2283517Z             {
2026-06-04T12:50:06.2284095Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2284519Z               "line": 253
2026-06-04T12:50:06.2284924Z             },
2026-06-04T12:50:06.2285315Z             {
2026-06-04T12:50:06.2285879Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2286308Z               "line": 272
2026-06-04T12:50:06.2286718Z             },
2026-06-04T12:50:06.2287269Z             {
2026-06-04T12:50:06.2287851Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2288289Z               "line": 284
2026-06-04T12:50:06.2288690Z             },
2026-06-04T12:50:06.2289080Z             {
2026-06-04T12:50:06.2289698Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2290123Z               "line": 303
2026-06-04T12:50:06.2290529Z             },
2026-06-04T12:50:06.2290919Z             {
2026-06-04T12:50:06.2291498Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2291928Z               "line": 319
2026-06-04T12:50:06.2292325Z             },
2026-06-04T12:50:06.2292728Z             {
2026-06-04T12:50:06.2293299Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2293734Z               "line": 331
2026-06-04T12:50:06.2294148Z             },
2026-06-04T12:50:06.2294539Z             {
2026-06-04T12:50:06.2295111Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2295706Z               "line": 343
2026-06-04T12:50:06.2296112Z             },
2026-06-04T12:50:06.2296508Z             {
2026-06-04T12:50:06.2297092Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2297569Z               "line": 356
2026-06-04T12:50:06.2297963Z             },
2026-06-04T12:50:06.2298355Z             {
2026-06-04T12:50:06.2298921Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T12:50:06.2299394Z               "line": 370
2026-06-04T12:50:06.2299786Z             }
2026-06-04T12:50:06.2300183Z           ]
2026-06-04T12:50:06.2300579Z         }
2026-06-04T12:50:06.2300971Z       }
2026-06-04T12:50:06.2301361Z     },
2026-06-04T12:50:06.2301743Z     {
2026-06-04T12:50:06.2302194Z       "id": "REQ-PAIR-3",
2026-06-04T12:50:06.2302964Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T12:50:06.2303419Z       "requiredStages": [
2026-06-04T12:50:06.2303829Z         "impl",
2026-06-04T12:50:06.2304240Z         "unit"
2026-06-04T12:50:06.2304650Z       ],
2026-06-04T12:50:06.2305065Z       "stages": {
2026-06-04T12:50:06.2305468Z         "doc": {
2026-06-04T12:50:06.2305905Z           "complete": false,
2026-06-04T12:50:06.2306345Z           "evidence": []
2026-06-04T12:50:06.2306746Z         },
2026-06-04T12:50:06.2307148Z         "impl": {
2026-06-04T12:50:06.2307601Z           "complete": true,
2026-06-04T12:50:06.2308023Z           "evidence": [
2026-06-04T12:50:06.2308419Z             {
2026-06-04T12:50:06.2308935Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2309404Z               "line": 793
2026-06-04T12:50:06.2309809Z             },
2026-06-04T12:50:06.2310198Z             {
2026-06-04T12:50:06.2310717Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2311139Z               "line": 829
2026-06-04T12:50:06.2311538Z             },
2026-06-04T12:50:06.2311929Z             {
2026-06-04T12:50:06.2312448Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2312904Z               "line": 889
2026-06-04T12:50:06.2313297Z             }
2026-06-04T12:50:06.2313691Z           ]
2026-06-04T12:50:06.2314081Z         },
2026-06-04T12:50:06.2314484Z         "int": {
2026-06-04T12:50:06.2314933Z           "complete": false,
2026-06-04T12:50:06.2315366Z           "evidence": []
2026-06-04T12:50:06.2315766Z         },
2026-06-04T12:50:06.2316167Z         "unit": {
2026-06-04T12:50:06.2316611Z           "complete": true,
2026-06-04T12:50:06.2317035Z           "evidence": [
2026-06-04T12:50:06.2317434Z             {
2026-06-04T12:50:06.2317952Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2318388Z               "line": 1250
2026-06-04T12:50:06.2318793Z             },
2026-06-04T12:50:06.2319232Z             {
2026-06-04T12:50:06.2320016Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2320644Z               "line": 1267
2026-06-04T12:50:06.2321061Z             },
2026-06-04T12:50:06.2321452Z             {
2026-06-04T12:50:06.2326424Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2326979Z               "line": 1281
2026-06-04T12:50:06.2327387Z             },
2026-06-04T12:50:06.2327791Z             {
2026-06-04T12:50:06.2328310Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2328752Z               "line": 1297
2026-06-04T12:50:06.2329295Z             },
2026-06-04T12:50:06.2329885Z             {
2026-06-04T12:50:06.2330568Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2331001Z               "line": 1318
2026-06-04T12:50:06.2331407Z             },
2026-06-04T12:50:06.2331803Z             {
2026-06-04T12:50:06.2332322Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2332757Z               "line": 1334
2026-06-04T12:50:06.2333159Z             },
2026-06-04T12:50:06.2333560Z             {
2026-06-04T12:50:06.2334064Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2334497Z               "line": 1347
2026-06-04T12:50:06.2335071Z             },
2026-06-04T12:50:06.2335498Z             {
2026-06-04T12:50:06.2336022Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2336481Z               "line": 1356
2026-06-04T12:50:06.2336945Z             }
2026-06-04T12:50:06.2337425Z           ]
2026-06-04T12:50:06.2337903Z         }
2026-06-04T12:50:06.2338350Z       }
2026-06-04T12:50:06.2338805Z     },
2026-06-04T12:50:06.2339445Z     {
2026-06-04T12:50:06.2340179Z       "id": "REQ-PAIR-4",
2026-06-04T12:50:06.2340846Z       "title": "Subnet naming on first pairing",
2026-06-04T12:50:06.2341379Z       "requiredStages": [
2026-06-04T12:50:06.2341850Z         "impl",
2026-06-04T12:50:06.2342286Z         "unit"
2026-06-04T12:50:06.2342725Z       ],
2026-06-04T12:50:06.2343176Z       "stages": {
2026-06-04T12:50:06.2343629Z         "doc": {
2026-06-04T12:50:06.2344150Z           "complete": false,
2026-06-04T12:50:06.2344642Z           "evidence": []
2026-06-04T12:50:06.2345104Z         },
2026-06-04T12:50:06.2345621Z         "impl": {
2026-06-04T12:50:06.2346152Z           "complete": true,
2026-06-04T12:50:06.2346608Z           "evidence": [
2026-06-04T12:50:06.2347083Z             {
2026-06-04T12:50:06.2347787Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T12:50:06.2348295Z               "line": 154
2026-06-04T12:50:06.2348746Z             }
2026-06-04T12:50:06.2349276Z           ]
2026-06-04T12:50:06.2350029Z         },
2026-06-04T12:50:06.2350511Z         "int": {
2026-06-04T12:50:06.2351023Z           "complete": false,
2026-06-04T12:50:06.2361090Z           "evidence": []
2026-06-04T12:50:06.2361744Z         },
2026-06-04T12:50:06.2362195Z         "unit": {
2026-06-04T12:50:06.2362673Z           "complete": true,
2026-06-04T12:50:06.2363126Z           "evidence": [
2026-06-04T12:50:06.2363522Z             {
2026-06-04T12:50:06.2364226Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2364679Z               "line": 972
2026-06-04T12:50:06.2365094Z             }
2026-06-04T12:50:06.2365544Z           ]
2026-06-04T12:50:06.2365971Z         }
2026-06-04T12:50:06.2366393Z       }
2026-06-04T12:50:06.2366788Z     },
2026-06-04T12:50:06.2367202Z     {
2026-06-04T12:50:06.2367670Z       "id": "REQ-PAIR-5",
2026-06-04T12:50:06.2369774Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T12:50:06.2370419Z       "requiredStages": [
2026-06-04T12:50:06.2370842Z         "impl",
2026-06-04T12:50:06.2371268Z         "unit"
2026-06-04T12:50:06.2371683Z       ],
2026-06-04T12:50:06.2372140Z       "stages": {
2026-06-04T12:50:06.2372586Z         "doc": {
2026-06-04T12:50:06.2373063Z           "complete": false,
2026-06-04T12:50:06.2373528Z           "evidence": []
2026-06-04T12:50:06.2373934Z         },
2026-06-04T12:50:06.2374364Z         "impl": {
2026-06-04T12:50:06.2374825Z           "complete": true,
2026-06-04T12:50:06.2375275Z           "evidence": [
2026-06-04T12:50:06.2375693Z             {
2026-06-04T12:50:06.2377037Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2377561Z               "line": 33
2026-06-04T12:50:06.2377980Z             },
2026-06-04T12:50:06.2378394Z             {
2026-06-04T12:50:06.2379284Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2379758Z               "line": 45
2026-06-04T12:50:06.2380190Z             },
2026-06-04T12:50:06.2380595Z             {
2026-06-04T12:50:06.2381359Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2381790Z               "line": 59
2026-06-04T12:50:06.2382195Z             },
2026-06-04T12:50:06.2382612Z             {
2026-06-04T12:50:06.2383287Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2383736Z               "line": 306
2026-06-04T12:50:06.2384137Z             }
2026-06-04T12:50:06.2384551Z           ]
2026-06-04T12:50:06.2384994Z         },
2026-06-04T12:50:06.2385685Z         "int": {
2026-06-04T12:50:06.2386148Z           "complete": false,
2026-06-04T12:50:06.2386611Z           "evidence": []
2026-06-04T12:50:06.2387033Z         },
2026-06-04T12:50:06.2387473Z         "unit": {
2026-06-04T12:50:06.2387953Z           "complete": true,
2026-06-04T12:50:06.2388430Z           "evidence": [
2026-06-04T12:50:06.2388861Z             {
2026-06-04T12:50:06.2389708Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2390168Z               "line": 72
2026-06-04T12:50:06.2390604Z             },
2026-06-04T12:50:06.2391004Z             {
2026-06-04T12:50:06.2391763Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2392195Z               "line": 82
2026-06-04T12:50:06.2392607Z             },
2026-06-04T12:50:06.2393015Z             {
2026-06-04T12:50:06.2393787Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2394246Z               "line": 92
2026-06-04T12:50:06.2394679Z             },
2026-06-04T12:50:06.2395111Z             {
2026-06-04T12:50:06.2395870Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2396339Z               "line": 102
2026-06-04T12:50:06.2396777Z             },
2026-06-04T12:50:06.2397186Z             {
2026-06-04T12:50:06.2397941Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T12:50:06.2398377Z               "line": 117
2026-06-04T12:50:06.2398791Z             },
2026-06-04T12:50:06.2399250Z             {
2026-06-04T12:50:06.2399922Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2400378Z               "line": 750
2026-06-04T12:50:06.2400795Z             },
2026-06-04T12:50:06.2401209Z             {
2026-06-04T12:50:06.2401869Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2402326Z               "line": 806
2026-06-04T12:50:06.2402736Z             },
2026-06-04T12:50:06.2403165Z             {
2026-06-04T12:50:06.2403882Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T12:50:06.2404331Z               "line": 1026
2026-06-04T12:50:06.2404760Z             }
2026-06-04T12:50:06.2405182Z           ]
2026-06-04T12:50:06.2405620Z         }
2026-06-04T12:50:06.2406047Z       }
2026-06-04T12:50:06.2406471Z     },
2026-06-04T12:50:06.2406907Z     {
2026-06-04T12:50:06.2407388Z       "id": "REQ-PAIR-6",
2026-06-04T12:50:06.2408897Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T12:50:06.2409615Z       "requiredStages": [
2026-06-04T12:50:06.2410235Z         "impl",
2026-06-04T12:50:06.2410662Z         "unit"
2026-06-04T12:50:06.2411087Z       ],
2026-06-04T12:50:06.2411542Z       "stages": {
2026-06-04T12:50:06.2411958Z         "doc": {
2026-06-04T12:50:06.2412436Z           "complete": false,
2026-06-04T12:50:06.2412889Z           "evidence": []
2026-06-04T12:50:06.2413323Z         },
2026-06-04T12:50:06.2413775Z         "impl": {
2026-06-04T12:50:06.2414531Z           "complete": true,
2026-06-04T12:50:06.2415156Z           "evidence": [
2026-06-04T12:50:06.2415572Z             {
2026-06-04T12:50:06.2416129Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2416582Z               "line": 829
2026-06-04T12:50:06.2417013Z             },
2026-06-04T12:50:06.2417429Z             {
2026-06-04T12:50:06.2417975Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2418434Z               "line": 889
2026-06-04T12:50:06.2418850Z             },
2026-06-04T12:50:06.2425766Z             {
2026-06-04T12:50:06.2426515Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:50:06.2426980Z               "line": 18
2026-06-04T12:50:06.2427382Z             },
2026-06-04T12:50:06.2427797Z             {
2026-06-04T12:50:06.2428370Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:50:06.2428810Z               "line": 49
2026-06-04T12:50:06.2429337Z             },
2026-06-04T12:50:06.2430216Z             {
2026-06-04T12:50:06.2430880Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:50:06.2431331Z               "line": 70
2026-06-04T12:50:06.2431765Z             }
2026-06-04T12:50:06.2432187Z           ]
2026-06-04T12:50:06.2432593Z         },
2026-06-04T12:50:06.2433034Z         "int": {
2026-06-04T12:50:06.2433507Z           "complete": false,
2026-06-04T12:50:06.2433995Z           "evidence": []
2026-06-04T12:50:06.2434432Z         },
2026-06-04T12:50:06.2434959Z         "unit": {
2026-06-04T12:50:06.2435473Z           "complete": true,
2026-06-04T12:50:06.2435925Z           "evidence": [
2026-06-04T12:50:06.2436358Z             {
2026-06-04T12:50:06.2436902Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2437370Z               "line": 1369
2026-06-04T12:50:06.2437795Z             },
2026-06-04T12:50:06.2438224Z             {
2026-06-04T12:50:06.2438773Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2439344Z               "line": 1386
2026-06-04T12:50:06.2439820Z             },
2026-06-04T12:50:06.2440255Z             {
2026-06-04T12:50:06.2440860Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:50:06.2441307Z               "line": 132
2026-06-04T12:50:06.2441729Z             },
2026-06-04T12:50:06.2442152Z             {
2026-06-04T12:50:06.2442730Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T12:50:06.2443190Z               "line": 141
2026-06-04T12:50:06.2443608Z             }
2026-06-04T12:50:06.2444040Z           ]
2026-06-04T12:50:06.2444474Z         }
2026-06-04T12:50:06.2444897Z       }
2026-06-04T12:50:06.2445316Z     },
2026-06-04T12:50:06.2445818Z     {
2026-06-04T12:50:06.2446286Z       "id": "REQ-PAIR-7",
2026-06-04T12:50:06.2447194Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T12:50:06.2447692Z       "requiredStages": [],
2026-06-04T12:50:06.2448117Z       "stages": {
2026-06-04T12:50:06.2448552Z         "doc": {
2026-06-04T12:50:06.2449076Z           "complete": false,
2026-06-04T12:50:06.2449804Z           "evidence": []
2026-06-04T12:50:06.2450491Z         },
2026-06-04T12:50:06.2450933Z         "impl": {
2026-06-04T12:50:06.2451420Z           "complete": false,
2026-06-04T12:50:06.2451894Z           "evidence": []
2026-06-04T12:50:06.2452329Z         },
2026-06-04T12:50:06.2452789Z         "int": {
2026-06-04T12:50:06.2453285Z           "complete": false,
2026-06-04T12:50:06.2453768Z           "evidence": []
2026-06-04T12:50:06.2454179Z         },
2026-06-04T12:50:06.2454623Z         "unit": {
2026-06-04T12:50:06.2455093Z           "complete": false,
2026-06-04T12:50:06.2455549Z           "evidence": []
2026-06-04T12:50:06.2455968Z         }
2026-06-04T12:50:06.2456380Z       }
2026-06-04T12:50:06.2456813Z     },
2026-06-04T12:50:06.2457223Z     {
2026-06-04T12:50:06.2457716Z       "id": "REQ-REACH-1",
2026-06-04T12:50:06.2458559Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T12:50:06.2459089Z       "requiredStages": [
2026-06-04T12:50:06.2459671Z         "impl",
2026-06-04T12:50:06.2460440Z         "unit"
2026-06-04T12:50:06.2460932Z       ],
2026-06-04T12:50:06.2461383Z       "stages": {
2026-06-04T12:50:06.2461828Z         "doc": {
2026-06-04T12:50:06.2462315Z           "complete": false,
2026-06-04T12:50:06.2462788Z           "evidence": []
2026-06-04T12:50:06.2463211Z         },
2026-06-04T12:50:06.2463631Z         "impl": {
2026-06-04T12:50:06.2464101Z           "complete": true,
2026-06-04T12:50:06.2464580Z           "evidence": [
2026-06-04T12:50:06.2465032Z             {
2026-06-04T12:50:06.2465695Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-04T12:50:06.2466159Z               "line": 133
2026-06-04T12:50:06.2466595Z             },
2026-06-04T12:50:06.2467008Z             {
2026-06-04T12:50:06.2467636Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.2468099Z               "line": 76
2026-06-04T12:50:06.2468536Z             },
2026-06-04T12:50:06.2469372Z             {
2026-06-04T12:50:06.2470017Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.2470502Z               "line": 209
2026-06-04T12:50:06.2470909Z             },
2026-06-04T12:50:06.2471322Z             {
2026-06-04T12:50:06.2471918Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.2472374Z               "line": 386
2026-06-04T12:50:06.2472798Z             },
2026-06-04T12:50:06.2473218Z             {
2026-06-04T12:50:06.2473846Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.2474313Z               "line": 484
2026-06-04T12:50:06.2474768Z             },
2026-06-04T12:50:06.2475217Z             {
2026-06-04T12:50:06.2475886Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:50:06.2476354Z               "line": 39
2026-06-04T12:50:06.2476804Z             },
2026-06-04T12:50:06.2477240Z             {
2026-06-04T12:50:06.2477849Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:06.2478338Z               "line": 176
2026-06-04T12:50:06.2478776Z             },
2026-06-04T12:50:06.2479481Z             {
2026-06-04T12:50:06.2480224Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:50:06.2480798Z               "line": 82
2026-06-04T12:50:06.2481271Z             },
2026-06-04T12:50:06.2481719Z             {
2026-06-04T12:50:06.2482349Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:50:06.2482812Z               "line": 92
2026-06-04T12:50:06.2483247Z             },
2026-06-04T12:50:06.2483693Z             {
2026-06-04T12:50:06.2484370Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2484866Z               "line": 177
2026-06-04T12:50:06.2485304Z             }
2026-06-04T12:50:06.2485737Z           ]
2026-06-04T12:50:06.2486165Z         },
2026-06-04T12:50:06.2486607Z         "int": {
2026-06-04T12:50:06.2487098Z           "complete": true,
2026-06-04T12:50:06.2487552Z           "evidence": [
2026-06-04T12:50:06.2487978Z             {
2026-06-04T12:50:06.2488727Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.2489284Z               "line": 375
2026-06-04T12:50:06.2489892Z             },
2026-06-04T12:50:06.2490333Z             {
2026-06-04T12:50:06.2491040Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.2491494Z               "line": 478
2026-06-04T12:50:06.2491916Z             }
2026-06-04T12:50:06.2492333Z           ]
2026-06-04T12:50:06.2492759Z         },
2026-06-04T12:50:06.2493208Z         "unit": {
2026-06-04T12:50:06.2493709Z           "complete": true,
2026-06-04T12:50:06.2494168Z           "evidence": [
2026-06-04T12:50:06.2494588Z             {
2026-06-04T12:50:06.2495212Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.2495664Z               "line": 585
2026-06-04T12:50:06.2496090Z             },
2026-06-04T12:50:06.2496505Z             {
2026-06-04T12:50:06.2497122Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-04T12:50:06.2497596Z               "line": 606
2026-06-04T12:50:06.2498334Z             },
2026-06-04T12:50:06.2498809Z             {
2026-06-04T12:50:06.2499736Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-04T12:50:06.2500391Z               "line": 337
2026-06-04T12:50:06.2500806Z             },
2026-06-04T12:50:06.2501232Z             {
2026-06-04T12:50:06.2501885Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T12:50:06.2502335Z               "line": 92
2026-06-04T12:50:06.2502775Z             },
2026-06-04T12:50:06.2503187Z             {
2026-06-04T12:50:06.2503839Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-04T12:50:06.2504294Z               "line": 176
2026-06-04T12:50:06.2504729Z             },
2026-06-04T12:50:06.2505159Z             {
2026-06-04T12:50:06.2505780Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:50:06.2506260Z               "line": 92
2026-06-04T12:50:06.2506716Z             },
2026-06-04T12:50:06.2507431Z             {
2026-06-04T12:50:06.2514084Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-04T12:50:06.2514728Z               "line": 123
2026-06-04T12:50:06.2515174Z             },
2026-06-04T12:50:06.2515593Z             {
2026-06-04T12:50:06.2516229Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:06.2516681Z               "line": 367
2026-06-04T12:50:06.2517145Z             },
2026-06-04T12:50:06.2517569Z             {
2026-06-04T12:50:06.2518196Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:50:06.2518663Z               "line": 112
2026-06-04T12:50:06.2519098Z             },
2026-06-04T12:50:06.2519750Z             {
2026-06-04T12:50:06.2520345Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-04T12:50:06.2520792Z               "line": 136
2026-06-04T12:50:06.2521197Z             },
2026-06-04T12:50:06.2521616Z             {
2026-06-04T12:50:06.2522260Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2522726Z               "line": 396
2026-06-04T12:50:06.2523157Z             }
2026-06-04T12:50:06.2523570Z           ]
2026-06-04T12:50:06.2523984Z         }
2026-06-04T12:50:06.2524383Z       }
2026-06-04T12:50:06.2524798Z     },
2026-06-04T12:50:06.2525219Z     {
2026-06-04T12:50:06.2525695Z       "id": "REQ-REACH-2",
2026-06-04T12:50:06.2526602Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T12:50:06.2527103Z       "requiredStages": [],
2026-06-04T12:50:06.2527564Z       "stages": {
2026-06-04T12:50:06.2527999Z         "doc": {
2026-06-04T12:50:06.2528485Z           "complete": false,
2026-06-04T12:50:06.2530245Z           "evidence": []
2026-06-04T12:50:06.2530708Z         },
2026-06-04T12:50:06.2531165Z         "impl": {
2026-06-04T12:50:06.2531650Z           "complete": false,
2026-06-04T12:50:06.2532120Z           "evidence": []
2026-06-04T12:50:06.2532536Z         },
2026-06-04T12:50:06.2532993Z         "int": {
2026-06-04T12:50:06.2533480Z           "complete": false,
2026-06-04T12:50:06.2533952Z           "evidence": []
2026-06-04T12:50:06.2534385Z         },
2026-06-04T12:50:06.2534808Z         "unit": {
2026-06-04T12:50:06.2535270Z           "complete": false,
2026-06-04T12:50:06.2535706Z           "evidence": []
2026-06-04T12:50:06.2536124Z         }
2026-06-04T12:50:06.2536540Z       }
2026-06-04T12:50:06.2536928Z     },
2026-06-04T12:50:06.2537339Z     {
2026-06-04T12:50:06.2537857Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T12:50:06.2538956Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T12:50:06.2539713Z       "requiredStages": [
2026-06-04T12:50:06.2540330Z         "impl",
2026-06-04T12:50:06.2540773Z         "unit"
2026-06-04T12:50:06.2541195Z       ],
2026-06-04T12:50:06.2541640Z       "stages": {
2026-06-04T12:50:06.2542064Z         "doc": {
2026-06-04T12:50:06.2542547Z           "complete": false,
2026-06-04T12:50:06.2542992Z           "evidence": []
2026-06-04T12:50:06.2543404Z         },
2026-06-04T12:50:06.2543860Z         "impl": {
2026-06-04T12:50:06.2544778Z           "complete": true,
2026-06-04T12:50:06.2545313Z           "evidence": [
2026-06-04T12:50:06.2545720Z             {
2026-06-04T12:50:06.2546360Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2546802Z               "line": 18
2026-06-04T12:50:06.2547234Z             },
2026-06-04T12:50:06.2547657Z             {
2026-06-04T12:50:06.2548269Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2548730Z               "line": 35
2026-06-04T12:50:06.2549223Z             },
2026-06-04T12:50:06.2549989Z             {
2026-06-04T12:50:06.2550606Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2551080Z               "line": 65
2026-06-04T12:50:06.2551549Z             }
2026-06-04T12:50:06.2551986Z           ]
2026-06-04T12:50:06.2552415Z         },
2026-06-04T12:50:06.2552831Z         "int": {
2026-06-04T12:50:06.2553305Z           "complete": false,
2026-06-04T12:50:06.2554041Z           "evidence": []
2026-06-04T12:50:06.2554472Z         },
2026-06-04T12:50:06.2554929Z         "unit": {
2026-06-04T12:50:06.2555394Z           "complete": true,
2026-06-04T12:50:06.2555888Z           "evidence": [
2026-06-04T12:50:06.2556351Z             {
2026-06-04T12:50:06.2556994Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2557433Z               "line": 170
2026-06-04T12:50:06.2557861Z             },
2026-06-04T12:50:06.2558280Z             {
2026-06-04T12:50:06.2558908Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2559627Z               "line": 184
2026-06-04T12:50:06.2560219Z             },
2026-06-04T12:50:06.2560661Z             {
2026-06-04T12:50:06.2561329Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2561798Z               "line": 193
2026-06-04T12:50:06.2562221Z             }
2026-06-04T12:50:06.2562635Z           ]
2026-06-04T12:50:06.2563054Z         }
2026-06-04T12:50:06.2563455Z       }
2026-06-04T12:50:06.2563897Z     },
2026-06-04T12:50:06.2564324Z     {
2026-06-04T12:50:06.2564857Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T12:50:06.2565703Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T12:50:06.2566180Z       "requiredStages": [
2026-06-04T12:50:06.2566618Z         "impl",
2026-06-04T12:50:06.2567033Z         "unit"
2026-06-04T12:50:06.2567461Z       ],
2026-06-04T12:50:06.2567910Z       "stages": {
2026-06-04T12:50:06.2568363Z         "doc": {
2026-06-04T12:50:06.2568844Z           "complete": false,
2026-06-04T12:50:06.2569523Z           "evidence": []
2026-06-04T12:50:06.2570145Z         },
2026-06-04T12:50:06.2570587Z         "impl": {
2026-06-04T12:50:06.2571070Z           "complete": true,
2026-06-04T12:50:06.2571520Z           "evidence": [
2026-06-04T12:50:06.2571940Z             {
2026-06-04T12:50:06.2572593Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2573026Z               "line": 262
2026-06-04T12:50:06.2573473Z             }
2026-06-04T12:50:06.2573884Z           ]
2026-06-04T12:50:06.2574312Z         },
2026-06-04T12:50:06.2574730Z         "int": {
2026-06-04T12:50:06.2575207Z           "complete": false,
2026-06-04T12:50:06.2575674Z           "evidence": []
2026-06-04T12:50:06.2576077Z         },
2026-06-04T12:50:06.2576513Z         "unit": {
2026-06-04T12:50:06.2576990Z           "complete": true,
2026-06-04T12:50:06.2577482Z           "evidence": [
2026-06-04T12:50:06.2577929Z             {
2026-06-04T12:50:06.2578623Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2579101Z               "line": 429
2026-06-04T12:50:06.2579763Z             }
2026-06-04T12:50:06.2580360Z           ]
2026-06-04T12:50:06.2580784Z         }
2026-06-04T12:50:06.2581207Z       }
2026-06-04T12:50:06.2581611Z     },
2026-06-04T12:50:06.2582042Z     {
2026-06-04T12:50:06.2582550Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T12:50:06.2583612Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T12:50:06.2584554Z       "requiredStages": [
2026-06-04T12:50:06.2585062Z         "impl",
2026-06-04T12:50:06.2585517Z         "unit",
2026-06-04T12:50:06.2585952Z         "int"
2026-06-04T12:50:06.2586371Z       ],
2026-06-04T12:50:06.2586812Z       "stages": {
2026-06-04T12:50:06.2587240Z         "doc": {
2026-06-04T12:50:06.2587723Z           "complete": false,
2026-06-04T12:50:06.2588168Z           "evidence": []
2026-06-04T12:50:06.2588581Z         },
2026-06-04T12:50:06.2589010Z         "impl": {
2026-06-04T12:50:06.2589577Z           "complete": true,
2026-06-04T12:50:06.2590043Z           "evidence": [
2026-06-04T12:50:06.2590463Z             {
2026-06-04T12:50:06.2591070Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:06.2591510Z               "line": 24
2026-06-04T12:50:06.2591947Z             },
2026-06-04T12:50:06.2592359Z             {
2026-06-04T12:50:06.2592991Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2593443Z               "line": 22
2026-06-04T12:50:06.2594142Z             }
2026-06-04T12:50:06.2594589Z           ]
2026-06-04T12:50:06.2595025Z         },
2026-06-04T12:50:06.2595457Z         "int": {
2026-06-04T12:50:06.2595918Z           "complete": true,
2026-06-04T12:50:06.2602083Z           "evidence": [
2026-06-04T12:50:06.2602672Z             {
2026-06-04T12:50:06.2603332Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:06.2603785Z               "line": 202
2026-06-04T12:50:06.2604196Z             }
2026-06-04T12:50:06.2604622Z           ]
2026-06-04T12:50:06.2605034Z         },
2026-06-04T12:50:06.2605470Z         "unit": {
2026-06-04T12:50:06.2605936Z           "complete": true,
2026-06-04T12:50:06.2606380Z           "evidence": [
2026-06-04T12:50:06.2606798Z             {
2026-06-04T12:50:06.2607389Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:06.2607856Z               "line": 163
2026-06-04T12:50:06.2608311Z             },
2026-06-04T12:50:06.2608738Z             {
2026-06-04T12:50:06.2609613Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:06.2610237Z               "line": 186
2026-06-04T12:50:06.2610670Z             },
2026-06-04T12:50:06.2611081Z             {
2026-06-04T12:50:06.2611670Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T12:50:06.2612113Z               "line": 195
2026-06-04T12:50:06.2612564Z             },
2026-06-04T12:50:06.2613003Z             {
2026-06-04T12:50:06.2613641Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2614119Z               "line": 195
2026-06-04T12:50:06.2614544Z             },
2026-06-04T12:50:06.2614975Z             {
2026-06-04T12:50:06.2615597Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2616062Z               "line": 209
2026-06-04T12:50:06.2616504Z             },
2026-06-04T12:50:06.2616924Z             {
2026-06-04T12:50:06.2617562Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2618041Z               "line": 228
2026-06-04T12:50:06.2618490Z             },
2026-06-04T12:50:06.2618922Z             {
2026-06-04T12:50:06.2619649Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2620120Z               "line": 248
2026-06-04T12:50:06.2620541Z             },
2026-06-04T12:50:06.2620971Z             {
2026-06-04T12:50:06.2621596Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2622063Z               "line": 264
2026-06-04T12:50:06.2622481Z             },
2026-06-04T12:50:06.2622905Z             {
2026-06-04T12:50:06.2623567Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T12:50:06.2624039Z               "line": 279
2026-06-04T12:50:06.2624485Z             }
2026-06-04T12:50:06.2624930Z           ]
2026-06-04T12:50:06.2625349Z         }
2026-06-04T12:50:06.2625781Z       }
2026-06-04T12:50:06.2626183Z     },
2026-06-04T12:50:06.2626595Z     {
2026-06-04T12:50:06.2627080Z       "id": "REQ-SEAM-INJECT",
2026-06-04T12:50:06.2628482Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T12:50:06.2629011Z       "requiredStages": [
2026-06-04T12:50:06.2629510Z         "impl",
2026-06-04T12:50:06.2629945Z         "unit"
2026-06-04T12:50:06.2630363Z       ],
2026-06-04T12:50:06.2630802Z       "stages": {
2026-06-04T12:50:06.2631222Z         "doc": {
2026-06-04T12:50:06.2631708Z           "complete": false,
2026-06-04T12:50:06.2632162Z           "evidence": []
2026-06-04T12:50:06.2632585Z         },
2026-06-04T12:50:06.2633036Z         "impl": {
2026-06-04T12:50:06.2633511Z           "complete": true,
2026-06-04T12:50:06.2633969Z           "evidence": [
2026-06-04T12:50:06.2634388Z             {
2026-06-04T12:50:06.2635024Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2635467Z               "line": 19
2026-06-04T12:50:06.2635884Z             },
2026-06-04T12:50:06.2636302Z             {
2026-06-04T12:50:06.2636920Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2637636Z               "line": 104
2026-06-04T12:50:06.2638061Z             }
2026-06-04T12:50:06.2638487Z           ]
2026-06-04T12:50:06.2638902Z         },
2026-06-04T12:50:06.2639388Z         "int": {
2026-06-04T12:50:06.2639877Z           "complete": false,
2026-06-04T12:50:06.2640327Z           "evidence": []
2026-06-04T12:50:06.2640751Z         },
2026-06-04T12:50:06.2641169Z         "unit": {
2026-06-04T12:50:06.2641661Z           "complete": true,
2026-06-04T12:50:06.2642128Z           "evidence": [
2026-06-04T12:50:06.2642549Z             {
2026-06-04T12:50:06.2643173Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2643625Z               "line": 222
2026-06-04T12:50:06.2644064Z             },
2026-06-04T12:50:06.2644485Z             {
2026-06-04T12:50:06.2645124Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T12:50:06.2645584Z               "line": 236
2026-06-04T12:50:06.2646026Z             }
2026-06-04T12:50:06.2646508Z           ]
2026-06-04T12:50:06.2646962Z         }
2026-06-04T12:50:06.2647417Z       }
2026-06-04T12:50:06.2647835Z     },
2026-06-04T12:50:06.2648253Z     {
2026-06-04T12:50:06.2648774Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T12:50:06.2649780Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T12:50:06.2650471Z       "requiredStages": [
2026-06-04T12:50:06.2650910Z         "impl",
2026-06-04T12:50:06.2651340Z         "unit"
2026-06-04T12:50:06.2651751Z       ],
2026-06-04T12:50:06.2652196Z       "stages": {
2026-06-04T12:50:06.2652611Z         "doc": {
2026-06-04T12:50:06.2653095Z           "complete": false,
2026-06-04T12:50:06.2653568Z           "evidence": []
2026-06-04T12:50:06.2653976Z         },
2026-06-04T12:50:06.2654437Z         "impl": {
2026-06-04T12:50:06.2654953Z           "complete": true,
2026-06-04T12:50:06.2655427Z           "evidence": [
2026-06-04T12:50:06.2655865Z             {
2026-06-04T12:50:06.2656524Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2657032Z               "line": 18
2026-06-04T12:50:06.2657476Z             },
2026-06-04T12:50:06.2657908Z             {
2026-06-04T12:50:06.2658518Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2658984Z               "line": 263
2026-06-04T12:50:06.2659630Z             }
2026-06-04T12:50:06.2660245Z           ]
2026-06-04T12:50:06.2660685Z         },
2026-06-04T12:50:06.2661110Z         "int": {
2026-06-04T12:50:06.2661613Z           "complete": false,
2026-06-04T12:50:06.2662086Z           "evidence": []
2026-06-04T12:50:06.2662512Z         },
2026-06-04T12:50:06.2662944Z         "unit": {
2026-06-04T12:50:06.2663419Z           "complete": true,
2026-06-04T12:50:06.2663882Z           "evidence": [
2026-06-04T12:50:06.2664299Z             {
2026-06-04T12:50:06.2664926Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2665400Z               "line": 429
2026-06-04T12:50:06.2665836Z             },
2026-06-04T12:50:06.2666264Z             {
2026-06-04T12:50:06.2667249Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2667790Z               "line": 439
2026-06-04T12:50:06.2668218Z             }
2026-06-04T12:50:06.2668652Z           ]
2026-06-04T12:50:06.2669058Z         }
2026-06-04T12:50:06.2669583Z       }
2026-06-04T12:50:06.2670015Z     },
2026-06-04T12:50:06.2670442Z     {
2026-06-04T12:50:06.2670951Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T12:50:06.2671739Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T12:50:06.2672220Z       "requiredStages": [
2026-06-04T12:50:06.2672643Z         "impl",
2026-06-04T12:50:06.2673075Z         "unit",
2026-06-04T12:50:06.2673496Z         "int"
2026-06-04T12:50:06.2673917Z       ],
2026-06-04T12:50:06.2674374Z       "stages": {
2026-06-04T12:50:06.2674800Z         "doc": {
2026-06-04T12:50:06.2675275Z           "complete": false,
2026-06-04T12:50:06.2675720Z           "evidence": []
2026-06-04T12:50:06.2676134Z         },
2026-06-04T12:50:06.2676561Z         "impl": {
2026-06-04T12:50:06.2677301Z           "complete": true,
2026-06-04T12:50:06.2677764Z           "evidence": [
2026-06-04T12:50:06.2678202Z             {
2026-06-04T12:50:06.2678831Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:50:06.2679345Z               "line": 19
2026-06-04T12:50:06.2679781Z             },
2026-06-04T12:50:06.2680207Z             {
2026-06-04T12:50:06.2680801Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T12:50:06.2681245Z               "line": 12
2026-06-04T12:50:06.2681652Z             },
2026-06-04T12:50:06.2687664Z             {
2026-06-04T12:50:06.2688453Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2688914Z               "line": 164
2026-06-04T12:50:06.2689556Z             }
2026-06-04T12:50:06.2690141Z           ]
2026-06-04T12:50:06.2690566Z         },
2026-06-04T12:50:06.2690982Z         "int": {
2026-06-04T12:50:06.2691443Z           "complete": true,
2026-06-04T12:50:06.2691881Z           "evidence": [
2026-06-04T12:50:06.2692344Z             {
2026-06-04T12:50:06.2692999Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:06.2693469Z               "line": 201
2026-06-04T12:50:06.2693905Z             }
2026-06-04T12:50:06.2694353Z           ]
2026-06-04T12:50:06.2694804Z         },
2026-06-04T12:50:06.2695242Z         "unit": {
2026-06-04T12:50:06.2695725Z           "complete": true,
2026-06-04T12:50:06.2696191Z           "evidence": [
2026-06-04T12:50:06.2696635Z             {
2026-06-04T12:50:06.2697265Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:50:06.2697734Z               "line": 161
2026-06-04T12:50:06.2698168Z             },
2026-06-04T12:50:06.2698574Z             {
2026-06-04T12:50:06.2699273Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:50:06.2699740Z               "line": 168
2026-06-04T12:50:06.2700181Z             },
2026-06-04T12:50:06.2700605Z             {
2026-06-04T12:50:06.2701218Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T12:50:06.2701729Z               "line": 191
2026-06-04T12:50:06.2702150Z             },
2026-06-04T12:50:06.2702575Z             {
2026-06-04T12:50:06.2703164Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T12:50:06.2703634Z               "line": 106
2026-06-04T12:50:06.2704069Z             },
2026-06-04T12:50:06.2704510Z             {
2026-06-04T12:50:06.2705136Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T12:50:06.2705588Z               "line": 123
2026-06-04T12:50:06.2706018Z             },
2026-06-04T12:50:06.2706421Z             {
2026-06-04T12:50:06.2707027Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T12:50:06.2707489Z               "line": 137
2026-06-04T12:50:06.2707904Z             }
2026-06-04T12:50:06.2708335Z           ]
2026-06-04T12:50:06.2708760Z         }
2026-06-04T12:50:06.2709266Z       }
2026-06-04T12:50:06.2709691Z     },
2026-06-04T12:50:06.2710106Z     {
2026-06-04T12:50:06.2710598Z       "id": "REQ-SEAM-RESUME",
2026-06-04T12:50:06.2712118Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T12:50:06.2712693Z       "requiredStages": [
2026-06-04T12:50:06.2713126Z         "impl",
2026-06-04T12:50:06.2713573Z         "unit"
2026-06-04T12:50:06.2713990Z       ],
2026-06-04T12:50:06.2714423Z       "stages": {
2026-06-04T12:50:06.2714848Z         "doc": {
2026-06-04T12:50:06.2715312Z           "complete": false,
2026-06-04T12:50:06.2715790Z           "evidence": []
2026-06-04T12:50:06.2716210Z         },
2026-06-04T12:50:06.2716661Z         "impl": {
2026-06-04T12:50:06.2717127Z           "complete": true,
2026-06-04T12:50:06.2717582Z           "evidence": [
2026-06-04T12:50:06.2717996Z             {
2026-06-04T12:50:06.2718610Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:50:06.2719070Z               "line": 19
2026-06-04T12:50:06.2719590Z             }
2026-06-04T12:50:06.2720045Z           ]
2026-06-04T12:50:06.2720464Z         },
2026-06-04T12:50:06.2721183Z         "int": {
2026-06-04T12:50:06.2721688Z           "complete": false,
2026-06-04T12:50:06.2722172Z           "evidence": []
2026-06-04T12:50:06.2722625Z         },
2026-06-04T12:50:06.2723048Z         "unit": {
2026-06-04T12:50:06.2723553Z           "complete": true,
2026-06-04T12:50:06.2724031Z           "evidence": [
2026-06-04T12:50:06.2724470Z             {
2026-06-04T12:50:06.2725113Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:50:06.2725577Z               "line": 168
2026-06-04T12:50:06.2726020Z             },
2026-06-04T12:50:06.2726444Z             {
2026-06-04T12:50:06.2727072Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:50:06.2727530Z               "line": 187
2026-06-04T12:50:06.2727961Z             },
2026-06-04T12:50:06.2728406Z             {
2026-06-04T12:50:06.2729025Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T12:50:06.2729734Z               "line": 205
2026-06-04T12:50:06.2730201Z             }
2026-06-04T12:50:06.2730673Z           ]
2026-06-04T12:50:06.2731116Z         }
2026-06-04T12:50:06.2731565Z       }
2026-06-04T12:50:06.2731989Z     },
2026-06-04T12:50:06.2732411Z     {
2026-06-04T12:50:06.2732951Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T12:50:06.2733480Z       "title": "spawn-session seam",
2026-06-04T12:50:06.2733978Z       "requiredStages": [
2026-06-04T12:50:06.2734404Z         "impl",
2026-06-04T12:50:06.2734849Z         "unit"
2026-06-04T12:50:06.2735285Z       ],
2026-06-04T12:50:06.2735724Z       "stages": {
2026-06-04T12:50:06.2736188Z         "doc": {
2026-06-04T12:50:06.2736672Z           "complete": false,
2026-06-04T12:50:06.2737154Z           "evidence": []
2026-06-04T12:50:06.2737572Z         },
2026-06-04T12:50:06.2738014Z         "impl": {
2026-06-04T12:50:06.2738487Z           "complete": true,
2026-06-04T12:50:06.2738963Z           "evidence": [
2026-06-04T12:50:06.2739520Z             {
2026-06-04T12:50:06.2740297Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2740837Z               "line": 20
2026-06-04T12:50:06.2741327Z             }
2026-06-04T12:50:06.2741823Z           ]
2026-06-04T12:50:06.2742271Z         },
2026-06-04T12:50:06.2742720Z         "int": {
2026-06-04T12:50:06.2743209Z           "complete": false,
2026-06-04T12:50:06.2743724Z           "evidence": []
2026-06-04T12:50:06.2744169Z         },
2026-06-04T12:50:06.2744663Z         "unit": {
2026-06-04T12:50:06.2745170Z           "complete": true,
2026-06-04T12:50:06.2745689Z           "evidence": [
2026-06-04T12:50:06.2746164Z             {
2026-06-04T12:50:06.2746904Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2747415Z               "line": 397
2026-06-04T12:50:06.2747870Z             },
2026-06-04T12:50:06.2748302Z             {
2026-06-04T12:50:06.2749033Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2749624Z               "line": 404
2026-06-04T12:50:06.2750074Z             },
2026-06-04T12:50:06.2750557Z             {
2026-06-04T12:50:06.2751606Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2752175Z               "line": 414
2026-06-04T12:50:06.2752621Z             },
2026-06-04T12:50:06.2753097Z             {
2026-06-04T12:50:06.2753878Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2754405Z               "line": 420
2026-06-04T12:50:06.2754902Z             },
2026-06-04T12:50:06.2755512Z             {
2026-06-04T12:50:06.2756272Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2756810Z               "line": 440
2026-06-04T12:50:06.2757271Z             },
2026-06-04T12:50:06.2757718Z             {
2026-06-04T12:50:06.2758398Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T12:50:06.2758857Z               "line": 473
2026-06-04T12:50:06.2759348Z             }
2026-06-04T12:50:06.2759786Z           ]
2026-06-04T12:50:06.2760228Z         }
2026-06-04T12:50:06.2760679Z       }
2026-06-04T12:50:06.2761401Z     },
2026-06-04T12:50:06.2761828Z     {
2026-06-04T12:50:06.2762364Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T12:50:06.2763316Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T12:50:06.2763821Z       "requiredStages": [
2026-06-04T12:50:06.2764263Z         "impl",
2026-06-04T12:50:06.2764722Z         "unit"
2026-06-04T12:50:06.2765159Z       ],
2026-06-04T12:50:06.2765593Z       "stages": {
2026-06-04T12:50:06.2766028Z         "doc": {
2026-06-04T12:50:06.2766504Z           "complete": false,
2026-06-04T12:50:06.2773065Z           "evidence": []
2026-06-04T12:50:06.2773623Z         },
2026-06-04T12:50:06.2774097Z         "impl": {
2026-06-04T12:50:06.2774596Z           "complete": true,
2026-06-04T12:50:06.2775063Z           "evidence": [
2026-06-04T12:50:06.2775500Z             {
2026-06-04T12:50:06.2776252Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.2776729Z               "line": 28
2026-06-04T12:50:06.2777165Z             },
2026-06-04T12:50:06.2777685Z             {
2026-06-04T12:50:06.2778467Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.2778938Z               "line": 83
2026-06-04T12:50:06.2779454Z             }
2026-06-04T12:50:06.2779897Z           ]
2026-06-04T12:50:06.2780346Z         },
2026-06-04T12:50:06.2780777Z         "int": {
2026-06-04T12:50:06.2781263Z           "complete": false,
2026-06-04T12:50:06.2781733Z           "evidence": []
2026-06-04T12:50:06.2782155Z         },
2026-06-04T12:50:06.2782607Z         "unit": {
2026-06-04T12:50:06.2783087Z           "complete": true,
2026-06-04T12:50:06.2783563Z           "evidence": [
2026-06-04T12:50:06.2783989Z             {
2026-06-04T12:50:06.2784751Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.2785226Z               "line": 248
2026-06-04T12:50:06.2785712Z             },
2026-06-04T12:50:06.2786153Z             {
2026-06-04T12:50:06.2786891Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.2787422Z               "line": 259
2026-06-04T12:50:06.2787872Z             }
2026-06-04T12:50:06.2788317Z           ]
2026-06-04T12:50:06.2788768Z         }
2026-06-04T12:50:06.2789252Z       }
2026-06-04T12:50:06.2789696Z     },
2026-06-04T12:50:06.2790103Z     {
2026-06-04T12:50:06.2790588Z       "id": "REQ-SEC-1",
2026-06-04T12:50:06.2793171Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T12:50:06.2793698Z       "requiredStages": [
2026-06-04T12:50:06.2794138Z         "impl",
2026-06-04T12:50:06.2794566Z         "unit"
2026-06-04T12:50:06.2795012Z       ],
2026-06-04T12:50:06.2795454Z       "stages": {
2026-06-04T12:50:06.2795899Z         "doc": {
2026-06-04T12:50:06.2796388Z           "complete": false,
2026-06-04T12:50:06.2796854Z           "evidence": []
2026-06-04T12:50:06.2797282Z         },
2026-06-04T12:50:06.2797711Z         "impl": {
2026-06-04T12:50:06.2798216Z           "complete": true,
2026-06-04T12:50:06.2799219Z           "evidence": [
2026-06-04T12:50:06.2799746Z             {
2026-06-04T12:50:06.2800561Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.2801040Z               "line": 84
2026-06-04T12:50:06.2801462Z             },
2026-06-04T12:50:06.2801869Z             {
2026-06-04T12:50:06.2802502Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.2802946Z               "line": 114
2026-06-04T12:50:06.2803366Z             },
2026-06-04T12:50:06.2803791Z             {
2026-06-04T12:50:06.2804435Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.2804906Z               "line": 128
2026-06-04T12:50:06.2805313Z             },
2026-06-04T12:50:06.2805740Z             {
2026-06-04T12:50:06.2806365Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2806821Z               "line": 108
2026-06-04T12:50:06.2807256Z             },
2026-06-04T12:50:06.2807954Z             {
2026-06-04T12:50:06.2808586Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2809037Z               "line": 129
2026-06-04T12:50:06.2809706Z             },
2026-06-04T12:50:06.2810280Z             {
2026-06-04T12:50:06.2810906Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2811369Z               "line": 142
2026-06-04T12:50:06.2811775Z             },
2026-06-04T12:50:06.2812184Z             {
2026-06-04T12:50:06.2812786Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2813231Z               "line": 208
2026-06-04T12:50:06.2813637Z             },
2026-06-04T12:50:06.2814054Z             {
2026-06-04T12:50:06.2814674Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2815118Z               "line": 234
2026-06-04T12:50:06.2815538Z             },
2026-06-04T12:50:06.2815977Z             {
2026-06-04T12:50:06.2816541Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2817039Z               "line": 919
2026-06-04T12:50:06.2817516Z             }
2026-06-04T12:50:06.2817970Z           ]
2026-06-04T12:50:06.2818393Z         },
2026-06-04T12:50:06.2818831Z         "int": {
2026-06-04T12:50:06.2819534Z           "complete": false,
2026-06-04T12:50:06.2820190Z           "evidence": []
2026-06-04T12:50:06.2820624Z         },
2026-06-04T12:50:06.2821060Z         "unit": {
2026-06-04T12:50:06.2821542Z           "complete": true,
2026-06-04T12:50:06.2822004Z           "evidence": [
2026-06-04T12:50:06.2822434Z             {
2026-06-04T12:50:06.2823088Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.2823551Z               "line": 140
2026-06-04T12:50:06.2823965Z             },
2026-06-04T12:50:06.2824391Z             {
2026-06-04T12:50:06.2825030Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.2825475Z               "line": 186
2026-06-04T12:50:06.2825889Z             },
2026-06-04T12:50:06.2826302Z             {
2026-06-04T12:50:06.2826972Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-04T12:50:06.2827413Z               "line": 218
2026-06-04T12:50:06.2827837Z             },
2026-06-04T12:50:06.2828255Z             {
2026-06-04T12:50:06.2828884Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-04T12:50:06.2829556Z               "line": 128
2026-06-04T12:50:06.2829996Z             },
2026-06-04T12:50:06.2830564Z             {
2026-06-04T12:50:06.2831166Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2831617Z               "line": 248
2026-06-04T12:50:06.2832031Z             },
2026-06-04T12:50:06.2832438Z             {
2026-06-04T12:50:06.2833078Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2833524Z               "line": 275
2026-06-04T12:50:06.2834020Z             },
2026-06-04T12:50:06.2834426Z             {
2026-06-04T12:50:06.2835043Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2835517Z               "line": 299
2026-06-04T12:50:06.2836228Z             },
2026-06-04T12:50:06.2836684Z             {
2026-06-04T12:50:06.2837285Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2837747Z               "line": 310
2026-06-04T12:50:06.2838159Z             },
2026-06-04T12:50:06.2838568Z             {
2026-06-04T12:50:06.2839264Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2840026Z               "line": 334
2026-06-04T12:50:06.2840450Z             },
2026-06-04T12:50:06.2840867Z             {
2026-06-04T12:50:06.2841523Z               "path": "crates/spt-store/src/access.rs",
2026-06-04T12:50:06.2841973Z               "line": 350
2026-06-04T12:50:06.2842379Z             },
2026-06-04T12:50:06.2842789Z             {
2026-06-04T12:50:06.2843346Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.2843835Z               "line": 1173
2026-06-04T12:50:06.2844243Z             }
2026-06-04T12:50:06.2844672Z           ]
2026-06-04T12:50:06.2845344Z         }
2026-06-04T12:50:06.2845761Z       }
2026-06-04T12:50:06.2846232Z     },
2026-06-04T12:50:06.2846655Z     {
2026-06-04T12:50:06.2847155Z       "id": "REQ-START-1",
2026-06-04T12:50:06.2848319Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T12:50:06.2848832Z       "requiredStages": [
2026-06-04T12:50:06.2849358Z         "impl",
2026-06-04T12:50:06.2849787Z         "unit"
2026-06-04T12:50:06.2850216Z       ],
2026-06-04T12:50:06.2850649Z       "stages": {
2026-06-04T12:50:06.2851084Z         "doc": {
2026-06-04T12:50:06.2851552Z           "complete": false,
2026-06-04T12:50:06.2852010Z           "evidence": []
2026-06-04T12:50:06.2852433Z         },
2026-06-04T12:50:06.2852858Z         "impl": {
2026-06-04T12:50:06.2853340Z           "complete": true,
2026-06-04T12:50:06.2853799Z           "evidence": [
2026-06-04T12:50:06.2854230Z             {
2026-06-04T12:50:06.2854851Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T12:50:06.2855335Z               "line": 16
2026-06-04T12:50:06.2855779Z             }
2026-06-04T12:50:06.2856196Z           ]
2026-06-04T12:50:06.2862717Z         },
2026-06-04T12:50:06.2863306Z         "int": {
2026-06-04T12:50:06.2863789Z           "complete": false,
2026-06-04T12:50:06.2864350Z           "evidence": []
2026-06-04T12:50:06.2864773Z         },
2026-06-04T12:50:06.2865195Z         "unit": {
2026-06-04T12:50:06.2865662Z           "complete": true,
2026-06-04T12:50:06.2866110Z           "evidence": [
2026-06-04T12:50:06.2866510Z             {
2026-06-04T12:50:06.2867133Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T12:50:06.2867561Z               "line": 43
2026-06-04T12:50:06.2867975Z             },
2026-06-04T12:50:06.2868385Z             {
2026-06-04T12:50:06.2868963Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T12:50:06.2869638Z               "line": 59
2026-06-04T12:50:06.2870367Z             }
2026-06-04T12:50:06.2870783Z           ]
2026-06-04T12:50:06.2871216Z         }
2026-06-04T12:50:06.2871633Z       }
2026-06-04T12:50:06.2872033Z     },
2026-06-04T12:50:06.2872430Z     {
2026-06-04T12:50:06.2872896Z       "id": "REQ-START-2",
2026-06-04T12:50:06.2873668Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T12:50:06.2874146Z       "requiredStages": [
2026-06-04T12:50:06.2874556Z         "impl",
2026-06-04T12:50:06.2874968Z         "unit",
2026-06-04T12:50:06.2875379Z         "int"
2026-06-04T12:50:06.2875777Z       ],
2026-06-04T12:50:06.2876204Z       "stages": {
2026-06-04T12:50:06.2876608Z         "doc": {
2026-06-04T12:50:06.2877076Z           "complete": false,
2026-06-04T12:50:06.2877514Z           "evidence": []
2026-06-04T12:50:06.2877928Z         },
2026-06-04T12:50:06.2878341Z         "impl": {
2026-06-04T12:50:06.2878803Z           "complete": true,
2026-06-04T12:50:06.2879312Z           "evidence": [
2026-06-04T12:50:06.2879722Z             {
2026-06-04T12:50:06.2880329Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2881211Z               "line": 16
2026-06-04T12:50:06.2881673Z             },
2026-06-04T12:50:06.2882078Z             {
2026-06-04T12:50:06.2882699Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2883153Z               "line": 94
2026-06-04T12:50:06.2883562Z             },
2026-06-04T12:50:06.2883993Z             {
2026-06-04T12:50:06.2884605Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2885067Z               "line": 163
2026-06-04T12:50:06.2885508Z             }
2026-06-04T12:50:06.2885936Z           ]
2026-06-04T12:50:06.2886370Z         },
2026-06-04T12:50:06.2886795Z         "int": {
2026-06-04T12:50:06.2887270Z           "complete": true,
2026-06-04T12:50:06.2887714Z           "evidence": [
2026-06-04T12:50:06.2888143Z             {
2026-06-04T12:50:06.2888791Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:06.2889304Z               "line": 150
2026-06-04T12:50:06.2889737Z             }
2026-06-04T12:50:06.2890385Z           ]
2026-06-04T12:50:06.2890821Z         },
2026-06-04T12:50:06.2891255Z         "unit": {
2026-06-04T12:50:06.2891719Z           "complete": true,
2026-06-04T12:50:06.2892165Z           "evidence": [
2026-06-04T12:50:06.2892588Z             {
2026-06-04T12:50:06.2893200Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2893646Z               "line": 363
2026-06-04T12:50:06.2894065Z             },
2026-06-04T12:50:06.2894470Z             {
2026-06-04T12:50:06.2895080Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2895538Z               "line": 396
2026-06-04T12:50:06.2895951Z             }
2026-06-04T12:50:06.2896402Z           ]
2026-06-04T12:50:06.2896839Z         }
2026-06-04T12:50:06.2897297Z       }
2026-06-04T12:50:06.2897733Z     },
2026-06-04T12:50:06.2898169Z     {
2026-06-04T12:50:06.2898651Z       "id": "REQ-START-3",
2026-06-04T12:50:06.2899919Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T12:50:06.2900602Z       "requiredStages": [
2026-06-04T12:50:06.2901035Z         "impl",
2026-06-04T12:50:06.2901477Z         "unit",
2026-06-04T12:50:06.2901893Z         "int"
2026-06-04T12:50:06.2902321Z       ],
2026-06-04T12:50:06.2902767Z       "stages": {
2026-06-04T12:50:06.2903192Z         "doc": {
2026-06-04T12:50:06.2903697Z           "complete": false,
2026-06-04T12:50:06.2904159Z           "evidence": []
2026-06-04T12:50:06.2904585Z         },
2026-06-04T12:50:06.2905013Z         "impl": {
2026-06-04T12:50:06.2905495Z           "complete": true,
2026-06-04T12:50:06.2905942Z           "evidence": [
2026-06-04T12:50:06.2906366Z             {
2026-06-04T12:50:06.2907022Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:50:06.2907468Z               "line": 23
2026-06-04T12:50:06.2907888Z             },
2026-06-04T12:50:06.2908297Z             {
2026-06-04T12:50:06.2908958Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:50:06.2909693Z               "line": 167
2026-06-04T12:50:06.2910307Z             },
2026-06-04T12:50:06.2910738Z             {
2026-06-04T12:50:06.2911379Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:50:06.2911833Z               "line": 180
2026-06-04T12:50:06.2912247Z             },
2026-06-04T12:50:06.2912670Z             {
2026-06-04T12:50:06.2913287Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2913724Z               "line": 17
2026-06-04T12:50:06.2914280Z             },
2026-06-04T12:50:06.2914703Z             {
2026-06-04T12:50:06.2915332Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2915785Z               "line": 43
2026-06-04T12:50:06.2916212Z             },
2026-06-04T12:50:06.2916633Z             {
2026-06-04T12:50:06.2917242Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2917686Z               "line": 95
2026-06-04T12:50:06.2918099Z             }
2026-06-04T12:50:06.2918527Z           ]
2026-06-04T12:50:06.2918955Z         },
2026-06-04T12:50:06.2920113Z         "int": {
2026-06-04T12:50:06.2920688Z           "complete": true,
2026-06-04T12:50:06.2921166Z           "evidence": [
2026-06-04T12:50:06.2921595Z             {
2026-06-04T12:50:06.2922265Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T12:50:06.2922729Z               "line": 321
2026-06-04T12:50:06.2923145Z             }
2026-06-04T12:50:06.2923572Z           ]
2026-06-04T12:50:06.2923996Z         },
2026-06-04T12:50:06.2924422Z         "unit": {
2026-06-04T12:50:06.2924879Z           "complete": true,
2026-06-04T12:50:06.2925312Z           "evidence": [
2026-06-04T12:50:06.2925735Z             {
2026-06-04T12:50:06.2926366Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:50:06.2926850Z               "line": 245
2026-06-04T12:50:06.2927320Z             },
2026-06-04T12:50:06.2927764Z             {
2026-06-04T12:50:06.2928437Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:50:06.2929432Z               "line": 263
2026-06-04T12:50:06.2929925Z             },
2026-06-04T12:50:06.2930372Z             {
2026-06-04T12:50:06.2931093Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T12:50:06.2931599Z               "line": 273
2026-06-04T12:50:06.2932029Z             },
2026-06-04T12:50:06.2932481Z             {
2026-06-04T12:50:06.2933132Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2933611Z               "line": 364
2026-06-04T12:50:06.2934046Z             },
2026-06-04T12:50:06.2934494Z             {
2026-06-04T12:50:06.2935147Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2935608Z               "line": 397
2026-06-04T12:50:06.2936055Z             },
2026-06-04T12:50:06.2936486Z             {
2026-06-04T12:50:06.2937130Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T12:50:06.2937632Z               "line": 405
2026-06-04T12:50:06.2938154Z             }
2026-06-04T12:50:06.2938813Z           ]
2026-06-04T12:50:06.2939297Z         }
2026-06-04T12:50:06.2939739Z       }
2026-06-04T12:50:06.2940151Z     },
2026-06-04T12:50:06.2940578Z     {
2026-06-04T12:50:06.2941059Z       "id": "REQ-START-4",
2026-06-04T12:50:06.2941845Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T12:50:06.2942347Z       "requiredStages": [
2026-06-04T12:50:06.2942771Z         "impl",
2026-06-04T12:50:06.2943207Z         "unit"
2026-06-04T12:50:06.2943616Z       ],
2026-06-04T12:50:06.2950090Z       "stages": {
2026-06-04T12:50:06.2950636Z         "doc": {
2026-06-04T12:50:06.2951111Z           "complete": false,
2026-06-04T12:50:06.2951552Z           "evidence": []
2026-06-04T12:50:06.2951957Z         },
2026-06-04T12:50:06.2952376Z         "impl": {
2026-06-04T12:50:06.2952829Z           "complete": true,
2026-06-04T12:50:06.2953272Z           "evidence": [
2026-06-04T12:50:06.2953674Z             {
2026-06-04T12:50:06.2954320Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2954812Z               "line": 249
2026-06-04T12:50:06.2955226Z             }
2026-06-04T12:50:06.2955640Z           ]
2026-06-04T12:50:06.2956039Z         },
2026-06-04T12:50:06.2956453Z         "int": {
2026-06-04T12:50:06.2956903Z           "complete": false,
2026-06-04T12:50:06.2957352Z           "evidence": []
2026-06-04T12:50:06.2957756Z         },
2026-06-04T12:50:06.2958167Z         "unit": {
2026-06-04T12:50:06.2958626Z           "complete": true,
2026-06-04T12:50:06.2959049Z           "evidence": [
2026-06-04T12:50:06.2959681Z             {
2026-06-04T12:50:06.2960465Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T12:50:06.2960918Z               "line": 442
2026-06-04T12:50:06.2961330Z             }
2026-06-04T12:50:06.2961728Z           ]
2026-06-04T12:50:06.2962145Z         }
2026-06-04T12:50:06.2962544Z       }
2026-06-04T12:50:06.2962951Z     },
2026-06-04T12:50:06.2963342Z     {
2026-06-04T12:50:06.2963805Z       "id": "REQ-STORE-1",
2026-06-04T12:50:06.2970062Z       "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-04T12:50:06.2970641Z       "requiredStages": [
2026-06-04T12:50:06.2971109Z         "impl",
2026-06-04T12:50:06.2971543Z         "unit"
2026-06-04T12:50:06.2971977Z       ],
2026-06-04T12:50:06.2972436Z       "stages": {
2026-06-04T12:50:06.2972897Z         "doc": {
2026-06-04T12:50:06.2973409Z           "complete": false,
2026-06-04T12:50:06.2973887Z           "evidence": []
2026-06-04T12:50:06.2974339Z         },
2026-06-04T12:50:06.2974784Z         "impl": {
2026-06-04T12:50:06.2975282Z           "complete": true,
2026-06-04T12:50:06.2975757Z           "evidence": [
2026-06-04T12:50:06.2976173Z             {
2026-06-04T12:50:06.2976862Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2977563Z               "line": 23
2026-06-04T12:50:06.2977996Z             },
2026-06-04T12:50:06.2978410Z             {
2026-06-04T12:50:06.2979103Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2979783Z               "line": 46
2026-06-04T12:50:06.2980347Z             },
2026-06-04T12:50:06.2980780Z             {
2026-06-04T12:50:06.2981438Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2981879Z               "line": 88
2026-06-04T12:50:06.2982297Z             },
2026-06-04T12:50:06.2982712Z             {
2026-06-04T12:50:06.2983387Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2983827Z               "line": 109
2026-06-04T12:50:06.2984245Z             },
2026-06-04T12:50:06.2984644Z             {
2026-06-04T12:50:06.2985331Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2985791Z               "line": 152
2026-06-04T12:50:06.2986218Z             },
2026-06-04T12:50:06.2986647Z             {
2026-06-04T12:50:06.2987310Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2987769Z               "line": 165
2026-06-04T12:50:06.2988175Z             },
2026-06-04T12:50:06.2988594Z             {
2026-06-04T12:50:06.2989495Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.2990107Z               "line": 353
2026-06-04T12:50:06.2990546Z             },
2026-06-04T12:50:06.2990968Z             {
2026-06-04T12:50:06.2991694Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.2992143Z               "line": 25
2026-06-04T12:50:06.2992577Z             },
2026-06-04T12:50:06.2993010Z             {
2026-06-04T12:50:06.2993704Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.2994154Z               "line": 92
2026-06-04T12:50:06.2994569Z             },
2026-06-04T12:50:06.2994991Z             {
2026-06-04T12:50:06.2995711Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.2996176Z               "line": 117
2026-06-04T12:50:06.2996609Z             },
2026-06-04T12:50:06.2997028Z             {
2026-06-04T12:50:06.2997724Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.2998181Z               "line": 131
2026-06-04T12:50:06.2998613Z             },
2026-06-04T12:50:06.2999026Z             {
2026-06-04T12:50:06.3000174Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.3000658Z               "line": 145
2026-06-04T12:50:06.3001081Z             },
2026-06-04T12:50:06.3001513Z             {
2026-06-04T12:50:06.3002199Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.3002660Z               "line": 154
2026-06-04T12:50:06.3003073Z             },
2026-06-04T12:50:06.3003487Z             {
2026-06-04T12:50:06.3004131Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:50:06.3004591Z               "line": 16
2026-06-04T12:50:06.3005303Z             },
2026-06-04T12:50:06.3005760Z             {
2026-06-04T12:50:06.3006407Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:50:06.3006858Z               "line": 63
2026-06-04T12:50:06.3007261Z             }
2026-06-04T12:50:06.3007687Z           ]
2026-06-04T12:50:06.3008103Z         },
2026-06-04T12:50:06.3008543Z         "int": {
2026-06-04T12:50:06.3009005Z           "complete": false,
2026-06-04T12:50:06.3009703Z           "evidence": []
2026-06-04T12:50:06.3010149Z         },
2026-06-04T12:50:06.3010577Z         "unit": {
2026-06-04T12:50:06.3011057Z           "complete": true,
2026-06-04T12:50:06.3011499Z           "evidence": [
2026-06-04T12:50:06.3011941Z             {
2026-06-04T12:50:06.3012638Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.3013137Z               "line": 391
2026-06-04T12:50:06.3013592Z             },
2026-06-04T12:50:06.3014011Z             {
2026-06-04T12:50:06.3015004Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.3015492Z               "line": 401
2026-06-04T12:50:06.3015929Z             },
2026-06-04T12:50:06.3016343Z             {
2026-06-04T12:50:06.3017051Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.3017532Z               "line": 421
2026-06-04T12:50:06.3017959Z             },
2026-06-04T12:50:06.3018400Z             {
2026-06-04T12:50:06.3019125Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.3019734Z               "line": 437
2026-06-04T12:50:06.3020342Z             },
2026-06-04T12:50:06.3020784Z             {
2026-06-04T12:50:06.3021495Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-04T12:50:06.3021974Z               "line": 458
2026-06-04T12:50:06.3022406Z             },
2026-06-04T12:50:06.3022827Z             {
2026-06-04T12:50:06.3023534Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.3024006Z               "line": 312
2026-06-04T12:50:06.3024436Z             },
2026-06-04T12:50:06.3024870Z             {
2026-06-04T12:50:06.3025566Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-04T12:50:06.3026021Z               "line": 342
2026-06-04T12:50:06.3026434Z             },
2026-06-04T12:50:06.3026861Z             {
2026-06-04T12:50:06.3027512Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:50:06.3027974Z               "line": 116
2026-06-04T12:50:06.3028389Z             },
2026-06-04T12:50:06.3028790Z             {
2026-06-04T12:50:06.3029677Z               "path": "crates/spt-store/src/project.rs",
2026-06-04T12:50:06.3030296Z               "line": 124
2026-06-04T12:50:06.3030721Z             }
2026-06-04T12:50:06.3031127Z           ]
2026-06-04T12:50:06.3031541Z         }
2026-06-04T12:50:06.3031962Z       }
2026-06-04T12:50:06.3032359Z     },
2026-06-04T12:50:06.3032768Z     {
2026-06-04T12:50:06.3033231Z       "id": "REQ-TERM-1",
2026-06-04T12:50:06.3034241Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T12:50:06.3034719Z       "requiredStages": [
2026-06-04T12:50:06.3035146Z         "impl",
2026-06-04T12:50:06.3035566Z         "unit"
2026-06-04T12:50:06.3035974Z       ],
2026-06-04T12:50:06.3036408Z       "stages": {
2026-06-04T12:50:06.3036842Z         "doc": {
2026-06-04T12:50:06.3043612Z           "complete": false,
2026-06-04T12:50:06.3044216Z           "evidence": []
2026-06-04T12:50:06.3044660Z         },
2026-06-04T12:50:06.3045109Z         "impl": {
2026-06-04T12:50:06.3045570Z           "complete": true,
2026-06-04T12:50:06.3046040Z           "evidence": [
2026-06-04T12:50:06.3046458Z             {
2026-06-04T12:50:06.3047104Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T12:50:06.3047541Z               "line": 61
2026-06-04T12:50:06.3047973Z             },
2026-06-04T12:50:06.3048416Z             {
2026-06-04T12:50:06.3049019Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T12:50:06.3049825Z               "line": 169
2026-06-04T12:50:06.3050686Z             },
2026-06-04T12:50:06.3051205Z             {
2026-06-04T12:50:06.3051931Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T12:50:06.3053738Z               "line": 95
2026-06-04T12:50:06.3055098Z             }
2026-06-04T12:50:06.3056145Z           ]
2026-06-04T12:50:06.3057123Z         },
2026-06-04T12:50:06.3058183Z         "int": {
2026-06-04T12:50:06.3059460Z           "complete": false,
2026-06-04T12:50:06.3060966Z           "evidence": []
2026-06-04T12:50:06.3062215Z         },
2026-06-04T12:50:06.3063229Z         "unit": {
2026-06-04T12:50:06.3064389Z           "complete": true,
2026-06-04T12:50:06.3065754Z           "evidence": [
2026-06-04T12:50:06.3066903Z             {
2026-06-04T12:50:06.3068171Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T12:50:06.3069983Z               "line": 28
2026-06-04T12:50:06.3071202Z             },
2026-06-04T12:50:06.3072263Z             {
2026-06-04T12:50:06.3074023Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T12:50:06.3075759Z               "line": 60
2026-06-04T12:50:06.3076926Z             }
2026-06-04T12:50:06.3078003Z           ]
2026-06-04T12:50:06.3079144Z         }
2026-06-04T12:50:06.3080320Z       }
2026-06-04T12:50:06.3081368Z     },
2026-06-04T12:50:06.3082418Z     {
2026-06-04T12:50:06.3083526Z       "id": "REQ-TERM-2",
2026-06-04T12:50:06.3085427Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T12:50:06.3087507Z       "requiredStages": [
2026-06-04T12:50:06.3088710Z         "impl",
2026-06-04T12:50:06.3089855Z         "unit"
2026-06-04T12:50:06.3091053Z       ],
2026-06-04T12:50:06.3092110Z       "stages": {
2026-06-04T12:50:06.3093138Z         "doc": {
2026-06-04T12:50:06.3094195Z           "complete": false,
2026-06-04T12:50:06.3095411Z           "evidence": []
2026-06-04T12:50:06.3096529Z         },
2026-06-04T12:50:06.3097508Z         "impl": {
2026-06-04T12:50:06.3098622Z           "complete": true,
2026-06-04T12:50:06.3100382Z           "evidence": [
2026-06-04T12:50:06.3101487Z             {
2026-06-04T12:50:06.3102696Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T12:50:06.3104192Z               "line": 112
2026-06-04T12:50:06.3105306Z             },
2026-06-04T12:50:06.3106284Z             {
2026-06-04T12:50:06.3107472Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T12:50:06.3108961Z               "line": 122
2026-06-04T12:50:06.3110528Z             }
2026-06-04T12:50:06.3111523Z           ]
2026-06-04T12:50:06.3112492Z         },
2026-06-04T12:50:06.3113420Z         "int": {
2026-06-04T12:50:06.3114483Z           "complete": false,
2026-06-04T12:50:06.3115696Z           "evidence": []
2026-06-04T12:50:06.3116796Z         },
2026-06-04T12:50:06.3117860Z         "unit": {
2026-06-04T12:50:06.3118910Z           "complete": true,
2026-06-04T12:50:06.3120375Z           "evidence": [
2026-06-04T12:50:06.3121601Z             {
2026-06-04T12:50:06.3122887Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T12:50:06.3124499Z               "line": 46
2026-06-04T12:50:06.3125649Z             },
2026-06-04T12:50:06.3126657Z             {
2026-06-04T12:50:06.3127913Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T12:50:06.3129565Z               "line": 71
2026-06-04T12:50:06.3130825Z             }
2026-06-04T12:50:06.3131792Z           ]
2026-06-04T12:50:06.3132729Z         }
2026-06-04T12:50:06.3133639Z       }
2026-06-04T12:50:06.3141845Z     },
2026-06-04T12:50:06.3142818Z     {
2026-06-04T12:50:06.3143769Z       "id": "REQ-TERM-3",
2026-06-04T12:50:06.3145237Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T12:50:06.3146879Z       "requiredStages": [
2026-06-04T12:50:06.3148016Z         "impl",
2026-06-04T12:50:06.3149014Z         "unit"
2026-06-04T12:50:06.3150516Z       ],
2026-06-04T12:50:06.3151440Z       "stages": {
2026-06-04T12:50:06.3152434Z         "doc": {
2026-06-04T12:50:06.3153997Z           "complete": false,
2026-06-04T12:50:06.3155245Z           "evidence": []
2026-06-04T12:50:06.3156380Z         },
2026-06-04T12:50:06.3157341Z         "impl": {
2026-06-04T12:50:06.3158422Z           "complete": true,
2026-06-04T12:50:06.3160030Z           "evidence": [
2026-06-04T12:50:06.3161110Z             {
2026-06-04T12:50:06.3162374Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T12:50:06.3163835Z               "line": 71
2026-06-04T12:50:06.3164929Z             }
2026-06-04T12:50:06.3165918Z           ]
2026-06-04T12:50:06.3166859Z         },
2026-06-04T12:50:06.3167816Z         "int": {
2026-06-04T12:50:06.3168857Z           "complete": false,
2026-06-04T12:50:06.3170360Z           "evidence": []
2026-06-04T12:50:06.3171521Z         },
2026-06-04T12:50:06.3172545Z         "unit": {
2026-06-04T12:50:06.3173619Z           "complete": true,
2026-06-04T12:50:06.3174814Z           "evidence": [
2026-06-04T12:50:06.3175943Z             {
2026-06-04T12:50:06.3177640Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T12:50:06.3179259Z               "line": 37
2026-06-04T12:50:06.3180409Z             },
2026-06-04T12:50:06.3181442Z             {
2026-06-04T12:50:06.3182660Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T12:50:06.3184168Z               "line": 67
2026-06-04T12:50:06.3185289Z             }
2026-06-04T12:50:06.3186285Z           ]
2026-06-04T12:50:06.3187250Z         }
2026-06-04T12:50:06.3188239Z       }
2026-06-04T12:50:06.3189269Z     },
2026-06-04T12:50:06.3190440Z     {
2026-06-04T12:50:06.3191422Z       "id": "REQ-TERM-4",
2026-06-04T12:50:06.3194407Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T12:50:06.3197370Z       "requiredStages": [
2026-06-04T12:50:06.3198487Z         "impl",
2026-06-04T12:50:06.3199723Z         "unit",
2026-06-04T12:50:06.3200887Z         "int"
2026-06-04T12:50:06.3201890Z       ],
2026-06-04T12:50:06.3202888Z       "stages": {
2026-06-04T12:50:06.3204008Z         "doc": {
2026-06-04T12:50:06.3205098Z           "complete": true,
2026-06-04T12:50:06.3206309Z           "evidence": [
2026-06-04T12:50:06.3207419Z             {
2026-06-04T12:50:06.3208499Z               "path": "docs/MANIFEST.md",
2026-06-04T12:50:06.3210237Z               "line": 115
2026-06-04T12:50:06.3211330Z             }
2026-06-04T12:50:06.3212296Z           ]
2026-06-04T12:50:06.3213225Z         },
2026-06-04T12:50:06.3214158Z         "impl": {
2026-06-04T12:50:06.3215211Z           "complete": true,
2026-06-04T12:50:06.3216366Z           "evidence": [
2026-06-04T12:50:06.3217425Z             {
2026-06-04T12:50:06.3218577Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T12:50:06.3220411Z               "line": 463
2026-06-04T12:50:06.3221579Z             },
2026-06-04T12:50:06.3222652Z             {
2026-06-04T12:50:06.3223929Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3225579Z               "line": 41
2026-06-04T12:50:06.3226737Z             },
2026-06-04T12:50:06.3227740Z             {
2026-06-04T12:50:06.3228962Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3230687Z               "line": 91
2026-06-04T12:50:06.3231887Z             },
2026-06-04T12:50:06.3232890Z             {
2026-06-04T12:50:06.3234102Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3235624Z               "line": 152
2026-06-04T12:50:06.3236744Z             },
2026-06-04T12:50:06.3237708Z             {
2026-06-04T12:50:06.3238879Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3240882Z               "line": 212
2026-06-04T12:50:06.3242002Z             },
2026-06-04T12:50:06.3250256Z             {
2026-06-04T12:50:06.3251539Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3253046Z               "line": 20
2026-06-04T12:50:06.3254183Z             },
2026-06-04T12:50:06.3255237Z             {
2026-06-04T12:50:06.3256918Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3258522Z               "line": 212
2026-06-04T12:50:06.3259751Z             },
2026-06-04T12:50:06.3260745Z             {
2026-06-04T12:50:06.3261984Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3263518Z               "line": 226
2026-06-04T12:50:06.3264628Z             },
2026-06-04T12:50:06.3265730Z             {
2026-06-04T12:50:06.3266943Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.3268483Z               "line": 585
2026-06-04T12:50:06.3269667Z             },
2026-06-04T12:50:06.3270647Z             {
2026-06-04T12:50:06.3271797Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3273243Z               "line": 157
2026-06-04T12:50:06.3274367Z             },
2026-06-04T12:50:06.3275345Z             {
2026-06-04T12:50:06.3276500Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3278379Z               "line": 199
2026-06-04T12:50:06.3279756Z             },
2026-06-04T12:50:06.3280930Z             {
2026-06-04T12:50:06.3282104Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3283599Z               "line": 226
2026-06-04T12:50:06.3284727Z             },
2026-06-04T12:50:06.3285695Z             {
2026-06-04T12:50:06.3286766Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.3288146Z               "line": 272
2026-06-04T12:50:06.3289293Z             }
2026-06-04T12:50:06.3290248Z           ]
2026-06-04T12:50:06.3291195Z         },
2026-06-04T12:50:06.3292130Z         "int": {
2026-06-04T12:50:06.3293183Z           "complete": true,
2026-06-04T12:50:06.3294323Z           "evidence": [
2026-06-04T12:50:06.3295358Z             {
2026-06-04T12:50:06.3296567Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T12:50:06.3298044Z               "line": 18
2026-06-04T12:50:06.3299116Z             }
2026-06-04T12:50:06.3300169Z           ]
2026-06-04T12:50:06.3301097Z         },
2026-06-04T12:50:06.3302054Z         "unit": {
2026-06-04T12:50:06.3303119Z           "complete": true,
2026-06-04T12:50:06.3304263Z           "evidence": [
2026-06-04T12:50:06.3305331Z             {
2026-06-04T12:50:06.3306555Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3308040Z               "line": 250
2026-06-04T12:50:06.3309106Z             },
2026-06-04T12:50:06.3310121Z             {
2026-06-04T12:50:06.3311291Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3312791Z               "line": 263
2026-06-04T12:50:06.3313891Z             },
2026-06-04T12:50:06.3314998Z             {
2026-06-04T12:50:06.3316186Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3317773Z               "line": 275
2026-06-04T12:50:06.3318898Z             },
2026-06-04T12:50:06.3320322Z             {
2026-06-04T12:50:06.3321565Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3323164Z               "line": 290
2026-06-04T12:50:06.3324281Z             },
2026-06-04T12:50:06.3325280Z             {
2026-06-04T12:50:06.3326467Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3327986Z               "line": 305
2026-06-04T12:50:06.3329074Z             },
2026-06-04T12:50:06.3330503Z             {
2026-06-04T12:50:06.3331702Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3333229Z               "line": 327
2026-06-04T12:50:06.3334367Z             },
2026-06-04T12:50:06.3335361Z             {
2026-06-04T12:50:06.3336557Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3338061Z               "line": 337
2026-06-04T12:50:06.3339200Z             },
2026-06-04T12:50:06.3340185Z             {
2026-06-04T12:50:06.3341365Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T12:50:06.3342870Z               "line": 364
2026-06-04T12:50:06.3344050Z             },
2026-06-04T12:50:06.3345035Z             {
2026-06-04T12:50:06.3346663Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3348243Z               "line": 338
2026-06-04T12:50:06.3356098Z             },
2026-06-04T12:50:06.3357272Z             {
2026-06-04T12:50:06.3358479Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3360307Z               "line": 350
2026-06-04T12:50:06.3361467Z             },
2026-06-04T12:50:06.3362475Z             {
2026-06-04T12:50:06.3363725Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3365410Z               "line": 367
2026-06-04T12:50:06.3366565Z             },
2026-06-04T12:50:06.3367555Z             {
2026-06-04T12:50:06.3368808Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T12:50:06.3370551Z               "line": 378
2026-06-04T12:50:06.3371666Z             },
2026-06-04T12:50:06.3372620Z             {
2026-06-04T12:50:06.3373805Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.3375821Z               "line": 770
2026-06-04T12:50:06.3376943Z             },
2026-06-04T12:50:06.3377891Z             {
2026-06-04T12:50:06.3379077Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.3380955Z               "line": 777
2026-06-04T12:50:06.3382059Z             },
2026-06-04T12:50:06.3383032Z             {
2026-06-04T12:50:06.3384234Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.3385759Z               "line": 792
2026-06-04T12:50:06.3386845Z             },
2026-06-04T12:50:06.3387797Z             {
2026-06-04T12:50:06.3388930Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3390742Z               "line": 381
2026-06-04T12:50:06.3391815Z             },
2026-06-04T12:50:06.3392766Z             {
2026-06-04T12:50:06.3393898Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3395343Z               "line": 402
2026-06-04T12:50:06.3396492Z             },
2026-06-04T12:50:06.3397468Z             {
2026-06-04T12:50:06.3398597Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3400403Z               "line": 415
2026-06-04T12:50:06.3401468Z             },
2026-06-04T12:50:06.3402427Z             {
2026-06-04T12:50:06.3403759Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3405515Z               "line": 434
2026-06-04T12:50:06.3406638Z             },
2026-06-04T12:50:06.3407606Z             {
2026-06-04T12:50:06.3408741Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T12:50:06.3410472Z               "line": 461
2026-06-04T12:50:06.3411622Z             },
2026-06-04T12:50:06.3413893Z             {
2026-06-04T12:50:06.3415227Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T12:50:06.3416758Z               "line": 32
2026-06-04T12:50:06.3417865Z             },
2026-06-04T12:50:06.3418839Z             {
2026-06-04T12:50:06.3420154Z               "path": "crates/spt/src/cli.rs",
2026-06-04T12:50:06.3421599Z               "line": 1200
2026-06-04T12:50:06.3422728Z             }
2026-06-04T12:50:06.3423684Z           ]
2026-06-04T12:50:06.3424618Z         }
2026-06-04T12:50:06.3425511Z       }
2026-06-04T12:50:06.3426411Z     },
2026-06-04T12:50:06.3427357Z     {
2026-06-04T12:50:06.3428291Z       "id": "REQ-UPD-1",
2026-06-04T12:50:06.3429806Z       "title": "Peer-propagated update over P2P",
2026-06-04T12:50:06.3431618Z       "requiredStages": [
2026-06-04T12:50:06.3432804Z         "impl",
2026-06-04T12:50:06.3433853Z         "unit"
2026-06-04T12:50:06.3434896Z       ],
2026-06-04T12:50:06.3435795Z       "stages": {
2026-06-04T12:50:06.3436737Z         "doc": {
2026-06-04T12:50:06.3437713Z           "complete": false,
2026-06-04T12:50:06.3438817Z           "evidence": []
2026-06-04T12:50:06.3440029Z         },
2026-06-04T12:50:06.3440904Z         "impl": {
2026-06-04T12:50:06.3441944Z           "complete": true,
2026-06-04T12:50:06.3442957Z           "evidence": [
2026-06-04T12:50:06.3443941Z             {
2026-06-04T12:50:06.3445485Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.3446869Z               "line": 28
2026-06-04T12:50:06.3447854Z             },
2026-06-04T12:50:06.3448811Z             {
2026-06-04T12:50:06.3450119Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.3451299Z               "line": 74
2026-06-04T12:50:06.3452068Z             },
2026-06-04T12:50:06.3452731Z             {
2026-06-04T12:50:06.3453600Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.3462053Z               "line": 209
2026-06-04T12:50:06.3462944Z             },
2026-06-04T12:50:06.3463517Z             {
2026-06-04T12:50:06.3464285Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:50:06.3465264Z               "line": 22
2026-06-04T12:50:06.3465862Z             },
2026-06-04T12:50:06.3466395Z             {
2026-06-04T12:50:06.3467119Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:50:06.3468650Z               "line": 67
2026-06-04T12:50:06.3469339Z             },
2026-06-04T12:50:06.3469834Z             {
2026-06-04T12:50:06.3470580Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:50:06.3471503Z               "line": 80
2026-06-04T12:50:06.3472084Z             },
2026-06-04T12:50:06.3472580Z             {
2026-06-04T12:50:06.3473283Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:50:06.3474203Z               "line": 101
2026-06-04T12:50:06.3474830Z             },
2026-06-04T12:50:06.3475349Z             {
2026-06-04T12:50:06.3476044Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:50:06.3476996Z               "line": 37
2026-06-04T12:50:06.3477605Z             }
2026-06-04T12:50:06.3478101Z           ]
2026-06-04T12:50:06.3478581Z         },
2026-06-04T12:50:06.3479036Z         "int": {
2026-06-04T12:50:06.3479865Z           "complete": true,
2026-06-04T12:50:06.3480719Z           "evidence": [
2026-06-04T12:50:06.3481313Z             {
2026-06-04T12:50:06.3482038Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-04T12:50:06.3482979Z               "line": 190
2026-06-04T12:50:06.3483567Z             }
2026-06-04T12:50:06.3484053Z           ]
2026-06-04T12:50:06.3484518Z         },
2026-06-04T12:50:06.3484972Z         "unit": {
2026-06-04T12:50:06.3485546Z           "complete": true,
2026-06-04T12:50:06.3486212Z           "evidence": [
2026-06-04T12:50:06.3486792Z             {
2026-06-04T12:50:06.3487503Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:50:06.3488431Z               "line": 120
2026-06-04T12:50:06.3489032Z             },
2026-06-04T12:50:06.3489815Z             {
2026-06-04T12:50:06.3490657Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-04T12:50:06.3491587Z               "line": 137
2026-06-04T12:50:06.3492220Z             },
2026-06-04T12:50:06.3492711Z             {
2026-06-04T12:50:06.3493493Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:50:06.3494458Z               "line": 201
2026-06-04T12:50:06.3495031Z             },
2026-06-04T12:50:06.3495550Z             {
2026-06-04T12:50:06.3496283Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:50:06.3497192Z               "line": 92
2026-06-04T12:50:06.3497755Z             },
2026-06-04T12:50:06.3498212Z             {
2026-06-04T12:50:06.3498860Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-04T12:50:06.3500284Z               "line": 128
2026-06-04T12:50:06.3500898Z             }
2026-06-04T12:50:06.3501381Z           ]
2026-06-04T12:50:06.3501845Z         }
2026-06-04T12:50:06.3502287Z       }
2026-06-04T12:50:06.3502702Z     },
2026-06-04T12:50:06.3503117Z     {
2026-06-04T12:50:06.3503575Z       "id": "REQ-UPD-2",
2026-06-04T12:50:06.3504486Z       "title": "All binaries signature-verified before handoff",
2026-06-04T12:50:06.3505636Z       "requiredStages": [
2026-06-04T12:50:06.3506299Z         "impl",
2026-06-04T12:50:06.3507197Z         "unit"
2026-06-04T12:50:06.3507777Z       ],
2026-06-04T12:50:06.3508237Z       "stages": {
2026-06-04T12:50:06.3508758Z         "doc": {
2026-06-04T12:50:06.3509671Z           "complete": false,
2026-06-04T12:50:06.3510430Z           "evidence": []
2026-06-04T12:50:06.3511064Z         },
2026-06-04T12:50:06.3511519Z         "impl": {
2026-06-04T12:50:06.3512090Z           "complete": true,
2026-06-04T12:50:06.3512785Z           "evidence": [
2026-06-04T12:50:06.3513378Z             {
2026-06-04T12:50:06.3514087Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.3515173Z               "line": 210
2026-06-04T12:50:06.3515787Z             },
2026-06-04T12:50:06.3516276Z             {
2026-06-04T12:50:06.3516977Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-04T12:50:06.3518024Z               "line": 294
2026-06-04T12:50:06.3526060Z             },
2026-06-04T12:50:06.3527046Z             {
2026-06-04T12:50:06.3527721Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3528686Z               "line": 29
2026-06-04T12:50:06.3529509Z             },
2026-06-04T12:50:06.3530132Z             {
2026-06-04T12:50:06.3530774Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3531763Z               "line": 126
2026-06-04T12:50:06.3532369Z             },
2026-06-04T12:50:06.3532841Z             {
2026-06-04T12:50:06.3533482Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3534449Z               "line": 138
2026-06-04T12:50:06.3535050Z             },
2026-06-04T12:50:06.3535520Z             {
2026-06-04T12:50:06.3536152Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3537144Z               "line": 220
2026-06-04T12:50:06.3537729Z             },
2026-06-04T12:50:06.3538194Z             {
2026-06-04T12:50:06.3538830Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3540197Z               "line": 301
2026-06-04T12:50:06.3540882Z             },
2026-06-04T12:50:06.3541354Z             {
2026-06-04T12:50:06.3541996Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3542973Z               "line": 149
2026-06-04T12:50:06.3543564Z             }
2026-06-04T12:50:06.3544019Z           ]
2026-06-04T12:50:06.3544464Z         },
2026-06-04T12:50:06.3545023Z         "int": {
2026-06-04T12:50:06.3545551Z           "complete": false,
2026-06-04T12:50:06.3546231Z           "evidence": []
2026-06-04T12:50:06.3546822Z         },
2026-06-04T12:50:06.3547267Z         "unit": {
2026-06-04T12:50:06.3547802Z           "complete": true,
2026-06-04T12:50:06.3548459Z           "evidence": [
2026-06-04T12:50:06.3549075Z             {
2026-06-04T12:50:06.3550128Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3551089Z               "line": 386
2026-06-04T12:50:06.3551670Z             },
2026-06-04T12:50:06.3553011Z             {
2026-06-04T12:50:06.3553716Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3554705Z               "line": 431
2026-06-04T12:50:06.3555294Z             },
2026-06-04T12:50:06.3555760Z             {
2026-06-04T12:50:06.3556423Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3557391Z               "line": 445
2026-06-04T12:50:06.3557971Z             },
2026-06-04T12:50:06.3559018Z             {
2026-06-04T12:50:06.3560133Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3561254Z               "line": 456
2026-06-04T12:50:06.3561881Z             },
2026-06-04T12:50:06.3562493Z             {
2026-06-04T12:50:06.3563150Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3564110Z               "line": 532
2026-06-04T12:50:06.3564696Z             },
2026-06-04T12:50:06.3565167Z             {
2026-06-04T12:50:06.3565786Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3567361Z               "line": 326
2026-06-04T12:50:06.3568458Z             },
2026-06-04T12:50:06.3569019Z             {
2026-06-04T12:50:06.3569894Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3571023Z               "line": 339
2026-06-04T12:50:06.3571620Z             },
2026-06-04T12:50:06.3572103Z             {
2026-06-04T12:50:06.3572794Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-04T12:50:06.3573810Z               "line": 242
2026-06-04T12:50:06.3574428Z             }
2026-06-04T12:50:06.3574897Z           ]
2026-06-04T12:50:06.3575332Z         }
2026-06-04T12:50:06.3575764Z       }
2026-06-04T12:50:06.3576179Z     },
2026-06-04T12:50:06.3576591Z     {
2026-06-04T12:50:06.3577046Z       "id": "REQ-UPD-3",
2026-06-04T12:50:06.3578094Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T12:50:06.3579703Z       "requiredStages": [
2026-06-04T12:50:06.3580524Z         "impl",
2026-06-04T12:50:06.3581021Z         "unit",
2026-06-04T12:50:06.3581966Z         "int"
2026-06-04T12:50:06.3582452Z       ],
2026-06-04T12:50:06.3582890Z       "stages": {
2026-06-04T12:50:06.3583400Z         "doc": {
2026-06-04T12:50:06.3583953Z           "complete": false,
2026-06-04T12:50:06.3584625Z           "evidence": []
2026-06-04T12:50:06.3592982Z         },
2026-06-04T12:50:06.3593487Z         "impl": {
2026-06-04T12:50:06.3594040Z           "complete": true,
2026-06-04T12:50:06.3594711Z           "evidence": [
2026-06-04T12:50:06.3595279Z             {
2026-06-04T12:50:06.3595923Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3596908Z               "line": 26
2026-06-04T12:50:06.3597513Z             },
2026-06-04T12:50:06.3597991Z             {
2026-06-04T12:50:06.3598647Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3599709Z               "line": 111
2026-06-04T12:50:06.3600447Z             },
2026-06-04T12:50:06.3600922Z             {
2026-06-04T12:50:06.3601553Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3602568Z               "line": 213
2026-06-04T12:50:06.3603161Z             }
2026-06-04T12:50:06.3603632Z           ]
2026-06-04T12:50:06.3604059Z         },
2026-06-04T12:50:06.3604488Z         "int": {
2026-06-04T12:50:06.3605003Z           "complete": true,
2026-06-04T12:50:06.3605651Z           "evidence": [
2026-06-04T12:50:06.3606217Z             {
2026-06-04T12:50:06.3606900Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T12:50:06.3607916Z               "line": 23
2026-06-04T12:50:06.3608499Z             }
2026-06-04T12:50:06.3608947Z           ]
2026-06-04T12:50:06.3609116Z         },
2026-06-04T12:50:06.3609527Z         "unit": {
2026-06-04T12:50:06.3609775Z           "complete": true,
2026-06-04T12:50:06.3610104Z           "evidence": [
2026-06-04T12:50:06.3610273Z             {
2026-06-04T12:50:06.3610649Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3610851Z               "line": 238
2026-06-04T12:50:06.3611170Z             },
2026-06-04T12:50:06.3611351Z             {
2026-06-04T12:50:06.3611699Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3611885Z               "line": 262
2026-06-04T12:50:06.3612051Z             },
2026-06-04T12:50:06.3612228Z             {
2026-06-04T12:50:06.3612586Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3612791Z               "line": 273
2026-06-04T12:50:06.3612958Z             },
2026-06-04T12:50:06.3613137Z             {
2026-06-04T12:50:06.3613472Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T12:50:06.3613669Z               "line": 286
2026-06-04T12:50:06.3613839Z             }
2026-06-04T12:50:06.3613995Z           ]
2026-06-04T12:50:06.3614161Z         }
2026-06-04T12:50:06.3614318Z       }
2026-06-04T12:50:06.3614489Z     },
2026-06-04T12:50:06.3614654Z     {
2026-06-04T12:50:06.3614868Z       "id": "REQ-UPD-4",
2026-06-04T12:50:06.3615996Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T12:50:06.3616288Z       "requiredStages": [
2026-06-04T12:50:06.3616476Z         "impl",
2026-06-04T12:50:06.3616648Z         "unit"
2026-06-04T12:50:06.3616821Z       ],
2026-06-04T12:50:06.3616988Z       "stages": {
2026-06-04T12:50:06.3617172Z         "doc": {
2026-06-04T12:50:06.3617394Z           "complete": false,
2026-06-04T12:50:06.3617589Z           "evidence": []
2026-06-04T12:50:06.3617772Z         },
2026-06-04T12:50:06.3617945Z         "impl": {
2026-06-04T12:50:06.3618169Z           "complete": true,
2026-06-04T12:50:06.3618362Z           "evidence": [
2026-06-04T12:50:06.3618536Z             {
2026-06-04T12:50:06.3618904Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:50:06.3619110Z               "line": 23
2026-06-04T12:50:06.3619365Z             },
2026-06-04T12:50:06.3619538Z             {
2026-06-04T12:50:06.3619907Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:50:06.3620333Z               "line": 56
2026-06-04T12:50:06.3620537Z             },
2026-06-04T12:50:06.3620724Z             {
2026-06-04T12:50:06.3621082Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:50:06.3621287Z               "line": 77
2026-06-04T12:50:06.3621453Z             },
2026-06-04T12:50:06.3621633Z             {
2026-06-04T12:50:06.3622000Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T12:50:06.3622213Z               "line": 179
2026-06-04T12:50:06.3622395Z             },
2026-06-04T12:50:06.3622560Z             {
2026-06-04T12:50:06.3622905Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-04T12:50:06.3623104Z               "line": 98
2026-06-04T12:50:06.3623273Z             },
2026-06-04T12:50:06.3623433Z             {
2026-06-04T12:50:06.3623749Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:06.3623942Z               "line": 139
2026-06-04T12:50:06.3624103Z             }
2026-06-04T12:50:06.3624286Z           ]
2026-06-04T12:50:06.3624453Z         },
2026-06-04T12:50:06.3624651Z         "int": {
2026-06-04T12:50:06.3624866Z           "complete": false,
2026-06-04T12:50:06.3625073Z           "evidence": []
2026-06-04T12:50:06.3625243Z         },
2026-06-04T12:50:06.3625418Z         "unit": {
2026-06-04T12:50:06.3625631Z           "complete": true,
2026-06-04T12:50:06.3625818Z           "evidence": [
2026-06-04T12:50:06.3625992Z             {
2026-06-04T12:50:06.3626331Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T12:50:06.3626535Z               "line": 309
2026-06-04T12:50:06.3626710Z             },
2026-06-04T12:50:06.3626872Z             {
2026-06-04T12:50:06.3627231Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:50:06.3627424Z               "line": 102
2026-06-04T12:50:06.3627600Z             },
2026-06-04T12:50:06.3627774Z             {
2026-06-04T12:50:06.3628137Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:50:06.3628371Z               "line": 117
2026-06-04T12:50:06.3628556Z             },
2026-06-04T12:50:06.3628744Z             {
2026-06-04T12:50:06.3629102Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T12:50:06.3629474Z               "line": 136
2026-06-04T12:50:06.3629667Z             },
2026-06-04T12:50:06.3629835Z             {
2026-06-04T12:50:06.3630177Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T12:50:06.3630365Z               "line": 308
2026-06-04T12:50:06.3630557Z             },
2026-06-04T12:50:06.3630841Z             {
2026-06-04T12:50:06.3631186Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T12:50:06.3631395Z               "line": 442
2026-06-04T12:50:06.3631569Z             }
2026-06-04T12:50:06.3631771Z           ]
2026-06-04T12:50:06.3631947Z         }
2026-06-04T12:50:06.3632126Z       }
2026-06-04T12:50:06.3632291Z     },
2026-06-04T12:50:06.3632460Z     {
2026-06-04T12:50:06.3632679Z       "id": "REQ-UPD-5",
2026-06-04T12:50:06.3633153Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T12:50:06.3633692Z       "requiredStages": [
2026-06-04T12:50:06.3633910Z         "impl",
2026-06-04T12:50:06.3634084Z         "unit"
2026-06-04T12:50:06.3634249Z       ],
2026-06-04T12:50:06.3634443Z       "stages": {
2026-06-04T12:50:06.3634633Z         "doc": {
2026-06-04T12:50:06.3634843Z           "complete": false,
2026-06-04T12:50:06.3642261Z           "evidence": []
2026-06-04T12:50:06.3642615Z         },
2026-06-04T12:50:06.3642823Z         "impl": {
2026-06-04T12:50:06.3643030Z           "complete": true,
2026-06-04T12:50:06.3643226Z           "evidence": [
2026-06-04T12:50:06.3643404Z             {
2026-06-04T12:50:06.3643842Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3644118Z               "line": 27
2026-06-04T12:50:06.3644292Z             },
2026-06-04T12:50:06.3644468Z             {
2026-06-04T12:50:06.3644819Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3645463Z               "line": 82
2026-06-04T12:50:06.3645654Z             },
2026-06-04T12:50:06.3645817Z             {
2026-06-04T12:50:06.3646151Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3646347Z               "line": 134
2026-06-04T12:50:06.3646524Z             },
2026-06-04T12:50:06.3646695Z             {
2026-06-04T12:50:06.3646993Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3647205Z               "line": 260
2026-06-04T12:50:06.3647368Z             },
2026-06-04T12:50:06.3647546Z             {
2026-06-04T12:50:06.3647828Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T12:50:06.3648044Z               "line": 288
2026-06-04T12:50:06.3648215Z             }
2026-06-04T12:50:06.3648391Z           ]
2026-06-04T12:50:06.3648576Z         },
2026-06-04T12:50:06.3648802Z         "int": {
2026-06-04T12:50:06.3649024Z           "complete": false,
2026-06-04T12:50:06.3649305Z           "evidence": []
2026-06-04T12:50:06.3649677Z         },
2026-06-04T12:50:06.3649897Z         "unit": {
2026-06-04T12:50:06.3650419Z           "complete": true,
2026-06-04T12:50:06.3650620Z           "evidence": [
2026-06-04T12:50:06.3650800Z             {
2026-06-04T12:50:06.3651144Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3651333Z               "line": 194
2026-06-04T12:50:06.3651512Z             },
2026-06-04T12:50:06.3651679Z             {
2026-06-04T12:50:06.3652006Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3652205Z               "line": 208
2026-06-04T12:50:06.3652367Z             },
2026-06-04T12:50:06.3652544Z             {
2026-06-04T12:50:06.3652846Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3653049Z               "line": 222
2026-06-04T12:50:06.3653220Z             },
2026-06-04T12:50:06.3653396Z             {
2026-06-04T12:50:06.3653721Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3653931Z               "line": 236
2026-06-04T12:50:06.3654101Z             },
2026-06-04T12:50:06.3654342Z             {
2026-06-04T12:50:06.3654659Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T12:50:06.3654852Z               "line": 270
2026-06-04T12:50:06.3655025Z             },
2026-06-04T12:50:06.3655196Z             {
2026-06-04T12:50:06.3655485Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T12:50:06.3655681Z               "line": 740
2026-06-04T12:50:06.3655840Z             }
2026-06-04T12:50:06.3656018Z           ]
2026-06-04T12:50:06.3656185Z         }
2026-06-04T12:50:06.3656358Z       }
2026-06-04T12:50:06.3656530Z     }
2026-06-04T12:50:06.3656684Z   ],
2026-06-04T12:50:06.3656868Z   "findings": []
2026-06-04T12:50:06.3657022Z }
2026-06-04T12:50:06.3703813Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T12:50:06.3704100Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T12:50:06.3724564Z shell: /usr/bin/bash -e {0}
2026-06-04T12:50:06.3724763Z ##[endgroup]
2026-06-04T12:50:06.3954804Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T12:50:06.3956062Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3957135Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T12:50:06.3958081Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T12:50:06.3959306Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3960483Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3961226Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T12:50:06.3962340Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T12:50:06.3963283Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3964324Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3965049Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T12:50:06.3965707Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T12:50:06.3966284Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T12:50:06.3966865Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T12:50:06.3967678Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3968456Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T12:50:06.3969035Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T12:50:06.3969703Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T12:50:06.3969725Z 
2026-06-04T12:50:06.3969958Z # Requirement quality review
2026-06-04T12:50:06.3969980Z 
2026-06-04T12:50:06.3970408Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T12:50:06.3970957Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T12:50:06.3971386Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T12:50:06.3971698Z this command's output. Your task is the rubric items below.
2026-06-04T12:50:06.3971716Z 
2026-06-04T12:50:06.3971889Z ## Rubric
2026-06-04T12:50:06.3971906Z 
2026-06-04T12:50:06.3972472Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T12:50:06.3972965Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T12:50:06.3973413Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T12:50:06.3973731Z - **active-voice** — clear subject and active verb.
2026-06-04T12:50:06.3973751Z 
2026-06-04T12:50:06.3974236Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T12:50:06.3974408Z clear concerns.
2026-06-04T12:50:06.3974436Z 
2026-06-04T12:50:06.3974903Z ## Requirements
2026-06-04T12:50:06.3974932Z 
2026-06-04T12:50:06.3975136Z ### REQ-ARCH-1
2026-06-04T12:50:06.3975382Z - Title: Many small acyclically-layered crates
2026-06-04T12:50:06.3975596Z - Required stages: impl
2026-06-04T12:50:06.3975614Z 
2026-06-04T12:50:06.3975780Z ### REQ-ARCH-2
2026-06-04T12:50:06.3976107Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T12:50:06.3976301Z - Required stages: impl
2026-06-04T12:50:06.3976318Z 
2026-06-04T12:50:06.3976484Z ### REQ-ARCH-3
2026-06-04T12:50:06.3976891Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T12:50:06.3977089Z - Required stages: impl, unit
2026-06-04T12:50:06.3977107Z 
2026-06-04T12:50:06.3977284Z ### REQ-ARCH-4
2026-06-04T12:50:06.3977630Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T12:50:06.3977829Z - Required stages: impl, unit
2026-06-04T12:50:06.3977846Z 
2026-06-04T12:50:06.3978028Z ### REQ-DAEMON-1
2026-06-04T12:50:06.3978358Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T12:50:06.3978577Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3978595Z 
2026-06-04T12:50:06.3978943Z ### REQ-DAEMON-2
2026-06-04T12:50:06.3979266Z - Title: Broker/brain split for seamless self-update
2026-06-04T12:50:06.3979487Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3979507Z 
2026-06-04T12:50:06.3979674Z ### REQ-DAEMON-3
2026-06-04T12:50:06.3979985Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T12:50:06.3980248Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3980264Z 
2026-06-04T12:50:06.3980431Z ### REQ-DAEMON-4
2026-06-04T12:50:06.3980673Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T12:50:06.3980875Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3980893Z 
2026-06-04T12:50:06.3981074Z ### REQ-STORE-1
2026-06-04T12:50:06.3983380Z - 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-04T12:50:06.3983601Z - Required stages: impl, unit
2026-06-04T12:50:06.3983618Z 
2026-06-04T12:50:06.3983802Z ### REQ-MANIFEST-1
2026-06-04T12:50:06.3984164Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T12:50:06.3984385Z - Required stages: doc, impl, unit
2026-06-04T12:50:06.3984402Z 
2026-06-04T12:50:06.3984590Z ### REQ-SEAM-SPAWN
2026-06-04T12:50:06.3984788Z - Title: spawn-session seam
2026-06-04T12:50:06.3984993Z - Required stages: impl, unit
2026-06-04T12:50:06.3985010Z 
2026-06-04T12:50:06.3985193Z ### REQ-SEAM-POSTSPAWN
2026-06-04T12:50:06.3985462Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T12:50:06.3985667Z - Required stages: impl, unit
2026-06-04T12:50:06.3985685Z 
2026-06-04T12:50:06.3985861Z ### REQ-SEAM-PSYCHE
2026-06-04T12:50:06.3986148Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T12:50:06.3986355Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3986370Z 
2026-06-04T12:50:06.3986568Z ### REQ-SEAM-HISTORY
2026-06-04T12:50:06.3986940Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T12:50:06.3987141Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3987160Z 
2026-06-04T12:50:06.3987349Z ### REQ-SEAM-ACTIVITY
2026-06-04T12:50:06.3987698Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T12:50:06.3987909Z - Required stages: impl, unit
2026-06-04T12:50:06.3987927Z 
2026-06-04T12:50:06.3988113Z ### REQ-SEAM-INJECT
2026-06-04T12:50:06.3988428Z - Title: inject-input methods configurable per activity-state
2026-06-04T12:50:06.3988633Z - Required stages: impl, unit
2026-06-04T12:50:06.3988650Z 
2026-06-04T12:50:06.3988827Z ### REQ-SEAM-RESUME
2026-06-04T12:50:06.3989231Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T12:50:06.3989635Z - Required stages: impl, unit
2026-06-04T12:50:06.3989660Z 
2026-06-04T12:50:06.3989867Z ### REQ-SEAM-CAPABILITY
2026-06-04T12:50:06.3990169Z - Title: Hostable endpoint-types capability declaration
2026-06-04T12:50:06.3990373Z - Required stages: impl, unit
2026-06-04T12:50:06.3990392Z 
2026-06-04T12:50:06.3990578Z ### REQ-SEAM-UPDATE
2026-06-04T12:50:06.3990899Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T12:50:06.3991112Z - Required stages: impl, unit
2026-06-04T12:50:06.3991130Z 
2026-06-04T12:50:06.3991303Z ### REQ-API-1
2026-06-04T12:50:06.3991638Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T12:50:06.3991853Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3991870Z 
2026-06-04T12:50:06.3992033Z ### REQ-API-2
2026-06-04T12:50:06.3992453Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T12:50:06.3992669Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3992693Z 
2026-06-04T12:50:06.3992861Z ### REQ-API-3
2026-06-04T12:50:06.3993136Z - Title: commune/signoff are file-drops, not commands
2026-06-04T12:50:06.3993342Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3993500Z 
2026-06-04T12:50:06.3993688Z ### REQ-START-1
2026-06-04T12:50:06.3994079Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T12:50:06.3994276Z - Required stages: impl, unit
2026-06-04T12:50:06.3994293Z 
2026-06-04T12:50:06.3994472Z ### REQ-START-2
2026-06-04T12:50:06.3994735Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T12:50:06.3994947Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3994966Z 
2026-06-04T12:50:06.3995143Z ### REQ-START-3
2026-06-04T12:50:06.3995485Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T12:50:06.3995702Z - Required stages: impl, unit, int
2026-06-04T12:50:06.3995717Z 
2026-06-04T12:50:06.3995883Z ### REQ-START-4
2026-06-04T12:50:06.3996165Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T12:50:06.3996359Z - Required stages: impl, unit
2026-06-04T12:50:06.3996389Z 
2026-06-04T12:50:06.3996552Z ### REQ-EP-1
2026-06-04T12:50:06.3996823Z - Title: Day-one endpoint types; open type system
2026-06-04T12:50:06.3997018Z - Required stages: impl, unit
2026-06-04T12:50:06.3997036Z 
2026-06-04T12:50:06.3997214Z ### REQ-EP-2
2026-06-04T12:50:06.3997535Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T12:50:06.3997746Z - Required stages: impl, unit
2026-06-04T12:50:06.3997763Z 
2026-06-04T12:50:06.3997934Z ### REQ-EP-3
2026-06-04T12:50:06.3998295Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T12:50:06.3998501Z - Required stages: impl, unit
2026-06-04T12:50:06.3998521Z 
2026-06-04T12:50:06.3998682Z ### REQ-EP-4
2026-06-04T12:50:06.3998974Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T12:50:06.3999249Z - Required stages: impl, unit
2026-06-04T12:50:06.3999268Z 
2026-06-04T12:50:06.3999446Z ### REQ-EP-5
2026-06-04T12:50:06.4000835Z - 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-04T12:50:06.4001022Z - Required stages: 
2026-06-04T12:50:06.4001041Z 
2026-06-04T12:50:06.4001219Z ### REQ-INST-1
2026-06-04T12:50:06.4001538Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T12:50:06.4001717Z - Required stages: 
2026-06-04T12:50:06.4001733Z 
2026-06-04T12:50:06.4001908Z ### REQ-INST-2
2026-06-04T12:50:06.4002133Z - Title: Per-node files, synced Psyche mind
2026-06-04T12:50:06.4002340Z - Required stages: impl, unit
2026-06-04T12:50:06.4002357Z 
2026-06-04T12:50:06.4002532Z ### REQ-INST-3
2026-06-04T12:50:06.4002819Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T12:50:06.4003032Z - Required stages: doc, impl, unit
2026-06-04T12:50:06.4003048Z 
2026-06-04T12:50:06.4003374Z ### REQ-INST-4
2026-06-04T12:50:06.4003738Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T12:50:06.4003942Z - Required stages: impl, unit
2026-06-04T12:50:06.4003982Z 
2026-06-04T12:50:06.4004150Z ### REQ-INST-5
2026-06-04T12:50:06.4004503Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T12:50:06.4004704Z - Required stages: impl, unit
2026-06-04T12:50:06.4004722Z 
2026-06-04T12:50:06.4013511Z ### REQ-INST-6
2026-06-04T12:50:06.4014033Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T12:50:06.4014237Z - Required stages: 
2026-06-04T12:50:06.4014257Z 
2026-06-04T12:50:06.4014435Z ### REQ-INST-7
2026-06-04T12:50:06.4014717Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T12:50:06.4014915Z - Required stages: impl, unit
2026-06-04T12:50:06.4014934Z 
2026-06-04T12:50:06.4015105Z ### REQ-INST-8
2026-06-04T12:50:06.4015403Z - Title: Remote-control mode distinct from local operation
2026-06-04T12:50:06.4015632Z - Required stages: impl, unit
2026-06-04T12:50:06.4015651Z 
2026-06-04T12:50:06.4015822Z ### REQ-INST-9
2026-06-04T12:50:06.4016182Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T12:50:06.4016772Z - Required stages: impl, unit
2026-06-04T12:50:06.4016791Z 
2026-06-04T12:50:06.4016966Z ### REQ-INST-10
2026-06-04T12:50:06.4017378Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T12:50:06.4017584Z - Required stages: impl, unit
2026-06-04T12:50:06.4017602Z 
2026-06-04T12:50:06.4017766Z ### REQ-INST-11
2026-06-04T12:50:06.4018195Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T12:50:06.4018392Z - Required stages: impl, unit
2026-06-04T12:50:06.4018421Z 
2026-06-04T12:50:06.4018585Z ### REQ-INST-12
2026-06-04T12:50:06.4019227Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T12:50:06.4019441Z - Required stages: impl, unit
2026-06-04T12:50:06.4019459Z 
2026-06-04T12:50:06.4019636Z ### REQ-INST-13
2026-06-04T12:50:06.4019995Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T12:50:06.4020209Z - Required stages: impl, unit
2026-06-04T12:50:06.4020227Z 
2026-06-04T12:50:06.4020399Z ### REQ-INST-14
2026-06-04T12:50:06.4021162Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T12:50:06.4021365Z - Required stages: 
2026-06-04T12:50:06.4021381Z 
2026-06-04T12:50:06.4021547Z ### REQ-INST-15
2026-06-04T12:50:06.4023064Z - 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-04T12:50:06.4023247Z - Required stages: 
2026-06-04T12:50:06.4023265Z 
2026-06-04T12:50:06.4023439Z ### REQ-REACH-1
2026-06-04T12:50:06.4023723Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T12:50:06.4023923Z - Required stages: impl, unit
2026-06-04T12:50:06.4023951Z 
2026-06-04T12:50:06.4024116Z ### REQ-REACH-2
2026-06-04T12:50:06.4024422Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T12:50:06.4024592Z - Required stages: 
2026-06-04T12:50:06.4024610Z 
2026-06-04T12:50:06.4024773Z ### REQ-MSG-1
2026-06-04T12:50:06.4025693Z - 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-04T12:50:06.4025898Z - Required stages: impl, unit, int
2026-06-04T12:50:06.4025914Z 
2026-06-04T12:50:06.4026079Z ### REQ-MSG-2
2026-06-04T12:50:06.4026609Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T12:50:06.4026809Z - Required stages: impl, unit
2026-06-04T12:50:06.4026976Z 
2026-06-04T12:50:06.4027158Z ### REQ-MSG-3
2026-06-04T12:50:06.4027942Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T12:50:06.4028172Z - Required stages: impl, unit, int
2026-06-04T12:50:06.4028189Z 
2026-06-04T12:50:06.4028369Z ### REQ-NODE-IDENTITY
2026-06-04T12:50:06.4028820Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T12:50:06.4029023Z - Required stages: impl, unit
2026-06-04T12:50:06.4029040Z 
2026-06-04T12:50:06.4029246Z ### REQ-NET-1
2026-06-04T12:50:06.4029953Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T12:50:06.4030153Z - Required stages: impl, unit
2026-06-04T12:50:06.4030171Z 
2026-06-04T12:50:06.4030341Z ### REQ-NET-2
2026-06-04T12:50:06.4030677Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T12:50:06.4030867Z - Required stages: impl
2026-06-04T12:50:06.4030897Z 
2026-06-04T12:50:06.4031066Z ### REQ-NET-3
2026-06-04T12:50:06.4031383Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T12:50:06.4031582Z - Required stages: impl, unit
2026-06-04T12:50:06.4031735Z 
2026-06-04T12:50:06.4031901Z ### REQ-PAIR-1
2026-06-04T12:50:06.4032108Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T12:50:06.4032306Z - Required stages: impl, unit
2026-06-04T12:50:06.4032323Z 
2026-06-04T12:50:06.4032483Z ### REQ-PAIR-2
2026-06-04T12:50:06.4032750Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T12:50:06.4032940Z - Required stages: impl, unit
2026-06-04T12:50:06.4032958Z 
2026-06-04T12:50:06.4033132Z ### REQ-PAIR-3
2026-06-04T12:50:06.4033414Z - Title: Fetch current pairing code from any paired node
2026-06-04T12:50:06.4033602Z - Required stages: impl, unit
2026-06-04T12:50:06.4033619Z 
2026-06-04T12:50:06.4033792Z ### REQ-PAIR-4
2026-06-04T12:50:06.4033991Z - Title: Subnet naming on first pairing
2026-06-04T12:50:06.4034197Z - Required stages: impl, unit
2026-06-04T12:50:06.4034213Z 
2026-06-04T12:50:06.4034386Z ### REQ-PAIR-5
2026-06-04T12:50:06.4034971Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T12:50:06.4035184Z - Required stages: impl, unit
2026-06-04T12:50:06.4035201Z 
2026-06-04T12:50:06.4035360Z ### REQ-PAIR-6
2026-06-04T12:50:06.4035869Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T12:50:06.4036068Z - Required stages: impl, unit
2026-06-04T12:50:06.4036086Z 
2026-06-04T12:50:06.4036243Z ### REQ-PAIR-7
2026-06-04T12:50:06.4036553Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T12:50:06.4036722Z - Required stages: 
2026-06-04T12:50:06.4036738Z 
2026-06-04T12:50:06.4036901Z ### REQ-SEC-1
2026-06-04T12:50:06.4037694Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T12:50:06.4037895Z - Required stages: impl, unit
2026-06-04T12:50:06.4037912Z 
2026-06-04T12:50:06.4038088Z ### REQ-NOTIF-1
2026-06-04T12:50:06.4038797Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T12:50:06.4039010Z - Required stages: impl, unit
2026-06-04T12:50:06.4039029Z 
2026-06-04T12:50:06.4039258Z ### REQ-NOTIF-2
2026-06-04T12:50:06.4040146Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T12:50:06.4040354Z - Required stages: doc, impl, unit
2026-06-04T12:50:06.4040369Z 
2026-06-04T12:50:06.4040525Z ### REQ-UPD-1
2026-06-04T12:50:06.4040745Z - Title: Peer-propagated update over P2P
2026-06-04T12:50:06.4040935Z - Required stages: impl, unit
2026-06-04T12:50:06.4040963Z 
2026-06-04T12:50:06.4041124Z ### REQ-UPD-2
2026-06-04T12:50:06.4041424Z - Title: All binaries signature-verified before handoff
2026-06-04T12:50:06.4041750Z - Required stages: impl, unit
2026-06-04T12:50:06.4041770Z 
2026-06-04T12:50:06.4041952Z ### REQ-UPD-3
2026-06-04T12:50:06.4042288Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T12:50:06.4042503Z - Required stages: impl, unit, int
2026-06-04T12:50:06.4042520Z 
2026-06-04T12:50:06.4042686Z ### REQ-UPD-4
2026-06-04T12:50:06.4043036Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T12:50:06.4043237Z - Required stages: impl, unit
2026-06-04T12:50:06.4043255Z 
2026-06-04T12:50:06.4043416Z ### REQ-UPD-5
2026-06-04T12:50:06.4043686Z - Title: spt-core ripple-updates registered adapters
2026-06-04T12:50:06.4043885Z - Required stages: impl, unit
2026-06-04T12:50:06.4043900Z 
2026-06-04T12:50:06.4044063Z ### REQ-TERM-1
2026-06-04T12:50:06.4044397Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T12:50:06.4044587Z - Required stages: impl, unit
2026-06-04T12:50:06.4044604Z 
2026-06-04T12:50:06.4044773Z ### REQ-TERM-2
2026-06-04T12:50:06.4045135Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T12:50:06.4045327Z - Required stages: impl, unit
2026-06-04T12:50:06.4045344Z 
2026-06-04T12:50:06.4045652Z ### REQ-TERM-3
2026-06-04T12:50:06.4045912Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T12:50:06.4046110Z - Required stages: impl, unit
2026-06-04T12:50:06.4046129Z 
2026-06-04T12:50:06.4046299Z ### REQ-TERM-4
2026-06-04T12:50:06.4047005Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T12:50:06.4047217Z - Required stages: impl, unit, int
2026-06-04T12:50:06.4047234Z 
2026-06-04T12:50:06.4047393Z ### REQ-FRONT-1
2026-06-04T12:50:06.4047737Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T12:50:06.4047919Z - Required stages: 
2026-06-04T12:50:06.4047936Z 
2026-06-04T12:50:06.4048100Z ### REQ-INSTALL-1
2026-06-04T12:50:06.4048495Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T12:50:06.4048670Z - Required stages: 
2026-06-04T12:50:06.4048687Z 
2026-06-04T12:50:06.4048860Z ### REQ-INSTALL-2
2026-06-04T12:50:06.4049129Z - Title: Marketplace-repackaging-friendly install
2026-06-04T12:50:06.4049532Z - Required stages: 
2026-06-04T12:50:06.4049553Z 
2026-06-04T12:50:06.4049735Z ### REQ-INSTALL-3
2026-06-04T12:50:06.4050153Z - Title: Idempotent + interactive-optional first run
2026-06-04T12:50:06.4050329Z - Required stages: 
2026-06-04T12:50:06.4050346Z 
2026-06-04T12:50:06.4050513Z ### REQ-INSTALL-4
2026-06-04T12:50:06.4051844Z - 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-04T12:50:06.4052027Z - Required stages: 
2026-06-04T12:50:06.4052044Z 
2026-06-04T12:50:06.4052206Z ### REQ-MIGRATE-1
2026-06-04T12:50:06.4052547Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T12:50:06.4052717Z - Required stages: 
2026-06-04T12:50:06.4052733Z 
2026-06-04T12:50:06.4052904Z ### REQ-INFRA-1
2026-06-04T12:50:06.4053263Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T12:50:06.4053435Z - Required stages: 
2026-06-04T12:50:06.4053453Z 
2026-06-04T12:50:06.4053619Z ### REQ-DOCS-1
2026-06-04T12:50:06.4053998Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T12:50:06.4054175Z - Required stages: 
2026-06-04T12:50:06.4054192Z 
2026-06-04T12:50:06.4054360Z ### REQ-DOCS-2
2026-06-04T12:50:06.4054666Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T12:50:06.4054841Z - Required stages: 
2026-06-04T12:50:06.4054858Z 
2026-06-04T12:50:06.4055014Z ### REQ-DOCS-3
2026-06-04T12:50:06.4055576Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T12:50:06.4055765Z - Required stages: 
2026-06-04T12:50:06.4055782Z 
2026-06-04T12:50:06.4056096Z ### REQ-DOCS-4
2026-06-04T12:50:06.4056487Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T12:50:06.4056659Z - Required stages: 
2026-06-04T12:50:06.4056690Z 
2026-06-04T12:50:06.4056861Z ### REQ-DOCS-5
2026-06-04T12:50:06.4057243Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T12:50:06.4057415Z - Required stages: 
2026-06-04T12:50:06.4057430Z 
2026-06-04T12:50:06.4057645Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T12:50:06.4058004Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T12:50:06.4058203Z - Required stages: impl, unit
2026-06-04T12:50:06.4058217Z 
2026-06-04T12:50:06.4058423Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T12:50:06.4058719Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T12:50:06.4058917Z - Required stages: impl, unit
2026-06-04T12:50:06.4058933Z 
2026-06-04T12:50:06.4059127Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T12:50:06.4059760Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T12:50:06.4060071Z - Required stages: 
2026-06-04T12:50:06.4060087Z 
2026-06-04T12:50:06.4060292Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T12:50:06.4060794Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T12:50:06.4060987Z - Required stages: impl, unit
2026-06-04T12:50:06.4061004Z 
2026-06-04T12:50:06.4061203Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T12:50:06.4061547Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T12:50:06.4061759Z - Required stages: impl, unit
2026-06-04T12:50:06.4061777Z 
2026-06-04T12:50:06.4061993Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T12:50:06.4062353Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T12:50:06.4062530Z - Required stages: 
2026-06-04T12:50:06.4062545Z 
2026-06-04T12:50:06.4062740Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T12:50:06.4063001Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T12:50:06.4063191Z - Required stages: 
2026-06-04T12:50:06.4063211Z 
2026-06-04T12:50:06.4063488Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T12:50:06.4063811Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T12:50:06.4064016Z - Required stages: impl, unit
2026-06-04T12:50:06.4064034Z 
2026-06-04T12:50:06.4064241Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T12:50:06.4064526Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T12:50:06.4064714Z - Required stages: impl, int
2026-06-04T12:50:06.4064732Z 
2026-06-04T12:50:06.4064944Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T12:50:06.4065254Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T12:50:06.4065456Z - Required stages: impl, unit
2026-06-04T12:50:06.4065475Z 
2026-06-04T12:50:06.4065706Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T12:50:06.4066021Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T12:50:06.4066224Z - Required stages: impl, unit
2026-06-04T12:50:06.4066238Z 
2026-06-04T12:50:06.4066447Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T12:50:06.4066820Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T12:50:06.4067020Z - Required stages: impl, unit
2026-06-04T12:50:06.4067047Z 
2026-06-04T12:50:06.4067262Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T12:50:06.4067568Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T12:50:06.4067758Z - Required stages: impl, unit
2026-06-04T12:50:06.4067774Z 
2026-06-04T12:50:06.4067996Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T12:50:06.4068324Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T12:50:06.4068529Z - Required stages: impl, unit
2026-06-04T12:50:06.4068545Z 
2026-06-04T12:50:06.4068760Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T12:50:06.4069224Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T12:50:06.4069756Z - Required stages: impl, unit
2026-06-04T12:50:06.4069773Z 
2026-06-04T12:50:06.4070297Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T12:50:06.4070813Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T12:50:06.4071029Z - Required stages: impl, unit
2026-06-04T12:50:06.4071045Z 
2026-06-04T12:50:06.4071253Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T12:50:06.4071624Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T12:50:06.4071818Z - Required stages: impl, unit
2026-06-04T12:50:06.4071849Z 
2026-06-04T12:50:06.4072054Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T12:50:06.4072563Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T12:50:06.4072758Z - Required stages: impl, unit
2026-06-04T12:50:06.4072773Z 
2026-06-04T12:50:06.4072988Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T12:50:06.4073757Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T12:50:06.4073985Z - Required stages: doc, impl, unit
2026-06-04T12:50:06.4074001Z 
2026-06-04T12:50:06.4074219Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T12:50:06.4075097Z - 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-04T12:50:06.4075489Z - Required stages: impl, unit
2026-06-04T12:50:06.4075506Z 
2026-06-04T12:50:06.4075730Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T12:50:06.4075970Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T12:50:06.4076174Z - Required stages: impl, unit
2026-06-04T12:50:06.4076189Z 
2026-06-04T12:50:06.4076389Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T12:50:06.4076649Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T12:50:06.4076845Z - Required stages: impl, unit
2026-06-04T12:50:06.4076875Z 
2026-06-04T12:50:06.4077079Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T12:50:06.4077393Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T12:50:06.4077604Z - Required stages: impl, unit
2026-06-04T12:50:06.4077622Z 
2026-06-04T12:50:06.4077824Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T12:50:06.4078150Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T12:50:06.4078367Z - Required stages: impl, unit
2026-06-04T12:50:06.4078382Z 
2026-06-04T12:50:06.4078596Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T12:50:06.4078878Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T12:50:06.4079086Z - Required stages: impl, unit
2026-06-04T12:50:06.4079101Z 
2026-06-04T12:50:06.4079358Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T12:50:06.4079871Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T12:50:06.4085749Z - Required stages: impl, unit
2026-06-04T12:50:06.4085794Z 
2026-06-04T12:50:06.4086095Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T12:50:06.4086478Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T12:50:06.4086702Z - Required stages: impl, unit
2026-06-04T12:50:06.4086719Z 
2026-06-04T12:50:06.4086926Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T12:50:06.4087296Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T12:50:06.4087510Z - Required stages: impl, unit
2026-06-04T12:50:06.4087527Z 
2026-06-04T12:50:06.4087740Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T12:50:06.4088075Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T12:50:06.4088278Z - Required stages: impl, unit
2026-06-04T12:50:06.4088297Z 
2026-06-04T12:50:06.4088514Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T12:50:06.4088799Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T12:50:06.4088997Z - Required stages: impl, unit
2026-06-04T12:50:06.4089014Z 
2026-06-04T12:50:06.4089518Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T12:50:06.4090140Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T12:50:06.4090334Z - Required stages: impl, unit
2026-06-04T12:50:06.4090634Z 
2026-06-04T12:50:06.4090886Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T12:50:06.4092155Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-04T12:50:06.4092362Z - Required stages: impl, unit
2026-06-04T12:50:06.4092379Z 
2026-06-04T12:50:06.4092575Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T12:50:06.4093001Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T12:50:06.4093207Z - Required stages: impl, unit
2026-06-04T12:50:06.4093226Z 
2026-06-04T12:50:06.4093433Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T12:50:06.4093856Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T12:50:06.4094056Z - Required stages: impl, unit
2026-06-04T12:50:06.4094071Z 
2026-06-04T12:50:06.4094276Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T12:50:06.4094825Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T12:50:06.4095037Z - Required stages: impl, unit, int
2026-06-04T12:50:06.4095193Z 
2026-06-04T12:50:06.4095399Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T12:50:06.4095923Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T12:50:06.4096122Z - Required stages: impl, unit
2026-06-04T12:50:06.4096139Z 
2026-06-04T12:50:06.4096357Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T12:50:06.4097243Z - 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-04T12:50:06.4097448Z - Required stages: impl, unit, int
2026-06-04T12:50:06.4097465Z 
2026-06-04T12:50:06.4097685Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T12:50:06.4099727Z - 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-04T12:50:06.4099947Z - Required stages: impl, unit
2026-06-04T12:50:06.4099969Z 
2026-06-04T12:50:06.4100197Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T12:50:06.4101584Z - 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-04T12:50:06.4101772Z - Required stages: 
2026-06-04T12:50:06.4101791Z 
2026-06-04T12:50:06.4102014Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T12:50:06.4103374Z - 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-04T12:50:06.4103606Z - Required stages: impl, unit
2026-06-04T12:50:06.4103623Z 
2026-06-04T12:50:06.4103843Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T12:50:06.4104954Z - 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-04T12:50:06.4105176Z - Required stages: impl, unit
2026-06-04T12:50:06.4105193Z 
2026-06-04T12:50:06.4105394Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T12:50:06.4107227Z - 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-04T12:50:06.4107441Z - Required stages: impl, unit
2026-06-04T12:50:06.4107457Z 
2026-06-04T12:50:06.4107660Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T12:50:06.4109645Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-04T12:50:06.4109905Z - Required stages: doc, impl, unit
2026-06-04T12:50:06.4109924Z 
2026-06-04T12:50:06.4110098Z ## How to report back
2026-06-04T12:50:06.4110116Z 
2026-06-04T12:50:06.4110460Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T12:50:06.4110476Z 
2026-06-04T12:50:06.4110624Z     {
2026-06-04T12:50:06.4110832Z       "code": "requirement_quality",
2026-06-04T12:50:06.4111029Z       "requirementId": "REQ-...",
2026-06-04T12:50:06.4111468Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T12:50:06.4111668Z       "message": "<short reason>",
2026-06-04T12:50:06.4111908Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T12:50:06.4112076Z     }
2026-06-04T12:50:06.4112092Z 
2026-06-04T12:50:06.4112471Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T12:50:06.4112765Z deterministic findings above don't need to be repeated.
2026-06-04T12:50:06.4273003Z Post job cleanup.
2026-06-04T12:50:06.5510948Z [command]/usr/bin/git version
2026-06-04T12:50:06.5567405Z git version 2.34.1
2026-06-04T12:50:06.5618825Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/290fe9a2-22c0-481f-8435-e9673af86589/.gitconfig'
2026-06-04T12:50:06.5651934Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/290fe9a2-22c0-481f-8435-e9673af86589' before making global git config changes
2026-06-04T12:50:06.5654045Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T12:50:06.5659078Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-04T12:50:06.5708537Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T12:50:06.5755161Z [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-04T12:50:06.6000318Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T12:50:06.6031392Z http.https://github.com/.extraheader
2026-06-04T12:50:06.6045755Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T12:50:06.6088598Z [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-04T12:50:06.6339390Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T12:50:06.6381608Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T12:50:06.6805898Z Cleaning up orphan processes
