Skip to content

Make engine domain sets explicit opt-in - #56447

Merged
pelikhan merged 5 commits into
mainfrom
copilot/update-compiler-domain-set-handling
Aug 28, 2026
Merged

Make engine domain sets explicit opt-in#56447
pelikhan merged 5 commits into
mainfrom
copilot/update-compiler-domain-set-handling

Conversation

Copilot AI commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Agent engine domain sets were being added to firewall allow-lists automatically, even though agent traffic runs behind the API proxy firewall. Workflows should reference engine domain sets explicitly in frontmatter, like any other domain set.

  • Compiler behavior

    • Stop automatically merging agent engine domain sets into normal workflow allow-lists.
    • Keep engine/model validation behavior intact.
    • Preserve special-case threat-detection domain handling.
  • Domain set resolution

    • Allow engine domain sets such as copilot, claude, and codex to resolve from network.allowed.
    • Apply explicit engine domain sets consistently across firewall and safe-output sanitization paths.
  • Docs and generated outputs

    • Update schema/help/reference docs to describe explicit opt-in behavior.
    • Refresh generated workflow locks and WASM golden output for the new compiler behavior.

Example:

network:
  allowed:
    - github
    - copilot

copilot is now included only when listed explicitly.



✨ PR Review Safe Output Test - Run 33138018885

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • clients2.google.com
  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "clients2.google.com"
    - "mtalk.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · 66.7 AIC · ⌖ 18 AIC · ⊞ 7.2K ·
Comment /smoke-claude to run again

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan

Copy link
Copy Markdown
Collaborator

@copilot fix GO / impacted-go-tests (pull_request)Failing after 1m
CGO / Unit tests (A-C) (pull_request)
CGO / Unit tests (A-C) (pull_request)Failing after 2m
CGO / Unit tests (H-M) (pull_request)
CGO / Unit tests (H-M) (pull_request)Failing after 2m

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

@copilot fix GO / impacted-go-tests (pull_request)Failing after 1m
[CGO / Unit tests (A-C) (pull_request)](https:/...

Fixed in eda6bbf. I updated the stale CLI test expectations for the explicit engine domain opt-in behavior and reran go test ./pkg/cli -count=1 plus final validation (make agent-report-progress).

@pelikhan
pelikhan marked this pull request as ready for review August 28, 2026 02:30
Copilot AI balanced review requested due to automatic review settings August 28, 2026 02:30
@pelikhan

Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts on this branch.

Copilot AI left a comment

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.

Pull request overview

Makes built-in engine domain sets explicit network.allowed opt-ins while preserving validation and threat-detection handling.

Changes:

  • Removes automatic engine-domain merging and enables named set expansion.
  • Aligns tests, schema, CLI help, and reference documentation.
  • Regenerates affected workflow locks and WASM output.
Show a summary per file
File Description
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden Updates WASM output.
pkg/workflow/mcp_scripts_firewall_test.go Adds explicit Copilot opt-in.
pkg/workflow/http_mcp_domains_test.go Updates engine-domain tests.
pkg/workflow/firewall_workflow_test.go Opts Claude test into its set.
pkg/workflow/firewall_args_test.go Opts firewall tests into Copilot.
pkg/workflow/domains.go Implements explicit domain-set resolution.
pkg/workflow/domains_test.go Tests opt-in behavior.
pkg/workflow/domains_protocol_test.go Updates protocol-domain fixtures.
pkg/workflow/compiler_cache_regression_test.go Updates cache fixtures.
pkg/workflow/compiler_activation_steps_test.go Updates activation-domain fixture.
pkg/workflow/codex_engine.go Uses explicit Codex domain resolution and refactors helpers.
pkg/workflow/codex_engine_test.go Removes automatic-domain expectation.
pkg/parser/schemas/main_workflow_schema.json Updates safe-output domain help.
pkg/cli/domains_command.go Updates CLI domain terminology.
pkg/cli/domains_command_test.go Tests empty implicit engine domains.
pkg/cli/cli_consistency_help_test.go Updates CLI help assertion.
docs/src/content/docs/reference/network.md Documents engine domain sets.
docs/src/content/docs/reference/frontmatter-full.md Updates frontmatter reference.
docs/adr/55461-centralize-engine-default-domain-sets.md Records superseded automatic injection.
.github/workflows/weekly-network-domains-audit.lock.yml Regenerates domain allow-lists.
.github/workflows/video-analyzer.lock.yml Regenerates domain allow-lists.
.github/workflows/terminal-stylist.lock.yml Regenerates domain allow-lists.
.github/workflows/smoke-pydantic.lock.yml Aligns sanitization with Python runtime domains.
.github/workflows/smoke-copilot-auto.lock.yml Removes implicit engine domains.
.github/workflows/smoke-ci.lock.yml Removes implicit engine domains.
.github/workflows/smoke-aider.lock.yml Aligns Python sanitization domains.
.github/workflows/notion-issue-summary.lock.yml Removes implicit engine domains.
.github/workflows/metrics-collector.lock.yml Removes implicit engine domains.
.github/workflows/example-permissions-warning.lock.yml Removes implicit engine domains.
.github/workflows/daily-max-ai-credits-test.lock.yml Removes implicit allow-list output.
.github/workflows/daily-go-test-stubs-aider.lock.yml Adds runtime-derived Python domains.
.github/workflows/daily-credit-limit-test.lock.yml Removes implicit allow-list output.
.github/workflows/daily-code-debt-aider.lock.yml Adds runtime-derived Python domains.
.github/workflows/codex-github-remote-mcp-test.lock.yml Removes implicit Codex domains.
.github/aw/network.md Updates internal network guidance.

Review details

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Suppressed comments (1)

.github/aw/network.md:103

  • This new explicit-opt-in guidance conflicts with .github/aw/workflow-constraints.md:74, which still tells workflow authors that defaults supplies core Copilot endpoints. After this change that advice omits the required copilot set and can generate workflows with blocked direct transport; update the shared constraint guidance as part of this documentation migration.
  • Files reviewed: 27/303 changed files
  • Comments generated: 1
  • Review effort level: Balanced

Comment thread .github/aw/network.md
Comment on lines +100 to +101
and direct provider transport. They are **not** added automatically. Add the
matching identifier to `network.allowed` only when the agent needs direct
…er-domain-set-handling

# Conflicts:
#	.github/workflows/design-decision-gate.lock.yml

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

@copilot resolve the merge conflicts on this branch.

Resolved in ee852f170a. I merged origin/main, regenerated the conflicted workflow lock, and validated with go test ./pkg/cli ./pkg/workflow -count=1 plus make agent-report-progress.

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot Auto completed successfully!

Generated by Smoke Copilot Auto for #56447

@github-actions github-actions Bot removed the smoke label Aug 28, 2026
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

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

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

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

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • clients2.google.com
  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "clients2.google.com"
    - "mtalk.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

❌ Tool validation failed! Agent Container Smoke Test detected missing tools: failed to deliver outputs

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

🔧 Tool validation by Agent Container Smoke Test

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot MAI completed successfully!

Generated by Smoke Copilot MAI

@github-actions
github-actions Bot deployed to aoai-model August 28, 2026 03:09 Active
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

⚠️ Smoke Gemini failed. Gemini encountered unexpected challenges...

Warning

Threat Detection Engine Failure — The analysis engine could not complete. This is a tooling failure, not a security finding.

What happened

The threat detection engine failed to produce results.

Review the workflow run logs for details.

Smoke Gemini — Powered by Gemini

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

⚠️ Smoke Pi failed to deliver outputs. Pi encountered unexpected challenges...

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "proxy.golang.org"

See Network Configuration for more information.

🥧 Smoke Pi — Powered by Pi

@github-actions

Copy link
Copy Markdown
Contributor

Gates once shut behind
proxy firewalls swing open—
call the domain's name

Caption: Inspired by the PR's shift from auto-merged engine domain sets to explicit, name-your-own opt-in domains in the firewall allow-list.

Generated by 🌸 Smoke Copilot Auto for #56447 · copilot · auto · 9.6 AIC · ⌖ 4.78 AIC · ⊞ 6.5K ·
Add label smoke to run again

@github-actions

Copy link
Copy Markdown
Contributor

Smoke test summary: workflow/security hardening, docs updates, and multiple bug fixes landed in the last 24h.
Overall status: PASS
Bash tool test: ✅
Run: https://github.com/github/gh-aw/actions/runs/33138085041

Generated by ⚡ Smoke Copilot MAI · copilot · mai10 · 3.11 AIC · ⌖ 1.17 AIC · ⊞ 19.5K ·
Comment /smoke-copilot-mai to run again
Add label smoke to run again

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Test Results — Run 33138018885

# Test Status
1 GitHub MCP (merged PRs)
2 GH CLI (gh pr list)
3 Make Build
4 Playwright (github.com title)
5 Tavily Web Search
6 File Writing
7 Bash Tool (cat verify)
8 Discussion Interaction (#335)
9 Agentic Workflows MCP
10 Slack Safe Output
11 Code Scanning Alert
12 Check Run
13 Update PR Body
14 PR Review Comments (2×)
15 Submit PR Review
16 Resolve Review Thread ⚠️ GraphQL returned null
17 Add Reviewer
18 Push to PR Branch ❌ allowed-files policy blocked
19 Close PR ⚠️ Skipped

Overall: PARTIAL — 15 ✅, 1 ❌, 3 ⚠️

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • clients2.google.com
  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "clients2.google.com"
    - "mtalk.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · 66.7 AIC · ⌖ 18 AIC · ⊞ 7.2K ·
Comment /smoke-claude to run again

@github-actions github-actions Bot left a comment

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.

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

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • clients2.google.com
  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "clients2.google.com"
    - "mtalk.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · 66.7 AIC · ⌖ 18 AIC · ⊞ 7.2K
Comment /smoke-claude to run again

Comment thread .github/aw/network.md
| `python-native` | Python native build deps | Native toolchain mirrors for building Python packages from source |
| `copilot-vendor` | Copilot plan-specific APIs / telemetry | `api.business.githubcopilot.com`, `api.enterprise.githubcopilot.com`, `api.individual.githubcopilot.com`, `telemetry.enterprise.githubcopilot.com` |
| `copilot` | Copilot engine transport | `api.githubcopilot.com`, GitHub API/web, `host.docker.internal`, `raw.githubusercontent.com` |
| `claude` | Claude engine transport | Anthropic APIs, GitHub transport, certificate/OCSP services, Ubuntu package metadata, Playwright downloads |

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 — The domain set additions look comprehensive. Consider adding a comment explaining the purpose of explicit opt-in for engine domain sets to help future contributors understand the design decision. (Run 33138018885)

@@ -870,7 +870,7 @@ jobs:
export GH_AW_NODE_BIN
(umask 177 && touch /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 — The domain allow-list update in the lock file reflects the new explicit opt-in approach. Confirm that the compiled output matches the source .github/aw/network.md intent. (Run 33138018885)

@pelikhan
pelikhan merged commit c96bd1a into main Aug 28, 2026
322 of 330 checks passed
@pelikhan
pelikhan deleted the copilot/update-compiler-domain-set-handling branch August 28, 2026 03:32
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