- Shipped
- August 31, 2026 at 2:20 AM UTC
- Author
- Kamo
- Commit
- 9749ff5
An EMPTY applicablePlanIds means "no restriction" downstream, so a restriction that fails to TRANSLATE must not be allowed to become an empty list. A Business-only code whose plan UUID is missing from the catalog would have silently widened into an every-plan code — the same widening the server was doing by not reading these fields at all. It now refuses to advertise the promotion, which is wrong in the safe direction: nobody is offered a discount checkout will decoder. Same for a code that names only cycles the page does not offer. Adds check-plan-pricing, following the check-discount-cookie pattern (tsx, no new dependency) rather than introducing a test runner this repo does not have. 43 assertions over the one module every price now comes from: the term ladder and its fallbacks, which plans a promotion covers, that the percentage comes off the TERM rate rather than the list price, the money labels, and that the code actually reaches the register link — because "applied automatically" is only true while it does. Runs in prebuild, so it gates the image build.