Billing meets the plan
Apply steps in CrossXClient are now gated on billing credit end to end, so you can no longer apply a plan you can't actually pay for.
We’ve written before about how CrossXCloud keeps Terraform’s plan-before-apply discipline on a visual canvas. That discipline had a gap: nothing stopped you from approving a plan whose infrastructure cost more than you had credit to cover.
The credit gate
Apply steps are now gated on billing credit end to end. Before CrossXClient reconciles your plan against real infrastructure, it checks that the account behind it can actually afford what’s about to be created. If it can’t, the apply stops there — before anything spins up, not after.
This isn’t a warning banner bolted onto the side of the editor. The gate lives in the same reconcile path that turns your canvas into real resources, so there’s no route to an apply that skips it.
Why this belongs in reconciliation, not the UI
A billing check that only lives in the front end can be raced, cached past its expiry, or simply skipped by whatever calls the apply path next. Putting the gate in reconciliation itself means every apply — from the canvas, from an automation, from anywhere — goes through the same check.
It also means the failure mode is honest: if an apply is blocked on credit, that’s what the plan will tell you, not a generic error after something half-applied.
What’s next
This is the first piece of billing awareness landing in the apply path. The next step is surfacing projected cost on the plan itself, before you ever hit apply — so the credit gate becomes confirmation of something you already expected, not a surprise.