A team is implementing a multi-stage agentic pipeline in GitHub Actions. The pipeline includes: (1) a planning stage where the agent outputs a structured change plan, (2) a validation stage where automated checks verify the plan against policy rules, and (3) an execution stage where the agent applies changes. After a recent incident, the team wants to ensure human intervention is possible between validation and execution WITHOUT introducing a mandatory synchronous approval that blocks the pipeline for hours. Which THREE design choices support this goal?
- A. Post the validated plan as a PR comment and allow reviewers to post a '/reject' command that triggers a workflow cancellation webhook before the timeout expires✓ Correct
- B. Persist the validated plan artifact to a GitHub Release so it can be referenced asynchronously by reviewers on their own schedule
- C. Skip the validation stage entirely and rely solely on post-execution rollback scripts to handle errors
- D. Implement a 'dead man's switch' pattern where the execution stage is blocked by default and only proceeds after a reviewer explicitly posts '/approve' within the timeout window✓ Correct
- E. Set a configurable auto-approval timeout (e.g., 30 minutes) so the pipeline proceeds automatically if no reviewer objects, while still notifying the on-call engineer via GitHub notification✓ Correct
- F. Require a synchronous manual approval with no timeout, forcing a reviewer to be available 24/7
Explanation
A configurable auto-approval timeout with on-call notification enables human intervention without indefinitely blocking the pipeline — reviewers can act quickly when needed, and delivery proceeds automatically when no issues are flagged. A '/reject' command mechanism gives reviewers an active, low-friction way to halt execution asynchronously without requiring synchronous presence. A 'dead man's switch' (explicit '/approve' required within a window) is another valid pattern that defaults to safe blocking but doesn't require 24/7 coverage if the window is reasonable. A mandatory synchronous approval with no timeout directly contradicts the requirement not to block delivery for hours. Persisting the plan to a GitHub Release is useful for archiving but does not by itself provide an intervention mechanism. Skipping validation eliminates a critical safety gate and is directly contrary to the goal.