agentcontract 0.1.1

Rust implementation of the AgentContract specification — behavioral contracts for AI agents
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Latency validator — checks duration_ms against max_ms.

use super::{RunContext, ValidationResult};

pub fn validate(ctx: &RunContext, max_ms: u64) -> ValidationResult {
    let clause_text = format!("latency must not exceed {max_ms}ms");
    if ctx.duration_ms > max_ms as f64 {
        ValidationResult::fail(
            "latency",
            &clause_text,
            "limits",
            &format!("Response took {:.0}ms, limit is {max_ms}ms", ctx.duration_ms),
        )
    } else {
        ValidationResult::pass("latency", &clause_text, "limits")
    }
}