何を見つけたか
本番への配布の承認は「承認した時点の develop の中身」を前提にしているが、release の手順は承認した中身をコミットで控えず、main へ入れる直前に比べることも求めていない。 ndf 10.16.0 の配布では、承認(2026-09-22T14:36Z、中身は「開発版 10.16.0-dev.1 と同じ」)の 6 分後に、まとまりの外の PR #806(statusline)が develop へマージされた。仕上げの持ち場が配布物の差分(119 → 124 ファイル)の食い違いに気づいて止まり、再承認(15:0xZ)を経て配布したが、気づいたのは差分の数を数え直したからで、手順の上の確認ではない。
どこで見つけたか
なぜこの変更の範囲外なのか
マイルストーン 13 は cross-review / cross-refactoring の収束ループを扱い、配布の手順は範囲に無い。振り返りで決めた「次に変えること」である。
直さないと何が起きるか
承認と公開の間に開発版のチャネルへ別の変更が入ると、承認していない変更が検証を経ずに本番へ届く。 差分の数を数え直さない限り気づけない。## 直し方
承認の提示物に「承認するコミット(develop の先端の SHA)」を書き、develop → main の Pull Request をマージする直前に develop の先端と比べ、違えば関門へ戻る。
直す場所はスクリプトである。 承認の提示物に SHA を出すのは #846 の承認関門の提示(approval-present)、マージ直前の比較は #862 の release.py のサブコマンドとして入れる。
関連
由来
PR #810 の振り返り(ndf 10.16.0、マイルストーン 13)
何を見つけたか
本番への配布の承認は「承認した時点の
developの中身」を前提にしているが、releaseの手順は承認した中身をコミットで控えず、mainへ入れる直前に比べることも求めていない。 ndf 10.16.0 の配布では、承認(2026-09-22T14:36Z、中身は「開発版 10.16.0-dev.1 と同じ」)の 6 分後に、まとまりの外の PR #806(statusline)がdevelopへマージされた。仕上げの持ち場が配布物の差分(119 → 124 ファイル)の食い違いに気づいて止まり、再承認(15:0xZ)を経て配布したが、気づいたのは差分の数を数え直したからで、手順の上の確認ではない。どこで見つけたか
plugins/ndf/skills/release/SKILL.mdの「公開前の提示と承認」と手順 4(公開する)plugins/ndf/skills/development-workflow/references/approval-request.mdの「配布(release)」の提示物なぜこの変更の範囲外なのか
マイルストーン 13 は
cross-review/cross-refactoringの収束ループを扱い、配布の手順は範囲に無い。振り返りで決めた「次に変えること」である。直さないと何が起きるか
承認と公開の間に開発版のチャネルへ別の変更が入ると、承認していない変更が検証を経ずに本番へ届く。 差分の数を数え直さない限り気づけない。## 直し方
承認の提示物に「承認するコミット(
developの先端の SHA)」を書き、develop→mainの Pull Request をマージする直前にdevelopの先端と比べ、違えば関門へ戻る。直す場所はスクリプトである。 承認の提示物に SHA を出すのは #846 の承認関門の提示(
approval-present)、マージ直前の比較は #862 のrelease.pyのサブコマンドとして入れる。関連
release.py)由来
PR #810 の振り返り(ndf 10.16.0、マイルストーン 13)