Skip to content

fix: escape spec-review loop + skip CI on non-code PRs#178

Merged
coji merged 2 commits into
mainfrom
fix/spec-review-loop-escape
Mar 29, 2026
Merged

fix: escape spec-review loop + skip CI on non-code PRs#178
coji merged 2 commits into
mainfrom
fix/spec-review-loop-escape

Conversation

@coji
Copy link
Copy Markdown
Owner

@coji coji commented Mar 29, 2026

Summary

  • Fix spec-review loop monitor: unproductive condition routes to implement instead of back to spec-review
  • Add paths-ignore to CI workflow so PRs that only change docs, takt config, or markdown skip tests

Changes

takt: next: spec-reviewnext: implement for unproductive loop escape

CI: Skip on PRs that only touch:

  • *.md, docs/**, website/**
  • .takt/**, .claude/**
  • LICENSE, .gitignore

Push to main still runs unconditionally.

🤖 Generated with Claude Code

Summary by CodeRabbit

Chores

  • CI パイプラインを最適化し、ドキュメント関連の変更のみの場合は不要なビルドをスキップするよう調整
  • 仕様確認プロセスの内部ワークフロー ロジックを改善

The spec-review loop monitor's unproductive condition was routing back
to spec-review, creating a potential infinite loop (only stopped by
max_movements). Now routes to implement so remaining suggestion-level
issues don't block progress.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
durably-demo Ignored Ignored Preview Mar 29, 2026 6:22am
durably-demo-vercel-turso Ignored Ignored Preview Mar 29, 2026 6:22am

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 29, 2026

📝 Walkthrough

ウォークスルー

このPRは2つのファイルを修正しています。CI ワークフローの pull_request トリガーに paths-ignore ルールを追加して、ドキュメントやその他の補助ファイルの変更のみではワークフローが起動しないようにします。また、.takt/pieces/spec-implement-accept.yaml の監視ルーティングを変更し、「Unproductive」条件時に「spec-review」ループではなく「implement」フェーズに進むように修正します。

変更箇所

コホート / ファイル(s) 概要
CI ワークフロー設定
.github/workflows/ci.yml
pull_request トリガーに paths-ignore ルールを追加。ドキュメント (*.mddocs/**website/**)、補助ファイル (.takt/**.claude/**)、トップレベルファイル (LICENSE.gitignore) の変更のみでは CI が実行されなくなります。
ワークフロー制御フロー
.takt/pieces/spec-implement-accept.yaml
「Spec review <-> Spec revision ループ」の監視ルールを修正。「Unproductive」条件の遷移先を「spec-review」ループから「implement」ムーブメントに変更し、非生産的なスペック レビューの反復後に実装フェーズへ進むようになります。

コード レビュー工数

🎯 2 (Simple) | ⏱️ ~10 分

関連する可能性のあるPR

  • chore: add takt workflow config #153: 同じ .takt/pieces/spec-implement-accept.yaml ファイルのワークフロー制御フロー (Unproductive/Spec-review 結果のルーティング) を修正しており、密接に関連しています。

🐰 ✨ ワークフロー整えて、
不要な実行はスキップし、
Spec レビューが堂々巡りなら、
さっさと実装へ突き進もう!
効率よく、ぴょんぴょん前へ!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title addresses both main changes: fixing the spec-review loop escape and skipping CI on non-code PRs. It directly summarizes the primary objectives of the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/spec-review-loop-escape

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Add paths-ignore to pull_request trigger so documentation-only,
workflow config, and markdown changes don't spin up PostgreSQL
containers and Playwright browsers unnecessarily.

Push to main still runs unconditionally.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coji coji changed the title fix: escape spec-review loop when unproductive fix: escape spec-review loop + skip CI on non-code PRs Mar 29, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)

7-14: .takt/** を PR CI から外すなら、軽量検証を別ワークフローで残すのが安全です

Line 11 の除外により、フロー定義変更が自動検知されないままマージされる可能性があります。重いテストを避ける方針は維持しつつ、.takt/** / .claude/** 向けに YAML 構文や最低限の整合性チェックだけ走る軽量ワークフローを追加するのを推奨します。

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/ci.yml around lines 7 - 14, The CI config removed
'.takt/**' and '.claude/**' via the paths-ignore key, which prevents PR-driven
detection of workflow changes; add a separate lightweight workflow that targets
those patterns (e.g., triggering on pull_request or push when changes match
'.takt/**' or '.claude/**') and runs minimal checks (YAML syntax/lint and basic
integrity tests) so workflow definition changes in those directories are still
validated; reference the existing paths-ignore setting and create the new
workflow to run fast linters (yamllint or GitHub Actions syntax check) for
changes touching those patterns.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/ci.yml:
- Around line 7-14: The CI config removed '.takt/**' and '.claude/**' via the
paths-ignore key, which prevents PR-driven detection of workflow changes; add a
separate lightweight workflow that targets those patterns (e.g., triggering on
pull_request or push when changes match '.takt/**' or '.claude/**') and runs
minimal checks (YAML syntax/lint and basic integrity tests) so workflow
definition changes in those directories are still validated; reference the
existing paths-ignore setting and create the new workflow to run fast linters
(yamllint or GitHub Actions syntax check) for changes touching those patterns.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9d68dd3b-f437-4f68-a77f-7e6bcd087e20

📥 Commits

Reviewing files that changed from the base of the PR and between 12c92b2 and 05e300b.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • .takt/pieces/spec-implement-accept.yaml

@coji coji merged commit fcd6aa5 into main Mar 29, 2026
5 checks passed
@coji coji deleted the fix/spec-review-loop-escape branch March 29, 2026 06:26
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