benchmark-validator.json
1.45 KB
{
"_doc": "P3 mock fixture · 判失败的验收节点(27-P3B §六 验收 4)。attempt-{attempt}.json 里 verdict=attributed 落在 graph-engine.FAILING_VERDICTS 里 → readNodeProduct 置 failingVerdict → 节点判 fail。这份 fixture 的**全部意义**就是让「validator 说失败 → 引擎真的按失败处理」这条判据在 CI 里跑得出来:在这之前它只是「静态成立」(人读代码读通了链路),没有任何一次真跑或真链路证据。改 verdict 的取值前先看 graph-engine 的 FAILING_VERDICTS。 fail_reason 必须取自 graph-engine.ATTRIBUTION_REASONS 这个封闭域(impl_bug / input_underspecified / skill_defect / infra_flake)—— 自创的词会被**按设计降级成 null** 并留一条 timeline,不是崩溃,但节点行上就没有归因了。第一版这里写了 contract_invalid,实测就是这个下场。",
"chunks": [
"[mock] benchmark-validator 读取被测产物与验收契约。\n",
"契约形状非法:acceptance.json 缺 test_script 段。\n"
],
"result": "mock-fail benchmark-validator:契约非法,判失败。",
"files": [
{
"path": "attempt-{attempt}.json",
"content": "{\n \"schema\": \"validator-triager/v1\",\n \"verdict\": \"attributed\",\n \"fail_reason\": \"input_underspecified\",\n \"remediation_note\": \"acceptance.json 缺 test_script 段,补齐后重跑\"\n}\n"
}
],
"usage": {
"input": 400,
"output": 120
}
}