docs(weekly-review): 2026-07-19 findings 採用 + ADR-059 dogfood - #303
Conversation
週次レビュー (ADR-031) の High 4 件を docs/todo.md「週次レビュー採用 (2026-07-19)」に展開: T01 (todo.md preamble の八つ→14 drift) / T02 (todo13.md 50KB超→todo14.md) / J01 (fetch_head mtime→埋め込み timestamp) / J02 (gh --repo 欠落の silent 失敗)。 - T02 採用に伴い docs/todo14.md 新設 (todo13.md 171KB 到達) + todo13.md routing を todo14.md に更新 + todo-summary #333 - todo3-11.md preamble の確認ファイル数を 14→15 (todo14 追加) に同期 (cli-docs-lint 決定論的検査に追従) - ADR-059 dogfood follow-up として VSCode 拡張の systemMessage 描画調査を todo14.md + summary #333 に登録 - Low 5 件は .claude/weekly-review-deferred.json に保留記録 (gitignored) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ADR-059 § Dogfood 観測 (2026-07-19) を新設: PR-N1〜N3 land 後、削除条件 4 (telemetry 90+ 発火行) と defense-in-depth 経路 (additionalContext 明示指示) の機能を確認。ただし削除条件 2 (systemMessage の UI 実描画) は VSCode 拡張環境で未確認 (観測は additionalContext 経由のみ)。 VSCode 拡張が hook systemMessage をターミナル CLI と異なる扱いにしている可能性を記録。 - 削除条件 2 が未充足のため weekly-review-notification-plan.md は削除せず保持 - 計画書の PR-N1 残タスク (削除条件 2) を今回の観測結果で更新 - 判定期限 2026-08-16 前に VSCode 描画調査が必要 (todo #333)。実装は revert しない (backstop あり) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughChanges週次レビュー通知文書更新
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
🤖 PR Monitor 分析 (GitHub Actions バックストップ)
Applicable Findings (Critical / High / Major)該当なし (レビュー指摘が現時点で 0 件) Filtered (not applicable)該当なし 差分概要 (軽量サマリー)
次のアクション
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/todo-summary.md`:
- Line 179: Update the docs/todo-summary.md preamble to identify todo14.md as
the current task-addition target and update its metadata from “順位 326-328 追加” to
include the new task at rank 333. Keep the newly added rank-333 entry unchanged.
In `@docs/todo.md`:
- Around line 37-40: Update the design decision in docs/todo.md so the preamble
states that new sessions must review all fifteen corpus files and the routing
list covers todo.md, todo2-14.md, and todo-summary.md. Keep the T02 todo14.md
addition consistent with these updated file-count and range references.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 67a68db3-adcc-4d1d-a21f-5454f9aaec37
📒 Files selected for processing (15)
docs/adr/adr-059-hook-system-message-visibility.mddocs/todo-summary.mddocs/todo.mddocs/todo10.mddocs/todo11.mddocs/todo13.mddocs/todo14.mddocs/todo3.mddocs/todo4.mddocs/todo5.mddocs/todo6.mddocs/todo7.mddocs/todo8.mddocs/todo9.mddocs/weekly-review-notification-plan.md
🤖 PR Monitor 分析 (GitHub Actions バックストップ)
Applicable Findings (Critical / High / Major)
いずれも ADR-033 の「本文中の絶対番号使用禁止」とは無関係な、ADR-035 が docs-only PR でも適用対象とする cross-reference 整合性の指摘であり、既存 ADR の意図的設計と矛盾しない。実際に現在の diff でも両箇所は未修正のまま残っている。 Filtered (not applicable)該当なし 次のアクション
|
Resolved findings: - [Major] docs/todo-summary.md:179 TODO の追加先と更新メタデータも同期してください。 - [Major] docs/todo.md:40 preambleのファイル数とルーティングを15ファイルへ更新してください。
PR #303 の CodeRabbit 対応 fix commit (f59922d) で docs/todo.md master preamble を 15 ファイルへ全面更新 + todo14.md 新設 + routing 更新まで完了したため、週次レビュー採用 (2026-07-19) の T01 (preamble drift) / T02 (todo13.md 50KB 超過) を完了タスクとして削除。 完了経緯の注記を残し、未着手の J01 / J02 (コード修正タスク) と #333 は継続。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🤖 PR Monitor 分析 (GitHub Actions バックストップ)
Applicable Findings (Critical / High / Major)該当なし (前回指摘の 2 件は fix commit で解消済み、CodeRabbit も解消を確認済み) Applicable Findings (Medium 以下)該当なし Filtered (not applicable)
次のアクション
|
* docs(todo): #303 post-merge feedback の F2/F3 を採用登録 (334/335) PR #303 の post-merge feedback から採用候補 2 件を docs/todo 系列に登録: - 334 (Tier 1): docs/todo*.md 本文の順位番号表記を検出する custom lint rule (ADR-033 使用禁止規定の仕組み化。将来の展望に検討済み明記も未実装 約3ヶ月、Effort S) - 335 (Tier 2): post-merge-feedback の transcript 分析を cli-merge-pipeline 生成の summary index に置換 (session-analysis facet の 25K token limit 衝突を構造的に回避) F1 (preamble 一貫性 lint) は未採用でレポート 303.md に残置。詳細は todo14.md、 priority 行は todo-summary #334/#335。push はせず次セッションの PR に混ぜる。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * build: ビルド成果物コピーを cross-platform 化 (WP-13 / deploy-artifacts.mjs) package.json の build:* スクリプトが使っていた `cp target/release/<name>.exe .claude/` を Node 製の scripts/deploy-artifacts.mjs に置換する。process.platform から実行 ファイル拡張子 (.exe / なし) を解決してコピーするため、(1) `.exe` の Windows 決め打ち (2) Git for Windows の usr/bin (cp.exe) を PATH に要求する既知の罠、の 2 点を構造的に 解消する。WP-13「EXE_SUFFIX 抽象化」step 1。挙動は Windows 上で従来と同一 (退行なし)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * build: 実行系 pnpm scripts を suffix 解決ランチャー経由に変更 (WP-13 / run-artifact.mjs) push / create-pr / mark-notified / merge-pr / check-ci / lint:docs の `.\.claude\<name>.exe` 直接呼び出しを scripts/run-artifact.mjs 経由に置換する。ランチャーは process.platform から 実行ファイル拡張子を解決し、spawnSync (shell 非経由) で子プロセスを起動、終了コードを そのまま伝播する (`&&` チェーン・exit 7 の empty @ 判定を維持)。引数は配列で忠実に転送する ため、cli-pr-monitor の `--body` 再結合ロジックは透過的に機能する。WP-13 step 2。 pnpm 経由の呼び出し名 (create-pr / merge-pr 等) は不変のため ADR-028 ゲートに影響しない。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * build(settings): hooks 設定テンプレートを EXE_SUFFIX + / 区切りで OS 非依存化 (WP-13 / ADR-005) settings.local.json.template の exe パスを {{PROJECT_DIR}}/.claude/<name>{{EXE_SUFFIX}} 形式へ 変更し、パス区切りを / に統一する。forward-slash の絶対パス exe は Windows でも実行可能 (& "C:/…/x.exe" / cmd /c の双方で exit 0、配布後 session の PreToolUse hook 実発火も確認) であり、 JSON エスケープ不要で Linux にもそのまま通る。 変更点: 生成ロジックを scripts/build-hooks-settings.mjs へ切り出し、{{EXE_SUFFIX}} 置換と 生成物の JSON 妥当性検証 (fail-closed) を追加した (壊れた settings で hooks が無言で無効化される ADR-005 冒頭の事故を防ぐ)。deploy-hooks.ts も同一解決 (forward-slash + EXE_SUFFIX) に追従し、 コピー対象 exe を crate 名 + EXE_SUFFIX で組み立てる。ADR-005 に amendment を追記。WP-13 step 3。 Windows 上の生成・配布は退行なし (実測)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(rust): 実行時 exe パス解決を std::env::consts::EXE_SUFFIX 化 (WP-13 step 4) Rust ソースの `.exe` ハードコードのうち、実行時に子 exe を解決する機能的な箇所を OS 依存の EXE_SUFFIX ベースに置換する (Windows は .exe、Linux は拡張子なしで解決)。 プラン策定 (2026-07-04) 後のコード進化で対象は当初想定の hooks-pre-tool-validate から 移動しており、実際の機能的 .exe を精査して置換した。 対象: cli-pr-monitor の classifier_exe_path / checker_exe_path (兄弟 exe 解決)、 wakeup 再起動コマンドの exe fallback (review_recheck / rate_limit signal 計 3 箇所)、 cli-push-runner の lint_screen デフォルト exe パス (cfg で platform 分岐)、 hooks-pre-tool-validate の exe-help-block regex (`.exe` を optional 化し拡張子なしの Linux バイナリも block)。classifier_exe_path テストと polling_exe テストを EXE_SUFFIX / Linux 形式で追加・更新。cargo test 全 pass (248/256/232)、clippy clean、Windows 退行なし。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(plan): WP-13 (EXE_SUFFIX 抽象化) を実装済に更新 harness-improvement-plan.md の全体表 WP-13 行を 未着手 → 実装済 に更新し、詳細セクションに 実装サマリの blockquote を追記。build/実行 scripts の mjs 化、settings の / 区切り + EXE_SUFFIX 化、 Rust の機能的 exe 解決の EXE_SUFFIX 化と、スコープ補正 (プランの protected_files/polling_exe 記述の stale 化)・スコープ外 (config TOML の cmd.exe 依存は WP-15 へ)・受け入れ基準の実測結果・完了条件を記録。 「cp PATH 依存は WP-13 で解消」の既知の罠も解消済みに更新。lint:docs / markdownlint pass。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(run-artifact): --help/-h/? を fail-closed で拒否し exe-help-block 迂回を塞ぐ local-review (security-auditor Medium) 指摘への対応。ランチャー経由の呼び出し (node scripts/run-artifact.mjs <name> --help) は PreToolUse の exe-help-block ガードの command-start アンカーに掛からず、--help が実 exe に転送され merge 本体等が起動する (PR #109 / ADR-030 の SIGPIPE 事故ベクタ)。ランチャー側で forwarded 引数に help フラグ (--help/-h/?) があれば exit 2 で拒否し、ガードと同じ意図を新経路でも担保する。 --help/-h とも拒否・通常起動は非退行を実測。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(settings-gen): テンプレート置換を関数リプレーサ化し $ パターン誤展開を防ぐ local-review (security-auditor Low) 指摘への対応。String.replace(regex, projectDir) は置換値中の $& / $prime / $backtick / $1 等を特殊解釈するため、リポジトリ絶対パスに 該当列が含まれると生成される settings のパスが破損し、hooks が無言で無効化される (決定論ゲートの fail-OPEN) 恐れがある。JSON.parse 検証は構造破損しか捕捉しない。 build-hooks-settings.mjs と deploy-hooks.ts の両方で置換値を関数リプレーサ (() => value) に変え、リテラルとして扱う。settings 再生成・tsc は非退行を実測。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
T01 (todo.md preamble drift) / T02 (todo13.md 50KB超→todo14.md) / J01 (fetch_head mtime→埋め込み timestamp) / J02 (gh --repo 欠落の silent 失敗)
Context
セッション冒頭の weekly-review reminder (ADR-031) を起点に週次レビューを実施 (通知ループが end-to-end で機能した実証)。findings 9 件のうち High 4 件採用、Low 5 件は
.claude/weekly-review-deferred.jsonに保留。計画書の retirement を検討したが、削除条件 2 (systemMessage の UI 実描画) が VSCode 拡張環境で確認できず (観測は additionalContext 経由のモデル言及のみ)。計画書の方針「表示されない場合は revert せず表示経路を再調査」に従い削除を見送り、dogfood 観測を ADR-059 に記録。VSCode 拡張が hook systemMessage をターミナル CLI と異なる扱いにしている可能性を切り分ける調査を todo #333 に登録した。
コミットは 2 分割 (todo corpus / ADR+計画書)。
Validation
pnpm pushquality_gate: lint / lint:docs / test / build PASS (docs-only routing で rust-lint-test skip)pnpm pushpre-push-review: verdict=APPROVE (security / simplicity 両者)References
.claude/weekly-reviews/2026-07-19.md— findings レポート (gitignored)Summary by CodeRabbit
systemMessage表示確認タスクを追加しました。