Skip to content

feat(aws): retain checked commitment payment currency - #419

Merged
cristim merged 1 commit into
mainfrom
fix/aws-commitment-currency
Oct 15, 2026
Merged

cristim merged 1 commit into
mainfrom
fix/aws-commitment-currency

Conversation

@cristim

@cristim cristim commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

AWS recommendations omit commitment payment currency even when Cost Explorer supplies it. Populate CommitmentCurrency when the source supplies the payment legs required by the payment option, and select the published shared module that defines the field.

Unknown or incomplete source currency stays unknown. The existing amounts, savings/baseline currency, payment parsing and scaling behavior remain unchanged. This leaf is AWS-only; platform adoption remains a separate compatibility change.

Verification on d224e1478ad706abc56ead72ef334220de61096f, tree 8628011aa5d6b055c8c9ec295110d860b8a59c01:

  • Same independent gpt-6.1-sol medium reviewer completed both source/staged passes and two integrated-tree binding passes with no actionable findings.
  • Fresh macOS Go 1.26.9 affected recommendations/ladder race tests, standalone AWS build and pinned golangci-lint 2.10.1 passed. Normal commit hooks passed.
  • External-package constructed SDK fixtures exercise non-USD, missing currency, known zero, incomplete and contradictory payment legs, malformed amounts, Scale/Resize and JSON preservation. Earlier parent and mutation probes are retained evidence; they are not live AWS observations.

Fresh independent committed verification completed two clean adversarial passes. Its replacement-free published AWS-only consumer naturally selected shared498 and passed the SDK producer/Scale/Resize/JSON race tests. Independent base and required-leg mutation probes failed intended runtime assertions; restoration passed. All required Linux CI is green at this SHA. The initial external schema-fetch timeout passed one bounded failed-job retry without source or workflow changes.

These are constructed SDK fixtures. No real cloud call, purchase, deployment or platform pin change is included. CodeRabbit hit its included review limit; the owner's optional-CodeRabbit policy applies with this exact-revision proof and fresh independent review.

Closes #418. Refs #124.

Follow-up issues filed: #420 for the observed external schema-download CI failure. The separate platform adoption dependency remains tracked in #124.

Populate payment currency only when the provider supplies the required
upfront and recurring legs. Preserve unknown currency and existing
amounts through producer, scaling and serialization paths.
@cristim cristim added priority/p2 Backlog-worthy severity/medium Moderate harm triaged Item has been triaged urgency/this-sprint Within the current sprint impact/many Affects most users effort/s Hours type/feat New capability labels Oct 15, 2026
@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

This review includes 4 billable files and costs up to $1.00.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 28 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 64 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: LeanerCloud/cloud-commitments-go/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 2610996e-e6ce-4189-b2fd-a01ec3650b82
📥 Commits

Reviewing files that changed from the base of the PR and between ca29272 and d224e14.

⛔ Files ignored due to path filters: 1
  • providers/aws/go.sum is excluded by !**/*.sum
📒 Files selected for processing: 4
  • providers/aws/go.mod
  • providers/aws/recommendations/commitment_currency_sdk_test.go
  • providers/aws/recommendations/parser_ri.go
  • providers/aws/recommendations/parser_sp.go
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Fresh independent gpt-6.1-sol medium verification: two adversarial passes, no actionable findings, exact d224e1478ad706abc56ead72ef334220de61096f, tree 8628011aa5d6b055c8c9ec295110d860b8a59c01, base ca292727699ff340c8a3eaaa5d51bd7e3607db28.

The verifier independently compared all five GitHub blobs with an immutable archive and the published AWS module. It checked the actual Cost Explorer SDK v1.61.0 currency, upfront and recurring fields/deserializers; both parser callers and payment-leg presence rules; and the actual published shared Scale/Resize/JSON contract. The complete diff remains 299 changed lines.

Fresh macOS evidence:

  • Standalone AWS build and recommendations/ladder race tests passed.
  • A fresh consumer initially required only published AWS v0.0.0-20261015141950-d224e1478ad7. Tidy naturally selected shared v0.0.0-20261015085730-498b74f31f01, with no replacements or initial shared pin. Consumer compilation and fresh race tests passed through actual SDK producers, Scale/Resize and JSON: four top-level test groups, 57 named cases plus contradiction checks.
  • Base production parsers plus the final test and only the prerequisite shared pin compiled, then failed the intended EUR/JPY runtime assertions. Negative controls passed. The unmodified old shared pin's compile failure was not counted as regression proof.
  • Its own scratch removal of the partial-upfront presence guard compiled, then failed both RI/SP missing-upfront assertions. Exact restoration passed the full currency SDK group. Live source remained clean.

All required Linux checks and normal hooks passed on this SHA. The sole initial CI failure was an official schema-download timeout before Azure source lint; one bounded failed-job retry at this same SHA succeeded. #420 tracks that external dependency issue; source and workflow checks were not altered.

CodeRabbit reported its included review limit and supplied no review or inline findings. Under the owner's explicit optional-CodeRabbit policy, the complete exact-revision local proof and fresh independent review satisfy that review path. No paid review, configuration change or quota retry was requested.

These are constructed SDK fixtures, not recorded AWS recommendations or live economic acceptance. No actual cloud call, purchase, deployment or platform pin is included. Broader platform adoption remains in #124.

Follow-up issues filed: #420.

@cristim
cristim merged commit 740dfbd into main Oct 15, 2026
24 of 26 checks passed
@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Merged #419 as 740dfbd72456a4a0b4cba3152a90d9be85abd1fe; its tree exactly equals reviewed 8628011aa5d6b055c8c9ec295110d860b8a59c01. #418 was closed automatically by the scoped closing reference.

Verified the public AWS SDK producer through an external consumer initially requiring only AWS v0.0.0-20261015143912-740dfbd72456. Tidy naturally selected shared v0.0.0-20261015085730-498b74f31f01; the entire module graph has no replacements. The committed SDK fixture hash matched, and fresh macOS Go1.26.9 race tests passed through required payment legs, non-USD/unknown currency, Scale/Resize and JSON.

Both actual post-merge workflows completed successfully:

The fresh independent review completed two adversarial passes on the exact pre-merge head. Its old-parser regression and required-leg mutation compiled, failed the intended runtime assertions, and passed after restoration. The merged tree is identical. The separate first-attempt external schema-download failure was resolved by one bounded failed-job retry without changing source or workflow checks; #420 tracks the recurring CI dependency issue.

This is synthetic SDK fixture evidence, not a recorded AWS economic response. No real cloud call, purchase, deployment, platform module update or savings/baseline currency relabeling occurred. The AWS producer leaf is verified; the broader platform adoption work remains in #124.

Follow-up issues filed: #420.

@cristim
cristim deleted the fix/aws-commitment-currency branch October 15, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/s Hours impact/many Affects most users priority/p2 Backlog-worthy severity/medium Moderate harm triaged Item has been triaged type/feat New capability urgency/this-sprint Within the current sprint

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(aws): retain checked commitment payment currency

1 participant