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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions