All notable changes to cmdc_eval will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.3.1] - 2026-06-02
Added
CMDCEval.Reasoning— 从reasoning_*EventBus 事件或CMDC.Reasoning.Runnerpayload 计算推理策略指标。CMDCEval.Assertions.Reasoning— done、answer、best_score、branch、 revision、token 和 gate failure 断言。
Compatibility
- 要求
cmdc ~> 0.6。 - 全加性 patch;不改变 Suite / Runner / Workflow / RAG 现有 API。
[0.3.0] - 2026-06-01
Phase 19E — 增加 WorkflowEval 最小接缝,服务 cmdc_orchestrator 0.6.x
企业 workflow runtime、AgentSpec / Workflow 发布门禁和离线 ledger eval。
Added
CMDCEval.Workflow— 从cmdc_orchestratorRun / NodeRun / RunEvent ledger 或离线 fixture 计算 WorkflowEval 指标。CMDCEval.Assertions.Workflow— completion rate、node failure rate、 branch coverage、tool success rate、fork/join、human_task SLA、retry、cost、 latency 和发布门禁 failures。- WorkflowEval 明确保持最小接缝:不引入 Phoenix schema、Trace Viewer、 Eval Dashboard 或数据飞轮实现。
[0.2.0] - 2026-05-31
Added
- 新增
CMDCEval.Context,Runner 会把 reply / tool outputs / plugin events / metadata 传给 Suite 可选assert/3。 CMDCEval.Runner自动订阅当前 eval session 的 CMDC EventBus 事件,并把压缩后的eval_context写入Run.metadata。- 新增
CMDCEval.Assertions.RAG:recall_at_k/contains_citation/grounded_answer/no_unauthorized_source/faithfulness_min/correctness_min。 - RAG assertions 支持离线 map fixture,不强依赖 Arcana。
Compatibility
- 旧 Suite
assert(case, reply)保持兼容。 cmdc依赖范围升级到~> 0.6。
[0.1.0] - 2026-05-18
首发 —— CMDC Agent benchmark harness 子库。
Added
CMDCEval主模块 ——run/1入口 + 类型 spec- Suite behaviour
CMDCEval.Suite—— 3 必选 callback (name/0/cases/0/assert/2)- 2 可选 (
default_tools/0/cost_estimator/1)
- 2 可选 (
- 核心 struct:
CMDCEval.Case/CMDCEval.Run/CMDCEval.Report(全@derive Jason.Encoder) CMDCEval.Runner—— 并发跑 Suite 内 case + 收集 Run + 输出 Report- 单 case crash / timeout 不影响其他 case
- 支持 mock provider(
provider_opts: [provider_fn: ...])
CMDCEval.Suites.Internal—— 5 个 cmdc kernel 自验证 case (basic_text / json_response / long_input_no_crash / punctuation / empty_friendly_reply)CMDCEval.Suites.BFCL—— Berkeley Function Calling Leaderboard v3 框架 (v0.1 fixtures 占位,需手动从 upstreamgit clone拉取)Mix.Tasks.Cmdc.Eval—— CLI 入口(mix cmdc.eval --suite=<name> --model=<id>)- 标准退出码 0/1/2/3
Mix.Tasks.Cmdc.Eval.FetchBfcl—— BFCL fixtures fetch helper(v0.1 写占位)- JSONL 报告 schema —— 稳定字段
suite / case_id / model / pass / latency_ms / tokens_in / tokens_out / cost_usd / events_digest / error / timestamp / metadata
v0.1 范围
- ✅ 框架 + 1 个内置可跑 Suite(Internal)+ 1 个占位 Suite(BFCL)
- 🔁 完整 BFCL fixtures fetch / tau2-bench / MemoryAgentBench 留 v0.2
Compatibility
- 要求
cmdc ~> 0.5 - 无 breaking change(首发版本)