Skip to content

スプリントの検査で cross-review が未解決 0 件のまま上限や error で終わると検査ごと落ち、conductor が手で review を飛ばして再開する #2370

Open

Description

@takemi-ohama

何を見つけたか

スプリントの検査(4-check のプラン)で、cross-review が上限(final: max_rounds)や final: error で終わると、未解決の指摘が 0 件でも検査ごと落ちる。その後、conductor が手でプランを流し直し、2 回目も落ちると review を通らずに base-sync から再開してマージへ進めている。プランの外の手当てである。

スプリント lroot-2(スプリントの PR #2363 )の例:

回 時刻(JST) cross-review の終わり方 指摘 直した 見送った 未解決 検査の記録
1 11-01 22:31 max_rounds(4 ラウンド) 18 15 3 0 failed(落ちた工程「不明」)
2 11-02 00:14 error(通算 8 ラウンド) 32 29 3 0 failed(review)
3 11-02 00:15〜00:27 通さず base-sync から再開 - - - - merged

見送った 3 件(重複を除くと 2 件。runtimes.json と project.json の読み順。認可 C2 に当たる)は、利用者の方針を受けて同じ PR の f806ae5 で直っている。

検査の記録(check-trigger.py stats、2026-11-02 の 37 回)でも、同じ形(落ちた検査の後に同じ PR の検査が merged になる)が PR #2152・#2192・#2209・#2247・#2250・#2268・#2283・#2312・#2318・#2363 に出ており、同じ手当ては 2 度目を超えている(プロジェクト MVV の Value 4「同じ手当てが 2 度目になった時点で、雛形へ入れる課題を起こす」)。

なぜ困るか

  • 検査の review にかかる時間(lroot-2 では 11-01 21:12〜11-02 00:14 JST の約 3 時間)のうち、2 回目の 4 ラウンドは、未解決 0 件のまま上限に当たった後の追加であった
  • 「未解決 0 件で上限に当たった」ときに通すか止めるかを conductor がその場で決めており、判断の記録が残らない

直し方の案

受け入れ条件

  • 未解決 0 件で cross-review が上限に当たったとき、検査のプランが conductor の手当て無しに次の工程へ進むか、理由を付けて止まる
  • どちらへ進んだかと理由が、検査の記録に残る

見つけた場面

スプリント lroot-2(#2335 #2336)の振り返り(/ndf:retrospective)。本番へ出した PR #2367 。記録は .ndf/loop/lroot/lap-2/sprint/4-check-state/progress.jsonl と ~/.local/state/ndf/checks/devbasex__ai-plugins.jsonl

なぜこの変更の範囲外なのか

lroot-2 は契約の一覧と構造チェック(#2336)を作った。検査のプランの分岐(supervise_lib/templates.py の検査の雛形)は変えていない

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions