Product architecture
Sater keeps product-specific work behind narrow integration points:
- Product identity, protocols, data directories, and extension-gallery configuration live in
product.json. - The Sater visual system is an isolated built-in extension at
extensions/sater-theme. - The small core theme patch selects Sater Dark by default and supplies matching bootstrap colors before extensions load.
- The Sater locale contribution owns the interface-language setting, first-run language choice, RTL shell direction, and code-surface direction boundary.
- Approved brand assets live under
resources/sater; generated platform icons remain in Code - OSS's standard resource paths. - Further Arabic behavior should use the isolated locale boundary first, Monaco changes second, and wider workbench/core changes only where platform abstractions cannot express the required behavior.
Every Sater-owned integration point and its expected merge risk is recorded in docs/UPSTREAM.md. Brand color roles are recorded in docs/DESIGN_TOKENS.md.
Source captured: 2026-10-11