A development-only warning can look fixed when a production build stays quiet. Factory did not accept that as enough. The run first reproduced the warning on the exact unmodified baseline at desktop and mobile widths, then compared the two rendering modes before changing code.

The baseline was different by environment

Fresh development-browser contexts at 1440×900 and 390×844 both showed the visible case-study page and a React hydration diagnostic comparing the page’s TechArticle JSON-LD with an Analytics script. A production-mode browser on the same baseline did not show the warning.

AC-1 / exact baseline
Unmodified baseline · development mode
1440 × 900  HTTP 200 · heading visible · hydration warning reproduced
390 × 844   HTTP 200 · heading visible · hydration warning reproduced
Production baseline  warning not reproduced
Inspect the baseline browser test ↗

Factory kept the uncertainty visible

The investigation found that development rendering placed Analytics in the body before the JSON-LD, while production rendered Analytics in the head. A browser observer saw no node move. That narrowed the evidence to a development rendering mismatch around the scripts; the exact internal framework branch remained unknown. Factory kept that as a non-blocking open fact rather than inventing a more specific cause.

The fix kept both signals

The change moved the existing beforeInteractive Analytics scripts into the root layout’s <head>. It kept the same Analytics configuration and server-rendered TechArticle JSON-LD. The browser test was then run in fresh desktop and mobile contexts in both development and production.

AC-2 / fixed site
Fixed site · fresh browser contexts
Development  1440 × 900  PASS · 390 × 844  PASS
Production   1440 × 900  PASS · 390 × 844  PASS
TechArticle JSON-LD and Analytics remain in initial HTML
Inspect the after-state regression ↗

The test had to fail without the fix

Factory temporarily removed the script-placement change. The full desktop/mobile browser file failed at the expected hydration assertion; restoring the fix returned both cases to green. This teeth check distinguishes a regression test that catches the original defect from one that merely passes on the current code.

The site suite passed 22/22 tests against a 21-test baseline. Typecheck, lint, and structural checks passed. The read-only CI workflow ran the browser regression without Cloudflare deployment credentials. The full run stopped with this terminal receipt:

Phase 6 / terminal gate
GATE: PASS  run=hydration-warning-on-case-study-20260923 terminal=delivered matrix=clean
Read the sanitized Phase 0–6 evidence digest ↗

It reached the public site

PR #15 merged to main after all five checks passed. The merged code was manually deployed, then verified on the canonical domain in desktop and mobile browsers with HTTP 200, visible headings, no horizontal overflow, and no hydration diagnostics.

What this proves—and what it does not

This is one full Factory run on Factory’s own website, with public tests, a merged pull request, and a deployment record. It is not evidence of general reliability, independent-project repeatability, user adoption, time saved, or defect-rate reduction. The Analytics test proves the browser attempted a page_view request, not that Google accepted or reported it; one request failed in each recorded live session. The exact internal rendering branch also remains unidentified.

Inspect the runnable gate fixtures, the merged change and checks, and the sanitized run evidence.