Skip to content

feat(v2): ComputePlanVersion=v2 + workflow v0.54.0 + minEngine 0.54.0#16

Merged
intel352 merged 1 commit into
mainfrom
feat/v2-capabilities-v2
May 16, 2026
Merged

feat(v2): ComputePlanVersion=v2 + workflow v0.54.0 + minEngine 0.54.0#16
intel352 merged 1 commit into
mainfrom
feat/v2-capabilities-v2

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Summary

Phase 2 cascade per workflow#640 + ADR 0040. Opts this plugin into the v2 action lifecycle contract: declares ComputePlanVersion="v2" in CapabilitiesResponse so wfctl v0.54.0+ knows to expect populated ApplyResult.Actions (one ActionResult per planned action, no ACTION_STATUS_UNSPECIFIED, no unknown tags).

Per ADR 0024 + ADR 0040, plugins NOT declaring v2 are permanently incompatible with workflow v0.54.0+; there is no compat shim. This PR makes the AWS plugin v0.54.0-compatible.

Surface changes (minimal — 4 files)

  • go.mod: workflow v0.53.0 → v0.54.0
  • go.sum: refreshed via go mod tidy
  • plugin.json: minEngineVersion 0.53.0 → 0.54.0
  • internal/iacserver.go: awsIaCServer.Capabilities return-struct literal adds ComputePlanVersion: "v2" (no signature/receiver/parameter change)

Rollback (if downstream breaks)

Cut v1.2.1 re-pinning workflow → v0.53.0 and dropping ComputePlanVersion="v2". Per ADR 0040, v1.2.x tags can only target workflow v0.54.0+, so a true rollback to v0.53.x users requires the v1.2.1 with the v0.53.x pin restored.

Test plan

  • go mod tidy clean
  • GOWORK=off go build ./... clean
  • GOWORK=off go test ./... -race -count=1 → all PASS
  • CI passes
  • Copilot review

Coordinated cascade

This is PR 2 of 5 in the v2-phase2 plugin cascade (PR 1 was the workflow engine PR #694, merged at v0.54.0). Sibling PRs: gcp, azure, digitalocean. All five plugins must declare v2 to maintain ecosystem compatibility with workflow v0.54.0+.

🤖 Generated with Claude Code

…e 0.54.0

Phase 2 cascade per workflow#640 + ADR 0040: opt this plugin into the
v2 action lifecycle contract. wfctl v0.54.0+ expects plugins declaring
ComputePlanVersion="v2" to populate ApplyResult.Actions with one
ActionResult per planned action (enforced by the engine-side
length-validation assert in iac/wfctlhelpers/apply.go) and to never
emit ACTION_STATUS_UNSPECIFIED or unknown wire tags. Per ADR 0024 +
ADR 0040, there is no compat shim: plugins NOT declaring v2 are
permanently incompatible with workflow v0.54.0+.

Surface changes (4 files; minimal):
- go.mod: pin workflow v0.53.0 → v0.54.0; go.sum refreshed via tidy
- plugin.json: minEngineVersion 0.53.0 → 0.54.0
- internal/iacserver.go: awsIaCServer.Capabilities return-struct
  literal adds ComputePlanVersion: "v2" (no signature, receiver, or
  parameter change)

Rollback: cut v1.2.1 re-pinning workflow → v0.53.0 + dropping
ComputePlanVersion="v2"; per ADR 0040, v1.2.x can only target
workflow v0.54.0+, so a true rollback requires v1.2.1 with the v0.53.x
pin restored.

Verification:
- go mod tidy clean
- GOWORK=off go build ./... clean
- GOWORK=off go test ./... -race -count=1 → all PASS

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Opts the AWS workflow plugin into the v2 action lifecycle contract by bumping the workflow dependency to v0.54.0, raising minEngineVersion, and adding ComputePlanVersion: "v2" to the Capabilities response.

Changes:

  • Bump github.com/GoCodeAlone/workflow to v0.54.0 and prune indirect deps via go mod tidy.
  • Raise minEngineVersion to 0.54.0 in plugin.json.
  • Set ComputePlanVersion: "v2" in the awsIaCServer.Capabilities response.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
go.mod Upgrade workflow to v0.54.0; drop now-unused indirect deps.
go.sum Refreshed checksums to match the new dependency graph.
plugin.json Raise minimum engine version to 0.54.0.
internal/iacserver.go Declare ComputePlanVersion: "v2" in capabilities response.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@intel352 intel352 merged commit 98b46d8 into main May 16, 2026
9 checks passed
@intel352 intel352 deleted the feat/v2-capabilities-v2 branch May 16, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants