ROUND4_STAGING.md

music/pass7/ROUND4_STAGING.md

Round 4 — the harmony, rhythm and melody architecture pass

**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.

---

0. THE HEADLINE, AND IT IS NOT A COMPOSITION FINDING

**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:

chordwritten MIDIintended pitch classesresolved MIDIwhat actually sounded
D38 50 57 62{2, 9}153 182 198 210{2, 6, 9}
Bm35 47 54 62{2, 6, 11}146 174 191 210{2, 6, 11}
G31 43 50 59{2, 7, 11}136 165 182 203{2, 4, 9, 11} — no G
A33 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.

---

1. WHAT WAS BUILT

The two engines

filewhat it iscontrols
harness/music_gen/harmony.pythe 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 repair59/59, 21 rule codes
harness/music_gen/groove.pythe 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 window26/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.

The three instruments

filewhat it measuresverdict
harness/music_gen/instr_melody_bands.pyinterval variety, contour, note density, phrase arc and harmonisation density, with per-purpose-class bands derived from the 30 loved tracks' own extracted melodies21/21 controls; no axis clears the within-album bar — published as defect detectors, not taste oracles
harness/music_gen/instr_groove.pypulse salience, beat consistency, syncopation, real onset density, percussive share, symbolic interlock26/26 controls; nothing clears the multiplicity bar — the sixth honest null in this program
harness/music_gen/instr_harmony_fit.pychord-tone agreement, dissonance classifiability, vertical tension, harmonic rhythm, functional share, support share, parallel thirds and sixths, undeclared parallel perfects — plus the random-melody null21/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.

The battery

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.

---

2. A SECOND INSTRUMENT WAS BLIND FOR TWO ROUNDS

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 barsdistinct ideasmelody ratepiano testorchestra hard findings
r2 CACI3.5020.55/sFAIL5
r2 REST3.7530.34/sFAIL4
r2 WATERFALL4.0010.21/sFAIL3
r3 ROUNDS3.2011.49/sFAIL19
r3 ROAD6.0321.01/sPASS14
r3 FALLS1.5850.48/sFAIL12

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.

---

3. THE CARE MECHANISM MOVED — THE REQUIREMENT DID NOT

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.**

---

4. HOW THE NUMBERS MUST BE READ — A TIER MISMATCH, DECLARED

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 tieraudio tier
r3 ROAD note_density_per_sounding_s1.8044.636
r3 FALLS1.3003.428
r3 ROUNDS2.5854.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.

A MEASUREMENT DEFECT FOUND AND FIXED WHILE WRITING THIS, AND IT REVERSED A DIAGNOSIS

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.

The score-tier movement, all three rounds, identical code, corrected selection

axisclassround 2round 3round 4
note_density_per_sounding_sEXPLORATION0.7391.8472.734
SANCTUARY0.6881.2362.044
BATTLE1.5572.6114.454
step_share (corpus p10 0.476)EXPLORATION0.2750.3700.555
SANCTUARY0.1030.4880.653
BATTLE0.3630.4950.720
harmonization_density (no valid corpus band — see below)EXPLORATION0.3390.1580.172
SANCTUARY0.0000.0740.034
BATTLE0.6180.1310.102
parallel_harmony_share (same caveat)EXPLORATION0.1610.1110.118
SANCTUARY0.0000.0580.092
BATTLE0.3520.0730.078
sync_score (symbolic composite)EXPLORATION0.0620.0940.160
SANCTUARY0.0000.1610.075
BATTLE0.0560.1080.203
onset_synchrony_max (anti-tutti, lower better)EXPLORATION0.5100.5000.250
SANCTUARY0.1790.000
BATTLE0.5040.6710.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.

The two summit tests — Josh's own bars

novel bars (>= 4)distinct ideas (>= 2)piano / nostalgia test
r2 CACI / REST / WATERFALL3.50 / 3.75 / 4.002 / 3 / 10 of 3 PASS
r3 ROUNDS / ROAD / FALLS3.20 / 6.03 / 1.581 / 2 / 51 of 3 PASS
r4 ROUNDS / ROAD / FALLS15.02 / 13.03 / 10.002 / 3 / 33 of 3 PASS

The vertical instrument's random-melody null

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 sharenull meanpercentile
r3 FALLS0.3790.4670.043
r3 ROAD0.4470.4530.425
r3 ROUNDS0.4590.4900.215
r4 FALLS0.5800.4770.988
r4 ROAD0.4950.5000.473
r4 ROUNDS0.5630.4900.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.

AND THE MODE CONSTRAINT CHANGED WHAT THIS TEST CAN PROVE — measured on the FINAL plans

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 plansrealnull meannull sdnull p95percentilez
ROAD0.7080.6410.0490.7290.92+1.36
ROUNDS0.5780.6380.0550.7320.105−1.09
FALLS0.5800.6350.0530.7160.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.

---

5. THE VERTICAL AXES AFTER THE MODE CONSTRAINT

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 classifiabilitynon-functional ratioundeclared parallel perfects
r3 FALLS0.3790.3950.00099
r3 ROAD0.4470.3790.000171
r3 ROUNDS0.4590.3580.00099
r4 FALLS0.5800.3790.36764
r4 ROAD0.6730.3110.360120
r4 ROUNDS0.5780.3970.18347

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.

One number that reads as a failure and is not — verified rather than reported

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):

cueH01 notessoundingoverlap with carriertop intervals
ROAD13367.6 s67.3 s (100%)m3 48, M3 40, P4 34, M6 18
FALLS5854.3 s68.7 s (126%, it overlaps more than one carrier)m3 30, P4 25, unison 23
ROUNDS14652.4 s52.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.

---

6. THE FORK I RULED, AND WHY

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.

---

7. THE RENDER — BOTH BATTERIES, AND ONE OF THEM WENT BACKWARDS

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).

The structural FLOOR, mastered tier — the bar this round had to HOLD, not raise

cueroundyieldboundariesdropsdynamic_archoldslongest holdinstruments
FALLSr30.6672233PASS126.00 s7/7
FALLSr40.6882232PASS131.21 s7/7
ROADr30.2381042PASS226.75 s6/7
ROADr40.140750FAIL00.00 s5/7
ROUNDSr30.5001734PASS434.92 s7/7
ROUNDSr40.2801450PASS453.50 s7/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.

The MUSICAL axes, audio tier, against the corpus bands

axisclassround 2round 3round 4
note_density_per_sounding_sSANCTUARY1.648 LOW3.428 IN4.022 IN
BATTLE4.646 LOW4.712 LOW5.169 LOW
syncopation_audioEXPLORATION0.0670.0670.133
SANCTUARY0.0000.0330.067
BATTLE0.0670.0670.133
beat_consistency (above the band = machine-regular)SANCTUARY0.989 HIGH0.957 IN0.945 IN
BATTLE0.983 HIGH0.986 HIGH0.974 HIGH
pulse_salience_audio (above the band = too rigid)BATTLE0.471 HIGH0.491 HIGH0.427 IN
percussive_energy_shareSANCTUARY0.009 LOW0.013 LOW0.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.

---

7A. THE ARC REPAIR — WHAT §7's DIAGNOSIS GOT WRONG, WHAT THE FIX WAS, AND WHERE IT LANDED

The diagnosis in §7 and §8.0 was wrong, and the measurement that overturns it is cheap

§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.

The cause, and it is the doctrine this file already cites

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.

The fix: the arch's floor is pinned, and the SHAPE is searched rather than assumed

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.

cueauthoredround 4 as stagedround 4 FINALshapewhat it cost
ROAD0,1,2,2,0,1,01,2,3,3,1,2,1 (delta 3)0,1,2,2,0,1,0 (delta 2)PINNEDinterval_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
FALLS0,1,2,1,0,02,3,3,3,2,2 (delta 4)2,3,3,3,2,2 (delta 4)lifted, DECLARED DEBTnothing — the plan is byte-identical and the render reproduced to the decimal
ROUNDS0,1,2,0,2,1,0,02,3,3,2,3,3,2,2 (delta 4)2,3,3,2,3,3,2,2 (delta 4)lifted, DECLARED DEBTnothing — 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.

AND A DEEPER ARCH WAS TESTED AND BOUGHT NOTHING, WHICH IS WHY NO TIE-BREAK KNOB WAS ADDED

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.

WHERE IT LANDED — the honest verdict, which is REDUCED AND NOT CLEARED

ROAD, masteredround 3round 4 as stagedround 4 FINALfloor
n_holds201≥ 1 implied
longest_hold_s26.750.0029.7222.287 — CLEARS
hold_share0.2100.0000.13330.1434 — MISSES by 0.0101
valley_engagement1.0130.8210.8140.5703 — CLEARS
dynamic_arc.passesPASSFAILFAIL
structural yield0.2380.1400.148
boundaries / drops10 / 427 / 508 / 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.

---

7B. THE LAST RED, CLOSED AS A MEASURED PLATEAU — THE LEVER LANDED, THE LEVER'S CEILING TESTED, AND THE RESIDUE RELOCATED

§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.

1. THE LEVER IS LANDED, BECAUSE IT IS RIGHT, NOT BECAUSE IT WOULD PASS

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.

2. WHAT IT BOUGHT ON THE ARC, MEASURED: A LARGE GAIN ON ONE TIER AND EXACTLY NOTHING ON THE OTHER

ROAD, instr_dynamic_arc, flow curvebefore the ladderafter the ladder
DRY hold_share0.2233 PASS0.3433 PASS
DRY n_holds / longest_hold_s2 / 29.72 s3 / 29.72 s
DRY structural yield / boundaries / drops0.1961 / 10 / 510.1961 / 10 / 51 — unchanged
MASTERED hold_share0.1333 FAIL0.1333 FAIL
MASTERED n_holds / longest_hold_s1 / 29.72 s1 / 29.72 s
MASTERED phase censusBUILD·RELEASE·BUILD·RELEASE·BUILD·HOLDthe 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.

3. THE LEVER'S CEILING, TESTED RATHER THAN ARGUED — ALSO NOTHING

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.

4. WHY IT IS INERT, AND IT IS STRUCTURAL RATHER THAN A TUNING ACCIDENT

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.

5. AND THE RESIDUE IS IN THE INSTRUMENT, MEASURED ON FOUR FILES

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:

filew−2w−1w (shipped)w+1w+2branches passing
r4 ROAD0.2033 PASS0.3099 PASS0.1333 FAIL0.0000 FAIL0.1667 PASS3 of 5
r3 ROAD0.1333 FAIL0.1333 FAIL0.2100 PASS0.4500 PASS0.1333 FAIL2 of 5
r4 FALLS0.1736 PASS0.0578 FAIL0.1736 PASS0.1653 PASS0.1653 PASS4 of 5
r3 FALLS0.2231 PASS0.0868 FAIL0.1446 PASS0.0992 FAIL0.3306 PASS3 of 5
r4 ROUNDS0.4407 PASS0.6147 PASS0.5296 PASS0.5296 PASS0.5037 PASS5 of 5
r3 ROUNDS0.5111 PASS0.6147 PASS0.5000 PASS0.5296 PASS0.5037 PASS5 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.

6. AND THE FOUR-CURVE PANEL, WHICH SHOULD HAVE BEEN ON EVERY ROW ALREADY

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:

curvewhat it containshold_shareagainst the 0.1434 floor
flow45% RMS + 35% lane simultaneity + 20% register0.1333short by 0.0101
simlane simultaneity only, no loudness term0.1922clears
cplxcomplexity index, no loudness term0.2870clears
dbpure loudness0.5833clears

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 DISPOSITION, STATED PLAINLY

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.

---

8. WHAT IS STILL OPEN, NAMED

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 unwiredharmony.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.

---

8A. THE OPEN LIST, RE-SCORED AGAINST HEAD (round 4 FINAL, 2026-08-08)

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
0REDUCED, 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
1STILL 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
2UNCHANGED. The low-end pairs stand as listed; the ROUNDS broker/drone octave is still round 5's
3UNCHANGED 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
4UNCHANGED. 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
5UNCHANGED. The three new instruments are still deliberately outside floor_instruments.MODULES; pass7_battery.py remains their consumer. Still a director call
6STALE — 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
7UNCHANGED. The ROUNDS B09/B12 same-octave residue is still round 5's, still REPORT-tier
8UNCHANGED 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

8B. THE OPEN LIST AT ROUND-4 CLOSE — RE-SCORED AGAIN, AFTER THE SECOND ARC PASS

Every item re-checked against the re-emitted plans and the re-rendered files, not against §8A.

#verdict at round-4 CLOSE
0CLOSED 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
1STILL 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
2IMPROVED, 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
3UNCHANGED 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
4UNCHANGED. sync_composite still has no corpus band and none was invented
5UNCHANGED. The three new instruments are still deliberately outside floor_instruments.MODULES; still a director call
6CLOSED at §8A (H20/H21 are wired and H21 carries a must-fire mutation)
7UNCHANGED. The ROUNDS B09/B12 same-octave residue is still round 5's, still REPORT-tier
8UNCHANGED. Any claim on melodic density names its tier
9 — NEWTHE 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.

Generated by harness/site/structure_site.py — the URL path is the repo path. review root