-
fix(finish): gate the global EDA on stem LENGTH, not existence — and report the A/B · 565db062
The finisher decided whether to run the local-vs-global comparison by testing whether the global drums stem exists. A soundfile writer creates its file the instant it opens, so that test is true from the first second of an hour-long pass. This is the same trap that had me reading "4 of 14 sections done" off a directory count earlier tonight, and it would have been worse here than a wrong progress number: the comparison seeks into the global stems by ABSOLUTE TIME, so a truncated global file does not fail, it silently mis-aligns every later track and returns plausible correlations for the wrong audio. Now it probes the duration and requires ~3700 of 3779 seconds before attempting the global half, falling back to the section-only EDA with the shortfall printed. In practice the unit is ordered After= the demucs producer so the stems should be complete anyway — but "should be" is exactly the assumption that a demucs failure mid-global would have quietly violated, and the finisher runs unattended while PLN sleeps. Also made the summary report the air-shelf A/B explicitly, since that pair is the thing he has to judge: both masters listed with size, sample rate, channels and duration, and a loud MISSING line if either did not render. The EDA settled that the 8-16 kHz deficit is cymbals rather than codec noise (drums hold 0.367% of their own energy up there against 0.084% for the runner-up, a 4.4x concentration), which licenses opening the shelf but says nothing about how far — so the summary puts the two candidates side by side rather than announcing a winner.
PLN (Algolia) authored565db062
×