From 0b6ea6f91020e37bc89738710b4b5e2f81200c25 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Tue, 15 Sep 2026 10:27:14 -0700 Subject: [PATCH] memory: the /snapshot handoff modality defect is fixed, and my two real runs corroborate it --- .../2026-09-15-silent-wrong-answer-pattern.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/persistent-memory.d/2026-09-15-silent-wrong-answer-pattern.md b/persistent-memory.d/2026-09-15-silent-wrong-answer-pattern.md index 36d6f11..16a008b 100644 --- a/persistent-memory.d/2026-09-15-silent-wrong-answer-pattern.md +++ b/persistent-memory.d/2026-09-15-silent-wrong-answer-pattern.md @@ -158,6 +158,28 @@ above and two proposed prompt changes (an empty-case escape for `## Next steps`; making deferred/parked/belayed items constraints rather than steps). ⚠ `galdrabok-dev` is `mode: pull` — no herald poke, so they see it on their next check. +✅ **FIXED 2026-09-15 10:24 PT — `galdrabok b0882a4`, "protect item modality in the handoff +generator".** Both proposed changes shipped near-verbatim and are live here already (my +`~/.claude/skills/snapshot` is a **symlink** into `~/development/galdrabok/skills/snapshot`, +so it needs no push). galdrabok reproduced the defect mechanically at **10/10 baseline runs, +9 of 9 deferred tokens every run, zero within-condition variance** — and their 4-variant +ablation shows **both** changes are load-bearing for *different* surfaces: the empty case +stops the promotion, the modality rule keeps the deferred items *present* as constraints +(the cheaper fix alone produced a clean handoff that had silently **dropped all four +deferred items**). ⚠ **`modality rule only` still leaked 5/5 via the commit invitation** — +a commit invitation is not a deferred *item*, so an item-modality rule never reaches it. +Their positive control (a fixture with genuinely pending work) held 5/5 real next-steps +under every variant, so the fix is not over-suppression. `Exit 0 is not acceptance` is now +permanent spec text (§4.12), not an interim note. + +⭐ **My two real runs are the field corroboration, and they are why the artifact looked +clean:** `b0882a4` is stamped 10:24:35 and this repo's handoff was written 10:07:50 — 17 +minutes earlier, by the UNFIXED generator, on the adversarial input (nothing in flight, +four deferred items, two do-not-commit files). It read correctly only because it was +corrected in-session, per the mitigation above. **2 of 2 real runs inverted.** The next +`/snapshot` taken here is the first real post-fix run; report the handoff verbatim, leak +or clean — one run, a datapoint against their n=5 fixtures, not a replacement for them. + ⭐ Same family as everything above — the instrument produced a plausible artifact and the plausibility is exactly what makes it dangerous.