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.
snippets/bz-quiz.liquid had UK-only matrix — mirrored FR's multi-market if/elsif. Unblocked 3 broken DE pages. bz-quiz-data-fr-a.liquid live blob had stale English welcome_heading. Pushed local French version. snippets/bz-quiz.liquid matrix gained {%- else -%} that emits an {"_error":"no_match"} JSON config + a request.design_mode-gated diagnostic div.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.reference/deployment-log.md, session-32-targeting-golive.md bank. Component registry refreshed. Pages registry no-op.Raw HTTP fetch with cache-bust, parsed <script id="bz-quiz-config"> JSON, asserted required schema keys + per-market welcome_heading language.
| Market | Kind | URL | Verdict | Welcome heading | Config | Notes |
|---|---|---|---|---|---|---|
| UK | page | quiz-are-you-suffering-from-brain-fog | PASS | Why am I foggy? | uk/A | English welcome: 'Why am I foggy?' |
| UK | article | brain-fog-quiz | PASS | Why am I foggy? | uk/A | English welcome: 'Why am I foggy?' |
| UK | article | brain-fog-quiz-b | PASS | Find the right Brainzyme® for your brain fog | uk/B | English welcome: 'Find the right Brainzyme® for your brain fog' |
| UK | article | brain-fog-quiz-c | PASS | Discover your Brain Fog Index | uk/C | English welcome: 'Discover your Brain Fog Index' |
| UK | article | find-your-focus-path-quiz | PASS | Find Your Focus Path | uk/gd | English welcome: 'Find Your Focus Path' |
| US | page | quiz-are-you-suffering-from-brain-fog | PASS | What's slowing your brain down? | us/A | English welcome: "What's slowing your brain down?" |
| US | page | brain-issues-quiz | PASS | What's slowing your brain down? | us/A | English welcome: "What's slowing your brain down?" |
| US | page | quiz-how-do-you-feel-today | PASS | What's slowing your brain down? | us/A | English welcome: "What's slowing your brain down?" |
| DE | page | brain-issues-quiz | PASS | Warum fühle ich mich so geistig erschöpft? | de/A | German welcome heading present |
| DE | page | quiz-are-you-suffering-from-brain-fog-de | PASS | Warum fühle ich mich so geistig erschöpft? | de/A | German welcome heading present |
| DE | page | quiz-how-do-you-feel-today-de | PASS | Warum fühle ich mich so geistig erschöpft? | de/A | German welcome heading present |
| FR | page | brain-issues-quiz | PASS | Pourquoi ai-je le brouillard mental ? | fr/A | French welcome heading present |
| FR | page | quiz-are-you-suffering-from-brain-fog-fr | PASS | Pourquoi ai-je le brouillard mental ? | fr/A | French welcome heading present |
| FR | page | quiz-how-do-you-feel-today-fr | PASS | Pourquoi ai-je le brouillard mental ? | fr/A | French welcome heading present |
Fetched CDN-delivered bz-quiz.js per store and grepped for hardening sentinels: validateConfig function, market-aware welcome fallback, safe-DOM debug renderer.
| Market | JS asset | Bytes | SHA-256[:8] | Verdict | Checks |
|---|---|---|---|---|---|
| UK | bz-quiz.js | 34632 | 6deb3183 | PASS | ✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer |
| US | bz-quiz.js | 34632 | dab661e0 | PASS | ✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer |
| DE | bz-quiz.js | 34632 | 22489f0e | PASS | ✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer |
| FR | bz-quiz.js | 34632 | 747367a1 | PASS | ✓ validateConfig · ✓ hardened welcome fallback · ✓ safe-DOM error renderer |
All pre-deploy bodies + re-usable deploy scripts:
F:/Agentic-OS/projects/briefs/quiz-fix-2026-05-12/_backup/20260512T202458Z/ — pre-deploy bodies (de-bz-quiz-data-de-a, phase-c-pre-*, phase-d-pre-*)phase-a-deploy.py, phase-b-deploy.py, phase-b-bis-deploy.py, phase-c-deploy.py, phase-d-deploy.py — idempotent re-runnable scriptsverify-all-14.py — verification (note: older copy has UK URL list bug; this dashboard's build-hardening-dashboard.py is the corrected version)HARDENING-PLAN-v2.md — the plan that drove this rollout (post-Codex review)bz-quiz.js. Separate localization ticket.shopify:section:load re-init listener — Codex MEDIUM. Needs idempotency guard before adding. Theme-Editor concern only.sys.stdout.reconfigure(encoding='utf-8') fix.Calum is updating internal SOPs to bake this rollout's lessons into the standard quiz-deploy flow. SOPs that need to be touched:
.claude/skills/ops-quiz-deploy/SKILL.md — quiz-specific deploy: matrix completeness check, else-branch presence, JS schema validator presence, per-market welcome_heading verify, JSON-blob diagnostic on miss..claude/skills/ops-shopify-page-builder/SKILL.md — generic Shopify page deploy patterns: {%- else -%} on dynamic-name matrices, request.design_mode gates for dev diagnostics, safe-DOM error renderers..claude/skills/ops-pages-registry/SKILL.md — quiz inventory schema: distinguish page vs article surface, capture theme_files per market, flag handle-only entries that could be articles.build-hardening-dashboard.py on 2026-05-13T13:01:18Z. Sidecar: verify-results.json.