Variable SPEAKER_ALIGN_REFUSALSConst
SPEAKER_ALIGN_REFUSALS: readonly [
"too-few-frames",
"no-shared-energy",
"empty-band",
"shape-mismatch",
"residual-exceeds-half-sample",
"no-mic",
"mic-routed",
"no-reference",
"no-reference-reading",
"no-capture",
"stale-ring",
"low-coherence",
"out-of-range",
"correction-not-actuated",
] = ...
Every reason a loudspeaker-alignment reading may have NO fit, in one closed vocabulary.
The leading run is ALIGN_FIT_REFUSALS — the arithmetic's own, shared verbatim with the microphone-pair case because it is the SAME fit and a client that learned those words once must not have to learn them again. The rest are facts only this watcher knows.
reference-is-targetis deliberately ABSENT: measuring the reference output against the mic is not an error here, it is the FIRST measurement — the one every other output's correction is a difference from. Its own correction is zero by construction.