Skip to content

handoff.py が終了コード 4・5 を共通の表と違う意味で返し、emit の検査も通らない #2241

Open

Description

@takemi-ohama

何が困るか

plugins/ndf/scripts/handoff.py は終了コード 4(EXIT_FOUND_MANY)と 5(EXIT_TOO_LONG)を status: stopped で返す。共通の表(plugins/ndf/scripts/lib/README.md の「手順のスクリプトの結果」)では 4 は「PR がベースブランチと衝突している」で、5 は表に無い。handoff.py は step_result.emit を通らずに直接出力するため、validate_result の終了コードの検査(code_matches)にも掛からない。

読む側が終了コードの表で次の手を決めると、引き継ぎ文書が複数見つかった結果を「ベースブランチとの衝突」と読む。

見つけた場所

#2227 の設計(終了コードの空きを調べたとき)。#2227 は終了コード 6 を新しく足すが、handoff.py の 4・5 は #2227 の受け入れ条件にも子の 7 件にも含まれない。

  • plugins/ndf/scripts/handoff.py の 51〜52 行(EXIT_FOUND_MANY = 4・EXIT_TOO_LONG = 5)と emit_result
  • plugins/ndf/scripts/lib/step_result.py の code_matches

直し方の候補

  • handoff.py を step_result.emit 経由にし、4・5 を共通の表の値(1 か 3)か、表へ足した値に揃える

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions