Ty 8ee3da9dcf merge work/merge-89-90 into main (Create-string #89/#90 + PR #97 fixes)
Reconciles two independent lines of work that both touched Review.svelte,
MultiSelect.svelte, and the thickness band:

- main's PR #97 (client-side thicknessBand.ts + MultiSelect names/commit +
  syncSelects DOM race fix + box-sizing CSS)
- work/merge-89-90 (server-side thickness band in thickness_band.py,
  Create-string #89, metadata_locked dropped, photo strip, wood primary)

Canonical resolution: the band is SERVER-side (hidden from UI, sent to Woo
on publish), so the client-side thicknessBand.ts + read-only band display
are removed from Review.svelte; PR #97's syncSelects() and box-sizing CSS
are preserved (orthogonal fixes). MultiSelect takes selectedSummary from
woodPrimary.ts (names in closed state) + the ms-count testid + onDestroy
timer cleanup; duplicate close()/summary definitions dropped.

Gates: backend 117/117, unit 88/88, tsc clean, e2e 6/6 (m3-create +
photo-strip).
2026-09-21 11:59:36 -07:00
…

SlabUploader

Lists one-of-a-kind wood slabs on Whidbey Wood Store.

Start at docs/README.md for goals, what already shipped, and Milestone 3.

Artifact File
Docs map docs/README.md
Structure contract docs/STRUCTURE.md
Requirements (normative) docs/REQUIREMENTS.md
Milestones (ID subsets) docs/MILESTONES.md
Product overview docs/PRODUCT.md
Invariants and agent context AGENTS.md
Milestone 1 Capture (shipped) docs/capabilities/CAPTURE.md
Milestone 2 Photos (shipped) docs/capabilities/PHOTOS.md
Milestone 3 Create (paused — requirements reconciliation) docs/capabilities/CREATE.md
UAT practice walk docs/UAT-PRACTICE.md
Hosting deploy/

Owner: Ty. Store: https://www.whidbeywoodstore.com/ Repo: Ty_Tech/SlabUploader

S
Description
SlabUploader — mobile-first live-edge slab capture → WooCommerce publish (design + implementation). Mirrored from local TrueNAS TyTech_Internal/SlabUploader.
Readme MIT 21 MiB
Languages
TypeScript 43.5%
Python 37%
Svelte 18.8%
Shell 0.4%
Dockerfile 0.2%