Bundle l: Custom lint rule test gap closure (PR #150 + #166 post-merge-feedback 3 件統合)#167
Merged
Merged
Conversation
…ock system exe FP negative test)
…ative test 追加 PR #166 post-merge-feedback で 3 独立ソース (PR diff / Session / Pre-push:simplicity) で同時指摘された systemic pattern への対策。takt-fix で regex は `(?:cli-[\w-]+|hooks-[\w-]+|check-ci-[\w-]+)\.exe` に narrowed 済だが、 既存 `exe_help_block_allows_unrelated_exe` は `foo.exe` の架空名のみで実在 system exe を未検証。将来 regex を broad pattern に戻した場合の silent regression を test 層で明示的に検出する目的で、cargo/python/node/notepad の 4 件 negative test を追加。
… 個別 fixture test 追加 + doc 修正 PR #150 CR Major fix で persona: alternation に追加された 4 fields のうち、 従来 regression test は `required_permission_mode` の 1 case のみで、 doc comment は「4 fields regression test」と主張しつつ実態と乖離していた。 本 commit で: - 既存 `takt_workflow_persona_detects_required_permission_mode_violation` の doc を 実態に合わせて「代表 case」表現に修正、残り 3 fields は個別 test で検証する旨を明記 - `pass_previous_response` / `output_contracts` / `parallel` の個別 fixture test を追加 - `.claude/custom-lint-rules.toml` の `[rules.test_coverage.main_ext_tests.yaml]` に 3 件の新 test 名を登録 (rule test coverage check で機械強制される宣言) 将来 alternation から個別 field を誤って削除した場合に test fail で検出される safety net を確保。 (順位 121、PR #150 T2-#1 採用)
…n case study 追記 PR #150 CR Major fix で「persona: alternation の列挙漏れ」が発生した経験を踏まえ、 takt yaml schema 拡張時の rule 更新フローを 2 箇所に codify: (1) `.claude/custom-lint-rules.toml` rule⑨ 上部に「Field 拡張手順」4 ステップを追記 (grep で sibling field を抽出 → alternation 追加 → test helper 追加 → fixture test + [rules.test_coverage] 宣言追加 → cargo test 確認) (2) `docs/adr/adr-007-custom-linter-layer-boundary.md` に Case study section を追加 (Rust regex の lookahead 非対応 → enumeration-based negation 採用の判断経緯 + 列挙漏れリスクへの多層防御 + 同型 rule 設計時の checklist) 順位 121 (個別 fixture test) と 順位 120 (本 commit) で「規約 → test → 保守手順」の 3 層が完成し、次回 takt yaml schema 拡張時の rule 更新フローが文書化される。 (順位 120、PR #150 T1-#1 採用、analyzer Tier 1 → ユーザー判断で Tier 3 reclassify)
PR #150 + #166 post-merge-feedback 採用 3 件 (Bundle l: Custom lint rule test gap closure) が同 PR で land 完了したため、対応する todo entry を削除: - 順位 139 (exe-help-block system exe negative test): commit 3049f56 で 4 件 negative test 追加 - 順位 121 (takt_workflow_persona 3 fields fixture test): commit bfab173 で 3 件 fixture test 追加 + doc 修正 + .claude/custom-lint-rules.toml の [rules.test_coverage.main_ext_tests.yaml] 宣言更新 - 順位 120 (rule⑨ コメント拡張 + ADR-007 case study): commit a2df865 で field 拡張手順 4 ステップ追記 + ADR-007 に enumeration-based pattern case study section 追加 todo-summary.md / todo8.md から該当 entry を一括削除。残存 task の優先順位に影響なし。
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (2)
📝 WalkthroughWalkthroughtakt-workflow-persona-without-model ルール(ルール⑨)の正規表現層での設計判断を ADR で詳細化し、対応するテストカバレッジ定義と実装を拡張しました。列挙による否定と多層防御戦略を確立し、テストを細分化して個別ケース検証を追加しています。 Changesルール⑨の設計決定文書化とテスト拡張
検証プリセットテストの強化
完了タスク記録の整理
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
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. Comment |
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.
Summary
Bundle l: Custom lint rule test gap closure — PR #150 + #166 post-merge-feedback 採用 3 件を 1 PR で統合 land する。
共通テーマは「custom lint rule (preset /
.claude/custom-lint-rules.tomlrule⑨) の test gap 補強 + 設計判断の codify」。挙動変更ゼロ、すべて test 追加 + 既存 ADR/comment への追記のみで副作用最小。採用タスク
exe-help-blockpreset に system exe (cargo/python/node/notepad) の negative test を追加。現行 regex(?:cli-[\w-]+|hooks-[\w-]+|check-ci-[\w-]+)\.exeの scope を test 層で明示し、将来 broad pattern に戻した場合の silent regression を検出可能化。takt_workflow_persona_detects_required_permission_mode_violationの doc を実態に合わせて修正 + 残り 3 fields (pass_previous_response/output_contracts/parallel) の個別 fixture test を追加。.claude/custom-lint-rules.tomlの[rules.test_coverage.main_ext_tests.yaml]に test 名を登録 (rule test coverage check で機械強制)。docs/adr/adr-007-custom-linter-layer-boundary.mdに enumeration-based pattern の Case study section を追加。Rust regex の lookahead 非対応制約から enumeration による negation を採用した判断経緯 + 列挙漏れリスクへの多層防御 (TOML コメント + 個別 fixture test + clean baseline test) + 同型 rule 設計時の checklist を codify。Commit 分割
5 commits で「宣言 → 実装 → 削除」の流れに整理:
docs(todo): 順位 139 新規追加test(hooks-pre-tool-validate): 順位 139test(hooks-post-tool-linter): 順位 121docs(adr): 順位 120docs(todo): 順位 120 / 121 / 139 完了に伴い削除Test plan
cargo test -p hooks-pre-tool-validate→ 144 passed (新規 4 件含む)cargo test -p hooks-post-tool-linter→ 131 passed (新規 3 件含む)rule_test_coverage_check→ ok (TOML meta field と実 test 名の整合性 機械検証 pass)Summary by CodeRabbit
Documentation
Tests
Chores