﻿2026-06-06T06:42:59.0990754Z Current runner version: '2.334.0'
2026-06-06T06:42:59.1000253Z Runner name: 'gravity'
2026-06-06T06:42:59.1001329Z Runner group name: 'Default'
2026-06-06T06:42:59.1002761Z Machine name: 'gravity-linux'
2026-06-06T06:42:59.1006753Z ##[group]GITHUB_TOKEN Permissions
2026-06-06T06:42:59.1010925Z Contents: read
2026-06-06T06:42:59.1011845Z Metadata: read
2026-06-06T06:42:59.1012625Z Packages: read
2026-06-06T06:42:59.1013356Z ##[endgroup]
2026-06-06T06:42:59.1016890Z Secret source: Actions
2026-06-06T06:42:59.1018002Z Prepare workflow directory
2026-06-06T06:42:59.1778729Z Prepare all required actions
2026-06-06T06:42:59.1838067Z Getting action download info
2026-06-06T06:42:59.7145059Z Download action repository 'actions/checkout@v5' (SHA:93cb6efe18208431cddfb8368fd83d5badbf9bfd)
2026-06-06T06:43:00.6477299Z Complete job name: traceability
2026-06-06T06:43:00.7812012Z ##[group]Run actions/checkout@v5
2026-06-06T06:43:00.7813552Z with:
2026-06-06T06:43:00.7814244Z   repository: SaberMage/spt-core
2026-06-06T06:43:00.7822082Z   token: ***
2026-06-06T06:43:00.7822730Z   ssh-strict: true
2026-06-06T06:43:00.7823385Z   ssh-user: git
2026-06-06T06:43:00.7824031Z   persist-credentials: true
2026-06-06T06:43:00.7824744Z   clean: true
2026-06-06T06:43:00.7825403Z   sparse-checkout-cone-mode: true
2026-06-06T06:43:00.7826160Z   fetch-depth: 1
2026-06-06T06:43:00.7826796Z   fetch-tags: false
2026-06-06T06:43:00.7827436Z   show-progress: true
2026-06-06T06:43:00.7828088Z   lfs: false
2026-06-06T06:43:00.7828699Z   submodules: false
2026-06-06T06:43:00.7829806Z   set-safe-directory: true
2026-06-06T06:43:00.7831243Z ##[endgroup]
2026-06-06T06:43:00.9377094Z Syncing repository: SaberMage/spt-core
2026-06-06T06:43:00.9380880Z ##[group]Getting Git version info
2026-06-06T06:43:00.9382219Z Working directory is '/home/david/actions-runner/_work/spt-core/spt-core'
2026-06-06T06:43:00.9384112Z [command]/usr/bin/git version
2026-06-06T06:43:00.9385009Z git version 2.34.1
2026-06-06T06:43:00.9388031Z ##[endgroup]
2026-06-06T06:43:00.9396658Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/bd35d7b0-3779-4b2d-9bad-fb9301d88f07/.gitconfig'
2026-06-06T06:43:00.9418016Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/bd35d7b0-3779-4b2d-9bad-fb9301d88f07' before making global git config changes
2026-06-06T06:43:00.9420695Z Adding repository directory to the temporary git global config as a safe directory
2026-06-06T06:43:00.9425607Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-06T06:43:00.9478599Z [command]/usr/bin/git config --local --get remote.origin.url
2026-06-06T06:43:00.9507855Z https://github.com/SaberMage/spt-core
2026-06-06T06:43:00.9526693Z ##[group]Removing previously created refs, to avoid conflicts
2026-06-06T06:43:00.9533786Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD
2026-06-06T06:43:00.9563213Z refs/heads/dev-freeform
2026-06-06T06:43:00.9577662Z [command]/usr/bin/git checkout --detach
2026-06-06T06:43:00.9640852Z HEAD is now at 7a22a63 fix(daemon): M7 [twohost] — responder must let the joiner close first (Done/Seed close race)
2026-06-06T06:43:00.9701120Z [command]/usr/bin/git branch --delete --force dev-freeform
2026-06-06T06:43:00.9741475Z Deleted branch dev-freeform (was 7a22a63).
2026-06-06T06:43:00.9789913Z ##[endgroup]
2026-06-06T06:43:00.9794735Z [command]/usr/bin/git submodule status
2026-06-06T06:43:01.0050148Z ##[group]Cleaning the repository
2026-06-06T06:43:01.0051242Z [command]/usr/bin/git clean -ffdx
2026-06-06T06:43:02.2802037Z Removing .adapter-notify/
2026-06-06T06:43:02.2804327Z Removing target/
2026-06-06T06:43:02.2816098Z [command]/usr/bin/git reset --hard HEAD
2026-06-06T06:43:02.2900550Z HEAD is now at 7a22a63 fix(daemon): M7 [twohost] — responder must let the joiner close first (Done/Seed close race)
2026-06-06T06:43:02.2911581Z ##[endgroup]
2026-06-06T06:43:02.2913788Z ##[group]Disabling automatic garbage collection
2026-06-06T06:43:02.2915820Z [command]/usr/bin/git config --local gc.auto 0
2026-06-06T06:43:02.2955745Z ##[endgroup]
2026-06-06T06:43:02.2957843Z ##[group]Setting up auth
2026-06-06T06:43:02.2965831Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-06T06:43:02.3008085Z [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-06T06:43:02.3250840Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-06T06:43:02.3291400Z [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-06T06:43:02.3539073Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-06T06:43:02.3580169Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-06T06:43:02.3824100Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-06T06:43:02.3885100Z ##[endgroup]
2026-06-06T06:43:02.3887597Z ##[group]Fetching the repository
2026-06-06T06:43:02.3900510Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +7a22a63cf14fd294e02ad0723459bb0f9fa7065c:refs/remotes/origin/dev-freeform
2026-06-06T06:43:02.9025436Z ##[endgroup]
2026-06-06T06:43:02.9028369Z ##[group]Determining the checkout info
2026-06-06T06:43:02.9031348Z ##[endgroup]
2026-06-06T06:43:02.9036109Z [command]/usr/bin/git sparse-checkout disable
2026-06-06T06:43:02.9093641Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-06T06:43:02.9142853Z ##[group]Checking out the ref
2026-06-06T06:43:02.9146006Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-06T06:43:02.9209869Z Switched to a new branch 'dev-freeform'
2026-06-06T06:43:02.9213487Z Branch 'dev-freeform' set up to track remote branch 'dev-freeform' from 'origin'.
2026-06-06T06:43:02.9226143Z ##[endgroup]
2026-06-06T06:43:02.9274478Z [command]/usr/bin/git log -1 --format=%H
2026-06-06T06:43:02.9311494Z 7a22a63cf14fd294e02ad0723459bb0f9fa7065c
2026-06-06T06:43:02.9769348Z ##[group]Run WANT=0.1.2
2026-06-06T06:43:02.9770768Z [36;1mWANT=0.1.2[0m
2026-06-06T06:43:02.9772144Z [36;1mBIN="$HOME/.local/bin/traceable-reqs"[0m
2026-06-06T06:43:02.9774259Z [36;1mif [ -x "$BIN" ] && "$BIN" --version | grep -q " $WANT\$"; then[0m
2026-06-06T06:43:02.9776289Z [36;1m  ln -sf "$BIN" ./traceable-reqs[0m
2026-06-06T06:43:02.9777793Z [36;1melse[0m
2026-06-06T06:43:02.9779513Z [36;1m  # Build OUTSIDE the checkout: a clone inside it gets adopted by[0m
2026-06-06T06:43:02.9782072Z [36;1m  # the spt-core cargo workspace and refuses to build.[0m
2026-06-06T06:43:02.9783942Z [36;1m  SRC="$RUNNER_TEMP/tr-src"[0m
2026-06-06T06:43:02.9785415Z [36;1m  rm -rf "$SRC"[0m
2026-06-06T06:43:02.9786806Z [36;1m  git clone --depth 1 --branch "v$WANT" \[0m
2026-06-06T06:43:02.9789729Z [36;1m    "https://x-access-token:${GH_TOKEN}@github.com/BigscreenVR/traceable-reqs" "$SRC"[0m
2026-06-06T06:43:02.9792919Z [36;1m  cargo build --release --manifest-path "$SRC/rust/Cargo.toml"[0m
2026-06-06T06:43:02.9794994Z [36;1m  mkdir -p "$HOME/.local/bin"[0m
2026-06-06T06:43:02.9796751Z [36;1m  cp "$SRC/rust/target/release/traceable-reqs" "$BIN"[0m
2026-06-06T06:43:02.9798604Z [36;1m  ln -sf "$BIN" ./traceable-reqs[0m
2026-06-06T06:43:02.9800384Z [36;1mfi[0m
2026-06-06T06:43:02.9801463Z [36;1m./traceable-reqs --version[0m
2026-06-06T06:43:02.9832817Z shell: /usr/bin/bash -e {0}
2026-06-06T06:43:02.9834095Z env:
2026-06-06T06:43:02.9836953Z   GH_TOKEN: ***
2026-06-06T06:43:02.9838164Z ##[endgroup]
2026-06-06T06:43:03.0046690Z traceable-reqs 0.1.2
2026-06-06T06:43:03.0143893Z ##[group]Run ./traceable-reqs check --json
2026-06-06T06:43:03.0145834Z [36;1m./traceable-reqs check --json[0m
2026-06-06T06:43:03.0171250Z shell: /usr/bin/bash -e {0}
2026-06-06T06:43:03.0172493Z ##[endgroup]
2026-06-06T06:43:03.0427073Z {
2026-06-06T06:43:03.0428301Z   "schemaVersion": 1,
2026-06-06T06:43:03.0429738Z   "summary": {
2026-06-06T06:43:03.0430983Z     "requirementCount": 144,
2026-06-06T06:43:03.0432399Z     "completeCount": 144,
2026-06-06T06:43:03.0434895Z     "incompleteCount": 0,
2026-06-06T06:43:03.0436278Z     "findingCount": 0
2026-06-06T06:43:03.0437497Z   },
2026-06-06T06:43:03.0438593Z   "requirements": [
2026-06-06T06:43:03.0439866Z     {
2026-06-06T06:43:03.0440993Z       "id": "REQ-API-1",
2026-06-06T06:43:03.0442920Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-06T06:43:03.0445044Z       "requiredStages": [
2026-06-06T06:43:03.0446275Z         "impl",
2026-06-06T06:43:03.0447345Z         "unit",
2026-06-06T06:43:03.0448591Z         "int"
2026-06-06T06:43:03.0450608Z       ],
2026-06-06T06:43:03.0451715Z       "stages": {
2026-06-06T06:43:03.0452899Z         "doc": {
2026-06-06T06:43:03.0454122Z           "complete": false,
2026-06-06T06:43:03.0455484Z           "evidence": []
2026-06-06T06:43:03.0456768Z         },
2026-06-06T06:43:03.0457867Z         "impl": {
2026-06-06T06:43:03.0459089Z           "complete": true,
2026-06-06T06:43:03.0460496Z           "evidence": [
2026-06-06T06:43:03.0461704Z             {
2026-06-06T06:43:03.0462966Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.0464629Z               "line": 15
2026-06-06T06:43:03.0465864Z             }
2026-06-06T06:43:03.0466941Z           ]
2026-06-06T06:43:03.0468005Z         },
2026-06-06T06:43:03.0469058Z         "int": {
2026-06-06T06:43:03.0470299Z           "complete": true,
2026-06-06T06:43:03.0471662Z           "evidence": [
2026-06-06T06:43:03.0472869Z             {
2026-06-06T06:43:03.0474230Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.0476004Z               "line": 13
2026-06-06T06:43:03.0477228Z             }
2026-06-06T06:43:03.0478306Z           ]
2026-06-06T06:43:03.0481760Z         },
2026-06-06T06:43:03.0482966Z         "unit": {
2026-06-06T06:43:03.0484162Z           "complete": true,
2026-06-06T06:43:03.0521746Z           "evidence": [
2026-06-06T06:43:03.0523870Z             {
2026-06-06T06:43:03.0525168Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.0528028Z               "line": 403
2026-06-06T06:43:03.0529418Z             },
2026-06-06T06:43:03.0530561Z             {
2026-06-06T06:43:03.0531840Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.0533562Z               "line": 409
2026-06-06T06:43:03.0534859Z             },
2026-06-06T06:43:03.0536080Z             {
2026-06-06T06:43:03.0537468Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.0539410Z               "line": 429
2026-06-06T06:43:03.0540874Z             }
2026-06-06T06:43:03.0542047Z           ]
2026-06-06T06:43:03.0543188Z         }
2026-06-06T06:43:03.0544227Z       }
2026-06-06T06:43:03.0545264Z     },
2026-06-06T06:43:03.0546272Z     {
2026-06-06T06:43:03.0547322Z       "id": "REQ-API-2",
2026-06-06T06:43:03.0549519Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-06T06:43:03.0552060Z       "requiredStages": [
2026-06-06T06:43:03.0553327Z         "impl",
2026-06-06T06:43:03.0554416Z         "unit",
2026-06-06T06:43:03.0555495Z         "int"
2026-06-06T06:43:03.0556571Z       ],
2026-06-06T06:43:03.0557603Z       "stages": {
2026-06-06T06:43:03.0558742Z         "doc": {
2026-06-06T06:43:03.0560031Z           "complete": false,
2026-06-06T06:43:03.0561374Z           "evidence": []
2026-06-06T06:43:03.0562642Z         },
2026-06-06T06:43:03.0563697Z         "impl": {
2026-06-06T06:43:03.0564812Z           "complete": true,
2026-06-06T06:43:03.0566189Z           "evidence": [
2026-06-06T06:43:03.0567779Z             {
2026-06-06T06:43:03.0569091Z               "path": "crates/spt-store/src/history.rs",
2026-06-06T06:43:03.0571138Z               "line": 15
2026-06-06T06:43:03.0572299Z             },
2026-06-06T06:43:03.0573334Z             {
2026-06-06T06:43:03.0574574Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.0576205Z               "line": 20
2026-06-06T06:43:03.0577371Z             },
2026-06-06T06:43:03.0578399Z             {
2026-06-06T06:43:03.0579691Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.0581344Z               "line": 125
2026-06-06T06:43:03.0582537Z             },
2026-06-06T06:43:03.0583567Z             {
2026-06-06T06:43:03.0584823Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0586455Z               "line": 21
2026-06-06T06:43:03.0587615Z             },
2026-06-06T06:43:03.0588716Z             {
2026-06-06T06:43:03.0590102Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0591796Z               "line": 38
2026-06-06T06:43:03.0592985Z             },
2026-06-06T06:43:03.0594020Z             {
2026-06-06T06:43:03.0595316Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0596979Z               "line": 187
2026-06-06T06:43:03.0598162Z             },
2026-06-06T06:43:03.0599234Z             {
2026-06-06T06:43:03.0600534Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0602222Z               "line": 226
2026-06-06T06:43:03.0603405Z             },
2026-06-06T06:43:03.0604436Z             {
2026-06-06T06:43:03.0605714Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0607371Z               "line": 256
2026-06-06T06:43:03.0608562Z             },
2026-06-06T06:43:03.0609854Z             {
2026-06-06T06:43:03.0625416Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.0627027Z               "line": 17
2026-06-06T06:43:03.0628176Z             },
2026-06-06T06:43:03.0629297Z             {
2026-06-06T06:43:03.0630800Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.0632371Z               "line": 30
2026-06-06T06:43:03.0633490Z             },
2026-06-06T06:43:03.0634481Z             {
2026-06-06T06:43:03.0635662Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.0637200Z               "line": 63
2026-06-06T06:43:03.0638332Z             },
2026-06-06T06:43:03.0639351Z             {
2026-06-06T06:43:03.0640853Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.0642398Z               "line": 76
2026-06-06T06:43:03.0643516Z             }
2026-06-06T06:43:03.0644490Z           ]
2026-06-06T06:43:03.0645434Z         },
2026-06-06T06:43:03.0646383Z         "int": {
2026-06-06T06:43:03.0647445Z           "complete": true,
2026-06-06T06:43:03.0648661Z           "evidence": [
2026-06-06T06:43:03.0649797Z             {
2026-06-06T06:43:03.0651020Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.0652635Z               "line": 14
2026-06-06T06:43:03.0653774Z             },
2026-06-06T06:43:03.0654778Z             {
2026-06-06T06:43:03.0656014Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.0657615Z               "line": 151
2026-06-06T06:43:03.0658764Z             }
2026-06-06T06:43:03.0659781Z           ]
2026-06-06T06:43:03.0660733Z         },
2026-06-06T06:43:03.0661699Z         "unit": {
2026-06-06T06:43:03.0662777Z           "complete": true,
2026-06-06T06:43:03.0663996Z           "evidence": [
2026-06-06T06:43:03.0665094Z             {
2026-06-06T06:43:03.0666325Z               "path": "crates/spt-store/src/history.rs",
2026-06-06T06:43:03.0667913Z               "line": 42
2026-06-06T06:43:03.0669059Z             },
2026-06-06T06:43:03.0670434Z             {
2026-06-06T06:43:03.0671649Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.0673208Z               "line": 234
2026-06-06T06:43:03.0674338Z             },
2026-06-06T06:43:03.0675775Z             {
2026-06-06T06:43:03.0677035Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0679048Z               "line": 425
2026-06-06T06:43:03.0680300Z             },
2026-06-06T06:43:03.0681649Z             {
2026-06-06T06:43:03.0683026Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0684746Z               "line": 436
2026-06-06T06:43:03.0685941Z             },
2026-06-06T06:43:03.0686994Z             {
2026-06-06T06:43:03.0688268Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0690013Z               "line": 542
2026-06-06T06:43:03.0691370Z             },
2026-06-06T06:43:03.0692360Z             {
2026-06-06T06:43:03.0693584Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0695170Z               "line": 554
2026-06-06T06:43:03.0696309Z             },
2026-06-06T06:43:03.0697294Z             {
2026-06-06T06:43:03.0698470Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.0700416Z               "line": 141
2026-06-06T06:43:03.0701562Z             },
2026-06-06T06:43:03.0702540Z             {
2026-06-06T06:43:03.0703695Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.0705218Z               "line": 176
2026-06-06T06:43:03.0706331Z             }
2026-06-06T06:43:03.0707281Z           ]
2026-06-06T06:43:03.0708209Z         }
2026-06-06T06:43:03.0709122Z       }
2026-06-06T06:43:03.0710342Z     },
2026-06-06T06:43:03.0711236Z     {
2026-06-06T06:43:03.0712204Z       "id": "REQ-API-3",
2026-06-06T06:43:03.0713690Z       "title": "commune/signoff are file-drops, not commands",
2026-06-06T06:43:03.0715415Z       "requiredStages": [
2026-06-06T06:43:03.0716556Z         "impl",
2026-06-06T06:43:03.0717549Z         "unit",
2026-06-06T06:43:03.0718529Z         "int"
2026-06-06T06:43:03.0719512Z       ],
2026-06-06T06:43:03.0720441Z       "stages": {
2026-06-06T06:43:03.0721491Z         "doc": {
2026-06-06T06:43:03.0722532Z           "complete": false,
2026-06-06T06:43:03.0723758Z           "evidence": []
2026-06-06T06:43:03.0724873Z         },
2026-06-06T06:43:03.0732881Z         "impl": {
2026-06-06T06:43:03.0734028Z           "complete": true,
2026-06-06T06:43:03.0735220Z           "evidence": [
2026-06-06T06:43:03.0736301Z             {
2026-06-06T06:43:03.0737470Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.0738990Z               "line": 27
2026-06-06T06:43:03.0740151Z             },
2026-06-06T06:43:03.0741124Z             {
2026-06-06T06:43:03.0742324Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0743877Z               "line": 362
2026-06-06T06:43:03.0744976Z             }
2026-06-06T06:43:03.0745910Z           ]
2026-06-06T06:43:03.0746829Z         },
2026-06-06T06:43:03.0747747Z         "int": {
2026-06-06T06:43:03.0748770Z           "complete": true,
2026-06-06T06:43:03.0749975Z           "evidence": [
2026-06-06T06:43:03.0751043Z             {
2026-06-06T06:43:03.0752264Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.0753838Z               "line": 203
2026-06-06T06:43:03.0754942Z             }
2026-06-06T06:43:03.0755887Z           ]
2026-06-06T06:43:03.0756805Z         },
2026-06-06T06:43:03.0757723Z         "unit": {
2026-06-06T06:43:03.0758750Z           "complete": true,
2026-06-06T06:43:03.0759959Z           "evidence": [
2026-06-06T06:43:03.0761026Z             {
2026-06-06T06:43:03.0762197Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.0763700Z               "line": 230
2026-06-06T06:43:03.0764810Z             },
2026-06-06T06:43:03.0765762Z             {
2026-06-06T06:43:03.0766930Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.0768478Z               "line": 583
2026-06-06T06:43:03.0769616Z             }
2026-06-06T06:43:03.0770558Z           ]
2026-06-06T06:43:03.0771476Z         }
2026-06-06T06:43:03.0772376Z       }
2026-06-06T06:43:03.0773305Z     },
2026-06-06T06:43:03.0774216Z     {
2026-06-06T06:43:03.0775493Z       "id": "REQ-ARCH-1",
2026-06-06T06:43:03.0777056Z       "title": "Many small acyclically-layered crates",
2026-06-06T06:43:03.0778633Z       "requiredStages": [
2026-06-06T06:43:03.0779819Z         "impl"
2026-06-06T06:43:03.0780783Z       ],
2026-06-06T06:43:03.0781704Z       "stages": {
2026-06-06T06:43:03.0782698Z         "doc": {
2026-06-06T06:43:03.0783734Z           "complete": false,
2026-06-06T06:43:03.0784923Z           "evidence": []
2026-06-06T06:43:03.0786005Z         },
2026-06-06T06:43:03.0786926Z         "impl": {
2026-06-06T06:43:03.0787965Z           "complete": true,
2026-06-06T06:43:03.0789123Z           "evidence": [
2026-06-06T06:43:03.0790216Z             {
2026-06-06T06:43:03.0791340Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-06T06:43:03.0792799Z               "line": 16
2026-06-06T06:43:03.0793872Z             },
2026-06-06T06:43:03.0794833Z             {
2026-06-06T06:43:03.0795954Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-06T06:43:03.0797444Z               "line": 12
2026-06-06T06:43:03.0798535Z             },
2026-06-06T06:43:03.0799702Z             {
2026-06-06T06:43:03.0801409Z               "path": "crates/spt-store/src/lib.rs",
2026-06-06T06:43:03.0802903Z               "line": 12
2026-06-06T06:43:03.0803982Z             }
2026-06-06T06:43:03.0804918Z           ]
2026-06-06T06:43:03.0805836Z         },
2026-06-06T06:43:03.0806739Z         "int": {
2026-06-06T06:43:03.0807764Z           "complete": false,
2026-06-06T06:43:03.0809781Z           "evidence": []
2026-06-06T06:43:03.0811044Z         },
2026-06-06T06:43:03.0811982Z         "unit": {
2026-06-06T06:43:03.0813012Z           "complete": false,
2026-06-06T06:43:03.0814200Z           "evidence": []
2026-06-06T06:43:03.0815289Z         }
2026-06-06T06:43:03.0816230Z       }
2026-06-06T06:43:03.0817133Z     },
2026-06-06T06:43:03.0818021Z     {
2026-06-06T06:43:03.0818944Z       "id": "REQ-ARCH-2",
2026-06-06T06:43:03.0820665Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-06T06:43:03.0822546Z       "requiredStages": [
2026-06-06T06:43:03.0823672Z         "impl"
2026-06-06T06:43:03.0824631Z       ],
2026-06-06T06:43:03.0860406Z       "stages": {
2026-06-06T06:43:03.0861930Z         "doc": {
2026-06-06T06:43:03.0863036Z           "complete": false,
2026-06-06T06:43:03.0864297Z           "evidence": []
2026-06-06T06:43:03.0865428Z         },
2026-06-06T06:43:03.0866399Z         "impl": {
2026-06-06T06:43:03.0867469Z           "complete": true,
2026-06-06T06:43:03.0868685Z           "evidence": [
2026-06-06T06:43:03.0869845Z             {
2026-06-06T06:43:03.0871098Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-06T06:43:03.0872734Z               "line": 18
2026-06-06T06:43:03.0873929Z             }
2026-06-06T06:43:03.0874992Z           ]
2026-06-06T06:43:03.0876040Z         },
2026-06-06T06:43:03.0877176Z         "int": {
2026-06-06T06:43:03.0878456Z           "complete": false,
2026-06-06T06:43:03.0879939Z           "evidence": []
2026-06-06T06:43:03.0881186Z         },
2026-06-06T06:43:03.0882266Z         "unit": {
2026-06-06T06:43:03.0883413Z           "complete": false,
2026-06-06T06:43:03.0884861Z           "evidence": []
2026-06-06T06:43:03.0886623Z         }
2026-06-06T06:43:03.0887627Z       }
2026-06-06T06:43:03.0888700Z     },
2026-06-06T06:43:03.0889940Z     {
2026-06-06T06:43:03.0891015Z       "id": "REQ-ARCH-3",
2026-06-06T06:43:03.0893353Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-06T06:43:03.0895702Z       "requiredStages": [
2026-06-06T06:43:03.0897057Z         "impl",
2026-06-06T06:43:03.0898090Z         "unit"
2026-06-06T06:43:03.0899132Z       ],
2026-06-06T06:43:03.0900354Z       "stages": {
2026-06-06T06:43:03.0901489Z         "doc": {
2026-06-06T06:43:03.0902857Z           "complete": false,
2026-06-06T06:43:03.0904285Z           "evidence": []
2026-06-06T06:43:03.0905457Z         },
2026-06-06T06:43:03.0906410Z         "impl": {
2026-06-06T06:43:03.0907899Z           "complete": true,
2026-06-06T06:43:03.0909519Z           "evidence": [
2026-06-06T06:43:03.0910588Z             {
2026-06-06T06:43:03.0911780Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:43:03.0913310Z               "line": 34
2026-06-06T06:43:03.0914401Z             },
2026-06-06T06:43:03.0915365Z             {
2026-06-06T06:43:03.0916541Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:43:03.0918083Z               "line": 41
2026-06-06T06:43:03.0919215Z             }
2026-06-06T06:43:03.0920352Z           ]
2026-06-06T06:43:03.0921297Z         },
2026-06-06T06:43:03.0922248Z         "int": {
2026-06-06T06:43:03.0923407Z           "complete": false,
2026-06-06T06:43:03.0924782Z           "evidence": []
2026-06-06T06:43:03.0925881Z         },
2026-06-06T06:43:03.0926805Z         "unit": {
2026-06-06T06:43:03.0927851Z           "complete": true,
2026-06-06T06:43:03.0929013Z           "evidence": [
2026-06-06T06:43:03.0930549Z             {
2026-06-06T06:43:03.0931759Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:43:03.0933312Z               "line": 51
2026-06-06T06:43:03.0934402Z             },
2026-06-06T06:43:03.0935350Z             {
2026-06-06T06:43:03.0936509Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:43:03.0938033Z               "line": 65
2026-06-06T06:43:03.0939118Z             },
2026-06-06T06:43:03.0940127Z             {
2026-06-06T06:43:03.0941309Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:43:03.0942828Z               "line": 74
2026-06-06T06:43:03.0943942Z             }
2026-06-06T06:43:03.0944888Z           ]
2026-06-06T06:43:03.0945811Z         }
2026-06-06T06:43:03.0946724Z       }
2026-06-06T06:43:03.0947615Z     },
2026-06-06T06:43:03.0948509Z     {
2026-06-06T06:43:03.0949506Z       "id": "REQ-ARCH-4",
2026-06-06T06:43:03.0951188Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-06T06:43:03.0959778Z       "requiredStages": [
2026-06-06T06:43:03.0960966Z         "impl",
2026-06-06T06:43:03.0961971Z         "unit"
2026-06-06T06:43:03.0962937Z       ],
2026-06-06T06:43:03.0963860Z       "stages": {
2026-06-06T06:43:03.0964853Z         "doc": {
2026-06-06T06:43:03.0965888Z           "complete": false,
2026-06-06T06:43:03.0967084Z           "evidence": []
2026-06-06T06:43:03.0968180Z         },
2026-06-06T06:43:03.0969111Z         "impl": {
2026-06-06T06:43:03.0970200Z           "complete": true,
2026-06-06T06:43:03.0971361Z           "evidence": [
2026-06-06T06:43:03.0972420Z             {
2026-06-06T06:43:03.0973571Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.0975077Z               "line": 82
2026-06-06T06:43:03.0976155Z             },
2026-06-06T06:43:03.0977113Z             {
2026-06-06T06:43:03.0978254Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.0979813Z               "line": 96
2026-06-06T06:43:03.0980885Z             },
2026-06-06T06:43:03.0981855Z             {
2026-06-06T06:43:03.0983002Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.0984501Z               "line": 116
2026-06-06T06:43:03.0985587Z             },
2026-06-06T06:43:03.0986550Z             {
2026-06-06T06:43:03.0987703Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.0989248Z               "line": 131
2026-06-06T06:43:03.0990347Z             },
2026-06-06T06:43:03.0991297Z             {
2026-06-06T06:43:03.0992441Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.0993942Z               "line": 181
2026-06-06T06:43:03.0995046Z             }
2026-06-06T06:43:03.0995981Z           ]
2026-06-06T06:43:03.0996898Z         },
2026-06-06T06:43:03.0997810Z         "int": {
2026-06-06T06:43:03.0998853Z           "complete": false,
2026-06-06T06:43:03.1000094Z           "evidence": []
2026-06-06T06:43:03.1001189Z         },
2026-06-06T06:43:03.1002118Z         "unit": {
2026-06-06T06:43:03.1003514Z           "complete": true,
2026-06-06T06:43:03.1004720Z           "evidence": [
2026-06-06T06:43:03.1005924Z             {
2026-06-06T06:43:03.1007072Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1008573Z               "line": 245
2026-06-06T06:43:03.1009739Z             },
2026-06-06T06:43:03.1010700Z             {
2026-06-06T06:43:03.1011855Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1013353Z               "line": 255
2026-06-06T06:43:03.1014477Z             },
2026-06-06T06:43:03.1015709Z             {
2026-06-06T06:43:03.1017093Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1018852Z               "line": 266
2026-06-06T06:43:03.1020773Z             },
2026-06-06T06:43:03.1021891Z             {
2026-06-06T06:43:03.1023190Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1024894Z               "line": 277
2026-06-06T06:43:03.1026117Z             },
2026-06-06T06:43:03.1027197Z             {
2026-06-06T06:43:03.1028484Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1030434Z               "line": 289
2026-06-06T06:43:03.1031553Z             },
2026-06-06T06:43:03.1032506Z             {
2026-06-06T06:43:03.1033659Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1035167Z               "line": 302
2026-06-06T06:43:03.1036253Z             },
2026-06-06T06:43:03.1037198Z             {
2026-06-06T06:43:03.1038340Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1040195Z               "line": 313
2026-06-06T06:43:03.1041300Z             },
2026-06-06T06:43:03.1042251Z             {
2026-06-06T06:43:03.1043401Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1044913Z               "line": 327
2026-06-06T06:43:03.1045995Z             },
2026-06-06T06:43:03.1046949Z             {
2026-06-06T06:43:03.1048091Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.1049615Z               "line": 355
2026-06-06T06:43:03.1050719Z             }
2026-06-06T06:43:03.1051680Z           ]
2026-06-06T06:43:03.1052586Z         }
2026-06-06T06:43:03.1059248Z       }
2026-06-06T06:43:03.1060191Z     },
2026-06-06T06:43:03.1061082Z     {
2026-06-06T06:43:03.1062041Z       "id": "REQ-CONSENT-1",
2026-06-06T06:43:03.1068746Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-06T06:43:03.1075833Z       "requiredStages": [
2026-06-06T06:43:03.1076968Z         "impl",
2026-06-06T06:43:03.1077972Z         "unit"
2026-06-06T06:43:03.1078992Z       ],
2026-06-06T06:43:03.1079958Z       "stages": {
2026-06-06T06:43:03.1080959Z         "doc": {
2026-06-06T06:43:03.1082010Z           "complete": false,
2026-06-06T06:43:03.1083241Z           "evidence": []
2026-06-06T06:43:03.1084342Z         },
2026-06-06T06:43:03.1085278Z         "impl": {
2026-06-06T06:43:03.1086336Z           "complete": true,
2026-06-06T06:43:03.1087501Z           "evidence": [
2026-06-06T06:43:03.1088567Z             {
2026-06-06T06:43:03.1089783Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1091300Z               "line": 27
2026-06-06T06:43:03.1092392Z             },
2026-06-06T06:43:03.1093343Z             {
2026-06-06T06:43:03.1094516Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1096039Z               "line": 75
2026-06-06T06:43:03.1097140Z             },
2026-06-06T06:43:03.1098096Z             {
2026-06-06T06:43:03.1099314Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1100836Z               "line": 98
2026-06-06T06:43:03.1101917Z             },
2026-06-06T06:43:03.1102867Z             {
2026-06-06T06:43:03.1104473Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1106016Z               "line": 82
2026-06-06T06:43:03.1107292Z             },
2026-06-06T06:43:03.1108252Z             {
2026-06-06T06:43:03.1109451Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1110959Z               "line": 109
2026-06-06T06:43:03.1112067Z             },
2026-06-06T06:43:03.1113028Z             {
2026-06-06T06:43:03.1114177Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1115672Z               "line": 127
2026-06-06T06:43:03.1116776Z             },
2026-06-06T06:43:03.1117721Z             {
2026-06-06T06:43:03.1118871Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1120410Z               "line": 142
2026-06-06T06:43:03.1121495Z             },
2026-06-06T06:43:03.1122448Z             {
2026-06-06T06:43:03.1123517Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1124934Z               "line": 3173
2026-06-06T06:43:03.1126042Z             }
2026-06-06T06:43:03.1127015Z           ]
2026-06-06T06:43:03.1127949Z         },
2026-06-06T06:43:03.1128846Z         "int": {
2026-06-06T06:43:03.1129909Z           "complete": false,
2026-06-06T06:43:03.1131109Z           "evidence": []
2026-06-06T06:43:03.1132188Z         },
2026-06-06T06:43:03.1133104Z         "unit": {
2026-06-06T06:43:03.1134134Z           "complete": true,
2026-06-06T06:43:03.1135287Z           "evidence": [
2026-06-06T06:43:03.1136352Z             {
2026-06-06T06:43:03.1137512Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1139039Z               "line": 318
2026-06-06T06:43:03.1140169Z             },
2026-06-06T06:43:03.1141115Z             {
2026-06-06T06:43:03.1142280Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1143774Z               "line": 343
2026-06-06T06:43:03.1144874Z             },
2026-06-06T06:43:03.1145835Z             {
2026-06-06T06:43:03.1146986Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1148496Z               "line": 354
2026-06-06T06:43:03.1149628Z             },
2026-06-06T06:43:03.1150587Z             {
2026-06-06T06:43:03.1151719Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1153197Z               "line": 165
2026-06-06T06:43:03.1154283Z             },
2026-06-06T06:43:03.1155240Z             {
2026-06-06T06:43:03.1156363Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1157857Z               "line": 184
2026-06-06T06:43:03.1158939Z             },
2026-06-06T06:43:03.1159920Z             {
2026-06-06T06:43:03.1161065Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:43:03.1162542Z               "line": 204
2026-06-06T06:43:03.1167958Z             },
2026-06-06T06:43:03.1169011Z             {
2026-06-06T06:43:03.1170190Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1171593Z               "line": 3510
2026-06-06T06:43:03.1172682Z             }
2026-06-06T06:43:03.1173603Z           ]
2026-06-06T06:43:03.1174524Z         }
2026-06-06T06:43:03.1175413Z       }
2026-06-06T06:43:03.1176267Z     },
2026-06-06T06:43:03.1177124Z     {
2026-06-06T06:43:03.1178054Z       "id": "REQ-CONSENT-2",
2026-06-06T06:43:03.1184201Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-06T06:43:03.1190611Z       "requiredStages": [
2026-06-06T06:43:03.1191721Z         "impl",
2026-06-06T06:43:03.1192669Z         "unit"
2026-06-06T06:43:03.1193607Z       ],
2026-06-06T06:43:03.1194503Z       "stages": {
2026-06-06T06:43:03.1195477Z         "doc": {
2026-06-06T06:43:03.1196491Z           "complete": false,
2026-06-06T06:43:03.1197660Z           "evidence": []
2026-06-06T06:43:03.1198716Z         },
2026-06-06T06:43:03.1199920Z         "impl": {
2026-06-06T06:43:03.1200999Z           "complete": true,
2026-06-06T06:43:03.1202374Z           "evidence": [
2026-06-06T06:43:03.1203415Z             {
2026-06-06T06:43:03.1204562Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1206056Z               "line": 140
2026-06-06T06:43:03.1207120Z             },
2026-06-06T06:43:03.1208048Z             {
2026-06-06T06:43:03.1209232Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1210703Z               "line": 158
2026-06-06T06:43:03.1211823Z             },
2026-06-06T06:43:03.1212764Z             {
2026-06-06T06:43:03.1213901Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1215380Z               "line": 192
2026-06-06T06:43:03.1216436Z             },
2026-06-06T06:43:03.1217356Z             {
2026-06-06T06:43:03.1218495Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1220008Z               "line": 234
2026-06-06T06:43:03.1221084Z             },
2026-06-06T06:43:03.1222022Z             {
2026-06-06T06:43:03.1223173Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1224662Z               "line": 262
2026-06-06T06:43:03.1225714Z             },
2026-06-06T06:43:03.1226636Z             {
2026-06-06T06:43:03.1227775Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1229291Z               "line": 293
2026-06-06T06:43:03.1230349Z             },
2026-06-06T06:43:03.1231275Z             {
2026-06-06T06:43:03.1232321Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1233718Z               "line": 3066
2026-06-06T06:43:03.1234800Z             },
2026-06-06T06:43:03.1235725Z             {
2026-06-06T06:43:03.1236765Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1238160Z               "line": 3106
2026-06-06T06:43:03.1239270Z             }
2026-06-06T06:43:03.1240183Z           ]
2026-06-06T06:43:03.1241078Z         },
2026-06-06T06:43:03.1241981Z         "int": {
2026-06-06T06:43:03.1242996Z           "complete": false,
2026-06-06T06:43:03.1244148Z           "evidence": []
2026-06-06T06:43:03.1245199Z         },
2026-06-06T06:43:03.1246093Z         "unit": {
2026-06-06T06:43:03.1247094Z           "complete": true,
2026-06-06T06:43:03.1248225Z           "evidence": [
2026-06-06T06:43:03.1249294Z             {
2026-06-06T06:43:03.1250434Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1251917Z               "line": 382
2026-06-06T06:43:03.1252980Z             },
2026-06-06T06:43:03.1253909Z             {
2026-06-06T06:43:03.1255050Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1256540Z               "line": 396
2026-06-06T06:43:03.1257600Z             },
2026-06-06T06:43:03.1258529Z             {
2026-06-06T06:43:03.1259708Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1261167Z               "line": 432
2026-06-06T06:43:03.1262235Z             },
2026-06-06T06:43:03.1263182Z             {
2026-06-06T06:43:03.1264309Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.1265783Z               "line": 464
2026-06-06T06:43:03.1266849Z             },
2026-06-06T06:43:03.1267781Z             {
2026-06-06T06:43:03.1273089Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1274521Z               "line": 4181
2026-06-06T06:43:03.1275639Z             },
2026-06-06T06:43:03.1276604Z             {
2026-06-06T06:43:03.1277650Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1279034Z               "line": 4241
2026-06-06T06:43:03.1280182Z             }
2026-06-06T06:43:03.1281103Z           ]
2026-06-06T06:43:03.1281983Z         }
2026-06-06T06:43:03.1282856Z       }
2026-06-06T06:43:03.1283714Z     },
2026-06-06T06:43:03.1284578Z     {
2026-06-06T06:43:03.1285497Z       "id": "REQ-DAEMON-1",
2026-06-06T06:43:03.1287102Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-06T06:43:03.1289274Z       "requiredStages": [
2026-06-06T06:43:03.1290413Z         "impl",
2026-06-06T06:43:03.1291536Z         "unit",
2026-06-06T06:43:03.1292477Z         "int"
2026-06-06T06:43:03.1293394Z       ],
2026-06-06T06:43:03.1294274Z       "stages": {
2026-06-06T06:43:03.1295244Z         "doc": {
2026-06-06T06:43:03.1296259Z           "complete": false,
2026-06-06T06:43:03.1297412Z           "evidence": []
2026-06-06T06:43:03.1298469Z         },
2026-06-06T06:43:03.1299420Z         "impl": {
2026-06-06T06:43:03.1300433Z           "complete": true,
2026-06-06T06:43:03.1301556Z           "evidence": [
2026-06-06T06:43:03.1302582Z             {
2026-06-06T06:43:03.1303718Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.1305189Z               "line": 12
2026-06-06T06:43:03.1306241Z             },
2026-06-06T06:43:03.1307160Z             {
2026-06-06T06:43:03.1308318Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1309853Z               "line": 16
2026-06-06T06:43:03.1310917Z             },
2026-06-06T06:43:03.1311850Z             {
2026-06-06T06:43:03.1312959Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-06T06:43:03.1314417Z               "line": 15
2026-06-06T06:43:03.1315474Z             },
2026-06-06T06:43:03.1316397Z             {
2026-06-06T06:43:03.1317486Z               "path": "crates/spt/src/api/live.rs",
2026-06-06T06:43:03.1318966Z               "line": 13
2026-06-06T06:43:03.1320080Z             }
2026-06-06T06:43:03.1320990Z           ]
2026-06-06T06:43:03.1321875Z         },
2026-06-06T06:43:03.1322749Z         "int": {
2026-06-06T06:43:03.1323754Z           "complete": true,
2026-06-06T06:43:03.1324881Z           "evidence": [
2026-06-06T06:43:03.1325902Z             {
2026-06-06T06:43:03.1327090Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:43:03.1328630Z               "line": 32
2026-06-06T06:43:03.1329726Z             }
2026-06-06T06:43:03.1330632Z           ]
2026-06-06T06:43:03.1331516Z         },
2026-06-06T06:43:03.1332437Z         "unit": {
2026-06-06T06:43:03.1333447Z           "complete": true,
2026-06-06T06:43:03.1334572Z           "evidence": [
2026-06-06T06:43:03.1335595Z             {
2026-06-06T06:43:03.1336726Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.1338192Z               "line": 254
2026-06-06T06:43:03.1339288Z             },
2026-06-06T06:43:03.1340221Z             {
2026-06-06T06:43:03.1341347Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.1342817Z               "line": 262
2026-06-06T06:43:03.1343915Z             },
2026-06-06T06:43:03.1344860Z             {
2026-06-06T06:43:03.1345998Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.1347463Z               "line": 275
2026-06-06T06:43:03.1348512Z             },
2026-06-06T06:43:03.1349484Z             {
2026-06-06T06:43:03.1350620Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.1352090Z               "line": 283
2026-06-06T06:43:03.1353171Z             },
2026-06-06T06:43:03.1354105Z             {
2026-06-06T06:43:03.1355266Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1356768Z               "line": 536
2026-06-06T06:43:03.1357817Z             },
2026-06-06T06:43:03.1358744Z             {
2026-06-06T06:43:03.1359944Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1361456Z               "line": 595
2026-06-06T06:43:03.1362521Z             },
2026-06-06T06:43:03.1367496Z             {
2026-06-06T06:43:03.1368724Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-06T06:43:03.1370302Z               "line": 100
2026-06-06T06:43:03.1371360Z             },
2026-06-06T06:43:03.1372288Z             {
2026-06-06T06:43:03.1373403Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-06T06:43:03.1374868Z               "line": 125
2026-06-06T06:43:03.1375926Z             }
2026-06-06T06:43:03.1376841Z           ]
2026-06-06T06:43:03.1377991Z         }
2026-06-06T06:43:03.1378912Z       }
2026-06-06T06:43:03.1379982Z     },
2026-06-06T06:43:03.1380847Z     {
2026-06-06T06:43:03.1381757Z       "id": "REQ-DAEMON-2",
2026-06-06T06:43:03.1383191Z       "title": "Broker/brain split for seamless self-update",
2026-06-06T06:43:03.1384837Z       "requiredStages": [
2026-06-06T06:43:03.1385937Z         "impl",
2026-06-06T06:43:03.1386876Z         "unit",
2026-06-06T06:43:03.1387821Z         "int"
2026-06-06T06:43:03.1388732Z       ],
2026-06-06T06:43:03.1389661Z       "stages": {
2026-06-06T06:43:03.1390631Z         "doc": {
2026-06-06T06:43:03.1391633Z           "complete": false,
2026-06-06T06:43:03.1392784Z           "evidence": []
2026-06-06T06:43:03.1393848Z         },
2026-06-06T06:43:03.1394731Z         "impl": {
2026-06-06T06:43:03.1395737Z           "complete": true,
2026-06-06T06:43:03.1396862Z           "evidence": [
2026-06-06T06:43:03.1397896Z             {
2026-06-06T06:43:03.1399022Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.1400509Z               "line": 23
2026-06-06T06:43:03.1401570Z             },
2026-06-06T06:43:03.1402498Z             {
2026-06-06T06:43:03.1403615Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.1405074Z               "line": 497
2026-06-06T06:43:03.1406134Z             },
2026-06-06T06:43:03.1407050Z             {
2026-06-06T06:43:03.1408166Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.1409655Z               "line": 650
2026-06-06T06:43:03.1410706Z             },
2026-06-06T06:43:03.1411622Z             {
2026-06-06T06:43:03.1412759Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.1414206Z               "line": 32
2026-06-06T06:43:03.1415254Z             },
2026-06-06T06:43:03.1416178Z             {
2026-06-06T06:43:03.1417301Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.1418749Z               "line": 191
2026-06-06T06:43:03.1419841Z             },
2026-06-06T06:43:03.1420775Z             {
2026-06-06T06:43:03.1421922Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.1423372Z               "line": 524
2026-06-06T06:43:03.1424421Z             },
2026-06-06T06:43:03.1425341Z             {
2026-06-06T06:43:03.1426471Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.1427927Z               "line": 751
2026-06-06T06:43:03.1428990Z             },
2026-06-06T06:43:03.1429945Z             {
2026-06-06T06:43:03.1431070Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:43:03.1432517Z               "line": 11
2026-06-06T06:43:03.1433558Z             },
2026-06-06T06:43:03.1434483Z             {
2026-06-06T06:43:03.1435684Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.1437159Z               "line": 69
2026-06-06T06:43:03.1438196Z             },
2026-06-06T06:43:03.1439124Z             {
2026-06-06T06:43:03.1441033Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.1442556Z               "line": 13
2026-06-06T06:43:03.1443615Z             },
2026-06-06T06:43:03.1444534Z             {
2026-06-06T06:43:03.1445656Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1447126Z               "line": 27
2026-06-06T06:43:03.1448173Z             },
2026-06-06T06:43:03.1449101Z             {
2026-06-06T06:43:03.1450322Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1451810Z               "line": 94
2026-06-06T06:43:03.1452857Z             },
2026-06-06T06:43:03.1453772Z             {
2026-06-06T06:43:03.1454901Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1456373Z               "line": 400
2026-06-06T06:43:03.1457420Z             },
2026-06-06T06:43:03.1458337Z             {
2026-06-06T06:43:03.1459517Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1465247Z               "line": 513
2026-06-06T06:43:03.1466441Z             },
2026-06-06T06:43:03.1467672Z             {
2026-06-06T06:43:03.1468985Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1470577Z               "line": 547
2026-06-06T06:43:03.1471633Z             },
2026-06-06T06:43:03.1472556Z             {
2026-06-06T06:43:03.1473707Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1475179Z               "line": 589
2026-06-06T06:43:03.1476242Z             },
2026-06-06T06:43:03.1477176Z             {
2026-06-06T06:43:03.1478319Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1479826Z               "line": 634
2026-06-06T06:43:03.1480885Z             },
2026-06-06T06:43:03.1481806Z             {
2026-06-06T06:43:03.1482972Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:43:03.1484464Z               "line": 10
2026-06-06T06:43:03.1485526Z             }
2026-06-06T06:43:03.1486430Z           ]
2026-06-06T06:43:03.1487308Z         },
2026-06-06T06:43:03.1488199Z         "int": {
2026-06-06T06:43:03.1489234Z           "complete": true,
2026-06-06T06:43:03.1490366Z           "evidence": [
2026-06-06T06:43:03.1491385Z             {
2026-06-06T06:43:03.1492526Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-06T06:43:03.1494007Z               "line": 17
2026-06-06T06:43:03.1495058Z             },
2026-06-06T06:43:03.1495981Z             {
2026-06-06T06:43:03.1497160Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:43:03.1498661Z               "line": 33
2026-06-06T06:43:03.1499739Z             },
2026-06-06T06:43:03.1500654Z             {
2026-06-06T06:43:03.1501818Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-06T06:43:03.1503291Z               "line": 19
2026-06-06T06:43:03.1504334Z             },
2026-06-06T06:43:03.1505246Z             {
2026-06-06T06:43:03.1506420Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:43:03.1507931Z               "line": 70
2026-06-06T06:43:03.1508980Z             },
2026-06-06T06:43:03.1509944Z             {
2026-06-06T06:43:03.1511121Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:43:03.1512624Z               "line": 90
2026-06-06T06:43:03.1513671Z             },
2026-06-06T06:43:03.1514594Z             {
2026-06-06T06:43:03.1515761Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:43:03.1517255Z               "line": 160
2026-06-06T06:43:03.1518310Z             },
2026-06-06T06:43:03.1519257Z             {
2026-06-06T06:43:03.1520428Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:43:03.1521931Z               "line": 196
2026-06-06T06:43:03.1522989Z             },
2026-06-06T06:43:03.1523894Z             {
2026-06-06T06:43:03.1525050Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-06T06:43:03.1526559Z               "line": 121
2026-06-06T06:43:03.1527604Z             }
2026-06-06T06:43:03.1528511Z           ]
2026-06-06T06:43:03.1529439Z         },
2026-06-06T06:43:03.1530348Z         "unit": {
2026-06-06T06:43:03.1531353Z           "complete": true,
2026-06-06T06:43:03.1532482Z           "evidence": [
2026-06-06T06:43:03.1533499Z             {
2026-06-06T06:43:03.1534593Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:43:03.1536008Z               "line": 62
2026-06-06T06:43:03.1537058Z             },
2026-06-06T06:43:03.1537977Z             {
2026-06-06T06:43:03.1539080Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:43:03.1540540Z               "line": 76
2026-06-06T06:43:03.1541573Z             },
2026-06-06T06:43:03.1542478Z             {
2026-06-06T06:43:03.1543570Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:43:03.1544992Z               "line": 88
2026-06-06T06:43:03.1546025Z             },
2026-06-06T06:43:03.1546941Z             {
2026-06-06T06:43:03.1548050Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:43:03.1549527Z               "line": 264
2026-06-06T06:43:03.1550782Z             },
2026-06-06T06:43:03.1551896Z             {
2026-06-06T06:43:03.1552979Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.1554389Z               "line": 551
2026-06-06T06:43:03.1555449Z             },
2026-06-06T06:43:03.1556457Z             {
2026-06-06T06:43:03.1557608Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.1563428Z               "line": 559
2026-06-06T06:43:03.1564518Z             },
2026-06-06T06:43:03.1565454Z             {
2026-06-06T06:43:03.1566556Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.1567962Z               "line": 576
2026-06-06T06:43:03.1569004Z             },
2026-06-06T06:43:03.1569998Z             {
2026-06-06T06:43:03.1571093Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.1572495Z               "line": 621
2026-06-06T06:43:03.1573540Z             },
2026-06-06T06:43:03.1574484Z             {
2026-06-06T06:43:03.1575640Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1577110Z               "line": 701
2026-06-06T06:43:03.1578156Z             },
2026-06-06T06:43:03.1579073Z             {
2026-06-06T06:43:03.1580232Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.1581672Z               "line": 713
2026-06-06T06:43:03.1582713Z             },
2026-06-06T06:43:03.1583633Z             {
2026-06-06T06:43:03.1584765Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:43:03.1586235Z               "line": 112
2026-06-06T06:43:03.1587275Z             }
2026-06-06T06:43:03.1588176Z           ]
2026-06-06T06:43:03.1589051Z         }
2026-06-06T06:43:03.1589960Z       }
2026-06-06T06:43:03.1590815Z     },
2026-06-06T06:43:03.1591660Z     {
2026-06-06T06:43:03.1592569Z       "id": "REQ-DAEMON-3",
2026-06-06T06:43:03.1594058Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-06T06:43:03.1595732Z       "requiredStages": [
2026-06-06T06:43:03.1596807Z         "impl",
2026-06-06T06:43:03.1597748Z         "unit",
2026-06-06T06:43:03.1598683Z         "int"
2026-06-06T06:43:03.1599619Z       ],
2026-06-06T06:43:03.1600491Z       "stages": {
2026-06-06T06:43:03.1601435Z         "doc": {
2026-06-06T06:43:03.1602423Z           "complete": false,
2026-06-06T06:43:03.1603551Z           "evidence": []
2026-06-06T06:43:03.1604577Z         },
2026-06-06T06:43:03.1605459Z         "impl": {
2026-06-06T06:43:03.1606445Z           "complete": true,
2026-06-06T06:43:03.1607538Z           "evidence": [
2026-06-06T06:43:03.1608551Z             {
2026-06-06T06:43:03.1609699Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.1611133Z               "line": 14
2026-06-06T06:43:03.1612184Z             },
2026-06-06T06:43:03.1613099Z             {
2026-06-06T06:43:03.1614217Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-06T06:43:03.1615669Z               "line": 11
2026-06-06T06:43:03.1616696Z             },
2026-06-06T06:43:03.1617620Z             {
2026-06-06T06:43:03.1618683Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.1620091Z               "line": 247
2026-06-06T06:43:03.1621147Z             },
2026-06-06T06:43:03.1622053Z             {
2026-06-06T06:43:03.1623083Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1624441Z               "line": 1026
2026-06-06T06:43:03.1625496Z             }
2026-06-06T06:43:03.1626396Z           ]
2026-06-06T06:43:03.1627264Z         },
2026-06-06T06:43:03.1628138Z         "int": {
2026-06-06T06:43:03.1629121Z           "complete": true,
2026-06-06T06:43:03.1630274Z           "evidence": [
2026-06-06T06:43:03.1631288Z             {
2026-06-06T06:43:03.1632411Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.1633850Z               "line": 43
2026-06-06T06:43:03.1634896Z             },
2026-06-06T06:43:03.1635807Z             {
2026-06-06T06:43:03.1636920Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.1638634Z               "line": 320
2026-06-06T06:43:03.1639933Z             }
2026-06-06T06:43:03.1641293Z           ]
2026-06-06T06:43:03.1642545Z         },
2026-06-06T06:43:03.1643708Z         "unit": {
2026-06-06T06:43:03.1645044Z           "complete": true,
2026-06-06T06:43:03.1646174Z           "evidence": [
2026-06-06T06:43:03.1647420Z             {
2026-06-06T06:43:03.1648563Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.1650108Z               "line": 400
2026-06-06T06:43:03.1651265Z             }
2026-06-06T06:43:03.1652184Z           ]
2026-06-06T06:43:03.1653058Z         }
2026-06-06T06:43:03.1660492Z       }
2026-06-06T06:43:03.1661520Z     },
2026-06-06T06:43:03.1662804Z     {
2026-06-06T06:43:03.1663781Z       "id": "REQ-DAEMON-4",
2026-06-06T06:43:03.1665145Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-06T06:43:03.1666690Z       "requiredStages": [
2026-06-06T06:43:03.1667814Z         "impl",
2026-06-06T06:43:03.1668841Z         "unit",
2026-06-06T06:43:03.1670061Z         "int"
2026-06-06T06:43:03.1671006Z       ],
2026-06-06T06:43:03.1672202Z       "stages": {
2026-06-06T06:43:03.1673402Z         "doc": {
2026-06-06T06:43:03.1674431Z           "complete": false,
2026-06-06T06:43:03.1675669Z           "evidence": []
2026-06-06T06:43:03.1676796Z         },
2026-06-06T06:43:03.1677724Z         "impl": {
2026-06-06T06:43:03.1678960Z           "complete": true,
2026-06-06T06:43:03.1680337Z           "evidence": [
2026-06-06T06:43:03.1681363Z             {
2026-06-06T06:43:03.1682511Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1683997Z               "line": 347
2026-06-06T06:43:03.1685052Z             },
2026-06-06T06:43:03.1685978Z             {
2026-06-06T06:43:03.1687144Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1688637Z               "line": 409
2026-06-06T06:43:03.1690143Z             },
2026-06-06T06:43:03.1691088Z             {
2026-06-06T06:43:03.1692260Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1693763Z               "line": 431
2026-06-06T06:43:03.1694812Z             }
2026-06-06T06:43:03.1695729Z           ]
2026-06-06T06:43:03.1696628Z         },
2026-06-06T06:43:03.1697517Z         "int": {
2026-06-06T06:43:03.1698511Z           "complete": true,
2026-06-06T06:43:03.1700021Z           "evidence": [
2026-06-06T06:43:03.1701052Z             {
2026-06-06T06:43:03.1702229Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:43:03.1703737Z               "line": 34
2026-06-06T06:43:03.1704776Z             }
2026-06-06T06:43:03.1705703Z           ]
2026-06-06T06:43:03.1706601Z         },
2026-06-06T06:43:03.1707500Z         "unit": {
2026-06-06T06:43:03.1708580Z           "complete": true,
2026-06-06T06:43:03.1709732Z           "evidence": [
2026-06-06T06:43:03.1710754Z             {
2026-06-06T06:43:03.1711884Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.1713885Z               "line": 353
2026-06-06T06:43:03.1715049Z             },
2026-06-06T06:43:03.1716027Z             {
2026-06-06T06:43:03.1717219Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1718748Z               "line": 725
2026-06-06T06:43:03.1720060Z             },
2026-06-06T06:43:03.1721002Z             {
2026-06-06T06:43:03.1722241Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1723724Z               "line": 776
2026-06-06T06:43:03.1724771Z             },
2026-06-06T06:43:03.1725694Z             {
2026-06-06T06:43:03.1726857Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1728334Z               "line": 800
2026-06-06T06:43:03.1729428Z             },
2026-06-06T06:43:03.1730368Z             {
2026-06-06T06:43:03.1731519Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.1733042Z               "line": 830
2026-06-06T06:43:03.1734101Z             }
2026-06-06T06:43:03.1735494Z           ]
2026-06-06T06:43:03.1736480Z         }
2026-06-06T06:43:03.1737540Z       }
2026-06-06T06:43:03.1738409Z     },
2026-06-06T06:43:03.1739316Z     {
2026-06-06T06:43:03.1740265Z       "id": "REQ-DOCS-1",
2026-06-06T06:43:03.1742010Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-06T06:43:03.1744011Z       "requiredStages": [
2026-06-06T06:43:03.1745089Z         "doc",
2026-06-06T06:43:03.1746054Z         "impl"
2026-06-06T06:43:03.1746984Z       ],
2026-06-06T06:43:03.1747865Z       "stages": {
2026-06-06T06:43:03.1748829Z         "doc": {
2026-06-06T06:43:03.1749879Z           "complete": true,
2026-06-06T06:43:03.1751000Z           "evidence": [
2026-06-06T06:43:03.1752035Z             {
2026-06-06T06:43:03.1753098Z               "path": "docs-site/src/index.md",
2026-06-06T06:43:03.1754593Z               "line": 50
2026-06-06T06:43:03.1761141Z             }
2026-06-06T06:43:03.1762094Z           ]
2026-06-06T06:43:03.1762982Z         },
2026-06-06T06:43:03.1763912Z         "impl": {
2026-06-06T06:43:03.1764928Z           "complete": true,
2026-06-06T06:43:03.1766043Z           "evidence": [
2026-06-06T06:43:03.1767055Z             {
2026-06-06T06:43:03.1768201Z               "path": ".github/workflows/docs-publish.yml",
2026-06-06T06:43:03.1769766Z               "line": 12
2026-06-06T06:43:03.1770833Z             },
2026-06-06T06:43:03.1771747Z             {
2026-06-06T06:43:03.1772790Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.1774164Z               "line": 14
2026-06-06T06:43:03.1775205Z             }
2026-06-06T06:43:03.1776143Z           ]
2026-06-06T06:43:03.1777034Z         },
2026-06-06T06:43:03.1777918Z         "int": {
2026-06-06T06:43:03.1778928Z           "complete": false,
2026-06-06T06:43:03.1780117Z           "evidence": []
2026-06-06T06:43:03.1781151Z         },
2026-06-06T06:43:03.1782032Z         "unit": {
2026-06-06T06:43:03.1783029Z           "complete": false,
2026-06-06T06:43:03.1784180Z           "evidence": []
2026-06-06T06:43:03.1785214Z         }
2026-06-06T06:43:03.1786088Z       }
2026-06-06T06:43:03.1786938Z     },
2026-06-06T06:43:03.1787812Z     {
2026-06-06T06:43:03.1788709Z       "id": "REQ-DOCS-2",
2026-06-06T06:43:03.1790248Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-06T06:43:03.1791983Z       "requiredStages": [
2026-06-06T06:43:03.1793049Z         "doc",
2026-06-06T06:43:03.1793979Z         "int"
2026-06-06T06:43:03.1794883Z       ],
2026-06-06T06:43:03.1795762Z       "stages": {
2026-06-06T06:43:03.1796705Z         "doc": {
2026-06-06T06:43:03.1797707Z           "complete": true,
2026-06-06T06:43:03.1798813Z           "evidence": [
2026-06-06T06:43:03.1799868Z             {
2026-06-06T06:43:03.1801028Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-06T06:43:03.1802511Z               "line": 3
2026-06-06T06:43:03.1803520Z             },
2026-06-06T06:43:03.1804448Z             {
2026-06-06T06:43:03.1805633Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-06T06:43:03.1807149Z               "line": 3
2026-06-06T06:43:03.1808159Z             }
2026-06-06T06:43:03.1809058Z           ]
2026-06-06T06:43:03.1809969Z         },
2026-06-06T06:43:03.1810845Z         "impl": {
2026-06-06T06:43:03.1811829Z           "complete": false,
2026-06-06T06:43:03.1812963Z           "evidence": []
2026-06-06T06:43:03.1813987Z         },
2026-06-06T06:43:03.1814870Z         "int": {
2026-06-06T06:43:03.1815924Z           "complete": true,
2026-06-06T06:43:03.1817040Z           "evidence": [
2026-06-06T06:43:03.1818050Z             {
2026-06-06T06:43:03.1819284Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-06T06:43:03.1820761Z               "line": 14
2026-06-06T06:43:03.1821788Z             }
2026-06-06T06:43:03.1822681Z           ]
2026-06-06T06:43:03.1823557Z         },
2026-06-06T06:43:03.1824457Z         "unit": {
2026-06-06T06:43:03.1825442Z           "complete": false,
2026-06-06T06:43:03.1826894Z           "evidence": []
2026-06-06T06:43:03.1827979Z         }
2026-06-06T06:43:03.1829100Z       }
2026-06-06T06:43:03.1830003Z     },
2026-06-06T06:43:03.1830845Z     {
2026-06-06T06:43:03.1831740Z       "id": "REQ-DOCS-3",
2026-06-06T06:43:03.1833676Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-06T06:43:03.1835296Z       "requiredStages": [
2026-06-06T06:43:03.1836364Z         "doc"
2026-06-06T06:43:03.1837264Z       ],
2026-06-06T06:43:03.1838137Z       "stages": {
2026-06-06T06:43:03.1839088Z         "doc": {
2026-06-06T06:43:03.1840121Z           "complete": true,
2026-06-06T06:43:03.1841232Z           "evidence": [
2026-06-06T06:43:03.1842249Z             {
2026-06-06T06:43:03.1843286Z               "path": "docs-site/src/index.md",
2026-06-06T06:43:03.1844644Z               "line": 42
2026-06-06T06:43:03.1845679Z             }
2026-06-06T06:43:03.1846658Z           ]
2026-06-06T06:43:03.1852295Z         },
2026-06-06T06:43:03.1853230Z         "impl": {
2026-06-06T06:43:03.1854300Z           "complete": false,
2026-06-06T06:43:03.1855447Z           "evidence": []
2026-06-06T06:43:03.1856521Z         },
2026-06-06T06:43:03.1857412Z         "int": {
2026-06-06T06:43:03.1858405Z           "complete": false,
2026-06-06T06:43:03.1859609Z           "evidence": []
2026-06-06T06:43:03.1860652Z         },
2026-06-06T06:43:03.1861539Z         "unit": {
2026-06-06T06:43:03.1862535Z           "complete": false,
2026-06-06T06:43:03.1863674Z           "evidence": []
2026-06-06T06:43:03.1864725Z         }
2026-06-06T06:43:03.1865601Z       }
2026-06-06T06:43:03.1866460Z     },
2026-06-06T06:43:03.1867316Z     {
2026-06-06T06:43:03.1868205Z       "id": "REQ-DOCS-4",
2026-06-06T06:43:03.1869950Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-06T06:43:03.1871908Z       "requiredStages": [
2026-06-06T06:43:03.1872974Z         "doc",
2026-06-06T06:43:03.1873899Z         "impl",
2026-06-06T06:43:03.1874831Z         "unit"
2026-06-06T06:43:03.1875741Z       ],
2026-06-06T06:43:03.1876643Z       "stages": {
2026-06-06T06:43:03.1877600Z         "doc": {
2026-06-06T06:43:03.1878585Z           "complete": true,
2026-06-06T06:43:03.1879739Z           "evidence": [
2026-06-06T06:43:03.1880735Z             {
2026-06-06T06:43:03.1881763Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-06T06:43:03.1883115Z               "line": 35
2026-06-06T06:43:03.1884156Z             }
2026-06-06T06:43:03.1885052Z           ]
2026-06-06T06:43:03.1885946Z         },
2026-06-06T06:43:03.1886832Z         "impl": {
2026-06-06T06:43:03.1887811Z           "complete": true,
2026-06-06T06:43:03.1888912Z           "evidence": [
2026-06-06T06:43:03.1889962Z             {
2026-06-06T06:43:03.1891087Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.1892555Z               "line": 522
2026-06-06T06:43:03.1893594Z             },
2026-06-06T06:43:03.1894526Z             {
2026-06-06T06:43:03.1895559Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.1896933Z               "line": 15
2026-06-06T06:43:03.1897971Z             }
2026-06-06T06:43:03.1898870Z           ]
2026-06-06T06:43:03.1899780Z         },
2026-06-06T06:43:03.1900659Z         "int": {
2026-06-06T06:43:03.1901645Z           "complete": false,
2026-06-06T06:43:03.1902777Z           "evidence": []
2026-06-06T06:43:03.1903824Z         },
2026-06-06T06:43:03.1904709Z         "unit": {
2026-06-06T06:43:03.1905693Z           "complete": true,
2026-06-06T06:43:03.1906797Z           "evidence": [
2026-06-06T06:43:03.1907817Z             {
2026-06-06T06:43:03.1908948Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.1910449Z               "line": 957
2026-06-06T06:43:03.1911487Z             }
2026-06-06T06:43:03.1912388Z           ]
2026-06-06T06:43:03.1913254Z         }
2026-06-06T06:43:03.1914110Z       }
2026-06-06T06:43:03.1914947Z     },
2026-06-06T06:43:03.1915793Z     {
2026-06-06T06:43:03.1916684Z       "id": "REQ-DOCS-5",
2026-06-06T06:43:03.1918664Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-06T06:43:03.1920863Z       "requiredStages": [
2026-06-06T06:43:03.1921941Z         "impl",
2026-06-06T06:43:03.1922877Z         "int"
2026-06-06T06:43:03.1923774Z       ],
2026-06-06T06:43:03.1924768Z       "stages": {
2026-06-06T06:43:03.1925763Z         "doc": {
2026-06-06T06:43:03.1926765Z           "complete": false,
2026-06-06T06:43:03.1927901Z           "evidence": []
2026-06-06T06:43:03.1928945Z         },
2026-06-06T06:43:03.1929886Z         "impl": {
2026-06-06T06:43:03.1930870Z           "complete": true,
2026-06-06T06:43:03.1931986Z           "evidence": [
2026-06-06T06:43:03.1932999Z             {
2026-06-06T06:43:03.1934135Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.1935613Z               "line": 523
2026-06-06T06:43:03.1936665Z             },
2026-06-06T06:43:03.1937578Z             {
2026-06-06T06:43:03.1938792Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.1944767Z               "line": 109
2026-06-06T06:43:03.1945876Z             }
2026-06-06T06:43:03.1946782Z           ]
2026-06-06T06:43:03.1947662Z         },
2026-06-06T06:43:03.1948534Z         "int": {
2026-06-06T06:43:03.1949616Z           "complete": true,
2026-06-06T06:43:03.1950720Z           "evidence": [
2026-06-06T06:43:03.1951721Z             {
2026-06-06T06:43:03.1952763Z               "path": ".github/workflows/ci.yml",
2026-06-06T06:43:03.1954129Z               "line": 84
2026-06-06T06:43:03.1955157Z             },
2026-06-06T06:43:03.1956065Z             {
2026-06-06T06:43:03.1957195Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.1958664Z               "line": 991
2026-06-06T06:43:03.1959738Z             }
2026-06-06T06:43:03.1960631Z           ]
2026-06-06T06:43:03.1961500Z         },
2026-06-06T06:43:03.1962371Z         "unit": {
2026-06-06T06:43:03.1963374Z           "complete": false,
2026-06-06T06:43:03.1964507Z           "evidence": []
2026-06-06T06:43:03.1965553Z         }
2026-06-06T06:43:03.1966423Z       }
2026-06-06T06:43:03.1967263Z     },
2026-06-06T06:43:03.1968110Z     {
2026-06-06T06:43:03.1968992Z       "id": "REQ-DOCS-6",
2026-06-06T06:43:03.1971540Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-06T06:43:03.1974294Z       "requiredStages": [
2026-06-06T06:43:03.1975358Z         "impl",
2026-06-06T06:43:03.1976277Z         "unit",
2026-06-06T06:43:03.1977202Z         "int"
2026-06-06T06:43:03.1978105Z       ],
2026-06-06T06:43:03.1979006Z       "stages": {
2026-06-06T06:43:03.1979998Z         "doc": {
2026-06-06T06:43:03.1980968Z           "complete": true,
2026-06-06T06:43:03.1982062Z           "evidence": [
2026-06-06T06:43:03.1983067Z             {
2026-06-06T06:43:03.1984223Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-06T06:43:03.1985704Z               "line": 4
2026-06-06T06:43:03.1986693Z             }
2026-06-06T06:43:03.1987595Z           ]
2026-06-06T06:43:03.1988487Z         },
2026-06-06T06:43:03.1989407Z         "impl": {
2026-06-06T06:43:03.1990389Z           "complete": true,
2026-06-06T06:43:03.1991477Z           "evidence": [
2026-06-06T06:43:03.1992472Z             {
2026-06-06T06:43:03.1993489Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.1994813Z               "line": 2196
2026-06-06T06:43:03.1995851Z             }
2026-06-06T06:43:03.1996742Z           ]
2026-06-06T06:43:03.1997605Z         },
2026-06-06T06:43:03.1998475Z         "int": {
2026-06-06T06:43:03.1999478Z           "complete": true,
2026-06-06T06:43:03.2000578Z           "evidence": [
2026-06-06T06:43:03.2001580Z             {
2026-06-06T06:43:03.2002691Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-06T06:43:03.2004123Z               "line": 34
2026-06-06T06:43:03.2005138Z             }
2026-06-06T06:43:03.2006022Z           ]
2026-06-06T06:43:03.2006881Z         },
2026-06-06T06:43:03.2008021Z         "unit": {
2026-06-06T06:43:03.2009046Z           "complete": true,
2026-06-06T06:43:03.2010351Z           "evidence": [
2026-06-06T06:43:03.2011349Z             {
2026-06-06T06:43:03.2012367Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2013704Z               "line": 4683
2026-06-06T06:43:03.2014744Z             }
2026-06-06T06:43:03.2015631Z           ]
2026-06-06T06:43:03.2016493Z         }
2026-06-06T06:43:03.2017345Z       }
2026-06-06T06:43:03.2018173Z     },
2026-06-06T06:43:03.2019031Z     {
2026-06-06T06:43:03.2019977Z       "id": "REQ-EP-1",
2026-06-06T06:43:03.2021235Z       "title": "Day-one endpoint types; open type system",
2026-06-06T06:43:03.2022726Z       "requiredStages": [
2026-06-06T06:43:03.2023770Z         "impl",
2026-06-06T06:43:03.2024697Z         "unit"
2026-06-06T06:43:03.2025587Z       ],
2026-06-06T06:43:03.2026444Z       "stages": {
2026-06-06T06:43:03.2027381Z         "doc": {
2026-06-06T06:43:03.2028380Z           "complete": false,
2026-06-06T06:43:03.2029547Z           "evidence": []
2026-06-06T06:43:03.2034939Z         },
2026-06-06T06:43:03.2035968Z         "impl": {
2026-06-06T06:43:03.2036964Z           "complete": true,
2026-06-06T06:43:03.2038064Z           "evidence": [
2026-06-06T06:43:03.2039068Z             {
2026-06-06T06:43:03.2040270Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2041711Z               "line": 77
2026-06-06T06:43:03.2042726Z             },
2026-06-06T06:43:03.2043627Z             {
2026-06-06T06:43:03.2044746Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2046189Z               "line": 94
2026-06-06T06:43:03.2047212Z             }
2026-06-06T06:43:03.2048105Z           ]
2026-06-06T06:43:03.2048982Z         },
2026-06-06T06:43:03.2049884Z         "int": {
2026-06-06T06:43:03.2050872Z           "complete": false,
2026-06-06T06:43:03.2051993Z           "evidence": []
2026-06-06T06:43:03.2053013Z         },
2026-06-06T06:43:03.2053885Z         "unit": {
2026-06-06T06:43:03.2054900Z           "complete": true,
2026-06-06T06:43:03.2055998Z           "evidence": [
2026-06-06T06:43:03.2057009Z             {
2026-06-06T06:43:03.2058120Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2059599Z               "line": 161
2026-06-06T06:43:03.2060622Z             },
2026-06-06T06:43:03.2061523Z             {
2026-06-06T06:43:03.2062637Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2064072Z               "line": 178
2026-06-06T06:43:03.2065094Z             }
2026-06-06T06:43:03.2065985Z           ]
2026-06-06T06:43:03.2066843Z         }
2026-06-06T06:43:03.2067688Z       }
2026-06-06T06:43:03.2068539Z     },
2026-06-06T06:43:03.2069405Z     {
2026-06-06T06:43:03.2070276Z       "id": "REQ-EP-2",
2026-06-06T06:43:03.2071760Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-06T06:43:03.2073512Z       "requiredStages": [
2026-06-06T06:43:03.2074563Z         "impl",
2026-06-06T06:43:03.2075486Z         "unit"
2026-06-06T06:43:03.2076390Z       ],
2026-06-06T06:43:03.2077270Z       "stages": {
2026-06-06T06:43:03.2078226Z         "doc": {
2026-06-06T06:43:03.2079678Z           "complete": false,
2026-06-06T06:43:03.2081081Z           "evidence": []
2026-06-06T06:43:03.2082487Z         },
2026-06-06T06:43:03.2083402Z         "impl": {
2026-06-06T06:43:03.2084389Z           "complete": true,
2026-06-06T06:43:03.2085476Z           "evidence": [
2026-06-06T06:43:03.2086470Z             {
2026-06-06T06:43:03.2087604Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2089048Z               "line": 114
2026-06-06T06:43:03.2090186Z             },
2026-06-06T06:43:03.2091098Z             {
2026-06-06T06:43:03.2092209Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2093651Z               "line": 131
2026-06-06T06:43:03.2094682Z             },
2026-06-06T06:43:03.2095589Z             {
2026-06-06T06:43:03.2097047Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2098541Z               "line": 138
2026-06-06T06:43:03.2099815Z             }
2026-06-06T06:43:03.2100721Z           ]
2026-06-06T06:43:03.2101593Z         },
2026-06-06T06:43:03.2102472Z         "int": {
2026-06-06T06:43:03.2103462Z           "complete": false,
2026-06-06T06:43:03.2103898Z           "evidence": []
2026-06-06T06:43:03.2104278Z         },
2026-06-06T06:43:03.2104682Z         "unit": {
2026-06-06T06:43:03.2105112Z           "complete": true,
2026-06-06T06:43:03.2105535Z           "evidence": [
2026-06-06T06:43:03.2105920Z             {
2026-06-06T06:43:03.2106522Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2106936Z               "line": 193
2026-06-06T06:43:03.2107313Z             },
2026-06-06T06:43:03.2107701Z             {
2026-06-06T06:43:03.2108300Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2108720Z               "line": 211
2026-06-06T06:43:03.2109103Z             },
2026-06-06T06:43:03.2109534Z             {
2026-06-06T06:43:03.2110152Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:43:03.2110568Z               "line": 224
2026-06-06T06:43:03.2110954Z             }
2026-06-06T06:43:03.2111328Z           ]
2026-06-06T06:43:03.2111713Z         }
2026-06-06T06:43:03.2112095Z       }
2026-06-06T06:43:03.2112461Z     },
2026-06-06T06:43:03.2112840Z     {
2026-06-06T06:43:03.2113249Z       "id": "REQ-EP-3",
2026-06-06T06:43:03.2114238Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-06T06:43:03.2114678Z       "requiredStages": [
2026-06-06T06:43:03.2115075Z         "impl",
2026-06-06T06:43:03.2115469Z         "unit"
2026-06-06T06:43:03.2115842Z       ],
2026-06-06T06:43:03.2116242Z       "stages": {
2026-06-06T06:43:03.2116621Z         "doc": {
2026-06-06T06:43:03.2117065Z           "complete": false,
2026-06-06T06:43:03.2117475Z           "evidence": []
2026-06-06T06:43:03.2117868Z         },
2026-06-06T06:43:03.2118272Z         "impl": {
2026-06-06T06:43:03.2118694Z           "complete": true,
2026-06-06T06:43:03.2119122Z           "evidence": [
2026-06-06T06:43:03.2119613Z             {
2026-06-06T06:43:03.2124998Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2125490Z               "line": 31
2026-06-06T06:43:03.2125888Z             },
2026-06-06T06:43:03.2126278Z             {
2026-06-06T06:43:03.2126886Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2127302Z               "line": 49
2026-06-06T06:43:03.2127684Z             }
2026-06-06T06:43:03.2128071Z           ]
2026-06-06T06:43:03.2128442Z         },
2026-06-06T06:43:03.2128838Z         "int": {
2026-06-06T06:43:03.2129378Z           "complete": false,
2026-06-06T06:43:03.2129799Z           "evidence": []
2026-06-06T06:43:03.2130183Z         },
2026-06-06T06:43:03.2130565Z         "unit": {
2026-06-06T06:43:03.2131002Z           "complete": true,
2026-06-06T06:43:03.2131409Z           "evidence": [
2026-06-06T06:43:03.2131828Z             {
2026-06-06T06:43:03.2132441Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2132851Z               "line": 156
2026-06-06T06:43:03.2133234Z             },
2026-06-06T06:43:03.2133612Z             {
2026-06-06T06:43:03.2134209Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2134615Z               "line": 164
2026-06-06T06:43:03.2135007Z             },
2026-06-06T06:43:03.2135399Z             {
2026-06-06T06:43:03.2135989Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2136407Z               "line": 177
2026-06-06T06:43:03.2136786Z             },
2026-06-06T06:43:03.2137171Z             {
2026-06-06T06:43:03.2137767Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2138173Z               "line": 197
2026-06-06T06:43:03.2138565Z             },
2026-06-06T06:43:03.2138938Z             {
2026-06-06T06:43:03.2139822Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2140270Z               "line": 213
2026-06-06T06:43:03.2140798Z             },
2026-06-06T06:43:03.2141182Z             {
2026-06-06T06:43:03.2141775Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:43:03.2142191Z               "line": 227
2026-06-06T06:43:03.2142568Z             }
2026-06-06T06:43:03.2142957Z           ]
2026-06-06T06:43:03.2143330Z         }
2026-06-06T06:43:03.2143711Z       }
2026-06-06T06:43:03.2144094Z     },
2026-06-06T06:43:03.2144464Z     {
2026-06-06T06:43:03.2144883Z       "id": "REQ-EP-4",
2026-06-06T06:43:03.2145639Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-06T06:43:03.2146082Z       "requiredStages": [
2026-06-06T06:43:03.2146467Z         "impl",
2026-06-06T06:43:03.2146860Z         "unit"
2026-06-06T06:43:03.2147243Z       ],
2026-06-06T06:43:03.2147639Z       "stages": {
2026-06-06T06:43:03.2148027Z         "doc": {
2026-06-06T06:43:03.2148458Z           "complete": false,
2026-06-06T06:43:03.2148887Z           "evidence": []
2026-06-06T06:43:03.2149318Z         },
2026-06-06T06:43:03.2149714Z         "impl": {
2026-06-06T06:43:03.2150136Z           "complete": true,
2026-06-06T06:43:03.2150553Z           "evidence": [
2026-06-06T06:43:03.2150936Z             {
2026-06-06T06:43:03.2151503Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.2151916Z               "line": 427
2026-06-06T06:43:03.2152293Z             },
2026-06-06T06:43:03.2152680Z             {
2026-06-06T06:43:03.2153244Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.2153649Z               "line": 669
2026-06-06T06:43:03.2154037Z             },
2026-06-06T06:43:03.2154415Z             {
2026-06-06T06:43:03.2155006Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.2155408Z               "line": 768
2026-06-06T06:43:03.2155792Z             },
2026-06-06T06:43:03.2156175Z             {
2026-06-06T06:43:03.2156728Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.2157134Z               "line": 83
2026-06-06T06:43:03.2157525Z             },
2026-06-06T06:43:03.2157905Z             {
2026-06-06T06:43:03.2158442Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.2158857Z               "line": 452
2026-06-06T06:43:03.2159282Z             },
2026-06-06T06:43:03.2159660Z             {
2026-06-06T06:43:03.2160223Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.2160627Z               "line": 523
2026-06-06T06:43:03.2161014Z             },
2026-06-06T06:43:03.2161383Z             {
2026-06-06T06:43:03.2161972Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.2162384Z               "line": 181
2026-06-06T06:43:03.2162754Z             },
2026-06-06T06:43:03.2163139Z             {
2026-06-06T06:43:03.2163718Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.2164132Z               "line": 306
2026-06-06T06:43:03.2164509Z             },
2026-06-06T06:43:03.2164903Z             {
2026-06-06T06:43:03.2165495Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.2165902Z               "line": 666
2026-06-06T06:43:03.2166291Z             }
2026-06-06T06:43:03.2166664Z           ]
2026-06-06T06:43:03.2167049Z         },
2026-06-06T06:43:03.2167426Z         "int": {
2026-06-06T06:43:03.2167855Z           "complete": false,
2026-06-06T06:43:03.2168273Z           "evidence": []
2026-06-06T06:43:03.2168645Z         },
2026-06-06T06:43:03.2169035Z         "unit": {
2026-06-06T06:43:03.2169491Z           "complete": true,
2026-06-06T06:43:03.2169909Z           "evidence": [
2026-06-06T06:43:03.2170286Z             {
2026-06-06T06:43:03.2170833Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:43:03.2171245Z               "line": 596
2026-06-06T06:43:03.2171616Z             },
2026-06-06T06:43:03.2172000Z             {
2026-06-06T06:43:03.2172618Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-06T06:43:03.2173178Z               "line": 75
2026-06-06T06:43:03.2173689Z             },
2026-06-06T06:43:03.2174070Z             {
2026-06-06T06:43:03.2174691Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-06T06:43:03.2175093Z               "line": 131
2026-06-06T06:43:03.2175478Z             }
2026-06-06T06:43:03.2175852Z           ]
2026-06-06T06:43:03.2176232Z         }
2026-06-06T06:43:03.2176600Z       }
2026-06-06T06:43:03.2176976Z     },
2026-06-06T06:43:03.2177350Z     {
2026-06-06T06:43:03.2177758Z       "id": "REQ-EP-5",
2026-06-06T06:43:03.2181761Z       "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-06T06:43:03.2182200Z       "requiredStages": [
2026-06-06T06:43:03.2182593Z         "impl",
2026-06-06T06:43:03.2182990Z         "unit",
2026-06-06T06:43:03.2183389Z         "int"
2026-06-06T06:43:03.2183768Z       ],
2026-06-06T06:43:03.2184167Z       "stages": {
2026-06-06T06:43:03.2184553Z         "doc": {
2026-06-06T06:43:03.2184979Z           "complete": false,
2026-06-06T06:43:03.2185394Z           "evidence": []
2026-06-06T06:43:03.2185775Z         },
2026-06-06T06:43:03.2186162Z         "impl": {
2026-06-06T06:43:03.2186589Z           "complete": true,
2026-06-06T06:43:03.2186991Z           "evidence": [
2026-06-06T06:43:03.2187372Z             {
2026-06-06T06:43:03.2188009Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.2188421Z               "line": 254
2026-06-06T06:43:03.2188811Z             },
2026-06-06T06:43:03.2189216Z             {
2026-06-06T06:43:03.2189833Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2190237Z               "line": 18
2026-06-06T06:43:03.2190623Z             },
2026-06-06T06:43:03.2190993Z             {
2026-06-06T06:43:03.2191617Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2192032Z               "line": 63
2026-06-06T06:43:03.2192408Z             },
2026-06-06T06:43:03.2192787Z             {
2026-06-06T06:43:03.2193384Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2193788Z               "line": 88
2026-06-06T06:43:03.2194166Z             },
2026-06-06T06:43:03.2194547Z             {
2026-06-06T06:43:03.2195158Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2195564Z               "line": 163
2026-06-06T06:43:03.2195952Z             },
2026-06-06T06:43:03.2196330Z             {
2026-06-06T06:43:03.2196933Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2197338Z               "line": 175
2026-06-06T06:43:03.2197720Z             },
2026-06-06T06:43:03.2198102Z             {
2026-06-06T06:43:03.2198761Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.2203357Z               "line": 114
2026-06-06T06:43:03.2203854Z             },
2026-06-06T06:43:03.2204258Z             {
2026-06-06T06:43:03.2204899Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2205314Z               "line": 22
2026-06-06T06:43:03.2205700Z             },
2026-06-06T06:43:03.2206080Z             {
2026-06-06T06:43:03.2206689Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2207100Z               "line": 129
2026-06-06T06:43:03.2207487Z             },
2026-06-06T06:43:03.2207860Z             {
2026-06-06T06:43:03.2208467Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2208879Z               "line": 156
2026-06-06T06:43:03.2209335Z             },
2026-06-06T06:43:03.2209726Z             {
2026-06-06T06:43:03.2210318Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2210736Z               "line": 178
2026-06-06T06:43:03.2211123Z             },
2026-06-06T06:43:03.2211502Z             {
2026-06-06T06:43:03.2212381Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2212937Z               "line": 203
2026-06-06T06:43:03.2213320Z             },
2026-06-06T06:43:03.2213693Z             {
2026-06-06T06:43:03.2214290Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2214709Z               "line": 226
2026-06-06T06:43:03.2215094Z             },
2026-06-06T06:43:03.2215480Z             {
2026-06-06T06:43:03.2216073Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2216485Z               "line": 246
2026-06-06T06:43:03.2216859Z             },
2026-06-06T06:43:03.2217239Z             {
2026-06-06T06:43:03.2217828Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.2218228Z               "line": 81
2026-06-06T06:43:03.2218614Z             },
2026-06-06T06:43:03.2218986Z             {
2026-06-06T06:43:03.2219543Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2219951Z               "line": 2491
2026-06-06T06:43:03.2220348Z             },
2026-06-06T06:43:03.2220743Z             {
2026-06-06T06:43:03.2221240Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2221663Z               "line": 2608
2026-06-06T06:43:03.2222038Z             },
2026-06-06T06:43:03.2222419Z             {
2026-06-06T06:43:03.2222910Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2223329Z               "line": 2758
2026-06-06T06:43:03.2223716Z             },
2026-06-06T06:43:03.2224090Z             {
2026-06-06T06:43:03.2224596Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2225008Z               "line": 3105
2026-06-06T06:43:03.2225393Z             }
2026-06-06T06:43:03.2225771Z           ]
2026-06-06T06:43:03.2226148Z         },
2026-06-06T06:43:03.2226535Z         "int": {
2026-06-06T06:43:03.2226958Z           "complete": true,
2026-06-06T06:43:03.2227364Z           "evidence": [
2026-06-06T06:43:03.2227737Z             {
2026-06-06T06:43:03.2228374Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-06T06:43:03.2228785Z               "line": 16
2026-06-06T06:43:03.2229214Z             },
2026-06-06T06:43:03.2229594Z             {
2026-06-06T06:43:03.2230140Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-06T06:43:03.2230549Z               "line": 15
2026-06-06T06:43:03.2230923Z             }
2026-06-06T06:43:03.2231310Z           ]
2026-06-06T06:43:03.2231686Z         },
2026-06-06T06:43:03.2232071Z         "unit": {
2026-06-06T06:43:03.2232498Z           "complete": true,
2026-06-06T06:43:03.2232905Z           "evidence": [
2026-06-06T06:43:03.2233281Z             {
2026-06-06T06:43:03.2233884Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2234293Z               "line": 237
2026-06-06T06:43:03.2234670Z             },
2026-06-06T06:43:03.2235051Z             {
2026-06-06T06:43:03.2235657Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2236065Z               "line": 294
2026-06-06T06:43:03.2236461Z             },
2026-06-06T06:43:03.2236844Z             {
2026-06-06T06:43:03.2237456Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:43:03.2237859Z               "line": 343
2026-06-06T06:43:03.2238248Z             },
2026-06-06T06:43:03.2238631Z             {
2026-06-06T06:43:03.2239255Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2239687Z               "line": 262
2026-06-06T06:43:03.2240116Z             },
2026-06-06T06:43:03.2240511Z             {
2026-06-06T06:43:03.2241133Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.2241546Z               "line": 285
2026-06-06T06:43:03.2241928Z             },
2026-06-06T06:43:03.2242302Z             {
2026-06-06T06:43:03.2242894Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.2243300Z               "line": 474
2026-06-06T06:43:03.2243681Z             },
2026-06-06T06:43:03.2244058Z             {
2026-06-06T06:43:03.2244741Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2245299Z               "line": 3570
2026-06-06T06:43:03.2245680Z             },
2026-06-06T06:43:03.2246064Z             {
2026-06-06T06:43:03.2246558Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2246968Z               "line": 3628
2026-06-06T06:43:03.2247349Z             },
2026-06-06T06:43:03.2247726Z             {
2026-06-06T06:43:03.2248231Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2248639Z               "line": 4121
2026-06-06T06:43:03.2249025Z             },
2026-06-06T06:43:03.2249453Z             {
2026-06-06T06:43:03.2249965Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2250381Z               "line": 4176
2026-06-06T06:43:03.2250756Z             }
2026-06-06T06:43:03.2251132Z           ]
2026-06-06T06:43:03.2251502Z         }
2026-06-06T06:43:03.2251877Z       }
2026-06-06T06:43:03.2252241Z     },
2026-06-06T06:43:03.2252616Z     {
2026-06-06T06:43:03.2253059Z       "id": "REQ-FRONT-1",
2026-06-06T06:43:03.2253975Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-06T06:43:03.2254431Z       "requiredStages": [],
2026-06-06T06:43:03.2254822Z       "stages": {
2026-06-06T06:43:03.2255208Z         "doc": {
2026-06-06T06:43:03.2255633Z           "complete": false,
2026-06-06T06:43:03.2256048Z           "evidence": []
2026-06-06T06:43:03.2256428Z         },
2026-06-06T06:43:03.2256816Z         "impl": {
2026-06-06T06:43:03.2257243Z           "complete": false,
2026-06-06T06:43:03.2257653Z           "evidence": []
2026-06-06T06:43:03.2258033Z         },
2026-06-06T06:43:03.2258419Z         "int": {
2026-06-06T06:43:03.2258856Z           "complete": false,
2026-06-06T06:43:03.2259312Z           "evidence": []
2026-06-06T06:43:03.2259691Z         },
2026-06-06T06:43:03.2260082Z         "unit": {
2026-06-06T06:43:03.2260507Z           "complete": false,
2026-06-06T06:43:03.2260925Z           "evidence": []
2026-06-06T06:43:03.2261295Z         }
2026-06-06T06:43:03.2261684Z       }
2026-06-06T06:43:03.2262070Z     },
2026-06-06T06:43:03.2262437Z     {
2026-06-06T06:43:03.2262993Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-06T06:43:03.2263949Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-06T06:43:03.2264442Z       "requiredStages": [
2026-06-06T06:43:03.2264829Z         "impl",
2026-06-06T06:43:03.2265213Z         "unit"
2026-06-06T06:43:03.2265601Z       ],
2026-06-06T06:43:03.2265991Z       "stages": {
2026-06-06T06:43:03.2266378Z         "doc": {
2026-06-06T06:43:03.2266808Z           "complete": false,
2026-06-06T06:43:03.2267227Z           "evidence": []
2026-06-06T06:43:03.2267598Z         },
2026-06-06T06:43:03.2267988Z         "impl": {
2026-06-06T06:43:03.2268415Z           "complete": true,
2026-06-06T06:43:03.2268819Z           "evidence": [
2026-06-06T06:43:03.2269248Z             {
2026-06-06T06:43:03.2269838Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.2270273Z               "line": 146
2026-06-06T06:43:03.2270666Z             },
2026-06-06T06:43:03.2271047Z             {
2026-06-06T06:43:03.2271603Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.2272003Z               "line": 18
2026-06-06T06:43:03.2272387Z             },
2026-06-06T06:43:03.2272757Z             {
2026-06-06T06:43:03.2273298Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.2273703Z               "line": 98
2026-06-06T06:43:03.2274090Z             }
2026-06-06T06:43:03.2278705Z           ]
2026-06-06T06:43:03.2279261Z         },
2026-06-06T06:43:03.2279673Z         "int": {
2026-06-06T06:43:03.2280116Z           "complete": false,
2026-06-06T06:43:03.2280540Z           "evidence": []
2026-06-06T06:43:03.2280910Z         },
2026-06-06T06:43:03.2281310Z         "unit": {
2026-06-06T06:43:03.2281751Z           "complete": true,
2026-06-06T06:43:03.2282158Z           "evidence": [
2026-06-06T06:43:03.2282547Z             {
2026-06-06T06:43:03.2283416Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.2283980Z               "line": 530
2026-06-06T06:43:03.2284357Z             },
2026-06-06T06:43:03.2284736Z             {
2026-06-06T06:43:03.2285286Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.2285690Z               "line": 156
2026-06-06T06:43:03.2286078Z             },
2026-06-06T06:43:03.2286457Z             {
2026-06-06T06:43:03.2287005Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.2287411Z               "line": 218
2026-06-06T06:43:03.2287792Z             }
2026-06-06T06:43:03.2288172Z           ]
2026-06-06T06:43:03.2288543Z         }
2026-06-06T06:43:03.2288924Z       }
2026-06-06T06:43:03.2289340Z     },
2026-06-06T06:43:03.2289727Z     {
2026-06-06T06:43:03.2290305Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-06T06:43:03.2293663Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-06T06:43:03.2294125Z       "requiredStages": [
2026-06-06T06:43:03.2294509Z         "impl",
2026-06-06T06:43:03.2294896Z         "unit"
2026-06-06T06:43:03.2295266Z       ],
2026-06-06T06:43:03.2295669Z       "stages": {
2026-06-06T06:43:03.2296051Z         "doc": {
2026-06-06T06:43:03.2296490Z           "complete": false,
2026-06-06T06:43:03.2296908Z           "evidence": []
2026-06-06T06:43:03.2297279Z         },
2026-06-06T06:43:03.2297671Z         "impl": {
2026-06-06T06:43:03.2298088Z           "complete": true,
2026-06-06T06:43:03.2298497Z           "evidence": [
2026-06-06T06:43:03.2298873Z             {
2026-06-06T06:43:03.2299527Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:43:03.2299944Z               "line": 22
2026-06-06T06:43:03.2300319Z             },
2026-06-06T06:43:03.2300700Z             {
2026-06-06T06:43:03.2301262Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.2301692Z               "line": 417
2026-06-06T06:43:03.2302078Z             },
2026-06-06T06:43:03.2302453Z             {
2026-06-06T06:43:03.2303048Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:43:03.2303453Z               "line": 17
2026-06-06T06:43:03.2303838Z             },
2026-06-06T06:43:03.2304213Z             {
2026-06-06T06:43:03.2304799Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:43:03.2305218Z               "line": 125
2026-06-06T06:43:03.2305594Z             },
2026-06-06T06:43:03.2305979Z             {
2026-06-06T06:43:03.2306616Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.2307027Z               "line": 178
2026-06-06T06:43:03.2307411Z             },
2026-06-06T06:43:03.2307800Z             {
2026-06-06T06:43:03.2308437Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.2308842Z               "line": 206
2026-06-06T06:43:03.2309285Z             },
2026-06-06T06:43:03.2309669Z             {
2026-06-06T06:43:03.2310305Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.2310707Z               "line": 232
2026-06-06T06:43:03.2311091Z             },
2026-06-06T06:43:03.2311470Z             {
2026-06-06T06:43:03.2312059Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.2312469Z               "line": 122
2026-06-06T06:43:03.2312844Z             },
2026-06-06T06:43:03.2313224Z             {
2026-06-06T06:43:03.2313814Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.2314221Z               "line": 222
2026-06-06T06:43:03.2314603Z             }
2026-06-06T06:43:03.2314975Z           ]
2026-06-06T06:43:03.2315354Z         },
2026-06-06T06:43:03.2315733Z         "int": {
2026-06-06T06:43:03.2316165Z           "complete": false,
2026-06-06T06:43:03.2316576Z           "evidence": []
2026-06-06T06:43:03.2316959Z         },
2026-06-06T06:43:03.2317523Z         "unit": {
2026-06-06T06:43:03.2317969Z           "complete": true,
2026-06-06T06:43:03.2318568Z           "evidence": [
2026-06-06T06:43:03.2318949Z             {
2026-06-06T06:43:03.2319614Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:43:03.2320032Z               "line": 53
2026-06-06T06:43:03.2320481Z             },
2026-06-06T06:43:03.2320894Z             {
2026-06-06T06:43:03.2321499Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:43:03.2321905Z               "line": 60
2026-06-06T06:43:03.2322281Z             },
2026-06-06T06:43:03.2322661Z             {
2026-06-06T06:43:03.2323255Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:43:03.2323671Z               "line": 72
2026-06-06T06:43:03.2324061Z             },
2026-06-06T06:43:03.2324431Z             {
2026-06-06T06:43:03.2325015Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:43:03.2325424Z               "line": 298
2026-06-06T06:43:03.2325825Z             },
2026-06-06T06:43:03.2326205Z             {
2026-06-06T06:43:03.2326813Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:43:03.2327224Z               "line": 247
2026-06-06T06:43:03.2327609Z             },
2026-06-06T06:43:03.2327989Z             {
2026-06-06T06:43:03.2328567Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:43:03.2328987Z               "line": 282
2026-06-06T06:43:03.2329425Z             },
2026-06-06T06:43:03.2329821Z             {
2026-06-06T06:43:03.2330425Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:43:03.2330829Z               "line": 313
2026-06-06T06:43:03.2331214Z             },
2026-06-06T06:43:03.2331584Z             {
2026-06-06T06:43:03.2332221Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.2332647Z               "line": 613
2026-06-06T06:43:03.2333021Z             },
2026-06-06T06:43:03.2333403Z             {
2026-06-06T06:43:03.2334002Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.2334433Z               "line": 383
2026-06-06T06:43:03.2334806Z             },
2026-06-06T06:43:03.2335189Z             {
2026-06-06T06:43:03.2335793Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.2336207Z               "line": 420
2026-06-06T06:43:03.2336592Z             }
2026-06-06T06:43:03.2336967Z           ]
2026-06-06T06:43:03.2337356Z         }
2026-06-06T06:43:03.2337733Z       }
2026-06-06T06:43:03.2338109Z     },
2026-06-06T06:43:03.2338478Z     {
2026-06-06T06:43:03.2338965Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-06T06:43:03.2340172Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-06T06:43:03.2340610Z       "requiredStages": [
2026-06-06T06:43:03.2341008Z         "impl",
2026-06-06T06:43:03.2341391Z         "unit"
2026-06-06T06:43:03.2341773Z       ],
2026-06-06T06:43:03.2342175Z       "stages": {
2026-06-06T06:43:03.2342566Z         "doc": {
2026-06-06T06:43:03.2343001Z           "complete": false,
2026-06-06T06:43:03.2343425Z           "evidence": []
2026-06-06T06:43:03.2343804Z         },
2026-06-06T06:43:03.2344215Z         "impl": {
2026-06-06T06:43:03.2344656Z           "complete": true,
2026-06-06T06:43:03.2345068Z           "evidence": [
2026-06-06T06:43:03.2345441Z             {
2026-06-06T06:43:03.2346001Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:43:03.2346405Z               "line": 164
2026-06-06T06:43:03.2346786Z             }
2026-06-06T06:43:03.2347159Z           ]
2026-06-06T06:43:03.2353114Z         },
2026-06-06T06:43:03.2353534Z         "int": {
2026-06-06T06:43:03.2353972Z           "complete": true,
2026-06-06T06:43:03.2359561Z           "evidence": [
2026-06-06T06:43:03.2360028Z             {
2026-06-06T06:43:03.2360605Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-06T06:43:03.2361017Z               "line": 44
2026-06-06T06:43:03.2361405Z             },
2026-06-06T06:43:03.2362167Z             {
2026-06-06T06:43:03.2362762Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-06T06:43:03.2363338Z               "line": 66
2026-06-06T06:43:03.2363711Z             }
2026-06-06T06:43:03.2364100Z           ]
2026-06-06T06:43:03.2364480Z         },
2026-06-06T06:43:03.2364881Z         "unit": {
2026-06-06T06:43:03.2365307Z           "complete": true,
2026-06-06T06:43:03.2365711Z           "evidence": [
2026-06-06T06:43:03.2366095Z             {
2026-06-06T06:43:03.2366652Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:43:03.2367064Z               "line": 181
2026-06-06T06:43:03.2367447Z             },
2026-06-06T06:43:03.2367828Z             {
2026-06-06T06:43:03.2368383Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:43:03.2368785Z               "line": 233
2026-06-06T06:43:03.2369218Z             },
2026-06-06T06:43:03.2369591Z             {
2026-06-06T06:43:03.2370154Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:43:03.2370578Z               "line": 261
2026-06-06T06:43:03.2370980Z             }
2026-06-06T06:43:03.2371365Z           ]
2026-06-06T06:43:03.2371735Z         }
2026-06-06T06:43:03.2372122Z       }
2026-06-06T06:43:03.2372513Z     },
2026-06-06T06:43:03.2372951Z     {
2026-06-06T06:43:03.2373542Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-06T06:43:03.2376043Z       "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-06T06:43:03.2376488Z       "requiredStages": [
2026-06-06T06:43:03.2376874Z         "impl",
2026-06-06T06:43:03.2377265Z         "unit",
2026-06-06T06:43:03.2377646Z         "int"
2026-06-06T06:43:03.2378030Z       ],
2026-06-06T06:43:03.2378414Z       "stages": {
2026-06-06T06:43:03.2378807Z         "doc": {
2026-06-06T06:43:03.2379282Z           "complete": false,
2026-06-06T06:43:03.2379701Z           "evidence": []
2026-06-06T06:43:03.2380099Z         },
2026-06-06T06:43:03.2380493Z         "impl": {
2026-06-06T06:43:03.2380941Z           "complete": true,
2026-06-06T06:43:03.2381346Z           "evidence": [
2026-06-06T06:43:03.2381731Z             {
2026-06-06T06:43:03.2382344Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.2382750Z               "line": 150
2026-06-06T06:43:03.2383146Z             },
2026-06-06T06:43:03.2383525Z             {
2026-06-06T06:43:03.2384142Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.2384548Z               "line": 169
2026-06-06T06:43:03.2384934Z             },
2026-06-06T06:43:03.2385313Z             {
2026-06-06T06:43:03.2385865Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.2386282Z               "line": 79
2026-06-06T06:43:03.2386664Z             },
2026-06-06T06:43:03.2387049Z             {
2026-06-06T06:43:03.2387597Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.2388011Z               "line": 51
2026-06-06T06:43:03.2388396Z             },
2026-06-06T06:43:03.2388788Z             {
2026-06-06T06:43:03.2389383Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2389794Z               "line": 154
2026-06-06T06:43:03.2390185Z             },
2026-06-06T06:43:03.2390572Z             {
2026-06-06T06:43:03.2391164Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2391581Z               "line": 27
2026-06-06T06:43:03.2391953Z             },
2026-06-06T06:43:03.2392333Z             {
2026-06-06T06:43:03.2392916Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2393323Z               "line": 79
2026-06-06T06:43:03.2393707Z             },
2026-06-06T06:43:03.2394079Z             {
2026-06-06T06:43:03.2394682Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2395090Z               "line": 102
2026-06-06T06:43:03.2395477Z             },
2026-06-06T06:43:03.2395849Z             {
2026-06-06T06:43:03.2396623Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.2397177Z               "line": 108
2026-06-06T06:43:03.2397558Z             }
2026-06-06T06:43:03.2397945Z           ]
2026-06-06T06:43:03.2398315Z         },
2026-06-06T06:43:03.2398706Z         "int": {
2026-06-06T06:43:03.2399130Z           "complete": true,
2026-06-06T06:43:03.2399574Z           "evidence": [
2026-06-06T06:43:03.2399965Z             {
2026-06-06T06:43:03.2400595Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:43:03.2401003Z               "line": 35
2026-06-06T06:43:03.2401375Z             }
2026-06-06T06:43:03.2401754Z           ]
2026-06-06T06:43:03.2402127Z         },
2026-06-06T06:43:03.2402518Z         "unit": {
2026-06-06T06:43:03.2402960Z           "complete": true,
2026-06-06T06:43:03.2403368Z           "evidence": [
2026-06-06T06:43:03.2403753Z             {
2026-06-06T06:43:03.2404359Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.2404790Z               "line": 552
2026-06-06T06:43:03.2405177Z             },
2026-06-06T06:43:03.2405561Z             {
2026-06-06T06:43:03.2406120Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2406530Z               "line": 330
2026-06-06T06:43:03.2406920Z             },
2026-06-06T06:43:03.2407300Z             {
2026-06-06T06:43:03.2407907Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2408505Z               "line": 124
2026-06-06T06:43:03.2409320Z             },
2026-06-06T06:43:03.2409806Z             {
2026-06-06T06:43:03.2410524Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2411386Z               "line": 136
2026-06-06T06:43:03.2411788Z             },
2026-06-06T06:43:03.2412176Z             {
2026-06-06T06:43:03.2412768Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2413190Z               "line": 146
2026-06-06T06:43:03.2413581Z             },
2026-06-06T06:43:03.2413976Z             {
2026-06-06T06:43:03.2414581Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2415014Z               "line": 159
2026-06-06T06:43:03.2415719Z             },
2026-06-06T06:43:03.2416287Z             {
2026-06-06T06:43:03.2417086Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:43:03.2417511Z               "line": 171
2026-06-06T06:43:03.2417894Z             },
2026-06-06T06:43:03.2418280Z             {
2026-06-06T06:43:03.2418875Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.2419653Z               "line": 207
2026-06-06T06:43:03.2420057Z             }
2026-06-06T06:43:03.2420436Z           ]
2026-06-06T06:43:03.2420826Z         }
2026-06-06T06:43:03.2421201Z       }
2026-06-06T06:43:03.2421581Z     },
2026-06-06T06:43:03.2421949Z     {
2026-06-06T06:43:03.2422551Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-06T06:43:03.2426560Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-06T06:43:03.2427015Z       "requiredStages": [
2026-06-06T06:43:03.2427409Z         "impl",
2026-06-06T06:43:03.2427785Z         "unit"
2026-06-06T06:43:03.2428169Z       ],
2026-06-06T06:43:03.2428559Z       "stages": {
2026-06-06T06:43:03.2428951Z         "doc": {
2026-06-06T06:43:03.2429443Z           "complete": false,
2026-06-06T06:43:03.2429864Z           "evidence": []
2026-06-06T06:43:03.2430249Z         },
2026-06-06T06:43:03.2430640Z         "impl": {
2026-06-06T06:43:03.2431078Z           "complete": true,
2026-06-06T06:43:03.2431486Z           "evidence": [
2026-06-06T06:43:03.2431875Z             {
2026-06-06T06:43:03.2432483Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.2432896Z               "line": 222
2026-06-06T06:43:03.2433293Z             },
2026-06-06T06:43:03.2433876Z             {
2026-06-06T06:43:03.2434504Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.2435060Z               "line": 387
2026-06-06T06:43:03.2435449Z             }
2026-06-06T06:43:03.2435834Z           ]
2026-06-06T06:43:03.2436212Z         },
2026-06-06T06:43:03.2436605Z         "int": {
2026-06-06T06:43:03.2437034Z           "complete": false,
2026-06-06T06:43:03.2437450Z           "evidence": []
2026-06-06T06:43:03.2437823Z         },
2026-06-06T06:43:03.2438222Z         "unit": {
2026-06-06T06:43:03.2444409Z           "complete": true,
2026-06-06T06:43:03.2444956Z           "evidence": [
2026-06-06T06:43:03.2445346Z             {
2026-06-06T06:43:03.2446002Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-06T06:43:03.2446424Z               "line": 149
2026-06-06T06:43:03.2446797Z             }
2026-06-06T06:43:03.2447184Z           ]
2026-06-06T06:43:03.2447566Z         }
2026-06-06T06:43:03.2447937Z       }
2026-06-06T06:43:03.2448311Z     },
2026-06-06T06:43:03.2448717Z     {
2026-06-06T06:43:03.2449345Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-06T06:43:03.2450317Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-06T06:43:03.2450763Z       "requiredStages": [
2026-06-06T06:43:03.2451156Z         "impl",
2026-06-06T06:43:03.2451530Z         "unit"
2026-06-06T06:43:03.2451914Z       ],
2026-06-06T06:43:03.2452303Z       "stages": {
2026-06-06T06:43:03.2452695Z         "doc": {
2026-06-06T06:43:03.2453123Z           "complete": false,
2026-06-06T06:43:03.2453538Z           "evidence": []
2026-06-06T06:43:03.2453926Z         },
2026-06-06T06:43:03.2454314Z         "impl": {
2026-06-06T06:43:03.2454751Z           "complete": true,
2026-06-06T06:43:03.2455160Z           "evidence": [
2026-06-06T06:43:03.2455550Z             {
2026-06-06T06:43:03.2456115Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2456528Z               "line": 40
2026-06-06T06:43:03.2456915Z             },
2026-06-06T06:43:03.2457300Z             {
2026-06-06T06:43:03.2457881Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2458282Z               "line": 98
2026-06-06T06:43:03.2458670Z             },
2026-06-06T06:43:03.2459049Z             {
2026-06-06T06:43:03.2459655Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2460080Z               "line": 209
2026-06-06T06:43:03.2460458Z             },
2026-06-06T06:43:03.2460840Z             {
2026-06-06T06:43:03.2461394Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2461810Z               "line": 291
2026-06-06T06:43:03.2462186Z             }
2026-06-06T06:43:03.2462576Z           ]
2026-06-06T06:43:03.2462959Z         },
2026-06-06T06:43:03.2463340Z         "int": {
2026-06-06T06:43:03.2463775Z           "complete": false,
2026-06-06T06:43:03.2464185Z           "evidence": []
2026-06-06T06:43:03.2464570Z         },
2026-06-06T06:43:03.2464957Z         "unit": {
2026-06-06T06:43:03.2465403Z           "complete": true,
2026-06-06T06:43:03.2465831Z           "evidence": [
2026-06-06T06:43:03.2466215Z             {
2026-06-06T06:43:03.2466778Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2467180Z               "line": 326
2026-06-06T06:43:03.2467563Z             },
2026-06-06T06:43:03.2467936Z             {
2026-06-06T06:43:03.2468498Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2468911Z               "line": 372
2026-06-06T06:43:03.2469325Z             },
2026-06-06T06:43:03.2469711Z             {
2026-06-06T06:43:03.2470270Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2470692Z               "line": 413
2026-06-06T06:43:03.2471077Z             },
2026-06-06T06:43:03.2471455Z             {
2026-06-06T06:43:03.2472019Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2472425Z               "line": 432
2026-06-06T06:43:03.2472812Z             }
2026-06-06T06:43:03.2473478Z           ]
2026-06-06T06:43:03.2473898Z         }
2026-06-06T06:43:03.2474470Z       }
2026-06-06T06:43:03.2474845Z     },
2026-06-06T06:43:03.2475222Z     {
2026-06-06T06:43:03.2475800Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-06T06:43:03.2476426Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-06T06:43:03.2476854Z       "requiredStages": [
2026-06-06T06:43:03.2477248Z         "impl",
2026-06-06T06:43:03.2477638Z         "unit"
2026-06-06T06:43:03.2478011Z       ],
2026-06-06T06:43:03.2478412Z       "stages": {
2026-06-06T06:43:03.2478793Z         "doc": {
2026-06-06T06:43:03.2479285Z           "complete": false,
2026-06-06T06:43:03.2479706Z           "evidence": []
2026-06-06T06:43:03.2480095Z         },
2026-06-06T06:43:03.2480480Z         "impl": {
2026-06-06T06:43:03.2480911Z           "complete": true,
2026-06-06T06:43:03.2481329Z           "evidence": [
2026-06-06T06:43:03.2481708Z             {
2026-06-06T06:43:03.2482275Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2482693Z               "line": 111
2026-06-06T06:43:03.2483095Z             },
2026-06-06T06:43:03.2483469Z             {
2026-06-06T06:43:03.2484038Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2484452Z               "line": 202
2026-06-06T06:43:03.2484828Z             }
2026-06-06T06:43:03.2485207Z           ]
2026-06-06T06:43:03.2485579Z         },
2026-06-06T06:43:03.2485965Z         "int": {
2026-06-06T06:43:03.2486387Z           "complete": false,
2026-06-06T06:43:03.2486801Z           "evidence": []
2026-06-06T06:43:03.2487180Z         },
2026-06-06T06:43:03.2487565Z         "unit": {
2026-06-06T06:43:03.2488000Z           "complete": true,
2026-06-06T06:43:03.2488406Z           "evidence": [
2026-06-06T06:43:03.2488790Z             {
2026-06-06T06:43:03.2489384Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2489808Z               "line": 347
2026-06-06T06:43:03.2490193Z             },
2026-06-06T06:43:03.2490576Z             {
2026-06-06T06:43:03.2491140Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.2491556Z               "line": 391
2026-06-06T06:43:03.2491941Z             }
2026-06-06T06:43:03.2492324Z           ]
2026-06-06T06:43:03.2492695Z         }
2026-06-06T06:43:03.2493070Z       }
2026-06-06T06:43:03.2493437Z     },
2026-06-06T06:43:03.2493812Z     {
2026-06-06T06:43:03.2494382Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-06T06:43:03.2500793Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-06T06:43:03.2501258Z       "requiredStages": [
2026-06-06T06:43:03.2501653Z         "impl",
2026-06-06T06:43:03.2502042Z         "unit"
2026-06-06T06:43:03.2502448Z       ],
2026-06-06T06:43:03.2502853Z       "stages": {
2026-06-06T06:43:03.2503267Z         "doc": {
2026-06-06T06:43:03.2503694Z           "complete": true,
2026-06-06T06:43:03.2504108Z           "evidence": [
2026-06-06T06:43:03.2504525Z             {
2026-06-06T06:43:03.2505050Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:43:03.2505464Z               "line": 188
2026-06-06T06:43:03.2505856Z             }
2026-06-06T06:43:03.2506237Z           ]
2026-06-06T06:43:03.2506608Z         },
2026-06-06T06:43:03.2507006Z         "impl": {
2026-06-06T06:43:03.2507425Z           "complete": true,
2026-06-06T06:43:03.2507837Z           "evidence": [
2026-06-06T06:43:03.2508209Z             {
2026-06-06T06:43:03.2508809Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.2509263Z               "line": 250
2026-06-06T06:43:03.2509644Z             },
2026-06-06T06:43:03.2510028Z             {
2026-06-06T06:43:03.2510793Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.2511224Z               "line": 340
2026-06-06T06:43:03.2511731Z             },
2026-06-06T06:43:03.2512124Z             {
2026-06-06T06:43:03.2512737Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.2513145Z               "line": 178
2026-06-06T06:43:03.2513527Z             }
2026-06-06T06:43:03.2513904Z           ]
2026-06-06T06:43:03.2514282Z         },
2026-06-06T06:43:03.2514666Z         "int": {
2026-06-06T06:43:03.2515110Z           "complete": false,
2026-06-06T06:43:03.2515526Z           "evidence": []
2026-06-06T06:43:03.2515900Z         },
2026-06-06T06:43:03.2516292Z         "unit": {
2026-06-06T06:43:03.2516709Z           "complete": true,
2026-06-06T06:43:03.2517130Z           "evidence": [
2026-06-06T06:43:03.2517512Z             {
2026-06-06T06:43:03.2518105Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.2518526Z               "line": 378
2026-06-06T06:43:03.2518902Z             },
2026-06-06T06:43:03.2519354Z             {
2026-06-06T06:43:03.2519977Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-06T06:43:03.2520407Z               "line": 44
2026-06-06T06:43:03.2525356Z             },
2026-06-06T06:43:03.2525833Z             {
2026-06-06T06:43:03.2526421Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-06T06:43:03.2526830Z               "line": 54
2026-06-06T06:43:03.2527221Z             },
2026-06-06T06:43:03.2527597Z             {
2026-06-06T06:43:03.2528266Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-06T06:43:03.2528676Z               "line": 51
2026-06-06T06:43:03.2529062Z             }
2026-06-06T06:43:03.2529523Z           ]
2026-06-06T06:43:03.2529905Z         }
2026-06-06T06:43:03.2530431Z       }
2026-06-06T06:43:03.2530821Z     },
2026-06-06T06:43:03.2531212Z     {
2026-06-06T06:43:03.2531823Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-06T06:43:03.2533288Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-06T06:43:03.2533764Z       "requiredStages": [
2026-06-06T06:43:03.2534159Z         "impl",
2026-06-06T06:43:03.2534543Z         "unit"
2026-06-06T06:43:03.2534919Z       ],
2026-06-06T06:43:03.2535324Z       "stages": {
2026-06-06T06:43:03.2535707Z         "doc": {
2026-06-06T06:43:03.2536140Z           "complete": false,
2026-06-06T06:43:03.2536565Z           "evidence": []
2026-06-06T06:43:03.2536943Z         },
2026-06-06T06:43:03.2537348Z         "impl": {
2026-06-06T06:43:03.2537780Z           "complete": true,
2026-06-06T06:43:03.2538199Z           "evidence": [
2026-06-06T06:43:03.2538579Z             {
2026-06-06T06:43:03.2539208Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2539625Z               "line": 26
2026-06-06T06:43:03.2540002Z             },
2026-06-06T06:43:03.2540389Z             {
2026-06-06T06:43:03.2540949Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2541362Z               "line": 126
2026-06-06T06:43:03.2541752Z             },
2026-06-06T06:43:03.2542149Z             {
2026-06-06T06:43:03.2542773Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:43:03.2543182Z               "line": 26
2026-06-06T06:43:03.2543564Z             },
2026-06-06T06:43:03.2543946Z             {
2026-06-06T06:43:03.2544564Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:43:03.2544972Z               "line": 233
2026-06-06T06:43:03.2545361Z             }
2026-06-06T06:43:03.2545745Z           ]
2026-06-06T06:43:03.2546121Z         },
2026-06-06T06:43:03.2546509Z         "int": {
2026-06-06T06:43:03.2546933Z           "complete": false,
2026-06-06T06:43:03.2547353Z           "evidence": []
2026-06-06T06:43:03.2547723Z         },
2026-06-06T06:43:03.2548123Z         "unit": {
2026-06-06T06:43:03.2548558Z           "complete": true,
2026-06-06T06:43:03.2548957Z           "evidence": [
2026-06-06T06:43:03.2549381Z             {
2026-06-06T06:43:03.2550192Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2550764Z               "line": 152
2026-06-06T06:43:03.2551141Z             },
2026-06-06T06:43:03.2551527Z             {
2026-06-06T06:43:03.2552097Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2552510Z               "line": 161
2026-06-06T06:43:03.2552897Z             },
2026-06-06T06:43:03.2553267Z             {
2026-06-06T06:43:03.2553841Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2554248Z               "line": 170
2026-06-06T06:43:03.2554647Z             },
2026-06-06T06:43:03.2555028Z             {
2026-06-06T06:43:03.2555589Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2556009Z               "line": 179
2026-06-06T06:43:03.2556394Z             },
2026-06-06T06:43:03.2556780Z             {
2026-06-06T06:43:03.2557342Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2557765Z               "line": 188
2026-06-06T06:43:03.2558168Z             },
2026-06-06T06:43:03.2558557Z             {
2026-06-06T06:43:03.2559127Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2559582Z               "line": 205
2026-06-06T06:43:03.2559966Z             },
2026-06-06T06:43:03.2560353Z             {
2026-06-06T06:43:03.2560919Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:43:03.2561340Z               "line": 231
2026-06-06T06:43:03.2561724Z             },
2026-06-06T06:43:03.2562107Z             {
2026-06-06T06:43:03.2562657Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.2563071Z               "line": 245
2026-06-06T06:43:03.2563454Z             },
2026-06-06T06:43:03.2563828Z             {
2026-06-06T06:43:03.2564397Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.2564805Z               "line": 212
2026-06-06T06:43:03.2565190Z             },
2026-06-06T06:43:03.2565568Z             {
2026-06-06T06:43:03.2566211Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:43:03.2566635Z               "line": 256
2026-06-06T06:43:03.2567010Z             },
2026-06-06T06:43:03.2567391Z             {
2026-06-06T06:43:03.2568013Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:43:03.2568432Z               "line": 281
2026-06-06T06:43:03.2568810Z             },
2026-06-06T06:43:03.2569235Z             {
2026-06-06T06:43:03.2569867Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:43:03.2570281Z               "line": 293
2026-06-06T06:43:03.2570672Z             },
2026-06-06T06:43:03.2571046Z             {
2026-06-06T06:43:03.2571669Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:43:03.2572071Z               "line": 303
2026-06-06T06:43:03.2572463Z             },
2026-06-06T06:43:03.2572848Z             {
2026-06-06T06:43:03.2573438Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.2573854Z               "line": 502
2026-06-06T06:43:03.2574245Z             }
2026-06-06T06:43:03.2574640Z           ]
2026-06-06T06:43:03.2575016Z         }
2026-06-06T06:43:03.2575395Z       }
2026-06-06T06:43:03.2575776Z     },
2026-06-06T06:43:03.2576143Z     {
2026-06-06T06:43:03.2576724Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-06T06:43:03.2577457Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-06T06:43:03.2577895Z       "requiredStages": [
2026-06-06T06:43:03.2578279Z         "impl",
2026-06-06T06:43:03.2578669Z         "unit"
2026-06-06T06:43:03.2579055Z       ],
2026-06-06T06:43:03.2579485Z       "stages": {
2026-06-06T06:43:03.2579874Z         "doc": {
2026-06-06T06:43:03.2580302Z           "complete": false,
2026-06-06T06:43:03.2580726Z           "evidence": []
2026-06-06T06:43:03.2581098Z         },
2026-06-06T06:43:03.2581501Z         "impl": {
2026-06-06T06:43:03.2581936Z           "complete": true,
2026-06-06T06:43:03.2582340Z           "evidence": [
2026-06-06T06:43:03.2582886Z             {
2026-06-06T06:43:03.2583446Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.2583988Z               "line": 25
2026-06-06T06:43:03.2584361Z             },
2026-06-06T06:43:03.2584745Z             {
2026-06-06T06:43:03.2585317Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.2585717Z               "line": 26
2026-06-06T06:43:03.2586098Z             },
2026-06-06T06:43:03.2586472Z             {
2026-06-06T06:43:03.2587029Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.2587437Z               "line": 153
2026-06-06T06:43:03.2587824Z             }
2026-06-06T06:43:03.2588206Z           ]
2026-06-06T06:43:03.2588578Z         },
2026-06-06T06:43:03.2588965Z         "int": {
2026-06-06T06:43:03.2589436Z           "complete": false,
2026-06-06T06:43:03.2589857Z           "evidence": []
2026-06-06T06:43:03.2590226Z         },
2026-06-06T06:43:03.2590620Z         "unit": {
2026-06-06T06:43:03.2591050Z           "complete": true,
2026-06-06T06:43:03.2591469Z           "evidence": [
2026-06-06T06:43:03.2591865Z             {
2026-06-06T06:43:03.2592407Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.2592825Z               "line": 180
2026-06-06T06:43:03.2593198Z             },
2026-06-06T06:43:03.2593582Z             {
2026-06-06T06:43:03.2594120Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.2594522Z               "line": 205
2026-06-06T06:43:03.2594913Z             },
2026-06-06T06:43:03.2595287Z             {
2026-06-06T06:43:03.2595845Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.2596258Z               "line": 180
2026-06-06T06:43:03.2596644Z             }
2026-06-06T06:43:03.2597025Z           ]
2026-06-06T06:43:03.2601732Z         }
2026-06-06T06:43:03.2602200Z       }
2026-06-06T06:43:03.2602570Z     },
2026-06-06T06:43:03.2602945Z     {
2026-06-06T06:43:03.2603430Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-06T06:43:03.2604319Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-06T06:43:03.2604768Z       "requiredStages": [
2026-06-06T06:43:03.2605147Z         "impl",
2026-06-06T06:43:03.2605528Z         "unit"
2026-06-06T06:43:03.2605889Z       ],
2026-06-06T06:43:03.2606277Z       "stages": {
2026-06-06T06:43:03.2606650Z         "doc": {
2026-06-06T06:43:03.2607072Z           "complete": false,
2026-06-06T06:43:03.2607472Z           "evidence": []
2026-06-06T06:43:03.2607840Z         },
2026-06-06T06:43:03.2608221Z         "impl": {
2026-06-06T06:43:03.2608631Z           "complete": true,
2026-06-06T06:43:03.2609033Z           "evidence": [
2026-06-06T06:43:03.2609474Z             {
2026-06-06T06:43:03.2610054Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2610459Z               "line": 48
2026-06-06T06:43:03.2610831Z             },
2026-06-06T06:43:03.2611220Z             {
2026-06-06T06:43:03.2611779Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2612208Z               "line": 55
2026-06-06T06:43:03.2612596Z             },
2026-06-06T06:43:03.2612986Z             {
2026-06-06T06:43:03.2613549Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2613950Z               "line": 74
2026-06-06T06:43:03.2614330Z             },
2026-06-06T06:43:03.2614704Z             {
2026-06-06T06:43:03.2615272Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2615673Z               "line": 91
2026-06-06T06:43:03.2616053Z             }
2026-06-06T06:43:03.2616433Z           ]
2026-06-06T06:43:03.2616807Z         },
2026-06-06T06:43:03.2617194Z         "int": {
2026-06-06T06:43:03.2617618Z           "complete": false,
2026-06-06T06:43:03.2618032Z           "evidence": []
2026-06-06T06:43:03.2618401Z         },
2026-06-06T06:43:03.2618790Z         "unit": {
2026-06-06T06:43:03.2619269Z           "complete": true,
2026-06-06T06:43:03.2619670Z           "evidence": [
2026-06-06T06:43:03.2620052Z             {
2026-06-06T06:43:03.2620876Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2621448Z               "line": 149
2026-06-06T06:43:03.2621821Z             },
2026-06-06T06:43:03.2622212Z             {
2026-06-06T06:43:03.2622781Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2623186Z               "line": 163
2026-06-06T06:43:03.2623575Z             },
2026-06-06T06:43:03.2623949Z             {
2026-06-06T06:43:03.2624518Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2624930Z               "line": 173
2026-06-06T06:43:03.2625303Z             },
2026-06-06T06:43:03.2625682Z             {
2026-06-06T06:43:03.2626241Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2626656Z               "line": 191
2026-06-06T06:43:03.2627031Z             },
2026-06-06T06:43:03.2627420Z             {
2026-06-06T06:43:03.2627991Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.2628397Z               "line": 204
2026-06-06T06:43:03.2628790Z             }
2026-06-06T06:43:03.2629221Z           ]
2026-06-06T06:43:03.2629609Z         }
2026-06-06T06:43:03.2629978Z       }
2026-06-06T06:43:03.2630353Z     },
2026-06-06T06:43:03.2630719Z     {
2026-06-06T06:43:03.2631291Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-06T06:43:03.2632292Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-06T06:43:03.2632720Z       "requiredStages": [
2026-06-06T06:43:03.2633112Z         "impl",
2026-06-06T06:43:03.2633493Z         "unit"
2026-06-06T06:43:03.2633875Z       ],
2026-06-06T06:43:03.2634270Z       "stages": {
2026-06-06T06:43:03.2634650Z         "doc": {
2026-06-06T06:43:03.2635079Z           "complete": false,
2026-06-06T06:43:03.2635486Z           "evidence": []
2026-06-06T06:43:03.2635863Z         },
2026-06-06T06:43:03.2636250Z         "impl": {
2026-06-06T06:43:03.2636679Z           "complete": true,
2026-06-06T06:43:03.2637095Z           "evidence": [
2026-06-06T06:43:03.2637481Z             {
2026-06-06T06:43:03.2638098Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.2638517Z               "line": 349
2026-06-06T06:43:03.2638894Z             },
2026-06-06T06:43:03.2639301Z             {
2026-06-06T06:43:03.2639869Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.2640275Z               "line": 26
2026-06-06T06:43:03.2640647Z             }
2026-06-06T06:43:03.2641021Z           ]
2026-06-06T06:43:03.2641385Z         },
2026-06-06T06:43:03.2641767Z         "int": {
2026-06-06T06:43:03.2642189Z           "complete": false,
2026-06-06T06:43:03.2642605Z           "evidence": []
2026-06-06T06:43:03.2642990Z         },
2026-06-06T06:43:03.2643371Z         "unit": {
2026-06-06T06:43:03.2643797Z           "complete": true,
2026-06-06T06:43:03.2644196Z           "evidence": [
2026-06-06T06:43:03.2644578Z             {
2026-06-06T06:43:03.2645142Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.2645568Z               "line": 139
2026-06-06T06:43:03.2645961Z             },
2026-06-06T06:43:03.2646338Z             {
2026-06-06T06:43:03.2646910Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.2647315Z               "line": 182
2026-06-06T06:43:03.2647694Z             }
2026-06-06T06:43:03.2648062Z           ]
2026-06-06T06:43:03.2648445Z         }
2026-06-06T06:43:03.2648820Z       }
2026-06-06T06:43:03.2649222Z     },
2026-06-06T06:43:03.2649600Z     {
2026-06-06T06:43:03.2650158Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-06T06:43:03.2650960Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-06T06:43:03.2651386Z       "requiredStages": [
2026-06-06T06:43:03.2651777Z         "impl",
2026-06-06T06:43:03.2652167Z         "unit"
2026-06-06T06:43:03.2652540Z       ],
2026-06-06T06:43:03.2652932Z       "stages": {
2026-06-06T06:43:03.2653311Z         "doc": {
2026-06-06T06:43:03.2653746Z           "complete": false,
2026-06-06T06:43:03.2654306Z           "evidence": []
2026-06-06T06:43:03.2654834Z         },
2026-06-06T06:43:03.2655233Z         "impl": {
2026-06-06T06:43:03.2655664Z           "complete": true,
2026-06-06T06:43:03.2656084Z           "evidence": [
2026-06-06T06:43:03.2656458Z             {
2026-06-06T06:43:03.2657065Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2657462Z               "line": 36
2026-06-06T06:43:03.2657843Z             },
2026-06-06T06:43:03.2658220Z             {
2026-06-06T06:43:03.2658805Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2659256Z               "line": 68
2026-06-06T06:43:03.2659631Z             }
2026-06-06T06:43:03.2660015Z           ]
2026-06-06T06:43:03.2660382Z         },
2026-06-06T06:43:03.2660769Z         "int": {
2026-06-06T06:43:03.2661200Z           "complete": false,
2026-06-06T06:43:03.2661607Z           "evidence": []
2026-06-06T06:43:03.2661989Z         },
2026-06-06T06:43:03.2662374Z         "unit": {
2026-06-06T06:43:03.2662821Z           "complete": true,
2026-06-06T06:43:03.2663238Z           "evidence": [
2026-06-06T06:43:03.2663622Z             {
2026-06-06T06:43:03.2664224Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2664628Z               "line": 143
2026-06-06T06:43:03.2665009Z             },
2026-06-06T06:43:03.2665377Z             {
2026-06-06T06:43:03.2665969Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2666382Z               "line": 160
2026-06-06T06:43:03.2666764Z             },
2026-06-06T06:43:03.2667144Z             {
2026-06-06T06:43:03.2667731Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2668141Z               "line": 168
2026-06-06T06:43:03.2668518Z             }
2026-06-06T06:43:03.2668901Z           ]
2026-06-06T06:43:03.2669312Z         }
2026-06-06T06:43:03.2669694Z       }
2026-06-06T06:43:03.2670063Z     },
2026-06-06T06:43:03.2670425Z     {
2026-06-06T06:43:03.2671010Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-06T06:43:03.2671915Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-06T06:43:03.2676391Z       "requiredStages": [
2026-06-06T06:43:03.2676863Z         "impl",
2026-06-06T06:43:03.2677256Z         "unit"
2026-06-06T06:43:03.2677638Z       ],
2026-06-06T06:43:03.2678029Z       "stages": {
2026-06-06T06:43:03.2678416Z         "doc": {
2026-06-06T06:43:03.2678839Z           "complete": false,
2026-06-06T06:43:03.2679360Z           "evidence": []
2026-06-06T06:43:03.2679747Z         },
2026-06-06T06:43:03.2680139Z         "impl": {
2026-06-06T06:43:03.2680572Z           "complete": true,
2026-06-06T06:43:03.2680975Z           "evidence": [
2026-06-06T06:43:03.2681345Z             {
2026-06-06T06:43:03.2681940Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2682341Z               "line": 107
2026-06-06T06:43:03.2682707Z             }
2026-06-06T06:43:03.2683074Z           ]
2026-06-06T06:43:03.2683448Z         },
2026-06-06T06:43:03.2683852Z         "int": {
2026-06-06T06:43:03.2684286Z           "complete": false,
2026-06-06T06:43:03.2684683Z           "evidence": []
2026-06-06T06:43:03.2685051Z         },
2026-06-06T06:43:03.2685420Z         "unit": {
2026-06-06T06:43:03.2685838Z           "complete": true,
2026-06-06T06:43:03.2686243Z           "evidence": [
2026-06-06T06:43:03.2686616Z             {
2026-06-06T06:43:03.2687224Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2687629Z               "line": 184
2026-06-06T06:43:03.2688008Z             },
2026-06-06T06:43:03.2688379Z             {
2026-06-06T06:43:03.2688974Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2689433Z               "line": 193
2026-06-06T06:43:03.2689817Z             },
2026-06-06T06:43:03.2690198Z             {
2026-06-06T06:43:03.2690789Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2691197Z               "line": 201
2026-06-06T06:43:03.2691804Z             },
2026-06-06T06:43:03.2692211Z             {
2026-06-06T06:43:03.2692953Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2693361Z               "line": 210
2026-06-06T06:43:03.2693746Z             },
2026-06-06T06:43:03.2694121Z             {
2026-06-06T06:43:03.2694717Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:43:03.2695120Z               "line": 219
2026-06-06T06:43:03.2695502Z             }
2026-06-06T06:43:03.2695885Z           ]
2026-06-06T06:43:03.2696256Z         }
2026-06-06T06:43:03.2696638Z       }
2026-06-06T06:43:03.2697007Z     },
2026-06-06T06:43:03.2697382Z     {
2026-06-06T06:43:03.2697892Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-06T06:43:03.2698724Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-06T06:43:03.2699205Z       "requiredStages": [
2026-06-06T06:43:03.2699591Z         "impl",
2026-06-06T06:43:03.2699981Z         "unit"
2026-06-06T06:43:03.2700346Z       ],
2026-06-06T06:43:03.2700751Z       "stages": {
2026-06-06T06:43:03.2701142Z         "doc": {
2026-06-06T06:43:03.2701578Z           "complete": false,
2026-06-06T06:43:03.2702006Z           "evidence": []
2026-06-06T06:43:03.2702380Z         },
2026-06-06T06:43:03.2702771Z         "impl": {
2026-06-06T06:43:03.2703181Z           "complete": true,
2026-06-06T06:43:03.2703590Z           "evidence": [
2026-06-06T06:43:03.2703970Z             {
2026-06-06T06:43:03.2704505Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.2704910Z               "line": 14
2026-06-06T06:43:03.2705283Z             },
2026-06-06T06:43:03.2705665Z             {
2026-06-06T06:43:03.2706183Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.2706587Z               "line": 62
2026-06-06T06:43:03.2706958Z             }
2026-06-06T06:43:03.2707338Z           ]
2026-06-06T06:43:03.2707719Z         },
2026-06-06T06:43:03.2708099Z         "int": {
2026-06-06T06:43:03.2708532Z           "complete": false,
2026-06-06T06:43:03.2708953Z           "evidence": []
2026-06-06T06:43:03.2709377Z         },
2026-06-06T06:43:03.2709769Z         "unit": {
2026-06-06T06:43:03.2710199Z           "complete": true,
2026-06-06T06:43:03.2710612Z           "evidence": [
2026-06-06T06:43:03.2710984Z             {
2026-06-06T06:43:03.2711516Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.2711918Z               "line": 160
2026-06-06T06:43:03.2712300Z             },
2026-06-06T06:43:03.2712667Z             {
2026-06-06T06:43:03.2713191Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.2713604Z               "line": 197
2026-06-06T06:43:03.2713979Z             },
2026-06-06T06:43:03.2714358Z             {
2026-06-06T06:43:03.2714870Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.2715267Z               "line": 213
2026-06-06T06:43:03.2715630Z             }
2026-06-06T06:43:03.2716001Z           ]
2026-06-06T06:43:03.2716370Z         }
2026-06-06T06:43:03.2716739Z       }
2026-06-06T06:43:03.2717109Z     },
2026-06-06T06:43:03.2717473Z     {
2026-06-06T06:43:03.2718018Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-06T06:43:03.2719188Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-06T06:43:03.2719641Z       "requiredStages": [
2026-06-06T06:43:03.2720027Z         "impl",
2026-06-06T06:43:03.2720408Z         "unit"
2026-06-06T06:43:03.2720785Z       ],
2026-06-06T06:43:03.2721173Z       "stages": {
2026-06-06T06:43:03.2721559Z         "doc": {
2026-06-06T06:43:03.2721981Z           "complete": false,
2026-06-06T06:43:03.2722400Z           "evidence": []
2026-06-06T06:43:03.2722783Z         },
2026-06-06T06:43:03.2723168Z         "impl": {
2026-06-06T06:43:03.2723592Z           "complete": true,
2026-06-06T06:43:03.2723995Z           "evidence": [
2026-06-06T06:43:03.2724376Z             {
2026-06-06T06:43:03.2724942Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2725505Z               "line": 76
2026-06-06T06:43:03.2725911Z             },
2026-06-06T06:43:03.2726424Z             {
2026-06-06T06:43:03.2726990Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2727394Z               "line": 163
2026-06-06T06:43:03.2727769Z             },
2026-06-06T06:43:03.2728135Z             {
2026-06-06T06:43:03.2728685Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2729091Z               "line": 229
2026-06-06T06:43:03.2729495Z             },
2026-06-06T06:43:03.2729878Z             {
2026-06-06T06:43:03.2730422Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2730828Z               "line": 265
2026-06-06T06:43:03.2731200Z             }
2026-06-06T06:43:03.2731565Z           ]
2026-06-06T06:43:03.2731936Z         },
2026-06-06T06:43:03.2732306Z         "int": {
2026-06-06T06:43:03.2732723Z           "complete": false,
2026-06-06T06:43:03.2733117Z           "evidence": []
2026-06-06T06:43:03.2733487Z         },
2026-06-06T06:43:03.2733879Z         "unit": {
2026-06-06T06:43:03.2734310Z           "complete": true,
2026-06-06T06:43:03.2734714Z           "evidence": [
2026-06-06T06:43:03.2735079Z             {
2026-06-06T06:43:03.2735627Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2736026Z               "line": 310
2026-06-06T06:43:03.2736399Z             },
2026-06-06T06:43:03.2736760Z             {
2026-06-06T06:43:03.2737316Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2737723Z               "line": 318
2026-06-06T06:43:03.2738088Z             },
2026-06-06T06:43:03.2738456Z             {
2026-06-06T06:43:03.2738993Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2739452Z               "line": 341
2026-06-06T06:43:03.2739855Z             },
2026-06-06T06:43:03.2740245Z             {
2026-06-06T06:43:03.2740802Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2741193Z               "line": 378
2026-06-06T06:43:03.2741587Z             },
2026-06-06T06:43:03.2741964Z             {
2026-06-06T06:43:03.2742511Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2742917Z               "line": 389
2026-06-06T06:43:03.2743290Z             },
2026-06-06T06:43:03.2743666Z             {
2026-06-06T06:43:03.2744202Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2744602Z               "line": 401
2026-06-06T06:43:03.2744970Z             },
2026-06-06T06:43:03.2745342Z             {
2026-06-06T06:43:03.2750091Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:43:03.2750610Z               "line": 413
2026-06-06T06:43:03.2750987Z             }
2026-06-06T06:43:03.2751351Z           ]
2026-06-06T06:43:03.2751726Z         }
2026-06-06T06:43:03.2752086Z       }
2026-06-06T06:43:03.2752454Z     },
2026-06-06T06:43:03.2752817Z     {
2026-06-06T06:43:03.2753297Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-06T06:43:03.2754061Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-06T06:43:03.2754506Z       "requiredStages": [
2026-06-06T06:43:03.2754898Z         "impl",
2026-06-06T06:43:03.2755265Z         "int"
2026-06-06T06:43:03.2755635Z       ],
2026-06-06T06:43:03.2756020Z       "stages": {
2026-06-06T06:43:03.2756391Z         "doc": {
2026-06-06T06:43:03.2756811Z           "complete": false,
2026-06-06T06:43:03.2757215Z           "evidence": []
2026-06-06T06:43:03.2757590Z         },
2026-06-06T06:43:03.2757967Z         "impl": {
2026-06-06T06:43:03.2758384Z           "complete": true,
2026-06-06T06:43:03.2758779Z           "evidence": [
2026-06-06T06:43:03.2759137Z             {
2026-06-06T06:43:03.2759753Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.2760149Z               "line": 22
2026-06-06T06:43:03.2760525Z             }
2026-06-06T06:43:03.2760895Z           ]
2026-06-06T06:43:03.2761264Z         },
2026-06-06T06:43:03.2761642Z         "int": {
2026-06-06T06:43:03.2762049Z           "complete": true,
2026-06-06T06:43:03.2762727Z           "evidence": [
2026-06-06T06:43:03.2763265Z             {
2026-06-06T06:43:03.2763865Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-06T06:43:03.2764259Z               "line": 18
2026-06-06T06:43:03.2764631Z             }
2026-06-06T06:43:03.2765001Z           ]
2026-06-06T06:43:03.2765367Z         },
2026-06-06T06:43:03.2765754Z         "unit": {
2026-06-06T06:43:03.2766165Z           "complete": false,
2026-06-06T06:43:03.2766568Z           "evidence": []
2026-06-06T06:43:03.2766930Z         }
2026-06-06T06:43:03.2767299Z       }
2026-06-06T06:43:03.2767665Z     },
2026-06-06T06:43:03.2768024Z     {
2026-06-06T06:43:03.2768572Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-06T06:43:03.2769635Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-06T06:43:03.2770083Z       "requiredStages": [
2026-06-06T06:43:03.2770467Z         "impl",
2026-06-06T06:43:03.2770850Z         "unit"
2026-06-06T06:43:03.2771238Z       ],
2026-06-06T06:43:03.2771628Z       "stages": {
2026-06-06T06:43:03.2772026Z         "doc": {
2026-06-06T06:43:03.2772454Z           "complete": false,
2026-06-06T06:43:03.2772868Z           "evidence": []
2026-06-06T06:43:03.2773235Z         },
2026-06-06T06:43:03.2773632Z         "impl": {
2026-06-06T06:43:03.2774057Z           "complete": true,
2026-06-06T06:43:03.2774466Z           "evidence": [
2026-06-06T06:43:03.2774845Z             {
2026-06-06T06:43:03.2775450Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.2775862Z               "line": 348
2026-06-06T06:43:03.2776246Z             },
2026-06-06T06:43:03.2776628Z             {
2026-06-06T06:43:03.2777226Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.2777652Z               "line": 27
2026-06-06T06:43:03.2778038Z             }
2026-06-06T06:43:03.2778407Z           ]
2026-06-06T06:43:03.2778781Z         },
2026-06-06T06:43:03.2779192Z         "int": {
2026-06-06T06:43:03.2779644Z           "complete": false,
2026-06-06T06:43:03.2780073Z           "evidence": []
2026-06-06T06:43:03.2780446Z         },
2026-06-06T06:43:03.2780834Z         "unit": {
2026-06-06T06:43:03.2781247Z           "complete": true,
2026-06-06T06:43:03.2781652Z           "evidence": [
2026-06-06T06:43:03.2782026Z             {
2026-06-06T06:43:03.2782641Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.2783052Z               "line": 753
2026-06-06T06:43:03.2783432Z             },
2026-06-06T06:43:03.2783817Z             {
2026-06-06T06:43:03.2784372Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.2784787Z               "line": 164
2026-06-06T06:43:03.2785166Z             }
2026-06-06T06:43:03.2785548Z           ]
2026-06-06T06:43:03.2785922Z         }
2026-06-06T06:43:03.2786290Z       }
2026-06-06T06:43:03.2786662Z     },
2026-06-06T06:43:03.2787027Z     {
2026-06-06T06:43:03.2787587Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-06T06:43:03.2788424Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-06T06:43:03.2788873Z       "requiredStages": [
2026-06-06T06:43:03.2789301Z         "impl",
2026-06-06T06:43:03.2789682Z         "unit"
2026-06-06T06:43:03.2790058Z       ],
2026-06-06T06:43:03.2790440Z       "stages": {
2026-06-06T06:43:03.2790830Z         "doc": {
2026-06-06T06:43:03.2791256Z           "complete": false,
2026-06-06T06:43:03.2791672Z           "evidence": []
2026-06-06T06:43:03.2792052Z         },
2026-06-06T06:43:03.2792429Z         "impl": {
2026-06-06T06:43:03.2792860Z           "complete": true,
2026-06-06T06:43:03.2793268Z           "evidence": [
2026-06-06T06:43:03.2793653Z             {
2026-06-06T06:43:03.2794220Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2794626Z               "line": 20
2026-06-06T06:43:03.2795012Z             },
2026-06-06T06:43:03.2795384Z             {
2026-06-06T06:43:03.2795950Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2796520Z               "line": 94
2026-06-06T06:43:03.2797052Z             },
2026-06-06T06:43:03.2797427Z             {
2026-06-06T06:43:03.2798043Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:43:03.2798451Z               "line": 70
2026-06-06T06:43:03.2798827Z             },
2026-06-06T06:43:03.2799254Z             {
2026-06-06T06:43:03.2799867Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:43:03.2800276Z               "line": 82
2026-06-06T06:43:03.2800653Z             }
2026-06-06T06:43:03.2801033Z           ]
2026-06-06T06:43:03.2801412Z         },
2026-06-06T06:43:03.2801790Z         "int": {
2026-06-06T06:43:03.2802219Z           "complete": false,
2026-06-06T06:43:03.2802625Z           "evidence": []
2026-06-06T06:43:03.2803014Z         },
2026-06-06T06:43:03.2803397Z         "unit": {
2026-06-06T06:43:03.2803822Z           "complete": true,
2026-06-06T06:43:03.2804230Z           "evidence": [
2026-06-06T06:43:03.2804621Z             {
2026-06-06T06:43:03.2805188Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2805606Z               "line": 139
2026-06-06T06:43:03.2805983Z             },
2026-06-06T06:43:03.2806355Z             {
2026-06-06T06:43:03.2806926Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2807340Z               "line": 162
2026-06-06T06:43:03.2807719Z             },
2026-06-06T06:43:03.2808103Z             {
2026-06-06T06:43:03.2808654Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2809066Z               "line": 173
2026-06-06T06:43:03.2809490Z             },
2026-06-06T06:43:03.2809869Z             {
2026-06-06T06:43:03.2810447Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2810851Z               "line": 189
2026-06-06T06:43:03.2811234Z             },
2026-06-06T06:43:03.2811606Z             {
2026-06-06T06:43:03.2812167Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:43:03.2812589Z               "line": 200
2026-06-06T06:43:03.2812981Z             },
2026-06-06T06:43:03.2813358Z             {
2026-06-06T06:43:03.2813953Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:43:03.2814363Z               "line": 139
2026-06-06T06:43:03.2814732Z             }
2026-06-06T06:43:03.2815114Z           ]
2026-06-06T06:43:03.2815482Z         }
2026-06-06T06:43:03.2815857Z       }
2026-06-06T06:43:03.2816238Z     },
2026-06-06T06:43:03.2816604Z     {
2026-06-06T06:43:03.2817065Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-06T06:43:03.2818427Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-06T06:43:03.2818865Z       "requiredStages": [
2026-06-06T06:43:03.2819319Z         "impl",
2026-06-06T06:43:03.2819715Z         "unit"
2026-06-06T06:43:03.2820094Z       ],
2026-06-06T06:43:03.2820479Z       "stages": {
2026-06-06T06:43:03.2825059Z         "doc": {
2026-06-06T06:43:03.2825583Z           "complete": true,
2026-06-06T06:43:03.2826020Z           "evidence": [
2026-06-06T06:43:03.2826402Z             {
2026-06-06T06:43:03.2826910Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:43:03.2827306Z               "line": 131
2026-06-06T06:43:03.2827676Z             }
2026-06-06T06:43:03.2828055Z           ]
2026-06-06T06:43:03.2828415Z         },
2026-06-06T06:43:03.2828799Z         "impl": {
2026-06-06T06:43:03.2829392Z           "complete": true,
2026-06-06T06:43:03.2829806Z           "evidence": [
2026-06-06T06:43:03.2830176Z             {
2026-06-06T06:43:03.2830692Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.2831087Z               "line": 65
2026-06-06T06:43:03.2831449Z             },
2026-06-06T06:43:03.2831822Z             {
2026-06-06T06:43:03.2832338Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2832732Z               "line": 17
2026-06-06T06:43:03.2833098Z             },
2026-06-06T06:43:03.2833458Z             {
2026-06-06T06:43:03.2834257Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.2834812Z               "line": 212
2026-06-06T06:43:03.2835186Z             },
2026-06-06T06:43:03.2835551Z             {
2026-06-06T06:43:03.2836110Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.2836513Z               "line": 312
2026-06-06T06:43:03.2836880Z             },
2026-06-06T06:43:03.2837250Z             {
2026-06-06T06:43:03.2837773Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.2838167Z               "line": 32
2026-06-06T06:43:03.2838537Z             },
2026-06-06T06:43:03.2838903Z             {
2026-06-06T06:43:03.2839444Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2839845Z               "line": 2576
2026-06-06T06:43:03.2840219Z             },
2026-06-06T06:43:03.2840582Z             {
2026-06-06T06:43:03.2841069Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.2841471Z               "line": 2829
2026-06-06T06:43:03.2841850Z             }
2026-06-06T06:43:03.2842221Z           ]
2026-06-06T06:43:03.2842596Z         },
2026-06-06T06:43:03.2842973Z         "int": {
2026-06-06T06:43:03.2843388Z           "complete": false,
2026-06-06T06:43:03.2843795Z           "evidence": []
2026-06-06T06:43:03.2844168Z         },
2026-06-06T06:43:03.2844542Z         "unit": {
2026-06-06T06:43:03.2844963Z           "complete": true,
2026-06-06T06:43:03.2845356Z           "evidence": [
2026-06-06T06:43:03.2845734Z             {
2026-06-06T06:43:03.2846260Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2846662Z               "line": 94
2026-06-06T06:43:03.2847033Z             },
2026-06-06T06:43:03.2847394Z             {
2026-06-06T06:43:03.2847906Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2848296Z               "line": 111
2026-06-06T06:43:03.2848669Z             },
2026-06-06T06:43:03.2849031Z             {
2026-06-06T06:43:03.2849600Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2850014Z               "line": 124
2026-06-06T06:43:03.2850394Z             },
2026-06-06T06:43:03.2850763Z             {
2026-06-06T06:43:03.2851274Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2851680Z               "line": 134
2026-06-06T06:43:03.2852045Z             },
2026-06-06T06:43:03.2852412Z             {
2026-06-06T06:43:03.2852927Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2853320Z               "line": 142
2026-06-06T06:43:03.2853692Z             },
2026-06-06T06:43:03.2854057Z             {
2026-06-06T06:43:03.2854572Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:43:03.2854963Z               "line": 154
2026-06-06T06:43:03.2855331Z             },
2026-06-06T06:43:03.2855700Z             {
2026-06-06T06:43:03.2856321Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.2856718Z               "line": 645
2026-06-06T06:43:03.2857077Z             }
2026-06-06T06:43:03.2857459Z           ]
2026-06-06T06:43:03.2857823Z         }
2026-06-06T06:43:03.2858202Z       }
2026-06-06T06:43:03.2858571Z     },
2026-06-06T06:43:03.2858927Z     {
2026-06-06T06:43:03.2859459Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-06T06:43:03.2860093Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-06T06:43:03.2860519Z       "requiredStages": [
2026-06-06T06:43:03.2860900Z         "impl",
2026-06-06T06:43:03.2861280Z         "unit"
2026-06-06T06:43:03.2861650Z       ],
2026-06-06T06:43:03.2862022Z       "stages": {
2026-06-06T06:43:03.2862397Z         "doc": {
2026-06-06T06:43:03.2862807Z           "complete": false,
2026-06-06T06:43:03.2863209Z           "evidence": []
2026-06-06T06:43:03.2863568Z         },
2026-06-06T06:43:03.2863951Z         "impl": {
2026-06-06T06:43:03.2864365Z           "complete": true,
2026-06-06T06:43:03.2864759Z           "evidence": [
2026-06-06T06:43:03.2865126Z             {
2026-06-06T06:43:03.2865831Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.2866253Z               "line": 128
2026-06-06T06:43:03.2866800Z             }
2026-06-06T06:43:03.2867179Z           ]
2026-06-06T06:43:03.2867544Z         },
2026-06-06T06:43:03.2867916Z         "int": {
2026-06-06T06:43:03.2868336Z           "complete": false,
2026-06-06T06:43:03.2868737Z           "evidence": []
2026-06-06T06:43:03.2869109Z         },
2026-06-06T06:43:03.2869530Z         "unit": {
2026-06-06T06:43:03.2869955Z           "complete": true,
2026-06-06T06:43:03.2870352Z           "evidence": [
2026-06-06T06:43:03.2870714Z             {
2026-06-06T06:43:03.2871263Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.2871659Z               "line": 205
2026-06-06T06:43:03.2872031Z             }
2026-06-06T06:43:03.2872392Z           ]
2026-06-06T06:43:03.2872755Z         }
2026-06-06T06:43:03.2873120Z       }
2026-06-06T06:43:03.2873477Z     },
2026-06-06T06:43:03.2873845Z     {
2026-06-06T06:43:03.2874381Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-06T06:43:03.2875146Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-06T06:43:03.2875586Z       "requiredStages": [
2026-06-06T06:43:03.2875973Z         "impl",
2026-06-06T06:43:03.2876361Z         "unit"
2026-06-06T06:43:03.2876734Z       ],
2026-06-06T06:43:03.2877133Z       "stages": {
2026-06-06T06:43:03.2877512Z         "doc": {
2026-06-06T06:43:03.2877946Z           "complete": false,
2026-06-06T06:43:03.2878356Z           "evidence": []
2026-06-06T06:43:03.2878732Z         },
2026-06-06T06:43:03.2879117Z         "impl": {
2026-06-06T06:43:03.2879571Z           "complete": true,
2026-06-06T06:43:03.2880154Z           "evidence": [
2026-06-06T06:43:03.2880691Z             {
2026-06-06T06:43:03.2881252Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2881659Z               "line": 231
2026-06-06T06:43:03.2882042Z             },
2026-06-06T06:43:03.2882422Z             {
2026-06-06T06:43:03.2882972Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2883383Z               "line": 242
2026-06-06T06:43:03.2883773Z             },
2026-06-06T06:43:03.2884151Z             {
2026-06-06T06:43:03.2884691Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2885106Z               "line": 260
2026-06-06T06:43:03.2885484Z             }
2026-06-06T06:43:03.2885858Z           ]
2026-06-06T06:43:03.2886231Z         },
2026-06-06T06:43:03.2886608Z         "int": {
2026-06-06T06:43:03.2887033Z           "complete": false,
2026-06-06T06:43:03.2887434Z           "evidence": []
2026-06-06T06:43:03.2887811Z         },
2026-06-06T06:43:03.2888198Z         "unit": {
2026-06-06T06:43:03.2888611Z           "complete": true,
2026-06-06T06:43:03.2889020Z           "evidence": [
2026-06-06T06:43:03.2889437Z             {
2026-06-06T06:43:03.2889993Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2890398Z               "line": 284
2026-06-06T06:43:03.2890788Z             },
2026-06-06T06:43:03.2891181Z             {
2026-06-06T06:43:03.2891720Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2892146Z               "line": 302
2026-06-06T06:43:03.2892517Z             },
2026-06-06T06:43:03.2892897Z             {
2026-06-06T06:43:03.2897646Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2898148Z               "line": 467
2026-06-06T06:43:03.2898537Z             },
2026-06-06T06:43:03.2898904Z             {
2026-06-06T06:43:03.2899543Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2899940Z               "line": 478
2026-06-06T06:43:03.2900312Z             },
2026-06-06T06:43:03.2900674Z             {
2026-06-06T06:43:03.2901212Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.2901613Z               "line": 491
2026-06-06T06:43:03.2901982Z             }
2026-06-06T06:43:03.2902347Z           ]
2026-06-06T06:43:03.2902702Z         }
2026-06-06T06:43:03.2903068Z       }
2026-06-06T06:43:03.2903691Z     },
2026-06-06T06:43:03.2904078Z     {
2026-06-06T06:43:03.2904717Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-06T06:43:03.2905863Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-06T06:43:03.2906305Z       "requiredStages": [
2026-06-06T06:43:03.2906686Z         "impl",
2026-06-06T06:43:03.2907072Z         "unit"
2026-06-06T06:43:03.2907443Z       ],
2026-06-06T06:43:03.2907837Z       "stages": {
2026-06-06T06:43:03.2908229Z         "doc": {
2026-06-06T06:43:03.2908654Z           "complete": false,
2026-06-06T06:43:03.2909073Z           "evidence": []
2026-06-06T06:43:03.2909494Z         },
2026-06-06T06:43:03.2909891Z         "impl": {
2026-06-06T06:43:03.2910311Z           "complete": true,
2026-06-06T06:43:03.2910716Z           "evidence": [
2026-06-06T06:43:03.2911094Z             {
2026-06-06T06:43:03.2911617Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2912024Z               "line": 14
2026-06-06T06:43:03.2912411Z             },
2026-06-06T06:43:03.2912800Z             {
2026-06-06T06:43:03.2913327Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.2913736Z               "line": 372
2026-06-06T06:43:03.2914115Z             }
2026-06-06T06:43:03.2914480Z           ]
2026-06-06T06:43:03.2914856Z         },
2026-06-06T06:43:03.2915225Z         "int": {
2026-06-06T06:43:03.2915650Z           "complete": false,
2026-06-06T06:43:03.2916044Z           "evidence": []
2026-06-06T06:43:03.2916413Z         },
2026-06-06T06:43:03.2916800Z         "unit": {
2026-06-06T06:43:03.2917208Z           "complete": true,
2026-06-06T06:43:03.2917612Z           "evidence": [
2026-06-06T06:43:03.2917975Z             {
2026-06-06T06:43:03.2918490Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2918886Z               "line": 130
2026-06-06T06:43:03.2919309Z             },
2026-06-06T06:43:03.2919687Z             {
2026-06-06T06:43:03.2920199Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2920615Z               "line": 138
2026-06-06T06:43:03.2920991Z             },
2026-06-06T06:43:03.2921356Z             {
2026-06-06T06:43:03.2921869Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2922272Z               "line": 146
2026-06-06T06:43:03.2922644Z             },
2026-06-06T06:43:03.2923013Z             {
2026-06-06T06:43:03.2923533Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2923925Z               "line": 154
2026-06-06T06:43:03.2924302Z             },
2026-06-06T06:43:03.2924664Z             {
2026-06-06T06:43:03.2925182Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2925590Z               "line": 162
2026-06-06T06:43:03.2925985Z             },
2026-06-06T06:43:03.2926458Z             {
2026-06-06T06:43:03.2927036Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:43:03.2927441Z               "line": 170
2026-06-06T06:43:03.2927811Z             }
2026-06-06T06:43:03.2928172Z           ]
2026-06-06T06:43:03.2928556Z         }
2026-06-06T06:43:03.2928931Z       }
2026-06-06T06:43:03.2929350Z     },
2026-06-06T06:43:03.2929718Z     {
2026-06-06T06:43:03.2930221Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-06T06:43:03.2935330Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-06T06:43:03.2935780Z       "requiredStages": [
2026-06-06T06:43:03.2936175Z         "impl",
2026-06-06T06:43:03.2936559Z         "unit"
2026-06-06T06:43:03.2936943Z       ],
2026-06-06T06:43:03.2937330Z       "stages": {
2026-06-06T06:43:03.2937722Z         "doc": {
2026-06-06T06:43:03.2938159Z           "complete": false,
2026-06-06T06:43:03.2938570Z           "evidence": []
2026-06-06T06:43:03.2938950Z         },
2026-06-06T06:43:03.2939383Z         "impl": {
2026-06-06T06:43:03.2940041Z           "complete": true,
2026-06-06T06:43:03.2940611Z           "evidence": [
2026-06-06T06:43:03.2940998Z             {
2026-06-06T06:43:03.2941716Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2942116Z               "line": 34
2026-06-06T06:43:03.2942502Z             }
2026-06-06T06:43:03.2942873Z           ]
2026-06-06T06:43:03.2943249Z         },
2026-06-06T06:43:03.2943632Z         "int": {
2026-06-06T06:43:03.2944060Z           "complete": false,
2026-06-06T06:43:03.2944471Z           "evidence": []
2026-06-06T06:43:03.2944843Z         },
2026-06-06T06:43:03.2945238Z         "unit": {
2026-06-06T06:43:03.2945656Z           "complete": true,
2026-06-06T06:43:03.2946072Z           "evidence": [
2026-06-06T06:43:03.2946447Z             {
2026-06-06T06:43:03.2947175Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2947586Z               "line": 188
2026-06-06T06:43:03.2947959Z             },
2026-06-06T06:43:03.2948356Z             {
2026-06-06T06:43:03.2949075Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2949537Z               "line": 200
2026-06-06T06:43:03.2949912Z             },
2026-06-06T06:43:03.2950294Z             {
2026-06-06T06:43:03.2951008Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2951413Z               "line": 211
2026-06-06T06:43:03.2951797Z             },
2026-06-06T06:43:03.2952171Z             {
2026-06-06T06:43:03.2952885Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2953300Z               "line": 245
2026-06-06T06:43:03.2953675Z             },
2026-06-06T06:43:03.2954053Z             {
2026-06-06T06:43:03.2954761Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2955168Z               "line": 267
2026-06-06T06:43:03.2955542Z             },
2026-06-06T06:43:03.2955930Z             {
2026-06-06T06:43:03.2956660Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2957083Z               "line": 288
2026-06-06T06:43:03.2957472Z             },
2026-06-06T06:43:03.2957852Z             {
2026-06-06T06:43:03.2958557Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:43:03.2958960Z               "line": 304
2026-06-06T06:43:03.2959384Z             }
2026-06-06T06:43:03.2959766Z           ]
2026-06-06T06:43:03.2960134Z         }
2026-06-06T06:43:03.2960518Z       }
2026-06-06T06:43:03.2960881Z     },
2026-06-06T06:43:03.2961254Z     {
2026-06-06T06:43:03.2961770Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-06T06:43:03.2964971Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-06T06:43:03.2965413Z       "requiredStages": [
2026-06-06T06:43:03.2965798Z         "impl",
2026-06-06T06:43:03.2966192Z         "unit"
2026-06-06T06:43:03.2966571Z       ],
2026-06-06T06:43:03.2966970Z       "stages": {
2026-06-06T06:43:03.2967359Z         "doc": {
2026-06-06T06:43:03.2967793Z           "complete": false,
2026-06-06T06:43:03.2968206Z           "evidence": []
2026-06-06T06:43:03.2968579Z         },
2026-06-06T06:43:03.2968966Z         "impl": {
2026-06-06T06:43:03.2969431Z           "complete": true,
2026-06-06T06:43:03.2969844Z           "evidence": [
2026-06-06T06:43:03.2970214Z             {
2026-06-06T06:43:03.2970785Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2971224Z               "line": 29
2026-06-06T06:43:03.2971599Z             },
2026-06-06T06:43:03.2971976Z             {
2026-06-06T06:43:03.2972538Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2972946Z               "line": 154
2026-06-06T06:43:03.2973322Z             },
2026-06-06T06:43:03.2973701Z             {
2026-06-06T06:43:03.2974419Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2974961Z               "line": 173
2026-06-06T06:43:03.2975349Z             },
2026-06-06T06:43:03.2980147Z             {
2026-06-06T06:43:03.2980813Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2981239Z               "line": 200
2026-06-06T06:43:03.2981617Z             }
2026-06-06T06:43:03.2982002Z           ]
2026-06-06T06:43:03.2982374Z         },
2026-06-06T06:43:03.2982770Z         "int": {
2026-06-06T06:43:03.2983196Z           "complete": false,
2026-06-06T06:43:03.2983617Z           "evidence": []
2026-06-06T06:43:03.2983987Z         },
2026-06-06T06:43:03.2984389Z         "unit": {
2026-06-06T06:43:03.2984812Z           "complete": true,
2026-06-06T06:43:03.2985210Z           "evidence": [
2026-06-06T06:43:03.2985596Z             {
2026-06-06T06:43:03.2986163Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2986570Z               "line": 276
2026-06-06T06:43:03.2986953Z             },
2026-06-06T06:43:03.2987370Z             {
2026-06-06T06:43:03.2987966Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2988376Z               "line": 291
2026-06-06T06:43:03.2988756Z             },
2026-06-06T06:43:03.2989126Z             {
2026-06-06T06:43:03.2989755Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2990174Z               "line": 310
2026-06-06T06:43:03.2990550Z             },
2026-06-06T06:43:03.2990935Z             {
2026-06-06T06:43:03.2991495Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2991906Z               "line": 326
2026-06-06T06:43:03.2992281Z             },
2026-06-06T06:43:03.2992663Z             {
2026-06-06T06:43:03.2993225Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2993627Z               "line": 376
2026-06-06T06:43:03.2994009Z             },
2026-06-06T06:43:03.2994379Z             {
2026-06-06T06:43:03.2994953Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2995358Z               "line": 390
2026-06-06T06:43:03.2995755Z             },
2026-06-06T06:43:03.2996139Z             {
2026-06-06T06:43:03.2996699Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2997108Z               "line": 401
2026-06-06T06:43:03.2997482Z             },
2026-06-06T06:43:03.2997860Z             {
2026-06-06T06:43:03.2998412Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.2998833Z               "line": 412
2026-06-06T06:43:03.2999261Z             }
2026-06-06T06:43:03.2999635Z           ]
2026-06-06T06:43:03.3000015Z         }
2026-06-06T06:43:03.3000382Z       }
2026-06-06T06:43:03.3000755Z     },
2026-06-06T06:43:03.3001118Z     {
2026-06-06T06:43:03.3001695Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-06T06:43:03.3005330Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-06T06:43:03.3005784Z       "requiredStages": [
2026-06-06T06:43:03.3006179Z         "impl",
2026-06-06T06:43:03.3006559Z         "unit"
2026-06-06T06:43:03.3006938Z       ],
2026-06-06T06:43:03.3007324Z       "stages": {
2026-06-06T06:43:03.3007716Z         "doc": {
2026-06-06T06:43:03.3008145Z           "complete": false,
2026-06-06T06:43:03.3008556Z           "evidence": []
2026-06-06T06:43:03.3008942Z         },
2026-06-06T06:43:03.3009371Z         "impl": {
2026-06-06T06:43:03.3009805Z           "complete": true,
2026-06-06T06:43:03.3010206Z           "evidence": [
2026-06-06T06:43:03.3010589Z             {
2026-06-06T06:43:03.3011240Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3011635Z               "line": 27
2026-06-06T06:43:03.3012014Z             },
2026-06-06T06:43:03.3012387Z             {
2026-06-06T06:43:03.3013036Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3013720Z               "line": 110
2026-06-06T06:43:03.3014301Z             },
2026-06-06T06:43:03.3014681Z             {
2026-06-06T06:43:03.3015328Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3015734Z               "line": 153
2026-06-06T06:43:03.3016110Z             },
2026-06-06T06:43:03.3016493Z             {
2026-06-06T06:43:03.3017148Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3017554Z               "line": 182
2026-06-06T06:43:03.3017936Z             },
2026-06-06T06:43:03.3018310Z             {
2026-06-06T06:43:03.3019033Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3019476Z               "line": 31
2026-06-06T06:43:03.3019858Z             },
2026-06-06T06:43:03.3020233Z             {
2026-06-06T06:43:03.3020944Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3021353Z               "line": 113
2026-06-06T06:43:03.3021736Z             },
2026-06-06T06:43:03.3022121Z             {
2026-06-06T06:43:03.3022849Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3023258Z               "line": 138
2026-06-06T06:43:03.3023633Z             }
2026-06-06T06:43:03.3024004Z           ]
2026-06-06T06:43:03.3024383Z         },
2026-06-06T06:43:03.3024757Z         "int": {
2026-06-06T06:43:03.3025190Z           "complete": false,
2026-06-06T06:43:03.3025599Z           "evidence": []
2026-06-06T06:43:03.3025975Z         },
2026-06-06T06:43:03.3026360Z         "unit": {
2026-06-06T06:43:03.3026783Z           "complete": true,
2026-06-06T06:43:03.3027189Z           "evidence": [
2026-06-06T06:43:03.3027559Z             {
2026-06-06T06:43:03.3028207Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3028608Z               "line": 261
2026-06-06T06:43:03.3028992Z             },
2026-06-06T06:43:03.3029411Z             {
2026-06-06T06:43:03.3030064Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3030487Z               "line": 276
2026-06-06T06:43:03.3030861Z             },
2026-06-06T06:43:03.3031244Z             {
2026-06-06T06:43:03.3031892Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3032300Z               "line": 293
2026-06-06T06:43:03.3032683Z             },
2026-06-06T06:43:03.3033053Z             {
2026-06-06T06:43:03.3033703Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3034104Z               "line": 310
2026-06-06T06:43:03.3034485Z             },
2026-06-06T06:43:03.3034853Z             {
2026-06-06T06:43:03.3035502Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3035911Z               "line": 327
2026-06-06T06:43:03.3036286Z             },
2026-06-06T06:43:03.3036670Z             {
2026-06-06T06:43:03.3037310Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.3037740Z               "line": 366
2026-06-06T06:43:03.3038124Z             },
2026-06-06T06:43:03.3038506Z             {
2026-06-06T06:43:03.3039261Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3039678Z               "line": 179
2026-06-06T06:43:03.3040058Z             },
2026-06-06T06:43:03.3040430Z             {
2026-06-06T06:43:03.3041154Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3041562Z               "line": 194
2026-06-06T06:43:03.3041934Z             },
2026-06-06T06:43:03.3042316Z             {
2026-06-06T06:43:03.3043026Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3043433Z               "line": 204
2026-06-06T06:43:03.3043803Z             },
2026-06-06T06:43:03.3044182Z             {
2026-06-06T06:43:03.3044903Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3045308Z               "line": 259
2026-06-06T06:43:03.3045690Z             },
2026-06-06T06:43:03.3046214Z             {
2026-06-06T06:43:03.3047094Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3047502Z               "line": 269
2026-06-06T06:43:03.3047887Z             },
2026-06-06T06:43:03.3048253Z             {
2026-06-06T06:43:03.3048968Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.3049417Z               "line": 283
2026-06-06T06:43:03.3049794Z             }
2026-06-06T06:43:03.3050176Z           ]
2026-06-06T06:43:03.3050551Z         }
2026-06-06T06:43:03.3050927Z       }
2026-06-06T06:43:03.3051304Z     },
2026-06-06T06:43:03.3051681Z     {
2026-06-06T06:43:03.3052203Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-06T06:43:03.3053202Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-06T06:43:03.3053644Z       "requiredStages": [],
2026-06-06T06:43:03.3054040Z       "stages": {
2026-06-06T06:43:03.3054420Z         "doc": {
2026-06-06T06:43:03.3054860Z           "complete": false,
2026-06-06T06:43:03.3055274Z           "evidence": []
2026-06-06T06:43:03.3055655Z         },
2026-06-06T06:43:03.3060182Z         "impl": {
2026-06-06T06:43:03.3060697Z           "complete": false,
2026-06-06T06:43:03.3061113Z           "evidence": []
2026-06-06T06:43:03.3061504Z         },
2026-06-06T06:43:03.3061889Z         "int": {
2026-06-06T06:43:03.3062312Z           "complete": false,
2026-06-06T06:43:03.3062723Z           "evidence": []
2026-06-06T06:43:03.3063091Z         },
2026-06-06T06:43:03.3063477Z         "unit": {
2026-06-06T06:43:03.3063893Z           "complete": false,
2026-06-06T06:43:03.3064309Z           "evidence": []
2026-06-06T06:43:03.3064687Z         }
2026-06-06T06:43:03.3065052Z       }
2026-06-06T06:43:03.3065425Z     },
2026-06-06T06:43:03.3065789Z     {
2026-06-06T06:43:03.3066389Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-06T06:43:03.3078151Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-06T06:43:03.3078664Z       "requiredStages": [
2026-06-06T06:43:03.3079070Z         "impl",
2026-06-06T06:43:03.3079612Z         "unit"
2026-06-06T06:43:03.3079992Z       ],
2026-06-06T06:43:03.3080368Z       "stages": {
2026-06-06T06:43:03.3080750Z         "doc": {
2026-06-06T06:43:03.3081179Z           "complete": false,
2026-06-06T06:43:03.3081578Z           "evidence": []
2026-06-06T06:43:03.3081955Z         },
2026-06-06T06:43:03.3082328Z         "impl": {
2026-06-06T06:43:03.3082743Z           "complete": true,
2026-06-06T06:43:03.3083135Z           "evidence": [
2026-06-06T06:43:03.3083513Z             {
2026-06-06T06:43:03.3084113Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3084497Z               "line": 26
2026-06-06T06:43:03.3084873Z             },
2026-06-06T06:43:03.3085273Z             {
2026-06-06T06:43:03.3085872Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3086306Z               "line": 93
2026-06-06T06:43:03.3086671Z             },
2026-06-06T06:43:03.3087050Z             {
2026-06-06T06:43:03.3087633Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3088039Z               "line": 162
2026-06-06T06:43:03.3088405Z             },
2026-06-06T06:43:03.3088781Z             {
2026-06-06T06:43:03.3089400Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3089808Z               "line": 19
2026-06-06T06:43:03.3090187Z             },
2026-06-06T06:43:03.3090552Z             {
2026-06-06T06:43:03.3091127Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3091516Z               "line": 50
2026-06-06T06:43:03.3091892Z             },
2026-06-06T06:43:03.3092269Z             {
2026-06-06T06:43:03.3092791Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:43:03.3093533Z               "line": 18
2026-06-06T06:43:03.3094064Z             },
2026-06-06T06:43:03.3094438Z             {
2026-06-06T06:43:03.3094957Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:43:03.3095358Z               "line": 65
2026-06-06T06:43:03.3095734Z             },
2026-06-06T06:43:03.3096094Z             {
2026-06-06T06:43:03.3096645Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.3097042Z               "line": 70
2026-06-06T06:43:03.3097415Z             }
2026-06-06T06:43:03.3097772Z           ]
2026-06-06T06:43:03.3098147Z         },
2026-06-06T06:43:03.3098531Z         "int": {
2026-06-06T06:43:03.3098952Z           "complete": false,
2026-06-06T06:43:03.3099408Z           "evidence": []
2026-06-06T06:43:03.3099771Z         },
2026-06-06T06:43:03.3100151Z         "unit": {
2026-06-06T06:43:03.3100559Z           "complete": true,
2026-06-06T06:43:03.3100964Z           "evidence": [
2026-06-06T06:43:03.3101336Z             {
2026-06-06T06:43:03.3101935Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3102353Z               "line": 280
2026-06-06T06:43:03.3102721Z             },
2026-06-06T06:43:03.3103090Z             {
2026-06-06T06:43:03.3103673Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3104073Z               "line": 299
2026-06-06T06:43:03.3104445Z             },
2026-06-06T06:43:03.3104803Z             {
2026-06-06T06:43:03.3105389Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3105791Z               "line": 327
2026-06-06T06:43:03.3106164Z             },
2026-06-06T06:43:03.3106526Z             {
2026-06-06T06:43:03.3107118Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3107516Z               "line": 376
2026-06-06T06:43:03.3107877Z             },
2026-06-06T06:43:03.3108248Z             {
2026-06-06T06:43:03.3108821Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3109282Z               "line": 387
2026-06-06T06:43:03.3109665Z             },
2026-06-06T06:43:03.3110038Z             {
2026-06-06T06:43:03.3110621Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3111013Z               "line": 418
2026-06-06T06:43:03.3111386Z             },
2026-06-06T06:43:03.3111752Z             {
2026-06-06T06:43:03.3112341Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.3112739Z               "line": 429
2026-06-06T06:43:03.3113115Z             },
2026-06-06T06:43:03.3113483Z             {
2026-06-06T06:43:03.3114045Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3114445Z               "line": 77
2026-06-06T06:43:03.3114816Z             },
2026-06-06T06:43:03.3115186Z             {
2026-06-06T06:43:03.3115760Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3116153Z               "line": 95
2026-06-06T06:43:03.3116524Z             },
2026-06-06T06:43:03.3116881Z             {
2026-06-06T06:43:03.3117469Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3117879Z               "line": 106
2026-06-06T06:43:03.3118253Z             },
2026-06-06T06:43:03.3118622Z             {
2026-06-06T06:43:03.3119220Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3119629Z               "line": 117
2026-06-06T06:43:03.3120010Z             },
2026-06-06T06:43:03.3120383Z             {
2026-06-06T06:43:03.3120942Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3121340Z               "line": 124
2026-06-06T06:43:03.3121717Z             },
2026-06-06T06:43:03.3122084Z             {
2026-06-06T06:43:03.3122647Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:43:03.3123041Z               "line": 137
2026-06-06T06:43:03.3123413Z             },
2026-06-06T06:43:03.3123783Z             {
2026-06-06T06:43:03.3124309Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:43:03.3124890Z               "line": 106
2026-06-06T06:43:03.3125390Z             },
2026-06-06T06:43:03.3125767Z             {
2026-06-06T06:43:03.3126292Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:43:03.3126696Z               "line": 118
2026-06-06T06:43:03.3127064Z             },
2026-06-06T06:43:03.3127434Z             {
2026-06-06T06:43:03.3127984Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:43:03.3128381Z               "line": 336
2026-06-06T06:43:03.3128758Z             }
2026-06-06T06:43:03.3129120Z           ]
2026-06-06T06:43:03.3129592Z         }
2026-06-06T06:43:03.3129953Z       }
2026-06-06T06:43:03.3130317Z     },
2026-06-06T06:43:03.3130687Z     {
2026-06-06T06:43:03.3131211Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-06T06:43:03.3132590Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-06T06:43:03.3133008Z       "requiredStages": [
2026-06-06T06:43:03.3133392Z         "impl",
2026-06-06T06:43:03.3133779Z         "unit"
2026-06-06T06:43:03.3134167Z       ],
2026-06-06T06:43:03.3134552Z       "stages": {
2026-06-06T06:43:03.3134923Z         "doc": {
2026-06-06T06:43:03.3135339Z           "complete": true,
2026-06-06T06:43:03.3135733Z           "evidence": [
2026-06-06T06:43:03.3136109Z             {
2026-06-06T06:43:03.3136609Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:43:03.3137012Z               "line": 137
2026-06-06T06:43:03.3137384Z             }
2026-06-06T06:43:03.3137751Z           ]
2026-06-06T06:43:03.3138126Z         },
2026-06-06T06:43:03.3138512Z         "impl": {
2026-06-06T06:43:03.3138938Z           "complete": true,
2026-06-06T06:43:03.3139370Z           "evidence": [
2026-06-06T06:43:03.3139742Z             {
2026-06-06T06:43:03.3140267Z               "path": "crates/spt-store/src/db.rs",
2026-06-06T06:43:03.3140655Z               "line": 29
2026-06-06T06:43:03.3141031Z             },
2026-06-06T06:43:03.3146845Z             {
2026-06-06T06:43:03.3147549Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.3147971Z               "line": 101
2026-06-06T06:43:03.3148362Z             },
2026-06-06T06:43:03.3148737Z             {
2026-06-06T06:43:03.3149418Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3149828Z               "line": 30
2026-06-06T06:43:03.3150200Z             },
2026-06-06T06:43:03.3150576Z             {
2026-06-06T06:43:03.3151118Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.3151528Z               "line": 48
2026-06-06T06:43:03.3151909Z             }
2026-06-06T06:43:03.3152274Z           ]
2026-06-06T06:43:03.3152647Z         },
2026-06-06T06:43:03.3153016Z         "int": {
2026-06-06T06:43:03.3153441Z           "complete": false,
2026-06-06T06:43:03.3153838Z           "evidence": []
2026-06-06T06:43:03.3154216Z         },
2026-06-06T06:43:03.3154601Z         "unit": {
2026-06-06T06:43:03.3155007Z           "complete": true,
2026-06-06T06:43:03.3155423Z           "evidence": [
2026-06-06T06:43:03.3155789Z             {
2026-06-06T06:43:03.3156388Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3156783Z               "line": 152
2026-06-06T06:43:03.3157154Z             }
2026-06-06T06:43:03.3157529Z           ]
2026-06-06T06:43:03.3157898Z         }
2026-06-06T06:43:03.3158273Z       }
2026-06-06T06:43:03.3158633Z     },
2026-06-06T06:43:03.3158998Z     {
2026-06-06T06:43:03.3159559Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-06T06:43:03.3161518Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-06T06:43:03.3161962Z       "requiredStages": [
2026-06-06T06:43:03.3162326Z         "doc",
2026-06-06T06:43:03.3162705Z         "impl",
2026-06-06T06:43:03.3163077Z         "unit"
2026-06-06T06:43:03.3163445Z       ],
2026-06-06T06:43:03.3163825Z       "stages": {
2026-06-06T06:43:03.3164212Z         "doc": {
2026-06-06T06:43:03.3164927Z           "complete": true,
2026-06-06T06:43:03.3165495Z           "evidence": [
2026-06-06T06:43:03.3165867Z             {
2026-06-06T06:43:03.3166363Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:43:03.3166769Z               "line": 149
2026-06-06T06:43:03.3167136Z             }
2026-06-06T06:43:03.3167516Z           ]
2026-06-06T06:43:03.3167884Z         },
2026-06-06T06:43:03.3168256Z         "impl": {
2026-06-06T06:43:03.3168673Z           "complete": true,
2026-06-06T06:43:03.3169061Z           "evidence": [
2026-06-06T06:43:03.3169503Z             {
2026-06-06T06:43:03.3170077Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3170479Z               "line": 22
2026-06-06T06:43:03.3170850Z             }
2026-06-06T06:43:03.3171212Z           ]
2026-06-06T06:43:03.3171581Z         },
2026-06-06T06:43:03.3171949Z         "int": {
2026-06-06T06:43:03.3172377Z           "complete": false,
2026-06-06T06:43:03.3172776Z           "evidence": []
2026-06-06T06:43:03.3173165Z         },
2026-06-06T06:43:03.3173544Z         "unit": {
2026-06-06T06:43:03.3173961Z           "complete": true,
2026-06-06T06:43:03.3174361Z           "evidence": [
2026-06-06T06:43:03.3174726Z             {
2026-06-06T06:43:03.3175304Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3175694Z               "line": 257
2026-06-06T06:43:03.3176067Z             }
2026-06-06T06:43:03.3176435Z           ]
2026-06-06T06:43:03.3176794Z         }
2026-06-06T06:43:03.3177166Z       }
2026-06-06T06:43:03.3177521Z     },
2026-06-06T06:43:03.3177884Z     {
2026-06-06T06:43:03.3178426Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-06T06:43:03.3180700Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-06T06:43:03.3181133Z       "requiredStages": [
2026-06-06T06:43:03.3181507Z         "impl",
2026-06-06T06:43:03.3181883Z         "unit"
2026-06-06T06:43:03.3182263Z       ],
2026-06-06T06:43:03.3182652Z       "stages": {
2026-06-06T06:43:03.3183049Z         "doc": {
2026-06-06T06:43:03.3183462Z           "complete": true,
2026-06-06T06:43:03.3183868Z           "evidence": [
2026-06-06T06:43:03.3184238Z             {
2026-06-06T06:43:03.3184737Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:43:03.3185131Z               "line": 143
2026-06-06T06:43:03.3185504Z             }
2026-06-06T06:43:03.3185876Z           ]
2026-06-06T06:43:03.3186239Z         },
2026-06-06T06:43:03.3186627Z         "impl": {
2026-06-06T06:43:03.3187039Z           "complete": true,
2026-06-06T06:43:03.3187443Z           "evidence": [
2026-06-06T06:43:03.3187806Z             {
2026-06-06T06:43:03.3188398Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.3188797Z               "line": 172
2026-06-06T06:43:03.3189209Z             },
2026-06-06T06:43:03.3189584Z             {
2026-06-06T06:43:03.3190126Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:43:03.3190538Z               "line": 15
2026-06-06T06:43:03.3190914Z             }
2026-06-06T06:43:03.3191282Z           ]
2026-06-06T06:43:03.3191656Z         },
2026-06-06T06:43:03.3192034Z         "int": {
2026-06-06T06:43:03.3192454Z           "complete": false,
2026-06-06T06:43:03.3192852Z           "evidence": []
2026-06-06T06:43:03.3193223Z         },
2026-06-06T06:43:03.3193597Z         "unit": {
2026-06-06T06:43:03.3194008Z           "complete": true,
2026-06-06T06:43:03.3194414Z           "evidence": [
2026-06-06T06:43:03.3194781Z             {
2026-06-06T06:43:03.3195407Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-06T06:43:03.3195799Z               "line": 87
2026-06-06T06:43:03.3196173Z             },
2026-06-06T06:43:03.3196539Z             {
2026-06-06T06:43:03.3197127Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.3197532Z               "line": 644
2026-06-06T06:43:03.3197894Z             },
2026-06-06T06:43:03.3198461Z             {
2026-06-06T06:43:03.3199061Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.3199663Z               "line": 663
2026-06-06T06:43:03.3200032Z             },
2026-06-06T06:43:03.3200404Z             {
2026-06-06T06:43:03.3201015Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.3201417Z               "line": 148
2026-06-06T06:43:03.3201795Z             },
2026-06-06T06:43:03.3202164Z             {
2026-06-06T06:43:03.3202718Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:43:03.3203113Z               "line": 74
2026-06-06T06:43:03.3203493Z             },
2026-06-06T06:43:03.3203872Z             {
2026-06-06T06:43:03.3204417Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:43:03.3204813Z               "line": 88
2026-06-06T06:43:03.3205174Z             },
2026-06-06T06:43:03.3205548Z             {
2026-06-06T06:43:03.3206085Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:43:03.3206511Z               "line": 104
2026-06-06T06:43:03.3206894Z             }
2026-06-06T06:43:03.3207257Z           ]
2026-06-06T06:43:03.3207619Z         }
2026-06-06T06:43:03.3207975Z       }
2026-06-06T06:43:03.3208345Z     },
2026-06-06T06:43:03.3208704Z     {
2026-06-06T06:43:03.3209292Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-06T06:43:03.3210300Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-06T06:43:03.3210723Z       "requiredStages": [
2026-06-06T06:43:03.3211108Z         "impl",
2026-06-06T06:43:03.3211476Z         "unit"
2026-06-06T06:43:03.3211843Z       ],
2026-06-06T06:43:03.3212217Z       "stages": {
2026-06-06T06:43:03.3212599Z         "doc": {
2026-06-06T06:43:03.3213023Z           "complete": false,
2026-06-06T06:43:03.3213418Z           "evidence": []
2026-06-06T06:43:03.3213789Z         },
2026-06-06T06:43:03.3214161Z         "impl": {
2026-06-06T06:43:03.3214576Z           "complete": true,
2026-06-06T06:43:03.3214987Z           "evidence": [
2026-06-06T06:43:03.3215371Z             {
2026-06-06T06:43:03.3215933Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:43:03.3216320Z               "line": 15
2026-06-06T06:43:03.3216684Z             },
2026-06-06T06:43:03.3217042Z             {
2026-06-06T06:43:03.3217618Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3218009Z               "line": 55
2026-06-06T06:43:03.3222716Z             },
2026-06-06T06:43:03.3223173Z             {
2026-06-06T06:43:03.3223779Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3224191Z               "line": 62
2026-06-06T06:43:03.3224561Z             },
2026-06-06T06:43:03.3224932Z             {
2026-06-06T06:43:03.3225502Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3225912Z               "line": 107
2026-06-06T06:43:03.3226284Z             },
2026-06-06T06:43:03.3226648Z             {
2026-06-06T06:43:03.3227260Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3227669Z               "line": 128
2026-06-06T06:43:03.3228038Z             }
2026-06-06T06:43:03.3228395Z           ]
2026-06-06T06:43:03.3228771Z         },
2026-06-06T06:43:03.3229144Z         "int": {
2026-06-06T06:43:03.3229631Z           "complete": false,
2026-06-06T06:43:03.3230042Z           "evidence": []
2026-06-06T06:43:03.3230405Z         },
2026-06-06T06:43:03.3230788Z         "unit": {
2026-06-06T06:43:03.3231195Z           "complete": true,
2026-06-06T06:43:03.3231593Z           "evidence": [
2026-06-06T06:43:03.3231965Z             {
2026-06-06T06:43:03.3232496Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:43:03.3232893Z               "line": 145
2026-06-06T06:43:03.3233266Z             },
2026-06-06T06:43:03.3233634Z             {
2026-06-06T06:43:03.3234163Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:43:03.3234571Z               "line": 151
2026-06-06T06:43:03.3234942Z             },
2026-06-06T06:43:03.3235544Z             {
2026-06-06T06:43:03.3236225Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:43:03.3236619Z               "line": 162
2026-06-06T06:43:03.3236994Z             },
2026-06-06T06:43:03.3237356Z             {
2026-06-06T06:43:03.3237894Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:43:03.3238297Z               "line": 171
2026-06-06T06:43:03.3238666Z             },
2026-06-06T06:43:03.3239034Z             {
2026-06-06T06:43:03.3239660Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3240059Z               "line": 183
2026-06-06T06:43:03.3240431Z             },
2026-06-06T06:43:03.3240794Z             {
2026-06-06T06:43:03.3241373Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3241766Z               "line": 193
2026-06-06T06:43:03.3242140Z             },
2026-06-06T06:43:03.3242505Z             {
2026-06-06T06:43:03.3243096Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3243500Z               "line": 237
2026-06-06T06:43:03.3243880Z             },
2026-06-06T06:43:03.3244258Z             {
2026-06-06T06:43:03.3244827Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3245227Z               "line": 249
2026-06-06T06:43:03.3245590Z             },
2026-06-06T06:43:03.3245959Z             {
2026-06-06T06:43:03.3246533Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.3246925Z               "line": 275
2026-06-06T06:43:03.3247299Z             }
2026-06-06T06:43:03.3247660Z           ]
2026-06-06T06:43:03.3248029Z         }
2026-06-06T06:43:03.3248387Z       }
2026-06-06T06:43:03.3248751Z     },
2026-06-06T06:43:03.3249115Z     {
2026-06-06T06:43:03.3249676Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-06T06:43:03.3251113Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-06T06:43:03.3251535Z       "requiredStages": [
2026-06-06T06:43:03.3251928Z         "impl",
2026-06-06T06:43:03.3252311Z         "unit",
2026-06-06T06:43:03.3252688Z         "int"
2026-06-06T06:43:03.3253056Z       ],
2026-06-06T06:43:03.3253435Z       "stages": {
2026-06-06T06:43:03.3253807Z         "doc": {
2026-06-06T06:43:03.3254219Z           "complete": false,
2026-06-06T06:43:03.3254624Z           "evidence": []
2026-06-06T06:43:03.3254988Z         },
2026-06-06T06:43:03.3255370Z         "impl": {
2026-06-06T06:43:03.3255789Z           "complete": true,
2026-06-06T06:43:03.3256179Z           "evidence": [
2026-06-06T06:43:03.3256549Z             {
2026-06-06T06:43:03.3257099Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.3257506Z               "line": 249
2026-06-06T06:43:03.3257875Z             },
2026-06-06T06:43:03.3258252Z             {
2026-06-06T06:43:03.3258805Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.3259230Z               "line": 544
2026-06-06T06:43:03.3259606Z             },
2026-06-06T06:43:03.3259980Z             {
2026-06-06T06:43:03.3260553Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.3260947Z               "line": 567
2026-06-06T06:43:03.3261320Z             },
2026-06-06T06:43:03.3261690Z             {
2026-06-06T06:43:03.3262232Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.3262635Z               "line": 591
2026-06-06T06:43:03.3262996Z             },
2026-06-06T06:43:03.3263371Z             {
2026-06-06T06:43:03.3263935Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.3264347Z               "line": 477
2026-06-06T06:43:03.3264718Z             },
2026-06-06T06:43:03.3265076Z             {
2026-06-06T06:43:03.3265649Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.3266048Z               "line": 558
2026-06-06T06:43:03.3266423Z             },
2026-06-06T06:43:03.3266786Z             {
2026-06-06T06:43:03.3267516Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.3267942Z               "line": 660
2026-06-06T06:43:03.3268443Z             },
2026-06-06T06:43:03.3268813Z             {
2026-06-06T06:43:03.3269429Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.3269840Z               "line": 703
2026-06-06T06:43:03.3270211Z             },
2026-06-06T06:43:03.3270575Z             {
2026-06-06T06:43:03.3271149Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:43:03.3271541Z               "line": 46
2026-06-06T06:43:03.3271912Z             },
2026-06-06T06:43:03.3272274Z             {
2026-06-06T06:43:03.3272848Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:43:03.3273250Z               "line": 160
2026-06-06T06:43:03.3273614Z             },
2026-06-06T06:43:03.3273985Z             {
2026-06-06T06:43:03.3274515Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-06T06:43:03.3274911Z               "line": 71
2026-06-06T06:43:03.3275270Z             },
2026-06-06T06:43:03.3275655Z             {
2026-06-06T06:43:03.3276215Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.3276612Z               "line": 128
2026-06-06T06:43:03.3276990Z             },
2026-06-06T06:43:03.3277350Z             {
2026-06-06T06:43:03.3277915Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.3278352Z               "line": 174
2026-06-06T06:43:03.3278753Z             }
2026-06-06T06:43:03.3279117Z           ]
2026-06-06T06:43:03.3279527Z         },
2026-06-06T06:43:03.3279909Z         "int": {
2026-06-06T06:43:03.3280320Z           "complete": true,
2026-06-06T06:43:03.3280716Z           "evidence": [
2026-06-06T06:43:03.3281080Z             {
2026-06-06T06:43:03.3281716Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-06T06:43:03.3282117Z               "line": 27
2026-06-06T06:43:03.3282491Z             },
2026-06-06T06:43:03.3282875Z             {
2026-06-06T06:43:03.3283508Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:43:03.3283938Z               "line": 125
2026-06-06T06:43:03.3284314Z             },
2026-06-06T06:43:03.3284696Z             {
2026-06-06T06:43:03.3285325Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-06T06:43:03.3285724Z               "line": 189
2026-06-06T06:43:03.3286102Z             }
2026-06-06T06:43:03.3286457Z           ]
2026-06-06T06:43:03.3286821Z         },
2026-06-06T06:43:03.3287196Z         "unit": {
2026-06-06T06:43:03.3287611Z           "complete": true,
2026-06-06T06:43:03.3288003Z           "evidence": [
2026-06-06T06:43:03.3288368Z             {
2026-06-06T06:43:03.3288937Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:43:03.3289368Z               "line": 282
2026-06-06T06:43:03.3289747Z             },
2026-06-06T06:43:03.3290114Z             {
2026-06-06T06:43:03.3290683Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:43:03.3291078Z               "line": 300
2026-06-06T06:43:03.3291448Z             },
2026-06-06T06:43:03.3291828Z             {
2026-06-06T06:43:03.3292390Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:43:03.3296917Z               "line": 318
2026-06-06T06:43:03.3297376Z             },
2026-06-06T06:43:03.3297766Z             {
2026-06-06T06:43:03.3298374Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:43:03.3298770Z               "line": 221
2026-06-06T06:43:03.3299140Z             },
2026-06-06T06:43:03.3299596Z             {
2026-06-06T06:43:03.3300178Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-06T06:43:03.3300571Z               "line": 204
2026-06-06T06:43:03.3300946Z             },
2026-06-06T06:43:03.3301312Z             {
2026-06-06T06:43:03.3301873Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-06T06:43:03.3302268Z               "line": 182
2026-06-06T06:43:03.3302628Z             },
2026-06-06T06:43:03.3303002Z             {
2026-06-06T06:43:03.3303804Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.3304351Z               "line": 441
2026-06-06T06:43:03.3304733Z             },
2026-06-06T06:43:03.3305097Z             {
2026-06-06T06:43:03.3305646Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.3306039Z               "line": 465
2026-06-06T06:43:03.3306414Z             }
2026-06-06T06:43:03.3306783Z           ]
2026-06-06T06:43:03.3307138Z         }
2026-06-06T06:43:03.3307511Z       }
2026-06-06T06:43:03.3307866Z     },
2026-06-06T06:43:03.3308233Z     {
2026-06-06T06:43:03.3308768Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-06T06:43:03.3309797Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-06T06:43:03.3310236Z       "requiredStages": [
2026-06-06T06:43:03.3310610Z         "impl",
2026-06-06T06:43:03.3310985Z         "unit"
2026-06-06T06:43:03.3311344Z       ],
2026-06-06T06:43:03.3311728Z       "stages": {
2026-06-06T06:43:03.3312094Z         "doc": {
2026-06-06T06:43:03.3312533Z           "complete": false,
2026-06-06T06:43:03.3312947Z           "evidence": []
2026-06-06T06:43:03.3313309Z         },
2026-06-06T06:43:03.3313688Z         "impl": {
2026-06-06T06:43:03.3314096Z           "complete": true,
2026-06-06T06:43:03.3314495Z           "evidence": [
2026-06-06T06:43:03.3314862Z             {
2026-06-06T06:43:03.3315485Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.3315884Z               "line": 56
2026-06-06T06:43:03.3316247Z             },
2026-06-06T06:43:03.3316613Z             {
2026-06-06T06:43:03.3317228Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.3317622Z               "line": 65
2026-06-06T06:43:03.3317979Z             },
2026-06-06T06:43:03.3318348Z             {
2026-06-06T06:43:03.3318977Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.3319408Z               "line": 72
2026-06-06T06:43:03.3319778Z             },
2026-06-06T06:43:03.3320150Z             {
2026-06-06T06:43:03.3320694Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3321087Z               "line": 33
2026-06-06T06:43:03.3321452Z             },
2026-06-06T06:43:03.3321823Z             {
2026-06-06T06:43:03.3322357Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3322773Z               "line": 61
2026-06-06T06:43:03.3323193Z             },
2026-06-06T06:43:03.3323589Z             {
2026-06-06T06:43:03.3324136Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3324535Z               "line": 70
2026-06-06T06:43:03.3324909Z             },
2026-06-06T06:43:03.3325271Z             {
2026-06-06T06:43:03.3325813Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3326200Z               "line": 79
2026-06-06T06:43:03.3326574Z             },
2026-06-06T06:43:03.3326934Z             {
2026-06-06T06:43:03.3327480Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3327884Z               "line": 88
2026-06-06T06:43:03.3328261Z             },
2026-06-06T06:43:03.3328634Z             {
2026-06-06T06:43:03.3329216Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3329636Z               "line": 97
2026-06-06T06:43:03.3330012Z             },
2026-06-06T06:43:03.3330383Z             {
2026-06-06T06:43:03.3330933Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3331325Z               "line": 105
2026-06-06T06:43:03.3331703Z             },
2026-06-06T06:43:03.3332061Z             {
2026-06-06T06:43:03.3332601Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3332995Z               "line": 114
2026-06-06T06:43:03.3333376Z             },
2026-06-06T06:43:03.3333742Z             {
2026-06-06T06:43:03.3334282Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3334685Z               "line": 123
2026-06-06T06:43:03.3335049Z             },
2026-06-06T06:43:03.3335416Z             {
2026-06-06T06:43:03.3336172Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3336721Z               "line": 130
2026-06-06T06:43:03.3337094Z             },
2026-06-06T06:43:03.3337456Z             {
2026-06-06T06:43:03.3337996Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3338387Z               "line": 137
2026-06-06T06:43:03.3338762Z             },
2026-06-06T06:43:03.3339133Z             {
2026-06-06T06:43:03.3339725Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3340128Z               "line": 145
2026-06-06T06:43:03.3340491Z             },
2026-06-06T06:43:03.3340860Z             {
2026-06-06T06:43:03.3341398Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3341805Z               "line": 154
2026-06-06T06:43:03.3342177Z             },
2026-06-06T06:43:03.3342543Z             {
2026-06-06T06:43:03.3343086Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3343494Z               "line": 163
2026-06-06T06:43:03.3343867Z             },
2026-06-06T06:43:03.3344246Z             {
2026-06-06T06:43:03.3344812Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3345227Z               "line": 172
2026-06-06T06:43:03.3345593Z             },
2026-06-06T06:43:03.3345965Z             {
2026-06-06T06:43:03.3346499Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3346894Z               "line": 184
2026-06-06T06:43:03.3347253Z             },
2026-06-06T06:43:03.3347619Z             {
2026-06-06T06:43:03.3348165Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3348561Z               "line": 191
2026-06-06T06:43:03.3348927Z             },
2026-06-06T06:43:03.3349323Z             {
2026-06-06T06:43:03.3349874Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3350275Z               "line": 200
2026-06-06T06:43:03.3350648Z             },
2026-06-06T06:43:03.3351031Z             {
2026-06-06T06:43:03.3351588Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3352006Z               "line": 207
2026-06-06T06:43:03.3352375Z             },
2026-06-06T06:43:03.3352748Z             {
2026-06-06T06:43:03.3353286Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3353691Z               "line": 274
2026-06-06T06:43:03.3354060Z             },
2026-06-06T06:43:03.3354418Z             {
2026-06-06T06:43:03.3354967Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3355359Z               "line": 286
2026-06-06T06:43:03.3355726Z             },
2026-06-06T06:43:03.3356090Z             {
2026-06-06T06:43:03.3356642Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3357043Z               "line": 373
2026-06-06T06:43:03.3357405Z             }
2026-06-06T06:43:03.3357776Z           ]
2026-06-06T06:43:03.3358141Z         },
2026-06-06T06:43:03.3358522Z         "int": {
2026-06-06T06:43:03.3358953Z           "complete": false,
2026-06-06T06:43:03.3359443Z           "evidence": []
2026-06-06T06:43:03.3360020Z         },
2026-06-06T06:43:03.3360791Z         "unit": {
2026-06-06T06:43:03.3361289Z           "complete": true,
2026-06-06T06:43:03.3361880Z           "evidence": [
2026-06-06T06:43:03.3362262Z             {
2026-06-06T06:43:03.3362807Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3363218Z               "line": 443
2026-06-06T06:43:03.3363595Z             },
2026-06-06T06:43:03.3363957Z             {
2026-06-06T06:43:03.3364504Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3364903Z               "line": 469
2026-06-06T06:43:03.3365280Z             },
2026-06-06T06:43:03.3365639Z             {
2026-06-06T06:43:03.3366186Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3366590Z               "line": 482
2026-06-06T06:43:03.3366950Z             },
2026-06-06T06:43:03.3372137Z             {
2026-06-06T06:43:03.3373096Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3373670Z               "line": 547
2026-06-06T06:43:03.3374047Z             }
2026-06-06T06:43:03.3374414Z           ]
2026-06-06T06:43:03.3374780Z         }
2026-06-06T06:43:03.3375142Z       }
2026-06-06T06:43:03.3375510Z     },
2026-06-06T06:43:03.3375866Z     {
2026-06-06T06:43:03.3376344Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-06T06:43:03.3377362Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-06T06:43:03.3377789Z       "requiredStages": [
2026-06-06T06:43:03.3378178Z         "impl",
2026-06-06T06:43:03.3378552Z         "unit"
2026-06-06T06:43:03.3378932Z       ],
2026-06-06T06:43:03.3379564Z       "stages": {
2026-06-06T06:43:03.3380154Z         "doc": {
2026-06-06T06:43:03.3380591Z           "complete": false,
2026-06-06T06:43:03.3381000Z           "evidence": []
2026-06-06T06:43:03.3381376Z         },
2026-06-06T06:43:03.3381768Z         "impl": {
2026-06-06T06:43:03.3382206Z           "complete": true,
2026-06-06T06:43:03.3382612Z           "evidence": [
2026-06-06T06:43:03.3383004Z             {
2026-06-06T06:43:03.3383550Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.3383955Z               "line": 132
2026-06-06T06:43:03.3384341Z             },
2026-06-06T06:43:03.3384718Z             {
2026-06-06T06:43:03.3385306Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.3385715Z               "line": 145
2026-06-06T06:43:03.3386093Z             }
2026-06-06T06:43:03.3386475Z           ]
2026-06-06T06:43:03.3386849Z         },
2026-06-06T06:43:03.3387234Z         "int": {
2026-06-06T06:43:03.3387653Z           "complete": false,
2026-06-06T06:43:03.3388071Z           "evidence": []
2026-06-06T06:43:03.3388445Z         },
2026-06-06T06:43:03.3388823Z         "unit": {
2026-06-06T06:43:03.3389291Z           "complete": true,
2026-06-06T06:43:03.3390033Z           "evidence": [
2026-06-06T06:43:03.3390407Z             {
2026-06-06T06:43:03.3390944Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.3391356Z               "line": 250
2026-06-06T06:43:03.3391725Z             },
2026-06-06T06:43:03.3392093Z             {
2026-06-06T06:43:03.3392667Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.3393061Z               "line": 512
2026-06-06T06:43:03.3393434Z             },
2026-06-06T06:43:03.3393797Z             {
2026-06-06T06:43:03.3394368Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.3394766Z               "line": 522
2026-06-06T06:43:03.3395144Z             }
2026-06-06T06:43:03.3395514Z           ]
2026-06-06T06:43:03.3395874Z         }
2026-06-06T06:43:03.3396236Z       }
2026-06-06T06:43:03.3396590Z     },
2026-06-06T06:43:03.3396953Z     {
2026-06-06T06:43:03.3397447Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-06T06:43:03.3398102Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-06T06:43:03.3398526Z       "requiredStages": [
2026-06-06T06:43:03.3398913Z         "impl",
2026-06-06T06:43:03.3399334Z         "unit"
2026-06-06T06:43:03.3399881Z       ],
2026-06-06T06:43:03.3400284Z       "stages": {
2026-06-06T06:43:03.3400677Z         "doc": {
2026-06-06T06:43:03.3401112Z           "complete": false,
2026-06-06T06:43:03.3401528Z           "evidence": []
2026-06-06T06:43:03.3401907Z         },
2026-06-06T06:43:03.3402302Z         "impl": {
2026-06-06T06:43:03.3402735Z           "complete": true,
2026-06-06T06:43:03.3403148Z           "evidence": [
2026-06-06T06:43:03.3403552Z             {
2026-06-06T06:43:03.3404213Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.3404691Z               "line": 54
2026-06-06T06:43:03.3405129Z             },
2026-06-06T06:43:03.3405590Z             {
2026-06-06T06:43:03.3406298Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.3407975Z               "line": 393
2026-06-06T06:43:03.3409141Z             }
2026-06-06T06:43:03.3410325Z           ]
2026-06-06T06:43:03.3411421Z         },
2026-06-06T06:43:03.3412538Z         "int": {
2026-06-06T06:43:03.3413628Z           "complete": false,
2026-06-06T06:43:03.3415151Z           "evidence": []
2026-06-06T06:43:03.3416404Z         },
2026-06-06T06:43:03.3417406Z         "unit": {
2026-06-06T06:43:03.3418453Z           "complete": true,
2026-06-06T06:43:03.3420266Z           "evidence": [
2026-06-06T06:43:03.3421543Z             {
2026-06-06T06:43:03.3422675Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.3424475Z               "line": 425
2026-06-06T06:43:03.3425802Z             }
2026-06-06T06:43:03.3426697Z           ]
2026-06-06T06:43:03.3428182Z         }
2026-06-06T06:43:03.3429407Z       }
2026-06-06T06:43:03.3430370Z     },
2026-06-06T06:43:03.3431399Z     {
2026-06-06T06:43:03.3432607Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-06T06:43:03.3434686Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-06T06:43:03.3436870Z       "requiredStages": [
2026-06-06T06:43:03.3438180Z         "impl",
2026-06-06T06:43:03.3439123Z         "unit"
2026-06-06T06:43:03.3440415Z       ],
2026-06-06T06:43:03.3441284Z       "stages": {
2026-06-06T06:43:03.3442222Z         "doc": {
2026-06-06T06:43:03.3443187Z           "complete": false,
2026-06-06T06:43:03.3444300Z           "evidence": []
2026-06-06T06:43:03.3445312Z         },
2026-06-06T06:43:03.3446549Z         "impl": {
2026-06-06T06:43:03.3447511Z           "complete": true,
2026-06-06T06:43:03.3448588Z           "evidence": [
2026-06-06T06:43:03.3449602Z             {
2026-06-06T06:43:03.3457195Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.3458753Z               "line": 432
2026-06-06T06:43:03.3459887Z             },
2026-06-06T06:43:03.3460779Z             {
2026-06-06T06:43:03.3461842Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.3463215Z               "line": 28
2026-06-06T06:43:03.3464233Z             }
2026-06-06T06:43:03.3465143Z           ]
2026-06-06T06:43:03.3465996Z         },
2026-06-06T06:43:03.3466864Z         "int": {
2026-06-06T06:43:03.3467823Z           "complete": false,
2026-06-06T06:43:03.3468916Z           "evidence": []
2026-06-06T06:43:03.3469966Z         },
2026-06-06T06:43:03.3470822Z         "unit": {
2026-06-06T06:43:03.3471771Z           "complete": true,
2026-06-06T06:43:03.3472850Z           "evidence": [
2026-06-06T06:43:03.3473838Z             {
2026-06-06T06:43:03.3474898Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.3476267Z               "line": 200
2026-06-06T06:43:03.3477268Z             }
2026-06-06T06:43:03.3478148Z           ]
2026-06-06T06:43:03.3479002Z         }
2026-06-06T06:43:03.3479879Z       }
2026-06-06T06:43:03.3480702Z     },
2026-06-06T06:43:03.3481536Z     {
2026-06-06T06:43:03.3482490Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-06T06:43:03.3484027Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-06T06:43:03.3485556Z       "requiredStages": [],
2026-06-06T06:43:03.3486637Z       "stages": {
2026-06-06T06:43:03.3487578Z         "doc": {
2026-06-06T06:43:03.3488533Z           "complete": false,
2026-06-06T06:43:03.3489675Z           "evidence": []
2026-06-06T06:43:03.3490690Z         },
2026-06-06T06:43:03.3491547Z         "impl": {
2026-06-06T06:43:03.3492512Z           "complete": false,
2026-06-06T06:43:03.3493602Z           "evidence": []
2026-06-06T06:43:03.3494613Z         },
2026-06-06T06:43:03.3495461Z         "int": {
2026-06-06T06:43:03.3496405Z           "complete": false,
2026-06-06T06:43:03.3497499Z           "evidence": []
2026-06-06T06:43:03.3498493Z         },
2026-06-06T06:43:03.3499391Z         "unit": {
2026-06-06T06:43:03.3500355Z           "complete": false,
2026-06-06T06:43:03.3501448Z           "evidence": []
2026-06-06T06:43:03.3502454Z         }
2026-06-06T06:43:03.3503281Z       }
2026-06-06T06:43:03.3504096Z     },
2026-06-06T06:43:03.3504910Z     {
2026-06-06T06:43:03.3506293Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-06T06:43:03.3508003Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-06T06:43:03.3509991Z       "requiredStages": [
2026-06-06T06:43:03.3511053Z         "impl",
2026-06-06T06:43:03.3511970Z         "unit"
2026-06-06T06:43:03.3512878Z       ],
2026-06-06T06:43:03.3513749Z       "stages": {
2026-06-06T06:43:03.3514688Z         "doc": {
2026-06-06T06:43:03.3515664Z           "complete": false,
2026-06-06T06:43:03.3516790Z           "evidence": []
2026-06-06T06:43:03.3517819Z         },
2026-06-06T06:43:03.3518708Z         "impl": {
2026-06-06T06:43:03.3519721Z           "complete": true,
2026-06-06T06:43:03.3520820Z           "evidence": [
2026-06-06T06:43:03.3521827Z             {
2026-06-06T06:43:03.3522876Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:43:03.3524224Z               "line": 19
2026-06-06T06:43:03.3525236Z             },
2026-06-06T06:43:03.3526136Z             {
2026-06-06T06:43:03.3527271Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.3528808Z               "line": 325
2026-06-06T06:43:03.3530270Z             },
2026-06-06T06:43:03.3531194Z             {
2026-06-06T06:43:03.3532301Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.3533730Z               "line": 361
2026-06-06T06:43:03.3534745Z             },
2026-06-06T06:43:03.3535652Z             {
2026-06-06T06:43:03.3536737Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:43:03.3538126Z               "line": 15
2026-06-06T06:43:03.3539136Z             },
2026-06-06T06:43:03.3540092Z             {
2026-06-06T06:43:03.3541154Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:43:03.3542665Z               "line": 48
2026-06-06T06:43:03.3544103Z             },
2026-06-06T06:43:03.3550937Z             {
2026-06-06T06:43:03.3552067Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:43:03.3553467Z               "line": 106
2026-06-06T06:43:03.3554524Z             }
2026-06-06T06:43:03.3555431Z           ]
2026-06-06T06:43:03.3556314Z         },
2026-06-06T06:43:03.3557180Z         "int": {
2026-06-06T06:43:03.3558155Z           "complete": false,
2026-06-06T06:43:03.3559328Z           "evidence": []
2026-06-06T06:43:03.3560353Z         },
2026-06-06T06:43:03.3561227Z         "unit": {
2026-06-06T06:43:03.3562211Z           "complete": true,
2026-06-06T06:43:03.3563299Z           "evidence": [
2026-06-06T06:43:03.3564292Z             {
2026-06-06T06:43:03.3565394Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.3566817Z               "line": 453
2026-06-06T06:43:03.3567848Z             },
2026-06-06T06:43:03.3568753Z             {
2026-06-06T06:43:03.3569866Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:43:03.3571267Z               "line": 149
2026-06-06T06:43:03.3572288Z             },
2026-06-06T06:43:03.3573176Z             {
2026-06-06T06:43:03.3574257Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:43:03.3575650Z               "line": 156
2026-06-06T06:43:03.3576690Z             }
2026-06-06T06:43:03.3577574Z           ]
2026-06-06T06:43:03.3578433Z         }
2026-06-06T06:43:03.3579331Z       }
2026-06-06T06:43:03.3580175Z     },
2026-06-06T06:43:03.3581008Z     {
2026-06-06T06:43:03.3582003Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-06T06:43:03.3583653Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-06T06:43:03.3585305Z       "requiredStages": [
2026-06-06T06:43:03.3586371Z         "impl",
2026-06-06T06:43:03.3587292Z         "unit"
2026-06-06T06:43:03.3588187Z       ],
2026-06-06T06:43:03.3589055Z       "stages": {
2026-06-06T06:43:03.3590032Z         "doc": {
2026-06-06T06:43:03.3590999Z           "complete": false,
2026-06-06T06:43:03.3592109Z           "evidence": []
2026-06-06T06:43:03.3593121Z         },
2026-06-06T06:43:03.3593992Z         "impl": {
2026-06-06T06:43:03.3594963Z           "complete": true,
2026-06-06T06:43:03.3596345Z           "evidence": [
2026-06-06T06:43:03.3597519Z             {
2026-06-06T06:43:03.3598596Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.3600070Z               "line": 35
2026-06-06T06:43:03.3601082Z             }
2026-06-06T06:43:03.3601972Z           ]
2026-06-06T06:43:03.3602835Z         },
2026-06-06T06:43:03.3603700Z         "int": {
2026-06-06T06:43:03.3604669Z           "complete": false,
2026-06-06T06:43:03.3605794Z           "evidence": []
2026-06-06T06:43:03.3606828Z         },
2026-06-06T06:43:03.3607697Z         "unit": {
2026-06-06T06:43:03.3608665Z           "complete": true,
2026-06-06T06:43:03.3609785Z           "evidence": [
2026-06-06T06:43:03.3610776Z             {
2026-06-06T06:43:03.3611846Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:43:03.3613229Z               "line": 217
2026-06-06T06:43:03.3614244Z             }
2026-06-06T06:43:03.3615131Z           ]
2026-06-06T06:43:03.3616008Z         }
2026-06-06T06:43:03.3616879Z       }
2026-06-06T06:43:03.3617704Z     },
2026-06-06T06:43:03.3618556Z     {
2026-06-06T06:43:03.3619551Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-06T06:43:03.3621845Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-06T06:43:03.3624139Z       "requiredStages": [
2026-06-06T06:43:03.3625186Z         "impl",
2026-06-06T06:43:03.3626119Z         "unit"
2026-06-06T06:43:03.3627016Z       ],
2026-06-06T06:43:03.3627863Z       "stages": {
2026-06-06T06:43:03.3628800Z         "doc": {
2026-06-06T06:43:03.3629800Z           "complete": false,
2026-06-06T06:43:03.3630921Z           "evidence": []
2026-06-06T06:43:03.3631935Z         },
2026-06-06T06:43:03.3632817Z         "impl": {
2026-06-06T06:43:03.3633791Z           "complete": true,
2026-06-06T06:43:03.3634875Z           "evidence": [
2026-06-06T06:43:03.3635865Z             {
2026-06-06T06:43:03.3637062Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.3644118Z               "line": 256
2026-06-06T06:43:03.3645224Z             },
2026-06-06T06:43:03.3646128Z             {
2026-06-06T06:43:03.3647236Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.3648650Z               "line": 275
2026-06-06T06:43:03.3649803Z             },
2026-06-06T06:43:03.3650727Z             {
2026-06-06T06:43:03.3651829Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.3653239Z               "line": 150
2026-06-06T06:43:03.3654240Z             }
2026-06-06T06:43:03.3655125Z           ]
2026-06-06T06:43:03.3655973Z         },
2026-06-06T06:43:03.3656817Z         "int": {
2026-06-06T06:43:03.3657785Z           "complete": false,
2026-06-06T06:43:03.3658911Z           "evidence": []
2026-06-06T06:43:03.3659980Z         },
2026-06-06T06:43:03.3660851Z         "unit": {
2026-06-06T06:43:03.3661825Z           "complete": true,
2026-06-06T06:43:03.3662910Z           "evidence": [
2026-06-06T06:43:03.3663906Z             {
2026-06-06T06:43:03.3665010Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.3666438Z               "line": 544
2026-06-06T06:43:03.3667470Z             },
2026-06-06T06:43:03.3668369Z             {
2026-06-06T06:43:03.3669518Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.3670934Z               "line": 555
2026-06-06T06:43:03.3671954Z             },
2026-06-06T06:43:03.3672856Z             {
2026-06-06T06:43:03.3673946Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.3675359Z               "line": 571
2026-06-06T06:43:03.3676381Z             },
2026-06-06T06:43:03.3677286Z             {
2026-06-06T06:43:03.3678374Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.3679826Z               "line": 585
2026-06-06T06:43:03.3680856Z             },
2026-06-06T06:43:03.3681754Z             {
2026-06-06T06:43:03.3682892Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:43:03.3684601Z               "line": 268
2026-06-06T06:43:03.3685826Z             }
2026-06-06T06:43:03.3686726Z           ]
2026-06-06T06:43:03.3687587Z         }
2026-06-06T06:43:03.3688430Z       }
2026-06-06T06:43:03.3689320Z     },
2026-06-06T06:43:03.3690175Z     {
2026-06-06T06:43:03.3691132Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-06T06:43:03.3696555Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-06T06:43:03.3701781Z       "requiredStages": [
2026-06-06T06:43:03.3702832Z         "doc",
2026-06-06T06:43:03.3703740Z         "impl",
2026-06-06T06:43:03.3704662Z         "unit"
2026-06-06T06:43:03.3705560Z       ],
2026-06-06T06:43:03.3706422Z       "stages": {
2026-06-06T06:43:03.3707356Z         "doc": {
2026-06-06T06:43:03.3708317Z           "complete": true,
2026-06-06T06:43:03.3709478Z           "evidence": [
2026-06-06T06:43:03.3710505Z             {
2026-06-06T06:43:03.3711526Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:43:03.3712850Z               "line": 266
2026-06-06T06:43:03.3713867Z             }
2026-06-06T06:43:03.3714758Z           ]
2026-06-06T06:43:03.3715618Z         },
2026-06-06T06:43:03.3716493Z         "impl": {
2026-06-06T06:43:03.3717473Z           "complete": true,
2026-06-06T06:43:03.3718545Z           "evidence": [
2026-06-06T06:43:03.3719584Z             {
2026-06-06T06:43:03.3720679Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.3722073Z               "line": 85
2026-06-06T06:43:03.3723078Z             },
2026-06-06T06:43:03.3723973Z             {
2026-06-06T06:43:03.3725061Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:43:03.3726454Z               "line": 99
2026-06-06T06:43:03.3727464Z             },
2026-06-06T06:43:03.3728364Z             {
2026-06-06T06:43:03.3729528Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.3730969Z               "line": 55
2026-06-06T06:43:03.3731985Z             },
2026-06-06T06:43:03.3732885Z             {
2026-06-06T06:43:03.3733973Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.3735386Z               "line": 31
2026-06-06T06:43:03.3736392Z             },
2026-06-06T06:43:03.3737285Z             {
2026-06-06T06:43:03.3743994Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.3745586Z               "line": 187
2026-06-06T06:43:03.3746624Z             },
2026-06-06T06:43:03.3747521Z             {
2026-06-06T06:43:03.3748632Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.3750148Z               "line": 89
2026-06-06T06:43:03.3751156Z             },
2026-06-06T06:43:03.3752068Z             {
2026-06-06T06:43:03.3753194Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.3754608Z               "line": 29
2026-06-06T06:43:03.3755643Z             },
2026-06-06T06:43:03.3756561Z             {
2026-06-06T06:43:03.3757673Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.3759092Z               "line": 75
2026-06-06T06:43:03.3760156Z             },
2026-06-06T06:43:03.3761053Z             {
2026-06-06T06:43:03.3762204Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.3763663Z               "line": 145
2026-06-06T06:43:03.3764676Z             },
2026-06-06T06:43:03.3765572Z             {
2026-06-06T06:43:03.3766669Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:43:03.3768081Z               "line": 28
2026-06-06T06:43:03.3769097Z             },
2026-06-06T06:43:03.3770029Z             {
2026-06-06T06:43:03.3771138Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:43:03.3772549Z               "line": 74
2026-06-06T06:43:03.3773554Z             },
2026-06-06T06:43:03.3774453Z             {
2026-06-06T06:43:03.3775769Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.3777294Z               "line": 40
2026-06-06T06:43:03.3778313Z             },
2026-06-06T06:43:03.3779268Z             {
2026-06-06T06:43:03.3780663Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.3782042Z               "line": 161
2026-06-06T06:43:03.3783052Z             },
2026-06-06T06:43:03.3783934Z             {
2026-06-06T06:43:03.3784953Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-06T06:43:03.3786304Z               "line": 70
2026-06-06T06:43:03.3787313Z             },
2026-06-06T06:43:03.3788213Z             {
2026-06-06T06:43:03.3789323Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.3790711Z               "line": 210
2026-06-06T06:43:03.3791729Z             },
2026-06-06T06:43:03.3792623Z             {
2026-06-06T06:43:03.3793677Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:43:03.3795038Z               "line": 37
2026-06-06T06:43:03.3796054Z             },
2026-06-06T06:43:03.3796948Z             {
2026-06-06T06:43:03.3798022Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:43:03.3799475Z               "line": 38
2026-06-06T06:43:03.3800486Z             },
2026-06-06T06:43:03.3801388Z             {
2026-06-06T06:43:03.3802465Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:43:03.3803869Z               "line": 36
2026-06-06T06:43:03.3804873Z             },
2026-06-06T06:43:03.3805761Z             {
2026-06-06T06:43:03.3806813Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:43:03.3808188Z               "line": 40
2026-06-06T06:43:03.3809242Z             }
2026-06-06T06:43:03.3810134Z           ]
2026-06-06T06:43:03.3810993Z         },
2026-06-06T06:43:03.3811942Z         "int": {
2026-06-06T06:43:03.3812960Z           "complete": false,
2026-06-06T06:43:03.3814081Z           "evidence": []
2026-06-06T06:43:03.3815081Z         },
2026-06-06T06:43:03.3815936Z         "unit": {
2026-06-06T06:43:03.3816895Z           "complete": true,
2026-06-06T06:43:03.3817987Z           "evidence": [
2026-06-06T06:43:03.3818976Z             {
2026-06-06T06:43:03.3820164Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.3821603Z               "line": 179
2026-06-06T06:43:03.3822634Z             },
2026-06-06T06:43:03.3823530Z             {
2026-06-06T06:43:03.3824702Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-06T06:43:03.3826179Z               "line": 117
2026-06-06T06:43:03.3827207Z             },
2026-06-06T06:43:03.3828109Z             {
2026-06-06T06:43:03.3829298Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:43:03.3830758Z               "line": 344
2026-06-06T06:43:03.3831774Z             },
2026-06-06T06:43:03.3832672Z             {
2026-06-06T06:43:03.3833754Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:43:03.3840653Z               "line": 204
2026-06-06T06:43:03.3841859Z             },
2026-06-06T06:43:03.3842779Z             {
2026-06-06T06:43:03.3843885Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-06T06:43:03.3845306Z               "line": 147
2026-06-06T06:43:03.3846341Z             },
2026-06-06T06:43:03.3847246Z             {
2026-06-06T06:43:03.3848346Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:43:03.3849794Z               "line": 106
2026-06-06T06:43:03.3850821Z             },
2026-06-06T06:43:03.3851729Z             {
2026-06-06T06:43:03.3852797Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:43:03.3854170Z               "line": 142
2026-06-06T06:43:03.3855188Z             },
2026-06-06T06:43:03.3856087Z             {
2026-06-06T06:43:03.3857182Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:43:03.3858578Z               "line": 139
2026-06-06T06:43:03.3859664Z             },
2026-06-06T06:43:03.3860602Z             {
2026-06-06T06:43:03.3861964Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:43:03.3863604Z               "line": 126
2026-06-06T06:43:03.3864629Z             },
2026-06-06T06:43:03.3865525Z             {
2026-06-06T06:43:03.3866589Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:43:03.3867963Z               "line": 135
2026-06-06T06:43:03.3868971Z             }
2026-06-06T06:43:03.3869927Z           ]
2026-06-06T06:43:03.3870798Z         }
2026-06-06T06:43:03.3871657Z       }
2026-06-06T06:43:03.3872484Z     },
2026-06-06T06:43:03.3873317Z     {
2026-06-06T06:43:03.3874305Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-06T06:43:03.3876029Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-06T06:43:03.3877704Z       "requiredStages": [
2026-06-06T06:43:03.3878757Z         "impl",
2026-06-06T06:43:03.3879717Z         "unit"
2026-06-06T06:43:03.3880614Z       ],
2026-06-06T06:43:03.3881472Z       "stages": {
2026-06-06T06:43:03.3882397Z         "doc": {
2026-06-06T06:43:03.3883377Z           "complete": false,
2026-06-06T06:43:03.3884499Z           "evidence": []
2026-06-06T06:43:03.3885510Z         },
2026-06-06T06:43:03.3886382Z         "impl": {
2026-06-06T06:43:03.3887360Z           "complete": true,
2026-06-06T06:43:03.3888428Z           "evidence": [
2026-06-06T06:43:03.3889469Z             {
2026-06-06T06:43:03.3890539Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.3891901Z               "line": 95
2026-06-06T06:43:03.3892919Z             },
2026-06-06T06:43:03.3893826Z             {
2026-06-06T06:43:03.3894875Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.3896242Z               "line": 99
2026-06-06T06:43:03.3897264Z             }
2026-06-06T06:43:03.3898155Z           ]
2026-06-06T06:43:03.3899011Z         },
2026-06-06T06:43:03.3899914Z         "int": {
2026-06-06T06:43:03.3900874Z           "complete": false,
2026-06-06T06:43:03.3901974Z           "evidence": []
2026-06-06T06:43:03.3903002Z         },
2026-06-06T06:43:03.3903870Z         "unit": {
2026-06-06T06:43:03.3904840Z           "complete": true,
2026-06-06T06:43:03.3905920Z           "evidence": [
2026-06-06T06:43:03.3906893Z             {
2026-06-06T06:43:03.3907929Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.3909330Z               "line": 250
2026-06-06T06:43:03.3910355Z             },
2026-06-06T06:43:03.3911255Z             {
2026-06-06T06:43:03.3912304Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:43:03.3913668Z               "line": 191
2026-06-06T06:43:03.3914696Z             },
2026-06-06T06:43:03.3915591Z             {
2026-06-06T06:43:03.3916649Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.3918008Z               "line": 432
2026-06-06T06:43:03.3919030Z             },
2026-06-06T06:43:03.3919971Z             {
2026-06-06T06:43:03.3921018Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.3922407Z               "line": 462
2026-06-06T06:43:03.3923440Z             }
2026-06-06T06:43:03.3924333Z           ]
2026-06-06T06:43:03.3925197Z         }
2026-06-06T06:43:03.3926042Z       }
2026-06-06T06:43:03.3926866Z     },
2026-06-06T06:43:03.3933429Z     {
2026-06-06T06:43:03.3934440Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-06T06:43:03.3936218Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-06T06:43:03.3938034Z       "requiredStages": [
2026-06-06T06:43:03.3939096Z         "impl",
2026-06-06T06:43:03.3940096Z         "unit"
2026-06-06T06:43:03.3940996Z       ],
2026-06-06T06:43:03.3941851Z       "stages": {
2026-06-06T06:43:03.3942779Z         "doc": {
2026-06-06T06:43:03.3943745Z           "complete": false,
2026-06-06T06:43:03.3944857Z           "evidence": []
2026-06-06T06:43:03.3945875Z         },
2026-06-06T06:43:03.3946746Z         "impl": {
2026-06-06T06:43:03.3947725Z           "complete": true,
2026-06-06T06:43:03.3948807Z           "evidence": [
2026-06-06T06:43:03.3950132Z             {
2026-06-06T06:43:03.3951225Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3952750Z               "line": 230
2026-06-06T06:43:03.3953768Z             },
2026-06-06T06:43:03.3954654Z             {
2026-06-06T06:43:03.3955711Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3957094Z               "line": 275
2026-06-06T06:43:03.3958106Z             },
2026-06-06T06:43:03.3958997Z             {
2026-06-06T06:43:03.3960109Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3961473Z               "line": 287
2026-06-06T06:43:03.3962478Z             }
2026-06-06T06:43:03.3963355Z           ]
2026-06-06T06:43:03.3964206Z         },
2026-06-06T06:43:03.3965066Z         "int": {
2026-06-06T06:43:03.3966038Z           "complete": false,
2026-06-06T06:43:03.3967134Z           "evidence": []
2026-06-06T06:43:03.3968122Z         },
2026-06-06T06:43:03.3968985Z         "unit": {
2026-06-06T06:43:03.3969991Z           "complete": true,
2026-06-06T06:43:03.3971062Z           "evidence": [
2026-06-06T06:43:03.3972063Z             {
2026-06-06T06:43:03.3973119Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3974482Z               "line": 423
2026-06-06T06:43:03.3975482Z             },
2026-06-06T06:43:03.3976369Z             {
2026-06-06T06:43:03.3977413Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.3978784Z               "line": 452
2026-06-06T06:43:03.3979832Z             }
2026-06-06T06:43:03.3980711Z           ]
2026-06-06T06:43:03.3981555Z         }
2026-06-06T06:43:03.3982402Z       }
2026-06-06T06:43:03.3983244Z     },
2026-06-06T06:43:03.3984077Z     {
2026-06-06T06:43:03.3984955Z       "id": "REQ-INFRA-1",
2026-06-06T06:43:03.3986538Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-06T06:43:03.3988329Z       "requiredStages": [],
2026-06-06T06:43:03.3989452Z       "stages": {
2026-06-06T06:43:03.3990379Z         "doc": {
2026-06-06T06:43:03.3991343Z           "complete": false,
2026-06-06T06:43:03.3992459Z           "evidence": []
2026-06-06T06:43:03.3993469Z         },
2026-06-06T06:43:03.3993856Z         "impl": {
2026-06-06T06:43:03.3994288Z           "complete": false,
2026-06-06T06:43:03.3994698Z           "evidence": []
2026-06-06T06:43:03.3995085Z         },
2026-06-06T06:43:03.3995461Z         "int": {
2026-06-06T06:43:03.3995900Z           "complete": false,
2026-06-06T06:43:03.3996318Z           "evidence": []
2026-06-06T06:43:03.3996691Z         },
2026-06-06T06:43:03.3997085Z         "unit": {
2026-06-06T06:43:03.3997506Z           "complete": false,
2026-06-06T06:43:03.3997927Z           "evidence": []
2026-06-06T06:43:03.3998298Z         }
2026-06-06T06:43:03.3998681Z       }
2026-06-06T06:43:03.3999056Z     },
2026-06-06T06:43:03.3999473Z     {
2026-06-06T06:43:03.3999896Z       "id": "REQ-INST-1",
2026-06-06T06:43:03.4000675Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-06T06:43:03.4001131Z       "requiredStages": [],
2026-06-06T06:43:03.4001522Z       "stages": {
2026-06-06T06:43:03.4001914Z         "doc": {
2026-06-06T06:43:03.4002342Z           "complete": false,
2026-06-06T06:43:03.4002745Z           "evidence": []
2026-06-06T06:43:03.4003129Z         },
2026-06-06T06:43:03.4003518Z         "impl": {
2026-06-06T06:43:03.4003947Z           "complete": false,
2026-06-06T06:43:03.4004353Z           "evidence": []
2026-06-06T06:43:03.4004740Z         },
2026-06-06T06:43:03.4005132Z         "int": {
2026-06-06T06:43:03.4005554Z           "complete": false,
2026-06-06T06:43:03.4005968Z           "evidence": []
2026-06-06T06:43:03.4006340Z         },
2026-06-06T06:43:03.4006731Z         "unit": {
2026-06-06T06:43:03.4007158Z           "complete": false,
2026-06-06T06:43:03.4007569Z           "evidence": []
2026-06-06T06:43:03.4007947Z         }
2026-06-06T06:43:03.4008313Z       }
2026-06-06T06:43:03.4008693Z     },
2026-06-06T06:43:03.4009060Z     {
2026-06-06T06:43:03.4009708Z       "id": "REQ-INST-10",
2026-06-06T06:43:03.4010823Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-06T06:43:03.4011400Z       "requiredStages": [
2026-06-06T06:43:03.4011784Z         "impl",
2026-06-06T06:43:03.4012166Z         "unit"
2026-06-06T06:43:03.4012541Z       ],
2026-06-06T06:43:03.4012932Z       "stages": {
2026-06-06T06:43:03.4013323Z         "doc": {
2026-06-06T06:43:03.4013743Z           "complete": false,
2026-06-06T06:43:03.4014172Z           "evidence": []
2026-06-06T06:43:03.4014556Z         },
2026-06-06T06:43:03.4015007Z         "impl": {
2026-06-06T06:43:03.4020612Z           "complete": true,
2026-06-06T06:43:03.4021094Z           "evidence": [
2026-06-06T06:43:03.4021475Z             {
2026-06-06T06:43:03.4022069Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4022484Z               "line": 476
2026-06-06T06:43:03.4022863Z             },
2026-06-06T06:43:03.4023230Z             {
2026-06-06T06:43:03.4023853Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4024264Z               "line": 542
2026-06-06T06:43:03.4024644Z             },
2026-06-06T06:43:03.4025010Z             {
2026-06-06T06:43:03.4025549Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:43:03.4025954Z               "line": 13
2026-06-06T06:43:03.4026323Z             },
2026-06-06T06:43:03.4026702Z             {
2026-06-06T06:43:03.4027227Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:43:03.4027622Z               "line": 67
2026-06-06T06:43:03.4027987Z             },
2026-06-06T06:43:03.4028365Z             {
2026-06-06T06:43:03.4028883Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4029334Z               "line": 18
2026-06-06T06:43:03.4029713Z             }
2026-06-06T06:43:03.4030074Z           ]
2026-06-06T06:43:03.4030455Z         },
2026-06-06T06:43:03.4030824Z         "int": {
2026-06-06T06:43:03.4031249Z           "complete": false,
2026-06-06T06:43:03.4031668Z           "evidence": []
2026-06-06T06:43:03.4032048Z         },
2026-06-06T06:43:03.4032430Z         "unit": {
2026-06-06T06:43:03.4032843Z           "complete": true,
2026-06-06T06:43:03.4033238Z           "evidence": [
2026-06-06T06:43:03.4033607Z             {
2026-06-06T06:43:03.4034203Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4034608Z               "line": 686
2026-06-06T06:43:03.4034975Z             },
2026-06-06T06:43:03.4035349Z             {
2026-06-06T06:43:03.4035940Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4036346Z               "line": 912
2026-06-06T06:43:03.4036722Z             },
2026-06-06T06:43:03.4037090Z             {
2026-06-06T06:43:03.4037673Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4038073Z               "line": 920
2026-06-06T06:43:03.4038455Z             },
2026-06-06T06:43:03.4038819Z             {
2026-06-06T06:43:03.4039459Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4039885Z               "line": 933
2026-06-06T06:43:03.4040257Z             },
2026-06-06T06:43:03.4040630Z             {
2026-06-06T06:43:03.4041203Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4041607Z               "line": 946
2026-06-06T06:43:03.4041982Z             },
2026-06-06T06:43:03.4042356Z             {
2026-06-06T06:43:03.4042951Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4043345Z               "line": 962
2026-06-06T06:43:03.4043731Z             },
2026-06-06T06:43:03.4044095Z             {
2026-06-06T06:43:03.4044684Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4045085Z               "line": 1191
2026-06-06T06:43:03.4045465Z             },
2026-06-06T06:43:03.4045844Z             {
2026-06-06T06:43:03.4046379Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:43:03.4046781Z               "line": 121
2026-06-06T06:43:03.4047379Z             },
2026-06-06T06:43:03.4047896Z             {
2026-06-06T06:43:03.4048431Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:43:03.4048831Z               "line": 142
2026-06-06T06:43:03.4049250Z             },
2026-06-06T06:43:03.4049621Z             {
2026-06-06T06:43:03.4050156Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:43:03.4050553Z               "line": 150
2026-06-06T06:43:03.4050930Z             },
2026-06-06T06:43:03.4051296Z             {
2026-06-06T06:43:03.4051834Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:43:03.4052230Z               "line": 158
2026-06-06T06:43:03.4052595Z             }
2026-06-06T06:43:03.4052973Z           ]
2026-06-06T06:43:03.4053335Z         }
2026-06-06T06:43:03.4053711Z       }
2026-06-06T06:43:03.4054069Z     },
2026-06-06T06:43:03.4054444Z     {
2026-06-06T06:43:03.4054859Z       "id": "REQ-INST-11",
2026-06-06T06:43:03.4056008Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-06T06:43:03.4056450Z       "requiredStages": [
2026-06-06T06:43:03.4056823Z         "impl",
2026-06-06T06:43:03.4057206Z         "unit"
2026-06-06T06:43:03.4057569Z       ],
2026-06-06T06:43:03.4057956Z       "stages": {
2026-06-06T06:43:03.4058332Z         "doc": {
2026-06-06T06:43:03.4058745Z           "complete": false,
2026-06-06T06:43:03.4059185Z           "evidence": []
2026-06-06T06:43:03.4059559Z         },
2026-06-06T06:43:03.4059944Z         "impl": {
2026-06-06T06:43:03.4060357Z           "complete": true,
2026-06-06T06:43:03.4060755Z           "evidence": [
2026-06-06T06:43:03.4061126Z             {
2026-06-06T06:43:03.4061714Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4062124Z               "line": 353
2026-06-06T06:43:03.4062493Z             },
2026-06-06T06:43:03.4062865Z             {
2026-06-06T06:43:03.4063491Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.4063911Z               "line": 252
2026-06-06T06:43:03.4064290Z             },
2026-06-06T06:43:03.4064654Z             {
2026-06-06T06:43:03.4065207Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:43:03.4065603Z               "line": 59
2026-06-06T06:43:03.4065978Z             },
2026-06-06T06:43:03.4066345Z             {
2026-06-06T06:43:03.4066832Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4067237Z               "line": 2231
2026-06-06T06:43:03.4067603Z             },
2026-06-06T06:43:03.4067974Z             {
2026-06-06T06:43:03.4068463Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4068866Z               "line": 3254
2026-06-06T06:43:03.4069282Z             }
2026-06-06T06:43:03.4069659Z           ]
2026-06-06T06:43:03.4070028Z         },
2026-06-06T06:43:03.4070402Z         "int": {
2026-06-06T06:43:03.4070829Z           "complete": false,
2026-06-06T06:43:03.4071223Z           "evidence": []
2026-06-06T06:43:03.4071594Z         },
2026-06-06T06:43:03.4071990Z         "unit": {
2026-06-06T06:43:03.4072439Z           "complete": true,
2026-06-06T06:43:03.4072840Z           "evidence": [
2026-06-06T06:43:03.4073209Z             {
2026-06-06T06:43:03.4073798Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4074202Z               "line": 1055
2026-06-06T06:43:03.4074578Z             },
2026-06-06T06:43:03.4074941Z             {
2026-06-06T06:43:03.4075529Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4075939Z               "line": 1078
2026-06-06T06:43:03.4076311Z             },
2026-06-06T06:43:03.4076680Z             {
2026-06-06T06:43:03.4077291Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.4077691Z               "line": 471
2026-06-06T06:43:03.4078070Z             },
2026-06-06T06:43:03.4078437Z             {
2026-06-06T06:43:03.4078996Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:43:03.4079430Z               "line": 156
2026-06-06T06:43:03.4080018Z             },
2026-06-06T06:43:03.4080533Z             {
2026-06-06T06:43:03.4081088Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:43:03.4081488Z               "line": 177
2026-06-06T06:43:03.4081850Z             },
2026-06-06T06:43:03.4082226Z             {
2026-06-06T06:43:03.4082768Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:43:03.4083171Z               "line": 209
2026-06-06T06:43:03.4083530Z             },
2026-06-06T06:43:03.4083906Z             {
2026-06-06T06:43:03.4084398Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4084801Z               "line": 3385
2026-06-06T06:43:03.4085180Z             }
2026-06-06T06:43:03.4085550Z           ]
2026-06-06T06:43:03.4085922Z         }
2026-06-06T06:43:03.4086281Z       }
2026-06-06T06:43:03.4086642Z     },
2026-06-06T06:43:03.4087007Z     {
2026-06-06T06:43:03.4087417Z       "id": "REQ-INST-12",
2026-06-06T06:43:03.4089014Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-06T06:43:03.4089499Z       "requiredStages": [
2026-06-06T06:43:03.4089903Z         "impl",
2026-06-06T06:43:03.4090286Z         "unit"
2026-06-06T06:43:03.4090733Z       ],
2026-06-06T06:43:03.4095992Z       "stages": {
2026-06-06T06:43:03.4096445Z         "doc": {
2026-06-06T06:43:03.4096888Z           "complete": false,
2026-06-06T06:43:03.4097291Z           "evidence": []
2026-06-06T06:43:03.4097666Z         },
2026-06-06T06:43:03.4098049Z         "impl": {
2026-06-06T06:43:03.4098471Z           "complete": true,
2026-06-06T06:43:03.4098874Z           "evidence": [
2026-06-06T06:43:03.4099426Z             {
2026-06-06T06:43:03.4100068Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4100481Z               "line": 405
2026-06-06T06:43:03.4100869Z             },
2026-06-06T06:43:03.4101248Z             {
2026-06-06T06:43:03.4101871Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4102287Z               "line": 487
2026-06-06T06:43:03.4102678Z             },
2026-06-06T06:43:03.4103059Z             {
2026-06-06T06:43:03.4103644Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4104054Z               "line": 556
2026-06-06T06:43:03.4104420Z             },
2026-06-06T06:43:03.4104799Z             {
2026-06-06T06:43:03.4105348Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.4105740Z               "line": 87
2026-06-06T06:43:03.4106116Z             },
2026-06-06T06:43:03.4106482Z             {
2026-06-06T06:43:03.4107038Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.4107434Z               "line": 216
2026-06-06T06:43:03.4107811Z             },
2026-06-06T06:43:03.4108183Z             {
2026-06-06T06:43:03.4108766Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4109206Z               "line": 132
2026-06-06T06:43:03.4109580Z             }
2026-06-06T06:43:03.4109963Z           ]
2026-06-06T06:43:03.4110347Z         },
2026-06-06T06:43:03.4110725Z         "int": {
2026-06-06T06:43:03.4111149Z           "complete": false,
2026-06-06T06:43:03.4111554Z           "evidence": []
2026-06-06T06:43:03.4111925Z         },
2026-06-06T06:43:03.4112294Z         "unit": {
2026-06-06T06:43:03.4112718Z           "complete": true,
2026-06-06T06:43:03.4113113Z           "evidence": [
2026-06-06T06:43:03.4113492Z             {
2026-06-06T06:43:03.4114085Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4114480Z               "line": 1113
2026-06-06T06:43:03.4114858Z             },
2026-06-06T06:43:03.4115232Z             {
2026-06-06T06:43:03.4115823Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4116223Z               "line": 1130
2026-06-06T06:43:03.4116598Z             },
2026-06-06T06:43:03.4116970Z             {
2026-06-06T06:43:03.4117783Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4118226Z               "line": 1161
2026-06-06T06:43:03.4118803Z             },
2026-06-06T06:43:03.4119222Z             {
2026-06-06T06:43:03.4119789Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.4120186Z               "line": 350
2026-06-06T06:43:03.4120561Z             },
2026-06-06T06:43:03.4120928Z             {
2026-06-06T06:43:03.4121517Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4121916Z               "line": 169
2026-06-06T06:43:03.4122290Z             },
2026-06-06T06:43:03.4122663Z             {
2026-06-06T06:43:03.4123234Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4123635Z               "line": 181
2026-06-06T06:43:03.4124003Z             },
2026-06-06T06:43:03.4124378Z             {
2026-06-06T06:43:03.4124958Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4125365Z               "line": 198
2026-06-06T06:43:03.4125740Z             }
2026-06-06T06:43:03.4126117Z           ]
2026-06-06T06:43:03.4126498Z         }
2026-06-06T06:43:03.4126858Z       }
2026-06-06T06:43:03.4127226Z     },
2026-06-06T06:43:03.4127584Z     {
2026-06-06T06:43:03.4128002Z       "id": "REQ-INST-13",
2026-06-06T06:43:03.4128928Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-06T06:43:03.4129385Z       "requiredStages": [
2026-06-06T06:43:03.4129765Z         "impl",
2026-06-06T06:43:03.4130136Z         "unit"
2026-06-06T06:43:03.4130509Z       ],
2026-06-06T06:43:03.4130890Z       "stages": {
2026-06-06T06:43:03.4131264Z         "doc": {
2026-06-06T06:43:03.4131693Z           "complete": false,
2026-06-06T06:43:03.4132092Z           "evidence": []
2026-06-06T06:43:03.4132464Z         },
2026-06-06T06:43:03.4132842Z         "impl": {
2026-06-06T06:43:03.4133261Z           "complete": true,
2026-06-06T06:43:03.4133647Z           "evidence": [
2026-06-06T06:43:03.4134023Z             {
2026-06-06T06:43:03.4134584Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4134989Z               "line": 94
2026-06-06T06:43:03.4135365Z             },
2026-06-06T06:43:03.4135731Z             {
2026-06-06T06:43:03.4136327Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4136725Z               "line": 155
2026-06-06T06:43:03.4137099Z             }
2026-06-06T06:43:03.4137475Z           ]
2026-06-06T06:43:03.4137837Z         },
2026-06-06T06:43:03.4138222Z         "int": {
2026-06-06T06:43:03.4138639Z           "complete": false,
2026-06-06T06:43:03.4139054Z           "evidence": []
2026-06-06T06:43:03.4139459Z         },
2026-06-06T06:43:03.4139847Z         "unit": {
2026-06-06T06:43:03.4140269Z           "complete": true,
2026-06-06T06:43:03.4140662Z           "evidence": [
2026-06-06T06:43:03.4141030Z             {
2026-06-06T06:43:03.4141619Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4142023Z               "line": 221
2026-06-06T06:43:03.4142399Z             },
2026-06-06T06:43:03.4142771Z             {
2026-06-06T06:43:03.4143371Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:43:03.4143773Z               "line": 233
2026-06-06T06:43:03.4144144Z             }
2026-06-06T06:43:03.4144505Z           ]
2026-06-06T06:43:03.4144877Z         }
2026-06-06T06:43:03.4145237Z       }
2026-06-06T06:43:03.4145613Z     },
2026-06-06T06:43:03.4145978Z     {
2026-06-06T06:43:03.4146385Z       "id": "REQ-INST-14",
2026-06-06T06:43:03.4148495Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-06T06:43:03.4148924Z       "requiredStages": [
2026-06-06T06:43:03.4149359Z         "doc",
2026-06-06T06:43:03.4149754Z         "impl",
2026-06-06T06:43:03.4150143Z         "unit"
2026-06-06T06:43:03.4150525Z       ],
2026-06-06T06:43:03.4150909Z       "stages": {
2026-06-06T06:43:03.4151303Z         "doc": {
2026-06-06T06:43:03.4151885Z           "complete": true,
2026-06-06T06:43:03.4152303Z           "evidence": [
2026-06-06T06:43:03.4152805Z             {
2026-06-06T06:43:03.4153249Z               "path": "CONTEXT.md",
2026-06-06T06:43:03.4153652Z               "line": 421
2026-06-06T06:43:03.4154024Z             },
2026-06-06T06:43:03.4154399Z             {
2026-06-06T06:43:03.4154852Z               "path": "docs/STORAGE.md",
2026-06-06T06:43:03.4155248Z               "line": 49
2026-06-06T06:43:03.4155619Z             }
2026-06-06T06:43:03.4155999Z           ]
2026-06-06T06:43:03.4156369Z         },
2026-06-06T06:43:03.4156744Z         "impl": {
2026-06-06T06:43:03.4157160Z           "complete": true,
2026-06-06T06:43:03.4157556Z           "evidence": [
2026-06-06T06:43:03.4157926Z             {
2026-06-06T06:43:03.4158556Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4158965Z               "line": 292
2026-06-06T06:43:03.4159387Z             },
2026-06-06T06:43:03.4159755Z             {
2026-06-06T06:43:03.4160356Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4160767Z               "line": 220
2026-06-06T06:43:03.4161147Z             },
2026-06-06T06:43:03.4161516Z             {
2026-06-06T06:43:03.4162058Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.4162464Z               "line": 202
2026-06-06T06:43:03.4162825Z             },
2026-06-06T06:43:03.4163197Z             {
2026-06-06T06:43:03.4163679Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4164083Z               "line": 833
2026-06-06T06:43:03.4164453Z             }
2026-06-06T06:43:03.4164828Z           ]
2026-06-06T06:43:03.4165201Z         },
2026-06-06T06:43:03.4165577Z         "int": {
2026-06-06T06:43:03.4165999Z           "complete": false,
2026-06-06T06:43:03.4171335Z           "evidence": []
2026-06-06T06:43:03.4171792Z         },
2026-06-06T06:43:03.4172183Z         "unit": {
2026-06-06T06:43:03.4172610Z           "complete": true,
2026-06-06T06:43:03.4173044Z           "evidence": [
2026-06-06T06:43:03.4173418Z             {
2026-06-06T06:43:03.4174076Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4174472Z               "line": 481
2026-06-06T06:43:03.4174845Z             },
2026-06-06T06:43:03.4175210Z             {
2026-06-06T06:43:03.4175795Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4176202Z               "line": 695
2026-06-06T06:43:03.4176576Z             },
2026-06-06T06:43:03.4176949Z             {
2026-06-06T06:43:03.4177533Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4177938Z               "line": 862
2026-06-06T06:43:03.4178304Z             },
2026-06-06T06:43:03.4178679Z             {
2026-06-06T06:43:03.4179279Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.4179676Z               "line": 411
2026-06-06T06:43:03.4180056Z             },
2026-06-06T06:43:03.4180423Z             {
2026-06-06T06:43:03.4180930Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4181345Z               "line": 3401
2026-06-06T06:43:03.4181709Z             }
2026-06-06T06:43:03.4182081Z           ]
2026-06-06T06:43:03.4182440Z         }
2026-06-06T06:43:03.4182811Z       }
2026-06-06T06:43:03.4183166Z     },
2026-06-06T06:43:03.4183535Z     {
2026-06-06T06:43:03.4183945Z       "id": "REQ-INST-15",
2026-06-06T06:43:03.4188220Z       "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-06T06:43:03.4188653Z       "requiredStages": [
2026-06-06T06:43:03.4189025Z         "doc",
2026-06-06T06:43:03.4189471Z         "impl",
2026-06-06T06:43:03.4189883Z         "unit"
2026-06-06T06:43:03.4190289Z       ],
2026-06-06T06:43:03.4190676Z       "stages": {
2026-06-06T06:43:03.4191047Z         "doc": {
2026-06-06T06:43:03.4191749Z           "complete": true,
2026-06-06T06:43:03.4192363Z           "evidence": [
2026-06-06T06:43:03.4192752Z             {
2026-06-06T06:43:03.4193634Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-06T06:43:03.4194036Z               "line": 3
2026-06-06T06:43:03.4194414Z             }
2026-06-06T06:43:03.4194785Z           ]
2026-06-06T06:43:03.4195154Z         },
2026-06-06T06:43:03.4195531Z         "impl": {
2026-06-06T06:43:03.4195947Z           "complete": true,
2026-06-06T06:43:03.4196337Z           "evidence": [
2026-06-06T06:43:03.4196706Z             {
2026-06-06T06:43:03.4197341Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4197738Z               "line": 240
2026-06-06T06:43:03.4198114Z             },
2026-06-06T06:43:03.4198482Z             {
2026-06-06T06:43:03.4199007Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4199469Z               "line": 60
2026-06-06T06:43:03.4199868Z             },
2026-06-06T06:43:03.4200249Z             {
2026-06-06T06:43:03.4200881Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.4201281Z               "line": 326
2026-06-06T06:43:03.4201649Z             },
2026-06-06T06:43:03.4202016Z             {
2026-06-06T06:43:03.4202632Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.4203035Z               "line": 376
2026-06-06T06:43:03.4203408Z             },
2026-06-06T06:43:03.4203771Z             {
2026-06-06T06:43:03.4204308Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4204695Z               "line": 19
2026-06-06T06:43:03.4205068Z             },
2026-06-06T06:43:03.4205442Z             {
2026-06-06T06:43:03.4205970Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4206367Z               "line": 67
2026-06-06T06:43:03.4206734Z             },
2026-06-06T06:43:03.4207105Z             {
2026-06-06T06:43:03.4207649Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4208059Z               "line": 91
2026-06-06T06:43:03.4208429Z             },
2026-06-06T06:43:03.4208796Z             {
2026-06-06T06:43:03.4209375Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4209768Z               "line": 116
2026-06-06T06:43:03.4210139Z             },
2026-06-06T06:43:03.4210506Z             {
2026-06-06T06:43:03.4211041Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4211441Z               "line": 167
2026-06-06T06:43:03.4211814Z             },
2026-06-06T06:43:03.4212183Z             {
2026-06-06T06:43:03.4212717Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.4213119Z               "line": 141
2026-06-06T06:43:03.4213476Z             },
2026-06-06T06:43:03.4213849Z             {
2026-06-06T06:43:03.4214335Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4214727Z               "line": 725
2026-06-06T06:43:03.4215100Z             }
2026-06-06T06:43:03.4215480Z           ]
2026-06-06T06:43:03.4215858Z         },
2026-06-06T06:43:03.4216241Z         "int": {
2026-06-06T06:43:03.4216665Z           "complete": false,
2026-06-06T06:43:03.4217063Z           "evidence": []
2026-06-06T06:43:03.4217434Z         },
2026-06-06T06:43:03.4217821Z         "unit": {
2026-06-06T06:43:03.4218230Z           "complete": true,
2026-06-06T06:43:03.4218630Z           "evidence": [
2026-06-06T06:43:03.4219000Z             {
2026-06-06T06:43:03.4219677Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.4220080Z               "line": 515
2026-06-06T06:43:03.4220444Z             },
2026-06-06T06:43:03.4220814Z             {
2026-06-06T06:43:03.4221430Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.4221826Z               "line": 571
2026-06-06T06:43:03.4222196Z             },
2026-06-06T06:43:03.4222567Z             {
2026-06-06T06:43:03.4223098Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4223646Z               "line": 206
2026-06-06T06:43:03.4224160Z             },
2026-06-06T06:43:03.4224524Z             {
2026-06-06T06:43:03.4225063Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4225460Z               "line": 239
2026-06-06T06:43:03.4225830Z             },
2026-06-06T06:43:03.4226201Z             {
2026-06-06T06:43:03.4226739Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4227144Z               "line": 252
2026-06-06T06:43:03.4227515Z             },
2026-06-06T06:43:03.4227889Z             {
2026-06-06T06:43:03.4228418Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:43:03.4228824Z               "line": 316
2026-06-06T06:43:03.4229243Z             },
2026-06-06T06:43:03.4229608Z             {
2026-06-06T06:43:03.4230159Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.4230555Z               "line": 477
2026-06-06T06:43:03.4230933Z             },
2026-06-06T06:43:03.4231317Z             {
2026-06-06T06:43:03.4231812Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4232233Z               "line": 3388
2026-06-06T06:43:03.4232603Z             },
2026-06-06T06:43:03.4232972Z             {
2026-06-06T06:43:03.4233452Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4233867Z               "line": 4374
2026-06-06T06:43:03.4234238Z             }
2026-06-06T06:43:03.4234605Z           ]
2026-06-06T06:43:03.4234969Z         }
2026-06-06T06:43:03.4235333Z       }
2026-06-06T06:43:03.4235696Z     },
2026-06-06T06:43:03.4236050Z     {
2026-06-06T06:43:03.4236463Z       "id": "REQ-INST-2",
2026-06-06T06:43:03.4237026Z       "title": "Per-node files, synced Psyche mind",
2026-06-06T06:43:03.4237452Z       "requiredStages": [
2026-06-06T06:43:03.4237831Z         "impl",
2026-06-06T06:43:03.4238199Z         "unit"
2026-06-06T06:43:03.4238575Z       ],
2026-06-06T06:43:03.4238956Z       "stages": {
2026-06-06T06:43:03.4239383Z         "doc": {
2026-06-06T06:43:03.4239814Z           "complete": false,
2026-06-06T06:43:03.4240228Z           "evidence": []
2026-06-06T06:43:03.4240592Z         },
2026-06-06T06:43:03.4240964Z         "impl": {
2026-06-06T06:43:03.4241388Z           "complete": true,
2026-06-06T06:43:03.4241788Z           "evidence": [
2026-06-06T06:43:03.4242162Z             {
2026-06-06T06:43:03.4242755Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4243148Z               "line": 86
2026-06-06T06:43:03.4243520Z             },
2026-06-06T06:43:03.4248798Z             {
2026-06-06T06:43:03.4249557Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.4249973Z               "line": 28
2026-06-06T06:43:03.4250360Z             },
2026-06-06T06:43:03.4250734Z             {
2026-06-06T06:43:03.4251306Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.4251731Z               "line": 74
2026-06-06T06:43:03.4252163Z             },
2026-06-06T06:43:03.4252768Z             {
2026-06-06T06:43:03.4253482Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.4254040Z               "line": 96
2026-06-06T06:43:03.4254545Z             },
2026-06-06T06:43:03.4254983Z             {
2026-06-06T06:43:03.4255565Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:43:03.4255986Z               "line": 81
2026-06-06T06:43:03.4256422Z             },
2026-06-06T06:43:03.4256838Z             {
2026-06-06T06:43:03.4257495Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:43:03.4258004Z               "line": 118
2026-06-06T06:43:03.4258413Z             }
2026-06-06T06:43:03.4258819Z           ]
2026-06-06T06:43:03.4259294Z         },
2026-06-06T06:43:03.4259865Z         "int": {
2026-06-06T06:43:03.4260289Z           "complete": false,
2026-06-06T06:43:03.4260703Z           "evidence": []
2026-06-06T06:43:03.4261084Z         },
2026-06-06T06:43:03.4261462Z         "unit": {
2026-06-06T06:43:03.4261891Z           "complete": true,
2026-06-06T06:43:03.4262694Z           "evidence": [
2026-06-06T06:43:03.4263289Z             {
2026-06-06T06:43:03.4263841Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:43:03.4264255Z               "line": 203
2026-06-06T06:43:03.4264644Z             },
2026-06-06T06:43:03.4265019Z             {
2026-06-06T06:43:03.4265567Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:43:03.4265975Z               "line": 232
2026-06-06T06:43:03.4266355Z             }
2026-06-06T06:43:03.4266721Z           ]
2026-06-06T06:43:03.4267101Z         }
2026-06-06T06:43:03.4267485Z       }
2026-06-06T06:43:03.4267854Z     },
2026-06-06T06:43:03.4268226Z     {
2026-06-06T06:43:03.4268641Z       "id": "REQ-INST-3",
2026-06-06T06:43:03.4269719Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-06T06:43:03.4270147Z       "requiredStages": [
2026-06-06T06:43:03.4270537Z         "doc",
2026-06-06T06:43:03.4270932Z         "impl",
2026-06-06T06:43:03.4271309Z         "unit"
2026-06-06T06:43:03.4271692Z       ],
2026-06-06T06:43:03.4272087Z       "stages": {
2026-06-06T06:43:03.4272478Z         "doc": {
2026-06-06T06:43:03.4272886Z           "complete": true,
2026-06-06T06:43:03.4273298Z           "evidence": [
2026-06-06T06:43:03.4273674Z             {
2026-06-06T06:43:03.4274198Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-06T06:43:03.4274603Z               "line": 3
2026-06-06T06:43:03.4274975Z             }
2026-06-06T06:43:03.4275353Z           ]
2026-06-06T06:43:03.4275726Z         },
2026-06-06T06:43:03.4276114Z         "impl": {
2026-06-06T06:43:03.4276534Z           "complete": true,
2026-06-06T06:43:03.4276932Z           "evidence": [
2026-06-06T06:43:03.4277307Z             {
2026-06-06T06:43:03.4277878Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:43:03.4278281Z               "line": 70
2026-06-06T06:43:03.4278650Z             },
2026-06-06T06:43:03.4279073Z             {
2026-06-06T06:43:03.4279730Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4280153Z               "line": 422
2026-06-06T06:43:03.4280539Z             },
2026-06-06T06:43:03.4280918Z             {
2026-06-06T06:43:03.4281519Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4281917Z               "line": 197
2026-06-06T06:43:03.4282301Z             },
2026-06-06T06:43:03.4282675Z             {
2026-06-06T06:43:03.4283265Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4283673Z               "line": 272
2026-06-06T06:43:03.4284040Z             },
2026-06-06T06:43:03.4284414Z             {
2026-06-06T06:43:03.4285003Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4285408Z               "line": 301
2026-06-06T06:43:03.4285790Z             },
2026-06-06T06:43:03.4286163Z             {
2026-06-06T06:43:03.4286750Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:43:03.4287146Z               "line": 234
2026-06-06T06:43:03.4287538Z             },
2026-06-06T06:43:03.4287917Z             {
2026-06-06T06:43:03.4288548Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4288954Z               "line": 171
2026-06-06T06:43:03.4289368Z             },
2026-06-06T06:43:03.4289746Z             {
2026-06-06T06:43:03.4290372Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4290778Z               "line": 278
2026-06-06T06:43:03.4291147Z             },
2026-06-06T06:43:03.4291523Z             {
2026-06-06T06:43:03.4292107Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4292500Z               "line": 45
2026-06-06T06:43:03.4292883Z             },
2026-06-06T06:43:03.4293254Z             {
2026-06-06T06:43:03.4293840Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4294249Z               "line": 114
2026-06-06T06:43:03.4294630Z             },
2026-06-06T06:43:03.4295007Z             {
2026-06-06T06:43:03.4295746Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4296294Z               "line": 152
2026-06-06T06:43:03.4296666Z             },
2026-06-06T06:43:03.4297046Z             {
2026-06-06T06:43:03.4297616Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4298020Z               "line": 168
2026-06-06T06:43:03.4298400Z             },
2026-06-06T06:43:03.4298766Z             {
2026-06-06T06:43:03.4299388Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4299793Z               "line": 178
2026-06-06T06:43:03.4300179Z             },
2026-06-06T06:43:03.4300561Z             {
2026-06-06T06:43:03.4301126Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4301532Z               "line": 210
2026-06-06T06:43:03.4301903Z             },
2026-06-06T06:43:03.4302281Z             {
2026-06-06T06:43:03.4302851Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4303275Z               "line": 283
2026-06-06T06:43:03.4303671Z             },
2026-06-06T06:43:03.4304056Z             {
2026-06-06T06:43:03.4304633Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4305025Z               "line": 307
2026-06-06T06:43:03.4305404Z             },
2026-06-06T06:43:03.4305770Z             {
2026-06-06T06:43:03.4306349Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4306757Z               "line": 378
2026-06-06T06:43:03.4307140Z             },
2026-06-06T06:43:03.4307521Z             {
2026-06-06T06:43:03.4308092Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4308497Z               "line": 427
2026-06-06T06:43:03.4308865Z             },
2026-06-06T06:43:03.4309290Z             {
2026-06-06T06:43:03.4309884Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-06T06:43:03.4310274Z               "line": 37
2026-06-06T06:43:03.4310663Z             },
2026-06-06T06:43:03.4311032Z             {
2026-06-06T06:43:03.4311638Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4312042Z               "line": 62
2026-06-06T06:43:03.4312420Z             },
2026-06-06T06:43:03.4312792Z             {
2026-06-06T06:43:03.4313321Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.4313727Z               "line": 184
2026-06-06T06:43:03.4314100Z             },
2026-06-06T06:43:03.4314479Z             {
2026-06-06T06:43:03.4314963Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4315371Z               "line": 932
2026-06-06T06:43:03.4315749Z             }
2026-06-06T06:43:03.4316120Z           ]
2026-06-06T06:43:03.4316500Z         },
2026-06-06T06:43:03.4316874Z         "int": {
2026-06-06T06:43:03.4317300Z           "complete": false,
2026-06-06T06:43:03.4317697Z           "evidence": []
2026-06-06T06:43:03.4318090Z         },
2026-06-06T06:43:03.4318668Z         "unit": {
2026-06-06T06:43:03.4319207Z           "complete": true,
2026-06-06T06:43:03.4319716Z           "evidence": [
2026-06-06T06:43:03.4320262Z             {
2026-06-06T06:43:03.4320859Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.4321261Z               "line": 305
2026-06-06T06:43:03.4328231Z             },
2026-06-06T06:43:03.4328898Z             {
2026-06-06T06:43:03.4329611Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4330034Z               "line": 618
2026-06-06T06:43:03.4330420Z             },
2026-06-06T06:43:03.4330812Z             {
2026-06-06T06:43:03.4331407Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4331822Z               "line": 669
2026-06-06T06:43:03.4332207Z             },
2026-06-06T06:43:03.4332587Z             {
2026-06-06T06:43:03.4333227Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4333630Z               "line": 575
2026-06-06T06:43:03.4334016Z             },
2026-06-06T06:43:03.4334399Z             {
2026-06-06T06:43:03.4335397Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4335970Z               "line": 622
2026-06-06T06:43:03.4336347Z             },
2026-06-06T06:43:03.4336727Z             {
2026-06-06T06:43:03.4337305Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4337715Z               "line": 438
2026-06-06T06:43:03.4338113Z             },
2026-06-06T06:43:03.4338493Z             {
2026-06-06T06:43:03.4339067Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4339521Z               "line": 467
2026-06-06T06:43:03.4339908Z             },
2026-06-06T06:43:03.4340272Z             {
2026-06-06T06:43:03.4340845Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4341247Z               "line": 500
2026-06-06T06:43:03.4341619Z             },
2026-06-06T06:43:03.4341990Z             {
2026-06-06T06:43:03.4342557Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4342974Z               "line": 608
2026-06-06T06:43:03.4343348Z             },
2026-06-06T06:43:03.4343740Z             {
2026-06-06T06:43:03.4344315Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4344713Z               "line": 808
2026-06-06T06:43:03.4345089Z             },
2026-06-06T06:43:03.4345464Z             {
2026-06-06T06:43:03.4346049Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4346444Z               "line": 822
2026-06-06T06:43:03.4346819Z             },
2026-06-06T06:43:03.4347193Z             {
2026-06-06T06:43:03.4347771Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4348169Z               "line": 893
2026-06-06T06:43:03.4348539Z             },
2026-06-06T06:43:03.4348927Z             {
2026-06-06T06:43:03.4349491Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.4349903Z               "line": 371
2026-06-06T06:43:03.4350283Z             },
2026-06-06T06:43:03.4350645Z             {
2026-06-06T06:43:03.4351145Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4351552Z               "line": 3415
2026-06-06T06:43:03.4351930Z             }
2026-06-06T06:43:03.4352300Z           ]
2026-06-06T06:43:03.4352686Z         }
2026-06-06T06:43:03.4353064Z       }
2026-06-06T06:43:03.4353425Z     },
2026-06-06T06:43:03.4353793Z     {
2026-06-06T06:43:03.4354210Z       "id": "REQ-INST-4",
2026-06-06T06:43:03.4355083Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-06T06:43:03.4355500Z       "requiredStages": [
2026-06-06T06:43:03.4355881Z         "impl",
2026-06-06T06:43:03.4356256Z         "unit"
2026-06-06T06:43:03.4356623Z       ],
2026-06-06T06:43:03.4357009Z       "stages": {
2026-06-06T06:43:03.4357375Z         "doc": {
2026-06-06T06:43:03.4357794Z           "complete": false,
2026-06-06T06:43:03.4358194Z           "evidence": []
2026-06-06T06:43:03.4358561Z         },
2026-06-06T06:43:03.4358942Z         "impl": {
2026-06-06T06:43:03.4359394Z           "complete": true,
2026-06-06T06:43:03.4359799Z           "evidence": [
2026-06-06T06:43:03.4360177Z             {
2026-06-06T06:43:03.4360774Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4361170Z               "line": 273
2026-06-06T06:43:03.4361553Z             },
2026-06-06T06:43:03.4361938Z             {
2026-06-06T06:43:03.4362504Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4362913Z               "line": 202
2026-06-06T06:43:03.4363274Z             },
2026-06-06T06:43:03.4363649Z             {
2026-06-06T06:43:03.4364214Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4364625Z               "line": 234
2026-06-06T06:43:03.4364997Z             },
2026-06-06T06:43:03.4365364Z             {
2026-06-06T06:43:03.4365937Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4366330Z               "line": 270
2026-06-06T06:43:03.4366702Z             }
2026-06-06T06:43:03.4367076Z           ]
2026-06-06T06:43:03.4367623Z         },
2026-06-06T06:43:03.4368134Z         "int": {
2026-06-06T06:43:03.4368560Z           "complete": false,
2026-06-06T06:43:03.4368974Z           "evidence": []
2026-06-06T06:43:03.4369382Z         },
2026-06-06T06:43:03.4369771Z         "unit": {
2026-06-06T06:43:03.4370187Z           "complete": true,
2026-06-06T06:43:03.4370590Z           "evidence": [
2026-06-06T06:43:03.4370969Z             {
2026-06-06T06:43:03.4371550Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.4371957Z               "line": 664
2026-06-06T06:43:03.4372333Z             },
2026-06-06T06:43:03.4372708Z             {
2026-06-06T06:43:03.4373288Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4373684Z               "line": 518
2026-06-06T06:43:03.4374060Z             },
2026-06-06T06:43:03.4374429Z             {
2026-06-06T06:43:03.4375003Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4375408Z               "line": 583
2026-06-06T06:43:03.4375783Z             },
2026-06-06T06:43:03.4376171Z             {
2026-06-06T06:43:03.4376729Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4377133Z               "line": 650
2026-06-06T06:43:03.4377500Z             }
2026-06-06T06:43:03.4377874Z           ]
2026-06-06T06:43:03.4378239Z         }
2026-06-06T06:43:03.4378610Z       }
2026-06-06T06:43:03.4378975Z     },
2026-06-06T06:43:03.4379370Z     {
2026-06-06T06:43:03.4379791Z       "id": "REQ-INST-5",
2026-06-06T06:43:03.4380690Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-06T06:43:03.4381121Z       "requiredStages": [
2026-06-06T06:43:03.4381505Z         "impl",
2026-06-06T06:43:03.4381887Z         "unit",
2026-06-06T06:43:03.4382265Z         "int"
2026-06-06T06:43:03.4382625Z       ],
2026-06-06T06:43:03.4383009Z       "stages": {
2026-06-06T06:43:03.4383376Z         "doc": {
2026-06-06T06:43:03.4383800Z           "complete": false,
2026-06-06T06:43:03.4384218Z           "evidence": []
2026-06-06T06:43:03.4384610Z         },
2026-06-06T06:43:03.4384997Z         "impl": {
2026-06-06T06:43:03.4385403Z           "complete": true,
2026-06-06T06:43:03.4385806Z           "evidence": [
2026-06-06T06:43:03.4386172Z             {
2026-06-06T06:43:03.4386765Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:43:03.4387155Z               "line": 39
2026-06-06T06:43:03.4387531Z             },
2026-06-06T06:43:03.4387909Z             {
2026-06-06T06:43:03.4388438Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4388835Z               "line": 68
2026-06-06T06:43:03.4389241Z             },
2026-06-06T06:43:03.4389617Z             {
2026-06-06T06:43:03.4390151Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4390555Z               "line": 93
2026-06-06T06:43:03.4390937Z             },
2026-06-06T06:43:03.4391305Z             {
2026-06-06T06:43:03.4391856Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4392262Z               "line": 160
2026-06-06T06:43:03.4392639Z             },
2026-06-06T06:43:03.4393002Z             {
2026-06-06T06:43:03.4393546Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4393955Z               "line": 271
2026-06-06T06:43:03.4394324Z             }
2026-06-06T06:43:03.4394702Z           ]
2026-06-06T06:43:03.4395063Z         },
2026-06-06T06:43:03.4395441Z         "int": {
2026-06-06T06:43:03.4395853Z           "complete": true,
2026-06-06T06:43:03.4396256Z           "evidence": [
2026-06-06T06:43:03.4396632Z             {
2026-06-06T06:43:03.4397232Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.4397643Z               "line": 142
2026-06-06T06:43:03.4398013Z             },
2026-06-06T06:43:03.4404171Z             {
2026-06-06T06:43:03.4404906Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-06T06:43:03.4405325Z               "line": 102
2026-06-06T06:43:03.4405981Z             },
2026-06-06T06:43:03.4406502Z             {
2026-06-06T06:43:03.4407106Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4407509Z               "line": 584
2026-06-06T06:43:03.4407887Z             },
2026-06-06T06:43:03.4408253Z             {
2026-06-06T06:43:03.4408855Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4409365Z               "line": 846
2026-06-06T06:43:03.4409745Z             }
2026-06-06T06:43:03.4410124Z           ]
2026-06-06T06:43:03.4410494Z         },
2026-06-06T06:43:03.4410877Z         "unit": {
2026-06-06T06:43:03.4411291Z           "complete": true,
2026-06-06T06:43:03.4411693Z           "evidence": [
2026-06-06T06:43:03.4412071Z             {
2026-06-06T06:43:03.4412604Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4413011Z               "line": 461
2026-06-06T06:43:03.4413382Z             },
2026-06-06T06:43:03.4413760Z             {
2026-06-06T06:43:03.4414308Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4414729Z               "line": 495
2026-06-06T06:43:03.4415108Z             },
2026-06-06T06:43:03.4415478Z             {
2026-06-06T06:43:03.4416048Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:43:03.4416449Z               "line": 199
2026-06-06T06:43:03.4416828Z             }
2026-06-06T06:43:03.4417194Z           ]
2026-06-06T06:43:03.4417570Z         }
2026-06-06T06:43:03.4417943Z       }
2026-06-06T06:43:03.4418305Z     },
2026-06-06T06:43:03.4418672Z     {
2026-06-06T06:43:03.4419071Z       "id": "REQ-INST-6",
2026-06-06T06:43:03.4420083Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-06T06:43:03.4420511Z       "requiredStages": [
2026-06-06T06:43:03.4420900Z         "impl",
2026-06-06T06:43:03.4421280Z         "unit",
2026-06-06T06:43:03.4421654Z         "int"
2026-06-06T06:43:03.4422025Z       ],
2026-06-06T06:43:03.4422406Z       "stages": {
2026-06-06T06:43:03.4422797Z         "doc": {
2026-06-06T06:43:03.4423219Z           "complete": true,
2026-06-06T06:43:03.4423620Z           "evidence": [
2026-06-06T06:43:03.4423999Z             {
2026-06-06T06:43:03.4424458Z               "path": "docs/DEFERRED.md",
2026-06-06T06:43:03.4424857Z               "line": 13
2026-06-06T06:43:03.4425225Z             }
2026-06-06T06:43:03.4425597Z           ]
2026-06-06T06:43:03.4425958Z         },
2026-06-06T06:43:03.4426345Z         "impl": {
2026-06-06T06:43:03.4426764Z           "complete": true,
2026-06-06T06:43:03.4427162Z           "evidence": [
2026-06-06T06:43:03.4427540Z             {
2026-06-06T06:43:03.4428126Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4428526Z               "line": 363
2026-06-06T06:43:03.4428895Z             },
2026-06-06T06:43:03.4429317Z             {
2026-06-06T06:43:03.4429903Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:43:03.4430296Z               "line": 27
2026-06-06T06:43:03.4430678Z             },
2026-06-06T06:43:03.4431041Z             {
2026-06-06T06:43:03.4431636Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:43:03.4432031Z               "line": 73
2026-06-06T06:43:03.4432407Z             },
2026-06-06T06:43:03.4432784Z             {
2026-06-06T06:43:03.4433360Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:43:03.4433765Z               "line": 165
2026-06-06T06:43:03.4434129Z             },
2026-06-06T06:43:03.4434498Z             {
2026-06-06T06:43:03.4435076Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4435471Z               "line": 415
2026-06-06T06:43:03.4435847Z             },
2026-06-06T06:43:03.4436215Z             {
2026-06-06T06:43:03.4436777Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-06T06:43:03.4437168Z               "line": 31
2026-06-06T06:43:03.4437549Z             },
2026-06-06T06:43:03.4437921Z             {
2026-06-06T06:43:03.4438624Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.4439200Z               "line": 168
2026-06-06T06:43:03.4439568Z             },
2026-06-06T06:43:03.4439944Z             {
2026-06-06T06:43:03.4440473Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.4440874Z               "line": 81
2026-06-06T06:43:03.4441250Z             },
2026-06-06T06:43:03.4441616Z             {
2026-06-06T06:43:03.4442101Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4442495Z               "line": 933
2026-06-06T06:43:03.4442864Z             },
2026-06-06T06:43:03.4443226Z             {
2026-06-06T06:43:03.4443740Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4444142Z               "line": 161
2026-06-06T06:43:03.4444508Z             },
2026-06-06T06:43:03.4444884Z             {
2026-06-06T06:43:03.4445393Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4445796Z               "line": 190
2026-06-06T06:43:03.4446166Z             }
2026-06-06T06:43:03.4446547Z           ]
2026-06-06T06:43:03.4446933Z         },
2026-06-06T06:43:03.4447308Z         "int": {
2026-06-06T06:43:03.4447729Z           "complete": true,
2026-06-06T06:43:03.4448120Z           "evidence": [
2026-06-06T06:43:03.4448499Z             {
2026-06-06T06:43:03.4449075Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4449524Z               "line": 594
2026-06-06T06:43:03.4449900Z             },
2026-06-06T06:43:03.4450266Z             {
2026-06-06T06:43:03.4450849Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4451244Z               "line": 880
2026-06-06T06:43:03.4451614Z             },
2026-06-06T06:43:03.4451976Z             {
2026-06-06T06:43:03.4452490Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4452894Z               "line": 549
2026-06-06T06:43:03.4453263Z             }
2026-06-06T06:43:03.4453633Z           ]
2026-06-06T06:43:03.4453994Z         },
2026-06-06T06:43:03.4454388Z         "unit": {
2026-06-06T06:43:03.4454812Z           "complete": true,
2026-06-06T06:43:03.4455215Z           "evidence": [
2026-06-06T06:43:03.4455594Z             {
2026-06-06T06:43:03.4456171Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4456586Z               "line": 595
2026-06-06T06:43:03.4456955Z             },
2026-06-06T06:43:03.4457329Z             {
2026-06-06T06:43:03.4457890Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.4458288Z               "line": 783
2026-06-06T06:43:03.4458666Z             },
2026-06-06T06:43:03.4459033Z             {
2026-06-06T06:43:03.4459625Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-06T06:43:03.4460018Z               "line": 62
2026-06-06T06:43:03.4460397Z             },
2026-06-06T06:43:03.4460758Z             {
2026-06-06T06:43:03.4461311Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.4461714Z               "line": 252
2026-06-06T06:43:03.4462091Z             },
2026-06-06T06:43:03.4462465Z             {
2026-06-06T06:43:03.4463015Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:43:03.4463421Z               "line": 192
2026-06-06T06:43:03.4463783Z             }
2026-06-06T06:43:03.4464155Z           ]
2026-06-06T06:43:03.4464522Z         }
2026-06-06T06:43:03.4464880Z       }
2026-06-06T06:43:03.4465246Z     },
2026-06-06T06:43:03.4465606Z     {
2026-06-06T06:43:03.4466016Z       "id": "REQ-INST-7",
2026-06-06T06:43:03.4466689Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-06T06:43:03.4467127Z       "requiredStages": [
2026-06-06T06:43:03.4467517Z         "impl",
2026-06-06T06:43:03.4467894Z         "unit",
2026-06-06T06:43:03.4468280Z         "int"
2026-06-06T06:43:03.4468655Z       ],
2026-06-06T06:43:03.4469050Z       "stages": {
2026-06-06T06:43:03.4469475Z         "doc": {
2026-06-06T06:43:03.4469911Z           "complete": false,
2026-06-06T06:43:03.4470327Z           "evidence": []
2026-06-06T06:43:03.4470894Z         },
2026-06-06T06:43:03.4471423Z         "impl": {
2026-06-06T06:43:03.4471847Z           "complete": true,
2026-06-06T06:43:03.4472262Z           "evidence": [
2026-06-06T06:43:03.4472638Z             {
2026-06-06T06:43:03.4473240Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4478491Z               "line": 398
2026-06-06T06:43:03.4478948Z             },
2026-06-06T06:43:03.4479420Z             {
2026-06-06T06:43:03.4480025Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:43:03.4480433Z               "line": 40
2026-06-06T06:43:03.4480801Z             },
2026-06-06T06:43:03.4481179Z             {
2026-06-06T06:43:03.4481812Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4482201Z               "line": 27
2026-06-06T06:43:03.4482575Z             },
2026-06-06T06:43:03.4482942Z             {
2026-06-06T06:43:03.4483561Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4484001Z               "line": 144
2026-06-06T06:43:03.4484385Z             },
2026-06-06T06:43:03.4484758Z             {
2026-06-06T06:43:03.4485375Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4485783Z               "line": 231
2026-06-06T06:43:03.4486148Z             },
2026-06-06T06:43:03.4486517Z             {
2026-06-06T06:43:03.4487088Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-06T06:43:03.4487480Z               "line": 56
2026-06-06T06:43:03.4487862Z             },
2026-06-06T06:43:03.4488225Z             {
2026-06-06T06:43:03.4488805Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4489228Z               "line": 41
2026-06-06T06:43:03.4489609Z             },
2026-06-06T06:43:03.4489982Z             {
2026-06-06T06:43:03.4490580Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.4490984Z               "line": 27
2026-06-06T06:43:03.4491348Z             },
2026-06-06T06:43:03.4491728Z             {
2026-06-06T06:43:03.4492335Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.4492734Z               "line": 59
2026-06-06T06:43:03.4493110Z             },
2026-06-06T06:43:03.4493472Z             {
2026-06-06T06:43:03.4494064Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.4494454Z               "line": 68
2026-06-06T06:43:03.4494832Z             },
2026-06-06T06:43:03.4495195Z             {
2026-06-06T06:43:03.4495773Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:43:03.4496178Z               "line": 129
2026-06-06T06:43:03.4496542Z             }
2026-06-06T06:43:03.4496911Z           ]
2026-06-06T06:43:03.4497275Z         },
2026-06-06T06:43:03.4497648Z         "int": {
2026-06-06T06:43:03.4498057Z           "complete": true,
2026-06-06T06:43:03.4498454Z           "evidence": [
2026-06-06T06:43:03.4498824Z             {
2026-06-06T06:43:03.4499466Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-06T06:43:03.4499871Z               "line": 102
2026-06-06T06:43:03.4500248Z             },
2026-06-06T06:43:03.4500620Z             {
2026-06-06T06:43:03.4501204Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4501605Z               "line": 548
2026-06-06T06:43:03.4501987Z             },
2026-06-06T06:43:03.4502353Z             {
2026-06-06T06:43:03.4502939Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4503333Z               "line": 762
2026-06-06T06:43:03.4503707Z             }
2026-06-06T06:43:03.4504069Z           ]
2026-06-06T06:43:03.4504445Z         },
2026-06-06T06:43:03.4504822Z         "unit": {
2026-06-06T06:43:03.4505227Z           "complete": true,
2026-06-06T06:43:03.4505620Z           "evidence": [
2026-06-06T06:43:03.4505981Z             {
2026-06-06T06:43:03.4506604Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4506993Z               "line": 458
2026-06-06T06:43:03.4507628Z             },
2026-06-06T06:43:03.4508151Z             {
2026-06-06T06:43:03.4508783Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.4509223Z               "line": 668
2026-06-06T06:43:03.4509595Z             },
2026-06-06T06:43:03.4509967Z             {
2026-06-06T06:43:03.4510578Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-06T06:43:03.4510972Z               "line": 83
2026-06-06T06:43:03.4511349Z             },
2026-06-06T06:43:03.4511714Z             {
2026-06-06T06:43:03.4512295Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4512687Z               "line": 611
2026-06-06T06:43:03.4513057Z             },
2026-06-06T06:43:03.4513429Z             {
2026-06-06T06:43:03.4513999Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4514402Z               "line": 622
2026-06-06T06:43:03.4514767Z             },
2026-06-06T06:43:03.4515142Z             {
2026-06-06T06:43:03.4515727Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4516141Z               "line": 631
2026-06-06T06:43:03.4516512Z             },
2026-06-06T06:43:03.4516874Z             {
2026-06-06T06:43:03.4517471Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.4517865Z               "line": 90
2026-06-06T06:43:03.4518240Z             },
2026-06-06T06:43:03.4518606Z             {
2026-06-06T06:43:03.4519250Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.4519664Z               "line": 105
2026-06-06T06:43:03.4520062Z             },
2026-06-06T06:43:03.4520442Z             {
2026-06-06T06:43:03.4521040Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:43:03.4521446Z               "line": 131
2026-06-06T06:43:03.4521811Z             }
2026-06-06T06:43:03.4522194Z           ]
2026-06-06T06:43:03.4522559Z         }
2026-06-06T06:43:03.4522922Z       }
2026-06-06T06:43:03.4523291Z     },
2026-06-06T06:43:03.4523666Z     {
2026-06-06T06:43:03.4524085Z       "id": "REQ-INST-8",
2026-06-06T06:43:03.4524844Z       "title": "Remote-control mode distinct from local operation",
2026-06-06T06:43:03.4525280Z       "requiredStages": [
2026-06-06T06:43:03.4525667Z         "impl",
2026-06-06T06:43:03.4526041Z         "unit",
2026-06-06T06:43:03.4526418Z         "int"
2026-06-06T06:43:03.4526793Z       ],
2026-06-06T06:43:03.4527190Z       "stages": {
2026-06-06T06:43:03.4527565Z         "doc": {
2026-06-06T06:43:03.4527996Z           "complete": false,
2026-06-06T06:43:03.4528405Z           "evidence": []
2026-06-06T06:43:03.4528779Z         },
2026-06-06T06:43:03.4529231Z         "impl": {
2026-06-06T06:43:03.4529654Z           "complete": true,
2026-06-06T06:43:03.4530060Z           "evidence": [
2026-06-06T06:43:03.4530436Z             {
2026-06-06T06:43:03.4531020Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:43:03.4531429Z               "line": 98
2026-06-06T06:43:03.4531816Z             },
2026-06-06T06:43:03.4532198Z             {
2026-06-06T06:43:03.4532777Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:43:03.4533183Z               "line": 202
2026-06-06T06:43:03.4533557Z             },
2026-06-06T06:43:03.4533939Z             {
2026-06-06T06:43:03.4534509Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:43:03.4534916Z               "line": 220
2026-06-06T06:43:03.4535305Z             },
2026-06-06T06:43:03.4535679Z             {
2026-06-06T06:43:03.4536256Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-06T06:43:03.4536658Z               "line": 35
2026-06-06T06:43:03.4537042Z             }
2026-06-06T06:43:03.4537423Z           ]
2026-06-06T06:43:03.4537802Z         },
2026-06-06T06:43:03.4538192Z         "int": {
2026-06-06T06:43:03.4538613Z           "complete": true,
2026-06-06T06:43:03.4539021Z           "evidence": [
2026-06-06T06:43:03.4539425Z             {
2026-06-06T06:43:03.4540211Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.4540770Z               "line": 375
2026-06-06T06:43:03.4541147Z             },
2026-06-06T06:43:03.4541529Z             {
2026-06-06T06:43:03.4542118Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4542525Z               "line": 811
2026-06-06T06:43:03.4542899Z             }
2026-06-06T06:43:03.4543276Z           ]
2026-06-06T06:43:03.4543655Z         },
2026-06-06T06:43:03.4544044Z         "unit": {
2026-06-06T06:43:03.4544475Z           "complete": true,
2026-06-06T06:43:03.4544874Z           "evidence": [
2026-06-06T06:43:03.4545252Z             {
2026-06-06T06:43:03.4545828Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:43:03.4546233Z               "line": 172
2026-06-06T06:43:03.4546616Z             },
2026-06-06T06:43:03.4546989Z             {
2026-06-06T06:43:03.4547568Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:43:03.4547966Z               "line": 226
2026-06-06T06:43:03.4548370Z             },
2026-06-06T06:43:03.4548751Z             {
2026-06-06T06:43:03.4554243Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-06T06:43:03.4554723Z               "line": 70
2026-06-06T06:43:03.4555112Z             },
2026-06-06T06:43:03.4555497Z             {
2026-06-06T06:43:03.4556080Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-06T06:43:03.4556496Z               "line": 101
2026-06-06T06:43:03.4556872Z             }
2026-06-06T06:43:03.4557253Z           ]
2026-06-06T06:43:03.4557637Z         }
2026-06-06T06:43:03.4558017Z       }
2026-06-06T06:43:03.4558390Z     },
2026-06-06T06:43:03.4558763Z     {
2026-06-06T06:43:03.4559268Z       "id": "REQ-INST-9",
2026-06-06T06:43:03.4560221Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-06T06:43:03.4560664Z       "requiredStages": [
2026-06-06T06:43:03.4561052Z         "impl",
2026-06-06T06:43:03.4561430Z         "unit"
2026-06-06T06:43:03.4561842Z       ],
2026-06-06T06:43:03.4562232Z       "stages": {
2026-06-06T06:43:03.4562648Z         "doc": {
2026-06-06T06:43:03.4563075Z           "complete": false,
2026-06-06T06:43:03.4563493Z           "evidence": []
2026-06-06T06:43:03.4563871Z         },
2026-06-06T06:43:03.4564257Z         "impl": {
2026-06-06T06:43:03.4564684Z           "complete": true,
2026-06-06T06:43:03.4565084Z           "evidence": [
2026-06-06T06:43:03.4565463Z             {
2026-06-06T06:43:03.4566055Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4566465Z               "line": 291
2026-06-06T06:43:03.4566845Z             }
2026-06-06T06:43:03.4567214Z           ]
2026-06-06T06:43:03.4567596Z         },
2026-06-06T06:43:03.4567973Z         "int": {
2026-06-06T06:43:03.4568402Z           "complete": false,
2026-06-06T06:43:03.4568801Z           "evidence": []
2026-06-06T06:43:03.4569220Z         },
2026-06-06T06:43:03.4569617Z         "unit": {
2026-06-06T06:43:03.4570034Z           "complete": true,
2026-06-06T06:43:03.4570455Z           "evidence": [
2026-06-06T06:43:03.4570849Z             {
2026-06-06T06:43:03.4571439Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4571841Z               "line": 979
2026-06-06T06:43:03.4572228Z             },
2026-06-06T06:43:03.4572606Z             {
2026-06-06T06:43:03.4573185Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4573602Z               "line": 988
2026-06-06T06:43:03.4573976Z             },
2026-06-06T06:43:03.4574356Z             {
2026-06-06T06:43:03.4574932Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4575343Z               "line": 1002
2026-06-06T06:43:03.4575725Z             },
2026-06-06T06:43:03.4576097Z             {
2026-06-06T06:43:03.4576697Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4577101Z               "line": 1012
2026-06-06T06:43:03.4577485Z             },
2026-06-06T06:43:03.4577868Z             {
2026-06-06T06:43:03.4578696Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.4579342Z               "line": 1031
2026-06-06T06:43:03.4579721Z             }
2026-06-06T06:43:03.4580110Z           ]
2026-06-06T06:43:03.4580480Z         }
2026-06-06T06:43:03.4580856Z       }
2026-06-06T06:43:03.4581233Z     },
2026-06-06T06:43:03.4581604Z     {
2026-06-06T06:43:03.4582030Z       "id": "REQ-INSTALL-1",
2026-06-06T06:43:03.4583016Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-06T06:43:03.4583452Z       "requiredStages": [
2026-06-06T06:43:03.4583831Z         "doc",
2026-06-06T06:43:03.4584217Z         "impl",
2026-06-06T06:43:03.4584599Z         "int"
2026-06-06T06:43:03.4584969Z       ],
2026-06-06T06:43:03.4585364Z       "stages": {
2026-06-06T06:43:03.4585742Z         "doc": {
2026-06-06T06:43:03.4586168Z           "complete": true,
2026-06-06T06:43:03.4586568Z           "evidence": [
2026-06-06T06:43:03.4586949Z             {
2026-06-06T06:43:03.4587403Z               "path": "CONTEXT.md",
2026-06-06T06:43:03.4587820Z               "line": 550
2026-06-06T06:43:03.4588200Z             }
2026-06-06T06:43:03.4588568Z           ]
2026-06-06T06:43:03.4588944Z         },
2026-06-06T06:43:03.4589369Z         "impl": {
2026-06-06T06:43:03.4589802Z           "complete": true,
2026-06-06T06:43:03.4590204Z           "evidence": [
2026-06-06T06:43:03.4590585Z             {
2026-06-06T06:43:03.4591092Z               "path": "installer/install.ps1",
2026-06-06T06:43:03.4591494Z               "line": 50
2026-06-06T06:43:03.4591873Z             },
2026-06-06T06:43:03.4592247Z             {
2026-06-06T06:43:03.4592749Z               "path": "installer/install.sh",
2026-06-06T06:43:03.4593160Z               "line": 49
2026-06-06T06:43:03.4593534Z             }
2026-06-06T06:43:03.4593909Z           ]
2026-06-06T06:43:03.4594280Z         },
2026-06-06T06:43:03.4594667Z         "int": {
2026-06-06T06:43:03.4595078Z           "complete": true,
2026-06-06T06:43:03.4595496Z           "evidence": [
2026-06-06T06:43:03.4595868Z             {
2026-06-06T06:43:03.4596455Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-06T06:43:03.4596863Z               "line": 21
2026-06-06T06:43:03.4597226Z             }
2026-06-06T06:43:03.4597594Z           ]
2026-06-06T06:43:03.4597954Z         },
2026-06-06T06:43:03.4598335Z         "unit": {
2026-06-06T06:43:03.4598748Z           "complete": false,
2026-06-06T06:43:03.4599199Z           "evidence": []
2026-06-06T06:43:03.4599570Z         }
2026-06-06T06:43:03.4599926Z       }
2026-06-06T06:43:03.4600287Z     },
2026-06-06T06:43:03.4600642Z     {
2026-06-06T06:43:03.4601069Z       "id": "REQ-INSTALL-2",
2026-06-06T06:43:03.4601730Z       "title": "Marketplace-repackaging-friendly install",
2026-06-06T06:43:03.4602163Z       "requiredStages": [
2026-06-06T06:43:03.4602548Z         "doc"
2026-06-06T06:43:03.4602920Z       ],
2026-06-06T06:43:03.4603313Z       "stages": {
2026-06-06T06:43:03.4603690Z         "doc": {
2026-06-06T06:43:03.4604128Z           "complete": true,
2026-06-06T06:43:03.4604542Z           "evidence": [
2026-06-06T06:43:03.4604934Z             {
2026-06-06T06:43:03.4605383Z               "path": "CONTEXT.md",
2026-06-06T06:43:03.4605792Z               "line": 551
2026-06-06T06:43:03.4606175Z             }
2026-06-06T06:43:03.4606547Z           ]
2026-06-06T06:43:03.4606922Z         },
2026-06-06T06:43:03.4607303Z         "impl": {
2026-06-06T06:43:03.4607729Z           "complete": false,
2026-06-06T06:43:03.4608146Z           "evidence": []
2026-06-06T06:43:03.4608511Z         },
2026-06-06T06:43:03.4608887Z         "int": {
2026-06-06T06:43:03.4609349Z           "complete": false,
2026-06-06T06:43:03.4609752Z           "evidence": []
2026-06-06T06:43:03.4610114Z         },
2026-06-06T06:43:03.4610504Z         "unit": {
2026-06-06T06:43:03.4610927Z           "complete": false,
2026-06-06T06:43:03.4611326Z           "evidence": []
2026-06-06T06:43:03.4611704Z         }
2026-06-06T06:43:03.4612227Z       }
2026-06-06T06:43:03.4612612Z     },
2026-06-06T06:43:03.4613105Z     {
2026-06-06T06:43:03.4613533Z       "id": "REQ-INSTALL-3",
2026-06-06T06:43:03.4614221Z       "title": "Idempotent + interactive-optional first run",
2026-06-06T06:43:03.4614637Z       "requiredStages": [
2026-06-06T06:43:03.4615015Z         "impl",
2026-06-06T06:43:03.4615389Z         "int"
2026-06-06T06:43:03.4615759Z       ],
2026-06-06T06:43:03.4616137Z       "stages": {
2026-06-06T06:43:03.4616517Z         "doc": {
2026-06-06T06:43:03.4616929Z           "complete": false,
2026-06-06T06:43:03.4617321Z           "evidence": []
2026-06-06T06:43:03.4617694Z         },
2026-06-06T06:43:03.4618069Z         "impl": {
2026-06-06T06:43:03.4618482Z           "complete": true,
2026-06-06T06:43:03.4618870Z           "evidence": [
2026-06-06T06:43:03.4619296Z             {
2026-06-06T06:43:03.4619803Z               "path": "installer/install.ps1",
2026-06-06T06:43:03.4620195Z               "line": 93
2026-06-06T06:43:03.4620566Z             },
2026-06-06T06:43:03.4620941Z             {
2026-06-06T06:43:03.4621450Z               "path": "installer/install.sh",
2026-06-06T06:43:03.4621841Z               "line": 76
2026-06-06T06:43:03.4622215Z             }
2026-06-06T06:43:03.4627356Z           ]
2026-06-06T06:43:03.4627807Z         },
2026-06-06T06:43:03.4628201Z         "int": {
2026-06-06T06:43:03.4628620Z           "complete": true,
2026-06-06T06:43:03.4629026Z           "evidence": [
2026-06-06T06:43:03.4629491Z             {
2026-06-06T06:43:03.4630082Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-06T06:43:03.4630487Z               "line": 152
2026-06-06T06:43:03.4630853Z             }
2026-06-06T06:43:03.4631227Z           ]
2026-06-06T06:43:03.4631587Z         },
2026-06-06T06:43:03.4631969Z         "unit": {
2026-06-06T06:43:03.4632387Z           "complete": false,
2026-06-06T06:43:03.4632797Z           "evidence": []
2026-06-06T06:43:03.4633164Z         }
2026-06-06T06:43:03.4633518Z       }
2026-06-06T06:43:03.4633913Z     },
2026-06-06T06:43:03.4634274Z     {
2026-06-06T06:43:03.4634712Z       "id": "REQ-INSTALL-4",
2026-06-06T06:43:03.4638392Z       "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-06T06:43:03.4638842Z       "requiredStages": [
2026-06-06T06:43:03.4639570Z         "impl",
2026-06-06T06:43:03.4640020Z         "unit"
2026-06-06T06:43:03.4640408Z       ],
2026-06-06T06:43:03.4640796Z       "stages": {
2026-06-06T06:43:03.4641188Z         "doc": {
2026-06-06T06:43:03.4641607Z           "complete": false,
2026-06-06T06:43:03.4642026Z           "evidence": []
2026-06-06T06:43:03.4642406Z         },
2026-06-06T06:43:03.4642787Z         "impl": {
2026-06-06T06:43:03.4643212Z           "complete": true,
2026-06-06T06:43:03.4643615Z           "evidence": [
2026-06-06T06:43:03.4644004Z             {
2026-06-06T06:43:03.4644668Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.4645095Z               "line": 149
2026-06-06T06:43:03.4645483Z             },
2026-06-06T06:43:03.4645860Z             {
2026-06-06T06:43:03.4646446Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4646839Z               "line": 29
2026-06-06T06:43:03.4647213Z             },
2026-06-06T06:43:03.4647586Z             {
2026-06-06T06:43:03.4648169Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4648570Z               "line": 117
2026-06-06T06:43:03.4648932Z             },
2026-06-06T06:43:03.4649360Z             {
2026-06-06T06:43:03.4649941Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4650345Z               "line": 161
2026-06-06T06:43:03.4650716Z             },
2026-06-06T06:43:03.4651078Z             {
2026-06-06T06:43:03.4651659Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4652324Z               "line": 191
2026-06-06T06:43:03.4652727Z             },
2026-06-06T06:43:03.4653233Z             {
2026-06-06T06:43:03.4653826Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4654236Z               "line": 223
2026-06-06T06:43:03.4654606Z             },
2026-06-06T06:43:03.4654976Z             {
2026-06-06T06:43:03.4655453Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4655860Z               "line": 2331
2026-06-06T06:43:03.4656230Z             }
2026-06-06T06:43:03.4656601Z           ]
2026-06-06T06:43:03.4656969Z         },
2026-06-06T06:43:03.4657334Z         "int": {
2026-06-06T06:43:03.4657754Z           "complete": false,
2026-06-06T06:43:03.4658154Z           "evidence": []
2026-06-06T06:43:03.4658520Z         },
2026-06-06T06:43:03.4658893Z         "unit": {
2026-06-06T06:43:03.4659357Z           "complete": true,
2026-06-06T06:43:03.4659757Z           "evidence": [
2026-06-06T06:43:03.4660115Z             {
2026-06-06T06:43:03.4660764Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.4661165Z               "line": 311
2026-06-06T06:43:03.4661539Z             },
2026-06-06T06:43:03.4661897Z             {
2026-06-06T06:43:03.4662483Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4662885Z               "line": 269
2026-06-06T06:43:03.4663245Z             },
2026-06-06T06:43:03.4663612Z             {
2026-06-06T06:43:03.4664187Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4664587Z               "line": 304
2026-06-06T06:43:03.4664954Z             },
2026-06-06T06:43:03.4665319Z             {
2026-06-06T06:43:03.4665910Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:43:03.4666304Z               "line": 321
2026-06-06T06:43:03.4666671Z             },
2026-06-06T06:43:03.4667038Z             {
2026-06-06T06:43:03.4667527Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4667932Z               "line": 3545
2026-06-06T06:43:03.4668308Z             }
2026-06-06T06:43:03.4668690Z           ]
2026-06-06T06:43:03.4669049Z         }
2026-06-06T06:43:03.4669471Z       }
2026-06-06T06:43:03.4669834Z     },
2026-06-06T06:43:03.4670201Z     {
2026-06-06T06:43:03.4670621Z       "id": "REQ-INSTALL-5",
2026-06-06T06:43:03.4673382Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-06T06:43:03.4673831Z       "requiredStages": [
2026-06-06T06:43:03.4674214Z         "impl",
2026-06-06T06:43:03.4674596Z         "int"
2026-06-06T06:43:03.4674968Z       ],
2026-06-06T06:43:03.4675363Z       "stages": {
2026-06-06T06:43:03.4675748Z         "doc": {
2026-06-06T06:43:03.4676171Z           "complete": false,
2026-06-06T06:43:03.4676593Z           "evidence": []
2026-06-06T06:43:03.4676969Z         },
2026-06-06T06:43:03.4677361Z         "impl": {
2026-06-06T06:43:03.4677781Z           "complete": true,
2026-06-06T06:43:03.4678200Z           "evidence": [
2026-06-06T06:43:03.4678575Z             {
2026-06-06T06:43:03.4679084Z               "path": "installer/install.ps1",
2026-06-06T06:43:03.4679518Z               "line": 5
2026-06-06T06:43:03.4679897Z             },
2026-06-06T06:43:03.4680262Z             {
2026-06-06T06:43:03.4680743Z               "path": "installer/install.sh",
2026-06-06T06:43:03.4681134Z               "line": 6
2026-06-06T06:43:03.4681505Z             }
2026-06-06T06:43:03.4681868Z           ]
2026-06-06T06:43:03.4682235Z         },
2026-06-06T06:43:03.4682606Z         "int": {
2026-06-06T06:43:03.4683023Z           "complete": true,
2026-06-06T06:43:03.4683415Z           "evidence": [
2026-06-06T06:43:03.4683799Z             {
2026-06-06T06:43:03.4684371Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-06T06:43:03.4684771Z               "line": 22
2026-06-06T06:43:03.4685140Z             }
2026-06-06T06:43:03.4685502Z           ]
2026-06-06T06:43:03.4686027Z         },
2026-06-06T06:43:03.4686543Z         "unit": {
2026-06-06T06:43:03.4686966Z           "complete": false,
2026-06-06T06:43:03.4687368Z           "evidence": []
2026-06-06T06:43:03.4687749Z         }
2026-06-06T06:43:03.4688121Z       }
2026-06-06T06:43:03.4688476Z     },
2026-06-06T06:43:03.4688846Z     {
2026-06-06T06:43:03.4689315Z       "id": "REQ-MANIFEST-1",
2026-06-06T06:43:03.4690278Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-06T06:43:03.4690708Z       "requiredStages": [
2026-06-06T06:43:03.4691086Z         "doc",
2026-06-06T06:43:03.4691468Z         "impl",
2026-06-06T06:43:03.4691835Z         "unit"
2026-06-06T06:43:03.4692205Z       ],
2026-06-06T06:43:03.4692581Z       "stages": {
2026-06-06T06:43:03.4692955Z         "doc": {
2026-06-06T06:43:03.4693366Z           "complete": true,
2026-06-06T06:43:03.4693767Z           "evidence": [
2026-06-06T06:43:03.4694138Z             {
2026-06-06T06:43:03.4694602Z               "path": "docs/MANIFEST.md",
2026-06-06T06:43:03.4695008Z               "line": 19
2026-06-06T06:43:03.4695372Z             }
2026-06-06T06:43:03.4695742Z           ]
2026-06-06T06:43:03.4696104Z         },
2026-06-06T06:43:03.4696491Z         "impl": {
2026-06-06T06:43:03.4696907Z           "complete": true,
2026-06-06T06:43:03.4697293Z           "evidence": [
2026-06-06T06:43:03.4697663Z             {
2026-06-06T06:43:03.4698244Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4698641Z               "line": 18
2026-06-06T06:43:03.4699009Z             }
2026-06-06T06:43:03.4699434Z           ]
2026-06-06T06:43:03.4699803Z         },
2026-06-06T06:43:03.4700176Z         "int": {
2026-06-06T06:43:03.4700598Z           "complete": false,
2026-06-06T06:43:03.4705896Z           "evidence": []
2026-06-06T06:43:03.4706369Z         },
2026-06-06T06:43:03.4706763Z         "unit": {
2026-06-06T06:43:03.4707200Z           "complete": true,
2026-06-06T06:43:03.4707610Z           "evidence": [
2026-06-06T06:43:03.4708018Z             {
2026-06-06T06:43:03.4708640Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4709038Z               "line": 746
2026-06-06T06:43:03.4709506Z             },
2026-06-06T06:43:03.4709869Z             {
2026-06-06T06:43:03.4710459Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4710872Z               "line": 842
2026-06-06T06:43:03.4711245Z             },
2026-06-06T06:43:03.4711618Z             {
2026-06-06T06:43:03.4712204Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4712605Z               "line": 854
2026-06-06T06:43:03.4712984Z             },
2026-06-06T06:43:03.4713356Z             {
2026-06-06T06:43:03.4713940Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4714334Z               "line": 862
2026-06-06T06:43:03.4714719Z             },
2026-06-06T06:43:03.4715092Z             {
2026-06-06T06:43:03.4715699Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4716110Z               "line": 879
2026-06-06T06:43:03.4716476Z             },
2026-06-06T06:43:03.4716843Z             {
2026-06-06T06:43:03.4717420Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4717825Z               "line": 893
2026-06-06T06:43:03.4718190Z             },
2026-06-06T06:43:03.4718568Z             {
2026-06-06T06:43:03.4719149Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4719584Z               "line": 908
2026-06-06T06:43:03.4719955Z             },
2026-06-06T06:43:03.4720314Z             {
2026-06-06T06:43:03.4720893Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4721286Z               "line": 923
2026-06-06T06:43:03.4721662Z             },
2026-06-06T06:43:03.4722030Z             {
2026-06-06T06:43:03.4722604Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4723004Z               "line": 938
2026-06-06T06:43:03.4723618Z             },
2026-06-06T06:43:03.4724190Z             {
2026-06-06T06:43:03.4724782Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.4725184Z               "line": 949
2026-06-06T06:43:03.4725557Z             }
2026-06-06T06:43:03.4725926Z           ]
2026-06-06T06:43:03.4726301Z         }
2026-06-06T06:43:03.4726663Z       }
2026-06-06T06:43:03.4727026Z     },
2026-06-06T06:43:03.4727381Z     {
2026-06-06T06:43:03.4727808Z       "id": "REQ-MIGRATE-1",
2026-06-06T06:43:03.4728659Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-06T06:43:03.4729084Z       "requiredStages": [],
2026-06-06T06:43:03.4729519Z       "stages": {
2026-06-06T06:43:03.4729903Z         "doc": {
2026-06-06T06:43:03.4730334Z           "complete": false,
2026-06-06T06:43:03.4730731Z           "evidence": []
2026-06-06T06:43:03.4731104Z         },
2026-06-06T06:43:03.4731487Z         "impl": {
2026-06-06T06:43:03.4731903Z           "complete": false,
2026-06-06T06:43:03.4732319Z           "evidence": []
2026-06-06T06:43:03.4732694Z         },
2026-06-06T06:43:03.4733073Z         "int": {
2026-06-06T06:43:03.4733484Z           "complete": false,
2026-06-06T06:43:03.4733889Z           "evidence": []
2026-06-06T06:43:03.4734259Z         },
2026-06-06T06:43:03.4734632Z         "unit": {
2026-06-06T06:43:03.4735051Z           "complete": false,
2026-06-06T06:43:03.4735447Z           "evidence": []
2026-06-06T06:43:03.4735821Z         }
2026-06-06T06:43:03.4736185Z       }
2026-06-06T06:43:03.4736555Z     },
2026-06-06T06:43:03.4736920Z     {
2026-06-06T06:43:03.4737340Z       "id": "REQ-MSG-1",
2026-06-06T06:43:03.4739899Z       "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-06T06:43:03.4740338Z       "requiredStages": [
2026-06-06T06:43:03.4740732Z         "impl",
2026-06-06T06:43:03.4741110Z         "unit",
2026-06-06T06:43:03.4741511Z         "int"
2026-06-06T06:43:03.4741895Z       ],
2026-06-06T06:43:03.4742296Z       "stages": {
2026-06-06T06:43:03.4742685Z         "doc": {
2026-06-06T06:43:03.4743110Z           "complete": false,
2026-06-06T06:43:03.4743527Z           "evidence": []
2026-06-06T06:43:03.4743894Z         },
2026-06-06T06:43:03.4744287Z         "impl": {
2026-06-06T06:43:03.4744711Z           "complete": true,
2026-06-06T06:43:03.4745112Z           "evidence": [
2026-06-06T06:43:03.4745492Z             {
2026-06-06T06:43:03.4746041Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4746449Z               "line": 28
2026-06-06T06:43:03.4746828Z             },
2026-06-06T06:43:03.4747208Z             {
2026-06-06T06:43:03.4747781Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4748176Z               "line": 94
2026-06-06T06:43:03.4748557Z             },
2026-06-06T06:43:03.4748928Z             {
2026-06-06T06:43:03.4749540Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4749948Z               "line": 127
2026-06-06T06:43:03.4750349Z             },
2026-06-06T06:43:03.4750729Z             {
2026-06-06T06:43:03.4751273Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4751691Z               "line": 149
2026-06-06T06:43:03.4752076Z             },
2026-06-06T06:43:03.4752459Z             {
2026-06-06T06:43:03.4752998Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4753409Z               "line": 174
2026-06-06T06:43:03.4753795Z             },
2026-06-06T06:43:03.4754170Z             {
2026-06-06T06:43:03.4754729Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:43:03.4755126Z               "line": 18
2026-06-06T06:43:03.4755509Z             },
2026-06-06T06:43:03.4755890Z             {
2026-06-06T06:43:03.4756415Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.4756820Z               "line": 13
2026-06-06T06:43:03.4757196Z             },
2026-06-06T06:43:03.4757748Z             {
2026-06-06T06:43:03.4758410Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.4758815Z               "line": 61
2026-06-06T06:43:03.4759249Z             },
2026-06-06T06:43:03.4759631Z             {
2026-06-06T06:43:03.4760163Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:43:03.4760566Z               "line": 10
2026-06-06T06:43:03.4760947Z             }
2026-06-06T06:43:03.4761328Z           ]
2026-06-06T06:43:03.4761709Z         },
2026-06-06T06:43:03.4762094Z         "int": {
2026-06-06T06:43:03.4762513Z           "complete": true,
2026-06-06T06:43:03.4762922Z           "evidence": [
2026-06-06T06:43:03.4763298Z             {
2026-06-06T06:43:03.4763976Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:43:03.4764372Z               "line": 9
2026-06-06T06:43:03.4764764Z             },
2026-06-06T06:43:03.4765154Z             {
2026-06-06T06:43:03.4765825Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:43:03.4766232Z               "line": 66
2026-06-06T06:43:03.4766618Z             },
2026-06-06T06:43:03.4767005Z             {
2026-06-06T06:43:03.4767660Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:43:03.4768076Z               "line": 116
2026-06-06T06:43:03.4768455Z             }
2026-06-06T06:43:03.4768828Z           ]
2026-06-06T06:43:03.4769243Z         },
2026-06-06T06:43:03.4769632Z         "unit": {
2026-06-06T06:43:03.4770067Z           "complete": true,
2026-06-06T06:43:03.4770462Z           "evidence": [
2026-06-06T06:43:03.4770841Z             {
2026-06-06T06:43:03.4771383Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4771779Z               "line": 203
2026-06-06T06:43:03.4772160Z             },
2026-06-06T06:43:03.4772533Z             {
2026-06-06T06:43:03.4773083Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4773481Z               "line": 232
2026-06-06T06:43:03.4773866Z             },
2026-06-06T06:43:03.4774236Z             {
2026-06-06T06:43:03.4774778Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4775183Z               "line": 277
2026-06-06T06:43:03.4775556Z             },
2026-06-06T06:43:03.4775932Z             {
2026-06-06T06:43:03.4776462Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4776868Z               "line": 300
2026-06-06T06:43:03.4777240Z             },
2026-06-06T06:43:03.4782562Z             {
2026-06-06T06:43:03.4783232Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:43:03.4783638Z               "line": 322
2026-06-06T06:43:03.4784015Z             },
2026-06-06T06:43:03.4784378Z             {
2026-06-06T06:43:03.4784938Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:43:03.4785340Z               "line": 203
2026-06-06T06:43:03.4785704Z             },
2026-06-06T06:43:03.4786076Z             {
2026-06-06T06:43:03.4786671Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:43:03.4787096Z               "line": 233
2026-06-06T06:43:03.4787463Z             },
2026-06-06T06:43:03.4787840Z             {
2026-06-06T06:43:03.4788391Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:43:03.4788780Z               "line": 247
2026-06-06T06:43:03.4789151Z             },
2026-06-06T06:43:03.4789595Z             {
2026-06-06T06:43:03.4790151Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:43:03.4790555Z               "line": 259
2026-06-06T06:43:03.4790926Z             },
2026-06-06T06:43:03.4791302Z             {
2026-06-06T06:43:03.4791807Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.4792215Z               "line": 158
2026-06-06T06:43:03.4792579Z             },
2026-06-06T06:43:03.4792951Z             {
2026-06-06T06:43:03.4793466Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:43:03.4793855Z               "line": 235
2026-06-06T06:43:03.4794479Z             },
2026-06-06T06:43:03.4794858Z             {
2026-06-06T06:43:03.4795513Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:43:03.4795900Z               "line": 68
2026-06-06T06:43:03.4796272Z             },
2026-06-06T06:43:03.4796648Z             {
2026-06-06T06:43:03.4797152Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:43:03.4797544Z               "line": 74
2026-06-06T06:43:03.4797910Z             },
2026-06-06T06:43:03.4798282Z             {
2026-06-06T06:43:03.4798790Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:43:03.4799224Z               "line": 80
2026-06-06T06:43:03.4799604Z             },
2026-06-06T06:43:03.4799968Z             {
2026-06-06T06:43:03.4800494Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:43:03.4800881Z               "line": 99
2026-06-06T06:43:03.4801256Z             }
2026-06-06T06:43:03.4801618Z           ]
2026-06-06T06:43:03.4801988Z         }
2026-06-06T06:43:03.4802361Z       }
2026-06-06T06:43:03.4802733Z     },
2026-06-06T06:43:03.4803097Z     {
2026-06-06T06:43:03.4803502Z       "id": "REQ-MSG-2",
2026-06-06T06:43:03.4804944Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-06T06:43:03.4805375Z       "requiredStages": [
2026-06-06T06:43:03.4805765Z         "impl",
2026-06-06T06:43:03.4806152Z         "unit"
2026-06-06T06:43:03.4806526Z       ],
2026-06-06T06:43:03.4806923Z       "stages": {
2026-06-06T06:43:03.4807303Z         "doc": {
2026-06-06T06:43:03.4807736Z           "complete": false,
2026-06-06T06:43:03.4808151Z           "evidence": []
2026-06-06T06:43:03.4808533Z         },
2026-06-06T06:43:03.4808922Z         "impl": {
2026-06-06T06:43:03.4809386Z           "complete": true,
2026-06-06T06:43:03.4809795Z           "evidence": [
2026-06-06T06:43:03.4810197Z             {
2026-06-06T06:43:03.4810733Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4811133Z               "line": 11
2026-06-06T06:43:03.4811537Z             },
2026-06-06T06:43:03.4811931Z             {
2026-06-06T06:43:03.4812438Z               "path": "crates/spt/src/main.rs",
2026-06-06T06:43:03.4812839Z               "line": 8
2026-06-06T06:43:03.4813212Z             }
2026-06-06T06:43:03.4813592Z           ]
2026-06-06T06:43:03.4813966Z         },
2026-06-06T06:43:03.4814351Z         "int": {
2026-06-06T06:43:03.4814783Z           "complete": false,
2026-06-06T06:43:03.4815195Z           "evidence": []
2026-06-06T06:43:03.4815578Z         },
2026-06-06T06:43:03.4815963Z         "unit": {
2026-06-06T06:43:03.4816389Z           "complete": true,
2026-06-06T06:43:03.4816785Z           "evidence": [
2026-06-06T06:43:03.4817170Z             {
2026-06-06T06:43:03.4817670Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4818079Z               "line": 3334
2026-06-06T06:43:03.4818462Z             },
2026-06-06T06:43:03.4818826Z             {
2026-06-06T06:43:03.4819400Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4819816Z               "line": 3369
2026-06-06T06:43:03.4820207Z             },
2026-06-06T06:43:03.4820577Z             {
2026-06-06T06:43:03.4821058Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4821471Z               "line": 3376
2026-06-06T06:43:03.4821842Z             },
2026-06-06T06:43:03.4822212Z             {
2026-06-06T06:43:03.4822688Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4823096Z               "line": 4346
2026-06-06T06:43:03.4823469Z             },
2026-06-06T06:43:03.4823840Z             {
2026-06-06T06:43:03.4824329Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4824724Z               "line": 4355
2026-06-06T06:43:03.4825102Z             },
2026-06-06T06:43:03.4825468Z             {
2026-06-06T06:43:03.4825951Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4826397Z               "line": 4367
2026-06-06T06:43:03.4826814Z             }
2026-06-06T06:43:03.4827187Z           ]
2026-06-06T06:43:03.4827734Z         }
2026-06-06T06:43:03.4828249Z       }
2026-06-06T06:43:03.4828610Z     },
2026-06-06T06:43:03.4828973Z     {
2026-06-06T06:43:03.4829440Z       "id": "REQ-MSG-3",
2026-06-06T06:43:03.4831569Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-06T06:43:03.4832010Z       "requiredStages": [
2026-06-06T06:43:03.4832391Z         "impl",
2026-06-06T06:43:03.4832779Z         "unit",
2026-06-06T06:43:03.4833155Z         "int"
2026-06-06T06:43:03.4833531Z       ],
2026-06-06T06:43:03.4833922Z       "stages": {
2026-06-06T06:43:03.4834306Z         "doc": {
2026-06-06T06:43:03.4834741Z           "complete": false,
2026-06-06T06:43:03.4835150Z           "evidence": []
2026-06-06T06:43:03.4835531Z         },
2026-06-06T06:43:03.4835921Z         "impl": {
2026-06-06T06:43:03.4836350Z           "complete": true,
2026-06-06T06:43:03.4836764Z           "evidence": [
2026-06-06T06:43:03.4837146Z             {
2026-06-06T06:43:03.4837722Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:43:03.4838121Z               "line": 19
2026-06-06T06:43:03.4838506Z             },
2026-06-06T06:43:03.4838882Z             {
2026-06-06T06:43:03.4839454Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4839862Z               "line": 21
2026-06-06T06:43:03.4840241Z             },
2026-06-06T06:43:03.4840627Z             {
2026-06-06T06:43:03.4841147Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4841559Z               "line": 48
2026-06-06T06:43:03.4841934Z             },
2026-06-06T06:43:03.4842314Z             {
2026-06-06T06:43:03.4842848Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4843256Z               "line": 131
2026-06-06T06:43:03.4843636Z             }
2026-06-06T06:43:03.4844015Z           ]
2026-06-06T06:43:03.4844397Z         },
2026-06-06T06:43:03.4844772Z         "int": {
2026-06-06T06:43:03.4845212Z           "complete": true,
2026-06-06T06:43:03.4845635Z           "evidence": [
2026-06-06T06:43:03.4846014Z             {
2026-06-06T06:43:03.4846682Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:43:03.4847079Z               "line": 10
2026-06-06T06:43:03.4847456Z             },
2026-06-06T06:43:03.4847834Z             {
2026-06-06T06:43:03.4848505Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:43:03.4848919Z               "line": 66
2026-06-06T06:43:03.4849352Z             }
2026-06-06T06:43:03.4849759Z           ]
2026-06-06T06:43:03.4850145Z         },
2026-06-06T06:43:03.4850540Z         "unit": {
2026-06-06T06:43:03.4850959Z           "complete": true,
2026-06-06T06:43:03.4851372Z           "evidence": [
2026-06-06T06:43:03.4851757Z             {
2026-06-06T06:43:03.4852289Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4852702Z               "line": 185
2026-06-06T06:43:03.4853077Z             },
2026-06-06T06:43:03.4858683Z             {
2026-06-06T06:43:03.4859453Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4859899Z               "line": 204
2026-06-06T06:43:03.4860300Z             },
2026-06-06T06:43:03.4860680Z             {
2026-06-06T06:43:03.4861227Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:43:03.4861630Z               "line": 223
2026-06-06T06:43:03.4862014Z             }
2026-06-06T06:43:03.4862391Z           ]
2026-06-06T06:43:03.4862763Z         }
2026-06-06T06:43:03.4863151Z       }
2026-06-06T06:43:03.4863517Z     },
2026-06-06T06:43:03.4863896Z     {
2026-06-06T06:43:03.4864309Z       "id": "REQ-NET-1",
2026-06-06T06:43:03.4865247Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-06T06:43:03.4865683Z       "requiredStages": [
2026-06-06T06:43:03.4866071Z         "impl",
2026-06-06T06:43:03.4866457Z         "unit",
2026-06-06T06:43:03.4866834Z         "int"
2026-06-06T06:43:03.4867220Z       ],
2026-06-06T06:43:03.4867903Z       "stages": {
2026-06-06T06:43:03.4868456Z         "doc": {
2026-06-06T06:43:03.4868886Z           "complete": false,
2026-06-06T06:43:03.4869360Z           "evidence": []
2026-06-06T06:43:03.4869742Z         },
2026-06-06T06:43:03.4870133Z         "impl": {
2026-06-06T06:43:03.4870559Z           "complete": true,
2026-06-06T06:43:03.4870961Z           "evidence": [
2026-06-06T06:43:03.4871344Z             {
2026-06-06T06:43:03.4871941Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4872354Z               "line": 54
2026-06-06T06:43:03.4872735Z             },
2026-06-06T06:43:03.4873107Z             {
2026-06-06T06:43:03.4873701Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4874101Z               "line": 533
2026-06-06T06:43:03.4874483Z             },
2026-06-06T06:43:03.4874862Z             {
2026-06-06T06:43:03.4875399Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-06T06:43:03.4875818Z               "line": 69
2026-06-06T06:43:03.4876197Z             },
2026-06-06T06:43:03.4876597Z             {
2026-06-06T06:43:03.4877197Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4877611Z               "line": 65
2026-06-06T06:43:03.4877996Z             },
2026-06-06T06:43:03.4878372Z             {
2026-06-06T06:43:03.4878967Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4879411Z               "line": 127
2026-06-06T06:43:03.4879795Z             },
2026-06-06T06:43:03.4880171Z             {
2026-06-06T06:43:03.4880760Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4881166Z               "line": 143
2026-06-06T06:43:03.4881537Z             },
2026-06-06T06:43:03.4881927Z             {
2026-06-06T06:43:03.4882513Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4882927Z               "line": 158
2026-06-06T06:43:03.4883315Z             },
2026-06-06T06:43:03.4883705Z             {
2026-06-06T06:43:03.4884296Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4884731Z               "line": 220
2026-06-06T06:43:03.4885120Z             },
2026-06-06T06:43:03.4885495Z             {
2026-06-06T06:43:03.4886084Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4886490Z               "line": 255
2026-06-06T06:43:03.4886872Z             },
2026-06-06T06:43:03.4887254Z             {
2026-06-06T06:43:03.4887838Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4888250Z               "line": 261
2026-06-06T06:43:03.4888624Z             },
2026-06-06T06:43:03.4889000Z             {
2026-06-06T06:43:03.4889627Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4890043Z               "line": 267
2026-06-06T06:43:03.4890429Z             },
2026-06-06T06:43:03.4890801Z             {
2026-06-06T06:43:03.4891387Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4891803Z               "line": 283
2026-06-06T06:43:03.4892203Z             },
2026-06-06T06:43:03.4892579Z             {
2026-06-06T06:43:03.4893172Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4893585Z               "line": 303
2026-06-06T06:43:03.4893965Z             },
2026-06-06T06:43:03.4894335Z             {
2026-06-06T06:43:03.4894892Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:43:03.4895295Z               "line": 35
2026-06-06T06:43:03.4895670Z             },
2026-06-06T06:43:03.4896033Z             {
2026-06-06T06:43:03.4896599Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:43:03.4896994Z               "line": 82
2026-06-06T06:43:03.4897369Z             },
2026-06-06T06:43:03.4897735Z             {
2026-06-06T06:43:03.4898277Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.4898687Z               "line": 129
2026-06-06T06:43:03.4899059Z             },
2026-06-06T06:43:03.4899625Z             {
2026-06-06T06:43:03.4900241Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.4900653Z               "line": 1311
2026-06-06T06:43:03.4901026Z             },
2026-06-06T06:43:03.4901399Z             {
2026-06-06T06:43:03.4901910Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4902297Z               "line": 17
2026-06-06T06:43:03.4902672Z             }
2026-06-06T06:43:03.4903042Z           ]
2026-06-06T06:43:03.4903408Z         },
2026-06-06T06:43:03.4903784Z         "int": {
2026-06-06T06:43:03.4904205Z           "complete": true,
2026-06-06T06:43:03.4904608Z           "evidence": [
2026-06-06T06:43:03.4904972Z             {
2026-06-06T06:43:03.4905575Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.4905969Z               "line": 314
2026-06-06T06:43:03.4906338Z             },
2026-06-06T06:43:03.4906698Z             {
2026-06-06T06:43:03.4907284Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4907699Z               "line": 555
2026-06-06T06:43:03.4908080Z             },
2026-06-06T06:43:03.4908454Z             {
2026-06-06T06:43:03.4909029Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.4909469Z               "line": 768
2026-06-06T06:43:03.4909837Z             }
2026-06-06T06:43:03.4910217Z           ]
2026-06-06T06:43:03.4910591Z         },
2026-06-06T06:43:03.4910969Z         "unit": {
2026-06-06T06:43:03.4911391Z           "complete": true,
2026-06-06T06:43:03.4911789Z           "evidence": [
2026-06-06T06:43:03.4912167Z             {
2026-06-06T06:43:03.4912742Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4913144Z               "line": 585
2026-06-06T06:43:03.4913523Z             },
2026-06-06T06:43:03.4913886Z             {
2026-06-06T06:43:03.4914468Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.4914861Z               "line": 618
2026-06-06T06:43:03.4915240Z             },
2026-06-06T06:43:03.4915621Z             {
2026-06-06T06:43:03.4916226Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.4916631Z               "line": 720
2026-06-06T06:43:03.4916997Z             },
2026-06-06T06:43:03.4917372Z             {
2026-06-06T06:43:03.4917942Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-06T06:43:03.4918353Z               "line": 142
2026-06-06T06:43:03.4918720Z             },
2026-06-06T06:43:03.4919089Z             {
2026-06-06T06:43:03.4919720Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4920127Z               "line": 357
2026-06-06T06:43:03.4920510Z             },
2026-06-06T06:43:03.4920882Z             {
2026-06-06T06:43:03.4921465Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4921877Z               "line": 371
2026-06-06T06:43:03.4922267Z             },
2026-06-06T06:43:03.4922654Z             {
2026-06-06T06:43:03.4923252Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4923675Z               "line": 390
2026-06-06T06:43:03.4924055Z             },
2026-06-06T06:43:03.4924435Z             {
2026-06-06T06:43:03.4925019Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:43:03.4925424Z               "line": 106
2026-06-06T06:43:03.4925807Z             },
2026-06-06T06:43:03.4926180Z             {
2026-06-06T06:43:03.4926753Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:43:03.4927156Z               "line": 148
2026-06-06T06:43:03.4927538Z             },
2026-06-06T06:43:03.4927919Z             {
2026-06-06T06:43:03.4928456Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:43:03.4928874Z               "line": 445
2026-06-06T06:43:03.4929480Z             },
2026-06-06T06:43:03.4935338Z             {
2026-06-06T06:43:03.4935999Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4936417Z               "line": 461
2026-06-06T06:43:03.4937088Z             },
2026-06-06T06:43:03.4937482Z             {
2026-06-06T06:43:03.4938173Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.4938574Z               "line": 677
2026-06-06T06:43:03.4938944Z             }
2026-06-06T06:43:03.4939431Z           ]
2026-06-06T06:43:03.4939824Z         }
2026-06-06T06:43:03.4940204Z       }
2026-06-06T06:43:03.4940560Z     },
2026-06-06T06:43:03.4940935Z     {
2026-06-06T06:43:03.4941346Z       "id": "REQ-NET-2",
2026-06-06T06:43:03.4942264Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-06T06:43:03.4942694Z       "requiredStages": [
2026-06-06T06:43:03.4943085Z         "impl"
2026-06-06T06:43:03.4943471Z       ],
2026-06-06T06:43:03.4943860Z       "stages": {
2026-06-06T06:43:03.4944248Z         "doc": {
2026-06-06T06:43:03.4944682Z           "complete": false,
2026-06-06T06:43:03.4945094Z           "evidence": []
2026-06-06T06:43:03.4945471Z         },
2026-06-06T06:43:03.4945865Z         "impl": {
2026-06-06T06:43:03.4946308Z           "complete": true,
2026-06-06T06:43:03.4946722Z           "evidence": [
2026-06-06T06:43:03.4947103Z             {
2026-06-06T06:43:03.4947673Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.4948085Z               "line": 49
2026-06-06T06:43:03.4948463Z             },
2026-06-06T06:43:03.4948845Z             {
2026-06-06T06:43:03.4949482Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4949889Z               "line": 39
2026-06-06T06:43:03.4950274Z             },
2026-06-06T06:43:03.4950643Z             {
2026-06-06T06:43:03.4951230Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4951631Z               "line": 49
2026-06-06T06:43:03.4952015Z             },
2026-06-06T06:43:03.4952397Z             {
2026-06-06T06:43:03.4952984Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4953399Z               "line": 127
2026-06-06T06:43:03.4953775Z             },
2026-06-06T06:43:03.4954171Z             {
2026-06-06T06:43:03.4954765Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4955179Z               "line": 143
2026-06-06T06:43:03.4955566Z             },
2026-06-06T06:43:03.4955946Z             {
2026-06-06T06:43:03.4956539Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:43:03.4956945Z               "line": 158
2026-06-06T06:43:03.4957329Z             }
2026-06-06T06:43:03.4957701Z           ]
2026-06-06T06:43:03.4958081Z         },
2026-06-06T06:43:03.4958473Z         "int": {
2026-06-06T06:43:03.4958900Z           "complete": false,
2026-06-06T06:43:03.4959360Z           "evidence": []
2026-06-06T06:43:03.4959738Z         },
2026-06-06T06:43:03.4960131Z         "unit": {
2026-06-06T06:43:03.4960550Z           "complete": true,
2026-06-06T06:43:03.4960969Z           "evidence": [
2026-06-06T06:43:03.4961354Z             {
2026-06-06T06:43:03.4961930Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.4962355Z               "line": 334
2026-06-06T06:43:03.4962739Z             }
2026-06-06T06:43:03.4963118Z           ]
2026-06-06T06:43:03.4963496Z         }
2026-06-06T06:43:03.4963880Z       }
2026-06-06T06:43:03.4964252Z     },
2026-06-06T06:43:03.4964617Z     {
2026-06-06T06:43:03.4965033Z       "id": "REQ-NET-3",
2026-06-06T06:43:03.4965871Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-06T06:43:03.4966309Z       "requiredStages": [
2026-06-06T06:43:03.4966692Z         "impl",
2026-06-06T06:43:03.4967081Z         "unit"
2026-06-06T06:43:03.4967462Z       ],
2026-06-06T06:43:03.4967845Z       "stages": {
2026-06-06T06:43:03.4968235Z         "doc": {
2026-06-06T06:43:03.4968656Z           "complete": false,
2026-06-06T06:43:03.4969069Z           "evidence": []
2026-06-06T06:43:03.4969471Z         },
2026-06-06T06:43:03.4969872Z         "impl": {
2026-06-06T06:43:03.4970303Z           "complete": true,
2026-06-06T06:43:03.4970702Z           "evidence": [
2026-06-06T06:43:03.4971247Z             {
2026-06-06T06:43:03.4971936Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4972340Z               "line": 39
2026-06-06T06:43:03.4972722Z             },
2026-06-06T06:43:03.4973098Z             {
2026-06-06T06:43:03.4973649Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4974059Z               "line": 159
2026-06-06T06:43:03.4974446Z             },
2026-06-06T06:43:03.4974824Z             {
2026-06-06T06:43:03.4975380Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:43:03.4975782Z               "line": 290
2026-06-06T06:43:03.4976170Z             },
2026-06-06T06:43:03.4976554Z             {
2026-06-06T06:43:03.4977105Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:43:03.4977511Z               "line": 36
2026-06-06T06:43:03.4977890Z             },
2026-06-06T06:43:03.4978273Z             {
2026-06-06T06:43:03.4978894Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4979357Z               "line": 135
2026-06-06T06:43:03.4979755Z             },
2026-06-06T06:43:03.4980131Z             {
2026-06-06T06:43:03.4980743Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4981143Z               "line": 172
2026-06-06T06:43:03.4981529Z             },
2026-06-06T06:43:03.4981903Z             {
2026-06-06T06:43:03.4982516Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4982924Z               "line": 184
2026-06-06T06:43:03.4983296Z             },
2026-06-06T06:43:03.4983677Z             {
2026-06-06T06:43:03.4984276Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4984686Z               "line": 222
2026-06-06T06:43:03.4985073Z             },
2026-06-06T06:43:03.4985456Z             {
2026-06-06T06:43:03.4986063Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4986467Z               "line": 237
2026-06-06T06:43:03.4986861Z             },
2026-06-06T06:43:03.4987242Z             {
2026-06-06T06:43:03.4987859Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4988274Z               "line": 273
2026-06-06T06:43:03.4988652Z             },
2026-06-06T06:43:03.4989042Z             {
2026-06-06T06:43:03.4989683Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4990106Z               "line": 314
2026-06-06T06:43:03.4990481Z             },
2026-06-06T06:43:03.4990864Z             {
2026-06-06T06:43:03.4991477Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.4991881Z               "line": 327
2026-06-06T06:43:03.4992270Z             },
2026-06-06T06:43:03.4992647Z             {
2026-06-06T06:43:03.4993242Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.4993644Z               "line": 29
2026-06-06T06:43:03.4994035Z             },
2026-06-06T06:43:03.4994422Z             {
2026-06-06T06:43:03.4995009Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.4995422Z               "line": 70
2026-06-06T06:43:03.4995801Z             },
2026-06-06T06:43:03.4996186Z             {
2026-06-06T06:43:03.4996769Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.4997179Z               "line": 121
2026-06-06T06:43:03.4997561Z             }
2026-06-06T06:43:03.4997933Z           ]
2026-06-06T06:43:03.4998314Z         },
2026-06-06T06:43:03.4998699Z         "int": {
2026-06-06T06:43:03.4999138Z           "complete": false,
2026-06-06T06:43:03.4999589Z           "evidence": []
2026-06-06T06:43:03.4999971Z         },
2026-06-06T06:43:03.5000364Z         "unit": {
2026-06-06T06:43:03.5000783Z           "complete": true,
2026-06-06T06:43:03.5001197Z           "evidence": [
2026-06-06T06:43:03.5001571Z             {
2026-06-06T06:43:03.5002150Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:43:03.5002552Z               "line": 203
2026-06-06T06:43:03.5003134Z             },
2026-06-06T06:43:03.5003540Z             {
2026-06-06T06:43:03.5004251Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:43:03.5004667Z               "line": 303
2026-06-06T06:43:03.5005045Z             },
2026-06-06T06:43:03.5005429Z             {
2026-06-06T06:43:03.5005992Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:43:03.5006408Z               "line": 399
2026-06-06T06:43:03.5011753Z             },
2026-06-06T06:43:03.5012230Z             {
2026-06-06T06:43:03.5012810Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:43:03.5013216Z               "line": 93
2026-06-06T06:43:03.5013603Z             },
2026-06-06T06:43:03.5013983Z             {
2026-06-06T06:43:03.5014552Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:43:03.5014962Z               "line": 131
2026-06-06T06:43:03.5015337Z             },
2026-06-06T06:43:03.5015721Z             {
2026-06-06T06:43:03.5016343Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.5016774Z               "line": 308
2026-06-06T06:43:03.5017160Z             },
2026-06-06T06:43:03.5017537Z             {
2026-06-06T06:43:03.5018125Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.5018531Z               "line": 345
2026-06-06T06:43:03.5018914Z             },
2026-06-06T06:43:03.5019348Z             {
2026-06-06T06:43:03.5019942Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:43:03.5020351Z               "line": 469
2026-06-06T06:43:03.5020729Z             }
2026-06-06T06:43:03.5021114Z           ]
2026-06-06T06:43:03.5021493Z         }
2026-06-06T06:43:03.5021868Z       }
2026-06-06T06:43:03.5022235Z     },
2026-06-06T06:43:03.5022612Z     {
2026-06-06T06:43:03.5023052Z       "id": "REQ-NODE-IDENTITY",
2026-06-06T06:43:03.5024260Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-06T06:43:03.5024692Z       "requiredStages": [
2026-06-06T06:43:03.5025085Z         "impl",
2026-06-06T06:43:03.5025481Z         "unit"
2026-06-06T06:43:03.5025857Z       ],
2026-06-06T06:43:03.5026250Z       "stages": {
2026-06-06T06:43:03.5026639Z         "doc": {
2026-06-06T06:43:03.5027062Z           "complete": false,
2026-06-06T06:43:03.5027474Z           "evidence": []
2026-06-06T06:43:03.5027851Z         },
2026-06-06T06:43:03.5028246Z         "impl": {
2026-06-06T06:43:03.5028668Z           "complete": true,
2026-06-06T06:43:03.5029073Z           "evidence": [
2026-06-06T06:43:03.5029497Z             {
2026-06-06T06:43:03.5030086Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5030496Z               "line": 60
2026-06-06T06:43:03.5030874Z             },
2026-06-06T06:43:03.5031248Z             {
2026-06-06T06:43:03.5031817Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5032228Z               "line": 68
2026-06-06T06:43:03.5032617Z             },
2026-06-06T06:43:03.5032989Z             {
2026-06-06T06:43:03.5033581Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5033984Z               "line": 86
2026-06-06T06:43:03.5034367Z             },
2026-06-06T06:43:03.5034742Z             {
2026-06-06T06:43:03.5035338Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5035752Z               "line": 120
2026-06-06T06:43:03.5036133Z             },
2026-06-06T06:43:03.5036515Z             {
2026-06-06T06:43:03.5037087Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5037496Z               "line": 127
2026-06-06T06:43:03.5037879Z             },
2026-06-06T06:43:03.5038263Z             {
2026-06-06T06:43:03.5038848Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5039281Z               "line": 143
2026-06-06T06:43:03.5039668Z             },
2026-06-06T06:43:03.5040039Z             {
2026-06-06T06:43:03.5040593Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:43:03.5041240Z               "line": 16
2026-06-06T06:43:03.5041771Z             }
2026-06-06T06:43:03.5042151Z           ]
2026-06-06T06:43:03.5042526Z         },
2026-06-06T06:43:03.5042913Z         "int": {
2026-06-06T06:43:03.5043338Z           "complete": false,
2026-06-06T06:43:03.5043750Z           "evidence": []
2026-06-06T06:43:03.5044128Z         },
2026-06-06T06:43:03.5044522Z         "unit": {
2026-06-06T06:43:03.5044948Z           "complete": true,
2026-06-06T06:43:03.5045349Z           "evidence": [
2026-06-06T06:43:03.5045736Z             {
2026-06-06T06:43:03.5046306Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5046720Z               "line": 199
2026-06-06T06:43:03.5047094Z             },
2026-06-06T06:43:03.5047470Z             {
2026-06-06T06:43:03.5048053Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5048458Z               "line": 218
2026-06-06T06:43:03.5048840Z             },
2026-06-06T06:43:03.5049263Z             {
2026-06-06T06:43:03.5049864Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5050284Z               "line": 232
2026-06-06T06:43:03.5050668Z             },
2026-06-06T06:43:03.5051045Z             {
2026-06-06T06:43:03.5051617Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:43:03.5052035Z               "line": 248
2026-06-06T06:43:03.5052411Z             },
2026-06-06T06:43:03.5052789Z             {
2026-06-06T06:43:03.5053338Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:43:03.5053757Z               "line": 125
2026-06-06T06:43:03.5054144Z             },
2026-06-06T06:43:03.5054520Z             {
2026-06-06T06:43:03.5055077Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:43:03.5055480Z               "line": 141
2026-06-06T06:43:03.5055869Z             },
2026-06-06T06:43:03.5056251Z             {
2026-06-06T06:43:03.5056798Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:43:03.5057224Z               "line": 153
2026-06-06T06:43:03.5057605Z             }
2026-06-06T06:43:03.5057998Z           ]
2026-06-06T06:43:03.5058370Z         }
2026-06-06T06:43:03.5058751Z       }
2026-06-06T06:43:03.5059119Z     },
2026-06-06T06:43:03.5059537Z     {
2026-06-06T06:43:03.5059963Z       "id": "REQ-NOTIF-1",
2026-06-06T06:43:03.5061964Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-06T06:43:03.5062398Z       "requiredStages": [
2026-06-06T06:43:03.5062782Z         "impl",
2026-06-06T06:43:03.5063172Z         "unit",
2026-06-06T06:43:03.5063556Z         "int"
2026-06-06T06:43:03.5063928Z       ],
2026-06-06T06:43:03.5064327Z       "stages": {
2026-06-06T06:43:03.5064711Z         "doc": {
2026-06-06T06:43:03.5065142Z           "complete": false,
2026-06-06T06:43:03.5065553Z           "evidence": []
2026-06-06T06:43:03.5065939Z         },
2026-06-06T06:43:03.5066338Z         "impl": {
2026-06-06T06:43:03.5066774Z           "complete": true,
2026-06-06T06:43:03.5067182Z           "evidence": [
2026-06-06T06:43:03.5067573Z             {
2026-06-06T06:43:03.5068168Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.5068574Z               "line": 456
2026-06-06T06:43:03.5068965Z             },
2026-06-06T06:43:03.5069394Z             {
2026-06-06T06:43:03.5069959Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5070365Z               "line": 30
2026-06-06T06:43:03.5070742Z             },
2026-06-06T06:43:03.5071131Z             {
2026-06-06T06:43:03.5071684Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5072094Z               "line": 62
2026-06-06T06:43:03.5072477Z             },
2026-06-06T06:43:03.5072853Z             {
2026-06-06T06:43:03.5073406Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5073808Z               "line": 83
2026-06-06T06:43:03.5074194Z             },
2026-06-06T06:43:03.5074567Z             {
2026-06-06T06:43:03.5075279Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5075828Z               "line": 97
2026-06-06T06:43:03.5076206Z             },
2026-06-06T06:43:03.5076599Z             {
2026-06-06T06:43:03.5077150Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5077562Z               "line": 126
2026-06-06T06:43:03.5077941Z             },
2026-06-06T06:43:03.5078324Z             {
2026-06-06T06:43:03.5078878Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5079333Z               "line": 167
2026-06-06T06:43:03.5079715Z             },
2026-06-06T06:43:03.5080082Z             {
2026-06-06T06:43:03.5080630Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5081021Z               "line": 216
2026-06-06T06:43:03.5081394Z             },
2026-06-06T06:43:03.5081769Z             {
2026-06-06T06:43:03.5082314Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5082729Z               "line": 317
2026-06-06T06:43:03.5083101Z             },
2026-06-06T06:43:03.5083485Z             {
2026-06-06T06:43:03.5084028Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5089332Z               "line": 365
2026-06-06T06:43:03.5089770Z             },
2026-06-06T06:43:03.5090142Z             {
2026-06-06T06:43:03.5090747Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5091161Z               "line": 24
2026-06-06T06:43:03.5091543Z             },
2026-06-06T06:43:03.5091906Z             {
2026-06-06T06:43:03.5092495Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5092895Z               "line": 34
2026-06-06T06:43:03.5093263Z             },
2026-06-06T06:43:03.5093634Z             {
2026-06-06T06:43:03.5094215Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5094613Z               "line": 55
2026-06-06T06:43:03.5094986Z             },
2026-06-06T06:43:03.5095349Z             {
2026-06-06T06:43:03.5095973Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5096388Z               "line": 76
2026-06-06T06:43:03.5096763Z             },
2026-06-06T06:43:03.5097132Z             {
2026-06-06T06:43:03.5097735Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5098135Z               "line": 88
2026-06-06T06:43:03.5098504Z             },
2026-06-06T06:43:03.5098872Z             {
2026-06-06T06:43:03.5099498Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:43:03.5099899Z               "line": 41
2026-06-06T06:43:03.5100266Z             },
2026-06-06T06:43:03.5100642Z             {
2026-06-06T06:43:03.5101221Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.5101607Z               "line": 94
2026-06-06T06:43:03.5101984Z             },
2026-06-06T06:43:03.5102348Z             {
2026-06-06T06:43:03.5102912Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:43:03.5103321Z               "line": 20
2026-06-06T06:43:03.5103708Z             },
2026-06-06T06:43:03.5104082Z             {
2026-06-06T06:43:03.5104640Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:43:03.5105038Z               "line": 30
2026-06-06T06:43:03.5105406Z             },
2026-06-06T06:43:03.5105775Z             {
2026-06-06T06:43:03.5106338Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:43:03.5106738Z               "line": 50
2026-06-06T06:43:03.5107113Z             },
2026-06-06T06:43:03.5107482Z             {
2026-06-06T06:43:03.5108027Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5108417Z               "line": 28
2026-06-06T06:43:03.5108797Z             },
2026-06-06T06:43:03.5109200Z             {
2026-06-06T06:43:03.5109748Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5110147Z               "line": 126
2026-06-06T06:43:03.5110516Z             },
2026-06-06T06:43:03.5111122Z             {
2026-06-06T06:43:03.5111687Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5112278Z               "line": 161
2026-06-06T06:43:03.5112644Z             },
2026-06-06T06:43:03.5113022Z             {
2026-06-06T06:43:03.5113562Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5113958Z               "line": 197
2026-06-06T06:43:03.5114339Z             },
2026-06-06T06:43:03.5114707Z             {
2026-06-06T06:43:03.5115248Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5115644Z               "line": 208
2026-06-06T06:43:03.5116024Z             },
2026-06-06T06:43:03.5116394Z             {
2026-06-06T06:43:03.5116930Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5117333Z               "line": 231
2026-06-06T06:43:03.5117702Z             },
2026-06-06T06:43:03.5118077Z             {
2026-06-06T06:43:03.5118611Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5119025Z               "line": 251
2026-06-06T06:43:03.5119449Z             },
2026-06-06T06:43:03.5119827Z             {
2026-06-06T06:43:03.5120396Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5120788Z               "line": 63
2026-06-06T06:43:03.5121166Z             }
2026-06-06T06:43:03.5121541Z           ]
2026-06-06T06:43:03.5121905Z         },
2026-06-06T06:43:03.5122287Z         "int": {
2026-06-06T06:43:03.5122699Z           "complete": true,
2026-06-06T06:43:03.5123098Z           "evidence": [
2026-06-06T06:43:03.5123462Z             {
2026-06-06T06:43:03.5124075Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.5124490Z               "line": 265
2026-06-06T06:43:03.5124870Z             },
2026-06-06T06:43:03.5125253Z             {
2026-06-06T06:43:03.5125863Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-06T06:43:03.5126268Z               "line": 102
2026-06-06T06:43:03.5126644Z             },
2026-06-06T06:43:03.5127037Z             {
2026-06-06T06:43:03.5127633Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5128052Z               "line": 564
2026-06-06T06:43:03.5128438Z             },
2026-06-06T06:43:03.5128811Z             {
2026-06-06T06:43:03.5129440Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5129848Z               "line": 868
2026-06-06T06:43:03.5130230Z             }
2026-06-06T06:43:03.5130611Z           ]
2026-06-06T06:43:03.5130987Z         },
2026-06-06T06:43:03.5131383Z         "unit": {
2026-06-06T06:43:03.5131806Z           "complete": true,
2026-06-06T06:43:03.5132225Z           "evidence": [
2026-06-06T06:43:03.5132600Z             {
2026-06-06T06:43:03.5133158Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5133561Z               "line": 442
2026-06-06T06:43:03.5133928Z             },
2026-06-06T06:43:03.5134301Z             {
2026-06-06T06:43:03.5134841Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5135251Z               "line": 480
2026-06-06T06:43:03.5135630Z             },
2026-06-06T06:43:03.5136000Z             {
2026-06-06T06:43:03.5136552Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5136948Z               "line": 563
2026-06-06T06:43:03.5137324Z             },
2026-06-06T06:43:03.5137691Z             {
2026-06-06T06:43:03.5138237Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5138629Z               "line": 584
2026-06-06T06:43:03.5139002Z             },
2026-06-06T06:43:03.5139417Z             {
2026-06-06T06:43:03.5139964Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5140363Z               "line": 637
2026-06-06T06:43:03.5140734Z             },
2026-06-06T06:43:03.5141111Z             {
2026-06-06T06:43:03.5141656Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5142056Z               "line": 676
2026-06-06T06:43:03.5142436Z             },
2026-06-06T06:43:03.5142956Z             {
2026-06-06T06:43:03.5143668Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5144061Z               "line": 866
2026-06-06T06:43:03.5144444Z             },
2026-06-06T06:43:03.5144809Z             {
2026-06-06T06:43:03.5145400Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5145805Z               "line": 133
2026-06-06T06:43:03.5146167Z             },
2026-06-06T06:43:03.5146542Z             {
2026-06-06T06:43:03.5147117Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5147521Z               "line": 208
2026-06-06T06:43:03.5147889Z             },
2026-06-06T06:43:03.5148266Z             {
2026-06-06T06:43:03.5148854Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:43:03.5149299Z               "line": 227
2026-06-06T06:43:03.5149674Z             },
2026-06-06T06:43:03.5150038Z             {
2026-06-06T06:43:03.5150639Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.5151039Z               "line": 332
2026-06-06T06:43:03.5151423Z             },
2026-06-06T06:43:03.5151796Z             {
2026-06-06T06:43:03.5152373Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:43:03.5152773Z               "line": 361
2026-06-06T06:43:03.5153138Z             },
2026-06-06T06:43:03.5153510Z             {
2026-06-06T06:43:03.5154125Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-06T06:43:03.5154518Z               "line": 112
2026-06-06T06:43:03.5154892Z             },
2026-06-06T06:43:03.5155261Z             {
2026-06-06T06:43:03.5155816Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:43:03.5156206Z               "line": 72
2026-06-06T06:43:03.5156578Z             },
2026-06-06T06:43:03.5156952Z             {
2026-06-06T06:43:03.5157514Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:43:03.5157919Z               "line": 94
2026-06-06T06:43:03.5158285Z             },
2026-06-06T06:43:03.5158668Z             {
2026-06-06T06:43:03.5159245Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5164506Z               "line": 365
2026-06-06T06:43:03.5164938Z             },
2026-06-06T06:43:03.5165313Z             {
2026-06-06T06:43:03.5165875Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5166287Z               "line": 396
2026-06-06T06:43:03.5166685Z             },
2026-06-06T06:43:03.5167057Z             {
2026-06-06T06:43:03.5167604Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5168013Z               "line": 410
2026-06-06T06:43:03.5168392Z             },
2026-06-06T06:43:03.5168769Z             {
2026-06-06T06:43:03.5169403Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5169824Z               "line": 441
2026-06-06T06:43:03.5170200Z             },
2026-06-06T06:43:03.5170581Z             {
2026-06-06T06:43:03.5171160Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5171571Z               "line": 458
2026-06-06T06:43:03.5171966Z             },
2026-06-06T06:43:03.5172339Z             {
2026-06-06T06:43:03.5172890Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5173292Z               "line": 483
2026-06-06T06:43:03.5173677Z             },
2026-06-06T06:43:03.5174058Z             {
2026-06-06T06:43:03.5174596Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:43:03.5175004Z               "line": 507
2026-06-06T06:43:03.5175379Z             },
2026-06-06T06:43:03.5175755Z             {
2026-06-06T06:43:03.5176324Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5176713Z               "line": 442
2026-06-06T06:43:03.5177085Z             }
2026-06-06T06:43:03.5177450Z           ]
2026-06-06T06:43:03.5177824Z         }
2026-06-06T06:43:03.5178185Z       }
2026-06-06T06:43:03.5178551Z     },
2026-06-06T06:43:03.5178910Z     {
2026-06-06T06:43:03.5179611Z       "id": "REQ-NOTIF-2",
2026-06-06T06:43:03.5181077Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-06T06:43:03.5181655Z       "requiredStages": [
2026-06-06T06:43:03.5182039Z         "doc",
2026-06-06T06:43:03.5182428Z         "impl",
2026-06-06T06:43:03.5182826Z         "unit",
2026-06-06T06:43:03.5183219Z         "int"
2026-06-06T06:43:03.5183593Z       ],
2026-06-06T06:43:03.5183987Z       "stages": {
2026-06-06T06:43:03.5184370Z         "doc": {
2026-06-06T06:43:03.5184798Z           "complete": true,
2026-06-06T06:43:03.5185206Z           "evidence": [
2026-06-06T06:43:03.5185589Z             {
2026-06-06T06:43:03.5186031Z               "path": "CONTEXT.md",
2026-06-06T06:43:03.5186432Z               "line": 346
2026-06-06T06:43:03.5186813Z             },
2026-06-06T06:43:03.5187185Z             {
2026-06-06T06:43:03.5187649Z               "path": "docs/MANIFEST.md",
2026-06-06T06:43:03.5188055Z               "line": 62
2026-06-06T06:43:03.5188455Z             }
2026-06-06T06:43:03.5188843Z           ]
2026-06-06T06:43:03.5189269Z         },
2026-06-06T06:43:03.5189671Z         "impl": {
2026-06-06T06:43:03.5190094Z           "complete": true,
2026-06-06T06:43:03.5190504Z           "evidence": [
2026-06-06T06:43:03.5190875Z             {
2026-06-06T06:43:03.5191439Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5191846Z               "line": 245
2026-06-06T06:43:03.5192221Z             },
2026-06-06T06:43:03.5192598Z             {
2026-06-06T06:43:03.5193147Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5193556Z               "line": 259
2026-06-06T06:43:03.5193935Z             },
2026-06-06T06:43:03.5194314Z             {
2026-06-06T06:43:03.5194871Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5195274Z               "line": 281
2026-06-06T06:43:03.5195659Z             },
2026-06-06T06:43:03.5196038Z             {
2026-06-06T06:43:03.5196640Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.5197053Z               "line": 126
2026-06-06T06:43:03.5197434Z             },
2026-06-06T06:43:03.5197811Z             {
2026-06-06T06:43:03.5198377Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5198783Z               "line": 72
2026-06-06T06:43:03.5199193Z             },
2026-06-06T06:43:03.5199576Z             {
2026-06-06T06:43:03.5200067Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5200479Z               "line": 1047
2026-06-06T06:43:03.5200862Z             },
2026-06-06T06:43:03.5201236Z             {
2026-06-06T06:43:03.5201741Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5202147Z               "line": 1079
2026-06-06T06:43:03.5202530Z             },
2026-06-06T06:43:03.5202903Z             {
2026-06-06T06:43:03.5203404Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5203822Z               "line": 1151
2026-06-06T06:43:03.5204212Z             },
2026-06-06T06:43:03.5204592Z             {
2026-06-06T06:43:03.5205099Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5205514Z               "line": 1187
2026-06-06T06:43:03.5205892Z             }
2026-06-06T06:43:03.5206279Z           ]
2026-06-06T06:43:03.5206657Z         },
2026-06-06T06:43:03.5207039Z         "int": {
2026-06-06T06:43:03.5207471Z           "complete": true,
2026-06-06T06:43:03.5207874Z           "evidence": [
2026-06-06T06:43:03.5208254Z             {
2026-06-06T06:43:03.5208837Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5209291Z               "line": 652
2026-06-06T06:43:03.5209677Z             },
2026-06-06T06:43:03.5210050Z             {
2026-06-06T06:43:03.5210646Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5211052Z               "line": 985
2026-06-06T06:43:03.5211434Z             }
2026-06-06T06:43:03.5211806Z           ]
2026-06-06T06:43:03.5212189Z         },
2026-06-06T06:43:03.5212742Z         "unit": {
2026-06-06T06:43:03.5213185Z           "complete": true,
2026-06-06T06:43:03.5213735Z           "evidence": [
2026-06-06T06:43:03.5214109Z             {
2026-06-06T06:43:03.5214676Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5215081Z               "line": 726
2026-06-06T06:43:03.5215467Z             },
2026-06-06T06:43:03.5215853Z             {
2026-06-06T06:43:03.5216405Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5216855Z               "line": 787
2026-06-06T06:43:03.5217236Z             },
2026-06-06T06:43:03.5217615Z             {
2026-06-06T06:43:03.5218107Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5218520Z               "line": 3434
2026-06-06T06:43:03.5218909Z             },
2026-06-06T06:43:03.5219334Z             {
2026-06-06T06:43:03.5219837Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5220245Z               "line": 3461
2026-06-06T06:43:03.5220628Z             }
2026-06-06T06:43:03.5221012Z           ]
2026-06-06T06:43:03.5221402Z         }
2026-06-06T06:43:03.5221778Z       }
2026-06-06T06:43:03.5222151Z     },
2026-06-06T06:43:03.5222527Z     {
2026-06-06T06:43:03.5222948Z       "id": "REQ-PAIR-1",
2026-06-06T06:43:03.5223456Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-06T06:43:03.5223880Z       "requiredStages": [
2026-06-06T06:43:03.5224272Z         "impl",
2026-06-06T06:43:03.5224659Z         "unit",
2026-06-06T06:43:03.5225038Z         "int"
2026-06-06T06:43:03.5225411Z       ],
2026-06-06T06:43:03.5225796Z       "stages": {
2026-06-06T06:43:03.5226184Z         "doc": {
2026-06-06T06:43:03.5226615Z           "complete": false,
2026-06-06T06:43:03.5227027Z           "evidence": []
2026-06-06T06:43:03.5227403Z         },
2026-06-06T06:43:03.5227784Z         "impl": {
2026-06-06T06:43:03.5228209Z           "complete": true,
2026-06-06T06:43:03.5228599Z           "evidence": [
2026-06-06T06:43:03.5228979Z             {
2026-06-06T06:43:03.5229678Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5230095Z               "line": 27
2026-06-06T06:43:03.5230475Z             },
2026-06-06T06:43:03.5230846Z             {
2026-06-06T06:43:03.5231489Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5231890Z               "line": 88
2026-06-06T06:43:03.5232273Z             },
2026-06-06T06:43:03.5232643Z             {
2026-06-06T06:43:03.5233294Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5233709Z               "line": 110
2026-06-06T06:43:03.5234088Z             },
2026-06-06T06:43:03.5239336Z             {
2026-06-06T06:43:03.5240087Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5240509Z               "line": 153
2026-06-06T06:43:03.5240886Z             },
2026-06-06T06:43:03.5241271Z             {
2026-06-06T06:43:03.5241924Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5242366Z               "line": 182
2026-06-06T06:43:03.5242759Z             },
2026-06-06T06:43:03.5243131Z             {
2026-06-06T06:43:03.5243770Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5244173Z               "line": 29
2026-06-06T06:43:03.5244549Z             },
2026-06-06T06:43:03.5244929Z             {
2026-06-06T06:43:03.5245634Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:43:03.5246036Z               "line": 31
2026-06-06T06:43:03.5246399Z             },
2026-06-06T06:43:03.5246773Z             {
2026-06-06T06:43:03.5247402Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5247804Z               "line": 40
2026-06-06T06:43:03.5248195Z             },
2026-06-06T06:43:03.5248568Z             {
2026-06-06T06:43:03.5249243Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5249655Z               "line": 131
2026-06-06T06:43:03.5250036Z             },
2026-06-06T06:43:03.5250659Z             {
2026-06-06T06:43:03.5251492Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5251910Z               "line": 306
2026-06-06T06:43:03.5252294Z             }
2026-06-06T06:43:03.5252672Z           ]
2026-06-06T06:43:03.5253044Z         },
2026-06-06T06:43:03.5253429Z         "int": {
2026-06-06T06:43:03.5253852Z           "complete": true,
2026-06-06T06:43:03.5254258Z           "evidence": [
2026-06-06T06:43:03.5254638Z             {
2026-06-06T06:43:03.5255223Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5255630Z               "line": 535
2026-06-06T06:43:03.5255997Z             },
2026-06-06T06:43:03.5256367Z             {
2026-06-06T06:43:03.5256941Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5257333Z               "line": 696
2026-06-06T06:43:03.5257698Z             }
2026-06-06T06:43:03.5258064Z           ]
2026-06-06T06:43:03.5258431Z         },
2026-06-06T06:43:03.5258820Z         "unit": {
2026-06-06T06:43:03.5259342Z           "complete": true,
2026-06-06T06:43:03.5259789Z           "evidence": [
2026-06-06T06:43:03.5260195Z             {
2026-06-06T06:43:03.5260842Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5261236Z               "line": 236
2026-06-06T06:43:03.5261605Z             },
2026-06-06T06:43:03.5261964Z             {
2026-06-06T06:43:03.5262610Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:43:03.5263025Z               "line": 349
2026-06-06T06:43:03.5263405Z             },
2026-06-06T06:43:03.5263792Z             {
2026-06-06T06:43:03.5264419Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5264832Z               "line": 194
2026-06-06T06:43:03.5265212Z             },
2026-06-06T06:43:03.5265597Z             {
2026-06-06T06:43:03.5266223Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5266636Z               "line": 216
2026-06-06T06:43:03.5267025Z             },
2026-06-06T06:43:03.5267410Z             {
2026-06-06T06:43:03.5268041Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5268450Z               "line": 230
2026-06-06T06:43:03.5268825Z             },
2026-06-06T06:43:03.5269263Z             {
2026-06-06T06:43:03.5269915Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5270332Z               "line": 242
2026-06-06T06:43:03.5270708Z             },
2026-06-06T06:43:03.5271085Z             {
2026-06-06T06:43:03.5271723Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5272130Z               "line": 256
2026-06-06T06:43:03.5272517Z             },
2026-06-06T06:43:03.5272890Z             {
2026-06-06T06:43:03.5273528Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5273930Z               "line": 270
2026-06-06T06:43:03.5274315Z             },
2026-06-06T06:43:03.5274710Z             {
2026-06-06T06:43:03.5275331Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5275754Z               "line": 277
2026-06-06T06:43:03.5276132Z             },
2026-06-06T06:43:03.5276512Z             {
2026-06-06T06:43:03.5277134Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:43:03.5277545Z               "line": 295
2026-06-06T06:43:03.5277925Z             },
2026-06-06T06:43:03.5278300Z             {
2026-06-06T06:43:03.5278928Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5279371Z               "line": 696
2026-06-06T06:43:03.5279759Z             },
2026-06-06T06:43:03.5280135Z             {
2026-06-06T06:43:03.5280767Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5281180Z               "line": 757
2026-06-06T06:43:03.5281582Z             },
2026-06-06T06:43:03.5281989Z             {
2026-06-06T06:43:03.5282799Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5283377Z               "line": 814
2026-06-06T06:43:03.5283760Z             },
2026-06-06T06:43:03.5284145Z             {
2026-06-06T06:43:03.5284781Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5285183Z               "line": 868
2026-06-06T06:43:03.5285568Z             },
2026-06-06T06:43:03.5285937Z             {
2026-06-06T06:43:03.5286567Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5286981Z               "line": 920
2026-06-06T06:43:03.5287360Z             },
2026-06-06T06:43:03.5287739Z             {
2026-06-06T06:43:03.5288356Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5288767Z               "line": 1084
2026-06-06T06:43:03.5289142Z             }
2026-06-06T06:43:03.5289572Z           ]
2026-06-06T06:43:03.5289958Z         }
2026-06-06T06:43:03.5290327Z       }
2026-06-06T06:43:03.5290701Z     },
2026-06-06T06:43:03.5291073Z     {
2026-06-06T06:43:03.5291514Z       "id": "REQ-PAIR-2",
2026-06-06T06:43:03.5292204Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-06T06:43:03.5292645Z       "requiredStages": [
2026-06-06T06:43:03.5293041Z         "impl",
2026-06-06T06:43:03.5293422Z         "unit"
2026-06-06T06:43:03.5293813Z       ],
2026-06-06T06:43:03.5294210Z       "stages": {
2026-06-06T06:43:03.5294599Z         "doc": {
2026-06-06T06:43:03.5295012Z           "complete": false,
2026-06-06T06:43:03.5295415Z           "evidence": []
2026-06-06T06:43:03.5295776Z         },
2026-06-06T06:43:03.5296176Z         "impl": {
2026-06-06T06:43:03.5296647Z           "complete": true,
2026-06-06T06:43:03.5297075Z           "evidence": [
2026-06-06T06:43:03.5297446Z             {
2026-06-06T06:43:03.5297987Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5298387Z               "line": 42
2026-06-06T06:43:03.5298755Z             },
2026-06-06T06:43:03.5299130Z             {
2026-06-06T06:43:03.5299740Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5300147Z               "line": 151
2026-06-06T06:43:03.5300521Z             },
2026-06-06T06:43:03.5300889Z             {
2026-06-06T06:43:03.5301426Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5301828Z               "line": 171
2026-06-06T06:43:03.5302188Z             },
2026-06-06T06:43:03.5302563Z             {
2026-06-06T06:43:03.5303090Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5303494Z               "line": 209
2026-06-06T06:43:03.5303857Z             },
2026-06-06T06:43:03.5304229Z             {
2026-06-06T06:43:03.5304770Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5305162Z               "line": 232
2026-06-06T06:43:03.5305533Z             }
2026-06-06T06:43:03.5305896Z           ]
2026-06-06T06:43:03.5306273Z         },
2026-06-06T06:43:03.5306650Z         "int": {
2026-06-06T06:43:03.5307071Z           "complete": false,
2026-06-06T06:43:03.5307486Z           "evidence": []
2026-06-06T06:43:03.5307855Z         },
2026-06-06T06:43:03.5308234Z         "unit": {
2026-06-06T06:43:03.5308640Z           "complete": true,
2026-06-06T06:43:03.5309041Z           "evidence": [
2026-06-06T06:43:03.5309454Z             {
2026-06-06T06:43:03.5310008Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5310419Z               "line": 253
2026-06-06T06:43:03.5310786Z             },
2026-06-06T06:43:03.5316298Z             {
2026-06-06T06:43:03.5316927Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5317338Z               "line": 272
2026-06-06T06:43:03.5317703Z             },
2026-06-06T06:43:03.5318083Z             {
2026-06-06T06:43:03.5318636Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5319033Z               "line": 284
2026-06-06T06:43:03.5319514Z             },
2026-06-06T06:43:03.5319882Z             {
2026-06-06T06:43:03.5320711Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5321136Z               "line": 303
2026-06-06T06:43:03.5321662Z             },
2026-06-06T06:43:03.5322040Z             {
2026-06-06T06:43:03.5322576Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5322980Z               "line": 319
2026-06-06T06:43:03.5323350Z             },
2026-06-06T06:43:03.5323720Z             {
2026-06-06T06:43:03.5324251Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5324652Z               "line": 331
2026-06-06T06:43:03.5325043Z             },
2026-06-06T06:43:03.5325416Z             {
2026-06-06T06:43:03.5325967Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5326362Z               "line": 343
2026-06-06T06:43:03.5326742Z             },
2026-06-06T06:43:03.5327103Z             {
2026-06-06T06:43:03.5327689Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5328149Z               "line": 356
2026-06-06T06:43:03.5328519Z             },
2026-06-06T06:43:03.5328912Z             {
2026-06-06T06:43:03.5329517Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:43:03.5329940Z               "line": 370
2026-06-06T06:43:03.5330307Z             }
2026-06-06T06:43:03.5330685Z           ]
2026-06-06T06:43:03.5331056Z         }
2026-06-06T06:43:03.5331416Z       }
2026-06-06T06:43:03.5331784Z     },
2026-06-06T06:43:03.5332142Z     {
2026-06-06T06:43:03.5332569Z       "id": "REQ-PAIR-3",
2026-06-06T06:43:03.5333299Z       "title": "Fetch current pairing code from any paired node",
2026-06-06T06:43:03.5333733Z       "requiredStages": [
2026-06-06T06:43:03.5334130Z         "impl",
2026-06-06T06:43:03.5334512Z         "unit"
2026-06-06T06:43:03.5334892Z       ],
2026-06-06T06:43:03.5335284Z       "stages": {
2026-06-06T06:43:03.5335676Z         "doc": {
2026-06-06T06:43:03.5336100Z           "complete": false,
2026-06-06T06:43:03.5336518Z           "evidence": []
2026-06-06T06:43:03.5336898Z         },
2026-06-06T06:43:03.5337300Z         "impl": {
2026-06-06T06:43:03.5337726Z           "complete": true,
2026-06-06T06:43:03.5338137Z           "evidence": [
2026-06-06T06:43:03.5338518Z             {
2026-06-06T06:43:03.5339010Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5339478Z               "line": 1504
2026-06-06T06:43:03.5339867Z             },
2026-06-06T06:43:03.5340241Z             {
2026-06-06T06:43:03.5340743Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5341150Z               "line": 1540
2026-06-06T06:43:03.5341535Z             },
2026-06-06T06:43:03.5341912Z             {
2026-06-06T06:43:03.5342406Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5342814Z               "line": 1687
2026-06-06T06:43:03.5343185Z             }
2026-06-06T06:43:03.5343565Z           ]
2026-06-06T06:43:03.5343938Z         },
2026-06-06T06:43:03.5344328Z         "int": {
2026-06-06T06:43:03.5344755Z           "complete": false,
2026-06-06T06:43:03.5345169Z           "evidence": []
2026-06-06T06:43:03.5345559Z         },
2026-06-06T06:43:03.5345957Z         "unit": {
2026-06-06T06:43:03.5346434Z           "complete": true,
2026-06-06T06:43:03.5346956Z           "evidence": [
2026-06-06T06:43:03.5347415Z             {
2026-06-06T06:43:03.5347982Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5348460Z               "line": 4459
2026-06-06T06:43:03.5348892Z             },
2026-06-06T06:43:03.5349513Z             {
2026-06-06T06:43:03.5350241Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5350696Z               "line": 4715
2026-06-06T06:43:03.5351134Z             },
2026-06-06T06:43:03.5351548Z             {
2026-06-06T06:43:03.5352104Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5352557Z               "line": 4731
2026-06-06T06:43:03.5352971Z             },
2026-06-06T06:43:03.5353392Z             {
2026-06-06T06:43:03.5353922Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5354396Z               "line": 4752
2026-06-06T06:43:03.5355142Z             },
2026-06-06T06:43:03.5355758Z             {
2026-06-06T06:43:03.5356327Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5356807Z               "line": 4768
2026-06-06T06:43:03.5357236Z             },
2026-06-06T06:43:03.5357675Z             {
2026-06-06T06:43:03.5358217Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5358675Z               "line": 4781
2026-06-06T06:43:03.5359105Z             },
2026-06-06T06:43:03.5359794Z             {
2026-06-06T06:43:03.5360525Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5361001Z               "line": 4790
2026-06-06T06:43:03.5361407Z             }
2026-06-06T06:43:03.5361826Z           ]
2026-06-06T06:43:03.5362257Z         }
2026-06-06T06:43:03.5362688Z       }
2026-06-06T06:43:03.5363099Z     },
2026-06-06T06:43:03.5363477Z     {
2026-06-06T06:43:03.5363945Z       "id": "REQ-PAIR-4",
2026-06-06T06:43:03.5364541Z       "title": "Subnet naming on first pairing",
2026-06-06T06:43:03.5365011Z       "requiredStages": [
2026-06-06T06:43:03.5365443Z         "impl",
2026-06-06T06:43:03.5365875Z         "unit"
2026-06-06T06:43:03.5366292Z       ],
2026-06-06T06:43:03.5366737Z       "stages": {
2026-06-06T06:43:03.5367177Z         "doc": {
2026-06-06T06:43:03.5367634Z           "complete": false,
2026-06-06T06:43:03.5368074Z           "evidence": []
2026-06-06T06:43:03.5368481Z         },
2026-06-06T06:43:03.5368923Z         "impl": {
2026-06-06T06:43:03.5369507Z           "complete": true,
2026-06-06T06:43:03.5370403Z           "evidence": [
2026-06-06T06:43:03.5370837Z             {
2026-06-06T06:43:03.5371419Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:43:03.5371872Z               "line": 154
2026-06-06T06:43:03.5372269Z             }
2026-06-06T06:43:03.5372695Z           ]
2026-06-06T06:43:03.5373116Z         },
2026-06-06T06:43:03.5373537Z         "int": {
2026-06-06T06:43:03.5373990Z           "complete": false,
2026-06-06T06:43:03.5374442Z           "evidence": []
2026-06-06T06:43:03.5374840Z         },
2026-06-06T06:43:03.5375252Z         "unit": {
2026-06-06T06:43:03.5375692Z           "complete": true,
2026-06-06T06:43:03.5376123Z           "evidence": [
2026-06-06T06:43:03.5376526Z             {
2026-06-06T06:43:03.5377195Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5377611Z               "line": 972
2026-06-06T06:43:03.5378007Z             }
2026-06-06T06:43:03.5378387Z           ]
2026-06-06T06:43:03.5378790Z         }
2026-06-06T06:43:03.5379248Z       }
2026-06-06T06:43:03.5379946Z     },
2026-06-06T06:43:03.5380330Z     {
2026-06-06T06:43:03.5380761Z       "id": "REQ-PAIR-5",
2026-06-06T06:43:03.5382435Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-06T06:43:03.5382897Z       "requiredStages": [
2026-06-06T06:43:03.5383312Z         "impl",
2026-06-06T06:43:03.5383722Z         "unit",
2026-06-06T06:43:03.5384119Z         "int"
2026-06-06T06:43:03.5384498Z       ],
2026-06-06T06:43:03.5384911Z       "stages": {
2026-06-06T06:43:03.5385309Z         "doc": {
2026-06-06T06:43:03.5385748Z           "complete": false,
2026-06-06T06:43:03.5386173Z           "evidence": []
2026-06-06T06:43:03.5386562Z         },
2026-06-06T06:43:03.5386948Z         "impl": {
2026-06-06T06:43:03.5387393Z           "complete": true,
2026-06-06T06:43:03.5387802Z           "evidence": [
2026-06-06T06:43:03.5388195Z             {
2026-06-06T06:43:03.5388825Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5389456Z               "line": 44
2026-06-06T06:43:03.5389914Z             },
2026-06-06T06:43:03.5390460Z             {
2026-06-06T06:43:03.5391130Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5398376Z               "line": 96
2026-06-06T06:43:03.5398928Z             },
2026-06-06T06:43:03.5399384Z             {
2026-06-06T06:43:03.5400520Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5401145Z               "line": 107
2026-06-06T06:43:03.5401530Z             },
2026-06-06T06:43:03.5401917Z             {
2026-06-06T06:43:03.5402548Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5402967Z               "line": 124
2026-06-06T06:43:03.5403359Z             },
2026-06-06T06:43:03.5403744Z             {
2026-06-06T06:43:03.5404397Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5404801Z               "line": 155
2026-06-06T06:43:03.5405196Z             },
2026-06-06T06:43:03.5405570Z             {
2026-06-06T06:43:03.5406206Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5406639Z               "line": 195
2026-06-06T06:43:03.5407024Z             },
2026-06-06T06:43:03.5407418Z             {
2026-06-06T06:43:03.5408054Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5408497Z               "line": 236
2026-06-06T06:43:03.5408909Z             },
2026-06-06T06:43:03.5409526Z             {
2026-06-06T06:43:03.5410269Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5410703Z               "line": 33
2026-06-06T06:43:03.5411104Z             },
2026-06-06T06:43:03.5411506Z             {
2026-06-06T06:43:03.5412255Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5412679Z               "line": 45
2026-06-06T06:43:03.5413075Z             },
2026-06-06T06:43:03.5413465Z             {
2026-06-06T06:43:03.5414197Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5414646Z               "line": 59
2026-06-06T06:43:03.5415032Z             },
2026-06-06T06:43:03.5415419Z             {
2026-06-06T06:43:03.5416056Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5416498Z               "line": 306
2026-06-06T06:43:03.5416911Z             }
2026-06-06T06:43:03.5417340Z           ]
2026-06-06T06:43:03.5417753Z         },
2026-06-06T06:43:03.5418157Z         "int": {
2026-06-06T06:43:03.5418600Z           "complete": true,
2026-06-06T06:43:03.5419046Z           "evidence": [
2026-06-06T06:43:03.5419536Z             {
2026-06-06T06:43:03.5420161Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5420590Z               "line": 696
2026-06-06T06:43:03.5421002Z             },
2026-06-06T06:43:03.5421380Z             {
2026-06-06T06:43:03.5422021Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5422432Z               "line": 315
2026-06-06T06:43:03.5422829Z             }
2026-06-06T06:43:03.5423215Z           ]
2026-06-06T06:43:03.5423614Z         },
2026-06-06T06:43:03.5424036Z         "unit": {
2026-06-06T06:43:03.5424482Z           "complete": true,
2026-06-06T06:43:03.5424920Z           "evidence": [
2026-06-06T06:43:03.5425316Z             {
2026-06-06T06:43:03.5425980Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5426443Z               "line": 265
2026-06-06T06:43:03.5426837Z             },
2026-06-06T06:43:03.5427239Z             {
2026-06-06T06:43:03.5427898Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5428334Z               "line": 276
2026-06-06T06:43:03.5428741Z             },
2026-06-06T06:43:03.5429146Z             {
2026-06-06T06:43:03.5430214Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:43:03.5430659Z               "line": 375
2026-06-06T06:43:03.5431058Z             },
2026-06-06T06:43:03.5431446Z             {
2026-06-06T06:43:03.5432199Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5432631Z               "line": 72
2026-06-06T06:43:03.5433034Z             },
2026-06-06T06:43:03.5433449Z             {
2026-06-06T06:43:03.5434184Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5434907Z               "line": 82
2026-06-06T06:43:03.5435364Z             },
2026-06-06T06:43:03.5435944Z             {
2026-06-06T06:43:03.5436711Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5437150Z               "line": 92
2026-06-06T06:43:03.5437560Z             },
2026-06-06T06:43:03.5437950Z             {
2026-06-06T06:43:03.5438698Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5439128Z               "line": 102
2026-06-06T06:43:03.5439797Z             },
2026-06-06T06:43:03.5440379Z             {
2026-06-06T06:43:03.5441121Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:43:03.5441561Z               "line": 117
2026-06-06T06:43:03.5441956Z             },
2026-06-06T06:43:03.5442360Z             {
2026-06-06T06:43:03.5443011Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5443444Z               "line": 750
2026-06-06T06:43:03.5443866Z             },
2026-06-06T06:43:03.5444277Z             {
2026-06-06T06:43:03.5444959Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5445421Z               "line": 806
2026-06-06T06:43:03.5445832Z             },
2026-06-06T06:43:03.5446242Z             {
2026-06-06T06:43:03.5446914Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:43:03.5447364Z               "line": 1026
2026-06-06T06:43:03.5447778Z             }
2026-06-06T06:43:03.5448198Z           ]
2026-06-06T06:43:03.5448589Z         }
2026-06-06T06:43:03.5449001Z       }
2026-06-06T06:43:03.5449616Z     },
2026-06-06T06:43:03.5450194Z     {
2026-06-06T06:43:03.5450660Z       "id": "REQ-PAIR-6",
2026-06-06T06:43:03.5452117Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-06T06:43:03.5452585Z       "requiredStages": [
2026-06-06T06:43:03.5453003Z         "impl",
2026-06-06T06:43:03.5453428Z         "unit"
2026-06-06T06:43:03.5453826Z       ],
2026-06-06T06:43:03.5454250Z       "stages": {
2026-06-06T06:43:03.5454689Z         "doc": {
2026-06-06T06:43:03.5455142Z           "complete": false,
2026-06-06T06:43:03.5455576Z           "evidence": []
2026-06-06T06:43:03.5455962Z         },
2026-06-06T06:43:03.5456381Z         "impl": {
2026-06-06T06:43:03.5456819Z           "complete": true,
2026-06-06T06:43:03.5457259Z           "evidence": [
2026-06-06T06:43:03.5457653Z             {
2026-06-06T06:43:03.5458282Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5458724Z               "line": 1540
2026-06-06T06:43:03.5459144Z             },
2026-06-06T06:43:03.5459967Z             {
2026-06-06T06:43:03.5460541Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5460982Z               "line": 1687
2026-06-06T06:43:03.5461393Z             },
2026-06-06T06:43:03.5461783Z             {
2026-06-06T06:43:03.5462355Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:43:03.5462804Z               "line": 18
2026-06-06T06:43:03.5463233Z             },
2026-06-06T06:43:03.5463666Z             {
2026-06-06T06:43:03.5464225Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:43:03.5464657Z               "line": 49
2026-06-06T06:43:03.5465059Z             },
2026-06-06T06:43:03.5465465Z             {
2026-06-06T06:43:03.5466022Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:43:03.5466457Z               "line": 70
2026-06-06T06:43:03.5466867Z             }
2026-06-06T06:43:03.5467263Z           ]
2026-06-06T06:43:03.5467674Z         },
2026-06-06T06:43:03.5468071Z         "int": {
2026-06-06T06:43:03.5468533Z           "complete": false,
2026-06-06T06:43:03.5468974Z           "evidence": []
2026-06-06T06:43:03.5469611Z         },
2026-06-06T06:43:03.5470228Z         "unit": {
2026-06-06T06:43:03.5470687Z           "complete": true,
2026-06-06T06:43:03.5471125Z           "evidence": [
2026-06-06T06:43:03.5471527Z             {
2026-06-06T06:43:03.5472395Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5472891Z               "line": 4803
2026-06-06T06:43:03.5473507Z             },
2026-06-06T06:43:03.5473925Z             {
2026-06-06T06:43:03.5474441Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.5474892Z               "line": 4820
2026-06-06T06:43:03.5475286Z             },
2026-06-06T06:43:03.5475698Z             {
2026-06-06T06:43:03.5476269Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:43:03.5476710Z               "line": 132
2026-06-06T06:43:03.5477115Z             },
2026-06-06T06:43:03.5477509Z             {
2026-06-06T06:43:03.5478078Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:43:03.5485331Z               "line": 141
2026-06-06T06:43:03.5485870Z             }
2026-06-06T06:43:03.5486258Z           ]
2026-06-06T06:43:03.5486668Z         }
2026-06-06T06:43:03.5487052Z       }
2026-06-06T06:43:03.5487426Z     },
2026-06-06T06:43:03.5487814Z     {
2026-06-06T06:43:03.5488277Z       "id": "REQ-PAIR-7",
2026-06-06T06:43:03.5489270Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-06T06:43:03.5489769Z       "requiredStages": [],
2026-06-06T06:43:03.5490193Z       "stages": {
2026-06-06T06:43:03.5490616Z         "doc": {
2026-06-06T06:43:03.5491065Z           "complete": false,
2026-06-06T06:43:03.5491505Z           "evidence": []
2026-06-06T06:43:03.5491898Z         },
2026-06-06T06:43:03.5492305Z         "impl": {
2026-06-06T06:43:03.5492746Z           "complete": false,
2026-06-06T06:43:03.5493174Z           "evidence": []
2026-06-06T06:43:03.5493570Z         },
2026-06-06T06:43:03.5493964Z         "int": {
2026-06-06T06:43:03.5494417Z           "complete": false,
2026-06-06T06:43:03.5494842Z           "evidence": []
2026-06-06T06:43:03.5495247Z         },
2026-06-06T06:43:03.5495653Z         "unit": {
2026-06-06T06:43:03.5496099Z           "complete": false,
2026-06-06T06:43:03.5496540Z           "evidence": []
2026-06-06T06:43:03.5496940Z         }
2026-06-06T06:43:03.5497350Z       }
2026-06-06T06:43:03.5497736Z     },
2026-06-06T06:43:03.5498155Z     {
2026-06-06T06:43:03.5498622Z       "id": "REQ-PRES-1",
2026-06-06T06:43:03.5506411Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-06T06:43:03.5506930Z       "requiredStages": [
2026-06-06T06:43:03.5507331Z         "impl",
2026-06-06T06:43:03.5507736Z         "unit",
2026-06-06T06:43:03.5508134Z         "int"
2026-06-06T06:43:03.5508532Z       ],
2026-06-06T06:43:03.5508943Z       "stages": {
2026-06-06T06:43:03.5509563Z         "doc": {
2026-06-06T06:43:03.5510186Z           "complete": true,
2026-06-06T06:43:03.5510651Z           "evidence": [
2026-06-06T06:43:03.5511058Z             {
2026-06-06T06:43:03.5511570Z               "path": "docs/DEFERRED.md",
2026-06-06T06:43:03.5511999Z               "line": 11
2026-06-06T06:43:03.5512439Z             }
2026-06-06T06:43:03.5512838Z           ]
2026-06-06T06:43:03.5513249Z         },
2026-06-06T06:43:03.5513667Z         "impl": {
2026-06-06T06:43:03.5514114Z           "complete": true,
2026-06-06T06:43:03.5514520Z           "evidence": [
2026-06-06T06:43:03.5514918Z             {
2026-06-06T06:43:03.5515523Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.5515930Z               "line": 457
2026-06-06T06:43:03.5516327Z             },
2026-06-06T06:43:03.5516705Z             {
2026-06-06T06:43:03.5517315Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.5517736Z               "line": 505
2026-06-06T06:43:03.5518149Z             },
2026-06-06T06:43:03.5518560Z             {
2026-06-06T06:43:03.5519826Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5520660Z               "line": 168
2026-06-06T06:43:03.5521061Z             },
2026-06-06T06:43:03.5521458Z             {
2026-06-06T06:43:03.5522030Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5522470Z               "line": 186
2026-06-06T06:43:03.5522872Z             },
2026-06-06T06:43:03.5523267Z             {
2026-06-06T06:43:03.5523892Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5524294Z               "line": 28
2026-06-06T06:43:03.5524690Z             },
2026-06-06T06:43:03.5525073Z             {
2026-06-06T06:43:03.5525709Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5526144Z               "line": 99
2026-06-06T06:43:03.5526538Z             },
2026-06-06T06:43:03.5526942Z             {
2026-06-06T06:43:03.5527544Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5527969Z               "line": 153
2026-06-06T06:43:03.5528379Z             },
2026-06-06T06:43:03.5528765Z             {
2026-06-06T06:43:03.5529663Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5530241Z               "line": 172
2026-06-06T06:43:03.5530645Z             },
2026-06-06T06:43:03.5531030Z             {
2026-06-06T06:43:03.5531692Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.5532118Z               "line": 301
2026-06-06T06:43:03.5532526Z             },
2026-06-06T06:43:03.5532922Z             {
2026-06-06T06:43:03.5533549Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.5533990Z               "line": 282
2026-06-06T06:43:03.5534382Z             },
2026-06-06T06:43:03.5534779Z             {
2026-06-06T06:43:03.5535386Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.5535795Z               "line": 329
2026-06-06T06:43:03.5536184Z             },
2026-06-06T06:43:03.5536564Z             {
2026-06-06T06:43:03.5537183Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.5537599Z               "line": 355
2026-06-06T06:43:03.5537990Z             },
2026-06-06T06:43:03.5538369Z             {
2026-06-06T06:43:03.5538966Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.5539606Z               "line": 100
2026-06-06T06:43:03.5540140Z             }
2026-06-06T06:43:03.5540534Z           ]
2026-06-06T06:43:03.5540920Z         },
2026-06-06T06:43:03.5541319Z         "int": {
2026-06-06T06:43:03.5541758Z           "complete": true,
2026-06-06T06:43:03.5542168Z           "evidence": [
2026-06-06T06:43:03.5542558Z             {
2026-06-06T06:43:03.5543177Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.5543592Z               "line": 517
2026-06-06T06:43:03.5543967Z             },
2026-06-06T06:43:03.5544349Z             {
2026-06-06T06:43:03.5544950Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5545358Z               "line": 612
2026-06-06T06:43:03.5545750Z             },
2026-06-06T06:43:03.5546141Z             {
2026-06-06T06:43:03.5546744Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5547147Z               "line": 919
2026-06-06T06:43:03.5547532Z             }
2026-06-06T06:43:03.5547927Z           ]
2026-06-06T06:43:03.5548301Z         },
2026-06-06T06:43:03.5548724Z         "unit": {
2026-06-06T06:43:03.5549218Z           "complete": true,
2026-06-06T06:43:03.5549836Z           "evidence": [
2026-06-06T06:43:03.5550388Z             {
2026-06-06T06:43:03.5550973Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.5551404Z               "line": 507
2026-06-06T06:43:03.5551788Z             },
2026-06-06T06:43:03.5552186Z             {
2026-06-06T06:43:03.5552805Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5553246Z               "line": 219
2026-06-06T06:43:03.5553636Z             },
2026-06-06T06:43:03.5554040Z             {
2026-06-06T06:43:03.5555062Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5555690Z               "line": 250
2026-06-06T06:43:03.5556100Z             },
2026-06-06T06:43:03.5556473Z             {
2026-06-06T06:43:03.5557095Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5557525Z               "line": 283
2026-06-06T06:43:03.5557921Z             },
2026-06-06T06:43:03.5558307Z             {
2026-06-06T06:43:03.5558905Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:43:03.5559389Z               "line": 314
2026-06-06T06:43:03.5559801Z             },
2026-06-06T06:43:03.5560201Z             {
2026-06-06T06:43:03.5560856Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.5561270Z               "line": 531
2026-06-06T06:43:03.5561658Z             },
2026-06-06T06:43:03.5562046Z             {
2026-06-06T06:43:03.5562676Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.5563115Z               "line": 825
2026-06-06T06:43:03.5563533Z             }
2026-06-06T06:43:03.5563928Z           ]
2026-06-06T06:43:03.5564306Z         }
2026-06-06T06:43:03.5564694Z       }
2026-06-06T06:43:03.5565072Z     },
2026-06-06T06:43:03.5565451Z     {
2026-06-06T06:43:03.5565881Z       "id": "REQ-REACH-1",
2026-06-06T06:43:03.5566631Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-06T06:43:03.5567085Z       "requiredStages": [
2026-06-06T06:43:03.5567477Z         "impl",
2026-06-06T06:43:03.5567872Z         "unit",
2026-06-06T06:43:03.5575207Z         "int"
2026-06-06T06:43:03.5575773Z       ],
2026-06-06T06:43:03.5576175Z       "stages": {
2026-06-06T06:43:03.5576572Z         "doc": {
2026-06-06T06:43:03.5577005Z           "complete": false,
2026-06-06T06:43:03.5577426Z           "evidence": []
2026-06-06T06:43:03.5577813Z         },
2026-06-06T06:43:03.5578192Z         "impl": {
2026-06-06T06:43:03.5578622Z           "complete": true,
2026-06-06T06:43:03.5579059Z           "evidence": [
2026-06-06T06:43:03.5579553Z             {
2026-06-06T06:43:03.5580147Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:43:03.5580560Z               "line": 133
2026-06-06T06:43:03.5580948Z             },
2026-06-06T06:43:03.5581313Z             {
2026-06-06T06:43:03.5581874Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.5582277Z               "line": 76
2026-06-06T06:43:03.5582659Z             },
2026-06-06T06:43:03.5583032Z             {
2026-06-06T06:43:03.5583601Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.5584025Z               "line": 209
2026-06-06T06:43:03.5584404Z             },
2026-06-06T06:43:03.5584803Z             {
2026-06-06T06:43:03.5585385Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.5585824Z               "line": 386
2026-06-06T06:43:03.5586233Z             },
2026-06-06T06:43:03.5586622Z             {
2026-06-06T06:43:03.5587209Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.5587648Z               "line": 484
2026-06-06T06:43:03.5588052Z             },
2026-06-06T06:43:03.5588436Z             {
2026-06-06T06:43:03.5589130Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:43:03.5589782Z               "line": 39
2026-06-06T06:43:03.5590331Z             },
2026-06-06T06:43:03.5590718Z             {
2026-06-06T06:43:03.5591276Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.5591711Z               "line": 217
2026-06-06T06:43:03.5592116Z             },
2026-06-06T06:43:03.5592522Z             {
2026-06-06T06:43:03.5593096Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:43:03.5593519Z               "line": 82
2026-06-06T06:43:03.5593919Z             },
2026-06-06T06:43:03.5594308Z             {
2026-06-06T06:43:03.5594864Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:43:03.5595268Z               "line": 92
2026-06-06T06:43:03.5596084Z             },
2026-06-06T06:43:03.5596545Z             {
2026-06-06T06:43:03.5597327Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5597764Z               "line": 204
2026-06-06T06:43:03.5598140Z             }
2026-06-06T06:43:03.5598533Z           ]
2026-06-06T06:43:03.5598911Z         },
2026-06-06T06:43:03.5599568Z         "int": {
2026-06-06T06:43:03.5600209Z           "complete": true,
2026-06-06T06:43:03.5600639Z           "evidence": [
2026-06-06T06:43:03.5601038Z             {
2026-06-06T06:43:03.5601669Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.5602103Z               "line": 375
2026-06-06T06:43:03.5602502Z             },
2026-06-06T06:43:03.5602914Z             {
2026-06-06T06:43:03.5603560Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.5603974Z               "line": 478
2026-06-06T06:43:03.5604358Z             },
2026-06-06T06:43:03.5604729Z             {
2026-06-06T06:43:03.5605353Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5605783Z               "line": 784
2026-06-06T06:43:03.5606168Z             },
2026-06-06T06:43:03.5606558Z             {
2026-06-06T06:43:03.5607157Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.5607593Z               "line": 1015
2026-06-06T06:43:03.5607994Z             }
2026-06-06T06:43:03.5608402Z           ]
2026-06-06T06:43:03.5608806Z         },
2026-06-06T06:43:03.5609454Z         "unit": {
2026-06-06T06:43:03.5610096Z           "complete": true,
2026-06-06T06:43:03.5610519Z           "evidence": [
2026-06-06T06:43:03.5610915Z             {
2026-06-06T06:43:03.5611472Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.5611898Z               "line": 585
2026-06-06T06:43:03.5612274Z             },
2026-06-06T06:43:03.5612666Z             {
2026-06-06T06:43:03.5613244Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:43:03.5613664Z               "line": 606
2026-06-06T06:43:03.5614091Z             },
2026-06-06T06:43:03.5614498Z             {
2026-06-06T06:43:03.5615122Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:43:03.5615545Z               "line": 337
2026-06-06T06:43:03.5615945Z             },
2026-06-06T06:43:03.5616332Z             {
2026-06-06T06:43:03.5616929Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-06T06:43:03.5617344Z               "line": 92
2026-06-06T06:43:03.5617722Z             },
2026-06-06T06:43:03.5618114Z             {
2026-06-06T06:43:03.5618708Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-06T06:43:03.5619141Z               "line": 176
2026-06-06T06:43:03.5619927Z             },
2026-06-06T06:43:03.5620323Z             {
2026-06-06T06:43:03.5620904Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:43:03.5621310Z               "line": 92
2026-06-06T06:43:03.5621725Z             },
2026-06-06T06:43:03.5622122Z             {
2026-06-06T06:43:03.5622719Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:43:03.5623182Z               "line": 123
2026-06-06T06:43:03.5623576Z             },
2026-06-06T06:43:03.5623974Z             {
2026-06-06T06:43:03.5624528Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.5624959Z               "line": 436
2026-06-06T06:43:03.5625357Z             },
2026-06-06T06:43:03.5625736Z             {
2026-06-06T06:43:03.5626317Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:43:03.5626741Z               "line": 112
2026-06-06T06:43:03.5627135Z             },
2026-06-06T06:43:03.5627522Z             {
2026-06-06T06:43:03.5628106Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:43:03.5628552Z               "line": 136
2026-06-06T06:43:03.5628970Z             },
2026-06-06T06:43:03.5629616Z             {
2026-06-06T06:43:03.5630386Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5630826Z               "line": 563
2026-06-06T06:43:03.5631516Z             }
2026-06-06T06:43:03.5632122Z           ]
2026-06-06T06:43:03.5632516Z         }
2026-06-06T06:43:03.5632907Z       }
2026-06-06T06:43:03.5633299Z     },
2026-06-06T06:43:03.5633670Z     {
2026-06-06T06:43:03.5634124Z       "id": "REQ-REACH-2",
2026-06-06T06:43:03.5634900Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-06T06:43:03.5635352Z       "requiredStages": [],
2026-06-06T06:43:03.5635753Z       "stages": {
2026-06-06T06:43:03.5636143Z         "doc": {
2026-06-06T06:43:03.5636590Z           "complete": false,
2026-06-06T06:43:03.5637020Z           "evidence": []
2026-06-06T06:43:03.5637414Z         },
2026-06-06T06:43:03.5637806Z         "impl": {
2026-06-06T06:43:03.5638359Z           "complete": false,
2026-06-06T06:43:03.5638779Z           "evidence": []
2026-06-06T06:43:03.5639214Z         },
2026-06-06T06:43:03.5639797Z         "int": {
2026-06-06T06:43:03.5640389Z           "complete": false,
2026-06-06T06:43:03.5640838Z           "evidence": []
2026-06-06T06:43:03.5641210Z         },
2026-06-06T06:43:03.5641619Z         "unit": {
2026-06-06T06:43:03.5642056Z           "complete": false,
2026-06-06T06:43:03.5642478Z           "evidence": []
2026-06-06T06:43:03.5642870Z         }
2026-06-06T06:43:03.5643245Z       }
2026-06-06T06:43:03.5643629Z     },
2026-06-06T06:43:03.5644007Z     {
2026-06-06T06:43:03.5644449Z       "id": "REQ-REL-1",
2026-06-06T06:43:03.5646673Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-06T06:43:03.5647134Z       "requiredStages": [
2026-06-06T06:43:03.5647529Z         "doc",
2026-06-06T06:43:03.5647923Z         "impl"
2026-06-06T06:43:03.5648324Z       ],
2026-06-06T06:43:03.5648728Z       "stages": {
2026-06-06T06:43:03.5649152Z         "doc": {
2026-06-06T06:43:03.5649699Z           "complete": true,
2026-06-06T06:43:03.5650119Z           "evidence": [
2026-06-06T06:43:03.5650561Z             {
2026-06-06T06:43:03.5651773Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-06T06:43:03.5652241Z               "line": 3
2026-06-06T06:43:03.5652645Z             }
2026-06-06T06:43:03.5660203Z           ]
2026-06-06T06:43:03.5660752Z         },
2026-06-06T06:43:03.5661173Z         "impl": {
2026-06-06T06:43:03.5661622Z           "complete": true,
2026-06-06T06:43:03.5662039Z           "evidence": [
2026-06-06T06:43:03.5662449Z             {
2026-06-06T06:43:03.5663092Z               "path": ".github/workflows/docs-publish.yml",
2026-06-06T06:43:03.5663523Z               "line": 11
2026-06-06T06:43:03.5663928Z             },
2026-06-06T06:43:03.5664314Z             {
2026-06-06T06:43:03.5664859Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5665285Z               "line": 261
2026-06-06T06:43:03.5665679Z             }
2026-06-06T06:43:03.5666069Z           ]
2026-06-06T06:43:03.5666464Z         },
2026-06-06T06:43:03.5666898Z         "int": {
2026-06-06T06:43:03.5667354Z           "complete": false,
2026-06-06T06:43:03.5667797Z           "evidence": []
2026-06-06T06:43:03.5668184Z         },
2026-06-06T06:43:03.5668602Z         "unit": {
2026-06-06T06:43:03.5669047Z           "complete": false,
2026-06-06T06:43:03.5669580Z           "evidence": []
2026-06-06T06:43:03.5669993Z         }
2026-06-06T06:43:03.5670373Z       }
2026-06-06T06:43:03.5670762Z     },
2026-06-06T06:43:03.5671153Z     {
2026-06-06T06:43:03.5671580Z       "id": "REQ-REL-2",
2026-06-06T06:43:03.5674466Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-06T06:43:03.5674960Z       "requiredStages": [
2026-06-06T06:43:03.5675376Z         "impl",
2026-06-06T06:43:03.5675767Z         "int"
2026-06-06T06:43:03.5676164Z       ],
2026-06-06T06:43:03.5676575Z       "stages": {
2026-06-06T06:43:03.5676984Z         "doc": {
2026-06-06T06:43:03.5677909Z           "complete": true,
2026-06-06T06:43:03.5678632Z           "evidence": [
2026-06-06T06:43:03.5679025Z             {
2026-06-06T06:43:03.5679632Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-06T06:43:03.5680050Z               "line": 6
2026-06-06T06:43:03.5680432Z             }
2026-06-06T06:43:03.5680828Z           ]
2026-06-06T06:43:03.5681220Z         },
2026-06-06T06:43:03.5681636Z         "impl": {
2026-06-06T06:43:03.5682074Z           "complete": true,
2026-06-06T06:43:03.5682488Z           "evidence": [
2026-06-06T06:43:03.5682887Z             {
2026-06-06T06:43:03.5683454Z               "path": ".github/workflows/release.yml",
2026-06-06T06:43:03.5683875Z               "line": 16
2026-06-06T06:43:03.5684279Z             },
2026-06-06T06:43:03.5684667Z             {
2026-06-06T06:43:03.5685200Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5685622Z               "line": 338
2026-06-06T06:43:03.5686024Z             },
2026-06-06T06:43:03.5686427Z             {
2026-06-06T06:43:03.5686979Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5687435Z               "line": 402
2026-06-06T06:43:03.5687826Z             },
2026-06-06T06:43:03.5688224Z             {
2026-06-06T06:43:03.5688756Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5689272Z               "line": 459
2026-06-06T06:43:03.5689865Z             },
2026-06-06T06:43:03.5690427Z             {
2026-06-06T06:43:03.5690976Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5691421Z               "line": 543
2026-06-06T06:43:03.5691834Z             }
2026-06-06T06:43:03.5692225Z           ]
2026-06-06T06:43:03.5692609Z         },
2026-06-06T06:43:03.5693002Z         "int": {
2026-06-06T06:43:03.5693442Z           "complete": true,
2026-06-06T06:43:03.5693867Z           "evidence": [
2026-06-06T06:43:03.5694290Z             {
2026-06-06T06:43:03.5694978Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-06T06:43:03.5695423Z               "line": 13
2026-06-06T06:43:03.5695836Z             }
2026-06-06T06:43:03.5696232Z           ]
2026-06-06T06:43:03.5696638Z         },
2026-06-06T06:43:03.5697060Z         "unit": {
2026-06-06T06:43:03.5697571Z           "complete": false,
2026-06-06T06:43:03.5698028Z           "evidence": []
2026-06-06T06:43:03.5698433Z         }
2026-06-06T06:43:03.5698843Z       }
2026-06-06T06:43:03.5699289Z     },
2026-06-06T06:43:03.5699864Z     {
2026-06-06T06:43:03.5700451Z       "id": "REQ-REL-3",
2026-06-06T06:43:03.5703020Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-06T06:43:03.5703515Z       "requiredStages": [
2026-06-06T06:43:03.5703940Z         "impl",
2026-06-06T06:43:03.5704351Z         "unit"
2026-06-06T06:43:03.5704740Z       ],
2026-06-06T06:43:03.5705152Z       "stages": {
2026-06-06T06:43:03.5705573Z         "doc": {
2026-06-06T06:43:03.5706010Z           "complete": false,
2026-06-06T06:43:03.5706450Z           "evidence": []
2026-06-06T06:43:03.5706831Z         },
2026-06-06T06:43:03.5707239Z         "impl": {
2026-06-06T06:43:03.5707662Z           "complete": true,
2026-06-06T06:43:03.5708088Z           "evidence": [
2026-06-06T06:43:03.5708479Z             {
2026-06-06T06:43:03.5709074Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.5709917Z               "line": 117
2026-06-06T06:43:03.5710317Z             },
2026-06-06T06:43:03.5710703Z             {
2026-06-06T06:43:03.5711306Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.5711743Z               "line": 169
2026-06-06T06:43:03.5712150Z             },
2026-06-06T06:43:03.5712548Z             {
2026-06-06T06:43:03.5713075Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5713489Z               "line": 315
2026-06-06T06:43:03.5713877Z             },
2026-06-06T06:43:03.5714256Z             {
2026-06-06T06:43:03.5715111Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5715760Z               "line": 339
2026-06-06T06:43:03.5716157Z             },
2026-06-06T06:43:03.5716557Z             {
2026-06-06T06:43:03.5717093Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:43:03.5717532Z               "line": 372
2026-06-06T06:43:03.5717921Z             }
2026-06-06T06:43:03.5718327Z           ]
2026-06-06T06:43:03.5718726Z         },
2026-06-06T06:43:03.5719113Z         "int": {
2026-06-06T06:43:03.5719945Z           "complete": false,
2026-06-06T06:43:03.5720378Z           "evidence": []
2026-06-06T06:43:03.5720780Z         },
2026-06-06T06:43:03.5721177Z         "unit": {
2026-06-06T06:43:03.5721619Z           "complete": true,
2026-06-06T06:43:03.5722048Z           "evidence": [
2026-06-06T06:43:03.5722440Z             {
2026-06-06T06:43:03.5723061Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.5723484Z               "line": 619
2026-06-06T06:43:03.5723905Z             },
2026-06-06T06:43:03.5724308Z             {
2026-06-06T06:43:03.5724923Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.5725350Z               "line": 672
2026-06-06T06:43:03.5725750Z             }
2026-06-06T06:43:03.5726149Z           ]
2026-06-06T06:43:03.5726526Z         }
2026-06-06T06:43:03.5726922Z       }
2026-06-06T06:43:03.5727292Z     },
2026-06-06T06:43:03.5727675Z     {
2026-06-06T06:43:03.5728182Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-06T06:43:03.5729122Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-06T06:43:03.5729938Z       "requiredStages": [
2026-06-06T06:43:03.5730330Z         "impl",
2026-06-06T06:43:03.5730724Z         "unit"
2026-06-06T06:43:03.5731113Z       ],
2026-06-06T06:43:03.5731527Z       "stages": {
2026-06-06T06:43:03.5731926Z         "doc": {
2026-06-06T06:43:03.5732352Z           "complete": false,
2026-06-06T06:43:03.5732828Z           "evidence": []
2026-06-06T06:43:03.5733243Z         },
2026-06-06T06:43:03.5733655Z         "impl": {
2026-06-06T06:43:03.5734098Z           "complete": true,
2026-06-06T06:43:03.5734510Z           "evidence": [
2026-06-06T06:43:03.5734897Z             {
2026-06-06T06:43:03.5735472Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5735897Z               "line": 18
2026-06-06T06:43:03.5736285Z             },
2026-06-06T06:43:03.5736700Z             {
2026-06-06T06:43:03.5737282Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5737711Z               "line": 35
2026-06-06T06:43:03.5738112Z             },
2026-06-06T06:43:03.5738500Z             {
2026-06-06T06:43:03.5746660Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5747246Z               "line": 65
2026-06-06T06:43:03.5747632Z             }
2026-06-06T06:43:03.5748000Z           ]
2026-06-06T06:43:03.5748377Z         },
2026-06-06T06:43:03.5748771Z         "int": {
2026-06-06T06:43:03.5749355Z           "complete": false,
2026-06-06T06:43:03.5750090Z           "evidence": []
2026-06-06T06:43:03.5750489Z         },
2026-06-06T06:43:03.5750891Z         "unit": {
2026-06-06T06:43:03.5751309Z           "complete": true,
2026-06-06T06:43:03.5751722Z           "evidence": [
2026-06-06T06:43:03.5752099Z             {
2026-06-06T06:43:03.5752653Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5753062Z               "line": 200
2026-06-06T06:43:03.5753435Z             },
2026-06-06T06:43:03.5753822Z             {
2026-06-06T06:43:03.5754377Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5754791Z               "line": 214
2026-06-06T06:43:03.5755183Z             },
2026-06-06T06:43:03.5755568Z             {
2026-06-06T06:43:03.5756164Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5756584Z               "line": 223
2026-06-06T06:43:03.5756978Z             }
2026-06-06T06:43:03.5757357Z           ]
2026-06-06T06:43:03.5757753Z         }
2026-06-06T06:43:03.5758602Z       }
2026-06-06T06:43:03.5759410Z     },
2026-06-06T06:43:03.5759974Z     {
2026-06-06T06:43:03.5760476Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-06T06:43:03.5761249Z       "title": "Hostable endpoint-types capability declaration",
2026-06-06T06:43:03.5761714Z       "requiredStages": [
2026-06-06T06:43:03.5762130Z         "impl",
2026-06-06T06:43:03.5762541Z         "unit"
2026-06-06T06:43:03.5762925Z       ],
2026-06-06T06:43:03.5763352Z       "stages": {
2026-06-06T06:43:03.5763760Z         "doc": {
2026-06-06T06:43:03.5764225Z           "complete": false,
2026-06-06T06:43:03.5764671Z           "evidence": []
2026-06-06T06:43:03.5765082Z         },
2026-06-06T06:43:03.5765510Z         "impl": {
2026-06-06T06:43:03.5765949Z           "complete": true,
2026-06-06T06:43:03.5766412Z           "evidence": [
2026-06-06T06:43:03.5766823Z             {
2026-06-06T06:43:03.5767442Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5767885Z               "line": 391
2026-06-06T06:43:03.5768301Z             }
2026-06-06T06:43:03.5768722Z           ]
2026-06-06T06:43:03.5769110Z         },
2026-06-06T06:43:03.5769783Z         "int": {
2026-06-06T06:43:03.5770391Z           "complete": false,
2026-06-06T06:43:03.5770836Z           "evidence": []
2026-06-06T06:43:03.5771229Z         },
2026-06-06T06:43:03.5771652Z         "unit": {
2026-06-06T06:43:03.5772094Z           "complete": true,
2026-06-06T06:43:03.5772502Z           "evidence": [
2026-06-06T06:43:03.5772894Z             {
2026-06-06T06:43:03.5773476Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.5773905Z               "line": 596
2026-06-06T06:43:03.5774302Z             }
2026-06-06T06:43:03.5774712Z           ]
2026-06-06T06:43:03.5775111Z         }
2026-06-06T06:43:03.5775488Z       }
2026-06-06T06:43:03.5775876Z     },
2026-06-06T06:43:03.5776246Z     {
2026-06-06T06:43:03.5776699Z       "id": "REQ-SEAM-HISTORY",
2026-06-06T06:43:03.5777655Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-06T06:43:03.5778133Z       "requiredStages": [
2026-06-06T06:43:03.5778552Z         "impl",
2026-06-06T06:43:03.5778945Z         "unit",
2026-06-06T06:43:03.5779564Z         "int"
2026-06-06T06:43:03.5779988Z       ],
2026-06-06T06:43:03.5780435Z       "stages": {
2026-06-06T06:43:03.5780860Z         "doc": {
2026-06-06T06:43:03.5781330Z           "complete": false,
2026-06-06T06:43:03.5781791Z           "evidence": []
2026-06-06T06:43:03.5782226Z         },
2026-06-06T06:43:03.5782700Z         "impl": {
2026-06-06T06:43:03.5783166Z           "complete": true,
2026-06-06T06:43:03.5783616Z           "evidence": [
2026-06-06T06:43:03.5784027Z             {
2026-06-06T06:43:03.5784607Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.5785059Z               "line": 24
2026-06-06T06:43:03.5785472Z             },
2026-06-06T06:43:03.5785885Z             {
2026-06-06T06:43:03.5786489Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5786937Z               "line": 22
2026-06-06T06:43:03.5787361Z             }
2026-06-06T06:43:03.5787790Z           ]
2026-06-06T06:43:03.5788211Z         },
2026-06-06T06:43:03.5788644Z         "int": {
2026-06-06T06:43:03.5789122Z           "complete": true,
2026-06-06T06:43:03.5789793Z           "evidence": [
2026-06-06T06:43:03.5790211Z             {
2026-06-06T06:43:03.5790821Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.5791271Z               "line": 202
2026-06-06T06:43:03.5791678Z             }
2026-06-06T06:43:03.5792078Z           ]
2026-06-06T06:43:03.5792489Z         },
2026-06-06T06:43:03.5792902Z         "unit": {
2026-06-06T06:43:03.5793335Z           "complete": true,
2026-06-06T06:43:03.5793741Z           "evidence": [
2026-06-06T06:43:03.5794134Z             {
2026-06-06T06:43:03.5794679Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.5795092Z               "line": 163
2026-06-06T06:43:03.5795817Z             },
2026-06-06T06:43:03.5796261Z             {
2026-06-06T06:43:03.5796973Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.5797381Z               "line": 186
2026-06-06T06:43:03.5797774Z             },
2026-06-06T06:43:03.5798163Z             {
2026-06-06T06:43:03.5798696Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:43:03.5799126Z               "line": 195
2026-06-06T06:43:03.5799631Z             },
2026-06-06T06:43:03.5800051Z             {
2026-06-06T06:43:03.5800615Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5801040Z               "line": 195
2026-06-06T06:43:03.5801439Z             },
2026-06-06T06:43:03.5801820Z             {
2026-06-06T06:43:03.5802390Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5802799Z               "line": 209
2026-06-06T06:43:03.5803192Z             },
2026-06-06T06:43:03.5803569Z             {
2026-06-06T06:43:03.5804154Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5804572Z               "line": 228
2026-06-06T06:43:03.5804971Z             },
2026-06-06T06:43:03.5805358Z             {
2026-06-06T06:43:03.5805916Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5806331Z               "line": 248
2026-06-06T06:43:03.5806719Z             },
2026-06-06T06:43:03.5807096Z             {
2026-06-06T06:43:03.5807658Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5808065Z               "line": 264
2026-06-06T06:43:03.5808454Z             },
2026-06-06T06:43:03.5808834Z             {
2026-06-06T06:43:03.5809485Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:43:03.5809914Z               "line": 279
2026-06-06T06:43:03.5810290Z             }
2026-06-06T06:43:03.5810678Z           ]
2026-06-06T06:43:03.5811067Z         }
2026-06-06T06:43:03.5811461Z       }
2026-06-06T06:43:03.5811837Z     },
2026-06-06T06:43:03.5812222Z     {
2026-06-06T06:43:03.5812678Z       "id": "REQ-SEAM-INJECT",
2026-06-06T06:43:03.5813543Z       "title": "inject-input methods configurable per activity-state",
2026-06-06T06:43:03.5814007Z       "requiredStages": [
2026-06-06T06:43:03.5814416Z         "impl",
2026-06-06T06:43:03.5814800Z         "unit"
2026-06-06T06:43:03.5815178Z       ],
2026-06-06T06:43:03.5815578Z       "stages": {
2026-06-06T06:43:03.5815967Z         "doc": {
2026-06-06T06:43:03.5816400Z           "complete": false,
2026-06-06T06:43:03.5816821Z           "evidence": []
2026-06-06T06:43:03.5817203Z         },
2026-06-06T06:43:03.5817611Z         "impl": {
2026-06-06T06:43:03.5818067Z           "complete": true,
2026-06-06T06:43:03.5818499Z           "evidence": [
2026-06-06T06:43:03.5818878Z             {
2026-06-06T06:43:03.5819567Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5820007Z               "line": 19
2026-06-06T06:43:03.5820418Z             },
2026-06-06T06:43:03.5820819Z             {
2026-06-06T06:43:03.5821390Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5829054Z               "line": 104
2026-06-06T06:43:03.5829666Z             }
2026-06-06T06:43:03.5830091Z           ]
2026-06-06T06:43:03.5830506Z         },
2026-06-06T06:43:03.5830927Z         "int": {
2026-06-06T06:43:03.5831411Z           "complete": false,
2026-06-06T06:43:03.5831849Z           "evidence": []
2026-06-06T06:43:03.5832255Z         },
2026-06-06T06:43:03.5832660Z         "unit": {
2026-06-06T06:43:03.5833119Z           "complete": true,
2026-06-06T06:43:03.5833563Z           "evidence": [
2026-06-06T06:43:03.5833975Z             {
2026-06-06T06:43:03.5834596Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5835024Z               "line": 291
2026-06-06T06:43:03.5835440Z             },
2026-06-06T06:43:03.5835838Z             {
2026-06-06T06:43:03.5836426Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.5836868Z               "line": 305
2026-06-06T06:43:03.5837285Z             }
2026-06-06T06:43:03.5838145Z           ]
2026-06-06T06:43:03.5838877Z         }
2026-06-06T06:43:03.5839354Z       }
2026-06-06T06:43:03.5839762Z     },
2026-06-06T06:43:03.5840168Z     {
2026-06-06T06:43:03.5840672Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-06T06:43:03.5841374Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-06T06:43:03.5841844Z       "requiredStages": [
2026-06-06T06:43:03.5842251Z         "impl",
2026-06-06T06:43:03.5842672Z         "unit"
2026-06-06T06:43:03.5843082Z       ],
2026-06-06T06:43:03.5843491Z       "stages": {
2026-06-06T06:43:03.5843909Z         "doc": {
2026-06-06T06:43:03.5844360Z           "complete": false,
2026-06-06T06:43:03.5844798Z           "evidence": []
2026-06-06T06:43:03.5845196Z         },
2026-06-06T06:43:03.5845628Z         "impl": {
2026-06-06T06:43:03.5846082Z           "complete": true,
2026-06-06T06:43:03.5846539Z           "evidence": [
2026-06-06T06:43:03.5846956Z             {
2026-06-06T06:43:03.5847558Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.5847987Z               "line": 18
2026-06-06T06:43:03.5848395Z             },
2026-06-06T06:43:03.5848813Z             {
2026-06-06T06:43:03.5849503Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.5849976Z               "line": 304
2026-06-06T06:43:03.5850413Z             }
2026-06-06T06:43:03.5850813Z           ]
2026-06-06T06:43:03.5851207Z         },
2026-06-06T06:43:03.5851611Z         "int": {
2026-06-06T06:43:03.5852077Z           "complete": false,
2026-06-06T06:43:03.5852515Z           "evidence": []
2026-06-06T06:43:03.5852951Z         },
2026-06-06T06:43:03.5853401Z         "unit": {
2026-06-06T06:43:03.5853859Z           "complete": true,
2026-06-06T06:43:03.5854305Z           "evidence": [
2026-06-06T06:43:03.5854700Z             {
2026-06-06T06:43:03.5855293Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.5855740Z               "line": 526
2026-06-06T06:43:03.5856144Z             },
2026-06-06T06:43:03.5856588Z             {
2026-06-06T06:43:03.5857193Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.5857643Z               "line": 536
2026-06-06T06:43:03.5858032Z             }
2026-06-06T06:43:03.5858433Z           ]
2026-06-06T06:43:03.5858834Z         }
2026-06-06T06:43:03.5859308Z       }
2026-06-06T06:43:03.5859755Z     },
2026-06-06T06:43:03.5860169Z     {
2026-06-06T06:43:03.5860670Z       "id": "REQ-SEAM-PSYCHE",
2026-06-06T06:43:03.5861398Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-06T06:43:03.5861863Z       "requiredStages": [
2026-06-06T06:43:03.5862278Z         "impl",
2026-06-06T06:43:03.5862682Z         "unit",
2026-06-06T06:43:03.5863096Z         "int"
2026-06-06T06:43:03.5863511Z       ],
2026-06-06T06:43:03.5863956Z       "stages": {
2026-06-06T06:43:03.5864357Z         "doc": {
2026-06-06T06:43:03.5864813Z           "complete": false,
2026-06-06T06:43:03.5865240Z           "evidence": []
2026-06-06T06:43:03.5865647Z         },
2026-06-06T06:43:03.5866088Z         "impl": {
2026-06-06T06:43:03.5866545Z           "complete": true,
2026-06-06T06:43:03.5866982Z           "evidence": [
2026-06-06T06:43:03.5867376Z             {
2026-06-06T06:43:03.5867978Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:43:03.5868408Z               "line": 19
2026-06-06T06:43:03.5868830Z             },
2026-06-06T06:43:03.5869365Z             {
2026-06-06T06:43:03.5870094Z               "path": "crates/spt/src/api/live.rs",
2026-06-06T06:43:03.5870545Z               "line": 12
2026-06-06T06:43:03.5870946Z             },
2026-06-06T06:43:03.5871344Z             {
2026-06-06T06:43:03.5871923Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.5872352Z               "line": 204
2026-06-06T06:43:03.5872783Z             }
2026-06-06T06:43:03.5873187Z           ]
2026-06-06T06:43:03.5873591Z         },
2026-06-06T06:43:03.5873998Z         "int": {
2026-06-06T06:43:03.5874443Z           "complete": true,
2026-06-06T06:43:03.5875160Z           "evidence": [
2026-06-06T06:43:03.5875820Z             {
2026-06-06T06:43:03.5876436Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.5876875Z               "line": 201
2026-06-06T06:43:03.5877280Z             }
2026-06-06T06:43:03.5877671Z           ]
2026-06-06T06:43:03.5878068Z         },
2026-06-06T06:43:03.5878472Z         "unit": {
2026-06-06T06:43:03.5878921Z           "complete": true,
2026-06-06T06:43:03.5879591Z           "evidence": [
2026-06-06T06:43:03.5880026Z             {
2026-06-06T06:43:03.5880641Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:43:03.5881086Z               "line": 161
2026-06-06T06:43:03.5881505Z             },
2026-06-06T06:43:03.5881924Z             {
2026-06-06T06:43:03.5882508Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:43:03.5882949Z               "line": 168
2026-06-06T06:43:03.5883338Z             },
2026-06-06T06:43:03.5883745Z             {
2026-06-06T06:43:03.5884361Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:43:03.5884821Z               "line": 191
2026-06-06T06:43:03.5885256Z             },
2026-06-06T06:43:03.5885670Z             {
2026-06-06T06:43:03.5886260Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-06T06:43:03.5886697Z               "line": 106
2026-06-06T06:43:03.5887119Z             },
2026-06-06T06:43:03.5887531Z             {
2026-06-06T06:43:03.5888160Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-06T06:43:03.5888641Z               "line": 123
2026-06-06T06:43:03.5889067Z             },
2026-06-06T06:43:03.5889715Z             {
2026-06-06T06:43:03.5890453Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-06T06:43:03.5890900Z               "line": 137
2026-06-06T06:43:03.5891289Z             }
2026-06-06T06:43:03.5891698Z           ]
2026-06-06T06:43:03.5892098Z         }
2026-06-06T06:43:03.5892472Z       }
2026-06-06T06:43:03.5892865Z     },
2026-06-06T06:43:03.5893249Z     {
2026-06-06T06:43:03.5893715Z       "id": "REQ-SEAM-RESUME",
2026-06-06T06:43:03.5894691Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-06T06:43:03.5895152Z       "requiredStages": [
2026-06-06T06:43:03.5895550Z         "impl",
2026-06-06T06:43:03.5895942Z         "unit"
2026-06-06T06:43:03.5896333Z       ],
2026-06-06T06:43:03.5896748Z       "stages": {
2026-06-06T06:43:03.5897156Z         "doc": {
2026-06-06T06:43:03.5897609Z           "complete": false,
2026-06-06T06:43:03.5898045Z           "evidence": []
2026-06-06T06:43:03.5898438Z         },
2026-06-06T06:43:03.5898841Z         "impl": {
2026-06-06T06:43:03.5899349Z           "complete": true,
2026-06-06T06:43:03.5899972Z           "evidence": [
2026-06-06T06:43:03.5900386Z             {
2026-06-06T06:43:03.5900972Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:43:03.5901413Z               "line": 19
2026-06-06T06:43:03.5901830Z             }
2026-06-06T06:43:03.5902233Z           ]
2026-06-06T06:43:03.5902669Z         },
2026-06-06T06:43:03.5903092Z         "int": {
2026-06-06T06:43:03.5903638Z           "complete": false,
2026-06-06T06:43:03.5904179Z           "evidence": []
2026-06-06T06:43:03.5904668Z         },
2026-06-06T06:43:03.5912027Z         "unit": {
2026-06-06T06:43:03.5912632Z           "complete": true,
2026-06-06T06:43:03.5913090Z           "evidence": [
2026-06-06T06:43:03.5913491Z             {
2026-06-06T06:43:03.5914095Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:43:03.5914542Z               "line": 168
2026-06-06T06:43:03.5914960Z             },
2026-06-06T06:43:03.5915375Z             {
2026-06-06T06:43:03.5915960Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:43:03.5916417Z               "line": 187
2026-06-06T06:43:03.5916831Z             },
2026-06-06T06:43:03.5917250Z             {
2026-06-06T06:43:03.5917830Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:43:03.5918286Z               "line": 205
2026-06-06T06:43:03.5919539Z             }
2026-06-06T06:43:03.5920313Z           ]
2026-06-06T06:43:03.5920732Z         }
2026-06-06T06:43:03.5921124Z       }
2026-06-06T06:43:03.5921526Z     },
2026-06-06T06:43:03.5921919Z     {
2026-06-06T06:43:03.5922403Z       "id": "REQ-SEAM-SPAWN",
2026-06-06T06:43:03.5922915Z       "title": "spawn-session seam",
2026-06-06T06:43:03.5923375Z       "requiredStages": [
2026-06-06T06:43:03.5923811Z         "impl",
2026-06-06T06:43:03.5924214Z         "unit"
2026-06-06T06:43:03.5924614Z       ],
2026-06-06T06:43:03.5925027Z       "stages": {
2026-06-06T06:43:03.5925440Z         "doc": {
2026-06-06T06:43:03.5925904Z           "complete": false,
2026-06-06T06:43:03.5926343Z           "evidence": []
2026-06-06T06:43:03.5926750Z         },
2026-06-06T06:43:03.5927167Z         "impl": {
2026-06-06T06:43:03.5927619Z           "complete": true,
2026-06-06T06:43:03.5928060Z           "evidence": [
2026-06-06T06:43:03.5928514Z             {
2026-06-06T06:43:03.5929290Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5929796Z               "line": 20
2026-06-06T06:43:03.5930235Z             }
2026-06-06T06:43:03.5930667Z           ]
2026-06-06T06:43:03.5931151Z         },
2026-06-06T06:43:03.5931719Z         "int": {
2026-06-06T06:43:03.5932184Z           "complete": false,
2026-06-06T06:43:03.5932614Z           "evidence": []
2026-06-06T06:43:03.5933002Z         },
2026-06-06T06:43:03.5933417Z         "unit": {
2026-06-06T06:43:03.5933848Z           "complete": true,
2026-06-06T06:43:03.5934278Z           "evidence": [
2026-06-06T06:43:03.5934668Z             {
2026-06-06T06:43:03.5935309Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5935772Z               "line": 397
2026-06-06T06:43:03.5936178Z             },
2026-06-06T06:43:03.5936586Z             {
2026-06-06T06:43:03.5937198Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5937640Z               "line": 404
2026-06-06T06:43:03.5938234Z             },
2026-06-06T06:43:03.5938715Z             {
2026-06-06T06:43:03.5939503Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5941166Z               "line": 414
2026-06-06T06:43:03.5942367Z             },
2026-06-06T06:43:03.5943375Z             {
2026-06-06T06:43:03.5944593Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5946266Z               "line": 420
2026-06-06T06:43:03.5947579Z             },
2026-06-06T06:43:03.5948752Z             {
2026-06-06T06:43:03.5950161Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5951738Z               "line": 440
2026-06-06T06:43:03.5952982Z             },
2026-06-06T06:43:03.5954569Z             {
2026-06-06T06:43:03.5955853Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:43:03.5957874Z               "line": 473
2026-06-06T06:43:03.5959047Z             }
2026-06-06T06:43:03.5960152Z           ]
2026-06-06T06:43:03.5961203Z         }
2026-06-06T06:43:03.5962491Z       }
2026-06-06T06:43:03.5963416Z     },
2026-06-06T06:43:03.5964440Z     {
2026-06-06T06:43:03.5965809Z       "id": "REQ-SEAM-UPDATE",
2026-06-06T06:43:03.5967732Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-06T06:43:03.5970199Z       "requiredStages": [
2026-06-06T06:43:03.5971399Z         "impl",
2026-06-06T06:43:03.5972760Z         "unit"
2026-06-06T06:43:03.5973771Z       ],
2026-06-06T06:43:03.5974699Z       "stages": {
2026-06-06T06:43:03.5975712Z         "doc": {
2026-06-06T06:43:03.5976764Z           "complete": false,
2026-06-06T06:43:03.5977963Z           "evidence": []
2026-06-06T06:43:03.5979058Z         },
2026-06-06T06:43:03.5980261Z         "impl": {
2026-06-06T06:43:03.5981289Z           "complete": true,
2026-06-06T06:43:03.5982402Z           "evidence": [
2026-06-06T06:43:03.5983397Z             {
2026-06-06T06:43:03.5984619Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.5986189Z               "line": 28
2026-06-06T06:43:03.5987612Z             },
2026-06-06T06:43:03.5988759Z             {
2026-06-06T06:43:03.5990375Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.5991936Z               "line": 83
2026-06-06T06:43:03.5992987Z             }
2026-06-06T06:43:03.5993897Z           ]
2026-06-06T06:43:03.5994761Z         },
2026-06-06T06:43:03.5995634Z         "int": {
2026-06-06T06:43:03.5996632Z           "complete": false,
2026-06-06T06:43:03.6004917Z           "evidence": []
2026-06-06T06:43:03.6006128Z         },
2026-06-06T06:43:03.6007009Z         "unit": {
2026-06-06T06:43:03.6007994Z           "complete": true,
2026-06-06T06:43:03.6009088Z           "evidence": [
2026-06-06T06:43:03.6010546Z             {
2026-06-06T06:43:03.6011728Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6013244Z               "line": 270
2026-06-06T06:43:03.6014289Z             },
2026-06-06T06:43:03.6015243Z             {
2026-06-06T06:43:03.6016484Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6018036Z               "line": 281
2026-06-06T06:43:03.6019086Z             }
2026-06-06T06:43:03.6020415Z           ]
2026-06-06T06:43:03.6021293Z         }
2026-06-06T06:43:03.6022159Z       }
2026-06-06T06:43:03.6023014Z     },
2026-06-06T06:43:03.6023882Z     {
2026-06-06T06:43:03.6024761Z       "id": "REQ-SEC-1",
2026-06-06T06:43:03.6027646Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-06T06:43:03.6031314Z       "requiredStages": [
2026-06-06T06:43:03.6032422Z         "impl",
2026-06-06T06:43:03.6033376Z         "unit"
2026-06-06T06:43:03.6034309Z       ],
2026-06-06T06:43:03.6035195Z       "stages": {
2026-06-06T06:43:03.6036149Z         "doc": {
2026-06-06T06:43:03.6037152Z           "complete": false,
2026-06-06T06:43:03.6038298Z           "evidence": []
2026-06-06T06:43:03.6039418Z         },
2026-06-06T06:43:03.6040407Z         "impl": {
2026-06-06T06:43:03.6041573Z           "complete": true,
2026-06-06T06:43:03.6042784Z           "evidence": [
2026-06-06T06:43:03.6043890Z             {
2026-06-06T06:43:03.6045117Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.6046684Z               "line": 84
2026-06-06T06:43:03.6047810Z             },
2026-06-06T06:43:03.6048821Z             {
2026-06-06T06:43:03.6050095Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.6051645Z               "line": 114
2026-06-06T06:43:03.6052791Z             },
2026-06-06T06:43:03.6053812Z             {
2026-06-06T06:43:03.6055099Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.6056755Z               "line": 128
2026-06-06T06:43:03.6057996Z             },
2026-06-06T06:43:03.6059089Z             {
2026-06-06T06:43:03.6060507Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6061917Z               "line": 108
2026-06-06T06:43:03.6063707Z             },
2026-06-06T06:43:03.6064642Z             {
2026-06-06T06:43:03.6065705Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6067108Z               "line": 129
2026-06-06T06:43:03.6068125Z             },
2026-06-06T06:43:03.6069037Z             {
2026-06-06T06:43:03.6070527Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6071932Z               "line": 142
2026-06-06T06:43:03.6072987Z             },
2026-06-06T06:43:03.6073931Z             {
2026-06-06T06:43:03.6075050Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6076466Z               "line": 208
2026-06-06T06:43:03.6077513Z             },
2026-06-06T06:43:03.6078430Z             {
2026-06-06T06:43:03.6079857Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6081477Z               "line": 234
2026-06-06T06:43:03.6082542Z             },
2026-06-06T06:43:03.6083447Z             {
2026-06-06T06:43:03.6084932Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6086507Z               "line": 2235
2026-06-06T06:43:03.6087551Z             }
2026-06-06T06:43:03.6088445Z           ]
2026-06-06T06:43:03.6089566Z         },
2026-06-06T06:43:03.6090613Z         "int": {
2026-06-06T06:43:03.6091592Z           "complete": false,
2026-06-06T06:43:03.6092719Z           "evidence": []
2026-06-06T06:43:03.6093755Z         },
2026-06-06T06:43:03.6094629Z         "unit": {
2026-06-06T06:43:03.6095579Z           "complete": true,
2026-06-06T06:43:03.6096672Z           "evidence": [
2026-06-06T06:43:03.6097678Z             {
2026-06-06T06:43:03.6106734Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.6108208Z               "line": 140
2026-06-06T06:43:03.6109456Z             },
2026-06-06T06:43:03.6110534Z             {
2026-06-06T06:43:03.6111648Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.6113056Z               "line": 186
2026-06-06T06:43:03.6114131Z             },
2026-06-06T06:43:03.6115042Z             {
2026-06-06T06:43:03.6116149Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:43:03.6117562Z               "line": 218
2026-06-06T06:43:03.6118589Z             },
2026-06-06T06:43:03.6119717Z             {
2026-06-06T06:43:03.6121004Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-06T06:43:03.6122461Z               "line": 128
2026-06-06T06:43:03.6123518Z             },
2026-06-06T06:43:03.6124446Z             {
2026-06-06T06:43:03.6125535Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6126938Z               "line": 248
2026-06-06T06:43:03.6128002Z             },
2026-06-06T06:43:03.6128912Z             {
2026-06-06T06:43:03.6130421Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6131856Z               "line": 275
2026-06-06T06:43:03.6132922Z             },
2026-06-06T06:43:03.6133855Z             {
2026-06-06T06:43:03.6134987Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6136475Z               "line": 299
2026-06-06T06:43:03.6137570Z             },
2026-06-06T06:43:03.6138466Z             {
2026-06-06T06:43:03.6139634Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6141050Z               "line": 310
2026-06-06T06:43:03.6142080Z             },
2026-06-06T06:43:03.6142972Z             {
2026-06-06T06:43:03.6144031Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6145419Z               "line": 334
2026-06-06T06:43:03.6146433Z             },
2026-06-06T06:43:03.6147337Z             {
2026-06-06T06:43:03.6148414Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:43:03.6149879Z               "line": 350
2026-06-06T06:43:03.6150893Z             },
2026-06-06T06:43:03.6151834Z             {
2026-06-06T06:43:03.6152869Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6154246Z               "line": 3483
2026-06-06T06:43:03.6155308Z             }
2026-06-06T06:43:03.6156228Z           ]
2026-06-06T06:43:03.6157114Z         }
2026-06-06T06:43:03.6157972Z       }
2026-06-06T06:43:03.6158836Z     },
2026-06-06T06:43:03.6159870Z     {
2026-06-06T06:43:03.6160803Z       "id": "REQ-SHELL-1",
2026-06-06T06:43:03.6166898Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-06T06:43:03.6173769Z       "requiredStages": [
2026-06-06T06:43:03.6174847Z         "impl",
2026-06-06T06:43:03.6175793Z         "unit",
2026-06-06T06:43:03.6176730Z         "int"
2026-06-06T06:43:03.6177635Z       ],
2026-06-06T06:43:03.6178489Z       "stages": {
2026-06-06T06:43:03.6179663Z         "doc": {
2026-06-06T06:43:03.6180853Z           "complete": false,
2026-06-06T06:43:03.6182515Z           "evidence": []
2026-06-06T06:43:03.6183599Z         },
2026-06-06T06:43:03.6184722Z         "impl": {
2026-06-06T06:43:03.6185760Z           "complete": true,
2026-06-06T06:43:03.6186868Z           "evidence": [
2026-06-06T06:43:03.6187871Z             {
2026-06-06T06:43:03.6189009Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6190571Z               "line": 94
2026-06-06T06:43:03.6191616Z             },
2026-06-06T06:43:03.6192549Z             {
2026-06-06T06:43:03.6193674Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6195146Z               "line": 119
2026-06-06T06:43:03.6196195Z             },
2026-06-06T06:43:03.6197102Z             {
2026-06-06T06:43:03.6198219Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6199759Z               "line": 27
2026-06-06T06:43:03.6200781Z             },
2026-06-06T06:43:03.6201682Z             {
2026-06-06T06:43:03.6202829Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6204303Z               "line": 52
2026-06-06T06:43:03.6205366Z             },
2026-06-06T06:43:03.6206288Z             {
2026-06-06T06:43:03.6207424Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6208905Z               "line": 128
2026-06-06T06:43:03.6217637Z             },
2026-06-06T06:43:03.6218605Z             {
2026-06-06T06:43:03.6220155Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6221644Z               "line": 160
2026-06-06T06:43:03.6222691Z             },
2026-06-06T06:43:03.6223638Z             {
2026-06-06T06:43:03.6224763Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6226202Z               "line": 22
2026-06-06T06:43:03.6227234Z             },
2026-06-06T06:43:03.6228164Z             {
2026-06-06T06:43:03.6229396Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6230888Z               "line": 65
2026-06-06T06:43:03.6231987Z             },
2026-06-06T06:43:03.6232935Z             {
2026-06-06T06:43:03.6234095Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6235569Z               "line": 76
2026-06-06T06:43:03.6236602Z             },
2026-06-06T06:43:03.6237494Z             {
2026-06-06T06:43:03.6238592Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6240126Z               "line": 145
2026-06-06T06:43:03.6241175Z             },
2026-06-06T06:43:03.6242120Z             {
2026-06-06T06:43:03.6243279Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6244845Z               "line": 204
2026-06-06T06:43:03.6245902Z             },
2026-06-06T06:43:03.6246838Z             {
2026-06-06T06:43:03.6248003Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6249706Z               "line": 241
2026-06-06T06:43:03.6251002Z             },
2026-06-06T06:43:03.6251941Z             {
2026-06-06T06:43:03.6253085Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6254584Z               "line": 262
2026-06-06T06:43:03.6255627Z             },
2026-06-06T06:43:03.6256529Z             {
2026-06-06T06:43:03.6257635Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6259090Z               "line": 275
2026-06-06T06:43:03.6260540Z             },
2026-06-06T06:43:03.6261491Z             {
2026-06-06T06:43:03.6262599Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.6264002Z               "line": 185
2026-06-06T06:43:03.6265032Z             },
2026-06-06T06:43:03.6265946Z             {
2026-06-06T06:43:03.6267043Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.6268459Z               "line": 201
2026-06-06T06:43:03.6269732Z             },
2026-06-06T06:43:03.6270808Z             {
2026-06-06T06:43:03.6271941Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.6273397Z               "line": 41
2026-06-06T06:43:03.6274990Z             },
2026-06-06T06:43:03.6276171Z             {
2026-06-06T06:43:03.6277307Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.6278753Z               "line": 204
2026-06-06T06:43:03.6280036Z             },
2026-06-06T06:43:03.6280983Z             {
2026-06-06T06:43:03.6282101Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:43:03.6283719Z               "line": 142
2026-06-06T06:43:03.6284775Z             },
2026-06-06T06:43:03.6285730Z             {
2026-06-06T06:43:03.6286764Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.6288142Z               "line": 283
2026-06-06T06:43:03.6289239Z             },
2026-06-06T06:43:03.6290514Z             {
2026-06-06T06:43:03.6291569Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:43:03.6292935Z               "line": 314
2026-06-06T06:43:03.6293965Z             },
2026-06-06T06:43:03.6294881Z             {
2026-06-06T06:43:03.6296006Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.6297503Z               "line": 255
2026-06-06T06:43:03.6298558Z             },
2026-06-06T06:43:03.6299542Z             {
2026-06-06T06:43:03.6300599Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6301939Z               "line": 2715
2026-06-06T06:43:03.6303009Z             },
2026-06-06T06:43:03.6303911Z             {
2026-06-06T06:43:03.6304943Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6306259Z               "line": 2852
2026-06-06T06:43:03.6307288Z             },
2026-06-06T06:43:03.6308186Z             {
2026-06-06T06:43:03.6309247Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6310587Z               "line": 2884
2026-06-06T06:43:03.6311632Z             }
2026-06-06T06:43:03.6320118Z           ]
2026-06-06T06:43:03.6321195Z         },
2026-06-06T06:43:03.6322050Z         "int": {
2026-06-06T06:43:03.6323009Z           "complete": true,
2026-06-06T06:43:03.6324120Z           "evidence": [
2026-06-06T06:43:03.6325100Z             {
2026-06-06T06:43:03.6326229Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.6327656Z               "line": 641
2026-06-06T06:43:03.6328658Z             },
2026-06-06T06:43:03.6329804Z             {
2026-06-06T06:43:03.6331169Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-06T06:43:03.6332610Z               "line": 8
2026-06-06T06:43:03.6333592Z             },
2026-06-06T06:43:03.6334493Z             {
2026-06-06T06:43:03.6335616Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-06T06:43:03.6337064Z               "line": 46
2026-06-06T06:43:03.6338078Z             },
2026-06-06T06:43:03.6338972Z             {
2026-06-06T06:43:03.6340139Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6341581Z               "line": 631
2026-06-06T06:43:03.6342603Z             },
2026-06-06T06:43:03.6343513Z             {
2026-06-06T06:43:03.6344647Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6346124Z               "line": 959
2026-06-06T06:43:03.6347179Z             },
2026-06-06T06:43:03.6348099Z             {
2026-06-06T06:43:03.6349292Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-06T06:43:03.6350712Z               "line": 17
2026-06-06T06:43:03.6351716Z             },
2026-06-06T06:43:03.6352609Z             {
2026-06-06T06:43:03.6353665Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-06T06:43:03.6355055Z               "line": 14
2026-06-06T06:43:03.6356073Z             }
2026-06-06T06:43:03.6356952Z           ]
2026-06-06T06:43:03.6357820Z         },
2026-06-06T06:43:03.6358689Z         "unit": {
2026-06-06T06:43:03.6359774Z           "complete": true,
2026-06-06T06:43:03.6360882Z           "evidence": [
2026-06-06T06:43:03.6361889Z             {
2026-06-06T06:43:03.6363035Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6364616Z               "line": 227
2026-06-06T06:43:03.6366185Z             },
2026-06-06T06:43:03.6367333Z             {
2026-06-06T06:43:03.6368480Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6370344Z               "line": 254
2026-06-06T06:43:03.6371421Z             },
2026-06-06T06:43:03.6372353Z             {
2026-06-06T06:43:03.6373464Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6374872Z               "line": 278
2026-06-06T06:43:03.6376128Z             },
2026-06-06T06:43:03.6377158Z             {
2026-06-06T06:43:03.6378334Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6380020Z               "line": 505
2026-06-06T06:43:03.6380804Z             },
2026-06-06T06:43:03.6381440Z             {
2026-06-06T06:43:03.6382256Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6383337Z               "line": 569
2026-06-06T06:43:03.6384043Z             },
2026-06-06T06:43:03.6384644Z             {
2026-06-06T06:43:03.6385443Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6386523Z               "line": 698
2026-06-06T06:43:03.6387210Z             },
2026-06-06T06:43:03.6387792Z             {
2026-06-06T06:43:03.6388517Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.6389750Z               "line": 524
2026-06-06T06:43:03.6390466Z             },
2026-06-06T06:43:03.6391060Z             {
2026-06-06T06:43:03.6391820Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:43:03.6392866Z               "line": 343
2026-06-06T06:43:03.6393572Z             },
2026-06-06T06:43:03.6394179Z             {
2026-06-06T06:43:03.6394829Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6395721Z               "line": 3698
2026-06-06T06:43:03.6396399Z             },
2026-06-06T06:43:03.6396929Z             {
2026-06-06T06:43:03.6397541Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6398419Z               "line": 3945
2026-06-06T06:43:03.6399071Z             },
2026-06-06T06:43:03.6399697Z             {
2026-06-06T06:43:03.6400433Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6401267Z               "line": 4258
2026-06-06T06:43:03.6401864Z             }
2026-06-06T06:43:03.6409893Z           ]
2026-06-06T06:43:03.6410801Z         }
2026-06-06T06:43:03.6411287Z       }
2026-06-06T06:43:03.6411759Z     },
2026-06-06T06:43:03.6412238Z     {
2026-06-06T06:43:03.6412763Z       "id": "REQ-SHELL-2",
2026-06-06T06:43:03.6420148Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-06T06:43:03.6427123Z       "requiredStages": [
2026-06-06T06:43:03.6427796Z         "impl",
2026-06-06T06:43:03.6428309Z         "unit",
2026-06-06T06:43:03.6428809Z         "int"
2026-06-06T06:43:03.6429349Z       ],
2026-06-06T06:43:03.6429852Z       "stages": {
2026-06-06T06:43:03.6430378Z         "doc": {
2026-06-06T06:43:03.6430937Z           "complete": false,
2026-06-06T06:43:03.6431596Z           "evidence": []
2026-06-06T06:43:03.6432177Z         },
2026-06-06T06:43:03.6432646Z         "impl": {
2026-06-06T06:43:03.6433196Z           "complete": true,
2026-06-06T06:43:03.6433839Z           "evidence": [
2026-06-06T06:43:03.6434444Z             {
2026-06-06T06:43:03.6435100Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:43:03.6435996Z               "line": 158
2026-06-06T06:43:03.6436570Z             },
2026-06-06T06:43:03.6437039Z             {
2026-06-06T06:43:03.6437693Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:43:03.6439062Z               "line": 375
2026-06-06T06:43:03.6439788Z             },
2026-06-06T06:43:03.6440463Z             {
2026-06-06T06:43:03.6441126Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:43:03.6442034Z               "line": 243
2026-06-06T06:43:03.6442616Z             },
2026-06-06T06:43:03.6443102Z             {
2026-06-06T06:43:03.6443767Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.6444671Z               "line": 291
2026-06-06T06:43:03.6445258Z             },
2026-06-06T06:43:03.6445749Z             {
2026-06-06T06:43:03.6446410Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6447327Z               "line": 30
2026-06-06T06:43:03.6447900Z             },
2026-06-06T06:43:03.6448382Z             {
2026-06-06T06:43:03.6449039Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6450346Z               "line": 150
2026-06-06T06:43:03.6450958Z             },
2026-06-06T06:43:03.6451447Z             {
2026-06-06T06:43:03.6452110Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6453045Z               "line": 186
2026-06-06T06:43:03.6453625Z             },
2026-06-06T06:43:03.6454111Z             {
2026-06-06T06:43:03.6454774Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6455661Z               "line": 323
2026-06-06T06:43:03.6456241Z             },
2026-06-06T06:43:03.6456723Z             {
2026-06-06T06:43:03.6457358Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.6458258Z               "line": 339
2026-06-06T06:43:03.6458949Z             },
2026-06-06T06:43:03.6459668Z             {
2026-06-06T06:43:03.6460504Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:43:03.6461452Z               "line": 111
2026-06-06T06:43:03.6462047Z             },
2026-06-06T06:43:03.6462543Z             {
2026-06-06T06:43:03.6463211Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6464187Z               "line": 116
2026-06-06T06:43:03.6464789Z             },
2026-06-06T06:43:03.6465287Z             {
2026-06-06T06:43:03.6465947Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6467116Z               "line": 348
2026-06-06T06:43:03.6467805Z             },
2026-06-06T06:43:03.6468323Z             {
2026-06-06T06:43:03.6468996Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6470175Z               "line": 453
2026-06-06T06:43:03.6470795Z             },
2026-06-06T06:43:03.6471297Z             {
2026-06-06T06:43:03.6471949Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6472860Z               "line": 24
2026-06-06T06:43:03.6473422Z             },
2026-06-06T06:43:03.6473899Z             {
2026-06-06T06:43:03.6474565Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6475492Z               "line": 72
2026-06-06T06:43:03.6476061Z             },
2026-06-06T06:43:03.6476545Z             {
2026-06-06T06:43:03.6477445Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6486727Z               "line": 150
2026-06-06T06:43:03.6487352Z             },
2026-06-06T06:43:03.6487835Z             {
2026-06-06T06:43:03.6488486Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6489685Z               "line": 173
2026-06-06T06:43:03.6490457Z             },
2026-06-06T06:43:03.6490926Z             {
2026-06-06T06:43:03.6491572Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6492482Z               "line": 266
2026-06-06T06:43:03.6493071Z             },
2026-06-06T06:43:03.6493542Z             {
2026-06-06T06:43:03.6494184Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6495082Z               "line": 438
2026-06-06T06:43:03.6495662Z             },
2026-06-06T06:43:03.6496132Z             {
2026-06-06T06:43:03.6497332Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6498282Z               "line": 513
2026-06-06T06:43:03.6499062Z             },
2026-06-06T06:43:03.6499783Z             {
2026-06-06T06:43:03.6500631Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-06T06:43:03.6501549Z               "line": 27
2026-06-06T06:43:03.6502117Z             },
2026-06-06T06:43:03.6502617Z             {
2026-06-06T06:43:03.6503288Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-06T06:43:03.6504193Z               "line": 43
2026-06-06T06:43:03.6504761Z             },
2026-06-06T06:43:03.6505246Z             {
2026-06-06T06:43:03.6505880Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.6506759Z               "line": 313
2026-06-06T06:43:03.6507331Z             },
2026-06-06T06:43:03.6507815Z             {
2026-06-06T06:43:03.6508369Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6509231Z               "line": 1003
2026-06-06T06:43:03.6510192Z             },
2026-06-06T06:43:03.6510693Z             {
2026-06-06T06:43:03.6511280Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6512110Z               "line": 2724
2026-06-06T06:43:03.6512705Z             },
2026-06-06T06:43:03.6513197Z             {
2026-06-06T06:43:03.6513768Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6514580Z               "line": 2785
2026-06-06T06:43:03.6515170Z             },
2026-06-06T06:43:03.6515655Z             {
2026-06-06T06:43:03.6516213Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6517009Z               "line": 2813
2026-06-06T06:43:03.6517596Z             },
2026-06-06T06:43:03.6518063Z             {
2026-06-06T06:43:03.6518642Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6519673Z               "line": 2859
2026-06-06T06:43:03.6520444Z             },
2026-06-06T06:43:03.6520942Z             {
2026-06-06T06:43:03.6521231Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6521465Z               "line": 2967
2026-06-06T06:43:03.6521664Z             },
2026-06-06T06:43:03.6521852Z             {
2026-06-06T06:43:03.6522135Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6522334Z               "line": 3025
2026-06-06T06:43:03.6522522Z             },
2026-06-06T06:43:03.6522709Z             {
2026-06-06T06:43:03.6523007Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.6523214Z               "line": 268
2026-06-06T06:43:03.6523399Z             },
2026-06-06T06:43:03.6523585Z             {
2026-06-06T06:43:03.6523875Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.6524084Z               "line": 301
2026-06-06T06:43:03.6524272Z             }
2026-06-06T06:43:03.6524451Z           ]
2026-06-06T06:43:03.6524637Z         },
2026-06-06T06:43:03.6524816Z         "int": {
2026-06-06T06:43:03.6525051Z           "complete": true,
2026-06-06T06:43:03.6525254Z           "evidence": [
2026-06-06T06:43:03.6525443Z             {
2026-06-06T06:43:03.6525845Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.6526062Z               "line": 634
2026-06-06T06:43:03.6526254Z             },
2026-06-06T06:43:03.6526431Z             {
2026-06-06T06:43:03.6526805Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6527016Z               "line": 631
2026-06-06T06:43:03.6527223Z             },
2026-06-06T06:43:03.6527414Z             {
2026-06-06T06:43:03.6527783Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6527999Z               "line": 959
2026-06-06T06:43:03.6528177Z             },
2026-06-06T06:43:03.6528362Z             {
2026-06-06T06:43:03.6528755Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-06T06:43:03.6528970Z               "line": 18
2026-06-06T06:43:03.6529204Z             }
2026-06-06T06:43:03.6529548Z           ]
2026-06-06T06:43:03.6529754Z         },
2026-06-06T06:43:03.6529943Z         "unit": {
2026-06-06T06:43:03.6530498Z           "complete": true,
2026-06-06T06:43:03.6530765Z           "evidence": [
2026-06-06T06:43:03.6531149Z             {
2026-06-06T06:43:03.6531538Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:43:03.6531752Z               "line": 401
2026-06-06T06:43:03.6531958Z             },
2026-06-06T06:43:03.6532147Z             {
2026-06-06T06:43:03.6532523Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:43:03.6532754Z               "line": 687
2026-06-06T06:43:03.6532995Z             },
2026-06-06T06:43:03.6533227Z             {
2026-06-06T06:43:03.6533663Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6533910Z               "line": 600
2026-06-06T06:43:03.6534099Z             },
2026-06-06T06:43:03.6534294Z             {
2026-06-06T06:43:03.6534661Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6534881Z               "line": 640
2026-06-06T06:43:03.6535077Z             },
2026-06-06T06:43:03.6535280Z             {
2026-06-06T06:43:03.6535663Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:43:03.6535886Z               "line": 663
2026-06-06T06:43:03.6536227Z             },
2026-06-06T06:43:03.6536468Z             {
2026-06-06T06:43:03.6537351Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6545789Z               "line": 569
2026-06-06T06:43:03.6546107Z             },
2026-06-06T06:43:03.6546264Z             {
2026-06-06T06:43:03.6546652Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6546839Z               "line": 582
2026-06-06T06:43:03.6547002Z             },
2026-06-06T06:43:03.6547163Z             {
2026-06-06T06:43:03.6547514Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6547706Z               "line": 603
2026-06-06T06:43:03.6547862Z             },
2026-06-06T06:43:03.6548027Z             {
2026-06-06T06:43:03.6548421Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6548630Z               "line": 648
2026-06-06T06:43:03.6548814Z             },
2026-06-06T06:43:03.6548972Z             {
2026-06-06T06:43:03.6549584Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6549817Z               "line": 663
2026-06-06T06:43:03.6550161Z             },
2026-06-06T06:43:03.6550343Z             {
2026-06-06T06:43:03.6550727Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6550944Z               "line": 690
2026-06-06T06:43:03.6551119Z             },
2026-06-06T06:43:03.6551302Z             {
2026-06-06T06:43:03.6551670Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:43:03.6551885Z               "line": 761
2026-06-06T06:43:03.6552056Z             },
2026-06-06T06:43:03.6552241Z             {
2026-06-06T06:43:03.6552640Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-06T06:43:03.6552840Z               "line": 74
2026-06-06T06:43:03.6553036Z             },
2026-06-06T06:43:03.6553204Z             {
2026-06-06T06:43:03.6553509Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6553708Z               "line": 3418
2026-06-06T06:43:03.6553896Z             },
2026-06-06T06:43:03.6554082Z             {
2026-06-06T06:43:03.6554360Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6554579Z               "line": 3751
2026-06-06T06:43:03.6554747Z             },
2026-06-06T06:43:03.6554926Z             {
2026-06-06T06:43:03.6555194Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6572570Z               "line": 3809
2026-06-06T06:43:03.6572763Z             },
2026-06-06T06:43:03.6572917Z             {
2026-06-06T06:43:03.6573211Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6573398Z               "line": 3835
2026-06-06T06:43:03.6573564Z             }
2026-06-06T06:43:03.6573715Z           ]
2026-06-06T06:43:03.6573889Z         }
2026-06-06T06:43:03.6574056Z       }
2026-06-06T06:43:03.6574751Z     },
2026-06-06T06:43:03.6574939Z     {
2026-06-06T06:43:03.6575318Z       "id": "REQ-START-1",
2026-06-06T06:43:03.6576041Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-06T06:43:03.6576286Z       "requiredStages": [
2026-06-06T06:43:03.6576526Z         "impl",
2026-06-06T06:43:03.6576731Z         "unit"
2026-06-06T06:43:03.6576915Z       ],
2026-06-06T06:43:03.6577182Z       "stages": {
2026-06-06T06:43:03.6577373Z         "doc": {
2026-06-06T06:43:03.6577618Z           "complete": false,
2026-06-06T06:43:03.6577833Z           "evidence": []
2026-06-06T06:43:03.6578036Z         },
2026-06-06T06:43:03.6578255Z         "impl": {
2026-06-06T06:43:03.6578483Z           "complete": true,
2026-06-06T06:43:03.6578702Z           "evidence": [
2026-06-06T06:43:03.6578890Z             {
2026-06-06T06:43:03.6579318Z               "path": "crates/spt-store/src/seed.rs",
2026-06-06T06:43:03.6579721Z               "line": 16
2026-06-06T06:43:03.6579951Z             }
2026-06-06T06:43:03.6580316Z           ]
2026-06-06T06:43:03.6580519Z         },
2026-06-06T06:43:03.6580718Z         "int": {
2026-06-06T06:43:03.6580936Z           "complete": false,
2026-06-06T06:43:03.6581155Z           "evidence": []
2026-06-06T06:43:03.6581347Z         },
2026-06-06T06:43:03.6581566Z         "unit": {
2026-06-06T06:43:03.6581797Z           "complete": true,
2026-06-06T06:43:03.6582000Z           "evidence": [
2026-06-06T06:43:03.6582201Z             {
2026-06-06T06:43:03.6582494Z               "path": "crates/spt-store/src/seed.rs",
2026-06-06T06:43:03.6582709Z               "line": 43
2026-06-06T06:43:03.6582899Z             },
2026-06-06T06:43:03.6583091Z             {
2026-06-06T06:43:03.6583388Z               "path": "crates/spt-store/src/seed.rs",
2026-06-06T06:43:03.6583586Z               "line": 59
2026-06-06T06:43:03.6583782Z             }
2026-06-06T06:43:03.6583960Z           ]
2026-06-06T06:43:03.6584144Z         }
2026-06-06T06:43:03.6584325Z       }
2026-06-06T06:43:03.6584522Z     },
2026-06-06T06:43:03.6584711Z     {
2026-06-06T06:43:03.6584940Z       "id": "REQ-START-2",
2026-06-06T06:43:03.6585312Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-06T06:43:03.6585524Z       "requiredStages": [
2026-06-06T06:43:03.6585718Z         "impl",
2026-06-06T06:43:03.6585899Z         "unit",
2026-06-06T06:43:03.6586085Z         "int"
2026-06-06T06:43:03.6586267Z       ],
2026-06-06T06:43:03.6586454Z       "stages": {
2026-06-06T06:43:03.6586648Z         "doc": {
2026-06-06T06:43:03.6586866Z           "complete": false,
2026-06-06T06:43:03.6587079Z           "evidence": []
2026-06-06T06:43:03.6587261Z         },
2026-06-06T06:43:03.6587466Z         "impl": {
2026-06-06T06:43:03.6587702Z           "complete": true,
2026-06-06T06:43:03.6587908Z           "evidence": [
2026-06-06T06:43:03.6588100Z             {
2026-06-06T06:43:03.6588390Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6588603Z               "line": 16
2026-06-06T06:43:03.6588801Z             },
2026-06-06T06:43:03.6588999Z             {
2026-06-06T06:43:03.6589407Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6589807Z               "line": 97
2026-06-06T06:43:03.6590160Z             },
2026-06-06T06:43:03.6590340Z             {
2026-06-06T06:43:03.6590648Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6590863Z               "line": 203
2026-06-06T06:43:03.6591059Z             }
2026-06-06T06:43:03.6591246Z           ]
2026-06-06T06:43:03.6591433Z         },
2026-06-06T06:43:03.6591633Z         "int": {
2026-06-06T06:43:03.6591847Z           "complete": true,
2026-06-06T06:43:03.6592064Z           "evidence": [
2026-06-06T06:43:03.6592246Z             {
2026-06-06T06:43:03.6592551Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.6592775Z               "line": 150
2026-06-06T06:43:03.6592955Z             }
2026-06-06T06:43:03.6593148Z           ]
2026-06-06T06:43:03.6593332Z         },
2026-06-06T06:43:03.6593864Z         "unit": {
2026-06-06T06:43:03.6594325Z           "complete": true,
2026-06-06T06:43:03.6594550Z           "evidence": [
2026-06-06T06:43:03.6594750Z             {
2026-06-06T06:43:03.6595036Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6595243Z               "line": 411
2026-06-06T06:43:03.6595417Z             },
2026-06-06T06:43:03.6595609Z             {
2026-06-06T06:43:03.6595889Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6596108Z               "line": 444
2026-06-06T06:43:03.6596296Z             }
2026-06-06T06:43:03.6596480Z           ]
2026-06-06T06:43:03.6596660Z         }
2026-06-06T06:43:03.6596841Z       }
2026-06-06T06:43:03.6597034Z     },
2026-06-06T06:43:03.6597205Z     {
2026-06-06T06:43:03.6597425Z       "id": "REQ-START-3",
2026-06-06T06:43:03.6597879Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-06T06:43:03.6598101Z       "requiredStages": [
2026-06-06T06:43:03.6598315Z         "impl",
2026-06-06T06:43:03.6598508Z         "unit",
2026-06-06T06:43:03.6598697Z         "int"
2026-06-06T06:43:03.6598871Z       ],
2026-06-06T06:43:03.6599072Z       "stages": {
2026-06-06T06:43:03.6599345Z         "doc": {
2026-06-06T06:43:03.6599759Z           "complete": false,
2026-06-06T06:43:03.6600129Z           "evidence": []
2026-06-06T06:43:03.6600315Z         },
2026-06-06T06:43:03.6600520Z         "impl": {
2026-06-06T06:43:03.6600732Z           "complete": true,
2026-06-06T06:43:03.6600952Z           "evidence": [
2026-06-06T06:43:03.6601155Z             {
2026-06-06T06:43:03.6601454Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:43:03.6601676Z               "line": 23
2026-06-06T06:43:03.6601876Z             },
2026-06-06T06:43:03.6602073Z             {
2026-06-06T06:43:03.6602356Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:43:03.6602565Z               "line": 167
2026-06-06T06:43:03.6602762Z             },
2026-06-06T06:43:03.6602960Z             {
2026-06-06T06:43:03.6609488Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:43:03.6609972Z               "line": 180
2026-06-06T06:43:03.6610164Z             },
2026-06-06T06:43:03.6610339Z             {
2026-06-06T06:43:03.6610632Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6610827Z               "line": 17
2026-06-06T06:43:03.6611021Z             },
2026-06-06T06:43:03.6611206Z             {
2026-06-06T06:43:03.6611469Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6611676Z               "line": 43
2026-06-06T06:43:03.6611853Z             },
2026-06-06T06:43:03.6612041Z             {
2026-06-06T06:43:03.6612300Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6612507Z               "line": 98
2026-06-06T06:43:03.6612692Z             }
2026-06-06T06:43:03.6612866Z           ]
2026-06-06T06:43:03.6613053Z         },
2026-06-06T06:43:03.6613239Z         "int": {
2026-06-06T06:43:03.6613483Z           "complete": true,
2026-06-06T06:43:03.6613690Z           "evidence": [
2026-06-06T06:43:03.6613878Z             {
2026-06-06T06:43:03.6614162Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:43:03.6614362Z               "line": 321
2026-06-06T06:43:03.6614562Z             }
2026-06-06T06:43:03.6614740Z           ]
2026-06-06T06:43:03.6614930Z         },
2026-06-06T06:43:03.6615121Z         "unit": {
2026-06-06T06:43:03.6615384Z           "complete": true,
2026-06-06T06:43:03.6615604Z           "evidence": [
2026-06-06T06:43:03.6615831Z             {
2026-06-06T06:43:03.6616114Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:43:03.6616299Z               "line": 245
2026-06-06T06:43:03.6616471Z             },
2026-06-06T06:43:03.6616629Z             {
2026-06-06T06:43:03.6616906Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:43:03.6617103Z               "line": 263
2026-06-06T06:43:03.6617261Z             },
2026-06-06T06:43:03.6617781Z             {
2026-06-06T06:43:03.6618238Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:43:03.6618428Z               "line": 273
2026-06-06T06:43:03.6618587Z             },
2026-06-06T06:43:03.6618767Z             {
2026-06-06T06:43:03.6619025Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6619462Z               "line": 412
2026-06-06T06:43:03.6619661Z             },
2026-06-06T06:43:03.6619963Z             {
2026-06-06T06:43:03.6620215Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6620404Z               "line": 445
2026-06-06T06:43:03.6620561Z             },
2026-06-06T06:43:03.6620726Z             {
2026-06-06T06:43:03.6620964Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:43:03.6621147Z               "line": 453
2026-06-06T06:43:03.6621302Z             }
2026-06-06T06:43:03.6621476Z           ]
2026-06-06T06:43:03.6621647Z         }
2026-06-06T06:43:03.6621801Z       }
2026-06-06T06:43:03.6621977Z     },
2026-06-06T06:43:03.6622137Z     {
2026-06-06T06:43:03.6622332Z       "id": "REQ-START-4",
2026-06-06T06:43:03.6622637Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-06T06:43:03.6622840Z       "requiredStages": [
2026-06-06T06:43:03.6623004Z         "impl",
2026-06-06T06:43:03.6623184Z         "unit"
2026-06-06T06:43:03.6623353Z       ],
2026-06-06T06:43:03.6623513Z       "stages": {
2026-06-06T06:43:03.6623676Z         "doc": {
2026-06-06T06:43:03.6623858Z           "complete": false,
2026-06-06T06:43:03.6624043Z           "evidence": []
2026-06-06T06:43:03.6624206Z         },
2026-06-06T06:43:03.6624382Z         "impl": {
2026-06-06T06:43:03.6624580Z           "complete": true,
2026-06-06T06:43:03.6624753Z           "evidence": [
2026-06-06T06:43:03.6624924Z             {
2026-06-06T06:43:03.6625205Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.6625407Z               "line": 378
2026-06-06T06:43:03.6625588Z             }
2026-06-06T06:43:03.6625756Z           ]
2026-06-06T06:43:03.6625930Z         },
2026-06-06T06:43:03.6626094Z         "int": {
2026-06-06T06:43:03.6626293Z           "complete": false,
2026-06-06T06:43:03.6626466Z           "evidence": []
2026-06-06T06:43:03.6626631Z         },
2026-06-06T06:43:03.6626789Z         "unit": {
2026-06-06T06:43:03.6626992Z           "complete": true,
2026-06-06T06:43:03.6627179Z           "evidence": [
2026-06-06T06:43:03.6627341Z             {
2026-06-06T06:43:03.6627624Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:43:03.6627799Z               "line": 609
2026-06-06T06:43:03.6627969Z             }
2026-06-06T06:43:03.6628136Z           ]
2026-06-06T06:43:03.6628311Z         }
2026-06-06T06:43:03.6628480Z       }
2026-06-06T06:43:03.6628639Z     },
2026-06-06T06:43:03.6628809Z     {
2026-06-06T06:43:03.6629005Z       "id": "REQ-STORE-1",
2026-06-06T06:43:03.6631477Z       "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-06T06:43:03.6631733Z       "requiredStages": [
2026-06-06T06:43:03.6631893Z         "impl",
2026-06-06T06:43:03.6632066Z         "unit"
2026-06-06T06:43:03.6632228Z       ],
2026-06-06T06:43:03.6632402Z       "stages": {
2026-06-06T06:43:03.6632567Z         "doc": {
2026-06-06T06:43:03.6632752Z           "complete": false,
2026-06-06T06:43:03.6632933Z           "evidence": []
2026-06-06T06:43:03.6633086Z         },
2026-06-06T06:43:03.6633257Z         "impl": {
2026-06-06T06:43:03.6633436Z           "complete": true,
2026-06-06T06:43:03.6633615Z           "evidence": [
2026-06-06T06:43:03.6633787Z             {
2026-06-06T06:43:03.6634062Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6634245Z               "line": 23
2026-06-06T06:43:03.6634661Z             },
2026-06-06T06:43:03.6634991Z             {
2026-06-06T06:43:03.6635272Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6635462Z               "line": 46
2026-06-06T06:43:03.6635624Z             },
2026-06-06T06:43:03.6635776Z             {
2026-06-06T06:43:03.6636056Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6636232Z               "line": 88
2026-06-06T06:43:03.6636403Z             },
2026-06-06T06:43:03.6636555Z             {
2026-06-06T06:43:03.6636832Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6637020Z               "line": 109
2026-06-06T06:43:03.6637182Z             },
2026-06-06T06:43:03.6637350Z             {
2026-06-06T06:43:03.6637622Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6637817Z               "line": 152
2026-06-06T06:43:03.6637982Z             },
2026-06-06T06:43:03.6638152Z             {
2026-06-06T06:43:03.6638457Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6638667Z               "line": 165
2026-06-06T06:43:03.6638845Z             },
2026-06-06T06:43:03.6639005Z             {
2026-06-06T06:43:03.6639437Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6639637Z               "line": 353
2026-06-06T06:43:03.6639809Z             },
2026-06-06T06:43:03.6639977Z             {
2026-06-06T06:43:03.6640257Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6640450Z               "line": 25
2026-06-06T06:43:03.6640612Z             },
2026-06-06T06:43:03.6640785Z             {
2026-06-06T06:43:03.6641063Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6641253Z               "line": 101
2026-06-06T06:43:03.6641426Z             },
2026-06-06T06:43:03.6641579Z             {
2026-06-06T06:43:03.6641863Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6642056Z               "line": 126
2026-06-06T06:43:03.6642241Z             },
2026-06-06T06:43:03.6642416Z             {
2026-06-06T06:43:03.6642703Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6642911Z               "line": 140
2026-06-06T06:43:03.6643086Z             },
2026-06-06T06:43:03.6643251Z             {
2026-06-06T06:43:03.6643535Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6643722Z               "line": 154
2026-06-06T06:43:03.6643891Z             },
2026-06-06T06:43:03.6644053Z             {
2026-06-06T06:43:03.6644331Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6644502Z               "line": 163
2026-06-06T06:43:03.6644679Z             },
2026-06-06T06:43:03.6644840Z             {
2026-06-06T06:43:03.6645105Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:43:03.6651172Z               "line": 16
2026-06-06T06:43:03.6651455Z             },
2026-06-06T06:43:03.6651654Z             {
2026-06-06T06:43:03.6651951Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:43:03.6652136Z               "line": 63
2026-06-06T06:43:03.6652286Z             }
2026-06-06T06:43:03.6652452Z           ]
2026-06-06T06:43:03.6652618Z         },
2026-06-06T06:43:03.6652780Z         "int": {
2026-06-06T06:43:03.6652978Z           "complete": false,
2026-06-06T06:43:03.6653160Z           "evidence": []
2026-06-06T06:43:03.6653324Z         },
2026-06-06T06:43:03.6653492Z         "unit": {
2026-06-06T06:43:03.6653683Z           "complete": true,
2026-06-06T06:43:03.6653863Z           "evidence": [
2026-06-06T06:43:03.6654022Z             {
2026-06-06T06:43:03.6654318Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6654495Z               "line": 468
2026-06-06T06:43:03.6654663Z             },
2026-06-06T06:43:03.6654821Z             {
2026-06-06T06:43:03.6655104Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6655637Z               "line": 478
2026-06-06T06:43:03.6655995Z             },
2026-06-06T06:43:03.6656156Z             {
2026-06-06T06:43:03.6656427Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6656607Z               "line": 498
2026-06-06T06:43:03.6656758Z             },
2026-06-06T06:43:03.6656923Z             {
2026-06-06T06:43:03.6657192Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6657371Z               "line": 514
2026-06-06T06:43:03.6657536Z             },
2026-06-06T06:43:03.6657685Z             {
2026-06-06T06:43:03.6657960Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:43:03.6658131Z               "line": 535
2026-06-06T06:43:03.6658296Z             },
2026-06-06T06:43:03.6658462Z             {
2026-06-06T06:43:03.6658741Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6658928Z               "line": 427
2026-06-06T06:43:03.6659092Z             },
2026-06-06T06:43:03.6659350Z             {
2026-06-06T06:43:03.6659659Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:43:03.6659850Z               "line": 457
2026-06-06T06:43:03.6660014Z             },
2026-06-06T06:43:03.6660166Z             {
2026-06-06T06:43:03.6660437Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:43:03.6660626Z               "line": 116
2026-06-06T06:43:03.6660796Z             },
2026-06-06T06:43:03.6660965Z             {
2026-06-06T06:43:03.6661215Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:43:03.6661395Z               "line": 124
2026-06-06T06:43:03.6661555Z             }
2026-06-06T06:43:03.6661715Z           ]
2026-06-06T06:43:03.6661871Z         }
2026-06-06T06:43:03.6662035Z       }
2026-06-06T06:43:03.6662184Z     },
2026-06-06T06:43:03.6662347Z     {
2026-06-06T06:43:03.6662545Z       "id": "REQ-SUBNET-1",
2026-06-06T06:43:03.6663289Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-totp; spt pair deleted",
2026-06-06T06:43:03.6663500Z       "requiredStages": [
2026-06-06T06:43:03.6663661Z         "impl",
2026-06-06T06:43:03.6663829Z         "unit"
2026-06-06T06:43:03.6663991Z       ],
2026-06-06T06:43:03.6664157Z       "stages": {
2026-06-06T06:43:03.6664325Z         "doc": {
2026-06-06T06:43:03.6664512Z           "complete": false,
2026-06-06T06:43:03.6664695Z           "evidence": []
2026-06-06T06:43:03.6664857Z         },
2026-06-06T06:43:03.6665043Z         "impl": {
2026-06-06T06:43:03.6665231Z           "complete": true,
2026-06-06T06:43:03.6665400Z           "evidence": [
2026-06-06T06:43:03.6665568Z             {
2026-06-06T06:43:03.6665864Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.6666056Z               "line": 217
2026-06-06T06:43:03.6666223Z             },
2026-06-06T06:43:03.6666391Z             {
2026-06-06T06:43:03.6666692Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.6666917Z               "line": 399
2026-06-06T06:43:03.6667111Z             },
2026-06-06T06:43:03.6667270Z             {
2026-06-06T06:43:03.6667500Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6667675Z               "line": 1603
2026-06-06T06:43:03.6667845Z             },
2026-06-06T06:43:03.6668019Z             {
2026-06-06T06:43:03.6668249Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6668431Z               "line": 1687
2026-06-06T06:43:03.6668595Z             },
2026-06-06T06:43:03.6668760Z             {
2026-06-06T06:43:03.6668972Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6669215Z               "line": 1699
2026-06-06T06:43:03.6669402Z             },
2026-06-06T06:43:03.6669574Z             {
2026-06-06T06:43:03.6669799Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6669980Z               "line": 1721
2026-06-06T06:43:03.6670155Z             },
2026-06-06T06:43:03.6670313Z             {
2026-06-06T06:43:03.6670812Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6671175Z               "line": 1750
2026-06-06T06:43:03.6671337Z             },
2026-06-06T06:43:03.6671515Z             {
2026-06-06T06:43:03.6671729Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6671910Z               "line": 1812
2026-06-06T06:43:03.6672064Z             },
2026-06-06T06:43:03.6672246Z             {
2026-06-06T06:43:03.6672474Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6672660Z               "line": 1856
2026-06-06T06:43:03.6672833Z             },
2026-06-06T06:43:03.6672984Z             {
2026-06-06T06:43:03.6673206Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6673382Z               "line": 1891
2026-06-06T06:43:03.6673552Z             },
2026-06-06T06:43:03.6673721Z             {
2026-06-06T06:43:03.6673944Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:43:03.6674128Z               "line": 362
2026-06-06T06:43:03.6674303Z             }
2026-06-06T06:43:03.6674468Z           ]
2026-06-06T06:43:03.6674630Z         },
2026-06-06T06:43:03.6674796Z         "int": {
2026-06-06T06:43:03.6674989Z           "complete": false,
2026-06-06T06:43:03.6675162Z           "evidence": []
2026-06-06T06:43:03.6675334Z         },
2026-06-06T06:43:03.6675494Z         "unit": {
2026-06-06T06:43:03.6675686Z           "complete": true,
2026-06-06T06:43:03.6675859Z           "evidence": [
2026-06-06T06:43:03.6676026Z             {
2026-06-06T06:43:03.6676316Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.6676499Z               "line": 714
2026-06-06T06:43:03.6676672Z             },
2026-06-06T06:43:03.6676832Z             {
2026-06-06T06:43:03.6677062Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6677244Z               "line": 4459
2026-06-06T06:43:03.6677428Z             },
2026-06-06T06:43:03.6677604Z             {
2026-06-06T06:43:03.6677836Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6678021Z               "line": 4520
2026-06-06T06:43:03.6678188Z             },
2026-06-06T06:43:03.6678349Z             {
2026-06-06T06:43:03.6678567Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6678754Z               "line": 4527
2026-06-06T06:43:03.6678920Z             },
2026-06-06T06:43:03.6679078Z             {
2026-06-06T06:43:03.6679365Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6679540Z               "line": 4545
2026-06-06T06:43:03.6679709Z             },
2026-06-06T06:43:03.6679866Z             {
2026-06-06T06:43:03.6680089Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6680277Z               "line": 4558
2026-06-06T06:43:03.6680442Z             },
2026-06-06T06:43:03.6680608Z             {
2026-06-06T06:43:03.6680825Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6681011Z               "line": 4568
2026-06-06T06:43:03.6681173Z             },
2026-06-06T06:43:03.6681341Z             {
2026-06-06T06:43:03.6681584Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6681770Z               "line": 4623
2026-06-06T06:43:03.6681931Z             }
2026-06-06T06:43:03.6682083Z           ]
2026-06-06T06:43:03.6682247Z         }
2026-06-06T06:43:03.6682411Z       }
2026-06-06T06:43:03.6682557Z     },
2026-06-06T06:43:03.6682717Z     {
2026-06-06T06:43:03.6682900Z       "id": "REQ-SUBNET-2",
2026-06-06T06:43:03.6683426Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-06T06:43:03.6689005Z       "requiredStages": [
2026-06-06T06:43:03.6689540Z         "impl",
2026-06-06T06:43:03.6689740Z         "unit",
2026-06-06T06:43:03.6689906Z         "int"
2026-06-06T06:43:03.6690082Z       ],
2026-06-06T06:43:03.6690388Z       "stages": {
2026-06-06T06:43:03.6690557Z         "doc": {
2026-06-06T06:43:03.6690745Z           "complete": true,
2026-06-06T06:43:03.6690928Z           "evidence": [
2026-06-06T06:43:03.6691095Z             {
2026-06-06T06:43:03.6691829Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-06T06:43:03.6692341Z               "line": 60
2026-06-06T06:43:03.6692498Z             }
2026-06-06T06:43:03.6692664Z           ]
2026-06-06T06:43:03.6692829Z         },
2026-06-06T06:43:03.6693001Z         "impl": {
2026-06-06T06:43:03.6693190Z           "complete": true,
2026-06-06T06:43:03.6693362Z           "evidence": [
2026-06-06T06:43:03.6693524Z             {
2026-06-06T06:43:03.6693777Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.6693956Z               "line": 514
2026-06-06T06:43:03.6694119Z             },
2026-06-06T06:43:03.6694425Z             {
2026-06-06T06:43:03.6694713Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:43:03.6694918Z               "line": 606
2026-06-06T06:43:03.6695107Z             },
2026-06-06T06:43:03.6695281Z             {
2026-06-06T06:43:03.6695556Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.6695772Z               "line": 401
2026-06-06T06:43:03.6695999Z             },
2026-06-06T06:43:03.6696201Z             {
2026-06-06T06:43:03.6696493Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:43:03.6696729Z               "line": 477
2026-06-06T06:43:03.6696924Z             },
2026-06-06T06:43:03.6697119Z             {
2026-06-06T06:43:03.6697406Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:43:03.6697624Z               "line": 26
2026-06-06T06:43:03.6697800Z             },
2026-06-06T06:43:03.6697962Z             {
2026-06-06T06:43:03.6698242Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:43:03.6698440Z               "line": 60
2026-06-06T06:43:03.6698625Z             },
2026-06-06T06:43:03.6698783Z             {
2026-06-06T06:43:03.6699059Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:43:03.6699354Z               "line": 113
2026-06-06T06:43:03.6699681Z             },
2026-06-06T06:43:03.6699860Z             {
2026-06-06T06:43:03.6700141Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:43:03.6700325Z               "line": 209
2026-06-06T06:43:03.6700477Z             },
2026-06-06T06:43:03.6700651Z             {
2026-06-06T06:43:03.6700869Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6701041Z               "line": 1994
2026-06-06T06:43:03.6701213Z             }
2026-06-06T06:43:03.6701367Z           ]
2026-06-06T06:43:03.6701526Z         },
2026-06-06T06:43:03.6701680Z         "int": {
2026-06-06T06:43:03.6701868Z           "complete": true,
2026-06-06T06:43:03.6702052Z           "evidence": [
2026-06-06T06:43:03.6702199Z             {
2026-06-06T06:43:03.6702473Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-06T06:43:03.6702652Z               "line": 22
2026-06-06T06:43:03.6702826Z             },
2026-06-06T06:43:03.6702992Z             {
2026-06-06T06:43:03.6703287Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6703483Z               "line": 535
2026-06-06T06:43:03.6703650Z             },
2026-06-06T06:43:03.6703817Z             {
2026-06-06T06:43:03.6704080Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6704262Z               "line": 696
2026-06-06T06:43:03.6704432Z             }
2026-06-06T06:43:03.6704586Z           ]
2026-06-06T06:43:03.6704755Z         },
2026-06-06T06:43:03.6704923Z         "unit": {
2026-06-06T06:43:03.6705116Z           "complete": true,
2026-06-06T06:43:03.6705290Z           "evidence": [
2026-06-06T06:43:03.6705458Z             {
2026-06-06T06:43:03.6705721Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:43:03.6705915Z               "line": 273
2026-06-06T06:43:03.6706091Z             },
2026-06-06T06:43:03.6706250Z             {
2026-06-06T06:43:03.6706474Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6706641Z               "line": 4490
2026-06-06T06:43:03.6707111Z             }
2026-06-06T06:43:03.6707342Z           ]
2026-06-06T06:43:03.6707658Z         }
2026-06-06T06:43:03.6707820Z       }
2026-06-06T06:43:03.6707967Z     },
2026-06-06T06:43:03.6708123Z     {
2026-06-06T06:43:03.6708312Z       "id": "REQ-SUBNET-3",
2026-06-06T06:43:03.6708935Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-06T06:43:03.6709131Z       "requiredStages": [
2026-06-06T06:43:03.6709391Z         "impl",
2026-06-06T06:43:03.6709743Z         "unit"
2026-06-06T06:43:03.6709927Z       ],
2026-06-06T06:43:03.6710264Z       "stages": {
2026-06-06T06:43:03.6710421Z         "doc": {
2026-06-06T06:43:03.6710613Z           "complete": false,
2026-06-06T06:43:03.6710802Z           "evidence": []
2026-06-06T06:43:03.6710962Z         },
2026-06-06T06:43:03.6711138Z         "impl": {
2026-06-06T06:43:03.6711323Z           "complete": true,
2026-06-06T06:43:03.6711508Z           "evidence": [
2026-06-06T06:43:03.6711672Z             {
2026-06-06T06:43:03.6711990Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.6712196Z               "line": 131
2026-06-06T06:43:03.6712359Z             },
2026-06-06T06:43:03.6712526Z             {
2026-06-06T06:43:03.6712801Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.6712980Z               "line": 315
2026-06-06T06:43:03.6713138Z             },
2026-06-06T06:43:03.6713308Z             {
2026-06-06T06:43:03.6713573Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.6713749Z               "line": 125
2026-06-06T06:43:03.6713914Z             },
2026-06-06T06:43:03.6714068Z             {
2026-06-06T06:43:03.6714329Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.6714504Z               "line": 454
2026-06-06T06:43:03.6714670Z             },
2026-06-06T06:43:03.6714837Z             {
2026-06-06T06:43:03.6715087Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.6715272Z               "line": 508
2026-06-06T06:43:03.6715440Z             },
2026-06-06T06:43:03.6715601Z             {
2026-06-06T06:43:03.6715852Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-06T06:43:03.6716036Z               "line": 9
2026-06-06T06:43:03.6716200Z             },
2026-06-06T06:43:03.6716351Z             {
2026-06-06T06:43:03.6716572Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6716750Z               "line": 1856
2026-06-06T06:43:03.6716923Z             }
2026-06-06T06:43:03.6717081Z           ]
2026-06-06T06:43:03.6717240Z         },
2026-06-06T06:43:03.6717398Z         "int": {
2026-06-06T06:43:03.6717570Z           "complete": false,
2026-06-06T06:43:03.6717746Z           "evidence": []
2026-06-06T06:43:03.6717893Z         },
2026-06-06T06:43:03.6718060Z         "unit": {
2026-06-06T06:43:03.6718234Z           "complete": true,
2026-06-06T06:43:03.6718410Z           "evidence": [
2026-06-06T06:43:03.6718574Z             {
2026-06-06T06:43:03.6718854Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:43:03.6719048Z               "line": 746
2026-06-06T06:43:03.6719279Z             },
2026-06-06T06:43:03.6719626Z             {
2026-06-06T06:43:03.6719919Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.6720262Z               "line": 739
2026-06-06T06:43:03.6720426Z             },
2026-06-06T06:43:03.6720587Z             {
2026-06-06T06:43:03.6720858Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:43:03.6721030Z               "line": 775
2026-06-06T06:43:03.6721200Z             },
2026-06-06T06:43:03.6721360Z             {
2026-06-06T06:43:03.6721637Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-06T06:43:03.6721818Z               "line": 49
2026-06-06T06:43:03.6721985Z             },
2026-06-06T06:43:03.6722149Z             {
2026-06-06T06:43:03.6722365Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6722836Z               "line": 4623
2026-06-06T06:43:03.6723033Z             }
2026-06-06T06:43:03.6723352Z           ]
2026-06-06T06:43:03.6723513Z         }
2026-06-06T06:43:03.6729063Z       }
2026-06-06T06:43:03.6729590Z     },
2026-06-06T06:43:03.6729764Z     {
2026-06-06T06:43:03.6729984Z       "id": "REQ-SUBNET-4",
2026-06-06T06:43:03.6730809Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-06T06:43:03.6731011Z       "requiredStages": [
2026-06-06T06:43:03.6731180Z         "impl",
2026-06-06T06:43:03.6731338Z         "unit"
2026-06-06T06:43:03.6731501Z       ],
2026-06-06T06:43:03.6731654Z       "stages": {
2026-06-06T06:43:03.6731823Z         "doc": {
2026-06-06T06:43:03.6731994Z           "complete": true,
2026-06-06T06:43:03.6732171Z           "evidence": [
2026-06-06T06:43:03.6732332Z             {
2026-06-06T06:43:03.6732681Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-06T06:43:03.6732890Z               "line": 60
2026-06-06T06:43:03.6733042Z             }
2026-06-06T06:43:03.6733221Z           ]
2026-06-06T06:43:03.6733373Z         },
2026-06-06T06:43:03.6733545Z         "impl": {
2026-06-06T06:43:03.6733733Z           "complete": true,
2026-06-06T06:43:03.6733899Z           "evidence": [
2026-06-06T06:43:03.6734060Z             {
2026-06-06T06:43:03.6734271Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6734451Z               "line": 1603
2026-06-06T06:43:03.6734607Z             },
2026-06-06T06:43:03.6734768Z             {
2026-06-06T06:43:03.6734990Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6735165Z               "line": 1961
2026-06-06T06:43:03.6735329Z             },
2026-06-06T06:43:03.6735481Z             {
2026-06-06T06:43:03.6735698Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6735882Z               "line": 1994
2026-06-06T06:43:03.6736030Z             }
2026-06-06T06:43:03.6736188Z           ]
2026-06-06T06:43:03.6736347Z         },
2026-06-06T06:43:03.6736514Z         "int": {
2026-06-06T06:43:03.6736700Z           "complete": false,
2026-06-06T06:43:03.6736877Z           "evidence": []
2026-06-06T06:43:03.6737023Z         },
2026-06-06T06:43:03.6737197Z         "unit": {
2026-06-06T06:43:03.6737386Z           "complete": true,
2026-06-06T06:43:03.6737553Z           "evidence": [
2026-06-06T06:43:03.6737717Z             {
2026-06-06T06:43:03.6737925Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6738100Z               "line": 4506
2026-06-06T06:43:03.6738253Z             },
2026-06-06T06:43:03.6738415Z             {
2026-06-06T06:43:03.6738631Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6738794Z               "line": 4545
2026-06-06T06:43:03.6738955Z             }
2026-06-06T06:43:03.6739104Z           ]
2026-06-06T06:43:03.6739479Z         }
2026-06-06T06:43:03.6739644Z       }
2026-06-06T06:43:03.6739817Z     },
2026-06-06T06:43:03.6739976Z     {
2026-06-06T06:43:03.6740165Z       "id": "REQ-TERM-1",
2026-06-06T06:43:03.6740568Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-06T06:43:03.6740776Z       "requiredStages": [
2026-06-06T06:43:03.6740945Z         "impl",
2026-06-06T06:43:03.6741100Z         "unit"
2026-06-06T06:43:03.6741266Z       ],
2026-06-06T06:43:03.6741437Z       "stages": {
2026-06-06T06:43:03.6741605Z         "doc": {
2026-06-06T06:43:03.6741835Z           "complete": false,
2026-06-06T06:43:03.6742032Z           "evidence": []
2026-06-06T06:43:03.6742212Z         },
2026-06-06T06:43:03.6742389Z         "impl": {
2026-06-06T06:43:03.6742598Z           "complete": true,
2026-06-06T06:43:03.6742808Z           "evidence": [
2026-06-06T06:43:03.6742979Z             {
2026-06-06T06:43:03.6743266Z               "path": "crates/spt-term/src/pty.rs",
2026-06-06T06:43:03.6743452Z               "line": 61
2026-06-06T06:43:03.6743626Z             },
2026-06-06T06:43:03.6743785Z             {
2026-06-06T06:43:03.6744513Z               "path": "crates/spt-term/src/pty.rs",
2026-06-06T06:43:03.6744913Z               "line": 169
2026-06-06T06:43:03.6745084Z             },
2026-06-06T06:43:03.6745282Z             {
2026-06-06T06:43:03.6745547Z               "path": "crates/spt-term/src/surface.rs",
2026-06-06T06:43:03.6745755Z               "line": 95
2026-06-06T06:43:03.6745959Z             }
2026-06-06T06:43:03.6746139Z           ]
2026-06-06T06:43:03.6746346Z         },
2026-06-06T06:43:03.6746558Z         "int": {
2026-06-06T06:43:03.6746805Z           "complete": false,
2026-06-06T06:43:03.6747011Z           "evidence": []
2026-06-06T06:43:03.6747232Z         },
2026-06-06T06:43:03.6747421Z         "unit": {
2026-06-06T06:43:03.6747624Z           "complete": true,
2026-06-06T06:43:03.6747806Z           "evidence": [
2026-06-06T06:43:03.6747970Z             {
2026-06-06T06:43:03.6748237Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-06T06:43:03.6748408Z               "line": 28
2026-06-06T06:43:03.6748599Z             },
2026-06-06T06:43:03.6748791Z             {
2026-06-06T06:43:03.6749114Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-06T06:43:03.6749412Z               "line": 60
2026-06-06T06:43:03.6749610Z             }
2026-06-06T06:43:03.6749808Z           ]
2026-06-06T06:43:03.6749983Z         }
2026-06-06T06:43:03.6750170Z       }
2026-06-06T06:43:03.6750342Z     },
2026-06-06T06:43:03.6750534Z     {
2026-06-06T06:43:03.6750738Z       "id": "REQ-TERM-2",
2026-06-06T06:43:03.6751142Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-06T06:43:03.6751492Z       "requiredStages": [
2026-06-06T06:43:03.6751651Z         "impl",
2026-06-06T06:43:03.6751819Z         "unit"
2026-06-06T06:43:03.6751967Z       ],
2026-06-06T06:43:03.6752142Z       "stages": {
2026-06-06T06:43:03.6752298Z         "doc": {
2026-06-06T06:43:03.6752466Z           "complete": false,
2026-06-06T06:43:03.6752641Z           "evidence": []
2026-06-06T06:43:03.6752791Z         },
2026-06-06T06:43:03.6752971Z         "impl": {
2026-06-06T06:43:03.6753149Z           "complete": true,
2026-06-06T06:43:03.6753335Z           "evidence": [
2026-06-06T06:43:03.6753498Z             {
2026-06-06T06:43:03.6753765Z               "path": "crates/spt-term/src/surface.rs",
2026-06-06T06:43:03.6753950Z               "line": 112
2026-06-06T06:43:03.6754113Z             },
2026-06-06T06:43:03.6754316Z             {
2026-06-06T06:43:03.6754567Z               "path": "crates/spt-term/src/surface.rs",
2026-06-06T06:43:03.6754751Z               "line": 122
2026-06-06T06:43:03.6754919Z             }
2026-06-06T06:43:03.6755079Z           ]
2026-06-06T06:43:03.6755245Z         },
2026-06-06T06:43:03.6755396Z         "int": {
2026-06-06T06:43:03.6755587Z           "complete": false,
2026-06-06T06:43:03.6755753Z           "evidence": []
2026-06-06T06:43:03.6755922Z         },
2026-06-06T06:43:03.6756088Z         "unit": {
2026-06-06T06:43:03.6756265Z           "complete": true,
2026-06-06T06:43:03.6756439Z           "evidence": [
2026-06-06T06:43:03.6756601Z             {
2026-06-06T06:43:03.6756865Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-06T06:43:03.6757037Z               "line": 46
2026-06-06T06:43:03.6757194Z             },
2026-06-06T06:43:03.6757365Z             {
2026-06-06T06:43:03.6757743Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-06T06:43:03.6757938Z               "line": 71
2026-06-06T06:43:03.6758130Z             }
2026-06-06T06:43:03.6758333Z           ]
2026-06-06T06:43:03.6758502Z         }
2026-06-06T06:43:03.6758689Z       }
2026-06-06T06:43:03.6758868Z     },
2026-06-06T06:43:03.6759055Z     {
2026-06-06T06:43:03.6759401Z       "id": "REQ-TERM-3",
2026-06-06T06:43:03.6759771Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-06T06:43:03.6760016Z       "requiredStages": [
2026-06-06T06:43:03.6760190Z         "impl",
2026-06-06T06:43:03.6760520Z         "unit"
2026-06-06T06:43:03.6760686Z       ],
2026-06-06T06:43:03.6760844Z       "stages": {
2026-06-06T06:43:03.6761466Z         "doc": {
2026-06-06T06:43:03.6761885Z           "complete": false,
2026-06-06T06:43:03.6762084Z           "evidence": []
2026-06-06T06:43:03.6762256Z         },
2026-06-06T06:43:03.6762458Z         "impl": {
2026-06-06T06:43:03.6762684Z           "complete": true,
2026-06-06T06:43:03.6762878Z           "evidence": [
2026-06-06T06:43:03.6768586Z             {
2026-06-06T06:43:03.6768988Z               "path": "crates/spt-term/src/stream.rs",
2026-06-06T06:43:03.6769270Z               "line": 71
2026-06-06T06:43:03.6769445Z             }
2026-06-06T06:43:03.6769613Z           ]
2026-06-06T06:43:03.6769775Z         },
2026-06-06T06:43:03.6769938Z         "int": {
2026-06-06T06:43:03.6770152Z           "complete": false,
2026-06-06T06:43:03.6770332Z           "evidence": []
2026-06-06T06:43:03.6770501Z         },
2026-06-06T06:43:03.6770659Z         "unit": {
2026-06-06T06:43:03.6770848Z           "complete": true,
2026-06-06T06:43:03.6771035Z           "evidence": [
2026-06-06T06:43:03.6771216Z             {
2026-06-06T06:43:03.6771487Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-06T06:43:03.6771660Z               "line": 37
2026-06-06T06:43:03.6771823Z             },
2026-06-06T06:43:03.6771972Z             {
2026-06-06T06:43:03.6772224Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-06T06:43:03.6772396Z               "line": 67
2026-06-06T06:43:03.6772548Z             }
2026-06-06T06:43:03.6772710Z           ]
2026-06-06T06:43:03.6772859Z         }
2026-06-06T06:43:03.6773024Z       }
2026-06-06T06:43:03.6773174Z     },
2026-06-06T06:43:03.6773341Z     {
2026-06-06T06:43:03.6773523Z       "id": "REQ-TERM-4",
2026-06-06T06:43:03.6774354Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-06T06:43:03.6774561Z       "requiredStages": [
2026-06-06T06:43:03.6774732Z         "impl",
2026-06-06T06:43:03.6774907Z         "unit",
2026-06-06T06:43:03.6775116Z         "int"
2026-06-06T06:43:03.6775308Z       ],
2026-06-06T06:43:03.6775526Z       "stages": {
2026-06-06T06:43:03.6775719Z         "doc": {
2026-06-06T06:43:03.6775956Z           "complete": true,
2026-06-06T06:43:03.6776155Z           "evidence": [
2026-06-06T06:43:03.6776345Z             {
2026-06-06T06:43:03.6776581Z               "path": "docs/MANIFEST.md",
2026-06-06T06:43:03.6776802Z               "line": 115
2026-06-06T06:43:03.6776979Z             }
2026-06-06T06:43:03.6777137Z           ]
2026-06-06T06:43:03.6777302Z         },
2026-06-06T06:43:03.6777475Z         "impl": {
2026-06-06T06:43:03.6777659Z           "complete": true,
2026-06-06T06:43:03.6777828Z           "evidence": [
2026-06-06T06:43:03.6777992Z             {
2026-06-06T06:43:03.6778245Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:43:03.6778416Z               "line": 471
2026-06-06T06:43:03.6778573Z             },
2026-06-06T06:43:03.6778723Z             {
2026-06-06T06:43:03.6778993Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6779270Z               "line": 41
2026-06-06T06:43:03.6779443Z             },
2026-06-06T06:43:03.6779611Z             {
2026-06-06T06:43:03.6779871Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6780060Z               "line": 91
2026-06-06T06:43:03.6780223Z             },
2026-06-06T06:43:03.6780383Z             {
2026-06-06T06:43:03.6780619Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6780798Z               "line": 152
2026-06-06T06:43:03.6780977Z             },
2026-06-06T06:43:03.6781142Z             {
2026-06-06T06:43:03.6781386Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6781568Z               "line": 212
2026-06-06T06:43:03.6781734Z             },
2026-06-06T06:43:03.6781900Z             {
2026-06-06T06:43:03.6782153Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6782336Z               "line": 20
2026-06-06T06:43:03.6782920Z             },
2026-06-06T06:43:03.6783300Z             {
2026-06-06T06:43:03.6783553Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6783747Z               "line": 212
2026-06-06T06:43:03.6783922Z             },
2026-06-06T06:43:03.6784214Z             {
2026-06-06T06:43:03.6784460Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6784622Z               "line": 226
2026-06-06T06:43:03.6784780Z             },
2026-06-06T06:43:03.6784931Z             {
2026-06-06T06:43:03.6785183Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.6785355Z               "line": 625
2026-06-06T06:43:03.6785507Z             },
2026-06-06T06:43:03.6785667Z             {
2026-06-06T06:43:03.6785894Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6786075Z               "line": 157
2026-06-06T06:43:03.6786231Z             },
2026-06-06T06:43:03.6786396Z             {
2026-06-06T06:43:03.6786646Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6786820Z               "line": 199
2026-06-06T06:43:03.6786978Z             },
2026-06-06T06:43:03.6787122Z             {
2026-06-06T06:43:03.6787354Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6787523Z               "line": 226
2026-06-06T06:43:03.6787693Z             },
2026-06-06T06:43:03.6787854Z             {
2026-06-06T06:43:03.6788046Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6788214Z               "line": 656
2026-06-06T06:43:03.6788359Z             }
2026-06-06T06:43:03.6788520Z           ]
2026-06-06T06:43:03.6788672Z         },
2026-06-06T06:43:03.6788830Z         "int": {
2026-06-06T06:43:03.6789004Z           "complete": true,
2026-06-06T06:43:03.6789245Z           "evidence": [
2026-06-06T06:43:03.6789574Z             {
2026-06-06T06:43:03.6789829Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-06T06:43:03.6790153Z               "line": 18
2026-06-06T06:43:03.6790320Z             }
2026-06-06T06:43:03.6790496Z           ]
2026-06-06T06:43:03.6790659Z         },
2026-06-06T06:43:03.6790819Z         "unit": {
2026-06-06T06:43:03.6791007Z           "complete": true,
2026-06-06T06:43:03.6791172Z           "evidence": [
2026-06-06T06:43:03.6791330Z             {
2026-06-06T06:43:03.6791570Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6791767Z               "line": 250
2026-06-06T06:43:03.6791944Z             },
2026-06-06T06:43:03.6792111Z             {
2026-06-06T06:43:03.6792379Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6792561Z               "line": 263
2026-06-06T06:43:03.6792736Z             },
2026-06-06T06:43:03.6792896Z             {
2026-06-06T06:43:03.6793150Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6793325Z               "line": 275
2026-06-06T06:43:03.6793471Z             },
2026-06-06T06:43:03.6793622Z             {
2026-06-06T06:43:03.6793856Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6794046Z               "line": 290
2026-06-06T06:43:03.6794208Z             },
2026-06-06T06:43:03.6794358Z             {
2026-06-06T06:43:03.6794590Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6794747Z               "line": 305
2026-06-06T06:43:03.6794906Z             },
2026-06-06T06:43:03.6795052Z             {
2026-06-06T06:43:03.6795285Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6795458Z               "line": 327
2026-06-06T06:43:03.6795606Z             },
2026-06-06T06:43:03.6795768Z             {
2026-06-06T06:43:03.6795987Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6796155Z               "line": 337
2026-06-06T06:43:03.6796305Z             },
2026-06-06T06:43:03.6796461Z             {
2026-06-06T06:43:03.6796686Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:43:03.6797084Z               "line": 364
2026-06-06T06:43:03.6797280Z             },
2026-06-06T06:43:03.6797646Z             {
2026-06-06T06:43:03.6797901Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6798059Z               "line": 338
2026-06-06T06:43:03.6798221Z             },
2026-06-06T06:43:03.6798377Z             {
2026-06-06T06:43:03.6798618Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6798790Z               "line": 350
2026-06-06T06:43:03.6798943Z             },
2026-06-06T06:43:03.6799108Z             {
2026-06-06T06:43:03.6799563Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6799748Z               "line": 367
2026-06-06T06:43:03.6800049Z             },
2026-06-06T06:43:03.6800195Z             {
2026-06-06T06:43:03.6800431Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:43:03.6800591Z               "line": 378
2026-06-06T06:43:03.6800755Z             },
2026-06-06T06:43:03.6800922Z             {
2026-06-06T06:43:03.6801194Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.6806793Z               "line": 810
2026-06-06T06:43:03.6807085Z             },
2026-06-06T06:43:03.6807248Z             {
2026-06-06T06:43:03.6807508Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.6807685Z               "line": 817
2026-06-06T06:43:03.6807834Z             },
2026-06-06T06:43:03.6807993Z             {
2026-06-06T06:43:03.6808240Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.6808401Z               "line": 832
2026-06-06T06:43:03.6808563Z             },
2026-06-06T06:43:03.6808709Z             {
2026-06-06T06:43:03.6808942Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6809107Z               "line": 381
2026-06-06T06:43:03.6809499Z             },
2026-06-06T06:43:03.6809673Z             {
2026-06-06T06:43:03.6810053Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6810261Z               "line": 402
2026-06-06T06:43:03.6810424Z             },
2026-06-06T06:43:03.6810586Z             {
2026-06-06T06:43:03.6810818Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6810982Z               "line": 415
2026-06-06T06:43:03.6811149Z             },
2026-06-06T06:43:03.6811300Z             {
2026-06-06T06:43:03.6811532Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6811700Z               "line": 434
2026-06-06T06:43:03.6811860Z             },
2026-06-06T06:43:03.6812014Z             {
2026-06-06T06:43:03.6812231Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:43:03.6812409Z               "line": 461
2026-06-06T06:43:03.6812562Z             },
2026-06-06T06:43:03.6812723Z             {
2026-06-06T06:43:03.6812948Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-06T06:43:03.6813126Z               "line": 32
2026-06-06T06:43:03.6813284Z             },
2026-06-06T06:43:03.6813434Z             {
2026-06-06T06:43:03.6813653Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6813832Z               "line": 4333
2026-06-06T06:43:03.6813993Z             }
2026-06-06T06:43:03.6814140Z           ]
2026-06-06T06:43:03.6814301Z         }
2026-06-06T06:43:03.6814464Z       }
2026-06-06T06:43:03.6814621Z     },
2026-06-06T06:43:03.6814778Z     {
2026-06-06T06:43:03.6814947Z       "id": "REQ-UPD-1",
2026-06-06T06:43:03.6815194Z       "title": "Peer-propagated update over P2P",
2026-06-06T06:43:03.6815370Z       "requiredStages": [
2026-06-06T06:43:03.6815537Z         "impl",
2026-06-06T06:43:03.6815695Z         "unit",
2026-06-06T06:43:03.6815846Z         "int"
2026-06-06T06:43:03.6816003Z       ],
2026-06-06T06:43:03.6816157Z       "stages": {
2026-06-06T06:43:03.6816322Z         "doc": {
2026-06-06T06:43:03.6816488Z           "complete": false,
2026-06-06T06:43:03.6816664Z           "evidence": []
2026-06-06T06:43:03.6816825Z         },
2026-06-06T06:43:03.6816974Z         "impl": {
2026-06-06T06:43:03.6817549Z           "complete": true,
2026-06-06T06:43:03.6817898Z           "evidence": [
2026-06-06T06:43:03.6818059Z             {
2026-06-06T06:43:03.6818310Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.6818482Z               "line": 28
2026-06-06T06:43:03.6818653Z             },
2026-06-06T06:43:03.6818801Z             {
2026-06-06T06:43:03.6819059Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.6819472Z               "line": 74
2026-06-06T06:43:03.6819660Z             },
2026-06-06T06:43:03.6819827Z             {
2026-06-06T06:43:03.6820085Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.6820263Z               "line": 209
2026-06-06T06:43:03.6820416Z             },
2026-06-06T06:43:03.6820586Z             {
2026-06-06T06:43:03.6820848Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:43:03.6821023Z               "line": 22
2026-06-06T06:43:03.6821177Z             },
2026-06-06T06:43:03.6821366Z             {
2026-06-06T06:43:03.6821642Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:43:03.6821807Z               "line": 67
2026-06-06T06:43:03.6821969Z             },
2026-06-06T06:43:03.6822128Z             {
2026-06-06T06:43:03.6822377Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:43:03.6822541Z               "line": 80
2026-06-06T06:43:03.6822708Z             },
2026-06-06T06:43:03.6822875Z             {
2026-06-06T06:43:03.6823124Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:43:03.6823309Z               "line": 101
2026-06-06T06:43:03.6823463Z             },
2026-06-06T06:43:03.6823630Z             {
2026-06-06T06:43:03.6823869Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:43:03.6824052Z               "line": 37
2026-06-06T06:43:03.6824215Z             }
2026-06-06T06:43:03.6824373Z           ]
2026-06-06T06:43:03.6824541Z         },
2026-06-06T06:43:03.6824719Z         "int": {
2026-06-06T06:43:03.6824907Z           "complete": true,
2026-06-06T06:43:03.6825090Z           "evidence": [
2026-06-06T06:43:03.6825253Z             {
2026-06-06T06:43:03.6825530Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:43:03.6825704Z               "line": 190
2026-06-06T06:43:03.6825870Z             },
2026-06-06T06:43:03.6826020Z             {
2026-06-06T06:43:03.6826279Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:43:03.6826449Z               "line": 855
2026-06-06T06:43:03.6826613Z             }
2026-06-06T06:43:03.6826770Z           ]
2026-06-06T06:43:03.6826928Z         },
2026-06-06T06:43:03.6827094Z         "unit": {
2026-06-06T06:43:03.6827277Z           "complete": true,
2026-06-06T06:43:03.6827462Z           "evidence": [
2026-06-06T06:43:03.6827619Z             {
2026-06-06T06:43:03.6827880Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:43:03.6828054Z               "line": 120
2026-06-06T06:43:03.6828221Z             },
2026-06-06T06:43:03.6828388Z             {
2026-06-06T06:43:03.6828643Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:43:03.6828829Z               "line": 137
2026-06-06T06:43:03.6828990Z             },
2026-06-06T06:43:03.6829136Z             {
2026-06-06T06:43:03.6829485Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:43:03.6829659Z               "line": 201
2026-06-06T06:43:03.6829828Z             },
2026-06-06T06:43:03.6829982Z             {
2026-06-06T06:43:03.6830237Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:43:03.6830421Z               "line": 92
2026-06-06T06:43:03.6830579Z             },
2026-06-06T06:43:03.6830741Z             {
2026-06-06T06:43:03.6830984Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:43:03.6831188Z               "line": 128
2026-06-06T06:43:03.6831361Z             }
2026-06-06T06:43:03.6831660Z           ]
2026-06-06T06:43:03.6831824Z         }
2026-06-06T06:43:03.6832181Z       }
2026-06-06T06:43:03.6832493Z     },
2026-06-06T06:43:03.6832643Z     {
2026-06-06T06:43:03.6832831Z       "id": "REQ-UPD-2",
2026-06-06T06:43:03.6833117Z       "title": "All binaries signature-verified before handoff",
2026-06-06T06:43:03.6833307Z       "requiredStages": [
2026-06-06T06:43:03.6833471Z         "impl",
2026-06-06T06:43:03.6833628Z         "unit"
2026-06-06T06:43:03.6833789Z       ],
2026-06-06T06:43:03.6833944Z       "stages": {
2026-06-06T06:43:03.6834103Z         "doc": {
2026-06-06T06:43:03.6834269Z           "complete": false,
2026-06-06T06:43:03.6834444Z           "evidence": []
2026-06-06T06:43:03.6834604Z         },
2026-06-06T06:43:03.6834761Z         "impl": {
2026-06-06T06:43:03.6834940Z           "complete": true,
2026-06-06T06:43:03.6835097Z           "evidence": [
2026-06-06T06:43:03.6835258Z             {
2026-06-06T06:43:03.6835502Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.6835675Z               "line": 210
2026-06-06T06:43:03.6835850Z             },
2026-06-06T06:43:03.6836007Z             {
2026-06-06T06:43:03.6836255Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:43:03.6836415Z               "line": 294
2026-06-06T06:43:03.6836570Z             },
2026-06-06T06:43:03.6836719Z             {
2026-06-06T06:43:03.6836957Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6837122Z               "line": 29
2026-06-06T06:43:03.6837267Z             },
2026-06-06T06:43:03.6837419Z             {
2026-06-06T06:43:03.6837645Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6837819Z               "line": 151
2026-06-06T06:43:03.6837972Z             },
2026-06-06T06:43:03.6843815Z             {
2026-06-06T06:43:03.6844142Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6844302Z               "line": 168
2026-06-06T06:43:03.6844455Z             },
2026-06-06T06:43:03.6844600Z             {
2026-06-06T06:43:03.6844862Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6845035Z               "line": 274
2026-06-06T06:43:03.6845190Z             },
2026-06-06T06:43:03.6845346Z             {
2026-06-06T06:43:03.6845567Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6845737Z               "line": 355
2026-06-06T06:43:03.6845879Z             },
2026-06-06T06:43:03.6846033Z             {
2026-06-06T06:43:03.6846254Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6846421Z               "line": 149
2026-06-06T06:43:03.6846572Z             }
2026-06-06T06:43:03.6846716Z           ]
2026-06-06T06:43:03.6846868Z         },
2026-06-06T06:43:03.6847018Z         "int": {
2026-06-06T06:43:03.6847200Z           "complete": false,
2026-06-06T06:43:03.6847360Z           "evidence": []
2026-06-06T06:43:03.6847523Z         },
2026-06-06T06:43:03.6847684Z         "unit": {
2026-06-06T06:43:03.6847847Z           "complete": true,
2026-06-06T06:43:03.6848022Z           "evidence": [
2026-06-06T06:43:03.6848176Z             {
2026-06-06T06:43:03.6848410Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6848563Z               "line": 440
2026-06-06T06:43:03.6848717Z             },
2026-06-06T06:43:03.6848873Z             {
2026-06-06T06:43:03.6849099Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6849481Z               "line": 498
2026-06-06T06:43:03.6849641Z             },
2026-06-06T06:43:03.6849936Z             {
2026-06-06T06:43:03.6850160Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6850335Z               "line": 512
2026-06-06T06:43:03.6850492Z             },
2026-06-06T06:43:03.6850637Z             {
2026-06-06T06:43:03.6850867Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6851023Z               "line": 523
2026-06-06T06:43:03.6851180Z             },
2026-06-06T06:43:03.6851327Z             {
2026-06-06T06:43:03.6851875Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6852237Z               "line": 599
2026-06-06T06:43:03.6852388Z             },
2026-06-06T06:43:03.6852539Z             {
2026-06-06T06:43:03.6852764Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6852938Z               "line": 331
2026-06-06T06:43:03.6853094Z             },
2026-06-06T06:43:03.6853241Z             {
2026-06-06T06:43:03.6853469Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6853627Z               "line": 344
2026-06-06T06:43:03.6853790Z             },
2026-06-06T06:43:03.6853923Z             {
2026-06-06T06:43:03.6854173Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:43:03.6854325Z               "line": 242
2026-06-06T06:43:03.6854452Z             }
2026-06-06T06:43:03.6854591Z           ]
2026-06-06T06:43:03.6854716Z         }
2026-06-06T06:43:03.6854854Z       }
2026-06-06T06:43:03.6854981Z     },
2026-06-06T06:43:03.6855130Z     {
2026-06-06T06:43:03.6855290Z       "id": "REQ-UPD-3",
2026-06-06T06:43:03.6855640Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-06T06:43:03.6855804Z       "requiredStages": [
2026-06-06T06:43:03.6855940Z         "impl",
2026-06-06T06:43:03.6856080Z         "unit",
2026-06-06T06:43:03.6856205Z         "int"
2026-06-06T06:43:03.6856340Z       ],
2026-06-06T06:43:03.6856482Z       "stages": {
2026-06-06T06:43:03.6856611Z         "doc": {
2026-06-06T06:43:03.6856766Z           "complete": false,
2026-06-06T06:43:03.6856912Z           "evidence": []
2026-06-06T06:43:03.6857053Z         },
2026-06-06T06:43:03.6857189Z         "impl": {
2026-06-06T06:43:03.6857342Z           "complete": true,
2026-06-06T06:43:03.6857488Z           "evidence": [
2026-06-06T06:43:03.6857615Z             {
2026-06-06T06:43:03.6857850Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6857983Z               "line": 39
2026-06-06T06:43:03.6858119Z             },
2026-06-06T06:43:03.6858257Z             {
2026-06-06T06:43:03.6858497Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6858642Z               "line": 69
2026-06-06T06:43:03.6858768Z             },
2026-06-06T06:43:03.6858897Z             {
2026-06-06T06:43:03.6859096Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6859455Z               "line": 26
2026-06-06T06:43:03.6859606Z             },
2026-06-06T06:43:03.6859759Z             {
2026-06-06T06:43:03.6860146Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6860283Z               "line": 111
2026-06-06T06:43:03.6860428Z             },
2026-06-06T06:43:03.6860551Z             {
2026-06-06T06:43:03.6860757Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6860892Z               "line": 218
2026-06-06T06:43:03.6861025Z             },
2026-06-06T06:43:03.6861153Z             {
2026-06-06T06:43:03.6861340Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6861496Z               "line": 1214
2026-06-06T06:43:03.6861632Z             }
2026-06-06T06:43:03.6861771Z           ]
2026-06-06T06:43:03.6861899Z         },
2026-06-06T06:43:03.6862045Z         "int": {
2026-06-06T06:43:03.6862204Z           "complete": true,
2026-06-06T06:43:03.6862337Z           "evidence": [
2026-06-06T06:43:03.6862467Z             {
2026-06-06T06:43:03.6862691Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-06T06:43:03.6862834Z               "line": 23
2026-06-06T06:43:03.6862956Z             }
2026-06-06T06:43:03.6863091Z           ]
2026-06-06T06:43:03.6863229Z         },
2026-06-06T06:43:03.6863367Z         "unit": {
2026-06-06T06:43:03.6863520Z           "complete": true,
2026-06-06T06:43:03.6863653Z           "evidence": [
2026-06-06T06:43:03.6863784Z             {
2026-06-06T06:43:03.6863998Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6864146Z               "line": 276
2026-06-06T06:43:03.6864490Z             },
2026-06-06T06:43:03.6864643Z             {
2026-06-06T06:43:03.6865060Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6865199Z               "line": 243
2026-06-06T06:43:03.6865333Z             },
2026-06-06T06:43:03.6865451Z             {
2026-06-06T06:43:03.6865656Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6865798Z               "line": 267
2026-06-06T06:43:03.6865922Z             },
2026-06-06T06:43:03.6866054Z             {
2026-06-06T06:43:03.6866257Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6866402Z               "line": 278
2026-06-06T06:43:03.6866526Z             },
2026-06-06T06:43:03.6866658Z             {
2026-06-06T06:43:03.6866861Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:43:03.6866991Z               "line": 291
2026-06-06T06:43:03.6867119Z             }
2026-06-06T06:43:03.6867240Z           ]
2026-06-06T06:43:03.6867370Z         }
2026-06-06T06:43:03.6867517Z       }
2026-06-06T06:43:03.6867670Z     },
2026-06-06T06:43:03.6867805Z     {
2026-06-06T06:43:03.6867945Z       "id": "REQ-UPD-4",
2026-06-06T06:43:03.6868285Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-06T06:43:03.6868430Z       "requiredStages": [
2026-06-06T06:43:03.6868566Z         "impl",
2026-06-06T06:43:03.6868686Z         "unit"
2026-06-06T06:43:03.6868816Z       ],
2026-06-06T06:43:03.6868961Z       "stages": {
2026-06-06T06:43:03.6869084Z         "doc": {
2026-06-06T06:43:03.6869464Z           "complete": false,
2026-06-06T06:43:03.6869632Z           "evidence": []
2026-06-06T06:43:03.6869773Z         },
2026-06-06T06:43:03.6870044Z         "impl": {
2026-06-06T06:43:03.6870198Z           "complete": true,
2026-06-06T06:43:03.6870344Z           "evidence": [
2026-06-06T06:43:03.6870470Z             {
2026-06-06T06:43:03.6870697Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6870848Z               "line": 40
2026-06-06T06:43:03.6870987Z             },
2026-06-06T06:43:03.6871115Z             {
2026-06-06T06:43:03.6871355Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6871505Z               "line": 70
2026-06-06T06:43:03.6871633Z             },
2026-06-06T06:43:03.6876963Z             {
2026-06-06T06:43:03.6877288Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:43:03.6877445Z               "line": 23
2026-06-06T06:43:03.6877573Z             },
2026-06-06T06:43:03.6877714Z             {
2026-06-06T06:43:03.6877932Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:43:03.6878068Z               "line": 56
2026-06-06T06:43:03.6878210Z             },
2026-06-06T06:43:03.6878333Z             {
2026-06-06T06:43:03.6878543Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:43:03.6878682Z               "line": 77
2026-06-06T06:43:03.6878804Z             },
2026-06-06T06:43:03.6878933Z             {
2026-06-06T06:43:03.6879251Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:43:03.6879559Z               "line": 179
2026-06-06T06:43:03.6879699Z             },
2026-06-06T06:43:03.6879847Z             {
2026-06-06T06:43:03.6880202Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:43:03.6880347Z               "line": 98
2026-06-06T06:43:03.6880482Z             },
2026-06-06T06:43:03.6880603Z             {
2026-06-06T06:43:03.6880802Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.6880937Z               "line": 167
2026-06-06T06:43:03.6881072Z             },
2026-06-06T06:43:03.6881206Z             {
2026-06-06T06:43:03.6881380Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6881534Z               "line": 1213
2026-06-06T06:43:03.6881664Z             }
2026-06-06T06:43:03.6881794Z           ]
2026-06-06T06:43:03.6881923Z         },
2026-06-06T06:43:03.6882063Z         "int": {
2026-06-06T06:43:03.6882221Z           "complete": false,
2026-06-06T06:43:03.6882666Z           "evidence": []
2026-06-06T06:43:03.6882989Z         },
2026-06-06T06:43:03.6883125Z         "unit": {
2026-06-06T06:43:03.6883338Z           "complete": true,
2026-06-06T06:43:03.6883494Z           "evidence": [
2026-06-06T06:43:03.6883644Z             {
2026-06-06T06:43:03.6883878Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6884165Z               "line": 272
2026-06-06T06:43:03.6884321Z             },
2026-06-06T06:43:03.6884471Z             {
2026-06-06T06:43:03.6884733Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:43:03.6884900Z               "line": 306
2026-06-06T06:43:03.6885050Z             },
2026-06-06T06:43:03.6885204Z             {
2026-06-06T06:43:03.6885438Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:43:03.6885617Z               "line": 322
2026-06-06T06:43:03.6885761Z             },
2026-06-06T06:43:03.6885934Z             {
2026-06-06T06:43:03.6886198Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:43:03.6886434Z               "line": 102
2026-06-06T06:43:03.6886599Z             },
2026-06-06T06:43:03.6886751Z             {
2026-06-06T06:43:03.6886997Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:43:03.6887154Z               "line": 117
2026-06-06T06:43:03.6887306Z             },
2026-06-06T06:43:03.6887445Z             {
2026-06-06T06:43:03.6887676Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:43:03.6887833Z               "line": 136
2026-06-06T06:43:03.6887972Z             },
2026-06-06T06:43:03.6888119Z             {
2026-06-06T06:43:03.6888321Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:43:03.6888477Z               "line": 352
2026-06-06T06:43:03.6888613Z             },
2026-06-06T06:43:03.6888758Z             {
2026-06-06T06:43:03.6888975Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:43:03.6889124Z               "line": 495
2026-06-06T06:43:03.6889382Z             },
2026-06-06T06:43:03.6889550Z             {
2026-06-06T06:43:03.6889914Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:43:03.6890054Z               "line": 3454
2026-06-06T06:43:03.6890190Z             }
2026-06-06T06:43:03.6890325Z           ]
2026-06-06T06:43:03.6890459Z         }
2026-06-06T06:43:03.6890595Z       }
2026-06-06T06:43:03.6890716Z     },
2026-06-06T06:43:03.6890852Z     {
2026-06-06T06:43:03.6890993Z       "id": "REQ-UPD-5",
2026-06-06T06:43:03.6891263Z       "title": "spt-core ripple-updates registered adapters",
2026-06-06T06:43:03.6891429Z       "requiredStages": [
2026-06-06T06:43:03.6891558Z         "impl",
2026-06-06T06:43:03.6891696Z         "unit"
2026-06-06T06:43:03.6891815Z       ],
2026-06-06T06:43:03.6891958Z       "stages": {
2026-06-06T06:43:03.6892095Z         "doc": {
2026-06-06T06:43:03.6892252Z           "complete": false,
2026-06-06T06:43:03.6892406Z           "evidence": []
2026-06-06T06:43:03.6892536Z         },
2026-06-06T06:43:03.6892692Z         "impl": {
2026-06-06T06:43:03.6892860Z           "complete": true,
2026-06-06T06:43:03.6893018Z           "evidence": [
2026-06-06T06:43:03.6893147Z             {
2026-06-06T06:43:03.6893405Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6893561Z               "line": 27
2026-06-06T06:43:03.6893856Z             },
2026-06-06T06:43:03.6894030Z             {
2026-06-06T06:43:03.6894330Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6894528Z               "line": 82
2026-06-06T06:43:03.6894687Z             },
2026-06-06T06:43:03.6894877Z             {
2026-06-06T06:43:03.6895203Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6895412Z               "line": 134
2026-06-06T06:43:03.6895596Z             },
2026-06-06T06:43:03.6895761Z             {
2026-06-06T06:43:03.6896012Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6896469Z               "line": 314
2026-06-06T06:43:03.6896643Z             },
2026-06-06T06:43:03.6896968Z             {
2026-06-06T06:43:03.6897204Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:43:03.6897362Z               "line": 342
2026-06-06T06:43:03.6897502Z             }
2026-06-06T06:43:03.6897638Z           ]
2026-06-06T06:43:03.6897782Z         },
2026-06-06T06:43:03.6897917Z         "int": {
2026-06-06T06:43:03.6898084Z           "complete": false,
2026-06-06T06:43:03.6898233Z           "evidence": []
2026-06-06T06:43:03.6898376Z         },
2026-06-06T06:43:03.6898518Z         "unit": {
2026-06-06T06:43:03.6898688Z           "complete": true,
2026-06-06T06:43:03.6898853Z           "evidence": [
2026-06-06T06:43:03.6898987Z             {
2026-06-06T06:43:03.6899327Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6899639Z               "line": 216
2026-06-06T06:43:03.6899780Z             },
2026-06-06T06:43:03.6899909Z             {
2026-06-06T06:43:03.6900183Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6900353Z               "line": 230
2026-06-06T06:43:03.6900477Z             },
2026-06-06T06:43:03.6900613Z             {
2026-06-06T06:43:03.6900836Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6900997Z               "line": 244
2026-06-06T06:43:03.6901129Z             },
2026-06-06T06:43:03.6901268Z             {
2026-06-06T06:43:03.6901514Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6901661Z               "line": 258
2026-06-06T06:43:03.6901800Z             },
2026-06-06T06:43:03.6901948Z             {
2026-06-06T06:43:03.6902199Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:43:03.6902344Z               "line": 292
2026-06-06T06:43:03.6902486Z             },
2026-06-06T06:43:03.6902623Z             {
2026-06-06T06:43:03.6902851Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:43:03.6903032Z               "line": 780
2026-06-06T06:43:03.6903175Z             }
2026-06-06T06:43:03.6903309Z           ]
2026-06-06T06:43:03.6903437Z         }
2026-06-06T06:43:03.6903577Z       }
2026-06-06T06:43:03.6903722Z     }
2026-06-06T06:43:03.6903842Z   ],
2026-06-06T06:43:03.6903990Z   "findings": []
2026-06-06T06:43:03.6904136Z }
2026-06-06T06:43:03.6956164Z ##[group]Run ./traceable-reqs lint || true
2026-06-06T06:43:03.6956399Z [36;1m./traceable-reqs lint || true[0m
2026-06-06T06:43:03.6978833Z shell: /usr/bin/bash -e {0}
2026-06-06T06:43:03.6978976Z ##[endgroup]
2026-06-06T06:43:03.7239268Z Requirement quality findings (24); 144 requirements queued for agent review:
2026-06-06T06:43:03.7240310Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7240875Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-06T06:43:03.7241445Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-06T06:43:03.7242310Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-06T06:43:03.7243150Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-06T06:43:03.7244050Z   [must] requirement_quality REQ-HAZARD-DETACHED-PIPE-INHERIT criterion=length — title is 52 words; want 3..=25
2026-06-06T06:43:03.7245081Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7245985Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7246633Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-06T06:43:03.7247804Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-06T06:43:03.7249103Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7250278Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7250937Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-06T06:43:03.7251522Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-06T06:43:03.7252002Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-06T06:43:03.7252506Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-06T06:43:03.7253224Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7253979Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7254688Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:43:03.7255171Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-06T06:43:03.7255683Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-06T06:43:03.7256156Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-06T06:43:03.7256638Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-06T06:43:03.7257118Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-06T06:43:03.7257138Z 
2026-06-06T06:43:03.7257295Z # Requirement quality review
2026-06-06T06:43:03.7257354Z 
2026-06-06T06:43:03.7257717Z You are reviewing 144 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-06T06:43:03.7258072Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-06T06:43:03.7258728Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-06T06:43:03.7259010Z this command's output. Your task is the rubric items below.
2026-06-06T06:43:03.7259027Z 
2026-06-06T06:43:03.7259197Z ## Rubric
2026-06-06T06:43:03.7259216Z 
2026-06-06T06:43:03.7259942Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-06T06:43:03.7260514Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-06T06:43:03.7260910Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-06T06:43:03.7261188Z - **active-voice** — clear subject and active verb.
2026-06-06T06:43:03.7261203Z 
2026-06-06T06:43:03.7261648Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-06T06:43:03.7261798Z clear concerns.
2026-06-06T06:43:03.7261814Z 
2026-06-06T06:43:03.7261939Z ## Requirements
2026-06-06T06:43:03.7261954Z 
2026-06-06T06:43:03.7262092Z ### REQ-ARCH-1
2026-06-06T06:43:03.7262325Z - Title: Many small acyclically-layered crates
2026-06-06T06:43:03.7262475Z - Required stages: impl
2026-06-06T06:43:03.7262489Z 
2026-06-06T06:43:03.7262626Z ### REQ-ARCH-2
2026-06-06T06:43:03.7262887Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-06T06:43:03.7273737Z - Required stages: impl
2026-06-06T06:43:03.7273790Z 
2026-06-06T06:43:03.7274035Z ### REQ-ARCH-3
2026-06-06T06:43:03.7274413Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-06T06:43:03.7274574Z - Required stages: impl, unit
2026-06-06T06:43:03.7274597Z 
2026-06-06T06:43:03.7274723Z ### REQ-ARCH-4
2026-06-06T06:43:03.7275013Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-06T06:43:03.7275574Z - Required stages: impl, unit
2026-06-06T06:43:03.7275591Z 
2026-06-06T06:43:03.7275727Z ### REQ-DAEMON-1
2026-06-06T06:43:03.7276004Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-06T06:43:03.7276171Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7276186Z 
2026-06-06T06:43:03.7276322Z ### REQ-DAEMON-2
2026-06-06T06:43:03.7276538Z - Title: Broker/brain split for seamless self-update
2026-06-06T06:43:03.7276694Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7276710Z 
2026-06-06T06:43:03.7276833Z ### REQ-DAEMON-3
2026-06-06T06:43:03.7277087Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-06T06:43:03.7277247Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7277261Z 
2026-06-06T06:43:03.7277387Z ### REQ-DAEMON-4
2026-06-06T06:43:03.7277570Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-06T06:43:03.7277719Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7277734Z 
2026-06-06T06:43:03.7277880Z ### REQ-STORE-1
2026-06-06T06:43:03.7279887Z - 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-06T06:43:03.7280050Z - Required stages: impl, unit
2026-06-06T06:43:03.7280067Z 
2026-06-06T06:43:03.7280211Z ### REQ-MANIFEST-1
2026-06-06T06:43:03.7280535Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-06T06:43:03.7280692Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7280707Z 
2026-06-06T06:43:03.7280847Z ### REQ-SEAM-SPAWN
2026-06-06T06:43:03.7280996Z - Title: spawn-session seam
2026-06-06T06:43:03.7281155Z - Required stages: impl, unit
2026-06-06T06:43:03.7281171Z 
2026-06-06T06:43:03.7281314Z ### REQ-SEAM-POSTSPAWN
2026-06-06T06:43:03.7281545Z - Title: post-spawn / api bind seam with boot nonce
2026-06-06T06:43:03.7281719Z - Required stages: impl, unit
2026-06-06T06:43:03.7281733Z 
2026-06-06T06:43:03.7281871Z ### REQ-SEAM-PSYCHE
2026-06-06T06:43:03.7282101Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-06T06:43:03.7282436Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7282456Z 
2026-06-06T06:43:03.7282610Z ### REQ-SEAM-HISTORY
2026-06-06T06:43:03.7282928Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-06T06:43:03.7283084Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7283098Z 
2026-06-06T06:43:03.7283245Z ### REQ-SEAM-ACTIVITY
2026-06-06T06:43:03.7283545Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-06T06:43:03.7283704Z - Required stages: impl, unit
2026-06-06T06:43:03.7283718Z 
2026-06-06T06:43:03.7283864Z ### REQ-SEAM-INJECT
2026-06-06T06:43:03.7284129Z - Title: inject-input methods configurable per activity-state
2026-06-06T06:43:03.7284290Z - Required stages: impl, unit
2026-06-06T06:43:03.7284317Z 
2026-06-06T06:43:03.7284454Z ### REQ-SEAM-RESUME
2026-06-06T06:43:03.7284773Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-06T06:43:03.7284935Z - Required stages: impl, unit
2026-06-06T06:43:03.7284949Z 
2026-06-06T06:43:03.7285099Z ### REQ-SEAM-CAPABILITY
2026-06-06T06:43:03.7285342Z - Title: Hostable endpoint-types capability declaration
2026-06-06T06:43:03.7285494Z - Required stages: impl, unit
2026-06-06T06:43:03.7285508Z 
2026-06-06T06:43:03.7285651Z ### REQ-SEAM-UPDATE
2026-06-06T06:43:03.7285930Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-06T06:43:03.7286081Z - Required stages: impl, unit
2026-06-06T06:43:03.7286096Z 
2026-06-06T06:43:03.7286229Z ### REQ-API-1
2026-06-06T06:43:03.7286508Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-06T06:43:03.7286673Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7286688Z 
2026-06-06T06:43:03.7286815Z ### REQ-API-2
2026-06-06T06:43:03.7287185Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-06T06:43:03.7287488Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7287503Z 
2026-06-06T06:43:03.7287628Z ### REQ-API-3
2026-06-06T06:43:03.7287856Z - Title: commune/signoff are file-drops, not commands
2026-06-06T06:43:03.7288022Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7288039Z 
2026-06-06T06:43:03.7288178Z ### REQ-START-1
2026-06-06T06:43:03.7288512Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-06T06:43:03.7288666Z - Required stages: impl, unit
2026-06-06T06:43:03.7288681Z 
2026-06-06T06:43:03.7288815Z ### REQ-START-2
2026-06-06T06:43:03.7289033Z - Title: Harness-hosted startup: api seed then listen
2026-06-06T06:43:03.7289239Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7289256Z 
2026-06-06T06:43:03.7289402Z ### REQ-START-3
2026-06-06T06:43:03.7289821Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-06T06:43:03.7289977Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7290006Z 
2026-06-06T06:43:03.7290127Z ### REQ-START-4
2026-06-06T06:43:03.7290345Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-06T06:43:03.7290501Z - Required stages: impl, unit
2026-06-06T06:43:03.7290515Z 
2026-06-06T06:43:03.7290642Z ### REQ-EP-1
2026-06-06T06:43:03.7290849Z - Title: Day-one endpoint types; open type system
2026-06-06T06:43:03.7290995Z - Required stages: impl, unit
2026-06-06T06:43:03.7291008Z 
2026-06-06T06:43:03.7291136Z ### REQ-EP-2
2026-06-06T06:43:03.7291407Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-06T06:43:03.7291553Z - Required stages: impl, unit
2026-06-06T06:43:03.7291568Z 
2026-06-06T06:43:03.7291695Z ### REQ-EP-3
2026-06-06T06:43:03.7291999Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-06T06:43:03.7292152Z - Required stages: impl, unit
2026-06-06T06:43:03.7292165Z 
2026-06-06T06:43:03.7292283Z ### REQ-EP-4
2026-06-06T06:43:03.7292523Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-06T06:43:03.7292684Z - Required stages: impl, unit
2026-06-06T06:43:03.7292698Z 
2026-06-06T06:43:03.7292816Z ### REQ-EP-5
2026-06-06T06:43:03.7294256Z - 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-06T06:43:03.7294431Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7294446Z 
2026-06-06T06:43:03.7294572Z ### REQ-INST-1
2026-06-06T06:43:03.7294828Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-06T06:43:03.7294958Z - Required stages: 
2026-06-06T06:43:03.7294973Z 
2026-06-06T06:43:03.7295104Z ### REQ-INST-2
2026-06-06T06:43:03.7295278Z - Title: Per-node files, synced Psyche mind
2026-06-06T06:43:03.7295438Z - Required stages: impl, unit
2026-06-06T06:43:03.7295453Z 
2026-06-06T06:43:03.7295580Z ### REQ-INST-3
2026-06-06T06:43:03.7295813Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-06T06:43:03.7295973Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7295987Z 
2026-06-06T06:43:03.7296111Z ### REQ-INST-4
2026-06-06T06:43:03.7296407Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-06T06:43:03.7296562Z - Required stages: impl, unit
2026-06-06T06:43:03.7296577Z 
2026-06-06T06:43:03.7296702Z ### REQ-INST-5
2026-06-06T06:43:03.7296995Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-06T06:43:03.7297144Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7297157Z 
2026-06-06T06:43:03.7297289Z ### REQ-INST-6
2026-06-06T06:43:03.7297590Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-06T06:43:03.7297738Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7297753Z 
2026-06-06T06:43:03.7297884Z ### REQ-INST-7
2026-06-06T06:43:03.7298095Z - Title: Subnet registry + bare-id resolution policy
2026-06-06T06:43:03.7298380Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7298397Z 
2026-06-06T06:43:03.7298525Z ### REQ-INST-8
2026-06-06T06:43:03.7298761Z - Title: Remote-control mode distinct from local operation
2026-06-06T06:43:03.7298922Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7298944Z 
2026-06-06T06:43:03.7299066Z ### REQ-INST-9
2026-06-06T06:43:03.7299742Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-06T06:43:03.7299901Z - Required stages: impl, unit
2026-06-06T06:43:03.7299928Z 
2026-06-06T06:43:03.7300053Z ### REQ-INST-10
2026-06-06T06:43:03.7300411Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-06T06:43:03.7300557Z - Required stages: impl, unit
2026-06-06T06:43:03.7300572Z 
2026-06-06T06:43:03.7300704Z ### REQ-INST-11
2026-06-06T06:43:03.7301061Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-06T06:43:03.7301224Z - Required stages: impl, unit
2026-06-06T06:43:03.7301239Z 
2026-06-06T06:43:03.7301384Z ### REQ-INST-12
2026-06-06T06:43:03.7301892Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-06T06:43:03.7302050Z - Required stages: impl, unit
2026-06-06T06:43:03.7302066Z 
2026-06-06T06:43:03.7302208Z ### REQ-INST-13
2026-06-06T06:43:03.7302513Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-06T06:43:03.7302667Z - Required stages: impl, unit
2026-06-06T06:43:03.7302682Z 
2026-06-06T06:43:03.7302807Z ### REQ-INST-14
2026-06-06T06:43:03.7303499Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-06T06:43:03.7303658Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7303685Z 
2026-06-06T06:43:03.7303818Z ### REQ-INST-15
2026-06-06T06:43:03.7305223Z - 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-06T06:43:03.7305389Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7305403Z 
2026-06-06T06:43:03.7305538Z ### REQ-REACH-1
2026-06-06T06:43:03.7305972Z - Title: Off-node remote-drive detection + file transfer
2026-06-06T06:43:03.7306137Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7306153Z 
2026-06-06T06:43:03.7306290Z ### REQ-REACH-2
2026-06-06T06:43:03.7306533Z - Title: Remote command execution (deferred, consent-gated)
2026-06-06T06:43:03.7306678Z - Required stages: 
2026-06-06T06:43:03.7306692Z 
2026-06-06T06:43:03.7306819Z ### REQ-MSG-1
2026-06-06T06:43:03.7307653Z - 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-06T06:43:03.7307821Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7307837Z 
2026-06-06T06:43:03.7307972Z ### REQ-MSG-2
2026-06-06T06:43:03.7308447Z - Title: spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes
2026-06-06T06:43:03.7308607Z - Required stages: impl, unit
2026-06-06T06:43:03.7308622Z 
2026-06-06T06:43:03.7308754Z ### REQ-MSG-3
2026-06-06T06:43:03.7309709Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-06T06:43:03.7309870Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7309887Z 
2026-06-06T06:43:03.7310195Z ### REQ-NODE-IDENTITY
2026-06-06T06:43:03.7310588Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-06T06:43:03.7310738Z - Required stages: impl, unit
2026-06-06T06:43:03.7310753Z 
2026-06-06T06:43:03.7310889Z ### REQ-NET-1
2026-06-06T06:43:03.7311184Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-06T06:43:03.7311348Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7311510Z 
2026-06-06T06:43:03.7311651Z ### REQ-NET-2
2026-06-06T06:43:03.7311938Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-06T06:43:03.7312085Z - Required stages: impl
2026-06-06T06:43:03.7312101Z 
2026-06-06T06:43:03.7312234Z ### REQ-NET-3
2026-06-06T06:43:03.7312514Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-06T06:43:03.7312665Z - Required stages: impl, unit
2026-06-06T06:43:03.7312691Z 
2026-06-06T06:43:03.7312819Z ### REQ-PAIR-1
2026-06-06T06:43:03.7312990Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-06T06:43:03.7313137Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7313151Z 
2026-06-06T06:43:03.7313293Z ### REQ-PAIR-2
2026-06-06T06:43:03.7313505Z - Title: Local trust store with TOFU + warn-on-change
2026-06-06T06:43:03.7313661Z - Required stages: impl, unit
2026-06-06T06:43:03.7313676Z 
2026-06-06T06:43:03.7313811Z ### REQ-PAIR-3
2026-06-06T06:43:03.7314040Z - Title: Fetch current pairing code from any paired node
2026-06-06T06:43:03.7314205Z - Required stages: impl, unit
2026-06-06T06:43:03.7314220Z 
2026-06-06T06:43:03.7314346Z ### REQ-PAIR-4
2026-06-06T06:43:03.7314521Z - Title: Subnet naming on first pairing
2026-06-06T06:43:03.7314792Z - Required stages: impl, unit
2026-06-06T06:43:03.7314826Z 
2026-06-06T06:43:03.7315003Z ### REQ-PAIR-5
2026-06-06T06:43:03.7315643Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-06T06:43:03.7315837Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7315853Z 
2026-06-06T06:43:03.7316338Z ### REQ-PAIR-6
2026-06-06T06:43:03.7316873Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-06T06:43:03.7317119Z - Required stages: impl, unit
2026-06-06T06:43:03.7317136Z 
2026-06-06T06:43:03.7317310Z ### REQ-PAIR-7
2026-06-06T06:43:03.7317664Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-06T06:43:03.7317951Z - Required stages: 
2026-06-06T06:43:03.7317981Z 
2026-06-06T06:43:03.7318170Z ### REQ-SUBNET-1
2026-06-06T06:43:03.7318851Z - Title: spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-totp; spt pair deleted
2026-06-06T06:43:03.7319283Z - Required stages: impl, unit
2026-06-06T06:43:03.7319302Z 
2026-06-06T06:43:03.7319732Z ### REQ-SUBNET-2
2026-06-06T06:43:03.7320443Z - Title: Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder
2026-06-06T06:43:03.7320666Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7320682Z 
2026-06-06T06:43:03.7320899Z ### REQ-SUBNET-3
2026-06-06T06:43:03.7321431Z - Title: Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)
2026-06-06T06:43:03.7321695Z - Required stages: impl, unit
2026-06-06T06:43:03.7321712Z 
2026-06-06T06:43:03.7321960Z ### REQ-SUBNET-4
2026-06-06T06:43:03.7322538Z - Title: Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)
2026-06-06T06:43:03.7322794Z - Required stages: impl, unit
2026-06-06T06:43:03.7322811Z 
2026-06-06T06:43:03.7322996Z ### REQ-DOCS-6
2026-06-06T06:43:03.7323679Z - Title: spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)
2026-06-06T06:43:03.7323949Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7323965Z 
2026-06-06T06:43:03.7324151Z ### REQ-SEC-1
2026-06-06T06:43:03.7324967Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-06T06:43:03.7325173Z - Required stages: impl, unit
2026-06-06T06:43:03.7325189Z 
2026-06-06T06:43:03.7325404Z ### REQ-NOTIF-1
2026-06-06T06:43:03.7326177Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-06T06:43:03.7326392Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7326409Z 
2026-06-06T06:43:03.7326806Z ### REQ-NOTIF-2
2026-06-06T06:43:03.7327323Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-06T06:43:03.7327577Z - Required stages: doc, impl, unit, int
2026-06-06T06:43:03.7327594Z 
2026-06-06T06:43:03.7327850Z ### REQ-UPD-1
2026-06-06T06:43:03.7328090Z - Title: Peer-propagated update over P2P
2026-06-06T06:43:03.7328348Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7328364Z 
2026-06-06T06:43:03.7328575Z ### REQ-UPD-2
2026-06-06T06:43:03.7328850Z - Title: All binaries signature-verified before handoff
2026-06-06T06:43:03.7329142Z - Required stages: impl, unit
2026-06-06T06:43:03.7329205Z 
2026-06-06T06:43:03.7329580Z ### REQ-UPD-3
2026-06-06T06:43:03.7330123Z - Title: No endpoint process terminates/suspends during self-update
2026-06-06T06:43:03.7330322Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7330390Z 
2026-06-06T06:43:03.7330553Z ### REQ-UPD-4
2026-06-06T06:43:03.7330980Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-06T06:43:03.7331235Z - Required stages: impl, unit
2026-06-06T06:43:03.7331252Z 
2026-06-06T06:43:03.7331471Z ### REQ-UPD-5
2026-06-06T06:43:03.7331733Z - Title: spt-core ripple-updates registered adapters
2026-06-06T06:43:03.7332004Z - Required stages: impl, unit
2026-06-06T06:43:03.7332021Z 
2026-06-06T06:43:03.7332289Z ### REQ-TERM-1
2026-06-06T06:43:03.7332654Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-06T06:43:03.7332898Z - Required stages: impl, unit
2026-06-06T06:43:03.7332913Z 
2026-06-06T06:43:03.7333080Z ### REQ-TERM-2
2026-06-06T06:43:03.7333466Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-06T06:43:03.7333760Z - Required stages: impl, unit
2026-06-06T06:43:03.7333778Z 
2026-06-06T06:43:03.7333971Z ### REQ-TERM-3
2026-06-06T06:43:03.7334284Z - Title: Byte-stream remote terminal streaming for v1
2026-06-06T06:43:03.7334475Z - Required stages: impl, unit
2026-06-06T06:43:03.7334492Z 
2026-06-06T06:43:03.7334717Z ### REQ-TERM-4
2026-06-06T06:43:03.7335534Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-06T06:43:03.7335757Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7335947Z 
2026-06-06T06:43:03.7336177Z ### REQ-FRONT-1
2026-06-06T06:43:03.7336507Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-06T06:43:03.7336755Z - Required stages: 
2026-06-06T06:43:03.7336773Z 
2026-06-06T06:43:03.7337031Z ### REQ-INSTALL-1
2026-06-06T06:43:03.7337425Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-06T06:43:03.7343403Z - Required stages: doc, impl, int
2026-06-06T06:43:03.7343448Z 
2026-06-06T06:43:03.7343704Z ### REQ-INSTALL-2
2026-06-06T06:43:03.7343939Z - Title: Marketplace-repackaging-friendly install
2026-06-06T06:43:03.7344087Z - Required stages: doc
2026-06-06T06:43:03.7344102Z 
2026-06-06T06:43:03.7344241Z ### REQ-INSTALL-3
2026-06-06T06:43:03.7344514Z - Title: Idempotent + interactive-optional first run
2026-06-06T06:43:03.7344669Z - Required stages: impl, int
2026-06-06T06:43:03.7344683Z 
2026-06-06T06:43:03.7344823Z ### REQ-INSTALL-4
2026-06-06T06:43:03.7346087Z - 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-06T06:43:03.7346250Z - Required stages: impl, unit
2026-06-06T06:43:03.7346265Z 
2026-06-06T06:43:03.7346454Z ### REQ-MIGRATE-1
2026-06-06T06:43:03.7346729Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-06T06:43:03.7346871Z - Required stages: 
2026-06-06T06:43:03.7346887Z 
2026-06-06T06:43:03.7347012Z ### REQ-INFRA-1
2026-06-06T06:43:03.7347317Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-06T06:43:03.7347452Z - Required stages: 
2026-06-06T06:43:03.7347478Z 
2026-06-06T06:43:03.7347935Z ### REQ-INSTALL-5
2026-06-06T06:43:03.7348840Z - Title: Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration
2026-06-06T06:43:03.7349001Z - Required stages: impl, int
2026-06-06T06:43:03.7349018Z 
2026-06-06T06:43:03.7349224Z ### REQ-REL-1
2026-06-06T06:43:03.7350295Z - Title: spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)
2026-06-06T06:43:03.7350452Z - Required stages: doc, impl
2026-06-06T06:43:03.7350469Z 
2026-06-06T06:43:03.7350605Z ### REQ-REL-2
2026-06-06T06:43:03.7351518Z - Title: Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline
2026-06-06T06:43:03.7351676Z - Required stages: impl, int
2026-06-06T06:43:03.7351691Z 
2026-06-06T06:43:03.7351825Z ### REQ-REL-3
2026-06-06T06:43:03.7352644Z - Title: Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)
2026-06-06T06:43:03.7352807Z - Required stages: impl, unit
2026-06-06T06:43:03.7352822Z 
2026-06-06T06:43:03.7352956Z ### REQ-DOCS-1
2026-06-06T06:43:03.7353312Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-06T06:43:03.7353472Z - Required stages: doc, impl
2026-06-06T06:43:03.7353488Z 
2026-06-06T06:43:03.7353619Z ### REQ-DOCS-2
2026-06-06T06:43:03.7353889Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-06T06:43:03.7354035Z - Required stages: doc, int
2026-06-06T06:43:03.7354051Z 
2026-06-06T06:43:03.7354188Z ### REQ-DOCS-3
2026-06-06T06:43:03.7354756Z - Title: Diátaxis structure; one canonical way to do X
2026-06-06T06:43:03.7354905Z - Required stages: doc
2026-06-06T06:43:03.7354920Z 
2026-06-06T06:43:03.7355056Z ### REQ-DOCS-4
2026-06-06T06:43:03.7355403Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-06T06:43:03.7355571Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7355587Z 
2026-06-06T06:43:03.7355722Z ### REQ-DOCS-5
2026-06-06T06:43:03.7356224Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-06T06:43:03.7356397Z - Required stages: impl, int
2026-06-06T06:43:03.7356414Z 
2026-06-06T06:43:03.7356580Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-06T06:43:03.7356903Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-06T06:43:03.7357049Z - Required stages: impl, unit
2026-06-06T06:43:03.7357076Z 
2026-06-06T06:43:03.7357235Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-06T06:43:03.7357480Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-06T06:43:03.7357632Z - Required stages: impl, unit
2026-06-06T06:43:03.7357649Z 
2026-06-06T06:43:03.7357819Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-06T06:43:03.7358030Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-06T06:43:03.7358201Z - Required stages: impl, unit
2026-06-06T06:43:03.7358218Z 
2026-06-06T06:43:03.7358380Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-06T06:43:03.7358678Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-06T06:43:03.7358845Z - Required stages: impl, unit
2026-06-06T06:43:03.7358861Z 
2026-06-06T06:43:03.7359010Z ### REQ-HAZARD-WORKER-PATH
2026-06-06T06:43:03.7359551Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-06T06:43:03.7359719Z - Required stages: impl, unit
2026-06-06T06:43:03.7359735Z 
2026-06-06T06:43:03.7360045Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-06T06:43:03.7360356Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-06T06:43:03.7360490Z - Required stages: 
2026-06-06T06:43:03.7360507Z 
2026-06-06T06:43:03.7360673Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-06T06:43:03.7360887Z - Title: Stdin session_id precedence over env (2.2)
2026-06-06T06:43:03.7361193Z - Required stages: 
2026-06-06T06:43:03.7361210Z 
2026-06-06T06:43:03.7361383Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-06T06:43:03.7361649Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-06T06:43:03.7361810Z - Required stages: impl, unit
2026-06-06T06:43:03.7361835Z 
2026-06-06T06:43:03.7362001Z ### REQ-HAZARD-GEN-START-NOW
2026-06-06T06:43:03.7362224Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-06T06:43:03.7362379Z - Required stages: impl, int
2026-06-06T06:43:03.7362393Z 
2026-06-06T06:43:03.7362550Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-06T06:43:03.7362812Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-06T06:43:03.7362967Z - Required stages: impl, unit
2026-06-06T06:43:03.7362982Z 
2026-06-06T06:43:03.7363151Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-06T06:43:03.7363424Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-06T06:43:03.7363568Z - Required stages: impl, unit
2026-06-06T06:43:03.7363596Z 
2026-06-06T06:43:03.7363767Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-06T06:43:03.7364073Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-06T06:43:03.7364218Z - Required stages: impl, unit
2026-06-06T06:43:03.7364233Z 
2026-06-06T06:43:03.7364416Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-06T06:43:03.7364661Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-06T06:43:03.7364817Z - Required stages: impl, unit
2026-06-06T06:43:03.7364833Z 
2026-06-06T06:43:03.7365009Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-06T06:43:03.7365289Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-06T06:43:03.7365440Z - Required stages: impl, unit
2026-06-06T06:43:03.7365454Z 
2026-06-06T06:43:03.7365616Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-06T06:43:03.7365989Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-06T06:43:03.7366134Z - Required stages: impl, unit
2026-06-06T06:43:03.7366157Z 
2026-06-06T06:43:03.7366311Z ### REQ-HAZARD-ID-CHARSET
2026-06-06T06:43:03.7366751Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-06T06:43:03.7366898Z - Required stages: impl, unit
2026-06-06T06:43:03.7366916Z 
2026-06-06T06:43:03.7367222Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-06T06:43:03.7367551Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-06T06:43:03.7367708Z - Required stages: impl, unit
2026-06-06T06:43:03.7367723Z 
2026-06-06T06:43:03.7367890Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-06T06:43:03.7368327Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-06T06:43:03.7368483Z - Required stages: impl, unit
2026-06-06T06:43:03.7368499Z 
2026-06-06T06:43:03.7368655Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-06T06:43:03.7369585Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-06T06:43:03.7369920Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7369936Z 
2026-06-06T06:43:03.7370105Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-06T06:43:03.7370962Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-06T06:43:03.7371131Z - Required stages: impl, unit
2026-06-06T06:43:03.7371145Z 
2026-06-06T06:43:03.7371321Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-06T06:43:03.7371521Z - Title: Deferred rows survive poll drain (4.4)
2026-06-06T06:43:03.7371666Z - Required stages: impl, unit
2026-06-06T06:43:03.7371680Z 
2026-06-06T06:43:03.7371846Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-06T06:43:03.7372047Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-06T06:43:03.7372201Z - Required stages: impl, unit
2026-06-06T06:43:03.7372215Z 
2026-06-06T06:43:03.7372382Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-06T06:43:03.7372632Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-06T06:43:03.7372964Z - Required stages: impl, unit
2026-06-06T06:43:03.7372980Z 
2026-06-06T06:43:03.7373134Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-06T06:43:03.7373407Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-06T06:43:03.7373583Z - Required stages: impl, unit
2026-06-06T06:43:03.7373598Z 
2026-06-06T06:43:03.7373760Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-06T06:43:03.7373993Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-06T06:43:03.7374137Z - Required stages: impl, unit
2026-06-06T06:43:03.7374152Z 
2026-06-06T06:43:03.7374315Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-06T06:43:03.7374562Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-06T06:43:03.7374717Z - Required stages: impl, unit
2026-06-06T06:43:03.7374730Z 
2026-06-06T06:43:03.7374903Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-06T06:43:03.7375208Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-06T06:43:03.7375366Z - Required stages: impl, unit
2026-06-06T06:43:03.7375394Z 
2026-06-06T06:43:03.7375556Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-06T06:43:03.7375876Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-06T06:43:03.7376031Z - Required stages: impl, unit
2026-06-06T06:43:03.7376056Z 
2026-06-06T06:43:03.7376224Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-06T06:43:03.7376517Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-06T06:43:03.7376677Z - Required stages: impl, unit
2026-06-06T06:43:03.7376692Z 
2026-06-06T06:43:03.7376868Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-06T06:43:03.7377105Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-06T06:43:03.7377254Z - Required stages: impl, unit
2026-06-06T06:43:03.7377268Z 
2026-06-06T06:43:03.7377448Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-06T06:43:03.7377831Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-06T06:43:03.7377976Z - Required stages: impl, unit
2026-06-06T06:43:03.7378003Z 
2026-06-06T06:43:03.7378191Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-06T06:43:03.7379621Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-06T06:43:03.7379817Z - Required stages: impl, unit
2026-06-06T06:43:03.7379834Z 
2026-06-06T06:43:03.7380043Z ### REQ-HAZARD-DETACHED-PIPE-INHERIT
2026-06-06T06:43:03.7382376Z - Title: Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)
2026-06-06T06:43:03.7382547Z - Required stages: impl, unit
2026-06-06T06:43:03.7382563Z 
2026-06-06T06:43:03.7382722Z ### REQ-HAZARD-CONPTY-DSR
2026-06-06T06:43:03.7383106Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-06T06:43:03.7383270Z - Required stages: impl, unit
2026-06-06T06:43:03.7383285Z 
2026-06-06T06:43:03.7383438Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-06T06:43:03.7383848Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-06T06:43:03.7384013Z - Required stages: impl, unit
2026-06-06T06:43:03.7384027Z 
2026-06-06T06:43:03.7384194Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-06T06:43:03.7384667Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-06T06:43:03.7384833Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7384849Z 
2026-06-06T06:43:03.7385022Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-06T06:43:03.7385488Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-06T06:43:03.7385639Z - Required stages: impl, unit
2026-06-06T06:43:03.7385799Z 
2026-06-06T06:43:03.7385986Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-06T06:43:03.7386776Z - 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-06T06:43:03.7386953Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7386968Z 
2026-06-06T06:43:03.7387149Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-06T06:43:03.7388774Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-06T06:43:03.7388944Z - Required stages: impl, unit
2026-06-06T06:43:03.7388960Z 
2026-06-06T06:43:03.7393954Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-06T06:43:03.7395869Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-06T06:43:03.7396123Z - Required stages: impl, unit
2026-06-06T06:43:03.7396150Z 
2026-06-06T06:43:03.7396342Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-06T06:43:03.7397805Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-06T06:43:03.7398004Z - Required stages: impl, unit
2026-06-06T06:43:03.7398023Z 
2026-06-06T06:43:03.7398196Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-06T06:43:03.7399395Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-06T06:43:03.7399596Z - Required stages: impl, unit
2026-06-06T06:43:03.7399611Z 
2026-06-06T06:43:03.7399963Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-06T06:43:03.7402090Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-06T06:43:03.7402325Z - Required stages: impl, unit
2026-06-06T06:43:03.7402346Z 
2026-06-06T06:43:03.7402534Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-06T06:43:03.7404150Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-06T06:43:03.7404503Z - Required stages: doc, impl, unit
2026-06-06T06:43:03.7404525Z 
2026-06-06T06:43:03.7404685Z ### REQ-CONSENT-1
2026-06-06T06:43:03.7407090Z - Title: Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)
2026-06-06T06:43:03.7407392Z - Required stages: impl, unit
2026-06-06T06:43:03.7407413Z 
2026-06-06T06:43:03.7407574Z ### REQ-CONSENT-2
2026-06-06T06:43:03.7409552Z - Title: Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)
2026-06-06T06:43:03.7409722Z - Required stages: impl, unit
2026-06-06T06:43:03.7409737Z 
2026-06-06T06:43:03.7409880Z ### REQ-PRES-1
2026-06-06T06:43:03.7412567Z - Title: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)
2026-06-06T06:43:03.7412992Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7413009Z 
2026-06-06T06:43:03.7413147Z ### REQ-SHELL-1
2026-06-06T06:43:03.7415129Z - Title: Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)
2026-06-06T06:43:03.7415296Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7415312Z 
2026-06-06T06:43:03.7415448Z ### REQ-SHELL-2
2026-06-06T06:43:03.7418404Z - Title: Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)
2026-06-06T06:43:03.7418566Z - Required stages: impl, unit, int
2026-06-06T06:43:03.7418580Z 
2026-06-06T06:43:03.7418726Z ## How to report back
2026-06-06T06:43:03.7418741Z 
2026-06-06T06:43:03.7419026Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-06T06:43:03.7419041Z 
2026-06-06T06:43:03.7419442Z     {
2026-06-06T06:43:03.7419630Z       "code": "requirement_quality",
2026-06-06T06:43:03.7419965Z       "requirementId": "REQ-...",
2026-06-06T06:43:03.7420255Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-06T06:43:03.7420439Z       "message": "<short reason>",
2026-06-06T06:43:03.7420638Z       "suggestedRevision": "<optional rewrite>"
2026-06-06T06:43:03.7420766Z     }
2026-06-06T06:43:03.7420779Z 
2026-06-06T06:43:03.7421285Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-06T06:43:03.7421543Z deterministic findings above don't need to be repeated.
2026-06-06T06:43:03.7578038Z Post job cleanup.
2026-06-06T06:43:03.8800273Z [command]/usr/bin/git version
2026-06-06T06:43:03.8853861Z git version 2.34.1
2026-06-06T06:43:03.8902510Z Copying '/home/david/.gitconfig' to '/home/david/actions-runner/_work/_temp/ceda0883-1d6b-43bc-9764-dad851ae5d5d/.gitconfig'
2026-06-06T06:43:03.8925690Z Temporarily overriding HOME='/home/david/actions-runner/_work/_temp/ceda0883-1d6b-43bc-9764-dad851ae5d5d' before making global git config changes
2026-06-06T06:43:03.8927428Z Adding repository directory to the temporary git global config as a safe directory
2026-06-06T06:43:03.8934418Z [command]/usr/bin/git config --global --add safe.directory /home/david/actions-runner/_work/spt-core/spt-core
2026-06-06T06:43:03.8984620Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-06T06:43:03.9030529Z [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-06T06:43:03.9284736Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-06T06:43:03.9314471Z http.https://github.com/.extraheader
2026-06-06T06:43:03.9329669Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-06T06:43:03.9374736Z [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-06T06:43:03.9646850Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-06T06:43:03.9688042Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-06T06:43:04.0107194Z Cleaning up orphan processes
