From e792e8315eeffc13d1fb433f7ec604b02d543ac2 Mon Sep 17 00:00:00 2001 From: type-two Date: Wed, 22 Jul 2026 16:53:18 +1000 Subject: [PATCH] Add next-session handover notes The remaining gap to a single service is the DYMO M10 postal scale (USB HID 0922:8003/8004, ~130 lines of the Node daemon) -- everything else the extension calls is already served. Scale was not plugged in today, so note that any port written before it is connected is untested. Also records the wanted Logitech C920 + cutting-mat dimension capture, and what still works with the Urovo unplugged (previews, label layout, Dymo, Chafon). Co-Authored-By: Claude Opus 4.8 --- ASSESSMENT.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/ASSESSMENT.md b/ASSESSMENT.md index c7efa4a..bc15010 100644 --- a/ASSESSMENT.md +++ b/ASSESSMENT.md @@ -222,5 +222,30 @@ geometry, density, one-pass timing — is documented above and identical. - [ ] Resolve the `:7790` collision between `mac/daemon.py` and the Node `rfid-daemon` (both bind it; the Node one owns the Chafon write path, scale and inventory routes). +--- + +## 9. Next session — pick up here + +**The one thing standing between us and a single service.** The extension calls only six +endpoints: `/status`, `/write-tag`, `/read-tag` (all served by `mac/daemon.py`) plus +`/weight`, `/scale/start`, `/scale/stop` (Node only). Port the **DYMO M10 postal scale** +— USB HID `0922:8003`/`0922:8004`, ~130 lines around `index.js:1068-1200` — and the Node +daemon retires for the extension's purposes: one process, one venv, one launchd agent. +⚠️ The scale was **not plugged in** on 2026-07-22, so any port written before it is +connected is untested. + +**Also wanted:** a **Logitech C920 over a cutting mat** to measure record/sleeve dimensions +(the mat grid gives the scale reference). Not started. + +**Resuming without the Urovo attached** (it stays at the shop): the daemon degrades +cleanly — `GET /devices` reports `present: false` per device rather than failing, the +Dymo and Chafon paths are independent, and `mac/chafon.py` runs standalone. Label layout +work needs no hardware at all: `GET /preview?size=large&artist=…` renders a PNG, and +`python label.py small large` dumps both profiles to `/tmp`. + +**Don't re-litigate:** the RFID encode is proven (Urovo wrote, Chafon read back +independently); the EPC scheme is settled and matches the Node daemon; the Dymo needs no +driver. All three are documented in `mac/README.md`. + See also the shop's memory notes: `urovo-d812r-ribbon-fix`, `urovo-d812r-rfid-label-gap-issue`, `urovo-d812r-pet-labels-not-thermal`, `urovo-windows-print-encode-daemon`, `chafon-h102-windows-hid-mode`.