Canonical EvidenceLedger schema for FrankenSuite decision tracing (bd-qaaxt.1).
Every FrankenSuite decision produces an [EvidenceLedger] entry explaining
what was decided, why, and how confident the system was. All
FrankenSuite projects import this crate — no forking allowed.
Schema
EvidenceLedger
├── ts_unix_ms : u64 (millisecond timestamp)
├── component : String (producing subsystem)
├── action : String (decision taken)
├── posterior : Vec<f64> (probability distribution, sums to ~1.0)
├── expected_loss_by_action : BTreeMap<String, f64> (loss per candidate action)
├── chosen_expected_loss : f64 (loss of the selected action)
├── calibration_score : f64 (calibration quality, [0, 1])
├── fallback_active : bool (true if fallback heuristic fired)
└── top_features : Vec<(String, f64)> (most influential features)
Builder
use EvidenceLedgerBuilder;
let entry = new
.ts_unix_ms
.component
.action
.posterior
.expected_loss
.expected_loss
.expected_loss
.chosen_expected_loss
.calibration_score
.fallback_active
.top_feature
.top_feature
.build
.expect;