# Memory Index

- [REBNO Navi Origin Footgun](rebno_navi_origin.md) — Phaser Navi uses (0.5,1) bottom-center origin vs legacy (0,0) top-left; any position port must compensate or sprite drifts right+down
- [Gravity Deploy Procedure](reference_gravity_deploy.md) — ssh david@100.100.62.43, build in ~/spt-core-deploy, use setsid for daemon/listener, ~1min first-sync lag after restart
- [spt-core Workflow](feedback_spt_core_workflow.md) — hand-authored M*-PLAN/D*-PLAN docs + direct execution; no GSD slash-command pipeline
- [spt-core Restoration Status](project_spt_core_restoration.md) — ARC CLOSED; v0.5.0 fleet seamless both OSes (Linux no-bounce first proven 2026-06-14); next = spt-claude-code
- [pump-ipc-deadline Fix](pump-ipc-deadline-fix.md) — MERGED @ 4d8b810; Windows named-pipe read-timeout requires reader-thread+channel (set_nonblocking=PIPE_NOWAIT corrupts); broker-B row deferred
- [doyle↔todlando Role Flip](feedback_doyle_todlando_role_flip.md) — doyle author+reviewer / todlando executor validated on pump-seam (G1/G2/G3, zero rework)
- [owl Tooling Gotchas](feedback_owl_tooling_gotchas.md) — $OWL send needs stdin pipe; $LIVE must be unquoted; bash not PowerShell for git commit
- [sauna Project Status](project_sauna_status.md) — M4 nearly done (8a1d0c4); firmware now available layer; next = firmware UX work + step 5.5/6
- [spt-core M9 Status](project_spt_core_m9.md) — CLOSED @ 22a9b6f, v0.5.0 shipped + fleet rolled; next = spt-claude-code
- [spt-core Agent Roles](feedback_spt_agent_roles.md) — deployah=sign+publish; doyle=gate reviewer; todlando=executor; roles must not be conflated
- [Linear Stack Merge Gotcha](feedback_linear_stack_merge.md) — never --delete-branch mid-stack; hold deletions until tip merged
- [spt-core M10 Status](project_spt_core_m10.md) — SHIPPED v0.6.0 @ 6a9ff4e (counter 11, 2026-06-14); spt-claude-code next
- [spt-core M12 Status](project_spt_core_m12.md) — FULLY GATED + v0.7.0/v0.7.1 SHIPPED (counters 12/13); ADR-0020 closed; perri unblocked
- [spt-core M11 Status](project_spt_core_m11.md) — FULLY GATED + v0.8.0/v0.8.1 SHIPPED (counters 16/17); ADR-0020 closed; perri unblocked + dogfooding
- [spt-claude-code Status](project_spt_claude_code.md) — v0.9.0 SHIPPED (2026-06-28); D1 hook→binary arc closed; sptc 0.1.8; min_spt_core 0.16.0; D4 sptc→spt flip deferred
- [spt Bus Etiquette](feedback_spt_bus_etiquette.md) — pure ACK from doyle/todlando is TERMINAL; do not reply or it loops the bus
- [Gate Oscillation Rule](feedback_gate_oscillation.md) — lock first correct gating decision; treat new data as confirm-or-blocker, never re-open sound ruling across async crossings
- [Delegate Build Preflight Hang](feedback_delegate_build_preflight.md) — bg build agents hang on full spt-daemon integration suite; use targeted units only; check liveness via transcript mtime
- [Semantic Redefinition Fixture Sweep](feedback_semantic_redefinition_fixture_sweep.md) — a fix that redefines behavior semantics regresses ALL fixtures using old meaning; sweep them, trust CI both-runners over local race-win
- [Code-Read Misses Mutex Deadlock](feedback_code_read_misses_mutex_deadlock.md) — code-read gating blind to lock-contention deadlocks; only full runtime seam sweep (attach+broker+lifecycle) exposes them
- [spt-core v0.12.0 Lifecycle Milestone](project_spt_core_m13.md) — SHIPPED counter 25; all 7 lifecycle/liveness REQs delivered; endpoint-run usable; key lessons: mutex deadlock, shared-box triple-gate kill
- [spt-core v0.12.1 PATCH](project_spt_core_m14.md) — SHIPPED counter 26; WMI viewer-close-detach, attach-wedge proof, help-md, picker/E1 fixes; arc closed
- [spt-core v0.13.0 Milestone](project_spt_core_v0130.md) — FULLY GATED @bf32b8c; HITL + PR + deployah pending; bug tail (window/3+4/VT-translate) all cleared
- [CHANGELOG Scope Rule](changelog-scope-vs-commit-range.md) — cover every affected user-facing surface; bullet = surface delta not commit; commit log is checklist not quota
- [spt-core v0.13.0 Milestone](project_spt_core_v0130.md) — SHIPPED counter 27 @ e980b72; viewer-drain wedge + attach-IPC-deadline harden; perri + translate-proof follow-ons done
- [spt-core v0.13.2 Status](project_spt_core_v0132.md) — SHIPPED counter 29 @ 2bb9c8f (2026-06-23); W1–W6 complete; arc closed
- [spt-core v0.14.0 Status](project_spt_core_v0140.md) — FULLY CLOSED counter 30 @6ba875e (2026-06-23); perri multi-subnet GREEN; next = F-018 + netstream flake (operator greenlight pending)
- [spt-core v0.14.1 Status](project_spt_core_v0141.md) — SHIPPED counter 31 @46289ab (2026-06-23); F-018 + picker-home; arc closed
- [Release Bump Efficiency](feedback_release_bump_efficiency.md) — fold version/CHANGELOG/lock bump inside release PR; separate bump push = redundant CI pass (~11min wasted)
- [gh run watch False-Green](feedback_gh_run_watch_false_green.md) — rerun+short-sleep watch attaches to stale attempt; verify per-attempt conclusion explicitly
- [Flaky Gate Attribution Prints](feedback_flaky_gate_attribution_prints.md) — keep cheap source-attribution prints in flaky gates; they refute wrong root theories before real one lands
- [spt-core v0.13.2 Build Lessons](feedback_spt_core_v0132.md) — broker≠brain process boundary (no cross-process Arc); Windows rename-over-existing fails; dev daemon kill scoped only; test bins live_adapt_* not live_update_*
- [Bump-in-PR Flow](feedback_bump_in_pr_flow.md) — v0.14.1+ bump rides inside release PR (not separate push); v0.14.0 = last old-flow; counter from published metadata at cut
- [spt-core v0.14.2 Status](project_spt_core_v0142.md) — SHIPPED counter 32 @365fb0c (2026-06-23); F-019 + ADR-0022 amendment; perri GREEN (arc closed)
- [spt-core v0.14.3 Status](project_spt_core_v0143.md) — PUBLISHED counter 33 @90852bf (2026-06-24); raw-inject removal; linux 47d2edd2/win 701ed121; arc closed
- [spt-core v0.15.0 Status](project_spt_core_v0150.md) — PUBLISHED counter 34 @18d5045 (linux 93ed9b89/win b4950a8d); perri real-CC validation pending; seedmap flake follow-up deferred
- [Plausible ≠ Grounded](feedback_plausible_not_grounded.md) — trace full isolation chain before asserting collision/hazard; process-list observation alone is insufficient
- [Spawn-Before-Diagnose](feedback_spawn_before_diagnose.md) — confirm adapter binary SPAWNED before behavioral diagnosis; F-019 wasted 6+ probe rounds on ghost (binary never ran)
- [Full-Crate Gate Required](feedback_full_crate_gate_required.md) — shared-seam changes need full-crate nextest; shallow gate missed wall_b 240s hang (stale PTY-echo wait under new spool semantics)
- [Windows Exe Name Installer Detection](feedback_windows_exe_name_installer_detection.md) — test/fixture bins named "update"/"install"/"setup" → os-error-740 on Windows; use neutral names (e.g. post_step)
- [spt-core v0.16.0 Status](project_spt_core_v0160.md) — PUBLISHED counter 35 @9e5b33b (linux e13d7c2d/win f6cd39ec, 2026-06-25); perri v0.8.0 SHIPPED; arc closed
- [Publisher Preflight Check](feedback_publisher_preflight_check.md) — run xtask gen+check+traceable locally even when upstream claims green; gen≠check (v0.16.0 token-gate leak caught pre-push)
- [spt-core v0.17.0 Status](project_spt_core_v0170.md) — PUBLISHED counter 36 @a8baa23 (linux 874486a6/win 80053a21, 2026-06-28); robust WAN join; 3-attempt gate; arc closed; next = perri v0.17.0 validation
- [Cargo.lock First-Party Anchor](feedback_release_cargo_lock_first_party.md) — never blind-replace version in Cargo.lock; name-anchor to first-party crates only; third-party deps at same version will collide
- [CI PR Title Twohost Gate](feedback_ci_pr_title_twohost_gate.md) — head_commit.message NULL on pull_request events; twohost/budget gates need pull_request.title OR-clause; tag must be in PR title; use full rerun not --failed when twohost was skipped
