# Overnight reconcile/build + QA — morning report (2026-06-18)

**Goal (Arjun, 2026-06-17 evening):** reconcile/build all remaining CFS pages section-by-section
to Figma (desktop then mobile, by coordinate measurement), then run multiple verification rounds
covering static layout, fonts, images, hovers. Use subagents; keep an accuracy doc.

**Done.** 6 pages × [build/reconcile → 3 blind fresh-eyes rounds → 1 informed QA capstone] = 24
passes + 6 page builds. **~102 commits.** All work parallelized across 3 Chromium engines
(`/browse` + Playwright MCP + Chrome DevTools MCP) behind an atomic `mkdir` queue
(`tools/browser-queue/`) — held under contention with zero page-state collisions or git conflicts.

## Per-page final QA verdicts
| Page | Type | Desktop | Mobile | Cert |
|---|---|---|---|---|
| doctor-individual | reconcile | **PASS** | **PASS** | doctor-individual-QA-final.md |
| city-individual | reconcile | **PASS** | **PASS** | city-individual-QA-final.md |
| blog-individual | reconcile | PASS-w/-residuals | PASS-w/-residuals | blog-individual-QA-final.md |
| About Us | build (new) | **PASS** | PASS-w/-residuals | about-us-QA-final.md |
| Contact Us | build (new) | PASS-w/-residuals | PASS-w/-residuals | contact-us-QA-final.md |
| News & Media | build (new) | **PASS** (3 tabs) | **PASS** | news-media-QA-final.md |

No NEEDS-WORK on any page. "Residuals" = documented intentional deviations or CMS placeholders, not defects.
Per-page measured tables + full hover inventories are in each `*-QA-final.md`; the blind-round trail is in
`*-round{1,2,3}.md`; the running measured log is `docs/2026-06-17-reconcile-accuracy.md`.

## What the layered process caught (proof it was worth it)
- The blind R1–R3 rounds found *real* misses on every page (blog hero button = 15px UPPER; doctor hero wrong
  photo + card 392→679h; city page-wide width bug; About hero greedy-flex; contact map 714→553; news card meta order).
- The informed QA capstone caught a genuine **missing widget** on blog-individual (IR has THREE sidebar
  widgets — TOC + Readers Favorite + Related Blogs; only one was present) and **added it** + split mobile.
- It also **resolved the oscillations** against IR ground truth: blog hero button order (Read More left /
  Book right IS correct — build was right, the prose note was stale); the "CDN class not generating" worry
  was **root-caused as a misdiagnosis** (rules emit fine; hero form is exactly 621px via custom.css).

## CLIENT QUESTIONS (need Arjun/client decision)
1. **News & Media — Video tab has NO designed content in Figma.** Only hero + tab bar exist; placeholder
   "Videos coming soon" in place. **BLOCKER for that tab — client must spec the video-card layout.**
2. **Contact Us — Map:** build uses a live Google Maps iframe (placeholder centred on India) vs Figma's
   static map PNG. **Provide the production "My Maps" embed URL (with centre pins), or confirm a static image.**
3. **Contact Us — state chips:** default-active "All" (exposed filter), links `?state=<slug>` to the same
   centre list as centre-cluster. Confirm default-selection + filter wiring.
4. **blog-individual — hero CTAs:** rendered visible (Read More left / Book right) though Figma occludes them
   behind the Blog Summary card. Intentional UX choice — confirm.
5. **blog-individual & city — Title-case body text:** Figma marks some prose `textCase=TITLE` (every word
   capitalized). Honored via `capitalize`. Likely a Figma text-style artifact, not intent — confirm sentence-case is OK.
6. **city — centre-card phone icon:** outlined at rest on desktop, navy-filled at rest on mobile (both per
   their Figma frames). Confirm intentional vs uniform.
7. **About Us — the 2nd desktop frame (3121:22956) is the post-"Load More" expanded state, not an alternate
   layout** (resolved from the Load-More ON_CLICK reaction). Build paginates via Load More. Confirm behavior.

## SYSTEMIC / cross-page items (one decision each, affects all pages — not per-page defects)
- **Mobile side gutter = 15px** via global `css/custom.css` `@media(max-width:1430px){.lg\:px-0{padding:15px!important}}`
  vs Figma ~24px. Changing it touches all 11 pages — decide site-wide.
- **1024–~1430px viewport band overflows** because the fixed-px desktop layouts are authored at 1440 and
  `lg:` activates at 1024. **Both target breakpoints (1440 & 393) are clean**; the intermediate band is a
  pre-existing, all-pages gap. Decide whether to add an intermediate breakpoint.
- **Callback submit hover** is the site-wide brightness/shadow, not Figma's yellow-invert variant. Decide site-wide.

## REMAINING CLEANUP (not blocking the goal; do before the next handover bundle)
- **Regenerate stale per-page partials** for the 3 reconciled pages whose monolith changed tonight:
  `html/blog-individual-components/`, `html/city-individual-components/`, `html/doctor-individual-components/`
  (CLAUDE.md handover step 0 — partials are derived; the monolithic pages are the source of truth and are correct).
  The 3 new pages have no partials dirs. (centre-individual partials were already flagged stale in the runbook.)
- Build the handover ZIP when ready (CLAUDE.md "Handover process").
- Optional tidy: one dead CSS rule `lg:w-[621px]{width:auto}` in custom.css (city), harmless.
