session 2026-08-31: PENDING-164 AMENDMENT 2 + PENDING-171; two addenda; two MEMORY.md claims corrected

The wrap's own findings, none of which were the session's subject:

PENDING-168 ADDENDUM 1 — the /wrap-up §1.6 FIX lane is PROVISIONAL until a
steward-jurist check-in that its own index calls due. Batch 1 closed 2026-08-02;
29 days, no check-in, and one executor-classified FIX applied past the boundary.
The deferral machinery reported "5 tracked, none due" because nobody ever gave
the check-in a DEFERRED-DECISION block. Filed one with a past trigger; the
drift-check now reports 1 of 6 COME DUE. Proved by readback.

PENDING-104 ADDENDUM 2 — two live executors today, detected by neither. A
sibling session read an mtime, worked out this session was concurrent rather
than previous, and stopped rather than write to PENDING.md. The wake digest had
drawn the opposite inference from the same fact.

MEMORY.md: the Fool line asserted NOTHING WIRED — false on all three clauses;
statusLine has been running tarbuckle-body.py for six days. Ladder N-now is 44,
not 51, and falling. Both verified against the substrate, not relayed — the
sibling's counts were off in both directions.

Today's one harvest candidate filed as PROPOSAL rather than applied, on the
lane's own suspension rule, and it corrects a banked proposal's mechanism: a
required-section check derived from the SKELETON constant cannot detect the
drift, because SKELETON is the copy that is wrong.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RmFYCUeAaPqbpJMj6uGokk
This commit is contained in:
David F Glidden
2026-08-31 09:27:36 +02:00
co-authored by Claude Opus 5
parent a1028772f4
commit 947a8c7f20
4 changed files with 69 additions and 2 deletions
+9
View File
@@ -586,3 +586,12 @@ it, which is the argument for the step.
⚠ **Both filed as `[PROPOSAL]`, not taken through the FIX lane, and the reason is the same for both.** Each edits a `/wrap-up` step **while that step is being executed by the session proposing it**, which is the one configuration where the classification test is least trustworthy — the executor is both author and beneficiary of the judgement that it needs no authorization. The lane's own instruction is *when in doubt, propose*, and self-modification during execution is the definition of doubt.
⚠ **Both were earned by failures in THIS wrap**, not observed in the abstract: the half-applied rotation actually happened, and the missing sections were actually missing. Neither is a speculative improvement.
## Proposed 2026-08-31 wrap — awaiting steward
| # | kind | target | proposal | firing moment | routing |
|---|---|---|---|---|---|
| — | **CORRECTION to the 2026-08-27 row above**, not a new proposal | `/wrap-up` §7.5 + `daybook-ensure.py` | ⚠ **That row's proposed mechanism cannot work, and today shows why.** It proposes deriving the required-section list *"from the skeleton's own `SKELETON` constant so the two copies cannot disagree."* **The `SKELETON` constant is the copy that is wrong.** Measured today: `daybook-ensure.py` writes **5** headings (`The day in short` · `Decisions taken` · `Insights and exchanges worth keeping` · `Corrections` · `Open / next`); §7.5 specifies **6**, the extra being `## <Project>` — *one H2 per project touched, with commit hashes inline*. So the skeleton **structurally cannot produce a conforming note**, and a checker derived from it would pronounce every note complete while the format's most distinctive element is absent from all of them. **A rule derived from the drifted copy cannot detect the drift** — `feedback-derive-the-rule-from-the-consumer-not-from-the-survivor`, arriving inside a proposal written to prevent exactly this class. Self-demonstrated: today's note was filled faithfully against the skeleton and has no project heading. **Proposed instead:** derive from §7.5 (the spec, which is what a *reader* of the note is owed), and add the missing slot to `SKELETON` in the same act so the two agree in the right direction. | at every `/wrap-up` §7.5, or the `Stop` hook that already fires the daybook cue | mechanical detector (strongest tier) |
| — | patch | `/wake-up` digest (`wake-digest.py`) | **`PREVIOUS SESSION DID NOT WRAP` is a negative state-claim with no falsifier, in the instrument every session reads first.** Today it fired while the other session was **live** — still writing its transcript, and it had committed to `dotfiles` one minute into the sibling's wake. The digest was right that no wrap existed and **wrong about why**, and the wrong half is the dangerous one: a session that believes the other is finished has no reason not to write to `PENDING.md`. Collision avoided by one session reading an mtime attentively, not by any mechanism. Proposed: distinguish *no wrap recorded* from *the session has ended* — the transcript's mtime and a recent-commit check already answer it — and say **`ANOTHER SESSION MAY BE LIVE`** when they do. ⚠ **Honest limit:** mtime is a heuristic and a genuinely idle session looks live; the failure it introduces (an unnecessary caution) is the cheap direction, which is the whole argument. | at every wake — already the ritual, already this script | mechanical detector (strongest tier) |
⚠ **Both are filed as PROPOSED and neither was applied, though the first would otherwise have been a clean FIX with an exact 2026-08-24 precedent.** The `/wrap-up` §1.6 FIX lane is **PROVISIONAL until a steward–jurist check-in that its own index says is due and that has not happened in 29 days** — see PENDING-168 ADDENDUM 1, which files the `DEFERRED-DECISION` block that now surfaces it. The lane's own rule: *until that review, treat a borderline call as `[PROPOSAL]`*.