Skip to content

feat: spec 漂移自动修复(autofix)#2

Merged
yhuan123 merged 6 commits into
mainfrom
feat/spec-drift-autofix
Jun 8, 2026
Merged

feat: spec 漂移自动修复(autofix)#2
yhuan123 merged 6 commits into
mainfrom
feat/spec-drift-autofix

Conversation

@yhuan123

@yhuan123 yhuan123 commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

背景

原 spec-driftcheck 的漂移机制只"提醒/亮红灯",不更新 spec。本 PR 把它升级为自动起草修复 PR:漂移发现后由 Codex 改 anchors + spec.md,经确定性护栏与质量门后向主仓库提幂等 PR,合并权仍在人(Dependabot 模式)。

改动(5 commits)

  • feat(check): check 新增 --format json,输出结构化 findings 供下游消费(空 findings 输出 [],exit code 语义不变)
  • feat(scaffold): 新增 GHA workflow 模板 spec-drift-autofix.yaml——每日 check → Codex 修复 → 护栏(只许改 spec/、禁改 drift-check.yaml)→ check 重跑质量门 → peter-evans/create-pull-request 幂等 PR;为含 ${{ }} 的 workflow 模板启用 [[ ]] Go 模板定界符
  • fix(scaffold): 护栏改用 git status --porcelain,覆盖 agent 新建的未追踪文件
  • feat(scaffold): 新增 autofix-prompt.md 修复任务书模板——消失 CRD 保留 REQ + 标记(不自动删)、新 CRD 起草 P2 草稿态(不标 planned)
  • docs: playbook 第 6/7 步与已知坑、README 增补接入与试点判据

设计要点

  • generator-verifier 分离:Codex 是不可信生成器,现有 check 是确定性验证器;PR 只在机器可判定层全绿时出现,人审只关注语义。
  • 删除永远是人的决定:消失的 CRD 只对齐失效锚点指针、保留 REQ 加 ⚠️ 标记交人裁决。

设计与计划文档:docs/superpowers/specs/2026-06-07-spec-drift-autofix-design.mddocs/superpowers/plans/2026-06-07-spec-drift-autofix.md

Test Plan

  • make test 全绿(新增 report JSON 测试、scaffold workflow/prompt 渲染测试)
  • 脚手架端到端冒烟:init 渲染新文件、check text/json 双模式 exit 0、GHA ${{ }} 完好、零残留占位符
  • 渲染 workflow YAML 语法校验通过
  • 真实仓库试点(需目标插件仓库 + OPENAI_API_KEY):按 playbook 第 7 步第 4 项验证四判据

🤖 Generated with Claude Code

@yhuan123 yhuan123 merged commit 223b8aa into main Jun 8, 2026
2 checks passed
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