- AutoAnnotateModal: render merges last full-set detections for
non-exemplared classes with conditioned results for exemplared ones
(selected-not-exemplared filter); drawing an example no longer clears
the other classes' detections
- Run Preview now always refreshes full-set first (exemplars: []) then
re-runs exemplared classes
- docs: REQ-182 amended (merge semantics), design/ui-spec/tasks synced
- ClassParamsTable: Copy button above per-class overrides table —
clipboard text, one line per class (class/conf/iou/minbox/container),
effective values (override else global), present in both the
per-batch and mass auto-annotate modals via the shared component
- clipboard.js: extract legacyCopy + copyText from ArchiveControls
(insecure-context execCommand fallback), ArchiveControls now imports it
- docs: REQ-186 added; design/ui-spec/tasks synced
- REQ-181: class_params {name: {threshold?, iou_threshold?, min_box_frac?}}
on /preview and /autolabel, per-class override table in both modals;
empty overrides take the unchanged global path
- REQ-180: x button on each review sidebar class row clears that class on
the current frame only via bulk-delete, no confirmation
- includes REQ-178 empty date-folder cycle fix (archive_index.py)
- Auto-generate model names: {arch}-{labelType}-{epochs}ep-{classNames}-{YYYYMMDD}
- Add PATCH /api/models/{id}/rename endpoint
- Inline rename UI on Models & Training page
- Download filename uses model name instead of v{N}
- DB migration: add name column to model_versions
- Update all docs to reflect new naming convention