﻿2026-06-03T07:18:55.0506908Z Current runner version: '2.334.0'
2026-06-03T07:18:55.0582866Z ##[group]Runner Image Provisioner
2026-06-03T07:18:55.0584089Z Hosted Compute Agent
2026-06-03T07:18:55.0584972Z Version: 20260520.533
2026-06-03T07:18:55.0586071Z Commit: 189110e25284a9812c124fd27b339e2fb4f2f9db
2026-06-03T07:18:55.0587306Z Build Date: 2026-05-20T17:44:04Z
2026-06-03T07:18:55.0588476Z Worker ID: {7e7e9e3a-1a67-4d80-bf2c-c3b33d5745c3}
2026-06-03T07:18:55.0589677Z Azure Region: eastus
2026-06-03T07:18:55.0590569Z ##[endgroup]
2026-06-03T07:18:55.0593333Z ##[group]Operating System
2026-06-03T07:18:55.0594365Z Ubuntu
2026-06-03T07:18:55.0595250Z 24.04.4
2026-06-03T07:18:55.0596070Z LTS
2026-06-03T07:18:55.0596865Z ##[endgroup]
2026-06-03T07:18:55.0597823Z ##[group]Runner Image
2026-06-03T07:18:55.0598880Z Image: ubuntu-24.04
2026-06-03T07:18:55.0599851Z Version: 20260525.161.1
2026-06-03T07:18:55.0622808Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260525.161/images/ubuntu/Ubuntu2404-Readme.md
2026-06-03T07:18:55.0625477Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260525.161
2026-06-03T07:18:55.0627155Z ##[endgroup]
2026-06-03T07:18:55.0629143Z ##[group]GITHUB_TOKEN Permissions
2026-06-03T07:18:55.0632792Z Contents: read
2026-06-03T07:18:55.0633707Z Metadata: read
2026-06-03T07:18:55.0634540Z Packages: read
2026-06-03T07:18:55.0635507Z ##[endgroup]
2026-06-03T07:18:55.0638684Z Secret source: Actions
2026-06-03T07:18:55.0640258Z Prepare workflow directory
2026-06-03T07:18:55.1549906Z Prepare all required actions
2026-06-03T07:18:55.1660933Z Getting action download info
2026-06-03T07:18:55.5457581Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-06-03T07:18:55.7464236Z Complete job name: traceability
2026-06-03T07:18:55.8252002Z ##[group]Run actions/checkout@v4
2026-06-03T07:18:55.8252887Z with:
2026-06-03T07:18:55.8253359Z   repository: SaberMage/spt-core
2026-06-03T07:18:55.8257956Z   token: ***
2026-06-03T07:18:55.8258433Z   ssh-strict: true
2026-06-03T07:18:55.8258882Z   ssh-user: git
2026-06-03T07:18:55.8259342Z   persist-credentials: true
2026-06-03T07:18:55.8259844Z   clean: true
2026-06-03T07:18:55.8260306Z   sparse-checkout-cone-mode: true
2026-06-03T07:18:55.8260833Z   fetch-depth: 1
2026-06-03T07:18:55.8261430Z   fetch-tags: false
2026-06-03T07:18:55.8261885Z   show-progress: true
2026-06-03T07:18:55.8262334Z   lfs: false
2026-06-03T07:18:55.8262755Z   submodules: false
2026-06-03T07:18:55.8263211Z   set-safe-directory: true
2026-06-03T07:18:55.8263904Z ##[endgroup]
2026-06-03T07:18:55.9450985Z Syncing repository: SaberMage/spt-core
2026-06-03T07:18:55.9453994Z ##[group]Getting Git version info
2026-06-03T07:18:55.9455053Z Working directory is '/home/runner/work/spt-core/spt-core'
2026-06-03T07:18:55.9456539Z [command]/usr/bin/git version
2026-06-03T07:18:55.9522160Z git version 2.54.0
2026-06-03T07:18:55.9544909Z ##[endgroup]
2026-06-03T07:18:55.9558901Z Temporarily overriding HOME='/home/runner/work/_temp/27a9a3a2-13ee-401e-a4fa-cb2b40507579' before making global git config changes
2026-06-03T07:18:55.9561895Z Adding repository directory to the temporary git global config as a safe directory
2026-06-03T07:18:55.9579049Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/spt-core/spt-core
2026-06-03T07:18:55.9621556Z Deleting the contents of '/home/runner/work/spt-core/spt-core'
2026-06-03T07:18:55.9626587Z ##[group]Initializing the repository
2026-06-03T07:18:55.9654906Z [command]/usr/bin/git init /home/runner/work/spt-core/spt-core
2026-06-03T07:18:55.9822122Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-06-03T07:18:55.9823979Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-06-03T07:18:55.9825792Z hint: to use in all of your new repositories, which will suppress this warning,
2026-06-03T07:18:55.9827195Z hint: call:
2026-06-03T07:18:55.9827934Z hint:
2026-06-03T07:18:55.9828896Z hint: 	git config --global init.defaultBranch <name>
2026-06-03T07:18:55.9830551Z hint:
2026-06-03T07:18:55.9831790Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-06-03T07:18:55.9833438Z hint: 'development'. The just-created branch can be renamed via this command:
2026-06-03T07:18:55.9834746Z hint:
2026-06-03T07:18:55.9835513Z hint: 	git branch -m <name>
2026-06-03T07:18:55.9836381Z hint:
2026-06-03T07:18:55.9837465Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-06-03T07:18:55.9839234Z Initialized empty Git repository in /home/runner/work/spt-core/spt-core/.git/
2026-06-03T07:18:55.9842460Z [command]/usr/bin/git remote add origin https://github.com/SaberMage/spt-core
2026-06-03T07:18:55.9845613Z ##[endgroup]
2026-06-03T07:18:55.9846964Z ##[group]Disabling automatic garbage collection
2026-06-03T07:18:55.9848246Z [command]/usr/bin/git config --local gc.auto 0
2026-06-03T07:18:55.9866114Z ##[endgroup]
2026-06-03T07:18:55.9867491Z ##[group]Setting up auth
2026-06-03T07:18:55.9874563Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-03T07:18:55.9909404Z [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-03T07:18:56.1071679Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-03T07:18:56.1076202Z [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-03T07:18:56.1079953Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-03T07:18:56.1083654Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-03T07:18:56.1110914Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-03T07:18:56.1208777Z ##[endgroup]
2026-06-03T07:18:56.1211711Z ##[group]Fetching the repository
2026-06-03T07:18:56.1216931Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +c848ebd736375677a84c6d8c072be67dac347cda:refs/remotes/origin/dev-freeform
2026-06-03T07:18:56.5819741Z From https://github.com/SaberMage/spt-core
2026-06-03T07:18:56.5822687Z  * [new ref]         c848ebd736375677a84c6d8c072be67dac347cda -> origin/dev-freeform
2026-06-03T07:18:56.5855138Z ##[endgroup]
2026-06-03T07:18:56.5857228Z ##[group]Determining the checkout info
2026-06-03T07:18:56.5859357Z ##[endgroup]
2026-06-03T07:18:56.5863185Z [command]/usr/bin/git sparse-checkout disable
2026-06-03T07:18:56.5908112Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-03T07:18:56.5937978Z ##[group]Checking out the ref
2026-06-03T07:18:56.5941064Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-03T07:18:56.6102574Z Switched to a new branch 'dev-freeform'
2026-06-03T07:18:56.6104900Z branch 'dev-freeform' set up to track 'origin/dev-freeform'.
2026-06-03T07:18:56.6110063Z ##[endgroup]
2026-06-03T07:18:56.6149236Z [command]/usr/bin/git log -1 --format=%H
2026-06-03T07:18:56.6175749Z c848ebd736375677a84c6d8c072be67dac347cda
2026-06-03T07:18:56.6424713Z ##[group]Run gh release download --repo BigscreenVR/traceable-reqs \
2026-06-03T07:18:56.6426746Z [36;1mgh release download --repo BigscreenVR/traceable-reqs \[0m
2026-06-03T07:18:56.6428539Z [36;1m  --pattern '*linux-x86_64' --output traceable-reqs[0m
2026-06-03T07:18:56.6430006Z [36;1mchmod +x traceable-reqs[0m
2026-06-03T07:18:56.6462653Z shell: /usr/bin/bash -e {0}
2026-06-03T07:18:56.6463714Z env:
2026-06-03T07:18:56.6465862Z   GH_TOKEN: ***
2026-06-03T07:18:56.6466749Z ##[endgroup]
2026-06-03T07:18:57.3532993Z ##[group]Run ./traceable-reqs check --json
2026-06-03T07:18:57.3533666Z [36;1m./traceable-reqs check --json[0m
2026-06-03T07:18:57.3562748Z shell: /usr/bin/bash -e {0}
2026-06-03T07:18:57.3563087Z ##[endgroup]
2026-06-03T07:18:57.3675117Z {
2026-06-03T07:18:57.3675741Z   "schemaVersion": 1,
2026-06-03T07:18:57.3676273Z   "summary": {
2026-06-03T07:18:57.3676744Z     "requirementCount": 120,
2026-06-03T07:18:57.3677272Z     "completeCount": 120,
2026-06-03T07:18:57.3677756Z     "incompleteCount": 0,
2026-06-03T07:18:57.3678216Z     "findingCount": 0
2026-06-03T07:18:57.3678632Z   },
2026-06-03T07:18:57.3679023Z   "requirements": [
2026-06-03T07:18:57.3679464Z     {
2026-06-03T07:18:57.3679889Z       "id": "REQ-API-1",
2026-06-03T07:18:57.3680553Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-03T07:18:57.3681459Z       "requiredStages": [
2026-06-03T07:18:57.3681911Z         "impl",
2026-06-03T07:18:57.3682358Z         "unit",
2026-06-03T07:18:57.3682818Z         "int"
2026-06-03T07:18:57.3683201Z       ],
2026-06-03T07:18:57.3683574Z       "stages": {
2026-06-03T07:18:57.3684000Z         "doc": {
2026-06-03T07:18:57.3684428Z           "complete": false,
2026-06-03T07:18:57.3684904Z           "evidence": []
2026-06-03T07:18:57.3685334Z         },
2026-06-03T07:18:57.3685725Z         "impl": {
2026-06-03T07:18:57.3686144Z           "complete": true,
2026-06-03T07:18:57.3686586Z           "evidence": [
2026-06-03T07:18:57.3686968Z             {
2026-06-03T07:18:57.3687372Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T07:18:57.3687892Z               "line": 15
2026-06-03T07:18:57.3688291Z             }
2026-06-03T07:18:57.3688663Z           ]
2026-06-03T07:18:57.3689025Z         },
2026-06-03T07:18:57.3689383Z         "int": {
2026-06-03T07:18:57.3689784Z           "complete": true,
2026-06-03T07:18:57.3690222Z           "evidence": [
2026-06-03T07:18:57.3690646Z             {
2026-06-03T07:18:57.3704921Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.3705653Z               "line": 13
2026-06-03T07:18:57.3706097Z             }
2026-06-03T07:18:57.3706466Z           ]
2026-06-03T07:18:57.3706831Z         },
2026-06-03T07:18:57.3707187Z         "unit": {
2026-06-03T07:18:57.3707577Z           "complete": true,
2026-06-03T07:18:57.3708008Z           "evidence": [
2026-06-03T07:18:57.3708403Z             {
2026-06-03T07:18:57.3708819Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T07:18:57.3709334Z               "line": 314
2026-06-03T07:18:57.3709736Z             },
2026-06-03T07:18:57.3710107Z             {
2026-06-03T07:18:57.3710537Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T07:18:57.3711045Z               "line": 320
2026-06-03T07:18:57.3711724Z             },
2026-06-03T07:18:57.3712098Z             {
2026-06-03T07:18:57.3712507Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T07:18:57.3712861Z               "line": 331
2026-06-03T07:18:57.3713138Z             }
2026-06-03T07:18:57.3713381Z           ]
2026-06-03T07:18:57.3713622Z         }
2026-06-03T07:18:57.3713861Z       }
2026-06-03T07:18:57.3714090Z     },
2026-06-03T07:18:57.3714320Z     {
2026-06-03T07:18:57.3714566Z       "id": "REQ-API-2",
2026-06-03T07:18:57.3715010Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-03T07:18:57.3715496Z       "requiredStages": [
2026-06-03T07:18:57.3715776Z         "impl",
2026-06-03T07:18:57.3716036Z         "unit",
2026-06-03T07:18:57.3716293Z         "int"
2026-06-03T07:18:57.3716533Z       ],
2026-06-03T07:18:57.3716768Z       "stages": {
2026-06-03T07:18:57.3717018Z         "doc": {
2026-06-03T07:18:57.3717284Z           "complete": false,
2026-06-03T07:18:57.3717574Z           "evidence": []
2026-06-03T07:18:57.3717839Z         },
2026-06-03T07:18:57.3718075Z         "impl": {
2026-06-03T07:18:57.3718334Z           "complete": true,
2026-06-03T07:18:57.3718625Z           "evidence": [
2026-06-03T07:18:57.3719162Z             {
2026-06-03T07:18:57.3719460Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.3719949Z               "line": 20
2026-06-03T07:18:57.3720229Z             },
2026-06-03T07:18:57.3720483Z             {
2026-06-03T07:18:57.3720775Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.3722552Z               "line": 125
2026-06-03T07:18:57.3723013Z             },
2026-06-03T07:18:57.3723384Z             {
2026-06-03T07:18:57.3723835Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3724387Z               "line": 21
2026-06-03T07:18:57.3724786Z             },
2026-06-03T07:18:57.3725149Z             {
2026-06-03T07:18:57.3725591Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3726122Z               "line": 36
2026-06-03T07:18:57.3726482Z             },
2026-06-03T07:18:57.3726731Z             {
2026-06-03T07:18:57.3727014Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3727371Z               "line": 101
2026-06-03T07:18:57.3727649Z             },
2026-06-03T07:18:57.3727902Z             {
2026-06-03T07:18:57.3728201Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3728543Z               "line": 133
2026-06-03T07:18:57.3728811Z             },
2026-06-03T07:18:57.3729056Z             {
2026-06-03T07:18:57.3729356Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3729714Z               "line": 157
2026-06-03T07:18:57.3816557Z             },
2026-06-03T07:18:57.3816967Z             {
2026-06-03T07:18:57.3817296Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.3817679Z               "line": 17
2026-06-03T07:18:57.3817962Z             },
2026-06-03T07:18:57.3818210Z             {
2026-06-03T07:18:57.3818499Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.3818843Z               "line": 30
2026-06-03T07:18:57.3819122Z             },
2026-06-03T07:18:57.3819387Z             {
2026-06-03T07:18:57.3819673Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.3820022Z               "line": 63
2026-06-03T07:18:57.3820287Z             },
2026-06-03T07:18:57.3820522Z             {
2026-06-03T07:18:57.3821085Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.3821618Z               "line": 76
2026-06-03T07:18:57.3821890Z             }
2026-06-03T07:18:57.3823117Z           ]
2026-06-03T07:18:57.3823356Z         },
2026-06-03T07:18:57.3823598Z         "int": {
2026-06-03T07:18:57.3823864Z           "complete": true,
2026-06-03T07:18:57.3824155Z           "evidence": [
2026-06-03T07:18:57.3824414Z             {
2026-06-03T07:18:57.3824709Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.3825058Z               "line": 14
2026-06-03T07:18:57.3825330Z             },
2026-06-03T07:18:57.3825570Z             {
2026-06-03T07:18:57.3825858Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.3826215Z               "line": 122
2026-06-03T07:18:57.3826477Z             }
2026-06-03T07:18:57.3826717Z           ]
2026-06-03T07:18:57.3826951Z         },
2026-06-03T07:18:57.3827186Z         "unit": {
2026-06-03T07:18:57.3827452Z           "complete": true,
2026-06-03T07:18:57.3827738Z           "evidence": [
2026-06-03T07:18:57.3827999Z             {
2026-06-03T07:18:57.3828290Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.3828635Z               "line": 204
2026-06-03T07:18:57.3828902Z             },
2026-06-03T07:18:57.3829143Z             {
2026-06-03T07:18:57.3829436Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3829786Z               "line": 230
2026-06-03T07:18:57.3830053Z             },
2026-06-03T07:18:57.3830293Z             {
2026-06-03T07:18:57.3830572Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3830908Z               "line": 241
2026-06-03T07:18:57.3831546Z             },
2026-06-03T07:18:57.3832050Z             {
2026-06-03T07:18:57.3832341Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3832794Z               "line": 277
2026-06-03T07:18:57.3833063Z             },
2026-06-03T07:18:57.3833294Z             {
2026-06-03T07:18:57.3833574Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3833904Z               "line": 289
2026-06-03T07:18:57.3834157Z             },
2026-06-03T07:18:57.3834388Z             {
2026-06-03T07:18:57.3834664Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.3834995Z               "line": 137
2026-06-03T07:18:57.3835255Z             },
2026-06-03T07:18:57.3835488Z             {
2026-06-03T07:18:57.3835756Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.3836078Z               "line": 172
2026-06-03T07:18:57.3836335Z             }
2026-06-03T07:18:57.3836569Z           ]
2026-06-03T07:18:57.3836798Z         }
2026-06-03T07:18:57.3837026Z       }
2026-06-03T07:18:57.3837263Z     },
2026-06-03T07:18:57.3837503Z     {
2026-06-03T07:18:57.3837748Z       "id": "REQ-API-3",
2026-06-03T07:18:57.3838104Z       "title": "commune/signoff are file-drops, not commands",
2026-06-03T07:18:57.3838487Z       "requiredStages": [
2026-06-03T07:18:57.3838758Z         "impl",
2026-06-03T07:18:57.3839004Z         "unit",
2026-06-03T07:18:57.3839247Z         "int"
2026-06-03T07:18:57.3839480Z       ],
2026-06-03T07:18:57.3839724Z       "stages": {
2026-06-03T07:18:57.3840026Z         "doc": {
2026-06-03T07:18:57.3840297Z           "complete": false,
2026-06-03T07:18:57.3840591Z           "evidence": []
2026-06-03T07:18:57.3840862Z         },
2026-06-03T07:18:57.3841096Z         "impl": {
2026-06-03T07:18:57.3841650Z           "complete": true,
2026-06-03T07:18:57.3842073Z           "evidence": [
2026-06-03T07:18:57.3842459Z             {
2026-06-03T07:18:57.3842898Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T07:18:57.3843415Z               "line": 14
2026-06-03T07:18:57.3843686Z             },
2026-06-03T07:18:57.3843928Z             {
2026-06-03T07:18:57.3844238Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3844601Z               "line": 167
2026-06-03T07:18:57.3844867Z             }
2026-06-03T07:18:57.3845132Z           ]
2026-06-03T07:18:57.3845370Z         },
2026-06-03T07:18:57.3845605Z         "int": {
2026-06-03T07:18:57.3845871Z           "complete": true,
2026-06-03T07:18:57.3846157Z           "evidence": [
2026-06-03T07:18:57.3846420Z             {
2026-06-03T07:18:57.3846736Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.3847091Z               "line": 173
2026-06-03T07:18:57.3847362Z             }
2026-06-03T07:18:57.3847600Z           ]
2026-06-03T07:18:57.3847838Z         },
2026-06-03T07:18:57.3848080Z         "unit": {
2026-06-03T07:18:57.3848354Z           "complete": true,
2026-06-03T07:18:57.3848649Z           "evidence": [
2026-06-03T07:18:57.3848918Z             {
2026-06-03T07:18:57.3849226Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T07:18:57.3849575Z               "line": 117
2026-06-03T07:18:57.3849851Z             },
2026-06-03T07:18:57.3850093Z             {
2026-06-03T07:18:57.3850397Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.3850744Z               "line": 298
2026-06-03T07:18:57.3851007Z             }
2026-06-03T07:18:57.3851545Z           ]
2026-06-03T07:18:57.3851813Z         }
2026-06-03T07:18:57.3852047Z       }
2026-06-03T07:18:57.3852277Z     },
2026-06-03T07:18:57.3852510Z     {
2026-06-03T07:18:57.3852769Z       "id": "REQ-ARCH-1",
2026-06-03T07:18:57.3853107Z       "title": "Many small acyclically-layered crates",
2026-06-03T07:18:57.3853473Z       "requiredStages": [
2026-06-03T07:18:57.3853752Z         "impl"
2026-06-03T07:18:57.3853996Z       ],
2026-06-03T07:18:57.3854243Z       "stages": {
2026-06-03T07:18:57.3854501Z         "doc": {
2026-06-03T07:18:57.3854769Z           "complete": false,
2026-06-03T07:18:57.3855232Z           "evidence": []
2026-06-03T07:18:57.3855502Z         },
2026-06-03T07:18:57.3855744Z         "impl": {
2026-06-03T07:18:57.3856126Z           "complete": true,
2026-06-03T07:18:57.3856417Z           "evidence": [
2026-06-03T07:18:57.3856690Z             {
2026-06-03T07:18:57.3856980Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-03T07:18:57.3857329Z               "line": 16
2026-06-03T07:18:57.3857594Z             },
2026-06-03T07:18:57.3857834Z             {
2026-06-03T07:18:57.3858127Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-03T07:18:57.3858467Z               "line": 12
2026-06-03T07:18:57.3858726Z             },
2026-06-03T07:18:57.3858970Z             {
2026-06-03T07:18:57.3859269Z               "path": "crates/spt-store/src/lib.rs",
2026-06-03T07:18:57.3859602Z               "line": 12
2026-06-03T07:18:57.3859865Z             }
2026-06-03T07:18:57.3860104Z           ]
2026-06-03T07:18:57.3860340Z         },
2026-06-03T07:18:57.3860581Z         "int": {
2026-06-03T07:18:57.3860859Z           "complete": false,
2026-06-03T07:18:57.3861368Z           "evidence": []
2026-06-03T07:18:57.3861653Z         },
2026-06-03T07:18:57.3861896Z         "unit": {
2026-06-03T07:18:57.3862168Z           "complete": false,
2026-06-03T07:18:57.3862463Z           "evidence": []
2026-06-03T07:18:57.3862726Z         }
2026-06-03T07:18:57.3862961Z       }
2026-06-03T07:18:57.3863189Z     },
2026-06-03T07:18:57.3863422Z     {
2026-06-03T07:18:57.3863671Z       "id": "REQ-ARCH-2",
2026-06-03T07:18:57.3864085Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-03T07:18:57.3864513Z       "requiredStages": [
2026-06-03T07:18:57.3864787Z         "impl"
2026-06-03T07:18:57.3865027Z       ],
2026-06-03T07:18:57.3865268Z       "stages": {
2026-06-03T07:18:57.3865519Z         "doc": {
2026-06-03T07:18:57.3865788Z           "complete": false,
2026-06-03T07:18:57.3866085Z           "evidence": []
2026-06-03T07:18:57.3866349Z         },
2026-06-03T07:18:57.3866606Z         "impl": {
2026-06-03T07:18:57.3866872Z           "complete": true,
2026-06-03T07:18:57.3867154Z           "evidence": [
2026-06-03T07:18:57.3867422Z             {
2026-06-03T07:18:57.3867722Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-03T07:18:57.3868064Z               "line": 18
2026-06-03T07:18:57.3868321Z             }
2026-06-03T07:18:57.3868558Z           ]
2026-06-03T07:18:57.3868795Z         },
2026-06-03T07:18:57.3869027Z         "int": {
2026-06-03T07:18:57.3869294Z           "complete": false,
2026-06-03T07:18:57.3869589Z           "evidence": []
2026-06-03T07:18:57.3869846Z         },
2026-06-03T07:18:57.3870078Z         "unit": {
2026-06-03T07:18:57.3870336Z           "complete": false,
2026-06-03T07:18:57.3870624Z           "evidence": []
2026-06-03T07:18:57.3870880Z         }
2026-06-03T07:18:57.3871113Z       }
2026-06-03T07:18:57.3871457Z     },
2026-06-03T07:18:57.3871687Z     {
2026-06-03T07:18:57.3871939Z       "id": "REQ-ARCH-3",
2026-06-03T07:18:57.3872400Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-03T07:18:57.3872881Z       "requiredStages": [
2026-06-03T07:18:57.3873154Z         "impl",
2026-06-03T07:18:57.3873404Z         "unit"
2026-06-03T07:18:57.3873643Z       ],
2026-06-03T07:18:57.3873884Z       "stages": {
2026-06-03T07:18:57.3874139Z         "doc": {
2026-06-03T07:18:57.3874405Z           "complete": false,
2026-06-03T07:18:57.3874694Z           "evidence": []
2026-06-03T07:18:57.3874954Z         },
2026-06-03T07:18:57.3875189Z         "impl": {
2026-06-03T07:18:57.3875453Z           "complete": true,
2026-06-03T07:18:57.3875736Z           "evidence": [
2026-06-03T07:18:57.3875994Z             {
2026-06-03T07:18:57.3876301Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T07:18:57.3876655Z               "line": 34
2026-06-03T07:18:57.3876912Z             },
2026-06-03T07:18:57.3877156Z             {
2026-06-03T07:18:57.3877456Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T07:18:57.3877984Z               "line": 41
2026-06-03T07:18:57.3878251Z             }
2026-06-03T07:18:57.3878596Z           ]
2026-06-03T07:18:57.3878831Z         },
2026-06-03T07:18:57.3879066Z         "int": {
2026-06-03T07:18:57.3879332Z           "complete": false,
2026-06-03T07:18:57.3879623Z           "evidence": []
2026-06-03T07:18:57.3879883Z         },
2026-06-03T07:18:57.3880113Z         "unit": {
2026-06-03T07:18:57.3880376Z           "complete": true,
2026-06-03T07:18:57.3880658Z           "evidence": [
2026-06-03T07:18:57.3880920Z             {
2026-06-03T07:18:57.3881345Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T07:18:57.3881696Z               "line": 51
2026-06-03T07:18:57.3881953Z             },
2026-06-03T07:18:57.3882192Z             {
2026-06-03T07:18:57.3882485Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T07:18:57.3882821Z               "line": 65
2026-06-03T07:18:57.3883078Z             },
2026-06-03T07:18:57.3883315Z             {
2026-06-03T07:18:57.3883619Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T07:18:57.3883959Z               "line": 74
2026-06-03T07:18:57.3884214Z             }
2026-06-03T07:18:57.3884450Z           ]
2026-06-03T07:18:57.3884680Z         }
2026-06-03T07:18:57.3884907Z       }
2026-06-03T07:18:57.3885136Z     },
2026-06-03T07:18:57.3885368Z     {
2026-06-03T07:18:57.3885623Z       "id": "REQ-ARCH-4",
2026-06-03T07:18:57.3886045Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-03T07:18:57.3886472Z       "requiredStages": [
2026-06-03T07:18:57.3886748Z         "impl",
2026-06-03T07:18:57.3886998Z         "unit"
2026-06-03T07:18:57.3887236Z       ],
2026-06-03T07:18:57.3887472Z       "stages": {
2026-06-03T07:18:57.3887715Z         "doc": {
2026-06-03T07:18:57.3887977Z           "complete": false,
2026-06-03T07:18:57.3888264Z           "evidence": []
2026-06-03T07:18:57.3888517Z         },
2026-06-03T07:18:57.3888751Z         "impl": {
2026-06-03T07:18:57.3889018Z           "complete": true,
2026-06-03T07:18:57.3889299Z           "evidence": [
2026-06-03T07:18:57.3889556Z             {
2026-06-03T07:18:57.3889846Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3890182Z               "line": 32
2026-06-03T07:18:57.3890436Z             },
2026-06-03T07:18:57.3890671Z             {
2026-06-03T07:18:57.3890956Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3891423Z               "line": 46
2026-06-03T07:18:57.3891686Z             },
2026-06-03T07:18:57.3891924Z             {
2026-06-03T07:18:57.3892216Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3892554Z               "line": 66
2026-06-03T07:18:57.3892815Z             },
2026-06-03T07:18:57.3893061Z             {
2026-06-03T07:18:57.3893352Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3893710Z               "line": 81
2026-06-03T07:18:57.3893972Z             },
2026-06-03T07:18:57.3894219Z             {
2026-06-03T07:18:57.3894514Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3894859Z               "line": 131
2026-06-03T07:18:57.3895128Z             }
2026-06-03T07:18:57.3895372Z           ]
2026-06-03T07:18:57.3895603Z         },
2026-06-03T07:18:57.3895845Z         "int": {
2026-06-03T07:18:57.3896118Z           "complete": false,
2026-06-03T07:18:57.3896412Z           "evidence": []
2026-06-03T07:18:57.3896675Z         },
2026-06-03T07:18:57.3896912Z         "unit": {
2026-06-03T07:18:57.3897181Z           "complete": true,
2026-06-03T07:18:57.3897471Z           "evidence": [
2026-06-03T07:18:57.3897741Z             {
2026-06-03T07:18:57.3898036Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3898370Z               "line": 195
2026-06-03T07:18:57.3898631Z             },
2026-06-03T07:18:57.3898874Z             {
2026-06-03T07:18:57.3899161Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3899640Z               "line": 205
2026-06-03T07:18:57.3899916Z             },
2026-06-03T07:18:57.3900167Z             {
2026-06-03T07:18:57.3900597Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3900954Z               "line": 216
2026-06-03T07:18:57.3901334Z             },
2026-06-03T07:18:57.3901581Z             {
2026-06-03T07:18:57.3901877Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3902222Z               "line": 227
2026-06-03T07:18:57.3902490Z             },
2026-06-03T07:18:57.3902729Z             {
2026-06-03T07:18:57.3903028Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3903365Z               "line": 239
2026-06-03T07:18:57.3903629Z             },
2026-06-03T07:18:57.3903872Z             {
2026-06-03T07:18:57.3904170Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3904511Z               "line": 252
2026-06-03T07:18:57.3904777Z             },
2026-06-03T07:18:57.3905015Z             {
2026-06-03T07:18:57.3905325Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3905665Z               "line": 263
2026-06-03T07:18:57.3905931Z             },
2026-06-03T07:18:57.3906170Z             {
2026-06-03T07:18:57.3906464Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3906802Z               "line": 277
2026-06-03T07:18:57.3907071Z             },
2026-06-03T07:18:57.3907313Z             {
2026-06-03T07:18:57.3907608Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T07:18:57.3907958Z               "line": 286
2026-06-03T07:18:57.3908225Z             }
2026-06-03T07:18:57.3908464Z           ]
2026-06-03T07:18:57.3908701Z         }
2026-06-03T07:18:57.3908929Z       }
2026-06-03T07:18:57.3909159Z     },
2026-06-03T07:18:57.3909392Z     {
2026-06-03T07:18:57.3909649Z       "id": "REQ-DAEMON-1",
2026-06-03T07:18:57.3910068Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-03T07:18:57.3910505Z       "requiredStages": [
2026-06-03T07:18:57.3910788Z         "impl",
2026-06-03T07:18:57.3911063Z         "unit"
2026-06-03T07:18:57.3911422Z       ],
2026-06-03T07:18:57.3911670Z       "stages": {
2026-06-03T07:18:57.3911934Z         "doc": {
2026-06-03T07:18:57.3912208Z           "complete": false,
2026-06-03T07:18:57.3912516Z           "evidence": []
2026-06-03T07:18:57.3912797Z         },
2026-06-03T07:18:57.3913040Z         "impl": {
2026-06-03T07:18:57.3913310Z           "complete": true,
2026-06-03T07:18:57.3913606Z           "evidence": [
2026-06-03T07:18:57.3913874Z             {
2026-06-03T07:18:57.3914181Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T07:18:57.3914533Z               "line": 12
2026-06-03T07:18:57.3914796Z             },
2026-06-03T07:18:57.3915044Z             {
2026-06-03T07:18:57.3915344Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T07:18:57.3915699Z               "line": 16
2026-06-03T07:18:57.3915967Z             },
2026-06-03T07:18:57.3916211Z             {
2026-06-03T07:18:57.3916518Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T07:18:57.3916868Z               "line": 15
2026-06-03T07:18:57.3917139Z             },
2026-06-03T07:18:57.3917384Z             {
2026-06-03T07:18:57.3917688Z               "path": "crates/spt/src/api/live.rs",
2026-06-03T07:18:57.3918039Z               "line": 13
2026-06-03T07:18:57.3918328Z             }
2026-06-03T07:18:57.3918574Z           ]
2026-06-03T07:18:57.3918814Z         },
2026-06-03T07:18:57.3919055Z         "int": {
2026-06-03T07:18:57.3919328Z           "complete": false,
2026-06-03T07:18:57.3919634Z           "evidence": []
2026-06-03T07:18:57.3919911Z         },
2026-06-03T07:18:57.3920151Z         "unit": {
2026-06-03T07:18:57.3920424Z           "complete": true,
2026-06-03T07:18:57.3920716Z           "evidence": [
2026-06-03T07:18:57.3920978Z             {
2026-06-03T07:18:57.3921387Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T07:18:57.3921745Z               "line": 111
2026-06-03T07:18:57.3922160Z             },
2026-06-03T07:18:57.3922408Z             {
2026-06-03T07:18:57.3922828Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T07:18:57.3923177Z               "line": 119
2026-06-03T07:18:57.3923451Z             },
2026-06-03T07:18:57.3923700Z             {
2026-06-03T07:18:57.3924001Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T07:18:57.3924347Z               "line": 132
2026-06-03T07:18:57.3924621Z             },
2026-06-03T07:18:57.3924867Z             {
2026-06-03T07:18:57.3925174Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T07:18:57.3925519Z               "line": 140
2026-06-03T07:18:57.3925786Z             },
2026-06-03T07:18:57.3926026Z             {
2026-06-03T07:18:57.3926334Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T07:18:57.3926696Z               "line": 302
2026-06-03T07:18:57.3926966Z             },
2026-06-03T07:18:57.3927208Z             {
2026-06-03T07:18:57.3927526Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T07:18:57.3927895Z               "line": 361
2026-06-03T07:18:57.3928180Z             },
2026-06-03T07:18:57.3928431Z             {
2026-06-03T07:18:57.3928734Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T07:18:57.3929086Z               "line": 100
2026-06-03T07:18:57.3929363Z             },
2026-06-03T07:18:57.3929608Z             {
2026-06-03T07:18:57.3929906Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T07:18:57.3930263Z               "line": 125
2026-06-03T07:18:57.3930531Z             }
2026-06-03T07:18:57.3930771Z           ]
2026-06-03T07:18:57.3931014Z         }
2026-06-03T07:18:57.3931358Z       }
2026-06-03T07:18:57.3931589Z     },
2026-06-03T07:18:57.3931822Z     {
2026-06-03T07:18:57.3932080Z       "id": "REQ-DAEMON-2",
2026-06-03T07:18:57.3932469Z       "title": "Broker/brain split for seamless self-update",
2026-06-03T07:18:57.3932906Z       "requiredStages": [
2026-06-03T07:18:57.3933198Z         "impl",
2026-06-03T07:18:57.3933453Z         "unit"
2026-06-03T07:18:57.3933711Z       ],
2026-06-03T07:18:57.3933952Z       "stages": {
2026-06-03T07:18:57.3934212Z         "doc": {
2026-06-03T07:18:57.3934502Z           "complete": false,
2026-06-03T07:18:57.3934816Z           "evidence": []
2026-06-03T07:18:57.3935103Z         },
2026-06-03T07:18:57.3935355Z         "impl": {
2026-06-03T07:18:57.3935640Z           "complete": true,
2026-06-03T07:18:57.3935935Z           "evidence": [
2026-06-03T07:18:57.3936209Z             {
2026-06-03T07:18:57.3936515Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T07:18:57.3936868Z               "line": 23
2026-06-03T07:18:57.3937144Z             },
2026-06-03T07:18:57.3937394Z             {
2026-06-03T07:18:57.3937715Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T07:18:57.3938073Z               "line": 32
2026-06-03T07:18:57.3938342Z             },
2026-06-03T07:18:57.3938595Z             {
2026-06-03T07:18:57.3938899Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T07:18:57.3939246Z               "line": 11
2026-06-03T07:18:57.3939523Z             },
2026-06-03T07:18:57.3939775Z             {
2026-06-03T07:18:57.3940082Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T07:18:57.3940427Z               "line": 13
2026-06-03T07:18:57.3940696Z             },
2026-06-03T07:18:57.3940945Z             {
2026-06-03T07:18:57.3941367Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T07:18:57.3941742Z               "line": 10
2026-06-03T07:18:57.3942019Z             }
2026-06-03T07:18:57.3942266Z           ]
2026-06-03T07:18:57.3942515Z         },
2026-06-03T07:18:57.3942760Z         "int": {
2026-06-03T07:18:57.3943041Z           "complete": true,
2026-06-03T07:18:57.3943339Z           "evidence": [
2026-06-03T07:18:57.3943610Z             {
2026-06-03T07:18:57.3943922Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-03T07:18:57.3944416Z               "line": 17
2026-06-03T07:18:57.3944691Z             },
2026-06-03T07:18:57.3944944Z             {
2026-06-03T07:18:57.3945380Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-03T07:18:57.3945739Z               "line": 19
2026-06-03T07:18:57.3946005Z             }
2026-06-03T07:18:57.3946245Z           ]
2026-06-03T07:18:57.3946483Z         },
2026-06-03T07:18:57.3946722Z         "unit": {
2026-06-03T07:18:57.3946998Z           "complete": true,
2026-06-03T07:18:57.3947293Z           "evidence": [
2026-06-03T07:18:57.3947568Z             {
2026-06-03T07:18:57.3947866Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T07:18:57.3948209Z               "line": 62
2026-06-03T07:18:57.3948480Z             },
2026-06-03T07:18:57.3948731Z             {
2026-06-03T07:18:57.3949029Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T07:18:57.3949374Z               "line": 76
2026-06-03T07:18:57.3949644Z             },
2026-06-03T07:18:57.3949890Z             {
2026-06-03T07:18:57.3950198Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T07:18:57.3950545Z               "line": 88
2026-06-03T07:18:57.3950810Z             },
2026-06-03T07:18:57.3951055Z             {
2026-06-03T07:18:57.3951467Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T07:18:57.3951819Z               "line": 196
2026-06-03T07:18:57.3952097Z             },
2026-06-03T07:18:57.3952347Z             {
2026-06-03T07:18:57.3952650Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T07:18:57.3952997Z               "line": 204
2026-06-03T07:18:57.3953272Z             },
2026-06-03T07:18:57.3953517Z             {
2026-06-03T07:18:57.3953812Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T07:18:57.3954151Z               "line": 221
2026-06-03T07:18:57.3954424Z             },
2026-06-03T07:18:57.3954665Z             {
2026-06-03T07:18:57.3954977Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T07:18:57.3955347Z               "line": 112
2026-06-03T07:18:57.3955617Z             }
2026-06-03T07:18:57.3955860Z           ]
2026-06-03T07:18:57.3956103Z         }
2026-06-03T07:18:57.3956337Z       }
2026-06-03T07:18:57.3956571Z     },
2026-06-03T07:18:57.3956807Z     {
2026-06-03T07:18:57.3957066Z       "id": "REQ-DAEMON-3",
2026-06-03T07:18:57.3957464Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-03T07:18:57.3957877Z       "requiredStages": [],
2026-06-03T07:18:57.3958160Z       "stages": {
2026-06-03T07:18:57.3958413Z         "doc": {
2026-06-03T07:18:57.3958684Z           "complete": false,
2026-06-03T07:18:57.3958989Z           "evidence": []
2026-06-03T07:18:57.3959256Z         },
2026-06-03T07:18:57.3959497Z         "impl": {
2026-06-03T07:18:57.3959772Z           "complete": false,
2026-06-03T07:18:57.3960079Z           "evidence": []
2026-06-03T07:18:57.3960348Z         },
2026-06-03T07:18:57.3960592Z         "int": {
2026-06-03T07:18:57.3960865Z           "complete": false,
2026-06-03T07:18:57.3961269Z           "evidence": []
2026-06-03T07:18:57.3961538Z         },
2026-06-03T07:18:57.3961783Z         "unit": {
2026-06-03T07:18:57.3962057Z           "complete": false,
2026-06-03T07:18:57.3962359Z           "evidence": []
2026-06-03T07:18:57.3962625Z         }
2026-06-03T07:18:57.3962857Z       }
2026-06-03T07:18:57.3963093Z     },
2026-06-03T07:18:57.3963328Z     {
2026-06-03T07:18:57.3963589Z       "id": "REQ-DAEMON-4",
2026-06-03T07:18:57.3963934Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-03T07:18:57.3964300Z       "requiredStages": [],
2026-06-03T07:18:57.3964582Z       "stages": {
2026-06-03T07:18:57.3964844Z         "doc": {
2026-06-03T07:18:57.3965117Z           "complete": false,
2026-06-03T07:18:57.3965414Z           "evidence": []
2026-06-03T07:18:57.3965687Z         },
2026-06-03T07:18:57.3965928Z         "impl": {
2026-06-03T07:18:57.3966203Z           "complete": false,
2026-06-03T07:18:57.3966497Z           "evidence": []
2026-06-03T07:18:57.3966953Z         },
2026-06-03T07:18:57.3967202Z         "int": {
2026-06-03T07:18:57.3967478Z           "complete": false,
2026-06-03T07:18:57.3967884Z           "evidence": []
2026-06-03T07:18:57.3968150Z         },
2026-06-03T07:18:57.3968390Z         "unit": {
2026-06-03T07:18:57.3968663Z           "complete": false,
2026-06-03T07:18:57.3968954Z           "evidence": []
2026-06-03T07:18:57.3969225Z         }
2026-06-03T07:18:57.3969456Z       }
2026-06-03T07:18:57.3969684Z     },
2026-06-03T07:18:57.3969928Z     {
2026-06-03T07:18:57.3970222Z       "id": "REQ-DOCS-1",
2026-06-03T07:18:57.3970669Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-03T07:18:57.3971243Z       "requiredStages": [],
2026-06-03T07:18:57.3971528Z       "stages": {
2026-06-03T07:18:57.3971785Z         "doc": {
2026-06-03T07:18:57.3972053Z           "complete": false,
2026-06-03T07:18:57.3972352Z           "evidence": []
2026-06-03T07:18:57.3972625Z         },
2026-06-03T07:18:57.3972875Z         "impl": {
2026-06-03T07:18:57.3973148Z           "complete": false,
2026-06-03T07:18:57.3973440Z           "evidence": []
2026-06-03T07:18:57.3973720Z         },
2026-06-03T07:18:57.3973961Z         "int": {
2026-06-03T07:18:57.3974229Z           "complete": false,
2026-06-03T07:18:57.3974524Z           "evidence": []
2026-06-03T07:18:57.3974790Z         },
2026-06-03T07:18:57.3975038Z         "unit": {
2026-06-03T07:18:57.3975310Z           "complete": false,
2026-06-03T07:18:57.3975606Z           "evidence": []
2026-06-03T07:18:57.3975874Z         }
2026-06-03T07:18:57.3976107Z       }
2026-06-03T07:18:57.3976335Z     },
2026-06-03T07:18:57.3976569Z     {
2026-06-03T07:18:57.3976823Z       "id": "REQ-DOCS-2",
2026-06-03T07:18:57.3977209Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-03T07:18:57.3977641Z       "requiredStages": [],
2026-06-03T07:18:57.3977923Z       "stages": {
2026-06-03T07:18:57.3978176Z         "doc": {
2026-06-03T07:18:57.3978452Z           "complete": false,
2026-06-03T07:18:57.3978753Z           "evidence": []
2026-06-03T07:18:57.3979022Z         },
2026-06-03T07:18:57.3979270Z         "impl": {
2026-06-03T07:18:57.3979539Z           "complete": false,
2026-06-03T07:18:57.3979838Z           "evidence": []
2026-06-03T07:18:57.3980105Z         },
2026-06-03T07:18:57.3980341Z         "int": {
2026-06-03T07:18:57.3980612Z           "complete": false,
2026-06-03T07:18:57.3980904Z           "evidence": []
2026-06-03T07:18:57.3981275Z         },
2026-06-03T07:18:57.3981516Z         "unit": {
2026-06-03T07:18:57.3981779Z           "complete": false,
2026-06-03T07:18:57.3982069Z           "evidence": []
2026-06-03T07:18:57.3982331Z         }
2026-06-03T07:18:57.3982553Z       }
2026-06-03T07:18:57.3982780Z     },
2026-06-03T07:18:57.3983006Z     {
2026-06-03T07:18:57.3983253Z       "id": "REQ-DOCS-3",
2026-06-03T07:18:57.3984027Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-03T07:18:57.3984460Z       "requiredStages": [],
2026-06-03T07:18:57.3984764Z       "stages": {
2026-06-03T07:18:57.3985018Z         "doc": {
2026-06-03T07:18:57.3985304Z           "complete": false,
2026-06-03T07:18:57.3985601Z           "evidence": []
2026-06-03T07:18:57.3985871Z         },
2026-06-03T07:18:57.3986121Z         "impl": {
2026-06-03T07:18:57.3986391Z           "complete": false,
2026-06-03T07:18:57.3986684Z           "evidence": []
2026-06-03T07:18:57.3986954Z         },
2026-06-03T07:18:57.3987194Z         "int": {
2026-06-03T07:18:57.3987472Z           "complete": false,
2026-06-03T07:18:57.3987763Z           "evidence": []
2026-06-03T07:18:57.3988030Z         },
2026-06-03T07:18:57.3988270Z         "unit": {
2026-06-03T07:18:57.3988539Z           "complete": false,
2026-06-03T07:18:57.3988831Z           "evidence": []
2026-06-03T07:18:57.3989098Z         }
2026-06-03T07:18:57.3989328Z       }
2026-06-03T07:18:57.3989561Z     },
2026-06-03T07:18:57.3989804Z     {
2026-06-03T07:18:57.3990062Z       "id": "REQ-DOCS-4",
2026-06-03T07:18:57.3990656Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-03T07:18:57.3991355Z       "requiredStages": [],
2026-06-03T07:18:57.3991642Z       "stages": {
2026-06-03T07:18:57.3991895Z         "doc": {
2026-06-03T07:18:57.3992164Z           "complete": false,
2026-06-03T07:18:57.3992455Z           "evidence": []
2026-06-03T07:18:57.3992738Z         },
2026-06-03T07:18:57.3992982Z         "impl": {
2026-06-03T07:18:57.3993248Z           "complete": false,
2026-06-03T07:18:57.3993538Z           "evidence": []
2026-06-03T07:18:57.3993808Z         },
2026-06-03T07:18:57.3994050Z         "int": {
2026-06-03T07:18:57.3994320Z           "complete": false,
2026-06-03T07:18:57.3994614Z           "evidence": []
2026-06-03T07:18:57.3994879Z         },
2026-06-03T07:18:57.3995126Z         "unit": {
2026-06-03T07:18:57.3995394Z           "complete": false,
2026-06-03T07:18:57.3995687Z           "evidence": []
2026-06-03T07:18:57.3995957Z         }
2026-06-03T07:18:57.3996189Z       }
2026-06-03T07:18:57.3996423Z     },
2026-06-03T07:18:57.3996661Z     {
2026-06-03T07:18:57.3996914Z       "id": "REQ-DOCS-5",
2026-06-03T07:18:57.3997365Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-03T07:18:57.3997836Z       "requiredStages": [],
2026-06-03T07:18:57.3998125Z       "stages": {
2026-06-03T07:18:57.3998382Z         "doc": {
2026-06-03T07:18:57.3998656Z           "complete": false,
2026-06-03T07:18:57.3998952Z           "evidence": []
2026-06-03T07:18:57.3999221Z         },
2026-06-03T07:18:57.3999465Z         "impl": {
2026-06-03T07:18:57.3999736Z           "complete": false,
2026-06-03T07:18:57.4000029Z           "evidence": []
2026-06-03T07:18:57.4000295Z         },
2026-06-03T07:18:57.4000534Z         "int": {
2026-06-03T07:18:57.4000797Z           "complete": false,
2026-06-03T07:18:57.4001086Z           "evidence": []
2026-06-03T07:18:57.4001469Z         },
2026-06-03T07:18:57.4001710Z         "unit": {
2026-06-03T07:18:57.4001980Z           "complete": false,
2026-06-03T07:18:57.4002282Z           "evidence": []
2026-06-03T07:18:57.4002554Z         }
2026-06-03T07:18:57.4002787Z       }
2026-06-03T07:18:57.4003021Z     },
2026-06-03T07:18:57.4003254Z     {
2026-06-03T07:18:57.4003513Z       "id": "REQ-EP-1",
2026-06-03T07:18:57.4003861Z       "title": "Day-one endpoint types; open type system",
2026-06-03T07:18:57.4004235Z       "requiredStages": [
2026-06-03T07:18:57.4004518Z         "impl",
2026-06-03T07:18:57.4004774Z         "unit"
2026-06-03T07:18:57.4005032Z       ],
2026-06-03T07:18:57.4005268Z       "stages": {
2026-06-03T07:18:57.4005523Z         "doc": {
2026-06-03T07:18:57.4005793Z           "complete": false,
2026-06-03T07:18:57.4020355Z           "evidence": []
2026-06-03T07:18:57.4020708Z         },
2026-06-03T07:18:57.4020966Z         "impl": {
2026-06-03T07:18:57.4021384Z           "complete": true,
2026-06-03T07:18:57.4021690Z           "evidence": [
2026-06-03T07:18:57.4021965Z             {
2026-06-03T07:18:57.4022312Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4022693Z               "line": 77
2026-06-03T07:18:57.4022979Z             },
2026-06-03T07:18:57.4023236Z             {
2026-06-03T07:18:57.4023544Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4023910Z               "line": 94
2026-06-03T07:18:57.4024186Z             }
2026-06-03T07:18:57.4024440Z           ]
2026-06-03T07:18:57.4024679Z         },
2026-06-03T07:18:57.4024915Z         "int": {
2026-06-03T07:18:57.4025182Z           "complete": false,
2026-06-03T07:18:57.4025475Z           "evidence": []
2026-06-03T07:18:57.4025797Z         },
2026-06-03T07:18:57.4026037Z         "unit": {
2026-06-03T07:18:57.4026307Z           "complete": true,
2026-06-03T07:18:57.4026599Z           "evidence": [
2026-06-03T07:18:57.4026868Z             {
2026-06-03T07:18:57.4027176Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4027529Z               "line": 161
2026-06-03T07:18:57.4027798Z             },
2026-06-03T07:18:57.4028234Z             {
2026-06-03T07:18:57.4028537Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4028997Z               "line": 178
2026-06-03T07:18:57.4029269Z             }
2026-06-03T07:18:57.4029515Z           ]
2026-06-03T07:18:57.4029759Z         }
2026-06-03T07:18:57.4029999Z       }
2026-06-03T07:18:57.4030232Z     },
2026-06-03T07:18:57.4030468Z     {
2026-06-03T07:18:57.4030724Z       "id": "REQ-EP-2",
2026-06-03T07:18:57.4031118Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-03T07:18:57.4031682Z       "requiredStages": [
2026-06-03T07:18:57.4031970Z         "impl",
2026-06-03T07:18:57.4032237Z         "unit"
2026-06-03T07:18:57.4032484Z       ],
2026-06-03T07:18:57.4032721Z       "stages": {
2026-06-03T07:18:57.4032978Z         "doc": {
2026-06-03T07:18:57.4033252Z           "complete": false,
2026-06-03T07:18:57.4033552Z           "evidence": []
2026-06-03T07:18:57.4033826Z         },
2026-06-03T07:18:57.4034076Z         "impl": {
2026-06-03T07:18:57.4034344Z           "complete": true,
2026-06-03T07:18:57.4034644Z           "evidence": [
2026-06-03T07:18:57.4034908Z             {
2026-06-03T07:18:57.4035223Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4035580Z               "line": 114
2026-06-03T07:18:57.4035848Z             },
2026-06-03T07:18:57.4036090Z             {
2026-06-03T07:18:57.4036384Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4036734Z               "line": 131
2026-06-03T07:18:57.4037003Z             },
2026-06-03T07:18:57.4037245Z             {
2026-06-03T07:18:57.4037532Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4037875Z               "line": 138
2026-06-03T07:18:57.4038139Z             }
2026-06-03T07:18:57.4038375Z           ]
2026-06-03T07:18:57.4038605Z         },
2026-06-03T07:18:57.4038846Z         "int": {
2026-06-03T07:18:57.4039122Z           "complete": false,
2026-06-03T07:18:57.4039427Z           "evidence": []
2026-06-03T07:18:57.4039695Z         },
2026-06-03T07:18:57.4039940Z         "unit": {
2026-06-03T07:18:57.4040208Z           "complete": true,
2026-06-03T07:18:57.4040498Z           "evidence": [
2026-06-03T07:18:57.4040765Z             {
2026-06-03T07:18:57.4041069Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4041525Z               "line": 193
2026-06-03T07:18:57.4041802Z             },
2026-06-03T07:18:57.4042050Z             {
2026-06-03T07:18:57.4042345Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4042690Z               "line": 211
2026-06-03T07:18:57.4042962Z             },
2026-06-03T07:18:57.4043210Z             {
2026-06-03T07:18:57.4043516Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T07:18:57.4043873Z               "line": 224
2026-06-03T07:18:57.4044144Z             }
2026-06-03T07:18:57.4044396Z           ]
2026-06-03T07:18:57.4044631Z         }
2026-06-03T07:18:57.4044878Z       }
2026-06-03T07:18:57.4045110Z     },
2026-06-03T07:18:57.4045347Z     {
2026-06-03T07:18:57.4045603Z       "id": "REQ-EP-3",
2026-06-03T07:18:57.4046020Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-03T07:18:57.4046473Z       "requiredStages": [
2026-06-03T07:18:57.4046757Z         "impl",
2026-06-03T07:18:57.4047014Z         "unit"
2026-06-03T07:18:57.4047259Z       ],
2026-06-03T07:18:57.4047496Z       "stages": {
2026-06-03T07:18:57.4047756Z         "doc": {
2026-06-03T07:18:57.4048027Z           "complete": false,
2026-06-03T07:18:57.4048333Z           "evidence": []
2026-06-03T07:18:57.4048601Z         },
2026-06-03T07:18:57.4048845Z         "impl": {
2026-06-03T07:18:57.4049124Z           "complete": true,
2026-06-03T07:18:57.4049418Z           "evidence": [
2026-06-03T07:18:57.4049679Z             {
2026-06-03T07:18:57.4049984Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4050331Z               "line": 31
2026-06-03T07:18:57.4050731Z             },
2026-06-03T07:18:57.4050979Z             {
2026-06-03T07:18:57.4051489Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4051831Z               "line": 49
2026-06-03T07:18:57.4052099Z             }
2026-06-03T07:18:57.4052340Z           ]
2026-06-03T07:18:57.4052578Z         },
2026-06-03T07:18:57.4052819Z         "int": {
2026-06-03T07:18:57.4053090Z           "complete": false,
2026-06-03T07:18:57.4053384Z           "evidence": []
2026-06-03T07:18:57.4053651Z         },
2026-06-03T07:18:57.4053889Z         "unit": {
2026-06-03T07:18:57.4054157Z           "complete": true,
2026-06-03T07:18:57.4054453Z           "evidence": [
2026-06-03T07:18:57.4054713Z             {
2026-06-03T07:18:57.4055010Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4055351Z               "line": 156
2026-06-03T07:18:57.4055619Z             },
2026-06-03T07:18:57.4055864Z             {
2026-06-03T07:18:57.4056166Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4056513Z               "line": 164
2026-06-03T07:18:57.4056789Z             },
2026-06-03T07:18:57.4057029Z             {
2026-06-03T07:18:57.4057325Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4057668Z               "line": 177
2026-06-03T07:18:57.4057935Z             },
2026-06-03T07:18:57.4058180Z             {
2026-06-03T07:18:57.4058474Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4058819Z               "line": 197
2026-06-03T07:18:57.4059089Z             },
2026-06-03T07:18:57.4059337Z             {
2026-06-03T07:18:57.4059634Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4059980Z               "line": 213
2026-06-03T07:18:57.4060246Z             },
2026-06-03T07:18:57.4060490Z             {
2026-06-03T07:18:57.4060783Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T07:18:57.4061228Z               "line": 227
2026-06-03T07:18:57.4061511Z             }
2026-06-03T07:18:57.4061754Z           ]
2026-06-03T07:18:57.4061987Z         }
2026-06-03T07:18:57.4062224Z       }
2026-06-03T07:18:57.4062457Z     },
2026-06-03T07:18:57.4062689Z     {
2026-06-03T07:18:57.4062934Z       "id": "REQ-EP-4",
2026-06-03T07:18:57.4063298Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-03T07:18:57.4063694Z       "requiredStages": [],
2026-06-03T07:18:57.4063981Z       "stages": {
2026-06-03T07:18:57.4064233Z         "doc": {
2026-06-03T07:18:57.4064502Z           "complete": false,
2026-06-03T07:18:57.4064798Z           "evidence": []
2026-06-03T07:18:57.4065063Z         },
2026-06-03T07:18:57.4065303Z         "impl": {
2026-06-03T07:18:57.4065569Z           "complete": false,
2026-06-03T07:18:57.4065860Z           "evidence": []
2026-06-03T07:18:57.4066127Z         },
2026-06-03T07:18:57.4066376Z         "int": {
2026-06-03T07:18:57.4066636Z           "complete": false,
2026-06-03T07:18:57.4066923Z           "evidence": []
2026-06-03T07:18:57.4067189Z         },
2026-06-03T07:18:57.4067421Z         "unit": {
2026-06-03T07:18:57.4067687Z           "complete": false,
2026-06-03T07:18:57.4067991Z           "evidence": []
2026-06-03T07:18:57.4068250Z         }
2026-06-03T07:18:57.4068480Z       }
2026-06-03T07:18:57.4068701Z     },
2026-06-03T07:18:57.4068928Z     {
2026-06-03T07:18:57.4069166Z       "id": "REQ-EP-5",
2026-06-03T07:18:57.4070204Z       "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-03T07:18:57.4071349Z       "requiredStages": [],
2026-06-03T07:18:57.4071631Z       "stages": {
2026-06-03T07:18:57.4071884Z         "doc": {
2026-06-03T07:18:57.4072150Z           "complete": false,
2026-06-03T07:18:57.4072433Z           "evidence": []
2026-06-03T07:18:57.4072694Z         },
2026-06-03T07:18:57.4072927Z         "impl": {
2026-06-03T07:18:57.4073317Z           "complete": false,
2026-06-03T07:18:57.4073603Z           "evidence": []
2026-06-03T07:18:57.4073980Z         },
2026-06-03T07:18:57.4074214Z         "int": {
2026-06-03T07:18:57.4074482Z           "complete": false,
2026-06-03T07:18:57.4074780Z           "evidence": []
2026-06-03T07:18:57.4075039Z         },
2026-06-03T07:18:57.4075281Z         "unit": {
2026-06-03T07:18:57.4075547Z           "complete": false,
2026-06-03T07:18:57.4075831Z           "evidence": []
2026-06-03T07:18:57.4076094Z         }
2026-06-03T07:18:57.4076330Z       }
2026-06-03T07:18:57.4076558Z     },
2026-06-03T07:18:57.4076790Z     {
2026-06-03T07:18:57.4077045Z       "id": "REQ-FRONT-1",
2026-06-03T07:18:57.4077480Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-03T07:18:57.4077937Z       "requiredStages": [],
2026-06-03T07:18:57.4078227Z       "stages": {
2026-06-03T07:18:57.4078489Z         "doc": {
2026-06-03T07:18:57.4078759Z           "complete": false,
2026-06-03T07:18:57.4079056Z           "evidence": []
2026-06-03T07:18:57.4079324Z         },
2026-06-03T07:18:57.4079566Z         "impl": {
2026-06-03T07:18:57.4079828Z           "complete": false,
2026-06-03T07:18:57.4080119Z           "evidence": []
2026-06-03T07:18:57.4080379Z         },
2026-06-03T07:18:57.4080605Z         "int": {
2026-06-03T07:18:57.4080864Z           "complete": false,
2026-06-03T07:18:57.4081253Z           "evidence": []
2026-06-03T07:18:57.4081512Z         },
2026-06-03T07:18:57.4081748Z         "unit": {
2026-06-03T07:18:57.4082032Z           "complete": false,
2026-06-03T07:18:57.4082318Z           "evidence": []
2026-06-03T07:18:57.4082579Z         }
2026-06-03T07:18:57.4082813Z       }
2026-06-03T07:18:57.4083035Z     },
2026-06-03T07:18:57.4083258Z     {
2026-06-03T07:18:57.4083550Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-03T07:18:57.4084008Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-03T07:18:57.4084430Z       "requiredStages": [
2026-06-03T07:18:57.4084711Z         "impl",
2026-06-03T07:18:57.4084971Z         "unit"
2026-06-03T07:18:57.4085229Z       ],
2026-06-03T07:18:57.4085465Z       "stages": {
2026-06-03T07:18:57.4085718Z         "doc": {
2026-06-03T07:18:57.4085980Z           "complete": false,
2026-06-03T07:18:57.4086264Z           "evidence": []
2026-06-03T07:18:57.4086527Z         },
2026-06-03T07:18:57.4086759Z         "impl": {
2026-06-03T07:18:57.4087024Z           "complete": true,
2026-06-03T07:18:57.4087305Z           "evidence": [
2026-06-03T07:18:57.4087564Z             {
2026-06-03T07:18:57.4087866Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4088211Z               "line": 60
2026-06-03T07:18:57.4088473Z             },
2026-06-03T07:18:57.4088727Z             {
2026-06-03T07:18:57.4089018Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.4089353Z               "line": 18
2026-06-03T07:18:57.4089610Z             },
2026-06-03T07:18:57.4089842Z             {
2026-06-03T07:18:57.4090131Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.4090473Z               "line": 94
2026-06-03T07:18:57.4090729Z             }
2026-06-03T07:18:57.4090962Z           ]
2026-06-03T07:18:57.4091296Z         },
2026-06-03T07:18:57.4091527Z         "int": {
2026-06-03T07:18:57.4091791Z           "complete": false,
2026-06-03T07:18:57.4092077Z           "evidence": []
2026-06-03T07:18:57.4092336Z         },
2026-06-03T07:18:57.4092576Z         "unit": {
2026-06-03T07:18:57.4092839Z           "complete": true,
2026-06-03T07:18:57.4093121Z           "evidence": [
2026-06-03T07:18:57.4093379Z             {
2026-06-03T07:18:57.4093678Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4094019Z               "line": 265
2026-06-03T07:18:57.4094281Z             },
2026-06-03T07:18:57.4094516Z             {
2026-06-03T07:18:57.4094798Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.4095133Z               "line": 152
2026-06-03T07:18:57.4095528Z             },
2026-06-03T07:18:57.4095767Z             {
2026-06-03T07:18:57.4096196Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.4096525Z               "line": 188
2026-06-03T07:18:57.4096788Z             }
2026-06-03T07:18:57.4097018Z           ]
2026-06-03T07:18:57.4097247Z         }
2026-06-03T07:18:57.4097472Z       }
2026-06-03T07:18:57.4097692Z     },
2026-06-03T07:18:57.4097917Z     {
2026-06-03T07:18:57.4098186Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-03T07:18:57.4098684Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-03T07:18:57.4099168Z       "requiredStages": [
2026-06-03T07:18:57.4099440Z         "impl",
2026-06-03T07:18:57.4099683Z         "unit"
2026-06-03T07:18:57.4099918Z       ],
2026-06-03T07:18:57.4100030Z       "stages": {
2026-06-03T07:18:57.4100136Z         "doc": {
2026-06-03T07:18:57.4100265Z           "complete": false,
2026-06-03T07:18:57.4100385Z           "evidence": []
2026-06-03T07:18:57.4100494Z         },
2026-06-03T07:18:57.4100609Z         "impl": {
2026-06-03T07:18:57.4100739Z           "complete": true,
2026-06-03T07:18:57.4100859Z           "evidence": [
2026-06-03T07:18:57.4100963Z             {
2026-06-03T07:18:57.4101236Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T07:18:57.4101354Z               "line": 164
2026-06-03T07:18:57.4101465Z             }
2026-06-03T07:18:57.4101571Z           ]
2026-06-03T07:18:57.4101673Z         },
2026-06-03T07:18:57.4101780Z         "int": {
2026-06-03T07:18:57.4101901Z           "complete": true,
2026-06-03T07:18:57.4102017Z           "evidence": [
2026-06-03T07:18:57.4102119Z             {
2026-06-03T07:18:57.4102276Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-03T07:18:57.4102390Z               "line": 44
2026-06-03T07:18:57.4102494Z             },
2026-06-03T07:18:57.4102599Z             {
2026-06-03T07:18:57.4102748Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-03T07:18:57.4102877Z               "line": 66
2026-06-03T07:18:57.4102980Z             }
2026-06-03T07:18:57.4103092Z           ]
2026-06-03T07:18:57.4103200Z         },
2026-06-03T07:18:57.4103308Z         "unit": {
2026-06-03T07:18:57.4103432Z           "complete": true,
2026-06-03T07:18:57.4103548Z           "evidence": [
2026-06-03T07:18:57.4103655Z             {
2026-06-03T07:18:57.4103811Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T07:18:57.4103929Z               "line": 181
2026-06-03T07:18:57.4104034Z             },
2026-06-03T07:18:57.4104135Z             {
2026-06-03T07:18:57.4104290Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T07:18:57.4104404Z               "line": 233
2026-06-03T07:18:57.4104508Z             },
2026-06-03T07:18:57.4104609Z             {
2026-06-03T07:18:57.4104764Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T07:18:57.4104880Z               "line": 261
2026-06-03T07:18:57.4104982Z             }
2026-06-03T07:18:57.4105094Z           ]
2026-06-03T07:18:57.4105198Z         }
2026-06-03T07:18:57.4105301Z       }
2026-06-03T07:18:57.4105407Z     },
2026-06-03T07:18:57.4105510Z     {
2026-06-03T07:18:57.4105677Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-03T07:18:57.4106261Z       "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-03T07:18:57.4106386Z       "requiredStages": [
2026-06-03T07:18:57.4106493Z         "impl",
2026-06-03T07:18:57.4106603Z         "unit"
2026-06-03T07:18:57.4106702Z       ],
2026-06-03T07:18:57.4106813Z       "stages": {
2026-06-03T07:18:57.4106921Z         "doc": {
2026-06-03T07:18:57.4107044Z           "complete": false,
2026-06-03T07:18:57.4107162Z           "evidence": []
2026-06-03T07:18:57.4107263Z         },
2026-06-03T07:18:57.4107372Z         "impl": {
2026-06-03T07:18:57.4107492Z           "complete": true,
2026-06-03T07:18:57.4107745Z           "evidence": [
2026-06-03T07:18:57.4107853Z             {
2026-06-03T07:18:57.4108027Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T07:18:57.4108254Z               "line": 132
2026-06-03T07:18:57.4108358Z             },
2026-06-03T07:18:57.4108464Z             {
2026-06-03T07:18:57.4108628Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T07:18:57.4108746Z               "line": 151
2026-06-03T07:18:57.4108852Z             },
2026-06-03T07:18:57.4108954Z             {
2026-06-03T07:18:57.4109111Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4109224Z               "line": 79
2026-06-03T07:18:57.4109330Z             },
2026-06-03T07:18:57.4109434Z             {
2026-06-03T07:18:57.4109585Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4109700Z               "line": 51
2026-06-03T07:18:57.4109804Z             },
2026-06-03T07:18:57.4109910Z             {
2026-06-03T07:18:57.4110071Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4110189Z               "line": 84
2026-06-03T07:18:57.4110298Z             },
2026-06-03T07:18:57.4110406Z             {
2026-06-03T07:18:57.4110568Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4110682Z               "line": 27
2026-06-03T07:18:57.4110789Z             },
2026-06-03T07:18:57.4110890Z             {
2026-06-03T07:18:57.4111050Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4111281Z               "line": 79
2026-06-03T07:18:57.4111385Z             },
2026-06-03T07:18:57.4111488Z             {
2026-06-03T07:18:57.4111657Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4111774Z               "line": 102
2026-06-03T07:18:57.4111877Z             },
2026-06-03T07:18:57.4111982Z             {
2026-06-03T07:18:57.4112145Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4112261Z               "line": 102
2026-06-03T07:18:57.4112382Z             }
2026-06-03T07:18:57.4112487Z           ]
2026-06-03T07:18:57.4112595Z         },
2026-06-03T07:18:57.4112708Z         "int": {
2026-06-03T07:18:57.4112840Z           "complete": false,
2026-06-03T07:18:57.4112962Z           "evidence": []
2026-06-03T07:18:57.4113065Z         },
2026-06-03T07:18:57.4113178Z         "unit": {
2026-06-03T07:18:57.4113301Z           "complete": true,
2026-06-03T07:18:57.4113421Z           "evidence": [
2026-06-03T07:18:57.4113523Z             {
2026-06-03T07:18:57.4113693Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T07:18:57.4113817Z               "line": 318
2026-06-03T07:18:57.4113921Z             },
2026-06-03T07:18:57.4114031Z             {
2026-06-03T07:18:57.4114183Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4114304Z               "line": 189
2026-06-03T07:18:57.4114410Z             },
2026-06-03T07:18:57.4114519Z             {
2026-06-03T07:18:57.4114698Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4114814Z               "line": 124
2026-06-03T07:18:57.4114927Z             },
2026-06-03T07:18:57.4115036Z             {
2026-06-03T07:18:57.4115203Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4115318Z               "line": 136
2026-06-03T07:18:57.4115429Z             },
2026-06-03T07:18:57.4115536Z             {
2026-06-03T07:18:57.4115698Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4115816Z               "line": 146
2026-06-03T07:18:57.4115918Z             },
2026-06-03T07:18:57.4116025Z             {
2026-06-03T07:18:57.4116184Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4116305Z               "line": 159
2026-06-03T07:18:57.4116417Z             },
2026-06-03T07:18:57.4116522Z             {
2026-06-03T07:18:57.4116687Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T07:18:57.4116804Z               "line": 171
2026-06-03T07:18:57.4116915Z             },
2026-06-03T07:18:57.4117155Z             {
2026-06-03T07:18:57.4117321Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4117594Z               "line": 201
2026-06-03T07:18:57.4117698Z             }
2026-06-03T07:18:57.4117808Z           ]
2026-06-03T07:18:57.4117913Z         }
2026-06-03T07:18:57.4118024Z       }
2026-06-03T07:18:57.4118127Z     },
2026-06-03T07:18:57.4118235Z     {
2026-06-03T07:18:57.4118386Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-03T07:18:57.4118691Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-03T07:18:57.4118818Z       "requiredStages": [
2026-06-03T07:18:57.4118926Z         "impl",
2026-06-03T07:18:57.4119038Z         "unit"
2026-06-03T07:18:57.4119142Z       ],
2026-06-03T07:18:57.4119260Z       "stages": {
2026-06-03T07:18:57.4119372Z         "doc": {
2026-06-03T07:18:57.4119495Z           "complete": false,
2026-06-03T07:18:57.4119616Z           "evidence": []
2026-06-03T07:18:57.4119719Z         },
2026-06-03T07:18:57.4119842Z         "impl": {
2026-06-03T07:18:57.4119964Z           "complete": true,
2026-06-03T07:18:57.4120092Z           "evidence": [
2026-06-03T07:18:57.4120202Z             {
2026-06-03T07:18:57.4120357Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4120480Z               "line": 40
2026-06-03T07:18:57.4120586Z             },
2026-06-03T07:18:57.4120694Z             {
2026-06-03T07:18:57.4120847Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4120968Z               "line": 88
2026-06-03T07:18:57.4121081Z             },
2026-06-03T07:18:57.4121283Z             {
2026-06-03T07:18:57.4121442Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4121559Z               "line": 133
2026-06-03T07:18:57.4121670Z             },
2026-06-03T07:18:57.4121775Z             {
2026-06-03T07:18:57.4121936Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4122055Z               "line": 215
2026-06-03T07:18:57.4122165Z             }
2026-06-03T07:18:57.4122277Z           ]
2026-06-03T07:18:57.4122383Z         },
2026-06-03T07:18:57.4122499Z         "int": {
2026-06-03T07:18:57.4122620Z           "complete": false,
2026-06-03T07:18:57.4122742Z           "evidence": []
2026-06-03T07:18:57.4122850Z         },
2026-06-03T07:18:57.4122957Z         "unit": {
2026-06-03T07:18:57.4123085Z           "complete": true,
2026-06-03T07:18:57.4123200Z           "evidence": [
2026-06-03T07:18:57.4123309Z             {
2026-06-03T07:18:57.4123461Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4123585Z               "line": 250
2026-06-03T07:18:57.4123695Z             },
2026-06-03T07:18:57.4123800Z             {
2026-06-03T07:18:57.4123956Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4124073Z               "line": 296
2026-06-03T07:18:57.4124188Z             },
2026-06-03T07:18:57.4124299Z             {
2026-06-03T07:18:57.4124459Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4124582Z               "line": 337
2026-06-03T07:18:57.4124691Z             },
2026-06-03T07:18:57.4124801Z             {
2026-06-03T07:18:57.4124959Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4125082Z               "line": 356
2026-06-03T07:18:57.4125190Z             }
2026-06-03T07:18:57.4125296Z           ]
2026-06-03T07:18:57.4125405Z         }
2026-06-03T07:18:57.4125509Z       }
2026-06-03T07:18:57.4125616Z     },
2026-06-03T07:18:57.4125719Z     {
2026-06-03T07:18:57.4125891Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-03T07:18:57.4126070Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-03T07:18:57.4126196Z       "requiredStages": [
2026-06-03T07:18:57.4126310Z         "impl",
2026-06-03T07:18:57.4126415Z         "unit"
2026-06-03T07:18:57.4126524Z       ],
2026-06-03T07:18:57.4126632Z       "stages": {
2026-06-03T07:18:57.4126745Z         "doc": {
2026-06-03T07:18:57.4127005Z           "complete": false,
2026-06-03T07:18:57.4127125Z           "evidence": []
2026-06-03T07:18:57.4127234Z         },
2026-06-03T07:18:57.4127452Z         "impl": {
2026-06-03T07:18:57.4127580Z           "complete": true,
2026-06-03T07:18:57.4127694Z           "evidence": [
2026-06-03T07:18:57.4127806Z             {
2026-06-03T07:18:57.4127971Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4128087Z               "line": 101
2026-06-03T07:18:57.4128200Z             },
2026-06-03T07:18:57.4128302Z             {
2026-06-03T07:18:57.4128459Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4128575Z               "line": 126
2026-06-03T07:18:57.4128685Z             }
2026-06-03T07:18:57.4128794Z           ]
2026-06-03T07:18:57.4128894Z         },
2026-06-03T07:18:57.4129005Z         "int": {
2026-06-03T07:18:57.4129133Z           "complete": false,
2026-06-03T07:18:57.4129253Z           "evidence": []
2026-06-03T07:18:57.4129358Z         },
2026-06-03T07:18:57.4129482Z         "unit": {
2026-06-03T07:18:57.4129610Z           "complete": true,
2026-06-03T07:18:57.4129724Z           "evidence": [
2026-06-03T07:18:57.4129839Z             {
2026-06-03T07:18:57.4129989Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4130110Z               "line": 271
2026-06-03T07:18:57.4130215Z             },
2026-06-03T07:18:57.4130324Z             {
2026-06-03T07:18:57.4130477Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4130596Z               "line": 315
2026-06-03T07:18:57.4130703Z             }
2026-06-03T07:18:57.4130807Z           ]
2026-06-03T07:18:57.4130921Z         }
2026-06-03T07:18:57.4131026Z       }
2026-06-03T07:18:57.4131239Z     },
2026-06-03T07:18:57.4131351Z     {
2026-06-03T07:18:57.4131517Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-03T07:18:57.4131822Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-03T07:18:57.4131943Z       "requiredStages": [
2026-06-03T07:18:57.4132064Z         "impl",
2026-06-03T07:18:57.4132168Z         "unit"
2026-06-03T07:18:57.4132279Z       ],
2026-06-03T07:18:57.4132393Z       "stages": {
2026-06-03T07:18:57.4132500Z         "doc": {
2026-06-03T07:18:57.4132629Z           "complete": false,
2026-06-03T07:18:57.4132745Z           "evidence": []
2026-06-03T07:18:57.4132855Z         },
2026-06-03T07:18:57.4132964Z         "impl": {
2026-06-03T07:18:57.4133092Z           "complete": true,
2026-06-03T07:18:57.4133213Z           "evidence": [
2026-06-03T07:18:57.4133320Z             {
2026-06-03T07:18:57.4133488Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4133601Z               "line": 21
2026-06-03T07:18:57.4133710Z             },
2026-06-03T07:18:57.4133813Z             {
2026-06-03T07:18:57.4133974Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4134097Z               "line": 152
2026-06-03T07:18:57.4134200Z             }
2026-06-03T07:18:57.4134309Z           ]
2026-06-03T07:18:57.4134419Z         },
2026-06-03T07:18:57.4134531Z         "int": {
2026-06-03T07:18:57.4134661Z           "complete": false,
2026-06-03T07:18:57.4134782Z           "evidence": []
2026-06-03T07:18:57.4134890Z         },
2026-06-03T07:18:57.4135000Z         "unit": {
2026-06-03T07:18:57.4135126Z           "complete": true,
2026-06-03T07:18:57.4135242Z           "evidence": [
2026-06-03T07:18:57.4135351Z             {
2026-06-03T07:18:57.4135511Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4135633Z               "line": 169
2026-06-03T07:18:57.4135745Z             },
2026-06-03T07:18:57.4135853Z             {
2026-06-03T07:18:57.4136012Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4136129Z               "line": 176
2026-06-03T07:18:57.4136239Z             },
2026-06-03T07:18:57.4136346Z             {
2026-06-03T07:18:57.4136506Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4136626Z               "line": 185
2026-06-03T07:18:57.4136860Z             },
2026-06-03T07:18:57.4136973Z             {
2026-06-03T07:18:57.4137236Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4137358Z               "line": 194
2026-06-03T07:18:57.4137461Z             },
2026-06-03T07:18:57.4137571Z             {
2026-06-03T07:18:57.4137727Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4137846Z               "line": 203
2026-06-03T07:18:57.4137955Z             },
2026-06-03T07:18:57.4138058Z             {
2026-06-03T07:18:57.4138214Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T07:18:57.4138330Z               "line": 212
2026-06-03T07:18:57.4138443Z             },
2026-06-03T07:18:57.4138549Z             {
2026-06-03T07:18:57.4138700Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T07:18:57.4138823Z               "line": 132
2026-06-03T07:18:57.4138928Z             },
2026-06-03T07:18:57.4139036Z             {
2026-06-03T07:18:57.4139194Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4139314Z               "line": 211
2026-06-03T07:18:57.4139427Z             }
2026-06-03T07:18:57.4139532Z           ]
2026-06-03T07:18:57.4139638Z         }
2026-06-03T07:18:57.4139741Z       }
2026-06-03T07:18:57.4139849Z     },
2026-06-03T07:18:57.4139949Z     {
2026-06-03T07:18:57.4140121Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-03T07:18:57.4140339Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-03T07:18:57.4140464Z       "requiredStages": [
2026-06-03T07:18:57.4140575Z         "impl",
2026-06-03T07:18:57.4140679Z         "unit"
2026-06-03T07:18:57.4140788Z       ],
2026-06-03T07:18:57.4140896Z       "stages": {
2026-06-03T07:18:57.4141008Z         "doc": {
2026-06-03T07:18:57.4141300Z           "complete": false,
2026-06-03T07:18:57.4141420Z           "evidence": []
2026-06-03T07:18:57.4141530Z         },
2026-06-03T07:18:57.4141639Z         "impl": {
2026-06-03T07:18:57.4141776Z           "complete": true,
2026-06-03T07:18:57.4141891Z           "evidence": [
2026-06-03T07:18:57.4142008Z             {
2026-06-03T07:18:57.4142167Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4142281Z               "line": 25
2026-06-03T07:18:57.4142390Z             },
2026-06-03T07:18:57.4142495Z             {
2026-06-03T07:18:57.4142652Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T07:18:57.4142767Z               "line": 13
2026-06-03T07:18:57.4142878Z             },
2026-06-03T07:18:57.4142987Z             {
2026-06-03T07:18:57.4143141Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T07:18:57.4143283Z               "line": 78
2026-06-03T07:18:57.4143387Z             }
2026-06-03T07:18:57.4143495Z           ]
2026-06-03T07:18:57.4143596Z         },
2026-06-03T07:18:57.4143710Z         "int": {
2026-06-03T07:18:57.4143837Z           "complete": false,
2026-06-03T07:18:57.4143953Z           "evidence": []
2026-06-03T07:18:57.4144061Z         },
2026-06-03T07:18:57.4144174Z         "unit": {
2026-06-03T07:18:57.4144301Z           "complete": true,
2026-06-03T07:18:57.4144419Z           "evidence": [
2026-06-03T07:18:57.4144530Z             {
2026-06-03T07:18:57.4144684Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4144801Z               "line": 180
2026-06-03T07:18:57.4144913Z             },
2026-06-03T07:18:57.4145022Z             {
2026-06-03T07:18:57.4145177Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4145292Z               "line": 205
2026-06-03T07:18:57.4145402Z             },
2026-06-03T07:18:57.4145512Z             {
2026-06-03T07:18:57.4145662Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T07:18:57.4145780Z               "line": 96
2026-06-03T07:18:57.4145892Z             }
2026-06-03T07:18:57.4146003Z           ]
2026-06-03T07:18:57.4146107Z         }
2026-06-03T07:18:57.4146217Z       }
2026-06-03T07:18:57.4146323Z     },
2026-06-03T07:18:57.4146423Z     {
2026-06-03T07:18:57.4146708Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-03T07:18:57.4146937Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-03T07:18:57.4147187Z       "requiredStages": [
2026-06-03T07:18:57.4147301Z         "impl",
2026-06-03T07:18:57.4147410Z         "unit"
2026-06-03T07:18:57.4147517Z       ],
2026-06-03T07:18:57.4147630Z       "stages": {
2026-06-03T07:18:57.4147740Z         "doc": {
2026-06-03T07:18:57.4147863Z           "complete": false,
2026-06-03T07:18:57.4147984Z           "evidence": []
2026-06-03T07:18:57.4148087Z         },
2026-06-03T07:18:57.4148199Z         "impl": {
2026-06-03T07:18:57.4148329Z           "complete": true,
2026-06-03T07:18:57.4148443Z           "evidence": [
2026-06-03T07:18:57.4148552Z             {
2026-06-03T07:18:57.4148712Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4148832Z               "line": 48
2026-06-03T07:18:57.4148940Z             },
2026-06-03T07:18:57.4149050Z             {
2026-06-03T07:18:57.4149219Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4149342Z               "line": 55
2026-06-03T07:18:57.4149450Z             },
2026-06-03T07:18:57.4149554Z             {
2026-06-03T07:18:57.4149714Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4149827Z               "line": 74
2026-06-03T07:18:57.4149935Z             },
2026-06-03T07:18:57.4150041Z             {
2026-06-03T07:18:57.4150192Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4150313Z               "line": 91
2026-06-03T07:18:57.4150415Z             }
2026-06-03T07:18:57.4150523Z           ]
2026-06-03T07:18:57.4150627Z         },
2026-06-03T07:18:57.4150738Z         "int": {
2026-06-03T07:18:57.4150869Z           "complete": false,
2026-06-03T07:18:57.4150984Z           "evidence": []
2026-06-03T07:18:57.4151091Z         },
2026-06-03T07:18:57.4151311Z         "unit": {
2026-06-03T07:18:57.4151438Z           "complete": true,
2026-06-03T07:18:57.4151560Z           "evidence": [
2026-06-03T07:18:57.4151672Z             {
2026-06-03T07:18:57.4151833Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4151949Z               "line": 149
2026-06-03T07:18:57.4152058Z             },
2026-06-03T07:18:57.4152162Z             {
2026-06-03T07:18:57.4152316Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4152435Z               "line": 163
2026-06-03T07:18:57.4152538Z             },
2026-06-03T07:18:57.4152644Z             {
2026-06-03T07:18:57.4152794Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4152913Z               "line": 173
2026-06-03T07:18:57.4153019Z             },
2026-06-03T07:18:57.4153126Z             {
2026-06-03T07:18:57.4153279Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4153401Z               "line": 191
2026-06-03T07:18:57.4153512Z             },
2026-06-03T07:18:57.4153616Z             {
2026-06-03T07:18:57.4153779Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4153896Z               "line": 204
2026-06-03T07:18:57.4154009Z             }
2026-06-03T07:18:57.4154119Z           ]
2026-06-03T07:18:57.4154222Z         }
2026-06-03T07:18:57.4154331Z       }
2026-06-03T07:18:57.4154435Z     },
2026-06-03T07:18:57.4154542Z     {
2026-06-03T07:18:57.4154714Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-03T07:18:57.4154984Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-03T07:18:57.4155111Z       "requiredStages": [
2026-06-03T07:18:57.4155218Z         "impl",
2026-06-03T07:18:57.4155330Z         "unit"
2026-06-03T07:18:57.4155434Z       ],
2026-06-03T07:18:57.4155549Z       "stages": {
2026-06-03T07:18:57.4155657Z         "doc": {
2026-06-03T07:18:57.4155785Z           "complete": false,
2026-06-03T07:18:57.4155906Z           "evidence": []
2026-06-03T07:18:57.4156010Z         },
2026-06-03T07:18:57.4156121Z         "impl": {
2026-06-03T07:18:57.4156380Z           "complete": true,
2026-06-03T07:18:57.4156503Z           "evidence": [
2026-06-03T07:18:57.4156714Z             {
2026-06-03T07:18:57.4156874Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4156993Z               "line": 26
2026-06-03T07:18:57.4157097Z             }
2026-06-03T07:18:57.4157202Z           ]
2026-06-03T07:18:57.4157304Z         },
2026-06-03T07:18:57.4157417Z         "int": {
2026-06-03T07:18:57.4157542Z           "complete": false,
2026-06-03T07:18:57.4157666Z           "evidence": []
2026-06-03T07:18:57.4157775Z         },
2026-06-03T07:18:57.4157887Z         "unit": {
2026-06-03T07:18:57.4158014Z           "complete": true,
2026-06-03T07:18:57.4158130Z           "evidence": [
2026-06-03T07:18:57.4158240Z             {
2026-06-03T07:18:57.4158397Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4158522Z               "line": 138
2026-06-03T07:18:57.4158634Z             },
2026-06-03T07:18:57.4158738Z             {
2026-06-03T07:18:57.4158908Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4159031Z               "line": 181
2026-06-03T07:18:57.4159143Z             }
2026-06-03T07:18:57.4159248Z           ]
2026-06-03T07:18:57.4159361Z         }
2026-06-03T07:18:57.4159467Z       }
2026-06-03T07:18:57.4159569Z     },
2026-06-03T07:18:57.4159678Z     {
2026-06-03T07:18:57.4159844Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-03T07:18:57.4160068Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-03T07:18:57.4160195Z       "requiredStages": [
2026-06-03T07:18:57.4160310Z         "impl",
2026-06-03T07:18:57.4160423Z         "unit"
2026-06-03T07:18:57.4160526Z       ],
2026-06-03T07:18:57.4160640Z       "stages": {
2026-06-03T07:18:57.4160748Z         "doc": {
2026-06-03T07:18:57.4160878Z           "complete": false,
2026-06-03T07:18:57.4160997Z           "evidence": []
2026-06-03T07:18:57.4161107Z         },
2026-06-03T07:18:57.4161334Z         "impl": {
2026-06-03T07:18:57.4161466Z           "complete": true,
2026-06-03T07:18:57.4161591Z           "evidence": [
2026-06-03T07:18:57.4161699Z             {
2026-06-03T07:18:57.4161877Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4161992Z               "line": 36
2026-06-03T07:18:57.4162099Z             },
2026-06-03T07:18:57.4162209Z             {
2026-06-03T07:18:57.4162371Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4162487Z               "line": 68
2026-06-03T07:18:57.4162594Z             }
2026-06-03T07:18:57.4162702Z           ]
2026-06-03T07:18:57.4162802Z         },
2026-06-03T07:18:57.4162914Z         "int": {
2026-06-03T07:18:57.4163042Z           "complete": false,
2026-06-03T07:18:57.4163160Z           "evidence": []
2026-06-03T07:18:57.4163267Z         },
2026-06-03T07:18:57.4163375Z         "unit": {
2026-06-03T07:18:57.4163502Z           "complete": true,
2026-06-03T07:18:57.4163619Z           "evidence": [
2026-06-03T07:18:57.4163731Z             {
2026-06-03T07:18:57.4163898Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4164023Z               "line": 143
2026-06-03T07:18:57.4164130Z             },
2026-06-03T07:18:57.4164232Z             {
2026-06-03T07:18:57.4164405Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4164521Z               "line": 160
2026-06-03T07:18:57.4164632Z             },
2026-06-03T07:18:57.4164740Z             {
2026-06-03T07:18:57.4164899Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4165022Z               "line": 168
2026-06-03T07:18:57.4165128Z             }
2026-06-03T07:18:57.4165237Z           ]
2026-06-03T07:18:57.4165339Z         }
2026-06-03T07:18:57.4165449Z       }
2026-06-03T07:18:57.4165555Z     },
2026-06-03T07:18:57.4165657Z     {
2026-06-03T07:18:57.4165834Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-03T07:18:57.4166107Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-03T07:18:57.4166366Z       "requiredStages": [
2026-06-03T07:18:57.4166478Z         "impl",
2026-06-03T07:18:57.4166695Z         "unit"
2026-06-03T07:18:57.4166803Z       ],
2026-06-03T07:18:57.4166913Z       "stages": {
2026-06-03T07:18:57.4167022Z         "doc": {
2026-06-03T07:18:57.4167148Z           "complete": false,
2026-06-03T07:18:57.4167268Z           "evidence": []
2026-06-03T07:18:57.4167371Z         },
2026-06-03T07:18:57.4167482Z         "impl": {
2026-06-03T07:18:57.4167606Z           "complete": true,
2026-06-03T07:18:57.4167720Z           "evidence": [
2026-06-03T07:18:57.4167829Z             {
2026-06-03T07:18:57.4167996Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4168117Z               "line": 107
2026-06-03T07:18:57.4168223Z             }
2026-06-03T07:18:57.4168332Z           ]
2026-06-03T07:18:57.4168439Z         },
2026-06-03T07:18:57.4168545Z         "int": {
2026-06-03T07:18:57.4168672Z           "complete": false,
2026-06-03T07:18:57.4168795Z           "evidence": []
2026-06-03T07:18:57.4168900Z         },
2026-06-03T07:18:57.4169006Z         "unit": {
2026-06-03T07:18:57.4169137Z           "complete": true,
2026-06-03T07:18:57.4169257Z           "evidence": [
2026-06-03T07:18:57.4169358Z             {
2026-06-03T07:18:57.4169522Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4169638Z               "line": 184
2026-06-03T07:18:57.4169746Z             },
2026-06-03T07:18:57.4169849Z             {
2026-06-03T07:18:57.4170010Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4170130Z               "line": 193
2026-06-03T07:18:57.4170233Z             },
2026-06-03T07:18:57.4170342Z             {
2026-06-03T07:18:57.4170500Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4170625Z               "line": 201
2026-06-03T07:18:57.4170729Z             },
2026-06-03T07:18:57.4170839Z             {
2026-06-03T07:18:57.4171009Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4171227Z               "line": 210
2026-06-03T07:18:57.4171340Z             },
2026-06-03T07:18:57.4171449Z             {
2026-06-03T07:18:57.4171613Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T07:18:57.4171728Z               "line": 219
2026-06-03T07:18:57.4171840Z             }
2026-06-03T07:18:57.4171948Z           ]
2026-06-03T07:18:57.4172053Z         }
2026-06-03T07:18:57.4172160Z       }
2026-06-03T07:18:57.4172260Z     },
2026-06-03T07:18:57.4172365Z     {
2026-06-03T07:18:57.4172521Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-03T07:18:57.4172744Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-03T07:18:57.4172873Z       "requiredStages": [
2026-06-03T07:18:57.4172978Z         "impl",
2026-06-03T07:18:57.4173087Z         "unit"
2026-06-03T07:18:57.4173190Z       ],
2026-06-03T07:18:57.4173304Z       "stages": {
2026-06-03T07:18:57.4173409Z         "doc": {
2026-06-03T07:18:57.4173547Z           "complete": false,
2026-06-03T07:18:57.4173670Z           "evidence": []
2026-06-03T07:18:57.4173771Z         },
2026-06-03T07:18:57.4173893Z         "impl": {
2026-06-03T07:18:57.4174014Z           "complete": true,
2026-06-03T07:18:57.4174131Z           "evidence": [
2026-06-03T07:18:57.4174234Z             {
2026-06-03T07:18:57.4174392Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4174512Z               "line": 14
2026-06-03T07:18:57.4174616Z             },
2026-06-03T07:18:57.4174725Z             {
2026-06-03T07:18:57.4174872Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4174992Z               "line": 62
2026-06-03T07:18:57.4175093Z             }
2026-06-03T07:18:57.4175202Z           ]
2026-06-03T07:18:57.4175307Z         },
2026-06-03T07:18:57.4175413Z         "int": {
2026-06-03T07:18:57.4175550Z           "complete": false,
2026-06-03T07:18:57.4175679Z           "evidence": []
2026-06-03T07:18:57.4175789Z         },
2026-06-03T07:18:57.4176026Z         "unit": {
2026-06-03T07:18:57.4176155Z           "complete": true,
2026-06-03T07:18:57.4176274Z           "evidence": [
2026-06-03T07:18:57.4176483Z             {
2026-06-03T07:18:57.4176634Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4176753Z               "line": 160
2026-06-03T07:18:57.4176862Z             },
2026-06-03T07:18:57.4176969Z             {
2026-06-03T07:18:57.4177121Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4177244Z               "line": 197
2026-06-03T07:18:57.4177350Z             },
2026-06-03T07:18:57.4177460Z             {
2026-06-03T07:18:57.4177605Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4177725Z               "line": 213
2026-06-03T07:18:57.4177831Z             }
2026-06-03T07:18:57.4177941Z           ]
2026-06-03T07:18:57.4178050Z         }
2026-06-03T07:18:57.4178159Z       }
2026-06-03T07:18:57.4178269Z     },
2026-06-03T07:18:57.4178374Z     {
2026-06-03T07:18:57.4178549Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-03T07:18:57.4178843Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-03T07:18:57.4178984Z       "requiredStages": [
2026-06-03T07:18:57.4179097Z         "impl",
2026-06-03T07:18:57.4179204Z         "unit"
2026-06-03T07:18:57.4179314Z       ],
2026-06-03T07:18:57.4179424Z       "stages": {
2026-06-03T07:18:57.4179538Z         "doc": {
2026-06-03T07:18:57.4179660Z           "complete": false,
2026-06-03T07:18:57.4179785Z           "evidence": []
2026-06-03T07:18:57.4179894Z         },
2026-06-03T07:18:57.4180004Z         "impl": {
2026-06-03T07:18:57.4180130Z           "complete": true,
2026-06-03T07:18:57.4180246Z           "evidence": [
2026-06-03T07:18:57.4180358Z             {
2026-06-03T07:18:57.4180519Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4180642Z               "line": 76
2026-06-03T07:18:57.4180756Z             },
2026-06-03T07:18:57.4180862Z             {
2026-06-03T07:18:57.4181031Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4181374Z               "line": 163
2026-06-03T07:18:57.4181552Z             },
2026-06-03T07:18:57.4181692Z             {
2026-06-03T07:18:57.4181859Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4181982Z               "line": 229
2026-06-03T07:18:57.4182092Z             },
2026-06-03T07:18:57.4182204Z             {
2026-06-03T07:18:57.4182357Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4182483Z               "line": 265
2026-06-03T07:18:57.4182594Z             }
2026-06-03T07:18:57.4182702Z           ]
2026-06-03T07:18:57.4182817Z         },
2026-06-03T07:18:57.4182926Z         "int": {
2026-06-03T07:18:57.4183059Z           "complete": false,
2026-06-03T07:18:57.4183178Z           "evidence": []
2026-06-03T07:18:57.4183288Z         },
2026-06-03T07:18:57.4183397Z         "unit": {
2026-06-03T07:18:57.4183528Z           "complete": true,
2026-06-03T07:18:57.4183657Z           "evidence": [
2026-06-03T07:18:57.4183762Z             {
2026-06-03T07:18:57.4183924Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4184046Z               "line": 310
2026-06-03T07:18:57.4184156Z             },
2026-06-03T07:18:57.4184258Z             {
2026-06-03T07:18:57.4184419Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4184543Z               "line": 318
2026-06-03T07:18:57.4184648Z             },
2026-06-03T07:18:57.4184755Z             {
2026-06-03T07:18:57.4184904Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4185028Z               "line": 341
2026-06-03T07:18:57.4185137Z             },
2026-06-03T07:18:57.4185242Z             {
2026-06-03T07:18:57.4185399Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4185515Z               "line": 378
2026-06-03T07:18:57.4185627Z             },
2026-06-03T07:18:57.4185732Z             {
2026-06-03T07:18:57.4186023Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4186146Z               "line": 389
2026-06-03T07:18:57.4186359Z             },
2026-06-03T07:18:57.4186466Z             {
2026-06-03T07:18:57.4186618Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4186740Z               "line": 401
2026-06-03T07:18:57.4186846Z             },
2026-06-03T07:18:57.4186958Z             {
2026-06-03T07:18:57.4187113Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T07:18:57.4187232Z               "line": 413
2026-06-03T07:18:57.4187342Z             }
2026-06-03T07:18:57.4187446Z           ]
2026-06-03T07:18:57.4187555Z         }
2026-06-03T07:18:57.4187659Z       }
2026-06-03T07:18:57.4187768Z     },
2026-06-03T07:18:57.4187875Z     {
2026-06-03T07:18:57.4188016Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-03T07:18:57.4188229Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-03T07:18:57.4188354Z       "requiredStages": [
2026-06-03T07:18:57.4188476Z         "impl",
2026-06-03T07:18:57.4188584Z         "int"
2026-06-03T07:18:57.4188693Z       ],
2026-06-03T07:18:57.4188812Z       "stages": {
2026-06-03T07:18:57.4188920Z         "doc": {
2026-06-03T07:18:57.4189053Z           "complete": false,
2026-06-03T07:18:57.4189170Z           "evidence": []
2026-06-03T07:18:57.4189281Z         },
2026-06-03T07:18:57.4189394Z         "impl": {
2026-06-03T07:18:57.4189523Z           "complete": true,
2026-06-03T07:18:57.4189645Z           "evidence": [
2026-06-03T07:18:57.4189749Z             {
2026-06-03T07:18:57.4189916Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T07:18:57.4190035Z               "line": 22
2026-06-03T07:18:57.4190145Z             }
2026-06-03T07:18:57.4190250Z           ]
2026-06-03T07:18:57.4190360Z         },
2026-06-03T07:18:57.4190469Z         "int": {
2026-06-03T07:18:57.4190592Z           "complete": true,
2026-06-03T07:18:57.4190713Z           "evidence": [
2026-06-03T07:18:57.4190817Z             {
2026-06-03T07:18:57.4191000Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-03T07:18:57.4191115Z               "line": 18
2026-06-03T07:18:57.4191348Z             }
2026-06-03T07:18:57.4191456Z           ]
2026-06-03T07:18:57.4191559Z         },
2026-06-03T07:18:57.4191673Z         "unit": {
2026-06-03T07:18:57.4191798Z           "complete": false,
2026-06-03T07:18:57.4191919Z           "evidence": []
2026-06-03T07:18:57.4192020Z         }
2026-06-03T07:18:57.4192128Z       }
2026-06-03T07:18:57.4192236Z     },
2026-06-03T07:18:57.4192340Z     {
2026-06-03T07:18:57.4192511Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-03T07:18:57.4192773Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-03T07:18:57.4192903Z       "requiredStages": [
2026-06-03T07:18:57.4193012Z         "impl",
2026-06-03T07:18:57.4193122Z         "unit"
2026-06-03T07:18:57.4193230Z       ],
2026-06-03T07:18:57.4193339Z       "stages": {
2026-06-03T07:18:57.4193453Z         "doc": {
2026-06-03T07:18:57.4193584Z           "complete": false,
2026-06-03T07:18:57.4193711Z           "evidence": []
2026-06-03T07:18:57.4193820Z         },
2026-06-03T07:18:57.4193935Z         "impl": {
2026-06-03T07:18:57.4194062Z           "complete": true,
2026-06-03T07:18:57.4194178Z           "evidence": [
2026-06-03T07:18:57.4194286Z             {
2026-06-03T07:18:57.4194445Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4194568Z               "line": 27
2026-06-03T07:18:57.4194674Z             }
2026-06-03T07:18:57.4195035Z           ]
2026-06-03T07:18:57.4195249Z         },
2026-06-03T07:18:57.4195439Z         "int": {
2026-06-03T07:18:57.4195606Z           "complete": false,
2026-06-03T07:18:57.4195785Z           "evidence": []
2026-06-03T07:18:57.4195986Z         },
2026-06-03T07:18:57.4196197Z         "unit": {
2026-06-03T07:18:57.4196434Z           "complete": true,
2026-06-03T07:18:57.4196625Z           "evidence": [
2026-06-03T07:18:57.4248588Z             {
2026-06-03T07:18:57.4249216Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4249356Z               "line": 163
2026-06-03T07:18:57.4249609Z             }
2026-06-03T07:18:57.4249713Z           ]
2026-06-03T07:18:57.4249821Z         }
2026-06-03T07:18:57.4249923Z       }
2026-06-03T07:18:57.4250025Z     },
2026-06-03T07:18:57.4250125Z     {
2026-06-03T07:18:57.4250301Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-03T07:18:57.4250550Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-03T07:18:57.4250684Z       "requiredStages": [
2026-06-03T07:18:57.4250803Z         "impl",
2026-06-03T07:18:57.4250911Z         "unit"
2026-06-03T07:18:57.4251022Z       ],
2026-06-03T07:18:57.4251270Z       "stages": {
2026-06-03T07:18:57.4251386Z         "doc": {
2026-06-03T07:18:57.4251523Z           "complete": false,
2026-06-03T07:18:57.4251642Z           "evidence": []
2026-06-03T07:18:57.4251751Z         },
2026-06-03T07:18:57.4251862Z         "impl": {
2026-06-03T07:18:57.4252003Z           "complete": true,
2026-06-03T07:18:57.4252119Z           "evidence": [
2026-06-03T07:18:57.4252237Z             {
2026-06-03T07:18:57.4252418Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4252536Z               "line": 20
2026-06-03T07:18:57.4252646Z             },
2026-06-03T07:18:57.4252751Z             {
2026-06-03T07:18:57.4252915Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4253029Z               "line": 94
2026-06-03T07:18:57.4253140Z             },
2026-06-03T07:18:57.4253250Z             {
2026-06-03T07:18:57.4253421Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T07:18:57.4253543Z               "line": 70
2026-06-03T07:18:57.4253647Z             },
2026-06-03T07:18:57.4253756Z             {
2026-06-03T07:18:57.4253928Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T07:18:57.4254048Z               "line": 82
2026-06-03T07:18:57.4254156Z             }
2026-06-03T07:18:57.4254265Z           ]
2026-06-03T07:18:57.4254375Z         },
2026-06-03T07:18:57.4254482Z         "int": {
2026-06-03T07:18:57.4254626Z           "complete": false,
2026-06-03T07:18:57.4254744Z           "evidence": []
2026-06-03T07:18:57.4254854Z         },
2026-06-03T07:18:57.4254971Z         "unit": {
2026-06-03T07:18:57.4255093Z           "complete": true,
2026-06-03T07:18:57.4255213Z           "evidence": [
2026-06-03T07:18:57.4255317Z             {
2026-06-03T07:18:57.4255477Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4255593Z               "line": 139
2026-06-03T07:18:57.4255704Z             },
2026-06-03T07:18:57.4255812Z             {
2026-06-03T07:18:57.4255968Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4256096Z               "line": 162
2026-06-03T07:18:57.4256201Z             },
2026-06-03T07:18:57.4256310Z             {
2026-06-03T07:18:57.4256461Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4256590Z               "line": 173
2026-06-03T07:18:57.4256700Z             },
2026-06-03T07:18:57.4256802Z             {
2026-06-03T07:18:57.4256967Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4257083Z               "line": 189
2026-06-03T07:18:57.4257197Z             },
2026-06-03T07:18:57.4257305Z             {
2026-06-03T07:18:57.4257457Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T07:18:57.4257579Z               "line": 200
2026-06-03T07:18:57.4257682Z             },
2026-06-03T07:18:57.4257792Z             {
2026-06-03T07:18:57.4257960Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T07:18:57.4258085Z               "line": 139
2026-06-03T07:18:57.4258194Z             }
2026-06-03T07:18:57.4258297Z           ]
2026-06-03T07:18:57.4258406Z         }
2026-06-03T07:18:57.4258511Z       }
2026-06-03T07:18:57.4258620Z     },
2026-06-03T07:18:57.4258721Z     {
2026-06-03T07:18:57.4258868Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-03T07:18:57.4259373Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-03T07:18:57.4259607Z       "requiredStages": [
2026-06-03T07:18:57.4259720Z         "impl",
2026-06-03T07:18:57.4259825Z         "unit"
2026-06-03T07:18:57.4259935Z       ],
2026-06-03T07:18:57.4260045Z       "stages": {
2026-06-03T07:18:57.4260157Z         "doc": {
2026-06-03T07:18:57.4260289Z           "complete": true,
2026-06-03T07:18:57.4260407Z           "evidence": [
2026-06-03T07:18:57.4260515Z             {
2026-06-03T07:18:57.4260670Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T07:18:57.4260790Z               "line": 131
2026-06-03T07:18:57.4260894Z             }
2026-06-03T07:18:57.4261006Z           ]
2026-06-03T07:18:57.4261114Z         },
2026-06-03T07:18:57.4261337Z         "impl": {
2026-06-03T07:18:57.4261466Z           "complete": true,
2026-06-03T07:18:57.4261580Z           "evidence": [
2026-06-03T07:18:57.4261692Z             {
2026-06-03T07:18:57.4261860Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4261983Z               "line": 50
2026-06-03T07:18:57.4262094Z             },
2026-06-03T07:18:57.4262200Z             {
2026-06-03T07:18:57.4262360Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4262476Z               "line": 17
2026-06-03T07:18:57.4262582Z             },
2026-06-03T07:18:57.4262685Z             {
2026-06-03T07:18:57.4262855Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4262976Z               "line": 150
2026-06-03T07:18:57.4263083Z             },
2026-06-03T07:18:57.4263191Z             {
2026-06-03T07:18:57.4263344Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4263462Z               "line": 238
2026-06-03T07:18:57.4263564Z             },
2026-06-03T07:18:57.4263673Z             {
2026-06-03T07:18:57.4263834Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T07:18:57.4263946Z               "line": 32
2026-06-03T07:18:57.4264059Z             }
2026-06-03T07:18:57.4264162Z           ]
2026-06-03T07:18:57.4264269Z         },
2026-06-03T07:18:57.4264378Z         "int": {
2026-06-03T07:18:57.4264505Z           "complete": false,
2026-06-03T07:18:57.4264622Z           "evidence": []
2026-06-03T07:18:57.4264724Z         },
2026-06-03T07:18:57.4264835Z         "unit": {
2026-06-03T07:18:57.4264958Z           "complete": true,
2026-06-03T07:18:57.4265077Z           "evidence": [
2026-06-03T07:18:57.4265179Z             {
2026-06-03T07:18:57.4265332Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4265450Z               "line": 94
2026-06-03T07:18:57.4265554Z             },
2026-06-03T07:18:57.4265661Z             {
2026-06-03T07:18:57.4265804Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4265924Z               "line": 111
2026-06-03T07:18:57.4266028Z             },
2026-06-03T07:18:57.4266134Z             {
2026-06-03T07:18:57.4266284Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4266407Z               "line": 124
2026-06-03T07:18:57.4266517Z             },
2026-06-03T07:18:57.4266625Z             {
2026-06-03T07:18:57.4266778Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4266893Z               "line": 134
2026-06-03T07:18:57.4267006Z             },
2026-06-03T07:18:57.4267112Z             {
2026-06-03T07:18:57.4267251Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4267372Z               "line": 142
2026-06-03T07:18:57.4267478Z             },
2026-06-03T07:18:57.4267589Z             {
2026-06-03T07:18:57.4267731Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T07:18:57.4267852Z               "line": 154
2026-06-03T07:18:57.4267961Z             }
2026-06-03T07:18:57.4268064Z           ]
2026-06-03T07:18:57.4268173Z         }
2026-06-03T07:18:57.4268275Z       }
2026-06-03T07:18:57.4268382Z     },
2026-06-03T07:18:57.4268485Z     {
2026-06-03T07:18:57.4268676Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-03T07:18:57.4269006Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-03T07:18:57.4269244Z       "requiredStages": [
2026-06-03T07:18:57.4269358Z         "impl",
2026-06-03T07:18:57.4269463Z         "unit"
2026-06-03T07:18:57.4269575Z       ],
2026-06-03T07:18:57.4269684Z       "stages": {
2026-06-03T07:18:57.4269800Z         "doc": {
2026-06-03T07:18:57.4269931Z           "complete": false,
2026-06-03T07:18:57.4270047Z           "evidence": []
2026-06-03T07:18:57.4270159Z         },
2026-06-03T07:18:57.4270267Z         "impl": {
2026-06-03T07:18:57.4270393Z           "complete": true,
2026-06-03T07:18:57.4270507Z           "evidence": [
2026-06-03T07:18:57.4270615Z             {
2026-06-03T07:18:57.4270779Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4270893Z               "line": 93
2026-06-03T07:18:57.4271005Z             }
2026-06-03T07:18:57.4271109Z           ]
2026-06-03T07:18:57.4271323Z         },
2026-06-03T07:18:57.4271432Z         "int": {
2026-06-03T07:18:57.4271569Z           "complete": false,
2026-06-03T07:18:57.4271687Z           "evidence": []
2026-06-03T07:18:57.4271797Z         },
2026-06-03T07:18:57.4271909Z         "unit": {
2026-06-03T07:18:57.4272031Z           "complete": true,
2026-06-03T07:18:57.4272153Z           "evidence": [
2026-06-03T07:18:57.4272255Z             {
2026-06-03T07:18:57.4272415Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4272534Z               "line": 190
2026-06-03T07:18:57.4272638Z             }
2026-06-03T07:18:57.4272749Z           ]
2026-06-03T07:18:57.4272852Z         }
2026-06-03T07:18:57.4272961Z       }
2026-06-03T07:18:57.4273064Z     },
2026-06-03T07:18:57.4273176Z     {
2026-06-03T07:18:57.4273341Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-03T07:18:57.4273553Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-03T07:18:57.4273682Z       "requiredStages": [
2026-06-03T07:18:57.4273790Z         "impl",
2026-06-03T07:18:57.4273910Z         "unit"
2026-06-03T07:18:57.4274014Z       ],
2026-06-03T07:18:57.4274133Z       "stages": {
2026-06-03T07:18:57.4274250Z         "doc": {
2026-06-03T07:18:57.4274375Z           "complete": false,
2026-06-03T07:18:57.4274495Z           "evidence": []
2026-06-03T07:18:57.4274603Z         },
2026-06-03T07:18:57.4274718Z         "impl": {
2026-06-03T07:18:57.4274841Z           "complete": true,
2026-06-03T07:18:57.4274964Z           "evidence": [
2026-06-03T07:18:57.4275073Z             {
2026-06-03T07:18:57.4275230Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4275351Z               "line": 98
2026-06-03T07:18:57.4275456Z             },
2026-06-03T07:18:57.4275566Z             {
2026-06-03T07:18:57.4275719Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4275842Z               "line": 109
2026-06-03T07:18:57.4275953Z             },
2026-06-03T07:18:57.4276055Z             {
2026-06-03T07:18:57.4276220Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4276336Z               "line": 127
2026-06-03T07:18:57.4276447Z             }
2026-06-03T07:18:57.4276557Z           ]
2026-06-03T07:18:57.4276668Z         },
2026-06-03T07:18:57.4276777Z         "int": {
2026-06-03T07:18:57.4276903Z           "complete": false,
2026-06-03T07:18:57.4277024Z           "evidence": []
2026-06-03T07:18:57.4277128Z         },
2026-06-03T07:18:57.4277243Z         "unit": {
2026-06-03T07:18:57.4277367Z           "complete": true,
2026-06-03T07:18:57.4277496Z           "evidence": [
2026-06-03T07:18:57.4277604Z             {
2026-06-03T07:18:57.4277753Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4277876Z               "line": 151
2026-06-03T07:18:57.4277981Z             },
2026-06-03T07:18:57.4278093Z             {
2026-06-03T07:18:57.4278243Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4278369Z               "line": 169
2026-06-03T07:18:57.4278479Z             },
2026-06-03T07:18:57.4278758Z             {
2026-06-03T07:18:57.4278917Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4279148Z               "line": 211
2026-06-03T07:18:57.4279260Z             },
2026-06-03T07:18:57.4279364Z             {
2026-06-03T07:18:57.4279522Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4279641Z               "line": 222
2026-06-03T07:18:57.4279744Z             },
2026-06-03T07:18:57.4279853Z             {
2026-06-03T07:18:57.4280001Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T07:18:57.4280120Z               "line": 235
2026-06-03T07:18:57.4280223Z             }
2026-06-03T07:18:57.4280335Z           ]
2026-06-03T07:18:57.4280441Z         }
2026-06-03T07:18:57.4280546Z       }
2026-06-03T07:18:57.4280651Z     },
2026-06-03T07:18:57.4280752Z     {
2026-06-03T07:18:57.4280902Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-03T07:18:57.4281487Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-03T07:18:57.4281658Z       "requiredStages": [
2026-06-03T07:18:57.4281770Z         "impl",
2026-06-03T07:18:57.4281881Z         "unit"
2026-06-03T07:18:57.4281990Z       ],
2026-06-03T07:18:57.4282101Z       "stages": {
2026-06-03T07:18:57.4282214Z         "doc": {
2026-06-03T07:18:57.4282338Z           "complete": false,
2026-06-03T07:18:57.4282461Z           "evidence": []
2026-06-03T07:18:57.4282571Z         },
2026-06-03T07:18:57.4282682Z         "impl": {
2026-06-03T07:18:57.4282810Z           "complete": true,
2026-06-03T07:18:57.4282926Z           "evidence": [
2026-06-03T07:18:57.4283034Z             {
2026-06-03T07:18:57.4283192Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4283314Z               "line": 14
2026-06-03T07:18:57.4283421Z             },
2026-06-03T07:18:57.4283525Z             {
2026-06-03T07:18:57.4283683Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T07:18:57.4283800Z               "line": 283
2026-06-03T07:18:57.4283908Z             }
2026-06-03T07:18:57.4284017Z           ]
2026-06-03T07:18:57.4284127Z         },
2026-06-03T07:18:57.4284245Z         "int": {
2026-06-03T07:18:57.4284368Z           "complete": false,
2026-06-03T07:18:57.4284489Z           "evidence": []
2026-06-03T07:18:57.4284593Z         },
2026-06-03T07:18:57.4284708Z         "unit": {
2026-06-03T07:18:57.4284828Z           "complete": true,
2026-06-03T07:18:57.4284950Z           "evidence": [
2026-06-03T07:18:57.4285061Z             {
2026-06-03T07:18:57.4285210Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4285329Z               "line": 130
2026-06-03T07:18:57.4285432Z             },
2026-06-03T07:18:57.4285541Z             {
2026-06-03T07:18:57.4285688Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4285810Z               "line": 138
2026-06-03T07:18:57.4285920Z             },
2026-06-03T07:18:57.4286022Z             {
2026-06-03T07:18:57.4286174Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4286294Z               "line": 146
2026-06-03T07:18:57.4286406Z             },
2026-06-03T07:18:57.4286522Z             {
2026-06-03T07:18:57.4286668Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4286789Z               "line": 154
2026-06-03T07:18:57.4286894Z             },
2026-06-03T07:18:57.4287004Z             {
2026-06-03T07:18:57.4287144Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4287265Z               "line": 162
2026-06-03T07:18:57.4287376Z             },
2026-06-03T07:18:57.4287482Z             {
2026-06-03T07:18:57.4287632Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T07:18:57.4287746Z               "line": 170
2026-06-03T07:18:57.4287854Z             }
2026-06-03T07:18:57.4287958Z           ]
2026-06-03T07:18:57.4288073Z         }
2026-06-03T07:18:57.4288180Z       }
2026-06-03T07:18:57.4288281Z     },
2026-06-03T07:18:57.4288387Z     {
2026-06-03T07:18:57.4288543Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-03T07:18:57.4288957Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-03T07:18:57.4289192Z       "requiredStages": [],
2026-06-03T07:18:57.4289307Z       "stages": {
2026-06-03T07:18:57.4289418Z         "doc": {
2026-06-03T07:18:57.4289540Z           "complete": false,
2026-06-03T07:18:57.4289662Z           "evidence": []
2026-06-03T07:18:57.4289767Z         },
2026-06-03T07:18:57.4289881Z         "impl": {
2026-06-03T07:18:57.4290007Z           "complete": false,
2026-06-03T07:18:57.4290129Z           "evidence": []
2026-06-03T07:18:57.4290238Z         },
2026-06-03T07:18:57.4290345Z         "int": {
2026-06-03T07:18:57.4290481Z           "complete": false,
2026-06-03T07:18:57.4290598Z           "evidence": []
2026-06-03T07:18:57.4290702Z         },
2026-06-03T07:18:57.4290808Z         "unit": {
2026-06-03T07:18:57.4290936Z           "complete": false,
2026-06-03T07:18:57.4291060Z           "evidence": []
2026-06-03T07:18:57.4291317Z         }
2026-06-03T07:18:57.4291433Z       }
2026-06-03T07:18:57.4291537Z     },
2026-06-03T07:18:57.4291643Z     {
2026-06-03T07:18:57.4291807Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-03T07:18:57.4292167Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-03T07:18:57.4292295Z       "requiredStages": [
2026-06-03T07:18:57.4292404Z         "impl",
2026-06-03T07:18:57.4292516Z         "unit"
2026-06-03T07:18:57.4292618Z       ],
2026-06-03T07:18:57.4292736Z       "stages": {
2026-06-03T07:18:57.4292842Z         "doc": {
2026-06-03T07:18:57.4292968Z           "complete": true,
2026-06-03T07:18:57.4293087Z           "evidence": [
2026-06-03T07:18:57.4293190Z             {
2026-06-03T07:18:57.4293342Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T07:18:57.4293458Z               "line": 137
2026-06-03T07:18:57.4293564Z             }
2026-06-03T07:18:57.4293666Z           ]
2026-06-03T07:18:57.4293775Z         },
2026-06-03T07:18:57.4293887Z         "impl": {
2026-06-03T07:18:57.4294013Z           "complete": true,
2026-06-03T07:18:57.4294134Z           "evidence": [
2026-06-03T07:18:57.4294242Z             {
2026-06-03T07:18:57.4294396Z               "path": "crates/spt-store/src/db.rs",
2026-06-03T07:18:57.4294511Z               "line": 29
2026-06-03T07:18:57.4294623Z             },
2026-06-03T07:18:57.4294732Z             {
2026-06-03T07:18:57.4294899Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4295018Z               "line": 24
2026-06-03T07:18:57.4295122Z             },
2026-06-03T07:18:57.4295232Z             {
2026-06-03T07:18:57.4295389Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T07:18:57.4295507Z               "line": 48
2026-06-03T07:18:57.4295615Z             }
2026-06-03T07:18:57.4295719Z           ]
2026-06-03T07:18:57.4295828Z         },
2026-06-03T07:18:57.4295934Z         "int": {
2026-06-03T07:18:57.4296062Z           "complete": false,
2026-06-03T07:18:57.4296178Z           "evidence": []
2026-06-03T07:18:57.4296296Z         },
2026-06-03T07:18:57.4296409Z         "unit": {
2026-06-03T07:18:57.4296535Z           "complete": true,
2026-06-03T07:18:57.4296655Z           "evidence": [
2026-06-03T07:18:57.4296758Z             {
2026-06-03T07:18:57.4296930Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4297044Z               "line": 146
2026-06-03T07:18:57.4297154Z             }
2026-06-03T07:18:57.4297265Z           ]
2026-06-03T07:18:57.4297367Z         }
2026-06-03T07:18:57.4297473Z       }
2026-06-03T07:18:57.4297574Z     },
2026-06-03T07:18:57.4297680Z     {
2026-06-03T07:18:57.4297841Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-03T07:18:57.4298106Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-03T07:18:57.4298233Z       "requiredStages": [
2026-06-03T07:18:57.4298340Z         "impl",
2026-06-03T07:18:57.4298447Z         "unit"
2026-06-03T07:18:57.4298549Z       ],
2026-06-03T07:18:57.4298805Z       "stages": {
2026-06-03T07:18:57.4298915Z         "doc": {
2026-06-03T07:18:57.4299042Z           "complete": false,
2026-06-03T07:18:57.4299268Z           "evidence": []
2026-06-03T07:18:57.4299369Z         },
2026-06-03T07:18:57.4299478Z         "impl": {
2026-06-03T07:18:57.4299599Z           "complete": true,
2026-06-03T07:18:57.4299720Z           "evidence": [
2026-06-03T07:18:57.4299821Z             {
2026-06-03T07:18:57.4299981Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T07:18:57.4300096Z               "line": 8
2026-06-03T07:18:57.4300204Z             },
2026-06-03T07:18:57.4300312Z             {
2026-06-03T07:18:57.4300476Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4300595Z               "line": 49
2026-06-03T07:18:57.4300700Z             },
2026-06-03T07:18:57.4300808Z             {
2026-06-03T07:18:57.4300976Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4301088Z               "line": 56
2026-06-03T07:18:57.4301319Z             },
2026-06-03T07:18:57.4301425Z             {
2026-06-03T07:18:57.4301592Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4301720Z               "line": 101
2026-06-03T07:18:57.4301826Z             },
2026-06-03T07:18:57.4301934Z             {
2026-06-03T07:18:57.4302092Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4302215Z               "line": 122
2026-06-03T07:18:57.4302318Z             }
2026-06-03T07:18:57.4302426Z           ]
2026-06-03T07:18:57.4302536Z         },
2026-06-03T07:18:57.4302644Z         "int": {
2026-06-03T07:18:57.4302774Z           "complete": false,
2026-06-03T07:18:57.4302893Z           "evidence": []
2026-06-03T07:18:57.4303002Z         },
2026-06-03T07:18:57.4303109Z         "unit": {
2026-06-03T07:18:57.4303235Z           "complete": true,
2026-06-03T07:18:57.4303361Z           "evidence": [
2026-06-03T07:18:57.4303482Z             {
2026-06-03T07:18:57.4303651Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T07:18:57.4303770Z               "line": 103
2026-06-03T07:18:57.4303882Z             },
2026-06-03T07:18:57.4303990Z             {
2026-06-03T07:18:57.4304149Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T07:18:57.4304269Z               "line": 109
2026-06-03T07:18:57.4304374Z             },
2026-06-03T07:18:57.4304481Z             {
2026-06-03T07:18:57.4304675Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4304794Z               "line": 177
2026-06-03T07:18:57.4304898Z             },
2026-06-03T07:18:57.4305005Z             {
2026-06-03T07:18:57.4305168Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4305285Z               "line": 187
2026-06-03T07:18:57.4305396Z             },
2026-06-03T07:18:57.4305499Z             {
2026-06-03T07:18:57.4305666Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4305783Z               "line": 231
2026-06-03T07:18:57.4305895Z             },
2026-06-03T07:18:57.4306012Z             {
2026-06-03T07:18:57.4306170Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4306295Z               "line": 243
2026-06-03T07:18:57.4306400Z             },
2026-06-03T07:18:57.4306507Z             {
2026-06-03T07:18:57.4306664Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4306786Z               "line": 251
2026-06-03T07:18:57.4306893Z             }
2026-06-03T07:18:57.4306999Z           ]
2026-06-03T07:18:57.4307108Z         }
2026-06-03T07:18:57.4307212Z       }
2026-06-03T07:18:57.4307318Z     },
2026-06-03T07:18:57.4307417Z     {
2026-06-03T07:18:57.4307577Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-03T07:18:57.4307955Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-03T07:18:57.4308083Z       "requiredStages": [
2026-06-03T07:18:57.4308198Z         "impl",
2026-06-03T07:18:57.4308305Z         "unit"
2026-06-03T07:18:57.4308547Z       ],
2026-06-03T07:18:57.4308658Z       "stages": {
2026-06-03T07:18:57.4308771Z         "doc": {
2026-06-03T07:18:57.4309026Z           "complete": false,
2026-06-03T07:18:57.4309142Z           "evidence": []
2026-06-03T07:18:57.4309250Z         },
2026-06-03T07:18:57.4309358Z         "impl": {
2026-06-03T07:18:57.4309486Z           "complete": true,
2026-06-03T07:18:57.4309601Z           "evidence": [
2026-06-03T07:18:57.4309709Z             {
2026-06-03T07:18:57.4309874Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T07:18:57.4309987Z               "line": 188
2026-06-03T07:18:57.4310098Z             },
2026-06-03T07:18:57.4310200Z             {
2026-06-03T07:18:57.4310367Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T07:18:57.4310481Z               "line": 360
2026-06-03T07:18:57.4310593Z             },
2026-06-03T07:18:57.4310699Z             {
2026-06-03T07:18:57.4310855Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T07:18:57.4310982Z               "line": 46
2026-06-03T07:18:57.4311086Z             },
2026-06-03T07:18:57.4311298Z             {
2026-06-03T07:18:57.4311457Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T07:18:57.4311581Z               "line": 141
2026-06-03T07:18:57.4311688Z             }
2026-06-03T07:18:57.4311790Z           ]
2026-06-03T07:18:57.4311896Z         },
2026-06-03T07:18:57.4312003Z         "int": {
2026-06-03T07:18:57.4312130Z           "complete": true,
2026-06-03T07:18:57.4312244Z           "evidence": [
2026-06-03T07:18:57.4312352Z             {
2026-06-03T07:18:57.4312541Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-03T07:18:57.4312655Z               "line": 27
2026-06-03T07:18:57.4312763Z             }
2026-06-03T07:18:57.4312866Z           ]
2026-06-03T07:18:57.4312978Z         },
2026-06-03T07:18:57.4313086Z         "unit": {
2026-06-03T07:18:57.4313213Z           "complete": true,
2026-06-03T07:18:57.4313332Z           "evidence": [
2026-06-03T07:18:57.4313445Z             {
2026-06-03T07:18:57.4313612Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T07:18:57.4313732Z               "line": 245
2026-06-03T07:18:57.4313839Z             },
2026-06-03T07:18:57.4313941Z             {
2026-06-03T07:18:57.4314101Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T07:18:57.4314221Z               "line": 263
2026-06-03T07:18:57.4314323Z             },
2026-06-03T07:18:57.4314431Z             {
2026-06-03T07:18:57.4314585Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T07:18:57.4314706Z               "line": 281
2026-06-03T07:18:57.4314810Z             }
2026-06-03T07:18:57.4314917Z           ]
2026-06-03T07:18:57.4315033Z         }
2026-06-03T07:18:57.4315141Z       }
2026-06-03T07:18:57.4315248Z     },
2026-06-03T07:18:57.4315353Z     {
2026-06-03T07:18:57.4315522Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-03T07:18:57.4315801Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-03T07:18:57.4315934Z       "requiredStages": [
2026-06-03T07:18:57.4316052Z         "impl",
2026-06-03T07:18:57.4316171Z         "unit"
2026-06-03T07:18:57.4316283Z       ],
2026-06-03T07:18:57.4316395Z       "stages": {
2026-06-03T07:18:57.4316511Z         "doc": {
2026-06-03T07:18:57.4316648Z           "complete": false,
2026-06-03T07:18:57.4316773Z           "evidence": []
2026-06-03T07:18:57.4316882Z         },
2026-06-03T07:18:57.4316994Z         "impl": {
2026-06-03T07:18:57.4317124Z           "complete": true,
2026-06-03T07:18:57.4317242Z           "evidence": [
2026-06-03T07:18:57.4317356Z             {
2026-06-03T07:18:57.4317522Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4317641Z               "line": 33
2026-06-03T07:18:57.4317754Z             },
2026-06-03T07:18:57.4317862Z             {
2026-06-03T07:18:57.4318024Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4318140Z               "line": 61
2026-06-03T07:18:57.4318390Z             },
2026-06-03T07:18:57.4318504Z             {
2026-06-03T07:18:57.4318658Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4318894Z               "line": 128
2026-06-03T07:18:57.4319003Z             },
2026-06-03T07:18:57.4319116Z             {
2026-06-03T07:18:57.4319273Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4319400Z               "line": 140
2026-06-03T07:18:57.4319511Z             }
2026-06-03T07:18:57.4319616Z           ]
2026-06-03T07:18:57.4319725Z         },
2026-06-03T07:18:57.4319836Z         "int": {
2026-06-03T07:18:57.4319966Z           "complete": false,
2026-06-03T07:18:57.4320085Z           "evidence": []
2026-06-03T07:18:57.4320196Z         },
2026-06-03T07:18:57.4320312Z         "unit": {
2026-06-03T07:18:57.4320435Z           "complete": true,
2026-06-03T07:18:57.4320557Z           "evidence": [
2026-06-03T07:18:57.4320664Z             {
2026-06-03T07:18:57.4320831Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4320949Z               "line": 270
2026-06-03T07:18:57.4321059Z             },
2026-06-03T07:18:57.4321373Z             {
2026-06-03T07:18:57.4321587Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4321708Z               "line": 296
2026-06-03T07:18:57.4321814Z             },
2026-06-03T07:18:57.4321925Z             {
2026-06-03T07:18:57.4322076Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4322203Z               "line": 309
2026-06-03T07:18:57.4322313Z             },
2026-06-03T07:18:57.4322419Z             {
2026-06-03T07:18:57.4322576Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4322693Z               "line": 322
2026-06-03T07:18:57.4322804Z             }
2026-06-03T07:18:57.4322911Z           ]
2026-06-03T07:18:57.4323020Z         }
2026-06-03T07:18:57.4323128Z       }
2026-06-03T07:18:57.4323233Z     },
2026-06-03T07:18:57.4323341Z     {
2026-06-03T07:18:57.4323495Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-03T07:18:57.4323765Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-03T07:18:57.4323898Z       "requiredStages": [
2026-06-03T07:18:57.4324015Z         "impl",
2026-06-03T07:18:57.4324124Z         "unit"
2026-06-03T07:18:57.4324231Z       ],
2026-06-03T07:18:57.4324377Z       "stages": {
2026-06-03T07:18:57.4324488Z         "doc": {
2026-06-03T07:18:57.4324621Z           "complete": false,
2026-06-03T07:18:57.4324741Z           "evidence": []
2026-06-03T07:18:57.4324853Z         },
2026-06-03T07:18:57.4324971Z         "impl": {
2026-06-03T07:18:57.4325095Z           "complete": true,
2026-06-03T07:18:57.4325216Z           "evidence": [
2026-06-03T07:18:57.4325322Z             {
2026-06-03T07:18:57.4325479Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4325598Z               "line": 107
2026-06-03T07:18:57.4325711Z             },
2026-06-03T07:18:57.4325821Z             {
2026-06-03T07:18:57.4325994Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4326117Z               "line": 59
2026-06-03T07:18:57.4326227Z             }
2026-06-03T07:18:57.4326337Z           ]
2026-06-03T07:18:57.4326444Z         },
2026-06-03T07:18:57.4326559Z         "int": {
2026-06-03T07:18:57.4326685Z           "complete": false,
2026-06-03T07:18:57.4326806Z           "evidence": []
2026-06-03T07:18:57.4326917Z         },
2026-06-03T07:18:57.4327030Z         "unit": {
2026-06-03T07:18:57.4327159Z           "complete": true,
2026-06-03T07:18:57.4327277Z           "evidence": [
2026-06-03T07:18:57.4327390Z             {
2026-06-03T07:18:57.4327545Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4327661Z               "line": 225
2026-06-03T07:18:57.4327771Z             },
2026-06-03T07:18:57.4327877Z             {
2026-06-03T07:18:57.4328046Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4328163Z               "line": 247
2026-06-03T07:18:57.4328415Z             },
2026-06-03T07:18:57.4328529Z             {
2026-06-03T07:18:57.4328692Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4328925Z               "line": 257
2026-06-03T07:18:57.4329035Z             }
2026-06-03T07:18:57.4329141Z           ]
2026-06-03T07:18:57.4329247Z         }
2026-06-03T07:18:57.4329357Z       }
2026-06-03T07:18:57.4329464Z     },
2026-06-03T07:18:57.4329568Z     {
2026-06-03T07:18:57.4329725Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-03T07:18:57.4329914Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-03T07:18:57.4330048Z       "requiredStages": [],
2026-06-03T07:18:57.4330160Z       "stages": {
2026-06-03T07:18:57.4330275Z         "doc": {
2026-06-03T07:18:57.4330404Z           "complete": false,
2026-06-03T07:18:57.4330525Z           "evidence": []
2026-06-03T07:18:57.4330632Z         },
2026-06-03T07:18:57.4330741Z         "impl": {
2026-06-03T07:18:57.4330871Z           "complete": false,
2026-06-03T07:18:57.4330997Z           "evidence": []
2026-06-03T07:18:57.4331108Z         },
2026-06-03T07:18:57.4331342Z         "int": {
2026-06-03T07:18:57.4331477Z           "complete": false,
2026-06-03T07:18:57.4331598Z           "evidence": []
2026-06-03T07:18:57.4331703Z         },
2026-06-03T07:18:57.4331818Z         "unit": {
2026-06-03T07:18:57.4331943Z           "complete": false,
2026-06-03T07:18:57.4332068Z           "evidence": []
2026-06-03T07:18:57.4332177Z         }
2026-06-03T07:18:57.4332280Z       }
2026-06-03T07:18:57.4332394Z     },
2026-06-03T07:18:57.4332497Z     {
2026-06-03T07:18:57.4332670Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-03T07:18:57.4332901Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-03T07:18:57.4333032Z       "requiredStages": [
2026-06-03T07:18:57.4333149Z         "impl",
2026-06-03T07:18:57.4333258Z         "unit"
2026-06-03T07:18:57.4333370Z       ],
2026-06-03T07:18:57.4333484Z       "stages": {
2026-06-03T07:18:57.4333598Z         "doc": {
2026-06-03T07:18:57.4333730Z           "complete": false,
2026-06-03T07:18:57.4333857Z           "evidence": []
2026-06-03T07:18:57.4333971Z         },
2026-06-03T07:18:57.4334080Z         "impl": {
2026-06-03T07:18:57.4334209Z           "complete": true,
2026-06-03T07:18:57.4334328Z           "evidence": [
2026-06-03T07:18:57.4334441Z             {
2026-06-03T07:18:57.4334605Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4334727Z               "line": 28
2026-06-03T07:18:57.4334837Z             }
2026-06-03T07:18:57.4334943Z           ]
2026-06-03T07:18:57.4335053Z         },
2026-06-03T07:18:57.4335161Z         "int": {
2026-06-03T07:18:57.4335290Z           "complete": false,
2026-06-03T07:18:57.4335408Z           "evidence": []
2026-06-03T07:18:57.4335533Z         },
2026-06-03T07:18:57.4335654Z         "unit": {
2026-06-03T07:18:57.4335776Z           "complete": true,
2026-06-03T07:18:57.4335897Z           "evidence": [
2026-06-03T07:18:57.4336002Z             {
2026-06-03T07:18:57.4336166Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T07:18:57.4336289Z               "line": 199
2026-06-03T07:18:57.4336398Z             }
2026-06-03T07:18:57.4336506Z           ]
2026-06-03T07:18:57.4336613Z         }
2026-06-03T07:18:57.4336722Z       }
2026-06-03T07:18:57.4336824Z     },
2026-06-03T07:18:57.4336936Z     {
2026-06-03T07:18:57.4337083Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-03T07:18:57.4337272Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-03T07:18:57.4337400Z       "requiredStages": [],
2026-06-03T07:18:57.4337513Z       "stages": {
2026-06-03T07:18:57.4337631Z         "doc": {
2026-06-03T07:18:57.4337756Z           "complete": false,
2026-06-03T07:18:57.4337880Z           "evidence": []
2026-06-03T07:18:57.4337983Z         },
2026-06-03T07:18:57.4338099Z         "impl": {
2026-06-03T07:18:57.4338227Z           "complete": false,
2026-06-03T07:18:57.4338346Z           "evidence": []
2026-06-03T07:18:57.4338458Z         },
2026-06-03T07:18:57.4338713Z         "int": {
2026-06-03T07:18:57.4338845Z           "complete": false,
2026-06-03T07:18:57.4339071Z           "evidence": []
2026-06-03T07:18:57.4339184Z         },
2026-06-03T07:18:57.4339300Z         "unit": {
2026-06-03T07:18:57.4339426Z           "complete": false,
2026-06-03T07:18:57.4339547Z           "evidence": []
2026-06-03T07:18:57.4339651Z         }
2026-06-03T07:18:57.4339759Z       }
2026-06-03T07:18:57.4339864Z     },
2026-06-03T07:18:57.4339971Z     {
2026-06-03T07:18:57.4340131Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-03T07:18:57.4340339Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-03T07:18:57.4340468Z       "requiredStages": [
2026-06-03T07:18:57.4340575Z         "impl",
2026-06-03T07:18:57.4340687Z         "unit"
2026-06-03T07:18:57.4340790Z       ],
2026-06-03T07:18:57.4340908Z       "stages": {
2026-06-03T07:18:57.4341021Z         "doc": {
2026-06-03T07:18:57.4341250Z           "complete": false,
2026-06-03T07:18:57.4341378Z           "evidence": []
2026-06-03T07:18:57.4341483Z         },
2026-06-03T07:18:57.4341609Z         "impl": {
2026-06-03T07:18:57.4341734Z           "complete": true,
2026-06-03T07:18:57.4341857Z           "evidence": [
2026-06-03T07:18:57.4341967Z             {
2026-06-03T07:18:57.4342142Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4342267Z               "line": 325
2026-06-03T07:18:57.4342375Z             },
2026-06-03T07:18:57.4342485Z             {
2026-06-03T07:18:57.4342653Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4342779Z               "line": 361
2026-06-03T07:18:57.4342889Z             }
2026-06-03T07:18:57.4342995Z           ]
2026-06-03T07:18:57.4343104Z         },
2026-06-03T07:18:57.4343214Z         "int": {
2026-06-03T07:18:57.4343343Z           "complete": false,
2026-06-03T07:18:57.4343462Z           "evidence": []
2026-06-03T07:18:57.4343572Z         },
2026-06-03T07:18:57.4343687Z         "unit": {
2026-06-03T07:18:57.4343823Z           "complete": true,
2026-06-03T07:18:57.4343946Z           "evidence": [
2026-06-03T07:18:57.4344058Z             {
2026-06-03T07:18:57.4344228Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4344345Z               "line": 453
2026-06-03T07:18:57.4344457Z             }
2026-06-03T07:18:57.4344570Z           ]
2026-06-03T07:18:57.4344677Z         }
2026-06-03T07:18:57.4344785Z       }
2026-06-03T07:18:57.4344889Z     },
2026-06-03T07:18:57.4344996Z     {
2026-06-03T07:18:57.4345155Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-03T07:18:57.4345369Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-03T07:18:57.4345499Z       "requiredStages": [
2026-06-03T07:18:57.4345610Z         "impl",
2026-06-03T07:18:57.4345726Z         "unit"
2026-06-03T07:18:57.4345830Z       ],
2026-06-03T07:18:57.4345948Z       "stages": {
2026-06-03T07:18:57.4346056Z         "doc": {
2026-06-03T07:18:57.4346184Z           "complete": false,
2026-06-03T07:18:57.4346315Z           "evidence": []
2026-06-03T07:18:57.4346423Z         },
2026-06-03T07:18:57.4346544Z         "impl": {
2026-06-03T07:18:57.4346667Z           "complete": true,
2026-06-03T07:18:57.4346789Z           "evidence": [
2026-06-03T07:18:57.4346895Z             {
2026-06-03T07:18:57.4347062Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4347182Z               "line": 35
2026-06-03T07:18:57.4347288Z             }
2026-06-03T07:18:57.4347398Z           ]
2026-06-03T07:18:57.4347503Z         },
2026-06-03T07:18:57.4347617Z         "int": {
2026-06-03T07:18:57.4347742Z           "complete": false,
2026-06-03T07:18:57.4347862Z           "evidence": []
2026-06-03T07:18:57.4347972Z         },
2026-06-03T07:18:57.4348082Z         "unit": {
2026-06-03T07:18:57.4348208Z           "complete": true,
2026-06-03T07:18:57.4348322Z           "evidence": [
2026-06-03T07:18:57.4348431Z             {
2026-06-03T07:18:57.4348748Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T07:18:57.4348876Z               "line": 217
2026-06-03T07:18:57.4348986Z             }
2026-06-03T07:18:57.4349235Z           ]
2026-06-03T07:18:57.4349346Z         }
2026-06-03T07:18:57.4349451Z       }
2026-06-03T07:18:57.4349559Z     },
2026-06-03T07:18:57.4349663Z     {
2026-06-03T07:18:57.4349816Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-03T07:18:57.4350315Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-03T07:18:57.4350492Z       "requiredStages": [],
2026-06-03T07:18:57.4350645Z       "stages": {
2026-06-03T07:18:57.4350754Z         "doc": {
2026-06-03T07:18:57.4350884Z           "complete": false,
2026-06-03T07:18:57.4351002Z           "evidence": []
2026-06-03T07:18:57.4351113Z         },
2026-06-03T07:18:57.4351331Z         "impl": {
2026-06-03T07:18:57.4351454Z           "complete": false,
2026-06-03T07:18:57.4351576Z           "evidence": []
2026-06-03T07:18:57.4351682Z         },
2026-06-03T07:18:57.4351805Z         "int": {
2026-06-03T07:18:57.4351930Z           "complete": false,
2026-06-03T07:18:57.4352057Z           "evidence": []
2026-06-03T07:18:57.4352169Z         },
2026-06-03T07:18:57.4352281Z         "unit": {
2026-06-03T07:18:57.4352409Z           "complete": false,
2026-06-03T07:18:57.4352526Z           "evidence": []
2026-06-03T07:18:57.4352634Z         }
2026-06-03T07:18:57.4352737Z       }
2026-06-03T07:18:57.4352842Z     },
2026-06-03T07:18:57.4352943Z     {
2026-06-03T07:18:57.4353109Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-03T07:18:57.4353333Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-03T07:18:57.4353461Z       "requiredStages": [
2026-06-03T07:18:57.4353576Z         "impl",
2026-06-03T07:18:57.4353684Z         "unit"
2026-06-03T07:18:57.4353798Z       ],
2026-06-03T07:18:57.4353912Z       "stages": {
2026-06-03T07:18:57.4354021Z         "doc": {
2026-06-03T07:18:57.4354150Z           "complete": false,
2026-06-03T07:18:57.4354279Z           "evidence": []
2026-06-03T07:18:57.4354389Z         },
2026-06-03T07:18:57.4354500Z         "impl": {
2026-06-03T07:18:57.4354634Z           "complete": true,
2026-06-03T07:18:57.4354760Z           "evidence": [
2026-06-03T07:18:57.4354870Z             {
2026-06-03T07:18:57.4355036Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4355154Z               "line": 92
2026-06-03T07:18:57.4355265Z             },
2026-06-03T07:18:57.4355371Z             {
2026-06-03T07:18:57.4355535Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4355656Z               "line": 82
2026-06-03T07:18:57.4355763Z             }
2026-06-03T07:18:57.4355872Z           ]
2026-06-03T07:18:57.4355978Z         },
2026-06-03T07:18:57.4356092Z         "int": {
2026-06-03T07:18:57.4356216Z           "complete": false,
2026-06-03T07:18:57.4356342Z           "evidence": []
2026-06-03T07:18:57.4356453Z         },
2026-06-03T07:18:57.4356563Z         "unit": {
2026-06-03T07:18:57.4356696Z           "complete": true,
2026-06-03T07:18:57.4356813Z           "evidence": [
2026-06-03T07:18:57.4356930Z             {
2026-06-03T07:18:57.4357087Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4357212Z               "line": 235
2026-06-03T07:18:57.4357323Z             },
2026-06-03T07:18:57.4357430Z             {
2026-06-03T07:18:57.4357590Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T07:18:57.4357706Z               "line": 120
2026-06-03T07:18:57.4357819Z             },
2026-06-03T07:18:57.4357923Z             {
2026-06-03T07:18:57.4358084Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4358205Z               "line": 328
2026-06-03T07:18:57.4358311Z             },
2026-06-03T07:18:57.4358419Z             {
2026-06-03T07:18:57.4358573Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4358691Z               "line": 354
2026-06-03T07:18:57.4358796Z             }
2026-06-03T07:18:57.4358908Z           ]
2026-06-03T07:18:57.4359159Z         }
2026-06-03T07:18:57.4359265Z       }
2026-06-03T07:18:57.4359482Z     },
2026-06-03T07:18:57.4359584Z     {
2026-06-03T07:18:57.4359732Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-03T07:18:57.4359988Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-03T07:18:57.4360116Z       "requiredStages": [
2026-06-03T07:18:57.4360234Z         "impl",
2026-06-03T07:18:57.4360344Z         "unit"
2026-06-03T07:18:57.4360454Z       ],
2026-06-03T07:18:57.4360566Z       "stages": {
2026-06-03T07:18:57.4360679Z         "doc": {
2026-06-03T07:18:57.4360804Z           "complete": false,
2026-06-03T07:18:57.4360929Z           "evidence": []
2026-06-03T07:18:57.4361043Z         },
2026-06-03T07:18:57.4361355Z         "impl": {
2026-06-03T07:18:57.4361543Z           "complete": true,
2026-06-03T07:18:57.4361663Z           "evidence": [
2026-06-03T07:18:57.4361774Z             {
2026-06-03T07:18:57.4361942Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4362065Z               "line": 84
2026-06-03T07:18:57.4362174Z             },
2026-06-03T07:18:57.4362284Z             {
2026-06-03T07:18:57.4362442Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4362562Z               "line": 129
2026-06-03T07:18:57.4362672Z             },
2026-06-03T07:18:57.4362777Z             {
2026-06-03T07:18:57.4362937Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4363059Z               "line": 141
2026-06-03T07:18:57.4363164Z             }
2026-06-03T07:18:57.4363274Z           ]
2026-06-03T07:18:57.4363380Z         },
2026-06-03T07:18:57.4363494Z         "int": {
2026-06-03T07:18:57.4363619Z           "complete": false,
2026-06-03T07:18:57.4363743Z           "evidence": []
2026-06-03T07:18:57.4363851Z         },
2026-06-03T07:18:57.4363964Z         "unit": {
2026-06-03T07:18:57.4364091Z           "complete": true,
2026-06-03T07:18:57.4364209Z           "evidence": [
2026-06-03T07:18:57.4364326Z             {
2026-06-03T07:18:57.4364477Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4364606Z               "line": 250
2026-06-03T07:18:57.4364714Z             },
2026-06-03T07:18:57.4364819Z             {
2026-06-03T07:18:57.4364977Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T07:18:57.4365098Z               "line": 279
2026-06-03T07:18:57.4365215Z             }
2026-06-03T07:18:57.4365320Z           ]
2026-06-03T07:18:57.4365432Z         }
2026-06-03T07:18:57.4365543Z       }
2026-06-03T07:18:57.4365648Z     },
2026-06-03T07:18:57.4365754Z     {
2026-06-03T07:18:57.4365881Z       "id": "REQ-INFRA-1",
2026-06-03T07:18:57.4366126Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-03T07:18:57.4366254Z       "requiredStages": [],
2026-06-03T07:18:57.4366367Z       "stages": {
2026-06-03T07:18:57.4366478Z         "doc": {
2026-06-03T07:18:57.4366603Z           "complete": false,
2026-06-03T07:18:57.4366732Z           "evidence": []
2026-06-03T07:18:57.4366839Z         },
2026-06-03T07:18:57.4366952Z         "impl": {
2026-06-03T07:18:57.4367081Z           "complete": false,
2026-06-03T07:18:57.4367206Z           "evidence": []
2026-06-03T07:18:57.4367316Z         },
2026-06-03T07:18:57.4367427Z         "int": {
2026-06-03T07:18:57.4367552Z           "complete": false,
2026-06-03T07:18:57.4367671Z           "evidence": []
2026-06-03T07:18:57.4367782Z         },
2026-06-03T07:18:57.4367890Z         "unit": {
2026-06-03T07:18:57.4368017Z           "complete": false,
2026-06-03T07:18:57.4368137Z           "evidence": []
2026-06-03T07:18:57.4368243Z         }
2026-06-03T07:18:57.4368351Z       }
2026-06-03T07:18:57.4368454Z     },
2026-06-03T07:18:57.4368558Z     {
2026-06-03T07:18:57.4368683Z       "id": "REQ-INST-1",
2026-06-03T07:18:57.4368910Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-03T07:18:57.4369041Z       "requiredStages": [],
2026-06-03T07:18:57.4369154Z       "stages": {
2026-06-03T07:18:57.4369410Z         "doc": {
2026-06-03T07:18:57.4369541Z           "complete": false,
2026-06-03T07:18:57.4369771Z           "evidence": []
2026-06-03T07:18:57.4369879Z         },
2026-06-03T07:18:57.4369997Z         "impl": {
2026-06-03T07:18:57.4370131Z           "complete": false,
2026-06-03T07:18:57.4370249Z           "evidence": []
2026-06-03T07:18:57.4370360Z         },
2026-06-03T07:18:57.4370471Z         "int": {
2026-06-03T07:18:57.4370600Z           "complete": false,
2026-06-03T07:18:57.4370718Z           "evidence": []
2026-06-03T07:18:57.4370827Z         },
2026-06-03T07:18:57.4370943Z         "unit": {
2026-06-03T07:18:57.4371067Z           "complete": false,
2026-06-03T07:18:57.4371351Z           "evidence": []
2026-06-03T07:18:57.4371458Z         }
2026-06-03T07:18:57.4371567Z       }
2026-06-03T07:18:57.4371669Z     },
2026-06-03T07:18:57.4371780Z     {
2026-06-03T07:18:57.4371916Z       "id": "REQ-INST-10",
2026-06-03T07:18:57.4372216Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-03T07:18:57.4372348Z       "requiredStages": [],
2026-06-03T07:18:57.4372464Z       "stages": {
2026-06-03T07:18:57.4372577Z         "doc": {
2026-06-03T07:18:57.4372700Z           "complete": false,
2026-06-03T07:18:57.4372825Z           "evidence": []
2026-06-03T07:18:57.4372936Z         },
2026-06-03T07:18:57.4373045Z         "impl": {
2026-06-03T07:18:57.4373177Z           "complete": false,
2026-06-03T07:18:57.4373295Z           "evidence": []
2026-06-03T07:18:57.4373408Z         },
2026-06-03T07:18:57.4373520Z         "int": {
2026-06-03T07:18:57.4373647Z           "complete": false,
2026-06-03T07:18:57.4373768Z           "evidence": []
2026-06-03T07:18:57.4373874Z         },
2026-06-03T07:18:57.4373987Z         "unit": {
2026-06-03T07:18:57.4374109Z           "complete": false,
2026-06-03T07:18:57.4374234Z           "evidence": []
2026-06-03T07:18:57.4374339Z         }
2026-06-03T07:18:57.4374448Z       }
2026-06-03T07:18:57.4374554Z     },
2026-06-03T07:18:57.4374667Z     {
2026-06-03T07:18:57.4374794Z       "id": "REQ-INST-11",
2026-06-03T07:18:57.4375104Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-03T07:18:57.4375233Z       "requiredStages": [],
2026-06-03T07:18:57.4375343Z       "stages": {
2026-06-03T07:18:57.4375457Z         "doc": {
2026-06-03T07:18:57.4375588Z           "complete": false,
2026-06-03T07:18:57.4375705Z           "evidence": []
2026-06-03T07:18:57.4375815Z         },
2026-06-03T07:18:57.4375926Z         "impl": {
2026-06-03T07:18:57.4376055Z           "complete": false,
2026-06-03T07:18:57.4376172Z           "evidence": []
2026-06-03T07:18:57.4376284Z         },
2026-06-03T07:18:57.4376397Z         "int": {
2026-06-03T07:18:57.4376520Z           "complete": false,
2026-06-03T07:18:57.4376640Z           "evidence": []
2026-06-03T07:18:57.4376747Z         },
2026-06-03T07:18:57.4376859Z         "unit": {
2026-06-03T07:18:57.4376980Z           "complete": false,
2026-06-03T07:18:57.4377108Z           "evidence": []
2026-06-03T07:18:57.4377219Z         }
2026-06-03T07:18:57.4377330Z       }
2026-06-03T07:18:57.4377436Z     },
2026-06-03T07:18:57.4377538Z     {
2026-06-03T07:18:57.4377668Z       "id": "REQ-INST-12",
2026-06-03T07:18:57.4378062Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-03T07:18:57.4378196Z       "requiredStages": [],
2026-06-03T07:18:57.4378313Z       "stages": {
2026-06-03T07:18:57.4378423Z         "doc": {
2026-06-03T07:18:57.4378552Z           "complete": false,
2026-06-03T07:18:57.4378670Z           "evidence": []
2026-06-03T07:18:57.4378784Z         },
2026-06-03T07:18:57.4378894Z         "impl": {
2026-06-03T07:18:57.4379024Z           "complete": false,
2026-06-03T07:18:57.4379147Z           "evidence": []
2026-06-03T07:18:57.4379254Z         },
2026-06-03T07:18:57.4379368Z         "int": {
2026-06-03T07:18:57.4379492Z           "complete": false,
2026-06-03T07:18:57.4379749Z           "evidence": []
2026-06-03T07:18:57.4379854Z         },
2026-06-03T07:18:57.4379968Z         "unit": {
2026-06-03T07:18:57.4380207Z           "complete": false,
2026-06-03T07:18:57.4380326Z           "evidence": []
2026-06-03T07:18:57.4380434Z         }
2026-06-03T07:18:57.4380541Z       }
2026-06-03T07:18:57.4380647Z     },
2026-06-03T07:18:57.4380750Z     {
2026-06-03T07:18:57.4380882Z       "id": "REQ-INST-13",
2026-06-03T07:18:57.4381253Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-03T07:18:57.4381382Z       "requiredStages": [],
2026-06-03T07:18:57.4381496Z       "stages": {
2026-06-03T07:18:57.4381604Z         "doc": {
2026-06-03T07:18:57.4381734Z           "complete": false,
2026-06-03T07:18:57.4381849Z           "evidence": []
2026-06-03T07:18:57.4381960Z         },
2026-06-03T07:18:57.4382075Z         "impl": {
2026-06-03T07:18:57.4382200Z           "complete": false,
2026-06-03T07:18:57.4382324Z           "evidence": []
2026-06-03T07:18:57.4382438Z         },
2026-06-03T07:18:57.4382552Z         "int": {
2026-06-03T07:18:57.4382677Z           "complete": false,
2026-06-03T07:18:57.4382804Z           "evidence": []
2026-06-03T07:18:57.4382915Z         },
2026-06-03T07:18:57.4383025Z         "unit": {
2026-06-03T07:18:57.4383157Z           "complete": false,
2026-06-03T07:18:57.4383274Z           "evidence": []
2026-06-03T07:18:57.4383385Z         }
2026-06-03T07:18:57.4383491Z       }
2026-06-03T07:18:57.4383601Z     },
2026-06-03T07:18:57.4383702Z     {
2026-06-03T07:18:57.4383834Z       "id": "REQ-INST-14",
2026-06-03T07:18:57.4384341Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-03T07:18:57.4384468Z       "requiredStages": [],
2026-06-03T07:18:57.4384583Z       "stages": {
2026-06-03T07:18:57.4384694Z         "doc": {
2026-06-03T07:18:57.4384819Z           "complete": false,
2026-06-03T07:18:57.4384936Z           "evidence": []
2026-06-03T07:18:57.4385046Z         },
2026-06-03T07:18:57.4385162Z         "impl": {
2026-06-03T07:18:57.4385292Z           "complete": false,
2026-06-03T07:18:57.4385414Z           "evidence": []
2026-06-03T07:18:57.4385518Z         },
2026-06-03T07:18:57.4385636Z         "int": {
2026-06-03T07:18:57.4385765Z           "complete": false,
2026-06-03T07:18:57.4385885Z           "evidence": []
2026-06-03T07:18:57.4385994Z         },
2026-06-03T07:18:57.4386104Z         "unit": {
2026-06-03T07:18:57.4386233Z           "complete": false,
2026-06-03T07:18:57.4386352Z           "evidence": []
2026-06-03T07:18:57.4386462Z         }
2026-06-03T07:18:57.4386571Z       }
2026-06-03T07:18:57.4386675Z     },
2026-06-03T07:18:57.4386782Z     {
2026-06-03T07:18:57.4386905Z       "id": "REQ-INST-15",
2026-06-03T07:18:57.4387861Z       "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-03T07:18:57.4387995Z       "requiredStages": [],
2026-06-03T07:18:57.4388112Z       "stages": {
2026-06-03T07:18:57.4388225Z         "doc": {
2026-06-03T07:18:57.4388348Z           "complete": false,
2026-06-03T07:18:57.4388476Z           "evidence": []
2026-06-03T07:18:57.4388580Z         },
2026-06-03T07:18:57.4388697Z         "impl": {
2026-06-03T07:18:57.4388821Z           "complete": false,
2026-06-03T07:18:57.4388945Z           "evidence": []
2026-06-03T07:18:57.4389055Z         },
2026-06-03T07:18:57.4389163Z         "int": {
2026-06-03T07:18:57.4389290Z           "complete": false,
2026-06-03T07:18:57.4389410Z           "evidence": []
2026-06-03T07:18:57.4389519Z         },
2026-06-03T07:18:57.4389627Z         "unit": {
2026-06-03T07:18:57.4389757Z           "complete": false,
2026-06-03T07:18:57.4389879Z           "evidence": []
2026-06-03T07:18:57.4389985Z         }
2026-06-03T07:18:57.4390096Z       }
2026-06-03T07:18:57.4390345Z     },
2026-06-03T07:18:57.4390455Z     {
2026-06-03T07:18:57.4390580Z       "id": "REQ-INST-2",
2026-06-03T07:18:57.4390865Z       "title": "Per-node files, synced Psyche mind",
2026-06-03T07:18:57.4390995Z       "requiredStages": [],
2026-06-03T07:18:57.4391107Z       "stages": {
2026-06-03T07:18:57.4391328Z         "doc": {
2026-06-03T07:18:57.4391453Z           "complete": false,
2026-06-03T07:18:57.4391578Z           "evidence": []
2026-06-03T07:18:57.4391682Z         },
2026-06-03T07:18:57.4391795Z         "impl": {
2026-06-03T07:18:57.4391924Z           "complete": false,
2026-06-03T07:18:57.4392042Z           "evidence": []
2026-06-03T07:18:57.4392152Z         },
2026-06-03T07:18:57.4392262Z         "int": {
2026-06-03T07:18:57.4392393Z           "complete": false,
2026-06-03T07:18:57.4392512Z           "evidence": []
2026-06-03T07:18:57.4392625Z         },
2026-06-03T07:18:57.4392739Z         "unit": {
2026-06-03T07:18:57.4392864Z           "complete": false,
2026-06-03T07:18:57.4393001Z           "evidence": []
2026-06-03T07:18:57.4393107Z         }
2026-06-03T07:18:57.4393215Z       }
2026-06-03T07:18:57.4393323Z     },
2026-06-03T07:18:57.4393432Z     {
2026-06-03T07:18:57.4393557Z       "id": "REQ-INST-3",
2026-06-03T07:18:57.4393773Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-03T07:18:57.4393905Z       "requiredStages": [],
2026-06-03T07:18:57.4394016Z       "stages": {
2026-06-03T07:18:57.4394131Z         "doc": {
2026-06-03T07:18:57.4394252Z           "complete": false,
2026-06-03T07:18:57.4394374Z           "evidence": []
2026-06-03T07:18:57.4394484Z         },
2026-06-03T07:18:57.4394594Z         "impl": {
2026-06-03T07:18:57.4394733Z           "complete": false,
2026-06-03T07:18:57.4394848Z           "evidence": []
2026-06-03T07:18:57.4394960Z         },
2026-06-03T07:18:57.4395070Z         "int": {
2026-06-03T07:18:57.4395197Z           "complete": false,
2026-06-03T07:18:57.4395319Z           "evidence": []
2026-06-03T07:18:57.4395423Z         },
2026-06-03T07:18:57.4395544Z         "unit": {
2026-06-03T07:18:57.4395670Z           "complete": false,
2026-06-03T07:18:57.4395796Z           "evidence": []
2026-06-03T07:18:57.4395902Z         }
2026-06-03T07:18:57.4396012Z       }
2026-06-03T07:18:57.4396117Z     },
2026-06-03T07:18:57.4396219Z     {
2026-06-03T07:18:57.4396346Z       "id": "REQ-INST-4",
2026-06-03T07:18:57.4396586Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-03T07:18:57.4396720Z       "requiredStages": [],
2026-06-03T07:18:57.4396831Z       "stages": {
2026-06-03T07:18:57.4396946Z         "doc": {
2026-06-03T07:18:57.4397073Z           "complete": false,
2026-06-03T07:18:57.4397190Z           "evidence": []
2026-06-03T07:18:57.4397303Z         },
2026-06-03T07:18:57.4397445Z         "impl": {
2026-06-03T07:18:57.4397576Z           "complete": false,
2026-06-03T07:18:57.4397695Z           "evidence": []
2026-06-03T07:18:57.4397803Z         },
2026-06-03T07:18:57.4397916Z         "int": {
2026-06-03T07:18:57.4398047Z           "complete": false,
2026-06-03T07:18:57.4398171Z           "evidence": []
2026-06-03T07:18:57.4398281Z         },
2026-06-03T07:18:57.4398400Z         "unit": {
2026-06-03T07:18:57.4398524Z           "complete": false,
2026-06-03T07:18:57.4398649Z           "evidence": []
2026-06-03T07:18:57.4398759Z         }
2026-06-03T07:18:57.4398863Z       }
2026-06-03T07:18:57.4398970Z     },
2026-06-03T07:18:57.4399074Z     {
2026-06-03T07:18:57.4399201Z       "id": "REQ-INST-5",
2026-06-03T07:18:57.4399448Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-03T07:18:57.4399581Z       "requiredStages": [],
2026-06-03T07:18:57.4399699Z       "stages": {
2026-06-03T07:18:57.4399809Z         "doc": {
2026-06-03T07:18:57.4399937Z           "complete": false,
2026-06-03T07:18:57.4400056Z           "evidence": []
2026-06-03T07:18:57.4400165Z         },
2026-06-03T07:18:57.4400276Z         "impl": {
2026-06-03T07:18:57.4400404Z           "complete": false,
2026-06-03T07:18:57.4400666Z           "evidence": []
2026-06-03T07:18:57.4400774Z         },
2026-06-03T07:18:57.4400996Z         "int": {
2026-06-03T07:18:57.4401289Z           "complete": false,
2026-06-03T07:18:57.4401486Z           "evidence": []
2026-06-03T07:18:57.4401599Z         },
2026-06-03T07:18:57.4401715Z         "unit": {
2026-06-03T07:18:57.4401848Z           "complete": false,
2026-06-03T07:18:57.4401969Z           "evidence": []
2026-06-03T07:18:57.4402078Z         }
2026-06-03T07:18:57.4402184Z       }
2026-06-03T07:18:57.4402293Z     },
2026-06-03T07:18:57.4402396Z     {
2026-06-03T07:18:57.4402527Z       "id": "REQ-INST-6",
2026-06-03T07:18:57.4402790Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-03T07:18:57.4402923Z       "requiredStages": [],
2026-06-03T07:18:57.4403042Z       "stages": {
2026-06-03T07:18:57.4403155Z         "doc": {
2026-06-03T07:18:57.4403284Z           "complete": false,
2026-06-03T07:18:57.4403404Z           "evidence": []
2026-06-03T07:18:57.4403531Z         },
2026-06-03T07:18:57.4403650Z         "impl": {
2026-06-03T07:18:57.4403779Z           "complete": false,
2026-06-03T07:18:57.4403902Z           "evidence": []
2026-06-03T07:18:57.4404007Z         },
2026-06-03T07:18:57.4404119Z         "int": {
2026-06-03T07:18:57.4404242Z           "complete": false,
2026-06-03T07:18:57.4404366Z           "evidence": []
2026-06-03T07:18:57.4404475Z         },
2026-06-03T07:18:57.4404585Z         "unit": {
2026-06-03T07:18:57.4404710Z           "complete": false,
2026-06-03T07:18:57.4404835Z           "evidence": []
2026-06-03T07:18:57.4404949Z         }
2026-06-03T07:18:57.4405056Z       }
2026-06-03T07:18:57.4405167Z     },
2026-06-03T07:18:57.4405269Z     {
2026-06-03T07:18:57.4405400Z       "id": "REQ-INST-7",
2026-06-03T07:18:57.4405608Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-03T07:18:57.4405737Z       "requiredStages": [],
2026-06-03T07:18:57.4405854Z       "stages": {
2026-06-03T07:18:57.4405972Z         "doc": {
2026-06-03T07:18:57.4406105Z           "complete": false,
2026-06-03T07:18:57.4406234Z           "evidence": []
2026-06-03T07:18:57.4406340Z         },
2026-06-03T07:18:57.4406455Z         "impl": {
2026-06-03T07:18:57.4406578Z           "complete": true,
2026-06-03T07:18:57.4406699Z           "evidence": [
2026-06-03T07:18:57.4406806Z             {
2026-06-03T07:18:57.4406989Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T07:18:57.4407113Z               "line": 123
2026-06-03T07:18:57.4407220Z             }
2026-06-03T07:18:57.4407329Z           ]
2026-06-03T07:18:57.4407433Z         },
2026-06-03T07:18:57.4407550Z         "int": {
2026-06-03T07:18:57.4407678Z           "complete": false,
2026-06-03T07:18:57.4407803Z           "evidence": []
2026-06-03T07:18:57.4407908Z         },
2026-06-03T07:18:57.4408028Z         "unit": {
2026-06-03T07:18:57.4408155Z           "complete": false,
2026-06-03T07:18:57.4408273Z           "evidence": []
2026-06-03T07:18:57.4408392Z         }
2026-06-03T07:18:57.4408497Z       }
2026-06-03T07:18:57.4408606Z     },
2026-06-03T07:18:57.4408712Z     {
2026-06-03T07:18:57.4408841Z       "id": "REQ-INST-8",
2026-06-03T07:18:57.4409062Z       "title": "Remote-control mode distinct from local operation",
2026-06-03T07:18:57.4409189Z       "requiredStages": [],
2026-06-03T07:18:57.4409305Z       "stages": {
2026-06-03T07:18:57.4409414Z         "doc": {
2026-06-03T07:18:57.4409542Z           "complete": false,
2026-06-03T07:18:57.4409660Z           "evidence": []
2026-06-03T07:18:57.4409769Z         },
2026-06-03T07:18:57.4409886Z         "impl": {
2026-06-03T07:18:57.4410010Z           "complete": false,
2026-06-03T07:18:57.4410132Z           "evidence": []
2026-06-03T07:18:57.4410238Z         },
2026-06-03T07:18:57.4410351Z         "int": {
2026-06-03T07:18:57.4410473Z           "complete": false,
2026-06-03T07:18:57.4410597Z           "evidence": []
2026-06-03T07:18:57.4410709Z         },
2026-06-03T07:18:57.4410819Z         "unit": {
2026-06-03T07:18:57.4411089Z           "complete": false,
2026-06-03T07:18:57.4411314Z           "evidence": []
2026-06-03T07:18:57.4411538Z         }
2026-06-03T07:18:57.4411646Z       }
2026-06-03T07:18:57.4411759Z     },
2026-06-03T07:18:57.4411865Z     {
2026-06-03T07:18:57.4411991Z       "id": "REQ-INST-9",
2026-06-03T07:18:57.4412261Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-03T07:18:57.4412388Z       "requiredStages": [],
2026-06-03T07:18:57.4412508Z       "stages": {
2026-06-03T07:18:57.4412616Z         "doc": {
2026-06-03T07:18:57.4412745Z           "complete": false,
2026-06-03T07:18:57.4412870Z           "evidence": []
2026-06-03T07:18:57.4412973Z         },
2026-06-03T07:18:57.4413094Z         "impl": {
2026-06-03T07:18:57.4413220Z           "complete": false,
2026-06-03T07:18:57.4413341Z           "evidence": []
2026-06-03T07:18:57.4413446Z         },
2026-06-03T07:18:57.4413562Z         "int": {
2026-06-03T07:18:57.4413691Z           "complete": false,
2026-06-03T07:18:57.4413817Z           "evidence": []
2026-06-03T07:18:57.4413928Z         },
2026-06-03T07:18:57.4414048Z         "unit": {
2026-06-03T07:18:57.4414176Z           "complete": false,
2026-06-03T07:18:57.4414293Z           "evidence": []
2026-06-03T07:18:57.4414404Z         }
2026-06-03T07:18:57.4414513Z       }
2026-06-03T07:18:57.4414616Z     },
2026-06-03T07:18:57.4414727Z     {
2026-06-03T07:18:57.4414852Z       "id": "REQ-INSTALL-1",
2026-06-03T07:18:57.4415133Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-03T07:18:57.4415263Z       "requiredStages": [],
2026-06-03T07:18:57.4415383Z       "stages": {
2026-06-03T07:18:57.4415498Z         "doc": {
2026-06-03T07:18:57.4415622Z           "complete": false,
2026-06-03T07:18:57.4415747Z           "evidence": []
2026-06-03T07:18:57.4415851Z         },
2026-06-03T07:18:57.4415969Z         "impl": {
2026-06-03T07:18:57.4416092Z           "complete": false,
2026-06-03T07:18:57.4416215Z           "evidence": []
2026-06-03T07:18:57.4416331Z         },
2026-06-03T07:18:57.4416441Z         "int": {
2026-06-03T07:18:57.4416574Z           "complete": false,
2026-06-03T07:18:57.4416693Z           "evidence": []
2026-06-03T07:18:57.4416806Z         },
2026-06-03T07:18:57.4424164Z         "unit": {
2026-06-03T07:18:57.4424344Z           "complete": false,
2026-06-03T07:18:57.4424468Z           "evidence": []
2026-06-03T07:18:57.4424582Z         }
2026-06-03T07:18:57.4424692Z       }
2026-06-03T07:18:57.4424797Z     },
2026-06-03T07:18:57.4424906Z     {
2026-06-03T07:18:57.4425040Z       "id": "REQ-INSTALL-2",
2026-06-03T07:18:57.4425259Z       "title": "Marketplace-repackaging-friendly install",
2026-06-03T07:18:57.4425391Z       "requiredStages": [],
2026-06-03T07:18:57.4425510Z       "stages": {
2026-06-03T07:18:57.4425627Z         "doc": {
2026-06-03T07:18:57.4425757Z           "complete": false,
2026-06-03T07:18:57.4425882Z           "evidence": []
2026-06-03T07:18:57.4425992Z         },
2026-06-03T07:18:57.4426131Z         "impl": {
2026-06-03T07:18:57.4426258Z           "complete": false,
2026-06-03T07:18:57.4426391Z           "evidence": []
2026-06-03T07:18:57.4426503Z         },
2026-06-03T07:18:57.4426615Z         "int": {
2026-06-03T07:18:57.4426746Z           "complete": false,
2026-06-03T07:18:57.4426867Z           "evidence": []
2026-06-03T07:18:57.4426980Z         },
2026-06-03T07:18:57.4427091Z         "unit": {
2026-06-03T07:18:57.4427225Z           "complete": false,
2026-06-03T07:18:57.4427347Z           "evidence": []
2026-06-03T07:18:57.4427455Z         }
2026-06-03T07:18:57.4427565Z       }
2026-06-03T07:18:57.4427671Z     },
2026-06-03T07:18:57.4427782Z     {
2026-06-03T07:18:57.4427911Z       "id": "REQ-INSTALL-3",
2026-06-03T07:18:57.4428127Z       "title": "Idempotent + interactive-optional first run",
2026-06-03T07:18:57.4428264Z       "requiredStages": [],
2026-06-03T07:18:57.4428375Z       "stages": {
2026-06-03T07:18:57.4428488Z         "doc": {
2026-06-03T07:18:57.4428968Z           "complete": false,
2026-06-03T07:18:57.4429152Z           "evidence": []
2026-06-03T07:18:57.4429303Z         },
2026-06-03T07:18:57.4429605Z         "impl": {
2026-06-03T07:18:57.4429787Z           "complete": false,
2026-06-03T07:18:57.4429962Z           "evidence": []
2026-06-03T07:18:57.4430126Z         },
2026-06-03T07:18:57.4430289Z         "int": {
2026-06-03T07:18:57.4430479Z           "complete": false,
2026-06-03T07:18:57.4430649Z           "evidence": []
2026-06-03T07:18:57.4430812Z         },
2026-06-03T07:18:57.4430979Z         "unit": {
2026-06-03T07:18:57.4431310Z           "complete": false,
2026-06-03T07:18:57.4431494Z           "evidence": []
2026-06-03T07:18:57.4431644Z         }
2026-06-03T07:18:57.4431803Z       }
2026-06-03T07:18:57.4431951Z     },
2026-06-03T07:18:57.4432108Z     {
2026-06-03T07:18:57.4432302Z       "id": "REQ-INSTALL-4",
2026-06-03T07:18:57.4433702Z       "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-03T07:18:57.4433921Z       "requiredStages": [],
2026-06-03T07:18:57.4434090Z       "stages": {
2026-06-03T07:18:57.4434222Z         "doc": {
2026-06-03T07:18:57.4434355Z           "complete": false,
2026-06-03T07:18:57.4434475Z           "evidence": []
2026-06-03T07:18:57.4434584Z         },
2026-06-03T07:18:57.4434694Z         "impl": {
2026-06-03T07:18:57.4434824Z           "complete": false,
2026-06-03T07:18:57.4434940Z           "evidence": []
2026-06-03T07:18:57.4435051Z         },
2026-06-03T07:18:57.4435163Z         "int": {
2026-06-03T07:18:57.4435287Z           "complete": false,
2026-06-03T07:18:57.4435408Z           "evidence": []
2026-06-03T07:18:57.4435513Z         },
2026-06-03T07:18:57.4435625Z         "unit": {
2026-06-03T07:18:57.4435752Z           "complete": false,
2026-06-03T07:18:57.4435873Z           "evidence": []
2026-06-03T07:18:57.4435983Z         }
2026-06-03T07:18:57.4436099Z       }
2026-06-03T07:18:57.4436209Z     },
2026-06-03T07:18:57.4436310Z     {
2026-06-03T07:18:57.4436452Z       "id": "REQ-MANIFEST-1",
2026-06-03T07:18:57.4436720Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-03T07:18:57.4436853Z       "requiredStages": [
2026-06-03T07:18:57.4436967Z         "doc",
2026-06-03T07:18:57.4437077Z         "impl",
2026-06-03T07:18:57.4437188Z         "unit"
2026-06-03T07:18:57.4437292Z       ],
2026-06-03T07:18:57.4437407Z       "stages": {
2026-06-03T07:18:57.4437514Z         "doc": {
2026-06-03T07:18:57.4437643Z           "complete": true,
2026-06-03T07:18:57.4437760Z           "evidence": [
2026-06-03T07:18:57.4437874Z             {
2026-06-03T07:18:57.4438022Z               "path": "docs/MANIFEST.md",
2026-06-03T07:18:57.4438139Z               "line": 19
2026-06-03T07:18:57.4438249Z             }
2026-06-03T07:18:57.4438355Z           ]
2026-06-03T07:18:57.4438466Z         },
2026-06-03T07:18:57.4438575Z         "impl": {
2026-06-03T07:18:57.4438709Z           "complete": true,
2026-06-03T07:18:57.4438831Z           "evidence": [
2026-06-03T07:18:57.4438941Z             {
2026-06-03T07:18:57.4439121Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4439235Z               "line": 18
2026-06-03T07:18:57.4439348Z             }
2026-06-03T07:18:57.4439452Z           ]
2026-06-03T07:18:57.4439564Z         },
2026-06-03T07:18:57.4439678Z         "int": {
2026-06-03T07:18:57.4439803Z           "complete": false,
2026-06-03T07:18:57.4439930Z           "evidence": []
2026-06-03T07:18:57.4440038Z         },
2026-06-03T07:18:57.4440155Z         "unit": {
2026-06-03T07:18:57.4440280Z           "complete": true,
2026-06-03T07:18:57.4440405Z           "evidence": [
2026-06-03T07:18:57.4440518Z             {
2026-06-03T07:18:57.4440688Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4440818Z               "line": 605
2026-06-03T07:18:57.4440924Z             },
2026-06-03T07:18:57.4441407Z             {
2026-06-03T07:18:57.4441589Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4441864Z               "line": 632
2026-06-03T07:18:57.4441976Z             },
2026-06-03T07:18:57.4442081Z             {
2026-06-03T07:18:57.4442252Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4442371Z               "line": 644
2026-06-03T07:18:57.4442483Z             },
2026-06-03T07:18:57.4442593Z             {
2026-06-03T07:18:57.4442752Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4442877Z               "line": 652
2026-06-03T07:18:57.4442981Z             },
2026-06-03T07:18:57.4443091Z             {
2026-06-03T07:18:57.4443248Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4443369Z               "line": 669
2026-06-03T07:18:57.4443479Z             },
2026-06-03T07:18:57.4443585Z             {
2026-06-03T07:18:57.4443755Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4443871Z               "line": 683
2026-06-03T07:18:57.4443983Z             },
2026-06-03T07:18:57.4444092Z             {
2026-06-03T07:18:57.4444256Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4444378Z               "line": 698
2026-06-03T07:18:57.4444484Z             },
2026-06-03T07:18:57.4444593Z             {
2026-06-03T07:18:57.4444753Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4444873Z               "line": 713
2026-06-03T07:18:57.4444976Z             },
2026-06-03T07:18:57.4445085Z             {
2026-06-03T07:18:57.4445248Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4445363Z               "line": 728
2026-06-03T07:18:57.4445472Z             },
2026-06-03T07:18:57.4445576Z             {
2026-06-03T07:18:57.4445739Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T07:18:57.4445857Z               "line": 739
2026-06-03T07:18:57.4445972Z             }
2026-06-03T07:18:57.4446082Z           ]
2026-06-03T07:18:57.4446185Z         }
2026-06-03T07:18:57.4446299Z       }
2026-06-03T07:18:57.4446401Z     },
2026-06-03T07:18:57.4446507Z     {
2026-06-03T07:18:57.4446635Z       "id": "REQ-MIGRATE-1",
2026-06-03T07:18:57.4446880Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-03T07:18:57.4447011Z       "requiredStages": [],
2026-06-03T07:18:57.4447121Z       "stages": {
2026-06-03T07:18:57.4447234Z         "doc": {
2026-06-03T07:18:57.4447362Z           "complete": false,
2026-06-03T07:18:57.4447486Z           "evidence": []
2026-06-03T07:18:57.4447590Z         },
2026-06-03T07:18:57.4447705Z         "impl": {
2026-06-03T07:18:57.4447830Z           "complete": false,
2026-06-03T07:18:57.4447948Z           "evidence": []
2026-06-03T07:18:57.4448058Z         },
2026-06-03T07:18:57.4448167Z         "int": {
2026-06-03T07:18:57.4448296Z           "complete": false,
2026-06-03T07:18:57.4448415Z           "evidence": []
2026-06-03T07:18:57.4448532Z         },
2026-06-03T07:18:57.4448645Z         "unit": {
2026-06-03T07:18:57.4448772Z           "complete": false,
2026-06-03T07:18:57.4448894Z           "evidence": []
2026-06-03T07:18:57.4448997Z         }
2026-06-03T07:18:57.4449107Z       }
2026-06-03T07:18:57.4449208Z     },
2026-06-03T07:18:57.4449315Z     {
2026-06-03T07:18:57.4449463Z       "id": "REQ-MSG-1",
2026-06-03T07:18:57.4450058Z       "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-03T07:18:57.4450191Z       "requiredStages": [
2026-06-03T07:18:57.4450300Z         "impl",
2026-06-03T07:18:57.4450412Z         "unit",
2026-06-03T07:18:57.4450520Z         "int"
2026-06-03T07:18:57.4450629Z       ],
2026-06-03T07:18:57.4450743Z       "stages": {
2026-06-03T07:18:57.4450850Z         "doc": {
2026-06-03T07:18:57.4450975Z           "complete": false,
2026-06-03T07:18:57.4451360Z           "evidence": []
2026-06-03T07:18:57.4451475Z         },
2026-06-03T07:18:57.4451589Z         "impl": {
2026-06-03T07:18:57.4451827Z           "complete": true,
2026-06-03T07:18:57.4451949Z           "evidence": [
2026-06-03T07:18:57.4452053Z             {
2026-06-03T07:18:57.4452220Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4452337Z               "line": 28
2026-06-03T07:18:57.4452450Z             },
2026-06-03T07:18:57.4452555Z             {
2026-06-03T07:18:57.4452719Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4452842Z               "line": 91
2026-06-03T07:18:57.4452946Z             },
2026-06-03T07:18:57.4453052Z             {
2026-06-03T07:18:57.4453203Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4453326Z               "line": 134
2026-06-03T07:18:57.4453429Z             },
2026-06-03T07:18:57.4453538Z             {
2026-06-03T07:18:57.4453694Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4453816Z               "line": 159
2026-06-03T07:18:57.4453929Z             },
2026-06-03T07:18:57.4454038Z             {
2026-06-03T07:18:57.4454199Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T07:18:57.4454316Z               "line": 18
2026-06-03T07:18:57.4454422Z             },
2026-06-03T07:18:57.4454529Z             {
2026-06-03T07:18:57.4454680Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4454800Z               "line": 13
2026-06-03T07:18:57.4454904Z             },
2026-06-03T07:18:57.4455013Z             {
2026-06-03T07:18:57.4455166Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4455282Z               "line": 61
2026-06-03T07:18:57.4455389Z             },
2026-06-03T07:18:57.4455491Z             {
2026-06-03T07:18:57.4455644Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T07:18:57.4455758Z               "line": 10
2026-06-03T07:18:57.4455869Z             }
2026-06-03T07:18:57.4455978Z           ]
2026-06-03T07:18:57.4456089Z         },
2026-06-03T07:18:57.4456203Z         "int": {
2026-06-03T07:18:57.4456331Z           "complete": true,
2026-06-03T07:18:57.4456452Z           "evidence": [
2026-06-03T07:18:57.4456557Z             {
2026-06-03T07:18:57.4456753Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T07:18:57.4456868Z               "line": 9
2026-06-03T07:18:57.4456974Z             },
2026-06-03T07:18:57.4457082Z             {
2026-06-03T07:18:57.4457267Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T07:18:57.4457388Z               "line": 66
2026-06-03T07:18:57.4457492Z             },
2026-06-03T07:18:57.4457602Z             {
2026-06-03T07:18:57.4457785Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T07:18:57.4457901Z               "line": 116
2026-06-03T07:18:57.4458008Z             }
2026-06-03T07:18:57.4458112Z           ]
2026-06-03T07:18:57.4458221Z         },
2026-06-03T07:18:57.4458335Z         "unit": {
2026-06-03T07:18:57.4458462Z           "complete": true,
2026-06-03T07:18:57.4458582Z           "evidence": [
2026-06-03T07:18:57.4458688Z             {
2026-06-03T07:18:57.4458845Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4458962Z               "line": 188
2026-06-03T07:18:57.4459069Z             },
2026-06-03T07:18:57.4459172Z             {
2026-06-03T07:18:57.4459328Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4459448Z               "line": 217
2026-06-03T07:18:57.4459554Z             },
2026-06-03T07:18:57.4459662Z             {
2026-06-03T07:18:57.4459810Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4459931Z               "line": 262
2026-06-03T07:18:57.4460036Z             },
2026-06-03T07:18:57.4460145Z             {
2026-06-03T07:18:57.4460297Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4460411Z               "line": 285
2026-06-03T07:18:57.4460520Z             },
2026-06-03T07:18:57.4460805Z             {
2026-06-03T07:18:57.4460965Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T07:18:57.4461298Z               "line": 307
2026-06-03T07:18:57.4461411Z             },
2026-06-03T07:18:57.4461526Z             {
2026-06-03T07:18:57.4461688Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T07:18:57.4461811Z               "line": 203
2026-06-03T07:18:57.4461915Z             },
2026-06-03T07:18:57.4462024Z             {
2026-06-03T07:18:57.4462178Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T07:18:57.4462301Z               "line": 233
2026-06-03T07:18:57.4462409Z             },
2026-06-03T07:18:57.4462513Z             {
2026-06-03T07:18:57.4462668Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T07:18:57.4462787Z               "line": 247
2026-06-03T07:18:57.4462902Z             },
2026-06-03T07:18:57.4463010Z             {
2026-06-03T07:18:57.4463172Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T07:18:57.4463293Z               "line": 259
2026-06-03T07:18:57.4463400Z             },
2026-06-03T07:18:57.4463513Z             {
2026-06-03T07:18:57.4463659Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4463782Z               "line": 158
2026-06-03T07:18:57.4463891Z             },
2026-06-03T07:18:57.4463995Z             {
2026-06-03T07:18:57.4464152Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T07:18:57.4464285Z               "line": 235
2026-06-03T07:18:57.4464396Z             },
2026-06-03T07:18:57.4464501Z             {
2026-06-03T07:18:57.4464651Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T07:18:57.4464771Z               "line": 68
2026-06-03T07:18:57.4464875Z             },
2026-06-03T07:18:57.4464985Z             {
2026-06-03T07:18:57.4465130Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T07:18:57.4465250Z               "line": 74
2026-06-03T07:18:57.4465355Z             },
2026-06-03T07:18:57.4465465Z             {
2026-06-03T07:18:57.4465611Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T07:18:57.4465729Z               "line": 80
2026-06-03T07:18:57.4465839Z             },
2026-06-03T07:18:57.4465946Z             {
2026-06-03T07:18:57.4466095Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T07:18:57.4466209Z               "line": 99
2026-06-03T07:18:57.4466318Z             }
2026-06-03T07:18:57.4466425Z           ]
2026-06-03T07:18:57.4466527Z         }
2026-06-03T07:18:57.4466636Z       }
2026-06-03T07:18:57.4466737Z     },
2026-06-03T07:18:57.4466845Z     {
2026-06-03T07:18:57.4466965Z       "id": "REQ-MSG-2",
2026-06-03T07:18:57.4467356Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-03T07:18:57.4467484Z       "requiredStages": [
2026-06-03T07:18:57.4467592Z         "impl",
2026-06-03T07:18:57.4467701Z         "unit"
2026-06-03T07:18:57.4467805Z       ],
2026-06-03T07:18:57.4467925Z       "stages": {
2026-06-03T07:18:57.4468034Z         "doc": {
2026-06-03T07:18:57.4468164Z           "complete": false,
2026-06-03T07:18:57.4468289Z           "evidence": []
2026-06-03T07:18:57.4468393Z         },
2026-06-03T07:18:57.4468511Z         "impl": {
2026-06-03T07:18:57.4468632Z           "complete": true,
2026-06-03T07:18:57.4468755Z           "evidence": [
2026-06-03T07:18:57.4468859Z             {
2026-06-03T07:18:57.4469009Z               "path": "crates/spt/src/cli.rs",
2026-06-03T07:18:57.4469124Z               "line": 11
2026-06-03T07:18:57.4469228Z             },
2026-06-03T07:18:57.4469332Z             {
2026-06-03T07:18:57.4469480Z               "path": "crates/spt/src/main.rs",
2026-06-03T07:18:57.4469596Z               "line": 8
2026-06-03T07:18:57.4469698Z             }
2026-06-03T07:18:57.4469804Z           ]
2026-06-03T07:18:57.4469908Z         },
2026-06-03T07:18:57.4470013Z         "int": {
2026-06-03T07:18:57.4470139Z           "complete": false,
2026-06-03T07:18:57.4470410Z           "evidence": []
2026-06-03T07:18:57.4470517Z         },
2026-06-03T07:18:57.4470624Z         "unit": {
2026-06-03T07:18:57.4470865Z           "complete": true,
2026-06-03T07:18:57.4470982Z           "evidence": [
2026-06-03T07:18:57.4471086Z             {
2026-06-03T07:18:57.4471354Z               "path": "crates/spt/src/cli.rs",
2026-06-03T07:18:57.4471471Z               "line": 297
2026-06-03T07:18:57.4471580Z             },
2026-06-03T07:18:57.4471682Z             {
2026-06-03T07:18:57.4471822Z               "path": "crates/spt/src/cli.rs",
2026-06-03T07:18:57.4471941Z               "line": 310
2026-06-03T07:18:57.4472043Z             },
2026-06-03T07:18:57.4472147Z             {
2026-06-03T07:18:57.4472287Z               "path": "crates/spt/src/cli.rs",
2026-06-03T07:18:57.4472404Z               "line": 319
2026-06-03T07:18:57.4472511Z             },
2026-06-03T07:18:57.4472613Z             {
2026-06-03T07:18:57.4472754Z               "path": "crates/spt/src/cli.rs",
2026-06-03T07:18:57.4472879Z               "line": 331
2026-06-03T07:18:57.4472988Z             }
2026-06-03T07:18:57.4473091Z           ]
2026-06-03T07:18:57.4473201Z         }
2026-06-03T07:18:57.4473303Z       }
2026-06-03T07:18:57.4473409Z     },
2026-06-03T07:18:57.4473511Z     {
2026-06-03T07:18:57.4473630Z       "id": "REQ-MSG-3",
2026-06-03T07:18:57.4474144Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-03T07:18:57.4474268Z       "requiredStages": [
2026-06-03T07:18:57.4474379Z         "impl",
2026-06-03T07:18:57.4474486Z         "unit",
2026-06-03T07:18:57.4474590Z         "int"
2026-06-03T07:18:57.4474693Z       ],
2026-06-03T07:18:57.4474805Z       "stages": {
2026-06-03T07:18:57.4474914Z         "doc": {
2026-06-03T07:18:57.4475039Z           "complete": false,
2026-06-03T07:18:57.4475159Z           "evidence": []
2026-06-03T07:18:57.4475268Z         },
2026-06-03T07:18:57.4475376Z         "impl": {
2026-06-03T07:18:57.4475504Z           "complete": true,
2026-06-03T07:18:57.4475618Z           "evidence": [
2026-06-03T07:18:57.4475730Z             {
2026-06-03T07:18:57.4475890Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T07:18:57.4476007Z               "line": 19
2026-06-03T07:18:57.4476113Z             },
2026-06-03T07:18:57.4476216Z             {
2026-06-03T07:18:57.4476374Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4476486Z               "line": 21
2026-06-03T07:18:57.4476594Z             },
2026-06-03T07:18:57.4476698Z             {
2026-06-03T07:18:57.4476854Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4476969Z               "line": 48
2026-06-03T07:18:57.4477071Z             },
2026-06-03T07:18:57.4477179Z             {
2026-06-03T07:18:57.4477324Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4477446Z               "line": 106
2026-06-03T07:18:57.4477548Z             }
2026-06-03T07:18:57.4477657Z           ]
2026-06-03T07:18:57.4477772Z         },
2026-06-03T07:18:57.4477878Z         "int": {
2026-06-03T07:18:57.4478008Z           "complete": true,
2026-06-03T07:18:57.4478124Z           "evidence": [
2026-06-03T07:18:57.4478231Z             {
2026-06-03T07:18:57.4478420Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T07:18:57.4478537Z               "line": 10
2026-06-03T07:18:57.4478640Z             },
2026-06-03T07:18:57.4478745Z             {
2026-06-03T07:18:57.4478929Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T07:18:57.4479043Z               "line": 66
2026-06-03T07:18:57.4479150Z             }
2026-06-03T07:18:57.4479254Z           ]
2026-06-03T07:18:57.4479359Z         },
2026-06-03T07:18:57.4479470Z         "unit": {
2026-06-03T07:18:57.4479591Z           "complete": true,
2026-06-03T07:18:57.4479710Z           "evidence": [
2026-06-03T07:18:57.4479812Z             {
2026-06-03T07:18:57.4480106Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4480223Z               "line": 160
2026-06-03T07:18:57.4480331Z             },
2026-06-03T07:18:57.4480541Z             {
2026-06-03T07:18:57.4480687Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4480803Z               "line": 179
2026-06-03T07:18:57.4480909Z             },
2026-06-03T07:18:57.4481020Z             {
2026-06-03T07:18:57.4481269Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T07:18:57.4481389Z               "line": 198
2026-06-03T07:18:57.4481496Z             }
2026-06-03T07:18:57.4481599Z           ]
2026-06-03T07:18:57.4481702Z         }
2026-06-03T07:18:57.4481805Z       }
2026-06-03T07:18:57.4481910Z     },
2026-06-03T07:18:57.4482009Z     {
2026-06-03T07:18:57.4482134Z       "id": "REQ-NET-1",
2026-06-03T07:18:57.4482387Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-03T07:18:57.4482512Z       "requiredStages": [],
2026-06-03T07:18:57.4482626Z       "stages": {
2026-06-03T07:18:57.4482740Z         "doc": {
2026-06-03T07:18:57.4482870Z           "complete": false,
2026-06-03T07:18:57.4482990Z           "evidence": []
2026-06-03T07:18:57.4483097Z         },
2026-06-03T07:18:57.4483211Z         "impl": {
2026-06-03T07:18:57.4483333Z           "complete": false,
2026-06-03T07:18:57.4483451Z           "evidence": []
2026-06-03T07:18:57.4483554Z         },
2026-06-03T07:18:57.4483662Z         "int": {
2026-06-03T07:18:57.4483784Z           "complete": false,
2026-06-03T07:18:57.4483902Z           "evidence": []
2026-06-03T07:18:57.4484008Z         },
2026-06-03T07:18:57.4484114Z         "unit": {
2026-06-03T07:18:57.4484236Z           "complete": false,
2026-06-03T07:18:57.4484349Z           "evidence": []
2026-06-03T07:18:57.4484454Z         }
2026-06-03T07:18:57.4484556Z       }
2026-06-03T07:18:57.4484659Z     },
2026-06-03T07:18:57.4484762Z     {
2026-06-03T07:18:57.4484877Z       "id": "REQ-NET-2",
2026-06-03T07:18:57.4485127Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-03T07:18:57.4485254Z       "requiredStages": [],
2026-06-03T07:18:57.4485371Z       "stages": {
2026-06-03T07:18:57.4485477Z         "doc": {
2026-06-03T07:18:57.4485602Z           "complete": false,
2026-06-03T07:18:57.4485721Z           "evidence": []
2026-06-03T07:18:57.4485824Z         },
2026-06-03T07:18:57.4485936Z         "impl": {
2026-06-03T07:18:57.4486058Z           "complete": false,
2026-06-03T07:18:57.4486177Z           "evidence": []
2026-06-03T07:18:57.4486278Z         },
2026-06-03T07:18:57.4486386Z         "int": {
2026-06-03T07:18:57.4486507Z           "complete": false,
2026-06-03T07:18:57.4486620Z           "evidence": []
2026-06-03T07:18:57.4486724Z         },
2026-06-03T07:18:57.4486832Z         "unit": {
2026-06-03T07:18:57.4486955Z           "complete": false,
2026-06-03T07:18:57.4487069Z           "evidence": []
2026-06-03T07:18:57.4487173Z         }
2026-06-03T07:18:57.4487277Z       }
2026-06-03T07:18:57.4487378Z     },
2026-06-03T07:18:57.4487481Z     {
2026-06-03T07:18:57.4487604Z       "id": "REQ-NET-3",
2026-06-03T07:18:57.4487839Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-03T07:18:57.4487972Z       "requiredStages": [],
2026-06-03T07:18:57.4488084Z       "stages": {
2026-06-03T07:18:57.4488194Z         "doc": {
2026-06-03T07:18:57.4488315Z           "complete": false,
2026-06-03T07:18:57.4488432Z           "evidence": []
2026-06-03T07:18:57.4488536Z         },
2026-06-03T07:18:57.4488645Z         "impl": {
2026-06-03T07:18:57.4488765Z           "complete": false,
2026-06-03T07:18:57.4488883Z           "evidence": []
2026-06-03T07:18:57.4488991Z         },
2026-06-03T07:18:57.4489099Z         "int": {
2026-06-03T07:18:57.4489220Z           "complete": false,
2026-06-03T07:18:57.4489333Z           "evidence": []
2026-06-03T07:18:57.4489440Z         },
2026-06-03T07:18:57.4489545Z         "unit": {
2026-06-03T07:18:57.4489665Z           "complete": false,
2026-06-03T07:18:57.4489785Z           "evidence": []
2026-06-03T07:18:57.4490022Z         }
2026-06-03T07:18:57.4490130Z       }
2026-06-03T07:18:57.4490275Z     },
2026-06-03T07:18:57.4490491Z     {
2026-06-03T07:18:57.4490623Z       "id": "REQ-NODE-IDENTITY",
2026-06-03T07:18:57.4490942Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-03T07:18:57.4491068Z       "requiredStages": [
2026-06-03T07:18:57.4491300Z         "impl",
2026-06-03T07:18:57.4491411Z         "unit"
2026-06-03T07:18:57.4491514Z       ],
2026-06-03T07:18:57.4491627Z       "stages": {
2026-06-03T07:18:57.4491732Z         "doc": {
2026-06-03T07:18:57.4491861Z           "complete": false,
2026-06-03T07:18:57.4491979Z           "evidence": []
2026-06-03T07:18:57.4492097Z         },
2026-06-03T07:18:57.4492213Z         "impl": {
2026-06-03T07:18:57.4492332Z           "complete": true,
2026-06-03T07:18:57.4492451Z           "evidence": [
2026-06-03T07:18:57.4492553Z             {
2026-06-03T07:18:57.4492739Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4492858Z               "line": 60
2026-06-03T07:18:57.4492967Z             },
2026-06-03T07:18:57.4493074Z             {
2026-06-03T07:18:57.4493239Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4493354Z               "line": 68
2026-06-03T07:18:57.4493458Z             },
2026-06-03T07:18:57.4493566Z             {
2026-06-03T07:18:57.4493728Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4493842Z               "line": 86
2026-06-03T07:18:57.4493949Z             },
2026-06-03T07:18:57.4494051Z             {
2026-06-03T07:18:57.4494213Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4494328Z               "line": 120
2026-06-03T07:18:57.4494438Z             },
2026-06-03T07:18:57.4494543Z             {
2026-06-03T07:18:57.4494702Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4494824Z               "line": 127
2026-06-03T07:18:57.4494932Z             },
2026-06-03T07:18:57.4495038Z             {
2026-06-03T07:18:57.4495192Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4495315Z               "line": 143
2026-06-03T07:18:57.4495420Z             }
2026-06-03T07:18:57.4495521Z           ]
2026-06-03T07:18:57.4495628Z         },
2026-06-03T07:18:57.4495736Z         "int": {
2026-06-03T07:18:57.4495856Z           "complete": false,
2026-06-03T07:18:57.4495970Z           "evidence": []
2026-06-03T07:18:57.4496078Z         },
2026-06-03T07:18:57.4496192Z         "unit": {
2026-06-03T07:18:57.4496314Z           "complete": true,
2026-06-03T07:18:57.4496433Z           "evidence": [
2026-06-03T07:18:57.4496536Z             {
2026-06-03T07:18:57.4496698Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4496811Z               "line": 199
2026-06-03T07:18:57.4496919Z             },
2026-06-03T07:18:57.4497023Z             {
2026-06-03T07:18:57.4497186Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4497306Z               "line": 218
2026-06-03T07:18:57.4497410Z             },
2026-06-03T07:18:57.4497520Z             {
2026-06-03T07:18:57.4497678Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4497800Z               "line": 232
2026-06-03T07:18:57.4497906Z             },
2026-06-03T07:18:57.4498008Z             {
2026-06-03T07:18:57.4498177Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T07:18:57.4498295Z               "line": 248
2026-06-03T07:18:57.4498403Z             }
2026-06-03T07:18:57.4498507Z           ]
2026-06-03T07:18:57.4498615Z         }
2026-06-03T07:18:57.4498722Z       }
2026-06-03T07:18:57.4498822Z     },
2026-06-03T07:18:57.4498923Z     {
2026-06-03T07:18:57.4499046Z       "id": "REQ-NOTIF-1",
2026-06-03T07:18:57.4499534Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-03T07:18:57.4499804Z       "requiredStages": [],
2026-06-03T07:18:57.4499916Z       "stages": {
2026-06-03T07:18:57.4500026Z         "doc": {
2026-06-03T07:18:57.4500252Z           "complete": false,
2026-06-03T07:18:57.4500369Z           "evidence": []
2026-06-03T07:18:57.4500472Z         },
2026-06-03T07:18:57.4500584Z         "impl": {
2026-06-03T07:18:57.4500707Z           "complete": false,
2026-06-03T07:18:57.4500825Z           "evidence": []
2026-06-03T07:18:57.4500929Z         },
2026-06-03T07:18:57.4501035Z         "int": {
2026-06-03T07:18:57.4501271Z           "complete": false,
2026-06-03T07:18:57.4501386Z           "evidence": []
2026-06-03T07:18:57.4501491Z         },
2026-06-03T07:18:57.4501600Z         "unit": {
2026-06-03T07:18:57.4501725Z           "complete": false,
2026-06-03T07:18:57.4501841Z           "evidence": []
2026-06-03T07:18:57.4501943Z         }
2026-06-03T07:18:57.4502046Z       }
2026-06-03T07:18:57.4502145Z     },
2026-06-03T07:18:57.4502247Z     {
2026-06-03T07:18:57.4502367Z       "id": "REQ-NOTIF-2",
2026-06-03T07:18:57.4502731Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-03T07:18:57.4502864Z       "requiredStages": [],
2026-06-03T07:18:57.4502971Z       "stages": {
2026-06-03T07:18:57.4503083Z         "doc": {
2026-06-03T07:18:57.4503202Z           "complete": false,
2026-06-03T07:18:57.4503318Z           "evidence": []
2026-06-03T07:18:57.4503421Z         },
2026-06-03T07:18:57.4503531Z         "impl": {
2026-06-03T07:18:57.4503652Z           "complete": false,
2026-06-03T07:18:57.4503764Z           "evidence": []
2026-06-03T07:18:57.4503870Z         },
2026-06-03T07:18:57.4503976Z         "int": {
2026-06-03T07:18:57.4504099Z           "complete": false,
2026-06-03T07:18:57.4504214Z           "evidence": []
2026-06-03T07:18:57.4504322Z         },
2026-06-03T07:18:57.4504432Z         "unit": {
2026-06-03T07:18:57.4504550Z           "complete": false,
2026-06-03T07:18:57.4504667Z           "evidence": []
2026-06-03T07:18:57.4504775Z         }
2026-06-03T07:18:57.4504879Z       }
2026-06-03T07:18:57.4504978Z     },
2026-06-03T07:18:57.4505088Z     {
2026-06-03T07:18:57.4505216Z       "id": "REQ-PAIR-1",
2026-06-03T07:18:57.4505366Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-03T07:18:57.4505494Z       "requiredStages": [],
2026-06-03T07:18:57.4505602Z       "stages": {
2026-06-03T07:18:57.4505709Z         "doc": {
2026-06-03T07:18:57.4505828Z           "complete": false,
2026-06-03T07:18:57.4505947Z           "evidence": []
2026-06-03T07:18:57.4506052Z         },
2026-06-03T07:18:57.4506158Z         "impl": {
2026-06-03T07:18:57.4506281Z           "complete": false,
2026-06-03T07:18:57.4506396Z           "evidence": []
2026-06-03T07:18:57.4506500Z         },
2026-06-03T07:18:57.4506607Z         "int": {
2026-06-03T07:18:57.4506731Z           "complete": false,
2026-06-03T07:18:57.4506849Z           "evidence": []
2026-06-03T07:18:57.4506951Z         },
2026-06-03T07:18:57.4507059Z         "unit": {
2026-06-03T07:18:57.4507184Z           "complete": false,
2026-06-03T07:18:57.4507306Z           "evidence": []
2026-06-03T07:18:57.4507413Z         }
2026-06-03T07:18:57.4507518Z       }
2026-06-03T07:18:57.4507621Z     },
2026-06-03T07:18:57.4507720Z     {
2026-06-03T07:18:57.4507846Z       "id": "REQ-PAIR-2",
2026-06-03T07:18:57.4508041Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-03T07:18:57.4508168Z       "requiredStages": [],
2026-06-03T07:18:57.4508278Z       "stages": {
2026-06-03T07:18:57.4508388Z         "doc": {
2026-06-03T07:18:57.4508511Z           "complete": false,
2026-06-03T07:18:57.4508626Z           "evidence": []
2026-06-03T07:18:57.4508731Z         },
2026-06-03T07:18:57.4508838Z         "impl": {
2026-06-03T07:18:57.4508959Z           "complete": false,
2026-06-03T07:18:57.4509073Z           "evidence": []
2026-06-03T07:18:57.4509178Z         },
2026-06-03T07:18:57.4509286Z         "int": {
2026-06-03T07:18:57.4509410Z           "complete": false,
2026-06-03T07:18:57.4509662Z           "evidence": []
2026-06-03T07:18:57.4509767Z         },
2026-06-03T07:18:57.4509880Z         "unit": {
2026-06-03T07:18:57.4510112Z           "complete": false,
2026-06-03T07:18:57.4510234Z           "evidence": []
2026-06-03T07:18:57.4510340Z         }
2026-06-03T07:18:57.4510442Z       }
2026-06-03T07:18:57.4510547Z     },
2026-06-03T07:18:57.4510648Z     {
2026-06-03T07:18:57.4510776Z       "id": "REQ-PAIR-3",
2026-06-03T07:18:57.4510981Z       "title": "Fetch current pairing code from any paired node",
2026-06-03T07:18:57.4511110Z       "requiredStages": [],
2026-06-03T07:18:57.4511422Z       "stages": {
2026-06-03T07:18:57.4511536Z         "doc": {
2026-06-03T07:18:57.4511663Z           "complete": false,
2026-06-03T07:18:57.4511778Z           "evidence": []
2026-06-03T07:18:57.4511887Z         },
2026-06-03T07:18:57.4511994Z         "impl": {
2026-06-03T07:18:57.4512121Z           "complete": false,
2026-06-03T07:18:57.4512242Z           "evidence": []
2026-06-03T07:18:57.4512345Z         },
2026-06-03T07:18:57.4512462Z         "int": {
2026-06-03T07:18:57.4512582Z           "complete": false,
2026-06-03T07:18:57.4512706Z           "evidence": []
2026-06-03T07:18:57.4512808Z         },
2026-06-03T07:18:57.4512918Z         "unit": {
2026-06-03T07:18:57.4513043Z           "complete": false,
2026-06-03T07:18:57.4513156Z           "evidence": []
2026-06-03T07:18:57.4513263Z         }
2026-06-03T07:18:57.4513364Z       }
2026-06-03T07:18:57.4513469Z     },
2026-06-03T07:18:57.4513568Z     {
2026-06-03T07:18:57.4513692Z       "id": "REQ-PAIR-4",
2026-06-03T07:18:57.4513850Z       "title": "Subnet naming on first pairing",
2026-06-03T07:18:57.4513974Z       "requiredStages": [],
2026-06-03T07:18:57.4514088Z       "stages": {
2026-06-03T07:18:57.4514192Z         "doc": {
2026-06-03T07:18:57.4514317Z           "complete": false,
2026-06-03T07:18:57.4514432Z           "evidence": []
2026-06-03T07:18:57.4514538Z         },
2026-06-03T07:18:57.4514649Z         "impl": {
2026-06-03T07:18:57.4514771Z           "complete": false,
2026-06-03T07:18:57.4514897Z           "evidence": []
2026-06-03T07:18:57.4515000Z         },
2026-06-03T07:18:57.4515115Z         "int": {
2026-06-03T07:18:57.4515236Z           "complete": false,
2026-06-03T07:18:57.4515353Z           "evidence": []
2026-06-03T07:18:57.4515461Z         },
2026-06-03T07:18:57.4515568Z         "unit": {
2026-06-03T07:18:57.4515689Z           "complete": false,
2026-06-03T07:18:57.4515803Z           "evidence": []
2026-06-03T07:18:57.4515909Z         }
2026-06-03T07:18:57.4516010Z       }
2026-06-03T07:18:57.4516116Z     },
2026-06-03T07:18:57.4516216Z     {
2026-06-03T07:18:57.4516345Z       "id": "REQ-PAIR-5",
2026-06-03T07:18:57.4516758Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-03T07:18:57.4516886Z       "requiredStages": [],
2026-06-03T07:18:57.4516998Z       "stages": {
2026-06-03T07:18:57.4517106Z         "doc": {
2026-06-03T07:18:57.4517233Z           "complete": false,
2026-06-03T07:18:57.4517358Z           "evidence": []
2026-06-03T07:18:57.4517460Z         },
2026-06-03T07:18:57.4517579Z         "impl": {
2026-06-03T07:18:57.4517697Z           "complete": false,
2026-06-03T07:18:57.4517818Z           "evidence": []
2026-06-03T07:18:57.4517922Z         },
2026-06-03T07:18:57.4518033Z         "int": {
2026-06-03T07:18:57.4518156Z           "complete": false,
2026-06-03T07:18:57.4518272Z           "evidence": []
2026-06-03T07:18:57.4518382Z         },
2026-06-03T07:18:57.4518491Z         "unit": {
2026-06-03T07:18:57.4518619Z           "complete": false,
2026-06-03T07:18:57.4518733Z           "evidence": []
2026-06-03T07:18:57.4518841Z         }
2026-06-03T07:18:57.4518949Z       }
2026-06-03T07:18:57.4519051Z     },
2026-06-03T07:18:57.4519159Z     {
2026-06-03T07:18:57.4519278Z       "id": "REQ-PAIR-6",
2026-06-03T07:18:57.4519634Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-03T07:18:57.4519941Z       "requiredStages": [],
2026-06-03T07:18:57.4520059Z       "stages": {
2026-06-03T07:18:57.4520168Z         "doc": {
2026-06-03T07:18:57.4520394Z           "complete": false,
2026-06-03T07:18:57.4520515Z           "evidence": []
2026-06-03T07:18:57.4520617Z         },
2026-06-03T07:18:57.4520729Z         "impl": {
2026-06-03T07:18:57.4520850Z           "complete": false,
2026-06-03T07:18:57.4520974Z           "evidence": []
2026-06-03T07:18:57.4521080Z         },
2026-06-03T07:18:57.4521307Z         "int": {
2026-06-03T07:18:57.4521436Z           "complete": false,
2026-06-03T07:18:57.4521553Z           "evidence": []
2026-06-03T07:18:57.4521661Z         },
2026-06-03T07:18:57.4521769Z         "unit": {
2026-06-03T07:18:57.4521896Z           "complete": false,
2026-06-03T07:18:57.4522018Z           "evidence": []
2026-06-03T07:18:57.4522122Z         }
2026-06-03T07:18:57.4522233Z       }
2026-06-03T07:18:57.4522336Z     },
2026-06-03T07:18:57.4522442Z     {
2026-06-03T07:18:57.4522563Z       "id": "REQ-PAIR-7",
2026-06-03T07:18:57.4522798Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-03T07:18:57.4522931Z       "requiredStages": [],
2026-06-03T07:18:57.4523040Z       "stages": {
2026-06-03T07:18:57.4523151Z         "doc": {
2026-06-03T07:18:57.4523271Z           "complete": false,
2026-06-03T07:18:57.4523388Z           "evidence": []
2026-06-03T07:18:57.4523501Z         },
2026-06-03T07:18:57.4523617Z         "impl": {
2026-06-03T07:18:57.4523744Z           "complete": false,
2026-06-03T07:18:57.4523860Z           "evidence": []
2026-06-03T07:18:57.4523968Z         },
2026-06-03T07:18:57.4524075Z         "int": {
2026-06-03T07:18:57.4524198Z           "complete": false,
2026-06-03T07:18:57.4524313Z           "evidence": []
2026-06-03T07:18:57.4524422Z         },
2026-06-03T07:18:57.4524534Z         "unit": {
2026-06-03T07:18:57.4524654Z           "complete": false,
2026-06-03T07:18:57.4524772Z           "evidence": []
2026-06-03T07:18:57.4524878Z         }
2026-06-03T07:18:57.4524985Z       }
2026-06-03T07:18:57.4525100Z     },
2026-06-03T07:18:57.4525209Z     {
2026-06-03T07:18:57.4525332Z       "id": "REQ-REACH-1",
2026-06-03T07:18:57.4525542Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-03T07:18:57.4525672Z       "requiredStages": [],
2026-06-03T07:18:57.4525779Z       "stages": {
2026-06-03T07:18:57.4525893Z         "doc": {
2026-06-03T07:18:57.4526016Z           "complete": false,
2026-06-03T07:18:57.4526137Z           "evidence": []
2026-06-03T07:18:57.4526247Z         },
2026-06-03T07:18:57.4526355Z         "impl": {
2026-06-03T07:18:57.4526481Z           "complete": false,
2026-06-03T07:18:57.4526597Z           "evidence": []
2026-06-03T07:18:57.4526706Z         },
2026-06-03T07:18:57.4526812Z         "int": {
2026-06-03T07:18:57.4526940Z           "complete": false,
2026-06-03T07:18:57.4527054Z           "evidence": []
2026-06-03T07:18:57.4527164Z         },
2026-06-03T07:18:57.4527275Z         "unit": {
2026-06-03T07:18:57.4527395Z           "complete": false,
2026-06-03T07:18:57.4527521Z           "evidence": []
2026-06-03T07:18:57.4527625Z         }
2026-06-03T07:18:57.4527736Z       }
2026-06-03T07:18:57.4527838Z     },
2026-06-03T07:18:57.4527946Z     {
2026-06-03T07:18:57.4528075Z       "id": "REQ-REACH-2",
2026-06-03T07:18:57.4528283Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-03T07:18:57.4528413Z       "requiredStages": [],
2026-06-03T07:18:57.4528521Z       "stages": {
2026-06-03T07:18:57.4528635Z         "doc": {
2026-06-03T07:18:57.4528756Z           "complete": false,
2026-06-03T07:18:57.4528877Z           "evidence": []
2026-06-03T07:18:57.4528984Z         },
2026-06-03T07:18:57.4529092Z         "impl": {
2026-06-03T07:18:57.4529220Z           "complete": false,
2026-06-03T07:18:57.4529335Z           "evidence": []
2026-06-03T07:18:57.4529442Z         },
2026-06-03T07:18:57.4529548Z         "int": {
2026-06-03T07:18:57.4529676Z           "complete": false,
2026-06-03T07:18:57.4529799Z           "evidence": []
2026-06-03T07:18:57.4530058Z         },
2026-06-03T07:18:57.4530174Z         "unit": {
2026-06-03T07:18:57.4530404Z           "complete": false,
2026-06-03T07:18:57.4530528Z           "evidence": []
2026-06-03T07:18:57.4530635Z         }
2026-06-03T07:18:57.4530742Z       }
2026-06-03T07:18:57.4530847Z     },
2026-06-03T07:18:57.4530951Z     {
2026-06-03T07:18:57.4531098Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-03T07:18:57.4531455Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-03T07:18:57.4531588Z       "requiredStages": [
2026-06-03T07:18:57.4531695Z         "impl",
2026-06-03T07:18:57.4531807Z         "unit"
2026-06-03T07:18:57.4531913Z       ],
2026-06-03T07:18:57.4532020Z       "stages": {
2026-06-03T07:18:57.4532132Z         "doc": {
2026-06-03T07:18:57.4532253Z           "complete": false,
2026-06-03T07:18:57.4532375Z           "evidence": []
2026-06-03T07:18:57.4532478Z         },
2026-06-03T07:18:57.4532593Z         "impl": {
2026-06-03T07:18:57.4532729Z           "complete": true,
2026-06-03T07:18:57.4532844Z           "evidence": [
2026-06-03T07:18:57.4532952Z             {
2026-06-03T07:18:57.4533119Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4533238Z               "line": 18
2026-06-03T07:18:57.4533343Z             },
2026-06-03T07:18:57.4533451Z             {
2026-06-03T07:18:57.4533611Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4533726Z               "line": 35
2026-06-03T07:18:57.4533834Z             },
2026-06-03T07:18:57.4533937Z             {
2026-06-03T07:18:57.4534095Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4534209Z               "line": 65
2026-06-03T07:18:57.4534316Z             }
2026-06-03T07:18:57.4534421Z           ]
2026-06-03T07:18:57.4534523Z         },
2026-06-03T07:18:57.4534633Z         "int": {
2026-06-03T07:18:57.4534756Z           "complete": false,
2026-06-03T07:18:57.4534874Z           "evidence": []
2026-06-03T07:18:57.4534977Z         },
2026-06-03T07:18:57.4535092Z         "unit": {
2026-06-03T07:18:57.4535217Z           "complete": true,
2026-06-03T07:18:57.4535336Z           "evidence": [
2026-06-03T07:18:57.4535443Z             {
2026-06-03T07:18:57.4535594Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4535718Z               "line": 170
2026-06-03T07:18:57.4535821Z             },
2026-06-03T07:18:57.4535930Z             {
2026-06-03T07:18:57.4536083Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4536198Z               "line": 184
2026-06-03T07:18:57.4536306Z             },
2026-06-03T07:18:57.4536410Z             {
2026-06-03T07:18:57.4536563Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4536677Z               "line": 193
2026-06-03T07:18:57.4536788Z             }
2026-06-03T07:18:57.4536900Z           ]
2026-06-03T07:18:57.4537008Z         }
2026-06-03T07:18:57.4537116Z       }
2026-06-03T07:18:57.4537217Z     },
2026-06-03T07:18:57.4537326Z     {
2026-06-03T07:18:57.4537474Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-03T07:18:57.4537680Z       "title": "Hostable endpoint-types capability declaration",
2026-06-03T07:18:57.4537810Z       "requiredStages": [
2026-06-03T07:18:57.4537918Z         "impl",
2026-06-03T07:18:57.4538025Z         "unit"
2026-06-03T07:18:57.4538127Z       ],
2026-06-03T07:18:57.4538237Z       "stages": {
2026-06-03T07:18:57.4538344Z         "doc": {
2026-06-03T07:18:57.4538471Z           "complete": false,
2026-06-03T07:18:57.4538591Z           "evidence": []
2026-06-03T07:18:57.4538695Z         },
2026-06-03T07:18:57.4538806Z         "impl": {
2026-06-03T07:18:57.4538927Z           "complete": true,
2026-06-03T07:18:57.4539049Z           "evidence": [
2026-06-03T07:18:57.4539154Z             {
2026-06-03T07:18:57.4539323Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4539447Z               "line": 196
2026-06-03T07:18:57.4539549Z             }
2026-06-03T07:18:57.4539659Z           ]
2026-06-03T07:18:57.4539900Z         },
2026-06-03T07:18:57.4540027Z         "int": {
2026-06-03T07:18:57.4540264Z           "complete": false,
2026-06-03T07:18:57.4540386Z           "evidence": []
2026-06-03T07:18:57.4540498Z         },
2026-06-03T07:18:57.4540605Z         "unit": {
2026-06-03T07:18:57.4540733Z           "complete": true,
2026-06-03T07:18:57.4540849Z           "evidence": [
2026-06-03T07:18:57.4540960Z             {
2026-06-03T07:18:57.4541223Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4541349Z               "line": 311
2026-06-03T07:18:57.4541457Z             }
2026-06-03T07:18:57.4541563Z           ]
2026-06-03T07:18:57.4541674Z         }
2026-06-03T07:18:57.4541777Z       }
2026-06-03T07:18:57.4541885Z     },
2026-06-03T07:18:57.4541989Z     {
2026-06-03T07:18:57.4542122Z       "id": "REQ-SEAM-HISTORY",
2026-06-03T07:18:57.4542376Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-03T07:18:57.4542500Z       "requiredStages": [
2026-06-03T07:18:57.4542616Z         "impl",
2026-06-03T07:18:57.4542723Z         "unit",
2026-06-03T07:18:57.4542836Z         "int"
2026-06-03T07:18:57.4542939Z       ],
2026-06-03T07:18:57.4543053Z       "stages": {
2026-06-03T07:18:57.4543162Z         "doc": {
2026-06-03T07:18:57.4543285Z           "complete": false,
2026-06-03T07:18:57.4543407Z           "evidence": []
2026-06-03T07:18:57.4543510Z         },
2026-06-03T07:18:57.4543625Z         "impl": {
2026-06-03T07:18:57.4543747Z           "complete": true,
2026-06-03T07:18:57.4543867Z           "evidence": [
2026-06-03T07:18:57.4543973Z             {
2026-06-03T07:18:57.4544126Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4544246Z               "line": 24
2026-06-03T07:18:57.4544349Z             },
2026-06-03T07:18:57.4544455Z             {
2026-06-03T07:18:57.4544607Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4544726Z               "line": 22
2026-06-03T07:18:57.4544834Z             }
2026-06-03T07:18:57.4544944Z           ]
2026-06-03T07:18:57.4545052Z         },
2026-06-03T07:18:57.4545165Z         "int": {
2026-06-03T07:18:57.4545290Z           "complete": true,
2026-06-03T07:18:57.4545403Z           "evidence": [
2026-06-03T07:18:57.4545512Z             {
2026-06-03T07:18:57.4545682Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.4545801Z               "line": 172
2026-06-03T07:18:57.4545909Z             }
2026-06-03T07:18:57.4546013Z           ]
2026-06-03T07:18:57.4546125Z         },
2026-06-03T07:18:57.4546235Z         "unit": {
2026-06-03T07:18:57.4546363Z           "complete": true,
2026-06-03T07:18:57.4546481Z           "evidence": [
2026-06-03T07:18:57.4546585Z             {
2026-06-03T07:18:57.4546738Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4546853Z               "line": 163
2026-06-03T07:18:57.4546964Z             },
2026-06-03T07:18:57.4547066Z             {
2026-06-03T07:18:57.4547227Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4547348Z               "line": 186
2026-06-03T07:18:57.4547456Z             },
2026-06-03T07:18:57.4547562Z             {
2026-06-03T07:18:57.4547709Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T07:18:57.4547831Z               "line": 195
2026-06-03T07:18:57.4547935Z             },
2026-06-03T07:18:57.4548046Z             {
2026-06-03T07:18:57.4548207Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4548324Z               "line": 195
2026-06-03T07:18:57.4548431Z             },
2026-06-03T07:18:57.4548534Z             {
2026-06-03T07:18:57.4548694Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4548812Z               "line": 209
2026-06-03T07:18:57.4548917Z             },
2026-06-03T07:18:57.4549024Z             {
2026-06-03T07:18:57.4549175Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4549297Z               "line": 228
2026-06-03T07:18:57.4549403Z             },
2026-06-03T07:18:57.4549652Z             {
2026-06-03T07:18:57.4549810Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4550056Z               "line": 248
2026-06-03T07:18:57.4550162Z             },
2026-06-03T07:18:57.4550265Z             {
2026-06-03T07:18:57.4550449Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4550565Z               "line": 264
2026-06-03T07:18:57.4550676Z             },
2026-06-03T07:18:57.4550785Z             {
2026-06-03T07:18:57.4550934Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T07:18:57.4551055Z               "line": 279
2026-06-03T07:18:57.4551266Z             }
2026-06-03T07:18:57.4551380Z           ]
2026-06-03T07:18:57.4551486Z         }
2026-06-03T07:18:57.4551595Z       }
2026-06-03T07:18:57.4551703Z     },
2026-06-03T07:18:57.4551805Z     {
2026-06-03T07:18:57.4551945Z       "id": "REQ-SEAM-INJECT",
2026-06-03T07:18:57.4552180Z       "title": "inject-input methods configurable per activity-state",
2026-06-03T07:18:57.4552312Z       "requiredStages": [
2026-06-03T07:18:57.4552421Z         "impl",
2026-06-03T07:18:57.4552539Z         "unit"
2026-06-03T07:18:57.4552649Z       ],
2026-06-03T07:18:57.4552761Z       "stages": {
2026-06-03T07:18:57.4552876Z         "doc": {
2026-06-03T07:18:57.4553000Z           "complete": false,
2026-06-03T07:18:57.4553123Z           "evidence": []
2026-06-03T07:18:57.4553228Z         },
2026-06-03T07:18:57.4553342Z         "impl": {
2026-06-03T07:18:57.4553469Z           "complete": true,
2026-06-03T07:18:57.4553585Z           "evidence": [
2026-06-03T07:18:57.4553695Z             {
2026-06-03T07:18:57.4553850Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4553969Z               "line": 19
2026-06-03T07:18:57.4554075Z             },
2026-06-03T07:18:57.4554186Z             {
2026-06-03T07:18:57.4554345Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4554462Z               "line": 104
2026-06-03T07:18:57.4554579Z             }
2026-06-03T07:18:57.4554684Z           ]
2026-06-03T07:18:57.4554794Z         },
2026-06-03T07:18:57.4554907Z         "int": {
2026-06-03T07:18:57.4555037Z           "complete": false,
2026-06-03T07:18:57.4555159Z           "evidence": []
2026-06-03T07:18:57.4555268Z         },
2026-06-03T07:18:57.4555382Z         "unit": {
2026-06-03T07:18:57.4555504Z           "complete": true,
2026-06-03T07:18:57.4555624Z           "evidence": [
2026-06-03T07:18:57.4555731Z             {
2026-06-03T07:18:57.4555890Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4556014Z               "line": 222
2026-06-03T07:18:57.4556121Z             },
2026-06-03T07:18:57.4556234Z             {
2026-06-03T07:18:57.4556389Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T07:18:57.4556513Z               "line": 236
2026-06-03T07:18:57.4556620Z             }
2026-06-03T07:18:57.4556738Z           ]
2026-06-03T07:18:57.4556851Z         }
2026-06-03T07:18:57.4556959Z       }
2026-06-03T07:18:57.4557077Z     },
2026-06-03T07:18:57.4557184Z     {
2026-06-03T07:18:57.4557331Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-03T07:18:57.4557524Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-03T07:18:57.4557654Z       "requiredStages": [
2026-06-03T07:18:57.4557770Z         "impl",
2026-06-03T07:18:57.4557879Z         "unit"
2026-06-03T07:18:57.4557992Z       ],
2026-06-03T07:18:57.4558105Z       "stages": {
2026-06-03T07:18:57.4558219Z         "doc": {
2026-06-03T07:18:57.4558346Z           "complete": false,
2026-06-03T07:18:57.4558478Z           "evidence": []
2026-06-03T07:18:57.4558592Z         },
2026-06-03T07:18:57.4558709Z         "impl": {
2026-06-03T07:18:57.4558844Z           "complete": true,
2026-06-03T07:18:57.4558960Z           "evidence": [
2026-06-03T07:18:57.4559074Z             {
2026-06-03T07:18:57.4559230Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4559356Z               "line": 17
2026-06-03T07:18:57.4559603Z             },
2026-06-03T07:18:57.4559715Z             {
2026-06-03T07:18:57.4559876Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4560104Z               "line": 236
2026-06-03T07:18:57.4560219Z             }
2026-06-03T07:18:57.4560327Z           ]
2026-06-03T07:18:57.4560442Z         },
2026-06-03T07:18:57.4560556Z         "int": {
2026-06-03T07:18:57.4560683Z           "complete": false,
2026-06-03T07:18:57.4560807Z           "evidence": []
2026-06-03T07:18:57.4560913Z         },
2026-06-03T07:18:57.4561030Z         "unit": {
2026-06-03T07:18:57.4561270Z           "complete": true,
2026-06-03T07:18:57.4561397Z           "evidence": [
2026-06-03T07:18:57.4561508Z             {
2026-06-03T07:18:57.4561665Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4561792Z               "line": 368
2026-06-03T07:18:57.4561901Z             },
2026-06-03T07:18:57.4562014Z             {
2026-06-03T07:18:57.4562168Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4562301Z               "line": 378
2026-06-03T07:18:57.4562417Z             }
2026-06-03T07:18:57.4562530Z           ]
2026-06-03T07:18:57.4562647Z         }
2026-06-03T07:18:57.4562756Z       }
2026-06-03T07:18:57.4562869Z     },
2026-06-03T07:18:57.4562975Z     {
2026-06-03T07:18:57.4563121Z       "id": "REQ-SEAM-PSYCHE",
2026-06-03T07:18:57.4563324Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-03T07:18:57.4563452Z       "requiredStages": [
2026-06-03T07:18:57.4563569Z         "impl",
2026-06-03T07:18:57.4563678Z         "unit",
2026-06-03T07:18:57.4563791Z         "int"
2026-06-03T07:18:57.4563896Z       ],
2026-06-03T07:18:57.4564020Z       "stages": {
2026-06-03T07:18:57.4564139Z         "doc": {
2026-06-03T07:18:57.4564264Z           "complete": false,
2026-06-03T07:18:57.4564390Z           "evidence": []
2026-06-03T07:18:57.4564496Z         },
2026-06-03T07:18:57.4564615Z         "impl": {
2026-06-03T07:18:57.4564741Z           "complete": true,
2026-06-03T07:18:57.4564876Z           "evidence": [
2026-06-03T07:18:57.4564990Z             {
2026-06-03T07:18:57.4565154Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T07:18:57.4565280Z               "line": 19
2026-06-03T07:18:57.4565390Z             },
2026-06-03T07:18:57.4565504Z             {
2026-06-03T07:18:57.4565662Z               "path": "crates/spt/src/api/live.rs",
2026-06-03T07:18:57.4565787Z               "line": 12
2026-06-03T07:18:57.4565900Z             },
2026-06-03T07:18:57.4566009Z             {
2026-06-03T07:18:57.4566169Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4566289Z               "line": 143
2026-06-03T07:18:57.4566402Z             }
2026-06-03T07:18:57.4566510Z           ]
2026-06-03T07:18:57.4566625Z         },
2026-06-03T07:18:57.4566741Z         "int": {
2026-06-03T07:18:57.4566865Z           "complete": true,
2026-06-03T07:18:57.4566989Z           "evidence": [
2026-06-03T07:18:57.4567096Z             {
2026-06-03T07:18:57.4567278Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.4567399Z               "line": 171
2026-06-03T07:18:57.4567519Z             }
2026-06-03T07:18:57.4567632Z           ]
2026-06-03T07:18:57.4567741Z         },
2026-06-03T07:18:57.4567859Z         "unit": {
2026-06-03T07:18:57.4567983Z           "complete": true,
2026-06-03T07:18:57.4568108Z           "evidence": [
2026-06-03T07:18:57.4568214Z             {
2026-06-03T07:18:57.4568378Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T07:18:57.4568501Z               "line": 161
2026-06-03T07:18:57.4568609Z             },
2026-06-03T07:18:57.4568721Z             {
2026-06-03T07:18:57.4568872Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T07:18:57.4568995Z               "line": 168
2026-06-03T07:18:57.4569104Z             },
2026-06-03T07:18:57.4569215Z             {
2026-06-03T07:18:57.4569374Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T07:18:57.4569493Z               "line": 191
2026-06-03T07:18:57.4569782Z             },
2026-06-03T07:18:57.4569890Z             {
2026-06-03T07:18:57.4570162Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T07:18:57.4570281Z               "line": 105
2026-06-03T07:18:57.4570392Z             },
2026-06-03T07:18:57.4570501Z             {
2026-06-03T07:18:57.4570654Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T07:18:57.4570779Z               "line": 122
2026-06-03T07:18:57.4570888Z             },
2026-06-03T07:18:57.4570999Z             {
2026-06-03T07:18:57.4571266Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T07:18:57.4571393Z               "line": 136
2026-06-03T07:18:57.4571504Z             }
2026-06-03T07:18:57.4571610Z           ]
2026-06-03T07:18:57.4571722Z         }
2026-06-03T07:18:57.4571830Z       }
2026-06-03T07:18:57.4571943Z     },
2026-06-03T07:18:57.4572049Z     {
2026-06-03T07:18:57.4572186Z       "id": "REQ-SEAM-RESUME",
2026-06-03T07:18:57.4572452Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-03T07:18:57.4572580Z       "requiredStages": [
2026-06-03T07:18:57.4572701Z         "impl",
2026-06-03T07:18:57.4572811Z         "unit"
2026-06-03T07:18:57.4572924Z       ],
2026-06-03T07:18:57.4573036Z       "stages": {
2026-06-03T07:18:57.4573154Z         "doc": {
2026-06-03T07:18:57.4573287Z           "complete": false,
2026-06-03T07:18:57.4573406Z           "evidence": []
2026-06-03T07:18:57.4573521Z         },
2026-06-03T07:18:57.4573633Z         "impl": {
2026-06-03T07:18:57.4573765Z           "complete": true,
2026-06-03T07:18:57.4573886Z           "evidence": [
2026-06-03T07:18:57.4573998Z             {
2026-06-03T07:18:57.4574162Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T07:18:57.4574280Z               "line": 19
2026-06-03T07:18:57.4574391Z             }
2026-06-03T07:18:57.4574497Z           ]
2026-06-03T07:18:57.4574607Z         },
2026-06-03T07:18:57.4574717Z         "int": {
2026-06-03T07:18:57.4574852Z           "complete": false,
2026-06-03T07:18:57.4574975Z           "evidence": []
2026-06-03T07:18:57.4575089Z         },
2026-06-03T07:18:57.4575204Z         "unit": {
2026-06-03T07:18:57.4575327Z           "complete": true,
2026-06-03T07:18:57.4575453Z           "evidence": [
2026-06-03T07:18:57.4575561Z             {
2026-06-03T07:18:57.4575725Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T07:18:57.4575852Z               "line": 145
2026-06-03T07:18:57.4575960Z             },
2026-06-03T07:18:57.4576070Z             {
2026-06-03T07:18:57.4576225Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T07:18:57.4576352Z               "line": 164
2026-06-03T07:18:57.4576463Z             },
2026-06-03T07:18:57.4576575Z             {
2026-06-03T07:18:57.4576731Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T07:18:57.4576851Z               "line": 182
2026-06-03T07:18:57.4576968Z             },
2026-06-03T07:18:57.4577077Z             {
2026-06-03T07:18:57.4577243Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T07:18:57.4577362Z               "line": 206
2026-06-03T07:18:57.4577478Z             }
2026-06-03T07:18:57.4577592Z           ]
2026-06-03T07:18:57.4577698Z         }
2026-06-03T07:18:57.4577808Z       }
2026-06-03T07:18:57.4577913Z     },
2026-06-03T07:18:57.4578026Z     {
2026-06-03T07:18:57.4578162Z       "id": "REQ-SEAM-SPAWN",
2026-06-03T07:18:57.4578310Z       "title": "spawn-session seam",
2026-06-03T07:18:57.4578440Z       "requiredStages": [
2026-06-03T07:18:57.4578553Z         "impl",
2026-06-03T07:18:57.4578668Z         "unit"
2026-06-03T07:18:57.4578775Z       ],
2026-06-03T07:18:57.4578893Z       "stages": {
2026-06-03T07:18:57.4579005Z         "doc": {
2026-06-03T07:18:57.4579139Z           "complete": false,
2026-06-03T07:18:57.4579262Z           "evidence": []
2026-06-03T07:18:57.4579371Z         },
2026-06-03T07:18:57.4579489Z         "impl": {
2026-06-03T07:18:57.4579612Z           "complete": true,
2026-06-03T07:18:57.4579889Z           "evidence": [
2026-06-03T07:18:57.4580000Z             {
2026-06-03T07:18:57.4580181Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4580412Z               "line": 20
2026-06-03T07:18:57.4580520Z             }
2026-06-03T07:18:57.4580634Z           ]
2026-06-03T07:18:57.4580741Z         },
2026-06-03T07:18:57.4580858Z         "int": {
2026-06-03T07:18:57.4580985Z           "complete": false,
2026-06-03T07:18:57.4581112Z           "evidence": []
2026-06-03T07:18:57.4581336Z         },
2026-06-03T07:18:57.4581447Z         "unit": {
2026-06-03T07:18:57.4581578Z           "complete": true,
2026-06-03T07:18:57.4581696Z           "evidence": [
2026-06-03T07:18:57.4581810Z             {
2026-06-03T07:18:57.4581978Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4582102Z               "line": 397
2026-06-03T07:18:57.4582218Z             },
2026-06-03T07:18:57.4582326Z             {
2026-06-03T07:18:57.4582502Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4582622Z               "line": 404
2026-06-03T07:18:57.4582743Z             },
2026-06-03T07:18:57.4582853Z             {
2026-06-03T07:18:57.4583060Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4583188Z               "line": 414
2026-06-03T07:18:57.4583298Z             },
2026-06-03T07:18:57.4583413Z             {
2026-06-03T07:18:57.4583576Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4583704Z               "line": 420
2026-06-03T07:18:57.4583812Z             },
2026-06-03T07:18:57.4583926Z             {
2026-06-03T07:18:57.4584096Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4584216Z               "line": 440
2026-06-03T07:18:57.4584330Z             },
2026-06-03T07:18:57.4584439Z             {
2026-06-03T07:18:57.4584608Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T07:18:57.4584726Z               "line": 473
2026-06-03T07:18:57.4584849Z             }
2026-06-03T07:18:57.4584966Z           ]
2026-06-03T07:18:57.4585072Z         }
2026-06-03T07:18:57.4585189Z       }
2026-06-03T07:18:57.4585295Z     },
2026-06-03T07:18:57.4585409Z     {
2026-06-03T07:18:57.4585543Z       "id": "REQ-SEAM-UPDATE",
2026-06-03T07:18:57.4585787Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-03T07:18:57.4585925Z       "requiredStages": [],
2026-06-03T07:18:57.4586040Z       "stages": {
2026-06-03T07:18:57.4586158Z         "doc": {
2026-06-03T07:18:57.4586288Z           "complete": false,
2026-06-03T07:18:57.4586411Z           "evidence": []
2026-06-03T07:18:57.4586520Z         },
2026-06-03T07:18:57.4586643Z         "impl": {
2026-06-03T07:18:57.4586774Z           "complete": false,
2026-06-03T07:18:57.4586895Z           "evidence": []
2026-06-03T07:18:57.4587012Z         },
2026-06-03T07:18:57.4587123Z         "int": {
2026-06-03T07:18:57.4587251Z           "complete": false,
2026-06-03T07:18:57.4587372Z           "evidence": []
2026-06-03T07:18:57.4587491Z         },
2026-06-03T07:18:57.4587608Z         "unit": {
2026-06-03T07:18:57.4587739Z           "complete": false,
2026-06-03T07:18:57.4587865Z           "evidence": []
2026-06-03T07:18:57.4587972Z         }
2026-06-03T07:18:57.4588088Z       }
2026-06-03T07:18:57.4588193Z     },
2026-06-03T07:18:57.4588305Z     {
2026-06-03T07:18:57.4588432Z       "id": "REQ-SEC-1",
2026-06-03T07:18:57.4588971Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-03T07:18:57.4589106Z       "requiredStages": [],
2026-06-03T07:18:57.4589218Z       "stages": {
2026-06-03T07:18:57.4589339Z         "doc": {
2026-06-03T07:18:57.4589464Z           "complete": false,
2026-06-03T07:18:57.4589590Z           "evidence": []
2026-06-03T07:18:57.4589701Z         },
2026-06-03T07:18:57.4589814Z         "impl": {
2026-06-03T07:18:57.4589945Z           "complete": false,
2026-06-03T07:18:57.4590209Z           "evidence": []
2026-06-03T07:18:57.4590326Z         },
2026-06-03T07:18:57.4590436Z         "int": {
2026-06-03T07:18:57.4590675Z           "complete": false,
2026-06-03T07:18:57.4590800Z           "evidence": []
2026-06-03T07:18:57.4590908Z         },
2026-06-03T07:18:57.4591025Z         "unit": {
2026-06-03T07:18:57.4591286Z           "complete": false,
2026-06-03T07:18:57.4591428Z           "evidence": []
2026-06-03T07:18:57.4591534Z         }
2026-06-03T07:18:57.4591648Z       }
2026-06-03T07:18:57.4591759Z     },
2026-06-03T07:18:57.4591862Z     {
2026-06-03T07:18:57.4591995Z       "id": "REQ-START-1",
2026-06-03T07:18:57.4592260Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-03T07:18:57.4592393Z       "requiredStages": [
2026-06-03T07:18:57.4592506Z         "impl",
2026-06-03T07:18:57.4595344Z         "unit"
2026-06-03T07:18:57.4595478Z       ],
2026-06-03T07:18:57.4595598Z       "stages": {
2026-06-03T07:18:57.4595717Z         "doc": {
2026-06-03T07:18:57.4595868Z           "complete": false,
2026-06-03T07:18:57.4595995Z           "evidence": []
2026-06-03T07:18:57.4596110Z         },
2026-06-03T07:18:57.4596230Z         "impl": {
2026-06-03T07:18:57.4596363Z           "complete": true,
2026-06-03T07:18:57.4596487Z           "evidence": [
2026-06-03T07:18:57.4596604Z             {
2026-06-03T07:18:57.4596776Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T07:18:57.4596902Z               "line": 12
2026-06-03T07:18:57.4597014Z             },
2026-06-03T07:18:57.4597129Z             {
2026-06-03T07:18:57.4597296Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4597418Z               "line": 15
2026-06-03T07:18:57.4597538Z             },
2026-06-03T07:18:57.4597647Z             {
2026-06-03T07:18:57.4597813Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4597935Z               "line": 38
2026-06-03T07:18:57.4598050Z             }
2026-06-03T07:18:57.4598168Z           ]
2026-06-03T07:18:57.4598283Z         },
2026-06-03T07:18:57.4598401Z         "int": {
2026-06-03T07:18:57.4598535Z           "complete": false,
2026-06-03T07:18:57.4598661Z           "evidence": []
2026-06-03T07:18:57.4598770Z         },
2026-06-03T07:18:57.4598891Z         "unit": {
2026-06-03T07:18:57.4599021Z           "complete": true,
2026-06-03T07:18:57.4599144Z           "evidence": [
2026-06-03T07:18:57.4599258Z             {
2026-06-03T07:18:57.4599416Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T07:18:57.4599541Z               "line": 97
2026-06-03T07:18:57.4599650Z             },
2026-06-03T07:18:57.4599764Z             {
2026-06-03T07:18:57.4599924Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T07:18:57.4600045Z               "line": 112
2026-06-03T07:18:57.4600156Z             }
2026-06-03T07:18:57.4600264Z           ]
2026-06-03T07:18:57.4600377Z         }
2026-06-03T07:18:57.4600487Z       }
2026-06-03T07:18:57.4600602Z     },
2026-06-03T07:18:57.4600713Z     {
2026-06-03T07:18:57.4600849Z       "id": "REQ-START-2",
2026-06-03T07:18:57.4601053Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-03T07:18:57.4601350Z       "requiredStages": [
2026-06-03T07:18:57.4601472Z         "impl",
2026-06-03T07:18:57.4601587Z         "unit",
2026-06-03T07:18:57.4601700Z         "int"
2026-06-03T07:18:57.4601813Z       ],
2026-06-03T07:18:57.4601927Z       "stages": {
2026-06-03T07:18:57.4602042Z         "doc": {
2026-06-03T07:18:57.4602171Z           "complete": false,
2026-06-03T07:18:57.4602297Z           "evidence": []
2026-06-03T07:18:57.4602404Z         },
2026-06-03T07:18:57.4602520Z         "impl": {
2026-06-03T07:18:57.4602648Z           "complete": true,
2026-06-03T07:18:57.4602772Z           "evidence": [
2026-06-03T07:18:57.4602882Z             {
2026-06-03T07:18:57.4603039Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4603164Z               "line": 16
2026-06-03T07:18:57.4603274Z             },
2026-06-03T07:18:57.4603622Z             {
2026-06-03T07:18:57.4603784Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4604020Z               "line": 81
2026-06-03T07:18:57.4604135Z             },
2026-06-03T07:18:57.4604244Z             {
2026-06-03T07:18:57.4604407Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4604530Z               "line": 142
2026-06-03T07:18:57.4604646Z             }
2026-06-03T07:18:57.4604760Z           ]
2026-06-03T07:18:57.4604871Z         },
2026-06-03T07:18:57.4604989Z         "int": {
2026-06-03T07:18:57.4605115Z           "complete": true,
2026-06-03T07:18:57.4605242Z           "evidence": [
2026-06-03T07:18:57.4605349Z             {
2026-06-03T07:18:57.4605525Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T07:18:57.4605651Z               "line": 121
2026-06-03T07:18:57.4605764Z             }
2026-06-03T07:18:57.4605880Z           ]
2026-06-03T07:18:57.4605991Z         },
2026-06-03T07:18:57.4606111Z         "unit": {
2026-06-03T07:18:57.4606244Z           "complete": true,
2026-06-03T07:18:57.4606372Z           "evidence": [
2026-06-03T07:18:57.4606495Z             {
2026-06-03T07:18:57.4606651Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4606775Z               "line": 309
2026-06-03T07:18:57.4606886Z             },
2026-06-03T07:18:57.4607000Z             {
2026-06-03T07:18:57.4607152Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4607282Z               "line": 339
2026-06-03T07:18:57.4607396Z             },
2026-06-03T07:18:57.4607506Z             {
2026-06-03T07:18:57.4607668Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T07:18:57.4607791Z               "line": 346
2026-06-03T07:18:57.4607907Z             }
2026-06-03T07:18:57.4608015Z           ]
2026-06-03T07:18:57.4608130Z         }
2026-06-03T07:18:57.4608245Z       }
2026-06-03T07:18:57.4608351Z     },
2026-06-03T07:18:57.4608462Z     {
2026-06-03T07:18:57.4608590Z       "id": "REQ-START-3",
2026-06-03T07:18:57.4608834Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-03T07:18:57.4608966Z       "requiredStages": [],
2026-06-03T07:18:57.4609086Z       "stages": {
2026-06-03T07:18:57.4609206Z         "doc": {
2026-06-03T07:18:57.4609331Z           "complete": false,
2026-06-03T07:18:57.4609458Z           "evidence": []
2026-06-03T07:18:57.4609567Z         },
2026-06-03T07:18:57.4609688Z         "impl": {
2026-06-03T07:18:57.4609814Z           "complete": false,
2026-06-03T07:18:57.4609941Z           "evidence": []
2026-06-03T07:18:57.4610057Z         },
2026-06-03T07:18:57.4610169Z         "int": {
2026-06-03T07:18:57.4610301Z           "complete": false,
2026-06-03T07:18:57.4610421Z           "evidence": []
2026-06-03T07:18:57.4610537Z         },
2026-06-03T07:18:57.4610648Z         "unit": {
2026-06-03T07:18:57.4610780Z           "complete": false,
2026-06-03T07:18:57.4610903Z           "evidence": []
2026-06-03T07:18:57.4611014Z         }
2026-06-03T07:18:57.4611244Z       }
2026-06-03T07:18:57.4611354Z     },
2026-06-03T07:18:57.4611462Z     {
2026-06-03T07:18:57.4611593Z       "id": "REQ-START-4",
2026-06-03T07:18:57.4611789Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-03T07:18:57.4611918Z       "requiredStages": [
2026-06-03T07:18:57.4612031Z         "impl",
2026-06-03T07:18:57.4612146Z         "unit"
2026-06-03T07:18:57.4612255Z       ],
2026-06-03T07:18:57.4612372Z       "stages": {
2026-06-03T07:18:57.4612484Z         "doc": {
2026-06-03T07:18:57.4612615Z           "complete": false,
2026-06-03T07:18:57.4612742Z           "evidence": []
2026-06-03T07:18:57.4612853Z         },
2026-06-03T07:18:57.4612973Z         "impl": {
2026-06-03T07:18:57.4613097Z           "complete": true,
2026-06-03T07:18:57.4613223Z           "evidence": [
2026-06-03T07:18:57.4613330Z             {
2026-06-03T07:18:57.4613503Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4613628Z               "line": 183
2026-06-03T07:18:57.4613875Z             }
2026-06-03T07:18:57.4613990Z           ]
2026-06-03T07:18:57.4614101Z         },
2026-06-03T07:18:57.4614324Z         "int": {
2026-06-03T07:18:57.4614451Z           "complete": false,
2026-06-03T07:18:57.4614576Z           "evidence": []
2026-06-03T07:18:57.4614685Z         },
2026-06-03T07:18:57.4614803Z         "unit": {
2026-06-03T07:18:57.4614933Z           "complete": true,
2026-06-03T07:18:57.4615056Z           "evidence": [
2026-06-03T07:18:57.4615168Z             {
2026-06-03T07:18:57.4615336Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T07:18:57.4615464Z               "line": 324
2026-06-03T07:18:57.4615580Z             }
2026-06-03T07:18:57.4615690Z           ]
2026-06-03T07:18:57.4615803Z         }
2026-06-03T07:18:57.4615911Z       }
2026-06-03T07:18:57.4616023Z     },
2026-06-03T07:18:57.4616131Z     {
2026-06-03T07:18:57.4616265Z       "id": "REQ-STORE-1",
2026-06-03T07:18:57.4622070Z       "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-03T07:18:57.4622235Z       "requiredStages": [],
2026-06-03T07:18:57.4622360Z       "stages": {
2026-06-03T07:18:57.4622476Z         "doc": {
2026-06-03T07:18:57.4622620Z           "complete": false,
2026-06-03T07:18:57.4622750Z           "evidence": []
2026-06-03T07:18:57.4622861Z         },
2026-06-03T07:18:57.4622980Z         "impl": {
2026-06-03T07:18:57.4623110Z           "complete": false,
2026-06-03T07:18:57.4623238Z           "evidence": []
2026-06-03T07:18:57.4623348Z         },
2026-06-03T07:18:57.4623464Z         "int": {
2026-06-03T07:18:57.4623594Z           "complete": false,
2026-06-03T07:18:57.4623717Z           "evidence": []
2026-06-03T07:18:57.4623829Z         },
2026-06-03T07:18:57.4623942Z         "unit": {
2026-06-03T07:18:57.4624080Z           "complete": false,
2026-06-03T07:18:57.4624202Z           "evidence": []
2026-06-03T07:18:57.4624318Z         }
2026-06-03T07:18:57.4624432Z       }
2026-06-03T07:18:57.4624539Z     },
2026-06-03T07:18:57.4624650Z     {
2026-06-03T07:18:57.4624778Z       "id": "REQ-TERM-1",
2026-06-03T07:18:57.4625033Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-03T07:18:57.4625163Z       "requiredStages": [
2026-06-03T07:18:57.4625279Z         "impl",
2026-06-03T07:18:57.4625393Z         "unit"
2026-06-03T07:18:57.4625502Z       ],
2026-06-03T07:18:57.4625625Z       "stages": {
2026-06-03T07:18:57.4625738Z         "doc": {
2026-06-03T07:18:57.4625872Z           "complete": false,
2026-06-03T07:18:57.4625995Z           "evidence": []
2026-06-03T07:18:57.4626108Z         },
2026-06-03T07:18:57.4626227Z         "impl": {
2026-06-03T07:18:57.4626354Z           "complete": true,
2026-06-03T07:18:57.4626480Z           "evidence": [
2026-06-03T07:18:57.4626592Z             {
2026-06-03T07:18:57.4626771Z               "path": "crates/spt-term/src/pty.rs",
2026-06-03T07:18:57.4626897Z               "line": 61
2026-06-03T07:18:57.4627013Z             },
2026-06-03T07:18:57.4627126Z             {
2026-06-03T07:18:57.4627281Z               "path": "crates/spt-term/src/pty.rs",
2026-06-03T07:18:57.4627410Z               "line": 169
2026-06-03T07:18:57.4627521Z             },
2026-06-03T07:18:57.4627637Z             {
2026-06-03T07:18:57.4627804Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T07:18:57.4627933Z               "line": 95
2026-06-03T07:18:57.4628047Z             }
2026-06-03T07:18:57.4628156Z           ]
2026-06-03T07:18:57.4628268Z         },
2026-06-03T07:18:57.4628382Z         "int": {
2026-06-03T07:18:57.4628514Z           "complete": false,
2026-06-03T07:18:57.4628636Z           "evidence": []
2026-06-03T07:18:57.4628749Z         },
2026-06-03T07:18:57.4628867Z         "unit": {
2026-06-03T07:18:57.4628992Z           "complete": true,
2026-06-03T07:18:57.4629313Z           "evidence": [
2026-06-03T07:18:57.4629427Z             {
2026-06-03T07:18:57.4629711Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-03T07:18:57.4629830Z               "line": 28
2026-06-03T07:18:57.4629950Z             },
2026-06-03T07:18:57.4630071Z             {
2026-06-03T07:18:57.4630247Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-03T07:18:57.4630376Z               "line": 60
2026-06-03T07:18:57.4630487Z             }
2026-06-03T07:18:57.4630602Z           ]
2026-06-03T07:18:57.4630710Z         }
2026-06-03T07:18:57.4630824Z       }
2026-06-03T07:18:57.4630935Z     },
2026-06-03T07:18:57.4631040Z     {
2026-06-03T07:18:57.4631297Z       "id": "REQ-TERM-2",
2026-06-03T07:18:57.4631558Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-03T07:18:57.4631692Z       "requiredStages": [
2026-06-03T07:18:57.4631807Z         "impl",
2026-06-03T07:18:57.4631926Z         "unit"
2026-06-03T07:18:57.4632046Z       ],
2026-06-03T07:18:57.4632161Z       "stages": {
2026-06-03T07:18:57.4632281Z         "doc": {
2026-06-03T07:18:57.4632417Z           "complete": false,
2026-06-03T07:18:57.4632542Z           "evidence": []
2026-06-03T07:18:57.4632652Z         },
2026-06-03T07:18:57.4632771Z         "impl": {
2026-06-03T07:18:57.4632899Z           "complete": true,
2026-06-03T07:18:57.4633019Z           "evidence": [
2026-06-03T07:18:57.4633131Z             {
2026-06-03T07:18:57.4633293Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T07:18:57.4633419Z               "line": 112
2026-06-03T07:18:57.4633528Z             },
2026-06-03T07:18:57.4633641Z             {
2026-06-03T07:18:57.4633801Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T07:18:57.4633921Z               "line": 122
2026-06-03T07:18:57.4634035Z             }
2026-06-03T07:18:57.4634144Z           ]
2026-06-03T07:18:57.4634256Z         },
2026-06-03T07:18:57.4634368Z         "int": {
2026-06-03T07:18:57.4634508Z           "complete": false,
2026-06-03T07:18:57.4634634Z           "evidence": []
2026-06-03T07:18:57.4634748Z         },
2026-06-03T07:18:57.4634867Z         "unit": {
2026-06-03T07:18:57.4634994Z           "complete": true,
2026-06-03T07:18:57.4635118Z           "evidence": [
2026-06-03T07:18:57.4635228Z             {
2026-06-03T07:18:57.4635399Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-03T07:18:57.4635521Z               "line": 46
2026-06-03T07:18:57.4635633Z             },
2026-06-03T07:18:57.4635746Z             {
2026-06-03T07:18:57.4635913Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-03T07:18:57.4636037Z               "line": 71
2026-06-03T07:18:57.4636147Z             }
2026-06-03T07:18:57.4636263Z           ]
2026-06-03T07:18:57.4636374Z         }
2026-06-03T07:18:57.4636483Z       }
2026-06-03T07:18:57.4636596Z     },
2026-06-03T07:18:57.4636703Z     {
2026-06-03T07:18:57.4636837Z       "id": "REQ-TERM-3",
2026-06-03T07:18:57.4637045Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-03T07:18:57.4637181Z       "requiredStages": [
2026-06-03T07:18:57.4637305Z         "impl",
2026-06-03T07:18:57.4637417Z         "unit"
2026-06-03T07:18:57.4637530Z       ],
2026-06-03T07:18:57.4637645Z       "stages": {
2026-06-03T07:18:57.4637760Z         "doc": {
2026-06-03T07:18:57.4637890Z           "complete": false,
2026-06-03T07:18:57.4638017Z           "evidence": []
2026-06-03T07:18:57.4638132Z         },
2026-06-03T07:18:57.4638248Z         "impl": {
2026-06-03T07:18:57.4638381Z           "complete": true,
2026-06-03T07:18:57.4638503Z           "evidence": [
2026-06-03T07:18:57.4638619Z             {
2026-06-03T07:18:57.4638785Z               "path": "crates/spt-term/src/stream.rs",
2026-06-03T07:18:57.4638909Z               "line": 71
2026-06-03T07:18:57.4639024Z             }
2026-06-03T07:18:57.4639133Z           ]
2026-06-03T07:18:57.4639248Z         },
2026-06-03T07:18:57.4639363Z         "int": {
2026-06-03T07:18:57.4639639Z           "complete": false,
2026-06-03T07:18:57.4639763Z           "evidence": []
2026-06-03T07:18:57.4639874Z         },
2026-06-03T07:18:57.4640098Z         "unit": {
2026-06-03T07:18:57.4640226Z           "complete": true,
2026-06-03T07:18:57.4640351Z           "evidence": [
2026-06-03T07:18:57.4640462Z             {
2026-06-03T07:18:57.4640633Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-03T07:18:57.4640751Z               "line": 37
2026-06-03T07:18:57.4640866Z             },
2026-06-03T07:18:57.4640978Z             {
2026-06-03T07:18:57.4641248Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-03T07:18:57.4641373Z               "line": 67
2026-06-03T07:18:57.4641482Z             }
2026-06-03T07:18:57.4641598Z           ]
2026-06-03T07:18:57.4641707Z         }
2026-06-03T07:18:57.4641819Z       }
2026-06-03T07:18:57.4641930Z     },
2026-06-03T07:18:57.4642034Z     {
2026-06-03T07:18:57.4642160Z       "id": "REQ-TERM-4",
2026-06-03T07:18:57.4642658Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-03T07:18:57.4642795Z       "requiredStages": [
2026-06-03T07:18:57.4642909Z         "impl",
2026-06-03T07:18:57.4643024Z         "unit"
2026-06-03T07:18:57.4643137Z       ],
2026-06-03T07:18:57.4643252Z       "stages": {
2026-06-03T07:18:57.4643368Z         "doc": {
2026-06-03T07:18:57.4643498Z           "complete": false,
2026-06-03T07:18:57.4643634Z           "evidence": []
2026-06-03T07:18:57.4643742Z         },
2026-06-03T07:18:57.4643858Z         "impl": {
2026-06-03T07:18:57.4643985Z           "complete": true,
2026-06-03T07:18:57.4644105Z           "evidence": [
2026-06-03T07:18:57.4644217Z             {
2026-06-03T07:18:57.4644381Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4644509Z               "line": 156
2026-06-03T07:18:57.4644619Z             },
2026-06-03T07:18:57.4644731Z             {
2026-06-03T07:18:57.4644899Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4645023Z               "line": 198
2026-06-03T07:18:57.4645144Z             },
2026-06-03T07:18:57.4645252Z             {
2026-06-03T07:18:57.4645408Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4645532Z               "line": 225
2026-06-03T07:18:57.4645641Z             }
2026-06-03T07:18:57.4645753Z           ]
2026-06-03T07:18:57.4645861Z         },
2026-06-03T07:18:57.4645976Z         "int": {
2026-06-03T07:18:57.4646102Z           "complete": false,
2026-06-03T07:18:57.4646227Z           "evidence": []
2026-06-03T07:18:57.4646338Z         },
2026-06-03T07:18:57.4646455Z         "unit": {
2026-06-03T07:18:57.4646585Z           "complete": true,
2026-06-03T07:18:57.4646704Z           "evidence": [
2026-06-03T07:18:57.4646816Z             {
2026-06-03T07:18:57.4646978Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4647102Z               "line": 380
2026-06-03T07:18:57.4647216Z             },
2026-06-03T07:18:57.4647333Z             {
2026-06-03T07:18:57.4647492Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4647618Z               "line": 401
2026-06-03T07:18:57.4647730Z             },
2026-06-03T07:18:57.4647838Z             {
2026-06-03T07:18:57.4647996Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4648120Z               "line": 414
2026-06-03T07:18:57.4648230Z             },
2026-06-03T07:18:57.4648340Z             {
2026-06-03T07:18:57.4648497Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4648623Z               "line": 433
2026-06-03T07:18:57.4648732Z             },
2026-06-03T07:18:57.4648843Z             {
2026-06-03T07:18:57.4649001Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T07:18:57.4649123Z               "line": 460
2026-06-03T07:18:57.4649237Z             },
2026-06-03T07:18:57.4649347Z             {
2026-06-03T07:18:57.4649516Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-03T07:18:57.4649771Z               "line": 32
2026-06-03T07:18:57.4649887Z             }
2026-06-03T07:18:57.4650105Z           ]
2026-06-03T07:18:57.4650216Z         }
2026-06-03T07:18:57.4650330Z       }
2026-06-03T07:18:57.4650438Z     },
2026-06-03T07:18:57.4650550Z     {
2026-06-03T07:18:57.4650679Z       "id": "REQ-UPD-1",
2026-06-03T07:18:57.4650853Z       "title": "Peer-propagated update over P2P",
2026-06-03T07:18:57.4650983Z       "requiredStages": [],
2026-06-03T07:18:57.4651097Z       "stages": {
2026-06-03T07:18:57.4651327Z         "doc": {
2026-06-03T07:18:57.4651458Z           "complete": false,
2026-06-03T07:18:57.4651579Z           "evidence": []
2026-06-03T07:18:57.4651689Z         },
2026-06-03T07:18:57.4651807Z         "impl": {
2026-06-03T07:18:57.4651938Z           "complete": false,
2026-06-03T07:18:57.4652060Z           "evidence": []
2026-06-03T07:18:57.4652171Z         },
2026-06-03T07:18:57.4652282Z         "int": {
2026-06-03T07:18:57.4652411Z           "complete": false,
2026-06-03T07:18:57.4652541Z           "evidence": []
2026-06-03T07:18:57.4652652Z         },
2026-06-03T07:18:57.4652773Z         "unit": {
2026-06-03T07:18:57.4652897Z           "complete": false,
2026-06-03T07:18:57.4653022Z           "evidence": []
2026-06-03T07:18:57.4653131Z         }
2026-06-03T07:18:57.4653240Z       }
2026-06-03T07:18:57.4653345Z     },
2026-06-03T07:18:57.4653455Z     {
2026-06-03T07:18:57.4653577Z       "id": "REQ-UPD-2",
2026-06-03T07:18:57.4653793Z       "title": "All binaries signature-verified before handoff",
2026-06-03T07:18:57.4653929Z       "requiredStages": [],
2026-06-03T07:18:57.4654042Z       "stages": {
2026-06-03T07:18:57.4654157Z         "doc": {
2026-06-03T07:18:57.4654281Z           "complete": false,
2026-06-03T07:18:57.4654409Z           "evidence": []
2026-06-03T07:18:57.4654523Z         },
2026-06-03T07:18:57.4654635Z         "impl": {
2026-06-03T07:18:57.4654763Z           "complete": false,
2026-06-03T07:18:57.4654882Z           "evidence": []
2026-06-03T07:18:57.4654998Z         },
2026-06-03T07:18:57.4655110Z         "int": {
2026-06-03T07:18:57.4655238Z           "complete": false,
2026-06-03T07:18:57.4655361Z           "evidence": []
2026-06-03T07:18:57.4655472Z         },
2026-06-03T07:18:57.4655587Z         "unit": {
2026-06-03T07:18:57.4655714Z           "complete": false,
2026-06-03T07:18:57.4655840Z           "evidence": []
2026-06-03T07:18:57.4655948Z         }
2026-06-03T07:18:57.4656061Z       }
2026-06-03T07:18:57.4656169Z     },
2026-06-03T07:18:57.4656280Z     {
2026-06-03T07:18:57.4656407Z       "id": "REQ-UPD-3",
2026-06-03T07:18:57.4656651Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-03T07:18:57.4656783Z       "requiredStages": [],
2026-06-03T07:18:57.4656895Z       "stages": {
2026-06-03T07:18:57.4657012Z         "doc": {
2026-06-03T07:18:57.4657139Z           "complete": false,
2026-06-03T07:18:57.4657266Z           "evidence": []
2026-06-03T07:18:57.4657379Z         },
2026-06-03T07:18:57.4657491Z         "impl": {
2026-06-03T07:18:57.4657630Z           "complete": false,
2026-06-03T07:18:57.4657754Z           "evidence": []
2026-06-03T07:18:57.4657873Z         },
2026-06-03T07:18:57.4657987Z         "int": {
2026-06-03T07:18:57.4658121Z           "complete": false,
2026-06-03T07:18:57.4658249Z           "evidence": []
2026-06-03T07:18:57.4658359Z         },
2026-06-03T07:18:57.4658478Z         "unit": {
2026-06-03T07:18:57.4658605Z           "complete": false,
2026-06-03T07:18:57.4658731Z           "evidence": []
2026-06-03T07:18:57.4658840Z         }
2026-06-03T07:18:57.4658953Z       }
2026-06-03T07:18:57.4659065Z     },
2026-06-03T07:18:57.4659172Z     {
2026-06-03T07:18:57.4659301Z       "id": "REQ-UPD-4",
2026-06-03T07:18:57.4659555Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-03T07:18:57.4659687Z       "requiredStages": [],
2026-06-03T07:18:57.4659801Z       "stages": {
2026-06-03T07:18:57.4660154Z         "doc": {
2026-06-03T07:18:57.4660496Z           "complete": false,
2026-06-03T07:18:57.4660675Z           "evidence": []
2026-06-03T07:18:57.4660791Z         },
2026-06-03T07:18:57.4661071Z         "impl": {
2026-06-03T07:18:57.4661314Z           "complete": false,
2026-06-03T07:18:57.4661436Z           "evidence": []
2026-06-03T07:18:57.4661550Z         },
2026-06-03T07:18:57.4661668Z         "int": {
2026-06-03T07:18:57.4661799Z           "complete": false,
2026-06-03T07:18:57.4661926Z           "evidence": []
2026-06-03T07:18:57.4662035Z         },
2026-06-03T07:18:57.4662155Z         "unit": {
2026-06-03T07:18:57.4662283Z           "complete": false,
2026-06-03T07:18:57.4662411Z           "evidence": []
2026-06-03T07:18:57.4662520Z         }
2026-06-03T07:18:57.4662627Z       }
2026-06-03T07:18:57.4662737Z     },
2026-06-03T07:18:57.4662846Z     {
2026-06-03T07:18:57.4662975Z       "id": "REQ-UPD-5",
2026-06-03T07:18:57.4663186Z       "title": "spt-core ripple-updates registered adapters",
2026-06-03T07:18:57.4663318Z       "requiredStages": [],
2026-06-03T07:18:57.4663443Z       "stages": {
2026-06-03T07:18:57.4663558Z         "doc": {
2026-06-03T07:18:57.4663697Z           "complete": false,
2026-06-03T07:18:57.4663816Z           "evidence": []
2026-06-03T07:18:57.4663929Z         },
2026-06-03T07:18:57.4664043Z         "impl": {
2026-06-03T07:18:57.4664174Z           "complete": false,
2026-06-03T07:18:57.4664295Z           "evidence": []
2026-06-03T07:18:57.4664404Z         },
2026-06-03T07:18:57.4664523Z         "int": {
2026-06-03T07:18:57.4664648Z           "complete": false,
2026-06-03T07:18:57.4664772Z           "evidence": []
2026-06-03T07:18:57.4664881Z         },
2026-06-03T07:18:57.4664998Z         "unit": {
2026-06-03T07:18:57.4665126Z           "complete": false,
2026-06-03T07:18:57.4665244Z           "evidence": []
2026-06-03T07:18:57.4665354Z         }
2026-06-03T07:18:57.4665464Z       }
2026-06-03T07:18:57.4665574Z     }
2026-06-03T07:18:57.4665679Z   ],
2026-06-03T07:18:57.4665798Z   "findings": []
2026-06-03T07:18:57.4665904Z }
2026-06-03T07:18:57.4699115Z ##[group]Run ./traceable-reqs lint || true
2026-06-03T07:18:57.4699286Z [36;1m./traceable-reqs lint || true[0m
2026-06-03T07:18:57.4727386Z shell: /usr/bin/bash -e {0}
2026-06-03T07:18:57.4727508Z ##[endgroup]
2026-06-03T07:18:57.4841417Z Requirement quality findings (9); 120 requirements queued for agent review:
2026-06-03T07:18:57.4842785Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T07:18:57.4843825Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T07:18:57.4844751Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T07:18:57.4845376Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-03T07:18:57.4846086Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-03T07:18:57.4846859Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T07:18:57.4847777Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T07:18:57.4848526Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-03T07:18:57.4850449Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-03T07:18:57.4851532Z 
2026-06-03T07:18:57.4851907Z # Requirement quality review
2026-06-03T07:18:57.4852064Z 
2026-06-03T07:18:57.4852668Z You are reviewing 120 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-03T07:18:57.4853247Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-03T07:18:57.4853868Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-03T07:18:57.4854316Z this command's output. Your task is the rubric items below.
2026-06-03T07:18:57.4854879Z 
2026-06-03T07:18:57.4855181Z ## Rubric
2026-06-03T07:18:57.4855315Z 
2026-06-03T07:18:57.4856096Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-03T07:18:57.4856836Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-03T07:18:57.4857478Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-03T07:18:57.4857986Z - **active-voice** — clear subject and active verb.
2026-06-03T07:18:57.4858144Z 
2026-06-03T07:18:57.4858824Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-03T07:18:57.4859167Z clear concerns.
2026-06-03T07:18:57.4859323Z 
2026-06-03T07:18:57.4859629Z ## Requirements
2026-06-03T07:18:57.4859771Z 
2026-06-03T07:18:57.4860061Z ### REQ-ARCH-1
2026-06-03T07:18:57.4860490Z - Title: Many small acyclically-layered crates
2026-06-03T07:18:57.4860939Z - Required stages: impl
2026-06-03T07:18:57.4861112Z 
2026-06-03T07:18:57.4861742Z ### REQ-ARCH-2
2026-06-03T07:18:57.4862218Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-03T07:18:57.4862551Z - Required stages: impl
2026-06-03T07:18:57.4862713Z 
2026-06-03T07:18:57.4863019Z ### REQ-ARCH-3
2026-06-03T07:18:57.4863575Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-03T07:18:57.4863916Z - Required stages: impl, unit
2026-06-03T07:18:57.4864062Z 
2026-06-03T07:18:57.4864362Z ### REQ-ARCH-4
2026-06-03T07:18:57.4864893Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-03T07:18:57.4865252Z - Required stages: impl, unit
2026-06-03T07:18:57.4865409Z 
2026-06-03T07:18:57.4865733Z ### REQ-DAEMON-1
2026-06-03T07:18:57.4866224Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-03T07:18:57.4866539Z - Required stages: impl, unit
2026-06-03T07:18:57.4866961Z 
2026-06-03T07:18:57.4867336Z ### REQ-DAEMON-2
2026-06-03T07:18:57.4867659Z - Title: Broker/brain split for seamless self-update
2026-06-03T07:18:57.4867900Z - Required stages: impl, unit
2026-06-03T07:18:57.4867916Z 
2026-06-03T07:18:57.4868107Z ### REQ-DAEMON-3
2026-06-03T07:18:57.4868430Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-03T07:18:57.4868629Z - Required stages: 
2026-06-03T07:18:57.4868646Z 
2026-06-03T07:18:57.4868824Z ### REQ-DAEMON-4
2026-06-03T07:18:57.4869079Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-03T07:18:57.4869273Z - Required stages: 
2026-06-03T07:18:57.4869289Z 
2026-06-03T07:18:57.4869467Z ### REQ-STORE-1
2026-06-03T07:18:57.4871678Z - 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-03T07:18:57.4871874Z - Required stages: 
2026-06-03T07:18:57.4871890Z 
2026-06-03T07:18:57.4872066Z ### REQ-MANIFEST-1
2026-06-03T07:18:57.4872450Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-03T07:18:57.4872659Z - Required stages: doc, impl, unit
2026-06-03T07:18:57.4872673Z 
2026-06-03T07:18:57.4872855Z ### REQ-SEAM-SPAWN
2026-06-03T07:18:57.4873057Z - Title: spawn-session seam
2026-06-03T07:18:57.4873251Z - Required stages: impl, unit
2026-06-03T07:18:57.4873267Z 
2026-06-03T07:18:57.4873457Z ### REQ-SEAM-POSTSPAWN
2026-06-03T07:18:57.4873710Z - Title: post-spawn / api bind seam with boot nonce
2026-06-03T07:18:57.4873914Z - Required stages: impl, unit
2026-06-03T07:18:57.4873929Z 
2026-06-03T07:18:57.4874104Z ### REQ-SEAM-PSYCHE
2026-06-03T07:18:57.4874379Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-03T07:18:57.4874590Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4874605Z 
2026-06-03T07:18:57.4874793Z ### REQ-SEAM-HISTORY
2026-06-03T07:18:57.4875078Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-03T07:18:57.4875379Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4875390Z 
2026-06-03T07:18:57.4875521Z ### REQ-SEAM-ACTIVITY
2026-06-03T07:18:57.4875751Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-03T07:18:57.4875937Z - Required stages: impl, unit
2026-06-03T07:18:57.4875947Z 
2026-06-03T07:18:57.4876073Z ### REQ-SEAM-INJECT
2026-06-03T07:18:57.4876401Z - Title: inject-input methods configurable per activity-state
2026-06-03T07:18:57.4876541Z - Required stages: impl, unit
2026-06-03T07:18:57.4876552Z 
2026-06-03T07:18:57.4876676Z ### REQ-SEAM-RESUME
2026-06-03T07:18:57.4876922Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-03T07:18:57.4877064Z - Required stages: impl, unit
2026-06-03T07:18:57.4877074Z 
2026-06-03T07:18:57.4877203Z ### REQ-SEAM-CAPABILITY
2026-06-03T07:18:57.4877411Z - Title: Hostable endpoint-types capability declaration
2026-06-03T07:18:57.4877551Z - Required stages: impl, unit
2026-06-03T07:18:57.4877561Z 
2026-06-03T07:18:57.4877691Z ### REQ-SEAM-UPDATE
2026-06-03T07:18:57.4877919Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-03T07:18:57.4878042Z - Required stages: 
2026-06-03T07:18:57.4878052Z 
2026-06-03T07:18:57.4878174Z ### REQ-API-1
2026-06-03T07:18:57.4878398Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-03T07:18:57.4878539Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4878549Z 
2026-06-03T07:18:57.4878666Z ### REQ-API-2
2026-06-03T07:18:57.4878933Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-03T07:18:57.4879079Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4879090Z 
2026-06-03T07:18:57.4879206Z ### REQ-API-3
2026-06-03T07:18:57.4879383Z - Title: commune/signoff are file-drops, not commands
2026-06-03T07:18:57.4879526Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4879536Z 
2026-06-03T07:18:57.4879830Z ### REQ-START-1
2026-06-03T07:18:57.4880087Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-03T07:18:57.4880232Z - Required stages: impl, unit
2026-06-03T07:18:57.4880251Z 
2026-06-03T07:18:57.4880365Z ### REQ-START-2
2026-06-03T07:18:57.4880543Z - Title: Harness-hosted startup: api seed then listen
2026-06-03T07:18:57.4880676Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4880686Z 
2026-06-03T07:18:57.4880808Z ### REQ-START-3
2026-06-03T07:18:57.4881023Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-03T07:18:57.4881483Z - Required stages: 
2026-06-03T07:18:57.4881495Z 
2026-06-03T07:18:57.4881619Z ### REQ-START-4
2026-06-03T07:18:57.4881795Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-03T07:18:57.4881937Z - Required stages: impl, unit
2026-06-03T07:18:57.4881947Z 
2026-06-03T07:18:57.4882059Z ### REQ-EP-1
2026-06-03T07:18:57.4882235Z - Title: Day-one endpoint types; open type system
2026-06-03T07:18:57.4882386Z - Required stages: impl, unit
2026-06-03T07:18:57.4882396Z 
2026-06-03T07:18:57.4882508Z ### REQ-EP-2
2026-06-03T07:18:57.4882736Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-03T07:18:57.4882867Z - Required stages: impl, unit
2026-06-03T07:18:57.4882877Z 
2026-06-03T07:18:57.4882995Z ### REQ-EP-3
2026-06-03T07:18:57.4883236Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-03T07:18:57.4883367Z - Required stages: impl, unit
2026-06-03T07:18:57.4883377Z 
2026-06-03T07:18:57.4883495Z ### REQ-EP-4
2026-06-03T07:18:57.4883682Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-03T07:18:57.4883806Z - Required stages: 
2026-06-03T07:18:57.4883816Z 
2026-06-03T07:18:57.4883924Z ### REQ-EP-5
2026-06-03T07:18:57.4884793Z - 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-03T07:18:57.4884923Z - Required stages: 
2026-06-03T07:18:57.4884934Z 
2026-06-03T07:18:57.4885183Z ### REQ-INST-1
2026-06-03T07:18:57.4885388Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-03T07:18:57.4885515Z - Required stages: 
2026-06-03T07:18:57.4885525Z 
2026-06-03T07:18:57.4885639Z ### REQ-INST-2
2026-06-03T07:18:57.4885796Z - Title: Per-node files, synced Psyche mind
2026-06-03T07:18:57.4885915Z - Required stages: 
2026-06-03T07:18:57.4885925Z 
2026-06-03T07:18:57.4886042Z ### REQ-INST-3
2026-06-03T07:18:57.4886231Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-03T07:18:57.4886359Z - Required stages: 
2026-06-03T07:18:57.4886369Z 
2026-06-03T07:18:57.4886486Z ### REQ-INST-4
2026-06-03T07:18:57.4886707Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-03T07:18:57.4886834Z - Required stages: 
2026-06-03T07:18:57.4886844Z 
2026-06-03T07:18:57.4886955Z ### REQ-INST-5
2026-06-03T07:18:57.4887191Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-03T07:18:57.4887321Z - Required stages: 
2026-06-03T07:18:57.4887337Z 
2026-06-03T07:18:57.4887450Z ### REQ-INST-6
2026-06-03T07:18:57.4887687Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-03T07:18:57.4887805Z - Required stages: 
2026-06-03T07:18:57.4887815Z 
2026-06-03T07:18:57.4887933Z ### REQ-INST-7
2026-06-03T07:18:57.4888116Z - Title: Subnet registry + bare-id resolution policy
2026-06-03T07:18:57.4888232Z - Required stages: 
2026-06-03T07:18:57.4888242Z 
2026-06-03T07:18:57.4888359Z ### REQ-INST-8
2026-06-03T07:18:57.4888550Z - Title: Remote-control mode distinct from local operation
2026-06-03T07:18:57.4888676Z - Required stages: 
2026-06-03T07:18:57.4888685Z 
2026-06-03T07:18:57.4888804Z ### REQ-INST-9
2026-06-03T07:18:57.4889036Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-03T07:18:57.4889159Z - Required stages: 
2026-06-03T07:18:57.4889170Z 
2026-06-03T07:18:57.4889404Z ### REQ-INST-10
2026-06-03T07:18:57.4889684Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-03T07:18:57.4889808Z - Required stages: 
2026-06-03T07:18:57.4889826Z 
2026-06-03T07:18:57.4889938Z ### REQ-INST-11
2026-06-03T07:18:57.4890212Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-03T07:18:57.4890328Z - Required stages: 
2026-06-03T07:18:57.4890338Z 
2026-06-03T07:18:57.4890457Z ### REQ-INST-12
2026-06-03T07:18:57.4890823Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-03T07:18:57.4890947Z - Required stages: 
2026-06-03T07:18:57.4890957Z 
2026-06-03T07:18:57.4891075Z ### REQ-INST-13
2026-06-03T07:18:57.4891599Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-03T07:18:57.4891735Z - Required stages: 
2026-06-03T07:18:57.4891743Z 
2026-06-03T07:18:57.4891858Z ### REQ-INST-14
2026-06-03T07:18:57.4892349Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-03T07:18:57.4892483Z - Required stages: 
2026-06-03T07:18:57.4892494Z 
2026-06-03T07:18:57.4892605Z ### REQ-INST-15
2026-06-03T07:18:57.4893518Z - 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-03T07:18:57.4893636Z - Required stages: 
2026-06-03T07:18:57.4893654Z 
2026-06-03T07:18:57.4893769Z ### REQ-REACH-1
2026-06-03T07:18:57.4893961Z - Title: Off-node remote-drive detection + file transfer
2026-06-03T07:18:57.4894079Z - Required stages: 
2026-06-03T07:18:57.4894089Z 
2026-06-03T07:18:57.4894208Z ### REQ-REACH-2
2026-06-03T07:18:57.4894405Z - Title: Remote command execution (deferred, consent-gated)
2026-06-03T07:18:57.4894536Z - Required stages: 
2026-06-03T07:18:57.4894545Z 
2026-06-03T07:18:57.4894665Z ### REQ-MSG-1
2026-06-03T07:18:57.4895371Z - 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-03T07:18:57.4895524Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4895534Z 
2026-06-03T07:18:57.4895645Z ### REQ-MSG-2
2026-06-03T07:18:57.4896006Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-03T07:18:57.4896151Z - Required stages: impl, unit
2026-06-03T07:18:57.4896163Z 
2026-06-03T07:18:57.4896273Z ### REQ-MSG-3
2026-06-03T07:18:57.4896767Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-03T07:18:57.4896906Z - Required stages: impl, unit, int
2026-06-03T07:18:57.4896923Z 
2026-06-03T07:18:57.4897049Z ### REQ-NODE-IDENTITY
2026-06-03T07:18:57.4897340Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-03T07:18:57.4897480Z - Required stages: impl, unit
2026-06-03T07:18:57.4897490Z 
2026-06-03T07:18:57.4897604Z ### REQ-NET-1
2026-06-03T07:18:57.4897832Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-03T07:18:57.4897955Z - Required stages: 
2026-06-03T07:18:57.4897965Z 
2026-06-03T07:18:57.4898077Z ### REQ-NET-2
2026-06-03T07:18:57.4898294Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-03T07:18:57.4898419Z - Required stages: 
2026-06-03T07:18:57.4898429Z 
2026-06-03T07:18:57.4898537Z ### REQ-NET-3
2026-06-03T07:18:57.4898758Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-03T07:18:57.4898881Z - Required stages: 
2026-06-03T07:18:57.4898890Z 
2026-06-03T07:18:57.4899008Z ### REQ-PAIR-1
2026-06-03T07:18:57.4899155Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-03T07:18:57.4899272Z - Required stages: 
2026-06-03T07:18:57.4899397Z 
2026-06-03T07:18:57.4899519Z ### REQ-PAIR-2
2026-06-03T07:18:57.4899705Z - Title: Local trust store with TOFU + warn-on-change
2026-06-03T07:18:57.4899829Z - Required stages: 
2026-06-03T07:18:57.4899839Z 
2026-06-03T07:18:57.4899955Z ### REQ-PAIR-3
2026-06-03T07:18:57.4900139Z - Title: Fetch current pairing code from any paired node
2026-06-03T07:18:57.4900265Z - Required stages: 
2026-06-03T07:18:57.4900276Z 
2026-06-03T07:18:57.4900389Z ### REQ-PAIR-4
2026-06-03T07:18:57.4900535Z - Title: Subnet naming on first pairing
2026-06-03T07:18:57.4900659Z - Required stages: 
2026-06-03T07:18:57.4900670Z 
2026-06-03T07:18:57.4900783Z ### REQ-PAIR-5
2026-06-03T07:18:57.4901348Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-03T07:18:57.4901469Z - Required stages: 
2026-06-03T07:18:57.4901479Z 
2026-06-03T07:18:57.4901604Z ### REQ-PAIR-6
2026-06-03T07:18:57.4901946Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-03T07:18:57.4902064Z - Required stages: 
2026-06-03T07:18:57.4902074Z 
2026-06-03T07:18:57.4902197Z ### REQ-PAIR-7
2026-06-03T07:18:57.4902400Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-03T07:18:57.4902527Z - Required stages: 
2026-06-03T07:18:57.4902537Z 
2026-06-03T07:18:57.4902652Z ### REQ-SEC-1
2026-06-03T07:18:57.4903149Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-03T07:18:57.4903272Z - Required stages: 
2026-06-03T07:18:57.4903282Z 
2026-06-03T07:18:57.4903396Z ### REQ-NOTIF-1
2026-06-03T07:18:57.4903862Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-03T07:18:57.4903984Z - Required stages: 
2026-06-03T07:18:57.4903994Z 
2026-06-03T07:18:57.4904108Z ### REQ-NOTIF-2
2026-06-03T07:18:57.4904460Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-03T07:18:57.4904578Z - Required stages: 
2026-06-03T07:18:57.4904722Z 
2026-06-03T07:18:57.4904842Z ### REQ-UPD-1
2026-06-03T07:18:57.4904997Z - Title: Peer-propagated update over P2P
2026-06-03T07:18:57.4905114Z - Required stages: 
2026-06-03T07:18:57.4905124Z 
2026-06-03T07:18:57.4905242Z ### REQ-UPD-2
2026-06-03T07:18:57.4905423Z - Title: All binaries signature-verified before handoff
2026-06-03T07:18:57.4905547Z - Required stages: 
2026-06-03T07:18:57.4905557Z 
2026-06-03T07:18:57.4905674Z ### REQ-UPD-3
2026-06-03T07:18:57.4905890Z - Title: No endpoint process terminates/suspends during self-update
2026-06-03T07:18:57.4906014Z - Required stages: 
2026-06-03T07:18:57.4906023Z 
2026-06-03T07:18:57.4906133Z ### REQ-UPD-4
2026-06-03T07:18:57.4906365Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-03T07:18:57.4906481Z - Required stages: 
2026-06-03T07:18:57.4906498Z 
2026-06-03T07:18:57.4906617Z ### REQ-UPD-5
2026-06-03T07:18:57.4906801Z - Title: spt-core ripple-updates registered adapters
2026-06-03T07:18:57.4906923Z - Required stages: 
2026-06-03T07:18:57.4906933Z 
2026-06-03T07:18:57.4907051Z ### REQ-TERM-1
2026-06-03T07:18:57.4907261Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-03T07:18:57.4907402Z - Required stages: impl, unit
2026-06-03T07:18:57.4907411Z 
2026-06-03T07:18:57.4907526Z ### REQ-TERM-2
2026-06-03T07:18:57.4907750Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-03T07:18:57.4907904Z - Required stages: impl, unit
2026-06-03T07:18:57.4907914Z 
2026-06-03T07:18:57.4908026Z ### REQ-TERM-3
2026-06-03T07:18:57.4908209Z - Title: Byte-stream remote terminal streaming for v1
2026-06-03T07:18:57.4908348Z - Required stages: impl, unit
2026-06-03T07:18:57.4908358Z 
2026-06-03T07:18:57.4908472Z ### REQ-TERM-4
2026-06-03T07:18:57.4909045Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-03T07:18:57.4909183Z - Required stages: impl, unit
2026-06-03T07:18:57.4909199Z 
2026-06-03T07:18:57.4909323Z ### REQ-FRONT-1
2026-06-03T07:18:57.4909548Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-03T07:18:57.4909665Z - Required stages: 
2026-06-03T07:18:57.4909675Z 
2026-06-03T07:18:57.4909800Z ### REQ-INSTALL-1
2026-06-03T07:18:57.4910040Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-03T07:18:57.4910169Z - Required stages: 
2026-06-03T07:18:57.4910179Z 
2026-06-03T07:18:57.4910300Z ### REQ-INSTALL-2
2026-06-03T07:18:57.4910475Z - Title: Marketplace-repackaging-friendly install
2026-06-03T07:18:57.4910596Z - Required stages: 
2026-06-03T07:18:57.4910606Z 
2026-06-03T07:18:57.4910726Z ### REQ-INSTALL-3
2026-06-03T07:18:57.4910907Z - Title: Idempotent + interactive-optional first run
2026-06-03T07:18:57.4911026Z - Required stages: 
2026-06-03T07:18:57.4911043Z 
2026-06-03T07:18:57.4911398Z ### REQ-INSTALL-4
2026-06-03T07:18:57.4912258Z - 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-03T07:18:57.4912387Z - Required stages: 
2026-06-03T07:18:57.4912397Z 
2026-06-03T07:18:57.4912523Z ### REQ-MIGRATE-1
2026-06-03T07:18:57.4912751Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-03T07:18:57.4912873Z - Required stages: 
2026-06-03T07:18:57.4912884Z 
2026-06-03T07:18:57.4913001Z ### REQ-INFRA-1
2026-06-03T07:18:57.4913226Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-03T07:18:57.4913348Z - Required stages: 
2026-06-03T07:18:57.4913358Z 
2026-06-03T07:18:57.4913471Z ### REQ-DOCS-1
2026-06-03T07:18:57.4913732Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-03T07:18:57.4913857Z - Required stages: 
2026-06-03T07:18:57.4913874Z 
2026-06-03T07:18:57.4913986Z ### REQ-DOCS-2
2026-06-03T07:18:57.4914199Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-03T07:18:57.4914517Z - Required stages: 
2026-06-03T07:18:57.4914528Z 
2026-06-03T07:18:57.4914652Z ### REQ-DOCS-3
2026-06-03T07:18:57.4915002Z - Title: Diátaxis structure; one canonical way to do X
2026-06-03T07:18:57.4915123Z - Required stages: 
2026-06-03T07:18:57.4915133Z 
2026-06-03T07:18:57.4915255Z ### REQ-DOCS-4
2026-06-03T07:18:57.4915512Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-03T07:18:57.4915644Z - Required stages: 
2026-06-03T07:18:57.4915654Z 
2026-06-03T07:18:57.4915771Z ### REQ-DOCS-5
2026-06-03T07:18:57.4916015Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-03T07:18:57.4916140Z - Required stages: 
2026-06-03T07:18:57.4916150Z 
2026-06-03T07:18:57.4916296Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-03T07:18:57.4916563Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-03T07:18:57.4916711Z - Required stages: impl, unit
2026-06-03T07:18:57.4916721Z 
2026-06-03T07:18:57.4916882Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-03T07:18:57.4917081Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-03T07:18:57.4917214Z - Required stages: impl, unit
2026-06-03T07:18:57.4917224Z 
2026-06-03T07:18:57.4917369Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-03T07:18:57.4917547Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-03T07:18:57.4917681Z - Required stages: 
2026-06-03T07:18:57.4917691Z 
2026-06-03T07:18:57.4917835Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-03T07:18:57.4918088Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-03T07:18:57.4918233Z - Required stages: impl, unit
2026-06-03T07:18:57.4918243Z 
2026-06-03T07:18:57.4918377Z ### REQ-HAZARD-WORKER-PATH
2026-06-03T07:18:57.4918625Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-03T07:18:57.4918891Z - Required stages: impl, unit
2026-06-03T07:18:57.4918902Z 
2026-06-03T07:18:57.4919049Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-03T07:18:57.4919303Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-03T07:18:57.4919422Z - Required stages: 
2026-06-03T07:18:57.4919431Z 
2026-06-03T07:18:57.4919576Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-03T07:18:57.4919750Z - Title: Stdin session_id precedence over env (2.2)
2026-06-03T07:18:57.4919867Z - Required stages: 
2026-06-03T07:18:57.4919877Z 
2026-06-03T07:18:57.4920026Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-03T07:18:57.4920231Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-03T07:18:57.4920370Z - Required stages: impl, unit
2026-06-03T07:18:57.4920380Z 
2026-06-03T07:18:57.4920517Z ### REQ-HAZARD-GEN-START-NOW
2026-06-03T07:18:57.4920704Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-03T07:18:57.4920843Z - Required stages: impl, int
2026-06-03T07:18:57.4920853Z 
2026-06-03T07:18:57.4921002Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-03T07:18:57.4921452Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-03T07:18:57.4921598Z - Required stages: impl, unit
2026-06-03T07:18:57.4921611Z 
2026-06-03T07:18:57.4921762Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-03T07:18:57.4921979Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-03T07:18:57.4922109Z - Required stages: impl, unit
2026-06-03T07:18:57.4922117Z 
2026-06-03T07:18:57.4922266Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-03T07:18:57.4922506Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-03T07:18:57.4922636Z - Required stages: impl, unit
2026-06-03T07:18:57.4922646Z 
2026-06-03T07:18:57.4922800Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-03T07:18:57.4923001Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-03T07:18:57.4923141Z - Required stages: impl, unit
2026-06-03T07:18:57.4923151Z 
2026-06-03T07:18:57.4923305Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-03T07:18:57.4923523Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-03T07:18:57.4923792Z - Required stages: impl, unit
2026-06-03T07:18:57.4923801Z 
2026-06-03T07:18:57.4923940Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-03T07:18:57.4924222Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-03T07:18:57.4924362Z - Required stages: impl, unit
2026-06-03T07:18:57.4924371Z 
2026-06-03T07:18:57.4924501Z ### REQ-HAZARD-ID-CHARSET
2026-06-03T07:18:57.4924827Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-03T07:18:57.4924957Z - Required stages: impl, unit
2026-06-03T07:18:57.4924967Z 
2026-06-03T07:18:57.4925119Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-03T07:18:57.4925372Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-03T07:18:57.4925511Z - Required stages: impl, unit
2026-06-03T07:18:57.4925521Z 
2026-06-03T07:18:57.4925673Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-03T07:18:57.4925994Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-03T07:18:57.4926137Z - Required stages: impl, unit
2026-06-03T07:18:57.4926147Z 
2026-06-03T07:18:57.4926305Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-03T07:18:57.4926478Z - Title: Deferred rows survive poll drain (4.4)
2026-06-03T07:18:57.4926612Z - Required stages: impl, unit
2026-06-03T07:18:57.4926622Z 
2026-06-03T07:18:57.4926758Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-03T07:18:57.4926937Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-03T07:18:57.4927067Z - Required stages: impl, unit
2026-06-03T07:18:57.4927081Z 
2026-06-03T07:18:57.4927225Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-03T07:18:57.4927430Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-03T07:18:57.4927559Z - Required stages: impl, unit
2026-06-03T07:18:57.4927569Z 
2026-06-03T07:18:57.4927701Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-03T07:18:57.4928028Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-03T07:18:57.4928175Z - Required stages: impl, unit
2026-06-03T07:18:57.4928191Z 
2026-06-03T07:18:57.4928338Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-03T07:18:57.4928523Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-03T07:18:57.4928662Z - Required stages: impl, unit
2026-06-03T07:18:57.4928672Z 
2026-06-03T07:18:57.4928808Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-03T07:18:57.4929014Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-03T07:18:57.4929149Z - Required stages: impl, unit
2026-06-03T07:18:57.4929158Z 
2026-06-03T07:18:57.4929300Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-03T07:18:57.4929541Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-03T07:18:57.4929668Z - Required stages: impl, unit
2026-06-03T07:18:57.4929678Z 
2026-06-03T07:18:57.4929818Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-03T07:18:57.4930074Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-03T07:18:57.4930205Z - Required stages: impl, unit
2026-06-03T07:18:57.4930218Z 
2026-06-03T07:18:57.4930378Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-03T07:18:57.4930590Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-03T07:18:57.4930726Z - Required stages: impl, unit
2026-06-03T07:18:57.4930737Z 
2026-06-03T07:18:57.4930895Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-03T07:18:57.4931084Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-03T07:18:57.4931420Z - Required stages: impl, unit
2026-06-03T07:18:57.4931432Z 
2026-06-03T07:18:57.4931581Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-03T07:18:57.4931866Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-03T07:18:57.4932001Z - Required stages: impl, unit
2026-06-03T07:18:57.4932011Z 
2026-06-03T07:18:57.4932141Z ### REQ-HAZARD-CONPTY-DSR
2026-06-03T07:18:57.4932426Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-03T07:18:57.4932556Z - Required stages: impl, unit
2026-06-03T07:18:57.4932566Z 
2026-06-03T07:18:57.4932838Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-03T07:18:57.4933105Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-03T07:18:57.4933234Z - Required stages: impl, unit
2026-06-03T07:18:57.4933244Z 
2026-06-03T07:18:57.4933385Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-03T07:18:57.4933710Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-03T07:18:57.4933843Z - Required stages: impl, unit
2026-06-03T07:18:57.4933853Z 
2026-06-03T07:18:57.4933991Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-03T07:18:57.4934306Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-03T07:18:57.4934429Z - Required stages: 
2026-06-03T07:18:57.4934439Z 
2026-06-03T07:18:57.4934582Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-03T07:18:57.4935123Z - 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-03T07:18:57.4935259Z - Required stages: impl, unit
2026-06-03T07:18:57.4935270Z 
2026-06-03T07:18:57.4935391Z ## How to report back
2026-06-03T07:18:57.4935400Z 
2026-06-03T07:18:57.4935620Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-03T07:18:57.4935630Z 
2026-06-03T07:18:57.4935735Z     {
2026-06-03T07:18:57.4935876Z       "code": "requirement_quality",
2026-06-03T07:18:57.4936011Z       "requirementId": "REQ-...",
2026-06-03T07:18:57.4936230Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-03T07:18:57.4936365Z       "message": "<short reason>",
2026-06-03T07:18:57.4936525Z       "suggestedRevision": "<optional rewrite>"
2026-06-03T07:18:57.4936639Z     }
2026-06-03T07:18:57.4936649Z 
2026-06-03T07:18:57.4937009Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-03T07:18:57.4937208Z deterministic findings above don't need to be repeated.
2026-06-03T07:18:57.5027443Z Post job cleanup.
2026-06-03T07:18:57.5984721Z [command]/usr/bin/git version
2026-06-03T07:18:57.6024226Z git version 2.54.0
2026-06-03T07:18:57.6068185Z Temporarily overriding HOME='/home/runner/work/_temp/0bab1c22-0eb6-474d-aec2-99f415d4429b' before making global git config changes
2026-06-03T07:18:57.6069051Z Adding repository directory to the temporary git global config as a safe directory
2026-06-03T07:18:57.6074889Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/spt-core/spt-core
2026-06-03T07:18:57.6132846Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-03T07:18:57.6169394Z [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-03T07:18:57.6426302Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-03T07:18:57.6454170Z http.https://github.com/.extraheader
2026-06-03T07:18:57.6468239Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-03T07:18:57.6503128Z [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-03T07:18:57.6745138Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-03T07:18:57.6780163Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-03T07:18:57.7268680Z Cleaning up orphan processes
2026-06-03T07:18:57.7533522Z ##[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/
