feat(cloudformation): close 82-op conformance gap#707
Merged
vieiralucas merged 4 commits intomainfrom Apr 23, 2026
Merged
Conversation
- Implement change sets, stack sets, stack instances, refactors, types, generated templates, resource scans, drift detection, hooks, exports, imports, stack policies, termination protection, and validation ops. - Persist new state via per-account extras store on CloudFormationState. - Wire dispatch + supported_actions for the 90-op surface. - Cover all 82 new ops with a raw-POST closure conformance test pinned to checksums.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
2 issues found across 6 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="crates/fakecloud-cloudformation/src/extras.rs">
<violation number="1" location="crates/fakecloud-cloudformation/src/extras.rs:24">
P2: Timestamp-based ID generation can collide under concurrent/fast requests, causing resource entries to overwrite each other.</violation>
</file>
<file name="crates/fakecloud-cloudformation/src/service.rs">
<violation number="1" location="crates/fakecloud-cloudformation/src/service.rs:705">
P2: The new `mutates` list includes several read/no-op actions, so successful requests trigger unnecessary snapshot writes even when no state changed.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
- rand_id: append atomic counter so concurrent same-nanos requests don't collide and overwrite extras entries - mutates: only trigger snapshot writes for ops whose handlers actually modify state; pass-through ops that return canned IDs no longer cause unnecessary snapshot writes
Sweeps each new op via handle_extra_action with the minimum required params and asserts 2xx. Lifts codecov/patch coverage on extras.rs.
…orktree-cfn-82ops # Conflicts: # conformance-baseline.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
Summary by cubic
Closes the CloudFormation conformance gap by adding 82 missing operations and returning real XML with stable IDs, taking CloudFormation to 3420/3420 passed variants and the overall audit to 51193/59954. Dispatch and
supported_actionsnow expose a 90‑op surface.New Features
extrasstore onCloudFormationStateto persist new categories across requests.fakecloud-conformancethat exercises all 82 routes (pinned to checksums) and unit tests infakecloud-cloudformationthat sweep all extras handlers.Bug Fixes
rand_idnow appends an atomic counter to prevent same‑nanosecond collisions from overwritingextrasentries.Written for commit 6b22294. Summary will update on new commits.