--- .spt/iolog-277-evidence/linux/gate/aligned-source.patch 2026-09-06 07:34:57.198329300 -0700 +++ .spt/iolog-277-evidence/linux-working-tree.patch 2026-09-06 07:32:51.808024600 -0700 @@ -1,5 +1,5 @@ diff --git a/crates/spt-store/src/iolog.rs b/crates/spt-store/src/iolog.rs -index 15e56735..58819990 100644 +index 15e5673..5881999 100644 --- a/crates/spt-store/src/iolog.rs +++ b/crates/spt-store/src/iolog.rs @@ -141,6 +141,14 @@ pub struct IoLogRow { @@ -704,7 +704,7 @@ } } diff --git a/crates/spt/src/api/engineroom.rs b/crates/spt/src/api/engineroom.rs -index ff8bb9f2..58f722f2 100644 +index ff8bb9f..58f722f 100644 --- a/crates/spt/src/api/engineroom.rs +++ b/crates/spt/src/api/engineroom.rs @@ -165,11 +165,12 @@ pub fn refuse(verdict: EngineRoomAuth, caller_id: &str) -> i32 { @@ -768,7 +768,7 @@ /// A sessions reply holding exactly the rows and in-flight entries named. diff --git a/crates/spt/src/api/ioevents.rs b/crates/spt/src/api/ioevents.rs -index c536a3f9..37fbcdd1 100644 +index c536a3f..37fbcdd 100644 --- a/crates/spt/src/api/ioevents.rs +++ b/crates/spt/src/api/ioevents.rs @@ -140,7 +140,7 @@ pub fn poll( @@ -881,7 +881,7 @@ // the poll still answers with the rows around it. #[test] diff --git a/crates/spt/src/api/reporting.rs b/crates/spt/src/api/reporting.rs -index 7ce9c43e..d401bf28 100644 +index 7ce9c43..d401bf2 100644 --- a/crates/spt/src/api/reporting.rs +++ b/crates/spt/src/api/reporting.rs @@ -1699,7 +1699,7 @@ mod tests { @@ -912,7 +912,7 @@ assert_eq!(spt_store::sessions::read_all(&perch).len(), 1); } diff --git a/crates/spt/src/api/startup.rs b/crates/spt/src/api/startup.rs -index 2e615314..5b98ac68 100644 +index 2e61531..5b98ac6 100644 --- a/crates/spt/src/api/startup.rs +++ b/crates/spt/src/api/startup.rs @@ -922,7 +922,7 @@ pub fn cmd_listen( @@ -934,7 +934,7 @@ spt_proto::emit_line_err!("RESERVED_ID:{id}: {refusal}"); return EXIT_REFUSED; diff --git a/crates/spt/tests/bind_adapter_profile_persist_e2e.rs b/crates/spt/tests/bind_adapter_profile_persist_e2e.rs -index e3f46174..b48aaa24 100644 +index e3f4617..b48aaa2 100644 --- a/crates/spt/tests/bind_adapter_profile_persist_e2e.rs +++ b/crates/spt/tests/bind_adapter_profile_persist_e2e.rs @@ -154,6 +154,12 @@ fn bind_over_created_profile_endpoint_preserves_the_profile() { @@ -951,7 +951,7 @@ // info.json.adapter still reads the full composite (the A-4 regression fix). // [int->REQ-HAZARD-ADAPTER-PROFILE-STAMP-CLOBBER] diff --git a/crates/spt/tests/io_events_poll_e2e.rs b/crates/spt/tests/io_events_poll_e2e.rs -index f0a76719..d897954c 100644 +index f0a7671..d897954 100644 --- a/crates/spt/tests/io_events_poll_e2e.rs +++ b/crates/spt/tests/io_events_poll_e2e.rs @@ -250,6 +250,14 @@ fn a_fresh_session_seeds_over_real_history_and_then_sees_only_what_follows() { @@ -970,7 +970,7 @@ // hook's own — the session cursor is exactly where (4) left it. let after_whole = poll(&spt_bin, home.path(), author, sid, &[]); diff --git a/docs-site/src/harness-contract/api.md b/docs-site/src/harness-contract/api.md -index d0bb93ae..a5a94bed 100644 +index d0bb93a..a5a94be 100644 --- a/docs-site/src/harness-contract/api.md +++ b/docs-site/src/harness-contract/api.md @@ -453,7 +453,9 @@ digest and diffing it. @@ -1005,7 +1005,7 @@ **`--json` is the adapter shape and is emitted even when empty:** diff --git a/docs/KNOWN-HAZARDS.md b/docs/KNOWN-HAZARDS.md -index abb35be7..8ab726b7 100644 +index abb35be..8ab726b 100644 --- a/docs/KNOWN-HAZARDS.md +++ b/docs/KNOWN-HAZARDS.md @@ -450,6 +450,12 @@ Hard-won edge cases harvested from the sister project (`claude_skill_owl`, ~80 c @@ -1030,7 +1030,7 @@ | 7.2 | Idempotent delivery across brain restart | broker↔brain IPC | | 7.3 | Psyche outbound captured + `from=`/target stripped + reply-to-sender / notify-to-own-user | live-Psyche driver / daemon relay (ADR-0012) | diff --git a/traceable-reqs.toml b/traceable-reqs.toml -index 7f2f8610..ff9cf40d 100644 +index 7f2f861..ff9cf40 100644 --- a/traceable-reqs.toml +++ b/traceable-reqs.toml @@ -4285,6 +4285,7 @@ requirements = [