Repository navigation
fix(recfilter): coverage drop reason, EC2 platform engine filter, money scaling on dedupe - #379
Conversation
ApplyCoverage labelled floor-to-zero drops target-sized-to-zero even when --target-coverage was unset. Add DropCoverageSizedToZero and record the coverage<=0 drop-all too. Rounding stays floor: coverage is an upper bound. Refs #368 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CSV labels EC2 Platform as Engine but IncludesEngine only read database and cache engines. Add EngineFilterKey, leaving EngineFromDetails (dedupe key, Matches) untouched. Refs #369 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add common.ResizeCount (count change plus proportional money scaling via ScaleRecommendationCosts, erroring on a source count with no per-unit cost) and use it in the duplicate checker. Refs #370 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reached
This review includes 10 billable files and costs up to $2.50.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 38 minutes for your next included review. View limit details
Comment |
|
Independent review (claude-opus-5-5) of cc2144d: APPROVE No blocking findings in pkg. One downstream test must change when the CLI bumps (see below). A10 ResizeCount
In dedupe the error path cannot actually be reached, because Pre-existing gap, not caused by this PR: dedupe does not recompute ProjectedCoverage/Utilization or DataWarehouseDetails.NumberOfNodes (#1845). A9 EngineFilterKeyHow the real CE platform strings normalize:
So A7 labelNon-blocking but required at the bump: the CLI test PR is BEHIND main. The merge with main and #376 is clean and green. Evidence
|
Refs #368, #369, #370 (pkg-first step; CLI consumes via go.mod bump). Three atomic commits, one per issue. Independent of #376.
#368 coverage label
ApplyCoverage(pkg/recfilter/sizing.go~68-78) reported floor-to-zero drops astarget-sized-to-zero. Newcommon.DropCoverageSizedToZero(--coverage-sized-to-zero); coverage<=0 now also records its drops. Floor kept: the flag is documented asrec.Count * coverage/100, an upper bound, and the discrete ratio keeps Count and money in step. Docs should say counts round down and rows rounding to 0 are dropped.#369 engine filter
IncludesEngineread only DB/cache engines. Newcommon.EngineFilterKey: EC2 uses its normalized Platform (lowercase, optional(Amazon VPC)suffix,linux/unixalias forlinux/unix).EngineFromDetailsis unchanged because it feeds the dedupe key andMatches, where existing EC2 commitments have no engine. Notewindowsdoes not matchWindows with SQL Server; use the displayed value.#370 money scaling
dedupe.go~262 set Count only. New shared helpercommon.ResizeCount(rec, n) (Recommendation, error)scales viaScaleRecommendationCostsby n/Count, errors on source Count<=0 or n outside [1, Count]. The CLI cut (cmd/multi_service_engine_versions.go~497) should call it after the bump.Evidence
Fail before (new tests, old sources):
After:
go test ./...in pkg ok; providers aws/azure/gcp build with workspace and GOWORK=off;go vetclean.🤖 Generated with Claude Code