Skip to content

docs(adr): 月次 ROI レビュー Phase 4 — ADR-062 補完 + degraded 保守化 + 実装プラン削除 - #333

Merged
aloekun merged 2 commits into
masterfrom
docs/monthly-roi-phase4
Jul 30, 2026
Merged

docs(adr): 月次 ROI レビュー Phase 4 — ADR-062 補完 + degraded 保守化 + 実装プラン削除#333
aloekun merged 2 commits into
masterfrom
docs/monthly-roi-phase4

Conversation

@aloekun

@aloekun aloekun commented Jul 30, 2026

Copy link
Copy Markdown
Owner

概要

WP-12 step 2/3 (ADR-062) の実装指示書
docs/monthly-harness-roi-review-plan.mdPhase 4 (最終) を実施し、照合・補完の完了を
もって実装指示書を削除する。これにより ADR-062 (+ ADR-055/053/061 追記) が唯一の記録源となる。

Phase 4 でやったこと

1. 照合確認

プランの「ユーザー決定事項」3 項目・「設計決定」5 項目・照合の観点を
ADR-062 / ADR-055 / ADR-053 / ADR-061 と 1 項目ずつ照合し、全て記載済みであることを確認した。

2. ADR-062 への記載漏れ補完 (6 edit)

各 Phase 末尾の「実装上の決定 (Phase 4 で ADR-062 へ反映)」のうち、プラン doc にしか無かった
6 点を ADR-062 へ補完:

  • root 発見の --ignore-working-copy (読取専用化) + current_working_copy() 判定
  • degraded discriminator (現 workspace 自身の root 失敗は現 root で補い degraded にしない / count 条件)
  • trend_months (既定 6)
  • 機構マッピングの snapshot 汎用化キー enabled_config_keys / exe_names
  • threshold_days の weekly (reminder_threshold_days) との非対称性
  • 大型作業 docs/todo.md 登録の優先度 table 採番はユーザー判断

なお eval 5 シナリオ (Phase 3 実装上の決定) は skills repo の evals.json に自己文書化されている
ため ADR には転記しない (プラン削除で失われる情報ではない)。

3. 実装指示書の削除

照合・補完完了に伴い docs/monthly-harness-roi-review-plan.md を削除。削除しても壊れる参照が
無いことを事前確認済み (docs 追跡ドキュメントからのファイル名参照なし、todo 整理は Phase 3 で完了済み)。

レビュー対応 (CodeRabbit Major)

src/cli-telemetry-report/src/discover.rscombine_roots が degraded を件数比較
(未解決 workspace 数 > 到達可能な extra_roots 数) で判定しており、別 root を extra_roots
指定すると degraded が誤解除され発火 0 から誤 promote されうる、という指摘 (Major / Functional
Correctness) を受けて修正:

  • 保守化: 「現 workspace 以外で root 未解決の workspace が 1 件でもあれば degraded 維持」に変更。
    未解決 workspace は self.root()<Error> = root 未知で extra_roots との対応を検証できない
    ため、件数比較では健全性を担保できない。
  • extra_roots は集計対象 root の追加には引き続き使う (degraded の解除には使わない)。degraded 解消の
    運用は「対象 workspace から実行」(現 root として解決) に一本化。
  • ADR-062 § 決定 2 degraded の記述と discover.rs のテスト 2 件を同期。

検証

  • pnpm lint:md 全通。quality gate (lint / test / build / rust-lint-test) PASS、
    cargo test -p cli-telemetry-report 52 passed / clippy 全通。
  • takt pre-push-review APPROVE (security / simplicity 全 reviewer approved)。

🤖 Generated with Claude Code

WP-12 step 2/3 (ADR-062) の実装指示書 docs/monthly-harness-roi-review-plan.md の Phase 4 を実施。
プランの「ユーザー決定事項」3 項目・「設計決定」5 項目・照合の観点を ADR-062/055/053/061 と 1 項目ずつ
照合し、全て記載済みを確認。各 Phase の「実装上の決定 (Phase 4 で ADR-062 へ反映)」のうちプラン doc に
しか無かった 6 点を ADR-062 へ補完:

- root 発見の --ignore-working-copy (読取専用化) + current_working_copy() 判定
- degraded discriminator (現 workspace 自身の root 失敗は現 root で補い degraded にしない / count 条件)
- trend_months (既定 6)
- 機構マッピングの snapshot 汎用化キー enabled_config_keys / exe_names
- threshold_days の weekly (reminder_threshold_days) との非対称性
- 大型作業 docs/todo.md 登録の優先度 table 採番はユーザー判断

照合・補完完了に伴い実装指示書 docs/monthly-harness-roi-review-plan.md を削除。
docs-only。pnpm lint:md 全通 (116 files 0 error)。
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

ADR-062 の月次テレメトリ報告、レビュー判定、monthly-review skill の仕様を具体化し、月次 Harness ROI レビューの実装計画書を削除した。

Changes

月次 Harness ROI レビュー

Layer / File(s) Summary
テレメトリ報告仕様の具体化
docs/adr/adr-062-monthly-harness-roi-review.md
root と workspace の判定、degraded 時の promote 抑止、集計条件、rollup・retention、Markdown/JSON レポート項目を明確化した。
レビュー規則と計画書の整理
docs/adr/adr-062-monthly-harness-roi-review.md, docs/monthly-harness-roi-review-plan.md
monthly review reminder の threshold_days、非アクティブ化候補の promote 条件、/monthly-review の登録規則を更新し、実装計画書を削除した。

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 月次ROIレビューPhase 4でのADR-062補完、degraded運用整理、実装プラン削除を的確に要約しています。
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/monthly-roi-phase4

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 のみ登録 (状態: pending / Review in progress)。他の CI check なし
  • レビュー状況: 人間レビューなし。CodeRabbit はレビュー未着 (現在処理中の "Currently processing new changes" 通知のみ、findings なし)
  • Verdict: approved (現時点で actionable finding 0 件。ただし CodeRabbit レビュー未完了のため暫定)

Applicable Findings (Critical / High / Major)

(該当なし — レビュー未着のため)

Applicable Findings (Medium 以下)

(該当なし)

Filtered (not applicable)

(該当なし)

変更概要 (レビュー指摘が無いため軽量サマリー)

ファイル 変更 内容
docs/adr/adr-062-monthly-harness-roi-review.md +22 -10 root 発見の --ignore-working-copy / current_working_copy() 判定方法の明記、degraded 成立条件 (現 workspace 以外で root 未解決数 > 到達可能 extra_roots 数) と自 workspace 解決失敗時の救済ロジックの明記、threshold_days 命名根拠の追記、enabled_config_keys/exe_names による snapshot 汎用化の記載、todo.md 登録時の採番方針の明記
docs/monthly-harness-roi-review-plan.md +0 -338 (全削除) 実装プラン文書の削除。ドキュメント自身の完了条件 (Phase 4: 決定事項が ADR に反映済みであることを確認後に自己削除) に基づく想定どおりの削除

ADR-035 (docs-only PR 評価ポリシー) の path 基準に照らすと、変更は docs/adr/**docs/*.md のみに完全に収まり、除外パス (.takt/facets/instructions/**.claude/**) には該当しない。プラン文書内容が実装済み Phase (0〜3、それぞれ既存 PR #329/#331 等で反映済みと記載) の decisions を ADR-062 へ転記・補完する体裁であり、diff の性質上コードロジック変更はない (docs-only)。

次のアクション

  • CodeRabbit のレビュー完了を待ってから、findings の有無を再確認する (本 backstop は待機・ポーリングしないため、次回イベント発火時に再評価される)。
  • ADR-062 に追記された「degraded 成立条件」等の記述が、削除される docs/monthly-harness-roi-review-plan.md の Phase 1 実装メモ記載内容と整合しているかを人間側でも軽く確認するとよい (今回の diff 上は転記漏れは見当たらない)。

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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/adr/adr-062-monthly-harness-roi-review.md`:
- Around line 74-79: Update the root-completeness logic in discover.rs so
degraded remains true whenever any non-current workspace root is unresolved
unless each reachable extra_roots entry is verified to correspond to a specific
unresolved workspace. Do not clear degraded based solely on comparing unresolved
workspace and extra_roots counts; preserve fail-open reporting while preventing
promote decisions from an incomplete root set.
🪄 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 Plus

Run ID: e6fb40d0-19c8-45e6-9f04-97d0565e7ef3

📥 Commits

Reviewing files that changed from the base of the PR and between f98b9f4 and b0b8b41.

📒 Files selected for processing (2)
  • docs/adr/adr-062-monthly-harness-roi-review.md
  • docs/monthly-harness-roi-review-plan.md
💤 Files with no reviewable changes (1)
  • docs/monthly-harness-roi-review-plan.md

Comment thread docs/adr/adr-062-monthly-harness-roi-review.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

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

  • トリガー: pull_request_review (submitted) / 実行 run
  • CI: analyze (本 workflow 自身) は実行中 (in_progress)。CodeRabbit check は pass (Review completed)。他の CI check なし。mergeStateStatus は UNSTABLE (analyze 未完了によるもの)。mergeable: MERGEABLE
  • レビュー状況: 人間レビューなし (reviewDecision 未設定)。CodeRabbit が 08:06:46 に COMMENTED レビューを提出、inline finding 1 件 (Major / Functional Correctness)
  • Verdict: approved

Applicable Findings (Critical / High / Major)

(該当なし)

Applicable Findings (Medium 以下)

(該当なし)

Filtered (not applicable)

# File (Line) Issue Filter Reason
1 docs/adr/adr-062-monthly-harness-roi-review.md:74-79 extra_roots の件数だけで root 集合の完全性を判定しており、workspace との対応関係を検証していない (degraded が誤って解除され得る) との指摘。実際の推奨アクションは src/cli-telemetry-report/src/discover.rs の修正を求めている Scope mismatch + Intentional design (ADR-035 docs-only): 指摘対象の combine_roots ロジックは discover.rs に既存実装済みで、本 PR の diff には含まれない (diff は docs/adr/adr-062-*.md の記述補完と docs/monthly-harness-roi-review-plan.md の削除のみ)。当該カウント比較方式は combine_roots_degraded_when_unresolved_exceeds_extra / 到達可能 extra_root が未解決数を補うと degraded 解消 テストで検証済みの意図的設計であり、本 PR は ADR にその既存挙動を正確に転記しているだけ

次のアクション

  • 本 PR (docs-only) はこのまま approve/merge して問題ない。CodeRabbit の指摘は discover.rs の設計改善提案として妥当な内容を含むため、対応するなら本 PR ではなく別 PR (コード変更) として起票することを推奨。
  • analyze job (本 workflow) の完了を待つ。

CodeRabbit review (Major, PR #333) 対応。discover.rs::combine_roots の degraded 判定が
「未解決 workspace 数 > 到達可能な extra_roots 数」の件数比較で、同数でも extra_roots が
実際に未解決 workspace を補う保証がなく、別 root 指定で degraded が誤解除され発火 0 から
誤 promote されうる問題を修正。

未解決 workspace は self.root() が <Error> = root 未知で extra_roots との対応を検証できない
ため、件数比較をやめ「現 workspace 以外で root 未解決が 1 件でもあれば degraded 維持」に
保守化。extra_roots は集計対象 root の追加には引き続き使う (degraded の解除には使わない)。
degraded 解消の運用は「対象 workspace から実行」(現 root として解決) に一本化。

ADR-062 § 決定 2 degraded の記述と discover.rs のテスト 2 件を同期。
@aloekun aloekun changed the title docs(adr): 月次 ROI レビュー Phase 4 — ADR-062 記載漏れ補完 + 実装プラン削除 docs(adr): 月次 ROI レビュー Phase 4 — ADR-062 補完 + degraded 保守化 + 実装プラン削除 Jul 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

  • トリガー: pull_request_review (submitted) / 実行 run

  • CI: analyze (本 workflow 自身) は pending (実行中)。CodeRabbit check は pass ("Review skipped: incremental reviews are disabled" — 本イベントでは新規フルレビューは実行されない)。他の CI check なし。mergeStateStatus は UNSTABLE (analyze 未完了によるもの)。mergeable: MERGEABLE。reviewDecision: 未設定

  • レビュー状況:

    • CodeRabbit: 08:06:46 に COMMENTED レビュー提出 (inline finding 1件、Major/Functional Correctness、discover.rs の degraded 判定ロジック)。その後 08:37:06 に COMMENTED レビューで author 対応を確認し「解消 (resolved)」とマーク
    • aloekun (PR author): 08:36:43 に COMMENTED レビュー提出。上記 finding への返信で、discover.rscombine_roots を件数比較 (unresolved_non_current > reachable_extra.len()) から unresolved_non_current > 0 (1件でも degraded 維持) に修正したと報告 (commit 33cb84d1)
    • 人間の第三者レビューなし
  • Verdict: approved

Applicable Findings (Critical / High / Major)

# File (Line) Reviewer Issue Recommended Action
1 src/cli-telemetry-report/src/discover.rs (combine_roots) CodeRabbit extra_roots の件数比較だけで root 集合の完全性を判定しており、未解決 workspace と extra_roots の対応が未検証のため degraded が誤解除されうる、との指摘 (前回分析時点では diff に discover.rs が含まれておらずスコープ外/意図的設計と判定していたが、その後の commit 33cb84d1 で本 PR の diff に discover.rs 変更が追加され、指摘どおり unresolved_non_current > 0 (1件でも degraded 維持) へ修正済み。テスト2件も名称・アサーションとも更新され、CodeRabbit 自身が該当 review comment を「Confirmed as addressed」と確認済み) 対応済み・追加アクション不要

Applicable Findings (Medium 以下)

(該当なし)

Filtered (not applicable)

(該当なし — 唯一の finding は上表のとおり applicable かつ本 PR 内で解消済み)

次のアクション

  • 追加対応不要。CodeRabbit の唯一の finding は本 PR 内で修正済み・レビュアー確認済みのため、このまま analyze job の完了を待って通常の merge フローに進めて問題ない。
  • 念のため、docs/adr/adr-062-monthly-harness-roi-review.md の記述 (degraded 成立条件の説明文) が discover.rs の実装文言 (unresolved_non_current > 0) と一致しているか、人間側で最終目視確認を推奨 (diff 上は整合している)。

@aloekun
aloekun merged commit 6c7c805 into master Jul 30, 2026
2 of 3 checks passed
@aloekun
aloekun deleted the docs/monthly-roi-phase4 branch July 30, 2026 10:28
aloekun added a commit that referenced this pull request Jul 30, 2026
* docs: 月次レビュー dogfood 追加アクション (A-D) 実装プラン + フィードバック採用 todo 登録

月次 ROI レビュー (ADR-062) の初回 dogfood (/monthly-review, 2026-07-30) で発見した構造的問題への
追加アクション A-D を docs/monthly-harness-roi-review-plan.md (前身は PR #333 で削除、同パスの後継
doc) として起こす:

- A [Critical]: 発火 0 = 削除候補シグナルの不動作 (機構レジストリ欠如 + zero_firing_list デッドロジック)
- B [High]: degraded 保守化 (PR #333) の文書波及漏れ 5 箇所の同期
- C [Medium]: rollup 確定時 snapshot が月中状態でなく確定時点で上書きされる問題
- D [Medium]: 未確定当月が promote streak に算入される問題

file:line と grep 用文言つきで自己完結記述。あわせて #329-#333 series の post-merge feedback
採用分 (A1-A4 + D1) を todo14.md + todo-summary2.md 順位 352-356 に登録。

docs-only。pnpm lint:md / lint:docs 全通。

* fix(review): apply CodeRabbit fixes for #334

Resolved findings:
- [Major] docs/monthly-harness-roi-review-plan.md:10 「本ドキュメントだけで実装可能」という宣言と、未確定の実装指示が矛盾しています。
- [Minor] docs/monthly-harness-roi-review-plan.md:77 「恒久的に degraded」は条件付きの現状と一致しません。
- [Minor] docs/todo14.md:438 352番エントリの決定事項の件数を修正してください。
aloekun added a commit that referenced this pull request Jul 30, 2026
…e B)

PR #333 の degraded 保守化 (extra_roots では degraded を解除しない) の文書波及漏れを解消する。

- § 決定 5: last-run 契約の「degraded は improve 実行 / extra_roots 追加で解消」を
  「improve 実行で解消 (extra_roots は集計 root 追加のみで degraded は解除しない)」に訂正。
  § 決定 2 は PR #333 で更新済みのため旧括弧書きは偽になっていた。
- § 決定 2: 運用帰結 (格納パス不整合が続く限り main は恒久 degraded / improve 実行が唯一の
  非 degraded 経路) を 1 文明記。

skills repo monthly-review/SKILL.md の 3 箇所 + 誤字 (ADR-028 ゲット→ゲート) は当該 repo で別途
commit 済み (deployed へ cp 同期・in-sync 確認済み)。memory monthly-review-degraded-from-main-workspace
は PR #333 保守化と整合済みのため確認のみ。

ADR-062
aloekun added a commit that referenced this pull request Jul 30, 2026
…e B) (#335)

PR #333 の degraded 保守化 (extra_roots では degraded を解除しない) の文書波及漏れを解消する。

- § 決定 5: last-run 契約の「degraded は improve 実行 / extra_roots 追加で解消」を
  「improve 実行で解消 (extra_roots は集計 root 追加のみで degraded は解除しない)」に訂正。
  § 決定 2 は PR #333 で更新済みのため旧括弧書きは偽になっていた。
- § 決定 2: 運用帰結 (格納パス不整合が続く限り main は恒久 degraded / improve 実行が唯一の
  非 degraded 経路) を 1 文明記。

skills repo monthly-review/SKILL.md の 3 箇所 + 誤字 (ADR-028 ゲット→ゲート) は当該 repo で別途
commit 済み (deployed へ cp 同期・in-sync 確認済み)。memory monthly-review-degraded-from-main-workspace
は PR #333 保守化と整合済みのため確認のみ。

ADR-062
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