# Website Guardrails (Mandatory) This document defines architecture guardrails that must be enforced via tests + ESLint. ## 1) RSC boundary guardrails Fail CI if any `apps/website/app/**/page.tsx`: - imports from `apps/website/lib/view-models/*` - calls `Intl.*` or `toLocale*` - performs sorting/filtering (`sort`, `filter`, `reduce`) beyond trivial null checks ## 2) Template purity guardrails Fail CI if any `apps/website/templates/**`: - imports from `apps/website/lib/view-models/*` - imports from `apps/website/lib/display-objects/*` - calls `Intl.*` or `toLocale*` Templates accept ViewData only. ## 3) Display Object guardrails Fail CI if any `apps/website/lib/display-objects/**`: - calls `Intl.*` or `toLocale*` Display Objects must be deterministic.