Skip to content

[codex] 收紧 sync pass 漂移触发器#7

Merged
wlvh merged 1 commit into
mainfrom
codex/per-pass-drift-triggers
May 3, 2026
Merged

[codex] 收紧 sync pass 漂移触发器#7
wlvh merged 1 commit into
mainfrom
codex/per-pass-drift-triggers

Conversation

@wlvh

@wlvh wlvh commented May 3, 2026

Copy link
Copy Markdown
Owner

1. 背景与目标

PR #6 合并后,继续收紧 workflow docs sync 的 pass prompt:三类漂移不能只作为通用标签存在,每个 pass 需要直接拿到自己 owned docs 的漂移触发器,避免 agent 为查一个集中词典去读整份 OPERATIONS.md

本 PR 的目标是把判断口径放进对应 PASS code block,同时压缩每个 pass 的控制文字,减少上下文消耗。


2. 实现方案

  • scripts/OPERATIONS.md 的 4 个 PASS prompt 内分别加入本 pass owned docs 的 class-1 template/missingclass-2 upstreamclass-3 code/test/behavior drift 触发器和最小闭合规则,明确 drift 发现后应写回 owned doc、写入 downstream impact,还是写入 not adopted because
  • PASS 1 / PASS 2 / PASS 3 不再要求读取 remaining_human_decisions,只处理本 pass 负责的 Full Document Reconcile 行。
  • PASS 3 只打开机械信号指向的测试片段,不默认通读 tests/
  • PASS 4 只在验证 downstream impact 闭合时定向读取 PASS 1/2/3 的相关段落,不默认通读前置 pass 全文。
  • 删除每个 PASS prompt 中的独立 停止条件 段,把停止 / 越权边界收进前置条件、只允许修改、闭合规则和完成后步骤。
  • 补强 PR 提交 agent prompt:明确必须读取文件、diff / PR body 核对、final gate、提交范围、单 commit 更新既有 PR / 新建 PR 的具体命令,以及 PR_BODY.md 默认不提交仓库。
  • 回归测试锁住 per-pass 触发器、闭合规则、PASS 3 / PASS 4 的特殊约束,并断言 PASS 1/2/3 prompt 不包含 remaining_human_decisions,所有 pass prompt 不包含 停止条件 / 读取收口 heading。

3. 变更范围

来自 git diff --name-only origin/main...HEAD

文件 / 目录 变更类型 说明
scripts/OPERATIONS.md 修改 将集中三类漂移定义改为每个 PASS code block 内的 owned-doc 漂移触发器和闭合规则;删除独立停止条件,保留 pass-specific 定向读取约束;补强 PR 提交 agent 的可执行提交流程。
tests/test_sync_coding_workflow.py 修改 更新 prompt 回归测试,锁住 per-pass 触发器、闭合规则、PASS 3 / PASS 4 特殊约束、PR 提交 agent 命令合同,并防止 PASS 1/2/3 重新读取 remaining_human_decisions 或恢复 停止条件 / 读取收口 heading。

4. 文档影响

受影响文档:

  • scripts/OPERATIONS.md

说明:

  • 本 PR 只调整 sync 工具操作手册中的 agent prompt,不改变下游项目能力边界或用户可观察行为。
  • 不需要更新 capability_contract.jsoninteract.mddocs/business_user_guide.md

5. 用户与架构影响

用户可见变化:

  • No
  • 说明:不改变应用运行行为;只影响执行 workflow docs sync 的 agent 读取路径和文档漂移判断口径。

架构变化:

  • No
  • 说明:未修改 sync 脚本、状态模型、数据流或外部依赖。

6. Review / 修复记录

轮次 来源 问题摘要 判断 处理结果 证据
R0 用户反馈 集中词典会让 agent 为了掌握 ### 2.0 漂移触发器词典 去读整份 OPERATIONS.md,违背减少上下文消耗的目标。 真实存在 放弃集中词典,把每个 pass 需要的触发器直接放进对应 PASS code block。 scripts/OPERATIONS.md
R1 自审 PASS 1/2/3 仍有读取 remaining_human_decisions 的旧范围,且 PASS 3 / PASS 4 可能通读过多前置文档。 真实存在 收紧“必须读取”清单:PASS 1/2/3 只处理本 pass FDR 行;PASS 3 只打开机械信号指向的测试片段;PASS 4 只定向读取 downstream impact 相关段落。 scripts/OPERATIONS.md, tests/test_sync_coding_workflow.py
R2 用户反馈 Prompt 只写了本 pass owned docs 的漂移触发器,但没有写 drift 发现后怎么修复 / 闭合。 真实存在 在每个 PASS code block 内新增最小“闭合规则”,只写修复路由和越权边界:能在 owned doc 闭合就写回,不能闭合就写 downstream impact 或 not adopted because。 scripts/OPERATIONS.md, tests/test_sync_coding_workflow.py
R3 用户反馈 每个 pass 的独立 停止条件 段可以不要,容易增加 prompt 体积并重复已有边界。 真实存在 删除 4 个 PASS prompt 的 停止条件 段;测试锁住不再恢复 停止条件 / 读取收口 heading。 scripts/OPERATIONS.md, tests/test_sync_coding_workflow.py
R4 用户反馈 PR 提交 agent 信息不够充分,缺少可直接执行的提交 / 更新 PR 细节。 真实存在 补充 PR 提交 agent 的必须读取、提交前核对、提交范围、单 commit 发布命令和完成回报要求;测试锁住关键命令与禁止项。 scripts/OPERATIONS.md, tests/test_sync_coding_workflow.py

7. 已知限制与回滚

已知限制:

  • PASS prompt 比集中词典方案多一些文字,但换来单个 prompt 自包含,减少 agent 查找和上下文开销。

回滚方式:


8. 最终自检

  • 当前分支不是主干:codex/per-pass-drift-triggers
  • 已执行 git diff --name-only origin/main...HEAD
  • “变更范围”与实际 diff 一致
  • PR body 不包含历史草稿、旧分支名、未落地计划
  • 已按 TESTING.md 完成测试与测试记录
  • 用户可见变化已对照 interact.md
  • 架构变化已对照 architecture.md
  • 每轮 review / 修复都已写入“Review / 修复记录”

@wlvh
wlvh force-pushed the codex/per-pass-drift-triggers branch from cec6361 to ccb5f66 Compare May 3, 2026 08:35
@wlvh
wlvh force-pushed the codex/per-pass-drift-triggers branch from ccb5f66 to 400b379 Compare May 3, 2026 08:41
@wlvh
wlvh marked this pull request as ready for review May 3, 2026 08:45
@wlvh
wlvh merged commit dff0470 into main May 3, 2026
@wlvh wlvh mentioned this pull request May 3, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant