"""Statistics: one inferential engine everywhere (ADR-0005).

Every interval in `ablate` — pass rate, tokens, turns, and later the
ablation regression's coefficients — comes out of the paired cluster
bootstrap in `bootstrap.py`. There is deliberately no second code path
for "simple" cases: a normal-approximation shortcut on pooled trials is
the specific error this project exists not to make.
"""

from ablate.stats.bootstrap import (
    DEFAULT_RESAMPLES,
    MIN_TASKS_FOR_CI,
    BootstrapResult,
    PairedSample,
    bootstrap_delta,
)
from ablate.stats.multiplicity import DEFAULT_FDR_Q, FDRResult, benjamini_hochberg
from ablate.stats.power import (
    DesignRequirement,
    mde_continuous,
    mde_pass_rate,
    required_design,
    standard_error,
)
from ablate.stats.verdict import (
    DEFAULT_MARGIN_CONTINUOUS,
    DEFAULT_MARGIN_PASS_RATE,
    MetricVerdict,
    Verdict,
    classify,
    describe,
)

__all__ = [
    "DEFAULT_FDR_Q",
    "DEFAULT_MARGIN_CONTINUOUS",
    "DEFAULT_MARGIN_PASS_RATE",
    "DEFAULT_RESAMPLES",
    "MIN_TASKS_FOR_CI",
    "BootstrapResult",
    "DesignRequirement",
    "FDRResult",
    "MetricVerdict",
    "PairedSample",
    "Verdict",
    "benjamini_hochberg",
    "bootstrap_delta",
    "classify",
    "describe",
    "mde_continuous",
    "mde_pass_rate",
    "required_design",
    "standard_error",
]
