From 92d1a7ec5ec522e8036b5851277ee2f3b47a4a04 Mon Sep 17 00:00:00 2001 From: Ty Date: Sun, 13 Sep 2026 22:37:19 -0700 Subject: [PATCH] =?UTF-8?q?docs(m1):=20plan=20of=20record=20=E2=80=94=20TD?= =?UTF-8?q?D=20card=20breakdown,=20UAT=20deployment,=20fixtures,=20worker?= =?UTF-8?q?=20dispatch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docs/M1-POR.md: scope, TDD method, 6-card breakdown, deployment POR, test plan, real-slab fixtures, dev/QA worker dispatch (.202:8081 text, .202:8082 vision; one task per endpoint) - docs/CAPTURE.md: input photo (JPEG + HEIC fallback), 200KB soft goal - deploy/README.md: Milestone 1 UAT deployment POR (one container, LAN URL) - tests/fixtures/: 3 black-sheet slab photos + calibration records (152422 28x2.25 irregular, 155818 21x1.75, 155754 21x1.75) --- deploy/README.md | 9 ++ docs/CAPTURE.md | 8 ++ docs/M1-POR.md | 96 ++++++++++++++++++ ...422_20260109152421_1771310617476_photo.JPG | Bin 0 -> 1011712 bytes ...22_20260109152421_1771310617476_photo.json | 11 ++ ...754_20260109155755_1771310617107_photo.JPG | Bin 0 -> 618496 bytes ...54_20260109155755_1771310617107_photo.json | 11 ++ ...818_20260109155817_1771310617082_photo.JPG | Bin 0 -> 606208 bytes ...18_20260109155817_1771310617082_photo.json | 11 ++ 9 files changed, 146 insertions(+) create mode 100644 docs/M1-POR.md create mode 100644 tests/fixtures/dji_mimo_20260109_152422_20260109152421_1771310617476_photo.JPG create mode 100644 tests/fixtures/dji_mimo_20260109_152422_20260109152421_1771310617476_photo.json create mode 100644 tests/fixtures/dji_mimo_20260109_155754_20260109155755_1771310617107_photo.JPG create mode 100644 tests/fixtures/dji_mimo_20260109_155754_20260109155755_1771310617107_photo.json create mode 100644 tests/fixtures/dji_mimo_20260109_155818_20260109155817_1771310617082_photo.JPG create mode 100644 tests/fixtures/dji_mimo_20260109_155818_20260109155817_1771310617082_photo.json diff --git a/deploy/README.md b/deploy/README.md index 7d41def..083a7ae 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -6,3 +6,12 @@ Where the container runs is chosen at runtime. No FastAPI and no Woo client in this milestone. `docker-compose.yml`, `Caddyfile.fragment`, and `.env.example` describe an older two-service stack. They are not the Milestone 1 contract. + +## Milestone 1 UAT — deployment POR + +- **One container.** Build a single Docker image that serves the SvelteKit capture app. No FastAPI, no Woo client, no Caddy TLS edge in M1. (Caddy/compose/Woo are Milestone 3.) +- **Host chosen at runtime.** Record the machine and URL in `INVENTORY.md` when the container starts. Do not put a host name in the product spec. +- **LAN-reachable UAT URL.** For UAT the container binds a port on the LAN interface (not only `127.0.0.1`), so other machines on the LAN — e.g. a phone — reach the app at `http://:`. +- **No backend.** The app is browser-only in M1 (see `docs/CAPTURE.md`). There is no `/api` route and no inference. + +Reference for the current UAT host: see `INVENTORY.md` (filled in when the container starts). diff --git a/docs/CAPTURE.md b/docs/CAPTURE.md index 150bd1d..d003822 100644 --- a/docs/CAPTURE.md +++ b/docs/CAPTURE.md @@ -45,6 +45,12 @@ Phone: iOS Safari, Android Chrome. PC: Chrome, Edge, Firefox. Other clients get a hard stop. +## Input photo + +Accepted input: JPEG. Phones typically save JPEG; Android Chrome delivers JPEG by default. + +If the file is HEIC and the browser cannot decode it, show a one-tap notice to retake the photo as JPEG. HEIC is never silently dropped and never decoded server-side in Milestone 1. + ## States One photo component is reused. Each state advances on approve. Back returns to the previous state. A device draft restores the last approved state. @@ -126,3 +132,5 @@ The first inventory photo is the measurement reference. Later inventory photos u Source below that floor: warn and require a new photo. No upscale from an undersized source. Editor preview of alpha is a light gray checkerboard. The storefront uses the theme background. + +File size: aim under 200KB per image (soft goal, not a hard gate in Milestone 1). diff --git a/docs/M1-POR.md b/docs/M1-POR.md new file mode 100644 index 0000000..d57c7f6 --- /dev/null +++ b/docs/M1-POR.md @@ -0,0 +1,96 @@ +# Milestone 1 — Plan of Record (POR) + +Decisions captured as they are made. This is the working plan for implementing and UAT-ing Milestone 1. It is the source of truth for scope, order, and dispatch; the spec detail lives in `docs/CAPTURE.md` and `docs/PRODUCT.md`. + +## Scope + +Implement **Milestone 1 — Capture** only (see `AGENTS.md`). Browser-only, inference-free, no backend, no Woo create. Milestones 2–4 are out of scope. + +## Method — TDD (non-negotiable) + +Every card is delivered **test-first** per the `test-driven-development` skill: + +``` +NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST +``` + +- **Red-Green-Refactor**, tracer-bullet: one behavior slice at a time (RED→GREEN→REFACTOR), not all-tests-then-all-code. +- **Verify RED** (watch it fail for the right reason) and **Verify GREEN** (it passes + full suite stays green) are mandatory before the card is done. +- Code written before a failing test is **deleted and redone** — not kept as "reference." +- The deterministic core (math + PNG contract) is unit-tested in a browser-runnable JS suite; UI behaviors are tested with Playwright against the fixtures. +- A card is not complete until: every new function has a test, each test was seen failing first, the full suite passes with pristine output. + +## Card breakdown (implementation order) + +Each card follows TDD. "Define" = write the failing tests (RED); "Build" = minimal code to pass (GREEN); "Refactor" = clean up keeping green. + +1. **Scaffold + Dockerfile + test harness** — SvelteKit project with the browser-only M1 runtime (Web Worker, canvas/OffscreenCanvas, IndexedDB via `idb-keyval`), `frontend/Dockerfile`, and the test harness (JS unit runner + **Playwright** web). + - *TDD note:* this card establishes the harness itself (a smoke test that runs and fails, then passes) so every later card has a place to be RED/GREEN. +2. **Deterministic core** — the pure math + PNG-encode functions. + - *RED:* unit tests for `scale`, `sqft`, `bdft`, width sampling, 1/8″ stepping, rounding, and the PNG contract (3:4, 8-bit RGBA, 80% fill, ≥1600px floor, undersized→retake). Run on the fixtures' calibration records. + - *GREEN/REFACTOR:* implement to pass; core is authoritative and server-less. +3. **Capture + Mask** — Add photo (JPEG; HEIC→"retake as JPEG" notice), green/black key, four knobs, debounced recompute, mask approve. + - *RED:* Playwright — load fixture, key sheet, approve; empty-mask blocks approve; HEIC shows the notice. + - *GREEN/REFACTOR:* build the Mask state to pass. +4. **Length axis** — min-area bounding rectangle + long-side axis, user rotate, approve. + - *RED:* Playwright — rect drawn from the approved mask, axis on long side, rotate, approve. + - *GREEN/REFACTOR:* build the axis state. +5. **Measure + PNG** — length/thickness (1/8″), compute sqft/bdft/widths, write the 3:4 inventory PNG. M1 stops here. + - *RED:* Playwright — enter L/thickness → Calculate; assert PNG is 3:4 with alpha, and numbers equal the fixture's expected values. + - *GREEN/REFACTOR:* build Measure + PNG encode. +6. **M1 UAT** — serve the container per `deploy/README.md` §Milestone 1 UAT; run the full Playwright suite in the container; then the manual phone pass. Record host + URL in `deploy/INVENTORY.md`. + +## Deployment (UAT) + +See `deploy/README.md` §Milestone 1 UAT — deployment POR: one container, host chosen at runtime, LAN-reachable URL, no backend. + +## Dev / QA worker dispatch + +Two local inference endpoints are available as dispatchable workers for test / dev / QA: + +- **`.202:8081`** — `gemma-4-12B-it-q4_k_m` (12B, Q4) — **completion only, no vision.** Use for text/code tasks: drafting, code review, test-writing help. +- **`.202:8082`** — `Qwen3.8-27B-UD-IQ3_XXS` (27B, IQ3) — **completion + multimodal (vision).** This is the **vision worker**: any task that must look at a slab photo (bg-removal tuning, mask/axis calibration review, fixture sanity checks) goes here. + +Coordinator: Hermes (me) — plans, decomposes, dispatches, verifies, and does work directly when a card is small or judgment-heavy. + +**Rules:** +- **Vision tasks → `.202:8082` only.** +- **Never more than one task on an endpoint at a time.** Two concurrent jobs on the same endpoint back up and overheat. Serialize dispatch; one endpoint = one active task. +- Both run low-quant (Q4 / IQ3). Fine for dispatch-style assist; deep sustained reasoning is better done by the coordinator directly or on a higher-quant model. + +## Test plan (M1) + +Three layers. The deterministic core is unit-tested; the end-to-end path is Playwright; a real phone is the final UAT gate. + +### 1. Unit (deterministic core) — must pass before any UI consumes it +- `bdft = sqft × thickness_in`; `sqft = (mask_px / scale²) / 144`; `scale = longest_axis_px / L`. +- 1/8 in stepping; rounding (sqft/bdft 2 decimals). +- Width sampling every 6 in along the approved axis. +- PNG encode contract: 3:4 aspect, 8-bit RGBA, 80% fill, shorter side ≥ 1600px when source allows; undersized source → warn + retake (no upscale). +- Mask empty → approve blocked. + +### 2. Playwright (automated end-to-end, runs in the UAT container's browser) +Walks the 5 states against a **sample photo**: +- Add photo → Mask (set sheet + sensitivity) → approve → Length axis → approve → Measure (enter L, thickness) → Calculate. +- Assert: PNG rendered, dimensions = 3:4, alpha present; sqft/bdft/widths equal the expected values for that fixture (within tolerance); numbers visible on screen. +- HEIC input → "retake as JPEG" notice shown (not a crash). +- Device draft: reload → Resume → Continue restores last approved state. + +### 3. Manual phone UAT (final gate) +On a real phone (iOS Safari / Android Chrome) over the LAN UAT URL: repeat the happy path with one real slab; confirm PNG + numbers on screen. Record host + URL in `deploy/INVENTORY.md`. + +## Test fixtures (sample pics) + +Real slab photos are the fixtures (supplied by Ty from `\\truenas.local\Business\Samples`, SMB user `SMBSVC`). Each is a DJI MIMO top-down JPEG, ~4000×2256, slab on a green/black sheet. + +`tests/fixtures/`: +- **sample_01 … sample_0N.JPG** — a representative handful of real slab photos (pulled on demand from the TrueNAS Samples share; do not bulk-copy the whole folder). +- Each fixture gets a **calibration record** in `tests/fixtures/.json`: the slab's true length and thickness (in inches), the sheet color, and the approved mask/axis reference — used to compute the expected `scale`, `sqft`, `bdft`, and sampled widths for assertions. + +The real photos drive both **bg removal** (green/black key) and **rectangle/axis calibration**. Expected values come from the calibration records, so assertions stay deterministic even on real imagery. + +**M1 fixture set (agreed, complete for M1):** three black-sheet slabs — one irregular (stress-tests the min-area rectangle/axis), two clean elongated. Green-sheet keying is deferred (not an M1 fixture). A 1 HEIC sample (optional) for the decode-fallback test. + +## Open decisions + +- (none outstanding for M1 as of this plan; new decisions append here) diff --git a/tests/fixtures/dji_mimo_20260109_152422_20260109152421_1771310617476_photo.JPG b/tests/fixtures/dji_mimo_20260109_152422_20260109152421_1771310617476_photo.JPG new file mode 100644 index 0000000000000000000000000000000000000000..15c3f2b715161b79ec9f43b4544f4023371c91b0 GIT binary patch literal 1011712 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

{`u(^mSR~80mOn)Z}00V+3^o(iPTc6LfbQ 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