Back Office · office.temerarii.xyz
BRAND-BOOK-RELIABILITY.md

← all docs

Brand-book reliability — so it's always reviewable + machine-usable

The brand book serves two consumers with different reliability needs. They are decoupled — a failure in one cannot break the other.

1. The content engine (machine) — reads JSON, never the 3D

The engine creates content from governance/brand.json (voice · pillars · palette · color · fonts · type · motion · tokens · banned words · social rotation) + the gates enforce it (qa_gate, voice rails, the calendar gates). It never loads the rendered HTML or the live WebGL. So 3D/CDN fragility can never affect content generation. The machine contract is the JSON; keep it complete + gated.

2. Humans (review) — never a broken graphic

Three layers guarantee a brand-accurate render on any browser, any time:

  • Dependency-free core: palette, type, voice, components, 41 inline-SVG graphics, CSS motion — zero external deps. Always render.
  • Live 3D = progressive enhancement over a static poster: the orbiting-cast canvas sits over an ember+mark poster (#bb-cast-fallback). If WebGL/importmap/CDN are unavailable, the poster shows instead of a black box (also satisfies §12 reduced-motion). Verified headless: poster auto-hides when WebGL succeeds, stays when it fails.
  • es-module-shims: importmaps work even on browsers without native support (older Safari / in-app webviews).
  • Cache: vercel.json sets Cache-Control: no-store → reviewers always get the latest deploy (no stale build). Hard-refresh clears any pre-existing cached copy once.

3. The last external dependency — removable in one command

The only external dependency is 3 unpkg URLs (three.js + SVGLoader + es-module-shims) for the live specimen. To remove them permanently (works offline, immune to unpkg outage/version drift):

bash scripts/vendor_three.sh && python apps/office/build_office.py && (cd apps/office && vercel --prod --yes)

Self-hosts the libs into apps/office/public/brand-book/vendor/ and repoints the importmap to local. After this the brand book has zero external dependencies. (Must run on a machine with network — the build sandbox is network-restricted.)

Regression guard

Before deploy, confirm no new external CDN deps crept in:

grep -roE "https://(unpkg|cdn\.jsdelivr|esm\.sh|cdnjs)" apps/office/public/*/index.html

Pre-vendor: 3 lines (brand book three.js). Post-vendor: should be empty.

Feedback loop (what works → office)

Content engine produces (per brand.json) → publishes → the funnel/measurement spine (UTM → analytics → CRM) reports results back to the office (the kill/scale loop + Receipts). The brand book is the standard; the office is where outcomes report.