From 96a697a50af5696c24ac5d538895837c85d29b13 Mon Sep 17 00:00:00 2001 From: Ty Date: Mon, 21 Sep 2026 12:36:24 -0700 Subject: [PATCH] fix(review): restore lineup/woodPrimary imports after merge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Morning merge kept Review call sites (nextPrimary, keptInOrder, roleLabel, …) and dropped the imports, so hydrate threw ReferenceError and the UI showed "Could not load the slab." Live UAT redeployed; sample data preserved. --- deploy/INVENTORY.md | 20 ++++++++++++++++++++ frontend/src/create/review/Review.svelte | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/deploy/INVENTORY.md b/deploy/INVENTORY.md index bb54590..8251639 100644 --- a/deploy/INVENTORY.md +++ b/deploy/INVENTORY.md @@ -97,3 +97,23 @@ Do not put a host name in the product spec. - Gates at merge time: backend 117/117, unit 88/88, tsc clean, e2e 6/6 (m3-create + photo-strip). - Branches `work/merge-89-90` and `issue-89-metadata-lock` deleted (local + remote); remote has only `main`. + +### 2026-09-21 12:34 PDT — Review mount: restore dropped lineup/woodPrimary imports + +- Source: uncommitted working tree on `main` (parent `67aa3d6`). `matches HEAD`: **no**. + Diff: `frontend/src/create/review/Review.svelte` +5 lines restoring imports of + `keptInOrder`/`moveItem`/`missingMinimums`/`roleLabel`/`resolvePhotoUrl`/`LineupItem` + from `lineup.ts` and `nextPrimary` from `woodPrimary.ts`. The morning merge kept the + call sites and dropped the imports → `ReferenceError` on Review mount → "Could not load the slab." +- Rebuilt `deploy-frontend` only (`compose build frontend` + `up -d frontend`, no `-v`). + Image `56b35f6cdcdf`. FastAPI container left running. +- URL: http://192.168.1.202:10881 (LAN) · loopback 127.0.0.1:18082 +- Bundle: `assets/index-BVCyM130.js` (replaced `index-ck41xD02.js`). Served JS has **0** + `nextPrimary`/`keptInOrder` (minified locals) vs 3 unresolved `nextPrimary` in the broken bundle. +- Sample data preserved: **yes** — 47 slabs before rebuild; 48 after live Capture→Review probe + (created `ef1f4101-b1d2-459d-b9a0-842e7650ea3c`, sku NULL, status calibrated, 48×2 in; not published). +- Live verification (loopback, real API): Continue to Review → `review-screen` visible, + heading "Review to Ready", no loadError, no pageerror. POST /slabs 201, photos 201×2, + GET slab/taxonomy/settings 200, review 200. +- In-repo mock e2e (m3-create + photo-strip) 6/6 green against the same bundle hash before deploy. +- Not done: commit/push of the import restore; Woo publish path not re-exercised this round. diff --git a/frontend/src/create/review/Review.svelte b/frontend/src/create/review/Review.svelte index 56c71c0..c4a2f9f 100644 --- a/frontend/src/create/review/Review.svelte +++ b/frontend/src/create/review/Review.svelte @@ -8,6 +8,11 @@ import type { CalibratedCapture } from '../flow'; import MultiSelect from './MultiSelect.svelte'; import { deriveThicknessTermId } from './thicknessBand'; + import { + keptInOrder, moveItem, missingMinimums, roleLabel, resolvePhotoUrl, + type LineupItem, + } from './lineup'; + import { nextPrimary } from './woodPrimary'; // Props handed off by App (one-column flow, UX.md §1). export let slabId: string;