callisto-cli 0.4.0

Callisto Release Engine — Polyglot monorepo versioning and release management CLI.
Documentation
use callisto_graph::config::{ConfigProvenance, ResolvedConfig};
use callisto_model::ConfigKey;

pub fn attribution_line(key: &ConfigKey, cfg: &ResolvedConfig) -> String {
    let key_str = key.as_str();
    let formatted_key = if let Some((table, field)) = key_str.split_once('.') {
        format!("[{table}].{field}")
    } else {
        key_str.to_string()
    };

    let prov = cfg.provenance(key);
    let val = cfg.rendered_value(key).unwrap_or_else(|| "auto".to_string());

    match prov {
        ConfigProvenance::Default => format!("governed by {formatted_key} = {val} (default)"),
        ConfigProvenance::Explicit => format!("governed by {formatted_key} = {val}"),
    }
}