Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Skip the second `[verify]` pass when the review is skipped and the tree is unchanged

未关闭
#1,002 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
49/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
git, python
领域
devtools

调研方向

Start by tracing _skip_review_and_commit through _review_verify_gate, _verify_review, verify_review_stories, and _verify_review_commands, then locate the post-dev verify-command-result journal record. Check how verification settings and Git tree state are represented. Done means unchanged trees can reuse a prior result only when enabled, while changes still run verification and the reuse is recorded in the journal.

由索引模型根据 Issue 内容生成。

描述

Describe your idea

When the review session is skipped (review-not-recommended → review-skipped), _skip_review_and_commit runs the review verify gate, which executes [verify] commands again on a working tree that has not changed since the post-dev verify that just passed. Allow that second pass to reuse the first result when nothing changed.

Why is this needed?

The two passes exist for a good reason: on the review path, a review session can change code between them, and the gate proves what goes into the commit. On the skip-review path no session runs in between, so the second pass re-proves the same tree with the same commands.

With a slow suite this is the dominant cost of a story. In our project [verify] commands = ["npm test"] takes 11–14 minutes on Windows, so every story whose review is skipped spends that time twice. In one run (0.12.0), the post-dev verify-command-result passed at 15:15:32 and the review gate's npm test started in the same second on the identical tree. Checked against main (v0.13.2): _skip_review_and_commit → _review_verify_gate → _verify_review → verify_review_stories → _verify_review_commands still runs the commands unconditionally.

How should it work?

A deterministic check, no LLM involved:

  1. After the post-dev verify passes, record a fingerprint of what it verified: HEAD plus a hash of the working tree, tracked and untracked but not ignored (for example git add -A into a temporary index, GIT_INDEX_FILE, followed by git write-tree), together with the resolved [verify] commands.
  2. At the review gate on the skip-review path, compute the same fingerprint. If it matches, journal a verify-command-result that points to the earlier pass (for example reused_from_sequence: N) instead of running the commands again. The spec-done gates still run as today.
  3. Any difference (a fix session, a review session, an operator edit, a policy change) runs the commands as now.

Because suites can depend on state outside git (services, clocks, caches), it could be opt-in, for example [verify] reuse_unchanged = true, defaulting to today's behaviour.

PR

Not working on it. Happy to test a build on Windows.

Additional context

  • Platform: Windows 11, psmux 3.3.8, Claude Code adapter, stories mode (bmad-loop run --spec), [gates] mode = "none".
  • The journal already has what step 2 needs (verify-command-result with verification_stage and verification_sequence), so reuse stays auditable.
主要语言
Python
星标
165
派生
69
平均合并
23 小时 42 分钟
30 天内合并 PR
87

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

bmad-code-org/bmad-loop 的其他 Issue

查看 bmad-code-org/bmad-loop 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。