feat(manual-batch): canonical plate + manual mode as default
ci / smoke (push) Canceled after 0s

- canonical_plate (uppercase alnum, strips space/dot/hyphen) at all plate
  write sites; pretty_plate for render (history, XLSX, operator tile) so
  B 1234 XYZ and B1234XYZ are one plate everywhere
- group_dos_by_plate compares canonical plates -> no false mixed_plates
- warn-only (never blocking) plate format hint in operator + monitoring modals
- batch.default_mode: manual (auto merged truck loads when a sack sat in the
  counting ROI); operator banner explains plate -> start -> stop
- docs + AGENTS known-limitation note; 85 tests pass
This commit is contained in:
andrew committed 2026-10-05 09:36:32 +07:00
1 parent 7ad995d8d1
commit 6c5b1c8b30
11 files changed
+128 -32

No files matched your search

+2 -2
View File
@@ -93,9 +93,9 @@ batch mode, DO upload/staged/settings, CSV/Excel export). Data source:
| Mode | Who opens/closes batch | DO gate |
|---|---|---|
| `auto` (default) | AI truck FSM | — |
| `auto` | AI truck FSM — merges batches when a sack sits in the counting ROI (known) | — |
| `do_manual` | Operator + DO photo scan | yes |
| `manual` | Operator buttons (legacy) | no |
| `manual` (default) | Operator buttons + plate number per truck | no |
Office (`:5721`) switches mode / model mode / require_plate / ocr_engine (403
on operator POST). **DO manual flow:** open `http://<jetson>:5000/operator` on a phone →