📄 提升 PR 描述规范的可见度,防止代理默认回退到通用模板#1610
Open
cyfung1031 wants to merge 6 commits into
Open
Conversation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
按体量、语气对齐 AGENTS.md 中另外四条 "Before X, read Y" 提示——本条 此前偏重叙述本次遗漏的具体成因,不利于作为面向所有代理的通用规范; 现改为与其余提示一致的简洁祈使句。docs/pull-request.md 开头的反模式 提示同样精简。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
删除 AGENTS.md 末尾旧小节时,"preserve its checklist" 这一细节未一并 转移到 docs/pull-request.md——原文仅隐含在"推荐结构"示例中包含 Checklist 小节,但没有明确写出"必须保留"这条规则。现补充到文首段落。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- AGENTS.md 不再声称该结构是 "required"——与 docs/pull-request.md 自身 "recommended, not mandatory headings" 的表述直接矛盾;改为不对合规 级别下结论,完全交由 docs/pull-request.md 定义。 - docs/pull-request.md 中对通用 ## Summary / ## Test plan 标题的禁令 软化为"信号"表述,避免过度针对具体英文标题字面量(真正的问题是未查阅 本指南,不是这两个词本身),并删除"许多代理工具都内置此模板"这一 无法对照当前分支验证的元评论。 - 移除 AGENTS.md 中复述 docs/pull-request.md 已有规则("Never claim human review...")的句子,遵循 DOC-MAINTENANCE.md 的不重复原则。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- docs/pull-request.md:"使用通用标题即代表未查阅本指南"是对贡献者 流程的推断,无法验证(有人查阅后仍选用同义英文标题,也有人照抄标题 却未真正理解内容)。改为可验证的表述:无论使用何种标题,本指南的 清单与验证信息要求依然适用——标题本身不能豁免这些要求。 - 补充清单项"不适用/未执行时应留空而非改写文字"的规则,此前仅对 "Code reviewed by human"一项有此说明,现推广到整个清单。 - AGENTS.md 中的提示不再复述具体标题示例(## Summary / ## Test plan), 该示例只保留在 docs/pull-request.md 这一权威来源中,减少未来漂移点。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
上一版把"不适用"和"应做但未做"统一处理为"留空",导致审查者(及未来 可能的自动化校验)无法从一个未勾选的框区分这两种含义完全不同的状态。 现按建议方案调整:清单文字保持不变;未执行的项目留空;不适用的项目 除留空外,还需在清单下方补一行简短的 N/A 说明其原因。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Jul 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist / 检查清单
背景
在 #1609 首次提交时,我(代理)未遵循本仓库
docs/pull-request.md定义的 PR 描述规范,而是使用了通用的## Summary/## Test plan结构。经用户追问,诚实复盘发现:该规范(AGENTS.md中的 "Pull Request Description Format" 一节 +docs/pull-request.md)已经存在于我的上下文中——由仓库所有者在 #1601("明确代理创建 PR 的描述规范")中于 2026-07-17 添加,就在我创建 #1609 的前一天。我没有资源或信息缺口,只是习惯性地使用了自身工具指令中内置的通用 PR 模板示例,而没有先查阅仓库自己的规范。对比
AGENTS.md中另外四条 "Before X, read Y" 提示(写代码前读develop.md、翻译前读translation.md、编辑文档前读DOC-MAINTENANCE.md),PR 描述规范的提示被放在文件末尾、且措辞是被动陈述("Detailed PR description guidance lives in..."),而非同样醒目的祈使句式,也不与"创建 PR"这一具体动作直接绑定。这种表述方式/位置上的不一致,正是造成本次遗漏的可复现根因——而非规范本身不存在。本次改动
AGENTS.md:将 PR 描述规范的提示从文件末尾的独立小节,提升为与其他四条文档提示同级、同样醒目的顶部 "Before X, read Y" 引用块,触发时机明确为"创建/更新 PR 时"。原末尾小节已删除,避免与新增引用块重复陈述同一事实。引用块本身只做指路,不复述docs/pull-request.md已有的具体规则或标题示例——权威内容只留一处,减少未来漂移点。docs/pull-request.md:## Summary/## Test plan这类标题本身不能豁免这些要求。(初版曾写成"使用通用标题即代表未查阅本指南",但这是对贡献者流程的推断、无法验证——有人查阅后仍可能选用同义英文标题,也有人可能照抄标题却未真正理解内容;已改为只对可验证的"内容要求"下结论。初版还曾提到该模板"是许多代理工具自身指令中内置的默认示例",属于无法对照当前分支验证的元评论,已删除。)N/A — <原因>说明。)docs/DOC-MAINTENANCE.md:将docs/pull-request.md补充进"一次性验证"章节的链接完整性检查清单(此前遗漏)。已知限制
docs/DOC-MAINTENANCE.md的链接完整性检查脚本仍是手工枚举文档列表(本次只是补上遗漏的一项),未来新增文档时仍可能重复此类遗漏;改为自动发现(如find docs -name '*.md')是更彻底的修复,但涉及改写一个已在使用的校验脚本,存在误纳入不该检查的文件(如模板文件)的风险,本次未处理。docs/pull-request.md中 "Fixes mentioned issues" 等清单项在某些变更类型下是否适用,仍依赖代理自行判断;已加入"不适用时留空"的通用规则,但未逐项列举适用边界。建议审查重点
docs/pull-request.md新增的"内容要求不因标题而豁免"表述是否足够清晰,是否比初版"标题即信号"的说法更准确、更不容易被误读为标题黑名单。AGENTS.md中新引用块进一步精简后(不再举出具体标题示例),是否仍能让代理准确定位到该做什么。关联
docs/pull-request.md,后经用户指出并已修正描述格式)。docs/pull-request.md及AGENTS.md对应小节的原始 PR。验证
docs/DOC-MAINTENANCE.md自带的链接完整性检查脚本("One-shot verification" 章节的 bash 片段)本地多次执行(每轮改动后),全部链接可解析,无BROKEN输出。AGENTS.md、docs/DOC-MAINTENANCE.md(所有权表)、docs/README.md(索引)、docs/develop.md(提交/PR 工作流小节)中对pull-request.md的引用,确认改动后无重复陈述同一事实、且仅有一处权威提示位置。git commit触发的预提交钩子(lint-staged)因本次改动仅涉及.md文件而跳过 JS/TS 相关检查(无相关文件改动)。docs/pull-request.md自身 "recommended" 的矛盾表述、标题禁令对具体事件的过拟合、AGENTS.md 与 docs/pull-request.md 之间的重复内容;第三轮修正了 PR 描述本身滞后于最新实现、"标题即信号"这一不可验证的推断、清单不适用项规则缺失的问题;第四轮(本次)修正了第三轮新加的"不适用/未执行留空"规则本身混淆了两种不同审查含义的问题。本 PR 描述本身即按docs/pull-request.md规定的结构撰写,并在每轮修订后同步更新,作为本次改动是否达到预期效果的直接验证。