docs
This commit is contained in:
@@ -2,11 +2,14 @@
|
||||
|
||||
This document defines architecture guardrails that must be enforced via tests + ESLint.
|
||||
|
||||
Authoritative contract: [`WEBSITE_CONTRACT.md`](docs/architecture/website/WEBSITE_CONTRACT.md:1).
|
||||
|
||||
## 1) RSC boundary guardrails
|
||||
|
||||
Fail CI if any `apps/website/app/**/page.tsx`:
|
||||
|
||||
- imports from `apps/website/lib/view-models/*`
|
||||
- imports from Presenter code (presenters live colocated with ViewModels)
|
||||
- calls `Intl.*` or `toLocale*`
|
||||
- performs sorting/filtering (`sort`, `filter`, `reduce`) beyond trivial null checks
|
||||
|
||||
@@ -15,6 +18,7 @@ Fail CI if any `apps/website/app/**/page.tsx`:
|
||||
Fail CI if any `apps/website/templates/**`:
|
||||
|
||||
- imports from `apps/website/lib/view-models/*`
|
||||
- imports from presenter code (presenters live colocated with ViewModels)
|
||||
- imports from `apps/website/lib/display-objects/*`
|
||||
- calls `Intl.*` or `toLocale*`
|
||||
|
||||
@@ -27,4 +31,3 @@ Fail CI if any `apps/website/lib/display-objects/**`:
|
||||
- calls `Intl.*` or `toLocale*`
|
||||
|
||||
Display Objects must be deterministic.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user