用途
Zeno Validating Work 是一个贡献者工作流技能,用于在即将提交、推送或声称任务完成之前,运行验证命令并确认工作确实通过。其核心原则是“证据先于断言”(Evidence before assertions)。
触发时机:即将提交、推送或声称任务完成时。
动作:运行测试/验证 → 确认输出 → 然后提交。
主要能力
该技能提供一套“门控函数”(The Gate Function),要求在声称完成或提交之前执行以下步骤:
- 识别(IDENTIFY):什么能证明此任务已完成?
- 测试?哪个命令?
- Linter?哪个命令?
- 手动验证?检查什么?
- 运行(RUN):全新执行完整命令。
- 不要信任之前的运行结果。
- 在当前会话中现在运行。
- 读取(READ):完整输出,检查退出码,统计失败数。
- 验证(VERIFY):输出是否确认成功?
- 是:带证据地声明完成。
- 否:修复问题、重新运行,或报告实际状态。
- 仅在此之后(ONLY THEN):提交、推送或声称完成。
跳过任何一步 = 未经验证的声明。
使用方式
该技能按组件提供验证命令示例:
stdb(Rust):
cd stdb && cargo test && cargo clippy -- -D warnings
# Expected: All tests pass, no warnings
backend(Deno):
cd backend && deno task test && deno task lint
# Expected: All tests pass, no lint errors
frontend(Node):
cd frontend && npm run lint:all && npm run typecheck
# Expected: No lint errors, no type errors
docs / text contributions: 提交前的内容质量自检:
| 检查项 | 通过意味着 |
|---|---|
| Task complete | 任务描述中的每一项都已处理 |
| No filler | 没有“In this document we will...”之类的空话,没有 AI 填充 |
| Facts verified | 关于仓库、API 或功能的每项声明都已对照其来源核实 |
| Atomic scope | 一个 PR = 一个任务。不捆绑无关工作 |
| Evidence | 包含命令输出、截图或测试结果 |
| Readable | 没有明显拼写错误,结构连贯 |
常见验证需求:
| 任务类型 | 验证内容 | 命令示例 |
|---|---|---|
| Feature | 测试通过 | cargo test feature_name |
| Bug fix | 回归测试 + 原始症状已修复 | 运行复现步骤 |
| Refactor | 无行为变更 | 完整测试套件 |
| Docs | 链接/格式 | 手动检查或链接检查器 |
适用场景
适用于软件贡献者在提交代码、推送分支或创建 PR 之前,需要确认工作确实通过验证的场景。特别适合需要运行测试、Linter、类型检查或手动验证的任务,以及文档和文本类贡献的提交前自检。
限制与反模式
该技能明确列出反模式:
- ❌ 错误:“Should work now”而不运行测试
- ✅ 正确:[运行测试] [看到:12/12 通过] “测试通过,准备提交”
- ❌ 错误:用“Linter 通过”代替编译检查
- ✅ 正确:分开验证:先 cargo check 再 cargo clippy
- ❌ 错误:测试失败时声称完成
- ✅ 正确:报告实际状态:“3 个测试失败,需要修复 X”
- ❌ 错误:信任之前的测试运行
- ✅ 正确:在当前会话中全新验证
危险信号——停止:
- 即将推送但未运行验证
- 在验证前使用“should”“probably”“seems”
- 检查前就表达满意:“Done!”(未经验证)
- 想着“就这一次”跳过验证
集成关系:
- 之前:executing-tasks(完成工作)
- 之后:submitting-work(推送并创建 PR)
底线:运行验证。读取输出。然后声称完成。没有捷径。没有假设。证据优先。