From 7bfa8d6cd1bcb8be1db6d935e4670993031e7077 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 16 Sep 2026 14:42:01 +0800 Subject: [PATCH] =?UTF-8?q?docs(skills):=20=E4=BB=A3=E7=A0=81=E7=9C=9F?= =?UTF-8?q?=E5=AE=9E=E6=80=A7=E9=93=81=E5=BE=8B=E9=85=8D=E5=A5=97=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=8A=80=E8=83=BD(2026-09-16=20pbls=20M1a=E7=A9=BA?= =?UTF-8?q?=E5=A3=B3=E4=BA=8B=E6=95=85)=E2=80=94=E2=80=94develop=E4=BE=A7:?= =?UTF-8?q?write=5Ffile=E5=BF=85=E9=A1=BB=E5=AE=8C=E6=95=B4=E6=AD=A3?= =?UTF-8?q?=E6=96=87=E7=A6=81=E6=8F=8F=E8=BF=B0=E5=86=92=E5=85=85/?= =?UTF-8?q?=E5=A4=A7=E6=96=87=E4=BB=B6=E6=8B=86=E5=B0=8F=E5=88=86=E6=89=B9?= =?UTF-8?q?/=E5=A3=B0=E7=A7=B0=E6=95=B0=E5=AD=97=E9=A1=BB=E4=B8=8E?= =?UTF-8?q?=E5=BC=95=E6=93=8E=E6=9C=BA=E6=A2=B0=E6=A0=B8=E9=AA=8C=E4=B8=80?= =?UTF-8?q?=E8=87=B4/=E5=8B=BF=E8=87=AA=E7=A7=B0commit-push;QC=E4=BE=A7rev?= =?UTF-8?q?iew-develop:=E4=BC=98=E5=85=88=E8=AF=BB=E5=BC=95=E6=93=8E?= =?UTF-8?q?=E5=9B=9E=E5=A1=AB=E4=B8=A4=E6=AE=B5=E6=A0=B8=E9=AA=8C(?= =?UTF-8?q?=E4=BA=A7=E5=87=BA=E6=96=87=E4=BB=B6=E6=9C=BA=E6=A2=B0=E6=A0=B8?= =?UTF-8?q?=E9=AA=8C+git=E6=94=B6=E5=8F=A3=E6=A0=B8=E9=AA=8C)=E5=BD=93?= =?UTF-8?q?=E6=9D=83=E5=A8=81=E8=AF=81=E6=8D=AE=E5=BA=95=E5=BA=A7,?= =?UTF-8?q?=E5=A3=B0=E7=A7=B0vs=E5=AE=9E=E6=B5=8B=E7=9F=9B=E7=9B=BE?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E6=8C=89=E9=80=A0=E5=81=87=E9=80=80,?= =?UTF-8?q?=E5=8F=96=E8=AF=81=E5=A4=B1=E8=B4=A5=E7=A6=81=E7=9B=B2=E5=88=A4?= =?UTF-8?q?0=E5=88=86=E7=83=A7=E8=BD=AE=E6=AC=A1(=E6=94=B9read=5Ffile?= =?UTF-8?q?=E9=80=90=E9=A1=B9/ask=5Fquestion=E5=86=92=E6=B3=A1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdlc_general/roles/agent.develop/role/SKILL.md | 6 ++++++ .../sdlc_general/roles/agent.qc/review-develop/SKILL.md | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md index 21b69c5..5d9edea 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.develop/role/SKILL.md @@ -41,3 +41,9 @@ capability: feature_dev_capability, bug_fix_capability - `web-application-spec`:工程脚手架(app 入口 / conf/config.json / wwwroot / build.sh) - `sdlc-repo-standard`:交付件内容格式 + 通用交付约定(deliver + files 列出产出,别只写文档不列文件) - `sqlor-database-module`:sqlor 标准 API(仅 sor.C/U/D/R/I/sqlExe,禁编造 save/list/insert 等) + +## 代码真实性铁律(2026-09-16 引擎硬门禁已上线,违规当轮被拒) +- **write_file 的 content 必须是完整文件正文**——真实的 def/断言/逻辑代码,不是「对文件的描述」、不是注释大纲、不是「# 已用 write_file 落盘(N 字符)」这类元描述。把描述当内容写入 = 空壳造假,QC 按重大缺陷必退。 +- **deliver 入口有引擎门禁**:本任务写入的每个 .py 会被 ast 校验(语法错误/纯注释/pass 占位/无有效语句 → deliver 被拒,回填 FAIL),.json 必须可解析;deliver files 参数先验后写。被拒时按 FAIL 提示当场重写,不要原样重交。 +- **大文件拆小分批写**:单个 .py 超过约 500 行或上下文放不下时,拆成多个小文件分多次 write_file,禁止用「大纲+注释」截断充数。 +- **交付摘要声称的数字必须与磁盘一致**:引擎会在交付件正文自动回填「产出文件机械核验」段(实测字节/行数/语法/语句数)与「git 收口核验」段——声称 17141 字符而实测 1225 字节这类矛盾会被 QC 直接按造假退回。git 收口由引擎代为执行,摘要里**不要自称已 commit/push**,以引擎回填记录为准。 diff --git a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-develop/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-develop/SKILL.md index 4a9f0a3..f6c4873 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-develop/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-develop/SKILL.md @@ -66,9 +66,14 @@ capability: task_capability ## 五、真实性核查方法 -- 用 list_files / read_file 验证模块仓库目录结构真实存在 +- **优先读引擎回填的两段核验**(交付件正文末尾,2026-09-16 上线): + - 「产出文件机械核验(引擎自动计算)」= 每个 .py/.json 的实测字节/行数/py_compile/有效语句数、json 可解析性——这是引擎在 deliver 时算好的权威事实,**先读它定位空壳/语法错误,再决定要不要 run_shell 复跑**。 + - 「git 收口核验(引擎自动执行)」= 本任务写入仓库的提交事实(含「agent 未提交,引擎代为收口」)——**git 是否收口以此段为准**,不再依赖交付摘要自称的 commit/push。 +- **声称 vs 实测矛盾即造假证据**:交付摘要称「N 字符/已 push」而引擎核验段显示实测字节远小、或收口记录为「引擎代为收口」→ 直接按真实性硬门禁 reject,理由引用两段数字,无需再自己取证。 +- 引擎核验段覆盖不到的内容级核对(表定义四段式、CRUD 格式、注册三处同步、越权变更等)仍用 list_files / read_file / run_shell 逐项取证。 +- **取证失败不得盲判 0 分**:若 list_files/run_shell 确实取不到证据(目录列举空、脚本报错无法读),不要笼统打 0.00 退回烧轮次——改用 read_file 逐个读交付件本体,仍取不到则 ask_question 如实冒泡「取证受阻」交人工,而非用「零证据」当质量结论。 - 用 git_status 验证模块仓库有本地 git 提交(QC 核验「实际产出」的硬证据) -- 用 run_shell 跑 py_compile / dspy 审计脚本验证语法 + ## 六、应用脚手架硬门禁(对照 web-application-spec)——任一不过即 reject