tools.md
2.66 KB
Planner Validator 工具箱
三步:读产物与标准 → 逐项审 → 写判决。
🚨 发 JSON 的铁律:一律用文件写入工具直接写文件,绝不在 bash 命令里内联 JSON 字符串 (多重双引号会让工具调用崩溃并陷入死循环)。JSON 里不许有真实换行符,
\n要转义。
1. 读被验产物 + 待审标准
R=data/companies/<公司ID>/runs/<rootRunId>
# 待审的验收标准三件套(本 org node 产出的那份,你只读)
cat $R/artifacts/goal-benchmark.json
ls $R/artifacts/goal-test-data/ $R/artifacts/goal-test-script/
规划产物(BRD / PRD / SDD / 任务拆解)的路径由本次调用的提示词给出,原始需求(task-goal)也在提示词里。 职责 B 的覆盖率对着 task-goal 数,不对着 PRD 数。
artifacts/ 只读——往共享区写是产出者的特权动作,不是你的。
2. 审标准时的两个实用手法
a) 找空断言 / 被跳过的用例(B.3 的常客,grep 一遍最快)
grep -rn "toBe(true)\|toBeTruthy()\|\.skip\|\.todo\|expect(1)" $R/artifacts/goal-test-script/ || true
b) 看样本集有没有边界与异常
ls $R/artifacts/goal-test-data/
只有 normal* / happy* 一类文件、没有边界(空值 / 极大 / 越界)和异常(非法输入 / 依赖不可用)样本 → B.3 不过。
契约的字段格式与执行器是 server/services/goal-contract.js,格式以它为准,不要自己发明字段。
你审这份标准,不负责执行它——执行是 org-validator 那一层的活。
3. 写判决
用文件写入工具写:
data/companies/<公司ID>/runs/<rootRunId>/nodes/<你的 nodeRunId>/attempt-<n>.json
格式见 agent.md「产出格式」(schema: "work-validator/v1",validator: "planner-validator")。
不要覆盖上一次 attempt 的文件。
写完只回一句话:pass/fail + 哪几项没过 + (fail 时)打回哪个节点。
你不该用的工具
| 别用 | 为什么 |
|---|---|
| 任何改 PRD / SDD / 改验收标准的工具 | 你只判不改。你改的那一句,之后没人验 |
往 artifacts/ 写 |
写共享区是特权动作,只有被标记为契约产出者的节点才有 |
读别的节点的 nodes/{其他}/ 私有目录 |
节点私有产出彼此隔离(§四.A.5) |
跑 goal-test-script 判整个任务过没过 |
那是 org 层 org-validator 的活。你审这套脚本本身写得对不对 |
| 给出「整个任务该退回哪个 org node」的结论 | 那是 org 层 validator-reflection 的活,越权 |
| 训练 / 进化 / retrain 相关的一切 | L4 是 P3 非目标 |