From 5afdcc78ae4e68b9c1f9c09ca2aca52d119ae86d Mon Sep 17 00:00:00 2001 From: Julian Cuni Date: Wed, 16 Sep 2026 10:55:21 +0200 Subject: [PATCH] chore(komodo): park-lab posts review crops as booth-lab; collector lists its token Own pseudonymous id and own secret (wash_review_token_booth_lab), never a real booth's, so bench crops stay separable per booth on the collector and can be labelled unusable. Fleet page row updated. Claude-Session: https://claude.ai/code/session_01FWncR69HgGPuei1dLrW3cU --- komodo/resources.toml | 15 ++++++++++----- wiki/decisions/fleet-deployment-komodo.md | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/komodo/resources.toml b/komodo/resources.toml index 49e599a..21df10d 100644 --- a/komodo/resources.toml +++ b/komodo/resources.toml @@ -123,8 +123,8 @@ BACKUP_KEY=[[park_2_backup_key]] # Stack — the LAB BENCH (not a booth): a spare Linux box with the field printer and # whatever device is under investigation, so a booth bug can be reproduced on the booth's # exact image before touching a real site. Same compose files + pinned TAG as the staging -# booths. No review outbox (the lab is not a site — it must never feed the training pool -# under a booth's identity). Its own secrets. See wiki/decisions/fleet-deployment-komodo.md. +# booths. Review outbox under its OWN id (booth-lab) — never a +# booth's identity, so bench crops stay separable on the collector. Its own secrets. See wiki/decisions/fleet-deployment-komodo.md. ############################################################################## [[stack]] @@ -149,8 +149,13 @@ TAG=stage-88f9c53 COOKIE_SECURE=0 # Entitled to Car Wash too, so the wash-desk printer role and till can be exercised on the bench. MODULES_ENTITLED=parking,carwash -# NO review outbox on the lab (CARWASH_REVIEW_URL/BOOTH_ID/TOKEN deliberately unset): the -# collector's training pool is per-booth, and the bench is not a booth. +# Review outbox ON for the bench too, under its OWN pseudonymous id (booth-lab) and its own +# secret — never a real booth's — so lab crops are separable on the collector (per-booth stats, +# the export's booth column) and the reviewer can label bench junk "unusable". +CARWASH_REVIEW_URL=http://docker-station.nb.infra:8090/ingest +CARWASH_REVIEW_BOOTH_ID=booth-lab +CARWASH_REVIEW_TOKEN=[[wash_review_token_booth_lab]] +CARWASH_REVIEW_ENTRY_SAMPLE=1 VISION_ENABLED=1 # Desktop app WS handshake: Origin is tauri://localhost (set explicitly by # platform-ws.ts, since the native WS plugin has no page context to auto-attach @@ -193,7 +198,7 @@ COLLECTOR_BIND=100.75.184.156 # that booth's own stack as its CARWASH_REVIEW_TOKEN — one value, two consumers, nothing # to keep in sync, and rotating a booth touches one secret. The booth id is the booth's # pseudonymous CARWASH_REVIEW_BOOTH_ID, never a site name. Add a pair per booth. -COLLECTOR_BOOTH_TOKENS=booth-2:[[wash_review_token_booth_2]],booth-1:[[wash_review_token_booth_buzi]] +COLLECTOR_BOOTH_TOKENS=booth-2:[[wash_review_token_booth_2]],booth-1:[[wash_review_token_booth_buzi]],booth-lab:[[wash_review_token_booth_lab]] # Phase-B trainer (the `trainer` service beside the collector; the Training section of /review # is its UI). Only `publish` needs this: a Gitea token with package:write for the model's generic # package. Uncomment when the first model is to be published. diff --git a/wiki/decisions/fleet-deployment-komodo.md b/wiki/decisions/fleet-deployment-komodo.md index 0cf48b2..dd5cbe3 100644 --- a/wiki/decisions/fleet-deployment-komodo.md +++ b/wiki/decisions/fleet-deployment-komodo.md @@ -198,7 +198,7 @@ Second `[[stack]]` in `komodo/resources.toml`: **`park-lab`** (server = the lab | Stack | compose branch | image tag | secrets | | --- | --- | --- | --- | -| park-lab | `dev` → **`stage` (2026-09-09)** | ~~moving `dev`~~ → **pinned to the booth's `stage-` under reproduction** (2026-09-09: the lab re-joined the fleet to reproduce the park-buzi printer cover-open bug, so it must run the booth's exact image; **no review outbox** — the bench is not a booth and must never feed the collector under a booth id) | `park_lab_*` | +| park-lab | `dev` → **`stage` (2026-09-09)** | ~~moving `dev`~~ → **pinned to the booth's `stage-` under reproduction** (2026-09-09: the lab re-joined the fleet to reproduce the park-buzi printer cover-open bug, so it must run the booth's exact image; review outbox under its **own** id `booth-lab` since 2026-09-16 — never a booth's, so bench crops stay separable per booth on the collector) | `park_lab_*` | | park-buzi | `stage` | pinned `stage-` | `park_buzi_*` | The three knobs are independent per stack — the ResourceSync's own branch only governs where the