_diffctx/config/
scoring.rs1use once_cell::sync::Lazy;
2
3use super::env_overrides::{read_env_fraction, read_env_open_fraction};
4
5pub struct EgoScoringConfig {
6 pub identifier_overlap_epsilon: f64,
7 pub identifier_overlap_cap: usize,
8 pub per_hop_decay: f64,
9}
10
11impl Default for EgoScoringConfig {
12 fn default() -> Self {
13 Self {
14 identifier_overlap_epsilon: read_env_fraction("DIFFCTX_EGO_LEXICAL_EPS", 0.1),
15 identifier_overlap_cap: 10,
16 per_hop_decay: read_env_open_fraction("DIFFCTX_EGO_PER_HOP_DECAY", 0.5),
17 }
18 }
19}
20
21pub static EGO: Lazy<EgoScoringConfig> = Lazy::new(EgoScoringConfig::default);