## 何を見つけたか 本番の配布(`release-steps.py` の `release` のステップ、`--stage production`)で、タグを push した後に `gh release create` が失敗すると、同じステップを打ち直しても先へ進めない。 - 入力: ndf v10.26.0 の本番の配布(2026-10-30) - 状態: `_publish_tag_and_release` がタグ `ndf--v10.26.0` を作って push した後、`gh release create` が GitHub API の HTTP 500 で失敗した - 観測: 打ち直すたびに冒頭の確認が「タグ ndf--v10.26.0 は既にある」で `StepError` を投げ、ステップが 5 回続けて失敗し、judge が stop した。GitHub Release を手で作り、次のステップ(record)から再開した タグの push と Release の作成が 1 つのステップに入っていて、途中で失敗した後の再開の形(タグが既にあり、そのタグが本番チャネルの先頭を指し、Release だけが無い)を受けない。 ## どこで見つけたか - `plugins/ndf/scripts/release-steps.py` の 714 行(タグが既にあれば止める)と 755〜769 行(`_publish_tag_and_release`。タグの push の後に `gh release create`) - #2170 のスプリントの本番の配布(配布の記録は PR #2195 のコメント https://github.com/devbasex/ai-plugins/pull/2195 ) ## なぜこの変更の範囲外なのか #2170 は `factory/` の認証とプランの課題で、受け入れ条件と対象範囲に NDF の配布のスクリプトを含まない。根拠: Value 6(根本原因の場所で直す。配布のスクリプトの層で直す)(MVV 版 3) ## 直さないと何が起きるか GitHub API の一時的な失敗が 1 回あるだけで、本番の配布が自動で再開できず、conductor がプランの外で Release を手で作る手当てが要る。手当ての形が記録に残らず、Value 4(決まった手順はスクリプトに)に反する。judge は同じ失敗を 5 回数えるまで止まらないため、その間の時間も失う。 ## 起票者の推定 - 再開の形は「タグが既にあり、本番チャネルの先頭(今回のマージのコミット)を指し、Release だけが無い」ときに Release の作成から続ける形が望ましい(推した出所: 起票者が `release-steps.py` の 714〜769 行と今回の失敗の経緯から推した) ## 由来 issue #2170 ## 閉じた理由 直っています。本番の配布の release のステップは、本番の Pull Request がマージ済みなら照合とマージを飛ばし、タグと GitHub Release のうち無いものだけを作ります(コミット 53acbe18b、#2436)。origin のタグが本番チャネルのコミットを指すことも確かめます。テスト test_release_after_the_production_pr_merged_makes_only_what_is_missing がタグ無し・タグだけ・タグと Release の 3 つの形で通ることを確かめました。
Activity