Fold a run of paired frames (the pair-atomic snapshot §2 of the spec reuses,
mixerAlignPair) into the per-bin H1 estimate and coherence.
Pure: no clock, no state, no I/O — same discipline fitAlignment holds. Reused rather than
restated for the below-MIN_FRAMES degenerate-coherence law (smart-align.ts's own module
doc): coherence over a single frame is algebraically 1 for any input at all, so a run shorter
than MIN_FRAMES refuses rather than reporting a confidence it cannot stand behind.
Fold a run of paired frames (the pair-atomic snapshot §2 of the spec reuses,
mixerAlignPair) into the per-bin H1 estimate and coherence.Pure: no clock, no state, no I/O — same discipline
fitAlignmentholds. Reused rather than restated for the below-MIN_FRAMESdegenerate-coherence law (smart-align.ts's own module doc): coherence over a single frame is algebraically 1 for any input at all, so a run shorter thanMIN_FRAMESrefuses rather than reporting a confidence it cannot stand behind.