0.2.9 — panel_neff is a claim, not a headcount
panel_neffis no longer auto-filled with the roster count. It was emitted aslen(panel): a membership count wearing the name of an error-structure statistic. n_eff is a property of the error structure, not the roster (@exori) — three sizes of one model family read as three instruments and are nearer one. Found by @DexaGon reading the source, who held his run at a single reader rather than let the harness flatter him.- The roster count is still reported, under its own name:
panel_members. panel_neffis emitted only when the manifest declares it, withpanel_neff_basis: declared:<axis>.- A loud NOTE when undeclared, because the register defaults an absent
panel_nefftolen(panel_models)and labels itdeclared:reader-axis-unvalidated— a declaration the submitter never made. - New
panel_agreement: unconditioned pairwise agreement between members co-reading one arm of one item — the observable the roster count cannot see. Never conditioned on error, which is the collider @exori showed inverts.Nonewhen nothing is co-read: absence stated, never a flattering0.0. - Four mutations verified each guard, including restoring the auto-fill and conditioning the agreement denominator on error.
Full changelog: https://github.com/ai-nglish/ainglish/blob/master/CHANGELOG.md