[PROPOSAL] PENDING-128 amendment 2 — three further conditions

Same-commit narrowed: 128 binds to 121 DECLARED-DATA landing, the layers: block
commit, not to its constitutional supersession. Otherwise a machine-data rename
rides inside a constitutional bump and reverting the requirement reverts the
rename — the revertability cost the conditional was written to avoid, returning
through the door the blockage just left. My own Coupling reason already limited
it to that scope and I did not notice.

Define the term where it is introduced. REVIEWED-107 found this corpus mints
tokens and defines them later — three undefined status values, and a fourth I
minted myself. voice_personification comes from the entry own prose, so leaving
it undefined would trade a documented collision for an undefined term, which is
worse: the collision at least carried a warning. The definition goes in the
rewritten grains rather than beside them.

And the completion control had a hole that opens only under a single commit:
run apart, zero-hits-on-the-old-name is satisfiable by DELETING the
cross-reference — the negative passes because the subject was removed. One
invocation now, with resolves-at-new-names as its positive control.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A35wiD55yRHj5U1ECZAX4t
This commit is contained in:
David F Glidden
2026-08-08 20:48:41 +02:00
co-authored by Claude Opus 5
parent 0f1c20b08e
commit 500e0945ce
+47
View File
@@ -2350,3 +2350,50 @@ Censused by **mechanism** — driving real degraded states and observing the out
**§F — What is now genuinely outstanding, and it is one thing.** The jurist has Amendment 3 §D's **description** of the redrafted IV.2 — *not its text* — and declines to rule from a description, *"the contamination shape this thread has now avoided three times."* **The redraft text must be relayed** (package Addendum 2, `~/_Dev/chamber-library/docs/engine-source-binding-surfaces-JURIST-PACKAGE-2026-08-08.md`). Everything else on §5's list is discharged.
---
### AMENDMENT 2 — 2026-08-08, three further conditions (none reversing the gate)
**§G — ⚠ "SAME COMMIT" NARROWED, because resolving the branch made it ambiguous.** PENDING-121 lands in **two places**: its Part VI splits the **mechanism** (`graduation-spec.yaml` declared data) from the **requirement** (the constitution, MINOR bump by supersession). PENDING-128 is **pure machine-data**. Read as binding 128 to *all* of 121's landing, a machine-data rename would ride **inside a constitutional supersession**, and reverting the requirement would revert the rename — *"exactly the revertability cost the conditional was written to avoid… returning through the door the blockage just left."*
**Ruled: the coupling binds PENDING-128 to PENDING-121's DECLARED-DATA landing — the `layers:` block commit — and NOT to its constitutional landing.** My §Coupling's own stated reason (same block; L19 cross-references L20) supports exactly that scope **and no more**, which I did not notice it was already limiting.
**§H — ⚠ NEW CONDITION FROM A RULING THAT POSTDATES THE GATE: define the term where it is introduced.** REVIEWED-107 §2 found `reading_index_status`'s vocabulary **undefined** — three tokens in use, no definition in either repo — and that I **minted a fourth** to say something true. That is a demonstrated corpus tendency to introduce terms without definitions and notice later. **`voice_personification` is drawn from the entry's own prose**, and if *personification* is undefined at its site the rename **trades a documented collision for an undefined term — worse than the status quo, since the collision at least carried a warning.** Folded into the warning-rewrite rather than added beside it: **the rewritten grains are where the definition goes.** Revised draft:
```yaml
voice_personification: "PERSONIFICATION — an AUTHORED description of a reading-voice (its role
and semantic profile), composed by the curator; derived from no text, bound to no source,
which is why it carries NO source hash (spec §VI). ⚠ The engine's SOURCE manifest
(corpus/manifest.yaml) is a DIFFERENT object and DOES bind by hash — see canonical_binding
below; do not generalize 'engine-side = hash-free' from this entry. RENAMED from
`voice_manifest` 2026-08-08 (REVIEWED-53 option (c), deferred on occasion, taken up under
PENDING-128): a reader arriving from an older citation of `voice_manifest` has reached the
right entry."
# => the shared word "manifest" is RETIRED from this side rather than warned around, and the
# term replacing it is DEFINED here rather than assumed (REVIEWED-107 §2: this corpus has
# just been shown to mint tokens and define them later). Second reading grain kept, per
# REVIEWED-53's deliberate choice; it now carries what it must carry AFTER the rename.
```
**§I — ⚠ THE COMPLETION CONTROL HAS A HOLE, AND IT OPENS ONLY UNDER THE SINGLE COMMIT THE BRANCH JUST SELECTED.** I specified two checks *separately*: zero hits on the old name outside `~/REVIEWED.md`, **and** the L19↔L20 cross-reference still resolving both ways. **Run apart, the first is satisfiable by DELETING the cross-reference entirely — the negative passes precisely because the subject was removed.** That is Q2's rule applied to a control that had none, and it becomes live *because* renaming both keys at once makes the cross-reference rewritable on both sides simultaneously.
**Ruled: one invocation, with resolves-at-new-names as the POSITIVE CONTROL for the zero-hits check.** To be run at landing:
```bash
# ONE invocation. The zero-hits result is void unless the control passes in the same run.
SPEC=~/_Dev/chamber-library/_curation/graduation-spec.yaml
ctrl_fwd=$(grep -c 'canonical_binding' "$SPEC") # L19 must point AT the new neighbour
ctrl_rev=$(grep -c 'voice_personification' "$SPEC") # and the neighbour must exist to be pointed at
old=$(grep -rn 'engine_source_binding\|voice_manifest' ~/_Dev/chamber-library ~/_Dev/studium-engine ~/dotfiles --exclude-dir=.git --exclude=REVIEWED.md | wc -l)
if [ "$ctrl_fwd" -lt 2 ] || [ "$ctrl_rev" -lt 2 ]; then
echo "CONTROL FAILED — cross-reference does not resolve at the new names; zero-hits is VOID"
elif [ "$old" -eq 0 ]; then echo "COMPLETE — old names gone AND the cross-reference resolves"
else echo "INCOMPLETE — $old residual occurrence(s) of an old name"; fi
```
⚠ `--exclude=REVIEWED.md` is **by name in the command**, per PENDING-121 §E — never by the search happening to miss it.
**§J — (c) stays rejected, and REVIEWED-107 STRENGTHENS the rejection.** Retiring a reading grain *"in a corpus that has just been shown to mint undefined tokens is the wrong direction."* The `voice` frontmatter entanglement remains **neutral**; the collision log remains **unverified testimony carrying no weight**.
**§K — Recommended:** the jurist's offer to draft these as three lines under **REVIEWED-110 point 10** should be taken. They are conditions on a **placed** ruling, and per the REVIEWED-87 lesson an amendment **joins its record** rather than living as prose beside it. Steward's call; `~/REVIEWED.md` is their hand.
---