Skip to content

開発ループの承認ゲート 1 で「直してから出し直す」と答えても差し戻しの記録に残らず、振り返りの差し戻しが 0 件になる #2400

Open

Description

@takemi-ohama

何を見つけたか

開発ループの承認ゲート 1 で利用者が「直してから出し直す」と答えても、差し戻しの記録(~/.local/state/ndf/gate-rejections.jsonl)に 1 行も残らない。振り返りの gate-rejections.py count は、差し戻しを 0 件と数える。

実例: 開発ループ lroot2 の周回 1(#2376 の設計 PR #2386 )。

時刻(JST) 何が起きたか 記録
2026-11-02 午前 loop gate の MVV 判定が「判定できない」で、#2376 は人の判断待ちへ移った laps.md の「人の判断待ち」
同 利用者が承認ゲート 1(AskUserQuestion)で「直してから出し直す」を選んだ。conductor が設計を直し、レビューを流し直した 引継ぎ文書 .ndf/handoff/loop-lroot2.md の追記だけ
12:27 出し直した設計を利用者が承認し、loop answer lroot2 2376 --approved --pr 2386 を打った gate-rejections.jsonl に outcome: approved の 1 行

python3 plugins/ndf/scripts/gate-rejections.py count --issue 2376 --pr 2386 は「関門 1 が 0 件」・recorded: true を返す。

原因

sprint-state.py loop answer は --approved・--rejected・--revise --note <指摘ファイル> の 3 つを受ける(plugins/ndf/scripts/lib/sprint_loop.py の cmd_answer・apply_answer)。

  • --rejected は課題を「差し戻し」にし、選定の対象に戻さない(plugins/ndf/scripts/lib/sprint_loop_select.py)。直して出し直すときには打てない
  • --revise(直して出し直す)は指摘と回数を待ちの行と課題の本文に書き、課題を次の周回の先頭で選ぶ。ただし答えの確定でないとして承認の記録(sprint-state.py gate)を呼ばないため、差し戻しの記録(gate-rejections.jsonl)に関門 1 の行が書かれない。出し直した後の承認だけが残る

どこで見つけたか

スプリント lroot2-2(#2376)の振り返り。本番の PR #2396

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

このスプリントは worker へ工程の Skill を届ける仕組み(#2376)を作った。開発ループの承認ゲートの答えの記録(sprint_loop.py)は変えていない

直さないと何が起きるか

振り返りの「承認ゲートの差し戻し」が実際より少なく出る。#2183 で「記録し忘れても気づけない」を直したが、ループの経路では答えの種類が足りないため、recorded: true のまま 0 件になる。MVV を見直す材料(Value 3 の「測って決める」)と、承認資料の質を測る数が欠ける

受け入れ条件

  • 開発ループの承認ゲート 1 で「直してから出し直す」と答えたとき、差し戻しの記録に関門 1 の 1 行が残り、課題は人の判断待ちのまま(選定から外さない)出し直せる
  • gate-rejections.py count --issue <N> が、その差し戻しを数える

起票者の推定

  • 受け入れ条件は起票者(振り返りの AI)の推定で、利用者の指示ではない。答えを 3 つ目の種類にするか、承認の前に差し戻しの行を足す手順にするかは設計で決める
  • 根拠: Value 3(測って決める)・Value 4(決まった手順はスクリプトに)

由来

PR #2396(スプリント lroot2-2 の本番の配布)の振り返り

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