Files
immich-photo-flow/docs/M1-validation-gate.md

1.3 KiB

M1 Validation Gate

Before widening past the hard sample, trip-cluster must clear a quantified bar on a deliberately hard slice — a GPS-poor, multi-year, low-density window (a well-remembered old trip plus its surrounding everyday photos), not the easy phone-era last trip.

Protocol

  1. categorize ingest --from <hard-window-start> --to <hard-window-end> (or --tag <old-trip>).
  2. categorize cluster, then categorize serve.
  3. Hand-label the slice: the true trip boundaries + which surrounding photos are non-trip.
  4. Compare candidate clusters against the labels.

Acceptance bar (record actual numbers per run)

Metric Definition Target
Trip-boundary precision proposed boundaries that are real ≥ 0.8
Trip-boundary recall real boundaries proposed ≥ 0.8
Coverage-flag recall in-window missing-tag assets surfaced ≥ 0.9
Over-split rate extra clusters per real trip ≤ 0.5
False-cluster rate clusters that are pure noise ≤ 0.1

If unmet, tune --gap-factor / seed-span / confidence thresholds — do not widen the backlog. See the F4 open question (everyday cluster blow-up): observe the real cluster count on a representative subset first, then choose the surfacing/collapsing strategy.