Uh oh!
There was an error while loading. Please reload this page.
Refactor: cross-refactoring 修正後の再検証(v8.2.0) - #120
Closed
takemi-ohama wants to merge 57 commits into
Closed
Conversation
不具合 9 件の修正(v8.2.0)を実機で確かめる。この PR が対象。 確かめることと、前回まったく実行できていない範囲を先に書き出す。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GSwBvT9CH8mKfgyFn2JWfS
コミット所有権の検証を独立した関数へ抽出する。 Item-Id: R1-001 Round: 1 Impl-Runtime: codex Impl-Model: default
項目別の検証と進捗記録を独立した関数へ抽出する。 Item-Id: R1-001 Round: 1 Impl-Runtime: codex Impl-Model: default
実装担当の指標更新を独立した関数へ抽出する。 Item-Id: R1-002 Round: 1 Impl-Runtime: codex Impl-Model: default
レビュー担当ごとの指標更新を独立した関数へ抽出する。 Item-Id: R1-002 Round: 1 Impl-Runtime: codex Impl-Model: default
修正コミットの範囲と手順の検証を独立した関数へ抽出する。 Item-Id: R1-003 Round: 1 Impl-Runtime: codex Impl-Model: default
検証失敗時の修正範囲取り消しと起点更新を独立した関数へ抽出する。 Item-Id: R1-003 Round: 1 Impl-Runtime: codex Impl-Model: default
タイムアウト、致命エラー、結果なし終了、stall の観測結果を固定する。 Item-Id: R1-004 Round: 1 Impl-Runtime: codex Impl-Model: default
sentinel と result age による早期完了判定を抽出する。 Item-Id: R1-004 Round: 1 Impl-Runtime: codex Impl-Model: default
タイムアウト、異常、終了、停滞の判定を独立した関数へ抽出する。 Item-Id: R1-004 Round: 1 Impl-Runtime: codex Impl-Model: default
申告SHAを完全SHAへ解決する処理を適用・修正経路で共通化する。 Item-Id: R1-005 Round: 1 Impl-Runtime: codex Impl-Model: default
範囲取り消し時の push 印、revert、起点更新、保存を共通化する。 Item-Id: R1-005 Round: 1 Impl-Runtime: codex Impl-Model: default
…tion" This reverts commit a1e3186.
This reverts commit 64882a9.
This reverts commit 0661832.
This reverts commit a8ed8ce.
This reverts commit 5a6d1d6.
This reverts commit 17a1b8c.
This reverts commit ef8970c.
This reverts commit d3a34bc.
This reverts commit d191967.
This reverts commit df445e8.
コミット所有権の検証を独立した関数へ抽出する。 Item-Id: R1-001 Round: 1 Impl-Runtime: codex Impl-Model: default
項目別の検証と進捗記録を独立した関数へ抽出する。 Item-Id: R1-001 Round: 1 Impl-Runtime: codex Impl-Model: default
実装担当の指標更新を独立した関数へ抽出する。 Item-Id: R1-002 Round: 1 Impl-Runtime: codex Impl-Model: default
レビュー担当ごとの指標更新を独立した関数へ抽出する。 Item-Id: R1-002 Round: 1 Impl-Runtime: codex Impl-Model: default
修正コミットの範囲と手順の検証を独立した関数へ抽出する。 Item-Id: R1-003 Round: 1 Impl-Runtime: codex Impl-Model: default
検証失敗時の修正範囲取り消しと起点更新を独立した関数へ抽出する。 Item-Id: R1-003 Round: 1 Impl-Runtime: codex Impl-Model: default
申告SHAを完全SHAへ解決する処理を適用・修正経路で共通化する。 Item-Id: R1-005 Round: 1 Impl-Runtime: codex Impl-Model: default
修正結果の読込と merge_key による再実行判定を入口段 _merge_fix_load_and_check_idempotent へ抽出する。 Item-Id: R2-002 Round: 2 Impl-Runtime: kiro Impl-Model: default
resolved_thread_ids の正規化と GitHub 実状態との照合を _merge_fix_resolve_threads へ抽出する。 Item-Id: R2-002 Round: 2 Impl-Runtime: kiro Impl-Model: default
修正コミット範囲の確定・検証・不正時の取り消しを _merge_fix_verify_and_reconcile へ抽出する。 Item-Id: R2-002 Round: 2 Impl-Runtime: kiro Impl-Model: default
レビュー解決状態の反映・ラウンド計数・保存・push を _merge_fix_finalize へ抽出する。 Item-Id: R2-002 Round: 2 Impl-Runtime: kiro Impl-Model: default
コミット所有権の検証と不正時のラウンド取り消しを _merge_apply_validate_ownership へ抽出する。 Item-Id: R2-003 Round: 2 Impl-Runtime: kiro Impl-Model: default
apply 状態の構築・dry-run/部分失敗/全成功の分岐・終了処理を _merge_apply_build_state_and_finalize へ抽出する。 Item-Id: R2-003 Round: 2 Impl-Runtime: kiro Impl-Model: default
verify_fix_commit と verify_apply_item の per-commit 検証(exists, trailers, scope, test_status)を _verify_single_commit へ共通化する。 Item-Id: R2-004 Round: 2 Impl-Runtime: kiro Impl-Model: default
…_items work, scope, test_command, head_branch, timeout の 5 パラメータを VerifyContext dataclass にまとめ、_verify_and_record_items, collect_commit_facts, _validate_fix_commits の引数を統合する。 Item-Id: R2-005 Round: 2 Impl-Runtime: kiro Impl-Model: default
…d_record_items" This reverts commit 9fd4546.
…item" This reverts commit f9247da.
This reverts commit ef60c87.
This reverts commit 6ffb038.
This reverts commit ec9caf5.
This reverts commit 7f531cc.
This reverts commit c932282.
This reverts commit 9aaab34.
This reverts commit 674086e.
This reverts commit d390be7.
This reverts commit d5cae7c.
…rization tests)" This reverts commit 48f2ac9.
修正した 9 件はすべて実機で成立し、レビュー・判定・輪番・集計まで到達した。 新しい不具合を 2 件見つけた(pre-push の同期検査との衝突、適用失敗項目が 対象外リストに入らない)。前者は生成物を持つリポジトリで収束ループを不能にする。
takemi-ohama added a commit
that referenced
this pull request
Aug 16, 2026
修正後の再検証(#120)で見つかった不具合 10・11 を直す。 不具合 10: pre-push で生成物の同期を検査するリポジトリでは、「実装担当は編集元 だけを触る」ルールと衝突してあらゆる push が落ちる。さらにこの検査は実装担当を 範囲ルール違反へ誘導し、実測ではラウンドの採用 5 件が全件範囲外で失敗した。 - 実装担当は push しない。公開するのは進行側だけで、検証を通した後に行う - --sync-command を新設し、push の直前に進行側が実行する。差分があれば どの改善項目にも属さないコミットとして積む - merge-apply / merge-fix は成功・失敗のどちらでも検証後に push する これで「未検証の変更が公開される」経路自体が無くなり、不具合 4 は緩和ではなく 根絶になる。同期は作業ツリーが綺麗なときだけ行い、失敗したら index ごと戻す。 不具合 11: 適用の検証で失敗した項目が deferred_items に入らず、次ラウンドで 同じ提案が再び採用されていた。項目別の失敗とラウンド全体の取り消しの両方から 記録する。 cross-review を 6 ラウンド回し、codex / gemini の両者が APPROVE で収束した。 指摘 9 件はすべて実在の欠陥だった。テストは 444 件成功(直前 430 件)。
takemi-ohama
commented
Aug 16, 2026
ContributorAuthor
閉じる理由この Pull Request は
構造改善の成果を取り込まない理由ラウンド 1 で 4 項目が採用・検証・レビュー承認まで通りましたが、取り込みません。 #121 が同じ 記録の残り先再検証レポートは #122 で main へ取り込みます( |
This was referenced Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
結果
修正した 9 件はすべて実機で成立した。 前回(#118)は適用結果の検証で失敗した項目を取り消す経路が破綻して停止したが、今回はレビュー・判定・実装担当の輪番・集計まで到達した。一方で新しい不具合を 2 件見つけ、うち 1 件は生成物を持つリポジトリで収束ループを実質的に不能にする。
詳細は issues/issue-113-cross-refactoring-retrial.md。
修正 9 件の実機確認
取り消し 11 コミット / 積み直し 8 コミット(項目単位)。失敗した 1 項目だけを落とし、同じrefactor.pyを触る 3 項目 6 コミットを積み直したrounds[].apply_progressに全項目の判定pending_pushが残り、次の実行が処理済み判定より先に push 再送-r1-result.jsonと-r2-result.jsonが両方残った不具合 1 は、前回破綻したのと同じ条件で成立した。
前回まったく実行できていなかった範囲
APPROVEautoモデルの分離注記まで新しく見つかった不具合
10. pre-push の同期検査と範囲ルールが両立しない
.githooks/pre-pushが生成物の同期を検査する一方、この Skill は「実装担当は編集元だけを触る / 同期は進行側が収束後に行う」と決めた。実装担当の push も、取り消しを反映する進行側の push も落ちる。さらに、この検査は実装担当を範囲ルール違反へ誘導する。
修正の方向: 実装担当に push させず、検証を通った後で進行側だけが push する(同期はその直前)。不具合 4 の経路自体が無くなる。
11. 適用で失敗した項目が「対象外」に入らない
merge-applyの失敗経路だけがdeferred_itemsへ記録しない。R1 で失敗したmonitor.py#monitor_agentが3 ランタイム全員から再提案され、合意 3 で最優先に採用された(R2-001)。同じ理由で必ず失敗し、ラウンドを 1 つ消費する。この PR に残ったもの
ラウンド 1 で採用・検証・レビュー承認まで通った 4 項目(
refactor.pyのcmd_merge_apply/cmd_merge_fix、metrics.pyのaggregate)。ラウンド 2 の 12 コミットは全件取り消し済み。次にすること
不具合 10 と 11 を直してから、指摘の修正と再レビューの繰り返しを通す再々検証を行う。
🤖 Generated with Claude Code
https://claude.ai/code/session_01GSwBvT9CH8mKfgyFn2JWfS