Skip to content

実装のプランの design-tests が、設計で改名を決めたテストを止まりと判定せず、止まった理由を全文で残す #2118

Open

Description

@takemi-ohama

何を見つけたか

#2086 の実装のプラン(supervise.py の実装のテンプレート)で、設計との突き合わせのステップ design-tests が exit 1 で止まった。設計文書 issues/issue-2086-design.md はテストを改名前の名前 test_document_restructuring_stage.py で書いており、設計どおりに実装が test_document_rebuild_stage.py へ改名したため、HEAD に無いと判定された。

止まったことは実装 PR #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 になる
  • 関連: mvv-gate: 設計のプランで、設計の前に打った requirements-check の exit 2 を材料に読み、関門 1 の助言が unknown になる #1502(同じ _machine_body の「テスト」の表を直す)

由来

PR #2090

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ndf-skillNDF の Skill 本体bugSomething isn't workingpriority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions