Skip to main content
先用范围最小且可复现的检查验证所改契约,再运行一个真实任务,并记录便于审查的证据。

运行基础检查

公开代码仓库目前没有统一的项目测试套件、已声明的 pytest 工作流或 CI 测试任务,当前 PR 工作流只运行 pre-commit。除非变更新增了真实测试目标且实际运行过,否则不能把笼统的 pytest 命令列为代码仓库的验证结果。这不降低正确性要求;仍应结合现有静态检查、组件发现、配置检查、必要的确定性检查和有代表性的单任务执行来验证变更。 开发期间,对修改的文件运行 pre-commit
请求审查前,运行当前 CI 工作流使用的同一条完整命令:
已配置的钩子会运行 Flake8、isort、YAPF、空白和换行检查、YAML 验证、依赖文件排序以及合并冲突检测。部分钩子会修改文件;应检查差异并重新运行,直到命令成功且没有意外改动。 文档变更还需要执行文档贡献中的检查。

按变更范围验证

先根据当前安装版本检查组件与配置,不能依赖记忆中的组件列表:
这些命令可以确认软件包导入时注册装饰器能够正常执行、预期组件已经注册且 ID 不重复;它们不能验证凭证、依赖、provider 可用性、兼容性或任务执行。 对于 Benchmark、Harness 或 Environment 配置数据类,检查自动生成的公开配置结构:
确认字段名、类型、默认值和说明与实现一致。config docs 不支持 Analyzer 的 conf 字典和 Recipe 类;对于这些内容,应对照源码和 runtime 输出核对文档中的配置键。 在不启动评测的情况下检查合并后配置:
多请求编排文件可以使用以下试运行命令:
agentcompass run 没有 --dry-run 选项。编排试运行会验证并输出解析后的请求,但不会加载 Benchmark 任务、打开 Environment、执行 Harness、对结果评分或证明清理行为,因此不能替代单任务冒烟运行。 再运行一个已知任务。选择本地可用的公开 Benchmark 和稳定任务 ID,并尽量减少无关变量:
应使用该 Benchmark 文档明确支持的组件组合和专属参数。首次诊断时保持 --max-retries 0,避免重试掩盖第一次失败。分享命令前必须删除凭证和私有端点信息。 根据变更内容检查生成的 run_info.jsonparams.jsondetails/summary.md 和运行日志。仅凭进程退出不能证明结果正确;还应验证任务 ID、解析后的执行计划、状态、错误类别、最终答案或产物、Benchmark 得分、清理事件以及汇总指标使用的分母。 最后只补充所改范围特有的验证: 涉及生命周期或兼容性时,还应检查相关边界,例如可选输入与必需输入、有效零分与评测器失败,或超时、取消后的清理。持久化状态和错误必须能够区分 Harness、Environment 与 Model 故障,不能把不同失败统一成一个通用异常。只有共享 runtime 变更会影响其他公开 Environment 组合时,才扩展验证范围。 有意重写汇总前,先运行:
如果变更只涉及解析、合并、匹配、执行计划转换、聚合或序列化逻辑,应在 PR 中补充范围更小的确定性检查。如果没有可复用的测试框架,应提供实际运行的准确命令、调用方式或小型夹具,不能把它描述成自动化测试套件。

记录验证证据

PR 中记录的每项检查都应包含:
  • 完整且已脱敏的命令、验证所用提交版本、相关依赖或 provider 版本,以及所选公开 Benchmark、任务 ID、Harness、Environment 和 Model 协议;
  • 检查结果(通过或失败),以及重要的输出字段或产物路径;
  • 未运行的检查、具体原因及其对风险判断的影响;
  • 得分对比所使用的任务范围、设置和分母。
不能提交凭证、私有端点、已下载数据集、完整结果目录或大型轨迹。审查者需要更多信息时,应使用小型脱敏摘录或稳定外部产物。