Skip to content

Commit 06ddeea

Browse files
docs: record legato chord context census
1 parent de50c1d commit 06ddeea

1 file changed

Lines changed: 152 additions & 0 deletions

File tree

‎docs/audit/2026-09-legato-chord-context.md‎

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,155 @@ This is a Lab-only exact oracle. It changes no production path, importer,
9393
representation, boundary state, learned tie-break, or corpus. The eight
9494
kept-line relations remain outside this experiment.
9595

96+
## Corpus result
97+
98+
The registered runner was executed over the unchanged 410-file corpus
99+
(fingerprint `9e53e55a19cddf29`; 3 import failures, 1,149 guitar tracks).
100+
Generated manifests remain under the disposable `--out` directory.
101+
102+
### B0 reproduction
103+
104+
The runner refuses to emit a context summary unless every frozen #209 census
105+
value matches. The rerun passed:
106+
107+
```text
108+
cases 38
109+
legal target-string conditions 176
110+
feasible conditions 174
111+
B0 rank 1 / 2 / 3 11 / 24 / 3
112+
free / costly / infeasible 11 / 27 / 0
113+
```
114+
115+
All 38 cases have a preceding fretting-hand anchor under the preregistered
116+
tap-aware extraction. No missing context was replaced by zero.
117+
118+
### Observed-string ranks
119+
120+
| view | rank distribution | rank 1 | improved / same / worse | median rank delta |
121+
|---|---|---:|---:|---:|
122+
| B0 | 11 / 24 / 3 at ranks 1 / 2 / 3 | 11 | — | — |
123+
| O | 36 at rank 1; 2 at rank 3 | 36 | 26 / 11 / 1 | +1 |
124+
| A | 30 / 3 / 3 / 2 at ranks 1 / 2 / 3 / 4 | 30 | 22 / 13 / 3 | +1 |
125+
| O→A | 36 at rank 1; 1 at rank 3; 1 at rank 4 | 36 | 26 / 11 / 1 | +1 |
126+
| A→O | 30 / 3 / 2 / 3 at ranks 1 / 2 / 3 / 4 | 30 | 22 / 13 / 3 | +1 |
127+
128+
The symmetric lexicographic views do not require a fitted coefficient. O→A
129+
has the same aggregate rank-1 and change counts as O; A→O has the same counts
130+
as A, although individual lower-rank cases can move within those totals.
131+
132+
Every observed target string has at least one globally nondominated assignment
133+
on `(B0, O, A)`: 38/38 Pareto members. This is supportive but weakly
134+
discriminating—trade-offs allow many conditions onto a frontier—so the dense
135+
rank and song-blocked results carry the interpretation.
136+
137+
### The 27 previously costly cases
138+
139+
| view | rank 1 | improved / same / worse |
140+
|---|---:|---:|
141+
| O | 26 / 27 | 26 / 1 / 0 |
142+
| A | 21 / 27 | 22 / 4 / 1 |
143+
| O→A | 26 / 27 | 26 / 1 / 0 |
144+
| A→O | 21 / 27 | 22 / 4 / 1 |
145+
146+
This is the population on which preceding context had to do work rather than
147+
merely retain a B0 winner. Both registered primitive views show a signal.
148+
149+
### Song distribution
150+
151+
The table reports `B0 rank-1 → O rank-1 / A rank-1` and, in parentheses,
152+
`improved / worsened` for O and A.
153+
154+
| song key | cases | result |
155+
|---|---:|---|
156+
| A Lot Like Birds — Connector | 5 | `5 → 5 / 5` (`0/0`, `0/0`) |
157+
| Dance Gavin Dance — Betrayed by the Game | 6 | `0 → 6 / 6` (`6/0`, `6/0`) |
158+
| Dance Gavin Dance — Blood Wolf | 2 | `0 → 2 / 2` (`2/0`, `2/0`) |
159+
| Dance Gavin Dance — Blue Dream | 1 | `1 → 0 / 0` (`0/1`, `0/1`) |
160+
| Dance Gavin Dance — Cream of the Crop | 12 | `0 → 12 / 12` (`12/0`, `12/0`) |
161+
| Dance Gavin Dance — Frozen One | 2 | `0 → 2 / 0` (`2/0`, `1/0`) |
162+
| Dance Gavin Dance — Its Safe To Say You Dig The Backseat | 1 | `0 → 0 / 0` (`0/0`, `0/0`) |
163+
| Dance Gavin Dance — Polka Dot Dobbins | 4 | `4 → 4 / 4` (`0/0`, `0/0`) |
164+
| Underoath — Reinventing Your Exit | 1 | `0 → 1 / 0` (`1/0`, `0/0`) |
165+
| Wolf & Bear — Street Rat | 2 | `0 → 2 / 1` (`2/0`, `1/0`) |
166+
| Wolf & Bear — There's No Dust in the City | 2 | `1 → 2 / 0` (`1/0`, `0/2`) |
167+
168+
O improves cases in seven song keys and A in five, so the result is not
169+
confined to one repeated phrase family. Concentration remains material:
170+
`Cream of the Crop` contributes 12/26 O improvements and 12/22 A improvements.
171+
It does not create the sign by itself.
172+
173+
### Eleven-way leave-one-song-out
174+
175+
All 44 registered fold/view records are emitted. Their ranges are:
176+
177+
| view | rank-1 gain, min … max | min `(improved − worsened)` | fold medians |
178+
|---|---:|---:|---|
179+
| O | +13 … +26 | +13 | +1 in every fold |
180+
| O→A | +13 … +26 | +13 | +1 in every fold |
181+
| A | +7 … +20 | +7 | 0 or +1 |
182+
| A→O | +7 … +20 | +7 | 0 or +1 |
183+
184+
In particular, omitting the largest song leaves rank-1 gains of +13 for O and
185+
+7 for A. No omission reverses either rank-1 gain or the change-count sign.
186+
187+
### Imported realization
188+
189+
The imported target fret has zero O excess in 38/38 cases. This is mechanical,
190+
not independent validation: within a fixed target string and tuning, the
191+
target pitch fixes its fret, and the import supplies both the label and the
192+
realization. Anchor excess is zero in 27/38 cases (median and p90 zero, maximum
193+
22). The full imported assignment is globally Pareto-nondominated in 18/38
194+
cases. Human measurements remain descriptive and were not used by any solve.
195+
196+
## Registered forensic cases
197+
198+
| case | B0 delta/rank | O | A | O→A | A→O | observed Pareto |
199+
|---|---:|---:|---:|---:|---:|---|
200+
| `Its Safe To Say…`, tick 142080 | 19 / 3 | 3 | 3 | 3 | 3 | yes |
201+
| `Frozen One`, tick 288000 | 11 / 3 | 1 | 3 | 1 | 3 | yes |
202+
| `Frozen One`, tick 391680 | 10 / 3 | 1 | 2 | 1 | 2 | yes |
203+
| `Blood Wolf`, tick 15480 | 14 / 2 | 1 | 1 | 1 | 1 | yes |
204+
| `Blood Wolf`, tick 134520 | 14 / 2 | 1 | 1 | 1 | 1 | yes |
205+
| `Street Rat`, tick 286080 | 5 / 2 | 1 | 1 | 1 | 1 | yes |
206+
| `Street Rat`, tick 298080 | 5 / 2 | 1 | 2 | 1 | 2 | yes |
207+
208+
The maximum-delta `Its Safe To Say…` case is a useful falsifier: neither
209+
registered context primitive improves it. The two `Frozen One` cases separate
210+
the primitives cleanly—origin proximity explains both, anchor proximity does
211+
not fully do so. Both repeated `Blood Wolf` cases improve under both views. The
212+
two assignment-infeasible *alternative strings* in the first `Street Rat`
213+
chord remain present in the complete control map; the observed condition is
214+
feasible and context-favoured.
215+
216+
## Verdict against the preregistered rule
217+
218+
The result qualifies as **corpus-level candidate evidence** that #209 was
219+
context-starved:
220+
221+
1. O improves 26 and worsens 1; A improves 22 and worsens 3.
222+
2. Removing the largest song leaves positive rank-1 gains and positive net
223+
change counts.
224+
3. Every one of the eleven leave-one-song-out folds retains a positive sign.
225+
4. Improvements occur across seven song keys for O and five for A, rather than
226+
one repeated phrase family.
227+
228+
The stronger statement is supplied by A: it sees only the previously available
229+
fretting-hand anchor and the chord assignment, not the observed string label,
230+
yet moves rank 1 from 11/38 to 30/38. O is even stronger at 36/38, as expected
231+
for a metric that tests whether the imported same-string relation corresponds
232+
to a small physical fret continuation. Neither uses a reward for string
233+
equality, and no weights were fitted.
234+
235+
This does **not** select a production architecture or scalar objective. O is
236+
not independent of the relation's imported provenance, the sample remains only
237+
11 song keys, Pareto membership is insufficiently selective, and A still
238+
worsens three cases. The next falsifiable step, if pursued, should be a new
239+
preregistered chord-aware representation experiment that preserves these
240+
primitive dimensions without combining them into fitted weights. The eight
241+
kept-line targets and boundary-state replay remain separate.
242+
243+
## Invariance
244+
245+
The final corpus rerun retains 29,758 within-line and 46 resolved cross-line
246+
relations. `v1-fit` Stage 2 remains B/C1/D1 = `0.9 / 13.3 / 16.8%`, with gaps
247+
`19.1 / 7.6 / 4.2` percentage points. No production or Stage 2 behavior changed.

0 commit comments

Comments
 (0)