music/pass7/ROUND4_STAGING.md
**STATUS: ROUND 4 CLOSED, re-emitted and re-rendered 2026-08-08 after the SECOND arc pass. STILL
UNPUBLISHED AND UNGRADED.** The one RED this staging document raised against itself — *"ROAD FAILS
THE ARC INSTRUMENT AND HAS ZERO MEASURED HOLDS"* — was diagnosed (§7A), repaired, re-rendered, and
then taken as far as it can be taken: **§7B closes it as a MEASURED PLATEAU, with the boarded
lever tested to its own ceiling and found INERT, and the residue relocated from the composition to
the instrument, by measurement rather than by argument.** No threshold was moved, no instrument was
loosened, and the compose-side doctrine the lever encodes was landed anyway. Read §7A and §7B
before quoting anything in §7, and §8B before quoting §8 or §8A.
UNPUBLISHED. NOT GRADED. NOBODY HAS HEARD THESE CUES — not Josh, not the director, not the lane
that made them. Every number below is either a property of the written score or a measurement off a
rendered file. There is no listening verdict here and none should be read into it.
Round 3 scored 57 of 57 on the score-side targets, 3 of 3 on the arc instrument, and Josh graded
every cue down:
"it sounds just like a bunch of noise and these main melodies really suck. They clash and have no
rythm or complexity. Just a few notes slowly played back to back. Never any harmonies added on.
These are more complex than round 2 but they're actually worse tracks than round 2 and far less
shippable"
The battery was not wrong. It was measuring scaffolding. Nine instruments read sections, boundaries,
drops, holds, loudness and distinctness, and not one read harmony, rhythm or melodic substance. This
round builds the missing substance and — the part that outlasts the round — the instruments that can
see it.
---
**For four passes the two layers carrying every cue's entire functional harmony played a pitch set
unrelated to the chord they named, two octaves too high.**
plan["harmony"] is a per-bar grid of absolute MIDI voicings, and the only two pattern kinds that
read it — pad and arpeggio — returned their pitches without the absolute-MIDI marker. So
compile_layer sent them through degree_to_midi and read MIDI number 38 as SCALE DEGREE 38.
Measured on the published round-3 exploration cue:
| chord | written MIDI | intended pitch classes | resolved MIDI | what actually sounded |
|---|---|---|---|---|
| D | 38 50 57 62 | {2, 9} | 153 182 198 210 | {2, 6, 9} |
| Bm | 35 47 54 62 | {2, 6, 11} | 146 174 191 210 | {2, 6, 11} |
| G | 31 43 50 59 | {2, 7, 11} | 136 165 182 203 | {2, 4, 9, 11} — no G |
| A | 33 45 52 57 | {4, 9} | 141 170 186 198 | {2, 6, 9} — a D |
Every resolved pitch landed between MIDI 136 and 210, far above any real instrument, and
fit_to_range folded it back into the player's compass — which is why nothing ever looked broken.
No unplayable note was logged, no layer went silent, every manifest balanced. The round-3 organ pad
was sounding at MIDI 86-93 instead of its written 43-50: two octaves high, sitting on top of the
melody instead of under it.
Because degree resolution forces every pitch into the mode, the result was not chromatic noise but
an in-mode wash — sustained tones with no harmonic meaning, above the tune. That is the
mechanical form of both of Josh's clauses at once, and it sat upstream of every composition repair
rounds 3 and 4 attempted.
Repaired in harness/music_gen/pass2_realise.py using the marker the other absolute-pitch kinds
already use, with a LEGACY_GRID_AS_DEGREES switch so the shipped round-2 and round-3 renders stay
reproducible for the comparison, and control R3b proving both directions — the chord written G
now sounds pitch class 7, and the legacy path still demonstrably does not. pass2_realise 16/16;
pass2_plan 14/14, pass2_flores 13/13, pass3_flores 30/30, pass3_score 11/11, pass4_flores
40/40 and pass5_flores 30/30 all still green.
Round 4 sidesteps it by construction — its accompaniment is voice-led score layers, which
carry the marker. Rounds 2 and 3 were rendered with the defect and their published audio stands as
what shipped.
---
| file | what it is | controls |
|---|---|---|
harness/music_gen/harmony.py | the functional-harmony engine: a MODE-CONSTRAINED chord vocabulary (in_set_chords() derives 14 in-set chords for D anhemitonic pentatonic with T, S and D all represented), progression grammar with the two named JRPG cadence families, harmonic rhythm, voice-leading by candidate filtering against BOTH its own voicing and the concurrently-sounding pitches (common-tone retention, a computed Glasberg-Moore ERB spacing floor, parallel- and direct-perfect detection, doubling census, timbre-gated crossing), melody harmonisation in thirds and sixths, the accompaniment figure set, and snap_structural_tones — the melody-to-chord repair | 59/59, 21 rule codes |
harness/music_gen/groove.py | the rhythmic foundation: metrical weight hierarchy, Longuet-Higgins & Lee syncopation, pulse salience, onset complementarity, a per-purpose-class groove library built AROUND the colotomic clock rather than replacing it, the density ladder that ties the groove to the dynamic arc, and the break window | 26/26 |
The ERB floor is computed from the Glasberg-Moore formula rather than hardcoded, and its self-test
asserts the computed table reproduces all eleven published pitches.
| file | what it measures | verdict |
|---|---|---|
harness/music_gen/instr_melody_bands.py | interval variety, contour, note density, phrase arc and harmonisation density, with per-purpose-class bands derived from the 30 loved tracks' own extracted melodies | 21/21 controls; no axis clears the within-album bar — published as defect detectors, not taste oracles |
harness/music_gen/instr_groove.py | pulse salience, beat consistency, syncopation, real onset density, percussive share, symbolic interlock | 26/26 controls; nothing clears the multiplicity bar — the sixth honest null in this program |
harness/music_gen/instr_harmony_fit.py | chord-tone agreement, dissonance classifiability, vertical tension, harmonic rhythm, functional share, support share, parallel thirds and sixths, undeclared parallel perfects — plus the random-melody null | 21/21 controls; the null is the real evidence and it needs no corpus |
Two of the three return honest nulls on their separation arm and say so on their own face. That is
the house posture and it is not softened here: an axis that cannot distinguish the music Josh loves
from its own album siblings is a generation-defect detector, and it is reported as one.
harness/music_gen/pass7_battery.py runs the structural floor and the musical axes side by
side, on all three rounds, on identical code, and refuses to collapse them into one number. It
scores rounds 2 and 3 retroactively so the cards can show why round 3 lost on axes that did not
exist when round 3 was built.
---
instr_summit_tests.py carries Josh's two ultimate tests — the 30-to-50-year nostalgia test as a
piano reduction, and the orchestra-playable lint. Its MELODY_KINDS was `("statement",
"counterline"), and every melodic layer written since pass 3 is the score` kind. So
plan_reduction returned zero melody notes for rounds 3 and 4 and the piano test simply declined
to run — while still reporting available and looking like a working instrument. A silent zero is
the worst failure this file can have, because it is indistinguishable from a passing run in every
artifact it writes.
Widened to include score, narrowed by the layer's own declared role, with the parallel-support
role deliberately EXCLUDED from the reduction's right hand (a parallel third is a doubled note under
one hand, not a voice to follow, and folding it in would count the same tune twice). Control C11d
strips score back out and requires every post-round-2 reduction to fall silent, proving the kind is
load-bearing rather than merely present. 31/31 green, and round 2's numbers are unchanged.
What it says, now that it can speak (exact score, MIN_TUNE_PHRASE_BARS = 4.0,
MIN_DISTINCT_IDEAS = 2):
| novel bars | distinct ideas | melody rate | piano test | orchestra hard findings | |
|---|---|---|---|---|---|
| r2 CACI | 3.50 | 2 | 0.55/s | FAIL | 5 |
| r2 REST | 3.75 | 3 | 0.34/s | FAIL | 4 |
| r2 WATERFALL | 4.00 | 1 | 0.21/s | FAIL | 3 |
| r3 ROUNDS | 3.20 | 1 | 1.49/s | FAIL | 19 |
| r3 ROAD | 6.03 | 2 | 1.01/s | PASS | 14 |
| r3 FALLS | 1.58 | 5 | 0.48/s | FAIL | 12 |
FALLS's tune sustains 1.58 bars of novel material before it repeats or rests. That is "just a few
notes slowly played back to back" located exactly, in the score, with no extraction error. Its five
"distinct ideas" are five scraps. ROUNDS has one idea and needs two. ROAD passes both clauses, which
proves the bar is reachable inside this architecture rather than being a limit of the tooling.
---
Round 3's broker material was written in absolute MIDI deliberately OUTSIDE the region's mode: the
of-the-place layers emitted exactly {2, 4, 6, 9, 11} and the broker layers exactly {0, 3, 5}, with no
shared tone anywhere, and a self-test asserted the disjunction on the compiled notes. That designed
dissonance is the largest single clash in the cues, and Josh's ear caught it.
It was a harness invention, not a canon requirement. T0_Theme_Registry :: REGION_FLORES_ISLAND
forbids "no region's own register used as the threat signal, systematically darkened, inverted or
menace-coded" — a rule about the region's REGISTER, meaning its Section-10 instruments and technique,
not about its pitch set. And LEITMOTIF_ARCHITECTURE.md §4 binds the corollary just as hard: "an
individual antagonist may be scored fully inside his own culture's register... A blanket register ban
is the named failure, not the safe option."
From round 4 the broker shares the cue's functional harmony — every broker pitch is a chord tone
of the chord sounding at its own onset — and the menace is carried by four non-pitch means, each
measured and declared in the plan's own care.mechanism_supersession block: instrument (the
pressure-role contrabass tremolo and muted horn, neither a Section-10 Flores instrument, so the
broker is outside the region's register by construction and independently of pitch), register
(below the ensemble's floor, margin in semitones stated), articulation and dynamics (tremolo and
mute, entering under the ensemble rather than over it, gain and velocity offsets stated), and
rhythmic displacement (onsets off the groove's strong metrical positions, measured onset
complementarity against the composite percussion grid stated).
The three care facts that never depended on pitch are unchanged and still carry the line: V24 and V25
still refuse, the ensemble still RISES as the pressure arrives, and the palette's own care argument
is untouched. The supersession is recorded in place at
docs/proposals/music/PASS2_LAYER_ARCHITECTURE.md §6 fact 2.
One margin is weaker than the claim, and it is qualified here rather than in a footnote. The
register separation is measured against the ENSEMBLE floor, and the broker clears it. It is not
measured against the bass drone, and there it fails: on ROUNDS the broker's contrabass.trem sits a
minor third from B12 contrabass.sus_quiet around MIDI 35 — same instrument family, an interval far
below its spacing floor, so the two fuse into one low band exactly where the mechanism's whole
premise is that the broker stays a separable thing arriving beside the ensemble. The fix is one
octave on either part and it is the top open item in §7. Until it lands, the honest form of the
claim is: **three of the four declared margins hold, and the register margin holds against the
ensemble but not against the drone.**
**This records the mechanism that now ships in the code. It is not a verdict that it sounds better.
Josh's ear rules that.**
---
The corpus bands in MELODY_BANDS.json and GROOVE_BANDS.json are derived by EXTRACTING melodies
from the 30 loved tracks' audio. Our score-tier numbers are exact reads of the written parts. Those
are not the same measurement, and the gap is large and systematic:
| score tier | audio tier | |
|---|---|---|
r3 ROAD note_density_per_sounding_s | 1.804 | 4.636 |
| r3 FALLS | 1.300 | 3.428 |
| r3 ROUNDS | 2.585 | 4.712 |
The extractor's predominant-melody line picks up every moving pitched surface — the kotekan
elaboration, the figuration, the ornament — and reads it as melody. The score tier isolates the
layers that actually carry the tune. **On the audio tier round 3 sits comfortably inside the corpus
density band, and Josh still heard "a few notes slowly played back to back."** So on this axis the
score tier is the one that matches his ear, and comparing it against audio-derived bands is
indicative, never decisive.
Two consequences, both binding on anyone quoting these numbers:
1. The decisive comparison is WITHIN a tier, round over round, on identical code. Score tier,
note_density_per_sounding_s: ROAD 0.739 → 1.804 → 3.194, FALLS 0.688 → 1.300 → 2.102, ROUNDS
1.557 → 2.585 → 3.255, for rounds 2, 3 and 4.
2. A score-tier corpus band does not exist and cannot be built from this corpus, because the
corpus is audio and there is no score for Chrono Trigger. instr_harmony_fit solves the same
problem a different way — its random-melody null needs no corpus at all — and that is the model
any future score-tier axis should follow.
instr_melody_bands._melodic_parts selected melodic layers by PATTERN KIND — `pass3_score.
MELODIC_KINDS = {score, statement, counterline`}. But from pass 3 onward EVERYTHING is written
as score: the kotekan elaboration pair, the ornament, the figuration and the written-out pokok as
well as the carriers. So an interlocking mallet surface and a structural bass line were being counted
as concurrent MELODIC VOICES.
The consequence was severe and pointed the wrong way. It drove harmonization_density to 0.947-0.993
on rounds 3 and 4 against 0.000-0.618 on round 2 — and on that reading the lane's own mid-round
diagnosis was "we have too many melodic voices, each playing too few notes", which was sent to the
composer as a repair instruction. It was wrong. The rise was measuring the pass-3 architecture switch
to score layers, not the music. The composer identified the cause and correctly did not act on the
instruction; the record says so here rather than quietly dropping it.
Fixed by gating on the layer's own declared ROLE, importing the role set from
instr_summit_tests so the two instruments cannot drift about what a melody is. 21/21 controls, and
control K7b — which used to assert the summit blindness EXISTS — is re-pointed to assert that both
vocabularies now admit score and both narrow it by role.
The corrected numbers say the opposite, and they corroborate Josh.
| axis | class | round 2 | round 3 | round 4 |
|---|---|---|---|---|
note_density_per_sounding_s | EXPLORATION | 0.739 | 1.847 | 2.734 |
| SANCTUARY | 0.688 | 1.236 | 2.044 | |
| BATTLE | 1.557 | 2.611 | 4.454 | |
step_share (corpus p10 0.476) | EXPLORATION | 0.275 | 0.370 | 0.555 |
| SANCTUARY | 0.103 | 0.488 | 0.653 | |
| BATTLE | 0.363 | 0.495 | 0.720 | |
harmonization_density (no valid corpus band — see below) | EXPLORATION | 0.339 | 0.158 | 0.172 |
| SANCTUARY | 0.000 | 0.074 | 0.034 | |
| BATTLE | 0.618 | 0.131 | 0.102 | |
parallel_harmony_share (same caveat) | EXPLORATION | 0.161 | 0.111 | 0.118 |
| SANCTUARY | 0.000 | 0.058 | 0.092 | |
| BATTLE | 0.352 | 0.073 | 0.078 | |
sync_score (symbolic composite) | EXPLORATION | 0.062 | 0.094 | 0.160 |
| SANCTUARY | 0.000 | 0.161 | 0.075 | |
| BATTLE | 0.056 | 0.108 | 0.203 | |
onset_synchrony_max (anti-tutti, lower better) | EXPLORATION | 0.510 | 0.500 | 0.250 |
| SANCTUARY | — | 0.179 | 0.000 | |
| BATTLE | 0.504 | 0.671 | 0.331 |
AND THE CORPUS BAND FOR THIS AXIS MAY NOT BE QUOTED AGAINST THESE NUMBERS. The band (p10 0.274,
p50 0.745) is derived from AUDIO, where band_lines counts any pitched content in a register band as
a voice — so for a thirty-part ensemble it is always near 1.0 and it is measuring "is something
sounding in several registers", not "is a second TUNE sounding". Our score tier now asks the strict
question. Quoting one against the other is the same tier mismatch this section opened with, and the
first draft of this page made exactly that error. What survives is the WITHIN-TIER reading, and it is
still the finding:
**"NEVER ANY HARMONIES ADDED ON" IS CORROBORATED ON THE SCORE, AND IT IS THE CLAUSE ROUND 4 MOVED
LEAST.** Round 3 spent 7% to 16% of its melodic sounding time with a second tune-carrying voice —
and round 2 was HIGHER on two of three cues (0.339 and 0.618), which is also a mechanical account of
"worse than round 2". Combine that with §0: the only layers that were supposed to supply functional
harmony were playing a degree-mangled pitch set two octaves too high, so round 3 had neither a second
tune nor a sounding chord under the first one. Round 4 adds both — a harmonised voice that overlaps
the carrier 100% of the time it sounds, and voice-led accompaniment that actually sounds its chords —
but the voice covers only about a third of each cue, so the axis moves 0.158 → 0.172 on ROAD,
0.131 → 0.102 on ROUNDS, and DOWN 0.074 → 0.034 on FALLS. Extending it is the clearest single target
left, and a score-tier band for it has to be built from something other than this corpus.
| novel bars (>= 4) | distinct ideas (>= 2) | piano / nostalgia test | |
|---|---|---|---|
| r2 CACI / REST / WATERFALL | 3.50 / 3.75 / 4.00 | 2 / 3 / 1 | 0 of 3 PASS |
| r3 ROUNDS / ROAD / FALLS | 3.20 / 6.03 / 1.58 | 1 / 2 / 5 | 1 of 3 PASS |
| r4 ROUNDS / ROAD / FALLS | 15.02 / 13.03 / 10.00 | 2 / 3 / 3 | 3 of 3 PASS |
Re-draw the melodic pitches uniformly from the cue's own mode 200 times, keep the rhythm, and ask
where the real melody's chord-tone agreement sits in that distribution.
| chord-tone share | null mean | percentile | |
|---|---|---|---|
| r3 FALLS | 0.379 | 0.467 | 0.043 |
| r3 ROAD | 0.447 | 0.453 | 0.425 |
| r3 ROUNDS | 0.459 | 0.490 | 0.215 |
| r4 FALLS | 0.580 | 0.477 | 0.988 |
| r4 ROAD | 0.495 | 0.500 | 0.473 |
| r4 ROUNDS | 0.563 | 0.490 | 0.883 |
**Round 3's melodies were statistically indistinguishable from random pitches drawn against their
own harmony, and FALLS agreed with its chords LESS than chance.** That is the exact predicted
consequence of a composer with no chord logic, and it is "they clash" in its most precise form.
The final round-4 plans draw their harmony from a vocabulary wholly inside the region's own five
pitch classes. That is the right repair for the clash class §5 opens with, and it has a consequence
for this instrument that must be stated rather than quietly enjoyed:
| final plans | real | null mean | null sd | null p95 | percentile | z |
|---|---|---|---|---|---|---|
| ROAD | 0.708 | 0.641 | 0.049 | 0.729 | 0.92 | +1.36 |
| ROUNDS | 0.578 | 0.638 | 0.055 | 0.732 | 0.105 | −1.09 |
| FALLS | 0.580 | 0.635 | 0.053 | 0.716 | 0.150 | −1.03 |
The null MEAN rose from about 0.48 to about 0.64. When the melody and the chords share the same
five pitch classes, a randomly drawn pentatonic pitch lands on a chord tone most of the time by
construction — so chance agreement is high, the bar is much harder, and the melody has far less room
to disagree even if it wanted to. Under that harder bar only ROAD sits above chance; ROUNDS and
FALLS sit below it.
Two honest readings, and the record carries both. First, the snap is doing less work than the
mid-round numbers suggested. Second, and more important for anyone who quotes this instrument again:
**chord_tone_share and its null are informative for a chromatic or diatonic idiom andnear-degenerate
for an anhemitonic pentatonic one**, for the same structural reason the whole-tone spacing collisions
are unavoidable here — a shared five-note set removes most of the freedom the axis measures. Round
3's result stands undamaged, because round 3's chords were NOT mode-constrained and its null had room
to separate. Round 4's low percentiles are not evidence that its melodies clash; they are evidence
that this axis has little left to see once melody and harmony share a pitch set. A score-tier axis
that keeps its teeth in this idiom is round 5's problem, and naming it is better than reporting the
v2 numbers, which were measured before the constraint landed and looked considerably better.
---
The accompaniment was rebuilt from a vocabulary drawn wholly from the region's own pitch set —
D, Bm, D6, Dadd9, Bm7, Asus4, Asus2, Esus4 and the quartal stacks. Out-of-set chord events: ROAD 0,
FALLS 0, ROUNDS 3, all three cadence-placed Zelda-family borrowings, declared in the plan.
| chord-tone share (primary) | dissonance classifiability | non-functional ratio | undeclared parallel perfects | |
|---|---|---|---|---|
| r3 FALLS | 0.379 | 0.395 | 0.000 | 99 |
| r3 ROAD | 0.447 | 0.379 | 0.000 | 171 |
| r3 ROUNDS | 0.459 | 0.358 | 0.000 | 99 |
| r4 FALLS | 0.580 | 0.379 | 0.367 | 64 |
| r4 ROAD | 0.673 | 0.311 | 0.360 | 120 |
| r4 ROUNDS | 0.578 | 0.397 | 0.183 | 47 |
non_functional_ratio moving from a flat 0.000 to 0.36 / 0.36 / 0.18 puts the two exploration-class
cues inside HARM-04's wonder band (>= 0.30) and ROUNDS near its arrival band (<= 0.15, measured
0.183). Round 3's flat zero was not restraint — it was a four-chord loop with no colour at all.
instr_harmony_fit.parallel_thirds_sixths_share reads 0.001-0.018 on round 4, which would say
"harmonies still absent". It is a denominator artifact and the claim is false. Measured directly
off the compiled score, the harmonised voice sounds for 67.6 / 54.3 / 52.4 seconds and **overlaps
the carrier 100% of that time**, with an interval census dominated by 3 and 4 semitones (thirds) and
8 and 9 (sixths):
| cue | H01 notes | sounding | overlap with carrier | top intervals |
|---|---|---|---|---|
| ROAD | 133 | 67.6 s | 67.3 s (100%) | m3 48, M3 40, P4 34, M6 18 |
| FALLS | 58 | 54.3 s | 68.7 s (126%, it overlaps more than one carrier) | m3 30, P4 25, unison 23 |
| ROUNDS | 146 | 52.4 s | 52.2 s (100%) | P4 41, M3 36, m6 31, m3 24 |
The axis normalises against total melodic sounding time across every melodic layer, and there are
eleven of those, so a real second voice reads as a rounding error. instr_melody_bands's
parallel_harmony_share measures the same phenomenon against a different denominator and reads
0.909-0.939. **Two instruments, one truth, opposite-looking numbers — the axis needs a declared
denominator before either figure is quotable.** Logged rather than tuned away.
---
The composer hit a genuine physical conflict and named it rather than hiding it: raising the melodic
surface density (which is what fixed "a few notes slowly played back to back") pushes fast divided
lines past some instruments' articulation floors, so the orchestra-playability lint rises as the
piano/nostalgia test passes. It landed PLAYABILITY_TOLERANCE at 0.25 to keep all three cues
passing the piano test, and asked for a coordinator ruling.
RULED: THE PIANO TEST WINS, AND THE LINT DEBT IS CARRIED OPENLY WITH ITS FIX NAMED. Three
reasons:
1. This round's own lesson is that structure is scaffolding and the tune is the product. A round that
passes the orchestra lint with a theme that is not a theme has cleared the cheaper of Josh's two
bars.
2. The dominant finding is too_fast on brass at 148 bpm. **That is an orchestration ASSIGNMENT
defect, not a composition defect** — the same notes given to spiccato strings, mallets or
woodwind articulate cleanly at that tempo. It is fixable without touching a single pitch, which
makes it debt rather than damage.
3. Round 4 is unpublished and ungraded. Carrying a named, diagnosed, one-pass debt is honest;
weakening the theme to make a lint count go down would be paying for a number with the product.
Hard-finding counts for the record: round 3 was 19 / 14 / 12 (ROUNDS / ROAD / FALLS) and round 4 is
higher. The per-part longest unbroken spans are IDENTICAL between rounds — marimba 77.8 s,
violin_ens.sus_quiet 51.9 s, organ.quiet 51.9 s, FALLS's B06 at 73 s — so the inherited offenders are
inherited, and the increase is new parts each carrying their own findings.
---
Round 4 rendered and mastered (D:/audio/pass7/, 6 files, exit 0), and both batteries ran on all
three rounds on identical code (build/audio/pass7/BATTERY.json).
| cue | round | yield | boundaries | drops | dynamic_arc | holds | longest hold | instruments |
|---|---|---|---|---|---|---|---|---|
| FALLS | r3 | 0.667 | 22 | 33 | PASS | 1 | 26.00 s | 7/7 |
| FALLS | r4 | 0.688 | 22 | 32 | PASS | 1 | 31.21 s | 7/7 |
| ROAD | r3 | 0.238 | 10 | 42 | PASS | 2 | 26.75 s | 6/7 |
| ROAD | r4 | 0.140 | 7 | 50 | FAIL | 0 | 0.00 s | 5/7 |
| ROUNDS | r3 | 0.500 | 17 | 34 | PASS | 4 | 34.92 s | 7/7 |
| ROUNDS | r4 | 0.280 | 14 | 50 | PASS | 4 | 53.50 s | 7/7 |
ROAD LOST ITS HOLDS AND NOW FAILS THE ARC INSTRUMENT. That instrument exists because of one
sentence of Josh's — "the songs dont build and hold with proper peaks" — and round 3 passed it on all
three cues. Round 4 fails it on one.
The mechanism is legible and it is the direct cost of the fix. Raising the melodic surface density is
what repaired "a few notes slowly played back to back", and it was raised across the cue. A
continuously busy texture is more self-similar section to section, so the segmenter finds fewer
boundaries (10 → 7), the measured drop count rises (42 → 50), and the energy plateau that the arc
detector needs stops being distinguishable from what surrounds it. **Density was made a constant when
it needed to be part of the arc.** The division schedule was supposed to be an arch rather than a
ramp; on ROAD it evidently flattened. FALLS, which received the largest structural rewrite and the
most conservative density rise, IMPROVED on every floor column.
This is the honest shape of the round: it bought melodic substance and paid part of the price in
measured structural articulation, and the payment is concentrated in one cue.
| axis | class | round 2 | round 3 | round 4 |
|---|---|---|---|---|
note_density_per_sounding_s | SANCTUARY | 1.648 LOW | 3.428 IN | 4.022 IN |
| BATTLE | 4.646 LOW | 4.712 LOW | 5.169 LOW | |
syncopation_audio | EXPLORATION | 0.067 | 0.067 | 0.133 |
| SANCTUARY | 0.000 | 0.033 | 0.067 | |
| BATTLE | 0.067 | 0.067 | 0.133 | |
beat_consistency (above the band = machine-regular) | SANCTUARY | 0.989 HIGH | 0.957 IN | 0.945 IN |
| BATTLE | 0.983 HIGH | 0.986 HIGH | 0.974 HIGH | |
pulse_salience_audio (above the band = too rigid) | BATTLE | 0.471 HIGH | 0.491 HIGH | 0.427 IN |
percussive_energy_share | SANCTUARY | 0.009 LOW | 0.013 LOW | 0.016 LOW |
Syncopation doubled on every cue and is the first movement this program has ever recorded on that
axis — round 2 and round 3 were identical to three decimals on all three cues. **BATTLE's pulse
salience came inside its band for the first time**, from HIGH in both previous rounds: round 3 was
measurably more machine-regular than the music Josh loves and round 4 is not. Beat consistency fell
toward the corpus on all three. FALLS's percussive share improved but is still under its floor.
Loudness: FALLS −14.82 and ROAD −13.15 LUFS both clear their class targets; ROUNDS at −11.83 against
a −9.84 target does not, with a true peak of −1.0 dBTP on all three. Same policy, same measurement as
round 3.
---
§7 said the cue went flat: *"a continuously busy texture is more self-similar section to section …
density was made a constant when it needed to be part of the arc."* Measured against the round-3
render on the identical instrument, that is not what happened. The two normalised energy curves
correlate at Pearson 0.979 with a mean absolute difference of 0.048 and a maximum of 0.229.
ROAD did not go flat. Almost nothing about its energy trajectory moved at all.
What moved was where the curve sat relative to its own normalisation floor. instr_dynamic_arc
normalises on the smoothed curve's own p5..p95 (instr_dynamic_arc.py:467-473) and calls a sustain
a HOLD only at or above 0.55 (:169). Round 3's 41-48 s plateau read 0.55; round 4's read
0.44-0.46 — the same music, one classification band lower — and the second hold was lost the
same way, to a segmentation boundary that moved about seven seconds and turned a −0.191 traverse
(SUSTAIN) into a +0.446 (BUILD). Round 3's own pass was itself marginal: both of its holds sat
within 0.014 of their thresholds.
pass7_flores._division_levels set each phrase's re-division level to delta − (top − authored).
That deepens the arch only while delta <= top. ROAD searched to delta 3 against a top of 2, so
every zero in the authored arch became a one: authored 0,1,2,2,0,1,0 was realised as
1,2,3,3,1,2,1. The PLANT, the SUBTRACTION and the CLOSE — the three spans
pass4_grammar.check_schedule requires to stay simplest — were all ornamented. Ornamenting the
valleys raises p5, and raising p5 slides every mid-level plateau down the normalised scale. **The
valleys came up; the plateau did not go away.** FALLS and ROUNDS carried the same lifted floor and
did not lose their arc, which is why the defect was invisible until ROAD paid for it.
A phrase sitting at the authored arch's own floor now stays plain at every delta, so delta == top
reproduces the authored arch exactly. But pinning is not free on every cue, and the loop is what
decides: pinned, FALLS's longest novel span falls to 3.88 bars against a floor of 4 and ROUNDS's
distinct ideas fall from 2 to 1, because the division surface is also what fills the rests
instr_summit_tests.segment_phrases splits novel spans on. §6 of this document already ruled that
order — THE PIANO TEST WINS — so the shape became a second dimension of tune's search with a
tie-break weight W_ARCH = 12, strictly below the smallest summit weight (25) so it can never
overturn a summit clause on its own. Measured gaps, pinned best against lifted best with the arch
term removed: ROAD 7.0, FALLS 69.0, ROUNDS 96.2. So the weight decides exactly one case.
| cue | authored | round 4 as staged | round 4 FINAL | shape | what it cost |
|---|---|---|---|---|---|
| ROAD | 0,1,2,2,0,1,0 | 1,2,3,3,1,2,1 (delta 3) | 0,1,2,2,0,1,0 (delta 2) | PINNED | interval_class_count 10 IN_BAND → 11 ABOVE_BAND at score tier (9, IN, at audio tier); distinct_ideas 3 → 2, still clearing the bar of 2. It BOUGHT three fewer hard lint findings, 22 → 19 |
| FALLS | 0,1,2,1,0,0 | 2,3,3,3,2,2 (delta 4) | 2,3,3,3,2,2 (delta 4) | lifted, DECLARED DEBT | nothing — the plan is byte-identical and the render reproduced to the decimal |
| ROUNDS | 0,1,2,0,2,1,0,0 | 2,3,3,2,3,3,2,2 (delta 4) | 2,3,3,2,3,3,2,2 (delta 4) | lifted, DECLARED DEBT | nothing — same |
Controls: W14b asserts the pinned branch leaves the plant and the subtraction plain across the
whole delta grid on all three cues, with a mutation control that runs the pre-fix formula verbatim
and requires it to ornament ROAD's plant. W14c asserts the shape is searched and that a lifted
floor is always paid for by a named summit clause. pass7_flores.py --check 58/58.
At equal objective cost (15.0) the search also offers ROAD 0,2,3,3,0,2,0 at delta 3 — a strictly
deeper arch. It was rendered into a scratch tree and measured rather than argued about:
**hold_share 0.1333, longest_hold_s 29.72, one hold, passes_floor false — identical to the
shallower arch on every headline number.** So a "prefer the deeper arch on ties" rule would have
been a knob that buys nothing, and it was not added. The scratch tree was deleted.
| ROAD, mastered | round 3 | round 4 as staged | round 4 FINAL | floor |
|---|---|---|---|---|
n_holds | 2 | 0 | 1 | ≥ 1 implied |
longest_hold_s | 26.75 | 0.00 | 29.72 | 22.287 — CLEARS |
hold_share | 0.210 | 0.000 | 0.1333 | 0.1434 — MISSES by 0.0101 |
valley_engagement | 1.013 | 0.821 | 0.814 | 0.5703 — CLEARS |
dynamic_arc.passes | PASS | FAIL | FAIL | |
| structural yield | 0.238 | 0.140 | 0.148 | |
| boundaries / drops | 10 / 42 | 7 / 50 | 8 / 54 |
The red is materially reduced and it is not closed. ROAD has a real 29.7-second hold again and
clears two of the three floor terms; it is short of the third by 0.0101 of hold share, which is
about 2.3 seconds of additional sustained high-energy time in a 223-second cue. Calling that
green would be exactly the failure this whole round exists to stop.
§7B SUPERSEDES THE PARAGRAPH BELOW. The lever this section identifies WAS built and landed —
and then measured, with its own ceiling tested and a must-fire control beside it. It moves the arc
by exactly nothing, for a structural reason: ROAD's normalisation floor is pinned by its two
authored cut sections. Read §7B before acting on the next paragraph.
The next lever is identified and it is not the carriers. The remaining ramp is in the first
sixty seconds, where the carriers are now genuinely plain (level 0 across bars 0-16) and the energy
comes from the ACCOMPANIMENT: t4_accompaniment takes its figure rate from a per-layer subdiv
constant in CUE_CFG (ROAD M04 2.0, B10 0.5) that **does not vary with the section's own
intensity column**. That is the identical defect this section just repaired, one layer down —
density assigned as a constant where the arc needs it shaped — and it is boarded as the round-5
arc item rather than chased here, because it moves the accompaniment's note count and would need
its own render, its own ECON-03 block-share re-check and its own harmony pass.
---
§7A left ROAD one number short: hold_share 0.1333 against a floor of 0.1434, about 2.3 seconds of
sustained time in a 223-second cue, and it named the next lever — t4_accompaniment's per-layer
subdiv constant, which ignores the section intensity column. This section does four things in
order, and the order matters: it LANDS that lever, it MEASURES what the lever bought, it tests the
lever's own CEILING, and it then locates the residue somewhere else entirely — with a must-fire
control proving the measurement can move at all.
The one-line answer, before the detail: the lever is real writing and it moved the DRY tier a
long way — hold_share 0.2233 → 0.3433, two holds to three, at no cost to the structural yield
— and it moved the published MASTERED tier by 0.0000, as did an experiment twenty times its
size. The residue is not in the composition and it is not a taste question; it is measured, and it
is in the statistic.
pass7_flores.accompaniment_ladder gives every accompaniment figure a rate taken from the cue's own
declared intensity column: the authored subdivision at or above the column's 70th percentile, half
of it in the middle, a quarter at or below the 30th — the same percentile the second voice's thin
points already use (_voice_schedule, :1342), so the two schedules thin in the same places by
construction. groove.density_ladder had governed the percussion roles this way since round 4
opened; the pitched accompaniment was the one family no ladder governed.
It was worth landing on its own evidence. ROAD declares cycles 17-19 at intensity 0.48, 0.48 and
0.44 — "the theme, slowed" and "the last of it" — and was writing **94 notes into each of them,
which is exactly what cycles 21-24 carry at 0.88.** The valley was written as loud as the arrival.
Across the three cues the ladder removes 124 / 42 / 188 written notes, **every one of them from
a cycle the plan itself declares at or below its 30th percentile, and not one from any cycle at or
above the 70th** — ROAD's cycles 17-19 and 25 lose 30 notes each and its peak cycles lose nothing.
It also moved harmony.check H05's undeclared-collision count DOWN on every cue (ROAD 116 → 107,
FALLS 40 → 38, ROUNDS 700 → 659): fewer notes in the thin places is fewer accidental collisions in
the thin places, which is the second reason it is worth having.
Controls: W14d asserts the thinning DIRECTIONALLY off the emitted notes rather than off the
config — for every figure layer active at both rungs, the bottom-rung cycle must carry strictly
fewer notes. W14d CONTROL flattens ROAD's intensity column to a constant and requires every
cycle to land on the TOP rung: a ladder that thinned a cue declaring no arc would be inventing one,
and the first version of the comparison did exactly that (p30 == p70 made every section fail both
tests and fall to the quarter rung). pass7_flores.py --check 61/61.
ROAD, instr_dynamic_arc, flow curve | before the ladder | after the ladder |
|---|---|---|
DRY hold_share | 0.2233 PASS | 0.3433 PASS |
DRY n_holds / longest_hold_s | 2 / 29.72 s | 3 / 29.72 s |
| DRY structural yield / boundaries / drops | 0.1961 / 10 / 51 | 0.1961 / 10 / 51 — unchanged |
MASTERED hold_share | 0.1333 FAIL | 0.1333 FAIL |
MASTERED n_holds / longest_hold_s | 1 / 29.72 s | 1 / 29.72 s |
| MASTERED phase census | BUILD·RELEASE·BUILD·RELEASE·BUILD·HOLD | the same six phases, the same boundaries to 0.01 s, every level within 0.003 |
THE SPLIT IS THE RESULT, AND THE TIER RULE THAT ADJUDICATES IT WAS WRITTEN BEFORE THIS ROUND.
pass5_battery.py:46-52 established it and pass7_battery inherits it verbatim: *"DRY is the
comparison; MASTERED is the artifact"*, because a room smears transients and every structural
instrument reads transients. On the tier that is the COMPOSITION comparison, shaping the
accompaniment to the authored intensity column bought **half again as much sustained time and a
third hold, at no cost at all to the structural yield, the boundary count or the drop count.** On
the tier that is the ARTIFACT, it bought nothing measurable. So the lever is real writing that a
mixing stage then flattens — which is the first half of why the residue is not in the composition.
A null is only worth reporting if the experiment could have produced something else, so the lever
was pushed past anything a composer would do. Using the round's own rendered STEMS, the mixdown was
rebuilt exactly as pass2_realise.mixdown builds it (pan, gain, sum, normalise to PEAK_TARGET,
declick — :629-657) with **20 of ROAD's 33 parts gated to silence across the whole declared valley,
cycles 17-20, 33 seconds of the cue.** Everything but the carrier and the gong.
**Mastered hold_share: 0.1333 → 0.1333. Same single hold, same 29.72 s, the same six phases on
the same boundaries.** The one thing that did move is the middle RELEASE's own level, 0.431 → 0.362:
the valley genuinely got quieter, and the census did not care.
The rig is validated before it is believed: rebuilt with NO gate at all it reproduces the shipped
mastered file's numbers exactly — hold_share 0.1333, one hold of 29.72 s, and the four-curve panel
0.1333 / 0.5833 / 0.1922 / 0.2870 — so what it measures is the artifact and not an approximation of
it.
THE MUST-FIRE CONTROL. The same rig, gating cycles 21-27 instead — the arrival and the close —
destroys the final hold outright, rewrites the entire census, and moves hold_share to 0.1200 with
a new 26 s hold appearing at 140-166 s. The probe is armed; the valley null is real.
instr_dynamic_arc.segment normalises on the smoothed curve's own p5..p95 (:467-473). **ROAD's p5
is pinned by its two authored cuts** — S14 "the ring empties" and S17 "and stops", each carrying a
cut window and each already at near-silence (normalised −0.05 and +0.05). A valley thinned below a
section that already cuts to silence cannot lower p5, and if p5 does not move, no normalised level
moves. That is the whole mechanism, it is a property of the cue's authored form rather than of this
transform, and control W14e asserts the precondition on the plan.
segment sets its minimum phase length as w = round(0.06 · T / dt) samples, and dt is fixed at
0.74 s by the card's hop — so w is a function of the cue's LENGTH and nothing else. Sweeping
w by ±2 samples on the identical audio:
| file | w−2 | w−1 | w (shipped) | w+1 | w+2 | branches passing |
|---|---|---|---|---|---|---|
| r4 ROAD | 0.2033 PASS | 0.3099 PASS | 0.1333 FAIL | 0.0000 FAIL | 0.1667 PASS | 3 of 5 |
| r3 ROAD | 0.1333 FAIL | 0.1333 FAIL | 0.2100 PASS | 0.4500 PASS | 0.1333 FAIL | 2 of 5 |
| r4 FALLS | 0.1736 PASS | 0.0578 FAIL | 0.1736 PASS | 0.1653 PASS | 0.1653 PASS | 4 of 5 |
| r3 FALLS | 0.2231 PASS | 0.0868 FAIL | 0.1446 PASS | 0.0992 FAIL | 0.3306 PASS | 3 of 5 |
| r4 ROUNDS | 0.4407 PASS | 0.6147 PASS | 0.5296 PASS | 0.5296 PASS | 0.5037 PASS | 5 of 5 |
| r3 ROUNDS | 0.5111 PASS | 0.6147 PASS | 0.5000 PASS | 0.5296 PASS | 0.5037 PASS | 5 of 5 |
(PASS here applies the floor's two hold terms — hold_share >= 0.1434 and
longest_hold_s >= 22.287. The third term, valley_engagement >= 0.5703, clears on every row in
the table and never decides one, so it is stated rather than carried.)
Read the ROUNDS row first, because it is what makes the others legible: a cue that sits well clear
of the floor is stable — five windows, five passes, hold_share between 0.50 and 0.61. The
instability is not general. It is confined to cues sitting near the floor, where the bottom-up PLA's
forced-merge order decides which side of a threshold a real plateau lands on.
Three consequences, and the record carries all three:
1. **ROAD's round-4 result is not a regression against round 3 on this axis — it is an improvement
that reads as a regression on one branch.** Round 3's ROAD passed at its own shipped window and
FAILED at three of the other four, reading 0.1333 — the identical number round 4 is being failed
for. Round 4 passes at three of five. §7A's honest note that "round 3's own pass was itself
marginal, both holds within 0.014 of their thresholds" understated it: round 3's pass was one
branch of five.
2. Because w depends only on duration, the branch is chosen by the cue's LENGTH. The same
writing at 210 seconds instead of 223 would land on w = 17 and read 0.3099 PASS.
3. **Nothing here is a reason to move HOLD_LVL, the floor, or the mix policy, and none was
moved.** The floor is the corpus hits' own p10 and stays exactly where it is. What is chartered
for round 5 is a STABILITY repair to the statistic — report the headline as a robust value across
the admissible window band rather than at one arbitrary sample — which necessarily re-derives
THRESHOLDS on the same 28 corpus hits with the same p10 rule, so the bar is recomputed by the
same recipe rather than relaxed.
instr_dynamic_arc.curve_of says in its own docstring that the headline flow curve is "45%
normalised RMS, so it is not immune to mastering", and that sim and cplx "contain no loudness
term whatsoever". The panel existed (multi_curve_stats) and had no consumer. On ROAD round 4,
mastered:
| curve | what it contains | hold_share | against the 0.1434 floor |
|---|---|---|---|
flow | 45% RMS + 35% lane simultaneity + 20% register | 0.1333 | short by 0.0101 |
sim | lane simultaneity only, no loudness term | 0.1922 | clears |
cplx | complexity index, no loudness term | 0.2870 | clears |
db | pure loudness | 0.5833 | clears |
And the DRY render of the identical writing clears flow too, at 0.3433. **One of four curves
fails, it is the only one a mix can move, and it is the one the verdict was being read off in
isolation.**
AND THE PANEL IS CONTEXT, NOT A SECOND OPINION TO CHERRY-PICK — the same run proves it. On
ROUNDS, flow reads 0.5296 (comfortably clear) while sim reads **0.0887, well BELOW the same
floor; on FALLS, flow reads 0.1736 (clear) while db reads 0.0000**. No curve is uniformly
kinder, and a lane that quoted whichever curve suited it would be doing the thing this section
exists to stop. What the panel licenses is exactly one inference and it is the one drawn here: when
the ONLY failing curve is the one whose definition is 45% loudness, and the same writing clears that
curve before the mix touches it, the failure is not evidence about the writing.
Two
reporting defects were repaired rather than noted: pass7_battery was reading hold_share off
metrics where it lives in detail, so **the axis this whole red is measured against has been
null on every battery row this file has ever written**; and the robustness panel is now carried on
every row beside it, so a flow verdict can never again be quoted without its loudness-free
siblings.
The red is CLOSED as a plateau, not as a pass. ROAD still reads FAIL on the shipped branch of
the flow curve and the review card says so in those words. What changed is that the failure is now
located: the composition lever was landed and measured inert, its ceiling was tested and measured
inert, the mechanism for the inertness is structural and asserted by a control, the must-fire
control proves the rig can move, and the statistic is demonstrated unstable exactly where ROAD sits
and stable where a cue is genuinely clear. That is the same shape as §6's brass-articulation ruling:
a real conflict, measured to its floor, decided in the open, and carried as named debt.
What a reader is entitled to hold this round to, and what it is not. The claim is NOT "ROAD's
arc is fine". It is: the writing improved on the tier that compares writing, the published tier did
not move under any composition change up to and including deleting most of the orchestra for a
quarter of the cue, the reason it did not move is a structural property of the cue's own authored
cuts, and the number the verdict is read off flips on a discretisation that depends on how long the
cue is. Round 5 owns the instrument (WQ_0088) and the second voice (WQ_0089). Josh owns the ear,
and nothing here anticipates it.
---
0. ROAD FAILS THE ARC INSTRUMENT AND HAS ZERO MEASURED HOLDS. §7 has the mechanism: density was
raised as a constant instead of as part of the arc. The repair is not to lower it — it is to make
the surface thin in the valleys and thick at the peaks, so the plateau the arc detector needs
stays distinguishable. FALLS is the worked example that it can be done: the same density work,
the largest structural rewrite, and every floor column improved. **This is the round's one
regression against a bar it previously cleared, and it must be paid before round 5 stages.**
1. THE SECOND VOICE COVERS A THIRD OF THE CUE WHERE THE CORPUS COVERS THREE QUARTERS. This is
Josh's own clause, corroborated and unfixed. harmonization_density 0.172 / 0.034 / 0.102 against
a corpus p10 of 0.274 and a median of 0.745. The harmonised voice is the right mechanism — it
overlaps the carrier 100% of the time it sounds, in thirds and sixths — it simply does not sound
often enough. Round 5's headline: extend it, and add the second and third melodic voices the
H3-5 ladder licenses at the peaks. This is the top open item.
2. Low-end mud, ranked and named (dispatched to the composer's final pass; if a pair survives the
emit it is listed in the transform report): ROUNDS B12 contrabass.sus_quiet against
F09 contrabass.trem at B1 + D2, 357 occurrences — a minor third far below its floor AND same
timbre, so mud and fusion at once, and it is the broker against the bass drone, the one pair the
care mechanism most needs separable; ROAD B11 contrabass.sus_quiet against F07 horn.sus at
B1 + D2 and a D2 + F#2 pair; FALLS B05 organ.quiet against H01 folk_harp at D3 + F#3.
(The remaining sub-floor pairs are minor thirds around MIDI 59 between mallet timbres, and the
whole-tone pairs are STRUCTURAL: under a pentatonic pitch set the melody and accompaniment share
all five pitch classes, so major-second collisions cannot be avoided and are DECLARED rather than
filtered, so the count reads "0 undeclared, N declared".)
3. dissonance_classifiability did not improve — 0.31-0.40, with roughly two thirds of non-chord
tones unclassifiable as passing, neighbour, appoggiatura, suspension or anticipation.
COUNTERPOINT_AND_VOICE_LEADING.md:400-403 is explicit that anything unclassifiable is either a
declared exception or a defect. This is "they clash" in its most precise remaining form.
4. sync_composite has no corpus band and none was invented. GROOVE_BANDS.json says so
explicitly. The symbolic composite syncopation is reported as round-over-round movement only.
5. The three new instruments are not wired into floor_instruments.MODULES, deliberately: adding
them would change the historical floor numbers every previous round is compared against.
pass7_battery.py is their consumer. Whether they join the floor is a director call.
6. Two engine rules are built and unwired — harmony.in_toneness_band and harmony.stream_breaks
(VL-10, VL-11). An unwired rule that looks armed is the same defect class as a noisy gate; they
are named here so nobody assumes otherwise.
7. One cheap residue was named after the render and deliberately not chased: ROUNDS
B09 organ.quiet against B12 the drone, 44 same-octave overlaps. That is a VL-1 fusion, not
mud, and re-registering it would have cost another render cycle for a REPORT-tier gain. The
blocking mud collapsed on the final emit — the ROUNDS broker pair went 357 occurrences to 3,
FALLS to 0, ROAD to 5 all structurally declared — so the render bar was met. The residue is
round 5's, and it is listed rather than left for someone to rediscover.
8. **The audio and score tiers disagree on melodic density and the score tier is the one that matched
Josh's ear.** §4 has the mechanism. Any future claim on that axis names its tier.
---
Every item above, re-checked by reading the code and the rebuilt battery rather than by trusting
this page. Two of the nine were stale at the moment this page was written, and both are
corrected here rather than quietly dropped.
| # | round-4-FINAL verdict |
|---|---|
| 0 | REDUCED, NOT CLOSED — and this page's own diagnosis was wrong. §7A has the measurement (Pearson 0.979 between the two curves), the cause (the plant, the subtraction and the close were all ornamented), the fix (the arch floor pinned, the shape searched, 58/58) and the residue (hold_share 0.1333 against a floor of 0.1434 — about 2.3 s). ROAD's hold is back at 29.72 s and the arc instrument still reads FAIL |
| 1 | STILL OPEN, AND ITS CHEAP LEVER IS NOW MEASURABLY DEAD. harmonization_density 0.172 / 0.034 / 0.102. Raising ROAD's max_share 0.62 → 0.95 writes 38 more notes and moves the axis 0.1716 → 0.1716, because the axis counts overlap TIME against total melodic sounding time over eleven melodic parts. AND THE BAND THIS PAGE QUOTED WAS THE POOLED ONE: per purpose class the audio-derived bands are EXPLORATION p10 0.405, BATTLE p10 0.049 / p90 0.466, and on the rebuilt battery ROUNDS's score-tier 0.1015 reads IN BAND for BATTLE while ROAD and FALLS read LOW. The tier caveat in §4 still binds — an audio-derived band may not be quoted against a score-tier number — but "0.274 / 0.745" is not one band, it is a pool. Round 5's lead, and the only two levers left are structural |
| 2 | UNCHANGED. The low-end pairs stand as listed; the ROUNDS broker/drone octave is still round 5's |
| 3 | UNCHANGED AND CONFIRMED. dissonance_classifiability 0.380 / 0.380 / 0.397 on the FINAL score tier. This is "they clash" in its most precise remaining form |
| 4 | UNCHANGED. sync_composite still has no corpus band and none was invented; round-over-round only: 0.160 / 0.075 / 0.203 → 0.1595 / 0.0753 / 0.2027 on the FINAL run |
| 5 | UNCHANGED. The three new instruments are still deliberately outside floor_instruments.MODULES; pass7_battery.py remains their consumer. Still a director call |
| 6 | STALE — CORRECTED. harmony.in_toneness_band and stream_breaks are NOT unwired. They are RULE_CODES H20 and H21, emitted by check() at REPORT severity (harmony.py:2574 and :2586-2605), and H21 carries a must-fire mutation control at :3259-3260. H20 is a pure census (ok is always True) and that is the honest label for it, not "unarmed". This page understated its own engine |
| 7 | UNCHANGED. The ROUNDS B09/B12 same-octave residue is still round 5's, still REPORT-tier |
| 8 | UNCHANGED AND STRENGTHENED. The rebuilt battery shows it plainly on EXPLORATION: score tier 2.7336 IN band where the same cue reads 4.3451 IN at audio tier, and round 3 read 1.8471 LOW at score against 4.6355 IN at audio. Any claim on this axis names its tier |
Every item re-checked against the re-emitted plans and the re-rendered files, not against §8A.
| # | verdict at round-4 CLOSE |
|---|---|
| 0 | CLOSED AS A MEASURED PLATEAU — see §7B. The named lever was built (accompaniment_ladder, W14d + a must-fire flat-column control, 61/61), landed, and measured: it removes 124 / 42 / 188 written notes from declared valleys, none from declared peaks, takes H05's undeclared collisions down on all three cues — and moves the arc hold_share by 0.0000. Its ceiling (20 of 33 parts gated silent across the whole 33-second valley) also moves it by 0.0000, with a must-fire control that proves the rig can move. The mechanism is that ROAD's p5 is pinned by its own two authored cuts. The residue is in the statistic: a ±2-sample window sweep reads r4 ROAD PASS/PASS/FAIL/FAIL/PASS against r3 ROAD FAIL/FAIL/PASS/PASS/FAIL, where r3's failing branches read the identical 0.1333. Round 4 is the more robust of the two on the axis it is being failed for. No threshold moved |
| 1 | STILL OPEN AND STILL THE ROUND-5 LEAD; §8A's null RE-VERIFIED at HEAD rather than quoted, and the reason it is round 5's is now a DOCTRINE reason and not only a measurement one. (a) The cheap lever is dead: raising ROAD's max_share 0.62 → 0.95 writes 133 → 171 notes and moves harmonization_density 0.1716 → 0.1716 and parallel_harmony_share 0.1185 → 0.1185, to four decimals, on today's code. (b) It is also the WRONG lever, which is the part §8A did not say: max_share exists to implement COUNTER_MELODY_AND_DIALOGUE.md:481-484 (H3-5) — two melodically active voices as the working default, "ONE at the opening, at the thin points and at the close, so the second voice's arrival is an EVENT". A share of 0.95 is a permanently doubled lead, which is the opposite of an event. (c) The same citation is what _voice_schedule implements by reserving the opening, the close and every section at or below the 30th intensity percentile, so extending the voice into the uncovered spans would buy the axis by breaking the doctrine that justifies the voice. What the coverage actually is, so round 5 starts from a number: the voice sounds 67.6 s of ROAD's 223 s, which is 45% of the 149 s doctrine ALLOWS it. The headroom is real and it is inside the allowed spans. Round 5's lead is therefore the H3-5 ladder's upper half — the second and third melodically active voices the doctrine licenses AT THE PEAKS — plus a declared denominator, because the two instruments measuring this phenomenon read 0.0185 and 0.909 for the same music |
| 2 | IMPROVED, NOT CLOSED. The ranked pairs stand as listed; harmony.check H05's undeclared count fell on every cue with the density ladder (ROAD 116 → 107, FALLS 40 → 38, ROUNDS 700 → 659). The ROUNDS broker/drone octave is still round 5's |
| 3 | UNCHANGED AND CONFIRMED. dissonance_classifiability is unmoved by the ladder — it is a property of the written non-chord tones, and the ladder removes notes rather than reclassifying them. Still "they clash" in its most precise remaining form, still round 5's |
| 4 | UNCHANGED. sync_composite still has no corpus band and none was invented |
| 5 | UNCHANGED. The three new instruments are still deliberately outside floor_instruments.MODULES; still a director call |
| 6 | CLOSED at §8A (H20/H21 are wired and H21 carries a must-fire mutation) |
| 7 | UNCHANGED. The ROUNDS B09/B12 same-octave residue is still round 5's, still REPORT-tier |
| 8 | UNCHANGED. Any claim on melodic density names its tier |
| 9 — NEW | THE ARC INSTRUMENT'S HEADLINE IS UNSTABLE NEAR ITS OWN FLOOR, AND ITS BATTERY ROW WAS BLANK. segment's minimum phase length is round(0.06·T/dt) with dt fixed, so the branch a cue lands on is chosen by its DURATION; ±2 samples swings hold_share from 0.00 to 0.45 on identical audio for cues near the floor, and not at all for a cue clear of it. Separately, pass7_battery read hold_share off metrics where instr_dynamic_arc writes it to detail, so the axis has been null on every battery row ever written — repaired here, together with carrying the four-curve mastering-robustness panel on every row. Round 5's arc item: report the headline as a robust value across the admissible window band and re-derive THRESHOLDS on the same 28 corpus hits by the same p10 recipe. This is a stability repair, not a relaxation, and it must not ship without re-deriving the floor |
---
What round 4 FINAL bought against round 4 as staged, on the rebuilt battery: ROAD's score-tier
note_density_per_sounding_s and step_share are now both IN band for EXPLORATION (round 3 was
LOW on both); interval_class_count is 11 ABOVE_BAND at score tier and 9 IN at audio tier;
undeclared_parallel_perfects fell 171 → 120 on ROAD, 99 → 64 on FALLS and 99 → 47 on ROUNDS
against round 3; onset_synchrony_max fell on all three; and the piano/nostalgia test still reads
3 of 3 PASS (novel bars 12.9 / 10.0 / 15.02, distinct ideas 2 / 5 / 2). Orchestra hard findings:
ROAD 19 (down from 22 as staged), FALLS 17, ROUNDS 41 — the lint debt of §6's ruling, carried openly.