fix: refuse unavailable gallery and pin head trainer

This commit is contained in:
kiyo9w 2026-09-28 14:41:57 +09:00
parent d5a7a56dff
commit ac315eb48e
4 changed files with 77 additions and 6 deletions

View file

@ -293,8 +293,11 @@ def create_app(
scans = scans if scans is not None else build_legacy_scans(engine)
# A live session can be recorded so a real scan becomes data to label later.
recorder = FrameRecorder(settings.record_frames, every=settings.record_every) \
if settings.record_frames else None
recorder = FrameRecorder(
settings.record_frames,
every=settings.record_every,
identity_backend=engine.settings.identity_backend,
) if settings.record_frames else None
samples = {item["id"]: item for item in get_available_shelf_images("add")}
# path -> (mtime_ns, size, width, height). Dropped when the file changes.
sample_dimensions: Dict[str, Tuple[int, int, int, int]] = {}
@ -1138,7 +1141,8 @@ def main() -> None:
engine = build_default_engine(engine_settings)
if (engine_settings.identity_backend or "").lower() == "gallery":
if engine.identity_gallery() is None:
raise RuntimeError(
engine.shutdown()
raise SystemExit(
"gallery identity backend requires local DINOv2 weights; refusing to start"
)
warm_ms = engine.warm_up()