e2e-workflow-gate reference

e2e-workflow-gate は E2E を実行するか、どの timing で実行するか、どの artifact を証跡にするかを決める gate である。 E2E は default off の opt-in として扱い、通常 validation command の代替にはしない。

Mode

指定 意味
e2e=off / no-e2e E2E を実行しない
e2e=auto auto policy evaluator に requested mode として渡す。既存 workflow の e2e_mode には入れない
e2e=pre-review 実装、通常 validation、PR 前 simplify 後、review に渡す前に実行する
e2e=final / e2e=on / e2e review 収束後、完了直前に実行する
e2e=both pre-review と final の両方で実行する

requested_e2e_mode はユーザーや handoff の入力値、resolved_e2e_mode は evaluator が成功判定した実行値である。 downstream skill に渡してよいのは off|pre-review|final|both の resolved value だけで、auto を既存 e2e_mode として扱わない。

Auto Policy

fix-github-issueimplement-from-plan が未指定 default を auto として扱う場合、先に review-orchestrator issue e2e-plan または plan e2e-plan を実行する。

review-orchestrator issue e2e-plan --issue <issue> --brief <implementation-brief.json> --requested-e2e-mode auto

requested_e2e_mode=off は明示 override なので、evaluator は resolved_e2e_mode=off として分類し、E2E 実行には進まない。 docs-only 変更は通常 off、managed skill/config の local apply を伴う変更は final、方法や host-wide state が一意に決まらない変更は needs_user_decision になる。

needs_user_decision

次の場合は needs_user_decision として止める。

この状態を未実行成功として扱わない。ユーザーが E2E 実行または skip を明示確認した場合だけ、該当 gate event に確認結果を残して進める。

Caller Boundary

呼び出し元 skill は E2E の結果を通常 validation と混ぜない。 完了報告では mode、実行結果、needs_user_decision の有無、artifact path、または e2e=off による未実行を分けて報告する。 PR 本文へ書く場合は e2e=finalfinal gate ではなく、「最終確認」「手元で実行した検証」のような公開向け表現へ翻訳する。

Examples

review-orchestrator issue e2e-plan --issue <issue> --brief <implementation-brief.json> --requested-e2e-mode off
review-orchestrator issue e2e-plan --issue <issue> --brief <implementation-brief.json> --requested-e2e-mode auto

e2e=final を実装系 skill に渡した場合、実際の実行は review 収束後に行う。 e2e=pre-review は reviewer に渡す前の証跡が必要な高リスク変更だけで使う。