diff --git a/winnow/diversity.py b/winnow/diversity.py index 7c308fb..2b55c2e 100644 --- a/winnow/diversity.py +++ b/winnow/diversity.py @@ -299,13 +299,6 @@ def _select_by_embedding( asset["quality_score"] = quality.blur_score face_crop = _crop_face_from_thumbnail(img, asset, person_id=person_id) - if face_crop is None and face_bbox is not None: - logger.warning( - "Face too small to crop for %s — skipping to avoid embedding wrong person", - asset["id"], - ) - quality_filtered += 1 - continue embed_img = face_crop if face_crop is not None else img emb = get_embedding(embed_img, asset_id=asset["id"]) diff --git a/winnow/executor.py b/winnow/executor.py index 65114ad..52b7401 100644 --- a/winnow/executor.py +++ b/winnow/executor.py @@ -534,8 +534,9 @@ def upload_to_frigate(jobs: list[dict]) -> None: " but asset may be re-selected next run: %s", fname, tracker_exc, ) - if pre_fscore is not None: - person_has_fscores = True + else: + if pre_fscore is not None: + person_has_fscores = True # Always record for reconcile so the Frigate filename→asset_id # mapping is created even when the tracker write fails. # Trade-off: if mark_uploaded failed, asset_id is absent from