aios_spec/traits/trace_validator.rs
1use crate::intent::IntentBatch;
2use crate::trace::{ExecutedAction, GoldenTrace, ReplayResult};
3
4/// Trace 验证器
5///
6/// 给定相同的 `RawEvent` 输入序列以及对一次完整回放采集到的
7/// `actual_intents` 和 `actual_executed`,验证:
8/// 1. 脱敏输出是否逐条一致 (`PrivacyAirGap` 的确定性)
9/// 2. 策略意图是否一致 (`PolicyEngine` + `DecisionRouter` 的确定性)
10/// 3. 执行动作是否一致 (`ActionExecutor` 的确定性)
11///
12/// 调用方负责驱动 pipeline 取得 actual_*;验证器只做语义比对。
13/// 这样 trace 验证器留在 `aios-spec/core` 边界内,不必反向依赖
14/// `aios-agent` 这样的高层组件。
15pub trait TraceValidator {
16 /// 对比 Golden Trace,返回三个维度的验证结果
17 fn validate(
18 &self,
19 golden: &GoldenTrace,
20 actual_intents: &IntentBatch,
21 actual_executed: &[ExecutedAction],
22 ) -> ReplayResult;
23}