The brand book serves two consumers with different reliability needs. They are decoupled — a failure in one cannot break the other.
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.
Three layers guarantee a brand-accurate render on any browser, any time:
#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).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.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.)
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.
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.