callisto_cli/render/
attribution.rs1use callisto_graph::config::{ConfigProvenance, ResolvedConfig};
2use callisto_model::ConfigKey;
3
4pub fn attribution_line(key: &ConfigKey, cfg: &ResolvedConfig) -> String {
5 let key_str = key.as_str();
6 let formatted_key = if let Some((table, field)) = key_str.split_once('.') {
7 format!("[{table}].{field}")
8 } else {
9 key_str.to_string()
10 };
11
12 let prov = cfg.provenance(key);
13 let val = cfg.rendered_value(key).unwrap_or_else(|| "auto".to_string());
14
15 match prov {
16 ConfigProvenance::Default => format!("governed by {formatted_key} = {val} (default)"),
17 ConfigProvenance::Explicit => format!("governed by {formatted_key} = {val}"),
18 }
19}