diff --git a/PENDING.md b/PENDING.md index 3a2d141..eda4d0e 100644 --- a/PENDING.md +++ b/PENDING.md @@ -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. + +---