Conversation
…P-1/P-2 ledger 記録 (順位 7 / §A-2 P-3) §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 <details> 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 の <details> Nitpick を 抽出しない (post-pr-monitor が classifier に渡す入力経路に欠落) build + deploy 済 (.claude/hooks-post-tool-linter.exe)。 全 82 tests pass、regression なし。
|
Warning Rate limit exceeded
To continue reviewing without waiting, purchase usage credits in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
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 |
…位 76+77 / §A-2 P-4) (#128) * test(cli-pr-monitor): cross-module overflow safety + 2100 baseline + §A-2 P-3 ledger (順位 76+77 / §A-2 P-4) §A-2 Phase 5 dogfood P-4 (Bb-3 follow-up)。PR #115 で実証された unit test isolation 起因の cross-module overflow 自己矛盾 (config layer の sanitize テストが downstream poll arithmetic の overflow safety を verify していなかった) を統合テストで machine-enforce。 順位 76 (Tier 2, T2-1): - 4 cross-module integration tests を config.rs test module に追加 - cross_module_overflow_safety_at_max_boundary (sanitize 後の MAX_SAFE_WAIT_SECS が finalize_initial_review_park / schedule_next_* 両経路で overflow しないことを assert) - cross_module_overflow_safety_with_zero_input_uses_default (0 → default 300s) - cross_module_overflow_safety_with_u64_max_input_uses_default (u64::MAX → default 300s) - cross_module_overflow_safety_negative_test_large_unsanitized_value_overflows (i64::MAX as u64 を直接 cast すると positive overflow、sanitize の必要性裏付け) - cross_module_overflow_safety_negative_test_u64_max_wraps_to_minus_one (u64::MAX as i64 = -1 で silent corruption (過去時刻)、sanitize で防止) 順位 77 (Tier 2, T2-2): - 既存 review_recheck_sanitize_max_safe_boundary テストを year 2100 baseline (now_unix = 4.1e9) でも overflow しないことを assert する形に拡張 - MAX_SAFE_WAIT_SECS 定数 doc に future-proof 根拠を追記 (year 2100 baseline で safety margin が 9 桁残ることを明文化) §A-2 計測ログ P-3 結果記録: - P-3 (PR #127): rate-limit blocked (CR が 27 min wait の rate-limit overlay で formal review 投稿不可)、classifier 未起動、計測 N/A — dogfood 不発。但し CR rate-limit 経路が dogfood の阻害要因として観測 (§A-2 §6 注意事項 #1 を実証)。 テスト 168 active passed (順位 76 系 5 件追加)、regression なし。 deployed exe には影響なし (test only + doc コメント)。 * docs(todo): 順位 76 + 77 (cross-module overflow + 境界値 matrix) 完了に伴い削除
Summary
Catch {}/-erroraction silentlycontinue等を見逃す) を機械強制で再発防止find_powershell_rules_missing_case_insensitive_flag()関数 + 起動時 warn (本番運用層) + 8 unit/integration test (CI 検出層) の 2 層構成~/.claude/rules/common/code-review.mdに case-insensitive lint rule 規約を追記 (経緯参照可能化)Changes
src/hooks-post-tool-linter/src/main.rs新関数
find_powershell_rules_missing_case_insensitive_flag(rules: &[CustomRule]) -> Vec<String>:load_custom_rules()から呼出し → 起動時 stderr に warn 出力 (本番運用層)flags_rule_without_case_insensitive_flagpasses_rule_with_case_insensitive_flagignores_non_ps1_ruleshandles_mixed_extension_listtreats_extension_case_insensitivelyreturns_multiple_violatorsdeployed_custom_rules_pass_powershell_case_insensitive_validation(CARGO_MANIFEST_DIR から.claude/custom-lint-rules.tomlを直読、全 rule 検証).claude/custom-lint-rules.tomlno-ephemeral-todo-referencerule の pattern に(?i)追加 (docs/todo[0-9]*\.md→(?i)docs/todo[0-9]*\.md)Docs/Todo3.md等) 対応ps1を含むため deployed validation を pass させる~/.claude/rules/common/code-review.md### Custom lint rule patternsセクション新設:(?i)フラグを case-insensitive 言語 rule に付与docs/local-llm-offload-analysis.md(§A-2 計測ログ)P-0 / P-1 / P-2 の dogfood 結果を
___placeholder から実数値に更新:判明した system gap (P-2):
check-ci-coderabbitが CR review body の<details>block 内 Nitpick を抽出しない → post-pr-monitor の input data 経路に欠落 → classifier が空 findings を見てenrich_with_classifierをスキップ。今後の P-N で同型再発する可能性高、follow-up task 候補。docs/todo.md/docs/todo3.mdfeedback_todo_no_history完了タスクは仕組み反映後削除)docs(todo): 順位 7 ... 完了に伴い削除) で分離グローバル設定変更ログ (§10.5 規約)
PR #123 で導入した backup 規約に従い snapshot を取得:
変更箇所:
~/.claude/rules/common/code-review.mdに### Custom lint rule patternsセクション追加 (約 20 行)。Test plan
cargo test -p hooks-post-tool-linter powershell— 7/7 passcargo test -p hooks-post-tool-linter deployed_custom_rules— 1/1 pass (deployed config 全 rule バリデーション)cargo test -p hooks-post-tool-linter— 82/82 pass、regression なし.claude/hooks-post-tool-linter.exe)__backup-claude-config/<ts>/snapshot 確認関連
docs/todo3.md詳細エントリ (本 PR で削除)docs/local-llm-offload-analysis.md