Field Media Ingest — Dedup Transparency (2026-07-22)

/field-media/ingest and /ingest-batch previously reported every non-exception save_file result as “filed”, masking the two dedup outcomes:

  • already_filed_duplicate — content already on the target project (WhatsApp retry). No write.
  • blocked_cross_project_duplicate — content registered on a different project (earlier misfile). Write refused; needs manual review/move.

Fixed in entirely-api dcd1d7b. Batch responses now split filed / duplicates / blocked / errors with counts and a warning field, so Rob can no longer confirm phantom uploads.

Incident that exposed it: MAN-9125 (4525 18th St N, Arlington) photo re-upload 2026-07-22 — Rob reported 6/6 filed; actually 4 were same-project dups and 2 were blocked because their content had been misfiled onto MAN-9124 and MAN-9128 on July 16/20. Both photos moved to MAN-9125 (registry rows 75432/75433, backup at /home/claude/_MOVE_BACKUP_MAN9124_MAN9128_to_MAN9125_20260722*). Pier-log OCR re-run → pier_log.json now covers all 5 piers.

Related: rob-whatsapp-bridge, local-file-service, file-registry-service