## 何を見つけたか #2086 の実装のプラン(`supervise.py` の実装のテンプレート)で、設計との突き合わせのステップ `design-tests` が exit 1 で止まった。設計文書 `issues/issue-2086-design.md` はテストを改名前の名前 `test_document_restructuring_stage.py` で書いており、設計どおりに実装が `test_document_rebuild_stage.py` へ改名したため、HEAD に無いと判定された。 止まったことは実装 PR https://github.com/devbasex/ai-plugins/pull/2090 の本文に「出力の途中で切れており、詳細は確認が必要」「設計文書に名前の出るテスト 1 件の扱いを確かめてから進める必要があります」と書かれ、そのままスプリントブランチへマージされた。確かめたのは v10.20.0 の本番リリースの後である(2026-10-25 のリリース後テスト)。 ## どこで見つけたか - PR 2090 の本文の検査の表(`design-tests | 1 | 止まった…`) - 設計文書の 375 行目・490 行目(`git show 58e8ee53b:issues/issue-2086-design.md`) - テンプレートは `plugins/ndf/scripts/supervise_lib/templates.py` の実装の judge(`design-tests` へ進む分岐) ## なぜこの変更の範囲外なのか #2086 は文書系の Skill を変える課題で、実装のプランの突き合わせは受け入れ条件に無い。直し方(設計が改名を宣言する形を読む・止まった理由を全文で残す・未確認の止まりがある PR をマージの前に止める)は契約と方針に関わり、即時修正の条件 2・3 を満たさない。根拠: NDF の共通原則「判断の範囲は目の前の変更・操作に限る」(MVV 版 3)。 ## 直さないと何が起きるか 設計でファイルの改名を決めたスプリントは、毎回 `design-tests` で止まる。止まった理由が切れて残るため、本当の食い違い(設計が求めたテストが無い)と改名による止まりを区別できないまま、PR がマージへ進む。 ## 起票者の推定 - 止まった後にマージへ進んだ経路(judge が無関係と判断したか、conductor が見落としたか)は確かめていない(推した出所: PR 2090 の本文) ## 直す場所 - 現象レイヤー: 実装のプランの完了判定(`design-tests` の status が stopped)と、実装 PR の本文の「テスト」の表(理由が 120 字で切れる) - 修正レイヤー: 1. `plugins/ndf/scripts/design-match.py` の `extract_names`・`classify_span`。「採らなかった案」の中の名前と、設計が宣言した改名の前の名前を missing にしない 2. `plugins/ndf/scripts/supervise_lib/pr.py` の 258 行の `last[:120]`。run ステップの summary を切らずに載せる 3. 未確認の stopped がある PR をマージの前に止めるか(範囲は設計で決める) - 再現(ndf 10.21.0、2026-10-25): `git show 58e8ee53b:issues/issue-2086-design.md > d.md; python3 plugins/ndf/scripts/design-match.py tests --design d.md --root .` → exit 1、`test_document_restructuring_stage.py` が missing(375 行、「決定の記録」の「採らなかった案」の文) - `design-tests` は `on_fail: design-specs` で先へ進むため、プラン全体は止まらず、ステップの status だけが `stopped` になる - 関連: #1502(同じ `_machine_body` の「テスト」の表を直す) ## 由来 PR #2090
Activity