fix: harden typed metrics review findings

This commit is contained in:
2026-08-14 13:50:04 +03:00
parent 996a5461de
commit b7face0e94
30 changed files with 722 additions and 382 deletions
@@ -1,6 +1,6 @@
use std::{fs, process::ExitCode};
use std::process::ExitCode;
const SNAPSHOT: &str = "docs/schemas/metrics-registry-v1.json";
const SNAPSHOT: &str = include_str!("../../../../docs/schemas/metrics-registry-v1.json");
fn main() -> ExitCode {
let rendered = match crank_metrics::render_metric_schema_json() {
@@ -19,18 +19,14 @@ fn main() -> ExitCode {
eprintln!("metrics_contract_invalid_command");
return ExitCode::FAILURE;
}
match fs::read_to_string(SNAPSHOT) {
Ok(snapshot) if snapshot == rendered => {
match SNAPSHOT {
snapshot if snapshot == rendered => {
println!("metrics_contract_ok schema_version=1");
ExitCode::SUCCESS
}
Ok(_) => {
_ => {
eprintln!("metrics_contract_drift");
ExitCode::FAILURE
}
Err(_) => {
eprintln!("metrics_contract_missing");
ExitCode::FAILURE
}
}
}