You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Removed the opencode built-in engine identifier (OpenCodeEngine constant, EngineOptions entry, schema enum/description/examples, NewEngineRegistry() registration, wizard listing, related env vars GH_AW_MODEL_{AGENT,DETECTION,EVALS}_OPENCODE)
Any workflow with engine: opencode (or id: opencode in extended engine config) will fail to compile/validate. gh aw add-wizard no longer offers OpenCode as an engine choice. .opencode.jsonc/.opencode/ config in repos using this engine will be silently ignored.
Full Code Diff Analysis
Detailed Commit Analysis
Commit 87b330ed7 ("Refactoring opencode integration for shared workflows", #50145) removes opencode as a supported experimental engine, per its own accompanying ADR (docs/adr/50145-remove-opencode-engine-from-workflows.md, Status: Draft, unreviewed):
pkg/constants/engine_constants.go: deletes OpenCodeEngine const, removes it from AgenticEngines slice, removes the EngineOptions entry (label "OpenCode", BYOK secrets), removes OpenCodeCLIModelEnvVar and the GH_AW_MODEL_{AGENT,DETECTION,EVALS}_OPENCODE env var constants.
pkg/workflow/agentic_engine.go: NewEngineRegistry() no longer registers opencode as a built-in behavior-defined engine.
pkg/parser/schemas/main_workflow_schema.json: opencode removed from all engine/id string descriptions and examples arrays (schema still permits arbitrary strings via oneOf, so validation itself may not hard-fail, but the value is no longer a recognized/supported engine and downstream engine resolution will reject it).
pkg/cli/add_wizard_command.go: help text/engine list for gh aw add-wizard no longer mentions OpenCode.
280+ .lock.yml files regenerated to drop .opencode sparse-checkout entries and opencode.jsonc/.opencode from GH_AW_AGENT_FILES/GH_AW_AGENT_FOLDERS.
The ADR itself (in "Consequences → Negative") explicitly states:
"Workflow authors who have deployed workflows using engine: opencode will lose support and must migrate to another engine... Any opencode.jsonc or .opencode/ configuration that workflow authors have stored in their repositories will be silently ignored by the workflow runner."
No changeset file (.changeset/*.md) currently documents this as a major/breaking change, and no migration guidance has been published yet.
Breaking Change Patterns Detected
Command/engine removal (decision tree branch 1): opencode engine identifier removed from constants, registry, schema, and CLI wizard — matches "Command removal or renaming" and "Behavior changes" categories.
No JSON output structure, exit code, or required-schema-field changes were found in this window; the ambient-folders schema field relocation (commit 5ae447c56) is a non-breaking move (field moved to top-level, same shape, additive).
Complete the following items to address these breaking changes:
Review all breaking changes detected - Verify each change is correctly categorized
Create a changeset file in .changeset/ directory - Create a file like major-remove-opencode-engine.md with the change details. Specify the semver bump type (major) in the YAML frontmatter of the changeset file. See scratchpad/changesets.md for format details.
Add migration guidance to changeset - Document that engine: opencode workflows must migrate to copilot, claude, codex, gemini, antigravity, or pi, and that .opencode//opencode.jsonc config is no longer restored by the runner
Document breaking changes in CHANGELOG.md - Add entry under "Breaking Changes": "Removed the experimental opencode engine"
Verify backward compatibility was considered - The commit's own ADR (docs/adr/50145-remove-opencode-engine-from-workflows.md) is still in Draft status ("Deciders: Unknown (PR created by AI Agent — review and confirm before accepting)") and should be reviewed/finalized before this lands in a release
Recommendations
Since opencode was documented as "experimental," this may be an acceptable trade-off, but it should be treated as a semver-major/breaking change and called out explicitly in release notes so any workflow author using engine: opencode is not surprised by a silent compile failure. Suggested steps:
Finalize (or reject) the draft ADR before merging/releasing.
Consider a deprecation warning period (e.g., one minor release emitting a warning) rather than an immediate hard removal, if any external users are known to rely on engine: opencode.
Update any external-facing engine documentation/announcements to reflect only copilot, claude, codex, gemini, antigravity, pi as supported engines.
Summary
Critical Breaking Changes
pkg/constants/engine_constants.go,pkg/workflow/agentic_engine.go,pkg/parser/schemas/main_workflow_schema.json,pkg/cli/add_wizard_command.goopencodebuilt-in engine identifier (OpenCodeEngineconstant,EngineOptionsentry, schema enum/description/examples,NewEngineRegistry()registration, wizard listing, related env varsGH_AW_MODEL_{AGENT,DETECTION,EVALS}_OPENCODE)engine: opencode(orid: opencodein extended engine config) will fail to compile/validate.gh aw add-wizardno longer offers OpenCode as an engine choice..opencode.jsonc/.opencode/config in repos using this engine will be silently ignored.Full Code Diff Analysis
Detailed Commit Analysis
Commit
87b330ed7("Refactoring opencode integration for shared workflows", #50145) removesopencodeas a supported experimental engine, per its own accompanying ADR (docs/adr/50145-remove-opencode-engine-from-workflows.md, Status: Draft, unreviewed):pkg/constants/engine_constants.go: deletesOpenCodeEngineconst, removes it fromAgenticEnginesslice, removes theEngineOptionsentry (label "OpenCode", BYOK secrets), removesOpenCodeCLIModelEnvVarand theGH_AW_MODEL_{AGENT,DETECTION,EVALS}_OPENCODEenv var constants.pkg/workflow/agentic_engine.go:NewEngineRegistry()no longer registersopencodeas a built-in behavior-defined engine.pkg/parser/schemas/main_workflow_schema.json:opencoderemoved from allengine/idstring descriptions andexamplesarrays (schema still permits arbitrary strings viaoneOf, so validation itself may not hard-fail, but the value is no longer a recognized/supported engine and downstream engine resolution will reject it).pkg/cli/add_wizard_command.go: help text/engine list forgh aw add-wizardno longer mentions OpenCode..lock.ymlfiles regenerated to drop.opencodesparse-checkout entries andopencode.jsonc/.opencodefromGH_AW_AGENT_FILES/GH_AW_AGENT_FOLDERS.The ADR itself (in "Consequences → Negative") explicitly states:
No changeset file (
.changeset/*.md) currently documents this as a major/breaking change, and no migration guidance has been published yet.Breaking Change Patterns Detected
opencodeengine identifier removed from constants, registry, schema, and CLI wizard — matches "Command removal or renaming" and "Behavior changes" categories.ambient-foldersschema field relocation (commit5ae447c56) is a non-breaking move (field moved to top-level, same shape, additive).All Commits Analyzed
@astrojs/starlight0.41.5→0.41.6 (docs) (#50228)@playwright/test1.62.0→1.62.1 (docs) (#50229)@primer/octicons19.31.0→19.32.0 (docs) (#50231)Action Checklist
Complete the following items to address these breaking changes:
.changeset/directory - Create a file likemajor-remove-opencode-engine.mdwith the change details. Specify the semver bump type (major) in the YAML frontmatter of the changeset file. See scratchpad/changesets.md for format details.engine: opencodeworkflows must migrate tocopilot,claude,codex,gemini,antigravity, orpi, and that.opencode//opencode.jsoncconfig is no longer restored by the runneropencodeengine"docs/adr/50145-remove-opencode-engine-from-workflows.md) is still in Draft status ("Deciders: Unknown (PR created by AI Agent — review and confirm before accepting)") and should be reviewed/finalized before this lands in a releaseRecommendations
Since
opencodewas documented as "experimental," this may be an acceptable trade-off, but it should be treated as a semver-major/breaking change and called out explicitly in release notes so any workflow author usingengine: opencodeis not surprised by a silent compile failure. Suggested steps:majorchangeset for PR Refactoring opencode integration for shared workflows #50145 documenting the engine removal and migration path.engine: opencode.copilot,claude,codex,gemini,antigravity,pias supported engines.Reference
See scratchpad/breaking-cli-rules.md for the complete breaking change policy.
Once all checklist items are complete, close this issue.