The CLI applies expiry adjustment to recommendation percentages, then RDS family sizing reads the unchanged coverage map. Family sizing can discard the expiry adjustment or drop recommendations as already at target.
Source at CLI main 652fc94af4593273946ad8d5eafc2ad430496f1e and SharedGo main 9962786e06951a20d58980954e8024fbf49e2d0c:
Source-derived reproduction to verify: use a recognized RDS family with positive normalized-unit demand, existing coverage 80%, target 80%, and an active matching RI ending inside the rebuy window. Expiry adjustment lowers recommendation coverage, but family sizing still sees 80% and drops the family. This scenario has not been executed as part of #70.
Expected: account for expiring normalized units exactly once before family target sizing. Preserve region, family, engine, deployment, and size-flex behavior. Do not convert account rows into repeated deductions of the same expiry.
Acceptance:
- Reproduce through the actual CLI dry-run command and reported recommendations, with no purchase flags. Record parent failure and corrected output.
- Cover the already-at-target case, a below-target family with count and cost assertions, multiple sizes and linked-account rows, and an outside-window control.
- Preserve engine and deployment isolation, existing no-signal behavior, and non-RDS sizing.
- Publish and verify any SharedGo change through the CLI's pinned dependency.
Related: LeanerCloud/cloud-commitments-go#70 fixes the pool denominator. It does not change this later family-sizing pass. Keep this issue separate from that producer change.
The CLI applies expiry adjustment to recommendation percentages, then RDS family sizing reads the unchanged coverage map. Family sizing can discard the expiry adjustment or drop recommendations as already at target.
Source at CLI main
652fc94af4593273946ad8d5eafc2ad430496f1eand SharedGo main9962786e06951a20d58980954e8024fbf49e2d0c:ApplyFamilyNUSizingRDS.Source-derived reproduction to verify: use a recognized RDS family with positive normalized-unit demand, existing coverage 80%, target 80%, and an active matching RI ending inside the rebuy window. Expiry adjustment lowers recommendation coverage, but family sizing still sees 80% and drops the family. This scenario has not been executed as part of #70.
Expected: account for expiring normalized units exactly once before family target sizing. Preserve region, family, engine, deployment, and size-flex behavior. Do not convert account rows into repeated deductions of the same expiry.
Acceptance:
Related: LeanerCloud/cloud-commitments-go#70 fixes the pool denominator. It does not change this later family-sizing pass. Keep this issue separate from that producer change.