Add declarative custom-engine frontmatter and migrate Crush/OpenCode to shared behavior definitions#44465
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot remove crush/opencode from Go code and only keep them as shared agentic workflow files. |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot create a new instruction file to help with configuring new agentic engines |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot merge main and recompile |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…c-engine-syntax Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
/smoke-copilot |
|
📰 BREAKING: Smoke Copilot is now investigating this issue comment. Sources say the story is developing... |
🤖 PR Triage
Rationale: Large, high-risk feature (32 files, +1577/-423). Carry-over (opened 2026-07-09). Significant scope — declarative engine frontmatter + Crush/OpenCode migration. No reviews yet. Defer until scope review / dedicated review session. Triage run §29183606049
|
There was a problem hiding this comment.
Smoke test review submitted for run 29183677811.
Warning
Firewall blocked 6 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comsafebrowsingohttpgateway.googleapis.comwww.google.com
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
📰 BREAKING: Report filed by Smoke Copilot · 108.9 AIC · ⌖ 7.1 AIC · ⊞ 19.1K
Comment /smoke-copilot to run again
Add label smoke to run again
|
/smoke-opencode |
|
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed. Root cause: Bun (OpenCode's runtime) compares the full The fix adds explicit Both |
|
@copilot please run the Run: https://github.com/github/gh-aw/actions/runs/29187567992
|
Actions taken: none — working tree is clean, no new issues to address. Hand-off: a maintainer |
|
/smoke-opencode |
|
🚀 skillet has started processing this pull request comment |
|
@copilot please run the Run: https://github.com/github/gh-aw/actions/runs/29190625506
|
Actions taken: none — working tree was already clean, no new issues to address. |
|
\n@copilot please run the skill, address the unresolved Copilot review feedback on required secret validation, MCP config env wiring, and config-file parent-directory creation, then rerun checks once the branch is ready.
|
🤖 PR Triage
Declarative custom-engine frontmatter. Very large change (+1609/-423). 3-day old open PR. Labeled
|
|
Run: https://github.com/github/gh-aw/actions/runs/29229130219
|
|
/smoke-opencode |
|
🚀 skillet has started processing this pull request comment |
|
@copilot review and fix https://github.com/github/gh-aw/actions/runs/29229795709/job/86751339662#step:4:1 skillet should not be a fallback when dispatching failed |
Actions taken: none — working tree was clean, no new issues to address. |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed in commit Two root causes fixed:
|
🤖 PR Triage
Rationale: Introduces declarative custom-engine frontmatter; migrates Crush/OpenCode to shared behavior definitions (30+ files). High impact — changes compiler behavior and adds new syntax. Bot reviewer commented but no approvals. Needs careful human review. High business value warrants fast-track despite complexity.
|
This introduces a richer engine-definition frontmatter shape for shared/custom agentic engines and uses it to move Crush and OpenCode off bespoke Go implementations onto a common declarative runtime path. The new syntax is expressive enough for CLI-style engines that need install, config, execution, MCP, capability, and auth wiring, including Auggie-like cases.
New engine-definition surface
engine.experimental,engine.auth, andengine.behaviorsto the named engine definition form.behaviorscaptures the runtime contract instead of hard-coding it in Go:authprovides explicit secret bindings for engines that need engine-specific credentials forwarded into the runtime.Shared behavior-defined runtime
BehaviorDefinedEnginethat materializes aCodingAgentEnginefrom frontmatter.Crush/OpenCode refactor
pkg/workflow/data/engines/crush.mdpkg/workflow/data/engines/opencode.mdSchema and docs
Coverage
Example of the new shared engine definition shape: