docs(readme): deliver代码真实性三重门禁段(2026-09-16 pbls M1a空壳事故)——git收口引擎化/代码空壳硬门禁_validate_stub_code/产出文件机械核验段,通用规则:门禁证据必须引擎机械计算不靠agent自述,QC取证失败≠判0分
This commit is contained in:
parent
0d02ac631a
commit
a3a1c88859
31
README.md
31
README.md
@ -130,3 +130,34 @@ old_string 唯一性校验(0/多次拒绝,replace_all 放行)+ 原子写 +
|
||||
- `gateway.run_message(image_paths)`:build_image_parts 构造 + 超限 notes 注入 content。
|
||||
- 实测:中性文件名红蓝两图,agent 正确答「第一张红色、第二张蓝色」,degrade 0 次。
|
||||
|
||||
## deliver 代码真实性三重门禁(2026-09-16 pbls M1a 空壳事故根治)
|
||||
|
||||
**事故形状**:develop agent 声称「已用 write_file 落盘 17141 字符、G1~G6 严格退出码门禁」,
|
||||
实测交付的 verify_gate.py 只有 9 行纯注释 1225 字节——LLM 把「对文件的描述」当文件内容写入;
|
||||
且 git 证据由 agent 自称(实为引擎代收口)。QC 抓到时代价已是 4 轮烧光 + fault + pause。
|
||||
|
||||
三层确定性门禁(全部引擎层,不靠 LLM 自觉):
|
||||
|
||||
1. **git 收口引擎化**(38efb3e):deliver 时引擎代为 add+commit 本任务写入的
|
||||
apps/modules 仓库,收口核验记录(改了哪些仓库/几个文件/commit hash)回填交付件正文——
|
||||
agent 无法再自称「已提交」伪造 git 证据。
|
||||
2. **代码空壳硬门禁 `_validate_stub_code`**(0d02ac6):deliver 时本任务 write_file
|
||||
实写的每个 `.py` 必须 ast 可解析且有真实可执行语句(纯注释/pass/纯 docstring/
|
||||
语法错误一律拒绝,`__init__.py`/`conftest.py` 豁免),`.json` 必须可解析;
|
||||
`files` 参数先验后写(`_validate_code_files_params`),防空壳落盘后被收口变既成事实。
|
||||
拒绝时回填可行动 FAIL(指出文件+原因),agent 当轮重写——空壳死在 deliver 入口,
|
||||
不再烧 QC 轮次。native + 文本兜底两条 deliver 路径都挂载。
|
||||
3. **产出文件机械核验段**:引擎自动计算每个代码产出文件的实测字节/行数/语法/语句数,
|
||||
以「产出文件机械核验(引擎自动计算,非 agent 声明)」标题回填交付件正文——
|
||||
「声称 17141 实测 1225」类矛盾一眼可见,QC 拿到引擎级证据底座,
|
||||
不再依赖自己 run_shell 逐个取证(取证失败盲判 0 分退也在烧重试预算,实测 9 轮里 3 轮是盲审)。
|
||||
|
||||
配套技能(pipeline-core 7bfa8d6):develop 角色「代码真实性铁律」(write_file 必须完整正文、
|
||||
大文件拆小分批、声称数字须与引擎核验一致、勿自称 commit/push);QC review-develop
|
||||
「优先读引擎回填两段核验当权威证据;声称 vs 实测矛盾直接按造假退;取证失败禁盲判 0 分,
|
||||
改 read_file 逐项或 ask_question 冒泡」。
|
||||
|
||||
**通用规则**:质量门禁的判定证据必须来自引擎机械计算(字节/行数/ast/commit hash),
|
||||
不能来自 agent 的自我声明;QC 尺子要配「取证失败 ≠ 判 0 分」的出路,否则盲审烧轮次。
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user