Add engine.copilot-sdk-driver to override Copilot SDK driver script#36662
Merged
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot
AI
changed the title
Add engine.copilot-sdk-driver frontmatter field
Add Jun 3, 2026
engine.copilot-sdk-driver to override Copilot SDK driver script
Copilot created this pull request from a session on behalf of
pelikhan
June 3, 2026 15:18
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new engine.copilot-sdk-driver frontmatter field so workflows using engine.copilot-sdk: true can override the Copilot SDK driver script filename (default remains copilot_sdk_driver.cjs). The change is wired through engine config extraction, schema + runtime validation, Copilot execution step generation, tests, and reference docs.
Changes:
- Extend
EngineConfig+ frontmatter extraction to captureengine.copilot-sdk-driver. - Validate
engine.copilot-sdk-driveras a safe Node.js script basename and use it when constructing Copilot SDK “driver mode” commands. - Update schema/tests/docs and rename the “Install GitHub Copilot SDK” workflow step label to clarify the runtime (Node.js).
Show a summary per file
| File | Description |
|---|---|
| pkg/workflow/threat_detection.go | Propagates CopilotSDKDriver through threat-detection engine config cloning. |
| pkg/workflow/engine.go | Parses engine.copilot-sdk-driver into EngineConfig. |
| pkg/workflow/engine_validation.go | Adds shared script-filename validation and validates engine.copilot-sdk-driver. |
| pkg/workflow/engine_validation_test.go | Adds unit tests for engine.copilot-sdk-driver runtime validation. |
| pkg/workflow/engine_config_test.go | Adds extraction tests for engine.copilot-sdk-driver. |
| pkg/workflow/copilot_engine_test.go | Adds execution-step test ensuring custom driver is used in SDK mode. |
| pkg/workflow/copilot_engine_execution.go | Uses configured driver script name when building SDK driver-mode command. |
| pkg/workflow/compiler_orchestrator_workflow.go | Wires validateEngineCopilotSDKDriver into workflow validation. |
| pkg/parser/schemas/main_workflow_schema.json | Adds copilot-sdk-driver schema property + example + pattern constraint. |
| pkg/parser/schema_test.go | Adds schema validation tests for copilot-sdk-driver patterns. |
| docs/src/content/docs/reference/frontmatter-full.md | Documents the new engine.copilot-sdk-driver field in the full frontmatter reference. |
| docs/src/content/docs/reference/engines.md | Documents the Copilot SDK driver override behavior and constraints. |
| .github/workflows/smoke-copilot-sdk.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/q.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/python-data-charts.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/pr-triage-agent.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/pr-nitpick-reviewer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/pr-code-quality-reviewer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/plan.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/pdf-summary.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/org-health-report.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/metrics-collector.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/mergefest.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/mcp-inspector.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/linter-miner.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/layout-spec-maintainer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/jsweep.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/firewall.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/firewall-escape.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/draft-pr-cleanup.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/docs-noob-tester.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/discussion-task-miner.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/dictation-prompt.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/dev-hawk.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/deployment-incident-monitor.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/delight.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/dead-code-remover.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-workflow-updater.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-testify-uber-super-expert.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-syntax-error-quality.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-spdd-spec-planner.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-skill-optimizer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-sentrux-report.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-security-observability.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-secrets-analysis.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-safe-output-integrator.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-repo-chronicle.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-performance-summary.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-model-inventory.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-mcp-concurrency-analysis.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-malicious-code-scan.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-issues-report.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-geo-optimizer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-experiment-report.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-compiler-threat-spec-optimizer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-compiler-quality.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-cli-performance.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-assign-issue-to-user.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-architecture-diagram.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/daily-agent-of-the-day-blog-writer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/craft.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/copilot-pr-prompt-analysis.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/copilot-pr-nlp-analysis.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/copilot-pr-merged-report.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/copilot-opt.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/copilot-cli-deep-research.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/code-scanning-fixer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/cli-consistency-checker.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/ci-coach.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/breaking-change-checker.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/brave.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/artifacts-summary.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/architecture-guardian.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
| .github/workflows/agent-performance-analyzer.lock.yml | Renames SDK install step to “Install GitHub Copilot SDK (Node.js)”. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 74/74 changed files
- Comments generated: 1
Comment on lines
613
to
+617
| Args: detectionEngineConfig.Args, | ||
| APITarget: detectionEngineConfig.APITarget, | ||
| MaxEffectiveTokens: detectionEngineConfig.MaxEffectiveTokens, | ||
| HarnessScript: detectionEngineConfig.HarnessScript, | ||
| CopilotSDKDriver: detectionEngineConfig.CopilotSDKDriver, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change adds support for a new frontmatter field,
engine.copilot-sdk-driver, so workflows usingengine.copilot-sdk: truecan select a custom SDK driver script filename instead of always using the built-incopilot_sdk_driver.cjs.The field is wired through parsing, schema validation, runtime validation, and Copilot execution generation.
Frontmatter + config model
CopilotSDKDrivertoEngineConfig.engine.copilot-sdk-driverin engine object extraction.Copilot SDK execution path
copilot_sdk_driver.cjs).Validation + schema
engine.copilot-sdk-driverusing the same safety rules asengine.harness(safe basename +.js/.cjs/.mjs).main_workflow_schema.jsonwith:copilot-sdk-driver)engineexamples.Tests + docs
engine.copilot-sdk-driverpatterns.engines.md,frontmatter-full.md) to document usage and constraints.