rig-doctor's samples check had a structural hole I only saw once it ran: it shells out to sample-pack, which resolves bank names by walking the Dirt-Samples tree of the box it is running on. On PLN's laptop that is 281 banks and looks fine. On an empty XPS24 it reports "0 banks resolve" — true, and useless. The check could never say "281 missing", which is the only thing a fresh machine needs to hear. The fix is an EXTERNAL reference, committed: sample-manifest.json at the repo root (463 KB, 281 banks, 9385 filenames, generated by tools/sample-pack.py --all). rig-doctor now falls back to it when no --bundle is given, and --bundle accepts a manifest FILE as well as a bundle directory. So the ordering that makes a same-day setup possible works: git clone, run the doctor, get the exact list of missing banks — all before 15 GB of audio has moved anywhere. Committed deliberately, not gitignored. A generated artifact that nothing ever compares against reality is how preload.scd drifted for weeks and made its debut as a crackle at a venue. This one is diffable, and its own freshness is visible in git. Mutation-verified rather than assumed, because a checker that cannot report absence is exactly the failure being fixed here: planted two nonexistent banks in a copy of the manifest, confirmed the check goes FAIL, names them, counts 2/281 with sizes, and flips the final verdict from "yes" to "no". That test also exposed a fix-pointer that could not be followed — with a manifest file it said "see <manifest.json>/README.md", a path that cannot exist. Now _bundle_fix() distinguishes the three cases: you have the bundle directory (cp from it), you have a bundle's MANIFEST.json (cp from its parent), or you have only the committed list (rsync from the freebox staging copy, or rebuild with sample-pack on a box that has the samples). A fix you cannot follow is not a fix. The carry-on bundle it describes is built and verified: 281 banks, 9385 files, 15,108,195,468 bytes, checked file-by-file against its own manifest with 0 mismatches, and staged to /mnt/freebox/PLN/parvagues-carryon byte-identical (9387 files both sides, 21m53s over SMB at ~11 MB/s). 903 passed, 0 failed.
| 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... | |
| ardour-drop-missing-sources.py | Loading commit data... | |
| ardour-tidal-live.desktop | Loading commit data... | |
| ardour_session.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-log.service | Loading commit data... | |
| gig-metadata.py | Loading commit data... | |
| gig-preflight.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-path.py | Loading commit data... | |
| lcxl3-driver.py | Loading commit data... | |
| lcxl3-driver.service | Loading commit data... | |
| lcxl3-probe-display.py | Loading commit data... | |
| lcxl3.py | Loading commit data... | |
| lcxl3_language.py | Loading commit data... | |
| lcxl_grid.json | Loading commit data... | |
| lcxl_grid.py | Loading commit data... | |
| master-out.py | Loading commit data... | |
| midi-autoconnect.service | Loading commit data... | |
| midi-autoconnect.sh | Loading commit data... | |
| midiviz.desktop | Loading commit data... | |
| midiviz.service | 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-gear | Loading commit data... | |
| parvagues-protect.service | Loading commit data... | |
| parvagues-protect.sh | Loading commit data... | |
| parvagues-rig.target | 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-doctor.py | Loading commit data... | |
| rig-pulse.py | Loading commit data... | |
| rig_units.py | Loading commit data... | |
| sample-pack.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... | |
| sweep_state.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-ardour-autoroute.service | Loading commit data... | |
| tidal-ardour-autoroute.sh | Loading commit data... | |
| tidal-remote.py | Loading commit data... | |
| tools.png | Loading commit data... | |
| unmute.tidal | Loading commit data... | |
| unsolo.tidal | Loading commit data... |