How it is built
Engineering.
Architecture Atlas is a static export. Citations, known unknowns, and offline caching are first-class product signals — not afterthoughts.
Product boundary
This is an authored teaching reference, not a simulator, capacity planner, or config generator. Walkthroughs are ordered operations folded into frames by a pure TypeScript engine — the UI never invents the next state. See docs/adr/0001-teaching-tool-not-simulator.md.
Provenance
Every architecture claim resolves to a source id in the offline catalog. Company pages require a non-empty Known unknowns list (ADR 0004). Unauthored means absent on /coverage/. CI fails on uncited technical assertions via the Architecture Atlas ESLint rule.
Offline / PWA
A service worker caches the app shell plus key routes after the first visit. To verify:
- Run a production export (
pnpm run ciorpnpm build) and serve the static output. - Open the site once online so the service worker installs.
- Disable network in DevTools, reload — home, coverage, and previously visited architecture pages should still load from cache.
Manifest: /manifest.webmanifest. Service worker: /sw.js.
Embed
URL helpers live in @architecture-atlas/embed. Demo: /embed/demo/. Prefer presenter mode inside iframes.
Deploy
Public host: Vercel at architectures.alexflux.com — docs/adr/0005-public-host-vercel.md. Optional nginx image: deploy/Dockerfile + deploy/compose.yaml. This repository does not push itself to production or a lab host.
Cross-links from alexflux.com: checklist in docs/alexflux-cross-links.md.
Budgets
CI enforces Lighthouse ≥ 98 (perf / a11y / best-practices / SEO) on home, collapsed-core, spine-leaf, and engineering, plus a gzipped JS+HTML route budget (pnpm budget).