You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(deps): next providers/azure pin must be at or after cloud-commitments-go 58c25f0 (fail-closed savings-plan inventory) #653
cloud-commitments-go PR #207 (fix(azure): report only savings plans billed to the subscription) merged to main as 58c25f0, AFTER the run-rate fix e24345c that fleet PR #475 pins at (11fdc1f). e24345c is 1 commit behind 58c25f0, so when #475 merges the platform still won't have this fix.
Behavioral change: GetExistingCommitments for Azure savings plans can now return an ERROR where it previously returned a silently partial list (billing-account/management-group scopes and malformed rows hard-error; fail-closed by design). No exported signature change - compiles unchanged.
Consumer audit (this repo, 2026-10-07): NO production call sites of GetExistingCommitments exist - only test mocks (internal/purchase/mocks_test.go:131, internal/api/handler_purchases_retry_fanout_test.go:105) satisfy the provider.ServiceClient interface. Duplicate-purchase protection is DB/idempotency-token based, not inventory-read based, so no caller treats the error as empty inventory. Fail-closed is safe to adopt as-is; errors surfacing through library-internal purchase paths already propagate through the platform's PurchaseCommitment error mapping.
Action when the pin freeze lifts (no azure go.mod/go.sum changes while #475 is in flight): bump ONLY providers/azure to a pseudo-version >= 58c25f0 (tip aa903fe5 as of 2026-10-07T14:08Z also includes the gcp #205 restore, but that rides its own per-module pin). After the bump, grep for new GetExistingCommitments call sites and confirm any caller honors the error rather than treating it as empty inventory.
Relates: #650 (closed by #475, pins at e24345c), #521 (separate ri-exchange bump).
Follow-up check from the issue:git grep -n GetExistingCommitments -- '*.go', excluding _test.go, finds no production call sites in this repo. So there's no caller that could treat the new error as empty inventory. (fix(gcp): wire the recent-commitment duplicate checker into the platform #682 tracks wiring the duplicate checker in, and that's where honoring the error will matter.)
Activity
IAmJSD commentedon Oct 16, 2026
Released: already done (closing, details below)
IAmJSD commentedon Oct 16, 2026
Closing: this is already done on main.
go.modpinsproviders/azureatv0.0.0-20261012205319-ad67030387e4, bumped in fix(ladder): persist immediate ramp steps as tranches, plan JSON display-only (B1) #826 (93eb871). In cloud-commitments-go,git merge-base --is-ancestor 58c25f0 ad67030387e4exits 0, so the pin includes the fail-closed savings-plan inventory fix from fix(ci): database-migration.yml discards the real terraform error when reading the DB endpoint #207, andad67030is on that repo's main.git grep -n GetExistingCommitments -- '*.go', excluding_test.go, finds no production call sites in this repo. So there's no caller that could treat the new error as empty inventory. (fix(gcp): wire the recent-commitment duplicate checker into the platform #682 tracks wiring the duplicate checker in, and that's where honoring the error will matter.)