session 2026-09-14: skill-harvest proposals I and J, and third instances of B and H

I — a PreToolUse guard against editing MEMORY.md by its real dotfiles path,
    since the harness's near-limit guard is path-keyed (5/5 vs 0/2 measured).
    Routed as MECHANICAL; the prose rule alone predicts ~10% retrieval.
J — a convention for a session spanning midnight: PENDING-174 covers one day
    with many sessions; this is its mirror and is uncovered. First instance.

B and H each reached a third instance this session and are recorded rather
than re-filed. gitea reported 1 commit behind, NOT pushed: the steward named
it once, on 09-12, and a one-time instruction is not standing authorization.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PJM5fwqp456LDGzqiZXsgu
This commit is contained in:
David F Glidden
2026-09-14 20:19:54 +02:00
co-authored by Claude Opus 5
parent 45268f6349
commit 830bc7260f
+12
View File
@@ -765,3 +765,15 @@ Each nearly read as a defect in the *quotation*. ⚠ **Bound:** correct extracti
| J | **MEMORY.md's N-now instruction cites a method that cannot produce the figure it reports.** It directs re-measurement by *'the trial's own method at `governance-drift-check.py:513`'*. That line is inside `trigger_fired`, and the `transcripts` branch (`:546`) is a **bare glob** — it yields a count and **no composition at all**. The banked *'31 real / 28 mumble'* cannot have come from it, so the citation sends every future wake to an instrument that cannot answer the question asked of it. Kin to REVIEWED-139's line-citation errata. ⚠ **`[PROPOSAL]`, not FIX** — it changes what a governed artifact asserts. | patch (memory) | **RITUAL** — `/wake-up` §2.a, fires every wake. | PROPOSED |
**SECOND INSTANCE OF H, recorded rather than re-filed.** H (2026-09-11) reported the second dotfiles remote 54 commits behind, unseen by any wake. At the 2026-09-12 wake it was **55**, found again only by a hand check, and closed at **57** on the steward's explicit authorization. `/wake-up` §2.c still reads `git status -sb`, which by construction sees only the tracking remote. Two wakes, two hand catches; the mechanical fix in H is unchanged.
## Proposed 2026-09-14 — from the path-keyed-guard sitting
| # | Proposal | Kind | Firing moment (declared) | Status |
|---|---|---|---|---|
| I | **A `PreToolUse` guard against editing `MEMORY.md` by its real dotfiles path.** Measured this session: Claude Code's near-limit memory guard is **path-keyed** — 5/5 warnings followed edits via `~/.claude/projects/…/memory/MEMORY.md`; **0/2 via `~/dotfiles/claude/memory/MEMORY.md` at a LARGER file size.** Same `realpath`. Editing the real path **silences the only instrument that reports index overflow**, and overflow is silent at load. Pre-registered and confirmed in-session. | hook (create) | **MECHANICAL** — fires on any `Edit`/`Write` whose `file_path` ends `claude/memory/MEMORY.md` and does **not** begin `/Users/davidglidden/.claude/projects/`. | PROPOSED — **the routing table's top row** (*mechanical, should always fire*). ⚠ The rule now sits in prose in `reference-governance-files-are-dotfiles-symlinks.md`, which the table predicts yields **~10% retrieval**; that is precisely the gap this proposal exists to close. |
| J | **A convention for a session that SPANS MIDNIGHT.** This session woke 2026-09-13, did nearly all its work on 2026-09-14, and its Symmetria ledger is `session-ledger-2026-09-13.md` carrying `2026-09-14T` entries throughout, while the session file is dated 09-14. **PENDING-174 covers a DAY WITH MORE THAN ONE SESSION; this is its mirror — ONE SESSION SPANNING TWO DAYS — and is not covered.** A future reader grepping by date finds the returns under one date and the record under another. | patch (`/symmetria` §4 + `/wrap-up` §1.5) | **RITUAL** — fires at any wrap where the ledger's date ≠ today's date; a one-line check both steps can make. | PROPOSED — **first instance; the rule of three is NOT met.** Filed so the second is recognisable rather than re-derived. |
**THIRD INSTANCE OF B, recorded rather than re-filed.** `daybook-cue.py` fired again on **read-only** commands (`wc -c`, `git status`, a `python3 -c` measurement) and again asserted *"the write already succeeded."* No write had occurred. Instances: 2026-09-11 (filed), 2026-09-12, 2026-09-14 (×4 this session). The cue misdescribes its own trigger, and the rule of three is now met — B is eligible to build on the steward's word.
**THIRD INSTANCE OF H, recorded rather than re-filed.** `gitea` was again invisible to the wake: `/wake-up` §2.c reads `git status -sb`, which by construction sees only the tracking remote. At this wrap `github` matched local HEAD by `ls-remote` and **`gitea` sat 1 commit behind**, found only by an explicit per-remote check. Instances: 09-11 (54 behind), 09-12 (55, closed to 57 on steward instruction), 09-14 (1). ⚠ **Not pushed this session:** the steward named `gitea` once, on 09-12, for that occasion — treating a one-time instruction as standing authorization is the error class this sitting spent the day correcting. The mechanical fix in H (report `rev-list --count <remote>/main..HEAD` per remote in the wake digest) is unchanged and would have surfaced all three without anyone remembering to look.