Summary
--estimate-only skips the pre-flight instance-type constraint validation added in #110 (PR #111). It prints a cost estimate even for a configuration that would fail validation at real launch, so it can't be used to "dry-run" whether a launch is viable.
Reproduction (spawn v0.43.0)
$ spawn launch test --instance-type t3.micro --efa --region us-west-2 --estimate-only
💰 Cost estimate for t3.micro in us-west-2
On-demand: $0.0104/hr
✅ Estimate complete — no instances launched (--estimate-only)
t3.micro has no EFA support, so a real launch should fail #110 validation — but --estimate-only reports success.
Expected
--estimate-only should run the same constraint validation (EFA / hibernation / MPI / placement-group) as a real launch, before the cost estimate, and surface the same actionable error. That makes --estimate-only a true dry-run: "would this launch succeed, and what would it cost?"
This is the natural place users reach for to validate a config without spending money — having validation only on the real launch path means the cheapest way to test a constraint is to actually attempt a launch (which is exactly what you want --estimate-only to avoid).
Context
Found while verifying #110 in v0.43.0. The fix itself works on the real launch path; this is just that --estimate-only bypasses it. Minor, but it's the flag you'd use to check constraints safely.
Summary
--estimate-onlyskips the pre-flight instance-type constraint validation added in #110 (PR #111). It prints a cost estimate even for a configuration that would fail validation at real launch, so it can't be used to "dry-run" whether a launch is viable.Reproduction (spawn v0.43.0)
t3.micro has no EFA support, so a real launch should fail #110 validation — but
--estimate-onlyreports success.Expected
--estimate-onlyshould run the same constraint validation (EFA / hibernation / MPI / placement-group) as a real launch, before the cost estimate, and surface the same actionable error. That makes--estimate-onlya true dry-run: "would this launch succeed, and what would it cost?"This is the natural place users reach for to validate a config without spending money — having validation only on the real launch path means the cheapest way to test a constraint is to actually attempt a launch (which is exactly what you want
--estimate-onlyto avoid).Context
Found while verifying #110 in v0.43.0. The fix itself works on the real launch path; this is just that
--estimate-onlybypasses it. Minor, but it's the flag you'd use to check constraints safely.