From 63e0a429c8ac6d0d6a78773798702bd632fc3594 Mon Sep 17 00:00:00 2001 From: aloekun Date: Thu, 7 May 2026 23:52:31 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(hooks-post-tool-linter):=20PowerShell?= =?UTF-8?q?=20(=3Fi)=20flag=20validation=20+=20=C2=A7A-2=20P-1/P-2=20ledge?= =?UTF-8?q?r=20=E8=A8=98=E9=8C=B2=20(=E9=A0=86=E4=BD=8D=207=20/=20=C2=A7A-?= =?UTF-8?q?2=20P-3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit §A-2 Phase 5 dogfood P-3 (順位 7)。PR #91 で発覚した PowerShell case-insensitive regex の構造的落とし穴 (no-empty-powershell-catch / no-silent-error-action で (?i) 欠落 → CR Major 指摘) を機械強制で再発防止。 順位 7 (Tier 1, T1-1): - find_powershell_rules_missing_case_insensitive_flag() 関数追加: extensions に ps1 を含む rule で pattern に (?i) が無いものを ID リストで返す - load_custom_rules() で起動時 warn (本番運用層) - 7 unit tests (異種 violator / valid / mixed-ext / case-insensitive ext / multi-violator / non-ps1 ignore) + 1 deployed-config 全 rule 検証 test (CI 検出層) - 既存 no-ephemeral-todo-reference rule の pattern に (?i) を追加 (deployed validation を pass、Windows file path 大文字小文字混在対応の副次効果あり) - ~/.claude/rules/common/code-review.md § Custom lint rule patterns 追加 (PR #91 a15b263 fix の経緯 + 順位 7 機械強制の事後参照) §A-2 計測ログ (P-1/P-2) 記録: - P-1 (PR #125): findings: 0 (CR APPROVE no comments)、classifier 未起動 → dogfood 不発 - P-2 (PR #126): findings: 1 (CR Nitpick、review body
block 内、 check-ci-coderabbit 抽出漏れ)、手動 synthetic finding で classifier 実行 → action=human_review / action_confidence=0.0 / fallback=length_contract、 agreement: 1/1 (100%)、latency: 6.4s/件 (>5s 目標)、fallback: 1/1 - 既知 system gap: check-ci-coderabbit が review body の
Nitpick を 抽出しない (post-pr-monitor が classifier に渡す入力経路に欠落) build + deploy 済 (.claude/hooks-post-tool-linter.exe)。 全 82 tests pass、regression なし。 --- .claude/custom-lint-rules.toml | 2 +- docs/local-llm-offload-analysis.md | 7 +- src/hooks-post-tool-linter/src/main.rs | 90 ++++++++++++++++++++++++++ 3 files changed, 95 insertions(+), 4 deletions(-) diff --git a/.claude/custom-lint-rules.toml b/.claude/custom-lint-rules.toml index 6b3fab08..6697c70e 100644 --- a/.claude/custom-lint-rules.toml +++ b/.claude/custom-lint-rules.toml @@ -183,7 +183,7 @@ good = 'See [推奨実行順序](todo.md#recommended-order-summary)