Skip to content

docs(todo): PR #275 post-merge feedback採用9件 (順位309-317) - #276

Merged
aloekun merged 1 commit into
masterfrom
docs/todo-275-feedback
Jul 16, 2026
Merged

docs(todo): PR #275 post-merge feedback採用9件 (順位309-317)#276
aloekun merged 1 commit into
masterfrom
docs/todo-275-feedback

Conversation

@aloekun

@aloekun aloekun commented Jul 16, 2026

Copy link
Copy Markdown
Owner

概要

PR #275feat(lib-telemetry) WP-12 step1)の post-merge feedback(ADR-030)から採用候補9件を採用し、docs/todo13.md(詳細エントリ)+ docs/todo-summary.md(順位309-317)に登録します。docs-only。

採否はユーザー承認済み。「様子見」4件は report のみ(todo 未登録)。根拠は .claude/feedback-reports/275.md

採用項目(順位309-317)

Tier 1(Hooks/Linter)

  • 309: telemetry の block 記録を実 quality 違反に限定(CodeRabbit Major)。emit_block/record_*_firing が infra エラー(stdin/parse 失敗)でも発火を記録している点を実 violation パス限定に絞る。ADR-055 の「emit 総数」定義は amendment 併記。3 hook 横断で分割 PR 推奨。
  • 310: custom-regex な blocked_patterns の生 regex が telemetry id に流れる privacy footgun の是正(=セッション中の非ブロッキング follow-up を統合)。fallback を合成 id に正規化 + ADR-055 に config privacy 注記。現行 config は named preset のみで非発火。
  • 311: 逐語的関数複製(3+ コピー)を pre-push 検出する DRY lint rule(is_truthy 三重複製事案、ADR-007 regex 層)。

Tier 2(テスト/自動化)

  • 312: .claude/telemetry/ の per-pid×日次 partition ファイルの retention/cleanup(WP-12 step 2 と同時期、28日後)。
  • 313: is_truthy 三重複製を ADR-049 incident fixture 化(順位311と抱き合わせ)。
  • 314: bookmark 未作成での push 失敗(exit 7)のエラーメッセージ改善(本セッションで実発生)。

Tier 3(ドキュメント/ルール)

  • 315: ADR-055 telemetry の bounded lifetime 期限(〜2026-08-12)を config コメントに明記。
  • 316: ADR-044「2nd consumer で共通化」原則の明確化(is_truthy の非対称性を case study 化)。
  • 317: utility 関数追加前のチェックリスト(workspace grep)。

備考

  • 309(CodeRabbit Major)は ADR-055 で「意図的」と記録した設計判断の見直しを含むため、実装時に ADR-055 の amendment を伴う。
  • 310 はセッション中に検出された非ブロッキング follow-up と同一内容のため、重複させず1タスクに統合した。

PR #275 (feat(lib-telemetry) WP-12 step1) の post-merge feedback (ADR-030) から採用候補9件を採用し順位309-317に登録。Tier1: telemetry の block 記録を実 quality 違反に限定 (CodeRabbit Major、ADR-055 amendment 併記) / custom-regex の生 regex が telemetry id に流れる privacy 是正 (非ブロッキング follow-up 統合) / 逐語的関数複製の pre-push DRY lint rule。Tier2: telemetry retention/cleanup / is_truthy 三重複製の ADR-049 fixture 化 / bookmark 未作成 push のエラーメッセージ改善。Tier3: ADR-055 warm-up 期限の config コメント明記 / ADR-044 2nd-consumer 原則の明確化 / utility 追加前チェックリスト。様子見4件は report のみ。根拠は .claude/feedback-reports/275.md。
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@aloekun, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 8 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: fc222da5-b114-4510-abf4-670cb01ca95b

📥 Commits

Reviewing files that changed from the base of the PR and between 470cd6e and 94e3bb0.

📒 Files selected for processing (2)
  • docs/todo-summary.md
  • docs/todo13.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/todo-275-feedback

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.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 PR Monitor 分析 (GitHub Actions バックストップ)

  • トリガー: issue_comment (created) / 実行 run
  • CI: CodeRabbit check = pass (0 issues)。ただし会話コメントによると @aloekun の CodeRabbit レビュー回数上限到達により今回の実レビューは未実施(次回利用可能まで約8分、または push で再トリガー)。他 CI check は無し。mergeable = MERGEABLE / mergeStateStatus = CLEAN。
  • レビュー状況: PR reviews API 上のレビューは 0 件。インライン指摘も 0 件。会話コメントは CodeRabbit のレート制限通知のみ(実質的な指摘なし)。人間レビュアーの関与も無し (reviewDecision 空)。
  • Verdict: approved

Applicable Findings (Critical / High / Major)

該当なし(レビュー指摘自体が0件のため)

Applicable Findings (Medium 以下)

該当なし

Filtered (not applicable)

該当なし

変更概要 (軽量サマリー)

本PRは ADR-035 の path 基準・diff 内容基準を満たす docs-only PRdocs/todo-summary.md +9行、docs/todo13.md +181行、いずれも docs/** 配下)。

  • docs/todo-summary.md: サマリーテーブルに順位309〜317の9エントリを追加(PR feat(lib-telemetry): 発火テレメトリ収集層 — 全 hook の block/warn を JSONL 記録 (WP-12 step1) #275 post-merge feedback採用分)。
  • docs/todo13.md: 上記9エントリの詳細セクション(動機・作業計画・完了基準)を追加。内容は telemetry 記録の quality violation 限定化、custom-regex preset のプライバシー是正、DRY lint rule、retention/cleanup、ADR-049 fixture化、push エラーメッセージ改善、ADR-055/ADR-044 ドキュメント整備など、既存 ADR 群(ADR-055, ADR-007, ADR-011, ADR-044, ADR-049)への参照を伴う計画文書の追記。
  • executable code / トラストバウンダリへの変更なし。クロスリファレンスは既存 ADR ファイル・.claude/feedback-reports/275.md を指しており、CLAUDE.md の ADR 一覧と整合。

次のアクション

  • 現時点で修正を要する指摘は無く、CI・マージ可否とも問題なし。CodeRabbit の実レビューはレート制限によりまだ実施されていないため、後続コミット push または @coderabbitai review コメントでの再トリガーで新規指摘が出ないか次回監視サイクルで確認する。
  • 新規指摘が出た場合は本 workflow が再度検知するため、現時点で人手の追加対応は不要。

@aloekun
aloekun merged commit 968a4ab into master Jul 16, 2026
1 check passed
@aloekun
aloekun deleted the docs/todo-275-feedback branch July 16, 2026 05:39
aloekun added a commit that referenced this pull request Jul 17, 2026
… パイプライン改善 T11) (#288)

* docs(todo): CodeRabbit 監視まわりの不具合 5 件を backlog 化 (PR #287 調査、順位 318-322)

PR #287 で CodeRabbit の挙動が通常と異なったため調査し、実測で裏付けた不具合を
順位 318-322 として記録する。いずれも「壊れていないように見えるが実は機能していない」
= silent failure / false-green の系統。

順位 318 (Tier 1): CR rate-limit 第3 format 未対応 + silent 化。
  marker `rate limited by coderabbit.ai` は一致するが、wait-time 文言が
  `Next review available in: N minutes` に変わっており old/new どちらの regex にも
  不一致。parse_rate_limit は extract_wait_time(body)? で None を返して静かに終了し、
  「rate-limit 無し」と区別が付かない。ADR-034 の「HTML マーカーは UI 文言より stable」
  という予測自体は当たっていた (marker 安定 / 文言変化) が、regex 側の脆弱性が
  残っていた。旧→新→第3 で同一クラス 3 世代目。ADR-034 の troubleshooting は
  「marker が常時 false」を症状として想定しており本件を発見できない。

順位 319 (Tier 1): pr-monitor.yml バックストップの重複ガードが構造的トートロジー。
  skip 条件が「前回分析以降に新しいコメントが無い」だが、起動トリガー自体が
  coderabbitai[bot] の issue_comment のため、発火時点で必ず新コメントが存在し
  skip 条件は永久に成立しない。実測 5 件投稿 (うち 2 件は CR の ack のみに反応、
  1 件はマージ後)。13:18 の投稿は本文で「レビュー実体の追加は無し」と自認しつつ
  投稿しており、ガードが「新情報の価値」でなく「コメントの有無」を見ている証拠。
  ガードが LLM prompt (助言層) にあることが原因で、決定論層 (`if:`) へ移すべき。

順位 320 (Tier 2): CR status check は実レビュー有無に関わらず pass。
  skip も rate-limit も完了も一律 pass で、緑は「レビュー済み」を意味しない。
  加えて CR はコメント本文を in-place 更新するため check の summary 文字列が
  stale になる (本件では `Review skipped: ...` 表示のまま実態は `Review limit
  reached`)。診断の決定打は本文の `Configuration used` (Organization UI =
  レビュー未開始の症状 / Path: .coderabbit.yaml = 実行された証拠)。

順位 321 (Tier 2): WP-03 クォータ設計の前提 stale + レビュー欠落穴。
  .coderabbit.yaml 冒頭は「無料枠 3〜4 レビュー/時」前提だが実際は Pro +
  adaptive per-developer limit。ADR-040 の GPU 前提が stale だった件と同型。
  WP-03 は PR あたりの削減はできても developer 単位の rolling window 枯渇に
  効かない (#276-#287 の 12 PR / 約 24h が引き金と示唆)。また
  auto_incremental_review: false と「初回レビュー処理中の push」の組合せで
  新 head が未レビューのまま残る穴があり、手動トリガーが規約依存になっている。

順位 322 (Tier 1): post-merge-feedback が repo root に scratch script を残す。
  PR #287 マージ直後に analyze_transcript.py が生成され、jj auto-snapshot で
  本コミットに混入する寸前だった (commit 前の jj status で発見)。
  scratch_file_warning の patterns = ["__*", "_tmp_*"] に一致せず素通りする。
  PR #85 と同一クラスだが、対策が deny-list (pattern 列挙) のため AI が付ける
  新しい命名を先回りできないという構造的限界が露呈した。実物は削除せず
  scratchpad に退避 (回帰テストの fixture 候補)。

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(push-runner): docs-only 判定で rust gate を skip する決定論 routing (push パイプライン改善 T11)

PR 範囲 (`<base>..@`) が docs-only (ADR-035 path 基準) のとき、diff で結果が
変わり得ない quality_gate の rust-lint-test group (実測 ~50s = gate 律速) を
quality_gate 前に決定論的に skip する。

- takt (AI レビュー) と JS 系 (pnpm lint:docs) は skip しない: path から
  「Rust テスト結果不変」は演繹できるが「レビュー不要」は演繹できない
  (docs の cross-ref / trust boundary / 事実は誤り得る。ADR-035 §適用 criteria)
- ADR-035 path 基準を新 crate lib-docs-policy に集約し、cli-pr-monitor の
  重複実装 (関数 + テスト 7 本) を撤去して単一実装化
- ADR-039 3 点セット: [docs_only_routing] default OFF / env
  DOCS_ONLY_ROUTING_DISABLE=1 kill-switch / 本 repo enabled=true で dogfood
- fail-closed (ADR-043): jj 失敗 / 除外パス混入 / 判定不能はフル実行に倒す
- 新規 ADR-057 (試験運用、判定期限 2026-08-15)

回帰テスト: lib-docs-policy 8 + docs_only_routing stage 9 + quality_gate skip 3
(対照付き) + config 4。配布 exe で docs-only=skip / code=full / kill-switch /
disabled の 4 scenario を実 jj repo で before/after 確認。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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