Skip to content

Add --no-ask-user flag to copilot agentic engine for fully autonomous runs#25637

Open
Copilot wants to merge 3 commits intomainfrom
copilot/update-copilot-agentic-engine
Open

Add --no-ask-user flag to copilot agentic engine for fully autonomous runs#25637
Copilot wants to merge 3 commits intomainfrom
copilot/update-copilot-agentic-engine

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 10, 2026

Summary

Updates the Copilot agentic engine to emit --no-ask-user when invoking the Copilot CLI, enabling fully autonomous agentic runs by suppressing interactive user prompts.

Changes

  • pkg/constants/version_constants.go: Added CopilotNoAskUserMinVersion = "1.0.19" constant documenting the minimum Copilot CLI version that supports the flag.

  • pkg/workflow/copilot_engine_execution.go:

    • Added copilotSupportsNoAskUser(engineConfig *EngineConfig) bool helper following the same version-gate pattern as awfSupportsExcludeEnv and awfSupportsCliProxy
    • In GetExecutionSteps, emits --no-ask-user for agent jobs when the Copilot CLI version supports it
  • pkg/workflow/copilot_engine_test.go: Added TestCopilotEngineNoAskUser and TestCopilotSupportsNoAskUser with comprehensive coverage

  • 187 lock files recompiled to include the new flag

Version-gate logic

Version --no-ask-user emitted?
unspecified (default 1.0.20) ✅ Yes
latest ✅ Yes
>= 1.0.19 ✅ Yes
< 1.0.19 ❌ No
non-semver (e.g. branch name) ❌ No (conservative)
detection job (any version) ❌ No


✨ PR Review Safe Output Test - Run 24242990842

💥 [THE END] — Illustrated by Smoke Claude · ● 250.8K ·


Changeset

  • Type: patch
  • Description: Enable --no-ask-user for Copilot agent jobs when the configured Copilot CLI version supports it (>= 1.0.19), keeping conservative behavior for unsupported or non-semver versions.

Generated by Changeset Generator for issue #25637 ·



✨ PR Review Safe Output Test - Run 24243208388

💥 [THE END] — Illustrated by Smoke Claude · ● 233.1K ·

Copilot AI requested a review from pelikhan April 10, 2026 12:29
@pelikhan pelikhan marked this pull request as ready for review April 10, 2026 12:31
Copilot AI review requested due to automatic review settings April 10, 2026 12:31
@pelikhan pelikhan added the smoke label Apr 10, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Copilot agentic engine to include the --no-ask-user Copilot CLI flag (when supported) so agent runs can execute fully autonomously without interactive prompts.

Changes:

  • Added a version-gated helper (copilotSupportsNoAskUser) and wired --no-ask-user into Copilot execution args for agent jobs only.
  • Introduced a new minimum-version constant for the flag (CopilotNoAskUserMinVersion = 1.0.19).
  • Regenerated numerous workflow lockfiles to reflect the new Copilot CLI invocation.
Show a summary per file
File Description
pkg/constants/version_constants.go Adds CopilotNoAskUserMinVersion to document the minimum Copilot CLI version that supports --no-ask-user.
pkg/workflow/copilot_engine_execution.go Adds version-gated emission of --no-ask-user for agent jobs (not detection jobs).
.github/workflows/workflow-skill-extractor.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/workflow-normalizer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/workflow-health-manager.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/workflow-generator.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/weekly-safe-outputs-spec-review.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/weekly-issue-summary.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/weekly-editors-health-check.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/weekly-blog-post-writer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/video-analyzer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/update-astro.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/tidy.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/test-quality-sentinel.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/test-project-url-default.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/test-dispatcher.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/terminal-stylist.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/technical-doc-writer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/super-linter.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/sub-issue-closer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/stale-repo-identifier.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-workflow-call.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-workflow-call-with-inputs.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-update-cross-repo-pr.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-test-tools.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-temporary-id.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-service-ports.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-project.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-multi-pr.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-create-cross-repo-pr.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-copilot.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/smoke-copilot-arm.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/security-review.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/security-compliance.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/research.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/repository-quality-improver.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/repo-tree-map.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/repo-audit-analyzer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/release.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/refiner.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/refactoring-cadence.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/q.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/python-data-charts.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/pr-triage-agent.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/pr-nitpick-reviewer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/portfolio-analyst.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/poem-bot.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/plan.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/pdf-summary.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/org-health-report.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/notion-issue-summary.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/mcp-inspector.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/jsweep.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/issue-triage-agent.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/issue-monster.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/gpclean.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/glossary-maintainer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/github-remote-mcp-auth-test.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/functional-pragmatist.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/firewall-escape.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/draft-pr-cleanup.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/docs-noob-tester.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/discussion-task-miner.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/dictation-prompt.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/dev.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/dev-hawk.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/dependabot-go-checker.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/dependabot-burner.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/delight.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/dead-code-remover.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-workflow-updater.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-team-status.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-semgrep-scan.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-secrets-analysis.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-repo-chronicle.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-regulatory.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-performance-summary.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-news.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-malicious-code-scan.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-issues-report.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-integrity-analysis.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-firewall-report.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-cli-tools-tester.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-cli-performance.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-assign-issue-to-user.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/daily-architecture-diagram.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/craft.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/copilot-token-optimizer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/copilot-token-audit.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/copilot-pr-merged-report.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/copilot-cli-deep-research.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/contribution-check.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/constraint-solving-potd.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/code-simplifier.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/code-scanning-fixer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/cli-consistency-checker.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/ci-coach.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/breaking-change-checker.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/brave.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/bot-detection.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/auto-triage-issues.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/artifacts-summary.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/architecture-guardian.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/archie.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/agentic-observability-kit.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/agent-persona-explorer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.
.github/workflows/agent-performance-analyzer.lock.yml Updates compiled Copilot CLI invocation to include --no-ask-user.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 121/121 changed files
  • Comments generated: 0

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions bot removed the smoke label Apr 10, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready.

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 77/100

⚠️ Acceptable — minor improvement suggested

Metric Value
New/modified tests analyzed 3
✅ Design tests (behavioral contracts) 2 (66.7%)
⚠️ Implementation tests (low value) 1 (33.3%)
Tests with error/edge cases 3 (100%)
Duplicate test clusters 0
Test inflation detected ⚠️ Yes (167 test lines / 45 production lines = 3.7:1)
🚨 Coding-guideline violations 0

Test Classification Details

Test File Classification Notes
TestCopilotEngineExecutionSteps (modified) pkg/workflow/copilot_engine_test.go:162 ✅ Design Adds negative assertion: detection jobs must NOT emit --no-ask-user
TestCopilotEngineNoAskUser pkg/workflow/copilot_engine_test.go:1540 ✅ Design 8 table-driven sub-cases; tests end-to-end GetExecutionSteps() output
TestCopilotSupportsNoAskUser pkg/workflow/copilot_engine_test.go:1637 ⚠️ Implementation 10 table-driven sub-cases; directly exercises unexported copilotSupportsNoAskUser() helper

Flagged Tests — Requires Review

⚠️ TestCopilotSupportsNoAskUser (pkg/workflow/copilot_engine_test.go:1637)

Classification: Implementation test (borderline)

Issue: This test directly calls the unexported internal helper copilotSupportsNoAskUser() rather than observing the system's output through its public API (GetExecutionSteps()). Strictly speaking it tests how the version gate is implemented, not what the system does.

What design invariant does this test enforce? Version parsing correctness of an internal helper — not a user-observable behavioral contract.

What would break if deleted? The behavioral test TestCopilotEngineNoAskUser already covers the core version cases (default, latest, 1.0.19, 1.0.20, 1.0.18, 1.0.0, detection job). Deleting TestCopilotSupportsNoAskUser would leave untested edge cases: LATEST uppercase, v1.0.19 (v-prefix), empty version string, and non-semver branch names like "main".

Suggested improvement: Move the unique edge cases — LATEST uppercase, v-prefix, empty version, non-semver string — into TestCopilotEngineNoAskUser as additional table rows (they're all compatible with the existing workflowData setup). This would make the behavioral test comprehensive while eliminating the implementation-level helper test. Example row to add:

{
    name:         "LATEST uppercase emits --no-ask-user for agent job",
    engineConfig: &EngineConfig{Version: "LATEST"},
    safeOutputs:  &SafeOutputsConfig{},
    expectNoAsk:  true,
    description:  "LATEST is case-insensitive alias for latest",
},
{
    name:         "v-prefixed version v1.0.19 emits --no-ask-user",
    engineConfig: &EngineConfig{Version: "v1.0.19"},
    safeOutputs:  &SafeOutputsConfig{},
    expectNoAsk:  true,
    description:  "v-prefix should be stripped during comparison",
},
{
    name:         "non-semver branch name does not emit --no-ask-user",
    engineConfig: &EngineConfig{Version: "main"},
    safeOutputs:  &SafeOutputsConfig{},
    expectNoAsk:  false,
    description:  "conservative: non-semver treated as unsupported",
},

Then TestCopilotSupportsNoAskUser can be removed entirely since TestCopilotEngineNoAskUser will exercise the same logic end-to-end.


Positive Notes

  • 🎯 TestCopilotEngineNoAskUser is exemplary: 8 well-named table rows covering both positive (flag present) and negative (flag absent) cases, detection job isolation, and boundary versions (1.0.18 vs 1.0.19). The description field in each row doubles as inline documentation.
  • ✅ All assertions include context messages (t.Errorf("%s: expected ...", tt.description, ...)) — guideline compliant.
  • ✅ No mock libraries used — tests exercise real component interactions.
  • ✅ Build tag //go:build !integration present on line 1 of the test file.

Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 3 test functions — unit (//go:build !integration)
  • 🟨 JavaScript (*.test.cjs, *.test.js): 0 tests (no JS test files changed)

Verdict

Check failed. 33.3% of new/modified tests are classified as low-value implementation tests (threshold: 30%). The failure is borderline — TestCopilotSupportsNoAskUser is a high-quality test that covers genuine edge cases, but it directly exercises an unexported helper rather than observable behavior. Consolidating its unique edge cases into TestCopilotEngineNoAskUser would bring implementation-test ratio to 0% and remove the failing condition.


📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls or unexported helpers
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

🧪 Test quality analysis by Test Quality Sentinel · ● 636.1K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Test Quality Sentinel: 77/100. 33.3% of new tests are classified as low-value implementation tests, just exceeding the 30% threshold. TestCopilotSupportsNoAskUser tests an unexported helper directly rather than observable behavior — its unique edge cases (LATEST uppercase, v-prefix, non-semver) should be folded into the existing behavioral test TestCopilotEngineNoAskUser as additional table rows, then the helper test removed. See the comment above for specific suggested rows. The overall test quality is high; this is a minor restructuring to align with the project's behavioral-contract testing philosophy.

@github-actions
Copy link
Copy Markdown
Contributor

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq 4.52.5
curl 8.5.0
gh 2.89.0
node 20.20.2
python3 3.12.3
go 1.24.13
java 21.0.10 (OpenJDK Temurin)
dotnet 10.0.201

Result: 12/12 tools available ✅

Overall Status: PASS

🔧 Tool validation by Agent Container Smoke Test · ● 240.5K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review - all systems nominal! (Run 24242990842)

💥 [THE END] — Illustrated by Smoke Claude · ● 250.8K

# shellcheck disable=SC1003
sudo -E awf --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --allow-domains api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --audit-dir /tmp/gh-aw/sandbox/firewall/audit --enable-host-access --image-tag 0.25.18 --skip-pull --enable-api-proxy \
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Smoke test review comment #1 (Run 24242990842): The --no-ask-user flag addition looks correct here — this enables autonomous operation for the agent, consistent with the PR's stated goal of suppressing interactive prompts in agentic runs.

# shellcheck disable=SC1003
sudo -E awf --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --allow-domains api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --audit-dir /tmp/gh-aw/sandbox/firewall/audit --enable-host-access --image-tag 0.25.18 --skip-pull --enable-api-proxy \
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --allow-all-tools --add-dir /tmp/gh-aw/cache-memory/ --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --add-dir /tmp/gh-aw/cache-memory/ --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Smoke test review comment #2 (Run 24242990842): Consistent --no-ask-user flag applied here too. The version-gate logic in copilot_engine_execution.go ensures this only emits for Copilot CLI >= 1.0.19, which is a safe approach.

@github-actions
Copy link
Copy Markdown
Contributor

Smoke test run 24243208379
PRs: #25630 [dead-code] chore: remove dead functions — 5 functions removed; #25623 Pin copilot to v1.0.20
GitHub MCP ✅
Serena MCP ❌
Playwright ✅
Web Fetch ❌
File write ✅
Bash cat ✅
Build ✅
Overall: FAIL

🔮 The oracle has spoken through Smoke Codex ·

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Smoke test results for run §24243208396:\n\n| Test | Status |\n|------|--------|\n| GitHub MCP | ✅ |\n| MCP Scripts GH CLI | ✅ |\n| Serena MCP | ❌ |\n| Playwright | ✅ |\n| Web Fetch | ✅ |\n| File Writing | ✅ |\n| Bash Tool | ✅ |\n| Discussion Interaction | ✅ |\n| Build gh-aw | ✅ |\n| Upload artifact | ✅ |\n| Discussion Creation | ✅ |\n| Workflow Dispatch | ✅ |\n| PR Review | ✅ |\n\nOverall: ⚠️ PARTIAL PASS (12/13)\nAuthor: @pelikhan | Assignees: @pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot · ● 1.6M ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smoke test code review: PR adds --no-ask-user flag to Copilot engine for fully autonomous agentic runs. Version gating logic is clean and follows established patterns. 187 lock files recompiled. LGTM overall.

📰 BREAKING: Report filed by Smoke Copilot · ● 1.6M

// CopilotNoAskUserMinVersion is the minimum Copilot CLI version that supports the --no-ask-user
// flag, which enables fully autonomous agentic runs by suppressing interactive prompts.
// Workflows using an older Copilot CLI version must not emit --no-ask-user or the run will fail.
const CopilotNoAskUserMinVersion Version = "1.0.19"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Consider adding a comment linking this constant to the GitHub release notes for Copilot CLI v1.0.19 so future maintainers can trace the origin of this version boundary.

isDetectionJob := workflowData.SafeOutputs == nil
if !isDetectionJob && copilotSupportsNoAskUser(workflowData.EngineConfig) {
copilotExecLog.Print("Adding --no-ask-user for fully autonomous agentic run")
copilotArgs = append(copilotArgs, "--no-ask-user")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Clean version-gated flag injection. The copilotSupportsNoAskUser check ensures backward compatibility with older pinned Copilot CLI versions — good defensive pattern consistent with how awfSupportsCliProxy is handled.

@github-actions
Copy link
Copy Markdown
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Copy Markdown
Contributor

Commit pushed: 55f06c7

Generated by Changeset Generator

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

@github-actions
Copy link
Copy Markdown
Contributor

Smoke Test Run 24243208388 — PARTIAL ✅

Test Result
1 GitHub MCP
4 Make Build
7 File Write
10 AW MCP
13 Update PR
16 Resolve Thread
19 Close PR ⚠️ skipped

Overall: PARTIAL — Serena find_symbol unreliable (1/3 returned < 3 symbols); Tavily MCP unavailable (used WebSearch); no safe PR to close.

💥 [THE END] — Illustrated by Smoke Claude · ● 233.1K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review - all systems nominal! (Run 24243208388)

💥 [THE END] — Illustrated by Smoke Claude · ● 233.1K

# shellcheck disable=SC1003
sudo -E awf --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --allow-domains api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --audit-dir /tmp/gh-aw/sandbox/firewall/audit --enable-host-access --image-tag 0.25.18 --skip-pull --enable-api-proxy \
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Smoke test review comment #1 (Run 24243208388): The --no-ask-user flag correctly enables fully autonomous operation for this workflow. Consistent with the PR goal of suppressing interactive prompts.

# shellcheck disable=SC1003
sudo -E awf --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --allow-domains api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --audit-dir /tmp/gh-aw/sandbox/firewall/audit --enable-host-access --image-tag 0.25.18 --skip-pull --enable-api-proxy \
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
-- /bin/bash -c 'node ${RUNNER_TEMP}/gh-aw/actions/copilot_driver.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt "$(cat /tmp/gh-aw/aw-prompts/prompt.txt)"' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Smoke test review comment #2 (Run 24243208388): --no-ask-user flag applied uniformly across all copilot engine invocations. Good consistency throughout the PR changes.

…t-agentic-engine

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 10, 2026

@copilot merge main and recompile

Done — merged main and recompiled all 187 workflows (c7f3e50).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw -embedcfg /tmp/go-build363650382/b063/embedcfg -pack (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw SU1GRBv/QT1kZqN5rev-parse (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 10, 2026

@copilot merge main and recompile

Already done in c7f3e50 — the branch is up to date with main (latest main commit c144ee3 is already included).

@github-actions
Copy link
Copy Markdown
Contributor

🟢 Contribution Check — Aligned

Hey @Copilot 👋 — great work on adding the --no-ask-user flag to the Copilot agentic engine! This is a clean, well-scoped change that enables fully autonomous runs through the version-gating pattern already established in the codebase.

This PR looks ready for maintainer review. 🎉

Check Result
On-topic ✅ yes
Follows process ✅ yes (Copilot agent PR, core team pattern)
Focused ✅ yes
New dependencies ✅ no
Has tests ✅ yes (TestCopilotEngineNoAskUser, TestCopilotSupportsNoAskUser)
Has description ✅ yes
Lines changed 454 (+335 / −119)
Quality signal lgtm

Generated by Contribution Check · ● 3.2M ·

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants