Skip to content

cross-refactoring の取り込みが結果なしを値で受け、群の状態と未検証コミットの取り消しを 1 か所で決める #728

Description

@takemi-ohama

同じ根本原因を持つ課題(子 issue)を、現れている場所ではなく根本原因の場所で直すための親 issue である(issue-upkeep の判定「ルートコーズ」)。再現手順と観測は各子 issue にある。

修正レイヤー

cross-refactoring の結果の取り込みと、群の状態遷移。

  • plugins/ndf/skills/cross-refactoring/scripts/refactor_lib/gitfacts.pyread_result は、結果ファイルが無い・読めないと die(code=2) で進行の終了コードを決める(1089 / 1093 / 1096 行目)
  • それを呼ぶ取り込みが 3 つある(commands/apply.pymerge-applycommands/converge.pymerge-fixcommands/gate.pymerge-final-fix)。下位の読み取りがプロセスを終わらせるため、群の状態を書く機会と、未検証のコミットを取り消す機会が無い
  • 群を開き直す apply.pynext-apply-round は、中断からの再開と失敗した試行のやり直しを同じ pending / applied で区別しない。rounds.apply_groups は項目 0 件の群も作る

設計 issues/issue-647-592-553-design.md の決定 6 は、適用ラウンドの取り消しの本体を切り出して共有すると決め、最終ゲートを #674 に残している。

採る手

  • 向きの修正(fix_dependency_direction): 下位の read_result は結果なしを値として返し、進行の扱いは取り込みが決める
  • 統合(consolidate_duplication): 3 つの取り込みの「範囲の確定 → 未検証コミットの取り消し → 群の状態の記録」を 1 つの手順にする

子 issue

子 issue 現象レイヤー 観測
#592 骨組みの適用ラウンド テスト整備ラウンドの採用 0 件で項目の無い群が開き、同じ群を上限なしに繰り返す
#647 骨組みの適用ラウンド 実装担当が停止し続ける項目で、適用ラウンドが無限に再試行される
#674 最終ゲートの修正の取り込み 担当が結果を残さないと、作ったコミットが検証を受けずに残る

完了条件

  • read_result は結果なしを値で返し、3 つの取り込みが同じ手順で取り消しと群の状態の記録を行う
  • 群が開いた回数と前回の結末を持ち、開き直しの判定が 1 か所にある。空の群は作らない
  • 各子 issue の再現手順を実行し、現象が出ないことを確かめる(子 issue はその時点の棚卸が「閉じてよい」で閉じる)

進行

モード: standard / 作業ツリー: .worktrees/feat/issue-728-apply-intake / 計画: issues/issue-728-647-592-553-plan.md

  • 要求と受け入れ条件 — 2026-09-19 03:42
  • 作業場所の用意 — 2026-09-19 03:43
  • 設計 — 2026-09-19 03:50
  • 素材の収集と出典の確定
  • ドキュメント再構成 — 2026-09-19 03:58
  • ドキュメントレビュー — 2026-09-19 04:01
  • 計画 — 2026-09-21 21:27
  • 実装 — 2026-09-21 21:46
  • 構造改善 — 2026-09-21 22:19
  • 実装レビュー — 2026-09-22 02:27
  • 完了判定 — 2026-09-22 02:44
  • Pull Request — 2026-09-21 22:16
  • 確定仕様化 — 2026-09-22 03:43
  • 後片付け — 2026-09-22 03:31
  • 配布 — 2026-09-22 14:16
  • 体裁レビュー
  • リリース後テスト — 2026-09-22 15:06
  • 振り返り — 2026-09-22 15:38

閉じた理由

PR #796 で直り、ndf 10.16.0(2026-09-22、main / タグ ndf--v10.16.0、PR #810)で配布した。リリース後テスト(#810 (comment) )は単体のテストと手動確認の前半(進捗の記録に作業段階が残る)が合格。手動確認の後半(結末の記録の理由が監視の結果と一致する)は、結果なしの群が起きず未検証のため #814 へ移して閉じる。

振り返り: #810 (comment)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ndf-skillNDF の Skill 本体priority: high実害・安全機構の欠落など、優先して対応する

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions