Skip to content

refactor(pre-push): ADR-047 却下で refute facet を撤去 + R4 判定記録 (ADR-056 延長) - #296

Merged
aloekun merged 2 commits into
masterfrom
docs/r4-adr-047-056-judgment
Jul 18, 2026
Merged

refactor(pre-push): ADR-047 却下で refute facet を撤去 + R4 判定記録 (ADR-056 延長)#296
aloekun merged 2 commits into
masterfrom
docs/r4-adr-047-056-judgment

Conversation

@aloekun

@aloekun aloekun commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • ADR-047 (反証 refute facet) を却下し、refute workflow (pre-push-review-refute.yaml)・専用 facet 2 本 (refute-finding.md / refutation-report.md)・[pre_push_review] config section を撤去。共有 facet (fix.md / supervise.md / review-anomaly.md) と pre-push-review.yaml の恒常デッドウェイト参照も除去
  • ADR-056 (policy shadow) は延長判定: simplicity execute avg 203.4s で ≤150s 未達 (diff サイズ交絡) だが、checklist 型 REJECT 0・二重 miss なしで品質目標は達成 → 判定期限 07-31 までに diff 正規化比較 + double-miss 突合で確定
  • 却下理由の補強: 一般反証機構 (複数反証+多数決 / 証拠優位 / 高 FP 率前提) との構成差、ADR-056 の fact-check 義務 = inline 反証が上流で FP を枯らした帰属分析
  • 代替案を todo 順位 326 に起案: 並列設計レビュアー (recall 側の新実験、Phase 0 需要調査付き)
  • 構成: R4 判定ドラフト (commit 1) + 却下確定・撤去 (commit 2) の 2 commit

Context

Why: ADR-047 の bounded lifetime (判定期限 2026-07-31) の採否判定。dogfood 26 run の実データで評価した結果、verify(refute) の finding 却下は 0 件で、FP 除去という存在意義が観測データ上実現していなかった。fix loop 減 (8.3% vs baseline 20%) も verify 却下 0 のため refute 起因ではなく ADR-056/diff に帰属。
Trigger: R4 (docs/push-pipeline-fix-plan2.md) / ADR-047・ADR-056 の bounded lifetime。
Scope: ADR は「書き換えるだけ」では機能が止まらず、実行スイッチは refute_enabled = true (確定時点でも実走は refute) のため、却下確定と同時に撤去を実施。Rust 側 resolve_takt_workflow は汎用機構のため残置 (section 不在の default 経路は既存 unit test が保護、exe 再ビルド不要)。

Validation

  • pnpm push pre-push review: verdict=APPROVE (2026-07-19)。撤去後の pre-push-review (非 refute) で完走 = 撤去の end-to-end 実証。reviewers が「dangling reference なし / resolve_takt_workflow が section 不在で pre-push-review を返す / 除去は net で保守的 (全 finding が fix に到達)」を確認。
  • pnpm lint:docs / markdownlint OK。
  • 撤去実証: 起動バナーが takt (pre-push-review) を表示 (refute 側でない)。verify 却下 0 件のため挙動影響ゼロ。

References

Summary by CodeRabbit

  • 変更

    • 反証(refute)を用いた実験的なレビュー手順と関連ワークフローを廃止しました。
    • プッシュ前レビューは標準のレビュー手順に一本化され、従来の反証処理は実行されません。
  • ドキュメント

    • 廃止の判断理由、検証結果、今後の評価方針を更新しました。
    • 将来的な並列設計レビューの実験計画を追加しました。

aloekun and others added 2 commits July 19, 2026 01:06
…o 起案)

判定期限 2026-07-31 に先立ち、dogfood 実データで両 ADR の受け入れ基準を評価した判定ドラフトを追記。ADR-047 は却下推奨 (refute run 26 件中 verify 発火 2・finding 却下 0 件 = FP 除去の便益未実証、fix loop 減は verify 却下 0 のため refute 起因ではなく ADR-056/diff に帰属)。ADR-056 は延長推奨 (simplicity execute avg 203.4s で ≤150s 未達だが diff サイズ交絡、checklist 型 REJECT 0・二重 miss なしで品質目標は達成)。

却下理由の補強 (07-19): 一般的な反証機構の設計原則 (複数反証+多数決 / 反証者能力≥発見者 or 証拠優位 / 高 FP 率前提) との構成差 (単独 haiku・証拠優位なし) を明記し、却下 0% の主因を「ADR-056 の fact-check 義務 = inline 反証が同日導入で FP を上流で枯らした」ことに帰属。「反証という手法が無効」ではなく「この位置にこの構成で置く必要が消滅」と精緻化。timing 実測 (理想=fix 134-312s 節約 / 実態=発火 2 run で各 +99s 純追加・削減 0) も記録。外部 finding 向け反証層 (ADR-038/023) は却下の射程外。

代替案として並列設計レビュアー (recall 側の新実験、reviewers 並列で wall-clock 追加ゼロ見込み) を todo 順位 326 に起案。Phase 0 (feedback-reports / CodeRabbit threads / ADR 実害記録の 3 系列から見落とし実績を数える需要調査、ゼロなら見送り = ADR-042) を必須先行とし、Phase 1 は ADR-056 と同じ fact-check 規律 + 根拠ソース引用必須 + blocking は実害提示時のみの縛りで fix loop 率再上昇を抑止する設計。

(b) reject 誤りの CodeRabbit 回収は「却下 0 件 = ゼロ事象」として確定し、未計測の曖昧さを解消。status header の確定と revert PR は判定承認後。step 別所要の裏付けは別コミットの docs/takt-step-timings.md。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 のユーザー承認により ADR-047 (反証 refute facet) の却下を確定し、稼働中だった機能を撤去した。ADR の書き換えだけでは止まらず、実行スイッチは push-runner-config.toml の refute_enabled = true だった (確定時点でも実走は pre-push-review-refute)。

撤去内容: [pre_push_review] section (本体 + templates、tombstone 残置) / pre-push-review-refute.yaml / refute 専用 facet 2 本 (refute-finding instruction, refutation-report output-contract)。共有 facet の恒常デッドウェイト参照 (fix.md の refutation-report filter 節、supervise.md の ALL_REFUTED 節、review-anomaly.md の refutation 言及、pre-push-review.yaml judge の同期義務コメント) も除去 (ADR-056 T10 の lint_screen 参照削除と同型)。Rust 側 resolve_takt_workflow は汎用機構のため残置 (section 不在 = default 経路は既存 unit test が保護、exe 再ビルド不要)。

検証: takt prompt pre-push-review が 4 step を facet 参照エラーなしでレンダリング。配布 exe + 実 config の起動バナーが 'takt (pre-push-review)' を表示 = 切替を実証 (verify 却下 0 件のため挙動影響ゼロ)。ADR-056 の dogfood 計測は継続 (07-19 以降は piece = pre-push-review、日付区別の注記を ADR-056 に追加)。

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

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b15107cb-fe24-449a-9683-00ea85b4bdbf

📥 Commits

Reviewing files that changed from the base of the PR and between e9d7dae and 506e01a.

📒 Files selected for processing (14)
  • .takt/facets/instructions/fix.md
  • .takt/facets/instructions/refute-finding.md
  • .takt/facets/instructions/supervise.md
  • .takt/facets/output-contracts/refutation-report.md
  • .takt/facets/policies/review-anomaly.md
  • .takt/workflows/pre-push-review-refute.yaml
  • .takt/workflows/pre-push-review.yaml
  • docs/adr/adr-047-prepush-refute-facet.md
  • docs/adr/adr-056-review-policy-anomaly-shadow.md
  • docs/push-pipeline-fix-plan2.md
  • docs/todo-summary.md
  • docs/todo13.md
  • push-runner-config.toml
  • templates/push-runner-config.toml
💤 Files with no reviewable changes (5)
  • .takt/facets/instructions/refute-finding.md
  • .takt/workflows/pre-push-review-refute.yaml
  • .takt/facets/output-contracts/refutation-report.md
  • .takt/facets/instructions/supervise.md
  • .takt/facets/instructions/fix.md

📝 Walkthrough

Walkthrough

refute 用の指示・出力契約・ワークフロー・設定を撤去し、pre-push-review に一本化しました。ADR-047 の却下確定と ADR-056 の継続評価を記録し、並列設計レビュアーの実験計画を追加しています。

Changes

refute 機構の退役と後続計画

Layer / File(s) Summary
refute 指示と判定基準の整理
.takt/facets/instructions/*, .takt/facets/output-contracts/refutation-report.md, .takt/facets/policies/review-anomaly.md
refutation report を前提とした fix・supervise の手順と出力契約を削除し、REJECT 基準から refute-finding を除外しています。
ワークフローと設定の一本化
.takt/workflows/*, push-runner-config.toml, templates/push-runner-config.toml
refute 用ワークフローと [pre_push_review] 設定を撤去し、resolve_takt_workflow による pre-push-review.yaml の利用へ整理しています。
ADR の採否記録と撤去記録
docs/adr/adr-047-prepush-refute-facet.md, docs/adr/adr-056-review-policy-anomaly-shadow.md
ADR-047 の却下確定、撤去内容、実測評価を記録し、ADR-056 は延長推奨のドラフトと観測条件を追記しています。
運用計画と代替案の更新
docs/push-pipeline-fix-plan2.md, docs/todo-summary.md, docs/todo13.md
撤去後の運用計画を反映し、並列設計レビュアーの条件付き実験を TODO と推奨実行順序へ追加しています。

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed ADR-047 の refute facet 撤去と ADR-056 延長の判定記録を要約しており、変更内容と整合しています。
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/r4-adr-047-056-judgment

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: pass (CodeRabbit check: pass, 0 件表示。他の CI check は無し)
  • レビュー状況: CodeRabbit はレート制限により本 PR のレビュー未実施 (Review limit reached, コメント投稿時点で次回利用可能まで54分)。人間レビューは無し (reviewDecision 空、reviews API 応答 0 件)。インラインコメントも 0 件。
  • Verdict: approved (レビュー指摘が現時点で 0 件のため、analyze-coderabbit.md の 3-way 基準「findings 配列が空 → approved」に該当)

指摘事項

現時点でレビュー指摘 (CodeRabbit / 人間 / 他 bot 含め) は 0 件のため、Applicable / Filtered の表は該当なし。CI 状態と diff 概要のみ記す。

Diff 概要

  • 変更 14 ファイル (+258 / -360)、Rust ソース (.rs) の変更は無し
  • 内容: ADR-047 (pre-push refute facet) の却下確定に伴う撤去リファクタ
    • 削除: .takt/workflows/pre-push-review-refute.yaml.takt/facets/instructions/refute-finding.md.takt/facets/output-contracts/refutation-report.md
    • 共有 facet からの参照除去: fix.md / supervise.md / review-anomaly.md / pre-push-review.yaml の refute 関連節
    • 設定撤去: push-runner-config.toml / templates/push-runner-config.toml[pre_push_review] section (tombstone コメント残置)
    • ADR 更新: adr-047 ステータスを「却下」に確定 (採否判定ドラフト・却下理由の補強を追記)、adr-056 に採否判定ドラフト (延長推奨) を追記
    • todo 管理更新: docs/todo-summary.md / docs/todo13.md に新規 todo (順位326、並列設計レビュアー実験の起案) 追加、docs/push-pipeline-fix-plan2.md の R4 節に判定経緯を記録

次のアクション

  • CodeRabbit のレビューは未着 (レート制限) のため、実質的な自動レビューはまだ行われていない。マージ前に @coderabbitai review で再レビューを促すか、レート制限解除後の自動追随レビューを待つかを人間が判断すること。
  • 本 PR は ADR-047 の却下という設計判断の記録・実施を伴う (diff 内に「2026-07-19 ユーザー承認により確定」との記述あり)。この承認が本当に得られているか (本 PR 外でのユーザーとの合意事実) は本分析では検証できないため、マージ前に人間側で最終確認すること。
  • Rust ソース変更が無いため exe 再ビルドは不要という diff 内の記述 (resolve_takt_workflow 残置、exe 再ビルド不要) は妥当と見えるが、念のため CI の build/test ジョブが本 PR に対して発火していない点 (CodeRabbit check のみ) を確認しておくとよい。

@aloekun

aloekun commented Jul 18, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

Copy link
Copy Markdown
Contributor

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

  • トリガー: issue_comment (created) / 実行 run
  • CI: CodeRabbit check = pending (Review in progress)。他の CI check は設定なし。前回分析時 (17:29) は pass 表示だったが、その後 18:23 に PR 作者が @coderabbitai review を手動トリガーしたことで pending に戻った。ただし CodeRabbit の自動応答は「incremental review system のため、既にレビュー済みのコミットは再レビューしない (このコマンドは自動レビューが一時停止している場合のみ有効)」であり、対象コミット (506e01a1) 自体は前回分析時点から変化なし (新規 push なし)。
  • レビュー状況: CodeRabbit は依然としてレビュー未完了 (reviews API 応答 0 件、inline comments 0 件)。会話コメントには CodeRabbit の "Currently processing new changes... please wait" というプレースホルダコメントのみが存在し (18:23:43 に再更新されたが内容は変わらず「処理中」のまま)、実質的なレビュー内容 (findings) はまだ一切投稿されていない。人間レビューも無し (reviewDecision 空)。
  • Verdict: approved (analyze-coderabbit.md 3-way 基準「findings 配列が空 → approved」に該当。ただし CodeRabbit レビュー自体が未完了のため、これは「指摘なしと確認された」ではなく「まだ指摘が出ていない」状態である点に注意)

Applicable Findings (Critical / High / Major)

該当なし (findings 0 件)

Applicable Findings (Medium 以下)

該当なし (findings 0 件)

Filtered (not applicable)

該当なし (findings 0 件)

次のアクション

  • CodeRabbit のレビューがまだ完了していない (処理中 / 以前はレート制限中との表示もあった)。今回の verdict=approved は「未着」に基づく暫定判定であり、レビューが実際に投稿された後に再確認が必要。
  • 本 PR は ADR-047 (pre-push refute facet) の却下確定という設計判断の記録・実施を伴う。diff 内の「2026-07-19 ユーザー承認により確定」との記述の妥当性 (本 PR 外での実際の合意事実) は本分析では検証できないため、マージ前に人間側で最終確認すること。
  • Rust ソース (.rs) の変更は無いため exe 再ビルド不要という diff 内の記述は妥当に見えるが、CI に build/test ジョブが存在しない (CodeRabbit check のみ) ため、念のため他経路での検証状況を確認しておくとよい。

@aloekun
aloekun merged commit 532c5d2 into master Jul 18, 2026
1 check passed
@aloekun
aloekun deleted the docs/r4-adr-047-056-judgment branch July 18, 2026 18:29
aloekun added a commit that referenced this pull request Jul 18, 2026
…llow-up todo (#295/#296 post-merge feedback)

PR #295/#296 の post-merge feedback 採用候補を反映。(1) analyze-takt-timings.ps1 L47 の ConvertFrom-Json を try/catch で保護し、crashed/in-progress run の truncated meta.json 1 件で集計ループ全体が中断しないよう skip (L63 の phase 行 parse と同流儀。CodeRabbit の startTime null ガードが塞げなかった JSON 自体の破損を補完)。(2) takt-step-timings.md の「正規化前提」と述べつつ未正規化 avg を 150s と直接『未達』断定していた矛盾を、diff サイズ交絡を明記し最終判定を R4/ADR-056 に委ねる記述に修正。

あわせて todo 起案: 順位327 (多段コミットの ADR/observability 更新チェックリストを dev-conventions に、Tier3)、順位328 (post-merge feedback が成功後に context.json を残し次マージの feedback を誤 bail させる cleanup gap、#296 マージで実観測、Tier1)。

検証: 正常出力不変 (24 run 203.4s)、truncated meta.json を skip してクラッシュしないことを実機確認。docs-lint / markdownlint OK。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
aloekun added a commit that referenced this pull request Jul 18, 2026
…llow-up todo (#295/#296 post-merge feedback) (#297)

PR #295/#296 の post-merge feedback 採用候補を反映。(1) analyze-takt-timings.ps1 L47 の ConvertFrom-Json を try/catch で保護し、crashed/in-progress run の truncated meta.json 1 件で集計ループ全体が中断しないよう skip (L63 の phase 行 parse と同流儀。CodeRabbit の startTime null ガードが塞げなかった JSON 自体の破損を補完)。(2) takt-step-timings.md の「正規化前提」と述べつつ未正規化 avg を 150s と直接『未達』断定していた矛盾を、diff サイズ交絡を明記し最終判定を R4/ADR-056 に委ねる記述に修正。

あわせて todo 起案: 順位327 (多段コミットの ADR/observability 更新チェックリストを dev-conventions に、Tier3)、順位328 (post-merge feedback が成功後に context.json を残し次マージの feedback を誤 bail させる cleanup gap、#296 マージで実観測、Tier1)。

検証: 正常出力不変 (24 run 203.4s)、truncated meta.json を skip してクラッシュしないことを実機確認。docs-lint / markdownlint OK。

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