diff --git a/docs/branch-review-records/3d1e296045909c10383c715b1abaa9ee7348002139c4d9b8ead0b7bfb6c1c548.record.md b/docs/branch-review-records/3d1e296045909c10383c715b1abaa9ee7348002139c4d9b8ead0b7bfb6c1c548.record.md new file mode 100644 index 0000000000..07e2616ff7 --- /dev/null +++ b/docs/branch-review-records/3d1e296045909c10383c715b1abaa9ee7348002139c4d9b8ead0b7bfb6c1c548.record.md @@ -0,0 +1 @@ +| 2026-08-14 | codex/visual-layout-polish | 63195ba3f145a08691151ed4e86c69f5d05db486 | PR #1949 review-and-fix | reviewed PWA decoding hint and desktop CLS attribution; no PR-introduced defect found; merged latest main | offline: git diff --check; check-outstanding-issues; ledger-inbox check; ledger-write-discipline; Prettier changed files; targeted Vitest unavailable (isolated worktree has no node_modules); independent manual adversarial pass | diff --git a/docs/branch-review-records/6c6404a8a018cff566a2b0f00c17f87c45206350cff5c6bf2f3b86690f27c5d7.record.md b/docs/branch-review-records/6c6404a8a018cff566a2b0f00c17f87c45206350cff5c6bf2f3b86690f27c5d7.record.md new file mode 100644 index 0000000000..8beb6e1240 --- /dev/null +++ b/docs/branch-review-records/6c6404a8a018cff566a2b0f00c17f87c45206350cff5c6bf2f3b86690f27c5d7.record.md @@ -0,0 +1 @@ +| 2026-08-14 | codex/visual-layout-polish | 7490ac090fc1577c72bbf5db943126b1ceb47770 | PR #1949 CLS ledger corrective review and base-current verification | fixed the confirmed issue-update overwrite of canonical CLS measurement and stop conditions; no other high-confidence PR defect found | offline: JSON parse; ledger update semantic assertion; check-outstanding-issues; ledger-write-discipline self-test; git diff --check; manual adversarial pass | diff --git a/docs/outstanding-issues-inbox/f86a3002-5019-4ae4-93fb-d01a05a7bae6.json b/docs/outstanding-issues-inbox/f86a3002-5019-4ae4-93fb-d01a05a7bae6.json new file mode 100644 index 0000000000..e2008df85e --- /dev/null +++ b/docs/outstanding-issues-inbox/f86a3002-5019-4ae4-93fb-d01a05a7bae6.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "id": "f86a3002-5019-4ae4-93fb-d01a05a7bae6", + "createdOn": "2026-08-14", + "action": "update", + "payload": { + "id": "#308", + "detail": "Measured 2026-08-12 during the #147 close-out, twice, on the offline Lighthouse harness (Chromium 141): desktop /documents/search CLS **0.119**, against a committed baseline that also reads **0.119**. So this is long-standing and deterministic, not a regression — and it is above the 0.1 threshold. It sits outside #147's scope, which was mobile only, and it contradicts that row's claim that 'desktop passes everywhere: 0.016-0.097' — that range is stale. Companion desktop values from the same runs, all passing: /dsm 0.014, /forms 0.059-0.064, / 0.006, /therapy-compass 0.000. Desktop attribution completed 2026-08-14: a Playwright + PerformanceObserver(layout-shift) harness against an offline production build at 1350x940 DPR 1 recorded **0.118** CLS. This is a separate attribution measurement, not a replacement for the canonical 0.119 Lighthouse value. One first-paint+~0.3-0.5s event contributed ~99.98% of that harness total: MasterSearchHeader's composer-adoption effect portals the search composer into GlobalSearchShell's desktop slot, while the header shrinks 184px and the slot grows 0 -> 184px. This is shared desktop search-chrome timing, not page-local. Next: reserve the settled height at the adoption boundary under the one-composer/hidden-means-zero-reserve contracts, then re-measure with the same harness. Stop: do not raise the CLS budget; do not read local LCP or TBT from the loopback harness; and do not use a blanket min-height that hides the shift without matching the header reserve.", + "source": "Local offline verify:lighthouse runs 2026-08-12 (two runs, identical CLS); #147 close-out; lighthouse-budget.json. Attribution: session 2026-08-14, PR branch codex/visual-layout-polish; desktop CLS script adapted from scripts/measure-cls-attribution.mjs (offline, not committed)." + } +} diff --git a/src/components/pwa-lifecycle.tsx b/src/components/pwa-lifecycle.tsx index 5e8f57ae6b..75eada15c3 100644 --- a/src/components/pwa-lifecycle.tsx +++ b/src/components/pwa-lifecycle.tsx @@ -150,6 +150,7 @@ function InstallAppIdentity({ title, titleId, tagline }: { title: string; titleI src="/icons/icon-192" alt="" aria-hidden="true" + decoding="async" width={56} height={56} className="h-14 w-14 shrink-0 rounded-xl border border-[color:var(--border-lux)] shadow-[var(--e1)]"