fix(preload): the gate asked the wrong question, and asked it in the wrong locale
gig-up runs check-preload --fix whenever the check fails, so a plan that was a deliberate superset scored STALE and got silently narrowed — bass2 would have been dropped on gig night and ete_a_mauerpark would have lazy-loaded mid-set. Membership now uses comm -13/-23 (missing is a fault, extra is information), counts join on shared banks, and --fix emits the union so it can never shrink. Second hole, latent: under en_US.UTF-8 a whole-line sort orders 'bass2 5' before 'bass 4' while join compares field 1, so join dropped a pair (123 of 124 shared banks) and 2>/dev/null ate its warning — a count check with a hole reports ok. LC_ALL=C and sort -k1,1 on every set operation; join now equals comm -12. Extras are also count-checked against disk: SuperDirt asserts the recorded count at boot whether or not the bank is in the set.
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment