Skip to content

Refactor: cross-refactoring 5 回目の実機試行(v8.5.1 の修正確認) - #131

Closed
takemi-ohama wants to merge 44 commits into
mainfrom
refactor/cross-refactoring-5th-trial
Closed

Refactor: cross-refactoring 5 回目の実機試行(v8.5.1 の修正確認)#131
takemi-ohama wants to merge 44 commits into
mainfrom
refactor/cross-refactoring-5th-trial

Conversation

@takemi-ohama

Copy link
Copy Markdown
Contributor

何のために

Pull Request #130(NDF v8.5.1)で直した 2 件が実機で成立するかを確かめる。4 回目は
ラウンド 2 の再レビューで進行が終わらなくなり、手で停止した。

何を

/ndf:cross-refactoring を 4 回目と同じ構成で通し、以下を観測する。

#直したこと何が観測できれば通ったと言えるか
16修正フェーズの起点の記録差し戻しの上限から変更要求へ落ちる経路でも起点が残り、修正の範囲を確定できる
17レビュー結果の欠落の扱い結果を残さなかったレビュー担当がいるラウンドは中断する

手順は issues/issue-113-cross-refactoring-5th-trial.md にある。この PR は試行の
入れ物であり、実行結果の改善コミットが後から積まれる。

Test plan

  • 着手前: uv run --with pytest python -m pytest plugins/ndf-shared/skills/cross-refactoring/tests plugins/ndf-shared/skills/cross-review/tests -q が 466 passed
  • 各ラウンドの検証で同じテストが通ること

takemi-ohamaand others added 30 commits August 21, 2026 03:12
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…g/scripts/refactor.py#cmd_merge_apply
適用結果の範囲検証を _validate_apply_range に抽出し、cmd_merge_apply の責務を取り込み手順の調整に寄せる。
Item-Id: R1-001
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_apply
適用項目ごとの検証と進捗保存を _verify_and_record_items に抽出する。
Item-Id: R1-001
Round: 1
Impl-Runtime: codex
Impl-Model: default
…w/scripts/lib/monitor.py#monitor_agent
codex sentinel と result.json による早期終了判定を _check_codex_sentinel_exit に抽出する。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…w/scripts/lib/monitor.py#monitor_agent
result.json の age によるハング回避判定を _check_result_age_exit に抽出する。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…w/scripts/lib/monitor.py#monitor_agent
early error の fatal/WARN 判定を _check_early_error に抽出する。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…w/scripts/lib/monitor.py#monitor_agent
ログ進捗の stall 判定を _check_stall に抽出する。
Item-Id: R1-002
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_fix
修正ラウンドのコミット検証を _verify_fix_range に抽出する。
Item-Id: R1-003
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_fix
解決済みレビュースレッドの状態反映を _resolve_threads に抽出する。
Item-Id: R1-003
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_init
PR とリポジトリ情報の取得を _load_pr_repository_info に抽出する。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_init
初期状態オブジェクトの構築を _build_initial_state に抽出する。
Item-Id: R1-004
Round: 1
Impl-Runtime: codex
Impl-Model: default
…efactoring/scripts/refactor.py#cmd_merge_apply
apply/fix の範囲取り消しと起点更新を _revert_range_and_mark に共通化する。
Item-Id: R1-005
Round: 1
Impl-Runtime: codex
Impl-Model: default
…/cross-refactoring/scripts/refactor.py#cmd_merge_apply"
This reverts commit 84456d3.
…factoring/scripts/refactor.py#cmd_init"
This reverts commit 52f520d.
…factoring/scripts/refactor.py#cmd_init"
This reverts commit 9df73a9.
…factoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit 7072daf.
…factoring/scripts/refactor.py#cmd_merge_fix"
This reverts commit dbd9c3b.
…ss-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit c65db7b.
…ss-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit 8d6dc93.
…ss-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit efc29fd.
…ss-review/scripts/lib/monitor.py#monitor_agent"
This reverts commit ee8c60e.
…factoring/scripts/refactor.py#cmd_merge_apply"
This reverts commit 58dba70.
…factoring/scripts/refactor.py#cmd_merge_apply"
This reverts commit 09922ef.
…g/scripts/refactor.py#cmd_merge_apply
適用結果の範囲検証を _validate_apply_range に抽出し、cmd_merge_apply の責務を取り込み手順の調整に寄せる。
Item-Id: R1-001
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_apply
適用項目ごとの検証と進捗保存を _verify_and_record_items に抽出する。
Item-Id: R1-001
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_fix
修正ラウンドのコミット検証を _verify_fix_range に抽出する。
Item-Id: R1-003
Round: 1
Impl-Runtime: codex
Impl-Model: default
…g/scripts/refactor.py#cmd_merge_fix
解決済みレビュースレッドの状態反映を _resolve_threads に抽出する。
Item-Id: R1-003
Round: 1
Impl-Runtime: codex
Impl-Model: default
…efactoring/scripts/refactor.py#cmd_merge_apply
apply/fix の範囲取り消しと起点更新を _revert_range_and_mark に共通化する。
Item-Id: R1-005
Round: 1
Impl-Runtime: codex
Impl-Model: default
実装担当は対象範囲だけを変更するため、生成物が同期されない。
同期を検査する pre-push を持つリポジトリでも push できるよう、
公開の直前に進行側がまとめて生成する。
Extract collect_round_proposals: runtime別の提案結果JSON読み込みと
entry['proposed']更新を独立関数へ切り出す。
Item-Id: R2-001
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract record_merged_proposals: マージ結果のentry集計値記録と
改善項目作成を独立関数へ切り出す。
Item-Id: R2-001
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract finalize_empty_proposal_round: 採用0件時のfinal/ended_at設定と
状態保存を独立関数へ切り出す。
Item-Id: R2-001
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract collect_reported_apply_items: payload['items']からround_itemsに
属するreportedとunknown_idsを収集する処理を独立関数へ切り出す。
Item-Id: R2-002
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract collect_apply_commit_owners: reportedからowner_ofとduplicatedを
構築する処理を独立関数へ切り出す。
Item-Id: R2-002
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract format_apply_range_problem: unassigned/unknown_ids/duplicatedから
失敗理由のメッセージを組み立てる処理を独立関数へ切り出す。
Item-Id: R2-002
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract ensure_unmerged_fix_result: 冪等キー計算と再実行済み判定を
独立関数へ切り出す。
Item-Id: R2-003
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract collect_verified_resolved_threads: resolved_thread_idsの型検証と
GitHub側isResolvedとの照合を独立関数へ切り出す。
Item-Id: R2-003
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract verify_or_revert_fix_range: 修正コミットの検証と失敗時の範囲取り消しを
独立関数へ切り出す。
Item-Id: R2-003
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract _verify_single_commit: verify_apply_itemとverify_fix_commitに
共通するコミット検証(存在・トレーラー・スコープ・テスト結果)を統合。
Item-Id: R2-004
Round: 2
Impl-Runtime: kiro
Impl-Model: default
Extract _read_tail: 4箇所で重複していたファイル末尾読み込みパターン
(exists/stat/seek/read/decode)を共通ヘルパーへ統合。
Item-Id: R2-005
Round: 2
Impl-Runtime: kiro
Impl-Model: default
実装担当は対象範囲だけを変更するため、生成物が同期されない。
同期を検査する pre-push を持つリポジトリでも push できるよう、
公開の直前に進行側がまとめて生成する。

@takemi-ohamatakemi-ohama left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

🤖 cross-refactoring | round 2 | Reviewer: gemini / default | REQUEST_CHANGES

一部の項目で範囲の逸脱と、振る舞い不変を壊す競合状態が発見されたため修正を要求します。

Comment threadplugins/ndf-shared/skills/cross-review/scripts/lib/monitor.py Outdated
test_gap に関する業務意図コメント(実測の揺れ、判定基準の根拠)を復元。
_verify_single_commit の抽出で範囲外のコメントが巻き添えで削除されていた。
Item-Id: R2-004
Round: 2
Impl-Runtime: kiro
Impl-Model: default
_tail_last_nonempty_line で _safe_size を読み取り後に再取得していたため、
読み取りと再取得の間にファイルが追記されると切り詰めていないのに先頭行を
捨てる競合が起きた。_read_tail_ex を導入して読み取り時の切り詰め判定を
同じ stat 内で確定し、外部からの再取得を不要にした。
Item-Id: R2-005
Round: 2
Impl-Runtime: kiro
Impl-Model: default
実装担当は対象範囲だけを変更するため、生成物が同期されない。
同期を検査する pre-push を持つリポジトリでも push できるよう、
公開の直前に進行側がまとめて生成する。
@takemi-ohama

Copy link
Copy Markdown
ContributorAuthor

5 回目の実機試行の入れ物として使った Pull Request です。検証結果は #132 に、そこで見つけた不具合 18 の修正は #133 にあります。ラウンド 2 の改善項目はレビューが揃っていないため、この Pull Request の変更は取り込みません。

@takemi-ohama
takemi-ohama deleted the refactor/cross-refactoring-5th-trial branch August 22, 2026 01:00
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