Skip to content

Refactor: cross-refactoring 再々検証(未到達 2 経路の実機確認) - #125

Closed
takemi-ohama wants to merge 95 commits into
mainfrom
refactor/cross-refactoring-re-retrial
Closed

Refactor: cross-refactoring 再々検証(未到達 2 経路の実機確認)#125
takemi-ohama wants to merge 95 commits into
mainfrom
refactor/cross-refactoring-re-retrial

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

目的

/ndf:cross-refactoring未到達 2 経路を実機で通す。

  • 指摘の修正と再レビューの繰り返しmerge-fix → 再 review → 再 judge-review
  • 上限到達時の項目単位の見送りshould-abandonabandon-items

この 2 つは 1 回目(#118)・2 回目(#120)とも一度も実行されていない。
2 回目はラウンド 1 で両レビュー担当とも指摘 0 件だったため到達できなかった。

実行条件

指摘が出る確率を上げるため、次の 2 つを併用する。

引数狙い
--max-fix-rounds1指摘が 1 回の修正で解決しなければ即 should-abandon へ到達する
--max-items-per-round8採用件数を増やし、指摘が出る確率を上げる

範囲は cross-refactoring/scriptscross-refactoring/testscross-review/scripts/libcross-review/tests の 4 つ。
生成物の同期は --sync-command "bash scripts/build-runtime-plugins.sh" で進行側が行う。

あわせて確認すること

PR #121 で入れた 3 経路を実機で見る。

対象確認内容
公開の責務(不具合 10)実装担当が push せず、merge-apply の後に進行側が push する
生成物の同期同期コミットが push の直前に積まれる
対象外への記録(不具合 11)適用で失敗した項目が次ラウンドの提案で再採用されない

テスト

着手前のベースラインは 444 件が通ることを確認済み。

uv run --with pytest python -m pytest \
plugins/ndf-shared/skills/cross-refactoring/tests \
plugins/ndf-shared/skills/cross-review/tests -q

🤖 Generated with Claude Code

https://claude.ai/code/session_01WxxF27RXyg3QMjayii5dp1

takemi-ohamaand others added 30 commits August 18, 2026 06:04
未到達の 2 経路(指摘の修正と再レビュー / 上限到達時の項目単位の見送り)を
実機で通すための種コミット。実行条件は本文に記載した。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxxF27RXyg3QMjayii5dp1
…g/scripts/refactor.py#cmd_merge_apply
適用範囲のコミット所有権検証を _verify_ownership に抽出。
Item-Id: R1-001
Round: 1
Impl-Runtime: codex
Impl-Model: default
…toring/scripts/refactor.py#cmd_merge_apply
項目ごとの適用検証と分類を _verify_and_classify_items に抽出。
Item-Id: R1-001
Round: 1
Impl-Runtime: codex
Impl-Model: default
…ipts/lib/monitor.py#monitor_agent
pidfile 起動待ちと初期 AgentStatus 作成を read_started_agent に抽出。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…ipts/lib/monitor.py#monitor_agent
sentinel と result age fallback による lingering process 完了判定を抽出。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…ipts/lib/monitor.py#monitor_agent
early error の fatal/warn 判定を check_early_error に抽出。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…ipts/lib/monitor.py#monitor_agent
プロセス終了後の result.json 判定を finish_exited_process に抽出。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…ipts/lib/monitor.py#monitor_agent
ログ進捗更新と STALLED 判定を update_progress_and_check_stall に抽出。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…efactoring/scripts/refactor.py#cmd_merge_fix
未検証範囲の pending_push 保存、revert、base sha 更新を _revert_unverified_range に共通化。
Item-Id: R1-003
Round: 1
Impl-Runtime: codex
Impl-Model: default
…toring/scripts/refactor.py#cmd_merge_fix
修正結果の冪等キー生成と既処理判定を build_fix_merge_key / already_merged_fix に抽出。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…toring/scripts/refactor.py#cmd_merge_fix
resolved_thread_ids の型検査と GitHub 実解決との照合を resolve_claimed_threads に抽出。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…toring/scripts/refactor.py#cmd_merge_fix
修正範囲の確定、申告外コミット検出、commit facts 収集を collect_fix_range_report に抽出。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…toring/scripts/refactor.py#cmd_merge_fix
commit facts から problems と accepted を作る処理を evaluate_fix_commits に抽出。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…toring/scripts/refactor.py#cmd_merge_fix
不正な修正範囲の取り消しと起点保存を reject_fix_range に抽出。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_judge_review
レビュー結果から state に保存する record 構築を _build_review_record に抽出。
Item-Id: R1-005
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_proposals
runtime ごとの提案結果ファイル収集を _collect_proposal_files に抽出。
Item-Id: R1-006
Round: 1
Impl-Runtime: codex
Impl-Model: default
…s-review/scripts/lib/monitor.py#monitor_agent
監視設定を MonitorConfig にまとめ、CLI 呼び出しを parameter object 経由に変更。
Item-Id: R1-007
Round: 1
Impl-Runtime: codex
Impl-Model: default
…eview/scripts/lib/monitor.py#_scan_patterns
ログ末尾を安全に読む処理を _read_tail に共通化。
Item-Id: R1-008
Round: 1
Impl-Runtime: codex
Impl-Model: default
…/cross-review/scripts/lib/monitor.py#_scan_patterns"
This reverts commit c80bff4.
…lls/cross-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit e5185a3.
…factoring/scripts/refactor.py#cmd_merge_proposals"
This reverts commit ad295d4.
…factoring/scripts/refactor.py#cmd_judge_review"
This reverts commit e300048.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit bd3f0b7.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 53706cf.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 3685c22.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit b535305.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 685774b.
…/cross-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit b884ae8.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit 1ba3f77.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit f210919.
…oss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 68012f9.
…oss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit d5c805f.
…oss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit a31cd0f.
…efactoring/scripts/refactor.py#cmd_judge_review"
This reverts commit 6ec72a8.
…efactoring/scripts/refactor.py#cmd_merge_proposals"
This reverts commit f78ae13.
…ills/cross-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit 93f014f.
…s/cross-review/scripts/lib/monitor.py#_scan_patterns"
This reverts commit f13fb08.
…/cross-review/scripts/lib/monitor.py#_scan_patterns"
This reverts commit c80bff4.
…lls/cross-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit e5185a3.
…factoring/scripts/refactor.py#cmd_merge_proposals"
This reverts commit ad295d4.
…factoring/scripts/refactor.py#cmd_judge_review"
This reverts commit e300048.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit bd3f0b7.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 53706cf.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 3685c22.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit b535305.
…ss-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 685774b.
…/cross-refactoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit b884ae8.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit 1ba3f77.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit f210919.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit dd7f9a8.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit cfb9d48.
…view/scripts/lib/monitor.py#monitor_agent"
This reverts commit 9b7f7c0.
…ss-refactoring/scripts/refactor.py#cmd_merge_apply"
This reverts commit 49c075e.
…factoring/scripts/refactor.py#cmd_merge_apply"
This reverts commit ffc933a.
@takemi-ohama

Copy link
Copy Markdown
ContributorAuthor

再々検証の実行対象として使用した Draft PR です。検証の目的(未到達 2 経路の到達)を達成したため、Draft のまま閉じます。

ラウンド 1 で適用した 8 項目はレビュー指摘が修正ラウンドの上限内に解決せず、全件を見送りました。取り消しの積み直しが競合したためラウンド全件への退避となり、差分は種コミットの状態へ戻っています。

検証結果は別 PR のレポートにまとめています。

@takemi-ohama
takemi-ohama deleted the refactor/cross-refactoring-re-retrial branch August 18, 2026 22:19
takemi-ohama added a commit that referenced this pull request Aug 18, 2026
再々検証(PR #125)で見つかった 4 件と、投稿の成否を突き合わせない課題を直した。
- 生成物の同期コミットが必ず失敗する
固定幅で読む `git status --porcelain` の出力を `strip()` していたため、
変更パスの先頭 1 文字が欠けて `git add` が落ちていた。固定幅で読む出力には
`strip` を適用しない
- 同期の後段で落ちると差分が作業ツリーに残る
`git add` / `git commit` の失敗でも、同期が作った差分を捨ててから中断する
- 実装担当がコミットを作れない条件が生じる
生成物の検査を通す必要がないことを手順書へ明示し、迂回の手段を 1 つに定めた。
取り込みの前に、コミットされなかった変更を捨てる
- 見送りの後に読み取り用の作業ディレクトリを同期していない
提案の直前に毎回同期する。あわせて提案とレビューの打ち切り時間を明示した
- cross-review が投稿の成否を突き合わせていない
申告されたコメント数を GitHub 側の実数と照合し、届いていなければ中断する。
取得できなかった場合は申告を採用する
Claude-Session: https://claude.ai/code/session_01WxxF27RXyg3QMjayii5dp1
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for freeto 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

@takemi-ohama