AGENTS.md is explicit: stx <script> blocks use signals (state / derived / effect) and composables, never var, document.* or window.*. Thirteen views do not follow it:
index.stx, order.stx, place-body.stx, track.stx, kitchen.stx, courier.stx, manage.stx, earnings.stx, shares.stx, orders.stx, saved.stx, claims.stx, t.stx.
Why they ended up that way. These pages are prerendered static files whose interactive parts render from JSON APIs, and the vanilla path was the one that kept working while several stx behaviours did not: per-request views dropping awaited values (stacksjs/stacks#2390), in a client script breaking the build (#2391), rendering empty in the dev server but not the build (#2392), and the client router following a link click through preventDefault (#2393). It was drift rather than a decision, and it works, which is exactly why it is worth writing down rather than leaving as an unexplained inconsistency.
Cost of fixing. Every interactive surface, with real regression risk: these are the flows that have been verified end to end in production (ordering, tracking, the kitchen board, the courier console, reviews, shares). Any conversion should go one view at a time with the browser check repeated after each.
Worth doing if the app is meant to read as a reference Stacks build, which is half its purpose. Worth deferring if the priority is the remaining feature work in #16 and #17.
Flagged during the design pre-flight in #19 rather than passed over.