Skip to content

issue completion condition scope

liplus-lin-lay edited this page Jul 30, 2026 · 1 revision

issue 完了条件フィールドの射程 = proxy が届かない完了だけ書く

Question

skills/operations-on-issue-format/SKILL.md は issue body の完了条件フィールドを一律で不要としている(26行「Issue completion is managed through issue state plus PR/CI/release flow, not a dedicated issue-body field.」)。この規定は維持すべきか、条件付きで緩めるべきか。

Current resolution

二値で分ける。判定線 = その完了条件は PR 単体で満たせるか。

  • 満たせる → 書かない。汎用 close 条件(rules/task/task.md「implementation done, CI pass, released | user confirms working」)が既に覆っており、issue ごとの再記述は重複になる
  • 満たせない → 書く。deploy 後の本番状態、実機の挙動、cron 数周後の観測、人間の確認など、PR / CI / release フローが観測しない完了には他に記録面が無い

「念のため書く」は入らない(rules/model/subtractive-structural-beauty.md spec write 規定「binary only — required or unnecessary」)。

元の指示(完了条件は書かなくてよい)は撤回しない。射程を明示するだけである。Master の当時の観測「テンプレートにあるから書いている感じ」は、proxy が届く範囲の issue に対しては正しい診断だった。

Edges

背景

2026-07-29、Liplus-Project/github-rag-mcp #178 で実測が出た。

同 issue の完了条件に「2026-07-07 以降の既存欠損を backfill し、本番 MCP の diff 走査で直近コミットが取得できる」が含まれていた。この条件は PR では満たせない。backfill は deploy 後にしか走らず、検証は本番の索引を叩く必要がある。

実際の経過:

  1. 委譲した subagent は code / test / docs を出し、CI 緑で停止・報告した。汎用 close 条件から見れば完了である
  2. PR merge により branch linkage で issue が自動クローズされた
  3. 完了条件の当該項が未達だったため reopen。deploy 完了を確認し、POST /admin/diff-watermark で watermark を巻き戻し、次の cron を待って本番走査で確認した

汎用条件は「完了」と言い、issue 固有条件だけが「未完」と言った。

なお、この判断には二つの面が別々に効いている。issue の完了条件が現実側の的(本番走査で直近コミットが引けること)を与え、rules/operations/operations.md Autonomous Run Stop Condition が観測の作法(deploy 完了 = cron 1周目をログで観測すること)を与えた。前者だけなら merge 直後に一度見て空振りしていた可能性があり、後者だけなら merge 時点で完了と報告していた。片方では成立しない。

制約

  • 汎用条件で足りる issue に完了条件を書かせる方向へは倒さない。大半の issue では重複であり、元の指示が観測した状態を再生産する
  • 完了判定の大域規定(rules/task/task.md の close 条件)は変更しない
  • 新しいフィールドを常設しない

結論

完了条件フィールドは廃止でも常設でもなく、proxy の外にある完了に限って必須とする。判定は書き手の裁量ではなく「PR 単体で満たせるか」の二値。

rules/model/foundational-invariant.md「Correctness is defined as real-world behavior that works as required」に照らすと、CI pass / merged は proxy であり、proxy が届く範囲でしか完了を判定できない。届かない範囲を名指すのが、このフィールドの唯一の存在理由である。

規則側への反映は #1625 で追跡する。

関連

メンテナンス

この判断記録は、以下の場合に削除する:

  • #1625 が完了し、判定線が skills/operations-on-issue-format/SKILL.md に統合された時
  • 判定線が「PR 単体で満たせるか」以外へ変更された時(supersede リンク付きで新 entry を作る)

要求仕様書 (1-6)

参考文書 (A-K)

判断構造

Clone this wiki locally