refactor(registry): single-source the deflation-bootstrap constants (#199)

DEFLATION_N_RESAMPLES (1000) and DEFLATION_BLOCK_LEN (5) were duplicated
as independent copies in aura-cli and aura-campaign — a silent-drift risk
(an edit in one crate but not the other refuses nothing, it just produces
a wrong deflation result). Promote a single definition into aura-registry,
which owns optimize_deflated (the sole consumer of these counts); aura-cli
imports it and aura-campaign re-exports it to keep its public path stable.
DEFLATION_SEED stays cli-local (no campaign twin). Values unchanged;
behaviour-preserving, suite green unchanged (1043/0).

closes #199
This commit is contained in:
2026-07-04 15:12:40 +02:00
parent 71e5a6b9c3
commit 5256b3d0ca
3 changed files with 18 additions and 11 deletions
+6 -6
View File
@@ -116,12 +116,12 @@ pub const RANKABLE_METRICS: &[&str] = &[
"sqn", "sqn_normalized", "expectancy_r", "net_expectancy_r",
];
/// Deflation resample count — the shipped CLI `select_winner` constant.
/// Duplicated against `aura-cli`'s private copy, tracked in #199.
pub const DEFLATION_N_RESAMPLES: usize = 1000;
/// Deflation moving-block length — the shipped CLI `select_winner` constant.
/// Duplicated against `aura-cli`'s private copy, tracked in #199.
pub const DEFLATION_BLOCK_LEN: usize = 5;
/// Deflation resample count — re-exported from `aura-registry`'s shared
/// definition (single-sourced, #199).
pub use aura_registry::DEFLATION_N_RESAMPLES;
/// Deflation moving-block length — re-exported from `aura-registry`'s shared
/// definition (single-sourced, #199).
pub use aura_registry::DEFLATION_BLOCK_LEN;
/// Resolve one of the 14 [`PER_MEMBER_METRICS`] against a member's report.
/// An R-metric name against `metrics.r == None` reads `None` (conservative