From ab411f4cae5e04147571c016377206368fdc2cb1 Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Thu, 9 Jul 2026 11:02:20 -0400 Subject: [PATCH] Reconcile a process claim: park the listing gap, do not fake a Pass-13 row ced4b72's ratification log said the ConstrainedLayoutIR listing gap was "tracked as a Pass-13 candidate", but PASS13_CANDIDATES.md declares that batch CLOSED with no open candidates -- and the house rule opens a pass only at >=3 candidates. The claim pointed at a ledger that says the opposite. Filed where the rule wants it instead: layout-ir DECISIONS records the two fields the listing still elides (break_origins, catalog), why neither blocks an implementer (both are governed by requirement text elsewhere), and that it is PARKED awaiting company rather than reopening a pass on its own. The log now says that too. No code, no spec text. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/epiphany-layout-ir/DECISIONS.md | 18 ++++++++++++++++++ spec/PASS12_RATIFICATION_LOG.md | 10 ++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/crates/epiphany-layout-ir/DECISIONS.md b/crates/epiphany-layout-ir/DECISIONS.md index 13484d9..9ff3824 100644 --- a/crates/epiphany-layout-ir/DECISIONS.md +++ b/crates/epiphany-layout-ir/DECISIONS.md @@ -680,3 +680,21 @@ strokes and curves. page-margin annotation, names a non-`Staff` band and is owned by no staff. A cross-staff slur is not drawn at this tier (`staff.is_some()` guards the curve; it engraves to an anchor stroke), so a drawn curve always names a staff band. + +## Parked: the ConstrainedLayoutIR listing is still abridged (2026-07-09) + +Chapter 7's `ConstrainedLayoutIR` listing gained `strokes` / `curves` when +`req:layoutir:primitive-band-ownership` landed (that requirement depends on +them). Two fields the code carries are still absent from the listing: + +- `break_origins: Vec` — semantics ratified by + `req:layoutir:break-origin-attribution`; the struct listing omits the field and + `BreakOrigin`'s own shape appears nowhere in core_spec. +- `catalog: GlyphCatalogIdentity` — the *type* is specified (Ch7 §Glyph Catalog + Identity, and a conformance claim MUST declare it), but the listing omits it. + +Neither blocks an implementation the way a missing `strokes`/`curves` did: both +are governed by requirement text elsewhere, so a conformant implementer is not +left guessing. **Parked, not open.** The Pass-13 batch is closed and the house +rule opens a pass at ≥3 candidates; this is one. It joins a future batch rather +than reopening one on its own. diff --git a/spec/PASS12_RATIFICATION_LOG.md b/spec/PASS12_RATIFICATION_LOG.md index 0366be0..4c9acbb 100644 --- a/spec/PASS12_RATIFICATION_LOG.md +++ b/spec/PASS12_RATIFICATION_LOG.md @@ -266,10 +266,12 @@ listing still elides two fields the code carries: `break_origins: Vec