///|
/// Validate all runtime inputs required by the ETA facade.
pub fn health_check(
route : RouteProfile,
config? : EtaConfig = default_eta_config(),
calendar? : RouteCalendar = demo_calendar(),
) -> HealthReport {
let messages : Array[String] = []
let route_valid = validate_route(route).valid
let config_valid = validate_eta_config(config).valid
let calendar_valid = calendar.days.all(day => {
day.valid_bucket_count() == day.buckets.length()
})
if !route_valid {
messages.push("route parameters are invalid")
}
if !config_valid {
messages.push("ETA configuration is invalid")
}
if !calendar_valid {
messages.push("calendar contains invalid buckets")
}
{
ready: route_valid && config_valid && calendar_valid,
route_valid,
config_valid,
calendar_valid,
messages,
}
}
///|
/// Return stable package capabilities for a host application.
pub fn capabilities() -> Array[String] {
[
"streaming-kalman", "adaptive-window", "route-calendar", "csv-codec", "json-lines-codec",
"batch-calibration", "deterministic-benchmarks", "all-target-tests",
]
}
///|
/// Return whether all advertised capabilities are non-empty.
pub fn capabilities_are_named() -> Bool {
capabilities().all(name => !name.trim().is_empty())
}
///|
/// Return a health summary for the reference route.
pub fn demo_health() -> HealthReport {
health_check(demo_route())
}
///|
/// Render health status for CLI output.
pub fn format_health(report : HealthReport) -> String {
let status = if report.ready { "ready" } else { "not-ready" }
"status=\{status} route=\{report.route_valid} config=\{report.config_valid} calendar=\{report.calendar_valid} messages=\{report.messages.length()}"
}