openmixer — generated API reference
    Preparing search index...

    Variable ALIGN_REFUSALSConst

    ALIGN_REFUSALS: readonly [
        "too-few-frames",
        "no-shared-energy",
        "empty-band",
        "shape-mismatch",
        "residual-exceeds-half-sample",
        "no-reference",
        "reference-is-target",
        "no-capture",
        "stale-ring",
        "low-coherence",
    ] = ...

    Every reason a panel may be shown NO fit, in one closed vocabulary.

    The leading run is ALIGN_FIT_REFUSALS — arithmetic that cannot be done. The rest are facts only the WATCHER knows: no reference picked, a reference that is the target, a lane with no capture, a ring that stopped advancing, and a fit whose coherence is too low to act on. They live in ONE list because a surface renders ONE thing — "why is there no number" — and two vocabularies for that question is two sentences a client must learn to reconcile.

    A refusal is VISIBLE or it did not happen (spec §6): the row always says which of these it is, never an ambiguous blank.