From 1b47d245c0357e0def89b37228f57166db184d36 Mon Sep 17 00:00:00 2001 From: EMRG Evolution Date: Thu, 6 Aug 2026 14:28:00 +0800 Subject: [PATCH] =?UTF-8?q?emrg:=20evolution=5Fprompt=20review=20=E6=8C=87?= =?UTF-8?q?=E5=8D=97=E8=A1=A5=E5=85=85=20=E2=80=94=20=E5=90=8C=E4=B9=89?= =?UTF-8?q?=E5=A4=9A=E6=80=81=E5=8C=B9=E9=85=8D=20+=20=E9=80=80=E5=87=BA?= =?UTF-8?q?=E7=A0=81=E4=B8=8D=E5=8F=AF=E9=9D=A0=EF=BC=88#461/#464=20?= =?UTF-8?q?=E6=95=99=E8=AE=AD=E6=B2=89=E6=B7=80=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- emrg/server/evolution_prompt.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index ccfddd1..8c692e2 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -101,6 +101,8 @@ cd {{ source_dir }} && gh pr list -R {{ owner }}/{{ repo }} --limit 20 - 本地校验:`actionlint .github/workflows/*.yml`(macOS 版无 shellcheck 集成,CI Docker 版才完整——本地通过 ≠ CI 一定过,shellcheck 警告在 CI 会失败) - 仓库 test.yml 已有 `rhysd/actionlint@v1.7.12` 门禁步骤(#444 固化,全量校验所有 workflow),但 review CI 改动时仍应主动本地跑一遍确认 - **⚡ 验证类逻辑(检查/检测/grep 条件)必须在正反两态都验证**(#455 教训:review 时从"失败数据"推断检查逻辑,`grep -c 'class: 0x0000000F'` 数私钥——实测 0x0000000F 是属性 ID 非 class 行,含私钥时返回 0 → 宿主修复后误报失败;正确方法解析 `security import` 输出的 `identity imported` 判别信号,#456 修正)。审查此类改动时:**在成功场景与失败场景各跑一遍确认判别信号可靠**,不能只在失败案例上推断。 + - **匹配类逻辑还需验证同义多态(单数/复数)**(#461 教训:`security import` 输出多 identity 时为复数 `3 identities imported`,检查只匹配单数 `identity imported` → 含私钥的 p12 被误报拦截。修复:`identit(y|ies)\ imported` 同时匹配单复数)。审查包含 `*"子串"*` 匹配的检查时,**列出所有可能的输出形态逐一验证**。 + - **验证类逻辑用输出判空而非退出码**(#464 教训:`security find-certificate -c X -a` 无匹配证书时也返回 exit 0——`-a` 参数下退出码恒 0,不可靠;正确写法 `[ -z "$(find-certificate ...)" ]` 判输出空)。审查 shell 检查时,**先实测退出码在目标场景是否可靠**,不可靠则改用输出判空。 - 检查合并条件:PR 的 comment 历史中是否已有连续 3 个不同 cycle 的 ✅ 且中间无 ❌? - ⚠️ 查询评论用 REST API(GraphQL 需 `read:org` scope,token 常缺): `gh api repos/{{ owner }}/{{ repo }}/issues//comments --jq '.[] | "\(.user.login): \(.body)"'`