From 4801a4ba028caca24d7336c07cdc033a61b3c6a2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 08:59:17 +0000 Subject: [PATCH 01/12] [instructions] Sync instruction files with release v0.86.2 - Remove duplicated compliance-review example from github-agentic-workflows.md (now cross-references create-agentic-workflow-trigger-details.md), bringing the compact entry point back under its 200-line target - Document sandbox.agent.runtime: cloud-hypervisor (preview) in agent-runtime-instructions.md - Document mcp-servers required: false (optional startup connectivity check) in syntax-tools-imports.md - Add enclaves.md documenting the new top-level enclaves: private-repository access feature (preview) --- .github/aw/agent-runtime-instructions.md | 12 +++++- .github/aw/enclaves.md | 50 ++++++++++++++++++++++++ .github/aw/github-agentic-workflows.md | 39 ++---------------- .github/aw/syntax-tools-imports.md | 2 + 4 files changed, 65 insertions(+), 38 deletions(-) create mode 100644 .github/aw/enclaves.md diff --git a/.github/aw/agent-runtime-instructions.md b/.github/aw/agent-runtime-instructions.md index 9482ae32f69..117e3ec5b07 100644 --- a/.github/aw/agent-runtime-instructions.md +++ b/.github/aw/agent-runtime-instructions.md @@ -5,22 +5,24 @@ disable-model-invocation: true # Agent Runtime Instructions -Use these instructions when creating or updating workflows that mention Docker, gVisor, Docker sbx, ARC DinD, self-hosted runners, or `sandbox.agent.runtime-install`. +Use these instructions when creating or updating workflows that mention Docker, gVisor, Docker sbx, Cloud Hypervisor, ARC DinD, self-hosted runners, or `sandbox.agent.runtime-install`. ## Runtime fields - Omit `sandbox.agent.runtime` for the default Docker agent runtime. - Set `sandbox.agent.runtime: gvisor` only when the runner has a local Docker daemon and can install or already has `runsc`. - Set `sandbox.agent.runtime: docker-sbx` only when the runner supports KVM-backed microVMs. +- Set `sandbox.agent.runtime: cloud-hypervisor` only for the preview microVM runtime on a GitHub-hosted Ubuntu x86_64 runner with `/dev/kvm`; prefer `docker-sbx` or `gvisor` when those host constraints are not guaranteed. - Do not set `sandbox.agent.runtime: docker`; Docker is selected by omitting the field. - Do not set `sandbox.agent.runtime: sbx`; `sbx` is only a bounded-query runtime name. - Set `runner.topology: arc-dind` for ARC or equivalent Kubernetes runners that use a Docker-in-Docker sidecar. This is a runner topology, not an agent runtime. ## Compatibility -- Do not combine `runner.topology: arc-dind` with `sandbox.agent.runtime: gvisor` or `sandbox.agent.runtime: docker-sbx`. +- Do not combine `runner.topology: arc-dind` with `sandbox.agent.runtime: gvisor`, `sandbox.agent.runtime: docker-sbx`, or `sandbox.agent.runtime: cloud-hypervisor`. - ARC DinD workflows must be rootless: do not add `sudo`, `apt-get install`, or other host package bootstrap steps. - Docker sbx requires KVM and normally does not work on ARC DinD because the sbx daemon must run on the runner host. +- Cloud Hypervisor requires `RUNNER_ENVIRONMENT=github-hosted`, Ubuntu Linux x86_64, and `/dev/kvm`; it is not supported on self-hosted or ARC DinD runners. ## `runtime-install` @@ -43,6 +45,12 @@ Use these instructions when creating or updating workflows that mention Docker, - `DOCKER_USERNAME` and `DOCKER_PAT` remain required even with `runtime-install: false`, because compiled workflows refresh sbx credentials immediately before agent execution. - Do not use Docker sbx for workflows triggered from untrusted forks unless the trigger and credential model safely provide those secrets. +## Cloud Hypervisor guidance (preview) + +- Preview scope is narrow: GitHub-hosted runners only, Ubuntu Linux x86_64 only, and `/dev/kvm` must be present. +- The compiler emits host preflight and release-asset provisioning steps that download and checksum-verify the pinned Cloud Hypervisor binary, kernel, rootfs, and supervisor from the `gh-aw-firewall` release before AWF starts. +- Do not recommend this runtime for self-hosted, non-Ubuntu, or non-x86_64 runners; use `docker-sbx` or `gvisor` instead. + ## ARC DinD guidance - Use `runner.topology: arc-dind` when `DOCKER_HOST` points to a DinD sidecar such as `tcp://localhost:2375` or `tcp://dind:2375`. diff --git a/.github/aw/enclaves.md b/.github/aw/enclaves.md new file mode 100644 index 00000000000..d308f90e808 --- /dev/null +++ b/.github/aw/enclaves.md @@ -0,0 +1,50 @@ +--- +description: Private-repository enclaves (preview) — finite-disclosure access to approved private repos via the MCP gateway. +--- + +# Private Repository Enclaves + +Use these instructions when a workflow needs bounded, auditable access to a private repository other than the one the workflow runs in. + +## What it is + +- The top-level `enclaves:` array (1-2 entries) enables finite-disclosure access to approved private repositories through the compiler-launched MCP gateway. +- Each entry is either a **script enclave** (`script:` + `repos:`) registering `enclave_run_script`, or an **agent enclave** (`agent:` + `repos:`) registering `enclave_run_agent`. +- Omit `enclaves:` entirely to disable the feature — this is the default. +- This is a preview feature gated on `github/gh-aw-firewall#6992`; an older pinned AWF version will not provide the enclave server. + +## Prerequisites + +- Enclaves require AWF network isolation. Set `sandbox.agent.sudo: false` (or use the `docker-sbx` runtime) so the compiler launches the MCP gateway in bridge mode and AWF can attach it to the isolated topology. +- Each `repos:` entry needs `repo:` (`owner/name`) and `sensitivity:` (`public`, `internal`, `confidential`, or `sealed`). + +## Example + +```yaml +sandbox: + agent: + id: awf + sudo: false +enclaves: + - script: + repos: + - repo: octo-org/private-service + sensitivity: confidential + timeout: 45 + - agent: + model: gpt-5 + repos: + - repo: octo-org/private-service + sensitivity: confidential + timeout: 180 +``` + +## Rules + +- Each enclave type (`script`, `agent`) can appear at most once. +- If the same repository appears in both entries, its `sensitivity` must match — the information budget is shared across executor types. +- AWF fixes the script enclave's network and interpreter, and the agent enclave's network, internally; do not attempt to override these in workflow frontmatter. +- A fresh masked capability is generated per workflow run and passed only to the MCP gateway and AWF, never to the primary agent environment. +- `timeout:` per enclave entry is capped at 540 seconds (AWF reserves the final 60 seconds of its 600-second finite-disclosure bucket for cleanup). The gateway itself enforces a 630-second tool timeout (600s AWF bucket + 30s transport allowance) — treat this as an enforcement bound, not a wall-clock guarantee. + +See also: [agent-runtime-instructions.md](agent-runtime-instructions.md) for `sandbox.agent` fields, and [network.md](network.md) for network isolation defaults. diff --git a/.github/aw/github-agentic-workflows.md b/.github/aw/github-agentic-workflows.md index 9d2990d2f37..ab54b707166 100644 --- a/.github/aw/github-agentic-workflows.md +++ b/.github/aw/github-agentic-workflows.md @@ -132,41 +132,7 @@ When a PR analysis requires verifying or attaching a linked artifact (design doc Permissions: `pull-requests: read` only; all writes route through `add-comment` safe output. -### Compliance Example: Manifest-Path Scoping with License-Evidence Validation - -Concise pattern for a dependency-license/policy review workflow (see [Compliance review guidance](create-agentic-workflow-trigger-details.md#compliance-review-guidance) for the full decision table): - -```yaml -on: - pull_request: - paths: - - "package.json" - - "package-lock.json" - - "go.mod" - - "requirements.txt" - - "Cargo.toml" - - "pyproject.toml" - - "composer.json" -permissions: - contents: read - pull-requests: read -tools: - github: - mode: gh-proxy - toolsets: [default] -safe-outputs: - add-comment: - create-issue: - labels: [license-violation] -``` - -Prompt guidance: - -1. **Scope**: only inspect dependency manifest/lockfile diffs in this PR; `noop` immediately if none changed. -2. **Evidence, not assumption**: for each newly added or upgraded dependency, look up its declared license from the manifest/lockfile metadata or the package registry — never guess a license from the package name. -3. **Classify by tier**: allowed / needs-review / blocked, per the project's configured policy. -4. **Report per-tier findings** with `add-comment`, citing the dependency name, version, and the license evidence source (registry field, `LICENSE` file, or SPDX identifier). -5. **Escalate** to `create-issue` only for a blocked-tier dependency, after searching for an existing open issue with the same `license-violation::` key. +For the full dependency-license/compliance review pattern (paths scoping, license-tier classification, escalation table), see [Compliance review guidance](create-agentic-workflow-trigger-details.md#compliance-review-guidance). ## Reference Files @@ -180,7 +146,8 @@ Prompt guidance: | Trigger patterns | [triggers.md](triggers.md) | | Context expressions and `{{#if}}` templates | [context.md](context.md) | | Declarative engine configuration | [configure-agentic-engine.md](configure-agentic-engine.md) | -| Agent runtime selection (Docker, gVisor, Docker sbx, ARC DinD) | [agent-runtime-instructions.md](agent-runtime-instructions.md) | +| Agent runtime selection (Docker, gVisor, Docker sbx, Cloud Hypervisor, ARC DinD) | [agent-runtime-instructions.md](agent-runtime-instructions.md) | +| Private-repository enclaves (preview) | [enclaves.md](enclaves.md) | | CLI commands and MCP equivalents | [cli-commands.md](cli-commands.md) | | Network configuration | [network.md](network.md) | | Memory and persistence | [memory.md](memory.md) | diff --git a/.github/aw/syntax-tools-imports.md b/.github/aw/syntax-tools-imports.md index d7a8d78a008..755bb49fa11 100644 --- a/.github/aw/syntax-tools-imports.md +++ b/.github/aw/syntax-tools-imports.md @@ -171,6 +171,8 @@ mcp-servers: `auth.type: github-oidc` uses GitHub Actions OIDC tokens for secure server-to-server authentication without static credentials. The `audience` field defaults to the server URL when omitted. +- `required:` - Whether a stdio or HTTP MCP server must pass its startup connectivity check (boolean, default: `true`). Set `false` for an optional server so a failed startup check only logs a warning and the workflow continues without it, instead of failing the run. + ### Engine Network Permissions Control network access via the top-level `network:` field (defaults to `network: defaults` — basic infrastructure only). For workflows that build, test, or install packages, always add the language ecosystem alongside `defaults`: From e911bd5a0e0bfa6f8c30266f9b26b094d3c617c7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 10:10:52 +0000 Subject: [PATCH 02/12] chore: sync agentic workflow fallback files Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + pkg/cli/data/agentic_workflows_fallback_aw_files.json | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 742a125b032..d0c9af823a8 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,6 +34,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` +- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` diff --git a/pkg/cli/data/agentic_workflows_fallback_aw_files.json b/pkg/cli/data/agentic_workflows_fallback_aw_files.json index ef0f0e3b030..544028cc3e9 100644 --- a/pkg/cli/data/agentic_workflows_fallback_aw_files.json +++ b/pkg/cli/data/agentic_workflows_fallback_aw_files.json @@ -18,6 +18,7 @@ "deployment-status.md", "designer-mappings.md", "designer.md", + "enclaves.md", "evals.md", "experiments.md", "github-agentic-workflows.md", From f3e75cb41d648514cce4c200ff283be6b59557e3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 10:52:44 +0000 Subject: [PATCH 03/12] chore: recheck PR readiness Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index d0c9af823a8..742a125b032 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,7 +34,6 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` -- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From fc1bb371bc56721520e45bca9d4444863adec536 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 11:06:13 +0000 Subject: [PATCH 04/12] fix: restore enclaves skill inventory Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 742a125b032..d0c9af823a8 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,6 +34,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` +- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From dbdc767ead65d1aa22e7d573de84c4fb6fe7dc42 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:35:21 +0000 Subject: [PATCH 05/12] Inspect PR merge readiness Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index d0c9af823a8..742a125b032 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,7 +34,6 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` -- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From dc6c879be3d036230f005952f20da21e22f16d68 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:53:14 +0000 Subject: [PATCH 06/12] fix: restore enclaves skill inventory Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 742a125b032..d0c9af823a8 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,6 +34,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` +- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From a4ce9da35d206528d69fcfb6c799a00b4ec8def9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 15:57:45 +0000 Subject: [PATCH 07/12] Inspect latest PR readiness Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index d0c9af823a8..742a125b032 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,7 +34,6 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` -- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From 379bbd28007e0e2071b5bdea67f0640bb619ba39 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 16:10:24 +0000 Subject: [PATCH 08/12] fix: restore enclaves skill inventory Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 742a125b032..d0c9af823a8 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,6 +34,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` +- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From 42b65e9b21f1dd00800a05bfcb01a6ef74869048 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 16:22:05 +0000 Subject: [PATCH 09/12] chore: begin PR finishing pass Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index d0c9af823a8..742a125b032 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,7 +34,6 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` -- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From 7e7427aa8adbb381dd4e98f942b7368b49c87eb2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 16:35:34 +0000 Subject: [PATCH 10/12] fix: restore enclaves skill inventory Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 742a125b032..d0c9af823a8 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,6 +34,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` +- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From 173536afa5df96d724131b2d51c70f5147982346 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 17:28:10 +0000 Subject: [PATCH 11/12] chore: inspect latest PR readiness Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index d0c9af823a8..742a125b032 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,7 +34,6 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` -- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md` From 22fdcb67e8d67c75ff4d767211bf7175a915ad73 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 17:40:45 +0000 Subject: [PATCH 12/12] fix: restore enclaves skill inventory Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com> --- .github/skills/agentic-workflows/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/skills/agentic-workflows/SKILL.md b/.github/skills/agentic-workflows/SKILL.md index 742a125b032..d0c9af823a8 100644 --- a/.github/skills/agentic-workflows/SKILL.md +++ b/.github/skills/agentic-workflows/SKILL.md @@ -34,6 +34,7 @@ Load these files from `github/gh-aw` (they are not available locally). - `.github/aw/deployment-status.md` - `.github/aw/designer-mappings.md` - `.github/aw/designer.md` +- `.github/aw/enclaves.md` - `.github/aw/evals.md` - `.github/aw/experiments.md` - `.github/aw/github-agentic-workflows.md`