Skip to content

[breaking-change] Daily Breaking Change Analysis - 2026-08-04 #50310

Description

@github-actions

Summary

  • Total Breaking Changes: 1
  • Severity: HIGH
  • Commits Analyzed: 29
  • Status: Review Recommended

Critical Breaking Changes

Commit File Category Change Impact
87b330e pkg/constants/engine_constants.go, pkg/workflow/agentic_engine.go, pkg/parser/schemas/main_workflow_schema.json, pkg/cli/add_wizard_command.go Command/engine removal 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).
All Commits Analyzed
SHA Title
752161d [WIP] Fix check_permissions to handle missing inherited_role field (#50183)
1c28255 Add squad file availability checks (#50284)
6860c3b Pin poutine Docker image to the digest-pinned constant (#50279)
899e0b5 Fix CLI/docs consistency: document --shellcheck and --version, normalize update flag help (#50280)
df5d498 [WIP] Fix goose agentic engine configuration (#50186)
faa6ef8 Remove agentfinder mentions from skills.md (#50278)
8f5febe Document package spec audit gaps (#50276)
46ca2c3 Document boolean duplicate-constant threshold (#50261)
b085148 Update AGENTS plan confirmation guidance (#50270)
28ef1c2 Update serena-mcp-server container image to remediate critical CVEs (#50245)
b81146b no-duplicate-constant-values: apply minimum-group-size guard to booleans (#50247)
034af85 docs: never use agentfinder for skill discovery (#50244)
52e8e53 Bump @astrojs/starlight 0.41.5→0.41.6 (docs) (#50228)
4069098 Bump astro 7.1.5→7.1.6 (docs) (#50227)
8d9976e Add t.Parallel() to safe top-level Go tests (#50206)
acf89a2 Bump vite 8.1.5→8.2.0 (actions/setup/js) (#50230)
35d4657 Bump @playwright/test 1.62.0→1.62.1 (docs) (#50229)
bde1467 Bump @primer/octicons 19.31.0→19.32.0 (docs) (#50231)
b7a9c5f docs: glossary entries for ambient folders, token steering, etc. (#50234)
001a531 [docs] document imported Goose engine example (#50235)
97b00a6 [instructions] Sync instruction files with release v0.84.3 (#50221)
7608f64 docs(eslint-factory): document 10 missing custom rules in README (#50208)
59c743c [WIP] Fix vulnerabilities in node:lts-alpine container image (#50207)
20d84c2 [WIP] Add enforcement for 4 type-resolved linters with zero production violations (#50180)
5aecd18 Align "Download safe outputs items manifest" step name to Title Case (#50176)
57b0024 Add Goose engine smoke workflow (#50181)
cd85bff Sync designer.md with network shorthand corrections (#50175)
ee9d575 Suppress ctxbackground lint in ctxutil.OrBackground (#50171)
87b330e Refactoring opencode integration for shared workflows (#50145) — breaking
5ae447c move ambient-folders top (#50168)

Action Checklist

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:

  1. Add a major changeset for PR Refactoring opencode integration for shared workflows #50145 documenting the engine removal and migration path.
  2. Finalize (or reject) the draft ADR before merging/releasing.
  3. 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.
  4. Update any external-facing engine documentation/announcements to reflect only copilot, claude, codex, gemini, antigravity, pi as supported engines.

Reference

See scratchpad/breaking-cli-rules.md for the complete breaking change policy.


Once all checklist items are complete, close this issue.

⚠️ Compatibility report by Breaking Change Checker · auto · 44 AIC · ⌖ 4.09 AIC · ⊞ 7.8K ·

  • expires on Aug 6, 2026, 7:45 AM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions