kitgate blocked the Fred pack and the reason turned out to be much worse than the flag it raised. Measuring the flagged files: 24 of 153 shipped loops have a peak between **-104 and -75 dBFS**. They are not quiet. They are digital silence. And they graded **0.707 to 0.896 — tier A and B**. The mechanism is that every sub-score in the loop rubric is vacuously perfect on nothing. The seam between two silences is immaculate. The DC of silence is exactly zero. Its zero crossings are trivially fine. Its bar length is whatever you cut it to, so it is bar-exact by construction. Level carries 10% of the composite, so a silent window scores 0.90 × perfect + 0.10 × nothing ≈ 0.90 and comes out tier A. The composite had a **degenerate optimum at "no audio at all"**, and the finder, doing exactly its job, walked into it: `fred_marea_bass` shipped three loops and all three were silence, from a stem measuring -22 dBFS RMS at 54% activity. Nothing downstream could catch it either. `_has_dead_bars` compares bars to EACH OTHER, so it finds a loop that fades out and is blind to one that was never there — a uniformly silent clip has a perfectly flat bar profile. This is the same trap as the fade-out loops grading S, one level deeper. So presence stops being a weighted term and becomes a **precondition**: peak below `empty_dbfs` ⇒ flag `empty`, grade 0.0, tier D, and the existing MIN_TIER filter drops it at export. The floor is -60 dBFS, and it is placed rather than tuned: the pack's peaks run -104…-75 and then jump to -47.1, a **28.4 dB empty gap**, so -60 sits in clean air with nothing near it. Three details the measurements forced: * **Presence is measured on the CHANNELS, not the mono sum.** An anti-phase stereo pair sums to exact zero; calling that "empty" would both mis-report it and suppress the mono-incompatible flag, which is the one useful thing to say about it. (Caught by an existing test, which is why it is an existing test.) * **`near-silent` (RMS < -45) is advisory and now excludes `empty`.** RMS on sparse material measures how much silence it contains, not whether it is silent — a hat loop peaking at -14.7 reads -48.8 RMS. Two questions, two lenses. * **`mono-incompatible` no longer fires on silence.** Two independent noise floors are uncorrelated, so silence reads as maximally mono-incompatible; four of MAREA's flagged vox loops were simply empty. `kitcheck` asks the presence question too, from its own code path, sharing the one constant by import so the two lenses cannot drift apart. Also: restage was not idempotent. Export stages in float and writes PCM_24, so the peak read back off disk misses the ceiling by a quantization step, measures a hair hot, and asks to be staged again — by -0.00003 dB, every run, requantizing every file in the kit each time. `DEAD_BAND_DB = 0.05` (inaudible, four orders of magnitude above the quantization floor). The dry run now reports 0 of 42 kits, which is what it was supposed to say in the first place. 7 tests; suite 115 → 119.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| at | Loading commit data... | |
| bridge | Loading commit data... | |
| foundry | Loading commit data... | |
| pulsar-parvagues-hud | Loading commit data... | |
| pvlint | Loading commit data... | |
| tests | Loading commit data... | |
| README.md | Loading commit data... | |
| analyze_samples.py | Loading commit data... | |
| audio-lens.py | Loading commit data... | |
| bank-check.py | Loading commit data... | |
| button-column-audit.py | Loading commit data... | |
| button_roles.py | Loading commit data... | |
| cheat-sheet.py | Loading commit data... | |
| check-audio-graph.sh | Loading commit data... | |
| check-boot-blocks.py | Loading commit data... | |
| check-boot.sh | Loading commit data... | |
| check-drift.sh | Loading commit data... | |
| check-mix.py | Loading commit data... | |
| check-preload.sh | Loading commit data... | |
| check-tracks.sh | Loading commit data... | |
| control-lens.py | Loading commit data... | |
| deshadow-helpers.py | Loading commit data... | |
| fader-baseline.py | Loading commit data... | |
| fan_check.sh | Loading commit data... | |
| fix-button-roles.py | Loading commit data... | |
| fix-mute-roles.py | Loading commit data... | |
| gen_tokens.py | Loading commit data... | |
| gen_ts_types.py | Loading commit data... | |
| gig-log.py | Loading commit data... | |
| gig-metadata.py | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gig_record.sh | Loading commit data... | |
| install-protect.sh | Loading commit data... | |
| lcxl-init.py | Loading commit data... | |
| lcxl-leds-watch.service | Loading commit data... | |
| lcxl-leds.py | Loading commit data... | |
| lcxl_grid.json | Loading commit data... | |
| lcxl_grid.py | Loading commit data... | |
| master-out.py | Loading commit data... | |
| migrate-columns.py | Loading commit data... | |
| mock-lcxl.py | Loading commit data... | |
| mute.tidal | Loading commit data... | |
| orphan-orbits.py | Loading commit data... | |
| parvagues-protect.service | Loading commit data... | |
| parvagues-protect.sh | Loading commit data... | |
| parvagues-samples.service | Loading commit data... | |
| parvagues-sc-watchdog.service | Loading commit data... | |
| probe-chain.py | Loading commit data... | |
| pvbanks.py | Loading commit data... | |
| rig-pulse.py | Loading commit data... | |
| sample-watcher.py | Loading commit data... | |
| sample_tfidf.py | Loading commit data... | |
| sc-watchdog.sh | Loading commit data... | |
| set-coherence.py | Loading commit data... | |
| setlist.py | Loading commit data... | |
| setlist_samples.py | Loading commit data... | |
| shipowiz.py | Loading commit data... | |
| silent-eval.py | Loading commit data... | |
| solo.tidal | Loading commit data... | |
| surface-columns.py | Loading commit data... | |
| take-lens.py | Loading commit data... | |
| take-master.py | Loading commit data... | |
| take-segments.py | Loading commit data... | |
| tempo-lens.py | Loading commit data... | |
| tidal-remote.py | Loading commit data... | |
| tools.png | Loading commit data... | |
| unmute.tidal | Loading commit data... | |
| unsolo.tidal | Loading commit data... |