← Command Centre

Quiz Hardening Rollout · 2026-05-12

FR/US silent-fail patch — then full hardening pass across UK, US, DE, FR: renderer matrix completion, fail-loud {%- else -%} branch, JS schema validator, fail-loud welcome heading fallback, safe-DOM debug renderer. 14 live quiz pages affected.

GREEN · verified 2026-05-13T13:01:18Z
UK
5/5
pages PASS
US
3/3
pages PASS
DE
3/3
pages PASS
FR
3/3
pages PASS

What changed

Phase A · DE renderer fix SHIPPED
DE snippets/bz-quiz.liquid had UK-only matrix — mirrored FR's multi-market if/elsif. Unblocked 3 broken DE pages.
Theme 178768019720.
Phase B · FR data snippet redeploy SHIPPED
FR bz-quiz-data-fr-a.liquid live blob had stale English welcome_heading. Pushed local French version.
Theme 179437175126.
Phase B-bis · DE data snippet redeploy SHIPPED
Same bug as FR — DE live blob had stale English heading. Pushed local German version.
Theme 178768019720.
Phase C · fail-loud else branch SHIPPED
All 4 stores' snippets/bz-quiz.liquid matrix gained {%- else -%} that emits an {"_error":"no_match"} JSON config + a request.design_mode-gated diagnostic div.
Phase D · JS hardening SHIPPED
Shared assets/bz-quiz.js: 10-line validateConfig(), fail-loud welcome-heading fallback (UK keeps English default, others show [missing welcome_heading]), safe-DOM _renderError(reason, context) with ?debug_quiz=1 diagnostic panel. Same body to all 4 stores.
Phase E · 5-log ritual SHIPPED
Appended to reference/deployment-log.md, session-32-targeting-golive.md bank. Component registry refreshed. Pages registry no-op.

Live verification — 14 quiz pages

Raw HTTP fetch with cache-bust, parsed <script id="bz-quiz-config"> JSON, asserted required schema keys + per-market welcome_heading language.

MarketKindURLVerdictWelcome headingConfigNotes
UKpagequiz-are-you-suffering-from-brain-fogPASSWhy am I foggy?uk/AEnglish welcome: 'Why am I foggy?'
UKarticlebrain-fog-quizPASSWhy am I foggy?uk/AEnglish welcome: 'Why am I foggy?'
UKarticlebrain-fog-quiz-bPASSFind the right Brainzyme® for your brain foguk/BEnglish welcome: 'Find the right Brainzyme® for your brain fog'
UKarticlebrain-fog-quiz-cPASSDiscover your Brain Fog Indexuk/CEnglish welcome: 'Discover your Brain Fog Index'
UKarticlefind-your-focus-path-quizPASSFind Your Focus Pathuk/gdEnglish welcome: 'Find Your Focus Path'
USpagequiz-are-you-suffering-from-brain-fogPASSWhat&#x27;s slowing your brain down?us/AEnglish welcome: "What's slowing your brain down?"
USpagebrain-issues-quizPASSWhat&#x27;s slowing your brain down?us/AEnglish welcome: "What's slowing your brain down?"
USpagequiz-how-do-you-feel-todayPASSWhat&#x27;s slowing your brain down?us/AEnglish welcome: "What's slowing your brain down?"
DEpagebrain-issues-quizPASSWarum fühle ich mich so geistig erschöpft?de/AGerman welcome heading present
DEpagequiz-are-you-suffering-from-brain-fog-dePASSWarum fühle ich mich so geistig erschöpft?de/AGerman welcome heading present
DEpagequiz-how-do-you-feel-today-dePASSWarum fühle ich mich so geistig erschöpft?de/AGerman welcome heading present
FRpagebrain-issues-quizPASSPourquoi ai-je le brouillard mental ?fr/AFrench welcome heading present
FRpagequiz-are-you-suffering-from-brain-fog-frPASSPourquoi ai-je le brouillard mental ?fr/AFrench welcome heading present
FRpagequiz-how-do-you-feel-today-frPASSPourquoi ai-je le brouillard mental ?fr/AFrench welcome heading present

JS hardening — one bz-quiz.js per store

Fetched CDN-delivered bz-quiz.js per store and grepped for hardening sentinels: validateConfig function, market-aware welcome fallback, safe-DOM debug renderer.

MarketJS assetBytesSHA-256[:8]VerdictChecks
UKbz-quiz.js346326deb3183PASS✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer
USbz-quiz.js34632dab661e0PASS✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer
DEbz-quiz.js3463222489f0ePASS✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer
FRbz-quiz.js34632747367a1PASS✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer

Backups, scripts, rollback

All pre-deploy bodies + re-usable deploy scripts:

Flagged-but-not-fixed (deferred to future sessions)

  • Full 9-Q recommendation card extraction per market — Browserbase rate-limited during agent's verify. Schema is validated; visual full-completion sweep pending.
  • DE body copy localization beyond welcome heading — "Start the quiz", "3 phases / 9 questions / ~90 seconds", and other engine strings still render English on DE pages. Different code path in bz-quiz.js. Separate localization ticket.
  • Architecture refactor — metaobjects vs if/elsif matrix — Codex MEDIUM. Defer until current routing is stable.
  • shopify:section:load re-init listener — Codex MEDIUM. Needs idempotency guard before adding. Theme-Editor concern only.
  • codex_qc.py UTF-8 stdout fix — wrapper crashed earlier on a Unicode arrow char (U+2192). One-line sys.stdout.reconfigure(encoding='utf-8') fix.
  • data.json drift refresh — local pages_registry cache flagged 4 UK quiz handles that are actually articles (URL-construction error in older verify script). Worth a registry-sync pass.

SOP touchpoints (per Calum, 2026-05-13)

Calum is updating internal SOPs to bake this rollout's lessons into the standard quiz-deploy flow. SOPs that need to be touched:

Generated by build-hardening-dashboard.py on 2026-05-13T13:01:18Z. Sidecar: verify-results.json.