LAYER_CENSUS_VALIDATION.md

music/exemplars/instruments/LAYER_CENSUS_VALIDATION.md

LAYER CENSUS — instrument (b) validation

Tier: MEASURED INSTRUMENT. Produced by harness/music_gen/instr_layer_census.py (v1).
Machine record: build/audio/exemplars/instruments/LAYER_CENSUS_VALIDATION.json.
Governing ruling: docs/spine/DECISIONS_PENDING_JOSH.md :: MUSIC ROUND 1 GRADED + THE COMPOSITION FLOOR (commit da627060).
Legal posture: Analysis for understanding only. Cards read from disk; lawfully-obtained audio decoded for measurement and never copied, redistributed, or used as model input.
Generated: 2026-08-07T23:00:09+00:00.

1. The one-paragraph answer

The tracks Josh has loved for decades run a measured mean of 5.43 concurrent spectral streams, in a range of 4.38 to 6.35 — the sparsest being Magus Castle and the densest Chrono Trigger Main Theme. That is not dozens, and the reason it is not dozens is the instrument rather than the music: the estimator was calibrated against synthetic mixes with planted answers, it tracks the truth to within about one source up to eight concurrent layers, and then it SATURATES near 8 however many are really there. Every real orchestral track in the pool sits on that ceiling. So the first honest result is a negative one: a mono mixdown cannot tell you whether a cue runs twelve layers or forty, this instrument cannot adjudicate the layer clause of Josh's floor, and the composed manifest in section 6 is the only thing that can. The second result is positive and is the one the sitting needed. Against the eighteen candidates Josh turned down, the loved tracks separate on DENSITY at AUC 0.826 — hits 5.43 mean streams against the candidates' 4.89 — while they do NOT separate on entrance spread at all (0.385; the candidates' median spread 0.821 is if anything wider than the hits' 0.792). The rejected round is not a wall and it is not badly staged: it changes texture MORE often than the music Josh loves (16 entrances against 12) and it is simply THINNER while it does so, and slower to arrive at full texture (0.317 of the way in against 0.165). 13 of 18 clear the corpus-derived floor and 1 of 18 clear the target. Within album — the controlled framing, hits against their own siblings — the strongest axis is entrance_spread at AUC 0.679.

2. Three tiers, and why the cheap one may not impersonate the expensive one

3. What the Tier-2 estimator measures, and its error

Calibrated on synthetic ladders whose answers were planted before the estimator saw them. Every figure below was re-derived by the controls in the same process that wrote this file.

propertymeasured value
accurate range1 to 8 concurrent sources
mean absolute error inside that range0.25 sources
ceiling — sixteen planted sources read as7
entrance time, median absolute error1.18 s
two sources at EXACT unison read as1 (truth 2 — undercount)
two sources at a two-cent detune read as5 (truth 2 — overcount)
one source sweeping four octaves reads as4 (truth 1 — overcount)
one source reads as1
digital silence reads as0

The accuracy curve, planted against measured.

planted sourcesmeasured
22.00
33.00
55.00
87.00

4. The control census

14 of 14 controls passed. 5 of 5 mutation arms were caught.

idcontrolresult
C01single-layer control reads exactly onepass — est=1.0
C02layer count recovered within 1.0 MAE over K in {2,3,5,8}pass — MAE=0.25 curve=[{'k': 2, 'est': 2.0}, {'k': 3, 'est': 3.0}, {'k': 5, 'est': 5.0}, {'k': 8, 'est': 7.0}]
C03sixteen sources saturate at the declared ceiling, not at sixteenpass — est=7.0 declared ceiling=8
C04planted entrances recovered (median error under 3 s, at least two found)pass — detected=[6.2, 9.9, 16.7] truth=[5.0, 10.0, 15.0] median_err=1.18s
C05planted exits produce at least two detected subtractionspass — exits=[8.4, 12.3] truth=[10,13,16]
C06unison doubling is mis-counted and the module DECLARES both directionspass — exact=1 (truth 2, undercount) detuned=5 (truth 2, overcount)
C07one source sweeping four octaves overcounts, and it is DECLAREDpass — est=4 truth=1
C08digital silence reads zero layerspass — est=0.0
C09degenerate cards return available=False and never raisepass — 7 malformed inputs handled
C10Tier-1 band census recovers the planted band count and entry positionspass — n_bands=6 entries=[0.0, 0.1, 0.25, 0.4, 0.6, 0.8]
C11entrance spread separates a front-loaded wall from a staged cuepass — wall=0.000 staged=0.540
C12a card-only run leaves every layer metric None and adjudicates nothingpass — Tier-2 keys present and None; Tier-1 keys populated
C13stem-manifest validator accepts a good manifest and rejects six defect classespass — composed peak=3.0 entrances=2 subtractions=1
C14the published error bar still matches the ladderpass — MAE=0.25 ceiling=7

The mutation arms. Each deliberately breaks one decision inside the module and the run records which control caught it. A mutation nothing catches means a control that is not armed, and the self-test fails on it.

idmutationcaught byevidence
M1plateau absorption disabled (MIN_RUN_S -> 0)C04caught — entrances 3 -> 6 against 3 planted, on the staged-entrance control
M2activity threshold coarsened (TAU 0.05 -> 0.30)C02caught — K=8 reads 0.0 under the mutation
M2bactivity threshold sharpened (TAU 0.05 -> 0.005)C01caught — single layer reads 17.0 under the mutation
M3transition detector made sign-blind (exits counted as entrances)C05caught — sign-blind count 3 against 2 true subtractions
M4silence gate removedC08caught — silence reads 1.0 layers under the mutation

5. The corpus reading

5.1 Tier 1 — the band census, every card

Within-album AUC over 30 hits against 927 siblings. The multiplicity price for this ten-feature bank is a permutation p95 of 0.1313 on |AUC-0.5|; the wider 103-feature bank the program uses elsewhere prices it at 0.195 (PATTERN_FINDINGS_V2.md section 1), and a band axis quoted alongside those features must clear the wider bar, not this one.

band axisAUCdeviationdirectionhits above album medianbinomial p
n_band_entrances0.6420.142higher in hits19/280.0872
n_band_subtractions0.6280.128higher in hits21/280.0125
band_entrance_front_load0.5340.034higher in hits3/280.0000
band_mean_simultaneity0.5280.028higher in hits16/280.5716
band_active_fraction_mean0.5270.027higher in hits15/280.8506
band_headroom0.4730.027lower in hits12/280.5716
n_bands_active0.5200.020higher in hits0/280.0000
band_entrance_spread0.5180.018higher in hits13/280.8506
band_peak_simultaneity0.5120.012higher in hits0/280.0000
band_peak_position0.5060.006higher in hits13/280.8506

5.2 Tier 2 — how many layers does a track Josh loves actually run

Sampling rule: within each album carrying a hit, sort sibling track ids and draw up to 16 without replacement using random.Random(20260807). Measured: 30 hits, 260 siblings, 18 round-1 candidates, in 587.3 seconds.

Read the layer figures against section 3: the estimator saturates near 8, so peak is a ceiling reading for nearly every row here and carries little information. The MEAN and the staging columns are the informative ones.

idclasstitlemean streamspeakentrancessubtractionsentrance spreadplateaus
EX_006TITLE_CHARACTERChrono Trigger Main Theme6.35915170.70617
EX_145BATTLEGo Straight6.25817170.83318
EX_053BATTLECynthia Battle Theme6.228770.76112
EX_055BATTLEThe Cyber Grind6.14814160.77216
EX_075BOSSDancing Mad6.07986880.89199
EX_142EXPLORATIONShinshu Field6.04821190.78817
EX_046BATTLEBFG Division5.97844430.88641
EX_014TITLE_CHARACTERTekken 2 Attract Movie: Sound Trac5.867120.0002
EX_094TENSIONDark Creature Pursuit5.728440.8157
EX_180CREDITS_TRIUMPHDreams Dreams5.728580.2934
EX_124TITLE_CHARACTERDeus Ex Main Title (UNATCO)5.688770.6508
EX_147BATTLEFighting of the Spirit5.617770.70911
EX_017EXPLORATIONSweden5.55919170.79721
EX_064BOSSLudwig, the Holy Blade5.47819190.82319
EX_179CREDITS_TRIUMPHEnding Theme (Balance is Restored)5.4391111090.903112
EX_110CREDITS_TRIUMPHWant You Gone5.429980.77110
EX_030EXPLORATIONRoute 2095.427760.7858
EX_136EXPLORATIONHumming the Bassline5.40721200.84224
EX_018EXPLORATIONSubwoofer Lullaby5.40911110.81911
EX_082MELANCHOLICThe Best Is Yet to Come5.32828270.81636
EX_162MELANCHOLICSchala's Theme5.26712130.71212
EX_007TITLE_CHARACTERFrog's Theme5.268760.6797
EX_088MELANCHOLICAn Unwavering Heart5.238560.5469
EX_033EXPLORATIONCorridors of Time5.23712110.84813
EX_161MELANCHOLICAria di Mezzo Carattere5.16926250.84019
EX_032EXPLORATIONTerra's Theme5.12815160.70920
EX_113CREDITS_TRIUMPHTo Good Friends4.76912120.88412
EX_092TENSIONSnake Eater (Ladder Climb)4.54718180.85119
EX_022EXPLORATIONWind Scene4.387970.84212
EX_102TENSIONMagus Castle4.387330.7222
axisAUC within albumdeviationdirectionhits above album median
entrance_spread0.6790.179higher in hits22/28
n_texture_plateaus0.6580.159higher in hits20/28
est_layers_max0.6540.154higher in hits14/28
n_entrances0.6500.150higher in hits20/28
n_subtractions0.6220.122higher in hits17/28
n_deep_subtractions0.6130.113higher in hits17/28
est_layers_mean0.6030.103higher in hits17/28
entrance_front_load0.5880.088higher in hits17/28
est_layers_p900.5820.082higher in hits6/28
late_entrance_frac0.5640.064higher in hits14/28

5.3 The eighteen candidates Josh turned down

idthememean streamspeakentrancessubtractionsentrance spreadfloortarget
SLICE_T1_EXPLORATION_FLORES_a_4102T1_EXPLORATION_FLORES4.82716120.920passFAIL
SLICE_T1_EXPLORATION_FLORES_a_4101T1_EXPLORATION_FLORES4.61814150.713FAILFAIL
SLICE_T1_EXPLORATION_FLORES_a_4103T1_EXPLORATION_FLORES4.61714140.790FAILFAIL
SLICE_T1_EXPLORATION_FLORES_a_4104T1_EXPLORATION_FLORES4.14713140.859FAILFAIL
SLICE_T2_BATTLE_CACI_b_42044T2_BATTLE_CACI4.98615150.823passFAIL
SLICE_T2_BATTLE_CACI_a_42011T2_BATTLE_CACI4.937660.830passFAIL
SLICE_T2_BATTLE_CACI_b_42033T2_BATTLE_CACI4.767650.832passFAIL
SLICE_T3_TITLE_PROTAGONIST_a_43011T3_TITLE_PROTAGONIST5.50824210.834passpass
SLICE_T3_TITLE_PROTAGONIST_a_43022T3_TITLE_PROTAGONIST5.34819200.810passFAIL
SLICE_T3_TITLE_PROTAGONIST_a_43033T3_TITLE_PROTAGONIST5.08820190.815passFAIL
SLICE_T3_TITLE_PROTAGONIST_b_43033T3_TITLE_PROTAGONIST5.06820220.835passFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN5.35816170.770passFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN5.34816160.820passFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN5.09824230.845passFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN4.84919130.841passFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN4.75716160.748passFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN4.72823190.797FAILFAIL
SLICE_T4_MELANCHOLIC_HOME_AND_LOSST4_MELANCHOLIC_HOME_AN4.34821170.809FAILFAIL

The direct contrast, loved tracks against the eighteen. This is NOT within-album and cannot be: the candidates share no composer, no album, no production chain and no era with anything in the corpus, so era and mastering are uncontrolled here. It is a descriptive contrast, and it is the only way to ask whether this instrument can see what Josh heard. AUC above 0.5 means the hits score higher.

axisAUC hits vs candidateshits mediancandidates mediancandidates below the hits' 10th percentile
est_layers_mean0.8265.4264.8865/18
est_layers_median0.7436.0005.0001/18
est_layers_p900.6397.0006.0000/18
n_texture_plateaus0.36112.50017.5000/18
n_entrances0.36712.00016.0000/18
layer_peak_position0.3780.1650.3171/18
time_to_first_full_texture_frac0.3780.1650.3171/18
est_layers_max0.6158.0008.0001/18
entrance_spread0.3850.7920.8210/18
n_subtractions0.40712.50016.0001/18
n_deep_subtractions0.4213.0004.5003/18
entrance_front_load0.4300.2350.2772/18
late_entrance_frac0.5320.4550.4672/18

5.4 The floor, derived rather than asserted

6. The composed count — the manifest that makes the floor exact

The audio estimator cannot count dozens and never will from a mixdown. When we author the track we do not need to estimate: we wrote the parts. One row per layer, six required fields, no nesting.

This is not a nicety, and the sibling research lane settles it independently. docs/proposals/music/craft_research/ORCHESTRATION_TEXTURE_AND_DENSITY.md section 3.6 rules that Josh's dozens should be read against the PART count and puts a full cue at twenty-four to forty discrete musical lines, thinning to six or fewer for the sparse nature-and-humming class he also named. This instrument's ceiling is about eight. The two numbers do not overlap, and the consequence is plain: TIER 2 CANNOT ADJUDICATE THE LAYER CLAUSE OF JOSH'S FLOOR. A twenty-four-part cue and a forty-part cue are indistinguishable to it, and so are a twelve-part cue and either of them. The manifest below is therefore the load-bearing instrument for that clause, not a convenience, and the audio tier's real job is the STAGING profile — entrances, exits, plateaus, spread — which it measures well and which the manifest also carries.

fieldmeaning
idstr -- unique within the track, e.g. L07
instrumentstr -- what plays it, in the palette's own vocabulary
rolestr -- one of: melody, counter_melody, harmony, bass, pad, ostinato, percussion, ambience, nature, voice, effect
entry_sfloat -- first sounding time, seconds from track start
exit_sfloat -- last sounding time; equals total_length_s if it plays to the end
registerstr -- one of the ten card bands: sub, low_bass, bass, low_mid, mid, upper_mid, presence, brilliance, air, ultra
freq_slot_hzoptional [lo, hi] -- the frequency slot this layer claims, for clash checks

7. What this instrument cannot see

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