pub struct EnsembleConfig {
pub enabled: bool,
pub verify: bool,
pub members: Vec<String>,
pub ema_alpha: f64,
pub ema_decay: f64,
pub min_observations: u32,
pub member_timeout_secs: u64,
}Expand description
Configuration for ORCH-style deterministic verifier ensemble-merge
([orchestration.ensemble] TOML section, spec 073-orch-ensemble-merge).
Opt-in and default-OFF: when enabled = false (the default), PlanVerifier::verify()
behaves byte-for-byte identically to the single-provider path — no ensemble code runs.
size and min_quorum are intentionally NOT configurable fields — both are always
derived from members.len() (quorum = members.len() / 2 + 1) so they can never drift
out of sync with the member list.
Fields§
§enabled: boolEnable ensemble machinery (member resolution at bootstrap). Default: false.
Separate from verify so the ensemble can be resolved/warmed without yet being used
for verification decisions.
verify: boolUse the ensemble for PlanVerifier per-task verification. Default: false.
Requires enabled = true. When false (even with enabled = true), the
SchedulerAction::Verify handler still uses the single-provider verify_provider
path — verify is the per-target activation flag.
members: Vec<String>Provider names from [[llm.providers]], one per ensemble member.
Validated at config load time (when enabled && verify) to be odd-length, >= 3,
and free of duplicates — this guarantees a strict majority with no ties by
construction. Default: empty.
ema_alpha: f64EMA smoothing factor for EnsembleTracker’s per-member agreement score, in [0.0, 1.0].
Higher values weight the most recent observation more heavily. Default: 0.3.
ema_decay: f64Decay-toward-neutral-prior factor for EnsembleTracker, in [0.0, 1.0]. Default: 0.95.
min_observations: u32Minimum recorded observations before EnsembleTracker::ema() returns a score instead
of None (cold-start gate). Default: 5.
member_timeout_secs: u64Per-member chat_typed call timeout in seconds. 0 = fall back to
verifier_timeout_secs. Default: 0.
Trait Implementations§
Source§impl Clone for EnsembleConfig
impl Clone for EnsembleConfig
Source§fn clone(&self) -> EnsembleConfig
fn clone(&self) -> EnsembleConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more