﻿2026-06-03T23:57:39.7854247Z Current runner version: '2.334.0'
2026-06-03T23:57:39.7889230Z ##[group]Runner Image Provisioner
2026-06-03T23:57:39.7890619Z Hosted Compute Agent
2026-06-03T23:57:39.7891556Z Version: 20260520.533
2026-06-03T23:57:39.7892548Z Commit: 189110e25284a9812c124fd27b339e2fb4f2f9db
2026-06-03T23:57:39.7893731Z Build Date: 2026-05-20T17:44:04Z
2026-06-03T23:57:39.7894907Z Worker ID: {1df8585d-3c40-44ef-ae43-f79defdfb36a}
2026-06-03T23:57:39.7896497Z Azure Region: centralus
2026-06-03T23:57:39.7897481Z ##[endgroup]
2026-06-03T23:57:39.7899742Z ##[group]Operating System
2026-06-03T23:57:39.7900689Z Ubuntu
2026-06-03T23:57:39.7901450Z 24.04.4
2026-06-03T23:57:39.7902278Z LTS
2026-06-03T23:57:39.7903050Z ##[endgroup]
2026-06-03T23:57:39.7903910Z ##[group]Runner Image
2026-06-03T23:57:39.7904812Z Image: ubuntu-24.04
2026-06-03T23:57:39.7905923Z Version: 20260525.161.1
2026-06-03T23:57:39.7907824Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260525.161/images/ubuntu/Ubuntu2404-Readme.md
2026-06-03T23:57:39.7910404Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260525.161
2026-06-03T23:57:39.7911940Z ##[endgroup]
2026-06-03T23:57:39.7913861Z ##[group]GITHUB_TOKEN Permissions
2026-06-03T23:57:39.7917165Z Contents: read
2026-06-03T23:57:39.7918163Z Metadata: read
2026-06-03T23:57:39.7919035Z Packages: read
2026-06-03T23:57:39.7919894Z ##[endgroup]
2026-06-03T23:57:39.7923519Z Secret source: Actions
2026-06-03T23:57:39.7924890Z Prepare workflow directory
2026-06-03T23:57:39.8962012Z Prepare all required actions
2026-06-03T23:57:39.9057596Z Getting action download info
2026-06-03T23:57:40.2581523Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-06-03T23:57:40.6401270Z Complete job name: traceability
2026-06-03T23:57:40.7030091Z ##[group]Run actions/checkout@v4
2026-06-03T23:57:40.7031558Z with:
2026-06-03T23:57:40.7032425Z   repository: SaberMage/spt-core
2026-06-03T23:57:40.7040684Z   token: ***
2026-06-03T23:57:40.7041614Z   ssh-strict: true
2026-06-03T23:57:40.7042532Z   ssh-user: git
2026-06-03T23:57:40.7043435Z   persist-credentials: true
2026-06-03T23:57:40.7044357Z   clean: true
2026-06-03T23:57:40.7045466Z   sparse-checkout-cone-mode: true
2026-06-03T23:57:40.7046464Z   fetch-depth: 1
2026-06-03T23:57:40.7047282Z   fetch-tags: false
2026-06-03T23:57:40.7048206Z   show-progress: true
2026-06-03T23:57:40.7049099Z   lfs: false
2026-06-03T23:57:40.7049851Z   submodules: false
2026-06-03T23:57:40.7050661Z   set-safe-directory: true
2026-06-03T23:57:40.7052010Z ##[endgroup]
2026-06-03T23:57:40.8953089Z Syncing repository: SaberMage/spt-core
2026-06-03T23:57:40.8956387Z ##[group]Getting Git version info
2026-06-03T23:57:40.8957659Z Working directory is '/home/runner/work/spt-core/spt-core'
2026-06-03T23:57:40.8959611Z [command]/usr/bin/git version
2026-06-03T23:57:40.8960715Z git version 2.54.0
2026-06-03T23:57:40.8964432Z ##[endgroup]
2026-06-03T23:57:40.8971522Z Temporarily overriding HOME='/home/runner/work/_temp/5b3f6012-7d34-4bf2-8b91-1a74fe9e2686' before making global git config changes
2026-06-03T23:57:40.8974075Z Adding repository directory to the temporary git global config as a safe directory
2026-06-03T23:57:40.8976459Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/spt-core/spt-core
2026-06-03T23:57:40.8980030Z Deleting the contents of '/home/runner/work/spt-core/spt-core'
2026-06-03T23:57:40.8982050Z ##[group]Initializing the repository
2026-06-03T23:57:40.8983481Z [command]/usr/bin/git init /home/runner/work/spt-core/spt-core
2026-06-03T23:57:40.8985498Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-06-03T23:57:40.8987452Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-06-03T23:57:40.8989245Z hint: to use in all of your new repositories, which will suppress this warning,
2026-06-03T23:57:40.8990776Z hint: call:
2026-06-03T23:57:40.8991675Z hint:
2026-06-03T23:57:40.8992858Z hint: 	git config --global init.defaultBranch <name>
2026-06-03T23:57:40.8994449Z hint:
2026-06-03T23:57:40.8995817Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-06-03T23:57:40.8997671Z hint: 'development'. The just-created branch can be renamed via this command:
2026-06-03T23:57:40.8999146Z hint:
2026-06-03T23:57:40.9000140Z hint: 	git branch -m <name>
2026-06-03T23:57:40.9001127Z hint:
2026-06-03T23:57:40.9002357Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-06-03T23:57:40.9004323Z Initialized empty Git repository in /home/runner/work/spt-core/spt-core/.git/
2026-06-03T23:57:40.9007979Z [command]/usr/bin/git remote add origin https://github.com/SaberMage/spt-core
2026-06-03T23:57:40.9011276Z ##[endgroup]
2026-06-03T23:57:40.9012797Z ##[group]Disabling automatic garbage collection
2026-06-03T23:57:40.9014189Z [command]/usr/bin/git config --local gc.auto 0
2026-06-03T23:57:40.9017362Z ##[endgroup]
2026-06-03T23:57:40.9018762Z ##[group]Setting up auth
2026-06-03T23:57:40.9021030Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-03T23:57:40.9029904Z [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-03T23:57:40.9062059Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-03T23:57:40.9090139Z [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-03T23:57:40.9273452Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-03T23:57:40.9298826Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-03T23:57:40.9480709Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-03T23:57:40.9623673Z ##[endgroup]
2026-06-03T23:57:40.9624670Z ##[group]Fetching the repository
2026-06-03T23:57:40.9626735Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +9601fe71d1a745bec10933cea66395ee8d14bdc9:refs/remotes/origin/dev-freeform
2026-06-03T23:57:41.5480527Z From https://github.com/SaberMage/spt-core
2026-06-03T23:57:41.5483213Z  * [new ref]         9601fe71d1a745bec10933cea66395ee8d14bdc9 -> origin/dev-freeform
2026-06-03T23:57:41.5488699Z ##[endgroup]
2026-06-03T23:57:41.5490880Z ##[group]Determining the checkout info
2026-06-03T23:57:41.5493222Z ##[endgroup]
2026-06-03T23:57:41.5494387Z [command]/usr/bin/git sparse-checkout disable
2026-06-03T23:57:41.5513667Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-03T23:57:41.5536450Z ##[group]Checking out the ref
2026-06-03T23:57:41.5540413Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-03T23:57:41.5692039Z Switched to a new branch 'dev-freeform'
2026-06-03T23:57:41.5694295Z branch 'dev-freeform' set up to track 'origin/dev-freeform'.
2026-06-03T23:57:41.5706927Z ##[endgroup]
2026-06-03T23:57:41.5737538Z [command]/usr/bin/git log -1 --format=%H
2026-06-03T23:57:41.5768071Z 9601fe71d1a745bec10933cea66395ee8d14bdc9
2026-06-03T23:57:41.5949822Z ##[group]Run gh release download --repo BigscreenVR/traceable-reqs \
2026-06-03T23:57:41.5950949Z [36;1mgh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-03T23:57:41.5951907Z [36;1m  --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-03T23:57:41.5952691Z [36;1mchmod +x traceable-reqs[0m
2026-06-03T23:57:41.5972673Z shell: /usr/bin/bash -e {0}
2026-06-03T23:57:41.5973342Z env:
2026-06-03T23:57:41.5974465Z   GH_TOKEN: ***
2026-06-03T23:57:41.5975138Z ##[endgroup]
2026-06-03T23:57:42.5359021Z ##[group]Run ./traceable-reqs check --json
2026-06-03T23:57:42.5359616Z [36;1m./traceable-reqs check --json[0m
2026-06-03T23:57:42.5377396Z shell: /usr/bin/bash -e {0}
2026-06-03T23:57:42.5377733Z ##[endgroup]
2026-06-03T23:57:42.5486161Z {
2026-06-03T23:57:42.5489131Z   "schemaVersion": 1,
2026-06-03T23:57:42.5489797Z   "summary": {
2026-06-03T23:57:42.5490488Z     "requirementCount": 126,
2026-06-03T23:57:42.5491202Z     "completeCount": 126,
2026-06-03T23:57:42.5491683Z     "incompleteCount": 0,
2026-06-03T23:57:42.5492140Z     "findingCount": 0
2026-06-03T23:57:42.5492566Z   },
2026-06-03T23:57:42.5492965Z   "requirements": [
2026-06-03T23:57:42.5493394Z     {
2026-06-03T23:57:42.5493850Z       "id": "REQ-API-1",
2026-06-03T23:57:42.5494510Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-03T23:57:42.5495412Z       "requiredStages": [
2026-06-03T23:57:42.5495880Z         "impl",
2026-06-03T23:57:42.5496380Z         "unit",
2026-06-03T23:57:42.5496873Z         "int"
2026-06-03T23:57:42.5497328Z       ],
2026-06-03T23:57:42.5497793Z       "stages": {
2026-06-03T23:57:42.5498210Z         "doc": {
2026-06-03T23:57:42.5498693Z           "complete": false,
2026-06-03T23:57:42.5499207Z           "evidence": []
2026-06-03T23:57:42.5499709Z         },
2026-06-03T23:57:42.5500099Z         "impl": {
2026-06-03T23:57:42.5500574Z           "complete": true,
2026-06-03T23:57:42.5501049Z           "evidence": [
2026-06-03T23:57:42.5501534Z             {
2026-06-03T23:57:42.5502048Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T23:57:42.5502621Z               "line": 15
2026-06-03T23:57:42.5503104Z             }
2026-06-03T23:57:42.5503520Z           ]
2026-06-03T23:57:42.5503931Z         },
2026-06-03T23:57:42.5504325Z         "int": {
2026-06-03T23:57:42.5504814Z           "complete": true,
2026-06-03T23:57:42.5505421Z           "evidence": [
2026-06-03T23:57:42.5505866Z             {
2026-06-03T23:57:42.5506391Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.5506988Z               "line": 13
2026-06-03T23:57:42.5507455Z             }
2026-06-03T23:57:42.5507861Z           ]
2026-06-03T23:57:42.5508239Z         },
2026-06-03T23:57:42.5508625Z         "unit": {
2026-06-03T23:57:42.5509056Z           "complete": true,
2026-06-03T23:57:42.5509533Z           "evidence": [
2026-06-03T23:57:42.5509964Z             {
2026-06-03T23:57:42.5510432Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T23:57:42.5511007Z               "line": 329
2026-06-03T23:57:42.5511445Z             },
2026-06-03T23:57:42.5511853Z             {
2026-06-03T23:57:42.5512312Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T23:57:42.5512883Z               "line": 335
2026-06-03T23:57:42.5513320Z             },
2026-06-03T23:57:42.5513723Z             {
2026-06-03T23:57:42.5514242Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T23:57:42.5514816Z               "line": 346
2026-06-03T23:57:42.5515451Z             }
2026-06-03T23:57:42.5515910Z           ]
2026-06-03T23:57:42.5516296Z         }
2026-06-03T23:57:42.5516731Z       }
2026-06-03T23:57:42.5517109Z     },
2026-06-03T23:57:42.5517523Z     {
2026-06-03T23:57:42.5517923Z       "id": "REQ-API-2",
2026-06-03T23:57:42.5518763Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-03T23:57:42.5519627Z       "requiredStages": [
2026-06-03T23:57:42.5520130Z         "impl",
2026-06-03T23:57:42.5520532Z         "unit",
2026-06-03T23:57:42.5520984Z         "int"
2026-06-03T23:57:42.5521372Z       ],
2026-06-03T23:57:42.5531322Z       "stages": {
2026-06-03T23:57:42.5531779Z         "doc": {
2026-06-03T23:57:42.5532230Z           "complete": false,
2026-06-03T23:57:42.5532724Z           "evidence": []
2026-06-03T23:57:42.5533166Z         },
2026-06-03T23:57:42.5533556Z         "impl": {
2026-06-03T23:57:42.5533996Z           "complete": true,
2026-06-03T23:57:42.5534479Z           "evidence": [
2026-06-03T23:57:42.5535299Z             {
2026-06-03T23:57:42.5535927Z               "path": "crates/spt-store/src/history.rs",
2026-06-03T23:57:42.5536714Z               "line": 15
2026-06-03T23:57:42.5537160Z             },
2026-06-03T23:57:42.5537565Z             {
2026-06-03T23:57:42.5538064Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.5538657Z               "line": 20
2026-06-03T23:57:42.5539095Z             },
2026-06-03T23:57:42.5539491Z             {
2026-06-03T23:57:42.5539980Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.5540578Z               "line": 125
2026-06-03T23:57:42.5541023Z             },
2026-06-03T23:57:42.5541428Z             {
2026-06-03T23:57:42.5541934Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5542527Z               "line": 21
2026-06-03T23:57:42.5542963Z             },
2026-06-03T23:57:42.5543357Z             {
2026-06-03T23:57:42.5543853Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5544461Z               "line": 36
2026-06-03T23:57:42.5544907Z             },
2026-06-03T23:57:42.5548563Z             {
2026-06-03T23:57:42.5549012Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5549607Z               "line": 101
2026-06-03T23:57:42.5550063Z             },
2026-06-03T23:57:42.5550470Z             {
2026-06-03T23:57:42.5550968Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5551565Z               "line": 123
2026-06-03T23:57:42.5552019Z             },
2026-06-03T23:57:42.5552438Z             {
2026-06-03T23:57:42.5552933Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5553535Z               "line": 147
2026-06-03T23:57:42.5553985Z             },
2026-06-03T23:57:42.5554375Z             {
2026-06-03T23:57:42.5554761Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5555441Z               "line": 17
2026-06-03T23:57:42.5555833Z             },
2026-06-03T23:57:42.5556111Z             {
2026-06-03T23:57:42.5556401Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5556756Z               "line": 30
2026-06-03T23:57:42.5557018Z             },
2026-06-03T23:57:42.5557261Z             {
2026-06-03T23:57:42.5557548Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5557893Z               "line": 63
2026-06-03T23:57:42.5558151Z             },
2026-06-03T23:57:42.5558386Z             {
2026-06-03T23:57:42.5558684Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5561076Z               "line": 76
2026-06-03T23:57:42.5561342Z             }
2026-06-03T23:57:42.5561581Z           ]
2026-06-03T23:57:42.5561810Z         },
2026-06-03T23:57:42.5562040Z         "int": {
2026-06-03T23:57:42.5562306Z           "complete": true,
2026-06-03T23:57:42.5562595Z           "evidence": [
2026-06-03T23:57:42.5562868Z             {
2026-06-03T23:57:42.5563168Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.5563531Z               "line": 14
2026-06-03T23:57:42.5563795Z             },
2026-06-03T23:57:42.5564042Z             {
2026-06-03T23:57:42.5564342Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.5564695Z               "line": 151
2026-06-03T23:57:42.5565142Z             }
2026-06-03T23:57:42.5565480Z           ]
2026-06-03T23:57:42.5565717Z         },
2026-06-03T23:57:42.5565955Z         "unit": {
2026-06-03T23:57:42.5566230Z           "complete": true,
2026-06-03T23:57:42.5566525Z           "evidence": [
2026-06-03T23:57:42.5566795Z             {
2026-06-03T23:57:42.5567108Z               "path": "crates/spt-store/src/history.rs",
2026-06-03T23:57:42.5567458Z               "line": 42
2026-06-03T23:57:42.5567721Z             },
2026-06-03T23:57:42.5567967Z             {
2026-06-03T23:57:42.5568260Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.5568609Z               "line": 204
2026-06-03T23:57:42.5568879Z             },
2026-06-03T23:57:42.5569284Z             {
2026-06-03T23:57:42.5569588Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5570010Z               "line": 220
2026-06-03T23:57:42.5570269Z             },
2026-06-03T23:57:42.5570514Z             {
2026-06-03T23:57:42.5570806Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5571149Z               "line": 231
2026-06-03T23:57:42.5571414Z             },
2026-06-03T23:57:42.5571650Z             {
2026-06-03T23:57:42.5571940Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5572280Z               "line": 267
2026-06-03T23:57:42.5572541Z             },
2026-06-03T23:57:42.5572788Z             {
2026-06-03T23:57:42.5573079Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5573419Z               "line": 279
2026-06-03T23:57:42.5573679Z             },
2026-06-03T23:57:42.5573919Z             {
2026-06-03T23:57:42.5574208Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5574557Z               "line": 137
2026-06-03T23:57:42.5574821Z             },
2026-06-03T23:57:42.5575402Z             {
2026-06-03T23:57:42.5575708Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5576049Z               "line": 172
2026-06-03T23:57:42.5576317Z             }
2026-06-03T23:57:42.5576559Z           ]
2026-06-03T23:57:42.5576795Z         }
2026-06-03T23:57:42.5577022Z       }
2026-06-03T23:57:42.5577248Z     },
2026-06-03T23:57:42.5577475Z     {
2026-06-03T23:57:42.5577721Z       "id": "REQ-API-3",
2026-06-03T23:57:42.5578096Z       "title": "commune/signoff are file-drops, not commands",
2026-06-03T23:57:42.5578490Z       "requiredStages": [
2026-06-03T23:57:42.5578769Z         "impl",
2026-06-03T23:57:42.5579014Z         "unit",
2026-06-03T23:57:42.5579255Z         "int"
2026-06-03T23:57:42.5579489Z       ],
2026-06-03T23:57:42.5579729Z       "stages": {
2026-06-03T23:57:42.5579983Z         "doc": {
2026-06-03T23:57:42.5580253Z           "complete": false,
2026-06-03T23:57:42.5580557Z           "evidence": []
2026-06-03T23:57:42.5580840Z         },
2026-06-03T23:57:42.5581085Z         "impl": {
2026-06-03T23:57:42.5581356Z           "complete": true,
2026-06-03T23:57:42.5581641Z           "evidence": [
2026-06-03T23:57:42.5581908Z             {
2026-06-03T23:57:42.5582216Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T23:57:42.5582561Z               "line": 14
2026-06-03T23:57:42.5582822Z             },
2026-06-03T23:57:42.5583067Z             {
2026-06-03T23:57:42.5583380Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5583728Z               "line": 157
2026-06-03T23:57:42.5584002Z             }
2026-06-03T23:57:42.5584244Z           ]
2026-06-03T23:57:42.5584471Z         },
2026-06-03T23:57:42.5584703Z         "int": {
2026-06-03T23:57:42.5585194Z           "complete": true,
2026-06-03T23:57:42.5585510Z           "evidence": [
2026-06-03T23:57:42.5585773Z             {
2026-06-03T23:57:42.5586093Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.5586468Z               "line": 203
2026-06-03T23:57:42.5586741Z             }
2026-06-03T23:57:42.5586982Z           ]
2026-06-03T23:57:42.5587217Z         },
2026-06-03T23:57:42.5587457Z         "unit": {
2026-06-03T23:57:42.5587722Z           "complete": true,
2026-06-03T23:57:42.5588014Z           "evidence": [
2026-06-03T23:57:42.5588276Z             {
2026-06-03T23:57:42.5588584Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T23:57:42.5588943Z               "line": 117
2026-06-03T23:57:42.5589211Z             },
2026-06-03T23:57:42.5589458Z             {
2026-06-03T23:57:42.5589767Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5590116Z               "line": 288
2026-06-03T23:57:42.5590383Z             }
2026-06-03T23:57:42.5590621Z           ]
2026-06-03T23:57:42.5590855Z         }
2026-06-03T23:57:42.5591096Z       }
2026-06-03T23:57:42.5591327Z     },
2026-06-03T23:57:42.5591553Z     {
2026-06-03T23:57:42.5591927Z       "id": "REQ-ARCH-1",
2026-06-03T23:57:42.5592289Z       "title": "Many small acyclically-layered crates",
2026-06-03T23:57:42.5592781Z       "requiredStages": [
2026-06-03T23:57:42.5593060Z         "impl"
2026-06-03T23:57:42.5593299Z       ],
2026-06-03T23:57:42.5593538Z       "stages": {
2026-06-03T23:57:42.5593801Z         "doc": {
2026-06-03T23:57:42.5594073Z           "complete": false,
2026-06-03T23:57:42.5594376Z           "evidence": []
2026-06-03T23:57:42.5594645Z         },
2026-06-03T23:57:42.5594887Z         "impl": {
2026-06-03T23:57:42.5595349Z           "complete": true,
2026-06-03T23:57:42.5595645Z           "evidence": [
2026-06-03T23:57:42.5595908Z             {
2026-06-03T23:57:42.5596204Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-03T23:57:42.5596552Z               "line": 16
2026-06-03T23:57:42.5596818Z             },
2026-06-03T23:57:42.5597057Z             {
2026-06-03T23:57:42.5597361Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-03T23:57:42.5597718Z               "line": 12
2026-06-03T23:57:42.5597981Z             },
2026-06-03T23:57:42.5598228Z             {
2026-06-03T23:57:42.5598527Z               "path": "crates/spt-store/src/lib.rs",
2026-06-03T23:57:42.5598874Z               "line": 12
2026-06-03T23:57:42.5599136Z             }
2026-06-03T23:57:42.5599371Z           ]
2026-06-03T23:57:42.5599603Z         },
2026-06-03T23:57:42.5599846Z         "int": {
2026-06-03T23:57:42.5600116Z           "complete": false,
2026-06-03T23:57:42.5600408Z           "evidence": []
2026-06-03T23:57:42.5600673Z         },
2026-06-03T23:57:42.5600909Z         "unit": {
2026-06-03T23:57:42.5601185Z           "complete": false,
2026-06-03T23:57:42.5601496Z           "evidence": []
2026-06-03T23:57:42.5601767Z         }
2026-06-03T23:57:42.5602000Z       }
2026-06-03T23:57:42.5602228Z     },
2026-06-03T23:57:42.5602454Z     {
2026-06-03T23:57:42.5602705Z       "id": "REQ-ARCH-2",
2026-06-03T23:57:42.5603116Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-03T23:57:42.5603539Z       "requiredStages": [
2026-06-03T23:57:42.5603828Z         "impl"
2026-06-03T23:57:42.5604068Z       ],
2026-06-03T23:57:42.5604300Z       "stages": {
2026-06-03T23:57:42.5604552Z         "doc": {
2026-06-03T23:57:42.5604822Z           "complete": false,
2026-06-03T23:57:42.5605328Z           "evidence": []
2026-06-03T23:57:42.5605595Z         },
2026-06-03T23:57:42.5605833Z         "impl": {
2026-06-03T23:57:42.5606108Z           "complete": true,
2026-06-03T23:57:42.5606414Z           "evidence": [
2026-06-03T23:57:42.5606675Z             {
2026-06-03T23:57:42.5606979Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-03T23:57:42.5607333Z               "line": 18
2026-06-03T23:57:42.5607593Z             }
2026-06-03T23:57:42.5607834Z           ]
2026-06-03T23:57:42.5608062Z         },
2026-06-03T23:57:42.5608291Z         "int": {
2026-06-03T23:57:42.5608566Z           "complete": false,
2026-06-03T23:57:42.5608865Z           "evidence": []
2026-06-03T23:57:42.5609126Z         },
2026-06-03T23:57:42.5609359Z         "unit": {
2026-06-03T23:57:42.5609633Z           "complete": false,
2026-06-03T23:57:42.5609920Z           "evidence": []
2026-06-03T23:57:42.5610181Z         }
2026-06-03T23:57:42.5610410Z       }
2026-06-03T23:57:42.5610638Z     },
2026-06-03T23:57:42.5610982Z     {
2026-06-03T23:57:42.5611234Z       "id": "REQ-ARCH-3",
2026-06-03T23:57:42.5611693Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-03T23:57:42.5612168Z       "requiredStages": [
2026-06-03T23:57:42.5612441Z         "impl",
2026-06-03T23:57:42.5612693Z         "unit"
2026-06-03T23:57:42.5612938Z       ],
2026-06-03T23:57:42.5613173Z       "stages": {
2026-06-03T23:57:42.5613424Z         "doc": {
2026-06-03T23:57:42.5613692Z           "complete": false,
2026-06-03T23:57:42.5613982Z           "evidence": []
2026-06-03T23:57:42.5614241Z         },
2026-06-03T23:57:42.5614471Z         "impl": {
2026-06-03T23:57:42.5614913Z           "complete": true,
2026-06-03T23:57:42.5615387Z           "evidence": [
2026-06-03T23:57:42.5615732Z             {
2026-06-03T23:57:42.5616049Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T23:57:42.5616408Z               "line": 34
2026-06-03T23:57:42.5616668Z             },
2026-06-03T23:57:42.5616901Z             {
2026-06-03T23:57:42.5617204Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T23:57:42.5617546Z               "line": 41
2026-06-03T23:57:42.5617805Z             }
2026-06-03T23:57:42.5618041Z           ]
2026-06-03T23:57:42.5618265Z         },
2026-06-03T23:57:42.5618494Z         "int": {
2026-06-03T23:57:42.5618761Z           "complete": false,
2026-06-03T23:57:42.5619053Z           "evidence": []
2026-06-03T23:57:42.5619308Z         },
2026-06-03T23:57:42.5619540Z         "unit": {
2026-06-03T23:57:42.5619800Z           "complete": true,
2026-06-03T23:57:42.5620087Z           "evidence": [
2026-06-03T23:57:42.5620348Z             {
2026-06-03T23:57:42.5620663Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T23:57:42.5621019Z               "line": 51
2026-06-03T23:57:42.5621283Z             },
2026-06-03T23:57:42.5621517Z             {
2026-06-03T23:57:42.5621821Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T23:57:42.5622165Z               "line": 65
2026-06-03T23:57:42.5622429Z             },
2026-06-03T23:57:42.5622668Z             {
2026-06-03T23:57:42.5622971Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T23:57:42.5623316Z               "line": 74
2026-06-03T23:57:42.5623581Z             }
2026-06-03T23:57:42.5623816Z           ]
2026-06-03T23:57:42.5624043Z         }
2026-06-03T23:57:42.5624274Z       }
2026-06-03T23:57:42.5624501Z     },
2026-06-03T23:57:42.5624720Z     {
2026-06-03T23:57:42.5625104Z       "id": "REQ-ARCH-4",
2026-06-03T23:57:42.5625568Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-03T23:57:42.5626029Z       "requiredStages": [
2026-06-03T23:57:42.5626310Z         "impl",
2026-06-03T23:57:42.5626563Z         "unit"
2026-06-03T23:57:42.5626816Z       ],
2026-06-03T23:57:42.5627055Z       "stages": {
2026-06-03T23:57:42.5627302Z         "doc": {
2026-06-03T23:57:42.5627566Z           "complete": false,
2026-06-03T23:57:42.5627856Z           "evidence": []
2026-06-03T23:57:42.5628113Z         },
2026-06-03T23:57:42.5628354Z         "impl": {
2026-06-03T23:57:42.5628618Z           "complete": true,
2026-06-03T23:57:42.5628904Z           "evidence": [
2026-06-03T23:57:42.5629160Z             {
2026-06-03T23:57:42.5629458Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5629802Z               "line": 32
2026-06-03T23:57:42.5630056Z             },
2026-06-03T23:57:42.5630286Z             {
2026-06-03T23:57:42.5630583Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5630932Z               "line": 46
2026-06-03T23:57:42.5631189Z             },
2026-06-03T23:57:42.5631434Z             {
2026-06-03T23:57:42.5631732Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5632085Z               "line": 66
2026-06-03T23:57:42.5632350Z             },
2026-06-03T23:57:42.5632587Z             {
2026-06-03T23:57:42.5632885Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5633235Z               "line": 81
2026-06-03T23:57:42.5633496Z             },
2026-06-03T23:57:42.5633737Z             {
2026-06-03T23:57:42.5634032Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5634373Z               "line": 131
2026-06-03T23:57:42.5634639Z             }
2026-06-03T23:57:42.5634875Z           ]
2026-06-03T23:57:42.5635265Z         },
2026-06-03T23:57:42.5635506Z         "int": {
2026-06-03T23:57:42.5635785Z           "complete": false,
2026-06-03T23:57:42.5636077Z           "evidence": []
2026-06-03T23:57:42.5636349Z         },
2026-06-03T23:57:42.5636590Z         "unit": {
2026-06-03T23:57:42.5636975Z           "complete": true,
2026-06-03T23:57:42.5637281Z           "evidence": [
2026-06-03T23:57:42.5637560Z             {
2026-06-03T23:57:42.5637947Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5638301Z               "line": 195
2026-06-03T23:57:42.5638593Z             },
2026-06-03T23:57:42.5638831Z             {
2026-06-03T23:57:42.5639127Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5639461Z               "line": 205
2026-06-03T23:57:42.5639723Z             },
2026-06-03T23:57:42.5639957Z             {
2026-06-03T23:57:42.5640248Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5640596Z               "line": 216
2026-06-03T23:57:42.5640865Z             },
2026-06-03T23:57:42.5641103Z             {
2026-06-03T23:57:42.5641393Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5641727Z               "line": 227
2026-06-03T23:57:42.5641995Z             },
2026-06-03T23:57:42.5642235Z             {
2026-06-03T23:57:42.5642538Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5642877Z               "line": 239
2026-06-03T23:57:42.5643148Z             },
2026-06-03T23:57:42.5643383Z             {
2026-06-03T23:57:42.5643672Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5644009Z               "line": 252
2026-06-03T23:57:42.5644269Z             },
2026-06-03T23:57:42.5644506Z             {
2026-06-03T23:57:42.5644796Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5645290Z               "line": 263
2026-06-03T23:57:42.5645568Z             },
2026-06-03T23:57:42.5645807Z             {
2026-06-03T23:57:42.5646100Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5646437Z               "line": 277
2026-06-03T23:57:42.5646701Z             },
2026-06-03T23:57:42.5646945Z             {
2026-06-03T23:57:42.5647237Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T23:57:42.5647578Z               "line": 286
2026-06-03T23:57:42.5647859Z             }
2026-06-03T23:57:42.5648093Z           ]
2026-06-03T23:57:42.5648332Z         }
2026-06-03T23:57:42.5648572Z       }
2026-06-03T23:57:42.5648797Z     },
2026-06-03T23:57:42.5649018Z     {
2026-06-03T23:57:42.5649265Z       "id": "REQ-DAEMON-1",
2026-06-03T23:57:42.5649677Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-03T23:57:42.5650102Z       "requiredStages": [
2026-06-03T23:57:42.5650383Z         "impl",
2026-06-03T23:57:42.5650628Z         "unit",
2026-06-03T23:57:42.5650863Z         "int"
2026-06-03T23:57:42.5651095Z       ],
2026-06-03T23:57:42.5651326Z       "stages": {
2026-06-03T23:57:42.5651573Z         "doc": {
2026-06-03T23:57:42.5651836Z           "complete": false,
2026-06-03T23:57:42.5652124Z           "evidence": []
2026-06-03T23:57:42.5652384Z         },
2026-06-03T23:57:42.5652626Z         "impl": {
2026-06-03T23:57:42.5652886Z           "complete": true,
2026-06-03T23:57:42.5653168Z           "evidence": [
2026-06-03T23:57:42.5653431Z             {
2026-06-03T23:57:42.5653732Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.5654099Z               "line": 12
2026-06-03T23:57:42.5654354Z             },
2026-06-03T23:57:42.5654589Z             {
2026-06-03T23:57:42.5654898Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5655447Z               "line": 16
2026-06-03T23:57:42.5655711Z             },
2026-06-03T23:57:42.5655958Z             {
2026-06-03T23:57:42.5656253Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T23:57:42.5656590Z               "line": 15
2026-06-03T23:57:42.5656846Z             },
2026-06-03T23:57:42.5657086Z             {
2026-06-03T23:57:42.5657374Z               "path": "crates/spt/src/api/live.rs",
2026-06-03T23:57:42.5657727Z               "line": 13
2026-06-03T23:57:42.5657986Z             }
2026-06-03T23:57:42.5658228Z           ]
2026-06-03T23:57:42.5658460Z         },
2026-06-03T23:57:42.5658689Z         "int": {
2026-06-03T23:57:42.5659059Z           "complete": true,
2026-06-03T23:57:42.5659350Z           "evidence": [
2026-06-03T23:57:42.5659701Z             {
2026-06-03T23:57:42.5660040Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T23:57:42.5660405Z               "line": 32
2026-06-03T23:57:42.5660666Z             }
2026-06-03T23:57:42.5660904Z           ]
2026-06-03T23:57:42.5661138Z         },
2026-06-03T23:57:42.5661380Z         "unit": {
2026-06-03T23:57:42.5661648Z           "complete": true,
2026-06-03T23:57:42.5661935Z           "evidence": [
2026-06-03T23:57:42.5662198Z             {
2026-06-03T23:57:42.5662508Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.5662855Z               "line": 173
2026-06-03T23:57:42.5663121Z             },
2026-06-03T23:57:42.5663359Z             {
2026-06-03T23:57:42.5663659Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.5664003Z               "line": 181
2026-06-03T23:57:42.5664277Z             },
2026-06-03T23:57:42.5664516Z             {
2026-06-03T23:57:42.5664815Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.5665383Z               "line": 194
2026-06-03T23:57:42.5665650Z             },
2026-06-03T23:57:42.5665893Z             {
2026-06-03T23:57:42.5666196Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.5666546Z               "line": 202
2026-06-03T23:57:42.5666812Z             },
2026-06-03T23:57:42.5667052Z             {
2026-06-03T23:57:42.5667371Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5667729Z               "line": 451
2026-06-03T23:57:42.5667998Z             },
2026-06-03T23:57:42.5668239Z             {
2026-06-03T23:57:42.5668548Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5668905Z               "line": 510
2026-06-03T23:57:42.5669177Z             },
2026-06-03T23:57:42.5669423Z             {
2026-06-03T23:57:42.5669729Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T23:57:42.5670083Z               "line": 100
2026-06-03T23:57:42.5670352Z             },
2026-06-03T23:57:42.5670593Z             {
2026-06-03T23:57:42.5670894Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T23:57:42.5671234Z               "line": 125
2026-06-03T23:57:42.5671494Z             }
2026-06-03T23:57:42.5671735Z           ]
2026-06-03T23:57:42.5671970Z         }
2026-06-03T23:57:42.5672211Z       }
2026-06-03T23:57:42.5672437Z     },
2026-06-03T23:57:42.5672661Z     {
2026-06-03T23:57:42.5672911Z       "id": "REQ-DAEMON-2",
2026-06-03T23:57:42.5673283Z       "title": "Broker/brain split for seamless self-update",
2026-06-03T23:57:42.5673672Z       "requiredStages": [
2026-06-03T23:57:42.5673947Z         "impl",
2026-06-03T23:57:42.5674191Z         "unit",
2026-06-03T23:57:42.5674431Z         "int"
2026-06-03T23:57:42.5674665Z       ],
2026-06-03T23:57:42.5674900Z       "stages": {
2026-06-03T23:57:42.5675312Z         "doc": {
2026-06-03T23:57:42.5675634Z           "complete": false,
2026-06-03T23:57:42.5675925Z           "evidence": []
2026-06-03T23:57:42.5676196Z         },
2026-06-03T23:57:42.5676427Z         "impl": {
2026-06-03T23:57:42.5676688Z           "complete": true,
2026-06-03T23:57:42.5676970Z           "evidence": [
2026-06-03T23:57:42.5677235Z             {
2026-06-03T23:57:42.5677530Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T23:57:42.5677873Z               "line": 23
2026-06-03T23:57:42.5678137Z             },
2026-06-03T23:57:42.5678382Z             {
2026-06-03T23:57:42.5678681Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T23:57:42.5679018Z               "line": 363
2026-06-03T23:57:42.5679279Z             },
2026-06-03T23:57:42.5679525Z             {
2026-06-03T23:57:42.5679824Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T23:57:42.5680172Z               "line": 32
2026-06-03T23:57:42.5680440Z             },
2026-06-03T23:57:42.5680679Z             {
2026-06-03T23:57:42.5681091Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T23:57:42.5681503Z               "line": 181
2026-06-03T23:57:42.5681768Z             },
2026-06-03T23:57:42.5682020Z             {
2026-06-03T23:57:42.5682321Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T23:57:42.5682666Z               "line": 439
2026-06-03T23:57:42.5682930Z             },
2026-06-03T23:57:42.5683169Z             {
2026-06-03T23:57:42.5683460Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T23:57:42.5683801Z               "line": 11
2026-06-03T23:57:42.5684063Z             },
2026-06-03T23:57:42.5684299Z             {
2026-06-03T23:57:42.5684605Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-03T23:57:42.5685135Z               "line": 53
2026-06-03T23:57:42.5685512Z             },
2026-06-03T23:57:42.5685757Z             {
2026-06-03T23:57:42.5686049Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T23:57:42.5686403Z               "line": 13
2026-06-03T23:57:42.5686669Z             },
2026-06-03T23:57:42.5686908Z             {
2026-06-03T23:57:42.5687226Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-03T23:57:42.5687569Z               "line": 27
2026-06-03T23:57:42.5687830Z             },
2026-06-03T23:57:42.5688063Z             {
2026-06-03T23:57:42.5688352Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-03T23:57:42.5688696Z               "line": 103
2026-06-03T23:57:42.5688964Z             },
2026-06-03T23:57:42.5689200Z             {
2026-06-03T23:57:42.5689502Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-03T23:57:42.5689846Z               "line": 158
2026-06-03T23:57:42.5690105Z             },
2026-06-03T23:57:42.5690342Z             {
2026-06-03T23:57:42.5690651Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T23:57:42.5691010Z               "line": 10
2026-06-03T23:57:42.5691277Z             }
2026-06-03T23:57:42.5691512Z           ]
2026-06-03T23:57:42.5691748Z         },
2026-06-03T23:57:42.5691989Z         "int": {
2026-06-03T23:57:42.5692258Z           "complete": true,
2026-06-03T23:57:42.5692542Z           "evidence": [
2026-06-03T23:57:42.5692803Z             {
2026-06-03T23:57:42.5693106Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-03T23:57:42.5693457Z               "line": 17
2026-06-03T23:57:42.5693719Z             },
2026-06-03T23:57:42.5694142Z             {
2026-06-03T23:57:42.5694644Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T23:57:42.5695219Z               "line": 33
2026-06-03T23:57:42.5695487Z             },
2026-06-03T23:57:42.5695726Z             {
2026-06-03T23:57:42.5696043Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-03T23:57:42.5696408Z               "line": 19
2026-06-03T23:57:42.5696678Z             },
2026-06-03T23:57:42.5696924Z             {
2026-06-03T23:57:42.5697236Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-03T23:57:42.5697608Z               "line": 64
2026-06-03T23:57:42.5697873Z             },
2026-06-03T23:57:42.5698116Z             {
2026-06-03T23:57:42.5698425Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-03T23:57:42.5698775Z               "line": 84
2026-06-03T23:57:42.5699033Z             },
2026-06-03T23:57:42.5699265Z             {
2026-06-03T23:57:42.5699568Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-03T23:57:42.5699930Z               "line": 154
2026-06-03T23:57:42.5700187Z             },
2026-06-03T23:57:42.5700418Z             {
2026-06-03T23:57:42.5700723Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-03T23:57:42.5701077Z               "line": 190
2026-06-03T23:57:42.5701338Z             }
2026-06-03T23:57:42.5701567Z           ]
2026-06-03T23:57:42.5701794Z         },
2026-06-03T23:57:42.5702030Z         "unit": {
2026-06-03T23:57:42.5702287Z           "complete": true,
2026-06-03T23:57:42.5702679Z           "evidence": [
2026-06-03T23:57:42.5702946Z             {
2026-06-03T23:57:42.5703246Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T23:57:42.5703661Z               "line": 62
2026-06-03T23:57:42.5703933Z             },
2026-06-03T23:57:42.5704166Z             {
2026-06-03T23:57:42.5704461Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T23:57:42.5704813Z               "line": 76
2026-06-03T23:57:42.5705163Z             },
2026-06-03T23:57:42.5705413Z             {
2026-06-03T23:57:42.5705714Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T23:57:42.5706056Z               "line": 88
2026-06-03T23:57:42.5706325Z             },
2026-06-03T23:57:42.5706561Z             {
2026-06-03T23:57:42.5706862Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T23:57:42.5707226Z               "line": 260
2026-06-03T23:57:42.5707488Z             },
2026-06-03T23:57:42.5707729Z             {
2026-06-03T23:57:42.5708029Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T23:57:42.5708369Z               "line": 274
2026-06-03T23:57:42.5708638Z             },
2026-06-03T23:57:42.5708878Z             {
2026-06-03T23:57:42.5709166Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T23:57:42.5709511Z               "line": 282
2026-06-03T23:57:42.5709771Z             },
2026-06-03T23:57:42.5710011Z             {
2026-06-03T23:57:42.5710297Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T23:57:42.5710636Z               "line": 299
2026-06-03T23:57:42.5710897Z             },
2026-06-03T23:57:42.5711131Z             {
2026-06-03T23:57:42.5711415Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T23:57:42.5711747Z               "line": 319
2026-06-03T23:57:42.5712012Z             },
2026-06-03T23:57:42.5712248Z             {
2026-06-03T23:57:42.5712542Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-03T23:57:42.5712887Z               "line": 199
2026-06-03T23:57:42.5713147Z             },
2026-06-03T23:57:42.5713390Z             {
2026-06-03T23:57:42.5713681Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-03T23:57:42.5714028Z               "line": 211
2026-06-03T23:57:42.5714289Z             },
2026-06-03T23:57:42.5714525Z             {
2026-06-03T23:57:42.5714827Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T23:57:42.5715255Z               "line": 112
2026-06-03T23:57:42.5715516Z             }
2026-06-03T23:57:42.5715754Z           ]
2026-06-03T23:57:42.5715988Z         }
2026-06-03T23:57:42.5716223Z       }
2026-06-03T23:57:42.5716461Z     },
2026-06-03T23:57:42.5716695Z     {
2026-06-03T23:57:42.5716943Z       "id": "REQ-DAEMON-3",
2026-06-03T23:57:42.5717331Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-03T23:57:42.5717732Z       "requiredStages": [
2026-06-03T23:57:42.5718007Z         "impl",
2026-06-03T23:57:42.5718253Z         "unit",
2026-06-03T23:57:42.5718498Z         "int"
2026-06-03T23:57:42.5718734Z       ],
2026-06-03T23:57:42.5718988Z       "stages": {
2026-06-03T23:57:42.5719240Z         "doc": {
2026-06-03T23:57:42.5719514Z           "complete": false,
2026-06-03T23:57:42.5719813Z           "evidence": []
2026-06-03T23:57:42.5720081Z         },
2026-06-03T23:57:42.5720312Z         "impl": {
2026-06-03T23:57:42.5720573Z           "complete": true,
2026-06-03T23:57:42.5720854Z           "evidence": [
2026-06-03T23:57:42.5721117Z             {
2026-06-03T23:57:42.5721427Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-03T23:57:42.5721766Z               "line": 14
2026-06-03T23:57:42.5722029Z             },
2026-06-03T23:57:42.5722270Z             {
2026-06-03T23:57:42.5722573Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-03T23:57:42.5722921Z               "line": 11
2026-06-03T23:57:42.5723176Z             },
2026-06-03T23:57:42.5723415Z             {
2026-06-03T23:57:42.5723704Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T23:57:42.5724139Z               "line": 203
2026-06-03T23:57:42.5724405Z             },
2026-06-03T23:57:42.5724642Z             {
2026-06-03T23:57:42.5725056Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.5725386Z               "line": 233
2026-06-03T23:57:42.5725649Z             }
2026-06-03T23:57:42.5725887Z           ]
2026-06-03T23:57:42.5726117Z         },
2026-06-03T23:57:42.5726360Z         "int": {
2026-06-03T23:57:42.5726625Z           "complete": true,
2026-06-03T23:57:42.5726909Z           "evidence": [
2026-06-03T23:57:42.5727169Z             {
2026-06-03T23:57:42.5727469Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.5727814Z               "line": 43
2026-06-03T23:57:42.5728074Z             },
2026-06-03T23:57:42.5728312Z             {
2026-06-03T23:57:42.5728622Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.5728970Z               "line": 315
2026-06-03T23:57:42.5729230Z             }
2026-06-03T23:57:42.5729468Z           ]
2026-06-03T23:57:42.5729712Z         },
2026-06-03T23:57:42.5729946Z         "unit": {
2026-06-03T23:57:42.5730211Z           "complete": true,
2026-06-03T23:57:42.5730503Z           "evidence": [
2026-06-03T23:57:42.5730768Z             {
2026-06-03T23:57:42.5731075Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-03T23:57:42.5731417Z               "line": 213
2026-06-03T23:57:42.5731677Z             }
2026-06-03T23:57:42.5731911Z           ]
2026-06-03T23:57:42.5732141Z         }
2026-06-03T23:57:42.5732368Z       }
2026-06-03T23:57:42.5732595Z     },
2026-06-03T23:57:42.5732818Z     {
2026-06-03T23:57:42.5733057Z       "id": "REQ-DAEMON-4",
2026-06-03T23:57:42.5733406Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-03T23:57:42.5733758Z       "requiredStages": [
2026-06-03T23:57:42.5734029Z         "impl",
2026-06-03T23:57:42.5734274Z         "unit",
2026-06-03T23:57:42.5734509Z         "int"
2026-06-03T23:57:42.5734739Z       ],
2026-06-03T23:57:42.5735040Z       "stages": {
2026-06-03T23:57:42.5735305Z         "doc": {
2026-06-03T23:57:42.5735582Z           "complete": false,
2026-06-03T23:57:42.5735879Z           "evidence": []
2026-06-03T23:57:42.5736141Z         },
2026-06-03T23:57:42.5736383Z         "impl": {
2026-06-03T23:57:42.5736653Z           "complete": true,
2026-06-03T23:57:42.5736938Z           "evidence": [
2026-06-03T23:57:42.5737197Z             {
2026-06-03T23:57:42.5737498Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5737851Z               "line": 262
2026-06-03T23:57:42.5738127Z             },
2026-06-03T23:57:42.5738369Z             {
2026-06-03T23:57:42.5738670Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5739024Z               "line": 324
2026-06-03T23:57:42.5739289Z             },
2026-06-03T23:57:42.5739528Z             {
2026-06-03T23:57:42.5739825Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5740173Z               "line": 346
2026-06-03T23:57:42.5740449Z             }
2026-06-03T23:57:42.5740681Z           ]
2026-06-03T23:57:42.5740908Z         },
2026-06-03T23:57:42.5741155Z         "int": {
2026-06-03T23:57:42.5741416Z           "complete": true,
2026-06-03T23:57:42.5741704Z           "evidence": [
2026-06-03T23:57:42.5742120Z             {
2026-06-03T23:57:42.5742445Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T23:57:42.5817409Z               "line": 34
2026-06-03T23:57:42.5817920Z             }
2026-06-03T23:57:42.5818326Z           ]
2026-06-03T23:57:42.5818725Z         },
2026-06-03T23:57:42.5819152Z         "unit": {
2026-06-03T23:57:42.5819631Z           "complete": true,
2026-06-03T23:57:42.5820107Z           "evidence": [
2026-06-03T23:57:42.5820496Z             {
2026-06-03T23:57:42.5820996Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.5821536Z               "line": 248
2026-06-03T23:57:42.5821927Z             },
2026-06-03T23:57:42.5822265Z             {
2026-06-03T23:57:42.5822904Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5823502Z               "line": 533
2026-06-03T23:57:42.5824043Z             },
2026-06-03T23:57:42.5824406Z             {
2026-06-03T23:57:42.5824871Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5825648Z               "line": 584
2026-06-03T23:57:42.5826183Z             },
2026-06-03T23:57:42.5826569Z             {
2026-06-03T23:57:42.5827049Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5827647Z               "line": 608
2026-06-03T23:57:42.5828119Z             },
2026-06-03T23:57:42.5828535Z             {
2026-06-03T23:57:42.5829048Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5829641Z               "line": 638
2026-06-03T23:57:42.5830125Z             }
2026-06-03T23:57:42.5830556Z           ]
2026-06-03T23:57:42.5830988Z         }
2026-06-03T23:57:42.5831396Z       }
2026-06-03T23:57:42.5831735Z     },
2026-06-03T23:57:42.5832121Z     {
2026-06-03T23:57:42.5832619Z       "id": "REQ-DOCS-1",
2026-06-03T23:57:42.5833371Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-03T23:57:42.5834185Z       "requiredStages": [],
2026-06-03T23:57:42.5834666Z       "stages": {
2026-06-03T23:57:42.5835198Z         "doc": {
2026-06-03T23:57:42.5835605Z           "complete": false,
2026-06-03T23:57:42.5836063Z           "evidence": []
2026-06-03T23:57:42.5836459Z         },
2026-06-03T23:57:42.5836701Z         "impl": {
2026-06-03T23:57:42.5836964Z           "complete": false,
2026-06-03T23:57:42.5837247Z           "evidence": []
2026-06-03T23:57:42.5837516Z         },
2026-06-03T23:57:42.5837748Z         "int": {
2026-06-03T23:57:42.5838004Z           "complete": false,
2026-06-03T23:57:42.5838286Z           "evidence": []
2026-06-03T23:57:42.5838548Z         },
2026-06-03T23:57:42.5838783Z         "unit": {
2026-06-03T23:57:42.5839047Z           "complete": false,
2026-06-03T23:57:42.5839349Z           "evidence": []
2026-06-03T23:57:42.5839611Z         }
2026-06-03T23:57:42.5839834Z       }
2026-06-03T23:57:42.5840064Z     },
2026-06-03T23:57:42.5840291Z     {
2026-06-03T23:57:42.5840534Z       "id": "REQ-DOCS-2",
2026-06-03T23:57:42.5840922Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-03T23:57:42.5841339Z       "requiredStages": [],
2026-06-03T23:57:42.5841622Z       "stages": {
2026-06-03T23:57:42.5841872Z         "doc": {
2026-06-03T23:57:42.5842134Z           "complete": false,
2026-06-03T23:57:42.5842422Z           "evidence": []
2026-06-03T23:57:42.5842682Z         },
2026-06-03T23:57:42.5842922Z         "impl": {
2026-06-03T23:57:42.5843181Z           "complete": false,
2026-06-03T23:57:42.5843469Z           "evidence": []
2026-06-03T23:57:42.5843735Z         },
2026-06-03T23:57:42.5843972Z         "int": {
2026-06-03T23:57:42.5844230Z           "complete": false,
2026-06-03T23:57:42.5844519Z           "evidence": []
2026-06-03T23:57:42.5844778Z         },
2026-06-03T23:57:42.5845225Z         "unit": {
2026-06-03T23:57:42.5845492Z           "complete": false,
2026-06-03T23:57:42.5845787Z           "evidence": []
2026-06-03T23:57:42.5846059Z         }
2026-06-03T23:57:42.5846308Z       }
2026-06-03T23:57:42.5846544Z     },
2026-06-03T23:57:42.5846767Z     {
2026-06-03T23:57:42.5847007Z       "id": "REQ-DOCS-3",
2026-06-03T23:57:42.5847741Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-03T23:57:42.5848145Z       "requiredStages": [],
2026-06-03T23:57:42.5848446Z       "stages": {
2026-06-03T23:57:42.5848694Z         "doc": {
2026-06-03T23:57:42.5848966Z           "complete": false,
2026-06-03T23:57:42.5849255Z           "evidence": []
2026-06-03T23:57:42.5849516Z         },
2026-06-03T23:57:42.5849752Z         "impl": {
2026-06-03T23:57:42.5850014Z           "complete": false,
2026-06-03T23:57:42.5850293Z           "evidence": []
2026-06-03T23:57:42.5850551Z         },
2026-06-03T23:57:42.5850780Z         "int": {
2026-06-03T23:57:42.5851221Z           "complete": false,
2026-06-03T23:57:42.5851524Z           "evidence": []
2026-06-03T23:57:42.5851899Z         },
2026-06-03T23:57:42.5852126Z         "unit": {
2026-06-03T23:57:42.5852385Z           "complete": false,
2026-06-03T23:57:42.5852670Z           "evidence": []
2026-06-03T23:57:42.5852929Z         }
2026-06-03T23:57:42.5853155Z       }
2026-06-03T23:57:42.5853377Z     },
2026-06-03T23:57:42.5853595Z     {
2026-06-03T23:57:42.5853836Z       "id": "REQ-DOCS-4",
2026-06-03T23:57:42.5854260Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-03T23:57:42.5854713Z       "requiredStages": [],
2026-06-03T23:57:42.5855254Z       "stages": {
2026-06-03T23:57:42.5855522Z         "doc": {
2026-06-03T23:57:42.5855788Z           "complete": false,
2026-06-03T23:57:42.5856075Z           "evidence": []
2026-06-03T23:57:42.5856338Z         },
2026-06-03T23:57:42.5856580Z         "impl": {
2026-06-03T23:57:42.5856840Z           "complete": false,
2026-06-03T23:57:42.5857133Z           "evidence": []
2026-06-03T23:57:42.5857395Z         },
2026-06-03T23:57:42.5857626Z         "int": {
2026-06-03T23:57:42.5857889Z           "complete": false,
2026-06-03T23:57:42.5858172Z           "evidence": []
2026-06-03T23:57:42.5858433Z         },
2026-06-03T23:57:42.5858667Z         "unit": {
2026-06-03T23:57:42.5858934Z           "complete": false,
2026-06-03T23:57:42.5859213Z           "evidence": []
2026-06-03T23:57:42.5859468Z         }
2026-06-03T23:57:42.5859687Z       }
2026-06-03T23:57:42.5859902Z     },
2026-06-03T23:57:42.5860119Z     {
2026-06-03T23:57:42.5860353Z       "id": "REQ-DOCS-5",
2026-06-03T23:57:42.5860796Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-03T23:57:42.5861247Z       "requiredStages": [],
2026-06-03T23:57:42.5861524Z       "stages": {
2026-06-03T23:57:42.5861770Z         "doc": {
2026-06-03T23:57:42.5862025Z           "complete": false,
2026-06-03T23:57:42.5862303Z           "evidence": []
2026-06-03T23:57:42.5862566Z         },
2026-06-03T23:57:42.5862794Z         "impl": {
2026-06-03T23:57:42.5863049Z           "complete": false,
2026-06-03T23:57:42.5863334Z           "evidence": []
2026-06-03T23:57:42.5863593Z         },
2026-06-03T23:57:42.5863821Z         "int": {
2026-06-03T23:57:42.5864069Z           "complete": false,
2026-06-03T23:57:42.5864351Z           "evidence": []
2026-06-03T23:57:42.5864612Z         },
2026-06-03T23:57:42.5864836Z         "unit": {
2026-06-03T23:57:42.5865265Z           "complete": false,
2026-06-03T23:57:42.5865548Z           "evidence": []
2026-06-03T23:57:42.5865805Z         }
2026-06-03T23:57:42.5866033Z       }
2026-06-03T23:57:42.5866248Z     },
2026-06-03T23:57:42.5866467Z     {
2026-06-03T23:57:42.5866709Z       "id": "REQ-EP-1",
2026-06-03T23:57:42.5867046Z       "title": "Day-one endpoint types; open type system",
2026-06-03T23:57:42.5867407Z       "requiredStages": [
2026-06-03T23:57:42.5867676Z         "impl",
2026-06-03T23:57:42.5867917Z         "unit"
2026-06-03T23:57:42.5868160Z       ],
2026-06-03T23:57:42.5868402Z       "stages": {
2026-06-03T23:57:42.5868641Z         "doc": {
2026-06-03T23:57:42.5868901Z           "complete": false,
2026-06-03T23:57:42.5869187Z           "evidence": []
2026-06-03T23:57:42.5869451Z         },
2026-06-03T23:57:42.5869686Z         "impl": {
2026-06-03T23:57:42.5869948Z           "complete": true,
2026-06-03T23:57:42.5870228Z           "evidence": [
2026-06-03T23:57:42.5870488Z             {
2026-06-03T23:57:42.5870802Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5871164Z               "line": 77
2026-06-03T23:57:42.5871433Z             },
2026-06-03T23:57:42.5871671Z             {
2026-06-03T23:57:42.5871963Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5872305Z               "line": 94
2026-06-03T23:57:42.5872563Z             }
2026-06-03T23:57:42.5872801Z           ]
2026-06-03T23:57:42.5873027Z         },
2026-06-03T23:57:42.5873251Z         "int": {
2026-06-03T23:57:42.5873633Z           "complete": false,
2026-06-03T23:57:42.5873925Z           "evidence": []
2026-06-03T23:57:42.5874250Z         },
2026-06-03T23:57:42.5874482Z         "unit": {
2026-06-03T23:57:42.5874744Z           "complete": true,
2026-06-03T23:57:42.5875232Z           "evidence": [
2026-06-03T23:57:42.5875568Z             {
2026-06-03T23:57:42.5875868Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5876216Z               "line": 161
2026-06-03T23:57:42.5876477Z             },
2026-06-03T23:57:42.5876717Z             {
2026-06-03T23:57:42.5877008Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5877351Z               "line": 178
2026-06-03T23:57:42.5877607Z             }
2026-06-03T23:57:42.5877844Z           ]
2026-06-03T23:57:42.5878067Z         }
2026-06-03T23:57:42.5878288Z       }
2026-06-03T23:57:42.5878508Z     },
2026-06-03T23:57:42.5878728Z     {
2026-06-03T23:57:42.5878967Z       "id": "REQ-EP-2",
2026-06-03T23:57:42.5879356Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-03T23:57:42.5879767Z       "requiredStages": [
2026-06-03T23:57:42.5880045Z         "impl",
2026-06-03T23:57:42.5880293Z         "unit"
2026-06-03T23:57:42.5880528Z       ],
2026-06-03T23:57:42.5880761Z       "stages": {
2026-06-03T23:57:42.5881006Z         "doc": {
2026-06-03T23:57:42.5881263Z           "complete": false,
2026-06-03T23:57:42.5881551Z           "evidence": []
2026-06-03T23:57:42.5881811Z         },
2026-06-03T23:57:42.5882043Z         "impl": {
2026-06-03T23:57:42.5882309Z           "complete": true,
2026-06-03T23:57:42.5882604Z           "evidence": [
2026-06-03T23:57:42.5882898Z             {
2026-06-03T23:57:42.5883196Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5883540Z               "line": 114
2026-06-03T23:57:42.5883807Z             },
2026-06-03T23:57:42.5884048Z             {
2026-06-03T23:57:42.5884339Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5884722Z               "line": 131
2026-06-03T23:57:42.5885284Z             },
2026-06-03T23:57:42.5885539Z             {
2026-06-03T23:57:42.5885829Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5886179Z               "line": 138
2026-06-03T23:57:42.5886439Z             }
2026-06-03T23:57:42.5886672Z           ]
2026-06-03T23:57:42.5886901Z         },
2026-06-03T23:57:42.5887134Z         "int": {
2026-06-03T23:57:42.5887397Z           "complete": false,
2026-06-03T23:57:42.5887690Z           "evidence": []
2026-06-03T23:57:42.5887946Z         },
2026-06-03T23:57:42.5888178Z         "unit": {
2026-06-03T23:57:42.5888432Z           "complete": true,
2026-06-03T23:57:42.5888713Z           "evidence": [
2026-06-03T23:57:42.5888969Z             {
2026-06-03T23:57:42.5889260Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5889600Z               "line": 193
2026-06-03T23:57:42.5889872Z             },
2026-06-03T23:57:42.5890107Z             {
2026-06-03T23:57:42.5890409Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5890757Z               "line": 211
2026-06-03T23:57:42.5891020Z             },
2026-06-03T23:57:42.5891257Z             {
2026-06-03T23:57:42.5891545Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T23:57:42.5891891Z               "line": 224
2026-06-03T23:57:42.5892161Z             }
2026-06-03T23:57:42.5892399Z           ]
2026-06-03T23:57:42.5892631Z         }
2026-06-03T23:57:42.5892856Z       }
2026-06-03T23:57:42.5893082Z     },
2026-06-03T23:57:42.5893309Z     {
2026-06-03T23:57:42.5893551Z       "id": "REQ-EP-3",
2026-06-03T23:57:42.5893963Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-03T23:57:42.5894404Z       "requiredStages": [
2026-06-03T23:57:42.5894683Z         "impl",
2026-06-03T23:57:42.5894927Z         "unit"
2026-06-03T23:57:42.5895239Z       ],
2026-06-03T23:57:42.5895472Z       "stages": {
2026-06-03T23:57:42.5895841Z         "doc": {
2026-06-03T23:57:42.5896110Z           "complete": false,
2026-06-03T23:57:42.5896491Z           "evidence": []
2026-06-03T23:57:42.5896754Z         },
2026-06-03T23:57:42.5896993Z         "impl": {
2026-06-03T23:57:42.5897258Z           "complete": true,
2026-06-03T23:57:42.5897542Z           "evidence": [
2026-06-03T23:57:42.5897799Z             {
2026-06-03T23:57:42.5898096Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5898441Z               "line": 31
2026-06-03T23:57:42.5898710Z             },
2026-06-03T23:57:42.5898948Z             {
2026-06-03T23:57:42.5899242Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5899590Z               "line": 49
2026-06-03T23:57:42.5899844Z             }
2026-06-03T23:57:42.5900076Z           ]
2026-06-03T23:57:42.5900302Z         },
2026-06-03T23:57:42.5900532Z         "int": {
2026-06-03T23:57:42.5900790Z           "complete": false,
2026-06-03T23:57:42.5900913Z           "evidence": []
2026-06-03T23:57:42.5901019Z         },
2026-06-03T23:57:42.5901133Z         "unit": {
2026-06-03T23:57:42.5901256Z           "complete": true,
2026-06-03T23:57:42.5901373Z           "evidence": [
2026-06-03T23:57:42.5901481Z             {
2026-06-03T23:57:42.5901642Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5901765Z               "line": 156
2026-06-03T23:57:42.5901870Z             },
2026-06-03T23:57:42.5901981Z             {
2026-06-03T23:57:42.5902140Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5902259Z               "line": 164
2026-06-03T23:57:42.5902369Z             },
2026-06-03T23:57:42.5902469Z             {
2026-06-03T23:57:42.5902633Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5902748Z               "line": 177
2026-06-03T23:57:42.5902857Z             },
2026-06-03T23:57:42.5902958Z             {
2026-06-03T23:57:42.5903122Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5903245Z               "line": 197
2026-06-03T23:57:42.5903348Z             },
2026-06-03T23:57:42.5903464Z             {
2026-06-03T23:57:42.5903618Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5903733Z               "line": 213
2026-06-03T23:57:42.5903836Z             },
2026-06-03T23:57:42.5903944Z             {
2026-06-03T23:57:42.5904111Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T23:57:42.5904223Z               "line": 227
2026-06-03T23:57:42.5904328Z             }
2026-06-03T23:57:42.5904431Z           ]
2026-06-03T23:57:42.5904540Z         }
2026-06-03T23:57:42.5904640Z       }
2026-06-03T23:57:42.5904744Z     },
2026-06-03T23:57:42.5904848Z     {
2026-06-03T23:57:42.5905041Z       "id": "REQ-EP-4",
2026-06-03T23:57:42.5905257Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-03T23:57:42.5905381Z       "requiredStages": [],
2026-06-03T23:57:42.5905508Z       "stages": {
2026-06-03T23:57:42.5905615Z         "doc": {
2026-06-03T23:57:42.5905750Z           "complete": false,
2026-06-03T23:57:42.5905880Z           "evidence": []
2026-06-03T23:57:42.5905989Z         },
2026-06-03T23:57:42.5906106Z         "impl": {
2026-06-03T23:57:42.5906229Z           "complete": false,
2026-06-03T23:57:42.5906353Z           "evidence": []
2026-06-03T23:57:42.5906457Z         },
2026-06-03T23:57:42.5906574Z         "int": {
2026-06-03T23:57:42.5906704Z           "complete": false,
2026-06-03T23:57:42.5906816Z           "evidence": []
2026-06-03T23:57:42.5906926Z         },
2026-06-03T23:57:42.5907029Z         "unit": {
2026-06-03T23:57:42.5907151Z           "complete": false,
2026-06-03T23:57:42.5907261Z           "evidence": []
2026-06-03T23:57:42.5907368Z         }
2026-06-03T23:57:42.5907469Z       }
2026-06-03T23:57:42.5907564Z     },
2026-06-03T23:57:42.5907666Z     {
2026-06-03T23:57:42.5907780Z       "id": "REQ-EP-5",
2026-06-03T23:57:42.5908739Z       "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-03T23:57:42.5908926Z       "requiredStages": [],
2026-06-03T23:57:42.5909040Z       "stages": {
2026-06-03T23:57:42.5909152Z         "doc": {
2026-06-03T23:57:42.5909269Z           "complete": false,
2026-06-03T23:57:42.5909386Z           "evidence": []
2026-06-03T23:57:42.5909484Z         },
2026-06-03T23:57:42.5909594Z         "impl": {
2026-06-03T23:57:42.5909709Z           "complete": false,
2026-06-03T23:57:42.5909823Z           "evidence": []
2026-06-03T23:57:42.5909926Z         },
2026-06-03T23:57:42.5910025Z         "int": {
2026-06-03T23:57:42.5910149Z           "complete": false,
2026-06-03T23:57:42.5910257Z           "evidence": []
2026-06-03T23:57:42.5910357Z         },
2026-06-03T23:57:42.5910457Z         "unit": {
2026-06-03T23:57:42.5910577Z           "complete": false,
2026-06-03T23:57:42.5910696Z           "evidence": []
2026-06-03T23:57:42.5910796Z         }
2026-06-03T23:57:42.5910897Z       }
2026-06-03T23:57:42.5910994Z     },
2026-06-03T23:57:42.5911102Z     {
2026-06-03T23:57:42.5911219Z       "id": "REQ-FRONT-1",
2026-06-03T23:57:42.5911465Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-03T23:57:42.5911592Z       "requiredStages": [],
2026-06-03T23:57:42.5911696Z       "stages": {
2026-06-03T23:57:42.5911805Z         "doc": {
2026-06-03T23:57:42.5911918Z           "complete": false,
2026-06-03T23:57:42.5912040Z           "evidence": []
2026-06-03T23:57:42.5912138Z         },
2026-06-03T23:57:42.5912247Z         "impl": {
2026-06-03T23:57:42.5912366Z           "complete": false,
2026-06-03T23:57:42.5912475Z           "evidence": []
2026-06-03T23:57:42.5912580Z         },
2026-06-03T23:57:42.5912681Z         "int": {
2026-06-03T23:57:42.5912801Z           "complete": false,
2026-06-03T23:57:42.5912912Z           "evidence": []
2026-06-03T23:57:42.5913019Z         },
2026-06-03T23:57:42.5913132Z         "unit": {
2026-06-03T23:57:42.5913247Z           "complete": false,
2026-06-03T23:57:42.5913372Z           "evidence": []
2026-06-03T23:57:42.5913470Z         }
2026-06-03T23:57:42.5913577Z       }
2026-06-03T23:57:42.5913673Z     },
2026-06-03T23:57:42.5913782Z     {
2026-06-03T23:57:42.5913941Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-03T23:57:42.5914169Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-03T23:57:42.5914292Z       "requiredStages": [
2026-06-03T23:57:42.5914394Z         "impl",
2026-06-03T23:57:42.5914500Z         "unit"
2026-06-03T23:57:42.5914599Z       ],
2026-06-03T23:57:42.5914711Z       "stages": {
2026-06-03T23:57:42.5914821Z         "doc": {
2026-06-03T23:57:42.5915012Z           "complete": false,
2026-06-03T23:57:42.5915138Z           "evidence": []
2026-06-03T23:57:42.5915244Z         },
2026-06-03T23:57:42.5915366Z         "impl": {
2026-06-03T23:57:42.5915485Z           "complete": true,
2026-06-03T23:57:42.5915613Z           "evidence": [
2026-06-03T23:57:42.5915727Z             {
2026-06-03T23:57:42.5915891Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5916024Z               "line": 60
2026-06-03T23:57:42.5916126Z             },
2026-06-03T23:57:42.5916238Z             {
2026-06-03T23:57:42.5916393Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5916512Z               "line": 18
2026-06-03T23:57:42.5916627Z             },
2026-06-03T23:57:42.5916732Z             {
2026-06-03T23:57:42.5916891Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5917000Z               "line": 94
2026-06-03T23:57:42.5917103Z             }
2026-06-03T23:57:42.5917203Z           ]
2026-06-03T23:57:42.5917306Z         },
2026-06-03T23:57:42.5917413Z         "int": {
2026-06-03T23:57:42.5917527Z           "complete": false,
2026-06-03T23:57:42.5917645Z           "evidence": []
2026-06-03T23:57:42.5917746Z         },
2026-06-03T23:57:42.5917853Z         "unit": {
2026-06-03T23:57:42.5918048Z           "complete": true,
2026-06-03T23:57:42.5918168Z           "evidence": [
2026-06-03T23:57:42.5918342Z             {
2026-06-03T23:57:42.5918503Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.5918623Z               "line": 255
2026-06-03T23:57:42.5918727Z             },
2026-06-03T23:57:42.5918839Z             {
2026-06-03T23:57:42.5918989Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5919111Z               "line": 152
2026-06-03T23:57:42.5919222Z             },
2026-06-03T23:57:42.5919321Z             {
2026-06-03T23:57:42.5919472Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.5919579Z               "line": 188
2026-06-03T23:57:42.5919682Z             }
2026-06-03T23:57:42.5919783Z           ]
2026-06-03T23:57:42.5919891Z         }
2026-06-03T23:57:42.5919995Z       }
2026-06-03T23:57:42.5920090Z     },
2026-06-03T23:57:42.5920190Z     {
2026-06-03T23:57:42.5920342Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-03T23:57:42.5920644Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-03T23:57:42.5920775Z       "requiredStages": [
2026-06-03T23:57:42.5920879Z         "impl",
2026-06-03T23:57:42.5920987Z         "unit"
2026-06-03T23:57:42.5921083Z       ],
2026-06-03T23:57:42.5921192Z       "stages": {
2026-06-03T23:57:42.5921292Z         "doc": {
2026-06-03T23:57:42.5921417Z           "complete": false,
2026-06-03T23:57:42.5921528Z           "evidence": []
2026-06-03T23:57:42.5921632Z         },
2026-06-03T23:57:42.5921741Z         "impl": {
2026-06-03T23:57:42.5921855Z           "complete": true,
2026-06-03T23:57:42.5921971Z           "evidence": [
2026-06-03T23:57:42.5922069Z             {
2026-06-03T23:57:42.5922232Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T23:57:42.5922344Z               "line": 164
2026-06-03T23:57:42.5922449Z             }
2026-06-03T23:57:42.5922554Z           ]
2026-06-03T23:57:42.5922656Z         },
2026-06-03T23:57:42.5922768Z         "int": {
2026-06-03T23:57:42.5922884Z           "complete": true,
2026-06-03T23:57:42.5923010Z           "evidence": [
2026-06-03T23:57:42.5923108Z             {
2026-06-03T23:57:42.5923265Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-03T23:57:42.5923379Z               "line": 44
2026-06-03T23:57:42.5923478Z             },
2026-06-03T23:57:42.5923581Z             {
2026-06-03T23:57:42.5923729Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-03T23:57:42.5923843Z               "line": 66
2026-06-03T23:57:42.5923946Z             }
2026-06-03T23:57:42.5924045Z           ]
2026-06-03T23:57:42.5924149Z         },
2026-06-03T23:57:42.5924251Z         "unit": {
2026-06-03T23:57:42.5924377Z           "complete": true,
2026-06-03T23:57:42.5924488Z           "evidence": [
2026-06-03T23:57:42.5924596Z             {
2026-06-03T23:57:42.5924748Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T23:57:42.5924872Z               "line": 181
2026-06-03T23:57:42.5925062Z             },
2026-06-03T23:57:42.5925167Z             {
2026-06-03T23:57:42.5925342Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T23:57:42.5925452Z               "line": 233
2026-06-03T23:57:42.5925566Z             },
2026-06-03T23:57:42.5925679Z             {
2026-06-03T23:57:42.5925830Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T23:57:42.5925953Z               "line": 261
2026-06-03T23:57:42.5926052Z             }
2026-06-03T23:57:42.5926160Z           ]
2026-06-03T23:57:42.5926259Z         }
2026-06-03T23:57:42.5926368Z       }
2026-06-03T23:57:42.5926475Z     },
2026-06-03T23:57:42.5926573Z     {
2026-06-03T23:57:42.5926740Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-03T23:57:42.5927301Z       "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-03T23:57:42.5927424Z       "requiredStages": [
2026-06-03T23:57:42.5927602Z         "impl",
2026-06-03T23:57:42.5927714Z         "unit",
2026-06-03T23:57:42.5927880Z         "int"
2026-06-03T23:57:42.5928039Z       ],
2026-06-03T23:57:42.5928187Z       "stages": {
2026-06-03T23:57:42.5928314Z         "doc": {
2026-06-03T23:57:42.5928493Z           "complete": false,
2026-06-03T23:57:42.5928662Z           "evidence": []
2026-06-03T23:57:42.5928798Z         },
2026-06-03T23:57:42.5928906Z         "impl": {
2026-06-03T23:57:42.5929020Z           "complete": true,
2026-06-03T23:57:42.5929135Z           "evidence": [
2026-06-03T23:57:42.5929233Z             {
2026-06-03T23:57:42.5929407Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5929519Z               "line": 133
2026-06-03T23:57:42.5929622Z             },
2026-06-03T23:57:42.5929729Z             {
2026-06-03T23:57:42.5929893Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5930007Z               "line": 152
2026-06-03T23:57:42.5930116Z             },
2026-06-03T23:57:42.5930222Z             {
2026-06-03T23:57:42.5930371Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.5930492Z               "line": 79
2026-06-03T23:57:42.5930596Z             },
2026-06-03T23:57:42.5930693Z             {
2026-06-03T23:57:42.5930843Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.5930949Z               "line": 51
2026-06-03T23:57:42.5931054Z             },
2026-06-03T23:57:42.5931151Z             {
2026-06-03T23:57:42.5931304Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.5931417Z               "line": 93
2026-06-03T23:57:42.5931516Z             },
2026-06-03T23:57:42.5931621Z             {
2026-06-03T23:57:42.5931782Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5931899Z               "line": 27
2026-06-03T23:57:42.5931999Z             },
2026-06-03T23:57:42.5932106Z             {
2026-06-03T23:57:42.5932279Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5932390Z               "line": 79
2026-06-03T23:57:42.5932505Z             },
2026-06-03T23:57:42.5932609Z             {
2026-06-03T23:57:42.5932771Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5932879Z               "line": 102
2026-06-03T23:57:42.5932993Z             },
2026-06-03T23:57:42.5933099Z             {
2026-06-03T23:57:42.5933252Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.5933373Z               "line": 102
2026-06-03T23:57:42.5933472Z             }
2026-06-03T23:57:42.5933578Z           ]
2026-06-03T23:57:42.5933677Z         },
2026-06-03T23:57:42.5933789Z         "int": {
2026-06-03T23:57:42.5933915Z           "complete": true,
2026-06-03T23:57:42.5934023Z           "evidence": [
2026-06-03T23:57:42.5934129Z             {
2026-06-03T23:57:42.5934301Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T23:57:42.5934419Z               "line": 35
2026-06-03T23:57:42.5934531Z             }
2026-06-03T23:57:42.5934633Z           ]
2026-06-03T23:57:42.5934739Z         },
2026-06-03T23:57:42.5934852Z         "unit": {
2026-06-03T23:57:42.5935069Z           "complete": true,
2026-06-03T23:57:42.5935184Z           "evidence": [
2026-06-03T23:57:42.5935294Z             {
2026-06-03T23:57:42.5935468Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5935579Z               "line": 467
2026-06-03T23:57:42.5935691Z             },
2026-06-03T23:57:42.5935790Z             {
2026-06-03T23:57:42.5935950Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.5936060Z               "line": 212
2026-06-03T23:57:42.5936171Z             },
2026-06-03T23:57:42.5936282Z             {
2026-06-03T23:57:42.5936443Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5936565Z               "line": 124
2026-06-03T23:57:42.5936667Z             },
2026-06-03T23:57:42.5936781Z             {
2026-06-03T23:57:42.5937517Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5937713Z               "line": 136
2026-06-03T23:57:42.5937950Z             },
2026-06-03T23:57:42.5938073Z             {
2026-06-03T23:57:42.5938292Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5938431Z               "line": 146
2026-06-03T23:57:42.5938567Z             },
2026-06-03T23:57:42.5938693Z             {
2026-06-03T23:57:42.5938905Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5939057Z               "line": 159
2026-06-03T23:57:42.5939179Z             },
2026-06-03T23:57:42.5939309Z             {
2026-06-03T23:57:42.5939510Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T23:57:42.5939656Z               "line": 171
2026-06-03T23:57:42.5939778Z             },
2026-06-03T23:57:42.5939907Z             {
2026-06-03T23:57:42.5940122Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.5940268Z               "line": 201
2026-06-03T23:57:42.5940416Z             }
2026-06-03T23:57:42.5940548Z           ]
2026-06-03T23:57:42.5940689Z         }
2026-06-03T23:57:42.5940810Z       }
2026-06-03T23:57:42.5940938Z     },
2026-06-03T23:57:42.5941078Z     {
2026-06-03T23:57:42.5941414Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-03T23:57:42.5943001Z       "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-03T23:57:42.5943168Z       "requiredStages": [],
2026-06-03T23:57:42.5943302Z       "stages": {
2026-06-03T23:57:42.5943443Z         "doc": {
2026-06-03T23:57:42.5943602Z           "complete": false,
2026-06-03T23:57:42.5943770Z           "evidence": []
2026-06-03T23:57:42.5943910Z         },
2026-06-03T23:57:42.5944069Z         "impl": {
2026-06-03T23:57:42.5944237Z           "complete": false,
2026-06-03T23:57:42.5944399Z           "evidence": []
2026-06-03T23:57:42.5944533Z         },
2026-06-03T23:57:42.5944673Z         "int": {
2026-06-03T23:57:42.5944843Z           "complete": false,
2026-06-03T23:57:42.5945146Z           "evidence": []
2026-06-03T23:57:42.5945295Z         },
2026-06-03T23:57:42.5945449Z         "unit": {
2026-06-03T23:57:42.5945604Z           "complete": false,
2026-06-03T23:57:42.5945767Z           "evidence": []
2026-06-03T23:57:42.5945894Z         }
2026-06-03T23:57:42.5946036Z       }
2026-06-03T23:57:42.5946165Z     },
2026-06-03T23:57:42.5946313Z     {
2026-06-03T23:57:42.5946532Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-03T23:57:42.5946919Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-03T23:57:42.5947122Z       "requiredStages": [
2026-06-03T23:57:42.5947310Z         "impl",
2026-06-03T23:57:42.5947508Z         "unit"
2026-06-03T23:57:42.5947689Z       ],
2026-06-03T23:57:42.5947847Z       "stages": {
2026-06-03T23:57:42.5947995Z         "doc": {
2026-06-03T23:57:42.5948166Z           "complete": false,
2026-06-03T23:57:42.5948327Z           "evidence": []
2026-06-03T23:57:42.5948466Z         },
2026-06-03T23:57:42.5948618Z         "impl": {
2026-06-03T23:57:42.5948781Z           "complete": true,
2026-06-03T23:57:42.5948956Z           "evidence": [
2026-06-03T23:57:42.5949103Z             {
2026-06-03T23:57:42.5949342Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5949515Z               "line": 40
2026-06-03T23:57:42.5949684Z             },
2026-06-03T23:57:42.5949848Z             {
2026-06-03T23:57:42.5950105Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5950283Z               "line": 88
2026-06-03T23:57:42.5950461Z             },
2026-06-03T23:57:42.5950618Z             {
2026-06-03T23:57:42.5950894Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5951075Z               "line": 133
2026-06-03T23:57:42.5951255Z             },
2026-06-03T23:57:42.5951610Z             {
2026-06-03T23:57:42.5951895Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5952197Z               "line": 215
2026-06-03T23:57:42.5952365Z             }
2026-06-03T23:57:42.5952549Z           ]
2026-06-03T23:57:42.5952715Z         },
2026-06-03T23:57:42.5952908Z         "int": {
2026-06-03T23:57:42.5953111Z           "complete": false,
2026-06-03T23:57:42.5953311Z           "evidence": []
2026-06-03T23:57:42.5953496Z         },
2026-06-03T23:57:42.5953680Z         "unit": {
2026-06-03T23:57:42.5953889Z           "complete": true,
2026-06-03T23:57:42.5954084Z           "evidence": [
2026-06-03T23:57:42.5954248Z             {
2026-06-03T23:57:42.5954471Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5954650Z               "line": 250
2026-06-03T23:57:42.5954834Z             },
2026-06-03T23:57:42.5955149Z             {
2026-06-03T23:57:42.5955372Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5955551Z               "line": 296
2026-06-03T23:57:42.5955731Z             },
2026-06-03T23:57:42.5955907Z             {
2026-06-03T23:57:42.5956167Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5956322Z               "line": 337
2026-06-03T23:57:42.5956453Z             },
2026-06-03T23:57:42.5956591Z             {
2026-06-03T23:57:42.5956794Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5956949Z               "line": 356
2026-06-03T23:57:42.5957075Z             }
2026-06-03T23:57:42.5957213Z           ]
2026-06-03T23:57:42.5957352Z         }
2026-06-03T23:57:42.5957484Z       }
2026-06-03T23:57:42.5957619Z     },
2026-06-03T23:57:42.5957744Z     {
2026-06-03T23:57:42.5957975Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-03T23:57:42.5958204Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-03T23:57:42.5958366Z       "requiredStages": [
2026-06-03T23:57:42.5958499Z         "impl",
2026-06-03T23:57:42.5958641Z         "unit"
2026-06-03T23:57:42.5958795Z       ],
2026-06-03T23:57:42.5958942Z       "stages": {
2026-06-03T23:57:42.5959097Z         "doc": {
2026-06-03T23:57:42.5959261Z           "complete": false,
2026-06-03T23:57:42.5959425Z           "evidence": []
2026-06-03T23:57:42.5959567Z         },
2026-06-03T23:57:42.5959702Z         "impl": {
2026-06-03T23:57:42.5959869Z           "complete": true,
2026-06-03T23:57:42.5960010Z           "evidence": [
2026-06-03T23:57:42.5960158Z             {
2026-06-03T23:57:42.5960368Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5960528Z               "line": 101
2026-06-03T23:57:42.5960671Z             },
2026-06-03T23:57:42.5960798Z             {
2026-06-03T23:57:42.5961019Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5961169Z               "line": 126
2026-06-03T23:57:42.5961315Z             }
2026-06-03T23:57:42.5961451Z           ]
2026-06-03T23:57:42.5961593Z         },
2026-06-03T23:57:42.5961750Z         "int": {
2026-06-03T23:57:42.5961947Z           "complete": false,
2026-06-03T23:57:42.5962121Z           "evidence": []
2026-06-03T23:57:42.5962270Z         },
2026-06-03T23:57:42.5962445Z         "unit": {
2026-06-03T23:57:42.5962632Z           "complete": true,
2026-06-03T23:57:42.5962837Z           "evidence": [
2026-06-03T23:57:42.5963012Z             {
2026-06-03T23:57:42.5963278Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5963469Z               "line": 271
2026-06-03T23:57:42.5963637Z             },
2026-06-03T23:57:42.5963812Z             {
2026-06-03T23:57:42.5964068Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.5964262Z               "line": 315
2026-06-03T23:57:42.5964435Z             }
2026-06-03T23:57:42.5964601Z           ]
2026-06-03T23:57:42.5964778Z         }
2026-06-03T23:57:42.5965084Z       }
2026-06-03T23:57:42.5965264Z     },
2026-06-03T23:57:42.5965428Z     {
2026-06-03T23:57:42.5965706Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-03T23:57:42.5966240Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-03T23:57:42.5966428Z       "requiredStages": [
2026-06-03T23:57:42.5966538Z         "impl",
2026-06-03T23:57:42.5966638Z         "unit"
2026-06-03T23:57:42.5966741Z       ],
2026-06-03T23:57:42.5966845Z       "stages": {
2026-06-03T23:57:42.5966960Z         "doc": {
2026-06-03T23:57:42.5967081Z           "complete": false,
2026-06-03T23:57:42.5967192Z           "evidence": []
2026-06-03T23:57:42.5967295Z         },
2026-06-03T23:57:42.5967400Z         "impl": {
2026-06-03T23:57:42.5967522Z           "complete": true,
2026-06-03T23:57:42.5967631Z           "evidence": [
2026-06-03T23:57:42.5967736Z             {
2026-06-03T23:57:42.5967902Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5968010Z               "line": 21
2026-06-03T23:57:42.5968114Z             },
2026-06-03T23:57:42.5968209Z             {
2026-06-03T23:57:42.5968377Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5968495Z               "line": 152
2026-06-03T23:57:42.5968600Z             }
2026-06-03T23:57:42.5968712Z           ]
2026-06-03T23:57:42.5968808Z         },
2026-06-03T23:57:42.5968915Z         "int": {
2026-06-03T23:57:42.5969029Z           "complete": false,
2026-06-03T23:57:42.5969146Z           "evidence": []
2026-06-03T23:57:42.5969242Z         },
2026-06-03T23:57:42.5969354Z         "unit": {
2026-06-03T23:57:42.5969475Z           "complete": true,
2026-06-03T23:57:42.5969587Z           "evidence": [
2026-06-03T23:57:42.5969695Z             {
2026-06-03T23:57:42.5969846Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5969964Z               "line": 169
2026-06-03T23:57:42.5970071Z             },
2026-06-03T23:57:42.5970172Z             {
2026-06-03T23:57:42.5970333Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5970441Z               "line": 176
2026-06-03T23:57:42.5970549Z             },
2026-06-03T23:57:42.5970654Z             {
2026-06-03T23:57:42.5970812Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5970935Z               "line": 185
2026-06-03T23:57:42.5971036Z             },
2026-06-03T23:57:42.5971145Z             {
2026-06-03T23:57:42.5971293Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5971410Z               "line": 194
2026-06-03T23:57:42.5971509Z             },
2026-06-03T23:57:42.5971617Z             {
2026-06-03T23:57:42.5971775Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5971885Z               "line": 203
2026-06-03T23:57:42.5971993Z             },
2026-06-03T23:57:42.5972091Z             {
2026-06-03T23:57:42.5972245Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T23:57:42.5972353Z               "line": 212
2026-06-03T23:57:42.5972464Z             },
2026-06-03T23:57:42.5972575Z             {
2026-06-03T23:57:42.5972723Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T23:57:42.5972848Z               "line": 132
2026-06-03T23:57:42.5972953Z             },
2026-06-03T23:57:42.5973067Z             {
2026-06-03T23:57:42.5973217Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.5973333Z               "line": 211
2026-06-03T23:57:42.5973440Z             }
2026-06-03T23:57:42.5973541Z           ]
2026-06-03T23:57:42.5973644Z         }
2026-06-03T23:57:42.5973742Z       }
2026-06-03T23:57:42.5973843Z     },
2026-06-03T23:57:42.5973939Z     {
2026-06-03T23:57:42.5974112Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-03T23:57:42.5974325Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-03T23:57:42.5974440Z       "requiredStages": [
2026-06-03T23:57:42.5974547Z         "impl",
2026-06-03T23:57:42.5974646Z         "unit"
2026-06-03T23:57:42.5974752Z       ],
2026-06-03T23:57:42.5974856Z       "stages": {
2026-06-03T23:57:42.5975144Z         "doc": {
2026-06-03T23:57:42.5975319Z           "complete": false,
2026-06-03T23:57:42.5975528Z           "evidence": []
2026-06-03T23:57:42.5975640Z         },
2026-06-03T23:57:42.5975812Z         "impl": {
2026-06-03T23:57:42.5975935Z           "complete": true,
2026-06-03T23:57:42.5976045Z           "evidence": [
2026-06-03T23:57:42.5976154Z             {
2026-06-03T23:57:42.5976310Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.5976421Z               "line": 25
2026-06-03T23:57:42.5976527Z             },
2026-06-03T23:57:42.5976629Z             {
2026-06-03T23:57:42.5976783Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T23:57:42.5976887Z               "line": 13
2026-06-03T23:57:42.5976993Z             },
2026-06-03T23:57:42.5977096Z             {
2026-06-03T23:57:42.5977242Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T23:57:42.5977355Z               "line": 78
2026-06-03T23:57:42.5977454Z             }
2026-06-03T23:57:42.5977558Z           ]
2026-06-03T23:57:42.5977656Z         },
2026-06-03T23:57:42.5977770Z         "int": {
2026-06-03T23:57:42.5977890Z           "complete": false,
2026-06-03T23:57:42.5977998Z           "evidence": []
2026-06-03T23:57:42.5978107Z         },
2026-06-03T23:57:42.5978208Z         "unit": {
2026-06-03T23:57:42.5978328Z           "complete": true,
2026-06-03T23:57:42.5978435Z           "evidence": [
2026-06-03T23:57:42.5978539Z             {
2026-06-03T23:57:42.5978690Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.5978797Z               "line": 180
2026-06-03T23:57:42.5978905Z             },
2026-06-03T23:57:42.5979005Z             {
2026-06-03T23:57:42.5979155Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.5979264Z               "line": 205
2026-06-03T23:57:42.5979369Z             },
2026-06-03T23:57:42.5979473Z             {
2026-06-03T23:57:42.5979622Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T23:57:42.5979732Z               "line": 96
2026-06-03T23:57:42.5979830Z             }
2026-06-03T23:57:42.5979936Z           ]
2026-06-03T23:57:42.5980040Z         }
2026-06-03T23:57:42.5980149Z       }
2026-06-03T23:57:42.5980258Z     },
2026-06-03T23:57:42.5980355Z     {
2026-06-03T23:57:42.5980503Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-03T23:57:42.5980724Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-03T23:57:42.5980848Z       "requiredStages": [
2026-06-03T23:57:42.5980951Z         "impl",
2026-06-03T23:57:42.5981059Z         "unit"
2026-06-03T23:57:42.5981167Z       ],
2026-06-03T23:57:42.5981270Z       "stages": {
2026-06-03T23:57:42.5981379Z         "doc": {
2026-06-03T23:57:42.5981495Z           "complete": false,
2026-06-03T23:57:42.5981616Z           "evidence": []
2026-06-03T23:57:42.5981715Z         },
2026-06-03T23:57:42.5981828Z         "impl": {
2026-06-03T23:57:42.5981951Z           "complete": true,
2026-06-03T23:57:42.5982059Z           "evidence": [
2026-06-03T23:57:42.5982167Z             {
2026-06-03T23:57:42.5982327Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5982447Z               "line": 48
2026-06-03T23:57:42.5982548Z             },
2026-06-03T23:57:42.5982662Z             {
2026-06-03T23:57:42.5982830Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5982937Z               "line": 55
2026-06-03T23:57:42.5983043Z             },
2026-06-03T23:57:42.5983141Z             {
2026-06-03T23:57:42.5983299Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5983405Z               "line": 74
2026-06-03T23:57:42.5983512Z             },
2026-06-03T23:57:42.5983617Z             {
2026-06-03T23:57:42.5983765Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5983879Z               "line": 91
2026-06-03T23:57:42.5983982Z             }
2026-06-03T23:57:42.5984088Z           ]
2026-06-03T23:57:42.5984187Z         },
2026-06-03T23:57:42.5984294Z         "int": {
2026-06-03T23:57:42.5984415Z           "complete": false,
2026-06-03T23:57:42.5984565Z           "evidence": []
2026-06-03T23:57:42.5984770Z         },
2026-06-03T23:57:42.5984877Z         "unit": {
2026-06-03T23:57:42.5985347Z           "complete": true,
2026-06-03T23:57:42.5985457Z           "evidence": [
2026-06-03T23:57:42.5985572Z             {
2026-06-03T23:57:42.5985732Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5985842Z               "line": 149
2026-06-03T23:57:42.5985950Z             },
2026-06-03T23:57:42.5986048Z             {
2026-06-03T23:57:42.5986209Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5986322Z               "line": 163
2026-06-03T23:57:42.5986436Z             },
2026-06-03T23:57:42.5986545Z             {
2026-06-03T23:57:42.5986696Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5986814Z               "line": 173
2026-06-03T23:57:42.5986915Z             },
2026-06-03T23:57:42.5987022Z             {
2026-06-03T23:57:42.5987170Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5987294Z               "line": 191
2026-06-03T23:57:42.5987399Z             },
2026-06-03T23:57:42.5987503Z             {
2026-06-03T23:57:42.5987655Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.5987761Z               "line": 204
2026-06-03T23:57:42.5987868Z             }
2026-06-03T23:57:42.5987974Z           ]
2026-06-03T23:57:42.5988073Z         }
2026-06-03T23:57:42.5988177Z       }
2026-06-03T23:57:42.5988273Z     },
2026-06-03T23:57:42.5988375Z     {
2026-06-03T23:57:42.5988544Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-03T23:57:42.5988809Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-03T23:57:42.5988934Z       "requiredStages": [
2026-06-03T23:57:42.5989037Z         "impl",
2026-06-03T23:57:42.5989143Z         "unit"
2026-06-03T23:57:42.5989244Z       ],
2026-06-03T23:57:42.5989359Z       "stages": {
2026-06-03T23:57:42.5989460Z         "doc": {
2026-06-03T23:57:42.5989588Z           "complete": false,
2026-06-03T23:57:42.5989711Z           "evidence": []
2026-06-03T23:57:42.5989811Z         },
2026-06-03T23:57:42.5989931Z         "impl": {
2026-06-03T23:57:42.5990045Z           "complete": true,
2026-06-03T23:57:42.5990165Z           "evidence": [
2026-06-03T23:57:42.5990266Z             {
2026-06-03T23:57:42.5990438Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.5990558Z               "line": 264
2026-06-03T23:57:42.5990658Z             },
2026-06-03T23:57:42.5990763Z             {
2026-06-03T23:57:42.5990912Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.5991029Z               "line": 26
2026-06-03T23:57:42.5991132Z             }
2026-06-03T23:57:42.5991239Z           ]
2026-06-03T23:57:42.5991346Z         },
2026-06-03T23:57:42.5991447Z         "int": {
2026-06-03T23:57:42.5991569Z           "complete": false,
2026-06-03T23:57:42.5991679Z           "evidence": []
2026-06-03T23:57:42.5991785Z         },
2026-06-03T23:57:42.5991888Z         "unit": {
2026-06-03T23:57:42.5992019Z           "complete": true,
2026-06-03T23:57:42.5992135Z           "evidence": [
2026-06-03T23:57:42.5992241Z             {
2026-06-03T23:57:42.5992399Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.5992508Z               "line": 138
2026-06-03T23:57:42.5992614Z             },
2026-06-03T23:57:42.5992714Z             {
2026-06-03T23:57:42.5992874Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.5992990Z               "line": 181
2026-06-03T23:57:42.5993087Z             }
2026-06-03T23:57:42.5993192Z           ]
2026-06-03T23:57:42.5993290Z         }
2026-06-03T23:57:42.5993394Z       }
2026-06-03T23:57:42.5993490Z     },
2026-06-03T23:57:42.5993594Z     {
2026-06-03T23:57:42.5993751Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-03T23:57:42.5993967Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-03T23:57:42.5994095Z       "requiredStages": [
2026-06-03T23:57:42.5994196Z         "impl",
2026-06-03T23:57:42.5994375Z         "unit"
2026-06-03T23:57:42.5994478Z       ],
2026-06-03T23:57:42.5994653Z       "stages": {
2026-06-03T23:57:42.5994773Z         "doc": {
2026-06-03T23:57:42.5994889Z           "complete": false,
2026-06-03T23:57:42.5995260Z           "evidence": []
2026-06-03T23:57:42.5995379Z         },
2026-06-03T23:57:42.5995495Z         "impl": {
2026-06-03T23:57:42.5995611Z           "complete": true,
2026-06-03T23:57:42.5995732Z           "evidence": [
2026-06-03T23:57:42.5995841Z             {
2026-06-03T23:57:42.5996011Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.5996131Z               "line": 36
2026-06-03T23:57:42.5996232Z             },
2026-06-03T23:57:42.5996345Z             {
2026-06-03T23:57:42.5996505Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.5996624Z               "line": 68
2026-06-03T23:57:42.5996735Z             }
2026-06-03T23:57:42.5996835Z           ]
2026-06-03T23:57:42.5996941Z         },
2026-06-03T23:57:42.5997051Z         "int": {
2026-06-03T23:57:42.5997174Z           "complete": false,
2026-06-03T23:57:42.5997291Z           "evidence": []
2026-06-03T23:57:42.5997394Z         },
2026-06-03T23:57:42.5997503Z         "unit": {
2026-06-03T23:57:42.5997617Z           "complete": true,
2026-06-03T23:57:42.5997732Z           "evidence": [
2026-06-03T23:57:42.5997830Z             {
2026-06-03T23:57:42.5997990Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.5998099Z               "line": 143
2026-06-03T23:57:42.5998203Z             },
2026-06-03T23:57:42.5998308Z             {
2026-06-03T23:57:42.5998461Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.5998577Z               "line": 160
2026-06-03T23:57:42.5998674Z             },
2026-06-03T23:57:42.5998779Z             {
2026-06-03T23:57:42.5998930Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.5999050Z               "line": 168
2026-06-03T23:57:42.5999163Z             }
2026-06-03T23:57:42.5999261Z           ]
2026-06-03T23:57:42.5999365Z         }
2026-06-03T23:57:42.5999470Z       }
2026-06-03T23:57:42.5999574Z     },
2026-06-03T23:57:42.5999671Z     {
2026-06-03T23:57:42.5999843Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-03T23:57:42.6000102Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-03T23:57:42.6000220Z       "requiredStages": [
2026-06-03T23:57:42.6000332Z         "impl",
2026-06-03T23:57:42.6000438Z         "unit"
2026-06-03T23:57:42.6000544Z       ],
2026-06-03T23:57:42.6000651Z       "stages": {
2026-06-03T23:57:42.6000765Z         "doc": {
2026-06-03T23:57:42.6000891Z           "complete": false,
2026-06-03T23:57:42.6001004Z           "evidence": []
2026-06-03T23:57:42.6001112Z         },
2026-06-03T23:57:42.6001216Z         "impl": {
2026-06-03T23:57:42.6001339Z           "complete": true,
2026-06-03T23:57:42.6001451Z           "evidence": [
2026-06-03T23:57:42.6001561Z             {
2026-06-03T23:57:42.6001734Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.6001852Z               "line": 107
2026-06-03T23:57:42.6001958Z             }
2026-06-03T23:57:42.6002057Z           ]
2026-06-03T23:57:42.6002164Z         },
2026-06-03T23:57:42.6002271Z         "int": {
2026-06-03T23:57:42.6002395Z           "complete": false,
2026-06-03T23:57:42.6002516Z           "evidence": []
2026-06-03T23:57:42.6002614Z         },
2026-06-03T23:57:42.6002727Z         "unit": {
2026-06-03T23:57:42.6002865Z           "complete": true,
2026-06-03T23:57:42.6002980Z           "evidence": [
2026-06-03T23:57:42.6003079Z             {
2026-06-03T23:57:42.6003243Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.6003358Z               "line": 184
2026-06-03T23:57:42.6003458Z             },
2026-06-03T23:57:42.6003564Z             {
2026-06-03T23:57:42.6003720Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.6003837Z               "line": 193
2026-06-03T23:57:42.6004036Z             },
2026-06-03T23:57:42.6004163Z             {
2026-06-03T23:57:42.6004398Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.6004509Z               "line": 201
2026-06-03T23:57:42.6004622Z             },
2026-06-03T23:57:42.6004724Z             {
2026-06-03T23:57:42.6004896Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.6005167Z               "line": 210
2026-06-03T23:57:42.6005292Z             },
2026-06-03T23:57:42.6005406Z             {
2026-06-03T23:57:42.6005561Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T23:57:42.6005681Z               "line": 219
2026-06-03T23:57:42.6005785Z             }
2026-06-03T23:57:42.6005892Z           ]
2026-06-03T23:57:42.6005992Z         }
2026-06-03T23:57:42.6006101Z       }
2026-06-03T23:57:42.6006209Z     },
2026-06-03T23:57:42.6006307Z     {
2026-06-03T23:57:42.6006466Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-03T23:57:42.6006688Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-03T23:57:42.6006814Z       "requiredStages": [
2026-06-03T23:57:42.6006924Z         "impl",
2026-06-03T23:57:42.6007035Z         "unit"
2026-06-03T23:57:42.6007142Z       ],
2026-06-03T23:57:42.6007248Z       "stages": {
2026-06-03T23:57:42.6007355Z         "doc": {
2026-06-03T23:57:42.6007471Z           "complete": false,
2026-06-03T23:57:42.6007589Z           "evidence": []
2026-06-03T23:57:42.6007688Z         },
2026-06-03T23:57:42.6007802Z         "impl": {
2026-06-03T23:57:42.6007926Z           "complete": true,
2026-06-03T23:57:42.6008038Z           "evidence": [
2026-06-03T23:57:42.6008147Z             {
2026-06-03T23:57:42.6008292Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6008407Z               "line": 14
2026-06-03T23:57:42.6008507Z             },
2026-06-03T23:57:42.6008614Z             {
2026-06-03T23:57:42.6008762Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6008876Z               "line": 62
2026-06-03T23:57:42.6008984Z             }
2026-06-03T23:57:42.6009090Z           ]
2026-06-03T23:57:42.6009194Z         },
2026-06-03T23:57:42.6009295Z         "int": {
2026-06-03T23:57:42.6009416Z           "complete": false,
2026-06-03T23:57:42.6009532Z           "evidence": []
2026-06-03T23:57:42.6009629Z         },
2026-06-03T23:57:42.6009738Z         "unit": {
2026-06-03T23:57:42.6009853Z           "complete": true,
2026-06-03T23:57:42.6009972Z           "evidence": [
2026-06-03T23:57:42.6010072Z             {
2026-06-03T23:57:42.6010220Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6010341Z               "line": 160
2026-06-03T23:57:42.6010445Z             },
2026-06-03T23:57:42.6010556Z             {
2026-06-03T23:57:42.6010696Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6010818Z               "line": 197
2026-06-03T23:57:42.6010921Z             },
2026-06-03T23:57:42.6011029Z             {
2026-06-03T23:57:42.6011183Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6011293Z               "line": 213
2026-06-03T23:57:42.6011408Z             }
2026-06-03T23:57:42.6011509Z           ]
2026-06-03T23:57:42.6011615Z         }
2026-06-03T23:57:42.6011714Z       }
2026-06-03T23:57:42.6011820Z     },
2026-06-03T23:57:42.6011926Z     {
2026-06-03T23:57:42.6012082Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-03T23:57:42.6012370Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-03T23:57:42.6012491Z       "requiredStages": [
2026-06-03T23:57:42.6012600Z         "impl",
2026-06-03T23:57:42.6012701Z         "unit"
2026-06-03T23:57:42.6012812Z       ],
2026-06-03T23:57:42.6012926Z       "stages": {
2026-06-03T23:57:42.6013028Z         "doc": {
2026-06-03T23:57:42.6013153Z           "complete": false,
2026-06-03T23:57:42.6013271Z           "evidence": []
2026-06-03T23:57:42.6013378Z         },
2026-06-03T23:57:42.6013482Z         "impl": {
2026-06-03T23:57:42.6013692Z           "complete": true,
2026-06-03T23:57:42.6013818Z           "evidence": [
2026-06-03T23:57:42.6013990Z             {
2026-06-03T23:57:42.6014155Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6014269Z               "line": 76
2026-06-03T23:57:42.6014381Z             },
2026-06-03T23:57:42.6014487Z             {
2026-06-03T23:57:42.6014651Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6014779Z               "line": 163
2026-06-03T23:57:42.6014880Z             },
2026-06-03T23:57:42.6015149Z             {
2026-06-03T23:57:42.6015311Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6015433Z               "line": 229
2026-06-03T23:57:42.6015539Z             },
2026-06-03T23:57:42.6015650Z             {
2026-06-03T23:57:42.6015814Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6015926Z               "line": 265
2026-06-03T23:57:42.6016034Z             }
2026-06-03T23:57:42.6016140Z           ]
2026-06-03T23:57:42.6016253Z         },
2026-06-03T23:57:42.6016360Z         "int": {
2026-06-03T23:57:42.6016493Z           "complete": false,
2026-06-03T23:57:42.6016612Z           "evidence": []
2026-06-03T23:57:42.6016711Z         },
2026-06-03T23:57:42.6016827Z         "unit": {
2026-06-03T23:57:42.6016941Z           "complete": true,
2026-06-03T23:57:42.6017057Z           "evidence": [
2026-06-03T23:57:42.6017155Z             {
2026-06-03T23:57:42.6017310Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6017427Z               "line": 310
2026-06-03T23:57:42.6017527Z             },
2026-06-03T23:57:42.6017634Z             {
2026-06-03T23:57:42.6017781Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6017896Z               "line": 318
2026-06-03T23:57:42.6017997Z             },
2026-06-03T23:57:42.6018102Z             {
2026-06-03T23:57:42.6018260Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6018378Z               "line": 341
2026-06-03T23:57:42.6018486Z             },
2026-06-03T23:57:42.6018583Z             {
2026-06-03T23:57:42.6018745Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6018860Z               "line": 378
2026-06-03T23:57:42.6018962Z             },
2026-06-03T23:57:42.6019068Z             {
2026-06-03T23:57:42.6019217Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6019331Z               "line": 389
2026-06-03T23:57:42.6019431Z             },
2026-06-03T23:57:42.6019537Z             {
2026-06-03T23:57:42.6019690Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6019801Z               "line": 401
2026-06-03T23:57:42.6019907Z             },
2026-06-03T23:57:42.6020012Z             {
2026-06-03T23:57:42.6020168Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T23:57:42.6020277Z               "line": 413
2026-06-03T23:57:42.6020383Z             }
2026-06-03T23:57:42.6020491Z           ]
2026-06-03T23:57:42.6020595Z         }
2026-06-03T23:57:42.6020702Z       }
2026-06-03T23:57:42.6020802Z     },
2026-06-03T23:57:42.6020914Z     {
2026-06-03T23:57:42.6021052Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-03T23:57:42.6021256Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-03T23:57:42.6021380Z       "requiredStages": [
2026-06-03T23:57:42.6021483Z         "impl",
2026-06-03T23:57:42.6021596Z         "int"
2026-06-03T23:57:42.6021699Z       ],
2026-06-03T23:57:42.6021812Z       "stages": {
2026-06-03T23:57:42.6021913Z         "doc": {
2026-06-03T23:57:42.6022044Z           "complete": false,
2026-06-03T23:57:42.6022163Z           "evidence": []
2026-06-03T23:57:42.6022262Z         },
2026-06-03T23:57:42.6022380Z         "impl": {
2026-06-03T23:57:42.6022496Z           "complete": true,
2026-06-03T23:57:42.6022619Z           "evidence": [
2026-06-03T23:57:42.6022721Z             {
2026-06-03T23:57:42.6022885Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T23:57:42.6023086Z               "line": 22
2026-06-03T23:57:42.6023189Z             }
2026-06-03T23:57:42.6023361Z           ]
2026-06-03T23:57:42.6023464Z         },
2026-06-03T23:57:42.6023576Z         "int": {
2026-06-03T23:57:42.6023694Z           "complete": true,
2026-06-03T23:57:42.6023815Z           "evidence": [
2026-06-03T23:57:42.6023932Z             {
2026-06-03T23:57:42.6024100Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-03T23:57:42.6024228Z               "line": 18
2026-06-03T23:57:42.6024336Z             }
2026-06-03T23:57:42.6024449Z           ]
2026-06-03T23:57:42.6024551Z         },
2026-06-03T23:57:42.6024664Z         "unit": {
2026-06-03T23:57:42.6024793Z           "complete": false,
2026-06-03T23:57:42.6024907Z           "evidence": []
2026-06-03T23:57:42.6025102Z         }
2026-06-03T23:57:42.6025204Z       }
2026-06-03T23:57:42.6025315Z     },
2026-06-03T23:57:42.6025418Z     {
2026-06-03T23:57:42.6025580Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-03T23:57:42.6025854Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-03T23:57:42.6025980Z       "requiredStages": [
2026-06-03T23:57:42.6026093Z         "impl",
2026-06-03T23:57:42.6026195Z         "unit"
2026-06-03T23:57:42.6026305Z       ],
2026-06-03T23:57:42.6026412Z       "stages": {
2026-06-03T23:57:42.6026524Z         "doc": {
2026-06-03T23:57:42.6026651Z           "complete": false,
2026-06-03T23:57:42.6026762Z           "evidence": []
2026-06-03T23:57:42.6026870Z         },
2026-06-03T23:57:42.6026976Z         "impl": {
2026-06-03T23:57:42.6027098Z           "complete": true,
2026-06-03T23:57:42.6027207Z           "evidence": [
2026-06-03T23:57:42.6027313Z             {
2026-06-03T23:57:42.6027485Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.6027594Z               "line": 263
2026-06-03T23:57:42.6027704Z             },
2026-06-03T23:57:42.6027805Z             {
2026-06-03T23:57:42.6027977Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.6028088Z               "line": 27
2026-06-03T23:57:42.6028204Z             }
2026-06-03T23:57:42.6028309Z           ]
2026-06-03T23:57:42.6028408Z         },
2026-06-03T23:57:42.6028520Z         "int": {
2026-06-03T23:57:42.6028634Z           "complete": false,
2026-06-03T23:57:42.6028753Z           "evidence": []
2026-06-03T23:57:42.6028852Z         },
2026-06-03T23:57:42.6028961Z         "unit": {
2026-06-03T23:57:42.6029083Z           "complete": true,
2026-06-03T23:57:42.6029193Z           "evidence": [
2026-06-03T23:57:42.6029300Z             {
2026-06-03T23:57:42.6029460Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.6029577Z               "line": 561
2026-06-03T23:57:42.6029681Z             },
2026-06-03T23:57:42.6029789Z             {
2026-06-03T23:57:42.6029956Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.6030065Z               "line": 163
2026-06-03T23:57:42.6030172Z             }
2026-06-03T23:57:42.6030279Z           ]
2026-06-03T23:57:42.6030386Z         }
2026-06-03T23:57:42.6030485Z       }
2026-06-03T23:57:42.6030599Z     },
2026-06-03T23:57:42.6030702Z     {
2026-06-03T23:57:42.6030865Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-03T23:57:42.6031086Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-03T23:57:42.6031205Z       "requiredStages": [
2026-06-03T23:57:42.6031317Z         "impl",
2026-06-03T23:57:42.6031419Z         "unit"
2026-06-03T23:57:42.6031527Z       ],
2026-06-03T23:57:42.6031643Z       "stages": {
2026-06-03T23:57:42.6031745Z         "doc": {
2026-06-03T23:57:42.6031872Z           "complete": false,
2026-06-03T23:57:42.6031985Z           "evidence": []
2026-06-03T23:57:42.6032093Z         },
2026-06-03T23:57:42.6032198Z         "impl": {
2026-06-03T23:57:42.6032321Z           "complete": true,
2026-06-03T23:57:42.6032440Z           "evidence": [
2026-06-03T23:57:42.6032543Z             {
2026-06-03T23:57:42.6032781Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6032894Z               "line": 20
2026-06-03T23:57:42.6033064Z             },
2026-06-03T23:57:42.6033169Z             {
2026-06-03T23:57:42.6033339Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6033458Z               "line": 94
2026-06-03T23:57:42.6033560Z             },
2026-06-03T23:57:42.6033673Z             {
2026-06-03T23:57:42.6033838Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T23:57:42.6033957Z               "line": 70
2026-06-03T23:57:42.6034060Z             },
2026-06-03T23:57:42.6034171Z             {
2026-06-03T23:57:42.6034344Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T23:57:42.6034455Z               "line": 82
2026-06-03T23:57:42.6034564Z             }
2026-06-03T23:57:42.6034664Z           ]
2026-06-03T23:57:42.6034773Z         },
2026-06-03T23:57:42.6034879Z         "int": {
2026-06-03T23:57:42.6035082Z           "complete": false,
2026-06-03T23:57:42.6035218Z           "evidence": []
2026-06-03T23:57:42.6035320Z         },
2026-06-03T23:57:42.6035446Z         "unit": {
2026-06-03T23:57:42.6035563Z           "complete": true,
2026-06-03T23:57:42.6035685Z           "evidence": [
2026-06-03T23:57:42.6035785Z             {
2026-06-03T23:57:42.6035942Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6036060Z               "line": 139
2026-06-03T23:57:42.6036161Z             },
2026-06-03T23:57:42.6036270Z             {
2026-06-03T23:57:42.6036420Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6036542Z               "line": 162
2026-06-03T23:57:42.6036644Z             },
2026-06-03T23:57:42.6036758Z             {
2026-06-03T23:57:42.6036911Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6037020Z               "line": 173
2026-06-03T23:57:42.6037129Z             },
2026-06-03T23:57:42.6037227Z             {
2026-06-03T23:57:42.6037386Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6037497Z               "line": 189
2026-06-03T23:57:42.6037612Z             },
2026-06-03T23:57:42.6037716Z             {
2026-06-03T23:57:42.6037864Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T23:57:42.6037979Z               "line": 200
2026-06-03T23:57:42.6038080Z             },
2026-06-03T23:57:42.6038188Z             {
2026-06-03T23:57:42.6038345Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T23:57:42.6038464Z               "line": 139
2026-06-03T23:57:42.6038571Z             }
2026-06-03T23:57:42.6038675Z           ]
2026-06-03T23:57:42.6038778Z         }
2026-06-03T23:57:42.6038875Z       }
2026-06-03T23:57:42.6038977Z     },
2026-06-03T23:57:42.6039077Z     {
2026-06-03T23:57:42.6039213Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-03T23:57:42.6039547Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-03T23:57:42.6039665Z       "requiredStages": [
2026-06-03T23:57:42.6039784Z         "impl",
2026-06-03T23:57:42.6039888Z         "unit"
2026-06-03T23:57:42.6040001Z       ],
2026-06-03T23:57:42.6040107Z       "stages": {
2026-06-03T23:57:42.6040221Z         "doc": {
2026-06-03T23:57:42.6040345Z           "complete": true,
2026-06-03T23:57:42.6040459Z           "evidence": [
2026-06-03T23:57:42.6040569Z             {
2026-06-03T23:57:42.6040712Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T23:57:42.6040830Z               "line": 131
2026-06-03T23:57:42.6040928Z             }
2026-06-03T23:57:42.6041042Z           ]
2026-06-03T23:57:42.6041152Z         },
2026-06-03T23:57:42.6041256Z         "impl": {
2026-06-03T23:57:42.6041380Z           "complete": true,
2026-06-03T23:57:42.6041494Z           "evidence": [
2026-06-03T23:57:42.6041606Z             {
2026-06-03T23:57:42.6041754Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6041868Z               "line": 50
2026-06-03T23:57:42.6041975Z             },
2026-06-03T23:57:42.6042152Z             {
2026-06-03T23:57:42.6042312Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6042486Z               "line": 17
2026-06-03T23:57:42.6042599Z             },
2026-06-03T23:57:42.6042699Z             {
2026-06-03T23:57:42.6042860Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6042984Z               "line": 171
2026-06-03T23:57:42.6043091Z             },
2026-06-03T23:57:42.6043204Z             {
2026-06-03T23:57:42.6043353Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6043475Z               "line": 259
2026-06-03T23:57:42.6043584Z             },
2026-06-03T23:57:42.6043686Z             {
2026-06-03T23:57:42.6043845Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T23:57:42.6043955Z               "line": 32
2026-06-03T23:57:42.6044064Z             }
2026-06-03T23:57:42.6044171Z           ]
2026-06-03T23:57:42.6044280Z         },
2026-06-03T23:57:42.6044383Z         "int": {
2026-06-03T23:57:42.6044514Z           "complete": false,
2026-06-03T23:57:42.6044635Z           "evidence": []
2026-06-03T23:57:42.6044742Z         },
2026-06-03T23:57:42.6044853Z         "unit": {
2026-06-03T23:57:42.6045047Z           "complete": true,
2026-06-03T23:57:42.6045182Z           "evidence": [
2026-06-03T23:57:42.6045290Z             {
2026-06-03T23:57:42.6045448Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6045569Z               "line": 94
2026-06-03T23:57:42.6045668Z             },
2026-06-03T23:57:42.6045777Z             {
2026-06-03T23:57:42.6045919Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6046035Z               "line": 111
2026-06-03T23:57:42.6046143Z             },
2026-06-03T23:57:42.6046240Z             {
2026-06-03T23:57:42.6046389Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6046498Z               "line": 124
2026-06-03T23:57:42.6046606Z             },
2026-06-03T23:57:42.6046704Z             {
2026-06-03T23:57:42.6046869Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6046993Z               "line": 134
2026-06-03T23:57:42.6047101Z             },
2026-06-03T23:57:42.6047214Z             {
2026-06-03T23:57:42.6047353Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6047470Z               "line": 142
2026-06-03T23:57:42.6047566Z             },
2026-06-03T23:57:42.6047672Z             {
2026-06-03T23:57:42.6047817Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T23:57:42.6047926Z               "line": 154
2026-06-03T23:57:42.6048027Z             }
2026-06-03T23:57:42.6048124Z           ]
2026-06-03T23:57:42.6048229Z         }
2026-06-03T23:57:42.6048326Z       }
2026-06-03T23:57:42.6048427Z     },
2026-06-03T23:57:42.6048532Z     {
2026-06-03T23:57:42.6048671Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-03T23:57:42.6048851Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-03T23:57:42.6048967Z       "requiredStages": [
2026-06-03T23:57:42.6049083Z         "impl",
2026-06-03T23:57:42.6049185Z         "unit"
2026-06-03T23:57:42.6049287Z       ],
2026-06-03T23:57:42.6049406Z       "stages": {
2026-06-03T23:57:42.6049505Z         "doc": {
2026-06-03T23:57:42.6049625Z           "complete": false,
2026-06-03T23:57:42.6049734Z           "evidence": []
2026-06-03T23:57:42.6049838Z         },
2026-06-03T23:57:42.6049940Z         "impl": {
2026-06-03T23:57:42.6050060Z           "complete": true,
2026-06-03T23:57:42.6050178Z           "evidence": [
2026-06-03T23:57:42.6050279Z             {
2026-06-03T23:57:42.6050439Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6050549Z               "line": 93
2026-06-03T23:57:42.6050660Z             }
2026-06-03T23:57:42.6050758Z           ]
2026-06-03T23:57:42.6050864Z         },
2026-06-03T23:57:42.6050972Z         "int": {
2026-06-03T23:57:42.6051087Z           "complete": false,
2026-06-03T23:57:42.6051204Z           "evidence": []
2026-06-03T23:57:42.6051301Z         },
2026-06-03T23:57:42.6051484Z         "unit": {
2026-06-03T23:57:42.6051603Z           "complete": true,
2026-06-03T23:57:42.6051789Z           "evidence": [
2026-06-03T23:57:42.6051898Z             {
2026-06-03T23:57:42.6052048Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6052171Z               "line": 190
2026-06-03T23:57:42.6052273Z             }
2026-06-03T23:57:42.6052382Z           ]
2026-06-03T23:57:42.6052482Z         }
2026-06-03T23:57:42.6052589Z       }
2026-06-03T23:57:42.6052686Z     },
2026-06-03T23:57:42.6052788Z     {
2026-06-03T23:57:42.6052945Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-03T23:57:42.6053146Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-03T23:57:42.6053269Z       "requiredStages": [
2026-06-03T23:57:42.6053378Z         "impl",
2026-06-03T23:57:42.6053490Z         "unit"
2026-06-03T23:57:42.6053594Z       ],
2026-06-03T23:57:42.6053698Z       "stages": {
2026-06-03T23:57:42.6053813Z         "doc": {
2026-06-03T23:57:42.6053935Z           "complete": false,
2026-06-03T23:57:42.6054053Z           "evidence": []
2026-06-03T23:57:42.6054158Z         },
2026-06-03T23:57:42.6054269Z         "impl": {
2026-06-03T23:57:42.6054390Z           "complete": true,
2026-06-03T23:57:42.6054500Z           "evidence": [
2026-06-03T23:57:42.6054603Z             {
2026-06-03T23:57:42.6054753Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6054868Z               "line": 120
2026-06-03T23:57:42.6055058Z             },
2026-06-03T23:57:42.6055174Z             {
2026-06-03T23:57:42.6055336Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6055446Z               "line": 131
2026-06-03T23:57:42.6055556Z             },
2026-06-03T23:57:42.6055654Z             {
2026-06-03T23:57:42.6055809Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6055918Z               "line": 149
2026-06-03T23:57:42.6056027Z             }
2026-06-03T23:57:42.6056134Z           ]
2026-06-03T23:57:42.6056239Z         },
2026-06-03T23:57:42.6056349Z         "int": {
2026-06-03T23:57:42.6056465Z           "complete": false,
2026-06-03T23:57:42.6056592Z           "evidence": []
2026-06-03T23:57:42.6056690Z         },
2026-06-03T23:57:42.6056803Z         "unit": {
2026-06-03T23:57:42.6056928Z           "complete": true,
2026-06-03T23:57:42.6057038Z           "evidence": [
2026-06-03T23:57:42.6057146Z             {
2026-06-03T23:57:42.6057293Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6057406Z               "line": 173
2026-06-03T23:57:42.6057502Z             },
2026-06-03T23:57:42.6057608Z             {
2026-06-03T23:57:42.6057758Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6057868Z               "line": 191
2026-06-03T23:57:42.6057971Z             },
2026-06-03T23:57:42.6058069Z             {
2026-06-03T23:57:42.6058219Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6058326Z               "line": 253
2026-06-03T23:57:42.6058436Z             },
2026-06-03T23:57:42.6058544Z             {
2026-06-03T23:57:42.6058689Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6058809Z               "line": 264
2026-06-03T23:57:42.6058910Z             },
2026-06-03T23:57:42.6059013Z             {
2026-06-03T23:57:42.6059161Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6059277Z               "line": 277
2026-06-03T23:57:42.6059381Z             }
2026-06-03T23:57:42.6059477Z           ]
2026-06-03T23:57:42.6059580Z         }
2026-06-03T23:57:42.6059676Z       }
2026-06-03T23:57:42.6059782Z     },
2026-06-03T23:57:42.6059879Z     {
2026-06-03T23:57:42.6060025Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-03T23:57:42.6060330Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-03T23:57:42.6060448Z       "requiredStages": [
2026-06-03T23:57:42.6060558Z         "impl",
2026-06-03T23:57:42.6060660Z         "unit"
2026-06-03T23:57:42.6060865Z       ],
2026-06-03T23:57:42.6060973Z       "stages": {
2026-06-03T23:57:42.6061081Z         "doc": {
2026-06-03T23:57:42.6061266Z           "complete": false,
2026-06-03T23:57:42.6061377Z           "evidence": []
2026-06-03T23:57:42.6061480Z         },
2026-06-03T23:57:42.6061585Z         "impl": {
2026-06-03T23:57:42.6061709Z           "complete": true,
2026-06-03T23:57:42.6061818Z           "evidence": [
2026-06-03T23:57:42.6061925Z             {
2026-06-03T23:57:42.6062076Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6062186Z               "line": 14
2026-06-03T23:57:42.6062296Z             },
2026-06-03T23:57:42.6062397Z             {
2026-06-03T23:57:42.6062548Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T23:57:42.6062656Z               "line": 298
2026-06-03T23:57:42.6062761Z             }
2026-06-03T23:57:42.6062869Z           ]
2026-06-03T23:57:42.6062968Z         },
2026-06-03T23:57:42.6063075Z         "int": {
2026-06-03T23:57:42.6063194Z           "complete": false,
2026-06-03T23:57:42.6063314Z           "evidence": []
2026-06-03T23:57:42.6063412Z         },
2026-06-03T23:57:42.6063527Z         "unit": {
2026-06-03T23:57:42.6063648Z           "complete": true,
2026-06-03T23:57:42.6063763Z           "evidence": [
2026-06-03T23:57:42.6063866Z             {
2026-06-03T23:57:42.6064008Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6064122Z               "line": 130
2026-06-03T23:57:42.6064225Z             },
2026-06-03T23:57:42.6064326Z             {
2026-06-03T23:57:42.6064472Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6064578Z               "line": 138
2026-06-03T23:57:42.6064684Z             },
2026-06-03T23:57:42.6064779Z             {
2026-06-03T23:57:42.6064924Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6065115Z               "line": 146
2026-06-03T23:57:42.6065220Z             },
2026-06-03T23:57:42.6065326Z             {
2026-06-03T23:57:42.6065470Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6065589Z               "line": 154
2026-06-03T23:57:42.6065695Z             },
2026-06-03T23:57:42.6065800Z             {
2026-06-03T23:57:42.6065940Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6066053Z               "line": 162
2026-06-03T23:57:42.6066158Z             },
2026-06-03T23:57:42.6066257Z             {
2026-06-03T23:57:42.6066402Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T23:57:42.6066512Z               "line": 170
2026-06-03T23:57:42.6066616Z             }
2026-06-03T23:57:42.6066713Z           ]
2026-06-03T23:57:42.6066813Z         }
2026-06-03T23:57:42.6066922Z       }
2026-06-03T23:57:42.6067022Z     },
2026-06-03T23:57:42.6067124Z     {
2026-06-03T23:57:42.6067263Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-03T23:57:42.6068561Z       "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-03T23:57:42.6068699Z       "requiredStages": [
2026-06-03T23:57:42.6068799Z         "impl",
2026-06-03T23:57:42.6068905Z         "unit"
2026-06-03T23:57:42.6069001Z       ],
2026-06-03T23:57:42.6069111Z       "stages": {
2026-06-03T23:57:42.6069208Z         "doc": {
2026-06-03T23:57:42.6069329Z           "complete": false,
2026-06-03T23:57:42.6069443Z           "evidence": []
2026-06-03T23:57:42.6069542Z         },
2026-06-03T23:57:42.6069649Z         "impl": {
2026-06-03T23:57:42.6069762Z           "complete": true,
2026-06-03T23:57:42.6069875Z           "evidence": [
2026-06-03T23:57:42.6069972Z             {
2026-06-03T23:57:42.6070173Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6070284Z               "line": 34
2026-06-03T23:57:42.6070380Z             }
2026-06-03T23:57:42.6070482Z           ]
2026-06-03T23:57:42.6070686Z         },
2026-06-03T23:57:42.6070796Z         "int": {
2026-06-03T23:57:42.6070909Z           "complete": false,
2026-06-03T23:57:42.6071114Z           "evidence": []
2026-06-03T23:57:42.6071218Z         },
2026-06-03T23:57:42.6071323Z         "unit": {
2026-06-03T23:57:42.6071440Z           "complete": true,
2026-06-03T23:57:42.6071549Z           "evidence": [
2026-06-03T23:57:42.6071651Z             {
2026-06-03T23:57:42.6071839Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6071959Z               "line": 188
2026-06-03T23:57:42.6072064Z             },
2026-06-03T23:57:42.6072161Z             {
2026-06-03T23:57:42.6072353Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6072461Z               "line": 200
2026-06-03T23:57:42.6072567Z             },
2026-06-03T23:57:42.6072670Z             {
2026-06-03T23:57:42.6072856Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6072974Z               "line": 211
2026-06-03T23:57:42.6073074Z             },
2026-06-03T23:57:42.6073181Z             {
2026-06-03T23:57:42.6073371Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6073484Z               "line": 245
2026-06-03T23:57:42.6073580Z             },
2026-06-03T23:57:42.6073689Z             {
2026-06-03T23:57:42.6073877Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6073982Z               "line": 267
2026-06-03T23:57:42.6074088Z             },
2026-06-03T23:57:42.6074187Z             {
2026-06-03T23:57:42.6074373Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6074489Z               "line": 288
2026-06-03T23:57:42.6074588Z             },
2026-06-03T23:57:42.6074694Z             {
2026-06-03T23:57:42.6074870Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T23:57:42.6075062Z               "line": 304
2026-06-03T23:57:42.6075161Z             }
2026-06-03T23:57:42.6075280Z           ]
2026-06-03T23:57:42.6075383Z         }
2026-06-03T23:57:42.6075491Z       }
2026-06-03T23:57:42.6075598Z     },
2026-06-03T23:57:42.6075695Z     {
2026-06-03T23:57:42.6075853Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-03T23:57:42.6076541Z       "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-03T23:57:42.6076664Z       "requiredStages": [
2026-06-03T23:57:42.6076773Z         "impl",
2026-06-03T23:57:42.6076870Z         "unit"
2026-06-03T23:57:42.6076976Z       ],
2026-06-03T23:57:42.6077079Z       "stages": {
2026-06-03T23:57:42.6077189Z         "doc": {
2026-06-03T23:57:42.6077301Z           "complete": false,
2026-06-03T23:57:42.6077418Z           "evidence": []
2026-06-03T23:57:42.6077518Z         },
2026-06-03T23:57:42.6077621Z         "impl": {
2026-06-03T23:57:42.6077746Z           "complete": true,
2026-06-03T23:57:42.6077854Z           "evidence": [
2026-06-03T23:57:42.6077965Z             {
2026-06-03T23:57:42.6078117Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6078230Z               "line": 29
2026-06-03T23:57:42.6078336Z             },
2026-06-03T23:57:42.6078433Z             {
2026-06-03T23:57:42.6078590Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6078697Z               "line": 154
2026-06-03T23:57:42.6078801Z             },
2026-06-03T23:57:42.6078897Z             {
2026-06-03T23:57:42.6079051Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6079164Z               "line": 173
2026-06-03T23:57:42.6079263Z             },
2026-06-03T23:57:42.6079368Z             {
2026-06-03T23:57:42.6079514Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6079625Z               "line": 200
2026-06-03T23:57:42.6079720Z             }
2026-06-03T23:57:42.6079828Z           ]
2026-06-03T23:57:42.6080028Z         },
2026-06-03T23:57:42.6080134Z         "int": {
2026-06-03T23:57:42.6080318Z           "complete": false,
2026-06-03T23:57:42.6080429Z           "evidence": []
2026-06-03T23:57:42.6080533Z         },
2026-06-03T23:57:42.6080635Z         "unit": {
2026-06-03T23:57:42.6080760Z           "complete": true,
2026-06-03T23:57:42.6080873Z           "evidence": [
2026-06-03T23:57:42.6080972Z             {
2026-06-03T23:57:42.6081125Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6081232Z               "line": 276
2026-06-03T23:57:42.6081341Z             },
2026-06-03T23:57:42.6081440Z             {
2026-06-03T23:57:42.6081596Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6081709Z               "line": 291
2026-06-03T23:57:42.6081806Z             },
2026-06-03T23:57:42.6081910Z             {
2026-06-03T23:57:42.6082057Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6082175Z               "line": 310
2026-06-03T23:57:42.6082285Z             },
2026-06-03T23:57:42.6082383Z             {
2026-06-03T23:57:42.6082546Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6082656Z               "line": 326
2026-06-03T23:57:42.6082764Z             },
2026-06-03T23:57:42.6082865Z             {
2026-06-03T23:57:42.6083024Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6083141Z               "line": 376
2026-06-03T23:57:42.6083240Z             },
2026-06-03T23:57:42.6083347Z             {
2026-06-03T23:57:42.6083496Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6083611Z               "line": 390
2026-06-03T23:57:42.6083709Z             },
2026-06-03T23:57:42.6083818Z             {
2026-06-03T23:57:42.6083979Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6084090Z               "line": 401
2026-06-03T23:57:42.6084198Z             },
2026-06-03T23:57:42.6084298Z             {
2026-06-03T23:57:42.6084493Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6084603Z               "line": 412
2026-06-03T23:57:42.6101141Z             }
2026-06-03T23:57:42.6101320Z           ]
2026-06-03T23:57:42.6101440Z         }
2026-06-03T23:57:42.6101554Z       }
2026-06-03T23:57:42.6101653Z     },
2026-06-03T23:57:42.6101760Z     {
2026-06-03T23:57:42.6101946Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-03T23:57:42.6102923Z       "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-03T23:57:42.6103064Z       "requiredStages": [
2026-06-03T23:57:42.6103168Z         "impl",
2026-06-03T23:57:42.6103277Z         "unit"
2026-06-03T23:57:42.6103375Z       ],
2026-06-03T23:57:42.6103486Z       "stages": {
2026-06-03T23:57:42.6103589Z         "doc": {
2026-06-03T23:57:42.6103717Z           "complete": false,
2026-06-03T23:57:42.6103877Z           "evidence": []
2026-06-03T23:57:42.6103977Z         },
2026-06-03T23:57:42.6104111Z         "impl": {
2026-06-03T23:57:42.6104228Z           "complete": true,
2026-06-03T23:57:42.6104342Z           "evidence": [
2026-06-03T23:57:42.6104443Z             {
2026-06-03T23:57:42.6104638Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6104755Z               "line": 27
2026-06-03T23:57:42.6104854Z             },
2026-06-03T23:57:42.6105094Z             {
2026-06-03T23:57:42.6105277Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6105404Z               "line": 110
2026-06-03T23:57:42.6105502Z             },
2026-06-03T23:57:42.6105611Z             {
2026-06-03T23:57:42.6105791Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6105903Z               "line": 153
2026-06-03T23:57:42.6106010Z             },
2026-06-03T23:57:42.6106111Z             {
2026-06-03T23:57:42.6106448Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6106565Z               "line": 182
2026-06-03T23:57:42.6106746Z             },
2026-06-03T23:57:42.6106852Z             {
2026-06-03T23:57:42.6107045Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6107161Z               "line": 31
2026-06-03T23:57:42.6107261Z             },
2026-06-03T23:57:42.6107366Z             {
2026-06-03T23:57:42.6107555Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6107673Z               "line": 113
2026-06-03T23:57:42.6107781Z             },
2026-06-03T23:57:42.6107880Z             {
2026-06-03T23:57:42.6108069Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6108176Z               "line": 138
2026-06-03T23:57:42.6108283Z             }
2026-06-03T23:57:42.6108391Z           ]
2026-06-03T23:57:42.6108493Z         },
2026-06-03T23:57:42.6108604Z         "int": {
2026-06-03T23:57:42.6108731Z           "complete": false,
2026-06-03T23:57:42.6108850Z           "evidence": []
2026-06-03T23:57:42.6108956Z         },
2026-06-03T23:57:42.6109068Z         "unit": {
2026-06-03T23:57:42.6109185Z           "complete": true,
2026-06-03T23:57:42.6109304Z           "evidence": [
2026-06-03T23:57:42.6109412Z             {
2026-06-03T23:57:42.6109585Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6109704Z               "line": 261
2026-06-03T23:57:42.6109805Z             },
2026-06-03T23:57:42.6109912Z             {
2026-06-03T23:57:42.6110089Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6110199Z               "line": 276
2026-06-03T23:57:42.6110305Z             },
2026-06-03T23:57:42.6110402Z             {
2026-06-03T23:57:42.6110575Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6110680Z               "line": 293
2026-06-03T23:57:42.6110786Z             },
2026-06-03T23:57:42.6110899Z             {
2026-06-03T23:57:42.6111067Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6111190Z               "line": 310
2026-06-03T23:57:42.6111289Z             },
2026-06-03T23:57:42.6111395Z             {
2026-06-03T23:57:42.6111559Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6111673Z               "line": 327
2026-06-03T23:57:42.6111779Z             },
2026-06-03T23:57:42.6111874Z             {
2026-06-03T23:57:42.6112046Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6112154Z               "line": 366
2026-06-03T23:57:42.6112260Z             },
2026-06-03T23:57:42.6112359Z             {
2026-06-03T23:57:42.6112550Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6112664Z               "line": 179
2026-06-03T23:57:42.6112762Z             },
2026-06-03T23:57:42.6112866Z             {
2026-06-03T23:57:42.6113054Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6113168Z               "line": 194
2026-06-03T23:57:42.6113274Z             },
2026-06-03T23:57:42.6113379Z             {
2026-06-03T23:57:42.6113565Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6113672Z               "line": 204
2026-06-03T23:57:42.6113777Z             },
2026-06-03T23:57:42.6113874Z             {
2026-06-03T23:57:42.6114062Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6114174Z               "line": 259
2026-06-03T23:57:42.6114274Z             },
2026-06-03T23:57:42.6114380Z             {
2026-06-03T23:57:42.6114560Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6114672Z               "line": 269
2026-06-03T23:57:42.6114770Z             },
2026-06-03T23:57:42.6114880Z             {
2026-06-03T23:57:42.6115172Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6115363Z               "line": 283
2026-06-03T23:57:42.6115473Z             }
2026-06-03T23:57:42.6115644Z           ]
2026-06-03T23:57:42.6115753Z         }
2026-06-03T23:57:42.6115852Z       }
2026-06-03T23:57:42.6115962Z     },
2026-06-03T23:57:42.6116068Z     {
2026-06-03T23:57:42.6116222Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-03T23:57:42.6116482Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-03T23:57:42.6116603Z       "requiredStages": [],
2026-06-03T23:57:42.6116718Z       "stages": {
2026-06-03T23:57:42.6116820Z         "doc": {
2026-06-03T23:57:42.6116945Z           "complete": false,
2026-06-03T23:57:42.6117066Z           "evidence": []
2026-06-03T23:57:42.6117168Z         },
2026-06-03T23:57:42.6117284Z         "impl": {
2026-06-03T23:57:42.6117398Z           "complete": false,
2026-06-03T23:57:42.6117516Z           "evidence": []
2026-06-03T23:57:42.6117616Z         },
2026-06-03T23:57:42.6117727Z         "int": {
2026-06-03T23:57:42.6117855Z           "complete": false,
2026-06-03T23:57:42.6118014Z           "evidence": []
2026-06-03T23:57:42.6118180Z         },
2026-06-03T23:57:42.6118336Z         "unit": {
2026-06-03T23:57:42.6118474Z           "complete": false,
2026-06-03T23:57:42.6118585Z           "evidence": []
2026-06-03T23:57:42.6118692Z         }
2026-06-03T23:57:42.6118795Z       }
2026-06-03T23:57:42.6118894Z     },
2026-06-03T23:57:42.6119001Z     {
2026-06-03T23:57:42.6119173Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-03T23:57:42.6124079Z       "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-03T23:57:42.6124246Z       "requiredStages": [],
2026-06-03T23:57:42.6124359Z       "stages": {
2026-06-03T23:57:42.6124478Z         "doc": {
2026-06-03T23:57:42.6124603Z           "complete": false,
2026-06-03T23:57:42.6124761Z           "evidence": []
2026-06-03T23:57:42.6124861Z         },
2026-06-03T23:57:42.6125160Z         "impl": {
2026-06-03T23:57:42.6125293Z           "complete": false,
2026-06-03T23:57:42.6125410Z           "evidence": []
2026-06-03T23:57:42.6125525Z         },
2026-06-03T23:57:42.6125629Z         "int": {
2026-06-03T23:57:42.6125758Z           "complete": false,
2026-06-03T23:57:42.6125870Z           "evidence": []
2026-06-03T23:57:42.6125977Z         },
2026-06-03T23:57:42.6126092Z         "unit": {
2026-06-03T23:57:42.6126209Z           "complete": false,
2026-06-03T23:57:42.6126330Z           "evidence": []
2026-06-03T23:57:42.6126428Z         }
2026-06-03T23:57:42.6126538Z       }
2026-06-03T23:57:42.6126640Z     },
2026-06-03T23:57:42.6126744Z     {
2026-06-03T23:57:42.6126909Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-03T23:57:42.6127247Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-03T23:57:42.6127380Z       "requiredStages": [
2026-06-03T23:57:42.6127482Z         "impl",
2026-06-03T23:57:42.6127593Z         "unit"
2026-06-03T23:57:42.6127698Z       ],
2026-06-03T23:57:42.6127808Z       "stages": {
2026-06-03T23:57:42.6127913Z         "doc": {
2026-06-03T23:57:42.6128029Z           "complete": true,
2026-06-03T23:57:42.6128143Z           "evidence": [
2026-06-03T23:57:42.6128244Z             {
2026-06-03T23:57:42.6128395Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T23:57:42.6128500Z               "line": 137
2026-06-03T23:57:42.6128606Z             }
2026-06-03T23:57:42.6128711Z           ]
2026-06-03T23:57:42.6128810Z         },
2026-06-03T23:57:42.6128921Z         "impl": {
2026-06-03T23:57:42.6129034Z           "complete": true,
2026-06-03T23:57:42.6129150Z           "evidence": [
2026-06-03T23:57:42.6129247Z             {
2026-06-03T23:57:42.6129408Z               "path": "crates/spt-store/src/db.rs",
2026-06-03T23:57:42.6129523Z               "line": 29
2026-06-03T23:57:42.6129782Z             },
2026-06-03T23:57:42.6129892Z             {
2026-06-03T23:57:42.6130058Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6130244Z               "line": 24
2026-06-03T23:57:42.6130344Z             },
2026-06-03T23:57:42.6130450Z             {
2026-06-03T23:57:42.6130611Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T23:57:42.6130716Z               "line": 48
2026-06-03T23:57:42.6130821Z             }
2026-06-03T23:57:42.6130918Z           ]
2026-06-03T23:57:42.6131022Z         },
2026-06-03T23:57:42.6131123Z         "int": {
2026-06-03T23:57:42.6131246Z           "complete": false,
2026-06-03T23:57:42.6131360Z           "evidence": []
2026-06-03T23:57:42.6131457Z         },
2026-06-03T23:57:42.6131567Z         "unit": {
2026-06-03T23:57:42.6131681Z           "complete": true,
2026-06-03T23:57:42.6131794Z           "evidence": [
2026-06-03T23:57:42.6131890Z             {
2026-06-03T23:57:42.6132061Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6132185Z               "line": 146
2026-06-03T23:57:42.6132284Z             }
2026-06-03T23:57:42.6132400Z           ]
2026-06-03T23:57:42.6132503Z         }
2026-06-03T23:57:42.6132607Z       }
2026-06-03T23:57:42.6132704Z     },
2026-06-03T23:57:42.6132808Z     {
2026-06-03T23:57:42.6132969Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-03T23:57:42.6133581Z       "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-03T23:57:42.6133706Z       "requiredStages": [
2026-06-03T23:57:42.6133809Z         "impl",
2026-06-03T23:57:42.6133922Z         "unit"
2026-06-03T23:57:42.6134023Z       ],
2026-06-03T23:57:42.6134138Z       "stages": {
2026-06-03T23:57:42.6134247Z         "doc": {
2026-06-03T23:57:42.6134366Z           "complete": true,
2026-06-03T23:57:42.6134489Z           "evidence": [
2026-06-03T23:57:42.6134588Z             {
2026-06-03T23:57:42.6134764Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T23:57:42.6134876Z               "line": 143
2026-06-03T23:57:42.6135126Z             }
2026-06-03T23:57:42.6135241Z           ]
2026-06-03T23:57:42.6135350Z         },
2026-06-03T23:57:42.6135469Z         "impl": {
2026-06-03T23:57:42.6135587Z           "complete": true,
2026-06-03T23:57:42.6135710Z           "evidence": [
2026-06-03T23:57:42.6135813Z             {
2026-06-03T23:57:42.6135994Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6136118Z               "line": 117
2026-06-03T23:57:42.6136221Z             },
2026-06-03T23:57:42.6136341Z             {
2026-06-03T23:57:42.6136494Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-03T23:57:42.6136609Z               "line": 15
2026-06-03T23:57:42.6136707Z             }
2026-06-03T23:57:42.6136814Z           ]
2026-06-03T23:57:42.6136918Z         },
2026-06-03T23:57:42.6137020Z         "int": {
2026-06-03T23:57:42.6137146Z           "complete": false,
2026-06-03T23:57:42.6137261Z           "evidence": []
2026-06-03T23:57:42.6137370Z         },
2026-06-03T23:57:42.6137480Z         "unit": {
2026-06-03T23:57:42.6137605Z           "complete": true,
2026-06-03T23:57:42.6137717Z           "evidence": [
2026-06-03T23:57:42.6137818Z             {
2026-06-03T23:57:42.6137986Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6138095Z               "line": 508
2026-06-03T23:57:42.6138202Z             },
2026-06-03T23:57:42.6138298Z             {
2026-06-03T23:57:42.6138464Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6138577Z               "line": 527
2026-06-03T23:57:42.6138680Z             },
2026-06-03T23:57:42.6138785Z             {
2026-06-03T23:57:42.6138935Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-03T23:57:42.6139049Z               "line": 74
2026-06-03T23:57:42.6139148Z             },
2026-06-03T23:57:42.6139258Z             {
2026-06-03T23:57:42.6139501Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-03T23:57:42.6139612Z               "line": 88
2026-06-03T23:57:42.6139787Z             },
2026-06-03T23:57:42.6139883Z             {
2026-06-03T23:57:42.6140037Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-03T23:57:42.6140152Z               "line": 104
2026-06-03T23:57:42.6140250Z             }
2026-06-03T23:57:42.6140357Z           ]
2026-06-03T23:57:42.6140454Z         }
2026-06-03T23:57:42.6140556Z       }
2026-06-03T23:57:42.6140654Z     },
2026-06-03T23:57:42.6140755Z     {
2026-06-03T23:57:42.6140908Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-03T23:57:42.6141173Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-03T23:57:42.6141294Z       "requiredStages": [
2026-06-03T23:57:42.6141397Z         "impl",
2026-06-03T23:57:42.6141508Z         "unit"
2026-06-03T23:57:42.6141608Z       ],
2026-06-03T23:57:42.6141716Z       "stages": {
2026-06-03T23:57:42.6141825Z         "doc": {
2026-06-03T23:57:42.6141952Z           "complete": false,
2026-06-03T23:57:42.6142069Z           "evidence": []
2026-06-03T23:57:42.6142176Z         },
2026-06-03T23:57:42.6142286Z         "impl": {
2026-06-03T23:57:42.6142403Z           "complete": true,
2026-06-03T23:57:42.6142519Z           "evidence": [
2026-06-03T23:57:42.6142622Z             {
2026-06-03T23:57:42.6142778Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T23:57:42.6142892Z               "line": 8
2026-06-03T23:57:42.6142992Z             },
2026-06-03T23:57:42.6143094Z             {
2026-06-03T23:57:42.6143251Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6143367Z               "line": 49
2026-06-03T23:57:42.6143473Z             },
2026-06-03T23:57:42.6143571Z             {
2026-06-03T23:57:42.6143736Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6143845Z               "line": 56
2026-06-03T23:57:42.6143953Z             },
2026-06-03T23:57:42.6144052Z             {
2026-06-03T23:57:42.6144221Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6144337Z               "line": 101
2026-06-03T23:57:42.6144446Z             },
2026-06-03T23:57:42.6144552Z             {
2026-06-03T23:57:42.6144704Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6144823Z               "line": 122
2026-06-03T23:57:42.6144920Z             }
2026-06-03T23:57:42.6145109Z           ]
2026-06-03T23:57:42.6145215Z         },
2026-06-03T23:57:42.6145318Z         "int": {
2026-06-03T23:57:42.6145444Z           "complete": false,
2026-06-03T23:57:42.6145554Z           "evidence": []
2026-06-03T23:57:42.6145666Z         },
2026-06-03T23:57:42.6145772Z         "unit": {
2026-06-03T23:57:42.6145901Z           "complete": true,
2026-06-03T23:57:42.6146022Z           "evidence": [
2026-06-03T23:57:42.6146123Z             {
2026-06-03T23:57:42.6146286Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T23:57:42.6146398Z               "line": 103
2026-06-03T23:57:42.6146518Z             },
2026-06-03T23:57:42.6146622Z             {
2026-06-03T23:57:42.6146778Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T23:57:42.6146904Z               "line": 109
2026-06-03T23:57:42.6147002Z             },
2026-06-03T23:57:42.6147104Z             {
2026-06-03T23:57:42.6147276Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6147383Z               "line": 177
2026-06-03T23:57:42.6147493Z             },
2026-06-03T23:57:42.6147598Z             {
2026-06-03T23:57:42.6147753Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6147867Z               "line": 187
2026-06-03T23:57:42.6147968Z             },
2026-06-03T23:57:42.6148072Z             {
2026-06-03T23:57:42.6148223Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6148336Z               "line": 231
2026-06-03T23:57:42.6148439Z             },
2026-06-03T23:57:42.6148537Z             {
2026-06-03T23:57:42.6148783Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6148893Z               "line": 243
2026-06-03T23:57:42.6149062Z             },
2026-06-03T23:57:42.6149167Z             {
2026-06-03T23:57:42.6149320Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6149431Z               "line": 251
2026-06-03T23:57:42.6149528Z             }
2026-06-03T23:57:42.6149631Z           ]
2026-06-03T23:57:42.6149730Z         }
2026-06-03T23:57:42.6149838Z       }
2026-06-03T23:57:42.6149937Z     },
2026-06-03T23:57:42.6150039Z     {
2026-06-03T23:57:42.6150207Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-03T23:57:42.6150555Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-03T23:57:42.6150679Z       "requiredStages": [
2026-06-03T23:57:42.6150778Z         "impl",
2026-06-03T23:57:42.6150886Z         "unit",
2026-06-03T23:57:42.6150989Z         "int"
2026-06-03T23:57:42.6151085Z       ],
2026-06-03T23:57:42.6151199Z       "stages": {
2026-06-03T23:57:42.6151303Z         "doc": {
2026-06-03T23:57:42.6151424Z           "complete": false,
2026-06-03T23:57:42.6151544Z           "evidence": []
2026-06-03T23:57:42.6151650Z         },
2026-06-03T23:57:42.6151759Z         "impl": {
2026-06-03T23:57:42.6151879Z           "complete": true,
2026-06-03T23:57:42.6151992Z           "evidence": [
2026-06-03T23:57:42.6152091Z             {
2026-06-03T23:57:42.6152247Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T23:57:42.6152354Z               "line": 197
2026-06-03T23:57:42.6152461Z             },
2026-06-03T23:57:42.6152568Z             {
2026-06-03T23:57:42.6152721Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T23:57:42.6152837Z               "line": 380
2026-06-03T23:57:42.6152937Z             },
2026-06-03T23:57:42.6153042Z             {
2026-06-03T23:57:42.6153199Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T23:57:42.6153318Z               "line": 392
2026-06-03T23:57:42.6153430Z             },
2026-06-03T23:57:42.6153527Z             {
2026-06-03T23:57:42.6153695Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T23:57:42.6153802Z               "line": 473
2026-06-03T23:57:42.6153908Z             },
2026-06-03T23:57:42.6154003Z             {
2026-06-03T23:57:42.6154160Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T23:57:42.6154274Z               "line": 46
2026-06-03T23:57:42.6154374Z             },
2026-06-03T23:57:42.6154480Z             {
2026-06-03T23:57:42.6154630Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T23:57:42.6154745Z               "line": 156
2026-06-03T23:57:42.6154843Z             }
2026-06-03T23:57:42.6155030Z           ]
2026-06-03T23:57:42.6155139Z         },
2026-06-03T23:57:42.6155244Z         "int": {
2026-06-03T23:57:42.6155366Z           "complete": true,
2026-06-03T23:57:42.6155479Z           "evidence": [
2026-06-03T23:57:42.6155589Z             {
2026-06-03T23:57:42.6155773Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-03T23:57:42.6155894Z               "line": 27
2026-06-03T23:57:42.6156006Z             },
2026-06-03T23:57:42.6156104Z             {
2026-06-03T23:57:42.6156278Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-03T23:57:42.6156386Z               "line": 119
2026-06-03T23:57:42.6156490Z             }
2026-06-03T23:57:42.6156590Z           ]
2026-06-03T23:57:42.6156700Z         },
2026-06-03T23:57:42.6156812Z         "unit": {
2026-06-03T23:57:42.6156931Z           "complete": true,
2026-06-03T23:57:42.6157053Z           "evidence": [
2026-06-03T23:57:42.6157150Z             {
2026-06-03T23:57:42.6157309Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T23:57:42.6157418Z               "line": 278
2026-06-03T23:57:42.6157522Z             },
2026-06-03T23:57:42.6157622Z             {
2026-06-03T23:57:42.6157774Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T23:57:42.6158002Z               "line": 296
2026-06-03T23:57:42.6158102Z             },
2026-06-03T23:57:42.6158215Z             {
2026-06-03T23:57:42.6158432Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T23:57:42.6158551Z               "line": 314
2026-06-03T23:57:42.6158658Z             }
2026-06-03T23:57:42.6158756Z           ]
2026-06-03T23:57:42.6158864Z         }
2026-06-03T23:57:42.6158960Z       }
2026-06-03T23:57:42.6159063Z     },
2026-06-03T23:57:42.6159160Z     {
2026-06-03T23:57:42.6159318Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-03T23:57:42.6159568Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-03T23:57:42.6159683Z       "requiredStages": [
2026-06-03T23:57:42.6159791Z         "impl",
2026-06-03T23:57:42.6159890Z         "unit"
2026-06-03T23:57:42.6159990Z       ],
2026-06-03T23:57:42.6160092Z       "stages": {
2026-06-03T23:57:42.6160201Z         "doc": {
2026-06-03T23:57:42.6160321Z           "complete": false,
2026-06-03T23:57:42.6160436Z           "evidence": []
2026-06-03T23:57:42.6160538Z         },
2026-06-03T23:57:42.6160641Z         "impl": {
2026-06-03T23:57:42.6160770Z           "complete": true,
2026-06-03T23:57:42.6160875Z           "evidence": [
2026-06-03T23:57:42.6160980Z             {
2026-06-03T23:57:42.6161138Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6161243Z               "line": 33
2026-06-03T23:57:42.6161347Z             },
2026-06-03T23:57:42.6161444Z             {
2026-06-03T23:57:42.6161602Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6161708Z               "line": 61
2026-06-03T23:57:42.6161813Z             },
2026-06-03T23:57:42.6161916Z             {
2026-06-03T23:57:42.6162063Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6162172Z               "line": 70
2026-06-03T23:57:42.6162268Z             },
2026-06-03T23:57:42.6162373Z             {
2026-06-03T23:57:42.6162518Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6162638Z               "line": 79
2026-06-03T23:57:42.6162741Z             },
2026-06-03T23:57:42.6162845Z             {
2026-06-03T23:57:42.6162998Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6163105Z               "line": 88
2026-06-03T23:57:42.6163206Z             },
2026-06-03T23:57:42.6163308Z             {
2026-06-03T23:57:42.6163455Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6163570Z               "line": 96
2026-06-03T23:57:42.6163667Z             },
2026-06-03T23:57:42.6163770Z             {
2026-06-03T23:57:42.6163914Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6164026Z               "line": 105
2026-06-03T23:57:42.6164134Z             },
2026-06-03T23:57:42.6164231Z             {
2026-06-03T23:57:42.6164382Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6164489Z               "line": 112
2026-06-03T23:57:42.6164596Z             },
2026-06-03T23:57:42.6164703Z             {
2026-06-03T23:57:42.6164862Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6165071Z               "line": 119
2026-06-03T23:57:42.6165174Z             },
2026-06-03T23:57:42.6165284Z             {
2026-06-03T23:57:42.6165430Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6165543Z               "line": 186
2026-06-03T23:57:42.6165645Z             },
2026-06-03T23:57:42.6165750Z             {
2026-06-03T23:57:42.6165903Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6166013Z               "line": 198
2026-06-03T23:57:42.6166121Z             },
2026-06-03T23:57:42.6166218Z             {
2026-06-03T23:57:42.6166372Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6166481Z               "line": 285
2026-06-03T23:57:42.6166588Z             }
2026-06-03T23:57:42.6166693Z           ]
2026-06-03T23:57:42.6166790Z         },
2026-06-03T23:57:42.6166899Z         "int": {
2026-06-03T23:57:42.6167090Z           "complete": false,
2026-06-03T23:57:42.6167208Z           "evidence": []
2026-06-03T23:57:42.6167370Z         },
2026-06-03T23:57:42.6167485Z         "unit": {
2026-06-03T23:57:42.6167607Z           "complete": true,
2026-06-03T23:57:42.6167713Z           "evidence": [
2026-06-03T23:57:42.6167821Z             {
2026-06-03T23:57:42.6167970Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6168084Z               "line": 355
2026-06-03T23:57:42.6168182Z             },
2026-06-03T23:57:42.6168292Z             {
2026-06-03T23:57:42.6168446Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6168553Z               "line": 381
2026-06-03T23:57:42.6168656Z             },
2026-06-03T23:57:42.6168754Z             {
2026-06-03T23:57:42.6168908Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6169017Z               "line": 394
2026-06-03T23:57:42.6169119Z             },
2026-06-03T23:57:42.6169222Z             {
2026-06-03T23:57:42.6169374Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6169500Z               "line": 436
2026-06-03T23:57:42.6169593Z             }
2026-06-03T23:57:42.6169697Z           ]
2026-06-03T23:57:42.6169791Z         }
2026-06-03T23:57:42.6169897Z       }
2026-06-03T23:57:42.6169998Z     },
2026-06-03T23:57:42.6170092Z     {
2026-06-03T23:57:42.6170228Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-03T23:57:42.6170486Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-03T23:57:42.6170604Z       "requiredStages": [
2026-06-03T23:57:42.6170704Z         "impl",
2026-06-03T23:57:42.6170805Z         "unit"
2026-06-03T23:57:42.6170908Z       ],
2026-06-03T23:57:42.6171009Z       "stages": {
2026-06-03T23:57:42.6171113Z         "doc": {
2026-06-03T23:57:42.6171226Z           "complete": false,
2026-06-03T23:57:42.6171344Z           "evidence": []
2026-06-03T23:57:42.6171439Z         },
2026-06-03T23:57:42.6171547Z         "impl": {
2026-06-03T23:57:42.6171671Z           "complete": true,
2026-06-03T23:57:42.6171777Z           "evidence": [
2026-06-03T23:57:42.6171889Z             {
2026-06-03T23:57:42.6172035Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6172146Z               "line": 107
2026-06-03T23:57:42.6172241Z             },
2026-06-03T23:57:42.6172349Z             {
2026-06-03T23:57:42.6172508Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6172614Z               "line": 59
2026-06-03T23:57:42.6172717Z             }
2026-06-03T23:57:42.6172816Z           ]
2026-06-03T23:57:42.6172917Z         },
2026-06-03T23:57:42.6173017Z         "int": {
2026-06-03T23:57:42.6173136Z           "complete": false,
2026-06-03T23:57:42.6173249Z           "evidence": []
2026-06-03T23:57:42.6173346Z         },
2026-06-03T23:57:42.6173451Z         "unit": {
2026-06-03T23:57:42.6173562Z           "complete": true,
2026-06-03T23:57:42.6173675Z           "evidence": [
2026-06-03T23:57:42.6173769Z             {
2026-06-03T23:57:42.6173927Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6174048Z               "line": 225
2026-06-03T23:57:42.6174144Z             },
2026-06-03T23:57:42.6174245Z             {
2026-06-03T23:57:42.6174398Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6174512Z               "line": 237
2026-06-03T23:57:42.6174609Z             },
2026-06-03T23:57:42.6174710Z             {
2026-06-03T23:57:42.6174867Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6175049Z               "line": 247
2026-06-03T23:57:42.6175157Z             }
2026-06-03T23:57:42.6175254Z           ]
2026-06-03T23:57:42.6175361Z         }
2026-06-03T23:57:42.6175457Z       }
2026-06-03T23:57:42.6175558Z     },
2026-06-03T23:57:42.6175656Z     {
2026-06-03T23:57:42.6175800Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-03T23:57:42.6175982Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-03T23:57:42.6176184Z       "requiredStages": [],
2026-06-03T23:57:42.6176300Z       "stages": {
2026-06-03T23:57:42.6176467Z         "doc": {
2026-06-03T23:57:42.6176591Z           "complete": false,
2026-06-03T23:57:42.6176709Z           "evidence": []
2026-06-03T23:57:42.6176808Z         },
2026-06-03T23:57:42.6176921Z         "impl": {
2026-06-03T23:57:42.6177039Z           "complete": false,
2026-06-03T23:57:42.6177165Z           "evidence": []
2026-06-03T23:57:42.6177269Z         },
2026-06-03T23:57:42.6177375Z         "int": {
2026-06-03T23:57:42.6177492Z           "complete": false,
2026-06-03T23:57:42.6177601Z           "evidence": []
2026-06-03T23:57:42.6177701Z         },
2026-06-03T23:57:42.6177804Z         "unit": {
2026-06-03T23:57:42.6177923Z           "complete": false,
2026-06-03T23:57:42.6178031Z           "evidence": []
2026-06-03T23:57:42.6178133Z         }
2026-06-03T23:57:42.6178233Z       }
2026-06-03T23:57:42.6178327Z     },
2026-06-03T23:57:42.6178429Z     {
2026-06-03T23:57:42.6178592Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-03T23:57:42.6178813Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-03T23:57:42.6178935Z       "requiredStages": [
2026-06-03T23:57:42.6179038Z         "impl",
2026-06-03T23:57:42.6179142Z         "unit"
2026-06-03T23:57:42.6179239Z       ],
2026-06-03T23:57:42.6179343Z       "stages": {
2026-06-03T23:57:42.6179443Z         "doc": {
2026-06-03T23:57:42.6179562Z           "complete": false,
2026-06-03T23:57:42.6179671Z           "evidence": []
2026-06-03T23:57:42.6179772Z         },
2026-06-03T23:57:42.6179882Z         "impl": {
2026-06-03T23:57:42.6179993Z           "complete": true,
2026-06-03T23:57:42.6180102Z           "evidence": [
2026-06-03T23:57:42.6180201Z             {
2026-06-03T23:57:42.6180368Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.6180477Z               "line": 347
2026-06-03T23:57:42.6180579Z             },
2026-06-03T23:57:42.6180683Z             {
2026-06-03T23:57:42.6180842Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.6180954Z               "line": 28
2026-06-03T23:57:42.6181064Z             }
2026-06-03T23:57:42.6181166Z           ]
2026-06-03T23:57:42.6181260Z         },
2026-06-03T23:57:42.6181366Z         "int": {
2026-06-03T23:57:42.6181484Z           "complete": false,
2026-06-03T23:57:42.6181597Z           "evidence": []
2026-06-03T23:57:42.6181703Z         },
2026-06-03T23:57:42.6181806Z         "unit": {
2026-06-03T23:57:42.6181925Z           "complete": true,
2026-06-03T23:57:42.6182031Z           "evidence": [
2026-06-03T23:57:42.6182132Z             {
2026-06-03T23:57:42.6182291Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T23:57:42.6182401Z               "line": 199
2026-06-03T23:57:42.6182505Z             }
2026-06-03T23:57:42.6182602Z           ]
2026-06-03T23:57:42.6182705Z         }
2026-06-03T23:57:42.6182801Z       }
2026-06-03T23:57:42.6182902Z     },
2026-06-03T23:57:42.6183005Z     {
2026-06-03T23:57:42.6183151Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-03T23:57:42.6183330Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-03T23:57:42.6183456Z       "requiredStages": [],
2026-06-03T23:57:42.6183566Z       "stages": {
2026-06-03T23:57:42.6183670Z         "doc": {
2026-06-03T23:57:42.6183789Z           "complete": false,
2026-06-03T23:57:42.6183907Z           "evidence": []
2026-06-03T23:57:42.6184003Z         },
2026-06-03T23:57:42.6184112Z         "impl": {
2026-06-03T23:57:42.6184228Z           "complete": false,
2026-06-03T23:57:42.6184386Z           "evidence": []
2026-06-03T23:57:42.6184484Z         },
2026-06-03T23:57:42.6184588Z         "int": {
2026-06-03T23:57:42.6184706Z           "complete": false,
2026-06-03T23:57:42.6184816Z           "evidence": []
2026-06-03T23:57:42.6184921Z         },
2026-06-03T23:57:42.6185100Z         "unit": {
2026-06-03T23:57:42.6185224Z           "complete": false,
2026-06-03T23:57:42.6185336Z           "evidence": []
2026-06-03T23:57:42.6185524Z         }
2026-06-03T23:57:42.6185639Z       }
2026-06-03T23:57:42.6185742Z     },
2026-06-03T23:57:42.6185931Z     {
2026-06-03T23:57:42.6186084Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-03T23:57:42.6186284Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-03T23:57:42.6186400Z       "requiredStages": [
2026-06-03T23:57:42.6186507Z         "impl",
2026-06-03T23:57:42.6186620Z         "unit"
2026-06-03T23:57:42.6186719Z       ],
2026-06-03T23:57:42.6186832Z       "stages": {
2026-06-03T23:57:42.6186931Z         "doc": {
2026-06-03T23:57:42.6187050Z           "complete": false,
2026-06-03T23:57:42.6187161Z           "evidence": []
2026-06-03T23:57:42.6187264Z         },
2026-06-03T23:57:42.6187374Z         "impl": {
2026-06-03T23:57:42.6187485Z           "complete": true,
2026-06-03T23:57:42.6187601Z           "evidence": [
2026-06-03T23:57:42.6187700Z             {
2026-06-03T23:57:42.6187872Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6187986Z               "line": 325
2026-06-03T23:57:42.6188090Z             },
2026-06-03T23:57:42.6188203Z             {
2026-06-03T23:57:42.6188359Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6188470Z               "line": 361
2026-06-03T23:57:42.6188569Z             }
2026-06-03T23:57:42.6188671Z           ]
2026-06-03T23:57:42.6188769Z         },
2026-06-03T23:57:42.6188876Z         "int": {
2026-06-03T23:57:42.6188994Z           "complete": false,
2026-06-03T23:57:42.6189103Z           "evidence": []
2026-06-03T23:57:42.6189207Z         },
2026-06-03T23:57:42.6189309Z         "unit": {
2026-06-03T23:57:42.6189429Z           "complete": true,
2026-06-03T23:57:42.6189734Z           "evidence": [
2026-06-03T23:57:42.6189909Z             {
2026-06-03T23:57:42.6190072Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6190180Z               "line": 453
2026-06-03T23:57:42.6190286Z             }
2026-06-03T23:57:42.6190383Z           ]
2026-06-03T23:57:42.6190492Z         }
2026-06-03T23:57:42.6190591Z       }
2026-06-03T23:57:42.6190698Z     },
2026-06-03T23:57:42.6190806Z     {
2026-06-03T23:57:42.6190951Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-03T23:57:42.6191154Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-03T23:57:42.6191268Z       "requiredStages": [
2026-06-03T23:57:42.6191371Z         "impl",
2026-06-03T23:57:42.6191469Z         "unit"
2026-06-03T23:57:42.6191573Z       ],
2026-06-03T23:57:42.6191684Z       "stages": {
2026-06-03T23:57:42.6191790Z         "doc": {
2026-06-03T23:57:42.6191911Z           "complete": false,
2026-06-03T23:57:42.6192020Z           "evidence": []
2026-06-03T23:57:42.6192129Z         },
2026-06-03T23:57:42.6192236Z         "impl": {
2026-06-03T23:57:42.6192358Z           "complete": true,
2026-06-03T23:57:42.6192473Z           "evidence": [
2026-06-03T23:57:42.6192571Z             {
2026-06-03T23:57:42.6192736Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.6192848Z               "line": 35
2026-06-03T23:57:42.6192953Z             }
2026-06-03T23:57:42.6193061Z           ]
2026-06-03T23:57:42.6193169Z         },
2026-06-03T23:57:42.6193276Z         "int": {
2026-06-03T23:57:42.6193391Z           "complete": false,
2026-06-03T23:57:42.6193509Z           "evidence": []
2026-06-03T23:57:42.6193608Z         },
2026-06-03T23:57:42.6193718Z         "unit": {
2026-06-03T23:57:42.6193830Z           "complete": true,
2026-06-03T23:57:42.6193945Z           "evidence": [
2026-06-03T23:57:42.6194051Z             {
2026-06-03T23:57:42.6194202Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T23:57:42.6194315Z               "line": 217
2026-06-03T23:57:42.6194413Z             }
2026-06-03T23:57:42.6194522Z           ]
2026-06-03T23:57:42.6194621Z         }
2026-06-03T23:57:42.6194729Z       }
2026-06-03T23:57:42.6194831Z     },
2026-06-03T23:57:42.6194926Z     {
2026-06-03T23:57:42.6195179Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-03T23:57:42.6195615Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-03T23:57:42.6195808Z       "requiredStages": [
2026-06-03T23:57:42.6195912Z         "impl",
2026-06-03T23:57:42.6196025Z         "unit"
2026-06-03T23:57:42.6196136Z       ],
2026-06-03T23:57:42.6196246Z       "stages": {
2026-06-03T23:57:42.6196362Z         "doc": {
2026-06-03T23:57:42.6196478Z           "complete": false,
2026-06-03T23:57:42.6196605Z           "evidence": []
2026-06-03T23:57:42.6196707Z         },
2026-06-03T23:57:42.6196818Z         "impl": {
2026-06-03T23:57:42.6196940Z           "complete": true,
2026-06-03T23:57:42.6197051Z           "evidence": [
2026-06-03T23:57:42.6197158Z             {
2026-06-03T23:57:42.6197320Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6197434Z               "line": 159
2026-06-03T23:57:42.6197535Z             },
2026-06-03T23:57:42.6197641Z             {
2026-06-03T23:57:42.6197813Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6197922Z               "line": 150
2026-06-03T23:57:42.6198036Z             }
2026-06-03T23:57:42.6198137Z           ]
2026-06-03T23:57:42.6198243Z         },
2026-06-03T23:57:42.6198346Z         "int": {
2026-06-03T23:57:42.6198471Z           "complete": false,
2026-06-03T23:57:42.6198587Z           "evidence": []
2026-06-03T23:57:42.6198685Z         },
2026-06-03T23:57:42.6198794Z         "unit": {
2026-06-03T23:57:42.6198907Z           "complete": true,
2026-06-03T23:57:42.6199022Z           "evidence": [
2026-06-03T23:57:42.6199121Z             {
2026-06-03T23:57:42.6199280Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6199394Z               "line": 382
2026-06-03T23:57:42.6199493Z             },
2026-06-03T23:57:42.6199602Z             {
2026-06-03T23:57:42.6199753Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6199867Z               "line": 393
2026-06-03T23:57:42.6199972Z             },
2026-06-03T23:57:42.6200077Z             {
2026-06-03T23:57:42.6200235Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6200357Z               "line": 409
2026-06-03T23:57:42.6200463Z             },
2026-06-03T23:57:42.6200561Z             {
2026-06-03T23:57:42.6200722Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6200830Z               "line": 423
2026-06-03T23:57:42.6200944Z             }
2026-06-03T23:57:42.6201048Z           ]
2026-06-03T23:57:42.6201147Z         }
2026-06-03T23:57:42.6201252Z       }
2026-06-03T23:57:42.6201349Z     },
2026-06-03T23:57:42.6201452Z     {
2026-06-03T23:57:42.6201601Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-03T23:57:42.6201816Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-03T23:57:42.6201935Z       "requiredStages": [
2026-06-03T23:57:42.6202037Z         "impl",
2026-06-03T23:57:42.6202145Z         "unit"
2026-06-03T23:57:42.6202243Z       ],
2026-06-03T23:57:42.6202358Z       "stages": {
2026-06-03T23:57:42.6202458Z         "doc": {
2026-06-03T23:57:42.6202587Z           "complete": false,
2026-06-03T23:57:42.6202702Z           "evidence": []
2026-06-03T23:57:42.6202800Z         },
2026-06-03T23:57:42.6202908Z         "impl": {
2026-06-03T23:57:42.6203020Z           "complete": true,
2026-06-03T23:57:42.6203136Z           "evidence": [
2026-06-03T23:57:42.6203235Z             {
2026-06-03T23:57:42.6203389Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6203505Z               "line": 92
2026-06-03T23:57:42.6203605Z             },
2026-06-03T23:57:42.6203714Z             {
2026-06-03T23:57:42.6203863Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6203977Z               "line": 96
2026-06-03T23:57:42.6204076Z             }
2026-06-03T23:57:42.6204184Z           ]
2026-06-03T23:57:42.6204294Z         },
2026-06-03T23:57:42.6204397Z         "int": {
2026-06-03T23:57:42.6204515Z           "complete": false,
2026-06-03T23:57:42.6204685Z           "evidence": []
2026-06-03T23:57:42.6204794Z         },
2026-06-03T23:57:42.6205032Z         "unit": {
2026-06-03T23:57:42.6205156Z           "complete": true,
2026-06-03T23:57:42.6205272Z           "evidence": [
2026-06-03T23:57:42.6205374Z             {
2026-06-03T23:57:42.6205528Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6205635Z               "line": 235
2026-06-03T23:57:42.6205744Z             },
2026-06-03T23:57:42.6205843Z             {
2026-06-03T23:57:42.6206004Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T23:57:42.6206124Z               "line": 120
2026-06-03T23:57:42.6206225Z             },
2026-06-03T23:57:42.6206335Z             {
2026-06-03T23:57:42.6206484Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6206601Z               "line": 375
2026-06-03T23:57:42.6206702Z             },
2026-06-03T23:57:42.6206809Z             {
2026-06-03T23:57:42.6206970Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6207075Z               "line": 405
2026-06-03T23:57:42.6207191Z             }
2026-06-03T23:57:42.6207289Z           ]
2026-06-03T23:57:42.6207391Z         }
2026-06-03T23:57:42.6207487Z       }
2026-06-03T23:57:42.6207588Z     },
2026-06-03T23:57:42.6207690Z     {
2026-06-03T23:57:42.6207824Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-03T23:57:42.6208066Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-03T23:57:42.6208184Z       "requiredStages": [
2026-06-03T23:57:42.6208293Z         "impl",
2026-06-03T23:57:42.6208405Z         "unit"
2026-06-03T23:57:42.6208502Z       ],
2026-06-03T23:57:42.6208611Z       "stages": {
2026-06-03T23:57:42.6208709Z         "doc": {
2026-06-03T23:57:42.6208831Z           "complete": false,
2026-06-03T23:57:42.6208940Z           "evidence": []
2026-06-03T23:57:42.6209043Z         },
2026-06-03T23:57:42.6209144Z         "impl": {
2026-06-03T23:57:42.6209263Z           "complete": true,
2026-06-03T23:57:42.6209383Z           "evidence": [
2026-06-03T23:57:42.6209482Z             {
2026-06-03T23:57:42.6209640Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6209748Z               "line": 142
2026-06-03T23:57:42.6209854Z             },
2026-06-03T23:57:42.6209951Z             {
2026-06-03T23:57:42.6210104Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6210216Z               "line": 187
2026-06-03T23:57:42.6210313Z             },
2026-06-03T23:57:42.6210416Z             {
2026-06-03T23:57:42.6210562Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6210673Z               "line": 199
2026-06-03T23:57:42.6210778Z             }
2026-06-03T23:57:42.6210877Z           ]
2026-06-03T23:57:42.6210982Z         },
2026-06-03T23:57:42.6211081Z         "int": {
2026-06-03T23:57:42.6211199Z           "complete": false,
2026-06-03T23:57:42.6211310Z           "evidence": []
2026-06-03T23:57:42.6211411Z         },
2026-06-03T23:57:42.6211519Z         "unit": {
2026-06-03T23:57:42.6211638Z           "complete": true,
2026-06-03T23:57:42.6211761Z           "evidence": [
2026-06-03T23:57:42.6211858Z             {
2026-06-03T23:57:42.6212009Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6212117Z               "line": 335
2026-06-03T23:57:42.6212224Z             },
2026-06-03T23:57:42.6212330Z             {
2026-06-03T23:57:42.6212477Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6212595Z               "line": 364
2026-06-03T23:57:42.6212692Z             }
2026-06-03T23:57:42.6212796Z           ]
2026-06-03T23:57:42.6212893Z         }
2026-06-03T23:57:42.6212996Z       }
2026-06-03T23:57:42.6213091Z     },
2026-06-03T23:57:42.6213193Z     {
2026-06-03T23:57:42.6213316Z       "id": "REQ-INFRA-1",
2026-06-03T23:57:42.6213545Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-03T23:57:42.6213666Z       "requiredStages": [],
2026-06-03T23:57:42.6213853Z       "stages": {
2026-06-03T23:57:42.6213966Z         "doc": {
2026-06-03T23:57:42.6214086Z           "complete": false,
2026-06-03T23:57:42.6214263Z           "evidence": []
2026-06-03T23:57:42.6214371Z         },
2026-06-03T23:57:42.6214475Z         "impl": {
2026-06-03T23:57:42.6214598Z           "complete": false,
2026-06-03T23:57:42.6214709Z           "evidence": []
2026-06-03T23:57:42.6214817Z         },
2026-06-03T23:57:42.6215004Z         "int": {
2026-06-03T23:57:42.6215125Z           "complete": false,
2026-06-03T23:57:42.6215248Z           "evidence": []
2026-06-03T23:57:42.6215348Z         },
2026-06-03T23:57:42.6215462Z         "unit": {
2026-06-03T23:57:42.6215576Z           "complete": false,
2026-06-03T23:57:42.6215696Z           "evidence": []
2026-06-03T23:57:42.6215797Z         }
2026-06-03T23:57:42.6215908Z       }
2026-06-03T23:57:42.6216019Z     },
2026-06-03T23:57:42.6216116Z     {
2026-06-03T23:57:42.6216240Z       "id": "REQ-INST-1",
2026-06-03T23:57:42.6216460Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-03T23:57:42.6216592Z       "requiredStages": [],
2026-06-03T23:57:42.6216713Z       "stages": {
2026-06-03T23:57:42.6216815Z         "doc": {
2026-06-03T23:57:42.6216937Z           "complete": false,
2026-06-03T23:57:42.6217048Z           "evidence": []
2026-06-03T23:57:42.6217154Z         },
2026-06-03T23:57:42.6217255Z         "impl": {
2026-06-03T23:57:42.6217373Z           "complete": false,
2026-06-03T23:57:42.6217482Z           "evidence": []
2026-06-03T23:57:42.6217586Z         },
2026-06-03T23:57:42.6217696Z         "int": {
2026-06-03T23:57:42.6217809Z           "complete": false,
2026-06-03T23:57:42.6217924Z           "evidence": []
2026-06-03T23:57:42.6218021Z         },
2026-06-03T23:57:42.6218130Z         "unit": {
2026-06-03T23:57:42.6218243Z           "complete": false,
2026-06-03T23:57:42.6218359Z           "evidence": []
2026-06-03T23:57:42.6218459Z         }
2026-06-03T23:57:42.6218555Z       }
2026-06-03T23:57:42.6218654Z     },
2026-06-03T23:57:42.6218756Z     {
2026-06-03T23:57:42.6218875Z       "id": "REQ-INST-10",
2026-06-03T23:57:42.6219157Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-03T23:57:42.6219277Z       "requiredStages": [
2026-06-03T23:57:42.6219381Z         "impl",
2026-06-03T23:57:42.6219482Z         "unit"
2026-06-03T23:57:42.6219584Z       ],
2026-06-03T23:57:42.6219687Z       "stages": {
2026-06-03T23:57:42.6219791Z         "doc": {
2026-06-03T23:57:42.6219901Z           "complete": false,
2026-06-03T23:57:42.6220014Z           "evidence": []
2026-06-03T23:57:42.6220116Z         },
2026-06-03T23:57:42.6220217Z         "impl": {
2026-06-03T23:57:42.6220335Z           "complete": true,
2026-06-03T23:57:42.6220442Z           "evidence": [
2026-06-03T23:57:42.6220546Z             {
2026-06-03T23:57:42.6220709Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6220827Z               "line": 351
2026-06-03T23:57:42.6220930Z             },
2026-06-03T23:57:42.6221032Z             {
2026-06-03T23:57:42.6221199Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6221317Z               "line": 406
2026-06-03T23:57:42.6221423Z             },
2026-06-03T23:57:42.6221522Z             {
2026-06-03T23:57:42.6221678Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-03T23:57:42.6221791Z               "line": 13
2026-06-03T23:57:42.6221889Z             },
2026-06-03T23:57:42.6221992Z             {
2026-06-03T23:57:42.6222138Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-03T23:57:42.6222252Z               "line": 67
2026-06-03T23:57:42.6222358Z             }
2026-06-03T23:57:42.6222455Z           ]
2026-06-03T23:57:42.6222557Z         },
2026-06-03T23:57:42.6222658Z         "int": {
2026-06-03T23:57:42.6222776Z           "complete": false,
2026-06-03T23:57:42.6222885Z           "evidence": []
2026-06-03T23:57:42.6222988Z         },
2026-06-03T23:57:42.6223089Z         "unit": {
2026-06-03T23:57:42.6223288Z           "complete": true,
2026-06-03T23:57:42.6223407Z           "evidence": [
2026-06-03T23:57:42.6223597Z             {
2026-06-03T23:57:42.6223769Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6223879Z               "line": 550
2026-06-03T23:57:42.6223986Z             },
2026-06-03T23:57:42.6224091Z             {
2026-06-03T23:57:42.6224249Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6224362Z               "line": 559
2026-06-03T23:57:42.6224460Z             },
2026-06-03T23:57:42.6224564Z             {
2026-06-03T23:57:42.6224717Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6224831Z               "line": 567
2026-06-03T23:57:42.6225022Z             },
2026-06-03T23:57:42.6225127Z             {
2026-06-03T23:57:42.6225298Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6225408Z               "line": 580
2026-06-03T23:57:42.6225520Z             },
2026-06-03T23:57:42.6225633Z             {
2026-06-03T23:57:42.6225801Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6225937Z               "line": 593
2026-06-03T23:57:42.6226039Z             },
2026-06-03T23:57:42.6226151Z             {
2026-06-03T23:57:42.6226309Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6226427Z               "line": 609
2026-06-03T23:57:42.6226528Z             },
2026-06-03T23:57:42.6226635Z             {
2026-06-03T23:57:42.6226802Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6226912Z               "line": 838
2026-06-03T23:57:42.6227019Z             },
2026-06-03T23:57:42.6227115Z             {
2026-06-03T23:57:42.6227268Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-03T23:57:42.6227374Z               "line": 121
2026-06-03T23:57:42.6227481Z             },
2026-06-03T23:57:42.6227586Z             {
2026-06-03T23:57:42.6227738Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-03T23:57:42.6227852Z               "line": 142
2026-06-03T23:57:42.6227949Z             },
2026-06-03T23:57:42.6228061Z             {
2026-06-03T23:57:42.6228206Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-03T23:57:42.6228319Z               "line": 150
2026-06-03T23:57:42.6228423Z             },
2026-06-03T23:57:42.6228520Z             {
2026-06-03T23:57:42.6228669Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-03T23:57:42.6228774Z               "line": 158
2026-06-03T23:57:42.6228875Z             }
2026-06-03T23:57:42.6228970Z           ]
2026-06-03T23:57:42.6229072Z         }
2026-06-03T23:57:42.6229173Z       }
2026-06-03T23:57:42.6229268Z     },
2026-06-03T23:57:42.6229367Z     {
2026-06-03T23:57:42.6229480Z       "id": "REQ-INST-11",
2026-06-03T23:57:42.6229771Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-03T23:57:42.6229888Z       "requiredStages": [
2026-06-03T23:57:42.6229994Z         "impl",
2026-06-03T23:57:42.6230106Z         "unit"
2026-06-03T23:57:42.6230203Z       ],
2026-06-03T23:57:42.6230324Z       "stages": {
2026-06-03T23:57:42.6230426Z         "doc": {
2026-06-03T23:57:42.6230551Z           "complete": false,
2026-06-03T23:57:42.6230659Z           "evidence": []
2026-06-03T23:57:42.6230763Z         },
2026-06-03T23:57:42.6230874Z         "impl": {
2026-06-03T23:57:42.6230986Z           "complete": true,
2026-06-03T23:57:42.6231101Z           "evidence": [
2026-06-03T23:57:42.6231199Z             {
2026-06-03T23:57:42.6231366Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6231474Z               "line": 253
2026-06-03T23:57:42.6231580Z             },
2026-06-03T23:57:42.6231686Z             {
2026-06-03T23:57:42.6231835Z               "path": "crates/spt-store/src/rename.rs",
2026-06-03T23:57:42.6231950Z               "line": 59
2026-06-03T23:57:42.6232050Z             },
2026-06-03T23:57:42.6232155Z             {
2026-06-03T23:57:42.6232368Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6232487Z               "line": 586
2026-06-03T23:57:42.6232656Z             }
2026-06-03T23:57:42.6232754Z           ]
2026-06-03T23:57:42.6232861Z         },
2026-06-03T23:57:42.6232963Z         "int": {
2026-06-03T23:57:42.6233084Z           "complete": false,
2026-06-03T23:57:42.6233193Z           "evidence": []
2026-06-03T23:57:42.6233302Z         },
2026-06-03T23:57:42.6233412Z         "unit": {
2026-06-03T23:57:42.6233527Z           "complete": true,
2026-06-03T23:57:42.6233645Z           "evidence": [
2026-06-03T23:57:42.6233744Z             {
2026-06-03T23:57:42.6233912Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6234019Z               "line": 702
2026-06-03T23:57:42.6234127Z             },
2026-06-03T23:57:42.6234233Z             {
2026-06-03T23:57:42.6234390Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6234508Z               "line": 725
2026-06-03T23:57:42.6234614Z             },
2026-06-03T23:57:42.6234725Z             {
2026-06-03T23:57:42.6234885Z               "path": "crates/spt-store/src/rename.rs",
2026-06-03T23:57:42.6235084Z               "line": 150
2026-06-03T23:57:42.6235199Z             },
2026-06-03T23:57:42.6235300Z             {
2026-06-03T23:57:42.6235466Z               "path": "crates/spt-store/src/rename.rs",
2026-06-03T23:57:42.6235576Z               "line": 171
2026-06-03T23:57:42.6235690Z             },
2026-06-03T23:57:42.6235802Z             {
2026-06-03T23:57:42.6235953Z               "path": "crates/spt-store/src/rename.rs",
2026-06-03T23:57:42.6236075Z               "line": 203
2026-06-03T23:57:42.6236176Z             },
2026-06-03T23:57:42.6236285Z             {
2026-06-03T23:57:42.6236422Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6236541Z               "line": 635
2026-06-03T23:57:42.6236650Z             }
2026-06-03T23:57:42.6236749Z           ]
2026-06-03T23:57:42.6236855Z         }
2026-06-03T23:57:42.6236952Z       }
2026-06-03T23:57:42.6237065Z     },
2026-06-03T23:57:42.6237162Z     {
2026-06-03T23:57:42.6237294Z       "id": "REQ-INST-12",
2026-06-03T23:57:42.6237680Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-03T23:57:42.6237795Z       "requiredStages": [
2026-06-03T23:57:42.6237903Z         "impl",
2026-06-03T23:57:42.6238002Z         "unit"
2026-06-03T23:57:42.6238107Z       ],
2026-06-03T23:57:42.6238212Z       "stages": {
2026-06-03T23:57:42.6238320Z         "doc": {
2026-06-03T23:57:42.6238438Z           "complete": false,
2026-06-03T23:57:42.6238547Z           "evidence": []
2026-06-03T23:57:42.6238652Z         },
2026-06-03T23:57:42.6238754Z         "impl": {
2026-06-03T23:57:42.6238873Z           "complete": true,
2026-06-03T23:57:42.6238979Z           "evidence": [
2026-06-03T23:57:42.6239083Z             {
2026-06-03T23:57:42.6239245Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6239357Z               "line": 305
2026-06-03T23:57:42.6239461Z             },
2026-06-03T23:57:42.6239558Z             {
2026-06-03T23:57:42.6239728Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6239834Z               "line": 362
2026-06-03T23:57:42.6239937Z             },
2026-06-03T23:57:42.6240039Z             {
2026-06-03T23:57:42.6240196Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6240310Z               "line": 420
2026-06-03T23:57:42.6240409Z             },
2026-06-03T23:57:42.6240517Z             {
2026-06-03T23:57:42.6240667Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6240783Z               "line": 87
2026-06-03T23:57:42.6240888Z             },
2026-06-03T23:57:42.6240985Z             {
2026-06-03T23:57:42.6241140Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6241248Z               "line": 216
2026-06-03T23:57:42.6241354Z             },
2026-06-03T23:57:42.6241452Z             {
2026-06-03T23:57:42.6241693Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6241868Z               "line": 132
2026-06-03T23:57:42.6241968Z             }
2026-06-03T23:57:42.6242075Z           ]
2026-06-03T23:57:42.6242171Z         },
2026-06-03T23:57:42.6242278Z         "int": {
2026-06-03T23:57:42.6242394Z           "complete": false,
2026-06-03T23:57:42.6242514Z           "evidence": []
2026-06-03T23:57:42.6242619Z         },
2026-06-03T23:57:42.6242721Z         "unit": {
2026-06-03T23:57:42.6242842Z           "complete": true,
2026-06-03T23:57:42.6242951Z           "evidence": [
2026-06-03T23:57:42.6243055Z             {
2026-06-03T23:57:42.6243209Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6243324Z               "line": 760
2026-06-03T23:57:42.6243437Z             },
2026-06-03T23:57:42.6243535Z             {
2026-06-03T23:57:42.6243700Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6243816Z               "line": 777
2026-06-03T23:57:42.6243922Z             },
2026-06-03T23:57:42.6244020Z             {
2026-06-03T23:57:42.6244194Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6244309Z               "line": 808
2026-06-03T23:57:42.6244406Z             },
2026-06-03T23:57:42.6244509Z             {
2026-06-03T23:57:42.6244661Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6244779Z               "line": 350
2026-06-03T23:57:42.6244890Z             },
2026-06-03T23:57:42.6245065Z             {
2026-06-03T23:57:42.6245238Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6245349Z               "line": 169
2026-06-03T23:57:42.6245467Z             },
2026-06-03T23:57:42.6245568Z             {
2026-06-03T23:57:42.6245746Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6245866Z               "line": 181
2026-06-03T23:57:42.6245966Z             },
2026-06-03T23:57:42.6246080Z             {
2026-06-03T23:57:42.6246244Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6246369Z               "line": 198
2026-06-03T23:57:42.6246468Z             }
2026-06-03T23:57:42.6246577Z           ]
2026-06-03T23:57:42.6246682Z         }
2026-06-03T23:57:42.6246778Z       }
2026-06-03T23:57:42.6246880Z     },
2026-06-03T23:57:42.6246976Z     {
2026-06-03T23:57:42.6247097Z       "id": "REQ-INST-13",
2026-06-03T23:57:42.6247337Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-03T23:57:42.6247459Z       "requiredStages": [
2026-06-03T23:57:42.6247569Z         "impl",
2026-06-03T23:57:42.6247669Z         "unit"
2026-06-03T23:57:42.6247772Z       ],
2026-06-03T23:57:42.6247874Z       "stages": {
2026-06-03T23:57:42.6247980Z         "doc": {
2026-06-03T23:57:42.6248092Z           "complete": false,
2026-06-03T23:57:42.6248206Z           "evidence": []
2026-06-03T23:57:42.6248308Z         },
2026-06-03T23:57:42.6248411Z         "impl": {
2026-06-03T23:57:42.6248536Z           "complete": true,
2026-06-03T23:57:42.6248644Z           "evidence": [
2026-06-03T23:57:42.6248755Z             {
2026-06-03T23:57:42.6248909Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6249021Z               "line": 155
2026-06-03T23:57:42.6249127Z             }
2026-06-03T23:57:42.6249223Z           ]
2026-06-03T23:57:42.6249325Z         },
2026-06-03T23:57:42.6249426Z         "int": {
2026-06-03T23:57:42.6249544Z           "complete": false,
2026-06-03T23:57:42.6249654Z           "evidence": []
2026-06-03T23:57:42.6249755Z         },
2026-06-03T23:57:42.6249864Z         "unit": {
2026-06-03T23:57:42.6249976Z           "complete": true,
2026-06-03T23:57:42.6250088Z           "evidence": [
2026-06-03T23:57:42.6250186Z             {
2026-06-03T23:57:42.6250345Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6250452Z               "line": 221
2026-06-03T23:57:42.6250558Z             },
2026-06-03T23:57:42.6250737Z             {
2026-06-03T23:57:42.6250901Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-03T23:57:42.6251084Z               "line": 233
2026-06-03T23:57:42.6251182Z             }
2026-06-03T23:57:42.6251285Z           ]
2026-06-03T23:57:42.6251382Z         }
2026-06-03T23:57:42.6251488Z       }
2026-06-03T23:57:42.6251595Z     },
2026-06-03T23:57:42.6251692Z     {
2026-06-03T23:57:42.6251812Z       "id": "REQ-INST-14",
2026-06-03T23:57:42.6252298Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-03T23:57:42.6252428Z       "requiredStages": [],
2026-06-03T23:57:42.6252533Z       "stages": {
2026-06-03T23:57:42.6252642Z         "doc": {
2026-06-03T23:57:42.6252763Z           "complete": false,
2026-06-03T23:57:42.6252874Z           "evidence": []
2026-06-03T23:57:42.6252979Z         },
2026-06-03T23:57:42.6253080Z         "impl": {
2026-06-03T23:57:42.6253207Z           "complete": false,
2026-06-03T23:57:42.6253318Z           "evidence": []
2026-06-03T23:57:42.6253425Z         },
2026-06-03T23:57:42.6253539Z         "int": {
2026-06-03T23:57:42.6253657Z           "complete": false,
2026-06-03T23:57:42.6253775Z           "evidence": []
2026-06-03T23:57:42.6253874Z         },
2026-06-03T23:57:42.6253982Z         "unit": {
2026-06-03T23:57:42.6254097Z           "complete": false,
2026-06-03T23:57:42.6254218Z           "evidence": []
2026-06-03T23:57:42.6254324Z         }
2026-06-03T23:57:42.6254420Z       }
2026-06-03T23:57:42.6254523Z     },
2026-06-03T23:57:42.6254621Z     {
2026-06-03T23:57:42.6254743Z       "id": "REQ-INST-15",
2026-06-03T23:57:42.6255739Z       "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-03T23:57:42.6255881Z       "requiredStages": [],
2026-06-03T23:57:42.6255997Z       "stages": {
2026-06-03T23:57:42.6256104Z         "doc": {
2026-06-03T23:57:42.6256246Z           "complete": false,
2026-06-03T23:57:42.6256362Z           "evidence": []
2026-06-03T23:57:42.6256471Z         },
2026-06-03T23:57:42.6256587Z         "impl": {
2026-06-03T23:57:42.6256702Z           "complete": false,
2026-06-03T23:57:42.6256822Z           "evidence": []
2026-06-03T23:57:42.6256919Z         },
2026-06-03T23:57:42.6257026Z         "int": {
2026-06-03T23:57:42.6257139Z           "complete": false,
2026-06-03T23:57:42.6257259Z           "evidence": []
2026-06-03T23:57:42.6257355Z         },
2026-06-03T23:57:42.6257465Z         "unit": {
2026-06-03T23:57:42.6257583Z           "complete": false,
2026-06-03T23:57:42.6257691Z           "evidence": []
2026-06-03T23:57:42.6257793Z         }
2026-06-03T23:57:42.6257889Z       }
2026-06-03T23:57:42.6257991Z     },
2026-06-03T23:57:42.6258085Z     {
2026-06-03T23:57:42.6258206Z       "id": "REQ-INST-2",
2026-06-03T23:57:42.6258375Z       "title": "Per-node files, synced Psyche mind",
2026-06-03T23:57:42.6258497Z       "requiredStages": [],
2026-06-03T23:57:42.6258605Z       "stages": {
2026-06-03T23:57:42.6258703Z         "doc": {
2026-06-03T23:57:42.6258824Z           "complete": false,
2026-06-03T23:57:42.6258932Z           "evidence": []
2026-06-03T23:57:42.6259039Z         },
2026-06-03T23:57:42.6259146Z         "impl": {
2026-06-03T23:57:42.6259256Z           "complete": false,
2026-06-03T23:57:42.6259374Z           "evidence": []
2026-06-03T23:57:42.6259470Z         },
2026-06-03T23:57:42.6259573Z         "int": {
2026-06-03T23:57:42.6259684Z           "complete": false,
2026-06-03T23:57:42.6259798Z           "evidence": []
2026-06-03T23:57:42.6259898Z         },
2026-06-03T23:57:42.6259997Z         "unit": {
2026-06-03T23:57:42.6260119Z           "complete": false,
2026-06-03T23:57:42.6260230Z           "evidence": []
2026-06-03T23:57:42.6260333Z         }
2026-06-03T23:57:42.6260432Z       }
2026-06-03T23:57:42.6260608Z     },
2026-06-03T23:57:42.6260713Z     {
2026-06-03T23:57:42.6260827Z       "id": "REQ-INST-3",
2026-06-03T23:57:42.6261096Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-03T23:57:42.6261213Z       "requiredStages": [],
2026-06-03T23:57:42.6261322Z       "stages": {
2026-06-03T23:57:42.6261421Z         "doc": {
2026-06-03T23:57:42.6261544Z           "complete": false,
2026-06-03T23:57:42.6261658Z           "evidence": []
2026-06-03T23:57:42.6261754Z         },
2026-06-03T23:57:42.6261860Z         "impl": {
2026-06-03T23:57:42.6261973Z           "complete": false,
2026-06-03T23:57:42.6262089Z           "evidence": []
2026-06-03T23:57:42.6262185Z         },
2026-06-03T23:57:42.6262292Z         "int": {
2026-06-03T23:57:42.6262413Z           "complete": false,
2026-06-03T23:57:42.6262525Z           "evidence": []
2026-06-03T23:57:42.6262630Z         },
2026-06-03T23:57:42.6262732Z         "unit": {
2026-06-03T23:57:42.6262851Z           "complete": false,
2026-06-03T23:57:42.6262967Z           "evidence": []
2026-06-03T23:57:42.6263074Z         }
2026-06-03T23:57:42.6263184Z       }
2026-06-03T23:57:42.6263279Z     },
2026-06-03T23:57:42.6263382Z     {
2026-06-03T23:57:42.6263494Z       "id": "REQ-INST-4",
2026-06-03T23:57:42.6263727Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-03T23:57:42.6263842Z       "requiredStages": [],
2026-06-03T23:57:42.6263956Z       "stages": {
2026-06-03T23:57:42.6264062Z         "doc": {
2026-06-03T23:57:42.6264176Z           "complete": false,
2026-06-03T23:57:42.6264290Z           "evidence": []
2026-06-03T23:57:42.6264386Z         },
2026-06-03T23:57:42.6264496Z         "impl": {
2026-06-03T23:57:42.6264606Z           "complete": false,
2026-06-03T23:57:42.6264722Z           "evidence": []
2026-06-03T23:57:42.6264833Z         },
2026-06-03T23:57:42.6265012Z         "int": {
2026-06-03T23:57:42.6265141Z           "complete": false,
2026-06-03T23:57:42.6265254Z           "evidence": []
2026-06-03T23:57:42.6265368Z         },
2026-06-03T23:57:42.6265475Z         "unit": {
2026-06-03T23:57:42.6265599Z           "complete": false,
2026-06-03T23:57:42.6265734Z           "evidence": []
2026-06-03T23:57:42.6265838Z         }
2026-06-03T23:57:42.6265947Z       }
2026-06-03T23:57:42.6266048Z     },
2026-06-03T23:57:42.6266155Z     {
2026-06-03T23:57:42.6266265Z       "id": "REQ-INST-5",
2026-06-03T23:57:42.6266510Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-03T23:57:42.6266634Z       "requiredStages": [],
2026-06-03T23:57:42.6266738Z       "stages": {
2026-06-03T23:57:42.6266849Z         "doc": {
2026-06-03T23:57:42.6266961Z           "complete": false,
2026-06-03T23:57:42.6267077Z           "evidence": []
2026-06-03T23:57:42.6267172Z         },
2026-06-03T23:57:42.6267283Z         "impl": {
2026-06-03T23:57:42.6267400Z           "complete": false,
2026-06-03T23:57:42.6267510Z           "evidence": []
2026-06-03T23:57:42.6267611Z         },
2026-06-03T23:57:42.6267715Z         "int": {
2026-06-03T23:57:42.6267835Z           "complete": false,
2026-06-03T23:57:42.6267949Z           "evidence": []
2026-06-03T23:57:42.6268050Z         },
2026-06-03T23:57:42.6268159Z         "unit": {
2026-06-03T23:57:42.6268271Z           "complete": false,
2026-06-03T23:57:42.6268386Z           "evidence": []
2026-06-03T23:57:42.6268482Z         }
2026-06-03T23:57:42.6268585Z       }
2026-06-03T23:57:42.6268680Z     },
2026-06-03T23:57:42.6268780Z     {
2026-06-03T23:57:42.6268894Z       "id": "REQ-INST-6",
2026-06-03T23:57:42.6269126Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-03T23:57:42.6269249Z       "requiredStages": [],
2026-06-03T23:57:42.6269352Z       "stages": {
2026-06-03T23:57:42.6269458Z         "doc": {
2026-06-03T23:57:42.6269572Z           "complete": false,
2026-06-03T23:57:42.6269688Z           "evidence": []
2026-06-03T23:57:42.6269790Z         },
2026-06-03T23:57:42.6269891Z         "impl": {
2026-06-03T23:57:42.6270082Z           "complete": false,
2026-06-03T23:57:42.6270198Z           "evidence": []
2026-06-03T23:57:42.6270367Z         },
2026-06-03T23:57:42.6270467Z         "int": {
2026-06-03T23:57:42.6270589Z           "complete": false,
2026-06-03T23:57:42.6270706Z           "evidence": []
2026-06-03T23:57:42.6270808Z         },
2026-06-03T23:57:42.6270934Z         "unit": {
2026-06-03T23:57:42.6271045Z           "complete": false,
2026-06-03T23:57:42.6271161Z           "evidence": []
2026-06-03T23:57:42.6271257Z         }
2026-06-03T23:57:42.6271366Z       }
2026-06-03T23:57:42.6271466Z     },
2026-06-03T23:57:42.6271561Z     {
2026-06-03T23:57:42.6271679Z       "id": "REQ-INST-7",
2026-06-03T23:57:42.6271859Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-03T23:57:42.6271980Z       "requiredStages": [
2026-06-03T23:57:42.6272082Z         "impl",
2026-06-03T23:57:42.6272192Z         "unit"
2026-06-03T23:57:42.6272299Z       ],
2026-06-03T23:57:42.6272406Z       "stages": {
2026-06-03T23:57:42.6272523Z         "doc": {
2026-06-03T23:57:42.6272634Z           "complete": false,
2026-06-03T23:57:42.6272759Z           "evidence": []
2026-06-03T23:57:42.6272856Z         },
2026-06-03T23:57:42.6272965Z         "impl": {
2026-06-03T23:57:42.6273086Z           "complete": true,
2026-06-03T23:57:42.6273198Z           "evidence": [
2026-06-03T23:57:42.6273303Z             {
2026-06-03T23:57:42.6273469Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6273582Z               "line": 41
2026-06-03T23:57:42.6273679Z             },
2026-06-03T23:57:42.6273785Z             {
2026-06-03T23:57:42.6273951Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T23:57:42.6274058Z               "line": 123
2026-06-03T23:57:42.6274165Z             }
2026-06-03T23:57:42.6274263Z           ]
2026-06-03T23:57:42.6274367Z         },
2026-06-03T23:57:42.6274468Z         "int": {
2026-06-03T23:57:42.6274594Z           "complete": false,
2026-06-03T23:57:42.6274710Z           "evidence": []
2026-06-03T23:57:42.6274812Z         },
2026-06-03T23:57:42.6274921Z         "unit": {
2026-06-03T23:57:42.6275126Z           "complete": true,
2026-06-03T23:57:42.6275250Z           "evidence": [
2026-06-03T23:57:42.6275355Z             {
2026-06-03T23:57:42.6275526Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6275643Z               "line": 475
2026-06-03T23:57:42.6275740Z             },
2026-06-03T23:57:42.6275846Z             {
2026-06-03T23:57:42.6276002Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6276122Z               "line": 486
2026-06-03T23:57:42.6276223Z             },
2026-06-03T23:57:42.6276331Z             {
2026-06-03T23:57:42.6276494Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6276605Z               "line": 495
2026-06-03T23:57:42.6276712Z             }
2026-06-03T23:57:42.6276810Z           ]
2026-06-03T23:57:42.6276916Z         }
2026-06-03T23:57:42.6277012Z       }
2026-06-03T23:57:42.6277122Z     },
2026-06-03T23:57:42.6277228Z     {
2026-06-03T23:57:42.6277339Z       "id": "REQ-INST-8",
2026-06-03T23:57:42.6277554Z       "title": "Remote-control mode distinct from local operation",
2026-06-03T23:57:42.6277670Z       "requiredStages": [],
2026-06-03T23:57:42.6277778Z       "stages": {
2026-06-03T23:57:42.6277877Z         "doc": {
2026-06-03T23:57:42.6278001Z           "complete": false,
2026-06-03T23:57:42.6278115Z           "evidence": []
2026-06-03T23:57:42.6278212Z         },
2026-06-03T23:57:42.6278324Z         "impl": {
2026-06-03T23:57:42.6278436Z           "complete": false,
2026-06-03T23:57:42.6278554Z           "evidence": []
2026-06-03T23:57:42.6278650Z         },
2026-06-03T23:57:42.6278754Z         "int": {
2026-06-03T23:57:42.6278872Z           "complete": false,
2026-06-03T23:57:42.6278981Z           "evidence": []
2026-06-03T23:57:42.6279083Z         },
2026-06-03T23:57:42.6279182Z         "unit": {
2026-06-03T23:57:42.6279300Z           "complete": false,
2026-06-03T23:57:42.6279482Z           "evidence": []
2026-06-03T23:57:42.6279591Z         }
2026-06-03T23:57:42.6279781Z       }
2026-06-03T23:57:42.6279876Z     },
2026-06-03T23:57:42.6279979Z     {
2026-06-03T23:57:42.6280091Z       "id": "REQ-INST-9",
2026-06-03T23:57:42.6280335Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-03T23:57:42.6280449Z       "requiredStages": [
2026-06-03T23:57:42.6280557Z         "impl",
2026-06-03T23:57:42.6280665Z         "unit"
2026-06-03T23:57:42.6280765Z       ],
2026-06-03T23:57:42.6280877Z       "stages": {
2026-06-03T23:57:42.6280975Z         "doc": {
2026-06-03T23:57:42.6281093Z           "complete": false,
2026-06-03T23:57:42.6281203Z           "evidence": []
2026-06-03T23:57:42.6281310Z         },
2026-06-03T23:57:42.6281424Z         "impl": {
2026-06-03T23:57:42.6281537Z           "complete": true,
2026-06-03T23:57:42.6281653Z           "evidence": [
2026-06-03T23:57:42.6281752Z             {
2026-06-03T23:57:42.6282192Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6282342Z               "line": 191
2026-06-03T23:57:42.6282492Z             }
2026-06-03T23:57:42.6282647Z           ]
2026-06-03T23:57:42.6282794Z         },
2026-06-03T23:57:42.6282933Z         "int": {
2026-06-03T23:57:42.6283077Z           "complete": false,
2026-06-03T23:57:42.6283226Z           "evidence": []
2026-06-03T23:57:42.6283350Z         },
2026-06-03T23:57:42.6283493Z         "unit": {
2026-06-03T23:57:42.6283651Z           "complete": true,
2026-06-03T23:57:42.6283794Z           "evidence": [
2026-06-03T23:57:42.6283935Z             {
2026-06-03T23:57:42.6284161Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6284372Z               "line": 626
2026-06-03T23:57:42.6284502Z             },
2026-06-03T23:57:42.6284645Z             {
2026-06-03T23:57:42.6284882Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6285153Z               "line": 635
2026-06-03T23:57:42.6285318Z             },
2026-06-03T23:57:42.6285464Z             {
2026-06-03T23:57:42.6285712Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6285882Z               "line": 649
2026-06-03T23:57:42.6286021Z             },
2026-06-03T23:57:42.6286165Z             {
2026-06-03T23:57:42.6286376Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6286551Z               "line": 659
2026-06-03T23:57:42.6286704Z             },
2026-06-03T23:57:42.6286844Z             {
2026-06-03T23:57:42.6287056Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-03T23:57:42.6287200Z               "line": 678
2026-06-03T23:57:42.6287337Z             }
2026-06-03T23:57:42.6287467Z           ]
2026-06-03T23:57:42.6287602Z         }
2026-06-03T23:57:42.6287728Z       }
2026-06-03T23:57:42.6287857Z     },
2026-06-03T23:57:42.6287984Z     {
2026-06-03T23:57:42.6288142Z       "id": "REQ-INSTALL-1",
2026-06-03T23:57:42.6288522Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-03T23:57:42.6288764Z       "requiredStages": [],
2026-06-03T23:57:42.6288986Z       "stages": {
2026-06-03T23:57:42.6289193Z         "doc": {
2026-06-03T23:57:42.6289413Z           "complete": false,
2026-06-03T23:57:42.6289587Z           "evidence": []
2026-06-03T23:57:42.6289726Z         },
2026-06-03T23:57:42.6289862Z         "impl": {
2026-06-03T23:57:42.6290025Z           "complete": false,
2026-06-03T23:57:42.6290187Z           "evidence": []
2026-06-03T23:57:42.6290325Z         },
2026-06-03T23:57:42.6290452Z         "int": {
2026-06-03T23:57:42.6290606Z           "complete": false,
2026-06-03T23:57:42.6290760Z           "evidence": []
2026-06-03T23:57:42.6290883Z         },
2026-06-03T23:57:42.6291021Z         "unit": {
2026-06-03T23:57:42.6291163Z           "complete": false,
2026-06-03T23:57:42.6291308Z           "evidence": []
2026-06-03T23:57:42.6291435Z         }
2026-06-03T23:57:42.6291571Z       }
2026-06-03T23:57:42.6291730Z     },
2026-06-03T23:57:42.6292065Z     {
2026-06-03T23:57:42.6292236Z       "id": "REQ-INSTALL-2",
2026-06-03T23:57:42.6292617Z       "title": "Marketplace-repackaging-friendly install",
2026-06-03T23:57:42.6292785Z       "requiredStages": [],
2026-06-03T23:57:42.6292922Z       "stages": {
2026-06-03T23:57:42.6293067Z         "doc": {
2026-06-03T23:57:42.6293229Z           "complete": false,
2026-06-03T23:57:42.6293379Z           "evidence": []
2026-06-03T23:57:42.6293513Z         },
2026-06-03T23:57:42.6293653Z         "impl": {
2026-06-03T23:57:42.6293832Z           "complete": false,
2026-06-03T23:57:42.6294018Z           "evidence": []
2026-06-03T23:57:42.6294190Z         },
2026-06-03T23:57:42.6294364Z         "int": {
2026-06-03T23:57:42.6294557Z           "complete": false,
2026-06-03T23:57:42.6294758Z           "evidence": []
2026-06-03T23:57:42.6295105Z         },
2026-06-03T23:57:42.6295293Z         "unit": {
2026-06-03T23:57:42.6295488Z           "complete": false,
2026-06-03T23:57:42.6295685Z           "evidence": []
2026-06-03T23:57:42.6295880Z         }
2026-06-03T23:57:42.6296023Z       }
2026-06-03T23:57:42.6296200Z     },
2026-06-03T23:57:42.6296362Z     {
2026-06-03T23:57:42.6296488Z       "id": "REQ-INSTALL-3",
2026-06-03T23:57:42.6296683Z       "title": "Idempotent + interactive-optional first run",
2026-06-03T23:57:42.6296808Z       "requiredStages": [],
2026-06-03T23:57:42.6296917Z       "stages": {
2026-06-03T23:57:42.6297018Z         "doc": {
2026-06-03T23:57:42.6297139Z           "complete": false,
2026-06-03T23:57:42.6297247Z           "evidence": []
2026-06-03T23:57:42.6297351Z         },
2026-06-03T23:57:42.6297452Z         "impl": {
2026-06-03T23:57:42.6297570Z           "complete": false,
2026-06-03T23:57:42.6297686Z           "evidence": []
2026-06-03T23:57:42.6297785Z         },
2026-06-03T23:57:42.6297894Z         "int": {
2026-06-03T23:57:42.6298009Z           "complete": false,
2026-06-03T23:57:42.6298129Z           "evidence": []
2026-06-03T23:57:42.6298229Z         },
2026-06-03T23:57:42.6298349Z         "unit": {
2026-06-03T23:57:42.6298464Z           "complete": false,
2026-06-03T23:57:42.6298588Z           "evidence": []
2026-06-03T23:57:42.6298693Z         }
2026-06-03T23:57:42.6298789Z       }
2026-06-03T23:57:42.6298891Z     },
2026-06-03T23:57:42.6298985Z     {
2026-06-03T23:57:42.6299113Z       "id": "REQ-INSTALL-4",
2026-06-03T23:57:42.6299940Z       "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-03T23:57:42.6300058Z       "requiredStages": [],
2026-06-03T23:57:42.6300171Z       "stages": {
2026-06-03T23:57:42.6300272Z         "doc": {
2026-06-03T23:57:42.6300393Z           "complete": false,
2026-06-03T23:57:42.6300502Z           "evidence": []
2026-06-03T23:57:42.6300606Z         },
2026-06-03T23:57:42.6300717Z         "impl": {
2026-06-03T23:57:42.6300832Z           "complete": false,
2026-06-03T23:57:42.6300956Z           "evidence": []
2026-06-03T23:57:42.6301053Z         },
2026-06-03T23:57:42.6301167Z         "int": {
2026-06-03T23:57:42.6301280Z           "complete": false,
2026-06-03T23:57:42.6301396Z           "evidence": []
2026-06-03T23:57:42.6301496Z         },
2026-06-03T23:57:42.6301596Z         "unit": {
2026-06-03T23:57:42.6301719Z           "complete": false,
2026-06-03T23:57:42.6301827Z           "evidence": []
2026-06-03T23:57:42.6301930Z         }
2026-06-03T23:57:42.6302026Z       }
2026-06-03T23:57:42.6302131Z     },
2026-06-03T23:57:42.6302234Z     {
2026-06-03T23:57:42.6302356Z       "id": "REQ-MANIFEST-1",
2026-06-03T23:57:42.6302603Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-03T23:57:42.6302721Z       "requiredStages": [
2026-06-03T23:57:42.6302825Z         "doc",
2026-06-03T23:57:42.6302927Z         "impl",
2026-06-03T23:57:42.6303033Z         "unit"
2026-06-03T23:57:42.6303135Z       ],
2026-06-03T23:57:42.6303239Z       "stages": {
2026-06-03T23:57:42.6303480Z         "doc": {
2026-06-03T23:57:42.6303600Z           "complete": true,
2026-06-03T23:57:42.6303824Z           "evidence": [
2026-06-03T23:57:42.6303924Z             {
2026-06-03T23:57:42.6304065Z               "path": "docs/MANIFEST.md",
2026-06-03T23:57:42.6304179Z               "line": 19
2026-06-03T23:57:42.6304277Z             }
2026-06-03T23:57:42.6304385Z           ]
2026-06-03T23:57:42.6304482Z         },
2026-06-03T23:57:42.6304593Z         "impl": {
2026-06-03T23:57:42.6304706Z           "complete": true,
2026-06-03T23:57:42.6304826Z           "evidence": [
2026-06-03T23:57:42.6305071Z             {
2026-06-03T23:57:42.6305318Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6305442Z               "line": 18
2026-06-03T23:57:42.6305541Z             }
2026-06-03T23:57:42.6305647Z           ]
2026-06-03T23:57:42.6305745Z         },
2026-06-03T23:57:42.6305854Z         "int": {
2026-06-03T23:57:42.6305977Z           "complete": false,
2026-06-03T23:57:42.6306094Z           "evidence": []
2026-06-03T23:57:42.6306200Z         },
2026-06-03T23:57:42.6306309Z         "unit": {
2026-06-03T23:57:42.6306429Z           "complete": true,
2026-06-03T23:57:42.6306542Z           "evidence": [
2026-06-03T23:57:42.6306652Z             {
2026-06-03T23:57:42.6306825Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6306933Z               "line": 695
2026-06-03T23:57:42.6307043Z             },
2026-06-03T23:57:42.6307141Z             {
2026-06-03T23:57:42.6307309Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6307418Z               "line": 791
2026-06-03T23:57:42.6307525Z             },
2026-06-03T23:57:42.6307631Z             {
2026-06-03T23:57:42.6307791Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6307909Z               "line": 803
2026-06-03T23:57:42.6308008Z             },
2026-06-03T23:57:42.6308117Z             {
2026-06-03T23:57:42.6308282Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6308403Z               "line": 811
2026-06-03T23:57:42.6308533Z             },
2026-06-03T23:57:42.6308632Z             {
2026-06-03T23:57:42.6308795Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6308903Z               "line": 828
2026-06-03T23:57:42.6309009Z             },
2026-06-03T23:57:42.6309108Z             {
2026-06-03T23:57:42.6309274Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6309390Z               "line": 842
2026-06-03T23:57:42.6309488Z             },
2026-06-03T23:57:42.6309592Z             {
2026-06-03T23:57:42.6309750Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6309867Z               "line": 857
2026-06-03T23:57:42.6309965Z             },
2026-06-03T23:57:42.6310070Z             {
2026-06-03T23:57:42.6310234Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6310347Z               "line": 872
2026-06-03T23:57:42.6310452Z             },
2026-06-03T23:57:42.6310548Z             {
2026-06-03T23:57:42.6310718Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6310832Z               "line": 887
2026-06-03T23:57:42.6310931Z             },
2026-06-03T23:57:42.6311035Z             {
2026-06-03T23:57:42.6311192Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6311306Z               "line": 898
2026-06-03T23:57:42.6311402Z             }
2026-06-03T23:57:42.6311507Z           ]
2026-06-03T23:57:42.6311611Z         }
2026-06-03T23:57:42.6311709Z       }
2026-06-03T23:57:42.6311810Z     },
2026-06-03T23:57:42.6311905Z     {
2026-06-03T23:57:42.6312026Z       "id": "REQ-MIGRATE-1",
2026-06-03T23:57:42.6312249Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-03T23:57:42.6312373Z       "requiredStages": [],
2026-06-03T23:57:42.6312483Z       "stages": {
2026-06-03T23:57:42.6312584Z         "doc": {
2026-06-03T23:57:42.6312799Z           "complete": false,
2026-06-03T23:57:42.6312917Z           "evidence": []
2026-06-03T23:57:42.6313090Z         },
2026-06-03T23:57:42.6313194Z         "impl": {
2026-06-03T23:57:42.6313319Z           "complete": false,
2026-06-03T23:57:42.6313442Z           "evidence": []
2026-06-03T23:57:42.6313539Z         },
2026-06-03T23:57:42.6313648Z         "int": {
2026-06-03T23:57:42.6313761Z           "complete": false,
2026-06-03T23:57:42.6313882Z           "evidence": []
2026-06-03T23:57:42.6313981Z         },
2026-06-03T23:57:42.6314091Z         "unit": {
2026-06-03T23:57:42.6314211Z           "complete": false,
2026-06-03T23:57:42.6314321Z           "evidence": []
2026-06-03T23:57:42.6314427Z         }
2026-06-03T23:57:42.6314528Z       }
2026-06-03T23:57:42.6314632Z     },
2026-06-03T23:57:42.6314730Z     {
2026-06-03T23:57:42.6314881Z       "id": "REQ-MSG-1",
2026-06-03T23:57:42.6315560Z       "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-03T23:57:42.6315689Z       "requiredStages": [
2026-06-03T23:57:42.6315800Z         "impl",
2026-06-03T23:57:42.6315901Z         "unit",
2026-06-03T23:57:42.6316012Z         "int"
2026-06-03T23:57:42.6316111Z       ],
2026-06-03T23:57:42.6316223Z       "stages": {
2026-06-03T23:57:42.6316337Z         "doc": {
2026-06-03T23:57:42.6316452Z           "complete": false,
2026-06-03T23:57:42.6316576Z           "evidence": []
2026-06-03T23:57:42.6316679Z         },
2026-06-03T23:57:42.6316796Z         "impl": {
2026-06-03T23:57:42.6316917Z           "complete": true,
2026-06-03T23:57:42.6317038Z           "evidence": [
2026-06-03T23:57:42.6317150Z             {
2026-06-03T23:57:42.6317304Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6317422Z               "line": 28
2026-06-03T23:57:42.6317523Z             },
2026-06-03T23:57:42.6317632Z             {
2026-06-03T23:57:42.6317794Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6317916Z               "line": 91
2026-06-03T23:57:42.6318032Z             },
2026-06-03T23:57:42.6318132Z             {
2026-06-03T23:57:42.6318289Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6318401Z               "line": 134
2026-06-03T23:57:42.6318508Z             },
2026-06-03T23:57:42.6318609Z             {
2026-06-03T23:57:42.6318770Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6318890Z               "line": 159
2026-06-03T23:57:42.6318989Z             },
2026-06-03T23:57:42.6319098Z             {
2026-06-03T23:57:42.6319252Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T23:57:42.6319369Z               "line": 18
2026-06-03T23:57:42.6319468Z             },
2026-06-03T23:57:42.6319580Z             {
2026-06-03T23:57:42.6319732Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6319841Z               "line": 13
2026-06-03T23:57:42.6319954Z             },
2026-06-03T23:57:42.6320056Z             {
2026-06-03T23:57:42.6320212Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6320328Z               "line": 61
2026-06-03T23:57:42.6320440Z             },
2026-06-03T23:57:42.6320547Z             {
2026-06-03T23:57:42.6320686Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T23:57:42.6320802Z               "line": 10
2026-06-03T23:57:42.6320903Z             }
2026-06-03T23:57:42.6321012Z           ]
2026-06-03T23:57:42.6321112Z         },
2026-06-03T23:57:42.6321224Z         "int": {
2026-06-03T23:57:42.6321348Z           "complete": true,
2026-06-03T23:57:42.6321457Z           "evidence": [
2026-06-03T23:57:42.6321565Z             {
2026-06-03T23:57:42.6321751Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T23:57:42.6321865Z               "line": 9
2026-06-03T23:57:42.6321966Z             },
2026-06-03T23:57:42.6322073Z             {
2026-06-03T23:57:42.6322338Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T23:57:42.6322452Z               "line": 66
2026-06-03T23:57:42.6322627Z             },
2026-06-03T23:57:42.6322727Z             {
2026-06-03T23:57:42.6322912Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T23:57:42.6323026Z               "line": 116
2026-06-03T23:57:42.6323136Z             }
2026-06-03T23:57:42.6323245Z           ]
2026-06-03T23:57:42.6323345Z         },
2026-06-03T23:57:42.6323458Z         "unit": {
2026-06-03T23:57:42.6323572Z           "complete": true,
2026-06-03T23:57:42.6323689Z           "evidence": [
2026-06-03T23:57:42.6323790Z             {
2026-06-03T23:57:42.6323946Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6324062Z               "line": 188
2026-06-03T23:57:42.6324163Z             },
2026-06-03T23:57:42.6324269Z             {
2026-06-03T23:57:42.6324418Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6324534Z               "line": 217
2026-06-03T23:57:42.6324651Z             },
2026-06-03T23:57:42.6324753Z             {
2026-06-03T23:57:42.6324916Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6325126Z               "line": 262
2026-06-03T23:57:42.6325238Z             },
2026-06-03T23:57:42.6325339Z             {
2026-06-03T23:57:42.6325495Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6325613Z               "line": 285
2026-06-03T23:57:42.6325716Z             },
2026-06-03T23:57:42.6325829Z             {
2026-06-03T23:57:42.6325979Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T23:57:42.6326100Z               "line": 307
2026-06-03T23:57:42.6326202Z             },
2026-06-03T23:57:42.6326311Z             {
2026-06-03T23:57:42.6326476Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T23:57:42.6326588Z               "line": 203
2026-06-03T23:57:42.6326702Z             },
2026-06-03T23:57:42.6326806Z             {
2026-06-03T23:57:42.6326976Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T23:57:42.6327089Z               "line": 233
2026-06-03T23:57:42.6327211Z             },
2026-06-03T23:57:42.6327322Z             {
2026-06-03T23:57:42.6327473Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T23:57:42.6327596Z               "line": 247
2026-06-03T23:57:42.6327699Z             },
2026-06-03T23:57:42.6327809Z             {
2026-06-03T23:57:42.6327958Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T23:57:42.6328074Z               "line": 259
2026-06-03T23:57:42.6328185Z             },
2026-06-03T23:57:42.6328288Z             {
2026-06-03T23:57:42.6328437Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6328546Z               "line": 158
2026-06-03T23:57:42.6328654Z             },
2026-06-03T23:57:42.6328754Z             {
2026-06-03T23:57:42.6328906Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T23:57:42.6329024Z               "line": 235
2026-06-03T23:57:42.6329130Z             },
2026-06-03T23:57:42.6329239Z             {
2026-06-03T23:57:42.6329389Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T23:57:42.6329505Z               "line": 68
2026-06-03T23:57:42.6329605Z             },
2026-06-03T23:57:42.6329712Z             {
2026-06-03T23:57:42.6329861Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T23:57:42.6329971Z               "line": 74
2026-06-03T23:57:42.6330080Z             },
2026-06-03T23:57:42.6330179Z             {
2026-06-03T23:57:42.6330323Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T23:57:42.6330430Z               "line": 80
2026-06-03T23:57:42.6330538Z             },
2026-06-03T23:57:42.6330648Z             {
2026-06-03T23:57:42.6330785Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T23:57:42.6330902Z               "line": 99
2026-06-03T23:57:42.6330999Z             }
2026-06-03T23:57:42.6331106Z           ]
2026-06-03T23:57:42.6331206Z         }
2026-06-03T23:57:42.6331392Z       }
2026-06-03T23:57:42.6331501Z     },
2026-06-03T23:57:42.6331599Z     {
2026-06-03T23:57:42.6331790Z       "id": "REQ-MSG-2",
2026-06-03T23:57:42.6332139Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-03T23:57:42.6332267Z       "requiredStages": [
2026-06-03T23:57:42.6332370Z         "impl",
2026-06-03T23:57:42.6332478Z         "unit"
2026-06-03T23:57:42.6332583Z       ],
2026-06-03T23:57:42.6332689Z       "stages": {
2026-06-03T23:57:42.6332797Z         "doc": {
2026-06-03T23:57:42.6332914Z           "complete": false,
2026-06-03T23:57:42.6333034Z           "evidence": []
2026-06-03T23:57:42.6333135Z         },
2026-06-03T23:57:42.6333244Z         "impl": {
2026-06-03T23:57:42.6333364Z           "complete": true,
2026-06-03T23:57:42.6333473Z           "evidence": [
2026-06-03T23:57:42.6333580Z             {
2026-06-03T23:57:42.6333722Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6333843Z               "line": 11
2026-06-03T23:57:42.6333942Z             },
2026-06-03T23:57:42.6334051Z             {
2026-06-03T23:57:42.6334206Z               "path": "crates/spt/src/main.rs",
2026-06-03T23:57:42.6334313Z               "line": 8
2026-06-03T23:57:42.6334421Z             }
2026-06-03T23:57:42.6334522Z           ]
2026-06-03T23:57:42.6334632Z         },
2026-06-03T23:57:42.6334735Z         "int": {
2026-06-03T23:57:42.6334860Z           "complete": false,
2026-06-03T23:57:42.6335062Z           "evidence": []
2026-06-03T23:57:42.6335170Z         },
2026-06-03T23:57:42.6335284Z         "unit": {
2026-06-03T23:57:42.6335400Z           "complete": true,
2026-06-03T23:57:42.6335519Z           "evidence": [
2026-06-03T23:57:42.6335620Z             {
2026-06-03T23:57:42.6335767Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6335889Z               "line": 622
2026-06-03T23:57:42.6335991Z             },
2026-06-03T23:57:42.6336102Z             {
2026-06-03T23:57:42.6336246Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6336365Z               "line": 659
2026-06-03T23:57:42.6336475Z             },
2026-06-03T23:57:42.6336584Z             {
2026-06-03T23:57:42.6336729Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6336841Z               "line": 668
2026-06-03T23:57:42.6336955Z             },
2026-06-03T23:57:42.6337056Z             {
2026-06-03T23:57:42.6337198Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6337311Z               "line": 680
2026-06-03T23:57:42.6337427Z             }
2026-06-03T23:57:42.6337539Z           ]
2026-06-03T23:57:42.6337639Z         }
2026-06-03T23:57:42.6337747Z       }
2026-06-03T23:57:42.6337844Z     },
2026-06-03T23:57:42.6337949Z     {
2026-06-03T23:57:42.6338065Z       "id": "REQ-MSG-3",
2026-06-03T23:57:42.6338574Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-03T23:57:42.6338708Z       "requiredStages": [
2026-06-03T23:57:42.6338814Z         "impl",
2026-06-03T23:57:42.6338926Z         "unit",
2026-06-03T23:57:42.6339038Z         "int"
2026-06-03T23:57:42.6339148Z       ],
2026-06-03T23:57:42.6339261Z       "stages": {
2026-06-03T23:57:42.6339362Z         "doc": {
2026-06-03T23:57:42.6339489Z           "complete": false,
2026-06-03T23:57:42.6339600Z           "evidence": []
2026-06-03T23:57:42.6339708Z         },
2026-06-03T23:57:42.6339812Z         "impl": {
2026-06-03T23:57:42.6339935Z           "complete": true,
2026-06-03T23:57:42.6340043Z           "evidence": [
2026-06-03T23:57:42.6340155Z             {
2026-06-03T23:57:42.6340316Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T23:57:42.6340424Z               "line": 19
2026-06-03T23:57:42.6340534Z             },
2026-06-03T23:57:42.6340634Z             {
2026-06-03T23:57:42.6340790Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6340906Z               "line": 21
2026-06-03T23:57:42.6341091Z             },
2026-06-03T23:57:42.6341201Z             {
2026-06-03T23:57:42.6341354Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6341541Z               "line": 48
2026-06-03T23:57:42.6341643Z             },
2026-06-03T23:57:42.6341754Z             {
2026-06-03T23:57:42.6341910Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6342020Z               "line": 106
2026-06-03T23:57:42.6342127Z             }
2026-06-03T23:57:42.6342227Z           ]
2026-06-03T23:57:42.6342334Z         },
2026-06-03T23:57:42.6342437Z         "int": {
2026-06-03T23:57:42.6342560Z           "complete": true,
2026-06-03T23:57:42.6342678Z           "evidence": [
2026-06-03T23:57:42.6342779Z             {
2026-06-03T23:57:42.6342967Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T23:57:42.6343074Z               "line": 10
2026-06-03T23:57:42.6343180Z             },
2026-06-03T23:57:42.6343281Z             {
2026-06-03T23:57:42.6343477Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T23:57:42.6343593Z               "line": 66
2026-06-03T23:57:42.6343701Z             }
2026-06-03T23:57:42.6343806Z           ]
2026-06-03T23:57:42.6343906Z         },
2026-06-03T23:57:42.6344018Z         "unit": {
2026-06-03T23:57:42.6344132Z           "complete": true,
2026-06-03T23:57:42.6344254Z           "evidence": [
2026-06-03T23:57:42.6344364Z             {
2026-06-03T23:57:42.6344510Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6344626Z               "line": 160
2026-06-03T23:57:42.6344728Z             },
2026-06-03T23:57:42.6344836Z             {
2026-06-03T23:57:42.6345056Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6345181Z               "line": 179
2026-06-03T23:57:42.6345293Z             },
2026-06-03T23:57:42.6345398Z             {
2026-06-03T23:57:42.6345550Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T23:57:42.6345662Z               "line": 198
2026-06-03T23:57:42.6345778Z             }
2026-06-03T23:57:42.6345879Z           ]
2026-06-03T23:57:42.6345991Z         }
2026-06-03T23:57:42.6346107Z       }
2026-06-03T23:57:42.6346207Z     },
2026-06-03T23:57:42.6346314Z     {
2026-06-03T23:57:42.6346433Z       "id": "REQ-NET-1",
2026-06-03T23:57:42.6346686Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-03T23:57:42.6346803Z       "requiredStages": [
2026-06-03T23:57:42.6346920Z         "impl",
2026-06-03T23:57:42.6347033Z         "unit"
2026-06-03T23:57:42.6347132Z       ],
2026-06-03T23:57:42.6347248Z       "stages": {
2026-06-03T23:57:42.6347350Z         "doc": {
2026-06-03T23:57:42.6347474Z           "complete": false,
2026-06-03T23:57:42.6347584Z           "evidence": []
2026-06-03T23:57:42.6347691Z         },
2026-06-03T23:57:42.6347803Z         "impl": {
2026-06-03T23:57:42.6347918Z           "complete": true,
2026-06-03T23:57:42.6348038Z           "evidence": [
2026-06-03T23:57:42.6348142Z             {
2026-06-03T23:57:42.6348316Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6348431Z               "line": 64
2026-06-03T23:57:42.6348552Z             },
2026-06-03T23:57:42.6348662Z             {
2026-06-03T23:57:42.6348879Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6349063Z               "line": 106
2026-06-03T23:57:42.6349190Z             },
2026-06-03T23:57:42.6349351Z             {
2026-06-03T23:57:42.6349542Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6349879Z               "line": 122
2026-06-03T23:57:42.6350016Z             },
2026-06-03T23:57:42.6354314Z             {
2026-06-03T23:57:42.6354538Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6354668Z               "line": 159
2026-06-03T23:57:42.6354776Z             },
2026-06-03T23:57:42.6354885Z             {
2026-06-03T23:57:42.6355338Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6355672Z               "line": 190
2026-06-03T23:57:42.6355797Z             },
2026-06-03T23:57:42.6355899Z             {
2026-06-03T23:57:42.6356153Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6356266Z               "line": 196
2026-06-03T23:57:42.6356380Z             },
2026-06-03T23:57:42.6356483Z             {
2026-06-03T23:57:42.6356653Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6356774Z               "line": 212
2026-06-03T23:57:42.6356874Z             }
2026-06-03T23:57:42.6356982Z           ]
2026-06-03T23:57:42.6357082Z         },
2026-06-03T23:57:42.6357195Z         "int": {
2026-06-03T23:57:42.6357315Z           "complete": false,
2026-06-03T23:57:42.6357445Z           "evidence": []
2026-06-03T23:57:42.6357561Z         },
2026-06-03T23:57:42.6357668Z         "unit": {
2026-06-03T23:57:42.6357799Z           "complete": true,
2026-06-03T23:57:42.6357912Z           "evidence": [
2026-06-03T23:57:42.6358023Z             {
2026-06-03T23:57:42.6358188Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6358314Z               "line": 259
2026-06-03T23:57:42.6358420Z             },
2026-06-03T23:57:42.6358520Z             {
2026-06-03T23:57:42.6358684Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6358792Z               "line": 275
2026-06-03T23:57:42.6358901Z             },
2026-06-03T23:57:42.6359000Z             {
2026-06-03T23:57:42.6359163Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6359285Z               "line": 305
2026-06-03T23:57:42.6359383Z             }
2026-06-03T23:57:42.6359488Z           ]
2026-06-03T23:57:42.6359588Z         }
2026-06-03T23:57:42.6359693Z       }
2026-06-03T23:57:42.6359792Z     },
2026-06-03T23:57:42.6359899Z     {
2026-06-03T23:57:42.6360017Z       "id": "REQ-NET-2",
2026-06-03T23:57:42.6360264Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-03T23:57:42.6360396Z       "requiredStages": [
2026-06-03T23:57:42.6360499Z         "impl"
2026-06-03T23:57:42.6360606Z       ],
2026-06-03T23:57:42.6360718Z       "stages": {
2026-06-03T23:57:42.6360826Z         "doc": {
2026-06-03T23:57:42.6360951Z           "complete": false,
2026-06-03T23:57:42.6361062Z           "evidence": []
2026-06-03T23:57:42.6361168Z         },
2026-06-03T23:57:42.6361272Z         "impl": {
2026-06-03T23:57:42.6361392Z           "complete": true,
2026-06-03T23:57:42.6361502Z           "evidence": [
2026-06-03T23:57:42.6361611Z             {
2026-06-03T23:57:42.6361781Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.6361892Z               "line": 40
2026-06-03T23:57:42.6362003Z             },
2026-06-03T23:57:42.6362103Z             {
2026-06-03T23:57:42.6362271Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6362380Z               "line": 38
2026-06-03T23:57:42.6362488Z             },
2026-06-03T23:57:42.6362597Z             {
2026-06-03T23:57:42.6362762Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6362877Z               "line": 48
2026-06-03T23:57:42.6362991Z             },
2026-06-03T23:57:42.6363101Z             {
2026-06-03T23:57:42.6363257Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6363380Z               "line": 106
2026-06-03T23:57:42.6363490Z             },
2026-06-03T23:57:42.6363592Z             {
2026-06-03T23:57:42.6363756Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T23:57:42.6363866Z               "line": 122
2026-06-03T23:57:42.6363974Z             }
2026-06-03T23:57:42.6364076Z           ]
2026-06-03T23:57:42.6364186Z         },
2026-06-03T23:57:42.6364298Z         "int": {
2026-06-03T23:57:42.6364416Z           "complete": false,
2026-06-03T23:57:42.6364542Z           "evidence": []
2026-06-03T23:57:42.6364644Z         },
2026-06-03T23:57:42.6364756Z         "unit": {
2026-06-03T23:57:42.6364876Z           "complete": true,
2026-06-03T23:57:42.6365196Z           "evidence": [
2026-06-03T23:57:42.6365320Z             {
2026-06-03T23:57:42.6365556Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.6365679Z               "line": 229
2026-06-03T23:57:42.6365781Z             }
2026-06-03T23:57:42.6365898Z           ]
2026-06-03T23:57:42.6366001Z         }
2026-06-03T23:57:42.6366113Z       }
2026-06-03T23:57:42.6366224Z     },
2026-06-03T23:57:42.6366324Z     {
2026-06-03T23:57:42.6366448Z       "id": "REQ-NET-3",
2026-06-03T23:57:42.6366682Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-03T23:57:42.6366813Z       "requiredStages": [],
2026-06-03T23:57:42.6366920Z       "stages": {
2026-06-03T23:57:42.6367035Z         "doc": {
2026-06-03T23:57:42.6367165Z           "complete": false,
2026-06-03T23:57:42.6367278Z           "evidence": []
2026-06-03T23:57:42.6367386Z         },
2026-06-03T23:57:42.6367491Z         "impl": {
2026-06-03T23:57:42.6367613Z           "complete": false,
2026-06-03T23:57:42.6367732Z           "evidence": []
2026-06-03T23:57:42.6367839Z         },
2026-06-03T23:57:42.6367956Z         "int": {
2026-06-03T23:57:42.6368071Z           "complete": false,
2026-06-03T23:57:42.6368188Z           "evidence": []
2026-06-03T23:57:42.6368290Z         },
2026-06-03T23:57:42.6368401Z         "unit": {
2026-06-03T23:57:42.6368517Z           "complete": false,
2026-06-03T23:57:42.6368636Z           "evidence": []
2026-06-03T23:57:42.6368742Z         }
2026-06-03T23:57:42.6368840Z       }
2026-06-03T23:57:42.6368943Z     },
2026-06-03T23:57:42.6369040Z     {
2026-06-03T23:57:42.6369171Z       "id": "REQ-NODE-IDENTITY",
2026-06-03T23:57:42.6369483Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-03T23:57:42.6369609Z       "requiredStages": [
2026-06-03T23:57:42.6369723Z         "impl",
2026-06-03T23:57:42.6369825Z         "unit"
2026-06-03T23:57:42.6369929Z       ],
2026-06-03T23:57:42.6370037Z       "stages": {
2026-06-03T23:57:42.6370152Z         "doc": {
2026-06-03T23:57:42.6370269Z           "complete": false,
2026-06-03T23:57:42.6370400Z           "evidence": []
2026-06-03T23:57:42.6370503Z         },
2026-06-03T23:57:42.6370612Z         "impl": {
2026-06-03T23:57:42.6370731Z           "complete": true,
2026-06-03T23:57:42.6370841Z           "evidence": [
2026-06-03T23:57:42.6370949Z             {
2026-06-03T23:57:42.6371113Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6371232Z               "line": 60
2026-06-03T23:57:42.6371343Z             },
2026-06-03T23:57:42.6371446Z             {
2026-06-03T23:57:42.6371611Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6371719Z               "line": 68
2026-06-03T23:57:42.6371828Z             },
2026-06-03T23:57:42.6371928Z             {
2026-06-03T23:57:42.6372096Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6372213Z               "line": 86
2026-06-03T23:57:42.6372313Z             },
2026-06-03T23:57:42.6372425Z             {
2026-06-03T23:57:42.6372580Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6372707Z               "line": 120
2026-06-03T23:57:42.6372808Z             },
2026-06-03T23:57:42.6372920Z             {
2026-06-03T23:57:42.6373082Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6373197Z               "line": 127
2026-06-03T23:57:42.6373308Z             },
2026-06-03T23:57:42.6373408Z             {
2026-06-03T23:57:42.6373572Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6373685Z               "line": 143
2026-06-03T23:57:42.6373793Z             },
2026-06-03T23:57:42.6373901Z             {
2026-06-03T23:57:42.6374055Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-03T23:57:42.6374172Z               "line": 16
2026-06-03T23:57:42.6374271Z             }
2026-06-03T23:57:42.6374379Z           ]
2026-06-03T23:57:42.6374478Z         },
2026-06-03T23:57:42.6374653Z         "int": {
2026-06-03T23:57:42.6374786Z           "complete": false,
2026-06-03T23:57:42.6374899Z           "evidence": []
2026-06-03T23:57:42.6375160Z         },
2026-06-03T23:57:42.6375268Z         "unit": {
2026-06-03T23:57:42.6375399Z           "complete": true,
2026-06-03T23:57:42.6375511Z           "evidence": [
2026-06-03T23:57:42.6375628Z             {
2026-06-03T23:57:42.6375792Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6375904Z               "line": 199
2026-06-03T23:57:42.6376013Z             },
2026-06-03T23:57:42.6376114Z             {
2026-06-03T23:57:42.6376281Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6376409Z               "line": 218
2026-06-03T23:57:42.6376514Z             },
2026-06-03T23:57:42.6376626Z             {
2026-06-03T23:57:42.6376782Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6376902Z               "line": 232
2026-06-03T23:57:42.6377005Z             },
2026-06-03T23:57:42.6377126Z             {
2026-06-03T23:57:42.6377293Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T23:57:42.6377417Z               "line": 248
2026-06-03T23:57:42.6377531Z             },
2026-06-03T23:57:42.6377633Z             {
2026-06-03T23:57:42.6377796Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-03T23:57:42.6377908Z               "line": 107
2026-06-03T23:57:42.6378022Z             },
2026-06-03T23:57:42.6378130Z             {
2026-06-03T23:57:42.6378282Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-03T23:57:42.6378402Z               "line": 123
2026-06-03T23:57:42.6378503Z             },
2026-06-03T23:57:42.6378612Z             {
2026-06-03T23:57:42.6378762Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-03T23:57:42.6378878Z               "line": 135
2026-06-03T23:57:42.6378984Z             }
2026-06-03T23:57:42.6379082Z           ]
2026-06-03T23:57:42.6379184Z         }
2026-06-03T23:57:42.6379283Z       }
2026-06-03T23:57:42.6379394Z     },
2026-06-03T23:57:42.6379491Z     {
2026-06-03T23:57:42.6379615Z       "id": "REQ-NOTIF-1",
2026-06-03T23:57:42.6380106Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-03T23:57:42.6380228Z       "requiredStages": [],
2026-06-03T23:57:42.6380342Z       "stages": {
2026-06-03T23:57:42.6380443Z         "doc": {
2026-06-03T23:57:42.6380565Z           "complete": false,
2026-06-03T23:57:42.6380677Z           "evidence": []
2026-06-03T23:57:42.6380784Z         },
2026-06-03T23:57:42.6380898Z         "impl": {
2026-06-03T23:57:42.6381016Z           "complete": false,
2026-06-03T23:57:42.6381137Z           "evidence": []
2026-06-03T23:57:42.6381237Z         },
2026-06-03T23:57:42.6381350Z         "int": {
2026-06-03T23:57:42.6381470Z           "complete": false,
2026-06-03T23:57:42.6381593Z           "evidence": []
2026-06-03T23:57:42.6381701Z         },
2026-06-03T23:57:42.6381804Z         "unit": {
2026-06-03T23:57:42.6381935Z           "complete": false,
2026-06-03T23:57:42.6382052Z           "evidence": []
2026-06-03T23:57:42.6382164Z         }
2026-06-03T23:57:42.6382263Z       }
2026-06-03T23:57:42.6382369Z     },
2026-06-03T23:57:42.6382478Z     {
2026-06-03T23:57:42.6382597Z       "id": "REQ-NOTIF-2",
2026-06-03T23:57:42.6382945Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-03T23:57:42.6383065Z       "requiredStages": [],
2026-06-03T23:57:42.6383176Z       "stages": {
2026-06-03T23:57:42.6383279Z         "doc": {
2026-06-03T23:57:42.6383402Z           "complete": false,
2026-06-03T23:57:42.6383520Z           "evidence": []
2026-06-03T23:57:42.6383620Z         },
2026-06-03T23:57:42.6383732Z         "impl": {
2026-06-03T23:57:42.6383847Z           "complete": false,
2026-06-03T23:57:42.6383965Z           "evidence": []
2026-06-03T23:57:42.6384064Z         },
2026-06-03T23:57:42.6384175Z         "int": {
2026-06-03T23:57:42.6384434Z           "complete": false,
2026-06-03T23:57:42.6384551Z           "evidence": []
2026-06-03T23:57:42.6384719Z         },
2026-06-03T23:57:42.6384823Z         "unit": {
2026-06-03T23:57:42.6385019Z           "complete": false,
2026-06-03T23:57:42.6385136Z           "evidence": []
2026-06-03T23:57:42.6385248Z         }
2026-06-03T23:57:42.6385355Z       }
2026-06-03T23:57:42.6385452Z     },
2026-06-03T23:57:42.6385556Z     {
2026-06-03T23:57:42.6385672Z       "id": "REQ-PAIR-1",
2026-06-03T23:57:42.6385824Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-03T23:57:42.6385942Z       "requiredStages": [
2026-06-03T23:57:42.6386057Z         "impl",
2026-06-03T23:57:42.6386170Z         "unit"
2026-06-03T23:57:42.6386269Z       ],
2026-06-03T23:57:42.6386383Z       "stages": {
2026-06-03T23:57:42.6386490Z         "doc": {
2026-06-03T23:57:42.6386616Z           "complete": false,
2026-06-03T23:57:42.6386729Z           "evidence": []
2026-06-03T23:57:42.6386838Z         },
2026-06-03T23:57:42.6386958Z         "impl": {
2026-06-03T23:57:42.6387074Z           "complete": true,
2026-06-03T23:57:42.6387206Z           "evidence": [
2026-06-03T23:57:42.6387311Z             {
2026-06-03T23:57:42.6387495Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6387605Z               "line": 27
2026-06-03T23:57:42.6387713Z             },
2026-06-03T23:57:42.6387819Z             {
2026-06-03T23:57:42.6387989Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6388105Z               "line": 88
2026-06-03T23:57:42.6388206Z             },
2026-06-03T23:57:42.6388317Z             {
2026-06-03T23:57:42.6388483Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6388604Z               "line": 110
2026-06-03T23:57:42.6388712Z             },
2026-06-03T23:57:42.6388809Z             {
2026-06-03T23:57:42.6388983Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6389092Z               "line": 153
2026-06-03T23:57:42.6389203Z             },
2026-06-03T23:57:42.6389302Z             {
2026-06-03T23:57:42.6389489Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6389605Z               "line": 182
2026-06-03T23:57:42.6389704Z             },
2026-06-03T23:57:42.6389811Z             {
2026-06-03T23:57:42.6389977Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6390092Z               "line": 29
2026-06-03T23:57:42.6390192Z             },
2026-06-03T23:57:42.6390296Z             {
2026-06-03T23:57:42.6390497Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T23:57:42.6390606Z               "line": 31
2026-06-03T23:57:42.6390712Z             },
2026-06-03T23:57:42.6390810Z             {
2026-06-03T23:57:42.6390983Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6391097Z               "line": 40
2026-06-03T23:57:42.6391195Z             },
2026-06-03T23:57:42.6391305Z             {
2026-06-03T23:57:42.6391471Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6391594Z               "line": 131
2026-06-03T23:57:42.6391695Z             },
2026-06-03T23:57:42.6391803Z             {
2026-06-03T23:57:42.6391973Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6392087Z               "line": 306
2026-06-03T23:57:42.6392193Z             }
2026-06-03T23:57:42.6392293Z           ]
2026-06-03T23:57:42.6392398Z         },
2026-06-03T23:57:42.6392498Z         "int": {
2026-06-03T23:57:42.6392620Z           "complete": false,
2026-06-03T23:57:42.6392734Z           "evidence": []
2026-06-03T23:57:42.6392834Z         },
2026-06-03T23:57:42.6392944Z         "unit": {
2026-06-03T23:57:42.6393058Z           "complete": true,
2026-06-03T23:57:42.6393178Z           "evidence": [
2026-06-03T23:57:42.6393278Z             {
2026-06-03T23:57:42.6393454Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6393650Z               "line": 236
2026-06-03T23:57:42.6393757Z             },
2026-06-03T23:57:42.6393929Z             {
2026-06-03T23:57:42.6394097Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T23:57:42.6394213Z               "line": 349
2026-06-03T23:57:42.6394316Z             },
2026-06-03T23:57:42.6394425Z             {
2026-06-03T23:57:42.6394604Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6394726Z               "line": 194
2026-06-03T23:57:42.6394828Z             },
2026-06-03T23:57:42.6395070Z             {
2026-06-03T23:57:42.6395349Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6395484Z               "line": 216
2026-06-03T23:57:42.6395588Z             },
2026-06-03T23:57:42.6395701Z             {
2026-06-03T23:57:42.6395880Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6395995Z               "line": 230
2026-06-03T23:57:42.6396106Z             },
2026-06-03T23:57:42.6396216Z             {
2026-06-03T23:57:42.6396399Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6396519Z               "line": 242
2026-06-03T23:57:42.6396628Z             },
2026-06-03T23:57:42.6396735Z             {
2026-06-03T23:57:42.6396902Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6397022Z               "line": 256
2026-06-03T23:57:42.6397122Z             },
2026-06-03T23:57:42.6397233Z             {
2026-06-03T23:57:42.6397397Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6397517Z               "line": 270
2026-06-03T23:57:42.6397625Z             },
2026-06-03T23:57:42.6397722Z             {
2026-06-03T23:57:42.6397889Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6398000Z               "line": 277
2026-06-03T23:57:42.6398109Z             },
2026-06-03T23:57:42.6398208Z             {
2026-06-03T23:57:42.6398383Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T23:57:42.6398496Z               "line": 295
2026-06-03T23:57:42.6398605Z             },
2026-06-03T23:57:42.6398711Z             {
2026-06-03T23:57:42.6398873Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6398988Z               "line": 692
2026-06-03T23:57:42.6399090Z             },
2026-06-03T23:57:42.6399196Z             {
2026-06-03T23:57:42.6399367Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6399479Z               "line": 753
2026-06-03T23:57:42.6399586Z             },
2026-06-03T23:57:42.6399685Z             {
2026-06-03T23:57:42.6399853Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6399967Z               "line": 810
2026-06-03T23:57:42.6400066Z             },
2026-06-03T23:57:42.6400171Z             {
2026-06-03T23:57:42.6400336Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6400459Z               "line": 864
2026-06-03T23:57:42.6400559Z             },
2026-06-03T23:57:42.6400671Z             {
2026-06-03T23:57:42.6400845Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6400957Z               "line": 916
2026-06-03T23:57:42.6401063Z             },
2026-06-03T23:57:42.6401165Z             {
2026-06-03T23:57:42.6401337Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6401450Z               "line": 1080
2026-06-03T23:57:42.6401558Z             }
2026-06-03T23:57:42.6401667Z           ]
2026-06-03T23:57:42.6401767Z         }
2026-06-03T23:57:42.6401877Z       }
2026-06-03T23:57:42.6401977Z     },
2026-06-03T23:57:42.6402084Z     {
2026-06-03T23:57:42.6402200Z       "id": "REQ-PAIR-2",
2026-06-03T23:57:42.6402391Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-03T23:57:42.6402514Z       "requiredStages": [
2026-06-03T23:57:42.6402619Z         "impl",
2026-06-03T23:57:42.6402732Z         "unit"
2026-06-03T23:57:42.6402940Z       ],
2026-06-03T23:57:42.6403062Z       "stages": {
2026-06-03T23:57:42.6403229Z         "doc": {
2026-06-03T23:57:42.6403359Z           "complete": false,
2026-06-03T23:57:42.6403483Z           "evidence": []
2026-06-03T23:57:42.6403583Z         },
2026-06-03T23:57:42.6403697Z         "impl": {
2026-06-03T23:57:42.6403819Z           "complete": true,
2026-06-03T23:57:42.6403936Z           "evidence": [
2026-06-03T23:57:42.6404036Z             {
2026-06-03T23:57:42.6404195Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6404312Z               "line": 42
2026-06-03T23:57:42.6404412Z             },
2026-06-03T23:57:42.6404522Z             {
2026-06-03T23:57:42.6404674Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6404794Z               "line": 151
2026-06-03T23:57:42.6404918Z             },
2026-06-03T23:57:42.6405119Z             {
2026-06-03T23:57:42.6405287Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6405413Z               "line": 171
2026-06-03T23:57:42.6405532Z             },
2026-06-03T23:57:42.6405645Z             {
2026-06-03T23:57:42.6405808Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6405924Z               "line": 209
2026-06-03T23:57:42.6406041Z             },
2026-06-03T23:57:42.6406153Z             {
2026-06-03T23:57:42.6406301Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6406424Z               "line": 232
2026-06-03T23:57:42.6406527Z             }
2026-06-03T23:57:42.6406636Z           ]
2026-06-03T23:57:42.6406734Z         },
2026-06-03T23:57:42.6406848Z         "int": {
2026-06-03T23:57:42.6406975Z           "complete": false,
2026-06-03T23:57:42.6407088Z           "evidence": []
2026-06-03T23:57:42.6407200Z         },
2026-06-03T23:57:42.6407305Z         "unit": {
2026-06-03T23:57:42.6407429Z           "complete": true,
2026-06-03T23:57:42.6407538Z           "evidence": [
2026-06-03T23:57:42.6407643Z             {
2026-06-03T23:57:42.6407801Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6407918Z               "line": 253
2026-06-03T23:57:42.6408023Z             },
2026-06-03T23:57:42.6408119Z             {
2026-06-03T23:57:42.6408276Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6408385Z               "line": 272
2026-06-03T23:57:42.6408493Z             },
2026-06-03T23:57:42.6408600Z             {
2026-06-03T23:57:42.6408745Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6408859Z               "line": 284
2026-06-03T23:57:42.6408959Z             },
2026-06-03T23:57:42.6409068Z             {
2026-06-03T23:57:42.6409215Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6409333Z               "line": 303
2026-06-03T23:57:42.6409438Z             },
2026-06-03T23:57:42.6409536Z             {
2026-06-03T23:57:42.6409688Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6409804Z               "line": 319
2026-06-03T23:57:42.6409914Z             },
2026-06-03T23:57:42.6410012Z             {
2026-06-03T23:57:42.6410175Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6410292Z               "line": 331
2026-06-03T23:57:42.6410393Z             },
2026-06-03T23:57:42.6410499Z             {
2026-06-03T23:57:42.6410646Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6410764Z               "line": 343
2026-06-03T23:57:42.6410865Z             },
2026-06-03T23:57:42.6410973Z             {
2026-06-03T23:57:42.6411126Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6411237Z               "line": 356
2026-06-03T23:57:42.6411346Z             },
2026-06-03T23:57:42.6411445Z             {
2026-06-03T23:57:42.6411598Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T23:57:42.6411716Z               "line": 370
2026-06-03T23:57:42.6411817Z             }
2026-06-03T23:57:42.6411925Z           ]
2026-06-03T23:57:42.6412131Z         }
2026-06-03T23:57:42.6412244Z       }
2026-06-03T23:57:42.6412344Z     },
2026-06-03T23:57:42.6412534Z     {
2026-06-03T23:57:42.6412650Z       "id": "REQ-PAIR-3",
2026-06-03T23:57:42.6412856Z       "title": "Fetch current pairing code from any paired node",
2026-06-03T23:57:42.6412982Z       "requiredStages": [
2026-06-03T23:57:42.6413087Z         "impl",
2026-06-03T23:57:42.6413196Z         "unit"
2026-06-03T23:57:42.6413296Z       ],
2026-06-03T23:57:42.6413410Z       "stages": {
2026-06-03T23:57:42.6413513Z         "doc": {
2026-06-03T23:57:42.6413639Z           "complete": false,
2026-06-03T23:57:42.6413763Z           "evidence": []
2026-06-03T23:57:42.6413868Z         },
2026-06-03T23:57:42.6413982Z         "impl": {
2026-06-03T23:57:42.6414100Z           "complete": true,
2026-06-03T23:57:42.6414221Z           "evidence": [
2026-06-03T23:57:42.6414323Z             {
2026-06-03T23:57:42.6414479Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6414609Z               "line": 464
2026-06-03T23:57:42.6414717Z             },
2026-06-03T23:57:42.6414832Z             {
2026-06-03T23:57:42.6415060Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6415188Z               "line": 500
2026-06-03T23:57:42.6415294Z             },
2026-06-03T23:57:42.6415411Z             {
2026-06-03T23:57:42.6415561Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6415674Z               "line": 560
2026-06-03T23:57:42.6415787Z             }
2026-06-03T23:57:42.6415892Z           ]
2026-06-03T23:57:42.6416005Z         },
2026-06-03T23:57:42.6416107Z         "int": {
2026-06-03T23:57:42.6416237Z           "complete": false,
2026-06-03T23:57:42.6416360Z           "evidence": []
2026-06-03T23:57:42.6416461Z         },
2026-06-03T23:57:42.6416571Z         "unit": {
2026-06-03T23:57:42.6416686Z           "complete": true,
2026-06-03T23:57:42.6416804Z           "evidence": [
2026-06-03T23:57:42.6416902Z             {
2026-06-03T23:57:42.6417050Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6417169Z               "line": 696
2026-06-03T23:57:42.6417277Z             },
2026-06-03T23:57:42.6417380Z             {
2026-06-03T23:57:42.6417513Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6417626Z               "line": 713
2026-06-03T23:57:42.6417733Z             },
2026-06-03T23:57:42.6417834Z             {
2026-06-03T23:57:42.6417974Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6418082Z               "line": 727
2026-06-03T23:57:42.6418192Z             },
2026-06-03T23:57:42.6418291Z             {
2026-06-03T23:57:42.6418431Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6418548Z               "line": 743
2026-06-03T23:57:42.6418648Z             },
2026-06-03T23:57:42.6418752Z             {
2026-06-03T23:57:42.6418883Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6418998Z               "line": 764
2026-06-03T23:57:42.6419097Z             },
2026-06-03T23:57:42.6419209Z             {
2026-06-03T23:57:42.6419349Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6419464Z               "line": 780
2026-06-03T23:57:42.6419569Z             },
2026-06-03T23:57:42.6419670Z             {
2026-06-03T23:57:42.6419809Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6419921Z               "line": 793
2026-06-03T23:57:42.6420028Z             },
2026-06-03T23:57:42.6420136Z             {
2026-06-03T23:57:42.6420269Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6420386Z               "line": 802
2026-06-03T23:57:42.6420485Z             }
2026-06-03T23:57:42.6420591Z           ]
2026-06-03T23:57:42.6420689Z         }
2026-06-03T23:57:42.6420794Z       }
2026-06-03T23:57:42.6420901Z     },
2026-06-03T23:57:42.6421000Z     {
2026-06-03T23:57:42.6421126Z       "id": "REQ-PAIR-4",
2026-06-03T23:57:42.6421278Z       "title": "Subnet naming on first pairing",
2026-06-03T23:57:42.6421402Z       "requiredStages": [
2026-06-03T23:57:42.6421582Z         "impl",
2026-06-03T23:57:42.6421697Z         "unit"
2026-06-03T23:57:42.6421807Z       ],
2026-06-03T23:57:42.6421984Z       "stages": {
2026-06-03T23:57:42.6422098Z         "doc": {
2026-06-03T23:57:42.6422219Z           "complete": false,
2026-06-03T23:57:42.6422339Z           "evidence": []
2026-06-03T23:57:42.6422439Z         },
2026-06-03T23:57:42.6422554Z         "impl": {
2026-06-03T23:57:42.6422679Z           "complete": true,
2026-06-03T23:57:42.6422790Z           "evidence": [
2026-06-03T23:57:42.6422897Z             {
2026-06-03T23:57:42.6423060Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T23:57:42.6423181Z               "line": 154
2026-06-03T23:57:42.6423283Z             }
2026-06-03T23:57:42.6423394Z           ]
2026-06-03T23:57:42.6423500Z         },
2026-06-03T23:57:42.6423601Z         "int": {
2026-06-03T23:57:42.6423724Z           "complete": false,
2026-06-03T23:57:42.6423836Z           "evidence": []
2026-06-03T23:57:42.6423943Z         },
2026-06-03T23:57:42.6424053Z         "unit": {
2026-06-03T23:57:42.6424180Z           "complete": true,
2026-06-03T23:57:42.6424298Z           "evidence": [
2026-06-03T23:57:42.6424410Z             {
2026-06-03T23:57:42.6424594Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6424705Z               "line": 968
2026-06-03T23:57:42.6424810Z             }
2026-06-03T23:57:42.6424908Z           ]
2026-06-03T23:57:42.6425129Z         }
2026-06-03T23:57:42.6425235Z       }
2026-06-03T23:57:42.6425350Z     },
2026-06-03T23:57:42.6425460Z     {
2026-06-03T23:57:42.6425574Z       "id": "REQ-PAIR-5",
2026-06-03T23:57:42.6425991Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-03T23:57:42.6426113Z       "requiredStages": [
2026-06-03T23:57:42.6426227Z         "impl",
2026-06-03T23:57:42.6426342Z         "unit"
2026-06-03T23:57:42.6426441Z       ],
2026-06-03T23:57:42.6426555Z       "stages": {
2026-06-03T23:57:42.6426664Z         "doc": {
2026-06-03T23:57:42.6426793Z           "complete": false,
2026-06-03T23:57:42.6426911Z           "evidence": []
2026-06-03T23:57:42.6427016Z         },
2026-06-03T23:57:42.6427130Z         "impl": {
2026-06-03T23:57:42.6427243Z           "complete": true,
2026-06-03T23:57:42.6427357Z           "evidence": [
2026-06-03T23:57:42.6427456Z             {
2026-06-03T23:57:42.6427661Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6427771Z               "line": 33
2026-06-03T23:57:42.6427878Z             },
2026-06-03T23:57:42.6427988Z             {
2026-06-03T23:57:42.6428179Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6428296Z               "line": 45
2026-06-03T23:57:42.6428397Z             },
2026-06-03T23:57:42.6428505Z             {
2026-06-03T23:57:42.6428688Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6428800Z               "line": 59
2026-06-03T23:57:42.6428914Z             },
2026-06-03T23:57:42.6429014Z             {
2026-06-03T23:57:42.6429192Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6429314Z               "line": 306
2026-06-03T23:57:42.6429419Z             }
2026-06-03T23:57:42.6429519Z           ]
2026-06-03T23:57:42.6429626Z         },
2026-06-03T23:57:42.6429736Z         "int": {
2026-06-03T23:57:42.6429858Z           "complete": false,
2026-06-03T23:57:42.6429978Z           "evidence": []
2026-06-03T23:57:42.6430081Z         },
2026-06-03T23:57:42.6430191Z         "unit": {
2026-06-03T23:57:42.6430306Z           "complete": true,
2026-06-03T23:57:42.6430422Z           "evidence": [
2026-06-03T23:57:42.6430529Z             {
2026-06-03T23:57:42.6430713Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6430828Z               "line": 72
2026-06-03T23:57:42.6430929Z             },
2026-06-03T23:57:42.6431037Z             {
2026-06-03T23:57:42.6431339Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6431462Z               "line": 82
2026-06-03T23:57:42.6431634Z             },
2026-06-03T23:57:42.6431736Z             {
2026-06-03T23:57:42.6431926Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6432036Z               "line": 92
2026-06-03T23:57:42.6432144Z             },
2026-06-03T23:57:42.6432244Z             {
2026-06-03T23:57:42.6432435Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6432553Z               "line": 102
2026-06-03T23:57:42.6432654Z             },
2026-06-03T23:57:42.6432762Z             {
2026-06-03T23:57:42.6432947Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T23:57:42.6433066Z               "line": 117
2026-06-03T23:57:42.6433174Z             },
2026-06-03T23:57:42.6433279Z             {
2026-06-03T23:57:42.6433455Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6433574Z               "line": 746
2026-06-03T23:57:42.6433682Z             },
2026-06-03T23:57:42.6433789Z             {
2026-06-03T23:57:42.6433960Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6434073Z               "line": 802
2026-06-03T23:57:42.6434173Z             },
2026-06-03T23:57:42.6434280Z             {
2026-06-03T23:57:42.6434444Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T23:57:42.6434565Z               "line": 1022
2026-06-03T23:57:42.6434670Z             }
2026-06-03T23:57:42.6434779Z           ]
2026-06-03T23:57:42.6434895Z         }
2026-06-03T23:57:42.6435172Z       }
2026-06-03T23:57:42.6435335Z     },
2026-06-03T23:57:42.6435445Z     {
2026-06-03T23:57:42.6435571Z       "id": "REQ-PAIR-6",
2026-06-03T23:57:42.6435919Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-03T23:57:42.6436046Z       "requiredStages": [
2026-06-03T23:57:42.6436157Z         "impl",
2026-06-03T23:57:42.6436266Z         "unit"
2026-06-03T23:57:42.6436373Z       ],
2026-06-03T23:57:42.6436486Z       "stages": {
2026-06-03T23:57:42.6436594Z         "doc": {
2026-06-03T23:57:42.6436708Z           "complete": false,
2026-06-03T23:57:42.6436828Z           "evidence": []
2026-06-03T23:57:42.6436933Z         },
2026-06-03T23:57:42.6437038Z         "impl": {
2026-06-03T23:57:42.6437161Z           "complete": true,
2026-06-03T23:57:42.6437270Z           "evidence": [
2026-06-03T23:57:42.6437381Z             {
2026-06-03T23:57:42.6437519Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6437636Z               "line": 500
2026-06-03T23:57:42.6437742Z             },
2026-06-03T23:57:42.6437841Z             {
2026-06-03T23:57:42.6437983Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6438097Z               "line": 560
2026-06-03T23:57:42.6438210Z             },
2026-06-03T23:57:42.6438311Z             {
2026-06-03T23:57:42.6438475Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T23:57:42.6438589Z               "line": 18
2026-06-03T23:57:42.6438699Z             },
2026-06-03T23:57:42.6438806Z             {
2026-06-03T23:57:42.6438959Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T23:57:42.6439071Z               "line": 49
2026-06-03T23:57:42.6439171Z             },
2026-06-03T23:57:42.6439276Z             {
2026-06-03T23:57:42.6439430Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T23:57:42.6439538Z               "line": 70
2026-06-03T23:57:42.6439646Z             }
2026-06-03T23:57:42.6439745Z           ]
2026-06-03T23:57:42.6439852Z         },
2026-06-03T23:57:42.6439954Z         "int": {
2026-06-03T23:57:42.6440080Z           "complete": false,
2026-06-03T23:57:42.6440195Z           "evidence": []
2026-06-03T23:57:42.6440295Z         },
2026-06-03T23:57:42.6440404Z         "unit": {
2026-06-03T23:57:42.6440521Z           "complete": true,
2026-06-03T23:57:42.6440641Z           "evidence": [
2026-06-03T23:57:42.6440839Z             {
2026-06-03T23:57:42.6440989Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6441175Z               "line": 815
2026-06-03T23:57:42.6441275Z             },
2026-06-03T23:57:42.6441382Z             {
2026-06-03T23:57:42.6441519Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6441635Z               "line": 832
2026-06-03T23:57:42.6441735Z             },
2026-06-03T23:57:42.6441843Z             {
2026-06-03T23:57:42.6441997Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T23:57:42.6442104Z               "line": 132
2026-06-03T23:57:42.6442211Z             },
2026-06-03T23:57:42.6442311Z             {
2026-06-03T23:57:42.6442462Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T23:57:42.6442576Z               "line": 141
2026-06-03T23:57:42.6442683Z             }
2026-06-03T23:57:42.6442792Z           ]
2026-06-03T23:57:42.6442892Z         }
2026-06-03T23:57:42.6443000Z       }
2026-06-03T23:57:42.6443100Z     },
2026-06-03T23:57:42.6443217Z     {
2026-06-03T23:57:42.6443332Z       "id": "REQ-PAIR-7",
2026-06-03T23:57:42.6443559Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-03T23:57:42.6443687Z       "requiredStages": [],
2026-06-03T23:57:42.6443792Z       "stages": {
2026-06-03T23:57:42.6443906Z         "doc": {
2026-06-03T23:57:42.6444023Z           "complete": false,
2026-06-03T23:57:42.6444142Z           "evidence": []
2026-06-03T23:57:42.6444244Z         },
2026-06-03T23:57:42.6444358Z         "impl": {
2026-06-03T23:57:42.6444481Z           "complete": false,
2026-06-03T23:57:42.6444593Z           "evidence": []
2026-06-03T23:57:42.6444700Z         },
2026-06-03T23:57:42.6444801Z         "int": {
2026-06-03T23:57:42.6444926Z           "complete": false,
2026-06-03T23:57:42.6445146Z           "evidence": []
2026-06-03T23:57:42.6445263Z         },
2026-06-03T23:57:42.6445381Z         "unit": {
2026-06-03T23:57:42.6445500Z           "complete": false,
2026-06-03T23:57:42.6445633Z           "evidence": []
2026-06-03T23:57:42.6445735Z         }
2026-06-03T23:57:42.6445847Z       }
2026-06-03T23:57:42.6445954Z     },
2026-06-03T23:57:42.6446063Z     {
2026-06-03T23:57:42.6446194Z       "id": "REQ-REACH-1",
2026-06-03T23:57:42.6446393Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-03T23:57:42.6446523Z       "requiredStages": [],
2026-06-03T23:57:42.6446630Z       "stages": {
2026-06-03T23:57:42.6446744Z         "doc": {
2026-06-03T23:57:42.6446865Z           "complete": false,
2026-06-03T23:57:42.6446985Z           "evidence": []
2026-06-03T23:57:42.6447098Z         },
2026-06-03T23:57:42.6447207Z         "impl": {
2026-06-03T23:57:42.6447333Z           "complete": false,
2026-06-03T23:57:42.6447446Z           "evidence": []
2026-06-03T23:57:42.6447552Z         },
2026-06-03T23:57:42.6447657Z         "int": {
2026-06-03T23:57:42.6447779Z           "complete": false,
2026-06-03T23:57:42.6447898Z           "evidence": []
2026-06-03T23:57:42.6447996Z         },
2026-06-03T23:57:42.6448110Z         "unit": {
2026-06-03T23:57:42.6448224Z           "complete": false,
2026-06-03T23:57:42.6448348Z           "evidence": []
2026-06-03T23:57:42.6448447Z         }
2026-06-03T23:57:42.6448551Z       }
2026-06-03T23:57:42.6448656Z     },
2026-06-03T23:57:42.6448752Z     {
2026-06-03T23:57:42.6448875Z       "id": "REQ-REACH-2",
2026-06-03T23:57:42.6449074Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-03T23:57:42.6449202Z       "requiredStages": [],
2026-06-03T23:57:42.6449306Z       "stages": {
2026-06-03T23:57:42.6449417Z         "doc": {
2026-06-03T23:57:42.6449537Z           "complete": false,
2026-06-03T23:57:42.6449648Z           "evidence": []
2026-06-03T23:57:42.6449755Z         },
2026-06-03T23:57:42.6449860Z         "impl": {
2026-06-03T23:57:42.6449984Z           "complete": false,
2026-06-03T23:57:42.6450097Z           "evidence": []
2026-06-03T23:57:42.6450208Z         },
2026-06-03T23:57:42.6450321Z         "int": {
2026-06-03T23:57:42.6450515Z           "complete": false,
2026-06-03T23:57:42.6450639Z           "evidence": []
2026-06-03T23:57:42.6450806Z         },
2026-06-03T23:57:42.6450920Z         "unit": {
2026-06-03T23:57:42.6451042Z           "complete": false,
2026-06-03T23:57:42.6451164Z           "evidence": []
2026-06-03T23:57:42.6451274Z         }
2026-06-03T23:57:42.6451376Z       }
2026-06-03T23:57:42.6451486Z     },
2026-06-03T23:57:42.6451586Z     {
2026-06-03T23:57:42.6451721Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-03T23:57:42.6451965Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-03T23:57:42.6452092Z       "requiredStages": [
2026-06-03T23:57:42.6452201Z         "impl",
2026-06-03T23:57:42.6452305Z         "unit"
2026-06-03T23:57:42.6452413Z       ],
2026-06-03T23:57:42.6452519Z       "stages": {
2026-06-03T23:57:42.6452631Z         "doc": {
2026-06-03T23:57:42.6452748Z           "complete": false,
2026-06-03T23:57:42.6452867Z           "evidence": []
2026-06-03T23:57:42.6452980Z         },
2026-06-03T23:57:42.6453086Z         "impl": {
2026-06-03T23:57:42.6453209Z           "complete": true,
2026-06-03T23:57:42.6453329Z           "evidence": [
2026-06-03T23:57:42.6453436Z             {
2026-06-03T23:57:42.6453597Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6453718Z               "line": 18
2026-06-03T23:57:42.6453829Z             },
2026-06-03T23:57:42.6453929Z             {
2026-06-03T23:57:42.6454093Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6454206Z               "line": 35
2026-06-03T23:57:42.6454315Z             },
2026-06-03T23:57:42.6454417Z             {
2026-06-03T23:57:42.6454585Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6454703Z               "line": 65
2026-06-03T23:57:42.6454805Z             }
2026-06-03T23:57:42.6454916Z           ]
2026-06-03T23:57:42.6455091Z         },
2026-06-03T23:57:42.6455213Z         "int": {
2026-06-03T23:57:42.6455334Z           "complete": false,
2026-06-03T23:57:42.6455468Z           "evidence": []
2026-06-03T23:57:42.6455583Z         },
2026-06-03T23:57:42.6455702Z         "unit": {
2026-06-03T23:57:42.6455833Z           "complete": true,
2026-06-03T23:57:42.6455946Z           "evidence": [
2026-06-03T23:57:42.6456063Z             {
2026-06-03T23:57:42.6456216Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6456342Z               "line": 170
2026-06-03T23:57:42.6456455Z             },
2026-06-03T23:57:42.6456559Z             {
2026-06-03T23:57:42.6456725Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6456838Z               "line": 184
2026-06-03T23:57:42.6456949Z             },
2026-06-03T23:57:42.6457051Z             {
2026-06-03T23:57:42.6457214Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6457333Z               "line": 193
2026-06-03T23:57:42.6457436Z             }
2026-06-03T23:57:42.6457542Z           ]
2026-06-03T23:57:42.6457645Z         }
2026-06-03T23:57:42.6457757Z       }
2026-06-03T23:57:42.6457855Z     },
2026-06-03T23:57:42.6457959Z     {
2026-06-03T23:57:42.6458102Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-03T23:57:42.6458297Z       "title": "Hostable endpoint-types capability declaration",
2026-06-03T23:57:42.6458420Z       "requiredStages": [
2026-06-03T23:57:42.6458523Z         "impl",
2026-06-03T23:57:42.6458632Z         "unit"
2026-06-03T23:57:42.6458730Z       ],
2026-06-03T23:57:42.6458842Z       "stages": {
2026-06-03T23:57:42.6458953Z         "doc": {
2026-06-03T23:57:42.6459070Z           "complete": false,
2026-06-03T23:57:42.6459193Z           "evidence": []
2026-06-03T23:57:42.6459296Z         },
2026-06-03T23:57:42.6459408Z         "impl": {
2026-06-03T23:57:42.6459525Z           "complete": true,
2026-06-03T23:57:42.6459641Z           "evidence": [
2026-06-03T23:57:42.6459748Z             {
2026-06-03T23:57:42.6459912Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6460029Z               "line": 186
2026-06-03T23:57:42.6460207Z             }
2026-06-03T23:57:42.6460314Z           ]
2026-06-03T23:57:42.6460476Z         },
2026-06-03T23:57:42.6460589Z         "int": {
2026-06-03T23:57:42.6460714Z           "complete": false,
2026-06-03T23:57:42.6460827Z           "evidence": []
2026-06-03T23:57:42.6460931Z         },
2026-06-03T23:57:42.6461038Z         "unit": {
2026-06-03T23:57:42.6461162Z           "complete": true,
2026-06-03T23:57:42.6461272Z           "evidence": [
2026-06-03T23:57:42.6461379Z             {
2026-06-03T23:57:42.6461546Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6461656Z               "line": 301
2026-06-03T23:57:42.6461764Z             }
2026-06-03T23:57:42.6461866Z           ]
2026-06-03T23:57:42.6461974Z         }
2026-06-03T23:57:42.6462073Z       }
2026-06-03T23:57:42.6462178Z     },
2026-06-03T23:57:42.6462277Z     {
2026-06-03T23:57:42.6462411Z       "id": "REQ-SEAM-HISTORY",
2026-06-03T23:57:42.6462662Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-03T23:57:42.6462781Z       "requiredStages": [
2026-06-03T23:57:42.6462901Z         "impl",
2026-06-03T23:57:42.6463006Z         "unit",
2026-06-03T23:57:42.6463121Z         "int"
2026-06-03T23:57:42.6463229Z       ],
2026-06-03T23:57:42.6463335Z       "stages": {
2026-06-03T23:57:42.6463443Z         "doc": {
2026-06-03T23:57:42.6463560Z           "complete": false,
2026-06-03T23:57:42.6463677Z           "evidence": []
2026-06-03T23:57:42.6463777Z         },
2026-06-03T23:57:42.6463890Z         "impl": {
2026-06-03T23:57:42.6464004Z           "complete": true,
2026-06-03T23:57:42.6464125Z           "evidence": [
2026-06-03T23:57:42.6464236Z             {
2026-06-03T23:57:42.6464383Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.6464501Z               "line": 24
2026-06-03T23:57:42.6464604Z             },
2026-06-03T23:57:42.6464712Z             {
2026-06-03T23:57:42.6464876Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6465068Z               "line": 22
2026-06-03T23:57:42.6465187Z             }
2026-06-03T23:57:42.6465299Z           ]
2026-06-03T23:57:42.6465413Z         },
2026-06-03T23:57:42.6465521Z         "int": {
2026-06-03T23:57:42.6465655Z           "complete": true,
2026-06-03T23:57:42.6465765Z           "evidence": [
2026-06-03T23:57:42.6465883Z             {
2026-06-03T23:57:42.6466055Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.6466169Z               "line": 202
2026-06-03T23:57:42.6466283Z             }
2026-06-03T23:57:42.6466384Z           ]
2026-06-03T23:57:42.6466492Z         },
2026-06-03T23:57:42.6466608Z         "unit": {
2026-06-03T23:57:42.6466724Z           "complete": true,
2026-06-03T23:57:42.6466842Z           "evidence": [
2026-06-03T23:57:42.6466941Z             {
2026-06-03T23:57:42.6467096Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.6467204Z               "line": 163
2026-06-03T23:57:42.6467310Z             },
2026-06-03T23:57:42.6467421Z             {
2026-06-03T23:57:42.6467564Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.6467689Z               "line": 186
2026-06-03T23:57:42.6467787Z             },
2026-06-03T23:57:42.6467891Z             {
2026-06-03T23:57:42.6468031Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T23:57:42.6468150Z               "line": 195
2026-06-03T23:57:42.6468256Z             },
2026-06-03T23:57:42.6468356Z             {
2026-06-03T23:57:42.6468517Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6468624Z               "line": 195
2026-06-03T23:57:42.6468733Z             },
2026-06-03T23:57:42.6468835Z             {
2026-06-03T23:57:42.6468992Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6469108Z               "line": 209
2026-06-03T23:57:42.6469208Z             },
2026-06-03T23:57:42.6469313Z             {
2026-06-03T23:57:42.6469462Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6469655Z               "line": 228
2026-06-03T23:57:42.6469760Z             },
2026-06-03T23:57:42.6469932Z             {
2026-06-03T23:57:42.6470090Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6470200Z               "line": 248
2026-06-03T23:57:42.6470309Z             },
2026-06-03T23:57:42.6470410Z             {
2026-06-03T23:57:42.6470570Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6470683Z               "line": 264
2026-06-03T23:57:42.6470795Z             },
2026-06-03T23:57:42.6470903Z             {
2026-06-03T23:57:42.6471056Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T23:57:42.6471173Z               "line": 279
2026-06-03T23:57:42.6471272Z             }
2026-06-03T23:57:42.6471379Z           ]
2026-06-03T23:57:42.6471478Z         }
2026-06-03T23:57:42.6471584Z       }
2026-06-03T23:57:42.6471689Z     },
2026-06-03T23:57:42.6471787Z     {
2026-06-03T23:57:42.6471916Z       "id": "REQ-SEAM-INJECT",
2026-06-03T23:57:42.6472136Z       "title": "inject-input methods configurable per activity-state",
2026-06-03T23:57:42.6472268Z       "requiredStages": [
2026-06-03T23:57:42.6472372Z         "impl",
2026-06-03T23:57:42.6472485Z         "unit"
2026-06-03T23:57:42.6472596Z       ],
2026-06-03T23:57:42.6472704Z       "stages": {
2026-06-03T23:57:42.6472815Z         "doc": {
2026-06-03T23:57:42.6472935Z           "complete": false,
2026-06-03T23:57:42.6473055Z           "evidence": []
2026-06-03T23:57:42.6473155Z         },
2026-06-03T23:57:42.6473266Z         "impl": {
2026-06-03T23:57:42.6473390Z           "complete": true,
2026-06-03T23:57:42.6473501Z           "evidence": [
2026-06-03T23:57:42.6473608Z             {
2026-06-03T23:57:42.6473760Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6473876Z               "line": 19
2026-06-03T23:57:42.6473977Z             },
2026-06-03T23:57:42.6474088Z             {
2026-06-03T23:57:42.6474252Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6474363Z               "line": 104
2026-06-03T23:57:42.6474481Z             }
2026-06-03T23:57:42.6474588Z           ]
2026-06-03T23:57:42.6474696Z         },
2026-06-03T23:57:42.6474800Z         "int": {
2026-06-03T23:57:42.6474926Z           "complete": false,
2026-06-03T23:57:42.6475132Z           "evidence": []
2026-06-03T23:57:42.6475235Z         },
2026-06-03T23:57:42.6475351Z         "unit": {
2026-06-03T23:57:42.6475473Z           "complete": true,
2026-06-03T23:57:42.6475600Z           "evidence": [
2026-06-03T23:57:42.6475703Z             {
2026-06-03T23:57:42.6475865Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6475990Z               "line": 222
2026-06-03T23:57:42.6476093Z             },
2026-06-03T23:57:42.6476204Z             {
2026-06-03T23:57:42.6476353Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T23:57:42.6476473Z               "line": 236
2026-06-03T23:57:42.6476574Z             }
2026-06-03T23:57:42.6476693Z           ]
2026-06-03T23:57:42.6476800Z         }
2026-06-03T23:57:42.6476899Z       }
2026-06-03T23:57:42.6477012Z     },
2026-06-03T23:57:42.6477111Z     {
2026-06-03T23:57:42.6477249Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-03T23:57:42.6477429Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-03T23:57:42.6477553Z       "requiredStages": [
2026-06-03T23:57:42.6477661Z         "impl",
2026-06-03T23:57:42.6477762Z         "unit"
2026-06-03T23:57:42.6477866Z       ],
2026-06-03T23:57:42.6477974Z       "stages": {
2026-06-03T23:57:42.6478084Z         "doc": {
2026-06-03T23:57:42.6478198Z           "complete": false,
2026-06-03T23:57:42.6478314Z           "evidence": []
2026-06-03T23:57:42.6478421Z         },
2026-06-03T23:57:42.6478524Z         "impl": {
2026-06-03T23:57:42.6478644Z           "complete": true,
2026-06-03T23:57:42.6478755Z           "evidence": [
2026-06-03T23:57:42.6478861Z             {
2026-06-03T23:57:42.6479108Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6479229Z               "line": 18
2026-06-03T23:57:42.6479337Z             },
2026-06-03T23:57:42.6479542Z             {
2026-06-03T23:57:42.6479702Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6479814Z               "line": 257
2026-06-03T23:57:42.6479922Z             }
2026-06-03T23:57:42.6480022Z           ]
2026-06-03T23:57:42.6480134Z         },
2026-06-03T23:57:42.6480244Z         "int": {
2026-06-03T23:57:42.6480364Z           "complete": false,
2026-06-03T23:57:42.6480487Z           "evidence": []
2026-06-03T23:57:42.6480590Z         },
2026-06-03T23:57:42.6480707Z         "unit": {
2026-06-03T23:57:42.6480822Z           "complete": true,
2026-06-03T23:57:42.6480939Z           "evidence": [
2026-06-03T23:57:42.6481047Z             {
2026-06-03T23:57:42.6481195Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6481314Z               "line": 420
2026-06-03T23:57:42.6481415Z             },
2026-06-03T23:57:42.6481534Z             {
2026-06-03T23:57:42.6481684Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6481811Z               "line": 430
2026-06-03T23:57:42.6481919Z             }
2026-06-03T23:57:42.6482021Z           ]
2026-06-03T23:57:42.6482130Z         }
2026-06-03T23:57:42.6482232Z       }
2026-06-03T23:57:42.6482341Z     },
2026-06-03T23:57:42.6482439Z     {
2026-06-03T23:57:42.6482576Z       "id": "REQ-SEAM-PSYCHE",
2026-06-03T23:57:42.6482770Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-03T23:57:42.6482891Z       "requiredStages": [
2026-06-03T23:57:42.6483007Z         "impl",
2026-06-03T23:57:42.6483110Z         "unit",
2026-06-03T23:57:42.6483221Z         "int"
2026-06-03T23:57:42.6483321Z       ],
2026-06-03T23:57:42.6483433Z       "stages": {
2026-06-03T23:57:42.6483547Z         "doc": {
2026-06-03T23:57:42.6483664Z           "complete": false,
2026-06-03T23:57:42.6483788Z           "evidence": []
2026-06-03T23:57:42.6483892Z         },
2026-06-03T23:57:42.6484010Z         "impl": {
2026-06-03T23:57:42.6484132Z           "complete": true,
2026-06-03T23:57:42.6484295Z           "evidence": [
2026-06-03T23:57:42.6484410Z             {
2026-06-03T23:57:42.6484561Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T23:57:42.6484679Z               "line": 19
2026-06-03T23:57:42.6484783Z             },
2026-06-03T23:57:42.6484898Z             {
2026-06-03T23:57:42.6485119Z               "path": "crates/spt/src/api/live.rs",
2026-06-03T23:57:42.6485243Z               "line": 12
2026-06-03T23:57:42.6485358Z             },
2026-06-03T23:57:42.6485461Z             {
2026-06-03T23:57:42.6485619Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6485732Z               "line": 164
2026-06-03T23:57:42.6485845Z             }
2026-06-03T23:57:42.6485947Z           ]
2026-06-03T23:57:42.6486057Z         },
2026-06-03T23:57:42.6486167Z         "int": {
2026-06-03T23:57:42.6486284Z           "complete": true,
2026-06-03T23:57:42.6486411Z           "evidence": [
2026-06-03T23:57:42.6486514Z             {
2026-06-03T23:57:42.6486680Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.6486799Z               "line": 201
2026-06-03T23:57:42.6486907Z             }
2026-06-03T23:57:42.6487018Z           ]
2026-06-03T23:57:42.6487116Z         },
2026-06-03T23:57:42.6487228Z         "unit": {
2026-06-03T23:57:42.6487343Z           "complete": true,
2026-06-03T23:57:42.6487467Z           "evidence": [
2026-06-03T23:57:42.6487570Z             {
2026-06-03T23:57:42.6487726Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T23:57:42.6487843Z               "line": 161
2026-06-03T23:57:42.6487947Z             },
2026-06-03T23:57:42.6488057Z             {
2026-06-03T23:57:42.6488206Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T23:57:42.6488321Z               "line": 168
2026-06-03T23:57:42.6488423Z             },
2026-06-03T23:57:42.6488530Z             {
2026-06-03T23:57:42.6488759Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T23:57:42.6488871Z               "line": 191
2026-06-03T23:57:42.6489046Z             },
2026-06-03T23:57:42.6489145Z             {
2026-06-03T23:57:42.6489302Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T23:57:42.6489414Z               "line": 105
2026-06-03T23:57:42.6489526Z             },
2026-06-03T23:57:42.6489633Z             {
2026-06-03T23:57:42.6489784Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T23:57:42.6489905Z               "line": 122
2026-06-03T23:57:42.6490006Z             },
2026-06-03T23:57:42.6490118Z             {
2026-06-03T23:57:42.6490266Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T23:57:42.6490383Z               "line": 136
2026-06-03T23:57:42.6490492Z             }
2026-06-03T23:57:42.6490592Z           ]
2026-06-03T23:57:42.6490699Z         }
2026-06-03T23:57:42.6490802Z       }
2026-06-03T23:57:42.6490908Z     },
2026-06-03T23:57:42.6491008Z     {
2026-06-03T23:57:42.6491143Z       "id": "REQ-SEAM-RESUME",
2026-06-03T23:57:42.6491397Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-03T23:57:42.6491522Z       "requiredStages": [
2026-06-03T23:57:42.6491630Z         "impl",
2026-06-03T23:57:42.6491733Z         "unit"
2026-06-03T23:57:42.6491842Z       ],
2026-06-03T23:57:42.6491949Z       "stages": {
2026-06-03T23:57:42.6492060Z         "doc": {
2026-06-03T23:57:42.6492187Z           "complete": false,
2026-06-03T23:57:42.6492300Z           "evidence": []
2026-06-03T23:57:42.6492411Z         },
2026-06-03T23:57:42.6492518Z         "impl": {
2026-06-03T23:57:42.6492642Z           "complete": true,
2026-06-03T23:57:42.6492754Z           "evidence": [
2026-06-03T23:57:42.6492865Z             {
2026-06-03T23:57:42.6493018Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T23:57:42.6493125Z               "line": 19
2026-06-03T23:57:42.6493233Z             }
2026-06-03T23:57:42.6493334Z           ]
2026-06-03T23:57:42.6493450Z         },
2026-06-03T23:57:42.6493557Z         "int": {
2026-06-03T23:57:42.6493683Z           "complete": false,
2026-06-03T23:57:42.6493811Z           "evidence": []
2026-06-03T23:57:42.6493910Z         },
2026-06-03T23:57:42.6494024Z         "unit": {
2026-06-03T23:57:42.6494136Z           "complete": true,
2026-06-03T23:57:42.6494256Z           "evidence": [
2026-06-03T23:57:42.6494354Z             {
2026-06-03T23:57:42.6494510Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T23:57:42.6494629Z               "line": 145
2026-06-03T23:57:42.6494730Z             },
2026-06-03T23:57:42.6494836Z             {
2026-06-03T23:57:42.6495143Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T23:57:42.6495310Z               "line": 164
2026-06-03T23:57:42.6495463Z             },
2026-06-03T23:57:42.6495580Z             {
2026-06-03T23:57:42.6495739Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T23:57:42.6495850Z               "line": 182
2026-06-03T23:57:42.6495968Z             },
2026-06-03T23:57:42.6496068Z             {
2026-06-03T23:57:42.6496222Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T23:57:42.6496345Z               "line": 206
2026-06-03T23:57:42.6496445Z             }
2026-06-03T23:57:42.6496551Z           ]
2026-06-03T23:57:42.6496652Z         }
2026-06-03T23:57:42.6496759Z       }
2026-06-03T23:57:42.6496857Z     },
2026-06-03T23:57:42.6496960Z     {
2026-06-03T23:57:42.6497084Z       "id": "REQ-SEAM-SPAWN",
2026-06-03T23:57:42.6497224Z       "title": "spawn-session seam",
2026-06-03T23:57:42.6497352Z       "requiredStages": [
2026-06-03T23:57:42.6497456Z         "impl",
2026-06-03T23:57:42.6497563Z         "unit"
2026-06-03T23:57:42.6497662Z       ],
2026-06-03T23:57:42.6497772Z       "stages": {
2026-06-03T23:57:42.6497874Z         "doc": {
2026-06-03T23:57:42.6497998Z           "complete": false,
2026-06-03T23:57:42.6498116Z           "evidence": []
2026-06-03T23:57:42.6498214Z         },
2026-06-03T23:57:42.6498433Z         "impl": {
2026-06-03T23:57:42.6498554Z           "complete": true,
2026-06-03T23:57:42.6498674Z           "evidence": [
2026-06-03T23:57:42.6498838Z             {
2026-06-03T23:57:42.6499012Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6499132Z               "line": 20
2026-06-03T23:57:42.6499236Z             }
2026-06-03T23:57:42.6499343Z           ]
2026-06-03T23:57:42.6499506Z         },
2026-06-03T23:57:42.6499667Z         "int": {
2026-06-03T23:57:42.6499825Z           "complete": false,
2026-06-03T23:57:42.6499947Z           "evidence": []
2026-06-03T23:57:42.6500058Z         },
2026-06-03T23:57:42.6500161Z         "unit": {
2026-06-03T23:57:42.6500312Z           "complete": true,
2026-06-03T23:57:42.6500483Z           "evidence": [
2026-06-03T23:57:42.6500601Z             {
2026-06-03T23:57:42.6500763Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6500881Z               "line": 397
2026-06-03T23:57:42.6500992Z             },
2026-06-03T23:57:42.6501103Z             {
2026-06-03T23:57:42.6501357Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6501480Z               "line": 404
2026-06-03T23:57:42.6501589Z             },
2026-06-03T23:57:42.6501689Z             {
2026-06-03T23:57:42.6501851Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6502013Z               "line": 414
2026-06-03T23:57:42.6502152Z             },
2026-06-03T23:57:42.6502259Z             {
2026-06-03T23:57:42.6502417Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6502534Z               "line": 420
2026-06-03T23:57:42.6502645Z             },
2026-06-03T23:57:42.6502750Z             {
2026-06-03T23:57:42.6502998Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6503113Z               "line": 440
2026-06-03T23:57:42.6503226Z             },
2026-06-03T23:57:42.6503325Z             {
2026-06-03T23:57:42.6503496Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T23:57:42.6503660Z               "line": 473
2026-06-03T23:57:42.6503801Z             }
2026-06-03T23:57:42.6503912Z           ]
2026-06-03T23:57:42.6504015Z         }
2026-06-03T23:57:42.6504122Z       }
2026-06-03T23:57:42.6504223Z     },
2026-06-03T23:57:42.6504329Z     {
2026-06-03T23:57:42.6504529Z       "id": "REQ-SEAM-UPDATE",
2026-06-03T23:57:42.6504838Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-03T23:57:42.6505044Z       "requiredStages": [
2026-06-03T23:57:42.6505148Z         "impl",
2026-06-03T23:57:42.6505318Z         "unit"
2026-06-03T23:57:42.6505446Z       ],
2026-06-03T23:57:42.6505572Z       "stages": {
2026-06-03T23:57:42.6505690Z         "doc": {
2026-06-03T23:57:42.6505841Z           "complete": false,
2026-06-03T23:57:42.6506021Z           "evidence": []
2026-06-03T23:57:42.6506153Z         },
2026-06-03T23:57:42.6506307Z         "impl": {
2026-06-03T23:57:42.6506465Z           "complete": true,
2026-06-03T23:57:42.6506652Z           "evidence": [
2026-06-03T23:57:42.6506803Z             {
2026-06-03T23:57:42.6507074Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6507252Z               "line": 28
2026-06-03T23:57:42.6507394Z             },
2026-06-03T23:57:42.6507561Z             {
2026-06-03T23:57:42.6507854Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6508057Z               "line": 83
2026-06-03T23:57:42.6508234Z             }
2026-06-03T23:57:42.6508416Z           ]
2026-06-03T23:57:42.6508592Z         },
2026-06-03T23:57:42.6508729Z         "int": {
2026-06-03T23:57:42.6508892Z           "complete": false,
2026-06-03T23:57:42.6509045Z           "evidence": []
2026-06-03T23:57:42.6509204Z         },
2026-06-03T23:57:42.6509364Z         "unit": {
2026-06-03T23:57:42.6509491Z           "complete": true,
2026-06-03T23:57:42.6509607Z           "evidence": [
2026-06-03T23:57:42.6509705Z             {
2026-06-03T23:57:42.6510116Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6510298Z               "line": 248
2026-06-03T23:57:42.6510503Z             },
2026-06-03T23:57:42.6510610Z             {
2026-06-03T23:57:42.6510781Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6510897Z               "line": 259
2026-06-03T23:57:42.6510996Z             }
2026-06-03T23:57:42.6511100Z           ]
2026-06-03T23:57:42.6511199Z         }
2026-06-03T23:57:42.6511304Z       }
2026-06-03T23:57:42.6511414Z     },
2026-06-03T23:57:42.6511514Z     {
2026-06-03T23:57:42.6511633Z       "id": "REQ-SEC-1",
2026-06-03T23:57:42.6512149Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-03T23:57:42.6512279Z       "requiredStages": [],
2026-06-03T23:57:42.6512383Z       "stages": {
2026-06-03T23:57:42.6512495Z         "doc": {
2026-06-03T23:57:42.6512617Z           "complete": false,
2026-06-03T23:57:42.6512735Z           "evidence": []
2026-06-03T23:57:42.6512840Z         },
2026-06-03T23:57:42.6512952Z         "impl": {
2026-06-03T23:57:42.6513077Z           "complete": false,
2026-06-03T23:57:42.6513186Z           "evidence": []
2026-06-03T23:57:42.6513291Z         },
2026-06-03T23:57:42.6513401Z         "int": {
2026-06-03T23:57:42.6513516Z           "complete": false,
2026-06-03T23:57:42.6513634Z           "evidence": []
2026-06-03T23:57:42.6513733Z         },
2026-06-03T23:57:42.6513846Z         "unit": {
2026-06-03T23:57:42.6513963Z           "complete": false,
2026-06-03T23:57:42.6514081Z           "evidence": []
2026-06-03T23:57:42.6514191Z         }
2026-06-03T23:57:42.6514292Z       }
2026-06-03T23:57:42.6514402Z     },
2026-06-03T23:57:42.6514501Z     {
2026-06-03T23:57:42.6514627Z       "id": "REQ-START-1",
2026-06-03T23:57:42.6514882Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-03T23:57:42.6515113Z       "requiredStages": [
2026-06-03T23:57:42.6515235Z         "impl",
2026-06-03T23:57:42.6515340Z         "unit"
2026-06-03T23:57:42.6515458Z       ],
2026-06-03T23:57:42.6515563Z       "stages": {
2026-06-03T23:57:42.6515676Z         "doc": {
2026-06-03T23:57:42.6515796Z           "complete": false,
2026-06-03T23:57:42.6515923Z           "evidence": []
2026-06-03T23:57:42.6516035Z         },
2026-06-03T23:57:42.6516140Z         "impl": {
2026-06-03T23:57:42.6516270Z           "complete": true,
2026-06-03T23:57:42.6516381Z           "evidence": [
2026-06-03T23:57:42.6516490Z             {
2026-06-03T23:57:42.6516645Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T23:57:42.6516767Z               "line": 16
2026-06-03T23:57:42.6516881Z             }
2026-06-03T23:57:42.6516986Z           ]
2026-06-03T23:57:42.6517095Z         },
2026-06-03T23:57:42.6517195Z         "int": {
2026-06-03T23:57:42.6517317Z           "complete": false,
2026-06-03T23:57:42.6517427Z           "evidence": []
2026-06-03T23:57:42.6517533Z         },
2026-06-03T23:57:42.6517647Z         "unit": {
2026-06-03T23:57:42.6517762Z           "complete": true,
2026-06-03T23:57:42.6517887Z           "evidence": [
2026-06-03T23:57:42.6517987Z             {
2026-06-03T23:57:42.6518142Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T23:57:42.6518249Z               "line": 43
2026-06-03T23:57:42.6518355Z             },
2026-06-03T23:57:42.6518461Z             {
2026-06-03T23:57:42.6518604Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T23:57:42.6518719Z               "line": 59
2026-06-03T23:57:42.6518815Z             }
2026-06-03T23:57:42.6518920Z           ]
2026-06-03T23:57:42.6519018Z         }
2026-06-03T23:57:42.6519124Z       }
2026-06-03T23:57:42.6519234Z     },
2026-06-03T23:57:42.6519333Z     {
2026-06-03T23:57:42.6519460Z       "id": "REQ-START-2",
2026-06-03T23:57:42.6519693Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-03T23:57:42.6519872Z       "requiredStages": [
2026-06-03T23:57:42.6520161Z         "impl",
2026-06-03T23:57:42.6520276Z         "unit",
2026-06-03T23:57:42.6520385Z         "int"
2026-06-03T23:57:42.6520556Z       ],
2026-06-03T23:57:42.6520693Z       "stages": {
2026-06-03T23:57:42.6520845Z         "doc": {
2026-06-03T23:57:42.6521027Z           "complete": false,
2026-06-03T23:57:42.6521185Z           "evidence": []
2026-06-03T23:57:42.6521321Z         },
2026-06-03T23:57:42.6521433Z         "impl": {
2026-06-03T23:57:42.6521547Z           "complete": true,
2026-06-03T23:57:42.6521667Z           "evidence": [
2026-06-03T23:57:42.6521767Z             {
2026-06-03T23:57:42.6521926Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6522033Z               "line": 16
2026-06-03T23:57:42.6522139Z             },
2026-06-03T23:57:42.6522245Z             {
2026-06-03T23:57:42.6522398Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6522511Z               "line": 94
2026-06-03T23:57:42.6522609Z             },
2026-06-03T23:57:42.6522713Z             {
2026-06-03T23:57:42.6522874Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6522998Z               "line": 163
2026-06-03T23:57:42.6523106Z             }
2026-06-03T23:57:42.6523206Z           ]
2026-06-03T23:57:42.6523313Z         },
2026-06-03T23:57:42.6523415Z         "int": {
2026-06-03T23:57:42.6523536Z           "complete": true,
2026-06-03T23:57:42.6523646Z           "evidence": [
2026-06-03T23:57:42.6523754Z             {
2026-06-03T23:57:42.6523923Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.6524034Z               "line": 150
2026-06-03T23:57:42.6524144Z             }
2026-06-03T23:57:42.6524244Z           ]
2026-06-03T23:57:42.6524349Z         },
2026-06-03T23:57:42.6524453Z         "unit": {
2026-06-03T23:57:42.6524577Z           "complete": true,
2026-06-03T23:57:42.6524695Z           "evidence": [
2026-06-03T23:57:42.6524795Z             {
2026-06-03T23:57:42.6525037Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6525155Z               "line": 354
2026-06-03T23:57:42.6525265Z             },
2026-06-03T23:57:42.6525376Z             {
2026-06-03T23:57:42.6525534Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6525654Z               "line": 387
2026-06-03T23:57:42.6525754Z             }
2026-06-03T23:57:42.6525861Z           ]
2026-06-03T23:57:42.6525961Z         }
2026-06-03T23:57:42.6526070Z       }
2026-06-03T23:57:42.6526168Z     },
2026-06-03T23:57:42.6526274Z     {
2026-06-03T23:57:42.6526399Z       "id": "REQ-START-3",
2026-06-03T23:57:42.6526630Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-03T23:57:42.6526757Z       "requiredStages": [
2026-06-03T23:57:42.6526862Z         "impl",
2026-06-03T23:57:42.6526974Z         "unit",
2026-06-03T23:57:42.6527075Z         "int"
2026-06-03T23:57:42.6527183Z       ],
2026-06-03T23:57:42.6527302Z       "stages": {
2026-06-03T23:57:42.6527403Z         "doc": {
2026-06-03T23:57:42.6527537Z           "complete": false,
2026-06-03T23:57:42.6527649Z           "evidence": []
2026-06-03T23:57:42.6527762Z         },
2026-06-03T23:57:42.6527866Z         "impl": {
2026-06-03T23:57:42.6527988Z           "complete": true,
2026-06-03T23:57:42.6528109Z           "evidence": [
2026-06-03T23:57:42.6528210Z             {
2026-06-03T23:57:42.6528374Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T23:57:42.6528483Z               "line": 23
2026-06-03T23:57:42.6528594Z             },
2026-06-03T23:57:42.6528694Z             {
2026-06-03T23:57:42.6528855Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T23:57:42.6528973Z               "line": 167
2026-06-03T23:57:42.6529075Z             },
2026-06-03T23:57:42.6529183Z             {
2026-06-03T23:57:42.6529338Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T23:57:42.6529454Z               "line": 180
2026-06-03T23:57:42.6529554Z             },
2026-06-03T23:57:42.6529660Z             {
2026-06-03T23:57:42.6529927Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6530044Z               "line": 17
2026-06-03T23:57:42.6530220Z             },
2026-06-03T23:57:42.6530339Z             {
2026-06-03T23:57:42.6530493Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6530601Z               "line": 43
2026-06-03T23:57:42.6530712Z             },
2026-06-03T23:57:42.6530819Z             {
2026-06-03T23:57:42.6530968Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6531084Z               "line": 95
2026-06-03T23:57:42.6531182Z             }
2026-06-03T23:57:42.6531288Z           ]
2026-06-03T23:57:42.6531385Z         },
2026-06-03T23:57:42.6531497Z         "int": {
2026-06-03T23:57:42.6531617Z           "complete": true,
2026-06-03T23:57:42.6531729Z           "evidence": [
2026-06-03T23:57:42.6531837Z             {
2026-06-03T23:57:42.6531991Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T23:57:42.6532109Z               "line": 316
2026-06-03T23:57:42.6532216Z             }
2026-06-03T23:57:42.6532320Z           ]
2026-06-03T23:57:42.6532431Z         },
2026-06-03T23:57:42.6532534Z         "unit": {
2026-06-03T23:57:42.6532658Z           "complete": true,
2026-06-03T23:57:42.6532766Z           "evidence": [
2026-06-03T23:57:42.6532872Z             {
2026-06-03T23:57:42.6533027Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T23:57:42.6533144Z               "line": 245
2026-06-03T23:57:42.6533251Z             },
2026-06-03T23:57:42.6533350Z             {
2026-06-03T23:57:42.6533511Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T23:57:42.6533621Z               "line": 263
2026-06-03T23:57:42.6533733Z             },
2026-06-03T23:57:42.6533831Z             {
2026-06-03T23:57:42.6533993Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T23:57:42.6534108Z               "line": 273
2026-06-03T23:57:42.6534210Z             },
2026-06-03T23:57:42.6534317Z             {
2026-06-03T23:57:42.6534474Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6534603Z               "line": 355
2026-06-03T23:57:42.6534706Z             },
2026-06-03T23:57:42.6534819Z             {
2026-06-03T23:57:42.6535167Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6535326Z               "line": 388
2026-06-03T23:57:42.6535476Z             },
2026-06-03T23:57:42.6535607Z             {
2026-06-03T23:57:42.6535816Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T23:57:42.6535989Z               "line": 396
2026-06-03T23:57:42.6536114Z             }
2026-06-03T23:57:42.6536218Z           ]
2026-06-03T23:57:42.6536316Z         }
2026-06-03T23:57:42.6536424Z       }
2026-06-03T23:57:42.6536521Z     },
2026-06-03T23:57:42.6536628Z     {
2026-06-03T23:57:42.6536746Z       "id": "REQ-START-4",
2026-06-03T23:57:42.6536938Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-03T23:57:42.6537057Z       "requiredStages": [
2026-06-03T23:57:42.6537170Z         "impl",
2026-06-03T23:57:42.6537284Z         "unit"
2026-06-03T23:57:42.6537390Z       ],
2026-06-03T23:57:42.6537505Z       "stages": {
2026-06-03T23:57:42.6537606Z         "doc": {
2026-06-03T23:57:42.6537731Z           "complete": false,
2026-06-03T23:57:42.6537853Z           "evidence": []
2026-06-03T23:57:42.6537954Z         },
2026-06-03T23:57:42.6538064Z         "impl": {
2026-06-03T23:57:42.6538178Z           "complete": true,
2026-06-03T23:57:42.6538296Z           "evidence": [
2026-06-03T23:57:42.6538395Z             {
2026-06-03T23:57:42.6538560Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6538677Z               "line": 173
2026-06-03T23:57:42.6538776Z             }
2026-06-03T23:57:42.6538881Z           ]
2026-06-03T23:57:42.6538981Z         },
2026-06-03T23:57:42.6539090Z         "int": {
2026-06-03T23:57:42.6539203Z           "complete": false,
2026-06-03T23:57:42.6539321Z           "evidence": []
2026-06-03T23:57:42.6539427Z         },
2026-06-03T23:57:42.6539648Z         "unit": {
2026-06-03T23:57:42.6539776Z           "complete": true,
2026-06-03T23:57:42.6539956Z           "evidence": [
2026-06-03T23:57:42.6540065Z             {
2026-06-03T23:57:42.6540226Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T23:57:42.6540344Z               "line": 314
2026-06-03T23:57:42.6540451Z             }
2026-06-03T23:57:42.6540550Z           ]
2026-06-03T23:57:42.6540655Z         }
2026-06-03T23:57:42.6540752Z       }
2026-06-03T23:57:42.6540856Z     },
2026-06-03T23:57:42.6540952Z     {
2026-06-03T23:57:42.6541075Z       "id": "REQ-STORE-1",
2026-06-03T23:57:42.6542233Z       "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-03T23:57:42.6542361Z       "requiredStages": [],
2026-06-03T23:57:42.6542475Z       "stages": {
2026-06-03T23:57:42.6542593Z         "doc": {
2026-06-03T23:57:42.6542707Z           "complete": false,
2026-06-03T23:57:42.6542821Z           "evidence": []
2026-06-03T23:57:42.6542923Z         },
2026-06-03T23:57:42.6543034Z         "impl": {
2026-06-03T23:57:42.6543150Z           "complete": false,
2026-06-03T23:57:42.6543271Z           "evidence": []
2026-06-03T23:57:42.6543376Z         },
2026-06-03T23:57:42.6543477Z         "int": {
2026-06-03T23:57:42.6543601Z           "complete": false,
2026-06-03T23:57:42.6543714Z           "evidence": []
2026-06-03T23:57:42.6543822Z         },
2026-06-03T23:57:42.6543930Z         "unit": {
2026-06-03T23:57:42.6544055Z           "complete": false,
2026-06-03T23:57:42.6544176Z           "evidence": []
2026-06-03T23:57:42.6544279Z         }
2026-06-03T23:57:42.6544389Z       }
2026-06-03T23:57:42.6544486Z     },
2026-06-03T23:57:42.6544590Z     {
2026-06-03T23:57:42.6544708Z       "id": "REQ-TERM-1",
2026-06-03T23:57:42.6545051Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-03T23:57:42.6545188Z       "requiredStages": [
2026-06-03T23:57:42.6545292Z         "impl",
2026-06-03T23:57:42.6545401Z         "unit"
2026-06-03T23:57:42.6545500Z       ],
2026-06-03T23:57:42.6545862Z       "stages": {
2026-06-03T23:57:42.6545966Z         "doc": {
2026-06-03T23:57:42.6546090Z           "complete": false,
2026-06-03T23:57:42.6546211Z           "evidence": []
2026-06-03T23:57:42.6546312Z         },
2026-06-03T23:57:42.6546424Z         "impl": {
2026-06-03T23:57:42.6546539Z           "complete": true,
2026-06-03T23:57:42.6546656Z           "evidence": [
2026-06-03T23:57:42.6546758Z             {
2026-06-03T23:57:42.6546925Z               "path": "crates/spt-term/src/pty.rs",
2026-06-03T23:57:42.6547045Z               "line": 61
2026-06-03T23:57:42.6547147Z             },
2026-06-03T23:57:42.6547261Z             {
2026-06-03T23:57:42.6547413Z               "path": "crates/spt-term/src/pty.rs",
2026-06-03T23:57:42.6547531Z               "line": 169
2026-06-03T23:57:42.6547633Z             },
2026-06-03T23:57:42.6547749Z             {
2026-06-03T23:57:42.6547915Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T23:57:42.6548028Z               "line": 95
2026-06-03T23:57:42.6548136Z             }
2026-06-03T23:57:42.6548238Z           ]
2026-06-03T23:57:42.6548348Z         },
2026-06-03T23:57:42.6548449Z         "int": {
2026-06-03T23:57:42.6548571Z           "complete": false,
2026-06-03T23:57:42.6548690Z           "evidence": []
2026-06-03T23:57:42.6548788Z         },
2026-06-03T23:57:42.6548897Z         "unit": {
2026-06-03T23:57:42.6549012Z           "complete": true,
2026-06-03T23:57:42.6549129Z           "evidence": [
2026-06-03T23:57:42.6549228Z             {
2026-06-03T23:57:42.6549397Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-03T23:57:42.6549513Z               "line": 28
2026-06-03T23:57:42.6549612Z             },
2026-06-03T23:57:42.6549821Z             {
2026-06-03T23:57:42.6549983Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-03T23:57:42.6550169Z               "line": 60
2026-06-03T23:57:42.6550269Z             }
2026-06-03T23:57:42.6550382Z           ]
2026-06-03T23:57:42.6550489Z         }
2026-06-03T23:57:42.6550588Z       }
2026-06-03T23:57:42.6550693Z     },
2026-06-03T23:57:42.6550791Z     {
2026-06-03T23:57:42.6550913Z       "id": "REQ-TERM-2",
2026-06-03T23:57:42.6551150Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-03T23:57:42.6551277Z       "requiredStages": [
2026-06-03T23:57:42.6551384Z         "impl",
2026-06-03T23:57:42.6551485Z         "unit"
2026-06-03T23:57:42.6551591Z       ],
2026-06-03T23:57:42.6551695Z       "stages": {
2026-06-03T23:57:42.6551802Z         "doc": {
2026-06-03T23:57:42.6551919Z           "complete": false,
2026-06-03T23:57:42.6552038Z           "evidence": []
2026-06-03T23:57:42.6552143Z         },
2026-06-03T23:57:42.6552248Z         "impl": {
2026-06-03T23:57:42.6552374Z           "complete": true,
2026-06-03T23:57:42.6552484Z           "evidence": [
2026-06-03T23:57:42.6552600Z             {
2026-06-03T23:57:42.6552749Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T23:57:42.6552862Z               "line": 112
2026-06-03T23:57:42.6552971Z             },
2026-06-03T23:57:42.6553072Z             {
2026-06-03T23:57:42.6553227Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T23:57:42.6553335Z               "line": 122
2026-06-03T23:57:42.6553441Z             }
2026-06-03T23:57:42.6553541Z           ]
2026-06-03T23:57:42.6553649Z         },
2026-06-03T23:57:42.6553759Z         "int": {
2026-06-03T23:57:42.6553872Z           "complete": false,
2026-06-03T23:57:42.6553992Z           "evidence": []
2026-06-03T23:57:42.6554094Z         },
2026-06-03T23:57:42.6554204Z         "unit": {
2026-06-03T23:57:42.6554319Z           "complete": true,
2026-06-03T23:57:42.6554437Z           "evidence": [
2026-06-03T23:57:42.6554550Z             {
2026-06-03T23:57:42.6554710Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-03T23:57:42.6554831Z               "line": 46
2026-06-03T23:57:42.6555023Z             },
2026-06-03T23:57:42.6555139Z             {
2026-06-03T23:57:42.6555294Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-03T23:57:42.6555413Z               "line": 71
2026-06-03T23:57:42.6555524Z             }
2026-06-03T23:57:42.6555626Z           ]
2026-06-03T23:57:42.6555734Z         }
2026-06-03T23:57:42.6555832Z       }
2026-06-03T23:57:42.6555937Z     },
2026-06-03T23:57:42.6556035Z     {
2026-06-03T23:57:42.6556162Z       "id": "REQ-TERM-3",
2026-06-03T23:57:42.6556357Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-03T23:57:42.6556474Z       "requiredStages": [
2026-06-03T23:57:42.6556588Z         "impl",
2026-06-03T23:57:42.6556690Z         "unit"
2026-06-03T23:57:42.6556797Z       ],
2026-06-03T23:57:42.6556902Z       "stages": {
2026-06-03T23:57:42.6557020Z         "doc": {
2026-06-03T23:57:42.6557146Z           "complete": false,
2026-06-03T23:57:42.6557266Z           "evidence": []
2026-06-03T23:57:42.6557370Z         },
2026-06-03T23:57:42.6557473Z         "impl": {
2026-06-03T23:57:42.6557599Z           "complete": true,
2026-06-03T23:57:42.6557709Z           "evidence": [
2026-06-03T23:57:42.6557817Z             {
2026-06-03T23:57:42.6557984Z               "path": "crates/spt-term/src/stream.rs",
2026-06-03T23:57:42.6558095Z               "line": 71
2026-06-03T23:57:42.6558203Z             }
2026-06-03T23:57:42.6558302Z           ]
2026-06-03T23:57:42.6558408Z         },
2026-06-03T23:57:42.6558511Z         "int": {
2026-06-03T23:57:42.6558632Z           "complete": false,
2026-06-03T23:57:42.6558749Z           "evidence": []
2026-06-03T23:57:42.6558848Z         },
2026-06-03T23:57:42.6558959Z         "unit": {
2026-06-03T23:57:42.6559075Z           "complete": true,
2026-06-03T23:57:42.6559192Z           "evidence": [
2026-06-03T23:57:42.6559291Z             {
2026-06-03T23:57:42.6559534Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-03T23:57:42.6559758Z               "line": 37
2026-06-03T23:57:42.6559860Z             },
2026-06-03T23:57:42.6559970Z             {
2026-06-03T23:57:42.6560123Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-03T23:57:42.6560238Z               "line": 67
2026-06-03T23:57:42.6560338Z             }
2026-06-03T23:57:42.6560445Z           ]
2026-06-03T23:57:42.6560553Z         }
2026-06-03T23:57:42.6560656Z       }
2026-06-03T23:57:42.6560760Z     },
2026-06-03T23:57:42.6560856Z     {
2026-06-03T23:57:42.6560975Z       "id": "REQ-TERM-4",
2026-06-03T23:57:42.6561435Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-03T23:57:42.6561561Z       "requiredStages": [
2026-06-03T23:57:42.6561670Z         "impl",
2026-06-03T23:57:42.6561771Z         "unit",
2026-06-03T23:57:42.6561876Z         "int"
2026-06-03T23:57:42.6561980Z       ],
2026-06-03T23:57:42.6562094Z       "stages": {
2026-06-03T23:57:42.6562204Z         "doc": {
2026-06-03T23:57:42.6562324Z           "complete": true,
2026-06-03T23:57:42.6562440Z           "evidence": [
2026-06-03T23:57:42.6562542Z             {
2026-06-03T23:57:42.6562681Z               "path": "docs/MANIFEST.md",
2026-06-03T23:57:42.6562793Z               "line": 106
2026-06-03T23:57:42.6562897Z             }
2026-06-03T23:57:42.6562995Z           ]
2026-06-03T23:57:42.6563102Z         },
2026-06-03T23:57:42.6563213Z         "impl": {
2026-06-03T23:57:42.6563328Z           "complete": true,
2026-06-03T23:57:42.6563447Z           "evidence": [
2026-06-03T23:57:42.6563550Z             {
2026-06-03T23:57:42.6563709Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T23:57:42.6563819Z               "line": 337
2026-06-03T23:57:42.6563926Z             },
2026-06-03T23:57:42.6564033Z             {
2026-06-03T23:57:42.6564194Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6564308Z               "line": 41
2026-06-03T23:57:42.6564416Z             },
2026-06-03T23:57:42.6564526Z             {
2026-06-03T23:57:42.6564678Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6564797Z               "line": 91
2026-06-03T23:57:42.6564904Z             },
2026-06-03T23:57:42.6565084Z             {
2026-06-03T23:57:42.6565248Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6565360Z               "line": 152
2026-06-03T23:57:42.6565469Z             },
2026-06-03T23:57:42.6565569Z             {
2026-06-03T23:57:42.6565729Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6565850Z               "line": 212
2026-06-03T23:57:42.6565951Z             },
2026-06-03T23:57:42.6566059Z             {
2026-06-03T23:57:42.6566229Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6566352Z               "line": 20
2026-06-03T23:57:42.6566462Z             },
2026-06-03T23:57:42.6566570Z             {
2026-06-03T23:57:42.6566742Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6566860Z               "line": 212
2026-06-03T23:57:42.6566969Z             },
2026-06-03T23:57:42.6567073Z             {
2026-06-03T23:57:42.6567240Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6567349Z               "line": 226
2026-06-03T23:57:42.6567459Z             },
2026-06-03T23:57:42.6567568Z             {
2026-06-03T23:57:42.6567728Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6567847Z               "line": 574
2026-06-03T23:57:42.6567948Z             },
2026-06-03T23:57:42.6568060Z             {
2026-06-03T23:57:42.6568211Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6568328Z               "line": 157
2026-06-03T23:57:42.6568436Z             },
2026-06-03T23:57:42.6568535Z             {
2026-06-03T23:57:42.6568767Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6568880Z               "line": 199
2026-06-03T23:57:42.6569084Z             },
2026-06-03T23:57:42.6569188Z             {
2026-06-03T23:57:42.6569337Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6569454Z               "line": 226
2026-06-03T23:57:42.6569555Z             },
2026-06-03T23:57:42.6569662Z             {
2026-06-03T23:57:42.6569803Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6569922Z               "line": 176
2026-06-03T23:57:42.6570029Z             }
2026-06-03T23:57:42.6570129Z           ]
2026-06-03T23:57:42.6570234Z         },
2026-06-03T23:57:42.6570337Z         "int": {
2026-06-03T23:57:42.6570460Z           "complete": true,
2026-06-03T23:57:42.6570569Z           "evidence": [
2026-06-03T23:57:42.6570673Z             {
2026-06-03T23:57:42.6570835Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-03T23:57:42.6570946Z               "line": 18
2026-06-03T23:57:42.6571058Z             }
2026-06-03T23:57:42.6571156Z           ]
2026-06-03T23:57:42.6571260Z         },
2026-06-03T23:57:42.6571371Z         "unit": {
2026-06-03T23:57:42.6571494Z           "complete": true,
2026-06-03T23:57:42.6571609Z           "evidence": [
2026-06-03T23:57:42.6571714Z             {
2026-06-03T23:57:42.6571873Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6571982Z               "line": 250
2026-06-03T23:57:42.6572087Z             },
2026-06-03T23:57:42.6572185Z             {
2026-06-03T23:57:42.6572342Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6572456Z               "line": 263
2026-06-03T23:57:42.6572556Z             },
2026-06-03T23:57:42.6572660Z             {
2026-06-03T23:57:42.6572811Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6572927Z               "line": 275
2026-06-03T23:57:42.6573025Z             },
2026-06-03T23:57:42.6573131Z             {
2026-06-03T23:57:42.6573302Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6573413Z               "line": 290
2026-06-03T23:57:42.6573526Z             },
2026-06-03T23:57:42.6573624Z             {
2026-06-03T23:57:42.6573784Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6573893Z               "line": 305
2026-06-03T23:57:42.6574000Z             },
2026-06-03T23:57:42.6574110Z             {
2026-06-03T23:57:42.6574262Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6574377Z               "line": 327
2026-06-03T23:57:42.6574478Z             },
2026-06-03T23:57:42.6574587Z             {
2026-06-03T23:57:42.6574739Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6574856Z               "line": 337
2026-06-03T23:57:42.6575043Z             },
2026-06-03T23:57:42.6575145Z             {
2026-06-03T23:57:42.6575305Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T23:57:42.6575417Z               "line": 364
2026-06-03T23:57:42.6575533Z             },
2026-06-03T23:57:42.6575635Z             {
2026-06-03T23:57:42.6575804Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6575932Z               "line": 338
2026-06-03T23:57:42.6576035Z             },
2026-06-03T23:57:42.6576144Z             {
2026-06-03T23:57:42.6576307Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6576433Z               "line": 350
2026-06-03T23:57:42.6576537Z             },
2026-06-03T23:57:42.6576648Z             {
2026-06-03T23:57:42.6576814Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6576924Z               "line": 367
2026-06-03T23:57:42.6577037Z             },
2026-06-03T23:57:42.6577141Z             {
2026-06-03T23:57:42.6577309Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T23:57:42.6577431Z               "line": 378
2026-06-03T23:57:42.6577531Z             },
2026-06-03T23:57:42.6577642Z             {
2026-06-03T23:57:42.6577875Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6577996Z               "line": 759
2026-06-03T23:57:42.6578167Z             },
2026-06-03T23:57:42.6578284Z             {
2026-06-03T23:57:42.6578456Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6578570Z               "line": 766
2026-06-03T23:57:42.6578683Z             },
2026-06-03T23:57:42.6578782Z             {
2026-06-03T23:57:42.6578943Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6579052Z               "line": 781
2026-06-03T23:57:42.6579160Z             },
2026-06-03T23:57:42.6579269Z             {
2026-06-03T23:57:42.6579419Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6579538Z               "line": 381
2026-06-03T23:57:42.6579639Z             },
2026-06-03T23:57:42.6579746Z             {
2026-06-03T23:57:42.6579891Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6580007Z               "line": 402
2026-06-03T23:57:42.6580119Z             },
2026-06-03T23:57:42.6580219Z             {
2026-06-03T23:57:42.6580378Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6580485Z               "line": 415
2026-06-03T23:57:42.6580591Z             },
2026-06-03T23:57:42.6580693Z             {
2026-06-03T23:57:42.6580845Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6580959Z               "line": 434
2026-06-03T23:57:42.6581058Z             },
2026-06-03T23:57:42.6581165Z             {
2026-06-03T23:57:42.6581310Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T23:57:42.6581425Z               "line": 461
2026-06-03T23:57:42.6581525Z             },
2026-06-03T23:57:42.6581631Z             {
2026-06-03T23:57:42.6581788Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-03T23:57:42.6581896Z               "line": 32
2026-06-03T23:57:42.6581999Z             },
2026-06-03T23:57:42.6582099Z             {
2026-06-03T23:57:42.6582249Z               "path": "crates/spt/src/cli.rs",
2026-06-03T23:57:42.6582358Z               "line": 646
2026-06-03T23:57:42.6582470Z             }
2026-06-03T23:57:42.6582576Z           ]
2026-06-03T23:57:42.6582675Z         }
2026-06-03T23:57:42.6582779Z       }
2026-06-03T23:57:42.6582875Z     },
2026-06-03T23:57:42.6582978Z     {
2026-06-03T23:57:42.6583090Z       "id": "REQ-UPD-1",
2026-06-03T23:57:42.6583256Z       "title": "Peer-propagated update over P2P",
2026-06-03T23:57:42.6583382Z       "requiredStages": [],
2026-06-03T23:57:42.6583488Z       "stages": {
2026-06-03T23:57:42.6583603Z         "doc": {
2026-06-03T23:57:42.6583721Z           "complete": false,
2026-06-03T23:57:42.6583844Z           "evidence": []
2026-06-03T23:57:42.6583943Z         },
2026-06-03T23:57:42.6584055Z         "impl": {
2026-06-03T23:57:42.6584177Z           "complete": false,
2026-06-03T23:57:42.6584324Z           "evidence": []
2026-06-03T23:57:42.6584431Z         },
2026-06-03T23:57:42.6584534Z         "int": {
2026-06-03T23:57:42.6584663Z           "complete": false,
2026-06-03T23:57:42.6584774Z           "evidence": []
2026-06-03T23:57:42.6584892Z         },
2026-06-03T23:57:42.6585070Z         "unit": {
2026-06-03T23:57:42.6585189Z           "complete": false,
2026-06-03T23:57:42.6585307Z           "evidence": []
2026-06-03T23:57:42.6585406Z         }
2026-06-03T23:57:42.6585513Z       }
2026-06-03T23:57:42.6585611Z     },
2026-06-03T23:57:42.6585718Z     {
2026-06-03T23:57:42.6585842Z       "id": "REQ-UPD-2",
2026-06-03T23:57:42.6586034Z       "title": "All binaries signature-verified before handoff",
2026-06-03T23:57:42.6586161Z       "requiredStages": [
2026-06-03T23:57:42.6586264Z         "impl",
2026-06-03T23:57:42.6586373Z         "unit"
2026-06-03T23:57:42.6586473Z       ],
2026-06-03T23:57:42.6586588Z       "stages": {
2026-06-03T23:57:42.6586703Z         "doc": {
2026-06-03T23:57:42.6586822Z           "complete": false,
2026-06-03T23:57:42.6586945Z           "evidence": []
2026-06-03T23:57:42.6587042Z         },
2026-06-03T23:57:42.6587231Z         "impl": {
2026-06-03T23:57:42.6587350Z           "complete": true,
2026-06-03T23:57:42.6587545Z           "evidence": [
2026-06-03T23:57:42.6587658Z             {
2026-06-03T23:57:42.6587821Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6587944Z               "line": 29
2026-06-03T23:57:42.6588047Z             },
2026-06-03T23:57:42.6588161Z             {
2026-06-03T23:57:42.6588321Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6588448Z               "line": 158
2026-06-03T23:57:42.6588561Z             },
2026-06-03T23:57:42.6588662Z             {
2026-06-03T23:57:42.6588825Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6588934Z               "line": 239
2026-06-03T23:57:42.6589041Z             },
2026-06-03T23:57:42.6589141Z             {
2026-06-03T23:57:42.6589305Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6589423Z               "line": 149
2026-06-03T23:57:42.6589529Z             }
2026-06-03T23:57:42.6589640Z           ]
2026-06-03T23:57:42.6589747Z         },
2026-06-03T23:57:42.6589859Z         "int": {
2026-06-03T23:57:42.6589974Z           "complete": false,
2026-06-03T23:57:42.6590094Z           "evidence": []
2026-06-03T23:57:42.6590197Z         },
2026-06-03T23:57:42.6590302Z         "unit": {
2026-06-03T23:57:42.6590421Z           "complete": true,
2026-06-03T23:57:42.6590532Z           "evidence": [
2026-06-03T23:57:42.6590636Z             {
2026-06-03T23:57:42.6590788Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6590903Z               "line": 336
2026-06-03T23:57:42.6591011Z             },
2026-06-03T23:57:42.6591108Z             {
2026-06-03T23:57:42.6591266Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6591374Z               "line": 350
2026-06-03T23:57:42.6591484Z             },
2026-06-03T23:57:42.6591580Z             {
2026-06-03T23:57:42.6591744Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6591859Z               "line": 361
2026-06-03T23:57:42.6591966Z             },
2026-06-03T23:57:42.6592071Z             {
2026-06-03T23:57:42.6592222Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6592336Z               "line": 437
2026-06-03T23:57:42.6592436Z             },
2026-06-03T23:57:42.6592545Z             {
2026-06-03T23:57:42.6592706Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6592815Z               "line": 326
2026-06-03T23:57:42.6592919Z             },
2026-06-03T23:57:42.6593020Z             {
2026-06-03T23:57:42.6593179Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6593297Z               "line": 339
2026-06-03T23:57:42.6593399Z             }
2026-06-03T23:57:42.6593505Z           ]
2026-06-03T23:57:42.6593604Z         }
2026-06-03T23:57:42.6593709Z       }
2026-06-03T23:57:42.6593809Z     },
2026-06-03T23:57:42.6593915Z     {
2026-06-03T23:57:42.6594034Z       "id": "REQ-UPD-3",
2026-06-03T23:57:42.6594275Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-03T23:57:42.6594408Z       "requiredStages": [
2026-06-03T23:57:42.6594513Z         "impl",
2026-06-03T23:57:42.6594623Z         "unit",
2026-06-03T23:57:42.6594729Z         "int"
2026-06-03T23:57:42.6594836Z       ],
2026-06-03T23:57:42.6595015Z       "stages": {
2026-06-03T23:57:42.6595132Z         "doc": {
2026-06-03T23:57:42.6595260Z           "complete": false,
2026-06-03T23:57:42.6595374Z           "evidence": []
2026-06-03T23:57:42.6595485Z         },
2026-06-03T23:57:42.6595591Z         "impl": {
2026-06-03T23:57:42.6595719Z           "complete": true,
2026-06-03T23:57:42.6595830Z           "evidence": [
2026-06-03T23:57:42.6595939Z             {
2026-06-03T23:57:42.6596104Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6596213Z               "line": 26
2026-06-03T23:57:42.6596321Z             },
2026-06-03T23:57:42.6596497Z             {
2026-06-03T23:57:42.6596661Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6596850Z               "line": 111
2026-06-03T23:57:42.6596950Z             },
2026-06-03T23:57:42.6597065Z             {
2026-06-03T23:57:42.6597217Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6597337Z               "line": 213
2026-06-03T23:57:42.6597438Z             }
2026-06-03T23:57:42.6597550Z           ]
2026-06-03T23:57:42.6597668Z         },
2026-06-03T23:57:42.6597776Z         "int": {
2026-06-03T23:57:42.6597903Z           "complete": true,
2026-06-03T23:57:42.6598015Z           "evidence": [
2026-06-03T23:57:42.6598124Z             {
2026-06-03T23:57:42.6598292Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-03T23:57:42.6598407Z               "line": 23
2026-06-03T23:57:42.6602606Z             }
2026-06-03T23:57:42.6602754Z           ]
2026-06-03T23:57:42.6602857Z         },
2026-06-03T23:57:42.6602991Z         "unit": {
2026-06-03T23:57:42.6603120Z           "complete": true,
2026-06-03T23:57:42.6603244Z           "evidence": [
2026-06-03T23:57:42.6603368Z             {
2026-06-03T23:57:42.6603547Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6603669Z               "line": 238
2026-06-03T23:57:42.6603774Z             },
2026-06-03T23:57:42.6603883Z             {
2026-06-03T23:57:42.6604047Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6604166Z               "line": 262
2026-06-03T23:57:42.6604275Z             },
2026-06-03T23:57:42.6604378Z             {
2026-06-03T23:57:42.6604550Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6604663Z               "line": 273
2026-06-03T23:57:42.6604777Z             },
2026-06-03T23:57:42.6604880Z             {
2026-06-03T23:57:42.6605194Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T23:57:42.6605319Z               "line": 286
2026-06-03T23:57:42.6605431Z             }
2026-06-03T23:57:42.6605553Z           ]
2026-06-03T23:57:42.6605657Z         }
2026-06-03T23:57:42.6605777Z       }
2026-06-03T23:57:42.6605880Z     },
2026-06-03T23:57:42.6605991Z     {
2026-06-03T23:57:42.6606122Z       "id": "REQ-UPD-4",
2026-06-03T23:57:42.6606377Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-03T23:57:42.6606506Z       "requiredStages": [
2026-06-03T23:57:42.6606612Z         "impl",
2026-06-03T23:57:42.6606722Z         "unit"
2026-06-03T23:57:42.6606822Z       ],
2026-06-03T23:57:42.6606938Z       "stages": {
2026-06-03T23:57:42.6607051Z         "doc": {
2026-06-03T23:57:42.6607170Z           "complete": false,
2026-06-03T23:57:42.6607293Z           "evidence": []
2026-06-03T23:57:42.6607394Z         },
2026-06-03T23:57:42.6607506Z         "impl": {
2026-06-03T23:57:42.6607624Z           "complete": true,
2026-06-03T23:57:42.6607743Z           "evidence": [
2026-06-03T23:57:42.6607849Z             {
2026-06-03T23:57:42.6608015Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T23:57:42.6608133Z               "line": 23
2026-06-03T23:57:42.6608246Z             },
2026-06-03T23:57:42.6608352Z             {
2026-06-03T23:57:42.6608510Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T23:57:42.6608626Z               "line": 60
2026-06-03T23:57:42.6608733Z             },
2026-06-03T23:57:42.6608833Z             {
2026-06-03T23:57:42.6608989Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T23:57:42.6609095Z               "line": 79
2026-06-03T23:57:42.6609202Z             },
2026-06-03T23:57:42.6609302Z             {
2026-06-03T23:57:42.6609474Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T23:57:42.6609592Z               "line": 162
2026-06-03T23:57:42.6609693Z             },
2026-06-03T23:57:42.6609800Z             {
2026-06-03T23:57:42.6609949Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6610068Z               "line": 106
2026-06-03T23:57:42.6610320Z             }
2026-06-03T23:57:42.6610433Z           ]
2026-06-03T23:57:42.6610612Z         },
2026-06-03T23:57:42.6610715Z         "int": {
2026-06-03T23:57:42.6610844Z           "complete": false,
2026-06-03T23:57:42.6610954Z           "evidence": []
2026-06-03T23:57:42.6611061Z         },
2026-06-03T23:57:42.6611166Z         "unit": {
2026-06-03T23:57:42.6611292Z           "complete": true,
2026-06-03T23:57:42.6611410Z           "evidence": [
2026-06-03T23:57:42.6611510Z             {
2026-06-03T23:57:42.6611673Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T23:57:42.6611782Z               "line": 217
2026-06-03T23:57:42.6611893Z             },
2026-06-03T23:57:42.6611996Z             {
2026-06-03T23:57:42.6612160Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T23:57:42.6612280Z               "line": 118
2026-06-03T23:57:42.6612379Z             },
2026-06-03T23:57:42.6612490Z             {
2026-06-03T23:57:42.6612649Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T23:57:42.6612771Z               "line": 133
2026-06-03T23:57:42.6612881Z             },
2026-06-03T23:57:42.6612990Z             {
2026-06-03T23:57:42.6613150Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T23:57:42.6613258Z               "line": 152
2026-06-03T23:57:42.6613371Z             },
2026-06-03T23:57:42.6613474Z             {
2026-06-03T23:57:42.6613635Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T23:57:42.6613745Z               "line": 234
2026-06-03T23:57:42.6613861Z             },
2026-06-03T23:57:42.6613970Z             {
2026-06-03T23:57:42.6614124Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T23:57:42.6614243Z               "line": 407
2026-06-03T23:57:42.6614343Z             }
2026-06-03T23:57:42.6614452Z           ]
2026-06-03T23:57:42.6614554Z         }
2026-06-03T23:57:42.6614663Z       }
2026-06-03T23:57:42.6614772Z     },
2026-06-03T23:57:42.6614875Z     {
2026-06-03T23:57:42.6615098Z       "id": "REQ-UPD-5",
2026-06-03T23:57:42.6615302Z       "title": "spt-core ripple-updates registered adapters",
2026-06-03T23:57:42.6615445Z       "requiredStages": [
2026-06-03T23:57:42.6615555Z         "impl",
2026-06-03T23:57:42.6615670Z         "unit"
2026-06-03T23:57:42.6615783Z       ],
2026-06-03T23:57:42.6615897Z       "stages": {
2026-06-03T23:57:42.6616016Z         "doc": {
2026-06-03T23:57:42.6616140Z           "complete": false,
2026-06-03T23:57:42.6616266Z           "evidence": []
2026-06-03T23:57:42.6616366Z         },
2026-06-03T23:57:42.6616482Z         "impl": {
2026-06-03T23:57:42.6616607Z           "complete": true,
2026-06-03T23:57:42.6616719Z           "evidence": [
2026-06-03T23:57:42.6616829Z             {
2026-06-03T23:57:42.6617008Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6617127Z               "line": 27
2026-06-03T23:57:42.6617227Z             },
2026-06-03T23:57:42.6617339Z             {
2026-06-03T23:57:42.6617522Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6617632Z               "line": 82
2026-06-03T23:57:42.6617747Z             },
2026-06-03T23:57:42.6617849Z             {
2026-06-03T23:57:42.6618021Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6618138Z               "line": 134
2026-06-03T23:57:42.6618238Z             },
2026-06-03T23:57:42.6618347Z             {
2026-06-03T23:57:42.6618503Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6618620Z               "line": 198
2026-06-03T23:57:42.6618719Z             },
2026-06-03T23:57:42.6618827Z             {
2026-06-03T23:57:42.6618989Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T23:57:42.6619100Z               "line": 226
2026-06-03T23:57:42.6619209Z             }
2026-06-03T23:57:42.6619312Z           ]
2026-06-03T23:57:42.6619420Z         },
2026-06-03T23:57:42.6619523Z         "int": {
2026-06-03T23:57:42.6619646Z           "complete": false,
2026-06-03T23:57:42.6619844Z           "evidence": []
2026-06-03T23:57:42.6619948Z         },
2026-06-03T23:57:42.6620134Z         "unit": {
2026-06-03T23:57:42.6620252Z           "complete": true,
2026-06-03T23:57:42.6620413Z           "evidence": [
2026-06-03T23:57:42.6620566Z             {
2026-06-03T23:57:42.6620831Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6620947Z               "line": 194
2026-06-03T23:57:42.6621048Z             },
2026-06-03T23:57:42.6621157Z             {
2026-06-03T23:57:42.6621323Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6621447Z               "line": 208
2026-06-03T23:57:42.6621549Z             },
2026-06-03T23:57:42.6621660Z             {
2026-06-03T23:57:42.6621833Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6621943Z               "line": 222
2026-06-03T23:57:42.6622051Z             },
2026-06-03T23:57:42.6622151Z             {
2026-06-03T23:57:42.6622340Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6622457Z               "line": 236
2026-06-03T23:57:42.6622565Z             },
2026-06-03T23:57:42.6622676Z             {
2026-06-03T23:57:42.6622845Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T23:57:42.6622962Z               "line": 270
2026-06-03T23:57:42.6623064Z             },
2026-06-03T23:57:42.6623175Z             {
2026-06-03T23:57:42.6623339Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T23:57:42.6623456Z               "line": 729
2026-06-03T23:57:42.6623563Z             }
2026-06-03T23:57:42.6623664Z           ]
2026-06-03T23:57:42.6623771Z         }
2026-06-03T23:57:42.6623876Z       }
2026-06-03T23:57:42.6623987Z     }
2026-06-03T23:57:42.6624086Z   ],
2026-06-03T23:57:42.6624203Z   "findings": []
2026-06-03T23:57:42.6624308Z }
2026-06-03T23:57:42.6652947Z ##[group]Run ./traceable-reqs lint || true
2026-06-03T23:57:42.6653110Z [36;1m./traceable-reqs lint || true[0m
2026-06-03T23:57:42.6670494Z shell: /usr/bin/bash -e {0}
2026-06-03T23:57:42.6670622Z ##[endgroup]
2026-06-03T23:57:42.6776178Z Requirement quality findings (15); 126 requirements queued for agent review:
2026-06-03T23:57:42.6777711Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6778814Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-03T23:57:42.6780379Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6781313Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6782160Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-03T23:57:42.6782825Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-03T23:57:42.6783760Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6784679Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6785555Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-03T23:57:42.6786121Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-03T23:57:42.6786684Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-03T23:57:42.6787567Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6788393Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6789286Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-03T23:57:42.6790091Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-03T23:57:42.6790112Z 
2026-06-03T23:57:42.6795392Z # Requirement quality review
2026-06-03T23:57:42.6795635Z 
2026-06-03T23:57:42.6796132Z You are reviewing 126 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-03T23:57:42.6796595Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-03T23:57:42.6797055Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-03T23:57:42.6797460Z this command's output. Your task is the rubric items below.
2026-06-03T23:57:42.6797479Z 
2026-06-03T23:57:42.6797653Z ## Rubric
2026-06-03T23:57:42.6797670Z 
2026-06-03T23:57:42.6798373Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-03T23:57:42.6798968Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-03T23:57:42.6799729Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-03T23:57:42.6800095Z - **active-voice** — clear subject and active verb.
2026-06-03T23:57:42.6800114Z 
2026-06-03T23:57:42.6800654Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-03T23:57:42.6800853Z clear concerns.
2026-06-03T23:57:42.6800870Z 
2026-06-03T23:57:42.6801065Z ## Requirements
2026-06-03T23:57:42.6801083Z 
2026-06-03T23:57:42.6801266Z ### REQ-ARCH-1
2026-06-03T23:57:42.6801503Z - Title: Many small acyclically-layered crates
2026-06-03T23:57:42.6801688Z - Required stages: impl
2026-06-03T23:57:42.6801702Z 
2026-06-03T23:57:42.6802126Z ### REQ-ARCH-2
2026-06-03T23:57:42.6802750Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-03T23:57:42.6803380Z - Required stages: impl
2026-06-03T23:57:42.6803627Z 
2026-06-03T23:57:42.6803866Z ### REQ-ARCH-3
2026-06-03T23:57:42.6804472Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-03T23:57:42.6805402Z - Required stages: impl, unit
2026-06-03T23:57:42.6805663Z 
2026-06-03T23:57:42.6805811Z ### REQ-ARCH-4
2026-06-03T23:57:42.6806291Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-03T23:57:42.6806924Z - Required stages: impl, unit
2026-06-03T23:57:42.6807233Z 
2026-06-03T23:57:42.6807390Z ### REQ-DAEMON-1
2026-06-03T23:57:42.6807960Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-03T23:57:42.6808614Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6808957Z 
2026-06-03T23:57:42.6809136Z ### REQ-DAEMON-2
2026-06-03T23:57:42.6809678Z - Title: Broker/brain split for seamless self-update
2026-06-03T23:57:42.6810316Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6810656Z 
2026-06-03T23:57:42.6810842Z ### REQ-DAEMON-3
2026-06-03T23:57:42.6811420Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-03T23:57:42.6812074Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6812409Z 
2026-06-03T23:57:42.6812620Z ### REQ-DAEMON-4
2026-06-03T23:57:42.6813108Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-03T23:57:42.6813669Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6813983Z 
2026-06-03T23:57:42.6814157Z ### REQ-STORE-1
2026-06-03T23:57:42.6816993Z - 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-03T23:57:42.6818426Z - Required stages: 
2026-06-03T23:57:42.6818623Z 
2026-06-03T23:57:42.6818738Z ### REQ-MANIFEST-1
2026-06-03T23:57:42.6819129Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-03T23:57:42.6819571Z - Required stages: doc, impl, unit
2026-06-03T23:57:42.6819909Z 
2026-06-03T23:57:42.6820046Z ### REQ-SEAM-SPAWN
2026-06-03T23:57:42.6820329Z - Title: spawn-session seam
2026-06-03T23:57:42.6820639Z - Required stages: impl, unit
2026-06-03T23:57:42.6820838Z 
2026-06-03T23:57:42.6820965Z ### REQ-SEAM-POSTSPAWN
2026-06-03T23:57:42.6821297Z - Title: post-spawn / api bind seam with boot nonce
2026-06-03T23:57:42.6821674Z - Required stages: impl, unit
2026-06-03T23:57:42.6821861Z 
2026-06-03T23:57:42.6821987Z ### REQ-SEAM-PSYCHE
2026-06-03T23:57:42.6822306Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-03T23:57:42.6822679Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6822882Z 
2026-06-03T23:57:42.6822996Z ### REQ-SEAM-HISTORY
2026-06-03T23:57:42.6823377Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-03T23:57:42.6823800Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6824002Z 
2026-06-03T23:57:42.6824124Z ### REQ-SEAM-ACTIVITY
2026-06-03T23:57:42.6824498Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-03T23:57:42.6824927Z - Required stages: impl, unit
2026-06-03T23:57:42.6825445Z 
2026-06-03T23:57:42.6825637Z ### REQ-SEAM-INJECT
2026-06-03T23:57:42.6826033Z - Title: inject-input methods configurable per activity-state
2026-06-03T23:57:42.6826432Z - Required stages: impl, unit
2026-06-03T23:57:42.6826620Z 
2026-06-03T23:57:42.6826733Z ### REQ-SEAM-RESUME
2026-06-03T23:57:42.6827113Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-03T23:57:42.6827535Z - Required stages: impl, unit
2026-06-03T23:57:42.6827716Z 
2026-06-03T23:57:42.6827844Z ### REQ-SEAM-CAPABILITY
2026-06-03T23:57:42.6828195Z - Title: Hostable endpoint-types capability declaration
2026-06-03T23:57:42.6828568Z - Required stages: impl, unit
2026-06-03T23:57:42.6828877Z 
2026-06-03T23:57:42.6828998Z ### REQ-SEAM-UPDATE
2026-06-03T23:57:42.6829352Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-03T23:57:42.6829766Z - Required stages: impl, unit
2026-06-03T23:57:42.6829961Z 
2026-06-03T23:57:42.6830079Z ### REQ-API-1
2026-06-03T23:57:42.6830430Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-03T23:57:42.6830840Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6831042Z 
2026-06-03T23:57:42.6831151Z ### REQ-API-2
2026-06-03T23:57:42.6831542Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-03T23:57:42.6832004Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6832211Z 
2026-06-03T23:57:42.6832324Z ### REQ-API-3
2026-06-03T23:57:42.6832634Z - Title: commune/signoff are file-drops, not commands
2026-06-03T23:57:42.6833010Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6833206Z 
2026-06-03T23:57:42.6833324Z ### REQ-START-1
2026-06-03T23:57:42.6833717Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-03T23:57:42.6834155Z - Required stages: impl, unit
2026-06-03T23:57:42.6834350Z 
2026-06-03T23:57:42.6834461Z ### REQ-START-2
2026-06-03T23:57:42.6834789Z - Title: Harness-hosted startup: api seed then listen
2026-06-03T23:57:42.6835329Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6835527Z 
2026-06-03T23:57:42.6835650Z ### REQ-START-3
2026-06-03T23:57:42.6836010Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-03T23:57:42.6836429Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6836633Z 
2026-06-03T23:57:42.6836742Z ### REQ-START-4
2026-06-03T23:57:42.6837059Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-03T23:57:42.6837433Z - Required stages: impl, unit
2026-06-03T23:57:42.6837618Z 
2026-06-03T23:57:42.6837733Z ### REQ-EP-1
2026-06-03T23:57:42.6838027Z - Title: Day-one endpoint types; open type system
2026-06-03T23:57:42.6838394Z - Required stages: impl, unit
2026-06-03T23:57:42.6838585Z 
2026-06-03T23:57:42.6838690Z ### REQ-EP-2
2026-06-03T23:57:42.6839030Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-03T23:57:42.6839428Z - Required stages: impl, unit
2026-06-03T23:57:42.6839711Z 
2026-06-03T23:57:42.6839827Z ### REQ-EP-3
2026-06-03T23:57:42.6840186Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-03T23:57:42.6840613Z - Required stages: impl, unit
2026-06-03T23:57:42.6840798Z 
2026-06-03T23:57:42.6840912Z ### REQ-EP-4
2026-06-03T23:57:42.6841222Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-03T23:57:42.6841591Z - Required stages: 
2026-06-03T23:57:42.6841756Z 
2026-06-03T23:57:42.6841861Z ### REQ-EP-5
2026-06-03T23:57:42.6842824Z - 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-03T23:57:42.6843822Z - Required stages: 
2026-06-03T23:57:42.6843978Z 
2026-06-03T23:57:42.6844095Z ### REQ-INST-1
2026-06-03T23:57:42.6844430Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-03T23:57:42.6844817Z - Required stages: 
2026-06-03T23:57:42.6845111Z 
2026-06-03T23:57:42.6845251Z ### REQ-INST-2
2026-06-03T23:57:42.6845544Z - Title: Per-node files, synced Psyche mind
2026-06-03T23:57:42.6845887Z - Required stages: 
2026-06-03T23:57:42.6846040Z 
2026-06-03T23:57:42.6846156Z ### REQ-INST-3
2026-06-03T23:57:42.6846480Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-03T23:57:42.6846844Z - Required stages: 
2026-06-03T23:57:42.6847006Z 
2026-06-03T23:57:42.6847114Z ### REQ-INST-4
2026-06-03T23:57:42.6847473Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-03T23:57:42.6847880Z - Required stages: 
2026-06-03T23:57:42.6848041Z 
2026-06-03T23:57:42.6848160Z ### REQ-INST-5
2026-06-03T23:57:42.6848637Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-03T23:57:42.6849057Z - Required stages: 
2026-06-03T23:57:42.6849212Z 
2026-06-03T23:57:42.6849336Z ### REQ-INST-6
2026-06-03T23:57:42.6849703Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-03T23:57:42.6850135Z - Required stages: 
2026-06-03T23:57:42.6850305Z 
2026-06-03T23:57:42.6850416Z ### REQ-INST-7
2026-06-03T23:57:42.6850744Z - Title: Subnet registry + bare-id resolution policy
2026-06-03T23:57:42.6851118Z - Required stages: impl, unit
2026-06-03T23:57:42.6851303Z 
2026-06-03T23:57:42.6851420Z ### REQ-INST-8
2026-06-03T23:57:42.6851747Z - Title: Remote-control mode distinct from local operation
2026-06-03T23:57:42.6852120Z - Required stages: 
2026-06-03T23:57:42.6852280Z 
2026-06-03T23:57:42.6852388Z ### REQ-INST-9
2026-06-03T23:57:42.6852752Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-03T23:57:42.6853177Z - Required stages: impl, unit
2026-06-03T23:57:42.6853368Z 
2026-06-03T23:57:42.6853488Z ### REQ-INST-10
2026-06-03T23:57:42.6853891Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-03T23:57:42.6854345Z - Required stages: impl, unit
2026-06-03T23:57:42.6854535Z 
2026-06-03T23:57:42.6854651Z ### REQ-INST-11
2026-06-03T23:57:42.6855221Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-03T23:57:42.6855694Z - Required stages: impl, unit
2026-06-03T23:57:42.6855890Z 
2026-06-03T23:57:42.6856006Z ### REQ-INST-12
2026-06-03T23:57:42.6856505Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-03T23:57:42.6857055Z - Required stages: impl, unit
2026-06-03T23:57:42.6857243Z 
2026-06-03T23:57:42.6857359Z ### REQ-INST-13
2026-06-03T23:57:42.6857720Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-03T23:57:42.6858146Z - Required stages: impl, unit
2026-06-03T23:57:42.6858336Z 
2026-06-03T23:57:42.6858445Z ### REQ-INST-14
2026-06-03T23:57:42.6859064Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-03T23:57:42.6859702Z - Required stages: 
2026-06-03T23:57:42.6859942Z 
2026-06-03T23:57:42.6860058Z ### REQ-INST-15
2026-06-03T23:57:42.6861096Z - 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-03T23:57:42.6862151Z - Required stages: 
2026-06-03T23:57:42.6862315Z 
2026-06-03T23:57:42.6862424Z ### REQ-REACH-1
2026-06-03T23:57:42.6862755Z - Title: Off-node remote-drive detection + file transfer
2026-06-03T23:57:42.6863125Z - Required stages: 
2026-06-03T23:57:42.6863279Z 
2026-06-03T23:57:42.6863391Z ### REQ-REACH-2
2026-06-03T23:57:42.6863726Z - Title: Remote command execution (deferred, consent-gated)
2026-06-03T23:57:42.6864114Z - Required stages: 
2026-06-03T23:57:42.6864276Z 
2026-06-03T23:57:42.6864383Z ### REQ-MSG-1
2026-06-03T23:57:42.6865277Z - 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-03T23:57:42.6866046Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6866250Z 
2026-06-03T23:57:42.6866367Z ### REQ-MSG-2
2026-06-03T23:57:42.6866838Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-03T23:57:42.6867362Z - Required stages: impl, unit
2026-06-03T23:57:42.6867559Z 
2026-06-03T23:57:42.6867666Z ### REQ-MSG-3
2026-06-03T23:57:42.6868286Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-03T23:57:42.6868943Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6869147Z 
2026-06-03T23:57:42.6869344Z ### REQ-NODE-IDENTITY
2026-06-03T23:57:42.6869790Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-03T23:57:42.6870273Z - Required stages: impl, unit
2026-06-03T23:57:42.6870469Z 
2026-06-03T23:57:42.6870592Z ### REQ-NET-1
2026-06-03T23:57:42.6870957Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-03T23:57:42.6871382Z - Required stages: impl, unit
2026-06-03T23:57:42.6871574Z 
2026-06-03T23:57:42.6871684Z ### REQ-NET-2
2026-06-03T23:57:42.6872037Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-03T23:57:42.6872445Z - Required stages: impl
2026-06-03T23:57:42.6872622Z 
2026-06-03T23:57:42.6872733Z ### REQ-NET-3
2026-06-03T23:57:42.6873072Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-03T23:57:42.6873461Z - Required stages: 
2026-06-03T23:57:42.6873614Z 
2026-06-03T23:57:42.6873730Z ### REQ-PAIR-1
2026-06-03T23:57:42.6874007Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-03T23:57:42.6874336Z - Required stages: impl, unit
2026-06-03T23:57:42.6874523Z 
2026-06-03T23:57:42.6874631Z ### REQ-PAIR-2
2026-06-03T23:57:42.6875050Z - Title: Local trust store with TOFU + warn-on-change
2026-06-03T23:57:42.6875457Z - Required stages: impl, unit
2026-06-03T23:57:42.6875654Z 
2026-06-03T23:57:42.6875768Z ### REQ-PAIR-3
2026-06-03T23:57:42.6876086Z - Title: Fetch current pairing code from any paired node
2026-06-03T23:57:42.6876461Z - Required stages: impl, unit
2026-06-03T23:57:42.6876650Z 
2026-06-03T23:57:42.6876757Z ### REQ-PAIR-4
2026-06-03T23:57:42.6877032Z - Title: Subnet naming on first pairing
2026-06-03T23:57:42.6877359Z - Required stages: impl, unit
2026-06-03T23:57:42.6877551Z 
2026-06-03T23:57:42.6877669Z ### REQ-PAIR-5
2026-06-03T23:57:42.6878183Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-03T23:57:42.6878755Z - Required stages: impl, unit
2026-06-03T23:57:42.6878936Z 
2026-06-03T23:57:42.6879054Z ### REQ-PAIR-6
2026-06-03T23:57:42.6879524Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-03T23:57:42.6880039Z - Required stages: impl, unit
2026-06-03T23:57:42.6880231Z 
2026-06-03T23:57:42.6880427Z ### REQ-PAIR-7
2026-06-03T23:57:42.6880776Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-03T23:57:42.6881170Z - Required stages: 
2026-06-03T23:57:42.6881327Z 
2026-06-03T23:57:42.6881441Z ### REQ-SEC-1
2026-06-03T23:57:42.6882068Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-03T23:57:42.6882736Z - Required stages: 
2026-06-03T23:57:42.6882905Z 
2026-06-03T23:57:42.6883014Z ### REQ-NOTIF-1
2026-06-03T23:57:42.6883596Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-03T23:57:42.6884228Z - Required stages: 
2026-06-03T23:57:42.6884412Z 
2026-06-03T23:57:42.6884535Z ### REQ-NOTIF-2
2026-06-03T23:57:42.6885163Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-03T23:57:42.6885683Z - Required stages: 
2026-06-03T23:57:42.6885868Z 
2026-06-03T23:57:42.6885979Z ### REQ-UPD-1
2026-06-03T23:57:42.6886262Z - Title: Peer-propagated update over P2P
2026-06-03T23:57:42.6886594Z - Required stages: 
2026-06-03T23:57:42.6886761Z 
2026-06-03T23:57:42.6886875Z ### REQ-UPD-2
2026-06-03T23:57:42.6887191Z - Title: All binaries signature-verified before handoff
2026-06-03T23:57:42.6887572Z - Required stages: impl, unit
2026-06-03T23:57:42.6887761Z 
2026-06-03T23:57:42.6887879Z ### REQ-UPD-3
2026-06-03T23:57:42.6888224Z - Title: No endpoint process terminates/suspends during self-update
2026-06-03T23:57:42.6888643Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6888849Z 
2026-06-03T23:57:42.6888955Z ### REQ-UPD-4
2026-06-03T23:57:42.6889397Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-03T23:57:42.6889827Z - Required stages: impl, unit
2026-06-03T23:57:42.6890012Z 
2026-06-03T23:57:42.6890124Z ### REQ-UPD-5
2026-06-03T23:57:42.6890432Z - Title: spt-core ripple-updates registered adapters
2026-06-03T23:57:42.6890811Z - Required stages: impl, unit
2026-06-03T23:57:42.6891006Z 
2026-06-03T23:57:42.6891114Z ### REQ-TERM-1
2026-06-03T23:57:42.6891469Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-03T23:57:42.6891884Z - Required stages: impl, unit
2026-06-03T23:57:42.6892071Z 
2026-06-03T23:57:42.6892186Z ### REQ-TERM-2
2026-06-03T23:57:42.6892540Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-03T23:57:42.6892964Z - Required stages: impl, unit
2026-06-03T23:57:42.6893153Z 
2026-06-03T23:57:42.6893259Z ### REQ-TERM-3
2026-06-03T23:57:42.6893572Z - Title: Byte-stream remote terminal streaming for v1
2026-06-03T23:57:42.6893940Z - Required stages: impl, unit
2026-06-03T23:57:42.6894130Z 
2026-06-03T23:57:42.6894245Z ### REQ-TERM-4
2026-06-03T23:57:42.6894825Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-03T23:57:42.6895599Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6895806Z 
2026-06-03T23:57:42.6895932Z ### REQ-FRONT-1
2026-06-03T23:57:42.6896289Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-03T23:57:42.6896694Z - Required stages: 
2026-06-03T23:57:42.6896864Z 
2026-06-03T23:57:42.6896977Z ### REQ-INSTALL-1
2026-06-03T23:57:42.6897369Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-03T23:57:42.6897797Z - Required stages: 
2026-06-03T23:57:42.6897955Z 
2026-06-03T23:57:42.6898072Z ### REQ-INSTALL-2
2026-06-03T23:57:42.6898389Z - Title: Marketplace-repackaging-friendly install
2026-06-03T23:57:42.6898753Z - Required stages: 
2026-06-03T23:57:42.6898908Z 
2026-06-03T23:57:42.6899019Z ### REQ-INSTALL-3
2026-06-03T23:57:42.6899346Z - Title: Idempotent + interactive-optional first run
2026-06-03T23:57:42.6899712Z - Required stages: 
2026-06-03T23:57:42.6899862Z 
2026-06-03T23:57:42.6899980Z ### REQ-INSTALL-4
2026-06-03T23:57:42.6900900Z - 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-03T23:57:42.6901978Z - Required stages: 
2026-06-03T23:57:42.6902143Z 
2026-06-03T23:57:42.6902255Z ### REQ-MIGRATE-1
2026-06-03T23:57:42.6902605Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-03T23:57:42.6903002Z - Required stages: 
2026-06-03T23:57:42.6903153Z 
2026-06-03T23:57:42.6903273Z ### REQ-INFRA-1
2026-06-03T23:57:42.6903629Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-03T23:57:42.6904033Z - Required stages: 
2026-06-03T23:57:42.6904190Z 
2026-06-03T23:57:42.6904296Z ### REQ-DOCS-1
2026-06-03T23:57:42.6904686Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-03T23:57:42.6905303Z - Required stages: 
2026-06-03T23:57:42.6905474Z 
2026-06-03T23:57:42.6905591Z ### REQ-DOCS-2
2026-06-03T23:57:42.6905929Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-03T23:57:42.6906320Z - Required stages: 
2026-06-03T23:57:42.6906472Z 
2026-06-03T23:57:42.6906587Z ### REQ-DOCS-3
2026-06-03T23:57:42.6907042Z - Title: Diátaxis structure; one canonical way to do X
2026-06-03T23:57:42.6907407Z - Required stages: 
2026-06-03T23:57:42.6907566Z 
2026-06-03T23:57:42.6907674Z ### REQ-DOCS-4
2026-06-03T23:57:42.6908050Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-03T23:57:42.6908488Z - Required stages: 
2026-06-03T23:57:42.6908640Z 
2026-06-03T23:57:42.6908753Z ### REQ-DOCS-5
2026-06-03T23:57:42.6909136Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-03T23:57:42.6909567Z - Required stages: 
2026-06-03T23:57:42.6909727Z 
2026-06-03T23:57:42.6909978Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-03T23:57:42.6910416Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-03T23:57:42.6910854Z - Required stages: impl, unit
2026-06-03T23:57:42.6911080Z 
2026-06-03T23:57:42.6911231Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-03T23:57:42.6911619Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-03T23:57:42.6912007Z - Required stages: impl, unit
2026-06-03T23:57:42.6912196Z 
2026-06-03T23:57:42.6912344Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-03T23:57:42.6912699Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-03T23:57:42.6913054Z - Required stages: 
2026-06-03T23:57:42.6913213Z 
2026-06-03T23:57:42.6913350Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-03T23:57:42.6913764Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-03T23:57:42.6914189Z - Required stages: impl, unit
2026-06-03T23:57:42.6914374Z 
2026-06-03T23:57:42.6914512Z ### REQ-HAZARD-WORKER-PATH
2026-06-03T23:57:42.6914918Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-03T23:57:42.6915509Z - Required stages: impl, unit
2026-06-03T23:57:42.6915713Z 
2026-06-03T23:57:42.6915861Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-03T23:57:42.6916306Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-03T23:57:42.6916750Z - Required stages: 
2026-06-03T23:57:42.6916906Z 
2026-06-03T23:57:42.6917051Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-03T23:57:42.6917406Z - Title: Stdin session_id precedence over env (2.2)
2026-06-03T23:57:42.6917761Z - Required stages: 
2026-06-03T23:57:42.6917924Z 
2026-06-03T23:57:42.6918063Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-03T23:57:42.6918462Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-03T23:57:42.6918860Z - Required stages: impl, unit
2026-06-03T23:57:42.6919050Z 
2026-06-03T23:57:42.6919186Z ### REQ-HAZARD-GEN-START-NOW
2026-06-03T23:57:42.6919554Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-03T23:57:42.6919929Z - Required stages: impl, int
2026-06-03T23:57:42.6920109Z 
2026-06-03T23:57:42.6920253Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-03T23:57:42.6920647Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-03T23:57:42.6921132Z - Required stages: impl, unit
2026-06-03T23:57:42.6921322Z 
2026-06-03T23:57:42.6921474Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-03T23:57:42.6921888Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-03T23:57:42.6922284Z - Required stages: impl, unit
2026-06-03T23:57:42.6922467Z 
2026-06-03T23:57:42.6922613Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-03T23:57:42.6923036Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-03T23:57:42.6923465Z - Required stages: impl, unit
2026-06-03T23:57:42.6923659Z 
2026-06-03T23:57:42.6923804Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-03T23:57:42.6924207Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-03T23:57:42.6924600Z - Required stages: impl, unit
2026-06-03T23:57:42.6924785Z 
2026-06-03T23:57:42.6925069Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-03T23:57:42.6925516Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-03T23:57:42.6925943Z - Required stages: impl, unit
2026-06-03T23:57:42.6926138Z 
2026-06-03T23:57:42.6926280Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-03T23:57:42.6926746Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-03T23:57:42.6927225Z - Required stages: impl, unit
2026-06-03T23:57:42.6927410Z 
2026-06-03T23:57:42.6927546Z ### REQ-HAZARD-ID-CHARSET
2026-06-03T23:57:42.6928026Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-03T23:57:42.6928530Z - Required stages: impl, unit
2026-06-03T23:57:42.6928722Z 
2026-06-03T23:57:42.6928863Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-03T23:57:42.6929376Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-03T23:57:42.6929818Z - Required stages: impl, unit
2026-06-03T23:57:42.6930007Z 
2026-06-03T23:57:42.6930153Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-03T23:57:42.6930661Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-03T23:57:42.6931184Z - Required stages: impl, unit
2026-06-03T23:57:42.6931368Z 
2026-06-03T23:57:42.6931517Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-03T23:57:42.6932314Z - 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-03T23:57:42.6932965Z - Required stages: impl, unit
2026-06-03T23:57:42.6933164Z 
2026-06-03T23:57:42.6933321Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-03T23:57:42.6933696Z - Title: Deferred rows survive poll drain (4.4)
2026-06-03T23:57:42.6934057Z - Required stages: impl, unit
2026-06-03T23:57:42.6934242Z 
2026-06-03T23:57:42.6934385Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-03T23:57:42.6934764Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-03T23:57:42.6935206Z - Required stages: impl, unit
2026-06-03T23:57:42.6935397Z 
2026-06-03T23:57:42.6935537Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-03T23:57:42.6935968Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-03T23:57:42.6936358Z - Required stages: impl, unit
2026-06-03T23:57:42.6936541Z 
2026-06-03T23:57:42.6936675Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-03T23:57:42.6937060Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-03T23:57:42.6937474Z - Required stages: impl, unit
2026-06-03T23:57:42.6937670Z 
2026-06-03T23:57:42.6937806Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-03T23:57:42.6938180Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-03T23:57:42.6938565Z - Required stages: impl, unit
2026-06-03T23:57:42.6938745Z 
2026-06-03T23:57:42.6938878Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-03T23:57:42.6939251Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-03T23:57:42.6939641Z - Required stages: impl, unit
2026-06-03T23:57:42.6939830Z 
2026-06-03T23:57:42.6939969Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-03T23:57:42.6940397Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-03T23:57:42.6940901Z - Required stages: impl, unit
2026-06-03T23:57:42.6941093Z 
2026-06-03T23:57:42.6941229Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-03T23:57:42.6941640Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-03T23:57:42.6942075Z - Required stages: impl, unit
2026-06-03T23:57:42.6942259Z 
2026-06-03T23:57:42.6942400Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-03T23:57:42.6942812Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-03T23:57:42.6943221Z - Required stages: impl, unit
2026-06-03T23:57:42.6943412Z 
2026-06-03T23:57:42.6943559Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-03T23:57:42.6943961Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-03T23:57:42.6944348Z - Required stages: impl, unit
2026-06-03T23:57:42.6944529Z 
2026-06-03T23:57:42.6944683Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-03T23:57:42.6945244Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-03T23:57:42.6945745Z - Required stages: impl, unit
2026-06-03T23:57:42.6945935Z 
2026-06-03T23:57:42.6946065Z ### REQ-HAZARD-CONPTY-DSR
2026-06-03T23:57:42.6946502Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-03T23:57:42.6946975Z - Required stages: impl, unit
2026-06-03T23:57:42.6947158Z 
2026-06-03T23:57:42.6947297Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-03T23:57:42.6947742Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-03T23:57:42.6948197Z - Required stages: impl, unit
2026-06-03T23:57:42.6948390Z 
2026-06-03T23:57:42.6948532Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-03T23:57:42.6949131Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-03T23:57:42.6949674Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6949872Z 
2026-06-03T23:57:42.6950018Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-03T23:57:42.6950521Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-03T23:57:42.6951039Z - Required stages: impl, unit
2026-06-03T23:57:42.6951231Z 
2026-06-03T23:57:42.6951379Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-03T23:57:42.6952108Z - 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-03T23:57:42.6952833Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6953032Z 
2026-06-03T23:57:42.6953184Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-03T23:57:42.6954477Z - 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-03T23:57:42.6955555Z - Required stages: 
2026-06-03T23:57:42.6955724Z 
2026-06-03T23:57:42.6955870Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-03T23:57:42.6956910Z - 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-03T23:57:42.6957899Z - Required stages: 
2026-06-03T23:57:42.6958057Z 
2026-06-03T23:57:42.6958211Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-03T23:57:42.6959240Z - 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-03T23:57:42.6960113Z - Required stages: impl, unit
2026-06-03T23:57:42.6960308Z 
2026-06-03T23:57:42.6960444Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-03T23:57:42.6961331Z - 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-03T23:57:42.6962259Z - Required stages: impl, unit
2026-06-03T23:57:42.6962452Z 
2026-06-03T23:57:42.6962596Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-03T23:57:42.6963871Z - 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-03T23:57:42.6965043Z - Required stages: impl, unit
2026-06-03T23:57:42.6965240Z 
2026-06-03T23:57:42.6965357Z ## How to report back
2026-06-03T23:57:42.6965531Z 
2026-06-03T23:57:42.6965747Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-03T23:57:42.6966039Z 
2026-06-03T23:57:42.6966172Z     {
2026-06-03T23:57:42.6966432Z       "code": "requirement_quality",
2026-06-03T23:57:42.6966757Z       "requirementId": "REQ-...",
2026-06-03T23:57:42.6967165Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-03T23:57:42.6967616Z       "message": "<short reason>",
2026-06-03T23:57:42.6967965Z       "suggestedRevision": "<optional rewrite>"
2026-06-03T23:57:42.6968300Z     }
2026-06-03T23:57:42.6968432Z 
2026-06-03T23:57:42.6968672Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-03T23:57:42.6969183Z deterministic findings above don't need to be repeated.
2026-06-03T23:57:42.7055532Z Post job cleanup.
2026-06-03T23:57:42.8001503Z [command]/usr/bin/git version
2026-06-03T23:57:42.8037211Z git version 2.54.0
2026-06-03T23:57:42.8077892Z Temporarily overriding HOME='/home/runner/work/_temp/c8d6227e-7b21-4374-b253-ee8a75ee4803' before making global git config changes
2026-06-03T23:57:42.8079693Z Adding repository directory to the temporary git global config as a safe directory
2026-06-03T23:57:42.8084474Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/spt-core/spt-core
2026-06-03T23:57:42.8123445Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-03T23:57:42.8158755Z [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-03T23:57:42.8350065Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-03T23:57:42.8370450Z http.https://github.com/.extraheader
2026-06-03T23:57:42.8381599Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-03T23:57:42.8408526Z [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-03T23:57:42.8579999Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-03T23:57:42.8607219Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-03T23:57:42.8876849Z Cleaning up orphan processes
2026-06-03T23:57:42.9086375Z ##[warning]Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
