1a50fad0a54b80a9eaa1da9840e61b1859583670
Drop the metadata_locked column + "Save and lock" UI end-to-end. The review endpoint now builds the deterministic title/short_description on every call; the owner's Create title / Create short desc buttons fire the build and write the result (force-overwrite contract). commitReview auto-fills only empty fields (no owner-clobber) and folds the deterministic copy into its single PUT (kills the client_rev 409 cascade). Taken wholesale from the branch: photo strip, wood primary/secondary, server-side thickness band (hidden from UI, passed to Woo on publish), and fixes #80/#82/#83/#84. - backend: remove metadata_locked from schema.sql, db sentinels, slabs.py client fields/exposure, review.py lock action; review always computes title/short_desc - frontend: slabs.ts + Review.svelte drop the lock model, add Create-string workflow + wood primary + photo strip - e2e: m3-create + review-photo-strip rewritten for the Create-string contract; thickness-band test asserts absence (per #90) - deploy: recreate LAN binds (override-m3.yml was absent); verify metadata_locked gone, review builds title, PUT persists Gates: backend 117/117, unit 88/88, tsc clean, e2e 6/6 (m3-create + photo-strip). Live UAT verified at 192.168.1.202:10881.
…
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
Languages
TypeScript
43.5%
Python
37%
Svelte
18.8%
Shell
0.4%
Dockerfile
0.2%