feat: support sbx bounded-query runtime - #49247
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds experimental sbx support for bounded-query execution while keeping it independent from the primary agent sandbox.
Changes:
- Extends parsing, validation, schemas, and AWF configuration with
sbx. - Adds runtime-matrix, version-gate, merge, and compilation tests.
- Documents capability gating, fail-closed behavior, and lack of fallback.
Show a summary per file
| File | Description |
|---|---|
pkg/workflow/tools_types.go |
Defines bounded-query runtime constants. |
pkg/workflow/tools_parser.go |
Parses the runtime type. |
pkg/workflow/schemas/awf-config.schema.json |
Adds sbx to the AWF contract. |
pkg/workflow/sandbox_validation.go |
Validates sbx and updates diagnostics. |
pkg/workflow/compiler_validators.go |
Emits the experimental-runtime warning. |
pkg/workflow/bounded_queries_test.go |
Updates parsing and JSON tests. |
pkg/workflow/bounded_queries_runtime_test.go |
Adds runtime matrix and compilation tests. |
pkg/workflow/awf_config.go |
Emits the typed runtime verbatim. |
pkg/parser/schemas/main_workflow_schema.json |
Adds frontmatter schema support. |
pkg/parser/frontmatter_merge_test.go |
Tests imported runtime merging. |
docs/src/content/docs/reference/frontmatter-full.md |
Regenerates frontmatter reference documentation. |
docs/public/editor/autocomplete-data.json |
Adds bounded-query autocomplete metadata. |
.github/aw/syntax-agentic.md |
Documents syntax and isolation behavior. |
.github/aw/create-agentic-workflow.md |
Adds workflow-authoring guidance. |
.changeset/minor-add-sbx-bounded-query-runtime.md |
Records the minor feature. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 15/15 changed files
- Comments generated: 1
- Review effort level: Balanced
| compiler := NewCompiler() | ||
| require.NoError(t, compiler.CompileWorkflow(testFile)) | ||
|
|
||
| lockContent, err := os.ReadFile(filepath.Join(workflowsDir, "test-sbx-bounded-query.lock.yml")) | ||
| require.NoError(t, err) | ||
| assert.Contains(t, string(lockContent), "sbx") | ||
| assert.NotContains(t, string(lockContent), `"runtime":"docker-sbx"`) | ||
| assert.True(t, usesSbxBoundedQueryRuntime(&WorkflowData{ | ||
| ParsedTools: &ToolsConfig{ | ||
| GitHub: &GitHubToolConfig{ | ||
| BoundedQueries: &BoundedQueriesConfig{Runtime: BoundedQueryRuntimeSbx}, | ||
| }, | ||
| }, | ||
| })) |
There was a problem hiding this comment.
The thread concerns were addressed in commit 618a592. TestSbxBoundedQueryFrontmatterCompilation now:
- Runs the full compiler (
compiler.CompileWorkflow) rather than the direct helper, so the warning path is exercised. - Captures stderr via
captureStderrOutputand asserts"runtime: sbx is experimental"is emitted. - Asserts the exact double-quote–escaped AWF JSON fragments (
\"runtime\":\"sbx\"and\"boundedQueries\":{\"enabled\":true) in the lock file, not the loose"sbx"substring that could match the heading.
This thread is also marked outdated by GitHub since the code at lines 161-174 was rewritten in the same commit.
|
Warning threat detection engine error DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. @copilot please run the
|
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Fixed the
|
|
@copilot resolve the merge conflicts in this pull request |
|
Warning threat detection engine error DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. @copilot this PR needs maintainer follow-up. Please run the
|
…untime # Conflicts: # .github/workflows/ab-testing-advisor.lock.yml # .github/workflows/ace-editor.lock.yml # .github/workflows/agent-performance-analyzer.lock.yml # .github/workflows/agent-persona-explorer.lock.yml # .github/workflows/agentic-token-audit.lock.yml # .github/workflows/agentic-token-optimizer.lock.yml # .github/workflows/agentic-token-trend-audit.lock.yml # .github/workflows/archie.lock.yml # .github/workflows/architecture-guardian.lock.yml # .github/workflows/artifacts-summary.lock.yml # .github/workflows/auto-triage-issues.lock.yml # .github/workflows/bot-detection.lock.yml # .github/workflows/breaking-change-checker.lock.yml # .github/workflows/chaos-pr-bundle-fuzzer.lock.yml # .github/workflows/ci-coach.lock.yml # .github/workflows/cli-consistency-checker.lock.yml # .github/workflows/code-scanning-fixer.lock.yml # .github/workflows/code-simplifier.lock.yml # .github/workflows/commit-changes-analyzer.lock.yml # .github/workflows/constraint-solving-potd.lock.yml # .github/workflows/contribution-check.lock.yml # .github/workflows/copilot-centralization-drilldown.lock.yml # .github/workflows/copilot-centralization-optimizer.lock.yml # .github/workflows/copilot-cli-deep-research.lock.yml # .github/workflows/copilot-opt.lock.yml # .github/workflows/copilot-pr-merged-report.lock.yml # .github/workflows/copilot-pr-nlp-analysis.lock.yml # .github/workflows/copilot-pr-prompt-analysis.lock.yml # .github/workflows/craft.lock.yml # .github/workflows/daily-agent-of-the-day-blog-writer.lock.yml # .github/workflows/daily-ambient-context-optimizer.lock.yml # .github/workflows/daily-architecture-diagram.lock.yml # .github/workflows/daily-assign-issue-to-user.lock.yml # .github/workflows/daily-awf-spec-compiler-surfacing.lock.yml # .github/workflows/daily-byok-ollama-test.lock.yml # .github/workflows/daily-cli-performance.lock.yml # .github/workflows/daily-cli-tools-tester.lock.yml # .github/workflows/daily-community-attribution.lock.yml # .github/workflows/daily-compiler-quality.lock.yml # .github/workflows/daily-compiler-threat-spec-optimizer.lock.yml # .github/workflows/daily-credit-limit-test.lock.yml # .github/workflows/daily-doc-updater.lock.yml # .github/workflows/daily-experiment-report.lock.yml # .github/workflows/daily-file-diet.lock.yml # .github/workflows/daily-firewall-report.lock.yml # .github/workflows/daily-formal-spec-verifier.lock.yml # .github/workflows/daily-function-namer.lock.yml # .github/workflows/daily-geo-optimizer.lock.yml # .github/workflows/daily-github-docs-seo-optimizer.lock.yml # .github/workflows/daily-go-test-parallelizer.lock.yml # .github/workflows/daily-graft-intelligence.lock.yml # .github/workflows/daily-hippo-learn.lock.yml # .github/workflows/daily-issues-report.lock.yml # .github/workflows/daily-malicious-code-scan.lock.yml # .github/workflows/daily-max-ai-credits-test.lock.yml # .github/workflows/daily-mcp-concurrency-analysis.lock.yml # .github/workflows/daily-model-inventory.lock.yml # .github/workflows/daily-model-resolution.lock.yml # .github/workflows/daily-multi-device-docs-tester.lock.yml # .github/workflows/daily-news.lock.yml # .github/workflows/daily-performance-summary.lock.yml # .github/workflows/daily-regulatory.lock.yml # .github/workflows/daily-repo-chronicle.lock.yml # .github/workflows/daily-safe-output-integrator.lock.yml # .github/workflows/daily-secrets-analysis.lock.yml # .github/workflows/daily-security-observability.lock.yml # .github/workflows/daily-semgrep-scan.lock.yml # .github/workflows/daily-sentrux-report.lock.yml # .github/workflows/daily-skill-optimizer.lock.yml # .github/workflows/daily-spdd-spec-planner.lock.yml # .github/workflows/daily-spending-forecast.lock.yml # .github/workflows/daily-squid-image-scan.lock.yml # .github/workflows/daily-syntax-error-quality.lock.yml # .github/workflows/daily-team-status.lock.yml # .github/workflows/daily-testify-uber-super-expert.lock.yml # .github/workflows/daily-windows-terminal-integration-builder.lock.yml # .github/workflows/daily-workflow-updater.lock.yml # .github/workflows/dataflow-pr-discussion-dataset.lock.yml # .github/workflows/dead-code-remover.lock.yml # .github/workflows/delight.lock.yml # .github/workflows/dependabot-burner.lock.yml # .github/workflows/dependabot-go-checker.lock.yml # .github/workflows/deployment-incident-monitor.lock.yml # .github/workflows/designer-drift-audit.lock.yml # .github/workflows/dev-hawk.lock.yml # .github/workflows/dictation-prompt.lock.yml # .github/workflows/discussion-task-miner.lock.yml # .github/workflows/docs-noob-tester.lock.yml # .github/workflows/draft-pr-cleanup.lock.yml # .github/workflows/eslint-miner.lock.yml # .github/workflows/eslint-monster.lock.yml # .github/workflows/evoskill-evolver.lock.yml # .github/workflows/example-failure-category-filter.lock.yml # .github/workflows/example-permissions-warning.lock.yml # .github/workflows/firewall-escape.lock.yml # .github/workflows/firewall.lock.yml # .github/workflows/functional-pragmatist.lock.yml # .github/workflows/github-remote-mcp-auth-test.lock.yml # .github/workflows/glossary-maintainer.lock.yml # .github/workflows/gpclean.lock.yml # .github/workflows/impeccable-skills-reviewer.lock.yml # .github/workflows/issue-monster.lock.yml # .github/workflows/issue-triage-agent.lock.yml # .github/workflows/jsweep.lock.yml # .github/workflows/layout-spec-maintainer.lock.yml # .github/workflows/lint-monster.lock.yml # .github/workflows/linter-miner.lock.yml # .github/workflows/mattpocock-skills-reviewer.lock.yml # .github/workflows/mcp-inspector.lock.yml # .github/workflows/mergefest.lock.yml # .github/workflows/metrics-collector.lock.yml # .github/workflows/notion-issue-summary.lock.yml # .github/workflows/objective-impact-report.lock.yml # .github/workflows/org-health-report.lock.yml # .github/workflows/outcome-collector.lock.yml # .github/workflows/pdf-summary.lock.yml # .github/workflows/plan.lock.yml # .github/workflows/poem-bot.lock.yml # .github/workflows/pr-code-quality-reviewer.lock.yml # .github/workflows/pr-description-caveman.lock.yml # .github/workflows/pr-nitpick-reviewer.lock.yml # .github/workflows/pr-sous-chef.lock.yml # .github/workflows/pr-triage-agent.lock.yml # .github/workflows/python-data-charts.lock.yml # .github/workflows/q.lock.yml # .github/workflows/refactoring-cadence.lock.yml # .github/workflows/refiner.lock.yml # .github/workflows/release.lock.yml # .github/workflows/repo-audit-analyzer.lock.yml # .github/workflows/repo-tree-map.lock.yml # .github/workflows/repository-quality-improver.lock.yml # .github/workflows/research.lock.yml # .github/workflows/schema-consistency-checker.lock.yml # .github/workflows/security-compliance.lock.yml # .github/workflows/security-review.lock.yml # .github/workflows/sighthound-security-scan.lock.yml # .github/workflows/skillet.lock.yml # .github/workflows/slide-deck-maintainer.lock.yml # .github/workflows/smoke-copilot-aoai-apikey.lock.yml # .github/workflows/smoke-copilot-aoai-entra.lock.yml # .github/workflows/smoke-copilot-arm.lock.yml # .github/workflows/smoke-copilot-auto.lock.yml # .github/workflows/smoke-copilot-mai.lock.yml # .github/workflows/smoke-copilot-sdk.lock.yml # .github/workflows/smoke-copilot-small.lock.yml # .github/workflows/smoke-copilot-sub-agents.lock.yml # .github/workflows/smoke-copilot.lock.yml # .github/workflows/smoke-create-cross-repo-pr.lock.yml # .github/workflows/smoke-multi-pr.lock.yml # .github/workflows/smoke-otel-backends.lock.yml # .github/workflows/smoke-pi.lock.yml # .github/workflows/smoke-project.lock.yml # .github/workflows/smoke-service-ports.lock.yml # .github/workflows/smoke-temporary-id.lock.yml # .github/workflows/smoke-test-tools.lock.yml # .github/workflows/smoke-update-cross-repo-pr.lock.yml # .github/workflows/smoke-workflow-call-with-inputs.lock.yml # .github/workflows/smoke-workflow-call.lock.yml # .github/workflows/spec-enforcer.lock.yml # .github/workflows/spec-extractor.lock.yml # .github/workflows/spec-librarian.lock.yml # .github/workflows/stale-pr-cleanup.lock.yml # .github/workflows/stale-repo-identifier.lock.yml # .github/workflows/sub-issue-closer.lock.yml # .github/workflows/super-linter.lock.yml # .github/workflows/technical-doc-writer.lock.yml # .github/workflows/terminal-stylist.lock.yml # .github/workflows/test-quality-sentinel.lock.yml # .github/workflows/tidy.lock.yml # .github/workflows/ubuntu-image-analyzer.lock.yml # .github/workflows/uk-ai-operational-resilience.lock.yml # .github/workflows/unbloat-docs.lock.yml # .github/workflows/update-astro.lock.yml # .github/workflows/video-analyzer.lock.yml # .github/workflows/visual-regression-checker.lock.yml # .github/workflows/weekly-blog-post-writer.lock.yml # .github/workflows/weekly-editors-health-check.lock.yml # .github/workflows/weekly-issue-summary.lock.yml # .github/workflows/weekly-safe-outputs-spec-review.lock.yml # .github/workflows/workflow-generator.lock.yml # .github/workflows/workflow-health-manager.lock.yml # .github/workflows/workflow-normalizer.lock.yml # .github/workflows/workflow-skill-extractor.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Resolved. All 183 conflicts were in |
|
/review |
|
|
|
@copilot rename to "tools.micro-vms"? |
|
Warning threat detection engine error DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. 🧪 Test Quality Sentinel Report✅ Test Quality Score: 90/100 — Excellent
📊 Metrics (3 tests)
Modified tests in Verdict
|
…nd-to-end contract assertions Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Addressed the review feedback in the latest commit.
|
Branch is already up to date with Review thread ( Rename question — Still awaiting @pelikhan's clarification. No code change will be made until the intended scope is confirmed (asked in a previous reply). |
|
Warning threat detection engine error DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. @copilot please run
|
…untime Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Merged latest Review thread ( Rename question — Still awaiting @pelikhan's clarification. No code change will be made until the intended scope is confirmed. |
|
Warning threat detection engine error DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. @copilot please run the Current context:
Please confirm branch freshness, identify any unresolved review thread IDs that are ready to resolve, and summarize exactly what clarification or maintainer action is still needed before handoff.
|
Branch freshness — ✅ Current with Local validation — ✅ Unresolved review thread ready for maintainer resolution:
The reply ( Remaining maintainer action before handoff:
Summary:
Actions taken this run: none (branch already current, local validation already green, no new addressable review feedback). |
|
@copilot resolve the merge conflicts in this pull request |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Resolved. The only conflict was in the auto-generated |
|
@copilot quick triage for this PR:
|
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Resolved. One conflict in Remaining maintainer blockers:
|
|
@copilot
|
Branch is current with
Still needed before merge:
|
Summary
tools.github.bounded-queries.runtime: sbxand emit the exact AWFboundedQueries.runtime: "sbx"contractsandbox.agent.runtime, with table-driven coverage for all nine Docker/gVisor/sbx combinations and no fallbackDependency order
This compiler slice depends on the gh-aw-firewall bounded-query stack (#6762, #6763, #6764, and the final matrix PR) merging and shipping in AWF v0.28.0+ before runtime use. Current Docker Sandboxes v0.37.1 hosts remain unsupported by AWF preflight because mandatory isolation controls and a digest-pinned Python-only template are unavailable; neither gh-aw nor AWF rewrites or falls back to Docker/gVisor.
Validation
make build && make build-wasmmake golintgo test ./pkg/parser ./pkg/workflow -count=1The full pre-PR gate reached
lint-cjsbut the configured Microsoft npm proxy returned 404 forvite-8.1.0.tgz.make test-allalso encountered unrelated existing/environment-sensitive failures outside the changed parser/workflow packages.Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Run: https://github.com/github/gh-aw/actions/runs/30606477668
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Run: https://github.com/github/gh-aw/actions/runs/30623846078
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Run: https://github.com/github/gh-aw/actions/runs/30627168508
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
Run details: https://github.com/github/gh-aw/actions/runs/30678610470
Warning
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.
Details
The threat detection engine failed to produce results.
Review the workflow run logs for details.
run_url: https://github.com/github/gh-aw/actions/runs/30683195966
Run URL: https://github.com/github/gh-aw/actions/runs/30719603092