[FIX] Add PENDING-archive.md — the destination 8abfe88 claimed to carry
8abfe88's message read "PENDING.md split 1848→430 + archive", but the archive was
never staged: that commit deleted 1,532 lines from PENDING.md and pushed the
deletion without its destination. The 74 closed governance items survived on disk
and in history only — recoverable, but absent from the record the remote carries.
The commit claimed an integrity it had not enacted.
Verified before committing, not after: every line of
PENDING.md.bak-2026-07-28-pre-split is accounted for in
(PENDING.md UNION PENDING-archive.md) at line granularity — no regex, no parser
notion of "item" — with a same-run positive control (a sentinel absent from the
union must be reported missing) per the Q2 epistemic standard. Three baseline
lines are absent by intent, all in the file header: the stale `Repo: bmf` and
`Branch: fix/replay-durability-contracts` pointers (that branch merged as
c9746ae; HEAD is main — the staleness was flagged in PENDING-78), and the
`Protocol:` line, reflowed. That header rewrite rode along inside 8abfe88
unmentioned; it is logged here rather than left silent.
Second fix, same class: the header asserted "the next item is PENDING-80" while
79, 80, and 81 all exist. Replaced the stated number with the rule that computes
it — a number goes stale, a rule does not.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuMjg3ipEVa3n8CoSzoyvc
This commit is contained in:
co-authored by
Claude Opus 5
parent
8abfe8835a
commit
7f6157a9db
@@ -39,6 +39,10 @@ type: feedback
|
||||
- 2026-07-28T10:40 — ⚑ **The `.app`/`CLAUDE.md` question has a structural answer, not a tooling one.** Their readers differ in filesystem access, so one document can *compute* its state and the other can only *cache* it — confirmed by substrate (the live preferences exist nowhere on disk; only March-era sandbox snapshots). **Duplication between them is structurally required; only its staleness is optional.** The corollary I nearly missed: a pointer is worthless to a reader who cannot open files, which is *why* the preferences accumulated state in the first place. Reusable: before proposing a single-source-of-truth, check whether every reader can reach the source.
|
||||
- 2026-07-28T10:40 — ⚑ **The party structure itself has drifted, and both documents are constitutional.** `CLAUDE.md` names three parties; the `.app` preferences name Cowork as a fourth under `COWORK.md` — a real document, dated Mar 22, orphaned in an agent-mode sandbox — while calling the model three-party. The MemPalace weld shape, one layer up: doctrine welded to a retired instrument, where the instrument is *a party*. No generated block can fix it; it needs a ruling.
|
||||
|
||||
- 2026-07-28T11:05 — **Symmetria `init`, session 2** (same day, second session; ledger appended, not created). Wake was a 12-minute pause; thread **confirmed** — the jurist's map, PENDING-81's two legs. This time the closing template line was withheld until the skill had actually run (07-28T08:12's seam, not repeated).
|
||||
- 2026-07-28T11:05 — ⚑ **Say–do seam at commit-message level, and it cost the record.** `8abfe88`'s message says *"PENDING.md split 1848→430 **+ archive**"*. `git ls-files` says `PENDING-archive.md` is **untracked**; the commit deleted 1,532 lines from `PENDING.md` and never added their destination. Already pushed to `github/main`. So the remote's governance record lost 74 closed items, recoverable only from history — the wrap wrote the file to disk and the commit claimed to carry it. Same family as 08:12 (a record asserting an act it did not verify), but this one is *durable*: the false claim is in the permanent log. Reusable: **when a commit message names a new file, `git ls-files` it before writing the message** — `git status` at wrap showed `?? PENDING-archive.md` and I read it as backup noise alongside the two `.bak` files.
|
||||
- 2026-07-28T11:05 — Wake link-canary fired a **third** time; root cause now precise, not just reproduced: the memory dir's physical path is `/Users/davidglidden/dotfiles/claude/memory` (symlinked from `.claude/projects/…`), so `../../../../` lands at `/Users/`. Also confirmed `find <symlink>` returns nothing without `-L` — a second instrument silently defining its own domain, on the morning of that exact question.
|
||||
|
||||
## Sub-agent dialogues
|
||||
|
||||
## Bypasses
|
||||
|
||||
Reference in New Issue
Block a user