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.
[Unreleased]
[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(首发版本)