Skip to content

開発ループの承認ゲート 2 の後のまとめが配布の記録の PR を読まない → 本番の後に記録の PR を解いてまとめを組む(#2089) #2121

Closed

Description

@takemi-ohama

経緯

スプリント s2089(#2089、開発ループのモード)の検査で、cross-review が上限(4 ラウンド)に達し、次の 2 件を「設計の変更が要る」として見送った(PR #2103 のレビューコメント)。どちらも sprint-state.py loop を明示して起動したときだけ通る経路で、ループを使わない起動の振る舞いは変わらない(#2089 の受け入れ条件 1・18)。

問題

  1. まとめへ渡す --record-pr が配布の記録の PR ではない(plugins/ndf/scripts/lib/sprint_loop.py の gate2_pipeline)
    • 承認ゲート 2 の後の続きを組むとき、--record-pr に止まった記録の values.pr(判定に渡した検査のスプリント PR)を使っている
    • 雛形の経路では、まとめがスプリント PR を配布の記録として読む。配布済みでも課題が閉じられず、次の周回で同じ課題が選び直される
    • 本番の配布の記録の PR は、承認ゲート 2 の時点ではまだ無い。設計文書 issues/issue-2089-design.md の 742・787 行が今の形を決めている
  2. manual ステージを含む配布経路で、まとめが手作業の前に走りうる
    • 手で届ける本番や別のコマンドの承認ゲート 2 を終える前に、まとめの queue へ進み、周回を完了扱いにするおそれがある

直し方の候補(設計で決める)

  • A: 本番の実行の後に配布の記録の PR を読み、まとめを組み直す手順を足す
  • B: queue の {queue_pr:<名>} の探し場所を周回の外のプランへ広げる(queue の契約の変更)

受け入れ条件

  • 承認ゲート 2 の後のまとめが、本番の配布の記録の PR を --record-pr に受け取り、配布した課題を閉じる
  • manual ステージを含む経路では、手作業を終えるまでまとめを始めない
  • ループを使わない起動の出力と終了コードは変わらない

#2089 のリリース後テスト(承認ゲート 2 を通る周回)で再現を確かめる。

再現の確認(#2089 のリリース後テスト、ndf 10.21.0、2026-10-25 12:55 JST)

承認ゲート 2 を通る実際の周回はまだ流していない。導入した 10.21.0 と同じ中身(タグ ndf--v10.21.0、導入物と diff -rq で一致)で、ループのテストの fixture(scripts/tests/test_sprint_loop.py の env・built_lap)を使い、gate2_pipeline を直接呼んで確かめた。

問題 結果 確かめたこと
1. --record-pr が配布の記録の PR ではない 再現した 止まった記録の values.pr に 2103 を入れて gate2_pipeline を呼ぶと、まとめを組む build_close に record_pr=2103 が渡った。配布の記録の PR を読む経路は無い(plugins/ndf/scripts/lib/sprint_loop.py の gate2_pipeline)
2. manual ステージを含む経路で、まとめが手作業の前に走りうる 再現した(合成したマニフェスト) 本番のプランが bump のステップを持ち、マニフェストの本番の後に {"name": "リリース", "manual": "/ndf:release"} を足すと、続きは supervise.py run <本番> --from bump && supervise.py queue <まとめ> ... && wait && loop lap の 1 行になり、手作業の /ndf:release が出てこない。stages_after(plugins/ndf/scripts/lib/sprint_loop_gate.py)が plans を持たないステージを落とすためである。本番のプランが続けるステップを持たない(gate-2 のプラン)ときは「手で行う本番のステージを終えてから」の文が先に付く。loop sprint が最初に組むパイプラインでは手作業が先に出る(test_manual_release_stage_holds_the_close_until_it_is_done)

実際の周回での再現は、ループを有効にした検証用のリポジトリで承認ゲート 2 を通る周回を流すときに確かめる(#2089 のリリース後テストでは費用の理由で流していない)。

進行

モード: — / 進め方: auto

  • 要求と受け入れ条件
  • 作業場所の用意 — 2026-11-01 02:54
  • 設計
  • 素材の収集と出典の確定
  • ドキュメント再構成
  • ドキュメントレビュー
  • 計画 — 2026-11-01 02:53
  • 実装 — 2026-11-01 02:54
  • 構造改善 — 2026-11-01 05:23
  • 実装レビュー — 2026-11-01 06:24
  • 完了判定 — 2026-11-01 04:58
  • Pull Request — 2026-11-01 05:12
  • 確定仕様化 — 2026-11-01 07:43
  • 後片付け — 2026-11-01 07:42
  • 配布 — 2026-11-01 07:24
  • 体裁レビュー
  • リリース後テスト — 2026-11-01 07:59
  • 振り返り — 2026-11-01 08:08
  • 棚卸し — 2026-11-01 08:21

振り返り: #2352 (comment)

Activity

  1. added
    quality品質向上の Issue(棚卸しの品質の枠。.ndf/backlog.json の quality)
    on Oct 25, 2026
  2. takemi-ohama commented on Nov 1, 2026

    @takemi-ohama
    ContributorAuthor

    スプリント(スプリント m26-3の後片付け)を通りました

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

    quality品質向上の Issue(棚卸しの品質の枠。.ndf/backlog.json の quality)

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions