Conversation
Add gate2.green_continue_requires_confirm config option (default true). When true, ship.md step 9 pauses on green verdict with AskUserQuestion showing per-reviewer summary: "Yes, ship it" / "No, abort" / "I have feedback". Feedback path re-presents the question after response — the operator always gets the final Yes/No choice. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a human-in-the-loop (HITL) confirmation pause when Gate2 returns a green verdict in /gh-issue-driven:ship, controlled by a new config default.
Changes:
- Update
ship.mdstep 9 to route green verdicts through a new step 9a confirmation gate (configurable). - Add
gate2.green_continue_requires_confirm(defaulttrue) to built-in config defaults.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
commands/ship.md |
Adds step 9a to print a Gate2 considerations summary and prompt the operator (Yes/No/Feedback) before continuing on green. |
commands/config.md |
Extends built-in defaults with gate2.green_continue_requires_confirm: true. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
commands/ship.md
Outdated
|
|
||
| When `lang != "en"`, produce the question text and option labels in the language specified by `lang`. | ||
|
|
||
| This step also runs when `DRY_RUN` is `true` — the operator still sees the gate2 summary and confirms intent, even though step 11 (push) and step 12 (PR creation) will be skipped. This matches `start.md` step 18's behavior where the HITL fires regardless of dry-run. |
There was a problem hiding this comment.
The note about DRY_RUN behavior is referencing start.md step 18, but start.md step 18 explicitly skips when DRY_RUN is true (see start.md step 18a). Either update the reference, or adjust the described behavior so the cross-doc claim is accurate.
| This step also runs when `DRY_RUN` is `true` — the operator still sees the gate2 summary and confirms intent, even though step 11 (push) and step 12 (PR creation) will be skipped. This matches `start.md` step 18's behavior where the HITL fires regardless of dry-run. | |
| This step also runs when `DRY_RUN` is `true` — the operator still sees the gate2 summary and confirms intent, even though step 11 (push) and step 12 (PR creation) will be skipped. |
| "gate2": { | ||
| "binary_gate": null, | ||
| "advisors": [ | ||
| "/claude-c-suite:cso", | ||
| "/claude-c-suite:qa-lead", | ||
| "/claude-c-suite:cto" | ||
| ], | ||
| "yellow_continue_requires_confirm": true, | ||
| "green_continue_requires_confirm": true, | ||
| "run_tests_before_gate2": false |
There was a problem hiding this comment.
gate2.green_continue_requires_confirm is added to the built-in defaults here, but there’s no corresponding entry under “Notes on specific keys” explaining what it does, when to disable it (e.g. CI/non-interactive), and how it interacts with DRY_RUN/the gate2 verdict flow. Please document this key alongside the existing gate2 notes so operators can discover it without reading ship.md.
| - **green** → if `gate2.green_continue_requires_confirm` is `true` (default), proceed to step 9a (which prints the summary and asks the operator). If `false`, continue silently to step 10. | ||
| - **yellow** → print the per-reviewer summary table, then ask via AskUserQuestion: "Gate2 returned yellow. Continue with PR creation?" with options "Yes, ship it" / "No, abort". On abort, save state with `phase=gated` and exit cleanly. | ||
| - **red** → if `FORCE` is true, log a loud warning and continue. Otherwise abort with the per-reviewer findings printed. |
There was a problem hiding this comment.
Step 9 now makes the green-path confirmation configurable (gate2.green_continue_requires_confirm), but the yellow path still unconditionally prompts even though the defaults include gate2.yellow_continue_requires_confirm. This creates an ambiguous contract between config.md and ship.md. Either (a) make ship.md’s yellow handling honor gate2.yellow_continue_requires_confirm, or (b) document that yellow is always confirmed and remove/clarify the config key to avoid a “config option that does nothing.”
Address Copilot review: start.md step 18a skips on DRY_RUN, so claiming the ship.md step 9a DRY_RUN behavior 'matches start.md step 18' was inaccurate. Removed the cross-reference; the DRY_RUN behavior stands on its own merit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Closes #55
Summary
gate2.green_continue_requires_confirm(defaulttrue)Implementation notes
gate2.green_continue_requires_confirm: trueto built-in defaults alongside existinggate2.yellow_continue_requires_confirmPre-PR review summary
Full reviews are saved in the plugin cache:
🤖 Generated via /gh-issue-driven:ship