Launchers can now declare `constraints`, including `forbids`, that refuse incompatible selections in the composition model and explain each refusal.
Released on August 17, 2026
Launcher constraints
- Launcher definitions accept a new
constraintsblock that turns invalid combinations into selection refusals in the composition model, rejecting incompatible choices before a launch is composed. - The
forbidsrule declares selections that cannot be combined, and refusal messages lead with the choice that triggered them so it is clear which selection to change. - Constraint diagnostics name the constraint that shadows an unreachable one and flag a bare launch that exceeds the allowed ceiling.