mcpField
H
harness-bench

harness-bench

github.com/ruvnet测试与质量80.0k203 次安装今天更新
代码仓库

关于 harness-bench

harness-bench 是用于创建和校验固定测试语料的技能,面向需要评估 harness 演进效果的开发者。它让不同提交或分支的评估保持可比,并可在缺少依赖时降级运行。

主要功能

  1. 01从现有测试生成基准套件
  2. 02校验套件任务格式
  3. 03支持 CI 中验证套件
  4. 04缺少依赖时返回降级状态

适用场景

  1. 01为不稳定的测试配置固定评估集
  2. 02在每个相关 PR 中检查基准套件
  3. 03为新领域分支调整评估任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill harness-bench

安装后在 Claude Code 中输入/harness-bench确认已加载。

详细介绍

提供 metaharness-darwin bench <create|verify> 命令——为 harness-evolve --bench 提供配套动词。适用于希望基于固定语料评估进化效果的场景(独立于 npm test),这样冠军方案的适应度便可在不同提交之间或同一套 harness 的不同分支之间进行比较。

适用场景

  • 为 npm test 不稳定、耗时较长或规模不足的代码库搭建新的进化流水线——只需搭建一次确定性的基准测试套件,即可反复据此进行进化。
  • CI:每次有 PR 修改已纳入版本控制的套件时,都运行 bench verify(开销很低;约 5 秒)。
  • 将 harness 分叉到新的领域:复制并编辑套件以调整评估目标,同时保留与上游的可比性。

算法

实现:scripts/bench.mjs。

--op create
  1. 解析 --repo 路径;如果路径不存在则拒绝执行。
  2. 调用 metaharness-darwin bench create <repo> [--out <suite.json>]。
  3. 默认输出路径:<repo>/.metaharness/bench/suite.json(由上游决定)。
  4. 套件结构(遵循上游):由现有测试用例派生出的 { input, expectedOutput, weight } 任务数组。
--op verify
  1. 解析 --suite 路径;如果路径不存在则拒绝执行。
  2. 调用 metaharness-darwin bench verify <suite.json>。
  3. 如果有任何任务格式错误,则退出码为 1(上游的信号)。

输出结构

{
  "success": true,
  "data": {
    "op": "verify",
    "taskCount": 42,
    "wellFormed": true,
    "durationMs": 870
  }
}

退出码

代码含义
0正常(或已降级——Darwin 不存在)
1--op verify 且套件格式错误
2配置错误或上游调用失败

优雅降级

如果缺少 @metaharness/darwin,则输出标准 {degraded: true, reason: 'metaharness-darwin-not-available'} 载荷并以 0 退出。

评论

支持 Markdown