Conversation
…nomous runs Emits --no-ask-user when invoking the Copilot CLI to suppress interactive prompts during both agent and detection jobs, version-gated to CLI >= 1.0.19. Agent-Logs-Url: https://github.com/github/gh-aw/sessions/ddd5fcf2-8532-4ae2-b7c7-77eebe7ba539 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| @@ -0,0 +1,80 @@ | |||
| # ADR-0001: Version-Gated --no-ask-user Flag for Autonomous Copilot Agent Runs | |||
There was a problem hiding this comment.
Renamed ADR from 0001 to 25822 in commit f4a1c10.
There was a problem hiding this comment.
👋 The smoke test agent was here! Great work renaming the ADR — using the PR number as the filename is a much more collision-resistant approach. 🚀
📰 BREAKING: Report filed by Smoke Copilot · ● 792.3K
There was a problem hiding this comment.
Pull request overview
This PR adds version-gated support for emitting Copilot CLI’s --no-ask-user flag so agentic runs can be fully non-interactive (including detection jobs), while avoiding failures on older CLI versions.
Changes:
- Introduces a minimum supported version constant (
CopilotNoAskUserMinVersion = 1.0.19) and acopilotSupportsNoAskUser()helper for version-gating. - Emits
--no-ask-userin generated Copilot CLI invocations (agent + detection) when supported; updates tests accordingly. - Regenerates workflow lock files and updates wasm golden fixtures to reflect the new CLI arg.
Show a summary per file
| File | Description |
|---|---|
| pkg/constants/version_constants.go | Adds CopilotNoAskUserMinVersion constant used for gating the flag. |
| pkg/workflow/copilot_engine_execution.go | Adds semver-gated --no-ask-user emission and helper copilotSupportsNoAskUser(). |
| pkg/workflow/copilot_engine_test.go | Adds/updates unit tests covering --no-ask-user emission and version gating. |
| pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden | Updates expected generated workflow output to include --no-ask-user. |
| pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden | Updates expected generated workflow output to include --no-ask-user. |
| .github/workflows/workflow-health-manager.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/workflow-generator.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/weekly-safe-outputs-spec-review.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/weekly-blog-post-writer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/update-astro.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/test-workflow.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/test-project-url-default.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/test-dispatcher.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/terminal-stylist.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/technical-doc-writer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/super-linter.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/sub-issue-closer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/smoke-update-cross-repo-pr.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/smoke-service-ports.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/smoke-create-cross-repo-pr.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/security-review.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/security-compliance.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/repository-quality-improver.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/repo-tree-map.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/repo-audit-analyzer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/refiner.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/refactoring-cadence.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/q.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/python-data-charts.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/pr-triage-agent.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/pr-nitpick-reviewer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/portfolio-analyst.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/plan.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/pdf-summary.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/org-health-report.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/notion-issue-summary.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/metrics-collector.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/jsweep.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/issue-triage-agent.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/issue-monster.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/gpclean.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/glossary-maintainer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/github-remote-mcp-auth-test.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/functional-pragmatist.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/firewall.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/example-permissions-warning.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/dictation-prompt.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/dev.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/dependabot-go-checker.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/dependabot-burner.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/dead-code-remover.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-workflow-updater.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-team-status.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-semgrep-scan.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-secrets-analysis.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-regulatory.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-malicious-code-scan.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-integrity-analysis.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-cli-tools-tester.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-cli-performance.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-assign-issue-to-user.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/daily-architecture-diagram.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/craft.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/copilot-token-optimizer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/copilot-token-audit.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/copilot-pr-merged-report.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/contribution-check.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/constraint-solving-potd.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/code-simplifier.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/code-scanning-fixer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/ci-coach.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/brave.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/bot-detection.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/artifacts-summary.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/archie.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/agentic-observability-kit.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/agent-persona-explorer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/agent-performance-analyzer.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .github/workflows/ace-editor.lock.yml | Regenerated lock workflow to include --no-ask-user in Copilot invocations. |
| .changeset/patch-add-copilot-no-ask-user-flag.md | Adds release note entry for the new version-gated --no-ask-user behavior. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 130/130 changed files
- Comments generated: 1
| "gh-aw": patch | ||
| --- | ||
|
|
||
| Enable `--no-ask-user` for Copilot agent jobs when the configured Copilot CLI version supports it (>= `1.0.19`), allowing fully autonomous runs while preserving conservative behavior for unsupported or non-semver versions. |
There was a problem hiding this comment.
The changeset description says this enables --no-ask-user for “Copilot agent jobs”, but the implementation also emits the flag for detection jobs (when version-gated). Please update the release note text to reflect both agent and detection runs (or use broader wording like “Copilot runs”).
| Enable `--no-ask-user` for Copilot agent jobs when the configured Copilot CLI version supports it (>= `1.0.19`), allowing fully autonomous runs while preserving conservative behavior for unsupported or non-semver versions. | |
| Enable `--no-ask-user` for Copilot runs when the configured Copilot CLI version supports it (>= `1.0.19`), allowing fully autonomous runs while preserving conservative behavior for unsupported or non-semver versions. |
✅ Design Decision Gate — ADR VerifiedThe implementation in this PR aligns with the stated Architecture Decision Record. ADR reviewed: ADR-0001: Version-Gated --no-ask-user Flag for Autonomous Copilot Agent Runs Verification SummaryAll normative (RFC 2119) requirements are satisfied:
The design decision has been recorded and the implementation follows it faithfully. Great work! 🏗️
|
There was a problem hiding this comment.
Implementation verified: code aligns with the linked Architecture Decision Record (ADR-0001). All MUST/MUST NOT normative requirements are satisfied — version gating, conservative non-semver handling, constant definition, helper encapsulation pattern, and test coverage.
🧪 Test Quality Sentinel ReportTest Quality Score: 90/100✅ Excellent test quality
Test Classification Details
Detailed Analysis
|
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cbdc583a-5e74-4130-bbd0-164a97cbc2b9 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Confirmed — |
|
✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready. |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
|
Agent Container Tool Check
Result: 12/12 tools available ✅ Overall Status: PASS
|
Smoke Test Results — §24285347590
Overall: ✅ PASS PR author:
|
There was a problem hiding this comment.
Smoke test review of PR #25822 (feat: add --no-ask-user flag). The version-gating logic is well-structured and follows existing patterns. Two inline suggestions: (1) use the description field in test table as sub-test names, and (2) update changeset wording to reflect both agent and detection jobs.
📰 BREAKING: Report filed by Smoke Copilot · ● 792.3K
| "gh-aw": patch | ||
| --- | ||
|
|
||
| Enable `--no-ask-user` for Copilot agent jobs when the configured Copilot CLI version supports it (>= `1.0.19`), allowing fully autonomous runs while preserving conservative behavior for unsupported or non-semver versions. |
There was a problem hiding this comment.
The changeset mentions "Copilot agent jobs" but this flag is also emitted for detection jobs. Suggest broadening to "Copilot runs" to match the actual behavior (as suggested by the existing review comment from copilot-pull-request-reviewer).
|
|
||
| tests := []struct { | ||
| name string | ||
| engineConfig *EngineConfig |
There was a problem hiding this comment.
The test table structure is clean and comprehensive. One suggestion: the description field in the struct is only used implicitly (it's not passed to t.Run or logged on failure). Consider using it as a sub-test name via t.Run(tt.description, ...) so failures are easier to diagnose in test output.
|
Smoke Test: Codex (run 24285347576)
|
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
🤖 Smoke Test Results — Run §24285347567Overall:
|
There was a problem hiding this comment.
💥 Automated smoke test review - all systems nominal! This PR correctly adds --no-ask-user to both agent and detection jobs with a clean version gate at >= 1.0.19. The implementation follows existing patterns (awfSupportsExcludeEnv, awfSupportsCliProxy). Run 24285347567.
💥 [THE END] — Illustrated by Smoke Claude · ● 202K
| "gh-aw": patch | ||
| --- | ||
|
|
||
| Enable `--no-ask-user` for Copilot agent jobs when the configured Copilot CLI version supports it (>= `1.0.19`), allowing fully autonomous runs while preserving conservative behavior for unsupported or non-semver versions. |
There was a problem hiding this comment.
🤖 Smoke Test Review — The changeset description currently says "Copilot agent jobs" but the implementation also applies --no-ask-user to detection jobs. Consider broadening the wording to "Copilot runs" for accuracy. (Run 24285347567)
| @@ -0,0 +1,5 @@ | |||
| --- | |||
| "gh-aw": patch | |||
| --- | |||
There was a problem hiding this comment.
🤖 Smoke Test Review — The patch-level version bump is appropriate since this is a backward-compatible enhancement with a version gate that preserves the existing behavior for older CLI versions. (Run 24285347567)
Reapplies changes from #25772 onto HEAD. Emits
--no-ask-userwhen invoking the Copilot CLI to suppress interactive prompts during both agent and detection jobs, version-gated to CLI ≥ 1.0.19.Changes
pkg/constants/version_constants.go: AddCopilotNoAskUserMinVersion = "1.0.19"pkg/workflow/copilot_engine_execution.go:copilotSupportsNoAskUser()version-gate helper following theawfSupportsExcludeEnv/awfSupportsCliProxypattern--no-ask-userfor both agent and detection jobs when version supports itisDetectionJobdeclaration to share between--no-ask-userand--autopilotguardspkg/workflow/copilot_engine_test.go:TestCopilotEngineNoAskUser(8 cases) andTestCopilotSupportsNoAskUser(10 cases)Version-gate logic
--no-ask-useremitted?1.0.21)latest>= 1.0.19< 1.0.19ADR: ADR-0001: Version-Gated --no-ask-user Flag for Autonomous Copilot Agent Runs
✨ PR Review Safe Output Test - Run 24285347567