skill-harvest 155: /wake-up's load-integrity remedy is section-level and should be entry-level

Earned in use at today's trim: the gate fired correctly and its prescribed remedy
did not apply — MEMORY.md has no least-wake-critical section, and following the
instruction literally would have cut the entries the file keeps inline by design.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X3L79vgAnt1x2kxvf23Qt7
This commit is contained in:
David F Glidden
2026-09-03 08:39:24 +02:00
co-authored by Claude Opus 5
parent db86339cf3
commit 87f577a2c8
+13
View File
@@ -606,3 +606,16 @@ it, which is the argument for the step.
**Why `[PROPOSAL]` and not the FIX lane:** it changes the executor's commit-boundary conduct on governed artifacts, so the two-clause test's first branch is arguably met; and the lane is provisional and its check-in is `COME DUE`, under which the skill's own instruction is to treat a borderline call as `[PROPOSAL]`. **Why `[PROPOSAL]` and not the FIX lane:** it changes the executor's commit-boundary conduct on governed artifacts, so the two-clause test's first branch is arguably met; and the lane is provisional and its check-in is `COME DUE`, under which the skill's own instruction is to treat a borderline call as `[PROPOSAL]`.
**Kin:** PENDING-104 (concurrency on shared governance state) — this is its commit-boundary form, distinct from ADDENDUM 1's corrupted read and ADDENDUM 2's interleaved write. Not covered by PENDING-174, which is the memory layer, not the commit step. **Kin:** PENDING-104 (concurrency on shared governance state) — this is its commit-boundary form, distinct from ADDENDUM 1's corrupted read and ADDENDUM 2's interleaved write. Not covered by PENDING-174, which is the memory layer, not the commit step.
**Awaiting:** steward authorization. **Awaiting:** steward authorization.
## 155 — `/wake-up` §2.a: the load-integrity gate's prescribed remedy is the wrong one
**Date:** 2026-09-03 · **Skill:** `wake-up` (§2.a load-integrity gate) · **Kind:** patch · **Status:** PROPOSED
**Firing moment (declared):** *mechanical, at a ritual juncture that already exists* — the gate fires from `/wake-up` §2.a whenever the harness reports MEMORY.md truncated. Retrieval is not at issue; the step already runs. This is a correction to what the step then tells the executor to do.
**What the skill says now:** *"trim the index (relocate the least-wake-critical section to `MEMORY-reference.md`, back up first)."*
**Why that misfired today, in use.** The gate fired correctly. Its remedy did not apply: **there is no least-wake-critical section.** MEMORY.md has four — Standing preferences, Canonical Trackers, Active Session, pointers — and relocating any of them breaks the wake, which is the one thing the gate exists to protect. Following the instruction literally would have degraded the wake in order to satisfy the wake's own budget.
**What the correct remedy turned out to be**, and it was already written in the file rather than in the skill: MEMORY.md's own **Index discipline** section states *"Canonical Trackers **as one-line pointers** — chronological detail lives in the linked tracker files, **not** here."* The overflow was entry-level, not section-level, and sat exactly where that rule forbids it. The unit of relocation is the **entry**, and its destination is **the tracker file the entry already points at** — not `MEMORY-reference.md`.
**The part that would have done harm.** "Least-wake-critical" invites cutting the longest entries. The longest are in *"Rules that fire silently"*, which the file keeps inline **by explicit design** — they fire at moments the executor would not recognize as needing a lookup. Cutting them frees the most bytes and removes the catches.
**Proposed patch:** replace the remedy clause with: *relocate at the level of the **entry**, not the section — move accumulated detail into the tracker file the entry already links to, then re-slim the entry to a pointer; the destination is the tracker, not `MEMORY-reference.md`. Check the index's own Index-discipline section for which entries are inline **by design** and do not cut those. Back up first, and verify with the lossless-relocation gate (slices not retyping · per-slice md5 · token conservation · link canary).*
**Evidence it would work:** applied by hand at this session's trim. 26,803 → 20,567 bytes across two moves, 0 unconserved tokens over five relocated entries, canary 407 pointers / 0 dead — and it surfaced that the index had become the **sole custodian** of live state for three workstreams, which section-level relocation would have preserved untouched and invisible.
**Why `[PROPOSAL]` and not the FIX lane:** it changes what a governed artifact (the skill) asserts is the correct remedy at a gate, so the two-clause test's second branch is met; and the lane is provisional with its check-in `COME DUE`, under which the skill's own instruction is to treat a borderline call as `[PROPOSAL]`.
**Kin:** the same class as the `/wake-up` link-canary line — a step that *described* a check rather than pointing at an executable, and was therefore re-derived by hand each time. Here the step prescribes a remedy that does not fit the artifact it guards.
**Awaiting:** steward authorization.