Files
karung-counting-feedmill-se…/CHANGELOG.md
T
andrew 0467e0ce68
ci / smoke (push) Canceled after 0s
docs: add CHANGELOG.md, sync all guides with config.yaml migration
- CHANGELOG.md (Keep-a-Changelog, dated entries from git history)
- README: production pipeline framing, config table, layout, flags, changelog link
- configuration.md: legacy env overrides, zones geometry-only, archive paths
- scripts.md: current flags, correct archive/ paths, tracked vs ignored weights
- deployment.md: config.yaml in sync list, model_mode location, /api/model-modes
- models.md + architecture.md: config.yaml pointers, deprecated src/config.py
2026-09-17 12:04:56 +07:00

3.7 KiB

Changelog

All notable changes to this project are documented here. Format follows Keep a Changelog (dated entries; no version tags are cut in this repo — POC stage, main is the release line).

[Unreleased]

Nothing pending.

2026-09-17 — Unified config.yaml with extensible model presets

Added

  • config.yaml — single canonical config (stream, models, counting knobs, batch, output paths, camera). Secrets/deployment-only values stay in .env.
  • src/config_loader.py — stdlib-dataclasses + pyyaml loader, zero new dependencies. Missing file falls back to .env + legacy defaults with a UserWarning; MODEL_MODE env still honoured once with a DeprecationWarning.
  • tests/test_config_loader.py — 8 smoke tests (load/validate, precedence, atomic mode-switch round-trip, YAML-only mode-E extension, legacy warnings).
  • Per-class iou and min_bbox_area in models.detection_params (shared across modes; iou default 0.7 = Ultralytics default, no behaviour change).
  • --config CLI flag on predict.py (default: config.yaml next to predict.py).

Changed

  • Model modes are data: config.yaml → models.modes holds engines (path key + contributed classes) and class filters only. predict.py derives tracker roles structurally — adding mode E/F/... needs no code change, and the dashboard /api/model-modes lists new modes automatically.
  • Dashboard POST /api/batch/mode {"model_mode": "X"} validates against config.yaml and persists atomically (tmp+replace, comments preserved) to models.active_mode. Manual karung-counter restart still required.
  • batch_mode.json keeps only the manual/auto batch mode; its legacy model_mode key is ignored (warned when it disagrees).
  • zones.json keeps geometry only (polygons + left/right limits); legacy knob keys there are ignored with a warning — config.yaml counting.* is canonical.
  • deploy_to_jetson.py also syncs config.yaml.
  • src/tracking.py / src/detection.py accept an iou parameter (default 0.7, v3 callers unaffected).

2026-09-15 — Default model mode B → C

  • Production default is now Mode C (combined v4 sack+truck + yolo11n box-only on a dedicated tracker) instead of Mode B (shared sack+box tracker). Changed in predict.py, counter_dashboard.py, .env.example, and docs. Sack path uses the proven v4 model; sack/box track-ID spaces no longer collide.

2026-09-14 — models/modelREADME.md rename

  • models/README.md → models/modelREADME.md to avoid confusion with the root README. No content change.

2026-09-11 — Model weights tracked, per-mode matrix

  • models/*.pt + *.onnx are now git-tracked (clone-ready); *.engine stays gitignored (rebuildable via export_model.py on the Jetson).
  • All weights moved under models/ with a per-mode detector/filter matrix (models/modelREADME.md); predict.py paths, deploy_to_jetson.py, and docs updated.
  • Multi-model modes (A/B/C/D, default B at the time) + box counting + manual-mode banner (6e4af50).

2026-09-10 — Single predict.py entrypoint, experiments archived

  • Production + dev CLI unified in predict.py (runs as karung-counter.service with zero args). Retired experiments moved to archive/ via git mv (predict_new.py, rpo_iki/, simple_predict.py, check/merge/test scripts).
  • Docs guides added (docs/architecture.md, models.md, configuration.md, scripts.md) plus DB/batch helper scripts; pytest smoke tests + CI.

2026-08-24 — Manual & auto batch modes, dual-port dashboards

  • Manual/auto batch counting, operator (port 5000) + monitoring (port 5721) dashboards, historical batch data views and corrections.