Files
obsidian/TallyFlow/Product/Code Reviews/tallyflow-scout.md
T
TNB e494ec0312 docs: Scout re-review to v0.6.2+14
Refresh product strategy, code review, User's Guide, and Dashboard after
latest tallyflow-assets-iot pull: Edge optional toggle, tag decode sheet,
Locate hit indicator, Collect clear/sort, SDG RAIN CIN filter fix.
2026-07-30 16:55:28 -04:00

3.6 KiB

TallyFlow Scout Review (repo: tallyflow-assets-iot)

Product name: TallyFlow Scout
Package: tallyflow_scout
Version reviewed: 0.6.2+14 (master 0e37633, 2026-07-30)
Prior review: 0.5.3+10 (2c479fb, 2026-07-27)
Tech stack: Flutter (Material 3), flutter_hardware_scanner ^0.14 prerelease, camera barcode (ML Kit), sgtin (path), HTTP client to Edge

Role in platform

Handheld Collect / Verify / Locate app for TallyFlow Edge.
Not a replacement for TallyFlow Assets (tallyflow_mobile → Core).

Destinations

  1. Collect (nav key still navUpdate in l10n → “Collect”) — scan list, submit to Edge remote reader API or export CSV
  2. Verify — GS1 barcode identity vs RFID EPC encodings (gs1_verify_match); optional auto-confirm
  3. Locate — offline seek-and-find / geiger (locate_screen, RSSI colors aligned with Assets pick-list palette); continuous hit indicator when any tags are in field

Delta since 0.5.3 (marketing-relevant)

Area Change
Edge optional Settings useTallyFlowEdge — when off, no health checks / submits; CSV & floor tools only (edgeActive)
Tag decode sheet Tap row → GS1 EPC-96 / SDG RAIN CIN / barcode GS1 AIs; RFID can open Locate
Collect list Overflow menu: clear list; sort by value or RSSI (plus default recent)
Locate UX Hit counter/lamp stays visible while tags are in the field (not only focused finds)
Audio RfidBeepGate serializes driver beep vs Locate geiger mute
Decode/filter SDG RAIN CIN filter fixed (D3C4C753 EPC prefix)
Branding Simpler app icon / splash assets
Settings UX Sheet height capped (~80%); shorter help copy
Hardware Stronger URFID vs ATID AAR conflict handling note in tree

Integration

  • Client: lib/services/tallyflow_iot_client.dart{baseUrl}/api/v1/health, /reader/barcode, /reader/rfid
  • Remote reader must exist on Edge (type = remote, enabled); reader name must match Settings
  • Offline / Edge-off: Collect + CSV + Locate without server; banner only when Edge enabled and unreachable / unconfigured

Hardware

  • Android industrial devices via hardware scanner plugin (XR2, ATID AARs, SEUIC, URFID noted in tree)
  • Camera barcode fallback when no hardware scanner / init failure
  • Desktop: simulator always on
  • applicationId: com.tallyflow.scout

Notable modules

  • tag_decode_sheet.dart — decode UI + TagDecodeDetails.resolveRfid / resolveBarcode
  • epc_mask.dart, sdg_rain_decode.dart — EPC type / Internal part decode (CIN filter fix)
  • rfid_beep_gate.dart — Locate mute vs inventory beep
  • scan_csv_exporter.dart / scan_csv_export.dart — CSV share/save
  • rssi_display.dart — shared RSSI presentation
  • l10n — English + Spanish
  • Tests: EPC mask, GS1 verify, locate finds, CSV, symbology, tag decode, useTallyFlowEdge, rfid beep gate, power slider

Marketing guardrails

  • Say Scout works with Edge; Assets works with Core
  • Three sections only: Collect, Verify, Locate
  • Locate offline + optional Edge-off are real differentiators for floor find without Core
  • Decode sheet is operator convenience, not a full GS1 stack / compliance product
  • Do not claim full asset CRUD, zones, or scan-and-print in Scout

Follow-ups (docs/code debt)

  • Repo README still under-lists Verify / decode / Edge toggle; version footer stale
  • part_serial assignment-match flags currently unused by decode path (reserved)
  • Cross-app symbology story still open (README technical debt section)