PASS4_VERDICT.md

music/pass4/PASS4_VERDICT.md

Pass 4 — the verdict

Honest tier: STRUCTURE. Nobody has heard these tracks — not Josh, not the director, not the lane

that made them. Every claim below is either a property of the written score or a number measured off

the rendered audio by the same rulers pass 3 and round 2 were measured with. There is no listening

verdict here and none should be read into it. Nothing from this lane goes on the review queue;

publishing is the director's act.

Pass 4 exists for exactly three defects the pass-3 verdict named in its own text, and it changes

nothing else. The region, the canon, the care line, the three basic ideas and the honest limits are

pass 3's, unchanged, because the canon has not changed and the melodic material was not what failed.

0. The headline, and the one bar that was written as a bar

round 2pass 3PASS 4
score-side targets passed, same code7 of 5755 of 5757 of 57
pass-4 addition rows24 of 24
PASS4_FLORES_ROUNDS measured sections8320
dynamic_arc, cues passing0 of 32 of 32 of 3
intra-region distinctness3 of 3 pairs FLAGGEDcleanclean
cross-track distinctness, set0.01.01.0

WQ_0086 WROTE ITS OWN BAR AND NAMED BOTH HALVES OF IT: *"measured section count above 8 (round 2's

caci measured 8; pass 3 measures 3) AND the battery's dynamic_arc still passing. Either alone is not

the bar -- the two axes are the ones in tension."* On its own target cue, PASS4_FLORES_ROUNDS,

both halves are met: 20 measured sections and dynamic_arc PASS, with a longest measured hold of

34.92 s against the instrument's 22.287 s floor.

THE ONE THING THAT IS NOT MET is the broader form of that bar. dynamic_arc passes ROAD and ROUNDS

and FAILS FALLS, which is the same two-of-three pass 3 scored — a different two. Its mechanism is

measured, not guessed, and it is in section 4 with its named repair.

1. The three repairs, and what each one is

(a) WQ_0086 — the hold rotation

The diagnosis was pass 3's and it was not re-run. A chroma-and-MFCC self-similarity segmenter reads a

sustained hold as ONE section by construction; pass 3's holds held both the energy and the layer set,

so four to six cycles read as one block and twenty-two planned sections measured as three. The corpus

does both at once — hold share 0.407 AND 5.09 boundaries per minute — which is music that holds its

ENERGY while continuously changing its TREATMENT.

So inside every flat run, every one to two cycles, three things move and the declared energy does

not: the CARRIER (the theme is handed to a relief player and taken back), the INSTRUMENT FAMILY (two

families of comparable weight take turns, so the sounding part count is unchanged across the seam and

only the timbre moves), and the IRAMA LEVEL (the pokok spreads and the elaboration plays that many

more notes per pokok tone, so notes per beat are unchanged).

Three properties are checked rather than asserted. rotation_schedule RAISES on a plateau whose

energies are not identical. Every rotated cycle is verified against its own section's declared energy

(rotation_changes_no_energy, 0 drifted cycles on all three cues). And the irama ladder's own

elaboration rate is counted per cycle in the module self-test — the first implementation read 37 / 29

/ 19 notes per cycle across the three levels, which is a THINNING wearing a rotation's name, and it

was rebuilt until it read 37 / 33 / 31.

TWO REFINEMENTS THE RENDER FORCED, both recorded because both were measurements rather than

preferences.

everywhere, and the counter-melody then had no single primary layer to be measured against — the

scorecard pairs it with the layer it shares the most cycles with, and a carrier fragmented across

seven players left it measured against a relief fragment. It is also the wrong composition: where a

two-voice dialogue is running, that dialogue IS the block's treatment change, and adding a third

voice is the counter-melody lane's own named failure mode. So those cycles hold the carrier and

rotate the other two axes, and each block declares which it did.

FALLS's measured holds to 20.06 s and 0.00 s against a 22.287 s floor. Every plateau long enough to

afford both now rotates as it arrives and then SETTLES for a declared spine. ROUNDS carries a

WAIVER instead, with the number that earns it: it measured 34.92 s under uniform rotation and

passed, and given a spine anyway its sections fell from 20 to 11 and its yield from 0.388 to 0.213.

A spine it does not need spends the first axis to over-buy the second.

(b) WQ_0085 — the per-cue span schedules

Pass 3's three cues carried an identical operation sequence, an identical 35/28 split and an

identical chain shape of 2.286/4/1. The work-queue row is explicit that a shuffle is not the repair,

so these are three different FORMS and the doctrine is checked on each rather than inherited from one

hard-coded arch. check_schedule fails closed on an adjacent operation repeat, on a division ramp

where the arch is required, on a missing or misplaced chain reset, and on a chain that never reaches

depth four. Five controls in the module self-test each mutate one of those and confirm the refusal.

ROAD (EXPLORATION)FALLS (SANCTUARY)ROUNDS (BATTLE)
spans + coda6 + coda5 + coda7 + coda
operation sequenceplant · sequence_tonal · modal_mutation · rhythmic_displacement · augmentation · reharmonisation_profound · liquidationplant · modal_mutation · rhythmic_displacement · reharmonisation_profound · augmentation · liquidationplant · sequence_tonal · fragmentation · augmentation · modal_mutation · rhythmic_displacement · reharmonisation_profound · liquidation
division levels0 1 2 2 0 10 1 2 1 00 1 2 0 2 1 0 (a double arch)
named / spine-changing35 / 2828 / 2238 / 31
chain mean / max / resets2.286 / 4 / 12.167 / 4 / 12.625 / 5 / 1
where the subtraction sitsspan 5 of 6span 5 of 5 — the cue ENDS on the withdrawalspan 4 of 7 — the MIDDLE

The sanctuary cue's arrival comes BEFORE its withdrawal, which is a different dramatic shape and not

a permutation: the light reaches the water and then the pool is quiet again and the loop rejoins. The

battle cue's chain has TWO ascents rather than one — phase one is a three-link chain that is cut off

at the collapse, phase two starts from the reset and reaches the cue's deepest derivation at its own

arrival — which is what a two-phase form IS, and the division levels make a double arch for the same

reason.

No two cues share an operation sequence, an operation split OR a chain shape, on all three pairs.

That is checked in the pre-render gate as a diff, per WQ_0085's own acceptance.

(c) The counter-melody repair

PASS3_VERDICT section 2 named it: hand the division layer to the ornament part and leave the carrier

nearer its skeleton, which widens the gaps without thinning the cue. Every span is now built TWICE by

the same deterministic builder with only the division level changed. The CARRIER plays the near-plain

build; the ORNAMENT instrument plays the exact difference — what division added. The subtraction is

keyed on (pitch, onset) and never on duration, because divide() shortens the structural note it

decorates and a duration-keyed difference would hand the carrier's own tune to the glockenspiel;

that is a must-fire control in the module self-test, on a fixture whose notes fill their gaps

(the first fixture tried passed for the wrong reason and is recorded as such).

The counter-melody is then derived against the near-plain build — the same notes the scorecard

measures it against — and the sanctuary cue's arch was restored to its full shape (0 1 2 1 0) rather

than run at pass 3's division_offset of −1, because the density now lands on the glockenspiel and

not on the recorder.

pass 3 FALLSPASS 4 FALLSfloor
counter onset coincidence0.3571 MISS0.1538≤ 0.35
counter exclusive-sounding fraction0.0553 MISS0.1071≥ 0.10

Both pass-3 misses are closed, and they are the only two targets pass 3 failed.

2. What the score says — the primary acceptance evidence

build/audio/pass4/SCORE_SCORECARD.{json,md}, computed from the plans through the renderer's own

compiler before a sample was played, per the score-first ruling. ROUND 2 AND PASS 3 WERE SCORED BY

THE SAME CODE, which is what makes the comparison a measurement rather than a memory.

BASE BATTERY: 57 of 57. Every one of the nineteen targets on each of the three cues. Pass 3

scored 55, round 2 scored 7.

PASS-4 ADDITIONS: 24 of 24 — eight rows a cue, reported in their own block and never folded into

the base battery, because folding them in would move the denominator and end the comparison. Each row

cites the artifact that asked for it, and five of them have must-fire controls: stripping the rotation

events turns the hold row red, moving a rotation block's energy turns the flatness row red, an empty

ornament part turns the surface-split row red.

Selected numbers, all three cues:

ROADFALLSROUNDS
longest complete theme, bars (≥ 8)181018
named / spine-changing operations35 / 2828 / 2238 / 31
chain depth mean / max / resets2.286 / 4 / 12.167 / 4 / 12.625 / 5 / 1
theme-layer bar share (≥ 0.50)0.8890.8520.911
theme notes per sounding bar (≥ 2.0)2.5313.2612.655
counter onset coincidence (≤ 0.35)0.0000.1540.000
counter exclusive-sounding (≥ 0.10)0.3160.1070.404
planned hold share vs class median0.444 / 0.3350.593 / 0.5010.548 / 0.366
planned energy minimum vs class floor0.40 / 0.2740.40 / 0.2220.52 / 0.502
composed silence, s (fraction)8.275 (0.037)4.167 (0.023)4.864 (0.024)
pairwise theme distinctness (< 0.80)0.4 / 0.5 / 0.5 across the three pairs — all DISTINCT

THE COMPOSED-REST BAND HOLDS: every declared silence window is verified CLEAN against the compiled

notes on all three cues, and the score-side fractions (0.023 – 0.037) sit around the corpus median of

0.0212. One window was found DIRTY on the first ROUNDS build and repaired — the broker's muted horn

struck at beat 7 with a three-beat duration and rang two beats into a window opening at beat 8, and a

section cut only removes notes that START inside it. The broker's line now ends where phase one

ends, which is also the right answer for the drama.

3. The PRE-RENDER gate, published before a sample was played

build/audio/pass4/PRE_RENDER_GATE.{json,md}. VERDICT: PASS, with zero blocking findings.

Round 2's plans contained NO HOLDS — intended shares 0.000, 0.000 and 0.061 — and nobody knew until

the audio had been made and graded, because its section maps assigned a different intensity to nearly

every section and a flat step could not exist by construction. Hold share is unit-free on both sides

of the comparison and computable from a JSON file in milliseconds, so that absence is now found for

free.

cueplanned hold shareclass medianlongest planned holdrotation blocksadditions
PASS4_FLORES_FALLS0.59260.501053.33 s128/8
PASS4_FLORES_ROAD0.44440.334741.38 s68/8
PASS4_FLORES_ROUNDS0.54840.365638.92 s158/8

THE GATE FIRED TWICE DURING THE BUILD AND BOTH TIMES IT WAS RIGHT. Its hold row first demanded that

every CYCLE of every declared hold carry a rotation block, and it blocked all three cues the moment

the hold spine landed. The spine is the correct composition, so the ROW moved — deliberately and in

one direction only: a hold must still CONTAIN rotation, and the part that does not rotate must be a

spine the plan DECLARED with its length. An undeclared un-rotated stretch is still a finding. Its

second firing blocked ROUNDS for having no spine at all, which is how the waiver came to carry the

34.92 s measurement that earns it rather than being a silent exemption.

4. What the render measures — the fidelity check, run second

The audio battery is the RENDER-FIDELITY check under the score-first ruling and is not evidence of

quality. Every measurement is emitted rather than transcribed

(RENDER_SUMMARY.json, measurements/*_PLANNED_VS_MEASURED.json, DROP_PROVENANCE.json,

FLOOR_*.json).

ROADFALLSROUNDSpass 3 ROAD / FALLS / ROUNDS
length s223.4180.0201.1223.4 / 193.3 / 194.6
sections measured15212015 / 17 / 3
boundaries per minute3.766.675.67corpus 5.09
structural yield, all drops0.2860.5560.3880.342 / 0.485 / 0.067
structural yield, composed drops only1.5562.5002.7141.556 / 4.000 / 0.400
silence fraction0.00000.00930.02060.0250 / 0.0235 / 0.0117
deepest drop dB−14.76−10.80−23.49−12.61 / −16.77 / −7.21
battery dynamic_arcPASS (3 holds, longest 29.72 s)FAIL (0 holds)PASS (2 holds, longest 34.92 s)PASS / PASS / FAIL
battery instruments passing6 of 75 of 77 of 7

THE BATTLE CUE IS THE PASS'S RESULT. Three measured sections became twenty, its structural yield went

from 0.067 to 0.388, its deepest drop from −7.21 dB to −23.49, and dynamic_arc went from FAIL to

PASS — every instrument in the battery that can decide now says pass on it. WQ_0086's bar named two

axes in tension and both are cleared at once.

THE SANCTUARY CUE FAILS dynamic_arc AND THE MECHANISM IS MEASURED. It reports ZERO holds and a

longest hold of 0.00 s against a 22.287 s floor, and a 40-second declared spine did not fix it. The

instrument's own phase segmentation says why: it reads one 62-second BUILD from 15.6 s to 77.3 s and

then a RELEASE, so the measured flow PEAKS at about 77 s — inside the declared plateau, at the

"grown" section — and DECLINES through the arrival that follows it. The cue's declared energy is flat

across c9–c16 and its measured flow is not, because the arrival is written as the widest registration

and, after the surface split moved the divisions onto a glockenspiel that is itself in a rotating

family, the arrival is measurably THINNER than what precedes it. THE NAMED REPAIR for the next rung:

make the arrival the cue's actual fullest point in parts as well as in register — hold the ornament

part out of the rotating pair through the arrival, and bring the entries that currently land at c11

in at c13 instead. That is a composition change of real size and it is not attempted here.

THE EXPLORATION CUE'S SILENCE FRACTION READS EXACTLY 0.0 AND THE COMPOSED SILENCE IS NEVERTHELESS

THERE. The score-side check verifies both windows CLEAN against the compiled notes — 8.275 s, the

largest composed silence of the three — and the audio dips to −39.4 and −40.2 dB below the track's

own p95 against a detector cliff at exactly −40. Pass 3 reached −41.4 and −42.4 in the identical

windows. Pass 4 is simply the louder render (p95 0.134 against 0.115) and its release tails scale with

it. The number that says the cue goes genuinely quiet is the deepest drop, and that IMPROVED to

−14.76 dB against a corpus floor of −10.73.

ONE HYPOTHESIS WAS TESTED AND REFUTED, and it is recorded so the next lane does not spend a render on

it. TESTED: resting every non-long-tailed part for the WHOLE cycle rather than cutting it mid-cycle,

so the ensemble really does empty to the two parts the novelty schedule claims. MEASURED: silence

fraction 0.0 → 0.0008, a hundredth of the corpus median, while the deepest drop fell from −15.6 dB to

−6.61 and the measured section count fell from 15 to 13. Two axes worse for a token gain on a third,

and the mechanism is legible — a cue already thin at a window's start has no sudden drop AT it. The

change was reverted. What DID move the drop depth was opening each cut one beat earlier, from −7.79

dB to −15.6, and that is kept. Widening the cut moved the silence FLOOR not at all, to two decimal

places, which is what said the residue is a ringing ensemble rather than an edge effect. The

remaining route is a loudness and tail policy, which is GAP-183 and belongs to that gap rather than

to a composition pass.

5. Distinctness

0 flagged, max similarity 0.0, 6 of 10 non-melodic axes varying → CLEAN.** Its own 16 known-answer

controls pass in the same run.

shares more melodic material than its declaration licenses.

the parent quotation is still spent ONCE across the region, in one cue of the three.

6. Honest limits

score says what was WRITTEN; only an ear knows whether it works, and Josh is the first ear.

lane's section 3.6 where each is labelled REPORTED or PROPOSED, none has a multiplicity null, and

none can be run on the corpus because we hold no scores for the corpus. Clearing them is evidence

the WRITING changed. It is not evidence the music improved.

no verdict, zero of its five axes reach AUC 0.75 and its counter-melody axis is on the wrong side

of chance; WQ_0087's second item says it should be formally retired from grading rather than left

to be misread. It is printed because hiding it would be the dishonest move, not because it decides

anything.

tempo and the elaboration density together across five levels; three are implemented, the

structural TEMPO is not changed at all, and what moves is the pokok's spacing against a fixed

cycle. That is density flow without tempo flow — half of the tradition's mechanism, used because

the implemented half is the half that changes treatment without changing energy.

the counter-melody needed. It does not make the ornament writing better; the ornament part is the

same notes it always was, now heard alone instead of doubled under the carrier.

reported after the render rather than predicted before it. On two cues it was heard loudly; on the

sanctuary cue the boundary count rose and the hold did not appear.

rather than a choice. instrumentation_cards.measured_range reads only the root sfz, and both new

CC0 sets are module-assembled (body.sfz opens with #include "modules/body_keymap.sfz" and

carries no key opcode of its own), so it raises no key mapping found and compile_layer, which

calls it for every non-bed layer, cannot compile a plan naming any of the nine new ids. The caci

ring's hand-claps were written as body_perc.handclap — the crowd is canon at that ground — and

had to be put back to the VCSL claps. It is reported rather than worked around.

a gong waning is not, the bamboo flute is a baroque recorder, the phrase grammar is classical-period

European practice laid ON the colotomic cycle rather than replacing it, the kotekan figure-selection

rule is a declared Balinese import at a Manggarai node, and SANCTUARY's energy floor is borrowed

from MELANCHOLIC because SANCTUARY has no corpus rows — the weakest number in the whole scorecard.

7. What this does not say

That pass 4 sounds better than pass 3, or than round 2. Nobody has heard any of it. The score-side

scorecard says the WRITING changed in exactly the three ways the pass-3 verdict called for, and the

render says two of the three changes are audible to the instruments built for them. Whether the

writing turned into music is the one question none of this answers, and Josh is the only instrument

that can.

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