From 9d28dd6615847a9b4880635502deea23b2786766 Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Sun, 5 Jul 2026 13:57:10 -0400 Subject: [PATCH] Clear P12-I12: scope spacing_distortion to rhythmic columns (QMC 0.2.0) The Standard-tier spacing floor warned on short healthy scores: three reference-suite entries measured spacing_distortion 0.36-0.41, above the 0.32 warning floor (0.8 x 0.40), a spurious diagnostic (every score still passed Minimal). Root cause: the CV folded in the clef-to-first-note lead advance, which is sized by notational-furniture width, not by rhythm. Unlike P12-I11 (an engrave-side fix, no spec change), the defect here lived in the metric's own normative definition, so the honest fix is a catalog change - the mirror of I11: correct the measurement rather than relax the threshold. Quality Metric Catalog 0.1.0 -> 0.2.0: spacing_distortion is scoped to the system's rhythmic columns (spring slots bearing a notehead or rest). The clef / key-signature / time-signature lead and barlines contribute no column, so a note-to-note advance spans them. quality::census now builds its spacing columns only from a precomputed rhythmic-slot set (is_rhythmic: a notehead*/rest* glyph anywhere in the slot); the CV and the >= 3-column contributing-unit rule are otherwise unchanged. Results: RS-3/5/6 drop to 0.2188 / 0.0819 / 0.0856 (all below the floor), and the axis stays honest on real irregularity (RS-3 keeps 0.2188 from a mid-line accidental). RS-2/RS-4 go vacuous-0.0 (their systems carry < 3 rhythmic columns - honestly "too little to measure," cleaner than the old furniture noise). RS-1 0.1341 -> 0.1967 (cross-barline note advances). The 1.0 anchor, orientation, range, tier thresholds, and the eight other axes are unchanged. This is measurement-only: the resolved layout, canonical bytes, render goldens, and ENGRAVER_VERSION are all untouched - only the reported spacing_distortion value moves. The duration-aware optical-spacing open question (deviation from duration-proportional spacing) stays open; it needs the pipeline's deferred duration-aware preferred widths. - catalog: spacing_distortion requirement (req:qmc:spacing) redefined over rhythmic columns, rationale + open-question note updated, version 0.2.0, revision-history row; PDF rebuilt clean (0 undefined refs). - engrave: quality::census rhythmic-column filter + is_rhythmic; module and spacing_raw docs; the floor-column contrast test re-pointed from b-flat's spacing (no longer warns) to RS-1's casting-off (still between the Standard 0.28 and Minimal 0.72 floors); new short_scores_do_not_trip_the_standard_ spacing_floor locks the fix. - QMC version breadcrumbs bumped to 0.2.0 (engrave + layout-ir quality.rs, both DECISIONS.md, testkit RS-1 comment); reference suite companion unchanged (cites the catalog by name, no pinned values). - process trail: PASS12_BATCH I12 struck; PASS12_RATIFICATION_LOG I12 section (Version movements: QMC 0.1.0 -> 0.2.0); engrave DECISIONS quality decision 8 + item 7 + candidate. 861 workspace tests pass; clippy -D warnings, fmt --check, rustdoc -D warnings, and the catalog PDF build all clean. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01NEs4aYiu8MXjdYdMxw8PTd --- crates/epiphany-engrave/DECISIONS.md | 54 ++++++--- crates/epiphany-engrave/src/quality.rs | 113 +++++++++++++----- crates/epiphany-layout-ir/DECISIONS.md | 2 +- crates/epiphany-layout-ir/src/quality.rs | 9 +- .../epiphany-testkit/src/reference_suite.rs | 2 +- spec/PASS12_BATCH.md | 12 +- spec/PASS12_RATIFICATION_LOG.md | 14 +++ spec/quality_metric_catalog.pdf | Bin 138999 -> 141950 bytes spec/quality_metric_catalog.tex | 82 +++++++++---- 9 files changed, 211 insertions(+), 77 deletions(-) diff --git a/crates/epiphany-engrave/DECISIONS.md b/crates/epiphany-engrave/DECISIONS.md index d163a05..5e805eb 100644 --- a/crates/epiphany-engrave/DECISIONS.md +++ b/crates/epiphany-engrave/DECISIONS.md @@ -259,7 +259,7 @@ resolved: ## Quality metrics (2026-07) — decisions -The Quality Metric Catalog companion (v0.1.0) ratified the nine normative +The Quality Metric Catalog companion (v0.2.0) ratified the nine normative axes' formal definitions, anchors, thresholds, and the `QualityFloorApproached` trigger; `Engraver::resolve` now computes the real vector (the private `quality` module), replacing the all-worst placeholder. @@ -336,11 +336,34 @@ testkit's reference-suite harness. documented xfail row in the testkit harness, P12-I11); the **v3** widow-rebalance phase (casting-off decision 9) evens the split to `casting_off` = 0.4463, clearing the miss with no catalog change, and the - xfail row is promoted to a plain Pass. One finding the catalog's - threshold-tuning open question anticipated remains (a Pass-12/QMC candidate - below, P12-I12): `spacing_distortion` on 3–8-column entries (0.36–0.41) sits - above the Standard column's 0.32 warning floor, so short scores warn under - the default Standard profile — a *diagnostic* floor, not a Minimal failure. + xfail row is promoted to a plain Pass. The second finding (P12-I12): three + short entries measured `spacing_distortion` 0.36–0.41, above the Standard + 0.32 warning floor — a spurious *diagnostic* (never a Minimal failure). It + was resolved by a catalog refinement (QMC 0.1.0 → 0.2.0), see quality + decision 8: `spacing_distortion` is scoped to rhythmic (note/rest) columns, + dropping the three to 0.2188 / 0.0819 / 0.0856 — below the floor, no code + layout change. +8. **Rhythmic-column spacing (`spacing_distortion` scoped) — the honest P12-I12 + fix.** The measured false positive was that a short healthy line's wide + clef-to-first-note lead advance (furniture width, not note spacing) inflated + the per-system advance CV above the Standard warning floor. The catalog + (QMC 0.2.0) scopes the axis to **rhythmic columns** — spring slots bearing a + notehead or rest — excluding the clef/key/time lead and treating barlines + transparently (a note-to-note advance spans them). `quality::census` now + builds `columns` only from slots in the precomputed rhythmic set + (`is_rhythmic`: a `notehead*`/`rest*` glyph anywhere in the slot); the CV and + contributing-unit rule (≥ 3 rhythmic columns) are otherwise unchanged. This + is the mirror of the I11 resolution — measure the right thing rather than + relax the threshold — but here the defect lived in the normative metric + definition, so it *is* a catalog change (unlike I11). Measurement-only: the + resolved layout, canonical bytes, render goldens, and `ENGRAVER_VERSION` are + untouched; only the reported `spacing_distortion` value changes (RS-3/5/6 + drop below the floor, RS-2/RS-4 go vacuous-0.0 as their systems carry < 3 + rhythmic columns — honestly "too little to measure"). The floor-column + regression test was re-pointed from b-flat's spacing (which no longer warns) + to RS-1's casting-off (which still sits between the Standard and Minimal + floors); a new `short_scores_do_not_trip_the_standard_spacing_floor` locks + the fix. The duration-aware optical-spacing open question stays open. ### Pass 12 candidates (quality metrics) @@ -354,11 +377,14 @@ testkit's reference-suite harness. an RS-1 override) was deliberately **not** taken: the `0.5` anchor and the `0.90` Minimal column stood. `ENGRAVER_VERSION` 2 → 3; `ten_measure` render goldens regenerated. -- **P12 (proposed) — QMC: the Standard spacing floor warns on short scores.** - With uniform preferred widths, few-column systems (3–8 columns with a wide - clef/key lead) measure spacing CV 0.36–0.41 — above the Standard column's - 0.8 × 0.40 = 0.32 warning floor, so the default profile emits - `QualityFloorApproached(Spacing)` on tiny, healthy scores. Consider either - a duration/lead-aware refinement of the axis (the catalog's optical-spacing - open question) or excluding the lead column from the advance sequence in a - QMC minor revision. +- **P12-I12 — RESOLVED (QMC 0.2.0, rhythmic-column spacing).** With uniform + preferred widths, few-column systems (3–8 columns with a wide clef/key lead) + measured spacing CV 0.36–0.41 — above the Standard column's 0.8 × 0.40 = 0.32 + warning floor, so the default profile emitted `QualityFloorApproached(Spacing)` + on tiny, healthy scores. Resolved the **lead-aware way**: the catalog scopes + `spacing_distortion` to rhythmic (note/rest) columns, excluding the + clef/key/time furniture lead and treating barlines transparently (quality + decision 8). The three entries drop to 0.2188 / 0.0819 / 0.0856 (below the + floor). The alternative — a duration-proportional (optical) redefinition — + needs the pipeline's deferred duration-aware preferred widths and stays the + catalog's open question. diff --git a/crates/epiphany-engrave/src/quality.rs b/crates/epiphany-engrave/src/quality.rs index c338a2e..184ed8f 100644 --- a/crates/epiphany-engrave/src/quality.rs +++ b/crates/epiphany-engrave/src/quality.rs @@ -1,5 +1,5 @@ //! **Real quality-metric computation** — the nine normative axes of the -//! *Quality Metric Catalog* companion (v0.1.0, Chapter 3), measured over what +//! *Quality Metric Catalog* companion (v0.2.0, Chapter 3), measured over what //! the pipeline already produced: the resolved world-frame geometry //! ([`CastLayout`]), the constrained input (slot identity, vertical bands), and //! the declared page geometry. Normalization anchors, threshold tables, and the @@ -20,9 +20,12 @@ //! excluding same-slot pairs (slot identity = the glyph's //! `horizontal_slot` in the constrained input; the resolved glyph list is //! index-parallel to it) and strokes (not glyphs, never swept). -//! * **`spacing_distortion`** — per-system column advances: the distinct -//! resolved x of each glyph-bearing slot realized in the system (its first -//! member's baseline — the spacing pass's own column reference). +//! * **`spacing_distortion`** — per-system advances between **rhythmic** +//! columns: the distinct resolved x of each note/rest-bearing slot realized +//! in the system (its first member's baseline — the spacing pass's own column +//! reference). The clef/key/time lead and barlines bear no notehead or rest, +//! so they contribute no column and a note-to-note advance spans them +//! (catalog §`spacing_distortion` — measuring rhythmic spacing, not furniture). //! * **`slur_shape_penalty` / `beam_slope_penalty`** — **vacuous 0.0**: the //! pipeline draws no slur or beam geometry (slurs/beams exist logically, //! not as curves/segments), so the contributing-unit sets are empty. The @@ -108,14 +111,33 @@ struct SystemCensus { members: Vec>, /// Glyph-ink span `w_s` per system (0 for a glyph-less system). width: Vec, - /// Column reference x per realized slot per system, ascending and distinct. + /// Reference x of each **rhythmic** column (a slot bearing a notehead or + /// rest) per system, ascending and distinct — the spacing axis's domain + /// (catalog §`spacing_distortion`: the clef/key/time lead and barlines are + /// furniture, not rhythmic columns). columns: Vec>, } +/// Whether a glyph is a notehead or a rest — the mark that makes its slot a +/// **rhythmic column** (catalog §`spacing_distortion`). +fn is_rhythmic(name: &str) -> bool { + name.starts_with("notehead") || name.starts_with("rest") +} + fn census(input: &ConstrainedLayoutIR, cast: &CastLayout) -> SystemCensus { let count = cast.region_of_system.len(); let mut members: Vec> = vec![Vec::new(); count]; let mut spans: Vec> = vec![None; count]; + // Rhythmic slots: those bearing a notehead or rest. Precomputed because a + // slot's rhythmic status depends on *all* its members (a note's accidental + // may precede its notehead in input order), and only rhythmic slots become + // spacing columns (catalog §`spacing_distortion`, "rhythmic column"). + let rhythmic: BTreeSet = input + .glyphs + .iter() + .filter(|glyph| is_rhythmic(glyph.glyph.as_str())) + .map(|glyph| glyph.horizontal_slot) + .collect(); // Column reference: the slot's first member (input order) — the same // convention the spacing and casting passes use for a slot's reference x. let mut columns: Vec> = vec![BTreeMap::new(); count]; @@ -131,9 +153,13 @@ fn census(input: &ConstrainedLayoutIR, cast: &CastLayout) -> SystemCensus { Some((lo, hi)) => (lo.min(left), hi.max(right)), None => (left, right), }); - columns[system] - .entry(glyph.horizontal_slot) - .or_insert_with(|| f64::from(cast.glyphs[index].position.x.0)); + // Only rhythmic columns carry spacing advances; a note-to-note advance + // spans any intervening barline or furniture (which contribute no column). + if rhythmic.contains(&glyph.horizontal_slot) { + columns[system] + .entry(glyph.horizontal_slot) + .or_insert_with(|| f64::from(cast.glyphs[index].position.x.0)); + } } let width = spans .iter() @@ -196,7 +222,8 @@ fn collision_raw(input: &ConstrainedLayoutIR, cast: &CastLayout, census: &System } /// `spacing_distortion` (catalog §`spacing_distortion`): mean per-system CV of -/// column advances, over systems realizing at least three columns. +/// **rhythmic** column advances, over systems realizing at least three rhythmic +/// columns (note/rest-bearing slots — see [`census`]). fn spacing_raw(census: &SystemCensus) -> f64 { let mut per_system = Vec::new(); for columns in &census.columns { @@ -586,18 +613,17 @@ mod tests { #[test] fn floor_warnings_reference_the_profiles_threshold_column() { - // The b-flat scale's spacing distortion (~0.41: eight columns whose - // flat-bearing columns advance wider) sits between the Standard - // column's floor (0.8 x 0.40 = 0.32) and the Minimal column's - // (0.8 x 0.90 = 0.72) — so the default Standard profile warns about - // Spacing and the Draft profile (which selects the Minimal column per - // the catalog's profile registry) does not. - let score = epiphany_testkit::corpus::corpus() - .into_iter() - .find(|fixture| fixture.name == "b_flat_major_scale") - .expect("corpus entry exists"); - let input = to_constrained(&to_logical(&(score.build)())); - let spacing_warned = |profile: SolverProfile| { + // The ten-measure fixture's casting-off distortion (~0.45: the + // six/four widow-rebalanced split) sits between the Standard column's + // floor (0.8 x 0.35 = 0.28) and the Minimal column's (0.8 x 0.90 = + // 0.72) — so the default Standard profile warns about CastingOff and + // the Draft profile (which selects the Minimal column per the catalog's + // profile registry) does not. (This is the profile-column contrast the + // b-flat scale's spacing used to show, before spacing_distortion was + // scoped to rhythmic columns and short scores stopped warning; the + // casting-off axis carries the demonstration now.) + let input = ten_measure(); + let castoff_warned = |profile: SolverProfile| { let config = SolverConfig { profile, ..SolverConfig::default() @@ -610,22 +636,55 @@ mod tests { matches!( w.kind, SolverWarningKind::QualityFloorApproached { - metric: QualityMetricKind::Spacing + metric: QualityMetricKind::CastingOff } ) }) }; - assert!(spacing_warned(SolverProfile::Standard)); - assert!(spacing_warned(SolverProfile::Publication)); - assert!(!spacing_warned(SolverProfile::Draft)); + assert!(castoff_warned(SolverProfile::Standard)); + assert!(castoff_warned(SolverProfile::Publication)); + assert!(!castoff_warned(SolverProfile::Draft)); // The metric itself is profile-independent — only the diagnostic // column changes. let value = Engraver::default() .solve(&input, &SolverConfig::default()) .metric_vector - .spacing_distortion + .casting_off_quality .0; - assert!((0.32..=0.72).contains(&value), "spacing = {value}"); + assert!((0.28..=0.72).contains(&value), "casting_off = {value}"); + } + + #[test] + fn short_scores_do_not_trip_the_standard_spacing_floor() { + // P12-I12 regression. Before `spacing_distortion` was scoped to rhythmic + // columns, a short healthy line's wide clef-to-first-note lead advance + // inflated the CV above the Standard warning floor (0.8 x 0.40 = 0.32), + // so these three-to-eight-column corpus entries spuriously warned + // (measured 0.36-0.41). Scoped to note/rest columns — the clef/key/time + // lead bears no notehead, so it contributes no column — none does. + let floor = 0.8 * 0.40; + for name in ["b_flat_major_scale", "notes_and_rests", "meter_three_four"] { + let score = epiphany_testkit::corpus::corpus() + .into_iter() + .find(|fixture| fixture.name == name) + .expect("corpus entry exists"); + let input = to_constrained(&to_logical(&(score.build)())); + let report = Engraver::default().solve(&input, &SolverConfig::default()); + assert!( + report.metric_vector.spacing_distortion.0 < floor, + "{name}: spacing {} still above the Standard floor {floor}", + report.metric_vector.spacing_distortion.0 + ); + assert!( + !report.warnings.iter().any(|w| matches!( + w.kind, + SolverWarningKind::QualityFloorApproached { + metric: QualityMetricKind::Spacing + } + )), + "{name}: spurious spacing floor warning under the default Standard profile" + ); + } } #[test] diff --git a/crates/epiphany-layout-ir/DECISIONS.md b/crates/epiphany-layout-ir/DECISIONS.md index eafa42c..cc925be 100644 --- a/crates/epiphany-layout-ir/DECISIONS.md +++ b/crates/epiphany-layout-ir/DECISIONS.md @@ -425,7 +425,7 @@ object is covered); the provenance-preservation contract itself is unchanged. ## Quality Metric Catalog constants (`src/quality.rs`, 2026-07) **Decision: the catalog's normative constants live in this crate, as a pure -transcription.** The Quality Metric Catalog companion (v0.1.0) pins the nine +transcription.** The Quality Metric Catalog companion (v0.2.0) pins the nine axes' normalization anchors (`R_worst`), the clamped-linear normalization form `n = min(1, raw / R_worst)`, the Minimal/Standard threshold table, the `QualityFloorApproached` warning fraction (0.8), and the tier/profile → diff --git a/crates/epiphany-layout-ir/src/quality.rs b/crates/epiphany-layout-ir/src/quality.rs index 2d5c5c3..e32b9fe 100644 --- a/crates/epiphany-layout-ir/src/quality.rs +++ b/crates/epiphany-layout-ir/src/quality.rs @@ -1,7 +1,10 @@ //! The Quality Metric Catalog's normative constants (companion specification -//! *Epiphany — Quality Metric Catalog*, v0.1.0): the per-axis normalization +//! *Epiphany — Quality Metric Catalog*, v0.2.0): the per-axis normalization //! anchors, the per-tier metric threshold table, the profile→threshold-column -//! mapping, and the `QualityFloorApproached` warning fraction. +//! mapping, and the `QualityFloorApproached` warning fraction. (The v0.2.0 +//! `spacing_distortion` refinement scoped that axis's *measurement domain* to +//! rhythmic columns; it touched no anchor or threshold, so this transcription +//! of the numeric constants is unchanged.) //! //! This module is a **transcription**, not an invention: every number here is //! pinned by the catalog and cited to its chapter. Solvers that compute real @@ -202,7 +205,7 @@ pub fn tier_thresholds(tier: SolverTier) -> Option<&'static MetricThresholds> { /// The threshold column a **registered profile** selects (catalog Chapter 6, /// `req:qmc:profiles`): `Draft` → the Minimal column (few warnings, fast /// iteration); `Standard` and `Publication` → the Standard column (no column -/// tighter than Standard is ratified in v0.1). This is the column the solver's +/// tighter than Standard is ratified as of v0.2). This is the column the solver's /// own `QualityFloorApproached` diagnostics reference during ordinary solves; /// suite evaluation at a claimed tier always uses that *tier's* column /// ([`tier_thresholds`]). diff --git a/crates/epiphany-testkit/src/reference_suite.rs b/crates/epiphany-testkit/src/reference_suite.rs index dc93052..93fb6e4 100644 --- a/crates/epiphany-testkit/src/reference_suite.rs +++ b/crates/epiphany-testkit/src/reference_suite.rs @@ -122,7 +122,7 @@ pub fn entries() -> Vec { construction: "fixtures::ten_measure_single_staff(0x000A_11CE)", build: rs1, // Passes every Minimal threshold under the reference engraver - // (engrave v3, QMC v0.1.0 anchors). Greedy first-fit alone left a + // (engrave v3, QMC v0.2.0 anchors). Greedy first-fit alone left a // two-measure stub last system (width CV 0.61 -> clamped 1.0 > the // 0.90 threshold, the original P12-I11 miss); casting-off's // widow-rebalance phase now evens the split to a six/four diff --git a/spec/PASS12_BATCH.md b/spec/PASS12_BATCH.md index 0209685..436c924 100644 --- a/spec/PASS12_BATCH.md +++ b/spec/PASS12_BATCH.md @@ -67,7 +67,7 @@ code instead is the failure mode this batch exists to prevent. | P12-I9 | `epiphany-layout-ir` I | Honouring a user break must attribute the decision to its override (`DecisionSource::UserOverride(id)`), but constraints carry no override identity; implemented via a `ConstrainedLayoutIR.break_origins` sidecar populated by `to_constrained`. Bless the sidecar or widen the normalized constraint record. | G / Pass 12 (solver) | | P12-I10 | `epiphany-layout-ir` I | System-spanning strokes split at system boundaries need synthesized provenance for continuation segments; implemented as `SynthesisKind::Registered(SYSTEM_CONTINUATION_SYNTHESIS)` with a deterministic `(original, ordinal)` instance key. Add a first-class continuation synthesis kind or bless the registered id. | G / Pass 12 (provenance) | | ~~P12-I11~~ **RESOLVED (engrave v3 widow-rebalance)** | `epiphany-engrave` I | RS-1 honestly failed the Minimal casting-off threshold under the reference engraver (measured 1.0 vs 0.90): greedy first-fit left a two-measure stub last system (width CV 0.6145 ≥ the 0.5 anchor). **Resolved the honest way — an engrave-side casting-off balance pass, no catalog change:** casting-off gained a second **widow-rebalance** phase that moves whole trailing measures from a region's penultimate system into its final one, choosing the shift that minimizes the larger of the two distribution penalties the catalog defines for the break family (width imbalance vs non-final underfill; both share the 0.5 anchor). RS-1 now casts six/four instead of eight/two: casting_off 1.0 → **0.4463**, system_break 0.254 → 0.677, every axis ≤ 0.90. `ENGRAVER_VERSION` 2 → 3; render goldens regenerated; the suite's Xfail row promoted to a plain Pass. The `casting_off` 0.5 anchor and the Minimal column stood — the engraver improved, not the threshold — so the Quality Metric Catalog is normatively unchanged. | ✅ done | -| P12-I12 | `epiphany-engrave` I | The Standard-tier spacing floor warns on short healthy scores: 3–8-column entries with a wide clef/key lead measure spacing CV 0.36–0.41 > the 0.32 Standard floor. Consider a lead-aware or duration-aware refinement of the spacing_distortion raw measurement (the catalog's optical-spacing open question). | G / Pass 12 (quality) | +| ~~P12-I12~~ **RESOLVED (QMC 0.2.0: rhythmic-column spacing)** | `epiphany-engrave` I | The Standard-tier spacing floor warned on short healthy scores: 3–8-column entries with a wide clef/key lead measured spacing CV 0.36–0.41 > the 0.32 Standard floor (a spurious *diagnostic* — the scores all passed Minimal). **Resolved by the lead-aware refinement (Quality Metric Catalog 0.1.0 → 0.2.0):** `spacing_distortion` is now scoped to the system's **rhythmic columns** (slots bearing a notehead or rest), excluding the clef / key-signature / time-signature lead and treating barlines transparently (a note-to-note advance spans them) — so the furniture-width lead gap no longer inflates the CV. The three entries drop to 0.2188 / 0.0819 / 0.0856 (all below the 0.32 floor), and the axis stays honest on real irregularity (RS-3 keeps 0.2188 from a mid-line accidental). Anchor, orientation, range, thresholds, and the eight other axes unchanged; no layout/golden change (measurement-only, `ENGRAVER_VERSION` untouched). The **duration-aware optical-spacing** open question (deviation from duration-proportional spacing) stays open — it needs the pipeline's deferred duration-proportional preferred widths. | ✅ done | ## Not yet open elsewhere @@ -80,10 +80,12 @@ work added C1..C4 (re-anchoring), D1 (bundle operation index), and E1..E5 value-restoring undo, 2026-07-02) added C5, K8..K11, and I7..I10. The second tranche (Quality Metric Catalog 0.1.0 + Reference Suite 0.1.0 + real engraver metrics + the suite harness + the multi-system click fix, -2026-07-03) added I11..I12. A follow-up (2026-07-03) resolved I11 (struck -through above): casting-off gained a widow-rebalance phase (engrave v3), so -RS-1 passes every Minimal threshold with no catalog change — I12 (the -Standard-tier spacing floor on short scores) stays open. +2026-07-03) added I11..I12. Follow-ups (2026-07-03) resolved both (struck +through above): I11 by an engrave-side casting-off widow-rebalance phase +(engrave v3, no catalog change), and I12 by scoping `spacing_distortion` to +rhythmic columns (Quality Metric Catalog 0.1.0 → 0.2.0). The only remaining +spacing follow-up is the catalog's duration-aware optical-spacing open +question, which lives in the companion, not as a batch row. Agent J's Binary Format companion now exists (`spec/binary_format.tex`, v0.1.0): it ratified the P12-D1/E1/E2/E3 inputs (struck through above) and discharged the crates' provisional-codec notes diff --git a/spec/PASS12_RATIFICATION_LOG.md b/spec/PASS12_RATIFICATION_LOG.md index 87d09a2..b760acc 100644 --- a/spec/PASS12_RATIFICATION_LOG.md +++ b/spec/PASS12_RATIFICATION_LOG.md @@ -60,3 +60,17 @@ record that the Quality Metric Catalog and the core spec were **not** changed. | Item | Disposition | Spec locus | Consumer | |---|---|---|---| | P12-I11 casting-off stub last system | **no spec change (engrave fix)** — casting-off gained a second **widow-rebalance** phase (`epiphany-engrave` v3): it moves whole trailing measures from a region's penultimate system into its final one, choosing the shift that minimizes the larger of the two distribution penalties the catalog already defines for the break family (`casting_off_quality` width imbalance vs `system_break_penalty` non-final underfill; both share the 0.5 anchor). RS-1 casts six/four instead of eight/two — `casting_off` 1.0 → 0.4463, every axis ≤ 0.90 — so the suite's asserted Xfail row is promoted to a plain Pass. This is the deliberately-chosen *honest* resolution: the `casting_off` 0.5 anchor and the Minimal 0.90 column were **vindicated, not relaxed** (the engraver improved, no anchor rescale / threshold loosening / RS-1 per-entry override). Core spec Chapter 9's "Minimal makes no optimality claim" already permits the heuristic; nothing normative changed | — (no spec locus; core spec + Quality Metric Catalog unchanged) | `epiphany-engrave` (`casting::rebalance_widows`, `ENGRAVER_VERSION` 3); `epiphany-testkit` (RS-1 xfail row removed); render goldens regenerated | + +## P12-I12 resolution (2026-07-03) — Quality Metric Catalog 0.1.0 → 0.2.0 + +Unlike P12-I11, the second measured finding's honest fix is a **catalog +change**: the defect was in the metric's own definition, not the engraver. + +| Item | Disposition | Spec locus | Consumer | +|---|---|---|---| +| P12-I12 spacing floor on short scores | **fixed (metric measurement domain)** — `spacing_distortion`'s raw measurement is scoped to the system's **rhythmic columns** (spring slots bearing a notehead or rest); the clef / key-signature / time-signature lead and barlines contribute no column, so a note-to-note advance spans them. Rationale: the leading clef-to-first-note gap is furniture width, not note spacing, and folding it into the CV flagged perfectly-spaced short lines as distorted purely for carrying a clef. The three warning entries drop from 0.36–0.41 to 0.2188 / 0.0819 / 0.0856 (below the Standard 0.32 floor), and the axis stays live on real irregularity. The `1.0` anchor, orientation, range, tier thresholds, and the eight other axes are **unchanged**; this is measurement-only — no layout, canonical bytes, render golden, or `ENGRAVER_VERSION` change. Catalog **0.1.0 → 0.2.0** (a normative refinement of one axis's measurement domain). The duration-aware optical-spacing open question stays open | quality\_metric\_catalog §`spacing_distortion` (`req:qmc:spacing`); revision-history row 0.2.0 | `epiphany-engrave` (`quality::census` rhythmic-column filter, `is_rhythmic`); `epiphany-testkit` (RS-3/5/6 measured values drop, still Pass) | + +**Version movements.** Quality Metric Catalog 0.1.0 → 0.2.0 +(`spacing_distortion` scoped to rhythmic columns). Core spec unchanged (the +axis's formal definition is delegated to the catalog; Chapter 9 carries only +the field, which is unchanged). diff --git a/spec/quality_metric_catalog.pdf b/spec/quality_metric_catalog.pdf index 2eb9ade20660446921b8a7da12c786dd584e9a54..a709806a61d9372a07d03c56d3384453e6f0ceab 100644 GIT binary patch delta 71444 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 z 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 delta 68546 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�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 diff --git a/spec/quality_metric_catalog.tex b/spec/quality_metric_catalog.tex index 87904bf..6422fd0 100644 --- a/spec/quality_metric_catalog.tex +++ b/spec/quality_metric_catalog.tex @@ -226,7 +226,7 @@ {\Large\scshape\color{epiphanyslate}Quality Metric Catalog}\\[6pt] {\large\itshape\color{epiphanyslate}A companion to the Core Specification}\\[14pt] {\color{epiphanygold}\rule{3in}{0.8pt}}\\[24pt] - {\normalsize\color{epiphanyink}Version 0.1.0 --- Phase 3 (the normative metric set: formal definitions, normalization, weights, tier thresholds, profile registry)}\\[4pt] + {\normalsize\color{epiphanyink}Version 0.2.0 --- Phase 3 (the normative metric set: formal definitions, normalization, weights, tier thresholds, profile registry; \texttt{spacing\_distortion} scoped to rhythmic columns)}\\[4pt] {\small\color{epiphanyslate}Normative for the metrics and thresholds it defines} \vfill \end{titlepage} @@ -246,7 +246,7 @@ deliver ``per-metric normalization functions mapping raw measurements to metric thresholds, and the formal definition of each quality metric in the normative metric set.'' -This release (v0.1.0) delivers all four chartered items, plus two small +This companion (v0.2.0) delivers all four chartered items, plus two small registries the core specification names but defers here: \begin{itemize} @@ -721,44 +721,62 @@ the resolved layout already carries. \section{\texttt{spacing\_distortion}} \label{sec:metrics:spacing} -\textbf{Phenomenon.} Uneven horizontal distribution within a system: -columns bunched together here and stretched apart there, where the -underlying spring model asked for near-uniform advances. +\textbf{Phenomenon.} Uneven horizontal distribution within a system: the +\emph{rhythmic} columns --- those carrying notes and rests --- bunched +together here and stretched apart there, where the underlying spring model +asked for near-uniform advances. \begin{requirement} \label{req:qmc:spacing} -\textbf{Contributing units:} systems $s$ with $m_s \ge 3$ (at least two -advances). +\textbf{Rhythmic columns.} A \emph{rhythmic column} of a system is a +horizontal spring slot at least one of whose glyphs is a notehead or a +rest. The clef, key-signature, and time-signature lead and the barlines are +\textbf{not} rhythmic columns: their horizontal extent is notational +furniture, fixed by their content rather than by rhythm. -\textbf{Raw measurement:} per unit, -$\mathit{raw}_s = \mathrm{CV}(a^s_1, \dots, a^s_{m_s - 1})$; the axis raw -value is the arithmetic mean of $\mathit{raw}_s$ over contributing units. +\textbf{Contributing units:} systems $s$ with at least three rhythmic +columns (so at least two rhythmic advances). + +\textbf{Raw measurement:} let $x^s_1 < \dots < x^s_{k_s}$ be the reference +x-positions of the system's $k_s$ rhythmic columns in order, and +$a^s_i = x^s_{i+1} - x^s_i$ the advance between consecutive rhythmic columns +(a note-to-note advance spans any barline or furniture that falls between +the two, so barlines are transparent, not breaks in the sequence). Then +$\mathit{raw}_s = \mathrm{CV}(a^s_1, \dots, a^s_{k_s - 1})$, and the axis +raw value is the arithmetic mean of $\mathit{raw}_s$ over contributing +units. \textbf{Normalization:} $R_{\mathrm{worst}} = 1.0$; $n = \min(1, \mathit{raw})$. \end{requirement} \begin{rationale} -A coefficient of variation of $1.0$ means the typical column advance -deviates from the mean by the whole mean --- spacing with no discernible -regularity. v0.1 defines \emph{geometric} regularity deliberately: the -reference spring model's preferred widths are uniform, so regular advances -are exactly what its ideal output looks like, and the collision minima -(accidental overhangs, wide columns) that legitimately perturb advances -are modest on realistic scores. +A coefficient of variation of $1.0$ means the typical advance deviates from +the mean by the whole mean --- spacing with no discernible regularity. v0.2 +defines \emph{geometric} regularity over the \emph{rhythmic} columns +deliberately: the reference spring model's preferred widths are uniform, so +regular note/rest advances are exactly what its ideal output looks like, +and the collision minima (accidental overhangs, wide columns) that +legitimately perturb those advances are modest on realistic scores. The +axis is scoped to rhythmic columns because a leading clef, key signature, +or time signature is furniture whose width the spring model does not govern: +folding the wide clef-to-first-note gap into the CV would flag a +perfectly-spaced short line as distorted purely for carrying a clef --- +measuring furniture, not spacing. \end{rationale} \begin{openquestion} \textbf{Optical spacing at the Standard tier.} Mature engraving spaces -columns proportionally to musical duration (with an optical correction), -not uniformly; under a duration-proportional model, this axis's ideal -would be ``advances proportional to the column's duration share,'' and a -perfectly optically-spaced line would score \emph{worse} than a uniform -one under the v0.1 definition. When the layout pipeline gains -duration-aware preferred widths, should the Standard tier redefine +rhythmic columns proportionally to musical duration (with an optical +correction), not uniformly; under a duration-proportional model, this +axis's ideal would be ``advances proportional to the column's duration +share,'' and a perfectly optically-spaced line would score \emph{worse} +than a uniform one under the v0.2 definition. When the layout pipeline +gains duration-aware preferred widths, should the Standard tier redefine $\mathit{raw}_s$ as deviation from the duration-proportional ideal while -Minimal keeps geometric regularity? v0.1 defines geometric regularity -only. +Minimal keeps geometric regularity? v0.2 scopes the geometric definition to +rhythmic columns (removing the leading-furniture false positive on short +scores) but still measures geometric, not duration-proportional, regularity. \end{openquestion} \section{\texttt{slur\_shape\_penalty}} @@ -1249,7 +1267,7 @@ selections: fraction is evaluated during ordinary solves. \texttt{Draft} selects the Minimal column (few warnings, fast iteration); \texttt{Standard} and \texttt{Publication} select the Standard - column. In v0.1 no column tighter than Standard is ratified; + column. As of v0.2 no column tighter than Standard is ratified; \texttt{Publication} is registered now so that documents and configurations can name it, and a future revision \MAY{} give it a tighter column without a schema change. @@ -1302,6 +1320,18 @@ than inventing a parallel one. Open questions: the notated-but-unrendered honesty edge, optical spacing at the Standard tier, threshold tuning pending reference-suite experience. \\ + \today & \hyperref[sec:metrics:spacing]{\texttt{spacing\_distortion}} + & 0.2.0 --- Scope the \texttt{spacing\_distortion} raw measurement to the + system's \emph{rhythmic} columns (slots bearing a notehead or rest), + excluding the clef / key-signature / time-signature lead and treating + barlines transparently (a note-to-note advance spans them). Resolves the + reference-suite false positive in which a short healthy line's wide + clef-to-first-note gap inflated the CV above the Standard warning floor + (measured 0.36--0.41 on the three- to eight-column entries $\to$ + 0.08--0.22, below the floor) without weakening the axis on real spacing + irregularity. Normalization anchor, orientation, range, thresholds, and + the eight other axes are unchanged; the optical-spacing open question + (duration-proportional spacing) stays open. Batch item P12-I12. \\ \bottomrule \end{longtable}