Fifteen businesses, unable to take a single order
A tier-scoped forms redesign left published listings resolving to 'No application form is currently available', with Continue permanently disabled.
Only visible by using it
Invisible to a code read. Found by being the real user, on a real device, at a real width.
On the fresh 48-organisation dataset, a real customer could browse a real organisation — 5.0 rating, active, open chips on all three categories, 90 seats, a full fee table, a red Apply Now — click through, pick any category and tier, and land on "No application form is currently available for this program" with Continue permanently disabled.
The tier-scoped forms redesign made (program_id, tier_level) the only resolution path and deleted the organisation- and branch-level fallbacks. Pre-existing organisation-scoped templates have scope_type='organisation', program_id IS NULL and no tier rows, so they can never resolve while still reading as published. Measured: 15 of 25 active organisations affected, 8 working, 2 with no published form at all.
It's invisible from both directions. The admin's own page shows their form as published, so they think they're live. The customer sees a populated listing with real prices. Nothing errors — every console and network log was clean. It only surfaces if someone walks the whole flow as a customer on a organisation nobody had tested.
And the fix wasn't the fix. The backfill ran, inserted the tier rows, and the flow was still dead, because the resolver was also filtering program_id on the template row itself. I only found that by re-driving the flow in a browser instead of trusting the row count the script printed. Applyable organisations went 8 to 23 of 25.
Two things worth keeping. A migration reporting "27 rows written" is evidence about the migration, not the feature. And any redesign that removes a fallback should ship with a query listing exactly what stops resolving — the consequence here was stated and accepted at design time, and nobody enumerated the 15 organisations it landed on.