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
fix(ladder): on-demand baseline dollars are bought 1:1 as commitment dollars (over-buys by 1/(1-discount)) once the executor ships #349
Found by the go#282 planner (plan: ~/.claude/projects/cloud-commitments-go/plans/go-282-ladder-residual-baseline.md).
The ladder sizes commitments from an on-demand-priced baseline series (uncovered on-demand EC2 dollars per hour). Allocate buys that many commitment dollars 1:1. A Savings Plan or RI hourly commitment is stated in discounted dollars, so covering X on-demand dollars per hour needs about X * (1 - discount) commitment dollars per hour. Buying X commitment dollars over-buys by roughly 1 / (1 - discount) (for a 30% discount, about 43% too much commitment).
Today the executor is disabled so no money has moved (platform#118 / #70 track the executor). This must be fixed before any executor ships: convert on-demand baseline to commitment dollars using the offering/commitment rate (per layer: Compute SP, EC2 Instance SP, Convertible RI), fail loud when the rate is unknown, never default to 1:1.
PR #404 adds the provider boundary for measured regional EC2 Instance SP rates, reusing the calculation from #352 and the allocation contract from #353. The purchase precision change is already merged in #403.
This leaves #349 open. Compute sizing still needs a supported workload-matching policy; neither an account blend nor an EC2 proxy is selected implicitly. The remaining integration also needs the residual-baseline and existing-exposure normalization work in #282, followed by a coherent platform pin update with immutable NUMERIC tranche rates, stored-rate in-flight netting and consistent OD/commitment displays.
The automatic execution continuation is tracked in LeanerCloud/cloud-commitments-platform#118 and LeanerCloud/cloud-commitments-platform#70. It still needs the due-tranche callback and task wiring, reusing the claim locks, grants, retry protection, execution rechecks and visibility components that have already landed. Enablement stays a separate owner decision after the full chain is verified.
The scoped EC2 rate-capability leaf is merged through #404 and its separate packaging correction #405. Main commit: 9511dcfbdcb1aa9eac8081b54b6a648434580496.
Fresh published-main consumer proof passed. Starting with only AWS v0.0.0-20261015081001-9511dcfbdcb1, normal dependency resolution selects the shared optional interface. Build and fresh race tests passed without replacements or workspace overrides, exercising SDK request/response fixtures, filtering, pagination, missing and malformed data, Compute Holds, commitment sizing and stored-rate replay.
Independent exact-revision reviews and the dependency finding's fail-before/pass-after evidence are recorded on both PRs. Final CodeRabbit review was rate limited; its existing finding was fixed and verified. Both merges used the repository's documented independent-review waiver and normal server protections.
These are constructed local SDK transport responses, not live AWS billing acceptance. No purchase, deployment or execution enablement occurred.
#349 remains open. The next prerequisite is #282's total OD baseline and existing-exposure normalization using actual scoped observations. The remaining program also includes the matching-workload/Compute policy decision, compatible platform module adoption, immutable tranche-rate persistence and c/r netting, and due-tranche executor/task continuation. Missing rates still Hold; that does not complete automatic ladder execution. Flags and schedulers stay off. Retrospective CodeRabbit review for #404/#405 remains tracked here when review quota becomes available.
Merged #413 normally as 8b27158582fe0034c1b0800522579d9f7fde785e.
Fresh published-main verification passed on macOS Go1.26.9: a new external module initially required only AWS v0.0.0-20261015103505-8b27158582fe; normal module resolution selected shared v0.0.0-20261015071854-5b254484d5e4, without a replacement, workspace or explicit initial shared pin. The unchanged independently reviewed public-factory and direct collector consumers passed a fresh race run. All 47 published AWS production/module files match exact merged main; the AWS/shared source equals reviewed 1bf6d0e. SDK responses remain constructed loopback fixtures, not live billing observations.
Post-merge status is not all green: pre-commit passed, but main CI failed its unit job with the recurring HTTP 200 body-read socket error, this time in TestScopedBaselineParentCompatible/lag2. #414 is active main-CI repair. Retries stopped; connection-lifetime instrumentation is being reviewed. The closing actor remains unknown, and cleanup is held.
This merged leaf supplies scoped DAILY residual observations, not reconstructed total demand. Historical E/k units and cohort rates, total-demand observations, persisted tranche rates, compatible platform pin/in-flight accounting and executor adoption remain open under #282 and #349. No real purchases, deployments or runtime enablement were performed.
Follow-up issues filed: #414 for the observed recurring Linux fixture failure. The remaining ladder work stays explicitly tracked by #282 and #349; neither parent issue is complete.
Decision needed (one line): which workload-matching policy sizes Compute SP commitment rates: a per-family proxy, an account blend, or fail loud until a rate is supplied? Merged so far: #403, #404, #405, #413; #282 is in flight as #441. Safe default: fail loud when no rate is known, never 1:1. Marking status/needs-info.
Activity
feat(aws/recommendations): add SP commitment rate from CE recommendat…
feat(aws/recommendations): add SP commitment rate from CE recommendat…
feat(aws/recommendations): derive SP commitment rates
feat(ladder)!: convert on-demand gap to commitment dollars in Allocate (
cristim commentedon Oct 15, 2026
PR #404 adds the provider boundary for measured regional EC2 Instance SP rates, reusing the calculation from #352 and the allocation contract from #353. The purchase precision change is already merged in #403.
This leaves #349 open. Compute sizing still needs a supported workload-matching policy; neither an account blend nor an EC2 proxy is selected implicitly. The remaining integration also needs the residual-baseline and existing-exposure normalization work in #282, followed by a coherent platform pin update with immutable NUMERIC tranche rates, stored-rate in-flight netting and consistent OD/commitment displays.
The automatic execution continuation is tracked in LeanerCloud/cloud-commitments-platform#118 and LeanerCloud/cloud-commitments-platform#70. It still needs the due-tranche callback and task wiring, reusing the claim locks, grants, retry protection, execution rechecks and visibility components that have already landed. Enablement stays a separate owner decision after the full chain is verified.
fix(aws): expose rate interface through shared minimum (#405)
feat(ladder): expose scoped EC2 commitment rates (#404)
cristim commentedon Oct 15, 2026
The scoped EC2 rate-capability leaf is merged through #404 and its separate packaging correction #405. Main commit:
9511dcfbdcb1aa9eac8081b54b6a648434580496.Verification on the merged revision:
v0.0.0-20261015081001-9511dcfbdcb1, normal dependency resolution selects the shared optional interface. Build and fresh race tests passed without replacements or workspace overrides, exercising SDK request/response fixtures, filtering, pagination, missing and malformed data, Compute Holds, commitment sizing and stored-rate replay.These are constructed local SDK transport responses, not live AWS billing acceptance. No purchase, deployment or execution enablement occurred.
#349 remains open. The next prerequisite is #282's total OD baseline and existing-exposure normalization using actual scoped observations. The remaining program also includes the matching-workload/Compute policy decision, compatible platform module adoption, immutable tranche-rate persistence and c/r netting, and due-tranche executor/task continuation. Missing rates still Hold; that does not complete automatic ladder execution. Flags and schedulers stay off. Retrospective CodeRabbit review for #404/#405 remains tracked here when review quota becomes available.
cristim commentedon Oct 15, 2026
Merged #413 normally as
8b27158582fe0034c1b0800522579d9f7fde785e.Fresh published-main verification passed on macOS Go1.26.9: a new external module initially required only AWS
v0.0.0-20261015103505-8b27158582fe; normal module resolution selected sharedv0.0.0-20261015071854-5b254484d5e4, without a replacement, workspace or explicit initial shared pin. The unchanged independently reviewed public-factory and direct collector consumers passed a fresh race run. All 47 published AWS production/module files match exact merged main; the AWS/shared source equals reviewed1bf6d0e. SDK responses remain constructed loopback fixtures, not live billing observations.Post-merge status is not all green: pre-commit passed, but main CI failed its unit job with the recurring HTTP 200 body-read socket error, this time in
TestScopedBaselineParentCompatible/lag2. #414 is active main-CI repair. Retries stopped; connection-lifetime instrumentation is being reviewed. The closing actor remains unknown, and cleanup is held.This merged leaf supplies scoped DAILY residual observations, not reconstructed total demand. Historical E/k units and cohort rates, total-demand observations, persisted tranche rates, compatible platform pin/in-flight accounting and executor adoption remain open under #282 and #349. No real purchases, deployments or runtime enablement were performed.
Follow-up issues filed: #414 for the observed recurring Linux fixture failure. The remaining ladder work stays explicitly tracked by #282 and #349; neither parent issue is complete.
fix(ladder): net in-flight tranches per row basis in on-demand-equiva…
fix(ladder): convert amend ceiling amounts by the amended tranche's o…
fix(ladder): net in-flight tranches per row basis in on-demand-equiva…
fix(ladder): convert amend ceiling amounts by the amended tranche's o…
fix(ladder): convert amend ceiling amounts by the amended tranche's o…
cristim commentedon Oct 17, 2026
Decision needed (one line): which workload-matching policy sizes Compute SP commitment rates: a per-family proxy, an account blend, or fail loud until a rate is supplied? Merged so far: #403, #404, #405, #413; #282 is in flight as #441. Safe default: fail loud when no rate is known, never 1:1. Marking
status/needs-info.